@specforge/canary-cli 0.2.1 → 0.2.3
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/cli/commands/init.types.d.ts +4 -4
- package/dist/cli/commands/init.types.d.ts.map +1 -1
- package/dist/cli/commands/init.types.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +2 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -129
- package/dist/tools/index.js.map +1 -1
- package/dist/types/index.d.ts +11 -12
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +0 -9
- package/dist/validation/index.js.map +1 -1
- package/node_modules/@specforge/api-types/README.md +38 -0
- package/node_modules/@specforge/api-types/dist/client/appsync-client.d.ts +21 -0
- package/node_modules/@specforge/api-types/dist/client/appsync-client.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/client/appsync-client.js +2 -0
- package/node_modules/@specforge/api-types/dist/client/appsync-client.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/client/index.d.ts +2 -0
- package/node_modules/@specforge/api-types/dist/client/index.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/client/index.js +2 -0
- package/node_modules/@specforge/api-types/dist/client/index.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/index.d.ts +5 -0
- package/node_modules/@specforge/api-types/dist/index.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/index.js +9 -0
- package/node_modules/@specforge/api-types/dist/index.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/mcp/error-guidance.d.ts +74 -0
- package/node_modules/@specforge/api-types/dist/mcp/error-guidance.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/mcp/error-guidance.js +21 -0
- package/node_modules/@specforge/api-types/dist/mcp/error-guidance.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/mcp/index.d.ts +4 -0
- package/node_modules/@specforge/api-types/dist/mcp/index.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/mcp/index.js +8 -0
- package/node_modules/@specforge/api-types/dist/mcp/index.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/mcp/lifecycle-envelope.d.ts +18 -0
- package/node_modules/@specforge/api-types/dist/mcp/lifecycle-envelope.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/mcp/lifecycle-envelope.js +2 -0
- package/node_modules/@specforge/api-types/dist/mcp/lifecycle-envelope.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/mcp/standard-envelope.d.ts +39 -0
- package/node_modules/@specforge/api-types/dist/mcp/standard-envelope.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/mcp/standard-envelope.js +2 -0
- package/node_modules/@specforge/api-types/dist/mcp/standard-envelope.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/billing-record.d.ts +18 -0
- package/node_modules/@specforge/api-types/dist/runtime/billing-record.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/billing-record.js +7 -0
- package/node_modules/@specforge/api-types/dist/runtime/billing-record.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/blueprint-record.d.ts +40 -0
- package/node_modules/@specforge/api-types/dist/runtime/blueprint-record.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/blueprint-record.js +19 -0
- package/node_modules/@specforge/api-types/dist/runtime/blueprint-record.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/dependency-tree.d.ts +96 -0
- package/node_modules/@specforge/api-types/dist/runtime/dependency-tree.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/dependency-tree.js +23 -0
- package/node_modules/@specforge/api-types/dist/runtime/dependency-tree.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/epic-record.d.ts +117 -0
- package/node_modules/@specforge/api-types/dist/runtime/epic-record.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/epic-record.js +13 -0
- package/node_modules/@specforge/api-types/dist/runtime/epic-record.js.map +1 -0
- package/node_modules/@specforge/{types/dist/api/feedback.d.ts → api-types/dist/runtime/feedback-record.d.ts} +6 -1
- package/node_modules/@specforge/api-types/dist/runtime/feedback-record.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/feedback-record.js +7 -0
- package/node_modules/@specforge/api-types/dist/runtime/feedback-record.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/fields.d.ts +31 -0
- package/node_modules/@specforge/api-types/dist/runtime/fields.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/fields.js +156 -0
- package/node_modules/@specforge/api-types/dist/runtime/fields.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/index.d.ts +18 -0
- package/node_modules/@specforge/api-types/dist/runtime/index.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/index.js +18 -0
- package/node_modules/@specforge/api-types/dist/runtime/index.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/pagination.d.ts +38 -0
- package/node_modules/@specforge/api-types/dist/runtime/pagination.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/pagination.js +54 -0
- package/node_modules/@specforge/api-types/dist/runtime/pagination.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/project-invitation.d.ts +14 -0
- package/node_modules/@specforge/api-types/dist/runtime/project-invitation.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/project-invitation.js +2 -0
- package/node_modules/@specforge/api-types/dist/runtime/project-invitation.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/project-member.d.ts +13 -0
- package/node_modules/@specforge/api-types/dist/runtime/project-member.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/project-member.js +2 -0
- package/node_modules/@specforge/api-types/dist/runtime/project-member.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/project-validation.d.ts +26 -0
- package/node_modules/@specforge/api-types/dist/runtime/project-validation.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/project-validation.js +5 -0
- package/node_modules/@specforge/api-types/dist/runtime/project-validation.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/project.d.ts +55 -0
- package/node_modules/@specforge/api-types/dist/runtime/project.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/project.js +10 -0
- package/node_modules/@specforge/api-types/dist/runtime/project.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/response.d.ts +22 -0
- package/node_modules/@specforge/api-types/dist/runtime/response.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/response.js +14 -0
- package/node_modules/@specforge/api-types/dist/runtime/response.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/specification-record.d.ts +90 -0
- package/node_modules/@specforge/api-types/dist/runtime/specification-record.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/specification-record.js +11 -0
- package/node_modules/@specforge/api-types/dist/runtime/specification-record.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/status.d.ts +26 -0
- package/node_modules/@specforge/api-types/dist/runtime/status.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/status.js +56 -0
- package/node_modules/@specforge/api-types/dist/runtime/status.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/summary.d.ts +58 -0
- package/node_modules/@specforge/api-types/dist/runtime/summary.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/summary.js +42 -0
- package/node_modules/@specforge/api-types/dist/runtime/summary.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/ticket-record.d.ts +212 -0
- package/node_modules/@specforge/api-types/dist/runtime/ticket-record.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/ticket-record.js +18 -0
- package/node_modules/@specforge/api-types/dist/runtime/ticket-record.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/user.d.ts +13 -0
- package/node_modules/@specforge/api-types/dist/runtime/user.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/runtime/user.js +9 -0
- package/node_modules/@specforge/api-types/dist/runtime/user.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/i-billing-store.d.ts +17 -0
- package/node_modules/@specforge/api-types/dist/stores/i-billing-store.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/i-billing-store.js +2 -0
- package/node_modules/@specforge/api-types/dist/stores/i-billing-store.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/i-blueprint-store.d.ts +59 -0
- package/node_modules/@specforge/api-types/dist/stores/i-blueprint-store.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/i-blueprint-store.js +2 -0
- package/node_modules/@specforge/api-types/dist/stores/i-blueprint-store.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/i-epic-store.d.ts +120 -0
- package/node_modules/@specforge/api-types/dist/stores/i-epic-store.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/i-epic-store.js +2 -0
- package/node_modules/@specforge/api-types/dist/stores/i-epic-store.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/i-feedback-store.d.ts +13 -0
- package/node_modules/@specforge/api-types/dist/stores/i-feedback-store.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/i-feedback-store.js +2 -0
- package/node_modules/@specforge/api-types/dist/stores/i-feedback-store.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/i-project-store.d.ts +48 -0
- package/node_modules/@specforge/api-types/dist/stores/i-project-store.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/i-project-store.js +2 -0
- package/node_modules/@specforge/api-types/dist/stores/i-project-store.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/i-sharing-store.d.ts +37 -0
- package/node_modules/@specforge/api-types/dist/stores/i-sharing-store.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/i-sharing-store.js +2 -0
- package/node_modules/@specforge/api-types/dist/stores/i-sharing-store.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/i-spec-store.d.ts +159 -0
- package/node_modules/@specforge/api-types/dist/stores/i-spec-store.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/i-spec-store.js +2 -0
- package/node_modules/@specforge/api-types/dist/stores/i-spec-store.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/i-ticket-dependency-store.d.ts +87 -0
- package/node_modules/@specforge/api-types/dist/stores/i-ticket-dependency-store.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/i-ticket-dependency-store.js +2 -0
- package/node_modules/@specforge/api-types/dist/stores/i-ticket-dependency-store.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/i-ticket-store.d.ts +347 -0
- package/node_modules/@specforge/api-types/dist/stores/i-ticket-store.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/i-ticket-store.js +2 -0
- package/node_modules/@specforge/api-types/dist/stores/i-ticket-store.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/i-user-store.d.ts +5 -0
- package/node_modules/@specforge/api-types/dist/stores/i-user-store.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/i-user-store.js +2 -0
- package/node_modules/@specforge/api-types/dist/stores/i-user-store.js.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/index.d.ts +11 -0
- package/node_modules/@specforge/api-types/dist/stores/index.d.ts.map +1 -0
- package/node_modules/@specforge/api-types/dist/stores/index.js +11 -0
- package/node_modules/@specforge/api-types/dist/stores/index.js.map +1 -0
- package/node_modules/@specforge/api-types/package.json +43 -0
- package/node_modules/@specforge/report-types/README.md +11 -0
- package/node_modules/@specforge/report-types/dist/index.d.ts +2 -0
- package/node_modules/@specforge/report-types/dist/index.d.ts.map +1 -0
- package/node_modules/@specforge/report-types/dist/index.js +2 -0
- package/node_modules/@specforge/report-types/dist/index.js.map +1 -0
- package/node_modules/@specforge/{types/dist/api/responses.d.ts → report-types/dist/reports.d.ts} +18 -20
- package/node_modules/@specforge/report-types/dist/reports.d.ts.map +1 -0
- package/node_modules/@specforge/report-types/dist/reports.js +15 -0
- package/node_modules/@specforge/report-types/dist/reports.js.map +1 -0
- package/node_modules/@specforge/report-types/package.json +40 -0
- package/node_modules/@specforge/session-types/dist/runtime/enums.d.ts +1 -1
- package/node_modules/@specforge/session-types/dist/runtime/enums.d.ts.map +1 -1
- package/node_modules/@specforge/session-types/dist/runtime/enums.js +1 -2
- package/node_modules/@specforge/session-types/dist/runtime/enums.js.map +1 -1
- package/node_modules/@specforge/session-types/package.json +1 -1
- package/node_modules/@specforge/spec-types/README.md +28 -0
- package/node_modules/@specforge/spec-types/dist/index.d.ts +4 -0
- package/node_modules/@specforge/spec-types/dist/index.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/index.js +6 -0
- package/node_modules/@specforge/spec-types/dist/index.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/json-schema/v1.1/openspec.schema.json +1129 -0
- package/node_modules/@specforge/spec-types/dist/openspec-schema.d.ts +4 -0
- package/node_modules/@specforge/spec-types/dist/openspec-schema.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/openspec-schema.js +77 -0
- package/node_modules/@specforge/spec-types/dist/openspec-schema.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/auxiliary.d.ts +14 -0
- package/node_modules/@specforge/spec-types/dist/runtime/auxiliary.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/auxiliary.js +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/auxiliary.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/blueprint.d.ts +7 -0
- package/node_modules/@specforge/spec-types/dist/runtime/blueprint.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/blueprint.js +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/blueprint.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/epic.d.ts +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/epic.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/epic.js +2 -0
- package/node_modules/@specforge/{types/dist/schema → spec-types/dist/runtime}/epic.js.map +1 -1
- package/node_modules/@specforge/{types/dist/schema → spec-types/dist/runtime}/index.d.ts +5 -5
- package/node_modules/@specforge/spec-types/dist/runtime/index.d.ts.map +1 -0
- package/node_modules/@specforge/{types/dist/schema → spec-types/dist/runtime}/index.js +5 -5
- package/node_modules/@specforge/spec-types/dist/runtime/index.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/api-contract.d.ts +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/api-contract.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/api-contract.js +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/api-contract.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/goal.d.ts +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/goal.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/goal.js +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/goal.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/guardrail.d.ts +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/guardrail.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/guardrail.js +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/guardrail.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/index.d.ts +10 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/index.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/index.js +10 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/index.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/nfr.d.ts +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/nfr.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/nfr.js +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/nfr.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/requirement.d.ts +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/requirement.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/requirement.js +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/requirement.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/scope.d.ts +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/scope.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/scope.js +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/scope.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/shared-pattern.d.ts +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/shared-pattern.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/shared-pattern.js +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/shared-pattern.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/structure-item.d.ts +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/structure-item.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/structure-item.js +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/structure-item.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/tech-stack.d.ts +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/tech-stack.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/tech-stack.js +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/planning/tech-stack.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/specification.d.ts +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/specification.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/specification.js +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/specification.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/ticket.d.ts +2 -0
- package/node_modules/@specforge/spec-types/dist/runtime/ticket.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/runtime/ticket.js +2 -0
- package/node_modules/@specforge/{types/dist/schema → spec-types/dist/runtime}/ticket.js.map +1 -1
- package/node_modules/@specforge/spec-types/dist/schema/auxiliary.d.ts +266 -0
- package/node_modules/@specforge/spec-types/dist/schema/auxiliary.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/auxiliary.js +143 -0
- package/node_modules/@specforge/spec-types/dist/schema/auxiliary.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/blueprint.d.ts +47 -0
- package/node_modules/@specforge/spec-types/dist/schema/blueprint.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/blueprint.js +33 -0
- package/node_modules/@specforge/spec-types/dist/schema/blueprint.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/entity-field-schemas.d.ts +33 -0
- package/node_modules/@specforge/spec-types/dist/schema/entity-field-schemas.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/entity-field-schemas.js +181 -0
- package/node_modules/@specforge/spec-types/dist/schema/entity-field-schemas.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/epic.d.ts +955 -0
- package/node_modules/@specforge/spec-types/dist/schema/epic.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/epic.js +33 -0
- package/node_modules/@specforge/spec-types/dist/schema/epic.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/index.d.ts +12 -0
- package/node_modules/@specforge/spec-types/dist/schema/index.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/index.js +25 -0
- package/node_modules/@specforge/spec-types/dist/schema/index.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/node-verb-steps.d.ts +174 -0
- package/node_modules/@specforge/spec-types/dist/schema/node-verb-steps.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/node-verb-steps.js +317 -0
- package/node_modules/@specforge/spec-types/dist/schema/node-verb-steps.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/patterns.d.ts +274 -0
- package/node_modules/@specforge/spec-types/dist/schema/patterns.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/patterns.js +106 -0
- package/node_modules/@specforge/spec-types/dist/schema/patterns.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/api-contract.d.ts +44 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/api-contract.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/api-contract.js +13 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/api-contract.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/epic-category.d.ts +21 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/epic-category.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/epic-category.js +14 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/epic-category.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/goal.d.ts +27 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/goal.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/goal.js +13 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/goal.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/guardrail.d.ts +29 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/guardrail.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/guardrail.js +14 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/guardrail.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/index.d.ts +12 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/index.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/index.js +12 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/index.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/nfr.d.ts +27 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/nfr.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/nfr.js +15 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/nfr.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/planning-type.d.ts +11 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/planning-type.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/planning-type.js +10 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/planning-type.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/requirement.d.ts +63 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/requirement.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/requirement.js +16 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/requirement.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/scope.d.ts +19 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/scope.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/scope.js +8 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/scope.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/shared-pattern.d.ts +51 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/shared-pattern.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/shared-pattern.js +16 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/shared-pattern.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/structure-item.d.ts +19 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/structure-item.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/structure-item.js +8 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/structure-item.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/tech-stack.d.ts +27 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/tech-stack.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/tech-stack.js +14 -0
- package/node_modules/@specforge/spec-types/dist/schema/planning/tech-stack.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/specification.d.ts +1839 -0
- package/node_modules/@specforge/spec-types/dist/schema/specification.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/specification.js +43 -0
- package/node_modules/@specforge/spec-types/dist/schema/specification.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/step-link-coverage.d.ts +58 -0
- package/node_modules/@specforge/spec-types/dist/schema/step-link-coverage.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/step-link-coverage.js +73 -0
- package/node_modules/@specforge/spec-types/dist/schema/step-link-coverage.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/step-link-ids.d.ts +71 -0
- package/node_modules/@specforge/spec-types/dist/schema/step-link-ids.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/step-link-ids.js +96 -0
- package/node_modules/@specforge/spec-types/dist/schema/step-link-ids.js.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/ticket.d.ts +444 -0
- package/node_modules/@specforge/spec-types/dist/schema/ticket.d.ts.map +1 -0
- package/node_modules/@specforge/spec-types/dist/schema/ticket.js +49 -0
- package/node_modules/@specforge/spec-types/dist/schema/ticket.js.map +1 -0
- package/node_modules/@specforge/spec-types/package.json +41 -0
- package/package.json +12 -7
- package/src/cli/templates/skills/specforge-orchestrator.md +1 -1
- package/src/cli/templates/skills/specforge-worker.md +1 -1
- package/node_modules/@specforge/types/dist/api/bulk.d.ts +0 -133
- package/node_modules/@specforge/types/dist/api/bulk.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/api/bulk.js +0 -7
- package/node_modules/@specforge/types/dist/api/bulk.js.map +0 -1
- package/node_modules/@specforge/types/dist/api/feedback.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/api/feedback.js +0 -5
- package/node_modules/@specforge/types/dist/api/feedback.js.map +0 -1
- package/node_modules/@specforge/types/dist/api/index.d.ts +0 -6
- package/node_modules/@specforge/types/dist/api/index.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/api/index.js +0 -6
- package/node_modules/@specforge/types/dist/api/index.js.map +0 -1
- package/node_modules/@specforge/types/dist/api/lists.d.ts +0 -55
- package/node_modules/@specforge/types/dist/api/lists.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/api/lists.js +0 -8
- package/node_modules/@specforge/types/dist/api/lists.js.map +0 -1
- package/node_modules/@specforge/types/dist/api/lookups.d.ts +0 -92
- package/node_modules/@specforge/types/dist/api/lookups.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/api/lookups.js +0 -2
- package/node_modules/@specforge/types/dist/api/lookups.js.map +0 -1
- package/node_modules/@specforge/types/dist/api/responses.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/api/responses.js +0 -9
- package/node_modules/@specforge/types/dist/api/responses.js.map +0 -1
- package/node_modules/@specforge/types/dist/index.d.ts +0 -4
- package/node_modules/@specforge/types/dist/index.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/index.js +0 -4
- package/node_modules/@specforge/types/dist/index.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/index.d.ts +0 -2
- package/node_modules/@specforge/types/dist/mcp/index.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/index.js +0 -2
- package/node_modules/@specforge/types/dist/mcp/index.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/action-planning-session.d.ts +0 -44
- package/node_modules/@specforge/types/dist/mcp/tools/action-planning-session.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/action-planning-session.js +0 -5
- package/node_modules/@specforge/types/dist/mcp/tools/action-planning-session.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/action-review-session.d.ts +0 -68
- package/node_modules/@specforge/types/dist/mcp/tools/action-review-session.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/action-review-session.js +0 -7
- package/node_modules/@specforge/types/dist/mcp/tools/action-review-session.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/action-work-session.d.ts +0 -133
- package/node_modules/@specforge/types/dist/mcp/tools/action-work-session.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/action-work-session.js +0 -8
- package/node_modules/@specforge/types/dist/mcp/tools/action-work-session.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/complete-planning-session.d.ts +0 -21
- package/node_modules/@specforge/types/dist/mcp/tools/complete-planning-session.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/complete-planning-session.js +0 -5
- package/node_modules/@specforge/types/dist/mcp/tools/complete-planning-session.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/complete-review-session.d.ts +0 -21
- package/node_modules/@specforge/types/dist/mcp/tools/complete-review-session.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/complete-review-session.js +0 -8
- package/node_modules/@specforge/types/dist/mcp/tools/complete-review-session.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/complete-work-session.d.ts +0 -42
- package/node_modules/@specforge/types/dist/mcp/tools/complete-work-session.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/complete-work-session.js +0 -8
- package/node_modules/@specforge/types/dist/mcp/tools/complete-work-session.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/create-specification.d.ts +0 -21
- package/node_modules/@specforge/types/dist/mcp/tools/create-specification.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/create-specification.js +0 -5
- package/node_modules/@specforge/types/dist/mcp/tools/create-specification.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/feedback.d.ts +0 -59
- package/node_modules/@specforge/types/dist/mcp/tools/feedback.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/feedback.js +0 -5
- package/node_modules/@specforge/types/dist/mcp/tools/feedback.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/get-blocked-tickets.d.ts +0 -33
- package/node_modules/@specforge/types/dist/mcp/tools/get-blocked-tickets.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/get-blocked-tickets.js +0 -7
- package/node_modules/@specforge/types/dist/mcp/tools/get-blocked-tickets.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/get-critical-path.d.ts +0 -15
- package/node_modules/@specforge/types/dist/mcp/tools/get-critical-path.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/get-critical-path.js +0 -5
- package/node_modules/@specforge/types/dist/mcp/tools/get-critical-path.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/get-dependency-tree.d.ts +0 -15
- package/node_modules/@specforge/types/dist/mcp/tools/get-dependency-tree.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/get-dependency-tree.js +0 -5
- package/node_modules/@specforge/types/dist/mcp/tools/get-dependency-tree.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/get-next-actionable-tickets.d.ts +0 -28
- package/node_modules/@specforge/types/dist/mcp/tools/get-next-actionable-tickets.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/get-next-actionable-tickets.js +0 -7
- package/node_modules/@specforge/types/dist/mcp/tools/get-next-actionable-tickets.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/get-report.d.ts +0 -44
- package/node_modules/@specforge/types/dist/mcp/tools/get-report.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/get-report.js +0 -8
- package/node_modules/@specforge/types/dist/mcp/tools/get-report.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/get.d.ts +0 -23
- package/node_modules/@specforge/types/dist/mcp/tools/get.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/get.js +0 -7
- package/node_modules/@specforge/types/dist/mcp/tools/get.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/index.d.ts +0 -23
- package/node_modules/@specforge/types/dist/mcp/tools/index.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/index.js +0 -23
- package/node_modules/@specforge/types/dist/mcp/tools/index.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/link-pull-request.d.ts +0 -27
- package/node_modules/@specforge/types/dist/mcp/tools/link-pull-request.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/link-pull-request.js +0 -5
- package/node_modules/@specforge/types/dist/mcp/tools/link-pull-request.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/list.d.ts +0 -23
- package/node_modules/@specforge/types/dist/mcp/tools/list.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/list.js +0 -7
- package/node_modules/@specforge/types/dist/mcp/tools/list.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/reopen-specification.d.ts +0 -14
- package/node_modules/@specforge/types/dist/mcp/tools/reopen-specification.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/reopen-specification.js +0 -7
- package/node_modules/@specforge/types/dist/mcp/tools/reopen-specification.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/reset-work-session.d.ts +0 -35
- package/node_modules/@specforge/types/dist/mcp/tools/reset-work-session.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/reset-work-session.js +0 -5
- package/node_modules/@specforge/types/dist/mcp/tools/reset-work-session.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/search.d.ts +0 -47
- package/node_modules/@specforge/types/dist/mcp/tools/search.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/search.js +0 -7
- package/node_modules/@specforge/types/dist/mcp/tools/search.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/start-planning-session.d.ts +0 -20
- package/node_modules/@specforge/types/dist/mcp/tools/start-planning-session.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/start-planning-session.js +0 -5
- package/node_modules/@specforge/types/dist/mcp/tools/start-planning-session.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/start-review-session.d.ts +0 -17
- package/node_modules/@specforge/types/dist/mcp/tools/start-review-session.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/start-review-session.js +0 -8
- package/node_modules/@specforge/types/dist/mcp/tools/start-review-session.js.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/start-work-session.d.ts +0 -16
- package/node_modules/@specforge/types/dist/mcp/tools/start-work-session.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/mcp/tools/start-work-session.js +0 -7
- package/node_modules/@specforge/types/dist/mcp/tools/start-work-session.js.map +0 -1
- package/node_modules/@specforge/types/dist/runtime/epic.d.ts +0 -105
- package/node_modules/@specforge/types/dist/runtime/epic.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/runtime/epic.js +0 -10
- package/node_modules/@specforge/types/dist/runtime/epic.js.map +0 -1
- package/node_modules/@specforge/types/dist/runtime/index.d.ts +0 -11
- package/node_modules/@specforge/types/dist/runtime/index.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/runtime/index.js +0 -11
- package/node_modules/@specforge/types/dist/runtime/index.js.map +0 -1
- package/node_modules/@specforge/types/dist/runtime/project.d.ts +0 -22
- package/node_modules/@specforge/types/dist/runtime/project.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/runtime/project.js +0 -9
- package/node_modules/@specforge/types/dist/runtime/project.js.map +0 -1
- package/node_modules/@specforge/types/dist/runtime/specification.d.ts +0 -111
- package/node_modules/@specforge/types/dist/runtime/specification.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/runtime/specification.js +0 -10
- package/node_modules/@specforge/types/dist/runtime/specification.js.map +0 -1
- package/node_modules/@specforge/types/dist/runtime/ticket.d.ts +0 -80
- package/node_modules/@specforge/types/dist/runtime/ticket.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/runtime/ticket.js +0 -12
- package/node_modules/@specforge/types/dist/runtime/ticket.js.map +0 -1
- package/node_modules/@specforge/types/dist/schema/blueprint.d.ts +0 -18
- package/node_modules/@specforge/types/dist/schema/blueprint.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/schema/blueprint.js +0 -3
- package/node_modules/@specforge/types/dist/schema/blueprint.js.map +0 -1
- package/node_modules/@specforge/types/dist/schema/epic.d.ts +0 -28
- package/node_modules/@specforge/types/dist/schema/epic.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/schema/epic.js +0 -3
- package/node_modules/@specforge/types/dist/schema/extensions/epic.extensions.d.ts +0 -2
- package/node_modules/@specforge/types/dist/schema/extensions/epic.extensions.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/schema/extensions/epic.extensions.js +0 -4
- package/node_modules/@specforge/types/dist/schema/extensions/epic.extensions.js.map +0 -1
- package/node_modules/@specforge/types/dist/schema/extensions/specification.extensions.d.ts +0 -6
- package/node_modules/@specforge/types/dist/schema/extensions/specification.extensions.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/schema/extensions/specification.extensions.js +0 -3
- package/node_modules/@specforge/types/dist/schema/extensions/specification.extensions.js.map +0 -1
- package/node_modules/@specforge/types/dist/schema/extensions/ticket.extensions.d.ts +0 -6
- package/node_modules/@specforge/types/dist/schema/extensions/ticket.extensions.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/schema/extensions/ticket.extensions.js +0 -3
- package/node_modules/@specforge/types/dist/schema/extensions/ticket.extensions.js.map +0 -1
- package/node_modules/@specforge/types/dist/schema/index.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/schema/index.js.map +0 -1
- package/node_modules/@specforge/types/dist/schema/patterns.d.ts +0 -6
- package/node_modules/@specforge/types/dist/schema/patterns.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/schema/patterns.js +0 -3
- package/node_modules/@specforge/types/dist/schema/patterns.js.map +0 -1
- package/node_modules/@specforge/types/dist/schema/project.d.ts +0 -7
- package/node_modules/@specforge/types/dist/schema/project.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/schema/project.js +0 -3
- package/node_modules/@specforge/types/dist/schema/project.js.map +0 -1
- package/node_modules/@specforge/types/dist/schema/specification.d.ts +0 -35
- package/node_modules/@specforge/types/dist/schema/specification.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/schema/specification.js +0 -3
- package/node_modules/@specforge/types/dist/schema/specification.js.map +0 -1
- package/node_modules/@specforge/types/dist/schema/ticket.d.ts +0 -69
- package/node_modules/@specforge/types/dist/schema/ticket.d.ts.map +0 -1
- package/node_modules/@specforge/types/dist/schema/ticket.js +0 -3
- package/node_modules/@specforge/types/package.json +0 -69
|
@@ -66,11 +66,11 @@ export declare const STRATEGY_CHOICES: ({
|
|
|
66
66
|
* and is intentionally excluded here to avoid a duplicate write.
|
|
67
67
|
*/
|
|
68
68
|
export declare const SKILL_TEMPLATE_FILES: readonly ["specforge-orchestrator", "specforge-worker", "specforge-validator"];
|
|
69
|
-
import type { SpecificationStatus } from '@specforge/types
|
|
69
|
+
import type { SpecificationStatus } from '@specforge/spec-types';
|
|
70
70
|
/**
|
|
71
71
|
* Lightweight project shape used by the init command's list/selection flow.
|
|
72
72
|
*
|
|
73
|
-
* Distinct from the canonical
|
|
73
|
+
* Distinct from the canonical `Project` in `@specforge/api-types`
|
|
74
74
|
* — init only needs a subset of fields (name, description, specCount,
|
|
75
75
|
* timestamps) to render chooser UI, so this local shape stays narrow.
|
|
76
76
|
*/
|
|
@@ -90,8 +90,8 @@ export interface InitProject {
|
|
|
90
90
|
}
|
|
91
91
|
/**
|
|
92
92
|
* Lightweight specification shape used by the init command's list/selection
|
|
93
|
-
* flow. Distinct from the canonical
|
|
94
|
-
* `@specforge/types
|
|
93
|
+
* flow. Distinct from the canonical `Specification` in
|
|
94
|
+
* `@specforge/spec-types` — init only needs a subset.
|
|
95
95
|
*/
|
|
96
96
|
export interface InitSpecification {
|
|
97
97
|
/** Unique specification identifier */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.types.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,2FAA2F;IAC3F,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,iDAAiD;IACjD,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IAEjB,yBAAyB;IACzB,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IAEpD,kCAAkC;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAE1B,gCAAgC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IAEzB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;IAK5B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,gFAIvB,CAAC;AAEX,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"init.types.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,2FAA2F;IAC3F,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,iDAAiD;IACjD,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IAEjB,yBAAyB;IACzB,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IAEpD,kCAAkC;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAE1B,gCAAgC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IAEzB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;IAK5B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,gFAIvB,CAAC;AAEX,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,EAAE,EAAE,MAAM,CAAC;IAEX,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IAEb,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IAEX,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IAEd,qBAAqB;IACrB,MAAM,EAAE,mBAAmB,CAAC;IAE5B,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,kCAAkC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,8BAA8B;IAC9B,QAAQ,EAAE,WAAW,EAAE,CAAC;IAExB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,6CAA6C;IAC7C,cAAc,EAAE,iBAAiB,EAAE,CAAC;IAEpC,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,uBAAuB;IACvB,OAAO,EAAE,WAAW,CAAC;IAErB,wCAAwC;IACxC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAElC,6BAA6B;IAC7B,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,+BAA+B;IAC/B,SAAS,EAAE,OAAO,CAAC;IAEnB,qCAAqC;IACrC,aAAa,EAAE,OAAO,CAAC;IAEvB,8BAA8B;IAC9B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IAEb,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IAEd,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IAEb,2DAA2D;IAC3D,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IAEb,mBAAmB;IACnB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,YAAY,EASxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,GAAG,MAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/init.types.ts"],"sourcesContent":["/**\n * Init Command Types\n *\n * Type definitions for the init command including options,\n * API responses, and selection interfaces.\n */\n\n/**\n * Command line options for init command\n */\nexport interface InitOptions {\n /** Project ID for non-interactive mode */\n project?: string;\n\n /** Specification ID for non-interactive mode, or true when --spec is used without an ID */\n spec?: string | true;\n\n /** Output format preference */\n format?: 'json' | 'toon';\n\n /** Force overwrite existing config files */\n force?: boolean;\n\n /** Show current configuration settings */\n show?: boolean;\n\n /** Skip all interactive prompts, use defaults */\n yes?: boolean;\n\n /** Switch active specification (quick switch) */\n specOnly?: boolean;\n}\n\n/**\n * Agent Teams configuration collected during init (v2.0.0).\n * Claude Code Agent Teams only.\n */\nexport interface AgentTeamsInitOptions {\n /** Whether to configure Agent Teams */\n enabled: boolean;\n\n /** Execution strategy */\n strategy: 'auto' | 'single' | 'parallel' | 'phased';\n\n /** Max tickets per team (1-20) */\n maxTicketsPerTeam: number;\n\n /** Max parallel epics (1-10) */\n maxParallelEpics: number;\n\n /** Branch prefix for ticket branches */\n branchPrefix: string;\n}\n\n/**\n * Strategy choices for Agent Teams init prompt\n */\nexport const STRATEGY_CHOICES = [\n { name: 'auto (Recommended)', value: 'auto' as const },\n { name: 'single - Sequential, one worker', value: 'single' as const },\n { name: 'parallel - All epic teams run concurrently', value: 'parallel' as const },\n { name: 'phased - Dependency-ordered phases', value: 'phased' as const },\n];\n\n/**\n * Skill names scaffolded into `.claude/skills/<name>/SKILL.md` (the directory\n * form required by Claude Code — see https://code.claude.com/docs/en/skills).\n *\n * The source template lives at `templates/skills/<name>.md` and is written\n * to `<name>/SKILL.md` under the project's `.claude/skills/` directory.\n *\n * `specforge-conventions` is handled by scaffoldMultiCli's writeSkillForTarget\n * and is intentionally excluded here to avoid a duplicate write.\n */\nexport const SKILL_TEMPLATE_FILES = [\n 'specforge-orchestrator',\n 'specforge-worker',\n 'specforge-validator',\n] as const;\n\nimport type { SpecificationStatus } from '@specforge/types
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/init.types.ts"],"sourcesContent":["/**\n * Init Command Types\n *\n * Type definitions for the init command including options,\n * API responses, and selection interfaces.\n */\n\n/**\n * Command line options for init command\n */\nexport interface InitOptions {\n /** Project ID for non-interactive mode */\n project?: string;\n\n /** Specification ID for non-interactive mode, or true when --spec is used without an ID */\n spec?: string | true;\n\n /** Output format preference */\n format?: 'json' | 'toon';\n\n /** Force overwrite existing config files */\n force?: boolean;\n\n /** Show current configuration settings */\n show?: boolean;\n\n /** Skip all interactive prompts, use defaults */\n yes?: boolean;\n\n /** Switch active specification (quick switch) */\n specOnly?: boolean;\n}\n\n/**\n * Agent Teams configuration collected during init (v2.0.0).\n * Claude Code Agent Teams only.\n */\nexport interface AgentTeamsInitOptions {\n /** Whether to configure Agent Teams */\n enabled: boolean;\n\n /** Execution strategy */\n strategy: 'auto' | 'single' | 'parallel' | 'phased';\n\n /** Max tickets per team (1-20) */\n maxTicketsPerTeam: number;\n\n /** Max parallel epics (1-10) */\n maxParallelEpics: number;\n\n /** Branch prefix for ticket branches */\n branchPrefix: string;\n}\n\n/**\n * Strategy choices for Agent Teams init prompt\n */\nexport const STRATEGY_CHOICES = [\n { name: 'auto (Recommended)', value: 'auto' as const },\n { name: 'single - Sequential, one worker', value: 'single' as const },\n { name: 'parallel - All epic teams run concurrently', value: 'parallel' as const },\n { name: 'phased - Dependency-ordered phases', value: 'phased' as const },\n];\n\n/**\n * Skill names scaffolded into `.claude/skills/<name>/SKILL.md` (the directory\n * form required by Claude Code — see https://code.claude.com/docs/en/skills).\n *\n * The source template lives at `templates/skills/<name>.md` and is written\n * to `<name>/SKILL.md` under the project's `.claude/skills/` directory.\n *\n * `specforge-conventions` is handled by scaffoldMultiCli's writeSkillForTarget\n * and is intentionally excluded here to avoid a duplicate write.\n */\nexport const SKILL_TEMPLATE_FILES = [\n 'specforge-orchestrator',\n 'specforge-worker',\n 'specforge-validator',\n] as const;\n\nimport type { SpecificationStatus } from '@specforge/spec-types';\n\n/**\n * Lightweight project shape used by the init command's list/selection flow.\n *\n * Distinct from the canonical `Project` in `@specforge/api-types`\n * — init only needs a subset of fields (name, description, specCount,\n * timestamps) to render chooser UI, so this local shape stays narrow.\n */\nexport interface InitProject {\n /** Unique project identifier */\n id: string;\n\n /** Human-readable project name */\n name: string;\n\n /** Optional description */\n description?: string;\n\n /** Number of specifications in this project */\n specCount?: number;\n\n /** Creation timestamp */\n createdAt?: string;\n\n /** Last update timestamp */\n updatedAt?: string;\n}\n\n/**\n * Lightweight specification shape used by the init command's list/selection\n * flow. Distinct from the canonical `Specification` in\n * `@specforge/spec-types` — init only needs a subset.\n */\nexport interface InitSpecification {\n /** Unique specification identifier */\n id: string;\n\n /** Specification title */\n title: string;\n\n /** Current status */\n status: SpecificationStatus;\n\n /** Number of tickets in this specification */\n ticketCount?: number;\n\n /** Number of completed tickets */\n completedTicketCount?: number;\n\n /** Optional description */\n description?: string;\n\n /** Creation timestamp */\n createdAt?: string;\n\n /** Last update timestamp */\n updatedAt?: string;\n}\n\n/**\n * API response for list_projects call\n */\nexport interface ListProjectsResponse {\n /** List of user's projects */\n projects: InitProject[];\n\n /** Total count (for pagination) */\n total?: number;\n}\n\n/**\n * API response for list_specifications call\n */\nexport interface ListSpecificationsResponse {\n /** List of specifications for the project */\n specifications: InitSpecification[];\n\n /** Total count (for pagination) */\n total?: number;\n}\n\n/**\n * User's selections during init flow\n */\nexport interface InitSelections {\n /** Selected project */\n project: InitProject;\n\n /** Selected specification (optional) */\n specification?: InitSpecification;\n\n /** Selected output format */\n format: 'json' | 'toon';\n}\n\n/**\n * Result of checking existing config files\n */\nexport interface ExistingFilesCheck {\n /** Whether .mcp.json exists */\n mcpConfig: boolean;\n\n /** Whether .specforge.json exists */\n projectConfig: boolean;\n\n /** Whether any file exists */\n anyExists: boolean;\n}\n\n/**\n * Inquirer choice format for project selection\n */\nexport interface ProjectChoice {\n /** Display name */\n name: string;\n\n /** Project ID value */\n value: string;\n\n /** Short name (optional) */\n short?: string;\n}\n\n/**\n * Inquirer choice format for specification selection\n */\nexport interface SpecificationChoice {\n /** Display name */\n name: string;\n\n /** Specification ID value (undefined for \"none\" option) */\n value: string | undefined;\n\n /** Short name (optional) */\n short?: string;\n}\n\n/**\n * Inquirer choice format for format selection\n */\nexport interface FormatChoice {\n /** Display name */\n name: string;\n\n /** Format value */\n value: 'json' | 'toon';\n}\n\n/**\n * Format display names with descriptions\n */\nexport const FORMAT_CHOICES: FormatChoice[] = [\n {\n name: 'toon (recommended - 44% fewer tokens)',\n value: 'toon',\n },\n {\n name: 'json (standard JSON format)',\n value: 'json',\n },\n];\n\n/**\n * Default format selection\n */\nexport const DEFAULT_FORMAT: 'json' | 'toon' = 'toon';\n"],"mappings":"AAyDO,MAAM,mBAAmB;AAAA,EAC9B,EAAE,MAAM,sBAAsB,OAAO,OAAgB;AAAA,EACrD,EAAE,MAAM,mCAAmC,OAAO,SAAkB;AAAA,EACpE,EAAE,MAAM,8CAA8C,OAAO,WAAoB;AAAA,EACjF,EAAE,MAAM,sCAAsC,OAAO,SAAkB;AACzE;AAYO,MAAM,uBAAuB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AACF;AA0JO,MAAM,iBAAiC;AAAA,EAC5C;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AACF;AAKO,MAAM,iBAAkC;","names":[]}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAMnE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAY1D;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,OAAO,EACd,MAAM,GAAE,YAAqB,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAgBhF;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAMnE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAY1D;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,OAAO,EACd,MAAM,GAAE,YAAqB,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAgBhF;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CA0DrE;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B/D"}
|
package/dist/server.js
CHANGED
|
@@ -51,7 +51,8 @@ async function createServer(config) {
|
|
|
51
51
|
}
|
|
52
52
|
return { tools };
|
|
53
53
|
});
|
|
54
|
-
server.setRequestHandler(
|
|
54
|
+
const registerCallTool = server.setRequestHandler.bind(server);
|
|
55
|
+
registerCallTool(CallToolRequestSchema, async (request) => {
|
|
55
56
|
const { name, arguments: args } = request.params;
|
|
56
57
|
const argsRecord = args || {};
|
|
57
58
|
if (config.debug) {
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server.ts"],"sourcesContent":["/**\n * SpecForge MCP Server\n *\n * MCP (Model Context Protocol) server implementation using stdio transport.\n * Provides tools for AI agents to interact with SpecForge projects.\n *\n * M9: the boot-time `set_working_context` mechanism was removed — that backend\n * op no longer exists. Project/spec/session identity is injected per-call from\n * `.specforge/config.json` by the tool handlers (M9.6b), and the agent reads\n * the M8 envelope (interpreted in `handleToolCall`), TOON-encoded on the wire.\n */\n\nimport { Server } from '@modelcontextprotocol/sdk/server/index.js';\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';\nimport {\n CallToolRequestSchema,\n ListToolsRequestSchema,\n} from '@modelcontextprotocol/sdk/types.js';\nimport { ApiClient } from './client/api-client.js';\nimport { McpConfig } from './config/index.js';\nimport { getTools, handleToolCall } from './tools/index.js';\nimport { formatToon } from './lib/format.js';\nimport type { OutputFormat } from './cli/config/types.js';\n\n/** Encode an MCP result for the wire per the resolved `mcpOutputFormat`. */\nfunction encodeMcp(value: unknown, format: OutputFormat): string {\n return format === 'json' ? JSON.stringify(value, null, 2) : formatToon(value);\n}\n\n/**\n * Package version - should match package.json\n */\nconst VERSION = '1.0.0';\n\n/**\n * Dispatch a tool call and frame the result for the MCP wire.\n *\n * The wire encoding follows the resolved `mcpOutputFormat` (M9.6c) — TOON by\n * default, JSON when the project/global/env config selects it — on both the\n * success and error paths. Exposed for direct testing without spinning up the\n * full MCP transport.\n */\nexport async function dispatchToolCall(\n apiClient: ApiClient,\n toolName: string,\n args: Record<string, unknown>,\n debug: boolean,\n format: OutputFormat = 'toon'\n): Promise<{ content: Array<{ type: 'text'; text: string }>; isError?: boolean }> {\n try {\n const result = await handleToolCall(apiClient, toolName, args, debug);\n return {\n content: [{ type: 'text', text: encodeMcp(result, format) }],\n };\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n if (debug) {\n console.error(`[DEBUG] Tool ${toolName} failed:`, message);\n }\n return {\n content: [{ type: 'text', text: encodeMcp({ error: message }, format) }],\n isError: true,\n };\n }\n}\n\n/**\n * Create and configure the MCP server\n *\n * @param config - Configuration for the server\n * @returns Configured MCP Server instance\n */\nexport async function createServer(config: McpConfig): Promise<Server> {\n const apiClient = new ApiClient(config);\n\n const server = new Server(\n {\n name: 'specforge',\n version: VERSION,\n },\n {\n capabilities: {\n tools: {},\n },\n }\n );\n\n // Handle ListTools requests - return available tools\n server.setRequestHandler(ListToolsRequestSchema, async () => {\n if (config.debug) {\n console.error('[DEBUG] ListTools request received');\n }\n\n const tools = getTools();\n\n if (config.debug) {\n console.error(`[DEBUG] Returning ${tools.length} tools`);\n }\n\n return { tools };\n });\n\n // Handle CallTool requests - execute the requested tool\n server.setRequestHandler(CallToolRequestSchema, async (request) => {\n const { name, arguments: args } = request.params;\n const argsRecord = (args || {}) as Record<string, unknown>;\n\n if (config.debug) {\n console.error('[DEBUG] CallTool request:', {\n name,\n args: JSON.stringify(args),\n });\n }\n\n return dispatchToolCall(apiClient, name, argsRecord, config.debug, config.mcpOutputFormat ?? 'toon');\n });\n\n return server;\n}\n\n/**\n * Start the MCP server with stdio transport\n *\n * @param server - The MCP server instance\n */\nexport async function startServer(server: Server): Promise<void> {\n const transport = new StdioServerTransport();\n\n // Handle graceful shutdown\n const shutdown = async () => {\n console.error('[INFO] Shutting down MCP server...');\n await server.close();\n process.exit(0);\n };\n\n process.on('SIGINT', shutdown);\n process.on('SIGTERM', shutdown);\n\n // Handle uncaught errors\n process.on('uncaughtException', (error) => {\n console.error('[ERROR] Uncaught exception:', error);\n process.exit(1);\n });\n\n process.on('unhandledRejection', (reason) => {\n console.error('[ERROR] Unhandled rejection:', reason);\n process.exit(1);\n });\n\n // Connect to transport\n await server.connect(transport);\n}\n"],"mappings":"AAYA,SAAS,cAAc;AACvB,SAAS,4BAA4B;AACrC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,iBAAiB;AAE1B,SAAS,UAAU,sBAAsB;AACzC,SAAS,kBAAkB;AAI3B,SAAS,UAAU,OAAgB,QAA8B;AAC/D,SAAO,WAAW,SAAS,KAAK,UAAU,OAAO,MAAM,CAAC,IAAI,WAAW,KAAK;AAC9E;AAKA,MAAM,UAAU;AAUhB,eAAsB,iBACpB,WACA,UACA,MACA,OACA,SAAuB,QACyD;AAChF,MAAI;AACF,UAAM,SAAS,MAAM,eAAe,WAAW,UAAU,MAAM,KAAK;AACpE,WAAO;AAAA,MACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,UAAU,QAAQ,MAAM,EAAE,CAAC;AAAA,IAC7D;AAAA,EACF,SAAS,OAAO;AACd,UAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AACrE,QAAI,OAAO;AACT,cAAQ,MAAM,gBAAgB,QAAQ,YAAY,OAAO;AAAA,IAC3D;AACA,WAAO;AAAA,MACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,UAAU,EAAE,OAAO,QAAQ,GAAG,MAAM,EAAE,CAAC;AAAA,MACvE,SAAS;AAAA,IACX;AAAA,EACF;AACF;AAQA,eAAsB,aAAa,QAAoC;AACrE,QAAM,YAAY,IAAI,UAAU,MAAM;AAEtC,QAAM,SAAS,IAAI;AAAA,IACjB;AAAA,MACE,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA;AAAA,MACE,cAAc;AAAA,QACZ,OAAO,CAAC;AAAA,MACV;AAAA,IACF;AAAA,EACF;AAGA,SAAO,kBAAkB,wBAAwB,YAAY;AAC3D,QAAI,OAAO,OAAO;AAChB,cAAQ,MAAM,oCAAoC;AAAA,IACpD;AAEA,UAAM,QAAQ,SAAS;AAEvB,QAAI,OAAO,OAAO;AAChB,cAAQ,MAAM,qBAAqB,MAAM,MAAM,QAAQ;AAAA,IACzD;AAEA,WAAO,EAAE,MAAM;AAAA,EACjB,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/server.ts"],"sourcesContent":["/**\n * SpecForge MCP Server\n *\n * MCP (Model Context Protocol) server implementation using stdio transport.\n * Provides tools for AI agents to interact with SpecForge projects.\n *\n * M9: the boot-time `set_working_context` mechanism was removed — that backend\n * op no longer exists. Project/spec/session identity is injected per-call from\n * `.specforge/config.json` by the tool handlers (M9.6b), and the agent reads\n * the M8 envelope (interpreted in `handleToolCall`), TOON-encoded on the wire.\n */\n\nimport { Server } from '@modelcontextprotocol/sdk/server/index.js';\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';\nimport {\n CallToolRequestSchema,\n ListToolsRequestSchema,\n} from '@modelcontextprotocol/sdk/types.js';\nimport { ApiClient } from './client/api-client.js';\nimport { McpConfig } from './config/index.js';\nimport { getTools, handleToolCall } from './tools/index.js';\nimport { formatToon } from './lib/format.js';\nimport type { OutputFormat } from './cli/config/types.js';\n\n/** Encode an MCP result for the wire per the resolved `mcpOutputFormat`. */\nfunction encodeMcp(value: unknown, format: OutputFormat): string {\n return format === 'json' ? JSON.stringify(value, null, 2) : formatToon(value);\n}\n\n/**\n * Package version - should match package.json\n */\nconst VERSION = '1.0.0';\n\n/**\n * Dispatch a tool call and frame the result for the MCP wire.\n *\n * The wire encoding follows the resolved `mcpOutputFormat` (M9.6c) — TOON by\n * default, JSON when the project/global/env config selects it — on both the\n * success and error paths. Exposed for direct testing without spinning up the\n * full MCP transport.\n */\nexport async function dispatchToolCall(\n apiClient: ApiClient,\n toolName: string,\n args: Record<string, unknown>,\n debug: boolean,\n format: OutputFormat = 'toon'\n): Promise<{ content: Array<{ type: 'text'; text: string }>; isError?: boolean }> {\n try {\n const result = await handleToolCall(apiClient, toolName, args, debug);\n return {\n content: [{ type: 'text', text: encodeMcp(result, format) }],\n };\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n if (debug) {\n console.error(`[DEBUG] Tool ${toolName} failed:`, message);\n }\n return {\n content: [{ type: 'text', text: encodeMcp({ error: message }, format) }],\n isError: true,\n };\n }\n}\n\n/**\n * Create and configure the MCP server\n *\n * @param config - Configuration for the server\n * @returns Configured MCP Server instance\n */\nexport async function createServer(config: McpConfig): Promise<Server> {\n const apiClient = new ApiClient(config);\n\n const server = new Server(\n {\n name: 'specforge',\n version: VERSION,\n },\n {\n capabilities: {\n tools: {},\n },\n }\n );\n\n // Handle ListTools requests - return available tools\n server.setRequestHandler(ListToolsRequestSchema, async () => {\n if (config.debug) {\n console.error('[DEBUG] ListTools request received');\n }\n\n const tools = getTools();\n\n if (config.debug) {\n console.error(`[DEBUG] Returning ${tools.length} tools`);\n }\n\n return { tools };\n });\n\n // Handle CallTool requests - execute the requested tool.\n // M26: after the CLI re-pointed onto the zod-schema type packages\n // (spec-types/api-types/report-types), the SDK's GENERIC `setRequestHandler`\n // instantiation over the CallTool request/result zod schemas trips TS2589\n // (\"excessively deep\") during declaration emit (tsup passes; only\n // `tsc --emitDeclarationOnly` fails). Invoke it through a NON-generic signature so\n // tsc never instantiates the generic; the runtime call + validation are unchanged.\n type CallToolReq = { params: { name: string; arguments?: Record<string, unknown> } };\n type CallToolRes = { content: Array<{ type: 'text'; text: string }>; isError?: boolean };\n const registerCallTool = server.setRequestHandler.bind(server) as unknown as (\n schema: typeof CallToolRequestSchema,\n handler: (request: CallToolReq) => Promise<CallToolRes>,\n ) => void;\n registerCallTool(CallToolRequestSchema, async (request) => {\n const { name, arguments: args } = request.params;\n const argsRecord = (args || {}) as Record<string, unknown>;\n\n if (config.debug) {\n console.error('[DEBUG] CallTool request:', {\n name,\n args: JSON.stringify(args),\n });\n }\n\n return dispatchToolCall(apiClient, name, argsRecord, config.debug, config.mcpOutputFormat ?? 'toon');\n });\n\n return server;\n}\n\n/**\n * Start the MCP server with stdio transport\n *\n * @param server - The MCP server instance\n */\nexport async function startServer(server: Server): Promise<void> {\n const transport = new StdioServerTransport();\n\n // Handle graceful shutdown\n const shutdown = async () => {\n console.error('[INFO] Shutting down MCP server...');\n await server.close();\n process.exit(0);\n };\n\n process.on('SIGINT', shutdown);\n process.on('SIGTERM', shutdown);\n\n // Handle uncaught errors\n process.on('uncaughtException', (error) => {\n console.error('[ERROR] Uncaught exception:', error);\n process.exit(1);\n });\n\n process.on('unhandledRejection', (reason) => {\n console.error('[ERROR] Unhandled rejection:', reason);\n process.exit(1);\n });\n\n // Connect to transport\n await server.connect(transport);\n}\n"],"mappings":"AAYA,SAAS,cAAc;AACvB,SAAS,4BAA4B;AACrC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,iBAAiB;AAE1B,SAAS,UAAU,sBAAsB;AACzC,SAAS,kBAAkB;AAI3B,SAAS,UAAU,OAAgB,QAA8B;AAC/D,SAAO,WAAW,SAAS,KAAK,UAAU,OAAO,MAAM,CAAC,IAAI,WAAW,KAAK;AAC9E;AAKA,MAAM,UAAU;AAUhB,eAAsB,iBACpB,WACA,UACA,MACA,OACA,SAAuB,QACyD;AAChF,MAAI;AACF,UAAM,SAAS,MAAM,eAAe,WAAW,UAAU,MAAM,KAAK;AACpE,WAAO;AAAA,MACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,UAAU,QAAQ,MAAM,EAAE,CAAC;AAAA,IAC7D;AAAA,EACF,SAAS,OAAO;AACd,UAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AACrE,QAAI,OAAO;AACT,cAAQ,MAAM,gBAAgB,QAAQ,YAAY,OAAO;AAAA,IAC3D;AACA,WAAO;AAAA,MACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,UAAU,EAAE,OAAO,QAAQ,GAAG,MAAM,EAAE,CAAC;AAAA,MACvE,SAAS;AAAA,IACX;AAAA,EACF;AACF;AAQA,eAAsB,aAAa,QAAoC;AACrE,QAAM,YAAY,IAAI,UAAU,MAAM;AAEtC,QAAM,SAAS,IAAI;AAAA,IACjB;AAAA,MACE,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA;AAAA,MACE,cAAc;AAAA,QACZ,OAAO,CAAC;AAAA,MACV;AAAA,IACF;AAAA,EACF;AAGA,SAAO,kBAAkB,wBAAwB,YAAY;AAC3D,QAAI,OAAO,OAAO;AAChB,cAAQ,MAAM,oCAAoC;AAAA,IACpD;AAEA,UAAM,QAAQ,SAAS;AAEvB,QAAI,OAAO,OAAO;AAChB,cAAQ,MAAM,qBAAqB,MAAM,MAAM,QAAQ;AAAA,IACzD;AAEA,WAAO,EAAE,MAAM;AAAA,EACjB,CAAC;AAWD,QAAM,mBAAmB,OAAO,kBAAkB,KAAK,MAAM;AAI7D,mBAAiB,uBAAuB,OAAO,YAAY;AACzD,UAAM,EAAE,MAAM,WAAW,KAAK,IAAI,QAAQ;AAC1C,UAAM,aAAc,QAAQ,CAAC;AAE7B,QAAI,OAAO,OAAO;AAChB,cAAQ,MAAM,6BAA6B;AAAA,QACzC;AAAA,QACA,MAAM,KAAK,UAAU,IAAI;AAAA,MAC3B,CAAC;AAAA,IACH;AAEA,WAAO,iBAAiB,WAAW,MAAM,YAAY,OAAO,OAAO,OAAO,mBAAmB,MAAM;AAAA,EACrG,CAAC;AAED,SAAO;AACT;AAOA,eAAsB,YAAY,QAA+B;AAC/D,QAAM,YAAY,IAAI,qBAAqB;AAG3C,QAAM,WAAW,YAAY;AAC3B,YAAQ,MAAM,oCAAoC;AAClD,UAAM,OAAO,MAAM;AACnB,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,UAAQ,GAAG,UAAU,QAAQ;AAC7B,UAAQ,GAAG,WAAW,QAAQ;AAG9B,UAAQ,GAAG,qBAAqB,CAAC,UAAU;AACzC,YAAQ,MAAM,+BAA+B,KAAK;AAClD,YAAQ,KAAK,CAAC;AAAA,EAChB,CAAC;AAED,UAAQ,GAAG,sBAAsB,CAAC,WAAW;AAC3C,YAAQ,MAAM,gCAAgC,MAAM;AACpD,YAAQ,KAAK,CAAC;AAAA,EAChB,CAAC;AAGD,QAAM,OAAO,QAAQ,SAAS;AAChC;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAML,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAUhC;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,IAAI,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAML,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAUhC;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,IAAI,IAAI,EAAE,CAshCjC;AAED;;GAEG;AACH,KAAK,WAAW,GAAG,CACjB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,OAAO,CAAC,OAAO,CAAC,CAAC;AA6EtB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,GACnB,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CA8S7B;AAiBD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,GAAE,OAAe,GACrB,OAAO,CAAC,OAAO,CAAC,CA4DlB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,GAAE,OAAe,GACrB,OAAO,CAAC,OAAO,GAAG,gBAAgB,CAAC,CAOrC;AAGD,OAAO,EACL,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,KAAK,gBAAgB,GACtB,MAAM,wBAAwB,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -861,107 +861,6 @@ Set getTicket: true to fetch full ticket details in the response \u2014 useful f
|
|
|
861
861
|
required: ["ticketId", "summary"]
|
|
862
862
|
}
|
|
863
863
|
},
|
|
864
|
-
{
|
|
865
|
-
name: "start_review_session",
|
|
866
|
-
description: 'Start the implementation review lifecycle. Runs the implementation gate and either auto-transitions to "reviewed" (on pass) or transitions to "in_review" with an active ReviewSession (on fail). Creates correction tickets via action_review_session, then call complete_review_session.',
|
|
867
|
-
inputSchema: {
|
|
868
|
-
type: "object",
|
|
869
|
-
properties: {
|
|
870
|
-
specificationId: {
|
|
871
|
-
type: "string",
|
|
872
|
-
description: "The ID of the specification to review (must be in ready_for_review status)"
|
|
873
|
-
}
|
|
874
|
-
},
|
|
875
|
-
required: ["specificationId"]
|
|
876
|
-
}
|
|
877
|
-
},
|
|
878
|
-
{
|
|
879
|
-
name: "action_review_session",
|
|
880
|
-
description: 'Address findings in an active review session. Create correction tickets inline or dismiss findings with justification. Only available when specification is in "in_review" status.',
|
|
881
|
-
inputSchema: {
|
|
882
|
-
type: "object",
|
|
883
|
-
properties: {
|
|
884
|
-
specificationId: {
|
|
885
|
-
type: "string",
|
|
886
|
-
description: "The ID of the specification"
|
|
887
|
-
},
|
|
888
|
-
reviewSessionId: {
|
|
889
|
-
type: "string",
|
|
890
|
-
description: "The review session ID (auto-detected if omitted)"
|
|
891
|
-
},
|
|
892
|
-
findingsAddressed: {
|
|
893
|
-
type: "array",
|
|
894
|
-
description: "Findings to address in this action",
|
|
895
|
-
items: {
|
|
896
|
-
type: "object",
|
|
897
|
-
properties: {
|
|
898
|
-
findingId: {
|
|
899
|
-
type: "string",
|
|
900
|
-
description: "The finding ID to address"
|
|
901
|
-
},
|
|
902
|
-
action: {
|
|
903
|
-
type: "string",
|
|
904
|
-
enum: ["correction_ticket", "dismissed"],
|
|
905
|
-
description: "How to address the finding"
|
|
906
|
-
},
|
|
907
|
-
correctionTicket: {
|
|
908
|
-
type: "object",
|
|
909
|
-
description: "Inline ticket creation params (required for correction_ticket action)",
|
|
910
|
-
properties: {
|
|
911
|
-
epicId: { type: "string", description: "Epic to add the correction ticket to" },
|
|
912
|
-
title: { type: "string", description: "Ticket title" },
|
|
913
|
-
description: { type: "string", description: "Ticket description" },
|
|
914
|
-
ticketType: { type: "string", enum: ["implementation", "verification"], description: "Ticket type \u2014 defaults to implementation." },
|
|
915
|
-
complexity: { type: "string", enum: ["small", "medium", "large", "xlarge"] },
|
|
916
|
-
estimatedMinutes: { type: "integer", minimum: 0 },
|
|
917
|
-
acceptanceCriteria: { type: "array", items: { type: "string" } },
|
|
918
|
-
implementationSteps: { type: "array", items: { type: "string" }, description: "Implementation steps; persisted as TicketImplementationStep rows" },
|
|
919
|
-
tags: { type: "array", items: { type: "string" } }
|
|
920
|
-
},
|
|
921
|
-
required: ["epicId", "title"]
|
|
922
|
-
},
|
|
923
|
-
justification: {
|
|
924
|
-
type: "string",
|
|
925
|
-
description: 'Required justification when action is "dismissed"'
|
|
926
|
-
}
|
|
927
|
-
},
|
|
928
|
-
required: ["findingId", "action"]
|
|
929
|
-
}
|
|
930
|
-
},
|
|
931
|
-
notes: {
|
|
932
|
-
type: "string",
|
|
933
|
-
description: "Optional notes for this review action"
|
|
934
|
-
}
|
|
935
|
-
},
|
|
936
|
-
required: ["specificationId"]
|
|
937
|
-
}
|
|
938
|
-
},
|
|
939
|
-
{
|
|
940
|
-
name: "complete_review_session",
|
|
941
|
-
description: 'Complete an active review session. All error-severity findings must be addressed. If correction tickets exist, transitions to "in_progress". If all findings dismissed, triggers user confirmation flow.',
|
|
942
|
-
inputSchema: {
|
|
943
|
-
type: "object",
|
|
944
|
-
properties: {
|
|
945
|
-
specificationId: {
|
|
946
|
-
type: "string",
|
|
947
|
-
description: "The ID of the specification"
|
|
948
|
-
},
|
|
949
|
-
reviewSessionId: {
|
|
950
|
-
type: "string",
|
|
951
|
-
description: "The review session ID (auto-detected if omitted)"
|
|
952
|
-
},
|
|
953
|
-
summary: {
|
|
954
|
-
type: "string",
|
|
955
|
-
description: "Optional completion summary"
|
|
956
|
-
},
|
|
957
|
-
confirmAllDismissed: {
|
|
958
|
-
type: "boolean",
|
|
959
|
-
description: "Set to true when all findings were dismissed to trigger user confirmation flow"
|
|
960
|
-
}
|
|
961
|
-
},
|
|
962
|
-
required: ["specificationId"]
|
|
963
|
-
}
|
|
964
|
-
},
|
|
965
864
|
{
|
|
966
865
|
name: "reopen_specification",
|
|
967
866
|
description: 'Reopen a specification in "ready" status, regressing to "planning". Use when action_planning_session reports the spec is no longer in planning. After reopening, call start_planning_session to begin a new planning session.',
|
|
@@ -1130,10 +1029,7 @@ Set getTicket: true to fetch full ticket details in the response \u2014 useful f
|
|
|
1130
1029
|
const IN_DEVELOPMENT_PLANNED_FOR = {
|
|
1131
1030
|
start_work_session: "0.2.0",
|
|
1132
1031
|
action_work_session: "0.2.0",
|
|
1133
|
-
complete_work_session: "0.2.0"
|
|
1134
|
-
start_review_session: "0.3.0",
|
|
1135
|
-
action_review_session: "0.3.0",
|
|
1136
|
-
complete_review_session: "0.3.0"
|
|
1032
|
+
complete_work_session: "0.2.0"
|
|
1137
1033
|
};
|
|
1138
1034
|
for (const t of tools) {
|
|
1139
1035
|
const plannedFor = IN_DEVELOPMENT_PLANNED_FOR[t.name];
|
|
@@ -1383,30 +1279,6 @@ function createToolHandlers(apiClient) {
|
|
|
1383
1279
|
...commitSha !== null && { commitSha }
|
|
1384
1280
|
});
|
|
1385
1281
|
},
|
|
1386
|
-
start_review_session: async (_client, args) => {
|
|
1387
|
-
const argsWithContext = injectContextRequired(args, ["specificationId"]);
|
|
1388
|
-
return await callLocal("start_review_session", {
|
|
1389
|
-
specificationId: argsWithContext.specificationId
|
|
1390
|
-
});
|
|
1391
|
-
},
|
|
1392
|
-
action_review_session: async (_client, args) => {
|
|
1393
|
-
const argsWithContext = injectContextRequired(args, ["specificationId"]);
|
|
1394
|
-
return await callLocal("action_review_session", {
|
|
1395
|
-
specificationId: argsWithContext.specificationId,
|
|
1396
|
-
reviewSessionId: args.reviewSessionId,
|
|
1397
|
-
findingsAddressed: args.findingsAddressed,
|
|
1398
|
-
notes: args.notes
|
|
1399
|
-
});
|
|
1400
|
-
},
|
|
1401
|
-
complete_review_session: async (_client, args) => {
|
|
1402
|
-
const argsWithContext = injectContextRequired(args, ["specificationId"]);
|
|
1403
|
-
return await callLocal("complete_review_session", {
|
|
1404
|
-
specificationId: argsWithContext.specificationId,
|
|
1405
|
-
reviewSessionId: args.reviewSessionId,
|
|
1406
|
-
summary: args.summary,
|
|
1407
|
-
confirmAllDismissed: args.confirmAllDismissed
|
|
1408
|
-
});
|
|
1409
|
-
},
|
|
1410
1282
|
reopen_specification: async (_client, args) => {
|
|
1411
1283
|
const argsWithContext = injectContextRequired(args, ["specificationId"]);
|
|
1412
1284
|
return await callLocal("reopen_specification", {
|