This ticket covers refactoring ai/mcp/server/github-workflow/services/labelService.mjs into a singleton LabelService class that extends Neo.core.Base. This service is responsible for listing repository labels.
Acceptance Criteria
- The file
ai/mcp/server/github-workflow/services/labelService.mjs is renamed to LabelService.mjs.
- The content is replaced with a
LabelService class that extends Neo.core.Base and is configured as a singleton.
- The existing
listLabels function is converted into a class method.
- The
listLabels method is updated to return a structured error object on failure, instead of throwing an exception.
- The
ai/mcp/server/github-workflow/services/toolService.mjs is updated to use the new LabelService class.
- The
list_labels tool continues to function correctly after the refactoring.
This ticket covers refactoring
ai/mcp/server/github-workflow/services/labelService.mjsinto a singletonLabelServiceclass that extendsNeo.core.Base. This service is responsible for listing repository labels.Acceptance Criteria
ai/mcp/server/github-workflow/services/labelService.mjsis renamed toLabelService.mjs.LabelServiceclass that extendsNeo.core.Baseand is configured as a singleton.listLabelsfunction is converted into a class method.listLabelsmethod is updated to return a structured error object on failure, instead of throwing an exception.ai/mcp/server/github-workflow/services/toolService.mjsis updated to use the newLabelServiceclass.list_labelstool continues to function correctly after the refactoring.