Skip to content

Allow for one-shot task resolution from WorkedEntity #47

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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