@decaf-ts/mcp-server 0.4.9 → 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 +4 -4
- 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 +3 -3
- 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.d.ts +2 -2
- package/lib/esm/mcp-server.js +132 -170
- 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 +133 -204
- package/lib/mcp-server.d.ts +2 -2
- 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
|
@@ -1,12 +1,36 @@
|
|
|
1
|
-
import { McpServer, type PromptCallback, RegisteredPrompt } from "@modelcontextprotocol/sdk/server/mcp";
|
|
2
|
-
import
|
|
1
|
+
import { McpServer, type PromptCallback, RegisteredPrompt } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { ModelArg } from "@decaf-ts/decorator-validation";
|
|
3
|
+
import { ZodObject } from "zod";
|
|
3
4
|
import { UsableBuilder } from "./builder";
|
|
5
|
+
import { AssetReader } from "../utils/assets";
|
|
6
|
+
import { Logger } from "@decaf-ts/logging";
|
|
7
|
+
import { Cost, EffortLevel, ReasoningLevel } from "../constants";
|
|
4
8
|
export declare class PromptBuilder extends UsableBuilder<RegisteredPrompt> {
|
|
9
|
+
protected assets: AssetReader;
|
|
5
10
|
protected cb: PromptCallback<any>;
|
|
6
|
-
protected argsSchema:
|
|
11
|
+
protected argsSchema: ZodObject<any>;
|
|
12
|
+
protected placeholders?: string[] | Record<string, string>;
|
|
13
|
+
constructor(arg?: ModelArg<PromptBuilder>);
|
|
7
14
|
setCb(value: PromptCallback<any>): this;
|
|
8
|
-
setArgsSchema(value:
|
|
9
|
-
private constructor();
|
|
15
|
+
setArgsSchema(value: ZodObject<any>): this;
|
|
10
16
|
static get builder(): PromptBuilder;
|
|
17
|
+
static patchPrompt(prompt: string, placeholders: string[] | Record<string, string>, replacements: Record<string, string>, log?: Logger): string;
|
|
18
|
+
protected patchPrompt(prompt: string, placeholders: string[] | Record<string, string>, replacements: Record<string, string>, log?: Logger): string;
|
|
19
|
+
build(server: McpServer, replacements?: Record<string, string>): RegisteredPrompt;
|
|
20
|
+
}
|
|
21
|
+
export declare class NamedPromptBuilder extends PromptBuilder {
|
|
22
|
+
protected promptCategory: string;
|
|
23
|
+
private prefixes;
|
|
24
|
+
private suffixes;
|
|
25
|
+
setCategory(value: string): this;
|
|
26
|
+
addPrefix(value: string): this;
|
|
27
|
+
addSuffix(value: string): this;
|
|
28
|
+
constructor(arg?: ModelArg<NamedPromptBuilder>);
|
|
11
29
|
build(server: McpServer): RegisteredPrompt;
|
|
30
|
+
setReasoning(value: ReasoningLevel): this;
|
|
31
|
+
setEffort(value: EffortLevel): this;
|
|
32
|
+
setCost(value: Cost): this;
|
|
33
|
+
setDescription(value: string): this;
|
|
34
|
+
setTitle(value: string): this;
|
|
35
|
+
static get builder(): NamedPromptBuilder;
|
|
12
36
|
}
|
|
@@ -7,10 +7,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
-
import { required } from "@decaf-ts/decorator-validation";
|
|
10
|
+
import { list, minlength, Model, required, } from "@decaf-ts/decorator-validation";
|
|
11
|
+
import { z, ZodObject } from "zod";
|
|
11
12
|
import { UsableBuilder } from "./builder.js";
|
|
12
|
-
import {
|
|
13
|
+
import { ensureZodObject, extractShape } from "./../jira/schema-utils.js";
|
|
14
|
+
import { inject } from "@decaf-ts/injectable-decorators";
|
|
15
|
+
import { Metadata } from "@decaf-ts/decoration";
|
|
16
|
+
import { AssetReader } from "./../utils/assets.js";
|
|
17
|
+
import { InternalError, ValidationError } from "@decaf-ts/db-decorators";
|
|
18
|
+
import { prop } from "@decaf-ts/decoration";
|
|
19
|
+
import { sf } from "@decaf-ts/logging";
|
|
13
20
|
export class PromptBuilder extends UsableBuilder {
|
|
21
|
+
constructor(arg) {
|
|
22
|
+
super(arg);
|
|
23
|
+
}
|
|
14
24
|
setCb(value) {
|
|
15
25
|
this.cb = value;
|
|
16
26
|
return this;
|
|
@@ -19,27 +29,50 @@ export class PromptBuilder extends UsableBuilder {
|
|
|
19
29
|
this.argsSchema = value;
|
|
20
30
|
return this;
|
|
21
31
|
}
|
|
22
|
-
constructor(arg) {
|
|
23
|
-
super(arg);
|
|
24
|
-
}
|
|
25
32
|
static get builder() {
|
|
26
33
|
return new PromptBuilder();
|
|
27
34
|
}
|
|
28
|
-
|
|
35
|
+
static patchPrompt(prompt, placeholders, replacements, log) {
|
|
36
|
+
placeholders = Array.isArray(placeholders)
|
|
37
|
+
? placeholders
|
|
38
|
+
: Object.keys(placeholders);
|
|
39
|
+
const missing = placeholders.filter((p) => !Object.prototype.hasOwnProperty.call(replacements, p));
|
|
40
|
+
if (missing.length)
|
|
41
|
+
throw new ValidationError(`Missing replacements for placeholders: ${missing.join(", ")}`);
|
|
42
|
+
if (log) {
|
|
43
|
+
log.verbose(`Patching prompt with placeholders: ${JSON.stringify(placeholders)}`);
|
|
44
|
+
log.debug(`Values: ${JSON.stringify(replacements)}`);
|
|
45
|
+
}
|
|
46
|
+
const filteredReplacements = placeholders.reduce((acc, key) => {
|
|
47
|
+
acc[key] = replacements[key];
|
|
48
|
+
return acc;
|
|
49
|
+
}, {});
|
|
50
|
+
return sf(prompt, filteredReplacements);
|
|
51
|
+
}
|
|
52
|
+
patchPrompt(prompt, placeholders, replacements, log) {
|
|
53
|
+
return PromptBuilder.patchPrompt(prompt, placeholders, replacements, log || this.log.for(this.patchPrompt));
|
|
54
|
+
}
|
|
55
|
+
build(server, replacements) {
|
|
56
|
+
const log = this.log.for(this.build);
|
|
29
57
|
const errs = this.hasErrors();
|
|
30
58
|
if (errs)
|
|
31
|
-
throw new
|
|
59
|
+
throw new ValidationError(errs.toString());
|
|
32
60
|
try {
|
|
61
|
+
// Enforce canonical ZodObject for argsSchema when provided and
|
|
62
|
+
// extract the raw shape for the MCP registerPrompt API.
|
|
63
|
+
if (this.argsSchema)
|
|
64
|
+
ensureZodObject(this.argsSchema, "argsSchema");
|
|
65
|
+
const argsShape = extractShape(this.argsSchema);
|
|
33
66
|
return server.registerPrompt(this.name, {
|
|
34
67
|
title: this.title,
|
|
35
68
|
description: this.description,
|
|
36
|
-
argsSchema:
|
|
69
|
+
argsSchema: argsShape,
|
|
37
70
|
}, async (args, extra) => {
|
|
38
|
-
const log = this.
|
|
71
|
+
const log = this.logFor(extra);
|
|
39
72
|
// ensure args is an object and has a _meta container so we can safely
|
|
40
73
|
// attach usage metadata without throwing when callers pass `{}` or
|
|
41
74
|
// omit the field entirely.
|
|
42
|
-
args = args || {};
|
|
75
|
+
args = Object.assign({}, replacements, args || {});
|
|
43
76
|
log.verbose(`Executing prompt ${this.name} with args: ${JSON.stringify(args)}`);
|
|
44
77
|
args._meta = Object.assign(args._meta || {}, {
|
|
45
78
|
usage: {
|
|
@@ -50,23 +83,149 @@ export class PromptBuilder extends UsableBuilder {
|
|
|
50
83
|
});
|
|
51
84
|
const result = await Promise.resolve(this.cb(args, extra));
|
|
52
85
|
log.verbose(`Prompt ${this.name} executed successfully.`);
|
|
53
|
-
// result._meta = Object.assign(result._meta as any, this._meta) as any;
|
|
54
86
|
log.debug(`Prompt execution meta: ${JSON.stringify(result._meta)}`);
|
|
55
87
|
return result;
|
|
56
88
|
});
|
|
57
89
|
}
|
|
58
90
|
catch (e) {
|
|
59
|
-
|
|
91
|
+
log.error(`Failed to register prompt ${this.name || this.constructor.name}`, e);
|
|
60
92
|
throw e;
|
|
61
93
|
}
|
|
62
94
|
}
|
|
63
95
|
}
|
|
96
|
+
__decorate([
|
|
97
|
+
inject(AssetReader),
|
|
98
|
+
__metadata("design:type", AssetReader)
|
|
99
|
+
], PromptBuilder.prototype, "assets", void 0);
|
|
64
100
|
__decorate([
|
|
65
101
|
required(),
|
|
66
102
|
__metadata("design:type", Object)
|
|
67
103
|
], PromptBuilder.prototype, "cb", void 0);
|
|
68
104
|
__decorate([
|
|
69
105
|
required(),
|
|
70
|
-
__metadata("design:type",
|
|
106
|
+
__metadata("design:type", ZodObject)
|
|
71
107
|
], PromptBuilder.prototype, "argsSchema", void 0);
|
|
108
|
+
__decorate([
|
|
109
|
+
prop(),
|
|
110
|
+
__metadata("design:type", Object)
|
|
111
|
+
], PromptBuilder.prototype, "placeholders", void 0);
|
|
112
|
+
export class NamedPromptBuilder extends PromptBuilder {
|
|
113
|
+
setCategory(value) {
|
|
114
|
+
this.promptCategory = value;
|
|
115
|
+
return this;
|
|
116
|
+
}
|
|
117
|
+
addPrefix(value) {
|
|
118
|
+
this.prefixes = this.prefixes || [];
|
|
119
|
+
this.prefixes.push(value);
|
|
120
|
+
return this;
|
|
121
|
+
}
|
|
122
|
+
addSuffix(value) {
|
|
123
|
+
this.suffixes = this.suffixes || [];
|
|
124
|
+
this.suffixes.push(value);
|
|
125
|
+
return this;
|
|
126
|
+
}
|
|
127
|
+
constructor(arg) {
|
|
128
|
+
super(arg);
|
|
129
|
+
}
|
|
130
|
+
build(server) {
|
|
131
|
+
const toIgnoreProps = (Metadata.properties(NamedPromptBuilder) || []).filter((k) => !["assets", "promptCategory", "prefixes", "suffixes"].includes(k));
|
|
132
|
+
const errs = this.hasErrors(...toIgnoreProps);
|
|
133
|
+
if (errs)
|
|
134
|
+
throw new ValidationError(errs.toString());
|
|
135
|
+
const promptDef = this.assets.getPrompt(this.name, this.promptCategory);
|
|
136
|
+
Model.fromObject(this, promptDef);
|
|
137
|
+
const prefixes = (this.prefixes || []).map((p) => this.assets.getPrompt(p, this.promptCategory));
|
|
138
|
+
const suffixes = (this.suffixes || []).map((p) => this.assets.getPrompt(p, this.promptCategory));
|
|
139
|
+
const argSchema = [
|
|
140
|
+
...new Set([
|
|
141
|
+
...promptDef.placeholders,
|
|
142
|
+
...prefixes.map((p) => p.placeholders || []),
|
|
143
|
+
...suffixes.map((p) => p.placeholders || []),
|
|
144
|
+
].flat()),
|
|
145
|
+
].reduce((acc, el) => {
|
|
146
|
+
acc[el] = z
|
|
147
|
+
.string()
|
|
148
|
+
.describe(`The description for ${el}`);
|
|
149
|
+
return acc;
|
|
150
|
+
}, {});
|
|
151
|
+
this.setArgsSchema(z.object(argSchema));
|
|
152
|
+
this.setCb((args, extra) => {
|
|
153
|
+
const log = this.logFor(extra)
|
|
154
|
+
.for(NamedPromptBuilder)
|
|
155
|
+
.for(this.promptCategory)
|
|
156
|
+
.for(this.name);
|
|
157
|
+
function parsePlaceholders(placeholders = []) {
|
|
158
|
+
return Array.isArray(placeholders)
|
|
159
|
+
? placeholders
|
|
160
|
+
: Object.keys(placeholders);
|
|
161
|
+
}
|
|
162
|
+
const prefixes = (this.prefixes || []).map((p) => this.assets.getPrompt(p, this.promptCategory));
|
|
163
|
+
const suffixes = (this.suffixes || []).map((p) => this.assets.getPrompt(p, this.promptCategory));
|
|
164
|
+
const p = this.assets.getPrompt(this.name, this.promptCategory);
|
|
165
|
+
const placeholders = [
|
|
166
|
+
...new Set([
|
|
167
|
+
...prefixes.map((p) => parsePlaceholders(p.placeholders)).flat(),
|
|
168
|
+
...suffixes.map((p) => parsePlaceholders(p.placeholders)).flat(),
|
|
169
|
+
...parsePlaceholders(p.placeholders).flat(),
|
|
170
|
+
]),
|
|
171
|
+
];
|
|
172
|
+
const prompt = this.patchPrompt([
|
|
173
|
+
...prefixes.map((p) => p.prompt),
|
|
174
|
+
p.prompt,
|
|
175
|
+
...suffixes.map((p) => p.prompt),
|
|
176
|
+
].join("\n\n"), placeholders, args, log);
|
|
177
|
+
const result = {
|
|
178
|
+
messages: [
|
|
179
|
+
{
|
|
180
|
+
role: "user",
|
|
181
|
+
content: {
|
|
182
|
+
type: "text",
|
|
183
|
+
text: prompt,
|
|
184
|
+
},
|
|
185
|
+
},
|
|
186
|
+
],
|
|
187
|
+
_meta: {},
|
|
188
|
+
};
|
|
189
|
+
return result;
|
|
190
|
+
});
|
|
191
|
+
return super.build(server);
|
|
192
|
+
}
|
|
193
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
194
|
+
setReasoning(value) {
|
|
195
|
+
throw new InternalError(`Named prompt builders don't require callback`);
|
|
196
|
+
}
|
|
197
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
198
|
+
setEffort(value) {
|
|
199
|
+
throw new InternalError(`Named prompt builders don't require callback`);
|
|
200
|
+
}
|
|
201
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
202
|
+
setCost(value) {
|
|
203
|
+
throw new InternalError(`Named prompt builders don't require callback`);
|
|
204
|
+
}
|
|
205
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
206
|
+
setDescription(value) {
|
|
207
|
+
throw new InternalError(`Named prompt builders don't require callback`);
|
|
208
|
+
}
|
|
209
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
210
|
+
setTitle(value) {
|
|
211
|
+
throw new InternalError(`Named prompt builders don't require callback`);
|
|
212
|
+
}
|
|
213
|
+
static get builder() {
|
|
214
|
+
return new NamedPromptBuilder();
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
__decorate([
|
|
218
|
+
required(),
|
|
219
|
+
__metadata("design:type", String)
|
|
220
|
+
], NamedPromptBuilder.prototype, "promptCategory", void 0);
|
|
221
|
+
__decorate([
|
|
222
|
+
list(String),
|
|
223
|
+
minlength(1),
|
|
224
|
+
__metadata("design:type", Array)
|
|
225
|
+
], NamedPromptBuilder.prototype, "prefixes", void 0);
|
|
226
|
+
__decorate([
|
|
227
|
+
minlength(1),
|
|
228
|
+
list(String),
|
|
229
|
+
__metadata("design:type", Array)
|
|
230
|
+
], NamedPromptBuilder.prototype, "suffixes", void 0);
|
|
72
231
|
//# sourceMappingURL=prompt-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../../src/builders/prompt-builder.ts"],"names":[],"mappings":";;;;;;;;;AAKA,OAAO,
|
|
1
|
+
{"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../../src/builders/prompt-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { McpServer, type ReadResourceCallback, RegisteredResource, RegisteredResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp";
|
|
1
|
+
import { McpServer, type ReadResourceCallback, RegisteredResource, RegisteredResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
2
|
import { Builder } from "./builder";
|
|
3
|
-
import { Resource } from "@modelcontextprotocol/sdk/types";
|
|
3
|
+
import { Resource } from "@modelcontextprotocol/sdk/types.js";
|
|
4
4
|
export declare class ResourceBuilder extends Builder<RegisteredResource | RegisteredResourceTemplate> {
|
|
5
5
|
protected uriOrTemplate: string;
|
|
6
6
|
cb: ReadResourceCallback;
|
|
@@ -7,8 +7,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
-
import { UriTemplate } from "@modelcontextprotocol/sdk/shared/uriTemplate";
|
|
11
|
-
import { ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp";
|
|
10
|
+
import { UriTemplate } from "@modelcontextprotocol/sdk/shared/uriTemplate.js";
|
|
11
|
+
import { ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
12
12
|
import { required } from "@decaf-ts/decorator-validation";
|
|
13
13
|
import { Builder } from "./builder.js";
|
|
14
14
|
import { Logging } from "@decaf-ts/logging";
|
|
@@ -49,7 +49,7 @@ export class ResourceBuilder extends Builder {
|
|
|
49
49
|
const metadata = Object.assign(this.config, { _meta: {} });
|
|
50
50
|
// Create a single read callback to be reused for both overloads.
|
|
51
51
|
const readCb = async (uri, extra) => {
|
|
52
|
-
const log = this.
|
|
52
|
+
const log = this.logFor(extra);
|
|
53
53
|
log.verbose(`Requesting resource ${this.name} from ${uri.toString()}`);
|
|
54
54
|
const result = await Promise.resolve(this.cb(uri, extra));
|
|
55
55
|
log.verbose(`Resource ${this.name} retrieved successfully.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-builder.js","sourceRoot":"","sources":["../../../src/builders/resource-builder.ts"],"names":[],"mappings":";;;;;;;;;AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"resource-builder.js","sourceRoot":"","sources":["../../../src/builders/resource-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { McpServer, RegisteredTool, type ToolCallback } from "@modelcontextprotocol/sdk/server/mcp";
|
|
2
|
-
import { type ToolAnnotations } from "@modelcontextprotocol/sdk/types";
|
|
1
|
+
import { McpServer, RegisteredTool, type ToolCallback } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { type ToolAnnotations } from "@modelcontextprotocol/sdk/types.js";
|
|
3
3
|
import { UsableBuilder } from "./builder";
|
|
4
|
+
import type { ZodObject } from "zod";
|
|
4
5
|
export declare class ToolBuilder extends UsableBuilder<RegisteredTool> {
|
|
5
6
|
protected annotations: Omit<ToolAnnotations, "title">;
|
|
6
7
|
protected cb: ToolCallback<any>;
|
|
7
|
-
protected inputSchema:
|
|
8
|
-
protected outputSchema
|
|
8
|
+
protected inputSchema: ZodObject<any>;
|
|
9
|
+
protected outputSchema?: ZodObject<any>;
|
|
9
10
|
setAnnotations(annotations: Partial<Omit<ToolAnnotations, "title">>): this;
|
|
10
11
|
setCb(cb: ToolCallback<any>): this;
|
|
11
|
-
setInputSchema(inputSchema: any): this;
|
|
12
|
-
setOutputSchema(outputSchema: any): this;
|
|
12
|
+
setInputSchema(inputSchema: ZodObject<any>): this;
|
|
13
|
+
setOutputSchema(outputSchema: ZodObject<any>): this;
|
|
13
14
|
private constructor();
|
|
14
15
|
static get builder(): ToolBuilder;
|
|
15
16
|
build(server: McpServer): RegisteredTool;
|
|
@@ -7,9 +7,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
-
import { required
|
|
10
|
+
import { required } from "@decaf-ts/decorator-validation";
|
|
11
11
|
import { UsableBuilder } from "./builder.js";
|
|
12
12
|
import { Logging } from "@decaf-ts/logging";
|
|
13
|
+
import { ensureZodObject, extractShape } from "./../jira/schema-utils.js";
|
|
13
14
|
export class ToolBuilder extends UsableBuilder {
|
|
14
15
|
setAnnotations(annotations) {
|
|
15
16
|
this.annotations = Object.assign(this.annotations, annotations);
|
|
@@ -44,11 +45,22 @@ export class ToolBuilder extends UsableBuilder {
|
|
|
44
45
|
if (errs)
|
|
45
46
|
throw new Error(errs.toString());
|
|
46
47
|
try {
|
|
48
|
+
// Enforce canonical Zod object schemas when provided. Schemas are
|
|
49
|
+
// optional — only validate/extract if present. The MCP SDK expects
|
|
50
|
+
// a ZodRawShape at registration time, so we extract the .shape()
|
|
51
|
+
// only from an actual ZodObject. Reject anything else to avoid
|
|
52
|
+
// subtle runtime mismatches.
|
|
53
|
+
if (this.inputSchema)
|
|
54
|
+
ensureZodObject(this.inputSchema, "inputSchema");
|
|
55
|
+
if (this.outputSchema)
|
|
56
|
+
ensureZodObject(this.outputSchema, "outputSchema");
|
|
57
|
+
const inputShape = extractShape(this.inputSchema);
|
|
58
|
+
const outputShape = extractShape(this.outputSchema);
|
|
47
59
|
return server.registerTool(this.name, {
|
|
48
60
|
title: this.title,
|
|
49
61
|
description: this.description,
|
|
50
|
-
inputSchema:
|
|
51
|
-
outputSchema:
|
|
62
|
+
inputSchema: inputShape,
|
|
63
|
+
outputSchema: outputShape,
|
|
52
64
|
annotations: this.annotations,
|
|
53
65
|
_meta: {
|
|
54
66
|
usage: {
|
|
@@ -58,7 +70,7 @@ export class ToolBuilder extends UsableBuilder {
|
|
|
58
70
|
},
|
|
59
71
|
},
|
|
60
72
|
}, async (args, extra) => {
|
|
61
|
-
const log = this.
|
|
73
|
+
const log = this.logFor(extra);
|
|
62
74
|
log.verbose(`Executing tool ${this.name} with args: ${JSON.stringify(args)}`);
|
|
63
75
|
extra._meta = Object.assign(extra._meta || {}, {
|
|
64
76
|
usage: {
|
|
@@ -75,6 +87,17 @@ export class ToolBuilder extends UsableBuilder {
|
|
|
75
87
|
});
|
|
76
88
|
}
|
|
77
89
|
catch (e) {
|
|
90
|
+
// If a tool with the same name was already registered, skip and warn
|
|
91
|
+
const msg = e?.message || String(e);
|
|
92
|
+
if (typeof msg === "string" && msg.includes("already registered")) {
|
|
93
|
+
// Use the project's logging subsystem to surface duplicate-registration
|
|
94
|
+
// warnings; tests and runtime should initialize Logging early so this
|
|
95
|
+
// is safe to call.
|
|
96
|
+
Logging.for(this).warn(`Tool ${this.name} already registered - skipping duplicate registration`);
|
|
97
|
+
// Return a lightweight placeholder to satisfy callers; the runtime
|
|
98
|
+
// MCP instance already holds the canonical registration.
|
|
99
|
+
return { name: this.name };
|
|
100
|
+
}
|
|
78
101
|
Logging.for(this).error(`Error building tool`, e);
|
|
79
102
|
throw e;
|
|
80
103
|
}
|
|
@@ -89,12 +112,7 @@ __decorate([
|
|
|
89
112
|
__metadata("design:type", Object)
|
|
90
113
|
], ToolBuilder.prototype, "cb", void 0);
|
|
91
114
|
__decorate([
|
|
92
|
-
type(Object.name),
|
|
93
115
|
required(),
|
|
94
|
-
__metadata("design:type",
|
|
116
|
+
__metadata("design:type", Function)
|
|
95
117
|
], ToolBuilder.prototype, "inputSchema", void 0);
|
|
96
|
-
__decorate([
|
|
97
|
-
type(Object.name),
|
|
98
|
-
__metadata("design:type", Object)
|
|
99
|
-
], ToolBuilder.prototype, "outputSchema", void 0);
|
|
100
118
|
//# sourceMappingURL=tool-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-builder.js","sourceRoot":"","sources":["../../../src/builders/tool-builder.ts"],"names":[],"mappings":";;;;;;;;;AAMA,OAAO,EAAY,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"tool-builder.js","sourceRoot":"","sources":["../../../src/builders/tool-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Cost, EffortLevel, ReasoningLevel } from "../constants";
|
|
2
|
+
import { z, ZodType } from "zod";
|
|
3
|
+
export type PromptArgs<PB extends {
|
|
4
|
+
argsSchema?: ZodType<any, any, any> | undefined;
|
|
5
|
+
}> = PB extends {
|
|
6
|
+
argsSchema: infer A extends ZodType<any, any, any>;
|
|
7
|
+
} ? z.infer<A> : never;
|
|
8
|
+
export type LoadedPromptDef = {
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
title: string;
|
|
12
|
+
effort: EffortLevel;
|
|
13
|
+
reasoning: ReasoningLevel;
|
|
14
|
+
cost: Cost;
|
|
15
|
+
placeholders: string[] | Record<string, string>;
|
|
16
|
+
prompt: string;
|
|
17
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/builders/types.ts"],"names":[],"mappings":""}
|
package/lib/esm/index.d.ts
CHANGED
package/lib/esm/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
// Central exports for the package. Module-level `registerAll` helpers were
|
|
2
|
+
// removed in favor of centralized registration performed by `McpServer.load()`.
|
|
3
|
+
// export * from './modules/jira';
|
|
2
4
|
export * from "./mcp-server.js";
|
|
3
|
-
export * from "./version.js";
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,gFAAgF;AAChF,kCAAkC;AAClC,gCAA6B"}
|
|
File without changes
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// /**
|
|
3
|
+
// * Error normalization utilities for Jira -> MCP error shape.
|
|
4
|
+
// *
|
|
5
|
+
// * Normalize Jira REST errors (errorCollection, messages, HTTP status) into a
|
|
6
|
+
// * consistent MCP error object: { code, message, details }
|
|
7
|
+
// */
|
|
8
|
+
//
|
|
9
|
+
// export type MCPError = {
|
|
10
|
+
// code: string;
|
|
11
|
+
// message: string;
|
|
12
|
+
// details?: Record<string, any>;
|
|
13
|
+
// };
|
|
14
|
+
//
|
|
15
|
+
// export function normalizeJiraError(err: any): MCPError {
|
|
16
|
+
// if (!err) return { code: 'unknown_error', message: 'Unknown error' };
|
|
17
|
+
//
|
|
18
|
+
// // HTTP response shape from Jira often includes statusCode, body with errorMessages or errorCollection
|
|
19
|
+
// const status = err.status || err.statusCode || (err.response && err.response.status) || null;
|
|
20
|
+
// const body = err.body || err.response?.body || err.data || null;
|
|
21
|
+
//
|
|
22
|
+
// const messages: string[] = [];
|
|
23
|
+
// if (body) {
|
|
24
|
+
// if (Array.isArray(body.errorMessages)) messages.push(...body.errorMessages);
|
|
25
|
+
// if (body.errorMessage) messages.push(body.errorMessage);
|
|
26
|
+
// if (body.errorCollection && Array.isArray(body.errorCollection.errors)) messages.push(...body.errorCollection.errors.map((e: any) => e.message || String(e)));
|
|
27
|
+
// }
|
|
28
|
+
//
|
|
29
|
+
// if (err.message) messages.push(err.message);
|
|
30
|
+
//
|
|
31
|
+
// const message = messages.length ? messages.join(' | ') : 'Jira API error';
|
|
32
|
+
//
|
|
33
|
+
// return {
|
|
34
|
+
// code: `jira_${status || 'error'}`,
|
|
35
|
+
// message,
|
|
36
|
+
// details: {
|
|
37
|
+
// httpStatus: status,
|
|
38
|
+
// raw: body ?? err,
|
|
39
|
+
// },
|
|
40
|
+
// };
|
|
41
|
+
// }
|
|
42
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/jira/errors.ts"],"names":[],"mappings":";AAAA,MAAM;AACN,gEAAgE;AAChE,KAAK;AACL,gFAAgF;AAChF,6DAA6D;AAC7D,MAAM;AACN,EAAE;AACF,2BAA2B;AAC3B,kBAAkB;AAClB,qBAAqB;AACrB,mCAAmC;AACnC,KAAK;AACL,EAAE;AACF,2DAA2D;AAC3D,0EAA0E;AAC1E,EAAE;AACF,2GAA2G;AAC3G,kGAAkG;AAClG,qEAAqE;AACrE,EAAE;AACF,mCAAmC;AACnC,gBAAgB;AAChB,mFAAmF;AACnF,+DAA+D;AAC/D,qKAAqK;AACrK,MAAM;AACN,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,+EAA+E;AAC/E,EAAE;AACF,aAAa;AACb,yCAAyC;AACzC,eAAe;AACf,iBAAiB;AACjB,4BAA4B;AAC5B,0BAA0B;AAC1B,SAAS;AACT,OAAO;AACP,IAAI"}
|
|
File without changes
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// /**
|
|
3
|
+
// * makeJiraClient (Version3-only)
|
|
4
|
+
// *
|
|
5
|
+
// * This factory now always constructs the official `Version3Client` from
|
|
6
|
+
// * `jira.js`. The codebase is standardized on the v3 client shape and higher
|
|
7
|
+
// * level helpers (issues, project, search, board) are exposed via a small
|
|
8
|
+
// * adapter to keep compatibility with existing callers.
|
|
9
|
+
// */
|
|
10
|
+
// import { Version3Client } from 'jira.js';
|
|
11
|
+
//
|
|
12
|
+
// export type JiraAuthConfig =
|
|
13
|
+
// | { type: 'apiToken'; host: string; email: string; apiToken: string }
|
|
14
|
+
// | { type: 'oauth2'; host: string; clientId: string; clientSecret: string; redirectUri?: string };
|
|
15
|
+
//
|
|
16
|
+
// export type MakeJiraClientConfig = {
|
|
17
|
+
// auth: JiraAuthConfig;
|
|
18
|
+
// retry?: { retries?: number; factor?: number; minTimeoutMs?: number };
|
|
19
|
+
// };
|
|
20
|
+
//
|
|
21
|
+
// export type JiraClient = any; // keep loose to avoid tight compile-time coupling
|
|
22
|
+
//
|
|
23
|
+
// export function makeJiraClient(config: MakeJiraClientConfig): JiraClient {
|
|
24
|
+
// if (!config || !config.auth) throw new Error('makeJiraClient: missing auth config');
|
|
25
|
+
//
|
|
26
|
+
// const { auth } = config;
|
|
27
|
+
//
|
|
28
|
+
// if (auth.type === 'oauth2') {
|
|
29
|
+
// // For simplicity, oauth2 flows must already be exchanged; this factory
|
|
30
|
+
// // expects a usable token flow. Consumers can extend this if needed.
|
|
31
|
+
// throw new Error('OAuth2 auth not implemented in makeJiraClient; use apiToken for now');
|
|
32
|
+
// }
|
|
33
|
+
//
|
|
34
|
+
// const { host, email, apiToken } = auth as any;
|
|
35
|
+
//
|
|
36
|
+
// const jira = new Version3Client({
|
|
37
|
+
// host,
|
|
38
|
+
// authentication: { basic: { email, apiToken } },
|
|
39
|
+
// });
|
|
40
|
+
//
|
|
41
|
+
// const adapter = {
|
|
42
|
+
// __raw: jira,
|
|
43
|
+
// issues: {
|
|
44
|
+
// async create(params: any) {
|
|
45
|
+
// return jira.issues.create(params);
|
|
46
|
+
// },
|
|
47
|
+
// async createIssue(params: any) {
|
|
48
|
+
// return adapter.issues.create(params);
|
|
49
|
+
// },
|
|
50
|
+
// },
|
|
51
|
+
// project: {
|
|
52
|
+
// async search(params: any) {
|
|
53
|
+
// return jira.project.search(params);
|
|
54
|
+
// },
|
|
55
|
+
// },
|
|
56
|
+
// search: {
|
|
57
|
+
// async search(params: any) {
|
|
58
|
+
// return jira.search.search(params);
|
|
59
|
+
// },
|
|
60
|
+
// },
|
|
61
|
+
// board: {
|
|
62
|
+
// async getBoards(params: any) {
|
|
63
|
+
// // includes the newer agile endpoints under jira.board
|
|
64
|
+
// return jira.board.getBoards(params);
|
|
65
|
+
// },
|
|
66
|
+
// },
|
|
67
|
+
// } as any;
|
|
68
|
+
//
|
|
69
|
+
// // Attach a small metadata bag
|
|
70
|
+
// adapter.__mcp_config = { retry: config.retry ?? { retries: 3, factor: 2, minTimeoutMs: 500 } };
|
|
71
|
+
//
|
|
72
|
+
// return adapter;
|
|
73
|
+
// }
|
|
74
|
+
//# sourceMappingURL=jira-client-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jira-client-factory.js","sourceRoot":"","sources":["../../../src/jira/jira-client-factory.ts"],"names":[],"mappings":";AAAA,MAAM;AACN,oCAAoC;AACpC,KAAK;AACL,2EAA2E;AAC3E,+EAA+E;AAC/E,4EAA4E;AAC5E,0DAA0D;AAC1D,MAAM;AACN,4CAA4C;AAC5C,EAAE;AACF,+BAA+B;AAC/B,0EAA0E;AAC1E,sGAAsG;AACtG,EAAE;AACF,uCAAuC;AACvC,0BAA0B;AAC1B,0EAA0E;AAC1E,KAAK;AACL,EAAE;AACF,mFAAmF;AACnF,EAAE;AACF,6EAA6E;AAC7E,yFAAyF;AACzF,EAAE;AACF,6BAA6B;AAC7B,EAAE;AACF,kCAAkC;AAClC,8EAA8E;AAC9E,2EAA2E;AAC3E,8FAA8F;AAC9F,MAAM;AACN,EAAE;AACF,mDAAmD;AACnD,EAAE;AACF,sCAAsC;AACtC,YAAY;AACZ,sDAAsD;AACtD,QAAQ;AACR,EAAE;AACF,sBAAsB;AACtB,mBAAmB;AACnB,gBAAgB;AAChB,oCAAoC;AACpC,6CAA6C;AAC7C,WAAW;AACX,yCAAyC;AACzC,gDAAgD;AAChD,WAAW;AACX,SAAS;AACT,iBAAiB;AACjB,oCAAoC;AACpC,8CAA8C;AAC9C,WAAW;AACX,SAAS;AACT,gBAAgB;AAChB,oCAAoC;AACpC,6CAA6C;AAC7C,WAAW;AACX,SAAS;AACT,eAAe;AACf,uCAAuC;AACvC,iEAAiE;AACjE,+CAA+C;AAC/C,WAAW;AACX,SAAS;AACT,cAAc;AACd,EAAE;AACF,mCAAmC;AACnC,oGAAoG;AACpG,EAAE;AACF,oBAAoB;AACpB,IAAI"}
|