@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
|
@@ -9,11 +9,21 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.PromptBuilder = void 0;
|
|
12
|
+
exports.NamedPromptBuilder = exports.PromptBuilder = void 0;
|
|
13
13
|
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
14
|
+
const zod_1 = require("zod");
|
|
14
15
|
const builder_1 = require("./builder.cjs");
|
|
16
|
+
const schema_utils_1 = require("./../jira/schema-utils.cjs");
|
|
17
|
+
const injectable_decorators_1 = require("@decaf-ts/injectable-decorators");
|
|
18
|
+
const decoration_1 = require("@decaf-ts/decoration");
|
|
19
|
+
const assets_1 = require("./../utils/assets.cjs");
|
|
20
|
+
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
21
|
+
const decoration_2 = require("@decaf-ts/decoration");
|
|
15
22
|
const logging_1 = require("@decaf-ts/logging");
|
|
16
23
|
class PromptBuilder extends builder_1.UsableBuilder {
|
|
24
|
+
constructor(arg) {
|
|
25
|
+
super(arg);
|
|
26
|
+
}
|
|
17
27
|
setCb(value) {
|
|
18
28
|
this.cb = value;
|
|
19
29
|
return this;
|
|
@@ -22,27 +32,50 @@ class PromptBuilder extends builder_1.UsableBuilder {
|
|
|
22
32
|
this.argsSchema = value;
|
|
23
33
|
return this;
|
|
24
34
|
}
|
|
25
|
-
constructor(arg) {
|
|
26
|
-
super(arg);
|
|
27
|
-
}
|
|
28
35
|
static get builder() {
|
|
29
36
|
return new PromptBuilder();
|
|
30
37
|
}
|
|
31
|
-
|
|
38
|
+
static patchPrompt(prompt, placeholders, replacements, log) {
|
|
39
|
+
placeholders = Array.isArray(placeholders)
|
|
40
|
+
? placeholders
|
|
41
|
+
: Object.keys(placeholders);
|
|
42
|
+
const missing = placeholders.filter((p) => !Object.prototype.hasOwnProperty.call(replacements, p));
|
|
43
|
+
if (missing.length)
|
|
44
|
+
throw new db_decorators_1.ValidationError(`Missing replacements for placeholders: ${missing.join(", ")}`);
|
|
45
|
+
if (log) {
|
|
46
|
+
log.verbose(`Patching prompt with placeholders: ${JSON.stringify(placeholders)}`);
|
|
47
|
+
log.debug(`Values: ${JSON.stringify(replacements)}`);
|
|
48
|
+
}
|
|
49
|
+
const filteredReplacements = placeholders.reduce((acc, key) => {
|
|
50
|
+
acc[key] = replacements[key];
|
|
51
|
+
return acc;
|
|
52
|
+
}, {});
|
|
53
|
+
return (0, logging_1.sf)(prompt, filteredReplacements);
|
|
54
|
+
}
|
|
55
|
+
patchPrompt(prompt, placeholders, replacements, log) {
|
|
56
|
+
return PromptBuilder.patchPrompt(prompt, placeholders, replacements, log || this.log.for(this.patchPrompt));
|
|
57
|
+
}
|
|
58
|
+
build(server, replacements) {
|
|
59
|
+
const log = this.log.for(this.build);
|
|
32
60
|
const errs = this.hasErrors();
|
|
33
61
|
if (errs)
|
|
34
|
-
throw new
|
|
62
|
+
throw new db_decorators_1.ValidationError(errs.toString());
|
|
35
63
|
try {
|
|
64
|
+
// Enforce canonical ZodObject for argsSchema when provided and
|
|
65
|
+
// extract the raw shape for the MCP registerPrompt API.
|
|
66
|
+
if (this.argsSchema)
|
|
67
|
+
(0, schema_utils_1.ensureZodObject)(this.argsSchema, "argsSchema");
|
|
68
|
+
const argsShape = (0, schema_utils_1.extractShape)(this.argsSchema);
|
|
36
69
|
return server.registerPrompt(this.name, {
|
|
37
70
|
title: this.title,
|
|
38
71
|
description: this.description,
|
|
39
|
-
argsSchema:
|
|
72
|
+
argsSchema: argsShape,
|
|
40
73
|
}, async (args, extra) => {
|
|
41
|
-
const log = this.
|
|
74
|
+
const log = this.logFor(extra);
|
|
42
75
|
// ensure args is an object and has a _meta container so we can safely
|
|
43
76
|
// attach usage metadata without throwing when callers pass `{}` or
|
|
44
77
|
// omit the field entirely.
|
|
45
|
-
args = args || {};
|
|
78
|
+
args = Object.assign({}, replacements, args || {});
|
|
46
79
|
log.verbose(`Executing prompt ${this.name} with args: ${JSON.stringify(args)}`);
|
|
47
80
|
args._meta = Object.assign(args._meta || {}, {
|
|
48
81
|
usage: {
|
|
@@ -53,24 +86,151 @@ class PromptBuilder extends builder_1.UsableBuilder {
|
|
|
53
86
|
});
|
|
54
87
|
const result = await Promise.resolve(this.cb(args, extra));
|
|
55
88
|
log.verbose(`Prompt ${this.name} executed successfully.`);
|
|
56
|
-
// result._meta = Object.assign(result._meta as any, this._meta) as any;
|
|
57
89
|
log.debug(`Prompt execution meta: ${JSON.stringify(result._meta)}`);
|
|
58
90
|
return result;
|
|
59
91
|
});
|
|
60
92
|
}
|
|
61
93
|
catch (e) {
|
|
62
|
-
|
|
94
|
+
log.error(`Failed to register prompt ${this.name || this.constructor.name}`, e);
|
|
63
95
|
throw e;
|
|
64
96
|
}
|
|
65
97
|
}
|
|
66
98
|
}
|
|
67
99
|
exports.PromptBuilder = PromptBuilder;
|
|
100
|
+
__decorate([
|
|
101
|
+
(0, injectable_decorators_1.inject)(assets_1.AssetReader),
|
|
102
|
+
__metadata("design:type", assets_1.AssetReader)
|
|
103
|
+
], PromptBuilder.prototype, "assets", void 0);
|
|
68
104
|
__decorate([
|
|
69
105
|
(0, decorator_validation_1.required)(),
|
|
70
106
|
__metadata("design:type", Object)
|
|
71
107
|
], PromptBuilder.prototype, "cb", void 0);
|
|
72
108
|
__decorate([
|
|
73
109
|
(0, decorator_validation_1.required)(),
|
|
74
|
-
__metadata("design:type",
|
|
110
|
+
__metadata("design:type", zod_1.ZodObject)
|
|
75
111
|
], PromptBuilder.prototype, "argsSchema", void 0);
|
|
112
|
+
__decorate([
|
|
113
|
+
(0, decoration_2.prop)(),
|
|
114
|
+
__metadata("design:type", Object)
|
|
115
|
+
], PromptBuilder.prototype, "placeholders", void 0);
|
|
116
|
+
class NamedPromptBuilder extends PromptBuilder {
|
|
117
|
+
setCategory(value) {
|
|
118
|
+
this.promptCategory = value;
|
|
119
|
+
return this;
|
|
120
|
+
}
|
|
121
|
+
addPrefix(value) {
|
|
122
|
+
this.prefixes = this.prefixes || [];
|
|
123
|
+
this.prefixes.push(value);
|
|
124
|
+
return this;
|
|
125
|
+
}
|
|
126
|
+
addSuffix(value) {
|
|
127
|
+
this.suffixes = this.suffixes || [];
|
|
128
|
+
this.suffixes.push(value);
|
|
129
|
+
return this;
|
|
130
|
+
}
|
|
131
|
+
constructor(arg) {
|
|
132
|
+
super(arg);
|
|
133
|
+
}
|
|
134
|
+
build(server) {
|
|
135
|
+
const toIgnoreProps = (decoration_1.Metadata.properties(NamedPromptBuilder) || []).filter((k) => !["assets", "promptCategory", "prefixes", "suffixes"].includes(k));
|
|
136
|
+
const errs = this.hasErrors(...toIgnoreProps);
|
|
137
|
+
if (errs)
|
|
138
|
+
throw new db_decorators_1.ValidationError(errs.toString());
|
|
139
|
+
const promptDef = this.assets.getPrompt(this.name, this.promptCategory);
|
|
140
|
+
decorator_validation_1.Model.fromObject(this, promptDef);
|
|
141
|
+
const prefixes = (this.prefixes || []).map((p) => this.assets.getPrompt(p, this.promptCategory));
|
|
142
|
+
const suffixes = (this.suffixes || []).map((p) => this.assets.getPrompt(p, this.promptCategory));
|
|
143
|
+
const argSchema = [
|
|
144
|
+
...new Set([
|
|
145
|
+
...promptDef.placeholders,
|
|
146
|
+
...prefixes.map((p) => p.placeholders || []),
|
|
147
|
+
...suffixes.map((p) => p.placeholders || []),
|
|
148
|
+
].flat()),
|
|
149
|
+
].reduce((acc, el) => {
|
|
150
|
+
acc[el] = zod_1.z
|
|
151
|
+
.string()
|
|
152
|
+
.describe(`The description for ${el}`);
|
|
153
|
+
return acc;
|
|
154
|
+
}, {});
|
|
155
|
+
this.setArgsSchema(zod_1.z.object(argSchema));
|
|
156
|
+
this.setCb((args, extra) => {
|
|
157
|
+
const log = this.logFor(extra)
|
|
158
|
+
.for(NamedPromptBuilder)
|
|
159
|
+
.for(this.promptCategory)
|
|
160
|
+
.for(this.name);
|
|
161
|
+
function parsePlaceholders(placeholders = []) {
|
|
162
|
+
return Array.isArray(placeholders)
|
|
163
|
+
? placeholders
|
|
164
|
+
: Object.keys(placeholders);
|
|
165
|
+
}
|
|
166
|
+
const prefixes = (this.prefixes || []).map((p) => this.assets.getPrompt(p, this.promptCategory));
|
|
167
|
+
const suffixes = (this.suffixes || []).map((p) => this.assets.getPrompt(p, this.promptCategory));
|
|
168
|
+
const p = this.assets.getPrompt(this.name, this.promptCategory);
|
|
169
|
+
const placeholders = [
|
|
170
|
+
...new Set([
|
|
171
|
+
...prefixes.map((p) => parsePlaceholders(p.placeholders)).flat(),
|
|
172
|
+
...suffixes.map((p) => parsePlaceholders(p.placeholders)).flat(),
|
|
173
|
+
...parsePlaceholders(p.placeholders).flat(),
|
|
174
|
+
]),
|
|
175
|
+
];
|
|
176
|
+
const prompt = this.patchPrompt([
|
|
177
|
+
...prefixes.map((p) => p.prompt),
|
|
178
|
+
p.prompt,
|
|
179
|
+
...suffixes.map((p) => p.prompt),
|
|
180
|
+
].join("\n\n"), placeholders, args, log);
|
|
181
|
+
const result = {
|
|
182
|
+
messages: [
|
|
183
|
+
{
|
|
184
|
+
role: "user",
|
|
185
|
+
content: {
|
|
186
|
+
type: "text",
|
|
187
|
+
text: prompt,
|
|
188
|
+
},
|
|
189
|
+
},
|
|
190
|
+
],
|
|
191
|
+
_meta: {},
|
|
192
|
+
};
|
|
193
|
+
return result;
|
|
194
|
+
});
|
|
195
|
+
return super.build(server);
|
|
196
|
+
}
|
|
197
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
198
|
+
setReasoning(value) {
|
|
199
|
+
throw new db_decorators_1.InternalError(`Named prompt builders don't require callback`);
|
|
200
|
+
}
|
|
201
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
202
|
+
setEffort(value) {
|
|
203
|
+
throw new db_decorators_1.InternalError(`Named prompt builders don't require callback`);
|
|
204
|
+
}
|
|
205
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
206
|
+
setCost(value) {
|
|
207
|
+
throw new db_decorators_1.InternalError(`Named prompt builders don't require callback`);
|
|
208
|
+
}
|
|
209
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
210
|
+
setDescription(value) {
|
|
211
|
+
throw new db_decorators_1.InternalError(`Named prompt builders don't require callback`);
|
|
212
|
+
}
|
|
213
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
214
|
+
setTitle(value) {
|
|
215
|
+
throw new db_decorators_1.InternalError(`Named prompt builders don't require callback`);
|
|
216
|
+
}
|
|
217
|
+
static get builder() {
|
|
218
|
+
return new NamedPromptBuilder();
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
exports.NamedPromptBuilder = NamedPromptBuilder;
|
|
222
|
+
__decorate([
|
|
223
|
+
(0, decorator_validation_1.required)(),
|
|
224
|
+
__metadata("design:type", String)
|
|
225
|
+
], NamedPromptBuilder.prototype, "promptCategory", void 0);
|
|
226
|
+
__decorate([
|
|
227
|
+
(0, decorator_validation_1.list)(String),
|
|
228
|
+
(0, decorator_validation_1.minlength)(1),
|
|
229
|
+
__metadata("design:type", Array)
|
|
230
|
+
], NamedPromptBuilder.prototype, "prefixes", void 0);
|
|
231
|
+
__decorate([
|
|
232
|
+
(0, decorator_validation_1.minlength)(1),
|
|
233
|
+
(0, decorator_validation_1.list)(String),
|
|
234
|
+
__metadata("design:type", Array)
|
|
235
|
+
], NamedPromptBuilder.prototype, "suffixes", void 0);
|
|
76
236
|
//# sourceMappingURL=prompt-builder.js.map
|
|
@@ -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
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../src/builders/prompt-builder.ts"],"names":[],"mappings":";;;;;;;;;;;;AAKA,
|
|
1
|
+
{"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../src/builders/prompt-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.ResourceBuilder = void 0;
|
|
13
|
-
const
|
|
14
|
-
const
|
|
13
|
+
const uriTemplate_js_1 = require("@modelcontextprotocol/sdk/shared/uriTemplate.js");
|
|
14
|
+
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
15
15
|
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
16
16
|
const builder_1 = require("./builder.cjs");
|
|
17
17
|
const logging_1 = require("@decaf-ts/logging");
|
|
@@ -44,7 +44,7 @@ class ResourceBuilder extends builder_1.Builder {
|
|
|
44
44
|
// concrete URIs against it.
|
|
45
45
|
const uriOrTemplateArg = typeof this.uriOrTemplate === "string" &&
|
|
46
46
|
this.uriOrTemplate.includes("{")
|
|
47
|
-
? new
|
|
47
|
+
? new mcp_js_1.ResourceTemplate(new uriTemplate_js_1.UriTemplate(this.uriOrTemplate), {
|
|
48
48
|
list: undefined,
|
|
49
49
|
})
|
|
50
50
|
: this.uriOrTemplate;
|
|
@@ -52,7 +52,7 @@ class ResourceBuilder extends builder_1.Builder {
|
|
|
52
52
|
const metadata = Object.assign(this.config, { _meta: {} });
|
|
53
53
|
// Create a single read callback to be reused for both overloads.
|
|
54
54
|
const readCb = async (uri, extra) => {
|
|
55
|
-
const log = this.
|
|
55
|
+
const log = this.logFor(extra);
|
|
56
56
|
log.verbose(`Requesting resource ${this.name} from ${uri.toString()}`);
|
|
57
57
|
const result = await Promise.resolve(this.cb(uri, extra));
|
|
58
58
|
log.verbose(`Resource ${this.name} retrieved successfully.`);
|
|
@@ -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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-builder.js","sourceRoot":"","sources":["../../src/builders/resource-builder.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,
|
|
1
|
+
{"version":3,"file":"resource-builder.js","sourceRoot":"","sources":["../../src/builders/resource-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ exports.ToolBuilder = void 0;
|
|
|
13
13
|
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
14
14
|
const builder_1 = require("./builder.cjs");
|
|
15
15
|
const logging_1 = require("@decaf-ts/logging");
|
|
16
|
+
const schema_utils_1 = require("./../jira/schema-utils.cjs");
|
|
16
17
|
class ToolBuilder extends builder_1.UsableBuilder {
|
|
17
18
|
setAnnotations(annotations) {
|
|
18
19
|
this.annotations = Object.assign(this.annotations, annotations);
|
|
@@ -47,11 +48,22 @@ class ToolBuilder extends builder_1.UsableBuilder {
|
|
|
47
48
|
if (errs)
|
|
48
49
|
throw new Error(errs.toString());
|
|
49
50
|
try {
|
|
51
|
+
// Enforce canonical Zod object schemas when provided. Schemas are
|
|
52
|
+
// optional — only validate/extract if present. The MCP SDK expects
|
|
53
|
+
// a ZodRawShape at registration time, so we extract the .shape()
|
|
54
|
+
// only from an actual ZodObject. Reject anything else to avoid
|
|
55
|
+
// subtle runtime mismatches.
|
|
56
|
+
if (this.inputSchema)
|
|
57
|
+
(0, schema_utils_1.ensureZodObject)(this.inputSchema, "inputSchema");
|
|
58
|
+
if (this.outputSchema)
|
|
59
|
+
(0, schema_utils_1.ensureZodObject)(this.outputSchema, "outputSchema");
|
|
60
|
+
const inputShape = (0, schema_utils_1.extractShape)(this.inputSchema);
|
|
61
|
+
const outputShape = (0, schema_utils_1.extractShape)(this.outputSchema);
|
|
50
62
|
return server.registerTool(this.name, {
|
|
51
63
|
title: this.title,
|
|
52
64
|
description: this.description,
|
|
53
|
-
inputSchema:
|
|
54
|
-
outputSchema:
|
|
65
|
+
inputSchema: inputShape,
|
|
66
|
+
outputSchema: outputShape,
|
|
55
67
|
annotations: this.annotations,
|
|
56
68
|
_meta: {
|
|
57
69
|
usage: {
|
|
@@ -61,7 +73,7 @@ class ToolBuilder extends builder_1.UsableBuilder {
|
|
|
61
73
|
},
|
|
62
74
|
},
|
|
63
75
|
}, async (args, extra) => {
|
|
64
|
-
const log = this.
|
|
76
|
+
const log = this.logFor(extra);
|
|
65
77
|
log.verbose(`Executing tool ${this.name} with args: ${JSON.stringify(args)}`);
|
|
66
78
|
extra._meta = Object.assign(extra._meta || {}, {
|
|
67
79
|
usage: {
|
|
@@ -78,6 +90,17 @@ class ToolBuilder extends builder_1.UsableBuilder {
|
|
|
78
90
|
});
|
|
79
91
|
}
|
|
80
92
|
catch (e) {
|
|
93
|
+
// If a tool with the same name was already registered, skip and warn
|
|
94
|
+
const msg = e?.message || String(e);
|
|
95
|
+
if (typeof msg === "string" && msg.includes("already registered")) {
|
|
96
|
+
// Use the project's logging subsystem to surface duplicate-registration
|
|
97
|
+
// warnings; tests and runtime should initialize Logging early so this
|
|
98
|
+
// is safe to call.
|
|
99
|
+
logging_1.Logging.for(this).warn(`Tool ${this.name} already registered - skipping duplicate registration`);
|
|
100
|
+
// Return a lightweight placeholder to satisfy callers; the runtime
|
|
101
|
+
// MCP instance already holds the canonical registration.
|
|
102
|
+
return { name: this.name };
|
|
103
|
+
}
|
|
81
104
|
logging_1.Logging.for(this).error(`Error building tool`, e);
|
|
82
105
|
throw e;
|
|
83
106
|
}
|
|
@@ -93,12 +116,7 @@ __decorate([
|
|
|
93
116
|
__metadata("design:type", Object)
|
|
94
117
|
], ToolBuilder.prototype, "cb", void 0);
|
|
95
118
|
__decorate([
|
|
96
|
-
(0, decorator_validation_1.type)(Object.name),
|
|
97
119
|
(0, decorator_validation_1.required)(),
|
|
98
|
-
__metadata("design:type",
|
|
120
|
+
__metadata("design:type", Function)
|
|
99
121
|
], ToolBuilder.prototype, "inputSchema", void 0);
|
|
100
|
-
__decorate([
|
|
101
|
-
(0, decorator_validation_1.type)(Object.name),
|
|
102
|
-
__metadata("design:type", Object)
|
|
103
|
-
], ToolBuilder.prototype, "outputSchema", void 0);
|
|
104
122
|
//# sourceMappingURL=tool-builder.js.map
|
|
@@ -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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-builder.js","sourceRoot":"","sources":["../../src/builders/tool-builder.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,
|
|
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":""}
|
|
@@ -1,17 +1,27 @@
|
|
|
1
1
|
import { Model, ModelArg } from "@decaf-ts/decorator-validation";
|
|
2
|
-
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp";
|
|
3
|
-
import { RequestHandlerExtra } from "@modelcontextprotocol/sdk/shared/protocol";
|
|
4
|
-
import { ServerNotification, ServerRequest } from "@modelcontextprotocol/sdk/types";
|
|
2
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
+
import { RequestHandlerExtra } from "@modelcontextprotocol/sdk/shared/protocol.js";
|
|
4
|
+
import { ServerNotification, ServerRequest } from "@modelcontextprotocol/sdk/types.js";
|
|
5
|
+
import { Logger } from "@decaf-ts/logging";
|
|
5
6
|
import { Cost, EffortLevel, ReasoningLevel } from "../constants";
|
|
6
7
|
export declare abstract class Builder<OBJ> extends Model {
|
|
7
8
|
protected description: string;
|
|
8
9
|
protected name: string;
|
|
9
10
|
protected title: string;
|
|
11
|
+
private _log?;
|
|
12
|
+
/**
|
|
13
|
+
* @description Lazily provides a context-aware logger for the current instance.
|
|
14
|
+
* @summary This method calls {@link Logging.for} with the subclass instance to obtain a logger whose context matches the subclass name.
|
|
15
|
+
* @return {Logger} A logger that is bound to the subclass context.
|
|
16
|
+
*/
|
|
17
|
+
protected get log(): Logger;
|
|
10
18
|
protected constructor(arg?: ModelArg<Builder<OBJ>>);
|
|
11
|
-
protected
|
|
19
|
+
protected logFor(extra: RequestHandlerExtra<ServerRequest, ServerNotification>): Logger;
|
|
12
20
|
abstract build(server: McpServer): OBJ;
|
|
13
21
|
setDescription(value: string): this;
|
|
22
|
+
getDescription(): string;
|
|
14
23
|
setName(value: string): this;
|
|
24
|
+
getName(): string;
|
|
15
25
|
setTitle(value: string): this;
|
|
16
26
|
}
|
|
17
27
|
export declare abstract class UsableBuilder<OBJ> extends Builder<OBJ> {
|
|
@@ -11,17 +11,26 @@ import { Model, required } from "@decaf-ts/decorator-validation";
|
|
|
11
11
|
import { Logging } from "@decaf-ts/logging";
|
|
12
12
|
import { Cost, EffortLevel, ReasoningLevel } from "./../constants.js";
|
|
13
13
|
export class Builder extends Model {
|
|
14
|
+
/**
|
|
15
|
+
* @description Lazily provides a context-aware logger for the current instance.
|
|
16
|
+
* @summary This method calls {@link Logging.for} with the subclass instance to obtain a logger whose context matches the subclass name.
|
|
17
|
+
* @return {Logger} A logger that is bound to the subclass context.
|
|
18
|
+
*/
|
|
19
|
+
get log() {
|
|
20
|
+
if (!this._log)
|
|
21
|
+
this._log = Logging.for(this);
|
|
22
|
+
return this._log;
|
|
23
|
+
}
|
|
14
24
|
constructor(arg) {
|
|
15
25
|
super(arg);
|
|
16
|
-
Model.fromObject(this, arg);
|
|
17
26
|
}
|
|
18
|
-
|
|
27
|
+
logFor(extra) {
|
|
19
28
|
const { sessionId, requestId, authInfo } = extra || {};
|
|
20
29
|
// sessionId may be undefined for some transports or internal calls.
|
|
21
30
|
// Logging.for expects either a string or an object; avoid passing undefined.
|
|
22
31
|
let log = typeof sessionId === "string" && sessionId.length > 0
|
|
23
|
-
?
|
|
24
|
-
:
|
|
32
|
+
? this.log.for(sessionId)
|
|
33
|
+
: this.log;
|
|
25
34
|
if (authInfo && authInfo.clientId)
|
|
26
35
|
log = log.for(authInfo.clientId);
|
|
27
36
|
if (requestId)
|
|
@@ -32,10 +41,16 @@ export class Builder extends Model {
|
|
|
32
41
|
this.description = value;
|
|
33
42
|
return this;
|
|
34
43
|
}
|
|
44
|
+
getDescription() {
|
|
45
|
+
return this.description;
|
|
46
|
+
}
|
|
35
47
|
setName(value) {
|
|
36
48
|
this.name = value;
|
|
37
49
|
return this;
|
|
38
50
|
}
|
|
51
|
+
getName() {
|
|
52
|
+
return this.name;
|
|
53
|
+
}
|
|
39
54
|
setTitle(value) {
|
|
40
55
|
this.title = value;
|
|
41
56
|
return this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/builders/builder.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAY,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAO3E,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/builders/builder.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAY,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAO3E,OAAO,EAAE,OAAO,EAAU,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,0BAAqB;AAEjE,MAAM,OAAgB,OAAa,SAAQ,KAAK;IAU9C;;;;OAIG;IACH,IAAc,GAAG;QACf,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAW,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,YAAsB,GAA4B;QAChD,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAES,MAAM,CACd,KAA6D;QAE7D,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;QACvD,oEAAoE;QACpE,6EAA6E;QAC7E,IAAI,GAAG,GACL,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACf,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ;YAAE,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,SAAS;YAAE,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnD,OAAO,GAAG,CAAC;IACb,CAAC;IAID,cAAc,CAAC,KAAa;QAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA7DW;IADT,QAAQ,EAAE;;4CACoB;AAErB;IADT,QAAQ,EAAE;;qCACa;AAEd;IADT,QAAQ,EAAE;;sCACc;AA2D3B,MAAM,OAAgB,aAAmB,SAAQ,OAAY;IAU3D,YAAsB,GAA4B;QAChD,KAAK,CAAC,GAAG,CAAC,CAAC;QATH,cAAS,GAAmB,cAAc,CAAC,IAAI,CAAC;QAGhD,WAAM,GAAgB,WAAW,CAAC,IAAI,CAAC;QAGvC,SAAI,GAAS,IAAI,CAAC,IAAI,CAAC;IAIjC,CAAC;IAED,YAAY,CAAC,KAAqB;QAChC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,KAAkB;QAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,KAAW;QACjB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA1BW;IADT,QAAQ,EAAE;;gDAC+C;AAGhD;IADT,QAAQ,EAAE;;6CACsC;AAGvC;IADT,QAAQ,EAAE;;2CACsB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from "./builder.js";
|
|
2
2
|
export * from "./prompt-builder.js";
|
|
3
|
-
export * from "./resource-builder
|
|
4
|
-
export * from "./tool-builder
|
|
3
|
+
// export * from "./resource-builder";
|
|
4
|
+
// export * from "./tool-builder";
|
|
5
|
+
export * from "./types.js";
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/builders/index.ts"],"names":[],"mappings":"AAAA,6BAA0B;AAC1B,oCAAiC;AACjC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/builders/index.ts"],"names":[],"mappings":"AAAA,6BAA0B;AAC1B,oCAAiC;AACjC,sCAAsC;AACtC,kCAAkC;AAClC,2BAAwB"}
|