@planu/cli 1.0.2 → 1.0.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/engine/actuals/progress-parser.js +1 -1
- package/dist/engine/actuals/progress-parser.js.map +1 -1
- package/dist/engine/ai-integration/agent-frameworks/crewai-exporter.d.ts.map +1 -1
- package/dist/engine/ai-integration/agent-frameworks/crewai-exporter.js.map +1 -1
- package/dist/engine/ai-integration/cline/clinerules-generator.d.ts.map +1 -1
- package/dist/engine/ai-integration/cline/clinerules-generator.js +1 -6
- package/dist/engine/ai-integration/cline/clinerules-generator.js.map +1 -1
- package/dist/engine/ai-integration/github-copilot/index.d.ts +1 -1
- package/dist/engine/ai-integration/github-copilot/index.d.ts.map +1 -1
- package/dist/engine/ai-integration/github-copilot/index.js +1 -1
- package/dist/engine/ai-integration/github-copilot/index.js.map +1 -1
- package/dist/engine/ai-integration/kiro/steering-generator.d.ts.map +1 -1
- package/dist/engine/ai-integration/kiro/steering-generator.js +1 -6
- package/dist/engine/ai-integration/kiro/steering-generator.js.map +1 -1
- package/dist/engine/ai-integration/mastra/index.d.ts +1 -1
- package/dist/engine/ai-integration/mastra/index.d.ts.map +1 -1
- package/dist/engine/ai-integration/mastra/index.js +1 -1
- package/dist/engine/ai-integration/mastra/index.js.map +1 -1
- package/dist/engine/api-spec-generator/ac-builder.d.ts.map +1 -1
- package/dist/engine/api-spec-generator/ac-builder.js.map +1 -1
- package/dist/engine/api-spec-generator/graphql-parser.d.ts.map +1 -1
- package/dist/engine/api-spec-generator/graphql-parser.js +5 -1
- package/dist/engine/api-spec-generator/graphql-parser.js.map +1 -1
- package/dist/engine/api-spec-generator/openapi-parser.d.ts.map +1 -1
- package/dist/engine/api-spec-generator/openapi-parser.js.map +1 -1
- package/dist/engine/compliance-checker.js +26 -3
- package/dist/engine/compliance-checker.js.map +1 -1
- package/dist/engine/detectors/idp-detector.js +1 -1
- package/dist/engine/detectors/idp-detector.js.map +1 -1
- package/dist/engine/github/quality-dimensions.js +1 -1
- package/dist/engine/github/quality-dimensions.js.map +1 -1
- package/dist/engine/hooks/event-bus.js +1 -1
- package/dist/engine/hooks/event-bus.js.map +1 -1
- package/dist/engine/hooks-reconciler.d.ts.map +1 -1
- package/dist/engine/hooks-reconciler.js.map +1 -1
- package/dist/engine/importers/csv-importer.d.ts.map +1 -1
- package/dist/engine/importers/csv-importer.js.map +1 -1
- package/dist/engine/importers/jira-importer.d.ts.map +1 -1
- package/dist/engine/importers/jira-importer.js.map +1 -1
- package/dist/engine/importers/linear-importer.d.ts.map +1 -1
- package/dist/engine/importers/linear-importer.js.map +1 -1
- package/dist/engine/importers/markdown-importer.d.ts.map +1 -1
- package/dist/engine/importers/markdown-importer.js.map +1 -1
- package/dist/engine/jira-exporter.d.ts.map +1 -1
- package/dist/engine/jira-exporter.js.map +1 -1
- package/dist/engine/property-test-generator.d.ts.map +1 -1
- package/dist/engine/property-test-generator.js +4 -1
- package/dist/engine/property-test-generator.js.map +1 -1
- package/dist/engine/registry/composio-publisher.d.ts.map +1 -1
- package/dist/engine/registry/composio-publisher.js +1 -3
- package/dist/engine/registry/composio-publisher.js.map +1 -1
- package/dist/engine/registry/mcp-official-publisher.d.ts.map +1 -1
- package/dist/engine/registry/mcp-official-publisher.js +3 -1
- package/dist/engine/registry/mcp-official-publisher.js.map +1 -1
- package/dist/engine/spec-differ.d.ts.map +1 -1
- package/dist/engine/spec-differ.js.map +1 -1
- package/dist/engine/spec-repair.js +1 -1
- package/dist/engine/spec-repair.js.map +1 -1
- package/dist/engine/spec-template-engine.d.ts.map +1 -1
- package/dist/engine/spec-template-engine.js +1 -3
- package/dist/engine/spec-template-engine.js.map +1 -1
- package/dist/engine/token-optimizer/response-cache.d.ts.map +1 -1
- package/dist/engine/token-optimizer/response-cache.js +1 -4
- package/dist/engine/token-optimizer/response-cache.js.map +1 -1
- package/dist/engine/validator/deep-code-checker.js +1 -1
- package/dist/engine/validator/deep-code-checker.js.map +1 -1
- package/dist/storage/comments-store.d.ts.map +1 -1
- package/dist/storage/comments-store.js.map +1 -1
- package/dist/storage/compliance-store.d.ts.map +1 -1
- package/dist/storage/compliance-store.js.map +1 -1
- package/dist/storage/jira-store.d.ts.map +1 -1
- package/dist/storage/jira-store.js.map +1 -1
- package/dist/storage/linear-store.d.ts.map +1 -1
- package/dist/storage/linear-store.js.map +1 -1
- package/dist/tools/ai-ecosystem-status.d.ts +1 -1
- package/dist/tools/ai-ecosystem-status.d.ts.map +1 -1
- package/dist/tools/ai-ecosystem-status.js +14 -3
- package/dist/tools/ai-ecosystem-status.js.map +1 -1
- package/dist/tools/api-spec-generator-handler.d.ts.map +1 -1
- package/dist/tools/api-spec-generator-handler.js.map +1 -1
- package/dist/tools/comments-handler.d.ts.map +1 -1
- package/dist/tools/comments-handler.js +2 -9
- package/dist/tools/comments-handler.js.map +1 -1
- package/dist/tools/compliance-handler.d.ts.map +1 -1
- package/dist/tools/compliance-handler.js +1 -1
- package/dist/tools/compliance-handler.js.map +1 -1
- package/dist/tools/generate-batch-script.d.ts.map +1 -1
- package/dist/tools/generate-batch-script.js +4 -14
- package/dist/tools/generate-batch-script.js.map +1 -1
- package/dist/tools/import-spec-handler.d.ts.map +1 -1
- package/dist/tools/import-spec-handler.js.map +1 -1
- package/dist/tools/init-project/helpers.js +1 -1
- package/dist/tools/init-project/helpers.js.map +1 -1
- package/dist/tools/init-project/planu-workflow-generator.js +2 -2
- package/dist/tools/init-project/planu-workflow-generator.js.map +1 -1
- package/dist/tools/orchestrate-agents-handler.d.ts.map +1 -1
- package/dist/tools/orchestrate-agents-handler.js +1 -10
- package/dist/tools/orchestrate-agents-handler.js.map +1 -1
- package/dist/tools/register-api-spec-generator.d.ts.map +1 -1
- package/dist/tools/register-api-spec-generator.js +1 -5
- package/dist/tools/register-api-spec-generator.js.map +1 -1
- package/dist/tools/register-backlog-tools.d.ts.map +1 -1
- package/dist/tools/register-backlog-tools.js +29 -4
- package/dist/tools/register-backlog-tools.js.map +1 -1
- package/dist/tools/register-comments-tools.d.ts.map +1 -1
- package/dist/tools/register-comments-tools.js +2 -6
- package/dist/tools/register-comments-tools.js.map +1 -1
- package/dist/tools/register-estimation-accuracy-tools.d.ts.map +1 -1
- package/dist/tools/register-estimation-accuracy-tools.js +22 -3
- package/dist/tools/register-estimation-accuracy-tools.js.map +1 -1
- package/dist/tools/register-import-tools.d.ts.map +1 -1
- package/dist/tools/register-import-tools.js +2 -8
- package/dist/tools/register-import-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 +13 -2
- package/dist/tools/register-platform-tools/design-stack-tools.js.map +1 -1
- package/dist/tools/register-spec-314.d.ts.map +1 -1
- package/dist/tools/register-spec-314.js +1 -5
- package/dist/tools/register-spec-314.js.map +1 -1
- package/dist/tools/register-spec-316.d.ts.map +1 -1
- package/dist/tools/register-spec-316.js +7 -3
- package/dist/tools/register-spec-316.js.map +1 -1
- package/dist/tools/register-spec-317.d.ts.map +1 -1
- package/dist/tools/register-spec-317.js.map +1 -1
- package/dist/tools/register-spec-319.d.ts.map +1 -1
- package/dist/tools/register-spec-319.js +4 -16
- package/dist/tools/register-spec-319.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 +131 -20
- package/dist/tools/register-spec-tools/analysis-tools.js.map +1 -1
- package/dist/tools/register-velocity-tools.d.ts.map +1 -1
- package/dist/tools/register-velocity-tools.js +2 -10
- package/dist/tools/register-velocity-tools.js.map +1 -1
- package/dist/tools/scan-project.d.ts +5 -1
- package/dist/tools/scan-project.d.ts.map +1 -1
- package/dist/tools/scan-project.js +6 -1
- package/dist/tools/scan-project.js.map +1 -1
- package/dist/tools/spec-diff-handler.d.ts.map +1 -1
- package/dist/tools/spec-diff-handler.js.map +1 -1
- package/dist/tools/spec-marketplace-handler.d.ts.map +1 -1
- package/dist/tools/spec-marketplace-handler.js.map +1 -1
- package/dist/tools/spec-quality-score-handler.d.ts.map +1 -1
- package/dist/tools/spec-quality-score-handler.js +22 -8
- package/dist/tools/spec-quality-score-handler.js.map +1 -1
- package/dist/tools/sync-ai-configs.d.ts +1 -1
- package/dist/tools/sync-ai-configs.d.ts.map +1 -1
- package/dist/tools/sync-ai-configs.js +14 -3
- package/dist/tools/sync-ai-configs.js.map +1 -1
- package/dist/tools/velocity-handler.d.ts.map +1 -1
- package/dist/tools/velocity-handler.js.map +1 -1
- package/package.json +8 -8
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { safeLicensed } from './safe-handler.js';
|
|
3
3
|
import { handleRecordActual, handleEstimationAccuracyReport, handleCalibrateEstimates, } from './estimation-accuracy-handler.js';
|
|
4
|
+
import { resolveProjectId, missingProjectIdError } from './resolve-project-id.js';
|
|
4
5
|
export function registerEstimationAccuracyTools(server) {
|
|
5
6
|
server.registerTool('record_actual', {
|
|
6
7
|
description: 'Record the actual hours spent on a completed spec to track estimation accuracy. ' +
|
|
@@ -25,7 +26,13 @@ export function registerEstimationAccuracyTools(server) {
|
|
|
25
26
|
.describe('Optional notes explaining the deviation (e.g. "scope crept", "faster than expected").'),
|
|
26
27
|
},
|
|
27
28
|
annotations: { readOnlyHint: false },
|
|
28
|
-
}, safeLicensed('record_actual', async (args) =>
|
|
29
|
+
}, safeLicensed('record_actual', async (args) => {
|
|
30
|
+
const pid = resolveProjectId(args);
|
|
31
|
+
if (!pid) {
|
|
32
|
+
return missingProjectIdError;
|
|
33
|
+
}
|
|
34
|
+
return handleRecordActual(args);
|
|
35
|
+
}));
|
|
29
36
|
server.registerTool('estimation_accuracy_report', {
|
|
30
37
|
description: 'Generate a historical estimation accuracy report for the project. ' +
|
|
31
38
|
'Shows per-spec deviation (estimated vs actual), aggregate stats, outliers, and trend over time. ' +
|
|
@@ -49,7 +56,13 @@ export function registerEstimationAccuracyTools(server) {
|
|
|
49
56
|
.describe('Maximum number of spec records to include (default: all records).'),
|
|
50
57
|
},
|
|
51
58
|
annotations: { readOnlyHint: true },
|
|
52
|
-
}, safeLicensed('estimation_accuracy_report', async (args) =>
|
|
59
|
+
}, safeLicensed('estimation_accuracy_report', async (args) => {
|
|
60
|
+
const pid = resolveProjectId(args);
|
|
61
|
+
if (!pid) {
|
|
62
|
+
return missingProjectIdError;
|
|
63
|
+
}
|
|
64
|
+
return handleEstimationAccuracyReport(args);
|
|
65
|
+
}));
|
|
53
66
|
server.registerTool('calibrate_estimates', {
|
|
54
67
|
description: 'Recalculate estimation calibration factors based on accumulated historical actuals. ' +
|
|
55
68
|
'When historical data shows systematic over/underestimation (>20% avg deviation), ' +
|
|
@@ -66,6 +79,12 @@ export function registerEstimationAccuracyTools(server) {
|
|
|
66
79
|
.describe('Minimum number of actuals per scope/type before a calibration factor is applied (default: 3).'),
|
|
67
80
|
},
|
|
68
81
|
annotations: { readOnlyHint: false, destructiveHint: true },
|
|
69
|
-
}, safeLicensed('calibrate_estimates', async (args) =>
|
|
82
|
+
}, safeLicensed('calibrate_estimates', async (args) => {
|
|
83
|
+
const pid = resolveProjectId(args);
|
|
84
|
+
if (!pid) {
|
|
85
|
+
return missingProjectIdError;
|
|
86
|
+
}
|
|
87
|
+
return handleCalibrateEstimates(args);
|
|
88
|
+
}));
|
|
70
89
|
}
|
|
71
90
|
//# sourceMappingURL=register-estimation-accuracy-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-estimation-accuracy-tools.js","sourceRoot":"","sources":["../../src/tools/register-estimation-accuracy-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,8BAA8B,EAC9B,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"register-estimation-accuracy-tools.js","sourceRoot":"","sources":["../../src/tools/register-estimation-accuracy-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-import-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-import-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"register-import-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-import-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAkE3D"}
|
|
@@ -22,10 +22,7 @@ export function registerImportTools(server) {
|
|
|
22
22
|
.max(100_000)
|
|
23
23
|
.optional()
|
|
24
24
|
.describe('Inline content string. For jira/linear: JSON string of the issue. For markdown: markdown text. For csv: CSV text.'),
|
|
25
|
-
projectPath: z
|
|
26
|
-
.string()
|
|
27
|
-
.max(4096)
|
|
28
|
-
.describe('Absolute path to the target project root'),
|
|
25
|
+
projectPath: z.string().max(4096).describe('Absolute path to the target project root'),
|
|
29
26
|
overwrite: z
|
|
30
27
|
.boolean()
|
|
31
28
|
.optional()
|
|
@@ -49,10 +46,7 @@ export function registerImportTools(server) {
|
|
|
49
46
|
.max(500_000)
|
|
50
47
|
.optional()
|
|
51
48
|
.describe('Inline content string. For csv: CSV with header row. For jira/linear: JSON array of issues.'),
|
|
52
|
-
projectPath: z
|
|
53
|
-
.string()
|
|
54
|
-
.max(4096)
|
|
55
|
-
.describe('Absolute path to the target project root'),
|
|
49
|
+
projectPath: z.string().max(4096).describe('Absolute path to the target project root'),
|
|
56
50
|
overwrite: z
|
|
57
51
|
.boolean()
|
|
58
52
|
.optional()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-import-tools.js","sourceRoot":"","sources":["../../src/tools/register-import-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE9E,MAAM,gBAAgB,GAAG,CAAC;KACvB,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;KAC3C,QAAQ,CAAC,+CAA+C,CAAC,CAAC;AAE7D,MAAM,UAAU,mBAAmB,CAAC,MAAiB;IACnD,cAAc;IACd,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,WAAW,EACT,qFAAqF;YACrF,gDAAgD;YAChD,mDAAmD;QACrD,WAAW,EAAE;YACX,MAAM,EAAE,gBAAgB;YACxB,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,CAAC,IAAI,CAAC;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,wEAAwE,CAAC;YACrF,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,GAAG,CAAC,OAAO,CAAC;iBACZ,QAAQ,EAAE;iBACV,QAAQ,CACP,mHAAmH,CACpH;YACH,WAAW,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"register-import-tools.js","sourceRoot":"","sources":["../../src/tools/register-import-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE9E,MAAM,gBAAgB,GAAG,CAAC;KACvB,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;KAC3C,QAAQ,CAAC,+CAA+C,CAAC,CAAC;AAE7D,MAAM,UAAU,mBAAmB,CAAC,MAAiB;IACnD,cAAc;IACd,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,WAAW,EACT,qFAAqF;YACrF,gDAAgD;YAChD,mDAAmD;QACrD,WAAW,EAAE;YACX,MAAM,EAAE,gBAAgB;YACxB,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,CAAC,IAAI,CAAC;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,wEAAwE,CAAC;YACrF,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,GAAG,CAAC,OAAO,CAAC;iBACZ,QAAQ,EAAE;iBACV,QAAQ,CACP,mHAAmH,CACpH;YACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YACtF,SAAS,EAAE,CAAC;iBACT,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CACP,qIAAqI,CACtI;SACJ;KACF,EACD,WAAW,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CACnE,CAAC;IAEF,cAAc;IACd,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,WAAW,EACT,oFAAoF;YACpF,mEAAmE;YACnE,8EAA8E;QAChF,WAAW,EAAE;YACX,MAAM,EAAE,gBAAgB;YACxB,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,CAAC,IAAI,CAAC;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,4DAA4D,CAAC;YACzE,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,GAAG,CAAC,OAAO,CAAC;iBACZ,QAAQ,EAAE;iBACV,QAAQ,CACP,6FAA6F,CAC9F;YACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YACtF,SAAS,EAAE,CAAC;iBACT,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,4DAA4D,CAAC;SAC1E;KACF,EACD,WAAW,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CACnE,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-stack-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/register-platform-tools/design-stack-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"design-stack-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/register-platform-tools/design-stack-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAwBzE;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqRhE"}
|
|
@@ -15,6 +15,7 @@ import { handleGenerateSubAgent } from '../generate-sub-agent.js';
|
|
|
15
15
|
import { handleGenerateRules } from '../generate-rules.js';
|
|
16
16
|
import { handleGenerateOrchestrationScript } from '../generate-orchestration-script.js';
|
|
17
17
|
import { handleRedTeam } from '../red-team.js';
|
|
18
|
+
import { resolveProjectId } from '../resolve-project-id.js';
|
|
18
19
|
/**
|
|
19
20
|
* Registers design, challenge, stack, and agent tools (tools 20–30) on the MCP server.
|
|
20
21
|
*/
|
|
@@ -98,9 +99,19 @@ export function registerDesignStackTools(server) {
|
|
|
98
99
|
.max(100)
|
|
99
100
|
.optional()
|
|
100
101
|
.describe('Constraints (budget, team size, timeline, etc.)'),
|
|
101
|
-
projectId: z.string().max(500).optional().describe('Project ID
|
|
102
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
103
|
+
projectPath: z
|
|
104
|
+
.string()
|
|
105
|
+
.max(4096)
|
|
106
|
+
.optional()
|
|
107
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
102
108
|
},
|
|
103
|
-
}, safeTracked('suggest_stack', async (args) =>
|
|
109
|
+
}, safeTracked('suggest_stack', async (args) => {
|
|
110
|
+
const typedArgs = args;
|
|
111
|
+
const pid = resolveProjectId(typedArgs);
|
|
112
|
+
const enrichedArgs = pid ? { ...args, projectId: pid } : args;
|
|
113
|
+
return handleSuggestStack(enrichedArgs);
|
|
114
|
+
}));
|
|
104
115
|
// 26. check_versions
|
|
105
116
|
server.registerTool('check_versions', {
|
|
106
117
|
description: t('tools.check_versions.description'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-stack-tools.js","sourceRoot":"","sources":["../../../src/tools/register-platform-tools/design-stack-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,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"design-stack-tools.js","sourceRoot":"","sources":["../../../src/tools/register-platform-tools/design-stack-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-spec-314.d.ts","sourceRoot":"","sources":["../../src/tools/register-spec-314.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"register-spec-314.d.ts","sourceRoot":"","sources":["../../src/tools/register-spec-314.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoCrE"}
|
|
@@ -14,11 +14,7 @@ export function registerSpecQualityScoreTools(server) {
|
|
|
14
14
|
'and risk (cross-module deps, architectural scope, NFRs present). ' +
|
|
15
15
|
'Returns a letter grade (A-F) and actionable recommendations.',
|
|
16
16
|
inputSchema: {
|
|
17
|
-
specId: z
|
|
18
|
-
.string()
|
|
19
|
-
.min(1)
|
|
20
|
-
.max(500)
|
|
21
|
-
.describe('Spec ID to evaluate (e.g. SPEC-042).'),
|
|
17
|
+
specId: z.string().min(1).max(500).describe('Spec ID to evaluate (e.g. SPEC-042).'),
|
|
22
18
|
projectPath: z
|
|
23
19
|
.string()
|
|
24
20
|
.min(1)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-spec-314.js","sourceRoot":"","sources":["../../src/tools/register-spec-314.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAGrE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,MAAM,UAAU,6BAA6B,CAAC,MAAiB;IAC7D,4EAA4E;IAC5E,qEAAqE;IACrE,4EAA4E;IAE5E,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,WAAW,EACT,gEAAgE;YAChE,4DAA4D;YAC5D,+CAA+C;YAC/C,oEAAoE;YACpE,mEAAmE;YACnE,8DAA8D;QAChE,WAAW,EAAE;YACX,MAAM,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"register-spec-314.js","sourceRoot":"","sources":["../../src/tools/register-spec-314.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAGrE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,MAAM,UAAU,6BAA6B,CAAC,MAAiB;IAC7D,4EAA4E;IAC5E,qEAAqE;IACrE,4EAA4E;IAE5E,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,WAAW,EACT,gEAAgE;YAChE,4DAA4D;YAC5D,+CAA+C;YAC/C,oEAAoE;YACpE,mEAAmE;YACnE,8DAA8D;QAChE,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YACnF,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,IAAI,CAAC;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,+DAA+D,CAAC;YAC5E,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,0DAA0D,CAAC;SACxE;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,IAAI,EAAE;KACjE,EACD,WAAW,CAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CACzC,sBAAsB,CAAC,IAAoE,CAAC,CAC7F,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-spec-316.d.ts","sourceRoot":"","sources":["../../src/tools/register-spec-316.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"register-spec-316.d.ts","sourceRoot":"","sources":["../../src/tools/register-spec-316.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2BzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0E9D"}
|
|
@@ -3,7 +3,11 @@ import { z } from 'zod';
|
|
|
3
3
|
import { safeTracked } from './safe-handler.js';
|
|
4
4
|
import { handleEvalSkill, handleEvalRule } from './eval-skill-handler.js';
|
|
5
5
|
const evalScenarioSchema = z.object({
|
|
6
|
-
input: z
|
|
6
|
+
input: z
|
|
7
|
+
.string()
|
|
8
|
+
.min(1)
|
|
9
|
+
.max(2000)
|
|
10
|
+
.describe('Natural language description of the user input or trigger for this scenario.'),
|
|
7
11
|
expectedOutput: z
|
|
8
12
|
.string()
|
|
9
13
|
.min(1)
|
|
@@ -20,7 +24,7 @@ export function registerEvalSkillTools(server) {
|
|
|
20
24
|
// -------------------------------------------------------------------------
|
|
21
25
|
server.registerTool('eval_skill', {
|
|
22
26
|
description: 'Evaluate the quality of a Claude skill file against a set of test scenarios. ' +
|
|
23
|
-
|
|
27
|
+
"Reads the skill from .claude/skills/{skillName}.md and checks whether each scenario's " +
|
|
24
28
|
'criteria appear in the skill content. ' +
|
|
25
29
|
'Returns a pass rate, average score, per-scenario results, and recommendations for improvement.',
|
|
26
30
|
inputSchema: {
|
|
@@ -46,7 +50,7 @@ export function registerEvalSkillTools(server) {
|
|
|
46
50
|
// -------------------------------------------------------------------------
|
|
47
51
|
server.registerTool('eval_rule', {
|
|
48
52
|
description: 'Evaluate the quality of a Claude rule file against a set of test scenarios. ' +
|
|
49
|
-
|
|
53
|
+
"Reads the rule from .claude/rules/{ruleName}.md and checks whether each scenario's " +
|
|
50
54
|
'criteria appear in the rule content. ' +
|
|
51
55
|
'Returns a pass rate, average score, per-scenario results, and recommendations for improvement.',
|
|
52
56
|
inputSchema: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-spec-316.js","sourceRoot":"","sources":["../../src/tools/register-spec-316.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAGnF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG1E,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,KAAK,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"register-spec-316.js","sourceRoot":"","sources":["../../src/tools/register-spec-316.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAGnF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG1E,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,CAAC,8EAA8E,CAAC;IAC3F,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,CACP,uFAAuF,CACxF;IACH,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACjC,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,sGAAsG,CACvG;CACJ,CAAC,CAAC;AAEH,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,4EAA4E;IAC5E,4DAA4D;IAC5D,4EAA4E;IAE5E,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,WAAW,EACT,+EAA+E;YAC/E,wFAAwF;YACxF,wCAAwC;YACxC,gGAAgG;QAClG,WAAW,EAAE;YACX,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,CACP,yFAAyF,CAC1F;YACH,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,IAAI,CAAC;iBACT,QAAQ,CACP,wFAAwF,CACzF;YACH,aAAa,EAAE,CAAC;iBACb,KAAK,CAAC,kBAAkB,CAAC;iBACzB,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,2DAA2D,CAAC;SACzE;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,YAAY,EAAE,IAAI,EAAE;KACrE,EACD,WAAW,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAsB,CAAC,CAAC,CAC7E,CAAC;IAEF,4EAA4E;IAC5E,0DAA0D;IAC1D,4EAA4E;IAE5E,MAAM,CAAC,YAAY,CACjB,WAAW,EACX;QACE,WAAW,EACT,8EAA8E;YAC9E,qFAAqF;YACrF,uCAAuC;YACvC,gGAAgG;QAClG,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,CACP,0FAA0F,CAC3F;YACH,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,IAAI,CAAC;iBACT,QAAQ,CACP,sFAAsF,CACvF;YACH,aAAa,EAAE,CAAC;iBACb,KAAK,CAAC,kBAAkB,CAAC;iBACzB,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,0DAA0D,CAAC;SACxE;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,YAAY,EAAE,IAAI,EAAE;KACpE,EACD,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAqB,CAAC,CAAC,CAC1E,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-spec-317.d.ts","sourceRoot":"","sources":["../../src/tools/register-spec-317.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+CzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"register-spec-317.d.ts","sourceRoot":"","sources":["../../src/tools/register-spec-317.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+CzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqM/D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-spec-317.js","sourceRoot":"","sources":["../../src/tools/register-spec-317.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAG7F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAWlC,MAAM,cAAc,GAAG,CAAC;KACrB,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;KACvC,QAAQ,CACP,kBAAkB;IAChB,qDAAqD;IACrD,8DAA8D;IAC9D,0CAA0C,CAC7C,CAAC;AAEJ,MAAM,iBAAiB,GAAG,CAAC;KACxB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,IAAI,CAAC;KACT,QAAQ,CAAC,gEAAgE,CAAC,CAAC;AAE9E,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,EAAE,CAAC;KACP,QAAQ,EAAE;KACV,QAAQ,CAAC,yEAAyE,CAAC,CAAC;AAEvF,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,8EAA8E;IAC9E,iBAAiB;IACjB,8EAA8E;IAE9E,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,WAAW,EACT,kDAAkD;YAClD,2DAA2D;YAC3D,mEAAmE;YACnE,oFAAoF;QACtF,WAAW,EAAE;YACX,WAAW,EAAE,iBAAiB;YAC9B,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,CACP,iFAAiF,CAClF;YACH,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,CAAC,wDAAwD,CAAC;YACrE,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,
|
|
1
|
+
{"version":3,"file":"register-spec-317.js","sourceRoot":"","sources":["../../src/tools/register-spec-317.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-spec-319.d.ts","sourceRoot":"","sources":["../../src/tools/register-spec-319.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"register-spec-319.d.ts","sourceRoot":"","sources":["../../src/tools/register-spec-319.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAYzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwD/D"}
|
|
@@ -11,20 +11,12 @@ export function registerComplianceTools(server) {
|
|
|
11
11
|
// check_compliance — evaluate a spec's AC against compliance frameworks
|
|
12
12
|
// -------------------------------------------------------------------------
|
|
13
13
|
server.registerTool('check_compliance', {
|
|
14
|
-
description:
|
|
14
|
+
description: "Evaluate a spec's acceptance criteria against regulatory compliance requirements. " +
|
|
15
15
|
'Detects gaps for the specified frameworks (or auto-detects relevant frameworks from spec content). ' +
|
|
16
16
|
'Supported frameworks: gdpr, hipaa, pci-dss, soc2, ccpa.',
|
|
17
17
|
inputSchema: {
|
|
18
|
-
specId: z
|
|
19
|
-
|
|
20
|
-
.min(1)
|
|
21
|
-
.max(500)
|
|
22
|
-
.describe('Spec ID to check (e.g. SPEC-042).'),
|
|
23
|
-
projectPath: z
|
|
24
|
-
.string()
|
|
25
|
-
.min(1)
|
|
26
|
-
.max(4096)
|
|
27
|
-
.describe('Absolute path to the project root.'),
|
|
18
|
+
specId: z.string().min(1).max(500).describe('Spec ID to check (e.g. SPEC-042).'),
|
|
19
|
+
projectPath: z.string().min(1).max(4096).describe('Absolute path to the project root.'),
|
|
28
20
|
frameworks: z
|
|
29
21
|
.array(frameworkSchema)
|
|
30
22
|
.optional()
|
|
@@ -42,11 +34,7 @@ export function registerComplianceTools(server) {
|
|
|
42
34
|
'Once set, `check_compliance` uses these frameworks when none are specified. ' +
|
|
43
35
|
'Supported frameworks: gdpr, hipaa, pci-dss, soc2, ccpa.',
|
|
44
36
|
inputSchema: {
|
|
45
|
-
projectPath: z
|
|
46
|
-
.string()
|
|
47
|
-
.min(1)
|
|
48
|
-
.max(4096)
|
|
49
|
-
.describe('Absolute path to the project root.'),
|
|
37
|
+
projectPath: z.string().min(1).max(4096).describe('Absolute path to the project root.'),
|
|
50
38
|
frameworks: z
|
|
51
39
|
.array(frameworkSchema)
|
|
52
40
|
.min(1)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-spec-319.js","sourceRoot":"","sources":["../../src/tools/register-spec-319.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAGrE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAG3F,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAE7E,MAAM,eAAe,GAAG,CAAC;KACtB,IAAI,CAAC,cAAc,CAAC;KACpB,QAAQ,
|
|
1
|
+
{"version":3,"file":"register-spec-319.js","sourceRoot":"","sources":["../../src/tools/register-spec-319.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAGrE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAG3F,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAE7E,MAAM,eAAe,GAAG,CAAC;KACtB,IAAI,CAAC,cAAc,CAAC;KACpB,QAAQ,CAAC,uEAAuE,CAAC,CAAC;AAErF,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,4EAA4E;IAC5E,wEAAwE;IACxE,4EAA4E;IAE5E,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EACT,oFAAoF;YACpF,qGAAqG;YACrG,yDAAyD;QAC3D,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YAChF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YACvF,UAAU,EAAE,CAAC;iBACV,KAAK,CAAC,eAAe,CAAC;iBACtB,QAAQ,EAAE;iBACV,QAAQ,CACP,6EAA6E;gBAC3E,uCAAuC;gBACvC,iDAAiD,CACpD;SACJ;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,IAAI,EAAE;KAC/D,EACD,WAAW,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAA4B,CAAC,CAAC,CAC/F,CAAC;IAEF,4EAA4E;IAC5E,iEAAiE;IACjE,4EAA4E;IAE5E,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EACT,iDAAiD;YACjD,8EAA8E;YAC9E,yDAAyD;QAC3D,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YACvF,UAAU,EAAE,CAAC;iBACV,KAAK,CAAC,eAAe,CAAC;iBACtB,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CACP,sDAAsD;gBACpD,iDAAiD,CACpD;SACJ;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,KAAK,EAAE;KACvE,EACD,WAAW,CAAC,sBAAsB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC3C,yBAAyB,CAAC,IAAgC,CAAC,CAC5D,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/register-spec-tools/analysis-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"analysis-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/register-spec-tools/analysis-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkBzE;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiU7D"}
|
|
@@ -2,6 +2,7 @@ import { z } from 'zod';
|
|
|
2
2
|
import { t } from '../../i18n/index.js';
|
|
3
3
|
import { safeTracked, safeLicensed } from '../safe-handler.js';
|
|
4
4
|
import { ChecklistFocusEnum, AuditCategoryEnum } from '../schemas/index.js';
|
|
5
|
+
import { resolveProjectId, missingProjectIdError } from '../resolve-project-id.js';
|
|
5
6
|
import { handleDetectDrift } from '../detect-drift.js';
|
|
6
7
|
import { handleSummarizeSpec } from '../summarize-spec.js';
|
|
7
8
|
import { handleGenerateChecklist } from '../generate-checklist.js';
|
|
@@ -22,7 +23,12 @@ export function registerAnalysisTools(server) {
|
|
|
22
23
|
description: t('tools.detect_drift.description'),
|
|
23
24
|
inputSchema: {
|
|
24
25
|
specId: z.string().min(1).max(500).describe('Spec ID to check'),
|
|
25
|
-
projectId: z.string().max(500).describe('Project ID'),
|
|
26
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
27
|
+
projectPath: z
|
|
28
|
+
.string()
|
|
29
|
+
.max(4096)
|
|
30
|
+
.optional()
|
|
31
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
26
32
|
mode: z
|
|
27
33
|
.enum(['full', 'quick'])
|
|
28
34
|
.optional()
|
|
@@ -33,39 +39,72 @@ export function registerAnalysisTools(server) {
|
|
|
33
39
|
.describe('Output format: report | ci-json | github-annotations'),
|
|
34
40
|
threshold: z.number().optional().describe('Drift tolerance threshold 0-100 (default: 10)'),
|
|
35
41
|
},
|
|
36
|
-
}, safeTracked('detect_drift', async (args) =>
|
|
42
|
+
}, safeTracked('detect_drift', async (args) => {
|
|
43
|
+
const pid = resolveProjectId(args);
|
|
44
|
+
if (!pid) {
|
|
45
|
+
return missingProjectIdError;
|
|
46
|
+
}
|
|
47
|
+
return handleDetectDrift({ ...args, projectId: pid });
|
|
48
|
+
}));
|
|
37
49
|
// 12. summarize_spec
|
|
38
50
|
server.registerTool('summarize_spec', {
|
|
39
51
|
description: t('tools.summarize_spec.description'),
|
|
40
52
|
annotations: { readOnlyHint: true },
|
|
41
53
|
inputSchema: {
|
|
42
54
|
specId: z.string().min(1).max(500).describe('Spec ID to summarize'),
|
|
43
|
-
projectId: z.string().max(500).describe('Project ID'),
|
|
55
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
56
|
+
projectPath: z
|
|
57
|
+
.string()
|
|
58
|
+
.max(4096)
|
|
59
|
+
.optional()
|
|
60
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
44
61
|
format: z
|
|
45
62
|
.enum(['executive', 'technical', 'oneliner'])
|
|
46
63
|
.optional()
|
|
47
64
|
.describe('Summary format: executive | technical | oneliner (default: technical)'),
|
|
48
65
|
},
|
|
49
|
-
}, safeTracked('summarize_spec', async (args) =>
|
|
66
|
+
}, safeTracked('summarize_spec', async (args) => {
|
|
67
|
+
const pid = resolveProjectId(args);
|
|
68
|
+
if (!pid) {
|
|
69
|
+
return missingProjectIdError;
|
|
70
|
+
}
|
|
71
|
+
return handleSummarizeSpec({ ...args, projectId: pid });
|
|
72
|
+
}));
|
|
50
73
|
// 13. generate_checklist
|
|
51
74
|
server.registerTool('generate_checklist', {
|
|
52
75
|
description: t('tools.generate_checklist.description'),
|
|
53
76
|
inputSchema: {
|
|
54
77
|
specId: z.string().min(1).max(500).describe('Spec ID'),
|
|
55
|
-
projectId: z.string().max(500).describe('Project ID'),
|
|
78
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
79
|
+
projectPath: z
|
|
80
|
+
.string()
|
|
81
|
+
.max(4096)
|
|
82
|
+
.optional()
|
|
83
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
56
84
|
focus: z
|
|
57
85
|
.array(ChecklistFocusEnum)
|
|
58
86
|
.max(100)
|
|
59
87
|
.optional()
|
|
60
88
|
.describe('Focus areas for the checklist'),
|
|
61
89
|
},
|
|
62
|
-
}, safeLicensed('generate_checklist', async (args) =>
|
|
90
|
+
}, safeLicensed('generate_checklist', async (args) => {
|
|
91
|
+
const pid = resolveProjectId(args);
|
|
92
|
+
if (!pid) {
|
|
93
|
+
return missingProjectIdError;
|
|
94
|
+
}
|
|
95
|
+
return handleGenerateChecklist({ ...args, projectId: pid });
|
|
96
|
+
}));
|
|
63
97
|
// 14. reconcile_spec
|
|
64
98
|
server.registerTool('reconcile_spec', {
|
|
65
99
|
description: t('tools.reconcile_spec.description'),
|
|
66
100
|
inputSchema: {
|
|
67
101
|
specId: z.string().min(1).max(500).describe('Spec ID to reconcile'),
|
|
68
|
-
projectId: z.string().max(500).describe('Project ID'),
|
|
102
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
103
|
+
projectPath: z
|
|
104
|
+
.string()
|
|
105
|
+
.max(4096)
|
|
106
|
+
.optional()
|
|
107
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
69
108
|
autoDetect: z
|
|
70
109
|
.boolean()
|
|
71
110
|
.optional()
|
|
@@ -86,25 +125,47 @@ export function registerAnalysisTools(server) {
|
|
|
86
125
|
.optional()
|
|
87
126
|
.describe('Manual changes to apply'),
|
|
88
127
|
},
|
|
89
|
-
}, safeLicensed('reconcile_spec', async (args) =>
|
|
128
|
+
}, safeLicensed('reconcile_spec', async (args) => {
|
|
129
|
+
const pid = resolveProjectId(args);
|
|
130
|
+
if (!pid) {
|
|
131
|
+
return missingProjectIdError;
|
|
132
|
+
}
|
|
133
|
+
return handleReconcileSpec({ ...args, projectId: pid });
|
|
134
|
+
}));
|
|
90
135
|
// 15. learn_pattern
|
|
91
136
|
server.registerTool('learn_pattern', {
|
|
92
137
|
description: t('tools.learn_pattern.description'),
|
|
93
138
|
inputSchema: {
|
|
94
|
-
projectId: z.string().max(500).describe('Project ID'),
|
|
139
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
140
|
+
projectPath: z
|
|
141
|
+
.string()
|
|
142
|
+
.max(4096)
|
|
143
|
+
.optional()
|
|
144
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
95
145
|
type: z
|
|
96
146
|
.enum(['architecture', 'convention', 'estimation', 'stack', 'quality'])
|
|
97
147
|
.describe('Pattern type: architecture | convention | estimation | stack | quality'),
|
|
98
148
|
pattern: z.string().max(10_000).describe('Pattern description'),
|
|
99
149
|
source: z.string().max(500).optional().describe('Where this pattern was observed'),
|
|
100
150
|
},
|
|
101
|
-
}, safeTracked('learn_pattern', async (args) =>
|
|
151
|
+
}, safeTracked('learn_pattern', async (args) => {
|
|
152
|
+
const pid = resolveProjectId(args);
|
|
153
|
+
if (!pid) {
|
|
154
|
+
return missingProjectIdError;
|
|
155
|
+
}
|
|
156
|
+
return handleLearn({ ...args, projectId: pid });
|
|
157
|
+
}));
|
|
102
158
|
// 16. audit
|
|
103
159
|
server.registerTool('audit', {
|
|
104
160
|
description: t('tools.audit.description'),
|
|
105
161
|
inputSchema: {
|
|
106
162
|
path: z.string().max(4096).describe('Path to file or directory to audit'),
|
|
107
|
-
projectId: z.string().max(500).describe('Project ID'),
|
|
163
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
164
|
+
projectPath: z
|
|
165
|
+
.string()
|
|
166
|
+
.max(4096)
|
|
167
|
+
.optional()
|
|
168
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
108
169
|
categories: z
|
|
109
170
|
.array(AuditCategoryEnum)
|
|
110
171
|
.max(100)
|
|
@@ -112,20 +173,37 @@ export function registerAnalysisTools(server) {
|
|
|
112
173
|
.describe('Audit categories to check'),
|
|
113
174
|
specId: z.string().max(500).optional().describe('Spec ID to audit against'),
|
|
114
175
|
},
|
|
115
|
-
}, safeLicensed('audit', async (args) =>
|
|
176
|
+
}, safeLicensed('audit', async (args) => {
|
|
177
|
+
const pid = resolveProjectId(args);
|
|
178
|
+
if (!pid) {
|
|
179
|
+
return missingProjectIdError;
|
|
180
|
+
}
|
|
181
|
+
return handleAudit({ ...args, projectId: pid });
|
|
182
|
+
}));
|
|
116
183
|
// 17. consult_docs
|
|
117
184
|
server.registerTool('consult_docs', {
|
|
118
185
|
description: t('tools.consult_docs.description'),
|
|
119
186
|
inputSchema: {
|
|
120
187
|
topic: z.string().max(500).describe('Topic to search for'),
|
|
121
|
-
projectId: z.string().max(500).describe('Project ID'),
|
|
188
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
189
|
+
projectPath: z
|
|
190
|
+
.string()
|
|
191
|
+
.max(4096)
|
|
192
|
+
.optional()
|
|
193
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
122
194
|
framework: z
|
|
123
195
|
.string()
|
|
124
196
|
.max(500)
|
|
125
197
|
.optional()
|
|
126
198
|
.describe('Framework to consult docs for (auto-detected if omitted)'),
|
|
127
199
|
},
|
|
128
|
-
}, safeTracked('consult_docs', async (args) =>
|
|
200
|
+
}, safeTracked('consult_docs', async (args) => {
|
|
201
|
+
const pid = resolveProjectId(args);
|
|
202
|
+
if (!pid) {
|
|
203
|
+
return missingProjectIdError;
|
|
204
|
+
}
|
|
205
|
+
return handleConsultDocs({ ...args, projectId: pid });
|
|
206
|
+
}));
|
|
129
207
|
// 18. discover_mcps
|
|
130
208
|
server.registerTool('discover_mcps', {
|
|
131
209
|
description: t('tools.discover_mcps.description'),
|
|
@@ -142,30 +220,63 @@ export function registerAnalysisTools(server) {
|
|
|
142
220
|
server.registerTool('suggest_mcps', {
|
|
143
221
|
description: t('tools.suggest_mcps.description'),
|
|
144
222
|
inputSchema: {
|
|
145
|
-
projectId: z.string().max(500).describe('Project ID'),
|
|
223
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
224
|
+
projectPath: z
|
|
225
|
+
.string()
|
|
226
|
+
.max(4096)
|
|
227
|
+
.optional()
|
|
228
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
146
229
|
specId: z.string().max(500).optional().describe('Spec ID for context-specific suggestions'),
|
|
147
230
|
},
|
|
148
|
-
}, safeLicensed('suggest_mcps', async (args) =>
|
|
231
|
+
}, safeLicensed('suggest_mcps', async (args) => {
|
|
232
|
+
const pid = resolveProjectId(args);
|
|
233
|
+
if (!pid) {
|
|
234
|
+
return missingProjectIdError;
|
|
235
|
+
}
|
|
236
|
+
return handleSuggestMcps({ ...args, projectId: pid });
|
|
237
|
+
}));
|
|
149
238
|
// 20. suggest_mcp_server — SPEC-132
|
|
150
239
|
server.registerTool('suggest_mcp_server', {
|
|
151
240
|
description: 'Analyze a project and recommend whether it should create an MCP server layer. Returns suggested tools, resources, transport, and estimated effort based on detected app domain (CRM, billing, inventory, healthcare, ecommerce, etc.).',
|
|
152
241
|
annotations: { readOnlyHint: true },
|
|
153
242
|
inputSchema: {
|
|
154
|
-
projectId: z.string().max(500).describe('Project ID'),
|
|
243
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
244
|
+
projectPath: z
|
|
245
|
+
.string()
|
|
246
|
+
.max(4096)
|
|
247
|
+
.optional()
|
|
248
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
155
249
|
},
|
|
156
|
-
}, safeLicensed('suggest_mcp_server', async (args) =>
|
|
250
|
+
}, safeLicensed('suggest_mcp_server', async (args) => {
|
|
251
|
+
const pid = resolveProjectId(args);
|
|
252
|
+
if (!pid) {
|
|
253
|
+
return missingProjectIdError;
|
|
254
|
+
}
|
|
255
|
+
return handleSuggestMcpServer({ ...args, projectId: pid });
|
|
256
|
+
}));
|
|
157
257
|
// 21. analyze_spec_dependencies
|
|
158
258
|
server.registerTool('analyze_spec_dependencies', {
|
|
159
259
|
description: 'Analyze spec dependency graph: find critical path, detect circular dependencies, compute execution waves, and generate a Mermaid diagram of the dependency graph.',
|
|
160
260
|
annotations: { readOnlyHint: true },
|
|
161
261
|
inputSchema: {
|
|
162
|
-
projectId: z.string().max(500).describe('Project ID'),
|
|
262
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
263
|
+
projectPath: z
|
|
264
|
+
.string()
|
|
265
|
+
.max(4096)
|
|
266
|
+
.optional()
|
|
267
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
163
268
|
specIds: z
|
|
164
269
|
.array(z.string().max(500))
|
|
165
270
|
.max(1000)
|
|
166
271
|
.optional()
|
|
167
272
|
.describe('Optional list of spec IDs to analyze (default: all specs)'),
|
|
168
273
|
},
|
|
169
|
-
}, safeTracked('analyze_spec_dependencies', async (args) =>
|
|
274
|
+
}, safeTracked('analyze_spec_dependencies', async (args) => {
|
|
275
|
+
const pid = resolveProjectId(args);
|
|
276
|
+
if (!pid) {
|
|
277
|
+
return missingProjectIdError;
|
|
278
|
+
}
|
|
279
|
+
return handleAnalyzeSpecDependencies({ ...args, projectId: pid });
|
|
280
|
+
}));
|
|
170
281
|
}
|
|
171
282
|
//# sourceMappingURL=analysis-tools.js.map
|