@decaf-ts/mcp-server 0.4.10 → 0.4.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/code/patterns/builder.json +10 -0
- package/dist/assets/prompts/documentation/class.json +10 -0
- package/dist/assets/prompts/documentation/constant.json +10 -0
- package/dist/assets/prompts/documentation/decorator.json +10 -0
- package/dist/assets/prompts/documentation/file.json +10 -0
- package/dist/assets/prompts/documentation/function.json +10 -0
- package/dist/assets/prompts/documentation/interface.json +10 -0
- package/dist/assets/prompts/documentation/iterate.json +10 -0
- package/dist/assets/prompts/documentation/module.json +10 -0
- package/dist/assets/prompts/documentation/prefix.json +10 -0
- package/dist/assets/prompts/documentation/repo.json +10 -0
- package/dist/assets/prompts/documentation/suffix.json +10 -0
- package/dist/assets/prompts/repository/readme.json +10 -0
- package/dist/assets/prompts/repository/release_notes.json +10 -0
- package/dist/assets/prompts/repository/setup.json +10 -0
- package/dist/assets/prompts/tests/coverage.json +10 -0
- package/dist/mcp-server.cjs +1 -1
- package/dist/mcp-server.cjs.map +1 -1
- package/dist/mcp-server.js +1 -1
- package/dist/mcp-server.js.map +1 -1
- package/lib/assets/code/patterns/builder.json +10 -0
- package/lib/assets/prompts/documentation/class.json +10 -0
- package/lib/assets/prompts/documentation/constant.json +10 -0
- package/lib/assets/prompts/documentation/decorator.json +10 -0
- package/lib/assets/prompts/documentation/file.json +10 -0
- package/lib/assets/prompts/documentation/function.json +10 -0
- package/lib/assets/prompts/documentation/interface.json +10 -0
- package/lib/assets/prompts/documentation/iterate.json +10 -0
- package/lib/assets/prompts/documentation/module.json +10 -0
- package/lib/assets/prompts/documentation/prefix.json +10 -0
- package/lib/assets/prompts/documentation/repo.json +10 -0
- package/lib/assets/prompts/documentation/suffix.json +10 -0
- package/lib/assets/prompts/repository/readme.json +10 -0
- package/lib/assets/prompts/repository/release_notes.json +10 -0
- package/lib/assets/prompts/repository/setup.json +10 -0
- package/lib/assets/prompts/tests/coverage.json +10 -0
- package/lib/builders/builder.cjs +19 -4
- package/lib/builders/builder.d.ts +14 -4
- package/lib/builders/builder.js.map +1 -1
- package/lib/builders/index.cjs +3 -2
- package/lib/builders/index.d.ts +1 -2
- package/lib/builders/index.js.map +1 -1
- package/lib/builders/prompt-builder.cjs +172 -12
- package/lib/builders/prompt-builder.d.ts +29 -5
- package/lib/builders/prompt-builder.js.map +1 -1
- package/lib/builders/resource-builder.cjs +1 -1
- package/lib/builders/resource-builder.d.ts +2 -2
- package/lib/builders/resource-builder.js.map +1 -1
- package/lib/builders/tool-builder.cjs +27 -9
- package/lib/builders/tool-builder.d.ts +7 -6
- package/lib/builders/tool-builder.js.map +1 -1
- package/lib/builders/types.cjs +3 -0
- package/lib/builders/types.d.ts +17 -0
- package/lib/builders/types.js.map +1 -0
- package/lib/esm/builders/builder.d.ts +14 -4
- package/lib/esm/builders/builder.js +19 -4
- package/lib/esm/builders/builder.js.map +1 -1
- package/lib/esm/builders/index.d.ts +1 -2
- package/lib/esm/builders/index.js +3 -2
- package/lib/esm/builders/index.js.map +1 -1
- package/lib/esm/builders/prompt-builder.d.ts +29 -5
- package/lib/esm/builders/prompt-builder.js +172 -13
- package/lib/esm/builders/prompt-builder.js.map +1 -1
- package/lib/esm/builders/resource-builder.d.ts +2 -2
- package/lib/esm/builders/resource-builder.js +1 -1
- package/lib/esm/builders/resource-builder.js.map +1 -1
- package/lib/esm/builders/tool-builder.d.ts +7 -6
- package/lib/esm/builders/tool-builder.js +28 -10
- package/lib/esm/builders/tool-builder.js.map +1 -1
- package/lib/esm/builders/types.d.ts +17 -0
- package/lib/esm/builders/types.js +2 -0
- package/lib/esm/builders/types.js.map +1 -0
- package/lib/esm/index.d.ts +0 -2
- package/lib/esm/index.js +3 -2
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/jira/errors.d.ts +0 -0
- package/lib/esm/jira/errors.js +42 -0
- package/lib/esm/jira/errors.js.map +1 -0
- package/lib/esm/jira/jira-client-factory.d.ts +0 -0
- package/lib/esm/jira/jira-client-factory.js +74 -0
- package/lib/esm/jira/jira-client-factory.js.map +1 -0
- package/lib/esm/jira/schema-utils.d.ts +5 -0
- package/lib/esm/jira/schema-utils.js +52 -0
- package/lib/esm/jira/schema-utils.js.map +1 -0
- package/lib/esm/jira/tool-utils.d.ts +0 -0
- package/lib/esm/jira/tool-utils.js +65 -0
- package/lib/esm/jira/tool-utils.js.map +1 -0
- package/lib/esm/mcp-server.js +120 -165
- package/lib/esm/mcp-server.js.map +1 -1
- package/lib/esm/modules/jira/auth-providers.d.ts +0 -0
- package/lib/esm/modules/jira/auth-providers.js +33 -0
- package/lib/esm/modules/jira/auth-providers.js.map +1 -0
- package/lib/esm/modules/jira/error-normalizer.d.ts +0 -0
- package/lib/esm/modules/jira/error-normalizer.js +13 -0
- package/lib/esm/modules/jira/error-normalizer.js.map +1 -0
- package/lib/esm/modules/jira/index.d.ts +1 -0
- package/lib/esm/modules/jira/index.js +17 -0
- package/lib/esm/modules/jira/index.js.map +1 -0
- package/lib/esm/modules/jira/makeJiraClient.d.ts +10 -0
- package/lib/esm/modules/jira/makeJiraClient.js +44 -0
- package/lib/esm/modules/jira/makeJiraClient.js.map +1 -0
- package/lib/esm/modules/jira/prompts/create-issue-prompt.d.ts +0 -0
- package/lib/esm/modules/jira/prompts/create-issue-prompt.js +33 -0
- package/lib/esm/modules/jira/prompts/create-issue-prompt.js.map +1 -0
- package/lib/esm/modules/jira/register.d.ts +0 -0
- package/lib/esm/modules/jira/register.js +244 -0
- package/lib/esm/modules/jira/register.js.map +1 -0
- package/lib/esm/modules/jira/schemas/create-issue-input.d.ts +0 -0
- package/lib/esm/modules/jira/schemas/create-issue-input.js +13 -0
- package/lib/esm/modules/jira/schemas/create-issue-input.js.map +1 -0
- package/lib/esm/modules/jira/schemas/issue-schema.d.ts +0 -0
- package/lib/esm/modules/jira/schemas/issue-schema.js +13 -0
- package/lib/esm/modules/jira/schemas/issue-schema.js.map +1 -0
- package/lib/esm/modules/jira/tools/agile-board-list.d.ts +0 -0
- package/lib/esm/modules/jira/tools/agile-board-list.js +27 -0
- package/lib/esm/modules/jira/tools/agile-board-list.js.map +1 -0
- package/lib/esm/modules/jira/tools/issue-create.d.ts +0 -0
- package/lib/esm/modules/jira/tools/issue-create.js +69 -0
- package/lib/esm/modules/jira/tools/issue-create.js.map +1 -0
- package/lib/esm/modules/jira/tools/issue-transition.d.ts +0 -0
- package/lib/esm/modules/jira/tools/issue-transition.js +27 -0
- package/lib/esm/modules/jira/tools/issue-transition.js.map +1 -0
- package/lib/esm/modules/jira/tools/project-list.d.ts +0 -0
- package/lib/esm/modules/jira/tools/project-list.js +27 -0
- package/lib/esm/modules/jira/tools/project-list.js.map +1 -0
- package/lib/esm/modules/jira/tools/search-jql.d.ts +0 -0
- package/lib/esm/modules/jira/tools/search-jql.js +27 -0
- package/lib/esm/modules/jira/tools/search-jql.js.map +1 -0
- package/lib/esm/modules/jira/types.d.ts +13 -0
- package/lib/esm/modules/jira/types.js +2 -0
- package/lib/esm/modules/jira/types.js.map +1 -0
- package/lib/esm/prompts/code/design-patterns/builder.js +1 -3
- package/lib/esm/prompts/code/design-patterns/builder.js.map +1 -1
- package/lib/esm/prompts/contants.d.ts +4 -0
- package/lib/esm/prompts/contants.js +6 -0
- package/lib/esm/prompts/contants.js.map +1 -0
- package/lib/esm/prompts/index.js +16 -22
- package/lib/esm/prompts/index.js.map +1 -1
- package/lib/esm/prompts/issue/create-prompt.d.ts +3 -0
- package/lib/esm/prompts/issue/create-prompt.js +31 -0
- package/lib/esm/prompts/issue/create-prompt.js.map +1 -0
- package/lib/esm/prompts/jsdocs-prompts.d.ts +2 -0
- package/lib/esm/prompts/jsdocs-prompts.js +27 -0
- package/lib/esm/prompts/jsdocs-prompts.js.map +1 -0
- package/lib/esm/prompts/sprint/plan-sprint-prompt.d.ts +2 -0
- package/lib/esm/prompts/sprint/plan-sprint-prompt.js +26 -0
- package/lib/esm/prompts/sprint/plan-sprint-prompt.js.map +1 -0
- package/lib/esm/resources/decoration-schematics/index.d.ts +0 -0
- package/lib/esm/resources/decoration-schematics/index.js +72 -0
- package/lib/esm/resources/decoration-schematics/index.js.map +1 -0
- package/lib/esm/resources/example-resource/index.d.ts +0 -2
- package/lib/esm/resources/example-resource/index.js +27 -18
- package/lib/esm/resources/example-resource/index.js.map +1 -1
- package/lib/esm/resources/fields-resource.d.ts +0 -0
- package/lib/esm/resources/fields-resource.js +50 -0
- package/lib/esm/resources/fields-resource.js.map +1 -0
- package/lib/esm/resources/golden-overrides/index.d.ts +0 -0
- package/lib/esm/resources/golden-overrides/index.js +57 -0
- package/lib/esm/resources/golden-overrides/index.js.map +1 -0
- package/lib/esm/resources/index.d.ts +0 -2
- package/lib/esm/resources/index.js +8 -3
- package/lib/esm/resources/index.js.map +1 -1
- package/lib/esm/resources/projects-resource.d.ts +0 -0
- package/lib/esm/resources/projects-resource.js +59 -0
- package/lib/esm/resources/projects-resource.js.map +1 -0
- package/lib/esm/resources/repo-metadata/index.d.ts +0 -2
- package/lib/esm/resources/repo-metadata/index.js +33 -24
- package/lib/esm/resources/repo-metadata/index.js.map +1 -1
- package/lib/esm/tools/agile/board-list-tool.d.ts +0 -0
- package/lib/esm/tools/agile/board-list-tool.js +49 -0
- package/lib/esm/tools/agile/board-list-tool.js.map +1 -0
- package/lib/esm/tools/ast/ts-ast-tool.d.ts +0 -2
- package/lib/esm/tools/ast/ts-ast-tool.js +79 -66
- package/lib/esm/tools/ast/ts-ast-tool.js.map +1 -1
- package/lib/esm/tools/ast/types.d.ts +0 -105
- package/lib/esm/tools/ast/types.js +69 -32
- package/lib/esm/tools/ast/types.js.map +1 -1
- package/lib/esm/tools/ast/utils.d.ts +0 -5
- package/lib/esm/tools/ast/utils.js +69 -57
- package/lib/esm/tools/ast/utils.js.map +1 -1
- package/lib/esm/tools/ast-jsdoc-tools/apply.d.ts +0 -6
- package/lib/esm/tools/ast-jsdoc-tools/apply.js +32 -28
- package/lib/esm/tools/ast-jsdoc-tools/apply.js.map +1 -1
- package/lib/esm/tools/ast-jsdoc-tools/cli.d.ts +0 -2
- package/lib/esm/tools/ast-jsdoc-tools/cli.js +17 -32
- package/lib/esm/tools/ast-jsdoc-tools/cli.js.map +1 -1
- package/lib/esm/tools/ast-jsdoc-tools/contracts/validator.d.ts +0 -0
- package/lib/esm/tools/ast-jsdoc-tools/contracts/validator.js +8 -0
- package/lib/esm/tools/ast-jsdoc-tools/contracts/validator.js.map +1 -0
- package/lib/esm/tools/ast-jsdoc-tools/enumerator.d.ts +0 -1
- package/lib/esm/tools/ast-jsdoc-tools/enumerator.js +25 -24
- package/lib/esm/tools/ast-jsdoc-tools/enumerator.js.map +1 -1
- package/lib/esm/tools/ast-jsdoc-tools/fileRunner.d.ts +0 -11
- package/lib/esm/tools/ast-jsdoc-tools/fileRunner.js +38 -28
- package/lib/esm/tools/ast-jsdoc-tools/fileRunner.js.map +1 -1
- package/lib/esm/tools/ast-jsdoc-tools/formatter.d.ts +0 -6
- package/lib/esm/tools/ast-jsdoc-tools/formatter.js +21 -17
- package/lib/esm/tools/ast-jsdoc-tools/formatter.js.map +1 -1
- package/lib/esm/tools/ast-jsdoc-tools/generator.d.ts +0 -12
- package/lib/esm/tools/ast-jsdoc-tools/generator.js +68 -54
- package/lib/esm/tools/ast-jsdoc-tools/generator.js.map +1 -1
- package/lib/esm/tools/ast-jsdoc-tools/index.d.ts +0 -7
- package/lib/esm/tools/ast-jsdoc-tools/index.js +43 -28
- package/lib/esm/tools/ast-jsdoc-tools/index.js.map +1 -1
- package/lib/esm/tools/ast-jsdoc-tools/interactive.d.ts +0 -1
- package/lib/esm/tools/ast-jsdoc-tools/interactive.js +8 -6
- package/lib/esm/tools/ast-jsdoc-tools/interactive.js.map +1 -1
- package/lib/esm/tools/ast-jsdoc-tools/parser.d.ts +0 -13
- package/lib/esm/tools/ast-jsdoc-tools/parser.js +88 -70
- package/lib/esm/tools/ast-jsdoc-tools/parser.js.map +1 -1
- package/lib/esm/tools/ast-jsdoc-tools/patch.d.ts +0 -2
- package/lib/esm/tools/ast-jsdoc-tools/patch.js +25 -22
- package/lib/esm/tools/ast-jsdoc-tools/patch.js.map +1 -1
- package/lib/esm/tools/ast-jsdoc-tools/promptRunner.d.ts +0 -0
- package/lib/esm/tools/ast-jsdoc-tools/promptRunner.js +40 -0
- package/lib/esm/tools/ast-jsdoc-tools/promptRunner.js.map +1 -0
- package/lib/esm/tools/ast-jsdoc-tools/prompts/loader.d.ts +0 -10
- package/lib/esm/tools/ast-jsdoc-tools/prompts/loader.js +33 -25
- package/lib/esm/tools/ast-jsdoc-tools/prompts/loader.js.map +1 -1
- package/lib/esm/tools/ast-jsdoc-tools/repoRunner.d.ts +0 -16
- package/lib/esm/tools/ast-jsdoc-tools/repoRunner.js +123 -60
- package/lib/esm/tools/ast-jsdoc-tools/repoRunner.js.map +1 -1
- package/lib/esm/tools/ast-jsdoc-tools/tool0/generator-tool.d.ts +0 -0
- package/lib/esm/tools/ast-jsdoc-tools/tool0/generator-tool.js +34 -0
- package/lib/esm/tools/ast-jsdoc-tools/tool0/generator-tool.js.map +1 -0
- package/lib/esm/tools/ast-jsdoc-tools/tool1/extractor.d.ts +0 -0
- package/lib/esm/tools/ast-jsdoc-tools/tool1/extractor.js +196 -0
- package/lib/esm/tools/ast-jsdoc-tools/tool1/extractor.js.map +1 -0
- package/lib/esm/tools/ast-jsdoc-tools/tool2/suggester.d.ts +0 -0
- package/lib/esm/tools/ast-jsdoc-tools/tool2/suggester.js +67 -0
- package/lib/esm/tools/ast-jsdoc-tools/tool2/suggester.js.map +1 -0
- package/lib/esm/tools/ast-jsdoc-tools/tool3/fileProcessor.d.ts +0 -0
- package/lib/esm/tools/ast-jsdoc-tools/tool3/fileProcessor.js +35 -0
- package/lib/esm/tools/ast-jsdoc-tools/tool3/fileProcessor.js.map +1 -0
- package/lib/esm/tools/ast-jsdoc-tools/tool4/repoRunner.d.ts +0 -0
- package/lib/esm/tools/ast-jsdoc-tools/tool4/repoRunner.js +116 -0
- package/lib/esm/tools/ast-jsdoc-tools/tool4/repoRunner.js.map +1 -0
- package/lib/esm/tools/ast-jsdoc-tools/tools/jsdoc-generator.d.ts +0 -5
- package/lib/esm/tools/ast-jsdoc-tools/tools/jsdoc-generator.js +79 -77
- package/lib/esm/tools/ast-jsdoc-tools/tools/jsdoc-generator.js.map +1 -1
- package/lib/esm/tools/ast-jsdoc-tools/utils/backups.d.ts +0 -0
- package/lib/esm/tools/ast-jsdoc-tools/utils/backups.js +14 -0
- package/lib/esm/tools/ast-jsdoc-tools/utils/backups.js.map +1 -0
- package/lib/esm/tools/ast-jsdoc-tools/utils/conflict-detector.d.ts +0 -5
- package/lib/esm/tools/ast-jsdoc-tools/utils/conflict-detector.js +29 -29
- package/lib/esm/tools/ast-jsdoc-tools/utils/conflict-detector.js.map +1 -1
- package/lib/esm/tools/ast-jsdoc-tools/utils/context-schema.d.ts +0 -7
- package/lib/esm/tools/ast-jsdoc-tools/utils/context-schema.js +29 -28
- package/lib/esm/tools/ast-jsdoc-tools/utils/context-schema.js.map +1 -1
- package/lib/esm/tools/ast-jsdoc-tools/utils/heuristics.d.ts +0 -2
- package/lib/esm/tools/ast-jsdoc-tools/utils/heuristics.js +27 -30
- package/lib/esm/tools/ast-jsdoc-tools/utils/heuristics.js.map +1 -1
- package/lib/esm/tools/ast-jsdoc-tools/utils/logging.d.ts +0 -0
- package/lib/esm/tools/ast-jsdoc-tools/utils/logging.js +18 -0
- package/lib/esm/tools/ast-jsdoc-tools/utils/logging.js.map +1 -0
- package/lib/esm/tools/ast-jsdoc-tools/utils/ts-project.d.ts +0 -12
- package/lib/esm/tools/ast-jsdoc-tools/utils/ts-project.js +22 -20
- package/lib/esm/tools/ast-jsdoc-tools/utils/ts-project.js.map +1 -1
- package/lib/esm/tools/decoration/builder.d.ts +0 -0
- package/lib/esm/tools/decoration/builder.js +81 -0
- package/lib/esm/tools/decoration/builder.js.map +1 -0
- package/lib/esm/tools/decoration/decorators.d.ts +0 -0
- package/lib/esm/tools/decoration/decorators.js +37 -0
- package/lib/esm/tools/decoration/decorators.js.map +1 -0
- package/lib/esm/tools/decoration/index.d.ts +0 -0
- package/lib/esm/tools/decoration/index.js +49 -0
- package/lib/esm/tools/decoration/index.js.map +1 -0
- package/lib/esm/tools/file-summarizer/index.d.ts +0 -2
- package/lib/esm/tools/file-summarizer/index.js +41 -28
- package/lib/esm/tools/file-summarizer/index.js.map +1 -1
- package/lib/esm/tools/index.d.ts +0 -2
- package/lib/esm/tools/index.js +30 -5
- package/lib/esm/tools/index.js.map +1 -1
- package/lib/esm/tools/issue/create-tool.d.ts +0 -0
- package/lib/esm/tools/issue/create-tool.js +132 -0
- package/lib/esm/tools/issue/create-tool.js.map +1 -0
- package/lib/esm/tools/issue/transition-tool.d.ts +0 -0
- package/lib/esm/tools/issue/transition-tool.js +41 -0
- package/lib/esm/tools/issue/transition-tool.js.map +1 -0
- package/lib/esm/tools/jsdoc/ts-jsdoc-element-tool.d.ts +0 -2
- package/lib/esm/tools/jsdoc/ts-jsdoc-element-tool.js +110 -83
- package/lib/esm/tools/jsdoc/ts-jsdoc-element-tool.js.map +1 -1
- package/lib/esm/tools/jsdoc/utils.d.ts +0 -5
- package/lib/esm/tools/jsdoc/utils.js +59 -52
- package/lib/esm/tools/jsdoc/utils.js.map +1 -1
- package/lib/esm/tools/project/list-tool.d.ts +0 -0
- package/lib/esm/tools/project/list-tool.js +47 -0
- package/lib/esm/tools/project/list-tool.js.map +1 -0
- package/lib/esm/tools/search/jql-tool.d.ts +0 -0
- package/lib/esm/tools/search/jql-tool.js +49 -0
- package/lib/esm/tools/search/jql-tool.js.map +1 -0
- package/lib/esm/tools/testing/ts-jest-list-tests.d.ts +0 -2
- package/lib/esm/tools/testing/ts-jest-list-tests.js +70 -52
- package/lib/esm/tools/testing/ts-jest-list-tests.js.map +1 -1
- package/lib/esm/types.d.ts +7 -11
- package/lib/esm/utils/assets.d.ts +13 -0
- package/lib/esm/utils/assets.js +78 -0
- package/lib/esm/utils/assets.js.map +1 -0
- package/lib/esm/utils/banner.js +3 -3
- package/lib/esm/utils/banner.js.map +1 -1
- package/lib/esm/utils/constants.d.ts +8 -0
- package/lib/esm/utils/constants.js +11 -0
- package/lib/esm/utils/constants.js.map +1 -0
- package/lib/esm/utils/conversions.d.ts +2 -0
- package/lib/esm/utils/conversions.js +23 -0
- package/lib/esm/utils/conversions.js.map +1 -0
- package/lib/esm/utils/environment.d.ts +32 -0
- package/lib/esm/utils/environment.js +43 -0
- package/lib/esm/utils/environment.js.map +1 -0
- package/lib/esm/utils/icons.d.ts +0 -0
- package/lib/esm/utils/icons.js +2 -0
- package/lib/esm/utils/icons.js.map +1 -0
- package/lib/esm/utils/initialization.d.ts +1 -0
- package/lib/esm/utils/initialization.js +20 -0
- package/lib/esm/utils/initialization.js.map +1 -0
- package/lib/esm/utils/normalization.d.ts +0 -0
- package/lib/esm/utils/normalization.js +2 -0
- package/lib/esm/utils/normalization.js.map +1 -0
- package/lib/esm/utils/utils.d.ts +1 -0
- package/lib/esm/utils/utils.js +8 -0
- package/lib/esm/utils/utils.js.map +1 -0
- package/lib/esm/version.d.ts +1 -1
- package/lib/esm/version.js +1 -1
- package/lib/index.cjs +3 -2
- package/lib/index.d.ts +0 -2
- package/lib/index.js.map +1 -1
- package/lib/jira/errors.cjs +42 -0
- package/lib/jira/errors.d.ts +0 -0
- package/lib/jira/errors.js.map +1 -0
- package/lib/jira/jira-client-factory.cjs +74 -0
- package/lib/jira/jira-client-factory.d.ts +0 -0
- package/lib/jira/jira-client-factory.js.map +1 -0
- package/lib/jira/schema-utils.cjs +58 -0
- package/lib/jira/schema-utils.d.ts +5 -0
- package/lib/jira/schema-utils.js.map +1 -0
- package/lib/jira/tool-utils.cjs +65 -0
- package/lib/jira/tool-utils.d.ts +0 -0
- package/lib/jira/tool-utils.js.map +1 -0
- package/lib/mcp-server.cjs +120 -198
- package/lib/mcp-server.js.map +1 -1
- package/lib/modules/jira/auth-providers.cjs +33 -0
- package/lib/modules/jira/auth-providers.d.ts +0 -0
- package/lib/modules/jira/auth-providers.js.map +1 -0
- package/lib/modules/jira/error-normalizer.cjs +13 -0
- package/lib/modules/jira/error-normalizer.d.ts +0 -0
- package/lib/modules/jira/error-normalizer.js.map +1 -0
- package/lib/modules/jira/index.cjs +33 -0
- package/lib/modules/jira/index.d.ts +1 -0
- package/lib/modules/jira/index.js.map +1 -0
- package/lib/modules/jira/makeJiraClient.cjs +47 -0
- package/lib/modules/jira/makeJiraClient.d.ts +10 -0
- package/lib/modules/jira/makeJiraClient.js.map +1 -0
- package/lib/modules/jira/prompts/create-issue-prompt.cjs +33 -0
- package/lib/modules/jira/prompts/create-issue-prompt.d.ts +0 -0
- package/lib/modules/jira/prompts/create-issue-prompt.js.map +1 -0
- package/lib/modules/jira/register.cjs +244 -0
- package/lib/modules/jira/register.d.ts +0 -0
- package/lib/modules/jira/register.js.map +1 -0
- package/lib/modules/jira/schemas/create-issue-input.cjs +13 -0
- package/lib/modules/jira/schemas/create-issue-input.d.ts +0 -0
- package/lib/modules/jira/schemas/create-issue-input.js.map +1 -0
- package/lib/modules/jira/schemas/issue-schema.cjs +13 -0
- package/lib/modules/jira/schemas/issue-schema.d.ts +0 -0
- package/lib/modules/jira/schemas/issue-schema.js.map +1 -0
- package/lib/modules/jira/tools/agile-board-list.cjs +27 -0
- package/lib/modules/jira/tools/agile-board-list.d.ts +0 -0
- package/lib/modules/jira/tools/agile-board-list.js.map +1 -0
- package/lib/modules/jira/tools/issue-create.cjs +69 -0
- package/lib/modules/jira/tools/issue-create.d.ts +0 -0
- package/lib/modules/jira/tools/issue-create.js.map +1 -0
- package/lib/modules/jira/tools/issue-transition.cjs +27 -0
- package/lib/modules/jira/tools/issue-transition.d.ts +0 -0
- package/lib/modules/jira/tools/issue-transition.js.map +1 -0
- package/lib/modules/jira/tools/project-list.cjs +27 -0
- package/lib/modules/jira/tools/project-list.d.ts +0 -0
- package/lib/modules/jira/tools/project-list.js.map +1 -0
- package/lib/modules/jira/tools/search-jql.cjs +27 -0
- package/lib/modules/jira/tools/search-jql.d.ts +0 -0
- package/lib/modules/jira/tools/search-jql.js.map +1 -0
- package/lib/modules/jira/types.cjs +3 -0
- package/lib/modules/jira/types.d.ts +13 -0
- package/lib/modules/jira/types.js.map +1 -0
- package/lib/prompts/code/design-patterns/builder.cjs +1 -3
- package/lib/prompts/code/design-patterns/builder.js.map +1 -1
- package/lib/prompts/contants.cjs +9 -0
- package/lib/prompts/contants.d.ts +4 -0
- package/lib/prompts/contants.js.map +1 -0
- package/lib/prompts/index.cjs +16 -22
- package/lib/prompts/index.js.map +1 -1
- package/lib/prompts/issue/create-prompt.cjs +34 -0
- package/lib/prompts/issue/create-prompt.d.ts +3 -0
- package/lib/prompts/issue/create-prompt.js.map +1 -0
- package/lib/prompts/jsdocs-prompts.cjs +30 -0
- package/lib/prompts/jsdocs-prompts.d.ts +2 -0
- package/lib/prompts/jsdocs-prompts.js.map +1 -0
- package/lib/prompts/sprint/plan-sprint-prompt.cjs +29 -0
- package/lib/prompts/sprint/plan-sprint-prompt.d.ts +2 -0
- package/lib/prompts/sprint/plan-sprint-prompt.js.map +1 -0
- package/lib/resources/decoration-schematics/index.cjs +72 -0
- package/lib/resources/decoration-schematics/index.d.ts +0 -0
- package/lib/resources/decoration-schematics/index.js.map +1 -0
- package/lib/resources/example-resource/index.cjs +26 -20
- package/lib/resources/example-resource/index.d.ts +0 -2
- package/lib/resources/example-resource/index.js.map +1 -1
- package/lib/resources/fields-resource.cjs +50 -0
- package/lib/resources/fields-resource.d.ts +0 -0
- package/lib/resources/fields-resource.js.map +1 -0
- package/lib/resources/golden-overrides/index.cjs +57 -0
- package/lib/resources/golden-overrides/index.d.ts +0 -0
- package/lib/resources/golden-overrides/index.js.map +1 -0
- package/lib/resources/index.cjs +7 -5
- package/lib/resources/index.d.ts +0 -2
- package/lib/resources/index.js.map +1 -1
- package/lib/resources/projects-resource.cjs +59 -0
- package/lib/resources/projects-resource.d.ts +0 -0
- package/lib/resources/projects-resource.js.map +1 -0
- package/lib/resources/repo-metadata/index.cjs +32 -26
- package/lib/resources/repo-metadata/index.d.ts +0 -2
- package/lib/resources/repo-metadata/index.js.map +1 -1
- package/lib/tools/agile/board-list-tool.cjs +49 -0
- package/lib/tools/agile/board-list-tool.d.ts +0 -0
- package/lib/tools/agile/board-list-tool.js.map +1 -0
- package/lib/tools/ast/ts-ast-tool.cjs +78 -68
- package/lib/tools/ast/ts-ast-tool.d.ts +0 -2
- package/lib/tools/ast/ts-ast-tool.js.map +1 -1
- package/lib/tools/ast/types.cjs +68 -34
- package/lib/tools/ast/types.d.ts +0 -105
- package/lib/tools/ast/types.js.map +1 -1
- package/lib/tools/ast/utils.cjs +68 -63
- package/lib/tools/ast/utils.d.ts +0 -5
- package/lib/tools/ast/utils.js.map +1 -1
- package/lib/tools/ast-jsdoc-tools/apply.cjs +31 -34
- package/lib/tools/ast-jsdoc-tools/apply.d.ts +0 -6
- package/lib/tools/ast-jsdoc-tools/apply.js.map +1 -1
- package/lib/tools/ast-jsdoc-tools/cli.cjs +16 -36
- package/lib/tools/ast-jsdoc-tools/cli.d.ts +0 -2
- package/lib/tools/ast-jsdoc-tools/cli.js.map +1 -1
- package/lib/tools/ast-jsdoc-tools/contracts/validator.cjs +8 -0
- package/lib/tools/ast-jsdoc-tools/contracts/validator.d.ts +0 -0
- package/lib/tools/ast-jsdoc-tools/contracts/validator.js.map +1 -0
- package/lib/tools/ast-jsdoc-tools/enumerator.cjs +24 -29
- package/lib/tools/ast-jsdoc-tools/enumerator.d.ts +0 -1
- package/lib/tools/ast-jsdoc-tools/enumerator.js.map +1 -1
- package/lib/tools/ast-jsdoc-tools/fileRunner.cjs +37 -33
- package/lib/tools/ast-jsdoc-tools/fileRunner.d.ts +0 -11
- package/lib/tools/ast-jsdoc-tools/fileRunner.js.map +1 -1
- package/lib/tools/ast-jsdoc-tools/formatter.cjs +20 -19
- package/lib/tools/ast-jsdoc-tools/formatter.d.ts +0 -6
- package/lib/tools/ast-jsdoc-tools/formatter.js.map +1 -1
- package/lib/tools/ast-jsdoc-tools/generator.cjs +67 -56
- package/lib/tools/ast-jsdoc-tools/generator.d.ts +0 -12
- package/lib/tools/ast-jsdoc-tools/generator.js.map +1 -1
- package/lib/tools/ast-jsdoc-tools/index.cjs +42 -31
- package/lib/tools/ast-jsdoc-tools/index.d.ts +0 -7
- package/lib/tools/ast-jsdoc-tools/index.js.map +1 -1
- package/lib/tools/ast-jsdoc-tools/interactive.cjs +7 -8
- package/lib/tools/ast-jsdoc-tools/interactive.d.ts +0 -1
- package/lib/tools/ast-jsdoc-tools/interactive.js.map +1 -1
- package/lib/tools/ast-jsdoc-tools/parser.cjs +87 -75
- package/lib/tools/ast-jsdoc-tools/parser.d.ts +0 -13
- package/lib/tools/ast-jsdoc-tools/parser.js.map +1 -1
- package/lib/tools/ast-jsdoc-tools/patch.cjs +24 -27
- package/lib/tools/ast-jsdoc-tools/patch.d.ts +0 -2
- package/lib/tools/ast-jsdoc-tools/patch.js.map +1 -1
- package/lib/tools/ast-jsdoc-tools/promptRunner.cjs +40 -0
- package/lib/tools/ast-jsdoc-tools/promptRunner.d.ts +0 -0
- package/lib/tools/ast-jsdoc-tools/promptRunner.js.map +1 -0
- package/lib/tools/ast-jsdoc-tools/prompts/loader.cjs +32 -30
- package/lib/tools/ast-jsdoc-tools/prompts/loader.d.ts +0 -10
- package/lib/tools/ast-jsdoc-tools/prompts/loader.js.map +1 -1
- package/lib/tools/ast-jsdoc-tools/repoRunner.cjs +122 -65
- package/lib/tools/ast-jsdoc-tools/repoRunner.d.ts +0 -16
- package/lib/tools/ast-jsdoc-tools/repoRunner.js.map +1 -1
- package/lib/tools/ast-jsdoc-tools/tool0/generator-tool.cjs +34 -0
- package/lib/tools/ast-jsdoc-tools/tool0/generator-tool.d.ts +0 -0
- package/lib/tools/ast-jsdoc-tools/tool0/generator-tool.js.map +1 -0
- package/lib/tools/ast-jsdoc-tools/tool1/extractor.cjs +196 -0
- package/lib/tools/ast-jsdoc-tools/tool1/extractor.d.ts +0 -0
- package/lib/tools/ast-jsdoc-tools/tool1/extractor.js.map +1 -0
- package/lib/tools/ast-jsdoc-tools/tool2/suggester.cjs +67 -0
- package/lib/tools/ast-jsdoc-tools/tool2/suggester.d.ts +0 -0
- package/lib/tools/ast-jsdoc-tools/tool2/suggester.js.map +1 -0
- package/lib/tools/ast-jsdoc-tools/tool3/fileProcessor.cjs +35 -0
- package/lib/tools/ast-jsdoc-tools/tool3/fileProcessor.d.ts +0 -0
- package/lib/tools/ast-jsdoc-tools/tool3/fileProcessor.js.map +1 -0
- package/lib/tools/ast-jsdoc-tools/tool4/repoRunner.cjs +116 -0
- package/lib/tools/ast-jsdoc-tools/tool4/repoRunner.d.ts +0 -0
- package/lib/tools/ast-jsdoc-tools/tool4/repoRunner.js.map +1 -0
- package/lib/tools/ast-jsdoc-tools/tools/jsdoc-generator.cjs +78 -79
- package/lib/tools/ast-jsdoc-tools/tools/jsdoc-generator.d.ts +0 -5
- package/lib/tools/ast-jsdoc-tools/tools/jsdoc-generator.js.map +1 -1
- package/lib/tools/ast-jsdoc-tools/utils/backups.cjs +14 -0
- package/lib/tools/ast-jsdoc-tools/utils/backups.d.ts +0 -0
- package/lib/tools/ast-jsdoc-tools/utils/backups.js.map +1 -0
- package/lib/tools/ast-jsdoc-tools/utils/conflict-detector.cjs +28 -31
- package/lib/tools/ast-jsdoc-tools/utils/conflict-detector.d.ts +0 -5
- package/lib/tools/ast-jsdoc-tools/utils/conflict-detector.js.map +1 -1
- package/lib/tools/ast-jsdoc-tools/utils/context-schema.cjs +28 -30
- package/lib/tools/ast-jsdoc-tools/utils/context-schema.d.ts +0 -7
- package/lib/tools/ast-jsdoc-tools/utils/context-schema.js.map +1 -1
- package/lib/tools/ast-jsdoc-tools/utils/heuristics.cjs +26 -32
- package/lib/tools/ast-jsdoc-tools/utils/heuristics.d.ts +0 -2
- package/lib/tools/ast-jsdoc-tools/utils/heuristics.js.map +1 -1
- package/lib/tools/ast-jsdoc-tools/utils/logging.cjs +18 -0
- package/lib/tools/ast-jsdoc-tools/utils/logging.d.ts +0 -0
- package/lib/tools/ast-jsdoc-tools/utils/logging.js.map +1 -0
- package/lib/tools/ast-jsdoc-tools/utils/ts-project.cjs +21 -55
- package/lib/tools/ast-jsdoc-tools/utils/ts-project.d.ts +0 -12
- package/lib/tools/ast-jsdoc-tools/utils/ts-project.js.map +1 -1
- package/lib/tools/decoration/builder.cjs +81 -0
- package/lib/tools/decoration/builder.d.ts +0 -0
- package/lib/tools/decoration/builder.js.map +1 -0
- package/lib/tools/decoration/decorators.cjs +37 -0
- package/lib/tools/decoration/decorators.d.ts +0 -0
- package/lib/tools/decoration/decorators.js.map +1 -0
- package/lib/tools/decoration/index.cjs +49 -0
- package/lib/tools/decoration/index.d.ts +0 -0
- package/lib/tools/decoration/index.js.map +1 -0
- package/lib/tools/file-summarizer/index.cjs +40 -30
- package/lib/tools/file-summarizer/index.d.ts +0 -2
- package/lib/tools/file-summarizer/index.js.map +1 -1
- package/lib/tools/index.cjs +29 -7
- package/lib/tools/index.d.ts +0 -2
- package/lib/tools/index.js.map +1 -1
- package/lib/tools/issue/create-tool.cjs +132 -0
- package/lib/tools/issue/create-tool.d.ts +0 -0
- package/lib/tools/issue/create-tool.js.map +1 -0
- package/lib/tools/issue/transition-tool.cjs +41 -0
- package/lib/tools/issue/transition-tool.d.ts +0 -0
- package/lib/tools/issue/transition-tool.js.map +1 -0
- package/lib/tools/jsdoc/ts-jsdoc-element-tool.cjs +109 -85
- package/lib/tools/jsdoc/ts-jsdoc-element-tool.d.ts +0 -2
- package/lib/tools/jsdoc/ts-jsdoc-element-tool.js.map +1 -1
- package/lib/tools/jsdoc/utils.cjs +58 -58
- package/lib/tools/jsdoc/utils.d.ts +0 -5
- package/lib/tools/jsdoc/utils.js.map +1 -1
- package/lib/tools/project/list-tool.cjs +47 -0
- package/lib/tools/project/list-tool.d.ts +0 -0
- package/lib/tools/project/list-tool.js.map +1 -0
- package/lib/tools/search/jql-tool.cjs +49 -0
- package/lib/tools/search/jql-tool.d.ts +0 -0
- package/lib/tools/search/jql-tool.js.map +1 -0
- package/lib/tools/testing/ts-jest-list-tests.cjs +69 -54
- package/lib/tools/testing/ts-jest-list-tests.d.ts +0 -2
- package/lib/tools/testing/ts-jest-list-tests.js.map +1 -1
- package/lib/types.d.ts +7 -11
- package/lib/utils/assets.cjs +114 -0
- package/lib/utils/assets.d.ts +13 -0
- package/lib/utils/assets.js.map +1 -0
- package/lib/utils/banner.cjs +48 -18
- package/lib/utils/banner.js.map +1 -1
- package/lib/utils/constants.cjs +14 -0
- package/lib/utils/constants.d.ts +8 -0
- package/lib/utils/constants.js.map +1 -0
- package/lib/utils/conversions.cjs +26 -0
- package/lib/utils/conversions.d.ts +2 -0
- package/lib/utils/conversions.js.map +1 -0
- package/lib/utils/environment.cjs +49 -0
- package/lib/utils/environment.d.ts +32 -0
- package/lib/utils/environment.js.map +1 -0
- package/lib/utils/icons.cjs +2 -0
- package/lib/utils/icons.d.ts +0 -0
- package/lib/utils/icons.js.map +1 -0
- package/lib/utils/initialization.cjs +23 -0
- package/lib/utils/initialization.d.ts +1 -0
- package/lib/utils/initialization.js.map +1 -0
- package/lib/utils/normalization.cjs +2 -0
- package/lib/utils/normalization.d.ts +0 -0
- package/lib/utils/normalization.js.map +1 -0
- package/lib/utils/utils.cjs +11 -0
- package/lib/utils/utils.d.ts +1 -0
- package/lib/utils/utils.js.map +1 -0
- package/lib/version.cjs +1 -1
- package/lib/version.d.ts +1 -1
- package/package.json +27 -23
- package/workdocs/assets/slogans.json +198 -0
- package/lib/environment.cjs +0 -32
- package/lib/environment.d.ts +0 -71
- package/lib/environment.js.map +0 -1
- package/lib/esm/environment.d.ts +0 -71
- package/lib/esm/environment.js +0 -29
- package/lib/esm/environment.js.map +0 -1
- package/lib/esm/prompts/example-prompt/index.d.ts +0 -2
- package/lib/esm/prompts/example-prompt/index.js +0 -18
- package/lib/esm/prompts/example-prompt/index.js.map +0 -1
- package/lib/esm/prompts/interactive-jsdoc/index.d.ts +0 -2
- package/lib/esm/prompts/interactive-jsdoc/index.js +0 -18
- package/lib/esm/prompts/interactive-jsdoc/index.js.map +0 -1
- package/lib/esm/prompts/jsdocs/class-prompt.d.ts +0 -2
- package/lib/esm/prompts/jsdocs/class-prompt.js +0 -52
- package/lib/esm/prompts/jsdocs/class-prompt.js.map +0 -1
- package/lib/esm/prompts/jsdocs/const-prompt.d.ts +0 -2
- package/lib/esm/prompts/jsdocs/const-prompt.js +0 -24
- package/lib/esm/prompts/jsdocs/const-prompt.js.map +0 -1
- package/lib/esm/prompts/jsdocs/constants.d.ts +0 -4
- package/lib/esm/prompts/jsdocs/constants.js +0 -46
- package/lib/esm/prompts/jsdocs/constants.js.map +0 -1
- package/lib/esm/prompts/jsdocs/decorator-prompt.d.ts +0 -2
- package/lib/esm/prompts/jsdocs/decorator-prompt.js +0 -42
- package/lib/esm/prompts/jsdocs/decorator-prompt.js.map +0 -1
- package/lib/esm/prompts/jsdocs/enum-prompt.d.ts +0 -2
- package/lib/esm/prompts/jsdocs/enum-prompt.js +0 -24
- package/lib/esm/prompts/jsdocs/enum-prompt.js.map +0 -1
- package/lib/esm/prompts/jsdocs/function-prompt.d.ts +0 -2
- package/lib/esm/prompts/jsdocs/function-prompt.js +0 -43
- package/lib/esm/prompts/jsdocs/function-prompt.js.map +0 -1
- package/lib/esm/prompts/jsdocs/interface-prompt.d.ts +0 -2
- package/lib/esm/prompts/jsdocs/interface-prompt.js +0 -24
- package/lib/esm/prompts/jsdocs/interface-prompt.js.map +0 -1
- package/lib/esm/prompts/jsdocs/types-prompt.d.ts +0 -2
- package/lib/esm/prompts/jsdocs/types-prompt.js +0 -24
- package/lib/esm/prompts/jsdocs/types-prompt.js.map +0 -1
- package/lib/esm/tools/example-tool/index.d.ts +0 -2
- package/lib/esm/tools/example-tool/index.js +0 -29
- package/lib/esm/tools/example-tool/index.js.map +0 -1
- package/lib/prompts/example-prompt/index.cjs +0 -21
- package/lib/prompts/example-prompt/index.d.ts +0 -2
- package/lib/prompts/example-prompt/index.js.map +0 -1
- package/lib/prompts/interactive-jsdoc/index.cjs +0 -21
- package/lib/prompts/interactive-jsdoc/index.d.ts +0 -2
- package/lib/prompts/interactive-jsdoc/index.js.map +0 -1
- package/lib/prompts/jsdocs/class-prompt.cjs +0 -55
- package/lib/prompts/jsdocs/class-prompt.d.ts +0 -2
- package/lib/prompts/jsdocs/class-prompt.js.map +0 -1
- package/lib/prompts/jsdocs/const-prompt.cjs +0 -27
- package/lib/prompts/jsdocs/const-prompt.d.ts +0 -2
- package/lib/prompts/jsdocs/const-prompt.js.map +0 -1
- package/lib/prompts/jsdocs/constants.cjs +0 -49
- package/lib/prompts/jsdocs/constants.d.ts +0 -4
- package/lib/prompts/jsdocs/constants.js.map +0 -1
- package/lib/prompts/jsdocs/decorator-prompt.cjs +0 -45
- package/lib/prompts/jsdocs/decorator-prompt.d.ts +0 -2
- package/lib/prompts/jsdocs/decorator-prompt.js.map +0 -1
- package/lib/prompts/jsdocs/enum-prompt.cjs +0 -27
- package/lib/prompts/jsdocs/enum-prompt.d.ts +0 -2
- package/lib/prompts/jsdocs/enum-prompt.js.map +0 -1
- package/lib/prompts/jsdocs/function-prompt.cjs +0 -46
- package/lib/prompts/jsdocs/function-prompt.d.ts +0 -2
- package/lib/prompts/jsdocs/function-prompt.js.map +0 -1
- package/lib/prompts/jsdocs/interface-prompt.cjs +0 -27
- package/lib/prompts/jsdocs/interface-prompt.d.ts +0 -2
- package/lib/prompts/jsdocs/interface-prompt.js.map +0 -1
- package/lib/prompts/jsdocs/types-prompt.cjs +0 -27
- package/lib/prompts/jsdocs/types-prompt.d.ts +0 -2
- package/lib/prompts/jsdocs/types-prompt.js.map +0 -1
- package/lib/tools/example-tool/index.cjs +0 -32
- package/lib/tools/example-tool/index.d.ts +0 -2
- package/lib/tools/example-tool/index.js.map +0 -1
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// /**
|
|
3
|
+
// * Small helper utilities for tools: basic schema validation and pagination helpers.
|
|
4
|
+
// */
|
|
5
|
+
//
|
|
6
|
+
// import { ZodTypeAny } from 'zod';
|
|
7
|
+
// import { isZodSchema } from './schema-utils';
|
|
8
|
+
//
|
|
9
|
+
// export type JSONSchemaLike = {
|
|
10
|
+
// type?: string | string[];
|
|
11
|
+
// properties?: Record<string, any>;
|
|
12
|
+
// required?: string[];
|
|
13
|
+
// };
|
|
14
|
+
//
|
|
15
|
+
// /**
|
|
16
|
+
// * Minimal runtime validation that accepts either a JSON-schema-like object or a
|
|
17
|
+
// * Zod schema. This preserves backward compatibility but prefers Zod when
|
|
18
|
+
// * available.
|
|
19
|
+
// */
|
|
20
|
+
// export function validateWithSchema(obj: any, schema?: JSONSchemaLike | ZodTypeAny): { valid: boolean; errors?: string[] } {
|
|
21
|
+
// if (!schema) return { valid: true };
|
|
22
|
+
// // If schema looks like a Zod schema (has internal _def marker), use zod's
|
|
23
|
+
// // safeParse to validate and return readable errors.
|
|
24
|
+
// if (isZodSchema(schema)) {
|
|
25
|
+
// try {
|
|
26
|
+
// const z = (schema as ZodTypeAny) as ZodTypeAny;
|
|
27
|
+
// const res = (z as any).safeParse(obj);
|
|
28
|
+
// if (res.success) return { valid: true };
|
|
29
|
+
// const errors: string[] = [];
|
|
30
|
+
// if (res.error && res.error.errors) {
|
|
31
|
+
// for (const e of res.error.errors) {
|
|
32
|
+
// errors.push(`${e.path.join('.')}: ${e.message}`);
|
|
33
|
+
// }
|
|
34
|
+
// }
|
|
35
|
+
// return { valid: false, errors };
|
|
36
|
+
// } catch (e) {
|
|
37
|
+
// return { valid: false, errors: [(e as any)?.message || String(e)] };
|
|
38
|
+
// }
|
|
39
|
+
// }
|
|
40
|
+
//
|
|
41
|
+
// // Fallback: treat schema as JSON-schema-like object (legacy support).
|
|
42
|
+
// const s = schema as JSONSchemaLike;
|
|
43
|
+
// const errors: string[] = [];
|
|
44
|
+
// if (s.required && Array.isArray(s.required)) {
|
|
45
|
+
// for (const key of s.required) {
|
|
46
|
+
// if (!(key in obj)) errors.push(`Missing required property: ${key}`);
|
|
47
|
+
// }
|
|
48
|
+
// }
|
|
49
|
+
// // lightweight type checks for top-level props
|
|
50
|
+
// if (s.properties) {
|
|
51
|
+
// for (const [k, propSchema] of Object.entries(s.properties)) {
|
|
52
|
+
// if (k in obj && propSchema && propSchema.type) {
|
|
53
|
+
// const expected = Array.isArray(propSchema.type) ? propSchema.type : [propSchema.type];
|
|
54
|
+
// const actual = Array.isArray(obj[k]) ? 'array' : typeof obj[k];
|
|
55
|
+
// if (!expected.includes(actual)) errors.push(`Property ${k} expected type ${expected.join('|')} but got ${actual}`);
|
|
56
|
+
// }
|
|
57
|
+
// }
|
|
58
|
+
// }
|
|
59
|
+
// return { valid: errors.length === 0, errors: errors.length ? errors : undefined };
|
|
60
|
+
// }
|
|
61
|
+
//
|
|
62
|
+
// export function buildPagination(startAt?: number, maxResults?: number) {
|
|
63
|
+
// return { startAt: startAt ?? 0, maxResults: maxResults ?? 50 };
|
|
64
|
+
// }
|
|
65
|
+
//# sourceMappingURL=tool-utils.js.map
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-utils.js","sourceRoot":"","sources":["../../src/jira/tool-utils.ts"],"names":[],"mappings":";AAAA,MAAM;AACN,uFAAuF;AACvF,MAAM;AACN,EAAE;AACF,oCAAoC;AACpC,gDAAgD;AAChD,EAAE;AACF,iCAAiC;AACjC,8BAA8B;AAC9B,sCAAsC;AACtC,yBAAyB;AACzB,KAAK;AACL,EAAE;AACF,MAAM;AACN,mFAAmF;AACnF,4EAA4E;AAC5E,gBAAgB;AAChB,MAAM;AACN,8HAA8H;AAC9H,yCAAyC;AACzC,+EAA+E;AAC/E,yDAAyD;AACzD,+BAA+B;AAC/B,YAAY;AACZ,wDAAwD;AACxD,+CAA+C;AAC/C,iDAAiD;AACjD,qCAAqC;AACrC,6CAA6C;AAC7C,8CAA8C;AAC9C,8DAA8D;AAC9D,YAAY;AACZ,UAAU;AACV,yCAAyC;AACzC,oBAAoB;AACpB,6EAA6E;AAC7E,QAAQ;AACR,MAAM;AACN,EAAE;AACF,2EAA2E;AAC3E,wCAAwC;AACxC,iCAAiC;AACjC,mDAAmD;AACnD,sCAAsC;AACtC,6EAA6E;AAC7E,QAAQ;AACR,MAAM;AACN,mDAAmD;AACnD,wBAAwB;AACxB,oEAAoE;AACpE,yDAAyD;AACzD,iGAAiG;AACjG,0EAA0E;AAC1E,8HAA8H;AAC9H,UAAU;AACV,QAAQ;AACR,MAAM;AACN,uFAAuF;AACvF,IAAI;AACJ,EAAE;AACF,2EAA2E;AAC3E,oEAAoE;AACpE,IAAI"}
|
package/lib/mcp-server.cjs
CHANGED
|
@@ -1,50 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
3
|
exports.McpServer = void 0;
|
|
37
4
|
const logging_1 = require("@decaf-ts/logging");
|
|
38
|
-
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
39
5
|
const banner_1 = require("./utils/banner.cjs");
|
|
40
|
-
const tools_1 = require("./tools/index.cjs");
|
|
41
6
|
const prompts_1 = require("./prompts/index.cjs");
|
|
42
|
-
const resources_1 = require("./resources/index.cjs");
|
|
43
|
-
const streamableHttp_js_1 = require("@modelcontextprotocol/sdk/server/streamableHttp.js");
|
|
44
|
-
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
45
|
-
const uuid_1 = require("uuid");
|
|
46
7
|
const constants_1 = require("./constants.cjs");
|
|
47
|
-
const environment_1 = require("./environment.cjs");
|
|
8
|
+
const environment_1 = require("./utils/environment.cjs");
|
|
9
|
+
const uuid_1 = require("uuid");
|
|
10
|
+
const initialization_1 = require("./utils/initialization.cjs");
|
|
11
|
+
const utils_1 = require("./utils/utils.cjs");
|
|
12
|
+
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
13
|
+
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
14
|
+
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
15
|
+
const streamableHttp_js_1 = require("@modelcontextprotocol/sdk/server/streamableHttp.js");
|
|
48
16
|
class McpServer extends logging_1.LoggedClass {
|
|
49
17
|
get client() {
|
|
50
18
|
if (!this._mcp)
|
|
@@ -55,161 +23,118 @@ class McpServer extends logging_1.LoggedClass {
|
|
|
55
23
|
super();
|
|
56
24
|
}
|
|
57
25
|
async load() {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
this.log.verbose(`Loaded ${loadedResourced.length} resources`);
|
|
61
|
-
const loadedPrompts = await Promise.all(prompts_1.Prompts.map((r) => r.build(this.client)));
|
|
62
|
-
this.log.verbose(`Loaded ${loadedPrompts.length} prompts`);
|
|
63
|
-
const loadedTools = await Promise.all(tools_1.Tools.map((r) => r.build(this.client)));
|
|
64
|
-
this.log.verbose(`Loaded ${loadedTools.length} tools`);
|
|
65
|
-
// Also attempt to load any exported builder-like objects from the tools module itself.
|
|
66
|
-
// Some modules export individual builders (not only the Tools array). Load those
|
|
67
|
-
// exported objects if they expose a `build` method and were not already loaded
|
|
68
|
-
// via the `Tools` array above.
|
|
26
|
+
const log = this.log.for(this.load);
|
|
27
|
+
for (const prompt of prompts_1.Prompts) {
|
|
69
28
|
try {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const candidates = Object.values(toolsModule).filter((v) => v && typeof v.build === "function");
|
|
74
|
-
// remove duplicates that are already present in Tools (by identity)
|
|
75
|
-
const toLoad = candidates.filter((c) => !tools_1.Tools.includes(c));
|
|
76
|
-
if (toLoad.length > 0) {
|
|
77
|
-
const loadedExported = await Promise.all(toLoad.map((t) => t.build(this.client)));
|
|
78
|
-
this.log.verbose(`Loaded ${loadedExported.length} exported builders from tools module`);
|
|
79
|
-
}
|
|
29
|
+
log.info(`loading prompt ${prompt.getName()}`);
|
|
30
|
+
const p = prompt.build(this.client);
|
|
31
|
+
log.verbose(`Loaded prompt ${p.title} from ${prompt.getName()} definition`);
|
|
80
32
|
}
|
|
81
|
-
catch (
|
|
82
|
-
|
|
83
|
-
this.log.verbose(`No additional exported builders loaded from tools module: ${err}`);
|
|
33
|
+
catch (e) {
|
|
34
|
+
log.error(`Failed to load prompt ${prompt.getName()}`, e);
|
|
84
35
|
}
|
|
85
36
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
37
|
+
// try {
|
|
38
|
+
// // Centralize Jira client creation so builders and prompts that depend on
|
|
39
|
+
// // Jira can get a client passed directly during registration. Do NOT
|
|
40
|
+
// // attach the client to `this.context` — registration is centralized and
|
|
41
|
+
// // callers should receive the client as an explicit parameter.
|
|
42
|
+
// // Centralize Jira client creation so builders and prompts that depend on
|
|
43
|
+
// // Jira can get a client passed directly during registration. Do NOT
|
|
44
|
+
// // attach the client to `this.context` — registration is centralized and
|
|
45
|
+
// // callers should receive the client as an explicit parameter.
|
|
46
|
+
// let jiraClient: any = undefined;
|
|
47
|
+
// try {
|
|
48
|
+
// jiraClient = makeJiraClient({});
|
|
49
|
+
// this.log.verbose(`Jira client created`);
|
|
50
|
+
// } catch (e) {
|
|
51
|
+
// // Non-fatal: if Jira client can't be created, continue; individual
|
|
52
|
+
// // builders that depend on it should fail fast during registration.
|
|
53
|
+
// this.log.warn(`Could not initialize Jira client during load: ${String(e)}`);
|
|
54
|
+
// }
|
|
55
|
+
//
|
|
56
|
+
// const loadedResourced = await Promise.all(
|
|
57
|
+
// Resources.map((r) => r.build(this.client))
|
|
58
|
+
// );
|
|
59
|
+
// this.log.verbose(`Loaded ${loadedResourced.length} resources`);
|
|
60
|
+
// const loadedPrompts = await Promise.all(
|
|
61
|
+
// Prompts.map((r) => r.build(this.client))
|
|
62
|
+
// );
|
|
63
|
+
// this.log.verbose(`Loaded ${loadedPrompts.length} prompts`);
|
|
64
|
+
// const loadedTools = await Promise.all(
|
|
65
|
+
// Tools.map((r) => r.build(this.client))
|
|
66
|
+
// );
|
|
67
|
+
// this.log.verbose(`Loaded ${loadedTools.length} tools`);
|
|
68
|
+
// // Module-local artifacts (legacy modules that export plain definitions)
|
|
69
|
+
// // are registered centrally here. Example: Jira issue create tool/prompt
|
|
70
|
+
// // are plain modules (`tools/issue/create-tool`, `prompts/issue/create-prompt`)
|
|
71
|
+
// // that expect a `server` and `client` to be provided. Register them now
|
|
72
|
+
// // using the MCP client attached to this._mcp.
|
|
73
|
+
// try {
|
|
74
|
+
// const client = jiraClient;
|
|
75
|
+
// if (issueCreateModule && (issueCreateModule as any).definition && typeof (issueCreateModule as any).definition === "function") {
|
|
76
|
+
// const def = (issueCreateModule as any).definition(this, client);
|
|
77
|
+
// // validate and extract shapes via shared helpers
|
|
78
|
+
// const inputShape = def?.schema?.input ? extractShape(def.schema.input) : def?.inputSchema ? extractShape(def.inputSchema) : undefined;
|
|
79
|
+
// const outputShape = def?.schema?.output ? extractShape(def.schema.output) : def?.outputSchema ? extractShape(def.outputSchema) : undefined;
|
|
80
|
+
// // register with MCP client if available
|
|
81
|
+
// if ((this as any)._mcp && typeof (this as any)._mcp.registerTool === "function") {
|
|
82
|
+
// (this as any)._mcp.registerTool(def.name || def.name, {
|
|
83
|
+
// title: def.title,
|
|
84
|
+
// description: def.description,
|
|
85
|
+
// inputSchema: inputShape,
|
|
86
|
+
// outputSchema: outputShape,
|
|
87
|
+
// annotations: def.annotations,
|
|
88
|
+
// }, async (args: any, extra: any) => {
|
|
89
|
+
// return def.run(args, extra);
|
|
90
|
+
// });
|
|
91
|
+
// this.log.verbose(`Registered Jira tool: ${def.name}`);
|
|
92
|
+
// }
|
|
93
|
+
// }
|
|
94
|
+
// if (issuePromptModule && typeof (issuePromptModule as any).make === "function") {
|
|
95
|
+
// const p = (issuePromptModule as any).make(this, jiraClient);
|
|
96
|
+
// const argsShape = p?.argsSchema ? extractShape(p.argsSchema) : undefined;
|
|
97
|
+
// if ((this as any)._mcp && typeof (this as any)._mcp.registerPrompt === "function") {
|
|
98
|
+
// await (this as any)._mcp.registerPrompt(p.name || 'jira.issue-create', { title: p.title, description: p.description, argsSchema: argsShape }, async (args: any, extra: any) => p.run(args, extra));
|
|
99
|
+
// this.log.verbose(`Registered Jira prompt: ${p.name}`);
|
|
100
|
+
// }
|
|
101
|
+
// }
|
|
102
|
+
// } catch (e) {
|
|
103
|
+
// this.log.warn(`Error registering module-local artifacts: ${String(e)}`);
|
|
104
|
+
// }
|
|
105
|
+
// try {
|
|
106
|
+
// const toolsModule: Record<string, unknown> = ToolsModule as any;
|
|
107
|
+
// const candidates = Object.values(toolsModule).filter(
|
|
108
|
+
// (v) => v && typeof (v as any).build === "function"
|
|
109
|
+
// );
|
|
110
|
+
// // remove duplicates that are already present in Tools (by identity)
|
|
111
|
+
// const toLoad = candidates.filter((c) => !Tools.includes(c as any));
|
|
112
|
+
// if (toLoad.length > 0) {
|
|
113
|
+
// const loadedExported = await Promise.all(
|
|
114
|
+
// (toLoad as any[]).map((t) => (t as any).build(this.client))
|
|
115
|
+
// );
|
|
116
|
+
// this.log.verbose(`Loaded ${loadedExported.length} exported builders from tools module`);
|
|
117
|
+
// }
|
|
118
|
+
// } catch (err) {
|
|
119
|
+
// // don't fail the whole load if discovery can't run; just log it for debugging
|
|
120
|
+
// this.log.verbose(`No additional exported builders loaded from tools module: ${err}`);
|
|
121
|
+
// }
|
|
122
|
+
// } catch (e: unknown) {
|
|
123
|
+
// // nothing else. just for debugging
|
|
124
|
+
// this.log.error(`Error loading core MCP components`, e as Error);
|
|
125
|
+
// throw e;
|
|
126
|
+
// }
|
|
91
127
|
}
|
|
92
128
|
async boot(transportType = "stdio") {
|
|
93
129
|
const log = this.log;
|
|
94
130
|
this.log.for(this.boot).info("McpServer booting...");
|
|
95
131
|
(0, banner_1.printBanner)(this.log);
|
|
96
|
-
const
|
|
97
|
-
? environment_1.Environment.icons
|
|
98
|
-
: [environment_1.Environment.icons];
|
|
99
|
-
const normalizedIcons = (iconsRaw || []).map((i) => {
|
|
100
|
-
const src = typeof i?.src === "string" ? i.src : String(i?.src ?? "");
|
|
101
|
-
const mimeType = typeof i?.mimeType === "string"
|
|
102
|
-
? i.mimeType
|
|
103
|
-
: String(i?.mimeType ?? "");
|
|
104
|
-
let sizes = [];
|
|
105
|
-
if (Array.isArray(i?.sizes))
|
|
106
|
-
sizes = i.sizes.map((s) => String(s));
|
|
107
|
-
else if (typeof i?.sizes === "string")
|
|
108
|
-
sizes = String(i.sizes)
|
|
109
|
-
.split(",")
|
|
110
|
-
.map((s) => s.trim());
|
|
111
|
-
return { src, mimeType, sizes };
|
|
112
|
-
});
|
|
113
|
-
// Normalize contacts: Environment may expose proxies or array-like objects
|
|
114
|
-
// (from the LoggedEnvironment proxy). Ensure a real array of plain objects
|
|
115
|
-
// with string fields is provided to the MCP protocol.
|
|
116
|
-
const contactsRaw = environment_1.Environment.contacts;
|
|
117
|
-
let normalizedContacts;
|
|
118
|
-
if (typeof contactsRaw !== "undefined" && contactsRaw !== null) {
|
|
119
|
-
if (Array.isArray(contactsRaw)) {
|
|
120
|
-
normalizedContacts = contactsRaw.map((c) => ({
|
|
121
|
-
name: typeof c?.name === "string" ? c.name : String(c?.name ?? ""),
|
|
122
|
-
email: typeof c?.email === "string"
|
|
123
|
-
? c.email
|
|
124
|
-
: c?.email
|
|
125
|
-
? String(c.email)
|
|
126
|
-
: undefined,
|
|
127
|
-
url: typeof c?.url === "string"
|
|
128
|
-
? c.url
|
|
129
|
-
: c?.url
|
|
130
|
-
? String(c.url)
|
|
131
|
-
: undefined,
|
|
132
|
-
}));
|
|
133
|
-
}
|
|
134
|
-
else if (typeof contactsRaw === "object") {
|
|
135
|
-
// Prefer numeric-indexed properties if present (handles array-like proxies)
|
|
136
|
-
const keys = Object.keys(contactsRaw || {});
|
|
137
|
-
const numericKeys = keys
|
|
138
|
-
.filter((k) => /^[0-9]+$/.test(k))
|
|
139
|
-
.sort((a, b) => Number(a) - Number(b));
|
|
140
|
-
if (numericKeys.length > 0) {
|
|
141
|
-
normalizedContacts = numericKeys.map((k) => {
|
|
142
|
-
const c = contactsRaw[k];
|
|
143
|
-
return {
|
|
144
|
-
name: typeof c?.name === "string" ? c.name : String(c?.name ?? ""),
|
|
145
|
-
email: typeof c?.email === "string"
|
|
146
|
-
? c.email
|
|
147
|
-
: c?.email
|
|
148
|
-
? String(c.email)
|
|
149
|
-
: undefined,
|
|
150
|
-
url: typeof c?.url === "string"
|
|
151
|
-
? c.url
|
|
152
|
-
: c?.url
|
|
153
|
-
? String(c.url)
|
|
154
|
-
: undefined,
|
|
155
|
-
};
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
else if (typeof contactsRaw.length === "number") {
|
|
159
|
-
const len = Number(contactsRaw.length) || 0;
|
|
160
|
-
normalizedContacts = [];
|
|
161
|
-
for (let i = 0; i < len; i++) {
|
|
162
|
-
const c = contactsRaw[i];
|
|
163
|
-
normalizedContacts.push({
|
|
164
|
-
name: typeof c?.name === "string" ? c.name : String(c?.name ?? ""),
|
|
165
|
-
email: typeof c?.email === "string"
|
|
166
|
-
? c.email
|
|
167
|
-
: c?.email
|
|
168
|
-
? String(c.email)
|
|
169
|
-
: undefined,
|
|
170
|
-
url: typeof c?.url === "string"
|
|
171
|
-
? c.url
|
|
172
|
-
: c?.url
|
|
173
|
-
? String(c.url)
|
|
174
|
-
: undefined,
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
// Fallback: collect own enumerable values but ignore the `length` pseudo-property
|
|
180
|
-
normalizedContacts = Object.keys(contactsRaw)
|
|
181
|
-
.filter((k) => k !== "length")
|
|
182
|
-
.map((k) => {
|
|
183
|
-
const c = contactsRaw[k];
|
|
184
|
-
return {
|
|
185
|
-
name: typeof c?.name === "string" ? c.name : String(c?.name ?? ""),
|
|
186
|
-
email: typeof c?.email === "string"
|
|
187
|
-
? c.email
|
|
188
|
-
: c?.email
|
|
189
|
-
? String(c.email)
|
|
190
|
-
: undefined,
|
|
191
|
-
url: typeof c?.url === "string"
|
|
192
|
-
? c.url
|
|
193
|
-
: c?.url
|
|
194
|
-
? String(c.url)
|
|
195
|
-
: undefined,
|
|
196
|
-
};
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
}
|
|
132
|
+
const normalizedIcons = (0, initialization_1.getIcons)();
|
|
201
133
|
const serverInfo = {
|
|
202
|
-
id: environment_1.Environment.mcpId,
|
|
203
134
|
name: environment_1.Environment.name,
|
|
204
135
|
title: environment_1.Environment.title,
|
|
205
|
-
description: environment_1.Environment.description,
|
|
206
136
|
websiteUrl: environment_1.Environment.websiteUrl,
|
|
207
|
-
repositoryUrl: environment_1.Environment.repositoryUrl,
|
|
208
137
|
version: environment_1.Environment.version,
|
|
209
|
-
license: environment_1.Environment.license,
|
|
210
|
-
contacts: normalizedContacts,
|
|
211
|
-
tags: environment_1.Environment.tags ? environment_1.Environment.tags.split(",") : undefined,
|
|
212
|
-
metadata: environment_1.Environment.metadata,
|
|
213
138
|
icons: normalizedIcons,
|
|
214
139
|
};
|
|
215
140
|
const options = {
|
|
@@ -230,14 +155,9 @@ class McpServer extends logging_1.LoggedClass {
|
|
|
230
155
|
},
|
|
231
156
|
};
|
|
232
157
|
this._mcp = new mcp_js_1.McpServer(serverInfo, options);
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
}
|
|
236
|
-
catch (err) {
|
|
237
|
-
this.log.error(`Error loading resources/prompts/tools: ${err}`);
|
|
238
|
-
throw err;
|
|
239
|
-
}
|
|
240
|
-
// if (typeof transportType === "string") {
|
|
158
|
+
this._mcp.onerror = (err) => {
|
|
159
|
+
this.log.error("MCP instance onerror", err);
|
|
160
|
+
};
|
|
241
161
|
switch (transportType) {
|
|
242
162
|
case "stdio":
|
|
243
163
|
transportType = new stdio_js_1.StdioServerTransport();
|
|
@@ -255,17 +175,19 @@ class McpServer extends logging_1.LoggedClass {
|
|
|
255
175
|
});
|
|
256
176
|
break;
|
|
257
177
|
default: {
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
(typeof transportType.send === "function" ||
|
|
261
|
-
typeof transportType.close === "function" ||
|
|
262
|
-
typeof transportType.on === "function");
|
|
263
|
-
if (!isTransport) {
|
|
264
|
-
throw new Error(`Invalid transport type: ${String(transportType)}`);
|
|
265
|
-
}
|
|
178
|
+
if (!(0, utils_1.isTransportDuck)(transportType))
|
|
179
|
+
throw new db_decorators_1.InternalError(`Invalid transport type: ${String(transportType)}`);
|
|
266
180
|
}
|
|
267
181
|
}
|
|
268
|
-
|
|
182
|
+
try {
|
|
183
|
+
this.log.info("Loading resources/prompts/tools...");
|
|
184
|
+
await this.load();
|
|
185
|
+
}
|
|
186
|
+
catch (err) {
|
|
187
|
+
this.log.error(`Error loading resources/prompts/tools: ${err}`);
|
|
188
|
+
throw err;
|
|
189
|
+
}
|
|
190
|
+
await this.client.connect(transportType);
|
|
269
191
|
}
|
|
270
192
|
}
|
|
271
193
|
exports.McpServer = McpServer;
|
package/lib/mcp-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// export class ApiTokenAuthProvider {
|
|
3
|
+
// private email: string;
|
|
4
|
+
// private apiToken: string;
|
|
5
|
+
//
|
|
6
|
+
// constructor(email: string, apiToken: string) {
|
|
7
|
+
// this.email = email;
|
|
8
|
+
// this.apiToken = apiToken;
|
|
9
|
+
// }
|
|
10
|
+
//
|
|
11
|
+
// getAuth() {
|
|
12
|
+
// return { email: this.email, apiToken: this.apiToken };
|
|
13
|
+
// }
|
|
14
|
+
// }
|
|
15
|
+
//
|
|
16
|
+
// export class OAuth2AuthProvider {
|
|
17
|
+
// private clientId: string;
|
|
18
|
+
// private clientSecret: string;
|
|
19
|
+
// private redirectUri: string;
|
|
20
|
+
//
|
|
21
|
+
// constructor(clientId: string, clientSecret: string, redirectUri: string) {
|
|
22
|
+
// this.clientId = clientId;
|
|
23
|
+
// this.clientSecret = clientSecret;
|
|
24
|
+
// this.redirectUri = redirectUri;
|
|
25
|
+
// }
|
|
26
|
+
//
|
|
27
|
+
// getAuth() {
|
|
28
|
+
// return { clientId: this.clientId, clientSecret: this.clientSecret, redirectUri: this.redirectUri };
|
|
29
|
+
// }
|
|
30
|
+
// }
|
|
31
|
+
//
|
|
32
|
+
// export type AuthProvider = ApiTokenAuthProvider | OAuth2AuthProvider;
|
|
33
|
+
//# sourceMappingURL=auth-providers.js.map
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-providers.js","sourceRoot":"","sources":["../../../src/modules/jira/auth-providers.ts"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,2BAA2B;AAC3B,8BAA8B;AAC9B,EAAE;AACF,mDAAmD;AACnD,0BAA0B;AAC1B,gCAAgC;AAChC,MAAM;AACN,EAAE;AACF,gBAAgB;AAChB,6DAA6D;AAC7D,MAAM;AACN,IAAI;AACJ,EAAE;AACF,oCAAoC;AACpC,8BAA8B;AAC9B,kCAAkC;AAClC,iCAAiC;AACjC,EAAE;AACF,+EAA+E;AAC/E,gCAAgC;AAChC,wCAAwC;AACxC,sCAAsC;AACtC,MAAM;AACN,EAAE;AACF,gBAAgB;AAChB,0GAA0G;AAC1G,MAAM;AACN,IAAI;AACJ,EAAE;AACF,wEAAwE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// export function normalizeJiraError(err: any) {
|
|
3
|
+
// // Convert a Jira client error into a predictable MCP error shape.
|
|
4
|
+
// // This is intentionally conservative and will be extended with mapping logic.
|
|
5
|
+
// return {
|
|
6
|
+
// code: err?.status || 'jira_error',
|
|
7
|
+
// message: err?.message || String(err),
|
|
8
|
+
// details: err?.body || err?.data || null,
|
|
9
|
+
// } as { code: number | string; message: string; details: any };
|
|
10
|
+
// }
|
|
11
|
+
//
|
|
12
|
+
//
|
|
13
|
+
//# sourceMappingURL=error-normalizer.js.map
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-normalizer.js","sourceRoot":"","sources":["../../../src/modules/jira/error-normalizer.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,uEAAuE;AACvE,mFAAmF;AACnF,aAAa;AACb,yCAAyC;AACzC,4CAA4C;AAC5C,+CAA+C;AAC/C,mEAAmE;AACnE,IAAI;AACJ,EAAE;AACF,EAAE"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
// export * from './makeJiraClient';
|
|
18
|
+
// export * from './auth-providers';
|
|
19
|
+
// export * from './error-normalizer';
|
|
20
|
+
__exportStar(require("./types.cjs"), exports);
|
|
21
|
+
// export * from './schemas/create-issue-input';
|
|
22
|
+
// // Legacy module-level registration helpers removed. Central registration is
|
|
23
|
+
// // performed by `src/mcp-server.ts::load()` which discovers builder exports
|
|
24
|
+
// // via the `Tools` / `Prompts` registries. Do not re-export `registerAll`.
|
|
25
|
+
//
|
|
26
|
+
// // Builder-pattern exports (module-level wrappers) for central discovery.
|
|
27
|
+
// export { JiraIssueCreate as JiraIssueCreateTool } from './tools/issue-create';
|
|
28
|
+
// export { JiraIssueCreatePrompt } from './prompts/create-issue-prompt';
|
|
29
|
+
// export { JiraProjectList as JiraProjectListTool } from './tools/project-list';
|
|
30
|
+
// export { JiraSearchJql as JiraSearchJqlTool } from './tools/search-jql';
|
|
31
|
+
// export { JiraAgileBoardList as JiraAgileBoardListTool } from './tools/agile-board-list';
|
|
32
|
+
// export { JiraIssueTransition as JiraIssueTransitionTool } from './tools/issue-transition';
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./types";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/jira/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oCAAoC;AACpC,oCAAoC;AACpC,sCAAsC;AACtC,8CAAwB;AACxB,gDAAgD;AAChD,+EAA+E;AAC/E,8EAA8E;AAC9E,6EAA6E;AAC7E,EAAE;AACF,4EAA4E;AAC5E,iFAAiF;AACjF,yEAAyE;AACzE,iFAAiF;AACjF,2EAA2E;AAC3E,2FAA2F;AAC3F,6FAA6F"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeJiraClient = makeJiraClient;
|
|
4
|
+
const environment_1 = require("./../../utils/environment.cjs");
|
|
5
|
+
// Note: we intentionally avoid top-level imports of `jira.js` so tests and
|
|
6
|
+
// consumers that don't need Jira won't attempt to load its dependencies.
|
|
7
|
+
/**
|
|
8
|
+
* Factory that instantiates and adapts the official `jira.js` client.
|
|
9
|
+
*
|
|
10
|
+
* The code below uses a dynamic require so the package remains an optional
|
|
11
|
+
* runtime dependency for consumers that don't need Jira. It exposes both a
|
|
12
|
+
* `request` function (for callers that use the low-level API) and a small
|
|
13
|
+
* set of commonly-used adapters (issues, project, search, board) so existing
|
|
14
|
+
* tools that check for those shapes continue to work.
|
|
15
|
+
*/
|
|
16
|
+
function makeJiraClient(_config) {
|
|
17
|
+
// Require `jira.js` only when a client is requested. Using a function-level
|
|
18
|
+
// require avoids importing the package at module-evaluation time while also
|
|
19
|
+
// avoiding `import(...)` which is forbidden by our import validation.
|
|
20
|
+
let Version3Client;
|
|
21
|
+
try {
|
|
22
|
+
const mod = require("jira.js");
|
|
23
|
+
Version3Client =
|
|
24
|
+
mod?.Version3Client ||
|
|
25
|
+
mod.default?.Version3Client ||
|
|
26
|
+
mod.default ||
|
|
27
|
+
mod;
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
throw new Error("Unable to require 'jira.js' — ensure it is installed as a dependency: " +
|
|
31
|
+
String(err));
|
|
32
|
+
}
|
|
33
|
+
const host = environment_1.Environment.jira.host;
|
|
34
|
+
const authEmail = environment_1.Environment.jira.email;
|
|
35
|
+
const authToken = environment_1.Environment.jira.apiKey;
|
|
36
|
+
const jira = new Version3Client({
|
|
37
|
+
host: host,
|
|
38
|
+
authentication: {
|
|
39
|
+
basic: {
|
|
40
|
+
email: authEmail,
|
|
41
|
+
apiToken: authToken,
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
return jira;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=makeJiraClient.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory that instantiates and adapts the official `jira.js` client.
|
|
3
|
+
*
|
|
4
|
+
* The code below uses a dynamic require so the package remains an optional
|
|
5
|
+
* runtime dependency for consumers that don't need Jira. It exposes both a
|
|
6
|
+
* `request` function (for callers that use the low-level API) and a small
|
|
7
|
+
* set of commonly-used adapters (issues, project, search, board) so existing
|
|
8
|
+
* tools that check for those shapes continue to work.
|
|
9
|
+
*/
|
|
10
|
+
export declare function makeJiraClient(_config?: any): any;
|