Skip to content

Allow for one-shot task resolution from WorkedEntity #47

@simone3991

Description

@simone3991

Given W as the worked entity extracted via LUIS from the user's sentence, the project recognition flow is structured as follows:

  • Retrieves all the Clockify projects of the user workspace
  • Search for an exact match of W in the projects list
  • Search for the best match of W in the projects list using a string distance algorithm

Add another step in the project recognition flow where if no match is found, try to infer the Clockify project by assuming that W is a task. In detail:

  • Retrieve all Clockify tasks per project
  • Make tasks unique and keep duplicate values
  • Search for an exact match of W in the tasks duplicate values, if it exists then throw an AmbiguousRecognizableProjectException
  • Search for the best match of W in the tasks duplicate values using string distance algorithm and handle ambiguous cases
  • Search for an exact match of W in the tasks unique list
  • Search for the best match of W in the tasks unique list using a string distance algorithm (ambiguous cases must be handled as for the search in the project list)

All Clockify tasks per project could be retrieved via the global Clockify API at the following endpoint https://global.api.clockify.me/workspaces/{WORKSPACE_ID}/projects/tasks/report-filters

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions