@planu/cli 0.42.1 → 0.43.1
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/config/license-plans.json +2 -1
- package/dist/engine/actuals/consolidator.d.ts +3 -3
- package/dist/engine/actuals/consolidator.d.ts.map +1 -1
- package/dist/engine/actuals/consolidator.js +24 -2
- package/dist/engine/actuals/consolidator.js.map +1 -1
- package/dist/engine/actuals/index.d.ts +1 -0
- package/dist/engine/actuals/index.d.ts.map +1 -1
- package/dist/engine/actuals/index.js +1 -0
- package/dist/engine/actuals/index.js.map +1 -1
- package/dist/engine/actuals/progress-parser.d.ts +11 -0
- package/dist/engine/actuals/progress-parser.d.ts.map +1 -0
- package/dist/engine/actuals/progress-parser.js +84 -0
- package/dist/engine/actuals/progress-parser.js.map +1 -0
- package/dist/engine/actuals/wip-tracker.d.ts +2 -2
- package/dist/engine/actuals/wip-tracker.d.ts.map +1 -1
- package/dist/engine/actuals/wip-tracker.js +5 -6
- package/dist/engine/actuals/wip-tracker.js.map +1 -1
- package/dist/engine/analytics-detector/events.d.ts.map +1 -1
- package/dist/engine/analytics-detector/events.js +3 -4
- package/dist/engine/analytics-detector/events.js.map +1 -1
- package/dist/engine/ci-generator/planu-steps.js +1 -1
- package/dist/engine/ci-generator/planu-steps.js.map +1 -1
- package/dist/engine/docs-site-generator/spec-renderer.d.ts.map +1 -1
- package/dist/engine/docs-site-generator/spec-renderer.js +2 -1
- package/dist/engine/docs-site-generator/spec-renderer.js.map +1 -1
- package/dist/engine/execution-plan/agent-execution-plan.d.ts.map +1 -1
- package/dist/engine/execution-plan/agent-execution-plan.js +2 -0
- package/dist/engine/execution-plan/agent-execution-plan.js.map +1 -1
- package/dist/engine/living-spec-analyzer.d.ts +7 -0
- package/dist/engine/living-spec-analyzer.d.ts.map +1 -0
- package/dist/engine/living-spec-analyzer.js +362 -0
- package/dist/engine/living-spec-analyzer.js.map +1 -0
- package/dist/engine/llm-providers/cost-tracker.d.ts.map +1 -1
- package/dist/engine/llm-providers/cost-tracker.js +1 -0
- package/dist/engine/llm-providers/cost-tracker.js.map +1 -1
- package/dist/engine/llm-providers/load-balancer.d.ts.map +1 -1
- package/dist/engine/llm-providers/load-balancer.js +3 -0
- package/dist/engine/llm-providers/load-balancer.js.map +1 -1
- package/dist/engine/plugins/extensions/tool-extension.d.ts.map +1 -1
- package/dist/engine/plugins/extensions/tool-extension.js +1 -0
- package/dist/engine/plugins/extensions/tool-extension.js.map +1 -1
- package/dist/engine/plugins/lifecycle.d.ts.map +1 -1
- package/dist/engine/plugins/lifecycle.js +3 -4
- package/dist/engine/plugins/lifecycle.js.map +1 -1
- package/dist/engine/plugins/loader.d.ts.map +1 -1
- package/dist/engine/plugins/loader.js +3 -0
- package/dist/engine/plugins/loader.js.map +1 -1
- package/dist/engine/plugins/sandbox.d.ts.map +1 -1
- package/dist/engine/plugins/sandbox.js +3 -3
- package/dist/engine/plugins/sandbox.js.map +1 -1
- package/dist/engine/registry-updater.d.ts.map +1 -1
- package/dist/engine/registry-updater.js +3 -3
- package/dist/engine/registry-updater.js.map +1 -1
- package/dist/engine/safety/health-monitor.d.ts.map +1 -1
- package/dist/engine/safety/health-monitor.js +3 -0
- package/dist/engine/safety/health-monitor.js.map +1 -1
- package/dist/engine/safety/transaction.d.ts.map +1 -1
- package/dist/engine/safety/transaction.js +3 -0
- package/dist/engine/safety/transaction.js.map +1 -1
- package/dist/engine/source-resolver.d.ts +38 -0
- package/dist/engine/source-resolver.d.ts.map +1 -0
- package/dist/engine/source-resolver.js +179 -0
- package/dist/engine/source-resolver.js.map +1 -0
- package/dist/engine/spec-dependency-graph.d.ts +33 -0
- package/dist/engine/spec-dependency-graph.d.ts.map +1 -0
- package/dist/engine/spec-dependency-graph.js +243 -0
- package/dist/engine/spec-dependency-graph.js.map +1 -0
- package/dist/engine/spec-templates/custom-loader.d.ts.map +1 -1
- package/dist/engine/spec-templates/custom-loader.js +1 -0
- package/dist/engine/spec-templates/custom-loader.js.map +1 -1
- package/dist/i18n/index.d.ts +1 -1
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +1 -35
- package/dist/i18n/index.js.map +1 -1
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/prompts/index.d.ts +6 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +121 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/resources/specs.d.ts.map +1 -1
- package/dist/resources/specs.js +11 -6
- package/dist/resources/specs.js.map +1 -1
- package/dist/storage/checkpoint-store.d.ts.map +1 -1
- package/dist/storage/checkpoint-store.js +3 -2
- package/dist/storage/checkpoint-store.js.map +1 -1
- package/dist/storage/file-mutex.d.ts +14 -0
- package/dist/storage/file-mutex.d.ts.map +1 -0
- package/dist/storage/file-mutex.js +39 -0
- package/dist/storage/file-mutex.js.map +1 -0
- package/dist/storage/spec-store.d.ts.map +1 -1
- package/dist/storage/spec-store.js +48 -39
- package/dist/storage/spec-store.js.map +1 -1
- package/dist/tools/activate-license.d.ts.map +1 -1
- package/dist/tools/activate-license.js +27 -18
- package/dist/tools/activate-license.js.map +1 -1
- package/dist/tools/analyze-spec-dependencies.d.ts +6 -0
- package/dist/tools/analyze-spec-dependencies.d.ts.map +1 -0
- package/dist/tools/analyze-spec-dependencies.js +72 -0
- package/dist/tools/analyze-spec-dependencies.js.map +1 -0
- package/dist/tools/check-readiness.d.ts.map +1 -1
- package/dist/tools/check-readiness.js +8 -0
- package/dist/tools/check-readiness.js.map +1 -1
- package/dist/tools/configure-llm-providers-handler.d.ts.map +1 -1
- package/dist/tools/configure-llm-providers-handler.js +25 -18
- package/dist/tools/configure-llm-providers-handler.js.map +1 -1
- package/dist/tools/context-budget.d.ts.map +1 -1
- package/dist/tools/context-budget.js +41 -14
- package/dist/tools/context-budget.js.map +1 -1
- package/dist/tools/create-spec/spec-builder.d.ts.map +1 -1
- package/dist/tools/create-spec/spec-builder.js +3 -2
- package/dist/tools/create-spec/spec-builder.js.map +1 -1
- package/dist/tools/delete-project.d.ts.map +1 -1
- package/dist/tools/delete-project.js +4 -3
- package/dist/tools/delete-project.js.map +1 -1
- package/dist/tools/delete-spec.d.ts.map +1 -1
- package/dist/tools/delete-spec.js +4 -3
- package/dist/tools/delete-spec.js.map +1 -1
- package/dist/tools/estimate.d.ts.map +1 -1
- package/dist/tools/estimate.js +1 -0
- package/dist/tools/estimate.js.map +1 -1
- package/dist/tools/event-contracts/handlers.d.ts.map +1 -1
- package/dist/tools/event-contracts/handlers.js +5 -7
- package/dist/tools/event-contracts/handlers.js.map +1 -1
- package/dist/tools/export-spec.js +1 -1
- package/dist/tools/export-spec.js.map +1 -1
- package/dist/tools/license-status.d.ts.map +1 -1
- package/dist/tools/license-status.js +33 -1
- package/dist/tools/license-status.js.map +1 -1
- package/dist/tools/list-specs.d.ts.map +1 -1
- package/dist/tools/list-specs.js +1 -0
- package/dist/tools/list-specs.js.map +1 -1
- package/dist/tools/llm-provider-status-handler.d.ts.map +1 -1
- package/dist/tools/llm-provider-status-handler.js +13 -8
- package/dist/tools/llm-provider-status-handler.js.map +1 -1
- package/dist/tools/manage-context/store.d.ts.map +1 -1
- package/dist/tools/manage-context/store.js +4 -5
- package/dist/tools/manage-context/store.js.map +1 -1
- package/dist/tools/manage-plugins-handler.d.ts.map +1 -1
- package/dist/tools/manage-plugins-handler.js +38 -12
- package/dist/tools/manage-plugins-handler.js.map +1 -1
- package/dist/tools/manage-trash.d.ts.map +1 -1
- package/dist/tools/manage-trash.js +9 -5
- package/dist/tools/manage-trash.js.map +1 -1
- package/dist/tools/reconcile-spec.d.ts.map +1 -1
- package/dist/tools/reconcile-spec.js +11 -1
- package/dist/tools/reconcile-spec.js.map +1 -1
- package/dist/tools/register-context-tools.d.ts.map +1 -1
- package/dist/tools/register-context-tools.js +2 -0
- package/dist/tools/register-context-tools.js.map +1 -1
- package/dist/tools/register-event-tools.d.ts.map +1 -1
- package/dist/tools/register-event-tools.js +1 -0
- package/dist/tools/register-event-tools.js.map +1 -1
- package/dist/tools/register-export-tools.d.ts.map +1 -1
- package/dist/tools/register-export-tools.js +1 -0
- package/dist/tools/register-export-tools.js.map +1 -1
- package/dist/tools/register-governance-tools.d.ts.map +1 -1
- package/dist/tools/register-governance-tools.js +1 -0
- package/dist/tools/register-governance-tools.js.map +1 -1
- package/dist/tools/register-learning-tools.d.ts.map +1 -1
- package/dist/tools/register-learning-tools.js +1 -0
- package/dist/tools/register-learning-tools.js.map +1 -1
- package/dist/tools/register-license-tools.d.ts.map +1 -1
- package/dist/tools/register-license-tools.js +2 -0
- package/dist/tools/register-license-tools.js.map +1 -1
- package/dist/tools/register-memory-tools.d.ts.map +1 -1
- package/dist/tools/register-memory-tools.js +2 -0
- package/dist/tools/register-memory-tools.js.map +1 -1
- package/dist/tools/register-migration-tools.d.ts.map +1 -1
- package/dist/tools/register-migration-tools.js +1 -0
- package/dist/tools/register-migration-tools.js.map +1 -1
- package/dist/tools/register-platform-tools/design-stack-tools.d.ts.map +1 -1
- package/dist/tools/register-platform-tools/design-stack-tools.js +12 -0
- package/dist/tools/register-platform-tools/design-stack-tools.js.map +1 -1
- package/dist/tools/register-platform-tools/lifecycle-infra-tools.d.ts.map +1 -1
- package/dist/tools/register-platform-tools/lifecycle-infra-tools.js +7 -0
- package/dist/tools/register-platform-tools/lifecycle-infra-tools.js.map +1 -1
- package/dist/tools/register-readiness-tools.d.ts.map +1 -1
- package/dist/tools/register-readiness-tools.js +2 -0
- package/dist/tools/register-readiness-tools.js.map +1 -1
- package/dist/tools/register-security-tools.d.ts.map +1 -1
- package/dist/tools/register-security-tools.js +1 -0
- package/dist/tools/register-security-tools.js.map +1 -1
- package/dist/tools/register-spec-tools/analysis-tools.d.ts.map +1 -1
- package/dist/tools/register-spec-tools/analysis-tools.js +18 -0
- package/dist/tools/register-spec-tools/analysis-tools.js.map +1 -1
- package/dist/tools/register-spec-tools/core-spec-tools.d.ts.map +1 -1
- package/dist/tools/register-spec-tools/core-spec-tools.js +4 -1
- package/dist/tools/register-spec-tools/core-spec-tools.js.map +1 -1
- package/dist/tools/register-stack-tools.d.ts.map +1 -1
- package/dist/tools/register-stack-tools.js +3 -0
- package/dist/tools/register-stack-tools.js.map +1 -1
- package/dist/tools/safe-handler.d.ts +2 -1
- package/dist/tools/safe-handler.d.ts.map +1 -1
- package/dist/tools/safe-handler.js +51 -3
- package/dist/tools/safe-handler.js.map +1 -1
- package/dist/tools/sanitize-path.d.ts +13 -0
- package/dist/tools/sanitize-path.d.ts.map +1 -0
- package/dist/tools/sanitize-path.js +60 -0
- package/dist/tools/sanitize-path.js.map +1 -0
- package/dist/tools/schemas/index.d.ts +1 -0
- package/dist/tools/schemas/index.d.ts.map +1 -1
- package/dist/tools/schemas/index.js +1 -0
- package/dist/tools/schemas/index.js.map +1 -1
- package/dist/tools/schemas/output-schemas.d.ts +168 -0
- package/dist/tools/schemas/output-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/output-schemas.js +182 -0
- package/dist/tools/schemas/output-schemas.js.map +1 -0
- package/dist/tools/schemas/spec.d.ts.map +1 -1
- package/dist/tools/schemas/spec.js +9 -1
- package/dist/tools/schemas/spec.js.map +1 -1
- package/dist/tools/spec-templates.d.ts.map +1 -1
- package/dist/tools/spec-templates.js +36 -26
- package/dist/tools/spec-templates.js.map +1 -1
- package/dist/tools/suggest-tooling/catalog-loader.d.ts.map +1 -1
- package/dist/tools/suggest-tooling/catalog-loader.js +1 -0
- package/dist/tools/suggest-tooling/catalog-loader.js.map +1 -1
- package/dist/tools/tool-group-handler.d.ts.map +1 -1
- package/dist/tools/tool-group-handler.js +16 -13
- package/dist/tools/tool-group-handler.js.map +1 -1
- package/dist/tools/tool-registry.d.ts +14 -0
- package/dist/tools/tool-registry.d.ts.map +1 -0
- package/dist/tools/tool-registry.js +36 -0
- package/dist/tools/tool-registry.js.map +1 -0
- package/dist/tools/update-status-actions.d.ts +6 -0
- package/dist/tools/update-status-actions.d.ts.map +1 -1
- package/dist/tools/update-status-actions.js +19 -2
- package/dist/tools/update-status-actions.js.map +1 -1
- package/dist/tools/update-status.d.ts.map +1 -1
- package/dist/tools/update-status.js +6 -1
- package/dist/tools/update-status.js.map +1 -1
- package/dist/tools/validate.d.ts.map +1 -1
- package/dist/tools/validate.js +1 -0
- package/dist/tools/validate.js.map +1 -1
- package/dist/transports/http-rate-limiter.d.ts +22 -0
- package/dist/transports/http-rate-limiter.d.ts.map +1 -0
- package/dist/transports/http-rate-limiter.js +42 -0
- package/dist/transports/http-rate-limiter.js.map +1 -0
- package/dist/transports/http-transport.d.ts.map +1 -1
- package/dist/transports/http-transport.js +21 -1
- package/dist/transports/http-transport.js.map +1 -1
- package/dist/types/actuals-tracking.d.ts +9 -1
- package/dist/types/actuals-tracking.d.ts.map +1 -1
- package/dist/types/common/primitives.d.ts +1 -0
- package/dist/types/common/primitives.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/source-resolution.d.ts +49 -0
- package/dist/types/source-resolution.d.ts.map +1 -0
- package/dist/types/source-resolution.js +10 -0
- package/dist/types/source-resolution.js.map +1 -0
- package/dist/types/spec/core.d.ts +48 -0
- package/dist/types/spec/core.d.ts.map +1 -1
- package/dist/types/spec/inputs.d.ts +1 -0
- package/dist/types/spec/inputs.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/config/license-plans.json +2 -1
- package/src/i18n/messages/en.json +177 -4
- package/src/i18n/messages/es.json +177 -4
- package/src/i18n/messages/pt.json +177 -4
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { t } from '../../i18n/index.js';
|
|
3
3
|
import { safeTracked, safeLicensed } from '../safe-handler.js';
|
|
4
|
-
import { SupportedLocaleEnum, SpecStatusEnum, SpecTypeEnum, SpecScopeEnum, SpecTargetEnum, ExperienceLevelEnum, } from '../schemas/index.js';
|
|
4
|
+
import { SupportedLocaleEnum, SpecStatusEnum, SpecTypeEnum, SpecScopeEnum, SpecTargetEnum, ExperienceLevelEnum, ListSpecsOutputSchema, EstimateOutputSchema, ValidateOutputSchema, } from '../schemas/index.js';
|
|
5
5
|
import { handleSetLocale } from '../set-locale.js';
|
|
6
6
|
import { handleInitProject } from '../init-project.js';
|
|
7
7
|
import { handleInitConstitution } from '../init-constitution.js';
|
|
@@ -123,6 +123,7 @@ export function registerCoreSpecTools(server) {
|
|
|
123
123
|
status: SpecStatusEnum.optional().describe('Filter by spec status'),
|
|
124
124
|
type: SpecTypeEnum.optional().describe('Filter by spec type'),
|
|
125
125
|
},
|
|
126
|
+
outputSchema: ListSpecsOutputSchema,
|
|
126
127
|
}, safeTracked('list_specs', async (args) => handleListSpecs(args)));
|
|
127
128
|
// 7. update_status
|
|
128
129
|
server.registerTool('update_status', {
|
|
@@ -159,6 +160,7 @@ export function registerCoreSpecTools(server) {
|
|
|
159
160
|
specId: z.string().max(500).describe('Spec ID to estimate'),
|
|
160
161
|
projectId: z.string().max(500).describe('Project ID'),
|
|
161
162
|
},
|
|
163
|
+
outputSchema: EstimateOutputSchema,
|
|
162
164
|
}, safeTracked('estimate', async (args) => handleEstimate(args)));
|
|
163
165
|
// 9. reverse_engineer
|
|
164
166
|
server.registerTool('reverse_engineer', {
|
|
@@ -179,6 +181,7 @@ export function registerCoreSpecTools(server) {
|
|
|
179
181
|
specId: z.string().max(500).describe('Spec ID to validate'),
|
|
180
182
|
projectId: z.string().max(500).describe('Project ID'),
|
|
181
183
|
},
|
|
184
|
+
outputSchema: ValidateOutputSchema,
|
|
182
185
|
}, safeTracked('validate', async (args) => handleValidate(args)));
|
|
183
186
|
}
|
|
184
187
|
//# sourceMappingURL=core-spec-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-spec-tools.js","sourceRoot":"","sources":["../../../src/tools/register-spec-tools/core-spec-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,mBAAmB,
|
|
1
|
+
{"version":3,"file":"core-spec-tools.js","sourceRoot":"","sources":["../../../src/tools/register-spec-tools/core-spec-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-stack-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-stack-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"register-stack-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-stack-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoF1D"}
|
|
@@ -7,6 +7,7 @@ export function registerStackTools(server) {
|
|
|
7
7
|
// audit_stack — SPEC-041
|
|
8
8
|
server.registerTool('audit_stack', {
|
|
9
9
|
description: 'Audit all project dependencies, classify as up_to_date/outdated/vulnerable/unmaintained, and generate a StackHealthScore (0-100).',
|
|
10
|
+
annotations: { readOnlyHint: true },
|
|
10
11
|
inputSchema: {
|
|
11
12
|
projectId: z.string().max(500).describe('Project ID'),
|
|
12
13
|
projectPath: z.string().max(4096).describe('Absolute path to the project root'),
|
|
@@ -29,6 +30,7 @@ export function registerStackTools(server) {
|
|
|
29
30
|
// plan_upgrade — SPEC-041
|
|
30
31
|
server.registerTool('plan_upgrade', {
|
|
31
32
|
description: 'Generate a migration plan for upgrading a specific package, including breaking changes, estimated effort, and rollback procedure.',
|
|
33
|
+
annotations: { readOnlyHint: true },
|
|
32
34
|
inputSchema: {
|
|
33
35
|
projectId: z.string().max(500).describe('Project ID'),
|
|
34
36
|
projectPath: z.string().max(4096).describe('Absolute path to the project root'),
|
|
@@ -52,6 +54,7 @@ export function registerStackTools(server) {
|
|
|
52
54
|
// detect_deprecations — SPEC-041
|
|
53
55
|
server.registerTool('detect_deprecations', {
|
|
54
56
|
description: 'Scan project source files for deprecated API patterns (pattern-based, no network). Returns a deprecation report with tech-debt estimate.',
|
|
57
|
+
annotations: { readOnlyHint: true },
|
|
55
58
|
inputSchema: {
|
|
56
59
|
projectId: z.string().max(500).describe('Project ID'),
|
|
57
60
|
projectPath: z.string().max(4096).describe('Absolute path to the project root'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-stack-tools.js","sourceRoot":"","sources":["../../src/tools/register-stack-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,UAAU,kBAAkB,CAAC,MAAiB;IAClD,yBAAyB;IACzB,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,WAAW,EACT,mIAAmI;QACrI,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;YACrD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YAC/E,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;iBACzB,QAAQ,EAAE;iBACV,QAAQ,CAAC,0CAA0C,CAAC;YACvD,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mDAAmD,CAAC;YAChE,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;iBACrC,QAAQ,EAAE;iBACV,QAAQ,CAAC,gEAAgE,CAAC;YAC7E,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;SACtF;KACF,EACD,YAAY,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CACpE,CAAC;IAEF,0BAA0B;IAC1B,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EACT,mIAAmI;QACrI,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;YACrD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YAC/E,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,CAAC,iDAAiD,CAAC;YAC9D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACtE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;YAC3E,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,GAAG,CAAC,SAAS,CAAC;iBACd,QAAQ,EAAE;iBACV,QAAQ,CAAC,4DAA4D,CAAC;YACzE,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;iBACzB,QAAQ,EAAE;iBACV,QAAQ,CAAC,0CAA0C,CAAC;SACxD;KACF,EACD,YAAY,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CACtE,CAAC;IAEF,iCAAiC;IACjC,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EACT,0IAA0I;QAC5I,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;YACrD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YAC/E,SAAS,EAAE,CAAC;iBACT,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;iBACrE,QAAQ,EAAE;iBACV,QAAQ,CACP,qIAAqI,CACtI;YACH,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;iBACzB,QAAQ,EAAE;iBACV,QAAQ,CAAC,0CAA0C,CAAC;SACxD;KACF,EACD,YAAY,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CACpF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"register-stack-tools.js","sourceRoot":"","sources":["../../src/tools/register-stack-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { ToolResult } from '../types/index.js';
|
|
2
2
|
/**
|
|
3
3
|
* Wraps a tool handler so that any unhandled error is caught and returned as a
|
|
4
|
-
* graceful MCP error response, preventing server crashes.
|
|
4
|
+
* graceful MCP error response, preventing server crashes. Also enforces a
|
|
5
|
+
* configurable execution timeout (default 60s, env PLANU_TOOL_TIMEOUT_MS).
|
|
5
6
|
*
|
|
6
7
|
* Usage — only for alwaysAllowed tools (activate_license, license_status, etc.):
|
|
7
8
|
* server.registerTool('my_tool', schema, safe(async (args) => { ... }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-handler.d.ts","sourceRoot":"","sources":["../../src/tools/safe-handler.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"safe-handler.d.ts","sourceRoot":"","sources":["../../src/tools/safe-handler.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAqDpD;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,CAAC,EACpB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,GACxC,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAalC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,GACxC,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAElC;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,GACxC,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAElC"}
|
|
@@ -1,10 +1,57 @@
|
|
|
1
1
|
// tools/safe-handler.ts — Generic error-boundary wrapper for MCP tool handlers.
|
|
2
2
|
// Catches any unhandled error and returns a graceful MCP error response
|
|
3
|
-
// instead of crashing the server.
|
|
3
|
+
// instead of crashing the server. Includes execution timeout via Promise.race.
|
|
4
4
|
import { withLicenseGate, withUsageTracking } from './license-gate.js';
|
|
5
|
+
import { sanitizePath } from './sanitize-path.js';
|
|
6
|
+
/**
|
|
7
|
+
* Sanitizes path-like fields in tool args before passing to handler.
|
|
8
|
+
* Checks `projectPath` and `path` fields for directory traversal attacks.
|
|
9
|
+
*/
|
|
10
|
+
function sanitizeArgs(args) {
|
|
11
|
+
if (args === null || typeof args !== 'object') {
|
|
12
|
+
return args;
|
|
13
|
+
}
|
|
14
|
+
const obj = args;
|
|
15
|
+
if (typeof obj.projectPath === 'string') {
|
|
16
|
+
obj.projectPath = sanitizePath(obj.projectPath);
|
|
17
|
+
}
|
|
18
|
+
if (typeof obj.path === 'string') {
|
|
19
|
+
obj.path = sanitizePath(obj.path);
|
|
20
|
+
}
|
|
21
|
+
return args;
|
|
22
|
+
}
|
|
23
|
+
/** Default timeout: 60 seconds. Override via PLANU_TOOL_TIMEOUT_MS env var. */
|
|
24
|
+
const DEFAULT_TIMEOUT_MS = 60_000;
|
|
25
|
+
function getTimeoutMs() {
|
|
26
|
+
const envVal = process.env.PLANU_TOOL_TIMEOUT_MS;
|
|
27
|
+
if (envVal === undefined || envVal === '') {
|
|
28
|
+
return DEFAULT_TIMEOUT_MS;
|
|
29
|
+
}
|
|
30
|
+
const parsed = Number(envVal);
|
|
31
|
+
return Number.isFinite(parsed) && parsed > 0 ? parsed : DEFAULT_TIMEOUT_MS;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Races a handler promise against a timeout. Returns a timeout error ToolResult
|
|
35
|
+
* if the handler exceeds the configured duration.
|
|
36
|
+
*/
|
|
37
|
+
async function withTimeout(fn, ms) {
|
|
38
|
+
let timer;
|
|
39
|
+
const timeoutPromise = new Promise((_resolve, reject) => {
|
|
40
|
+
timer = setTimeout(() => {
|
|
41
|
+
reject(new Error(`Tool execution timed out after ${ms}ms`));
|
|
42
|
+
}, ms);
|
|
43
|
+
});
|
|
44
|
+
try {
|
|
45
|
+
return await Promise.race([fn(), timeoutPromise]);
|
|
46
|
+
}
|
|
47
|
+
finally {
|
|
48
|
+
clearTimeout(timer);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
5
51
|
/**
|
|
6
52
|
* Wraps a tool handler so that any unhandled error is caught and returned as a
|
|
7
|
-
* graceful MCP error response, preventing server crashes.
|
|
53
|
+
* graceful MCP error response, preventing server crashes. Also enforces a
|
|
54
|
+
* configurable execution timeout (default 60s, env PLANU_TOOL_TIMEOUT_MS).
|
|
8
55
|
*
|
|
9
56
|
* Usage — only for alwaysAllowed tools (activate_license, license_status, etc.):
|
|
10
57
|
* server.registerTool('my_tool', schema, safe(async (args) => { ... }));
|
|
@@ -12,7 +59,8 @@ import { withLicenseGate, withUsageTracking } from './license-gate.js';
|
|
|
12
59
|
export function safe(handler) {
|
|
13
60
|
return async (args) => {
|
|
14
61
|
try {
|
|
15
|
-
|
|
62
|
+
const safeArgs = sanitizeArgs(args);
|
|
63
|
+
return await withTimeout(() => handler(safeArgs), getTimeoutMs());
|
|
16
64
|
}
|
|
17
65
|
catch (error) {
|
|
18
66
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-handler.js","sourceRoot":"","sources":["../../src/tools/safe-handler.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,wEAAwE;AACxE
|
|
1
|
+
{"version":3,"file":"safe-handler.js","sourceRoot":"","sources":["../../src/tools/safe-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sanitizes an input path to prevent directory traversal attacks.
|
|
3
|
+
*
|
|
4
|
+
* - Normalizes and resolves the path to an absolute form
|
|
5
|
+
* - Rejects paths that still contain ".." after resolution
|
|
6
|
+
* - Rejects paths outside allowed directories (home, /tmp, cwd)
|
|
7
|
+
*
|
|
8
|
+
* @param inputPath - The untrusted path from an MCP client
|
|
9
|
+
* @returns The resolved, validated absolute path
|
|
10
|
+
* @throws Error if the path is unsafe or outside allowed directories
|
|
11
|
+
*/
|
|
12
|
+
export declare function sanitizePath(inputPath: string): string;
|
|
13
|
+
//# sourceMappingURL=sanitize-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize-path.d.ts","sourceRoot":"","sources":["../../src/tools/sanitize-path.ts"],"names":[],"mappings":"AAgCA;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAuBtD"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
// tools/sanitize-path.ts — Path sanitization to prevent directory traversal attacks.
|
|
2
|
+
// Validates that resolved paths fall within allowed directory prefixes.
|
|
3
|
+
import { resolve, normalize } from 'node:path';
|
|
4
|
+
import { homedir, tmpdir } from 'node:os';
|
|
5
|
+
import { realpathSync } from 'node:fs';
|
|
6
|
+
/**
|
|
7
|
+
* Returns the list of allowed directory prefixes.
|
|
8
|
+
* Paths must start with one of these to be considered safe.
|
|
9
|
+
* Uses os.tmpdir() to handle macOS symlinks (/var/folders/... vs /tmp).
|
|
10
|
+
*/
|
|
11
|
+
function getSafePrefixes() {
|
|
12
|
+
const prefixes = [homedir(), process.cwd()];
|
|
13
|
+
// Add both the logical and resolved tmpdir (macOS: /tmp → /private/tmp, tmpdir() → /var/folders/...)
|
|
14
|
+
try {
|
|
15
|
+
const tmp = tmpdir();
|
|
16
|
+
prefixes.push(tmp);
|
|
17
|
+
prefixes.push(realpathSync(tmp));
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
prefixes.push('/tmp');
|
|
21
|
+
}
|
|
22
|
+
// Always include /tmp (symlink to /private/tmp on macOS) and its realpath
|
|
23
|
+
prefixes.push('/tmp');
|
|
24
|
+
try {
|
|
25
|
+
prefixes.push(realpathSync('/tmp'));
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
// ignore if /tmp doesn't exist
|
|
29
|
+
}
|
|
30
|
+
return [...new Set(prefixes)];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Sanitizes an input path to prevent directory traversal attacks.
|
|
34
|
+
*
|
|
35
|
+
* - Normalizes and resolves the path to an absolute form
|
|
36
|
+
* - Rejects paths that still contain ".." after resolution
|
|
37
|
+
* - Rejects paths outside allowed directories (home, /tmp, cwd)
|
|
38
|
+
*
|
|
39
|
+
* @param inputPath - The untrusted path from an MCP client
|
|
40
|
+
* @returns The resolved, validated absolute path
|
|
41
|
+
* @throws Error if the path is unsafe or outside allowed directories
|
|
42
|
+
*/
|
|
43
|
+
export function sanitizePath(inputPath) {
|
|
44
|
+
if (!inputPath || inputPath.trim() === '') {
|
|
45
|
+
throw new Error('Path must not be empty');
|
|
46
|
+
}
|
|
47
|
+
const resolved = resolve(normalize(inputPath));
|
|
48
|
+
// After resolve(), ".." segments should be eliminated on valid filesystems.
|
|
49
|
+
// If they persist, something is wrong.
|
|
50
|
+
if (resolved.includes('..')) {
|
|
51
|
+
throw new Error(`Unsafe path: resolved path still contains ".." segments: ${resolved}`);
|
|
52
|
+
}
|
|
53
|
+
const safePrefixes = getSafePrefixes();
|
|
54
|
+
const isSafe = safePrefixes.some((prefix) => resolved.startsWith(prefix));
|
|
55
|
+
if (!isSafe) {
|
|
56
|
+
throw new Error(`Path outside allowed directories: ${resolved}. Allowed prefixes: ${safePrefixes.join(', ')}`);
|
|
57
|
+
}
|
|
58
|
+
return resolved;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=sanitize-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize-path.js","sourceRoot":"","sources":["../../src/tools/sanitize-path.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,wEAAwE;AAExE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;;;GAIG;AACH,SAAS,eAAe;IACtB,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,qGAAqG;IACrG,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IACD,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,IAAI,CAAC;QACH,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,+BAA+B;IACjC,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAE/C,4EAA4E;IAC5E,uCAAuC;IACvC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,4DAA4D,QAAQ,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAE1E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,qCAAqC,QAAQ,uBAAuB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9F,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -12,5 +12,6 @@ export { WorkerStatusInputSchema, ConfigureWorkersInputSchema } from './workers-
|
|
|
12
12
|
export { TokenUsagePeriodEnum, TokenUsageGroupByEnum } from './token-optimization.js';
|
|
13
13
|
export { ConfigureLLMProvidersActionEnum, LoadBalancingStrategyEnum, } from './llm-provider-schemas.js';
|
|
14
14
|
export { PluginActionEnum } from './plugins-schemas.js';
|
|
15
|
+
export { ListSpecsOutputSchema, EstimateOutputSchema, ValidateOutputSchema, CheckReadinessOutputSchema, LicenseStatusOutputSchema, } from './output-schemas.js';
|
|
15
16
|
export { CreatePRFromSpecSchema, PRStatusSchema, ReviewPRSchema, CreateReleaseSchema, GenerateChangelogSchema, } from './github.js';
|
|
16
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/schemas/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE9F,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE9E,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEpF,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAE9F,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAE3F,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEtF,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/schemas/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE9F,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE9E,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEpF,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAE9F,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAE3F,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEtF,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,aAAa,CAAC"}
|
|
@@ -13,5 +13,6 @@ export { WorkerStatusInputSchema, ConfigureWorkersInputSchema } from './workers-
|
|
|
13
13
|
export { TokenUsagePeriodEnum, TokenUsageGroupByEnum } from './token-optimization.js';
|
|
14
14
|
export { ConfigureLLMProvidersActionEnum, LoadBalancingStrategyEnum, } from './llm-provider-schemas.js';
|
|
15
15
|
export { PluginActionEnum } from './plugins-schemas.js';
|
|
16
|
+
export { ListSpecsOutputSchema, EstimateOutputSchema, ValidateOutputSchema, CheckReadinessOutputSchema, LicenseStatusOutputSchema, } from './output-schemas.js';
|
|
16
17
|
export { CreatePRFromSpecSchema, PRStatusSchema, ReviewPRSchema, CreateReleaseSchema, GenerateChangelogSchema, } from './github.js';
|
|
17
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/schemas/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAEhE,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE9F,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE9E,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEpF,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAE9F,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAE3F,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEtF,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/schemas/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAEhE,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE9F,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE9E,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEpF,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAE9F,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAE3F,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEtF,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const ListSpecsOutputSchema: {
|
|
3
|
+
projectId: z.ZodString;
|
|
4
|
+
filters: z.ZodObject<{
|
|
5
|
+
status: z.ZodString;
|
|
6
|
+
type: z.ZodString;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
count: z.ZodNumber;
|
|
9
|
+
totalCount: z.ZodNumber;
|
|
10
|
+
specs: z.ZodArray<z.ZodObject<{
|
|
11
|
+
id: z.ZodString;
|
|
12
|
+
title: z.ZodString;
|
|
13
|
+
type: z.ZodString;
|
|
14
|
+
scope: z.ZodString;
|
|
15
|
+
status: z.ZodString;
|
|
16
|
+
difficulty: z.ZodString;
|
|
17
|
+
risk: z.ZodString;
|
|
18
|
+
target: z.ZodString;
|
|
19
|
+
tags: z.ZodArray<z.ZodString>;
|
|
20
|
+
gitBranch: z.ZodOptional<z.ZodString>;
|
|
21
|
+
estimation: z.ZodObject<{
|
|
22
|
+
devHours: z.ZodNumber;
|
|
23
|
+
totalCostUsd: z.ZodNumber;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
createdAt: z.ZodString;
|
|
26
|
+
updatedAt: z.ZodString;
|
|
27
|
+
lastModified: z.ZodString;
|
|
28
|
+
}, z.core.$strip>>;
|
|
29
|
+
summary: z.ZodObject<{
|
|
30
|
+
byStatus: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
31
|
+
byType: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
32
|
+
totalDevHours: z.ZodNumber;
|
|
33
|
+
totalReviewHours: z.ZodNumber;
|
|
34
|
+
totalCostUsd: z.ZodNumber;
|
|
35
|
+
}, z.core.$strip>;
|
|
36
|
+
teamSuggestion: z.ZodNullable<z.ZodObject<{
|
|
37
|
+
recommended: z.ZodBoolean;
|
|
38
|
+
reason: z.ZodString;
|
|
39
|
+
templateId: z.ZodString;
|
|
40
|
+
teamSize: z.ZodNumber;
|
|
41
|
+
specs: z.ZodArray<z.ZodString>;
|
|
42
|
+
toolCalls: z.ZodArray<z.ZodString>;
|
|
43
|
+
}, z.core.$strip>>;
|
|
44
|
+
message: z.ZodString;
|
|
45
|
+
};
|
|
46
|
+
export declare const EstimateOutputSchema: {
|
|
47
|
+
specId: z.ZodString;
|
|
48
|
+
difficulty: z.ZodString;
|
|
49
|
+
confidence: z.ZodString;
|
|
50
|
+
estimation: z.ZodObject<{
|
|
51
|
+
devHours: z.ZodNumber;
|
|
52
|
+
reviewHours: z.ZodNumber;
|
|
53
|
+
totalHours: z.ZodNumber;
|
|
54
|
+
recommendedModel: z.ZodString;
|
|
55
|
+
tokensOpus: z.ZodNumber;
|
|
56
|
+
tokensSonnet: z.ZodNumber;
|
|
57
|
+
apiCostUsd: z.ZodNumber;
|
|
58
|
+
humanCostUsd: z.ZodNumber;
|
|
59
|
+
totalCostUsd: z.ZodNumber;
|
|
60
|
+
tokenOptimization: z.ZodObject<{
|
|
61
|
+
estimatedSavings: z.ZodNumber;
|
|
62
|
+
suggestions: z.ZodArray<z.ZodString>;
|
|
63
|
+
}, z.core.$strip>;
|
|
64
|
+
}, z.core.$strip>;
|
|
65
|
+
tokenStrategy: z.ZodObject<{
|
|
66
|
+
operationMode: z.ZodString;
|
|
67
|
+
suggestedAiModel: z.ZodString;
|
|
68
|
+
modelRationale: z.ZodString;
|
|
69
|
+
}, z.core.$strip>;
|
|
70
|
+
reasoning: z.ZodArray<z.ZodString>;
|
|
71
|
+
similarSpecs: z.ZodArray<z.ZodObject<{
|
|
72
|
+
specId: z.ZodString;
|
|
73
|
+
similarity: z.ZodNumber;
|
|
74
|
+
}, z.core.$strip>>;
|
|
75
|
+
historyUsed: z.ZodBoolean;
|
|
76
|
+
};
|
|
77
|
+
export declare const ValidateOutputSchema: {
|
|
78
|
+
specId: z.ZodString;
|
|
79
|
+
title: z.ZodString;
|
|
80
|
+
score: z.ZodNumber;
|
|
81
|
+
fieldsImplemented: z.ZodNumber;
|
|
82
|
+
fieldsTotal: z.ZodNumber;
|
|
83
|
+
matches: z.ZodArray<z.ZodString>;
|
|
84
|
+
missing: z.ZodArray<z.ZodString>;
|
|
85
|
+
extra: z.ZodArray<z.ZodString>;
|
|
86
|
+
qualityIssues: z.ZodArray<z.ZodObject<{
|
|
87
|
+
file: z.ZodString;
|
|
88
|
+
line: z.ZodNumber;
|
|
89
|
+
severity: z.ZodString;
|
|
90
|
+
rule: z.ZodString;
|
|
91
|
+
message: z.ZodString;
|
|
92
|
+
suggestion: z.ZodOptional<z.ZodString>;
|
|
93
|
+
}, z.core.$strip>>;
|
|
94
|
+
implementationQualityScore: z.ZodObject<{
|
|
95
|
+
overall: z.ZodNumber;
|
|
96
|
+
gradeLetter: z.ZodString;
|
|
97
|
+
filesAudited: z.ZodNumber;
|
|
98
|
+
categories: z.ZodArray<z.ZodObject<{
|
|
99
|
+
category: z.ZodString;
|
|
100
|
+
score: z.ZodNumber;
|
|
101
|
+
weight: z.ZodNumber;
|
|
102
|
+
issueCount: z.ZodNumber;
|
|
103
|
+
worstSeverity: z.ZodString;
|
|
104
|
+
}, z.core.$strip>>;
|
|
105
|
+
}, z.core.$strip>;
|
|
106
|
+
definitionOfReady: z.ZodObject<{
|
|
107
|
+
isReady: z.ZodBoolean;
|
|
108
|
+
passed: z.ZodNumber;
|
|
109
|
+
required: z.ZodNumber;
|
|
110
|
+
items: z.ZodArray<z.ZodObject<{
|
|
111
|
+
id: z.ZodString;
|
|
112
|
+
description: z.ZodString;
|
|
113
|
+
status: z.ZodString;
|
|
114
|
+
}, z.core.$strip>>;
|
|
115
|
+
}, z.core.$strip>;
|
|
116
|
+
definitionOfDone: z.ZodObject<{
|
|
117
|
+
isDone: z.ZodBoolean;
|
|
118
|
+
passed: z.ZodNumber;
|
|
119
|
+
required: z.ZodNumber;
|
|
120
|
+
items: z.ZodArray<z.ZodObject<{
|
|
121
|
+
id: z.ZodString;
|
|
122
|
+
description: z.ZodString;
|
|
123
|
+
status: z.ZodString;
|
|
124
|
+
}, z.core.$strip>>;
|
|
125
|
+
}, z.core.$strip>;
|
|
126
|
+
suggestions: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
127
|
+
};
|
|
128
|
+
export declare const CheckReadinessOutputSchema: {
|
|
129
|
+
specId: z.ZodString;
|
|
130
|
+
score: z.ZodNumber;
|
|
131
|
+
ready: z.ZodBoolean;
|
|
132
|
+
mode: z.ZodString;
|
|
133
|
+
issues: z.ZodObject<{
|
|
134
|
+
blockers: z.ZodArray<z.ZodString>;
|
|
135
|
+
warnings: z.ZodArray<z.ZodString>;
|
|
136
|
+
breakdown: z.ZodObject<{
|
|
137
|
+
hu: z.ZodOptional<z.ZodNumber>;
|
|
138
|
+
criteria: z.ZodOptional<z.ZodNumber>;
|
|
139
|
+
files: z.ZodOptional<z.ZodNumber>;
|
|
140
|
+
dependencies: z.ZodOptional<z.ZodNumber>;
|
|
141
|
+
}, z.core.$strip>;
|
|
142
|
+
}, z.core.$strip>;
|
|
143
|
+
recommendations: z.ZodArray<z.ZodString>;
|
|
144
|
+
};
|
|
145
|
+
export declare const LicenseStatusOutputSchema: {
|
|
146
|
+
version: z.ZodString;
|
|
147
|
+
plan: z.ZodString;
|
|
148
|
+
toolsAvailable: z.ZodNumber;
|
|
149
|
+
toolsTotal: z.ZodNumber;
|
|
150
|
+
limits: z.ZodObject<{
|
|
151
|
+
maxProjects: z.ZodNumber;
|
|
152
|
+
currentProjects: z.ZodNumber;
|
|
153
|
+
maxActiveSpecs: z.ZodNumber;
|
|
154
|
+
}, z.core.$strip>;
|
|
155
|
+
customer: z.ZodOptional<z.ZodObject<{
|
|
156
|
+
name: z.ZodString;
|
|
157
|
+
email: z.ZodString;
|
|
158
|
+
variant: z.ZodString;
|
|
159
|
+
activatedAt: z.ZodString;
|
|
160
|
+
lastValidatedAt: z.ZodString;
|
|
161
|
+
}, z.core.$strip>>;
|
|
162
|
+
activationSlots: z.ZodOptional<z.ZodObject<{
|
|
163
|
+
used: z.ZodNumber;
|
|
164
|
+
total: z.ZodNumber;
|
|
165
|
+
}, z.core.$strip>>;
|
|
166
|
+
upgradeUrl: z.ZodOptional<z.ZodString>;
|
|
167
|
+
};
|
|
168
|
+
//# sourceMappingURL=output-schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-schemas.d.ts","sourceRoot":"","sources":["../../../src/tools/schemas/output-schemas.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CjC,CAAC;AAIF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgChC,CAAC;AAIF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DhC,CAAC;AAIF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;CAgBtC,CAAC;AAIF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;CA0BrC,CAAC"}
|