@zhixuan92/multi-model-agent-core 4.7.3 → 4.7.5
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 +6 -6
- package/dist/config/schema.d.ts +1 -1
- package/dist/events/task-envelope.d.ts +4 -0
- package/dist/events/task-envelope.d.ts.map +1 -1
- package/dist/events/task-envelope.js.map +1 -1
- package/dist/events/to-wire-record.d.ts.map +1 -1
- package/dist/events/to-wire-record.js +37 -20
- package/dist/events/to-wire-record.js.map +1 -1
- package/dist/events/wire-schema.d.ts +48 -36
- package/dist/events/wire-schema.d.ts.map +1 -1
- package/dist/events/wire-schema.js +15 -1
- package/dist/events/wire-schema.js.map +1 -1
- package/dist/index.d.ts +3 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -13
- package/dist/index.js.map +1 -1
- package/dist/lifecycle/findings-parser.d.ts +8 -1
- package/dist/lifecycle/findings-parser.d.ts.map +1 -1
- package/dist/lifecycle/findings-parser.js +109 -18
- package/dist/lifecycle/findings-parser.js.map +1 -1
- package/dist/lifecycle/handlers/annotate-stage.d.ts +4 -0
- package/dist/lifecycle/handlers/annotate-stage.d.ts.map +1 -1
- package/dist/lifecycle/handlers/annotate-stage.js +14 -1
- package/dist/lifecycle/handlers/annotate-stage.js.map +1 -1
- package/dist/lifecycle/handlers/baseline-handlers.d.ts.map +1 -1
- package/dist/lifecycle/handlers/baseline-handlers.js +61 -4
- package/dist/lifecycle/handlers/baseline-handlers.js.map +1 -1
- package/dist/lifecycle/handlers/enrich-runtime-result.d.ts.map +1 -1
- package/dist/lifecycle/handlers/enrich-runtime-result.js +10 -0
- package/dist/lifecycle/handlers/enrich-runtime-result.js.map +1 -1
- package/dist/lifecycle/handlers/implement-stage.d.ts.map +1 -1
- package/dist/lifecycle/handlers/implement-stage.js +4 -0
- package/dist/lifecycle/handlers/implement-stage.js.map +1 -1
- package/dist/lifecycle/handlers/read-route-implementer.d.ts +11 -0
- package/dist/lifecycle/handlers/read-route-implementer.d.ts.map +1 -1
- package/dist/lifecycle/handlers/read-route-implementer.js +26 -1
- package/dist/lifecycle/handlers/read-route-implementer.js.map +1 -1
- package/dist/lifecycle/handlers/review-stage.d.ts.map +1 -1
- package/dist/lifecycle/handlers/review-stage.js +38 -3
- package/dist/lifecycle/handlers/review-stage.js.map +1 -1
- package/dist/lifecycle/lifecycle-driver.js +4 -0
- package/dist/lifecycle/lifecycle-driver.js.map +1 -1
- package/dist/lifecycle/merge-stage-stats.d.ts +9 -0
- package/dist/lifecycle/merge-stage-stats.d.ts.map +1 -1
- package/dist/lifecycle/merge-stage-stats.js +21 -0
- package/dist/lifecycle/merge-stage-stats.js.map +1 -1
- package/dist/lifecycle/parallel-criteria-routes.d.ts +5 -0
- package/dist/lifecycle/parallel-criteria-routes.d.ts.map +1 -1
- package/dist/lifecycle/parallel-criteria-routes.js +15 -7
- package/dist/lifecycle/parallel-criteria-routes.js.map +1 -1
- package/dist/lifecycle/perform-implementation.d.ts.map +1 -1
- package/dist/lifecycle/perform-implementation.js +46 -0
- package/dist/lifecycle/perform-implementation.js.map +1 -1
- package/dist/lifecycle/stage-io.d.ts +12 -0
- package/dist/lifecycle/stage-io.d.ts.map +1 -1
- package/dist/lifecycle/stage-io.js.map +1 -1
- package/dist/lifecycle/tool-config-types.d.ts +7 -1
- package/dist/lifecycle/tool-config-types.d.ts.map +1 -1
- package/dist/providers/claude-session.d.ts.map +1 -1
- package/dist/providers/claude-session.js +36 -2
- package/dist/providers/claude-session.js.map +1 -1
- package/dist/reporting/findings-outcome.d.ts +13 -0
- package/dist/reporting/findings-outcome.d.ts.map +1 -0
- package/dist/reporting/findings-outcome.js +22 -0
- package/dist/reporting/findings-outcome.js.map +1 -0
- package/dist/reporting/report-parser-slots/investigate-report.d.ts +6 -0
- package/dist/reporting/report-parser-slots/investigate-report.d.ts.map +1 -1
- package/dist/reporting/report-parser-slots/investigate-report.js +122 -13
- package/dist/reporting/report-parser-slots/investigate-report.js.map +1 -1
- package/dist/reporting/structured-report.d.ts +4 -0
- package/dist/reporting/structured-report.d.ts.map +1 -1
- package/dist/reporting/structured-report.js.map +1 -1
- package/dist/review/parse-review-report.d.ts +4 -1
- package/dist/review/parse-review-report.d.ts.map +1 -1
- package/dist/review/parse-review-report.js +3 -2
- package/dist/review/parse-review-report.js.map +1 -1
- package/dist/review/templates/quality-review.d.ts +1 -0
- package/dist/review/templates/quality-review.d.ts.map +1 -1
- package/dist/review/templates/quality-review.js +14 -3
- package/dist/review/templates/quality-review.js.map +1 -1
- package/dist/review/templates/spec-review.d.ts +1 -0
- package/dist/review/templates/spec-review.d.ts.map +1 -1
- package/dist/review/templates/spec-review.js +19 -12
- package/dist/review/templates/spec-review.js.map +1 -1
- package/dist/tools/audit/brief-slot.d.ts +15 -0
- package/dist/tools/audit/brief-slot.d.ts.map +1 -0
- package/dist/tools/audit/brief-slot.js +69 -0
- package/dist/tools/audit/brief-slot.js.map +1 -0
- package/dist/tools/audit/skill-audit-criteria.d.ts.map +1 -1
- package/dist/tools/audit/skill-audit-criteria.js +1 -0
- package/dist/tools/audit/skill-audit-criteria.js.map +1 -1
- package/dist/tools/audit/spec-audit-criteria.d.ts.map +1 -1
- package/dist/tools/audit/spec-audit-criteria.js +5 -4
- package/dist/tools/audit/spec-audit-criteria.js.map +1 -1
- package/dist/tools/audit/subtypes.d.ts.map +1 -1
- package/dist/tools/audit/subtypes.js +2 -0
- package/dist/tools/audit/subtypes.js.map +1 -1
- package/dist/tools/audit/tool-config.d.ts +2 -14
- package/dist/tools/audit/tool-config.d.ts.map +1 -1
- package/dist/tools/audit/tool-config.js +1 -68
- package/dist/tools/audit/tool-config.js.map +1 -1
- package/dist/{intake/brief-compiler-slots/debug.d.ts → tools/debug/brief-slot.d.ts} +1 -1
- package/dist/tools/debug/brief-slot.d.ts.map +1 -0
- package/dist/{intake/brief-compiler-slots/debug.js → tools/debug/brief-slot.js} +1 -1
- package/dist/tools/debug/brief-slot.js.map +1 -0
- package/dist/tools/debug/subtypes.d.ts.map +1 -1
- package/dist/tools/debug/subtypes.js +5 -4
- package/dist/tools/debug/subtypes.js.map +1 -1
- package/dist/tools/debug/tool-config.d.ts +1 -1
- package/dist/tools/debug/tool-config.d.ts.map +1 -1
- package/dist/tools/debug/tool-config.js +1 -1
- package/dist/tools/debug/tool-config.js.map +1 -1
- package/dist/tools/delegate/brief-slot.d.ts +13 -0
- package/dist/tools/delegate/brief-slot.d.ts.map +1 -0
- package/dist/{intake/brief-compiler-slots/delegate.js → tools/delegate/brief-slot.js} +12 -3
- package/dist/tools/delegate/brief-slot.js.map +1 -0
- package/dist/tools/delegate/schema.d.ts +1 -1
- package/dist/tools/delegate/tool-config.d.ts +1 -10
- package/dist/tools/delegate/tool-config.d.ts.map +1 -1
- package/dist/tools/delegate/tool-config.js +2 -10
- package/dist/tools/delegate/tool-config.js.map +1 -1
- package/dist/tools/execute-plan/brief-slot.d.ts +21 -0
- package/dist/tools/execute-plan/brief-slot.d.ts.map +1 -0
- package/dist/{intake/brief-compiler-slots/execute-plan.js → tools/execute-plan/brief-slot.js} +3 -67
- package/dist/tools/execute-plan/brief-slot.js.map +1 -0
- package/dist/tools/execute-plan/draft-id.d.ts.map +1 -0
- package/dist/tools/execute-plan/draft-id.js.map +1 -0
- package/dist/tools/execute-plan/plan-extractor.d.ts.map +1 -0
- package/dist/tools/execute-plan/plan-extractor.js.map +1 -0
- package/dist/tools/execute-plan/schema.d.ts +1 -1
- package/dist/tools/execute-plan/tool-config.d.ts +3 -3
- package/dist/tools/execute-plan/tool-config.d.ts.map +1 -1
- package/dist/tools/execute-plan/tool-config.js +2 -2
- package/dist/tools/execute-plan/tool-config.js.map +1 -1
- package/dist/tools/investigate/brief-slot.d.ts +31 -0
- package/dist/tools/investigate/brief-slot.d.ts.map +1 -0
- package/dist/tools/investigate/brief-slot.js +69 -0
- package/dist/tools/investigate/brief-slot.js.map +1 -0
- package/dist/tools/investigate/subtypes.d.ts.map +1 -1
- package/dist/tools/investigate/subtypes.js +5 -4
- package/dist/tools/investigate/subtypes.js.map +1 -1
- package/dist/tools/investigate/tool-config.d.ts +2 -29
- package/dist/tools/investigate/tool-config.d.ts.map +1 -1
- package/dist/tools/investigate/tool-config.js +2 -62
- package/dist/tools/investigate/tool-config.js.map +1 -1
- package/dist/tools/parallel-criteria-prompt.d.ts +7 -0
- package/dist/tools/parallel-criteria-prompt.d.ts.map +1 -1
- package/dist/tools/parallel-criteria-prompt.js.map +1 -1
- package/dist/tools/research/brief-slot.d.ts +19 -0
- package/dist/tools/research/brief-slot.d.ts.map +1 -0
- package/dist/tools/research/brief-slot.js +37 -0
- package/dist/tools/research/brief-slot.js.map +1 -0
- package/dist/tools/research/subtypes.d.ts.map +1 -1
- package/dist/tools/research/subtypes.js +5 -4
- package/dist/tools/research/subtypes.js.map +1 -1
- package/dist/tools/research/tool-config.d.ts +2 -14
- package/dist/tools/research/tool-config.d.ts.map +1 -1
- package/dist/tools/research/tool-config.js +3 -14
- package/dist/tools/research/tool-config.js.map +1 -1
- package/dist/tools/retry/brief-slot.d.ts +7 -0
- package/dist/tools/retry/brief-slot.d.ts.map +1 -0
- package/dist/tools/retry/brief-slot.js +2 -0
- package/dist/tools/retry/brief-slot.js.map +1 -0
- package/dist/tools/retry/tool-config.d.ts +1 -5
- package/dist/tools/retry/tool-config.d.ts.map +1 -1
- package/dist/tools/retry/tool-config.js +2 -1
- package/dist/tools/retry/tool-config.js.map +1 -1
- package/dist/{intake/brief-compiler-slots/review.d.ts → tools/review/brief-slot.d.ts} +1 -1
- package/dist/tools/review/brief-slot.d.ts.map +1 -0
- package/dist/{intake/brief-compiler-slots/review.js → tools/review/brief-slot.js} +1 -1
- package/dist/tools/review/brief-slot.js.map +1 -0
- package/dist/tools/review/subtypes.d.ts.map +1 -1
- package/dist/tools/review/subtypes.js +5 -4
- package/dist/tools/review/subtypes.js.map +1 -1
- package/dist/tools/review/tool-config.d.ts +1 -1
- package/dist/tools/review/tool-config.d.ts.map +1 -1
- package/dist/tools/review/tool-config.js +1 -1
- package/dist/tools/review/tool-config.js.map +1 -1
- package/dist/types/brief-quality-policy.d.ts +3 -0
- package/dist/types/brief-quality-policy.d.ts.map +1 -0
- package/dist/types/brief-quality-policy.js +2 -0
- package/dist/types/brief-quality-policy.js.map +1 -0
- package/dist/{intake/types.d.ts → types/draft-task.d.ts} +2 -40
- package/dist/types/draft-task.d.ts.map +1 -0
- package/dist/types/draft-task.js +2 -0
- package/dist/types/draft-task.js.map +1 -0
- package/dist/types/review-policy.d.ts +2 -0
- package/dist/types/review-policy.d.ts.map +1 -0
- package/dist/types/review-policy.js +2 -0
- package/dist/types/review-policy.js.map +1 -0
- package/dist/types/task-spec.d.ts +1 -1
- package/dist/types/task-spec.d.ts.map +1 -1
- package/package.json +1 -49
- package/dist/intake/brief-compiler-slots/debug.d.ts.map +0 -1
- package/dist/intake/brief-compiler-slots/debug.js.map +0 -1
- package/dist/intake/brief-compiler-slots/delegate.d.ts +0 -23
- package/dist/intake/brief-compiler-slots/delegate.d.ts.map +0 -1
- package/dist/intake/brief-compiler-slots/delegate.js.map +0 -1
- package/dist/intake/brief-compiler-slots/execute-plan.d.ts +0 -49
- package/dist/intake/brief-compiler-slots/execute-plan.d.ts.map +0 -1
- package/dist/intake/brief-compiler-slots/execute-plan.js.map +0 -1
- package/dist/intake/brief-compiler-slots/register-context-block.d.ts +0 -17
- package/dist/intake/brief-compiler-slots/register-context-block.d.ts.map +0 -1
- package/dist/intake/brief-compiler-slots/register-context-block.js +0 -17
- package/dist/intake/brief-compiler-slots/register-context-block.js.map +0 -1
- package/dist/intake/brief-compiler-slots/research.d.ts +0 -18
- package/dist/intake/brief-compiler-slots/research.d.ts.map +0 -1
- package/dist/intake/brief-compiler-slots/research.js +0 -43
- package/dist/intake/brief-compiler-slots/research.js.map +0 -1
- package/dist/intake/brief-compiler-slots/retry.d.ts +0 -20
- package/dist/intake/brief-compiler-slots/retry.d.ts.map +0 -1
- package/dist/intake/brief-compiler-slots/retry.js +0 -37
- package/dist/intake/brief-compiler-slots/retry.js.map +0 -1
- package/dist/intake/brief-compiler-slots/review.d.ts.map +0 -1
- package/dist/intake/brief-compiler-slots/review.js.map +0 -1
- package/dist/intake/brief-compiler.d.ts +0 -9
- package/dist/intake/brief-compiler.d.ts.map +0 -1
- package/dist/intake/brief-compiler.js +0 -8
- package/dist/intake/brief-compiler.js.map +0 -1
- package/dist/intake/classify.d.ts +0 -3
- package/dist/intake/classify.d.ts.map +0 -1
- package/dist/intake/classify.js +0 -111
- package/dist/intake/classify.js.map +0 -1
- package/dist/intake/context-overflow-estimator.d.ts +0 -33
- package/dist/intake/context-overflow-estimator.d.ts.map +0 -1
- package/dist/intake/context-overflow-estimator.js +0 -36
- package/dist/intake/context-overflow-estimator.js.map +0 -1
- package/dist/intake/draft-id.d.ts.map +0 -1
- package/dist/intake/draft-id.js.map +0 -1
- package/dist/intake/field-inferer.d.ts +0 -10
- package/dist/intake/field-inferer.d.ts.map +0 -1
- package/dist/intake/field-inferer.js +0 -57
- package/dist/intake/field-inferer.js.map +0 -1
- package/dist/intake/host-allowlist-builder.d.ts +0 -25
- package/dist/intake/host-allowlist-builder.d.ts.map +0 -1
- package/dist/intake/host-allowlist-builder.js +0 -102
- package/dist/intake/host-allowlist-builder.js.map +0 -1
- package/dist/intake/index.d.ts +0 -5
- package/dist/intake/index.d.ts.map +0 -1
- package/dist/intake/index.js +0 -6
- package/dist/intake/index.js.map +0 -1
- package/dist/intake/pipeline.d.ts +0 -5
- package/dist/intake/pipeline.d.ts.map +0 -1
- package/dist/intake/pipeline.js +0 -110
- package/dist/intake/pipeline.js.map +0 -1
- package/dist/intake/plan-extractor.d.ts.map +0 -1
- package/dist/intake/plan-extractor.js.map +0 -1
- package/dist/intake/resolve.d.ts +0 -16
- package/dist/intake/resolve.d.ts.map +0 -1
- package/dist/intake/resolve.js +0 -37
- package/dist/intake/resolve.js.map +0 -1
- package/dist/intake/source-schema.d.ts +0 -4
- package/dist/intake/source-schema.d.ts.map +0 -1
- package/dist/intake/source-schema.js +0 -45
- package/dist/intake/source-schema.js.map +0 -1
- package/dist/intake/types.d.ts.map +0 -1
- package/dist/intake/types.js +0 -2
- package/dist/intake/types.js.map +0 -1
- package/dist/intake/verify-command-validator.d.ts +0 -6
- package/dist/intake/verify-command-validator.d.ts.map +0 -1
- package/dist/intake/verify-command-validator.js +0 -47
- package/dist/intake/verify-command-validator.js.map +0 -1
- package/dist/intake/verify-referenced-blocks.d.ts +0 -5
- package/dist/intake/verify-referenced-blocks.d.ts.map +0 -1
- package/dist/intake/verify-referenced-blocks.js +0 -9
- package/dist/intake/verify-referenced-blocks.js.map +0 -1
- /package/dist/{intake → tools/execute-plan}/draft-id.d.ts +0 -0
- /package/dist/{intake → tools/execute-plan}/draft-id.js +0 -0
- /package/dist/{intake → tools/execute-plan}/plan-extractor.d.ts +0 -0
- /package/dist/{intake → tools/execute-plan}/plan-extractor.js +0 -0
|
@@ -5,12 +5,13 @@ const SEMANTICS_DEFAULT = {
|
|
|
5
5
|
emptyOutcomeLine: 'If THIS lens reveals nothing in the failure under investigation, respond with "No findings for this criterion." — valid outcome.',
|
|
6
6
|
findingMeaningParagraph: 'A finding is a ROOT-CAUSE HYPOTHESIS (or contributing factor) for the failure under investigation, viewed through this criterion\'s lens. Title = the proposed cause. Severity reflects how strong the trace from symptom to cause is.',
|
|
7
7
|
severityMeanings: {
|
|
8
|
-
critical: 'root cause
|
|
9
|
-
high: '
|
|
10
|
-
medium: '
|
|
11
|
-
low: '
|
|
8
|
+
critical: 'Confirmed root cause',
|
|
9
|
+
high: 'Very likely root cause; one step unconfirmed',
|
|
10
|
+
medium: 'Plausible hypothesis',
|
|
11
|
+
low: 'Peripheral observation',
|
|
12
12
|
},
|
|
13
13
|
mustEmitAtLeastOne: true,
|
|
14
|
+
legalOutcomes: ['found', 'not_applicable'],
|
|
14
15
|
};
|
|
15
16
|
export const DEBUG_SUBTYPES = {
|
|
16
17
|
default: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subtypes.js","sourceRoot":"","sources":["../../../src/tools/debug/subtypes.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EAAE,mBAAmB,EAAE,gBAAgB,EAChE,yBAAyB,EAAE,cAAc,GAC1C,MAAM,2BAA2B,CAAC;AAInC,8CAA8C;AAC9C,MAAM,iBAAiB,GAAmB;IACxC,QAAQ,EAAE,6KAA6K;IACvL,gBAAgB,EAAE,kIAAkI;IACpJ,uBAAuB,EAAE,wOAAwO;IACjQ,gBAAgB,EAAE;QAChB,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"subtypes.js","sourceRoot":"","sources":["../../../src/tools/debug/subtypes.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EAAE,mBAAmB,EAAE,gBAAgB,EAChE,yBAAyB,EAAE,cAAc,GAC1C,MAAM,2BAA2B,CAAC;AAInC,8CAA8C;AAC9C,MAAM,iBAAiB,GAAmB;IACxC,QAAQ,EAAE,6KAA6K;IACvL,gBAAgB,EAAE,kIAAkI;IACpJ,uBAAuB,EAAE,wOAAwO;IACjQ,gBAAgB,EAAE;QAChB,QAAQ,EAAE,sBAAsB;QAChC,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,sBAAsB;QAC9B,GAAG,EAAE,wBAAwB;KAC9B;IACD,kBAAkB,EAAE,IAAI;IACxB,aAAa,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAU;CACpD,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAA8C;IACvE,OAAO,EAAE;QACP,QAAQ,EAAE,cAAc;QACxB,WAAW,EAAE,yBAAyB;QACtC,YAAY,EAAE,mBAAmB;QACjC,SAAS,EAAE,gBAAgB;QAC3B,kBAAkB,EAAE,yBAAyB;QAC7C,SAAS,EAAE,iBAAiB;KAC7B;CACF,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ToolSurfaceRegistry } from '../../tool-surface/tool-surface-registry.js';
|
|
2
2
|
import type { Input } from './schema.js';
|
|
3
3
|
import type { ToolConfig } from '../../lifecycle/tool-config-types.js';
|
|
4
|
-
import { type ToolDebugBrief } from '
|
|
4
|
+
import { type ToolDebugBrief } from './brief-slot.js';
|
|
5
5
|
export declare function registerDebug(registry: ToolSurfaceRegistry): void;
|
|
6
6
|
export declare const toolConfig: ToolConfig<Input, ToolDebugBrief, unknown>;
|
|
7
7
|
//# sourceMappingURL=tool-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-config.d.ts","sourceRoot":"","sources":["../../../src/tools/debug/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAElF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAEvE,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"tool-config.d.ts","sourceRoot":"","sources":["../../../src/tools/debug/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAElF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAEvE,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAatE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAYjE;AAsDD,eAAO,MAAM,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,CA0CjE,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { inputSchema } from './schema.js';
|
|
2
2
|
import { qualityDebugTemplate } from '../../review/templates/quality-review-debug.js';
|
|
3
|
-
import { debugBriefSlot } from '
|
|
3
|
+
import { debugBriefSlot } from './brief-slot.js';
|
|
4
4
|
import { debugHeadlineTemplate } from '../../reporting/headline-templates/debug.js';
|
|
5
5
|
import { DEFAULT_TASK_TIMEOUT_MS } from '../../config/schema.js';
|
|
6
6
|
import { SEVERITY_LADDER } from '../../review/templates/finding-criteria.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../../../src/tools/debug/tool-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAGtF,OAAO,EAAE,cAAc,EAAuB,MAAM,
|
|
1
|
+
{"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../../../src/tools/debug/tool-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAGtF,OAAO,EAAE,cAAc,EAAuB,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,UAAU,aAAa,CAAC,QAA6B;IACzD,QAAQ,CAAC,QAAQ,CAAC;QAChB,SAAS,EAAE,OAAO;QAClB,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,WAAW;QACnB,YAAY,EAAE,WAAW;QACzB,gBAAgB,EAAE,SAAS;QAC3B,oBAAoB,EAAE,KAAK;QAC3B,iBAAiB,EAAE,eAAe;KACnC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,2BAA2B,GAAG;IAClC,mEAAmE;IACnE,mEAAmE;IACnE,8DAA8D;IAC9D,uEAAuE;IACvE,yBAAyB;IACzB,EAAE;IACF,iKAAiK;IACjK,EAAE;IACF,gCAAgC;IAChC,4CAA4C;IAC5C,4DAA4D;IAC5D,iDAAiD;IACjD,oEAAoE;IACpE,gEAAgE;IAChE,8DAA8D;IAC9D,wDAAwD;IACxD,EAAE;IACF,gCAAgC;IAChC,iBAAiB;IACjB,OAAO;IACP,EAAE;IACF,QAAQ;IACR,8HAA8H;IAC9H,6HAA6H;IAC7H,kGAAkG;IAClG,oGAAoG;IACpG,EAAE;IACF,0EAA0E;IAC1E,eAAe;IACf,EAAE;IACF,mEAAmE;IACnE,iEAAiE;IACjE,wCAAwC;IACxC,mBAAmB;IACnB,EAAE;IACF,iEAAiE;IACjE,uDAAuD;IACvD,2BAA2B;IAC3B,EAAE;IACF,mBAAmB;IACnB,EAAE;IACF,gBAAgB;IAChB,EAAE;IACF,yBAAyB;CAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,SAAS,oBAAoB,CAAC,SAAoB;IAChD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpD,OAAO,kCAAkC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACrF,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAA+C;IACpE,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,cAAc;IACzB,aAAa,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5B,MAAM,KAAK,GAAa,CAAC,0BAA0B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,IAAI,KAAK,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,UAAU;YAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5E,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,WAAW,GAAa,CAAC,wBAAwB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,IAAI,KAAK,CAAC,OAAO;YAAE,WAAW,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,IAAI,KAAK,CAAC,UAAU;YAAE,WAAW,CAAC,IAAI,CAAC,uBAAuB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QAClF,OAAO;YACL,MAAM;YACN,qEAAqE;YACrE,iEAAiE;YACjE,mEAAmE;YACnE,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;YACxC,SAAS,EAAE,SAAS;YACpB,YAAY,EAAE,MAAM;YACpB,kBAAkB,EAAE,KAAK;YACzB,IAAI,EAAE,+KAA+K;YACrL,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,MAAM;YAC3C,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,IAAI,uBAAuB;YACpE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,IAAI,UAAU;YAC/D,GAAG,EAAE,GAAG,CAAC,cAAc,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG;YACvC,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACtF,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,SAAS;SACtC,CAAC;IACJ,CAAC;IACD,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC,CAAC,CAAC,EAAE;IACzG,gBAAgB,EAAE,qBAAqB;IACvC,eAAe,EAAE;QACf,SAAS,EAAE,oBAAoB;KAChC;CACF,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Input } from './schema.js';
|
|
2
|
+
import type { ReviewPolicy } from '../../types/review-policy.js';
|
|
3
|
+
export interface DelegateBrief {
|
|
4
|
+
prompt: string;
|
|
5
|
+
done?: string;
|
|
6
|
+
filePaths?: string[];
|
|
7
|
+
agentType: 'standard' | 'complex';
|
|
8
|
+
reviewPolicy: ReviewPolicy;
|
|
9
|
+
contextBlockIds?: string[];
|
|
10
|
+
verifyCommand?: string[];
|
|
11
|
+
}
|
|
12
|
+
export declare const delegateBriefSlot: (input: Input) => DelegateBrief[];
|
|
13
|
+
//# sourceMappingURL=brief-slot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brief-slot.d.ts","sourceRoot":"","sources":["../../../src/tools/delegate/brief-slot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AASjE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,UAAU,GAAG,SAAS,CAAC;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAyCD,eAAO,MAAM,iBAAiB,GAAI,OAAO,KAAK,KAAG,aAAa,EASzD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DELEGATE_PURPOSE_ORIENTATION, DELEGATE_SCOPE_RULE, DELEGATE_FAILURE_MODES, COMPLETENESS_REMINDER_DELEGATE, TURN_BUDGET_DELEGATE, } from '
|
|
1
|
+
import { DELEGATE_PURPOSE_ORIENTATION, DELEGATE_SCOPE_RULE, DELEGATE_FAILURE_MODES, COMPLETENESS_REMINDER_DELEGATE, TURN_BUDGET_DELEGATE, } from './implementer-criteria.js';
|
|
2
2
|
/**
|
|
3
3
|
* Compile a delegate worker prompt — slimmed in 4.2.3 from ~9 KB to
|
|
4
4
|
* ~3 KB. Cheap workers respond to long layered prompts by spinning on
|
|
@@ -16,7 +16,7 @@ import { DELEGATE_PURPOSE_ORIENTATION, DELEGATE_SCOPE_RULE, DELEGATE_FAILURE_MOD
|
|
|
16
16
|
* 5. Top-4 failure-mode taxonomy
|
|
17
17
|
* 6. Brief-vs-diff walk
|
|
18
18
|
*/
|
|
19
|
-
|
|
19
|
+
function compileDelegatePrompt(input) {
|
|
20
20
|
const filePathsClause = input.filePaths && input.filePaths.length > 0
|
|
21
21
|
? `\n\nFILE CONSTRAINT: write to exactly these path(s), no others, no renames: ${input.filePaths.map((p) => `\`${p}\``).join(', ')}.\n- Existing files in this list are pre-verified to read and modify.\n- Non-existent paths in this list are explicit OUTPUT TARGETS — create them.\n- Files NOT in this list are off-limits to write unless the brief\'s task genuinely requires touching them (call out the deviation in your summary).`
|
|
22
22
|
: '';
|
|
@@ -37,4 +37,13 @@ export function compileDelegatePrompt(input) {
|
|
|
37
37
|
TURN_BUDGET_DELEGATE,
|
|
38
38
|
].join('\n');
|
|
39
39
|
}
|
|
40
|
-
|
|
40
|
+
export const delegateBriefSlot = (input) => input.tasks.map((t) => ({
|
|
41
|
+
prompt: compileDelegatePrompt({ prompt: t.prompt, filePaths: t.filePaths }),
|
|
42
|
+
done: t.done,
|
|
43
|
+
filePaths: t.filePaths,
|
|
44
|
+
agentType: t.agentType ?? 'standard',
|
|
45
|
+
reviewPolicy: t.reviewPolicy ?? 'full',
|
|
46
|
+
contextBlockIds: t.contextBlockIds,
|
|
47
|
+
verifyCommand: t.verifyCommand,
|
|
48
|
+
}));
|
|
49
|
+
//# sourceMappingURL=brief-slot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brief-slot.js","sourceRoot":"","sources":["../../../src/tools/delegate/brief-slot.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,EACtB,8BAA8B,EAC9B,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAYnC;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,qBAAqB,CAAC,KAA+C;IAC5E,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QACnE,CAAC,CAAC,+EAA+E,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,2SAA2S;QAC7a,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;QACL,4BAA4B;QAC5B,EAAE;QACF,gFAAgF;QAChF,EAAE;QACF,KAAK,CAAC,MAAM;QACZ,eAAe;QACf,EAAE;QACF,mBAAmB;QACnB,EAAE;QACF,sBAAsB;QACtB,EAAE;QACF,8BAA8B;QAC9B,EAAE;QACF,oBAAoB;KACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAY,EAAmB,EAAE,CACjE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtB,MAAM,EAAE,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;IAC3E,IAAI,EAAE,CAAC,CAAC,IAAI;IACZ,SAAS,EAAE,CAAC,CAAC,SAAS;IACtB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,UAAU;IACpC,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,MAAM;IACtC,eAAe,EAAE,CAAC,CAAC,eAAe;IAClC,aAAa,EAAE,CAAC,CAAC,aAAa;CAC/B,CAAC,CAAC,CAAC"}
|
|
@@ -12,10 +12,10 @@ export declare const inputSchema: z.ZodObject<{
|
|
|
12
12
|
outputTargets: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
13
13
|
verifyCommand: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
14
14
|
reviewPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
15
|
+
none: "none";
|
|
15
16
|
full: "full";
|
|
16
17
|
quality_only: "quality_only";
|
|
17
18
|
diff_only: "diff_only";
|
|
18
|
-
none: "none";
|
|
19
19
|
}>>>;
|
|
20
20
|
}, z.core.$strict>>;
|
|
21
21
|
}, z.core.$strict>;
|
|
@@ -1,16 +1,7 @@
|
|
|
1
1
|
import { ToolSurfaceRegistry } from '../../tool-surface/tool-surface-registry.js';
|
|
2
2
|
import type { Input } from './schema.js';
|
|
3
3
|
import type { ToolConfig } from '../../lifecycle/tool-config-types.js';
|
|
4
|
-
import type
|
|
4
|
+
import { type DelegateBrief } from './brief-slot.js';
|
|
5
5
|
export declare function registerDelegate(registry: ToolSurfaceRegistry): void;
|
|
6
|
-
export interface DelegateBrief {
|
|
7
|
-
prompt: string;
|
|
8
|
-
done?: string;
|
|
9
|
-
filePaths?: string[];
|
|
10
|
-
agentType: 'standard' | 'complex';
|
|
11
|
-
reviewPolicy: ReviewPolicy;
|
|
12
|
-
contextBlockIds?: string[];
|
|
13
|
-
verifyCommand?: string[];
|
|
14
|
-
}
|
|
15
6
|
export declare const toolConfig: ToolConfig<Input, DelegateBrief, unknown>;
|
|
16
7
|
//# sourceMappingURL=tool-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-config.d.ts","sourceRoot":"","sources":["../../../src/tools/delegate/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAElF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-config.d.ts","sourceRoot":"","sources":["../../../src/tools/delegate/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAElF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAGvE,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKxE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAYpE;AAED,eAAO,MAAM,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAyBhE,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { inputSchema } from './schema.js';
|
|
2
2
|
import { delegateHeadlineTemplate } from '../../reporting/headline-templates/delegate.js';
|
|
3
3
|
import { delegateReportSchema } from '../../reporting/report-parser-slots/delegate-report.js';
|
|
4
|
-
import {
|
|
4
|
+
import { delegateBriefSlot } from './brief-slot.js';
|
|
5
5
|
import { specLintTemplate } from '../../review/templates/spec-review.js';
|
|
6
6
|
import { qualityLintTemplate } from '../../review/templates/quality-review.js';
|
|
7
7
|
import { DEFAULT_TASK_TIMEOUT_MS } from '../../config/schema.js';
|
|
@@ -23,15 +23,7 @@ export const toolConfig = {
|
|
|
23
23
|
category: 'artifact_producing',
|
|
24
24
|
serializeSameRepo: true,
|
|
25
25
|
agentType: 'standard',
|
|
26
|
-
briefSlot:
|
|
27
|
-
prompt: compileDelegatePrompt({ prompt: t.prompt }),
|
|
28
|
-
done: t.done,
|
|
29
|
-
filePaths: t.filePaths,
|
|
30
|
-
agentType: t.agentType ?? 'standard',
|
|
31
|
-
reviewPolicy: t.reviewPolicy ?? 'full',
|
|
32
|
-
contextBlockIds: t.contextBlockIds,
|
|
33
|
-
verifyCommand: t.verifyCommand,
|
|
34
|
-
})),
|
|
26
|
+
briefSlot: delegateBriefSlot,
|
|
35
27
|
buildTaskSpec: (brief, ctx) => ({
|
|
36
28
|
prompt: brief.prompt,
|
|
37
29
|
agentType: brief.agentType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../../../src/tools/delegate/tool-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AAC9F,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../../../src/tools/delegate/tool-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAsB,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,MAAM,UAAU,gBAAgB,CAAC,QAA6B;IAC5D,QAAQ,CAAC,QAAQ,CAAC;QAChB,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,WAAW;QACnB,YAAY,EAAE,oBAAoB;QAClC,gBAAgB,EAAE,UAAU;QAC5B,oBAAoB,EAAE,IAAI;QAC1B,iBAAiB,EAAE,eAAe;KACnC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAA8C;IACnE,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,oBAAoB;IAC9B,iBAAiB,EAAE,IAAI;IACvB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,iBAAiB;IAC5B,aAAa,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,GAAG,EAAE,GAAG,CAAC,cAAc,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG;QACvC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,MAAM;QAC3C,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,IAAI,uBAAuB;QACpE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,IAAI,UAAU;KAChE,CAAC;IACF,YAAY,EAAE,oBAAoB;IAClC,gBAAgB,EAAE,wBAAwB;IAC1C,eAAe,EAAE;QACf,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,mBAAmB;KAC/B;CACF,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ReviewPolicy } from '../../types/review-policy.js';
|
|
2
|
+
export interface ExecutePlanBrief {
|
|
3
|
+
taskDescriptor: string;
|
|
4
|
+
filePaths: string[];
|
|
5
|
+
sectionBody: string;
|
|
6
|
+
sectionTruncated: boolean;
|
|
7
|
+
contextBlockIds: string[];
|
|
8
|
+
reviewPolicy: ReviewPolicy;
|
|
9
|
+
cwd: string;
|
|
10
|
+
verifyCommand?: string[];
|
|
11
|
+
}
|
|
12
|
+
export interface ExecutePlanInput {
|
|
13
|
+
filePaths: string[];
|
|
14
|
+
taskDescriptors: string[];
|
|
15
|
+
cwd?: string;
|
|
16
|
+
perTaskReviewPolicy?: Record<string, 'full' | 'quality_only' | 'diff_only' | 'none'>;
|
|
17
|
+
contextBlockIds?: string[];
|
|
18
|
+
verifyCommand?: string[];
|
|
19
|
+
}
|
|
20
|
+
export declare function executePlanBriefSlot(input: ExecutePlanInput): ExecutePlanBrief[];
|
|
21
|
+
//# sourceMappingURL=brief-slot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brief-slot.d.ts","sourceRoot":"","sources":["../../../src/tools/execute-plan/brief-slot.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAKjE,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,YAAY,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,WAAW,GAAG,MAAM,CAAC,CAAC;IACrF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CA6BhF"}
|
package/dist/{intake/brief-compiler-slots/execute-plan.js → tools/execute-plan/brief-slot.js}
RENAMED
|
@@ -1,71 +1,7 @@
|
|
|
1
1
|
import { readFileSync } from 'node:fs';
|
|
2
2
|
import { resolve as pathResolve } from 'node:path';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
Execute exactly the steps in the plan. Do NOT add steps not in the plan.
|
|
6
|
-
`.trim();
|
|
7
|
-
function normalizeTask(input) {
|
|
8
|
-
return typeof input === 'string' ? { task: input } : input;
|
|
9
|
-
}
|
|
10
|
-
export function compileExecutePlan(input, requestId) {
|
|
11
|
-
return input.tasks.map((rawTask, index) => {
|
|
12
|
-
const taskInput = normalizeTask(rawTask);
|
|
13
|
-
const task = taskInput.task;
|
|
14
|
-
const prompt = [
|
|
15
|
-
'Below are the plan and/or spec documents for this project:',
|
|
16
|
-
'',
|
|
17
|
-
'---',
|
|
18
|
-
input.fileContents,
|
|
19
|
-
'---',
|
|
20
|
-
'',
|
|
21
|
-
'Execute the following task from the documents above:',
|
|
22
|
-
'',
|
|
23
|
-
`Requested task: "${task}"`,
|
|
24
|
-
'',
|
|
25
|
-
'Find this task in the plan/spec documents above (not in any preceding context blocks),',
|
|
26
|
-
'understand its requirements, and implement it fully.',
|
|
27
|
-
'Follow the plan exactly as written. If the plan provides code blocks, use them verbatim.',
|
|
28
|
-
'Do not redesign, do not substitute your own approach.',
|
|
29
|
-
'The plan was written by a higher-capability model — your job is to execute it faithfully.',
|
|
30
|
-
'Follow any acceptance criteria, file paths, and constraints specified in the plan.',
|
|
31
|
-
'If you cannot find a unique matching task, report that no match was found and do not implement anything.',
|
|
32
|
-
'',
|
|
33
|
-
SCOPE_CONTRACT,
|
|
34
|
-
].join('\n');
|
|
35
|
-
return {
|
|
36
|
-
draftId: createDraftId(requestId, index, `task-${index}`),
|
|
37
|
-
source: {
|
|
38
|
-
route: 'execute_plan',
|
|
39
|
-
originalInput: { tasks: input.tasks, filePaths: input.filePaths },
|
|
40
|
-
filePaths: input.filePaths ?? [],
|
|
41
|
-
task,
|
|
42
|
-
},
|
|
43
|
-
prompt,
|
|
44
|
-
reviewPolicy: taskInput.reviewPolicy,
|
|
45
|
-
verifyCommand: input.verifyCommand,
|
|
46
|
-
};
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
// v4.0 spec C8 slot-style API. Distinct from compileExecutePlan above —
|
|
50
|
-
// the slot extracts plan sections via plan-extractor and emits agentType-locked briefs.
|
|
51
|
-
import { extractPlanSection } from '../plan-extractor.js';
|
|
52
|
-
export function executePlanSlot(input) {
|
|
53
|
-
const planPath = input.filePaths[0];
|
|
54
|
-
const cwd = input.cwd ?? process.cwd();
|
|
55
|
-
return input.taskDescriptors.map((descriptor, i) => {
|
|
56
|
-
const section = extractPlanSection(planPath, descriptor, cwd);
|
|
57
|
-
return {
|
|
58
|
-
taskIndex: i,
|
|
59
|
-
brief: section.body,
|
|
60
|
-
cwd,
|
|
61
|
-
agentType: 'standard',
|
|
62
|
-
reviewPolicy: input.perTaskReviewPolicy?.[i] ?? 'full',
|
|
63
|
-
contextBlockIds: [],
|
|
64
|
-
autoCommit: true,
|
|
65
|
-
};
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
export function toolExecutePlanBriefSlot(input) {
|
|
3
|
+
import { extractPlanSection } from './plan-extractor.js';
|
|
4
|
+
export function executePlanBriefSlot(input) {
|
|
69
5
|
const planPath = input.filePaths[0];
|
|
70
6
|
const cwd = input.cwd ?? process.cwd();
|
|
71
7
|
const rp = input.perTaskReviewPolicy ?? {};
|
|
@@ -145,4 +81,4 @@ function readPlanSectionRaw(planFilePath, descriptor, cwd) {
|
|
|
145
81
|
}
|
|
146
82
|
return { body, truncated };
|
|
147
83
|
}
|
|
148
|
-
//# sourceMappingURL=
|
|
84
|
+
//# sourceMappingURL=brief-slot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brief-slot.js","sourceRoot":"","sources":["../../../src/tools/execute-plan/brief-slot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draft-id.d.ts","sourceRoot":"","sources":["../../../src/tools/execute-plan/draft-id.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAOtE;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAS,GAAG,MAAM,CAE3F;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAmBhF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draft-id.js","sourceRoot":"","sources":["../../../src/tools/execute-plan/draft-id.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAS;IACxC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;IAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAiB,EAAE,SAAiB,EAAE,MAAM,GAAG,MAAM;IACjF,OAAO,GAAG,SAAS,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9C,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,QAAkB;IACvD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;IACzC,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC/C,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-extractor.d.ts","sourceRoot":"","sources":["../../../src/tools/execute-plan/plan-extractor.ts"],"names":[],"mappings":"AAcA,qBAAa,mBAAoB,SAAQ,KAAK;IACzB,UAAU,EAAE,MAAM;IAAS,MAAM,EAAE,MAAM;gBAAzC,UAAU,EAAE,MAAM,EAAS,MAAM,EAAE,MAAM;CAI7D;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW,CA8DrG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-extractor.js","sourceRoot":"","sources":["../../../src/tools/execute-plan/plan-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,10 @@ export declare const inputSchema: z.ZodObject<{
|
|
|
3
3
|
tasks: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
4
4
|
task: z.ZodString;
|
|
5
5
|
reviewPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
6
|
+
none: "none";
|
|
6
7
|
full: "full";
|
|
7
8
|
quality_only: "quality_only";
|
|
8
9
|
diff_only: "diff_only";
|
|
9
|
-
none: "none";
|
|
10
10
|
}>>>;
|
|
11
11
|
outputTargets: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
12
12
|
}, z.core.$strict>]>>;
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { ToolSurfaceRegistry } from '../../tool-surface/tool-surface-registry.js';
|
|
3
3
|
import type { ToolConfig } from '../../lifecycle/tool-config-types.js';
|
|
4
|
-
import { type
|
|
4
|
+
import { type ExecutePlanBrief } from './brief-slot.js';
|
|
5
5
|
export declare const executePlanInputSchema: z.ZodObject<{
|
|
6
6
|
filePaths: z.ZodArray<z.ZodString>;
|
|
7
7
|
taskDescriptors: z.ZodArray<z.ZodString>;
|
|
8
8
|
cwd: z.ZodOptional<z.ZodString>;
|
|
9
9
|
perTaskReviewPolicy: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
10
|
+
none: "none";
|
|
10
11
|
full: "full";
|
|
11
12
|
quality_only: "quality_only";
|
|
12
13
|
diff_only: "diff_only";
|
|
13
|
-
none: "none";
|
|
14
14
|
}>>>;
|
|
15
15
|
contextBlockIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
16
16
|
verifyCommand: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
17
17
|
}, z.core.$strict>;
|
|
18
18
|
export type ExecutePlanWireInput = z.infer<typeof executePlanInputSchema>;
|
|
19
19
|
export declare function registerExecutePlan(registry: ToolSurfaceRegistry): void;
|
|
20
|
-
export declare const toolConfig: ToolConfig<ExecutePlanWireInput,
|
|
20
|
+
export declare const toolConfig: ToolConfig<ExecutePlanWireInput, ExecutePlanBrief>;
|
|
21
21
|
//# sourceMappingURL=tool-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-config.d.ts","sourceRoot":"","sources":["../../../src/tools/execute-plan/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAGlF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,
|
|
1
|
+
{"version":3,"file":"tool-config.d.ts","sourceRoot":"","sources":["../../../src/tools/execute-plan/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAGlF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAwB,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAa9E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;kBAOxB,CAAC;AAEZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE1E,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAYvE;AAgFD,eAAO,MAAM,UAAU,EAAE,UAAU,CAAC,oBAAoB,EAAE,gBAAgB,CA+BzE,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { specLintTemplate } from '../../review/templates/spec-review.js';
|
|
3
3
|
import { qualityLintTemplate } from '../../review/templates/quality-review.js';
|
|
4
|
-
import {
|
|
4
|
+
import { executePlanBriefSlot } from './brief-slot.js';
|
|
5
5
|
import { executePlanHeadlineTemplate } from '../../reporting/headline-templates/execute-plan.js';
|
|
6
6
|
import { executePlanReportSchema } from '../../reporting/report-parser-slots/execute-plan-report.js';
|
|
7
7
|
import { DEFAULT_TASK_TIMEOUT_MS } from '../../config/schema.js';
|
|
@@ -78,7 +78,7 @@ export const toolConfig = {
|
|
|
78
78
|
category: 'artifact_producing',
|
|
79
79
|
serializeSameRepo: true,
|
|
80
80
|
agentType: 'standard',
|
|
81
|
-
briefSlot:
|
|
81
|
+
briefSlot: executePlanBriefSlot,
|
|
82
82
|
buildTaskSpec: (brief, ctx) => ({
|
|
83
83
|
prompt: buildExecutePlanPrompt(brief.filePaths, brief.taskDescriptor, brief.sectionBody, brief.sectionTruncated),
|
|
84
84
|
agentType: 'standard',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../../../src/tools/execute-plan/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAE/E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../../../src/tools/execute-plan/tool-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Input } from './schema.js';
|
|
2
|
+
export interface ResolvedContextBlock {
|
|
3
|
+
id: string;
|
|
4
|
+
content: string;
|
|
5
|
+
}
|
|
6
|
+
export interface EnrichedInvestigateInput extends Input {
|
|
7
|
+
resolvedContextBlocks: ResolvedContextBlock[];
|
|
8
|
+
canonicalizedFilePaths: string[];
|
|
9
|
+
relativeFilePathsForPrompt: string[];
|
|
10
|
+
}
|
|
11
|
+
export interface InvestigateBrief {
|
|
12
|
+
/** The user's original question — drives the headline text. */
|
|
13
|
+
question: string;
|
|
14
|
+
/**
|
|
15
|
+
* The fully compiled implementer prompt (template + question + anchors +
|
|
16
|
+
* context blocks). Stored here for buildTaskSpec to forward as
|
|
17
|
+
* TaskSpec.prompt, but deliberately NOT named `prompt`/`brief`. The
|
|
18
|
+
* task-executor's `taskBrief` resolution chain reads
|
|
19
|
+
* `briefs[0].prompt ?? .brief ?? .question`; a `prompt` field here would
|
|
20
|
+
* cause the headline to be the prompt-template instructions (the tool
|
|
21
|
+
* sweep #5 bug — headline read 'Investigation: "Produce a narrative
|
|
22
|
+
* investigation report. Number each findin…"'). Falling through to
|
|
23
|
+
* `question` is the desired behavior.
|
|
24
|
+
*/
|
|
25
|
+
compiledPrompt: string;
|
|
26
|
+
filePaths: string[];
|
|
27
|
+
contextBlockIds: string[];
|
|
28
|
+
tools?: 'none' | 'readonly';
|
|
29
|
+
}
|
|
30
|
+
export declare const investigateBriefSlot: (input: EnrichedInvestigateInput) => InvestigateBrief[];
|
|
31
|
+
//# sourceMappingURL=brief-slot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brief-slot.d.ts","sourceRoot":"","sources":["../../../src/tools/investigate/brief-slot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAazC,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAyB,SAAQ,KAAK;IACrD,qBAAqB,EAAE,oBAAoB,EAAE,CAAC;IAC9C,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,0BAA0B,EAAE,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,gBAAgB;IAC/B,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;OAUG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;CAC7B;AAwED,eAAO,MAAM,oBAAoB,GAAI,OAAO,wBAAwB,KAAG,gBAAgB,EAStF,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { INVESTIGATE_PURPOSE_ORIENTATION, EVIDENCE_RULE_INVESTIGATE, SCOPE_RULE_INVESTIGATE, ANNOTATOR_AWARENESS_INVESTIGATE, INVESTIGATE_FAILURE_MODES, CONFIDENCE_REMINDER_INVESTIGATE, } from './implementer-criteria.js';
|
|
2
|
+
function compilePrompt(input) {
|
|
3
|
+
const promptParts = [];
|
|
4
|
+
// Orientation goes FIRST — the worker needs to know why this
|
|
5
|
+
// investigation exists (caller will act on this answer; wrong file
|
|
6
|
+
// path becomes a bug) before reading the format spec / taxonomy.
|
|
7
|
+
// Without it, workers default to plausible-sounding answers with
|
|
8
|
+
// shaky citations.
|
|
9
|
+
promptParts.push(INVESTIGATE_PURPOSE_ORIENTATION);
|
|
10
|
+
promptParts.push([
|
|
11
|
+
'Produce an investigation report in this EXACT structured format. The deterministic',
|
|
12
|
+
'parser extracts findings, summary, and confidence by section — do NOT emit JSON, and',
|
|
13
|
+
'do NOT use a numbered-list narrative. Sections MUST use h2 headers (`##`).',
|
|
14
|
+
'',
|
|
15
|
+
'## Summary',
|
|
16
|
+
'One paragraph stating the answer to the question, in plain prose. This is the synthesis',
|
|
17
|
+
'a human reads first; do not omit it.',
|
|
18
|
+
'',
|
|
19
|
+
'## Finding 1: <one-line title — the candidate answer or sub-answer in one line>',
|
|
20
|
+
'- Severity: critical | high | medium | low (your confidence in this answer: critical=direct verbatim citation; high=clearly inferable from cited source; medium=single interpretation step required; low=weak inference)',
|
|
21
|
+
'- Category: <category — e.g. "control-flow", "data-shape", "dependency", "side-effect", or any short label that classifies this answer>',
|
|
22
|
+
'- Evidence: <one-paragraph explanation that MUST include at least one `<file>:<line>` or `<file>:<line>-<line>` citation. The parser drops findings whose Evidence contains no file:line reference. Quote the relevant code or doc when helpful. If the question is genuinely project-level with no code evidence, emit Severity: low and write "no code citation — project-level inference based on …" with named files referenced inline.>',
|
|
23
|
+
'- Suggestion: <one-line follow-up — a fix, how to verify, or where to look next; optional but encouraged>',
|
|
24
|
+
'',
|
|
25
|
+
'## Finding 2: ... (one block per candidate answer)',
|
|
26
|
+
'',
|
|
27
|
+
'Number findings sequentially starting at 1. Severity/Category/Evidence/Suggestion bullets are on their own lines with the labels exactly as shown. Emit AT LEAST ONE Finding — empty/narrative-only responses are workflow errors and will be discarded.',
|
|
28
|
+
'',
|
|
29
|
+
'## Confidence',
|
|
30
|
+
'One of high, medium, or low, optionally followed by ` — <one-line rationale>`. This is the OVERALL confidence in your synthesis; per-finding confidence lives in each Finding\'s Severity. Do NOT wrap the level in backticks; emit it as plain text.',
|
|
31
|
+
'',
|
|
32
|
+
'## Outcome',
|
|
33
|
+
'One of: found | not_applicable. Emit `found` whenever you produced at least one Finding (the normal case). Emit `not_applicable` only when the question itself does not apply to this codebase.',
|
|
34
|
+
'',
|
|
35
|
+
'## Unresolved',
|
|
36
|
+
'Optional bullets describing follow-up questions; write `(none)` if there are none.',
|
|
37
|
+
'Prefix a bullet with `[needs_context]` if it requires the caller to supply more',
|
|
38
|
+
'information before the question can be answered.',
|
|
39
|
+
].join('\n'));
|
|
40
|
+
for (const block of input.resolvedContextBlocks) {
|
|
41
|
+
promptParts.push(block.content);
|
|
42
|
+
}
|
|
43
|
+
if (input.relativeFilePathsForPrompt.length > 0) {
|
|
44
|
+
promptParts.push('Anchor paths to start from (you may also read beyond these):\n' +
|
|
45
|
+
input.relativeFilePathsForPrompt.map(p => `- ${p}`).join('\n'));
|
|
46
|
+
}
|
|
47
|
+
promptParts.push(`Question: ${input.question}`);
|
|
48
|
+
if (input.resolvedContextBlocks.length > 0) {
|
|
49
|
+
promptParts.push('A prior investigation report is provided as context above. Refine or extend that investigation. In your output, mark which prior unresolved questions you resolved this round and which remain open.');
|
|
50
|
+
}
|
|
51
|
+
// Tool sweep #12: shared rubric. Investigate doesn't use the
|
|
52
|
+
// SEVERITY_LADDER (its findings are citations, not severity-rated)
|
|
53
|
+
// but evidence-grounding + scope-discipline + annotator-awareness
|
|
54
|
+
// apply just as much. Workers that cite hallucinated lines or
|
|
55
|
+
// speculate about unread files now have the rubric inline.
|
|
56
|
+
promptParts.push(INVESTIGATE_FAILURE_MODES, CONFIDENCE_REMINDER_INVESTIGATE, EVIDENCE_RULE_INVESTIGATE, SCOPE_RULE_INVESTIGATE, ANNOTATOR_AWARENESS_INVESTIGATE);
|
|
57
|
+
return promptParts.join('\n\n');
|
|
58
|
+
}
|
|
59
|
+
export const investigateBriefSlot = (input) => {
|
|
60
|
+
const compiledPrompt = compilePrompt(input);
|
|
61
|
+
return [{
|
|
62
|
+
question: input.question,
|
|
63
|
+
compiledPrompt,
|
|
64
|
+
filePaths: input.canonicalizedFilePaths,
|
|
65
|
+
contextBlockIds: input.contextBlockIds ?? [],
|
|
66
|
+
tools: input.tools,
|
|
67
|
+
}];
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=brief-slot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brief-slot.js","sourceRoot":"","sources":["../../../src/tools/investigate/brief-slot.ts"],"names":[],"mappings":"AACA,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,EACzB,sBAAsB,EACtB,+BAA+B,EAC/B,yBAAyB,EACzB,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AAoCnC,SAAS,aAAa,CAAC,KAA+B;IACpD,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,6DAA6D;IAC7D,mEAAmE;IACnE,iEAAiE;IACjE,iEAAiE;IACjE,mBAAmB;IACnB,WAAW,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAClD,WAAW,CAAC,IAAI,CACd;QACE,oFAAoF;QACpF,sFAAsF;QACtF,4EAA4E;QAC5E,EAAE;QACF,YAAY;QACZ,yFAAyF;QACzF,sCAAsC;QACtC,EAAE;QACF,iFAAiF;QACjF,2NAA2N;QAC3N,yIAAyI;QACzI,8aAA8a;QAC9a,2GAA2G;QAC3G,EAAE;QACF,oDAAoD;QACpD,EAAE;QACF,0PAA0P;QAC1P,EAAE;QACF,eAAe;QACf,uPAAuP;QACvP,EAAE;QACF,YAAY;QACZ,iMAAiM;QACjM,EAAE;QACF,eAAe;QACf,oFAAoF;QACpF,iFAAiF;QACjF,kDAAkD;KACnD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAChD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,KAAK,CAAC,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,WAAW,CAAC,IAAI,CACd,gEAAgE;YAChE,KAAK,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/D,CAAC;IACJ,CAAC;IACD,WAAW,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChD,IAAI,KAAK,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,WAAW,CAAC,IAAI,CACd,sMAAsM,CACvM,CAAC;IACJ,CAAC;IACD,6DAA6D;IAC7D,mEAAmE;IACnE,kEAAkE;IAClE,8DAA8D;IAC9D,2DAA2D;IAC3D,WAAW,CAAC,IAAI,CACd,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EACzB,sBAAsB,EACtB,+BAA+B,CAChC,CAAC;IACF,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAA+B,EAAsB,EAAE;IAC1F,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5C,OAAO,CAAC;YACN,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,cAAc;YACd,SAAS,EAAE,KAAK,CAAC,sBAAsB;YACvC,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,EAAE;YAC5C,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subtypes.d.ts","sourceRoot":"","sources":["../../../src/tools/investigate/subtypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAOrF,MAAM,MAAM,kBAAkB,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"subtypes.d.ts","sourceRoot":"","sources":["../../../src/tools/investigate/subtypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAOrF,MAAM,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAiB3C,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAShF,CAAC"}
|
|
@@ -5,12 +5,13 @@ const SEMANTICS_DEFAULT = {
|
|
|
5
5
|
emptyOutcomeLine: 'If you can produce no candidate answer at all under this lens, respond with "No findings for this criterion." — valid but rare outcome. In most cases you can produce at least one low-confidence candidate answer.',
|
|
6
6
|
findingMeaningParagraph: 'A finding is a CANDIDATE ANSWER to the user\'s question (or a sub-answer that contributes to the full answer). Title = the answer in one line. Issue = the answer with reasoning + citations. Severity = your confidence in this answer.',
|
|
7
7
|
severityMeanings: {
|
|
8
|
-
critical: '
|
|
9
|
-
high: '
|
|
10
|
-
medium: '
|
|
11
|
-
low: '
|
|
8
|
+
critical: 'Direct verbatim citation',
|
|
9
|
+
high: 'Clearly inferable from cited source',
|
|
10
|
+
medium: 'Single interpretation step required',
|
|
11
|
+
low: 'Weak inference',
|
|
12
12
|
},
|
|
13
13
|
mustEmitAtLeastOne: true,
|
|
14
|
+
legalOutcomes: ['found', 'not_applicable'],
|
|
14
15
|
};
|
|
15
16
|
export const INVESTIGATE_SUBTYPES = {
|
|
16
17
|
default: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subtypes.js","sourceRoot":"","sources":["../../../src/tools/investigate/subtypes.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,+BAA+B,EAAE,yBAAyB,EAAE,sBAAsB,EAClF,+BAA+B,EAAE,oBAAoB,GACtD,MAAM,2BAA2B,CAAC;AAInC,oDAAoD;AACpD,MAAM,iBAAiB,GAAmB;IACxC,QAAQ,EAAE,6RAA6R;IACvS,gBAAgB,EAAE,qNAAqN;IACvO,uBAAuB,EAAE,0OAA0O;IACnQ,gBAAgB,EAAE;QAChB,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"subtypes.js","sourceRoot":"","sources":["../../../src/tools/investigate/subtypes.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,+BAA+B,EAAE,yBAAyB,EAAE,sBAAsB,EAClF,+BAA+B,EAAE,oBAAoB,GACtD,MAAM,2BAA2B,CAAC;AAInC,oDAAoD;AACpD,MAAM,iBAAiB,GAAmB;IACxC,QAAQ,EAAE,6RAA6R;IACvS,gBAAgB,EAAE,qNAAqN;IACvO,uBAAuB,EAAE,0OAA0O;IACnQ,gBAAgB,EAAE;QAChB,QAAQ,EAAE,0BAA0B;QACpC,IAAI,EAAE,qCAAqC;QAC3C,MAAM,EAAE,qCAAqC;QAC7C,GAAG,EAAE,gBAAgB;KACtB;IACD,kBAAkB,EAAE,IAAI;IACxB,aAAa,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAU;CACpD,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAoD;IACnF,OAAO,EAAE;QACP,QAAQ,EAAE,oBAAoB;QAC9B,WAAW,EAAE,+BAA+B;QAC5C,YAAY,EAAE,yBAAyB;QACvC,SAAS,EAAE,sBAAsB;QACjC,kBAAkB,EAAE,+BAA+B;QACnD,SAAS,EAAE,iBAAiB;KAC7B;CACF,CAAC"}
|