@planu/cli 0.71.0 → 0.73.0
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/README.md +1 -1
- package/dist/config/license-plans.json +9 -2
- package/dist/config/tool-groups.json +5 -1
- package/dist/engine/actuals/git-analyzer.js +1 -1
- package/dist/engine/actuals/git-analyzer.js.map +1 -1
- package/dist/engine/agent-prompt-generator.d.ts +12 -0
- package/dist/engine/agent-prompt-generator.d.ts.map +1 -0
- package/dist/engine/agent-prompt-generator.js +171 -0
- package/dist/engine/agent-prompt-generator.js.map +1 -0
- package/dist/engine/ai-tool-detector/index.d.ts +6 -0
- package/dist/engine/ai-tool-detector/index.d.ts.map +1 -0
- package/dist/engine/ai-tool-detector/index.js +95 -0
- package/dist/engine/ai-tool-detector/index.js.map +1 -0
- package/dist/engine/ci-generator/planu-steps.d.ts.map +1 -1
- package/dist/engine/ci-generator/planu-steps.js +10 -11
- package/dist/engine/ci-generator/planu-steps.js.map +1 -1
- package/dist/engine/convention-scanner/codebase-scanner.d.ts +7 -0
- package/dist/engine/convention-scanner/codebase-scanner.d.ts.map +1 -0
- package/dist/engine/convention-scanner/codebase-scanner.js +258 -0
- package/dist/engine/convention-scanner/codebase-scanner.js.map +1 -0
- package/dist/engine/convention-scanner/convention-parser.d.ts +7 -0
- package/dist/engine/convention-scanner/convention-parser.d.ts.map +1 -0
- package/dist/engine/convention-scanner/convention-parser.js +195 -0
- package/dist/engine/convention-scanner/convention-parser.js.map +1 -0
- package/dist/engine/convention-scanner/index.d.ts +3 -0
- package/dist/engine/convention-scanner/index.d.ts.map +1 -0
- package/dist/engine/convention-scanner/index.js +5 -0
- package/dist/engine/convention-scanner/index.js.map +1 -0
- package/dist/engine/convention-sync.d.ts +9 -0
- package/dist/engine/convention-sync.d.ts.map +1 -0
- package/dist/engine/convention-sync.js +156 -0
- package/dist/engine/convention-sync.js.map +1 -0
- package/dist/engine/doc-generator/portal/portal-regenerator.d.ts +2 -1
- package/dist/engine/doc-generator/portal/portal-regenerator.d.ts.map +1 -1
- package/dist/engine/doc-generator/portal/portal-regenerator.js +23 -15
- package/dist/engine/doc-generator/portal/portal-regenerator.js.map +1 -1
- package/dist/engine/feedback/triage.d.ts +16 -0
- package/dist/engine/feedback/triage.d.ts.map +1 -0
- package/dist/engine/feedback/triage.js +165 -0
- package/dist/engine/feedback/triage.js.map +1 -0
- package/dist/engine/hooks-reconciler.d.ts +7 -0
- package/dist/engine/hooks-reconciler.d.ts.map +1 -0
- package/dist/engine/hooks-reconciler.js +214 -0
- package/dist/engine/hooks-reconciler.js.map +1 -0
- package/dist/engine/platform-registry.d.ts +17 -0
- package/dist/engine/platform-registry.d.ts.map +1 -0
- package/dist/engine/platform-registry.js +78 -0
- package/dist/engine/platform-registry.js.map +1 -0
- package/dist/engine/project-health-checker.d.ts +4 -2
- package/dist/engine/project-health-checker.d.ts.map +1 -1
- package/dist/engine/project-health-checker.js +78 -5
- package/dist/engine/project-health-checker.js.map +1 -1
- package/dist/engine/rules-generator/index.d.ts +14 -0
- package/dist/engine/rules-generator/index.d.ts.map +1 -0
- package/dist/engine/rules-generator/index.js +313 -0
- package/dist/engine/rules-generator/index.js.map +1 -0
- package/dist/engine/rules-reconciler.d.ts +13 -0
- package/dist/engine/rules-reconciler.d.ts.map +1 -0
- package/dist/engine/rules-reconciler.js +193 -0
- package/dist/engine/rules-reconciler.js.map +1 -0
- package/dist/engine/skill-generator/detect.d.ts +1 -0
- package/dist/engine/skill-generator/detect.d.ts.map +1 -1
- package/dist/engine/skill-generator/detect.js +13 -5
- package/dist/engine/skill-generator/detect.js.map +1 -1
- package/dist/engine/skills/skills-fetcher.d.ts +4 -0
- package/dist/engine/skills/skills-fetcher.d.ts.map +1 -0
- package/dist/engine/skills/skills-fetcher.js +102 -0
- package/dist/engine/skills/skills-fetcher.js.map +1 -0
- package/dist/engine/skills-reconciler.d.ts +15 -0
- package/dist/engine/skills-reconciler.d.ts.map +1 -0
- package/dist/engine/skills-reconciler.js +98 -0
- package/dist/engine/skills-reconciler.js.map +1 -0
- package/dist/engine/spec-template-cleaner.d.ts +12 -0
- package/dist/engine/spec-template-cleaner.d.ts.map +1 -0
- package/dist/engine/spec-template-cleaner.js +119 -0
- package/dist/engine/spec-template-cleaner.js.map +1 -0
- package/dist/engine/validator/analyzer.d.ts +4 -2
- package/dist/engine/validator/analyzer.d.ts.map +1 -1
- package/dist/engine/validator/analyzer.js +14 -3
- package/dist/engine/validator/analyzer.js.map +1 -1
- package/dist/engine/validator/criterion-enricher.d.ts +42 -0
- package/dist/engine/validator/criterion-enricher.d.ts.map +1 -0
- package/dist/engine/validator/criterion-enricher.js +186 -0
- package/dist/engine/validator/criterion-enricher.js.map +1 -0
- package/dist/engine/validator/deep-code-checker.d.ts +41 -0
- package/dist/engine/validator/deep-code-checker.d.ts.map +1 -0
- package/dist/engine/validator/deep-code-checker.js +363 -0
- package/dist/engine/validator/deep-code-checker.js.map +1 -0
- package/dist/engine/validator/extractors.d.ts +8 -1
- package/dist/engine/validator/extractors.d.ts.map +1 -1
- package/dist/engine/validator/extractors.js +33 -0
- package/dist/engine/validator/extractors.js.map +1 -1
- package/dist/engine/validator/index.d.ts +7 -0
- package/dist/engine/validator/index.d.ts.map +1 -0
- package/dist/engine/validator/index.js +8 -0
- package/dist/engine/validator/index.js.map +1 -0
- package/dist/engine/validator.d.ts.map +1 -1
- package/dist/engine/validator.js +13 -2
- package/dist/engine/validator.js.map +1 -1
- package/dist/engine/workers/schema.d.ts +58 -0
- package/dist/engine/workers/schema.d.ts.map +1 -0
- package/dist/engine/workers/schema.js +41 -0
- package/dist/engine/workers/schema.js.map +1 -0
- package/dist/engine/workers/worker-engine.js +1 -1
- package/dist/engine/workers/worker-engine.js.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/storage/convention-baseline.d.ts +20 -0
- package/dist/storage/convention-baseline.d.ts.map +1 -0
- package/dist/storage/convention-baseline.js +57 -0
- package/dist/storage/convention-baseline.js.map +1 -0
- package/dist/storage/feedback-remote.d.ts +8 -0
- package/dist/storage/feedback-remote.d.ts.map +1 -0
- package/dist/storage/feedback-remote.js +27 -0
- package/dist/storage/feedback-remote.js.map +1 -0
- package/dist/storage/feedback-store.d.ts +27 -0
- package/dist/storage/feedback-store.d.ts.map +1 -0
- package/dist/storage/feedback-store.js +272 -0
- package/dist/storage/feedback-store.js.map +1 -0
- package/dist/storage/index.d.ts +1 -0
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +1 -0
- package/dist/storage/index.js.map +1 -1
- package/dist/tools/convention-sync.d.ts +8 -0
- package/dist/tools/convention-sync.d.ts.map +1 -0
- package/dist/tools/convention-sync.js +77 -0
- package/dist/tools/convention-sync.js.map +1 -0
- package/dist/tools/create-spec-hu/ac-adapters/convention-adapter.d.ts +9 -0
- package/dist/tools/create-spec-hu/ac-adapters/convention-adapter.d.ts.map +1 -0
- package/dist/tools/create-spec-hu/ac-adapters/convention-adapter.js +68 -0
- package/dist/tools/create-spec-hu/ac-adapters/convention-adapter.js.map +1 -0
- package/dist/tools/create-spec-hu/ac-adapters/custom-template-adapter.d.ts +14 -0
- package/dist/tools/create-spec-hu/ac-adapters/custom-template-adapter.d.ts.map +1 -0
- package/dist/tools/create-spec-hu/ac-adapters/custom-template-adapter.js +60 -0
- package/dist/tools/create-spec-hu/ac-adapters/custom-template-adapter.js.map +1 -0
- package/dist/tools/create-spec-hu/ac-adapters/index.d.ts +4 -0
- package/dist/tools/create-spec-hu/ac-adapters/index.d.ts.map +1 -1
- package/dist/tools/create-spec-hu/ac-adapters/index.js +9 -1
- package/dist/tools/create-spec-hu/ac-adapters/index.js.map +1 -1
- package/dist/tools/create-spec-hu/hu-body-generators.d.ts.map +1 -1
- package/dist/tools/create-spec-hu/hu-body-generators.js +15 -2
- package/dist/tools/create-spec-hu/hu-body-generators.js.map +1 -1
- package/dist/tools/create-spec.d.ts.map +1 -1
- package/dist/tools/create-spec.js +3 -2
- package/dist/tools/create-spec.js.map +1 -1
- package/dist/tools/delete-decision.d.ts.map +1 -1
- package/dist/tools/delete-decision.js +2 -0
- package/dist/tools/delete-decision.js.map +1 -1
- package/dist/tools/delete-project.d.ts.map +1 -1
- package/dist/tools/delete-project.js +11 -14
- 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 +11 -9
- package/dist/tools/delete-spec.js.map +1 -1
- package/dist/tools/estimate.d.ts.map +1 -1
- package/dist/tools/estimate.js +6 -5
- package/dist/tools/estimate.js.map +1 -1
- package/dist/tools/export-session.d.ts.map +1 -1
- package/dist/tools/export-session.js +7 -9
- package/dist/tools/export-session.js.map +1 -1
- package/dist/tools/feedback-handler.d.ts +5 -0
- package/dist/tools/feedback-handler.d.ts.map +1 -0
- package/dist/tools/feedback-handler.js +106 -0
- package/dist/tools/feedback-handler.js.map +1 -0
- package/dist/tools/generate-teammate-prompt.d.ts +8 -0
- package/dist/tools/generate-teammate-prompt.d.ts.map +1 -1
- package/dist/tools/generate-teammate-prompt.js +33 -0
- package/dist/tools/generate-teammate-prompt.js.map +1 -1
- package/dist/tools/init-project/handler.d.ts.map +1 -1
- package/dist/tools/init-project/handler.js +73 -15
- package/dist/tools/init-project/handler.js.map +1 -1
- package/dist/tools/init-project/helpers.d.ts.map +1 -1
- package/dist/tools/init-project/helpers.js +1 -2
- package/dist/tools/init-project/helpers.js.map +1 -1
- package/dist/tools/init-project/result-builder.d.ts.map +1 -1
- package/dist/tools/init-project/result-builder.js +13 -1
- package/dist/tools/init-project/result-builder.js.map +1 -1
- package/dist/tools/init-project/skill-auto-installer.d.ts +10 -0
- package/dist/tools/init-project/skill-auto-installer.d.ts.map +1 -0
- package/dist/tools/init-project/skill-auto-installer.js +28 -0
- package/dist/tools/init-project/skill-auto-installer.js.map +1 -0
- package/dist/tools/log-decision.d.ts.map +1 -1
- package/dist/tools/log-decision.js +15 -4
- package/dist/tools/log-decision.js.map +1 -1
- package/dist/tools/manage-trash.d.ts.map +1 -1
- package/dist/tools/manage-trash.js +13 -27
- package/dist/tools/manage-trash.js.map +1 -1
- package/dist/tools/reconcile-hooks.d.ts +7 -0
- package/dist/tools/reconcile-hooks.d.ts.map +1 -0
- package/dist/tools/reconcile-hooks.js +78 -0
- package/dist/tools/reconcile-hooks.js.map +1 -0
- package/dist/tools/reconcile-rules.d.ts +7 -0
- package/dist/tools/reconcile-rules.d.ts.map +1 -0
- package/dist/tools/reconcile-rules.js +86 -0
- package/dist/tools/reconcile-rules.js.map +1 -0
- package/dist/tools/reconcile-skills.d.ts +8 -0
- package/dist/tools/reconcile-skills.d.ts.map +1 -0
- package/dist/tools/reconcile-skills.js +70 -0
- package/dist/tools/reconcile-skills.js.map +1 -0
- package/dist/tools/register-feedback-tools.d.ts +3 -0
- package/dist/tools/register-feedback-tools.d.ts.map +1 -0
- package/dist/tools/register-feedback-tools.js +65 -0
- package/dist/tools/register-feedback-tools.js.map +1 -0
- package/dist/tools/register-spec-tools/core-spec-tools.d.ts.map +1 -1
- package/dist/tools/register-spec-tools/core-spec-tools.js +14 -4
- package/dist/tools/register-spec-tools/core-spec-tools.js.map +1 -1
- package/dist/tools/register-team-tools.d.ts.map +1 -1
- package/dist/tools/register-team-tools.js +35 -8
- package/dist/tools/register-team-tools.js.map +1 -1
- package/dist/tools/safe-handler.d.ts.map +1 -1
- package/dist/tools/safe-handler.js +20 -2
- package/dist/tools/safe-handler.js.map +1 -1
- 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/reconcile-skills-schemas.d.ts +7 -0
- package/dist/tools/schemas/reconcile-skills-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/reconcile-skills-schemas.js +18 -0
- package/dist/tools/schemas/reconcile-skills-schemas.js.map +1 -0
- package/dist/tools/schemas/workers-schema.d.ts +1 -56
- package/dist/tools/schemas/workers-schema.d.ts.map +1 -1
- package/dist/tools/schemas/workers-schema.js +6 -42
- package/dist/tools/schemas/workers-schema.js.map +1 -1
- package/dist/tools/skill-registry/search.d.ts +2 -1
- package/dist/tools/skill-registry/search.d.ts.map +1 -1
- package/dist/tools/skill-registry/search.js +81 -8
- package/dist/tools/skill-registry/search.js.map +1 -1
- package/dist/tools/suggest-tooling/skills-fetcher.d.ts +1 -3
- package/dist/tools/suggest-tooling/skills-fetcher.d.ts.map +1 -1
- package/dist/tools/suggest-tooling/skills-fetcher.js +3 -101
- package/dist/tools/suggest-tooling/skills-fetcher.js.map +1 -1
- package/dist/tools/token-recording.d.ts +16 -0
- package/dist/tools/token-recording.d.ts.map +1 -0
- package/dist/tools/token-recording.js +47 -0
- package/dist/tools/token-recording.js.map +1 -0
- package/dist/tools/update-status-convention-gate.d.ts +12 -0
- package/dist/tools/update-status-convention-gate.d.ts.map +1 -0
- package/dist/tools/update-status-convention-gate.js +159 -0
- package/dist/tools/update-status-convention-gate.js.map +1 -0
- package/dist/tools/update-status-reconcile.d.ts +7 -0
- package/dist/tools/update-status-reconcile.d.ts.map +1 -0
- package/dist/tools/update-status-reconcile.js +47 -0
- package/dist/tools/update-status-reconcile.js.map +1 -0
- package/dist/tools/update-status.d.ts.map +1 -1
- package/dist/tools/update-status.js +113 -67
- package/dist/tools/update-status.js.map +1 -1
- package/dist/tools/validate.d.ts.map +1 -1
- package/dist/tools/validate.js +92 -2
- package/dist/tools/validate.js.map +1 -1
- package/dist/types/ai-tool-rules.d.ts +42 -0
- package/dist/types/ai-tool-rules.d.ts.map +1 -0
- package/dist/types/ai-tool-rules.js +3 -0
- package/dist/types/ai-tool-rules.js.map +1 -0
- package/dist/types/analysis.d.ts +16 -0
- package/dist/types/analysis.d.ts.map +1 -1
- package/dist/types/conventions.d.ts +155 -0
- package/dist/types/conventions.d.ts.map +1 -0
- package/dist/types/conventions.js +3 -0
- package/dist/types/conventions.js.map +1 -0
- package/dist/types/feedback.d.ts +76 -0
- package/dist/types/feedback.d.ts.map +1 -0
- package/dist/types/feedback.js +3 -0
- package/dist/types/feedback.js.map +1 -0
- package/dist/types/index.d.ts +4 -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/mcp.d.ts +2 -0
- package/dist/types/mcp.d.ts.map +1 -1
- package/dist/types/project/inputs.d.ts +2 -0
- package/dist/types/project/inputs.d.ts.map +1 -1
- package/dist/types/project/planu-config.d.ts +7 -1
- package/dist/types/project/planu-config.d.ts.map +1 -1
- package/dist/types/skill-registry.d.ts +12 -0
- package/dist/types/skill-registry.d.ts.map +1 -1
- package/dist/types/verifiable-criteria.d.ts +50 -0
- package/dist/types/verifiable-criteria.d.ts.map +1 -0
- package/dist/types/verifiable-criteria.js +3 -0
- package/dist/types/verifiable-criteria.js.map +1 -0
- package/package.json +1 -1
- package/src/config/license-plans.json +9 -2
- package/src/config/tool-groups.json +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tools/create-spec-hu/ac-adapters/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tools/create-spec-hu/ac-adapters/index.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,4EAA4E;AAG5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAA2B,EAAE,SAAiB;IACnF,MAAM,GAAG,GAAG;QACV,GAAG,yBAAyB,CAAC,SAAS,CAAC;QACvC,GAAG,qBAAqB,CAAC,SAAS,CAAC;QACnC,GAAG,uBAAuB,CAAC,SAAS,CAAC;QACrC,GAAG,gBAAgB,CAAC,SAAS,CAAC;QAC9B,GAAG,mBAAmB,CAAC,SAAS,CAAC;QACjC,GAAG,kBAAkB,CAAC,SAAS,CAAC;KACjC,CAAC;IAEF,oCAAoC;IACpC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hu-body-generators.d.ts","sourceRoot":"","sources":["../../../src/tools/create-spec-hu/hu-body-generators.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"hu-body-generators.d.ts","sourceRoot":"","sources":["../../../src/tools/create-spec-hu/hu-body-generators.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAsCnF;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,QAAQ,EACd,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,UAAU,EAClB,SAAS,CAAC,EAAE,gBAAgB,GAAG,IAAI,GAClC,MAAM,EAAE,CA8LV;AAGD,wBAAgB,gCAAgC,IAAI,MAAM,EAAE,CAU3D;AAGD,wBAAgB,oCAAoC,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,EAAE,CAkBjF;AAID,2FAA2F;AAC3F,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAUnD;AAED,iGAAiG;AACjG,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAUnD"}
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
// SPEC-013: mobile accessibility criteria for ios/android targets.
|
|
3
3
|
import { loadAcTemplate } from './ac-template-loader.js';
|
|
4
4
|
import { generateSpecializedAcs } from './ac-adapters/index.js';
|
|
5
|
+
import { enrichCriteria, formatVerifiableCriteria, parseCriteriaText, } from '../../engine/validator/criterion-enricher.js';
|
|
5
6
|
/**
|
|
6
|
-
* Resolve acceptance criteria for a spec type.
|
|
7
|
+
* Resolve raw acceptance criteria lines for a spec type.
|
|
7
8
|
* Uses specialized ACs from ProjectKnowledge when available;
|
|
8
9
|
* falls back to static ac-templates.json entries otherwise.
|
|
9
10
|
*/
|
|
10
|
-
function
|
|
11
|
+
function resolveRawAcs(knowledge, type) {
|
|
11
12
|
if (knowledge === null || knowledge === undefined) {
|
|
12
13
|
return loadAcTemplate(type);
|
|
13
14
|
}
|
|
@@ -17,6 +18,18 @@ function resolveAcs(knowledge, type) {
|
|
|
17
18
|
}
|
|
18
19
|
return loadAcTemplate(type);
|
|
19
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Resolve acceptance criteria for a spec type, enriched with machine-verifiable blocks.
|
|
23
|
+
* SPEC-186: each criterion gets a <!-- verify: {...} --> comment for automated checking.
|
|
24
|
+
*/
|
|
25
|
+
function resolveAcs(knowledge, type) {
|
|
26
|
+
const rawLines = resolveRawAcs(knowledge, type);
|
|
27
|
+
const plainTexts = parseCriteriaText(rawLines);
|
|
28
|
+
const enriched = enrichCriteria(plainTexts);
|
|
29
|
+
const formatted = formatVerifiableCriteria(enriched);
|
|
30
|
+
// Return as individual lines for spread into parent arrays
|
|
31
|
+
return formatted.length > 0 ? formatted.split('\n') : rawLines;
|
|
32
|
+
}
|
|
20
33
|
/**
|
|
21
34
|
* Generate the body section of HU.md based on spec type.
|
|
22
35
|
* SPEC-013: includes mobile accessibility criteria for ios/android targets.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hu-body-generators.js","sourceRoot":"","sources":["../../../src/tools/create-spec-hu/hu-body-generators.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,mEAAmE;AAGnE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"hu-body-generators.js","sourceRoot":"","sources":["../../../src/tools/create-spec-hu/hu-body-generators.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-spec.d.ts","sourceRoot":"","sources":["../../src/tools/create-spec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"create-spec.d.ts","sourceRoot":"","sources":["../../src/tools/create-spec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAiCrE,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CA0RnF"}
|
|
@@ -11,6 +11,7 @@ import { join } from 'node:path';
|
|
|
11
11
|
import { detectTeamScale } from '../engine/platform-engineering/idp-detector.js';
|
|
12
12
|
import { runPreSpecDepCheck } from '../engine/dep-auditor/pre-spec-check.js';
|
|
13
13
|
import { estimateSpec } from '../engine/estimator.js';
|
|
14
|
+
import { stripEmptySections } from '../engine/spec-template-cleaner.js';
|
|
14
15
|
import { checkSpecReadiness } from '../engine/readiness-checker.js';
|
|
15
16
|
import { generateProgressContent } from '../engine/progress-writer.js';
|
|
16
17
|
import { generatePerSpecExecutiveReport, generatePerSpecTechnicalReport, } from '../engine/doc-generator/per-spec-report/index.js';
|
|
@@ -59,8 +60,8 @@ export async function handleCreateSpec(params) {
|
|
|
59
60
|
mcpSection +
|
|
60
61
|
resilienceSection;
|
|
61
62
|
const fichaTecnicaContent = generateFichaTecnicaContent(spec, description, estimation, knowledge, diagrams, teamScale);
|
|
62
|
-
await writeFile(specPath, huContent, 'utf-8');
|
|
63
|
-
await writeFile(technicalPath, fichaTecnicaContent, 'utf-8');
|
|
63
|
+
await writeFile(specPath, stripEmptySections(huContent), 'utf-8');
|
|
64
|
+
await writeFile(technicalPath, stripEmptySections(fichaTecnicaContent), 'utf-8');
|
|
64
65
|
// Generate and write progress.md
|
|
65
66
|
const progressContent = generateProgressContent(spec);
|
|
66
67
|
await writeFile(progressPath, progressContent, 'utf-8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-spec.js","sourceRoot":"","sources":["../../src/tools/create-spec.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"create-spec.js","sourceRoot":"","sources":["../../src/tools/create-spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-decision.d.ts","sourceRoot":"","sources":["../../src/tools/delete-decision.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"delete-decision.d.ts","sourceRoot":"","sources":["../../src/tools/delete-decision.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAKzE;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CA0D3F"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { hashProjectPath } from '../storage/base-store.js';
|
|
2
2
|
import { previewDeleteDecision, executeDeleteDecision } from '../engine/deleter/core.js';
|
|
3
|
+
import { notifyStoreChange } from '../engine/doc-generator/portal/regen-hook.js';
|
|
3
4
|
/**
|
|
4
5
|
* Handle delete_decision tool invocation.
|
|
5
6
|
* Supports single or bulk decision deletion.
|
|
@@ -31,6 +32,7 @@ export async function handleDeleteDecision(params) {
|
|
|
31
32
|
isError: true,
|
|
32
33
|
};
|
|
33
34
|
}
|
|
35
|
+
notifyStoreChange(params.projectRoot, 'decisions');
|
|
34
36
|
return {
|
|
35
37
|
content: [
|
|
36
38
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-decision.js","sourceRoot":"","sources":["../../src/tools/delete-decision.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"delete-decision.js","sourceRoot":"","sources":["../../src/tools/delete-decision.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAEjF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAA2B;IACpE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/F,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QAEpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACpE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,GAAG,OAAO;4BACV,OAAO,EAAE,YAAY,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,6DAA6D;yBAChH,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,iBAAiB,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAEnD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,GAAG,MAAM;wBACT,OAAO,EAAE,wBAAwB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe;qBAC7E,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,OAAO,EAAE,EAAE,CAAC;YACvE,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-project.d.ts","sourceRoot":"","sources":["../../src/tools/delete-project.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAKxE;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"delete-project.d.ts","sourceRoot":"","sources":["../../src/tools/delete-project.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAKxE;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CA4CzF"}
|
|
@@ -13,34 +13,31 @@ export async function handleDeleteProject(params) {
|
|
|
13
13
|
if (!confirm) {
|
|
14
14
|
const preview = await previewDeleteProject(projectId);
|
|
15
15
|
return {
|
|
16
|
-
content: [
|
|
17
|
-
|
|
18
|
-
type: 'text',
|
|
19
|
-
text: JSON.stringify({
|
|
20
|
-
...preview,
|
|
21
|
-
message: t('tools.delete_project.preview'),
|
|
22
|
-
}, null, 2),
|
|
23
|
-
},
|
|
24
|
-
],
|
|
16
|
+
content: [{ type: 'text', text: t('tools.delete_project.preview') }],
|
|
17
|
+
structuredContent: preview,
|
|
25
18
|
};
|
|
26
19
|
}
|
|
27
20
|
const result = await executeDeleteProject(projectId, force);
|
|
28
21
|
if (!result.success) {
|
|
29
22
|
return {
|
|
30
|
-
content: [
|
|
23
|
+
content: [
|
|
24
|
+
{
|
|
25
|
+
type: 'text',
|
|
26
|
+
text: result.warnings.length > 0 ? result.warnings.join('\n') : 'Delete failed.',
|
|
27
|
+
},
|
|
28
|
+
],
|
|
31
29
|
isError: true,
|
|
30
|
+
structuredContent: result,
|
|
32
31
|
};
|
|
33
32
|
}
|
|
34
33
|
return {
|
|
35
34
|
content: [
|
|
36
35
|
{
|
|
37
36
|
type: 'text',
|
|
38
|
-
text:
|
|
39
|
-
...result,
|
|
40
|
-
message: ti('tools.delete_project.success', { count: String(result.itemsAffected) }),
|
|
41
|
-
}, null, 2),
|
|
37
|
+
text: ti('tools.delete_project.success', { count: String(result.itemsAffected) }),
|
|
42
38
|
},
|
|
43
39
|
],
|
|
40
|
+
structuredContent: result,
|
|
44
41
|
};
|
|
45
42
|
}
|
|
46
43
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-project.js","sourceRoot":"","sources":["../../src/tools/delete-project.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAA0B;IAClE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QAEpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;YACtD,OAAO;gBACL,OAAO,EAAE
|
|
1
|
+
{"version":3,"file":"delete-project.js","sourceRoot":"","sources":["../../src/tools/delete-project.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAA0B;IAClE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QAEpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;YACtD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,8BAA8B,CAAC,EAAE,CAAC;gBACpE,iBAAiB,EAAE,OAA6C;aACjE,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB;qBACjF;iBACF;gBACD,OAAO,EAAE,IAAI;gBACb,iBAAiB,EAAE,MAA4C;aAChE,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,EAAE,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;iBAClF;aACF;YACD,iBAAiB,EAAE,MAA4C;SAChE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,4BAA4B,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YAChF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-spec.d.ts","sourceRoot":"","sources":["../../src/tools/delete-spec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAOrE;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"delete-spec.d.ts","sourceRoot":"","sources":["../../src/tools/delete-spec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAOrE;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAuDnF"}
|
|
@@ -19,19 +19,23 @@ export async function handleDeleteSpec(params) {
|
|
|
19
19
|
content: [
|
|
20
20
|
{
|
|
21
21
|
type: 'text',
|
|
22
|
-
text:
|
|
23
|
-
...preview,
|
|
24
|
-
message: ti('tools.delete_spec.preview', { count: String(preview.itemsAffected) }),
|
|
25
|
-
}, null, 2),
|
|
22
|
+
text: ti('tools.delete_spec.preview', { count: String(preview.itemsAffected) }),
|
|
26
23
|
},
|
|
27
24
|
],
|
|
25
|
+
structuredContent: preview,
|
|
28
26
|
};
|
|
29
27
|
}
|
|
30
28
|
const result = await executeDeleteSpec(projectId, specIds, force);
|
|
31
29
|
if (!result.success) {
|
|
32
30
|
return {
|
|
33
|
-
content: [
|
|
31
|
+
content: [
|
|
32
|
+
{
|
|
33
|
+
type: 'text',
|
|
34
|
+
text: result.warnings.length > 0 ? result.warnings.join('\n') : 'Delete failed.',
|
|
35
|
+
},
|
|
36
|
+
],
|
|
34
37
|
isError: true,
|
|
38
|
+
structuredContent: result,
|
|
35
39
|
};
|
|
36
40
|
}
|
|
37
41
|
// Regenerate dashboard after successful deletion (best-effort, non-blocking)
|
|
@@ -42,12 +46,10 @@ export async function handleDeleteSpec(params) {
|
|
|
42
46
|
content: [
|
|
43
47
|
{
|
|
44
48
|
type: 'text',
|
|
45
|
-
text:
|
|
46
|
-
...result,
|
|
47
|
-
message: ti('tools.delete_spec.success', { count: String(result.itemsAffected) }),
|
|
48
|
-
}, null, 2),
|
|
49
|
+
text: ti('tools.delete_spec.success', { count: String(result.itemsAffected) }),
|
|
49
50
|
},
|
|
50
51
|
],
|
|
52
|
+
structuredContent: result,
|
|
51
53
|
};
|
|
52
54
|
}
|
|
53
55
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-spec.js","sourceRoot":"","sources":["../../src/tools/delete-spec.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAuB;IAC5D,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QAEpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC5D,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"delete-spec.js","sourceRoot":"","sources":["../../src/tools/delete-spec.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAuB;IAC5D,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QAEpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC5D,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,EAAE,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;qBAChF;iBACF;gBACD,iBAAiB,EAAE,OAA6C;aACjE,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB;qBACjF;iBACF;gBACD,OAAO,EAAE,IAAI;gBACb,iBAAiB,EAAE,MAA4C;aAChE,CAAC;QACJ,CAAC;QAED,6EAA6E;QAC7E,KAAK,SAAS;aACX,SAAS,CAAC,SAAS,CAAC;aACpB,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,yBAAyB,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAE7E,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,EAAE,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;iBAC/E;aACF;YACD,iBAAiB,EAAE,MAA4C;SAChE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YAC7E,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimate.d.ts","sourceRoot":"","sources":["../../src/tools/estimate.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEnE,wBAAsB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"estimate.d.ts","sourceRoot":"","sources":["../../src/tools/estimate.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEnE,wBAAsB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CA6F7E"}
|
package/dist/tools/estimate.js
CHANGED
|
@@ -68,17 +68,18 @@ export async function handleEstimate(args) {
|
|
|
68
68
|
historyUsed: metricsHistory.entries.length > 0,
|
|
69
69
|
};
|
|
70
70
|
const level = knowledge?.experienceLevel ?? 'intermediate';
|
|
71
|
-
const summary = formatByLevel(
|
|
71
|
+
const summary = formatByLevel(ti('tools.estimate.success', {
|
|
72
|
+
specId,
|
|
73
|
+
devHours: String(est.devHours),
|
|
74
|
+
totalCostUsd: String(est.totalCostUsd),
|
|
75
|
+
}), ti('tools.estimate.success', {
|
|
72
76
|
specId,
|
|
73
77
|
devHours: String(est.devHours),
|
|
74
78
|
totalCostUsd: String(est.totalCostUsd),
|
|
75
79
|
}), `${specId}: ${est.devHours}h dev | $${est.totalCostUsd} USD | confidence: ${result.confidence}`, level);
|
|
76
80
|
return {
|
|
77
81
|
phaseEvent: createBasicPhaseEvent('estimate', 'completed', 100, 'analyzing'),
|
|
78
|
-
content: [
|
|
79
|
-
{ type: 'text', text: summary },
|
|
80
|
-
{ type: 'text', text: JSON.stringify(output, null, 2) },
|
|
81
|
-
],
|
|
82
|
+
content: [{ type: 'text', text: summary }],
|
|
82
83
|
// structuredContent requires Record<string,unknown>; output is a typed JSON-serializable object.
|
|
83
84
|
structuredContent: output,
|
|
84
85
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimate.js","sourceRoot":"","sources":["../../src/tools/estimate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"estimate.js","sourceRoot":"","sources":["../../src/tools/estimate.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,qEAAqE;AAErE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGlF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAmB;IACtD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAEnC,eAAe;IACf,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAC/E,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,gDAAgD;IAChD,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,eAAe,EAAE,CAAC;IAEzD,oDAAoD;IACpD,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG;QACtB,GAAG,YAAY;QACf,GAAG,CAAC,SAAS,EAAE,eAAe,KAAK,UAAU;YAC3C,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,GAAG,GAAG,EAAE;YAC/C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,SAAS,EAAE,eAAe,KAAK,QAAQ;YACzC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,GAAG,GAAG,EAAE;YAC/C,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,6CAA6C;IAC7C,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAEvE,2BAA2B;IAC3B,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,eAAe,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAE3E,sCAAsC;IACtC,MAAM,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE;QAC5C,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC,CAAC;IAEH,kBAAkB;IAClB,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;IAC9B,2EAA2E;IAC3E,MAAM,SAAS,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG;QACb,MAAM;QACN,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE;YACV,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE;YAClE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;SACzC;QACD,aAAa,EAAE;YACb,aAAa,EAAE,SAAS;YACxB,gBAAgB,EAAE,cAAc;YAChC,cAAc,EAAE,OAAO,cAAc,qDAAqD;SAC3F;QACD,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;KAC/C,CAAC;IAEF,MAAM,KAAK,GAAG,SAAS,EAAE,eAAe,IAAI,cAAc,CAAC;IAC3D,MAAM,OAAO,GAAG,aAAa,CAC3B,EAAE,CAAC,wBAAwB,EAAE;QAC3B,MAAM;QACN,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC9B,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;KACvC,CAAC,EACF,EAAE,CAAC,wBAAwB,EAAE;QAC3B,MAAM;QACN,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC9B,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;KACvC,CAAC,EACF,GAAG,MAAM,KAAK,GAAG,CAAC,QAAQ,YAAY,GAAG,CAAC,YAAY,sBAAsB,MAAM,CAAC,UAAU,EAAE,EAC/F,KAAK,CACN,CAAC;IAEF,OAAO;QACL,UAAU,EAAE,qBAAqB,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,CAAC;QAC5E,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACnD,iGAAiG;QACjG,iBAAiB,EAAE,MAAiC;KACrD,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-session.d.ts","sourceRoot":"","sources":["../../src/tools/export-session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAqB,MAAM,mBAAmB,CAAC;AAqD3F,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"export-session.d.ts","sourceRoot":"","sources":["../../src/tools/export-session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAqB,MAAM,mBAAmB,CAAC;AAqD3F,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAwCzF"}
|
|
@@ -55,21 +55,19 @@ export async function handleExportSession(params) {
|
|
|
55
55
|
session = await sessionStore.getLatest(projectId);
|
|
56
56
|
}
|
|
57
57
|
if (!session) {
|
|
58
|
+
return {
|
|
59
|
+
content: [{ type: 'text', text: 'No sessions found for this project.' }],
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
if (format === 'json') {
|
|
58
63
|
return {
|
|
59
64
|
content: [
|
|
60
65
|
{
|
|
61
66
|
type: 'text',
|
|
62
|
-
text: JSON.stringify(
|
|
63
|
-
message: 'No sessions found for this project.',
|
|
64
|
-
projectId,
|
|
65
|
-
}, null, 2),
|
|
67
|
+
text: `\`\`\`json\n${JSON.stringify(session, null, 2)}\n\`\`\``,
|
|
66
68
|
},
|
|
67
69
|
],
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
if (format === 'json') {
|
|
71
|
-
return {
|
|
72
|
-
content: [{ type: 'text', text: JSON.stringify(session, null, 2) }],
|
|
70
|
+
structuredContent: session,
|
|
73
71
|
};
|
|
74
72
|
}
|
|
75
73
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-session.js","sourceRoot":"","sources":["../../src/tools/export-session.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"export-session.js","sourceRoot":"","sources":["../../src/tools/export-session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAC;AAE5D,SAAS,gBAAgB,CAAC,OAA0B;IAClD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAClD,KAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAClD,KAAK,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACjE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAA0B;IAClE,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,UAAU,CAAC;IAE3C,IAAI,CAAC;QACH,IAAI,OAAO,CAAC;QACZ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qCAAqC,EAAE,CAAC;aACzE,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,eAAe,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU;qBAChE;iBACF;gBACD,iBAAiB,EAAE,OAA6C;aACjE,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;SAC7D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,OAAO,EAAE,EAAE,CAAC;YACxE,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ToolResult, SubmitFeedbackInput, TriageFeedbackInput, ResolveFeedbackInput } from '../types/index.js';
|
|
2
|
+
export declare function handleSubmitFeedback(input: SubmitFeedbackInput): Promise<ToolResult>;
|
|
3
|
+
export declare function handleTriageFeedback(input: TriageFeedbackInput): ToolResult;
|
|
4
|
+
export declare function handleResolveFeedback(input: ResolveFeedbackInput): Promise<ToolResult>;
|
|
5
|
+
//# sourceMappingURL=feedback-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feedback-handler.d.ts","sourceRoot":"","sources":["../../src/tools/feedback-handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,UAAU,EAEV,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAiC3B,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAmC1F;AAMD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,UAAU,CAY3E;AAUD,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,CA4C5F"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
// tools/feedback-handler.ts — Feedback Hub tool handlers (SPEC-188)
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { submitFeedback, getFeedback, resolveFeedback, findSimilar, } from '../storage/feedback-store.js';
|
|
4
|
+
import { triageFeedback, formatTriageReport } from '../engine/feedback/triage.js';
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
// Default data directory
|
|
7
|
+
// ---------------------------------------------------------------------------
|
|
8
|
+
function getDataDir(projectPath) {
|
|
9
|
+
const base = projectPath ?? process.cwd();
|
|
10
|
+
return join(base, 'data');
|
|
11
|
+
}
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
// Type emoji mapping
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
const TYPE_EMOJI = {
|
|
16
|
+
bug: 'Bug',
|
|
17
|
+
feature: 'Feature',
|
|
18
|
+
suggestion: 'Suggestion',
|
|
19
|
+
dx: 'DX',
|
|
20
|
+
};
|
|
21
|
+
// ---------------------------------------------------------------------------
|
|
22
|
+
// submit_feedback handler
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
export async function handleSubmitFeedback(input) {
|
|
25
|
+
const feedbackType = input.type;
|
|
26
|
+
const dataDir = getDataDir(input.context?.projectPath);
|
|
27
|
+
const entry = await submitFeedback(dataDir, {
|
|
28
|
+
type: feedbackType,
|
|
29
|
+
title: input.title,
|
|
30
|
+
description: input.description,
|
|
31
|
+
context: input.context,
|
|
32
|
+
status: 'pending',
|
|
33
|
+
votes: 1,
|
|
34
|
+
});
|
|
35
|
+
// Check for similar feedback to warn about duplicates
|
|
36
|
+
const similar = findSimilar(dataDir, input.title, 0.4).filter((e) => e.id !== entry.id);
|
|
37
|
+
const topSimilar = similar.sort((a, b) => (b.votes ?? 0) - (a.votes ?? 0))[0];
|
|
38
|
+
const lines = [
|
|
39
|
+
`Feedback submitted: **${entry.id}**`,
|
|
40
|
+
'',
|
|
41
|
+
'| Field | Value |',
|
|
42
|
+
'|-------|-------|',
|
|
43
|
+
`| Type | ${TYPE_EMOJI[feedbackType]} |`,
|
|
44
|
+
`| Title | ${entry.title} |`,
|
|
45
|
+
`| Status | Pending |`,
|
|
46
|
+
];
|
|
47
|
+
if (topSimilar !== undefined) {
|
|
48
|
+
lines.push('');
|
|
49
|
+
lines.push(`Similar feedback found: ${topSimilar.id} (${topSimilar.votes ?? 1} votes) — consider voting instead of duplicating.`);
|
|
50
|
+
}
|
|
51
|
+
return { content: [{ type: 'text', text: lines.join('\n') }] };
|
|
52
|
+
}
|
|
53
|
+
// ---------------------------------------------------------------------------
|
|
54
|
+
// triage_feedback handler
|
|
55
|
+
// ---------------------------------------------------------------------------
|
|
56
|
+
export function handleTriageFeedback(input) {
|
|
57
|
+
const dataDir = getDataDir();
|
|
58
|
+
const filterType = input.filter;
|
|
59
|
+
const entries = getFeedback(dataDir, filterType !== undefined ? { type: filterType } : undefined);
|
|
60
|
+
const groups = triageFeedback(entries);
|
|
61
|
+
const report = formatTriageReport(groups);
|
|
62
|
+
const summary = getSummaryLine(entries.length, groups.length);
|
|
63
|
+
const text = [summary, '', report].join('\n');
|
|
64
|
+
return { content: [{ type: 'text', text }] };
|
|
65
|
+
}
|
|
66
|
+
function getSummaryLine(total, groups) {
|
|
67
|
+
return `${total} feedback item(s) → ${groups} triage group(s)`;
|
|
68
|
+
}
|
|
69
|
+
// ---------------------------------------------------------------------------
|
|
70
|
+
// resolve_feedback handler
|
|
71
|
+
// ---------------------------------------------------------------------------
|
|
72
|
+
export async function handleResolveFeedback(input) {
|
|
73
|
+
const dataDir = getDataDir();
|
|
74
|
+
const resolved = await resolveFeedback(dataDir, input.feedbackId, input.specId, input.prUrl, input.notes);
|
|
75
|
+
if (resolved === null) {
|
|
76
|
+
return {
|
|
77
|
+
content: [
|
|
78
|
+
{
|
|
79
|
+
type: 'text',
|
|
80
|
+
text: `Error: Feedback ${input.feedbackId} not found. Check the ID and try again.`,
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
isError: true,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
const lines = [
|
|
87
|
+
`Feedback resolved: **${resolved.id}**`,
|
|
88
|
+
'',
|
|
89
|
+
'| Field | Value |',
|
|
90
|
+
'|-------|-------|',
|
|
91
|
+
`| Title | ${resolved.title} |`,
|
|
92
|
+
`| Status | Resolved |`,
|
|
93
|
+
`| Resolved At | ${resolved.resolvedAt ?? 'now'} |`,
|
|
94
|
+
];
|
|
95
|
+
if (resolved.specId) {
|
|
96
|
+
lines.push(`| Linked Spec | ${resolved.specId} |`);
|
|
97
|
+
}
|
|
98
|
+
if (resolved.prUrl) {
|
|
99
|
+
lines.push(`| PR URL | ${resolved.prUrl} |`);
|
|
100
|
+
}
|
|
101
|
+
if (resolved.resolvedNotes) {
|
|
102
|
+
lines.push('', `**Notes:** ${resolved.resolvedNotes}`);
|
|
103
|
+
}
|
|
104
|
+
return { content: [{ type: 'text', text: lines.join('\n') }] };
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=feedback-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feedback-handler.js","sourceRoot":"","sources":["../../src/tools/feedback-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
import type { GenerateTeammatePromptInput, ToolResult } from '../types/index.js';
|
|
2
2
|
export declare function handleGenerateTeammatePrompt(params: GenerateTeammatePromptInput): Promise<ToolResult>;
|
|
3
|
+
/**
|
|
4
|
+
* Generate agent prompts based on detected architecture layers.
|
|
5
|
+
* When `layer` is omitted, generates prompts for all detected layers.
|
|
6
|
+
*/
|
|
7
|
+
export declare function handleGenerateLayerPrompts(params: {
|
|
8
|
+
projectId: string;
|
|
9
|
+
layer?: string;
|
|
10
|
+
}): Promise<ToolResult>;
|
|
3
11
|
//# sourceMappingURL=generate-teammate-prompt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-teammate-prompt.d.ts","sourceRoot":"","sources":["../../src/tools/generate-teammate-prompt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"generate-teammate-prompt.d.ts","sourceRoot":"","sources":["../../src/tools/generate-teammate-prompt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAgDjF,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,UAAU,CAAC,CAuCrB;AAMD;;;GAGG;AACH,wBAAsB,0BAA0B,CAAC,MAAM,EAAE;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,UAAU,CAAC,CA8BtB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { specStore, knowledgeStore } from '../storage/index.js';
|
|
2
2
|
import { buildTeammatePrompt } from '../engine/team-planner/index.js';
|
|
3
|
+
import { generateAgentPrompts } from '../engine/agent-prompt-generator.js';
|
|
3
4
|
import { readFile } from 'node:fs/promises';
|
|
4
5
|
import { stripFrontmatter } from '../engine/frontmatter-parser.js';
|
|
5
6
|
// ---------------------------------------------------------------------------
|
|
@@ -75,4 +76,36 @@ export async function handleGenerateTeammatePrompt(params) {
|
|
|
75
76
|
});
|
|
76
77
|
return text({ teammateName, role, specId, prompt });
|
|
77
78
|
}
|
|
79
|
+
// ---------------------------------------------------------------------------
|
|
80
|
+
// Layer-based agent prompt handler
|
|
81
|
+
// ---------------------------------------------------------------------------
|
|
82
|
+
/**
|
|
83
|
+
* Generate agent prompts based on detected architecture layers.
|
|
84
|
+
* When `layer` is omitted, generates prompts for all detected layers.
|
|
85
|
+
*/
|
|
86
|
+
export async function handleGenerateLayerPrompts(params) {
|
|
87
|
+
const { projectId, layer } = params;
|
|
88
|
+
const knowledge = await knowledgeStore.getKnowledge(projectId);
|
|
89
|
+
if (!knowledge) {
|
|
90
|
+
return err(`No project knowledge found for '${projectId}'. Run init_project or scan_project first.`);
|
|
91
|
+
}
|
|
92
|
+
const prompts = generateAgentPrompts(knowledge, layer);
|
|
93
|
+
if (prompts.length === 0) {
|
|
94
|
+
const hint = layer
|
|
95
|
+
? `Layer '${layer}' was not detected in project '${projectId}'.`
|
|
96
|
+
: `No layers detected in project '${projectId}'.`;
|
|
97
|
+
return err(`${hint} Run scan_project to detect architecture layers first.`);
|
|
98
|
+
}
|
|
99
|
+
return text({
|
|
100
|
+
projectId,
|
|
101
|
+
generatedCount: prompts.length,
|
|
102
|
+
agents: prompts.map((p) => ({
|
|
103
|
+
name: p.name,
|
|
104
|
+
layer: p.layer,
|
|
105
|
+
recommendedModel: p.recommendedModel,
|
|
106
|
+
ownedPaths: p.ownedPaths,
|
|
107
|
+
prompt: p.prompt,
|
|
108
|
+
})),
|
|
109
|
+
});
|
|
110
|
+
}
|
|
78
111
|
//# sourceMappingURL=generate-teammate-prompt.js.map
|