@zhixuan92/multi-model-agent-core 3.10.7 → 3.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/config/schema.d.ts +15 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +17 -2
- package/dist/config/schema.js.map +1 -1
- package/dist/diagnostics/types.d.ts +11 -0
- package/dist/diagnostics/types.d.ts.map +1 -1
- package/dist/escalation/fallback.d.ts +16 -0
- package/dist/escalation/fallback.d.ts.map +1 -1
- package/dist/escalation/fallback.js +280 -19
- package/dist/escalation/fallback.js.map +1 -1
- package/dist/executors/audit.d.ts.map +1 -1
- package/dist/executors/audit.js +6 -4
- package/dist/executors/audit.js.map +1 -1
- package/dist/executors/debug.d.ts.map +1 -1
- package/dist/executors/debug.js +5 -3
- package/dist/executors/debug.js.map +1 -1
- package/dist/executors/delegate.d.ts +12 -0
- package/dist/executors/delegate.d.ts.map +1 -1
- package/dist/executors/delegate.js +46 -11
- package/dist/executors/delegate.js.map +1 -1
- package/dist/executors/execute-plan.d.ts.map +1 -1
- package/dist/executors/execute-plan.js +6 -4
- package/dist/executors/execute-plan.js.map +1 -1
- package/dist/executors/retry.d.ts.map +1 -1
- package/dist/executors/retry.js +2 -1
- package/dist/executors/retry.js.map +1 -1
- package/dist/executors/review.d.ts.map +1 -1
- package/dist/executors/review.js +2 -1
- package/dist/executors/review.js.map +1 -1
- package/dist/executors/shared-compute.js +4 -4
- package/dist/executors/shared-compute.js.map +1 -1
- package/dist/executors/types.d.ts +1 -1
- package/dist/executors/types.d.ts.map +1 -1
- package/dist/executors/verify.js +2 -2
- package/dist/executors/verify.js.map +1 -1
- package/dist/heartbeat.d.ts +5 -5
- package/dist/heartbeat.d.ts.map +1 -1
- package/dist/heartbeat.js +21 -17
- package/dist/heartbeat.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/intake/compilers/audit.d.ts.map +1 -1
- package/dist/intake/compilers/audit.js +5 -2
- package/dist/intake/compilers/audit.js.map +1 -1
- package/dist/intake/compilers/debug.d.ts.map +1 -1
- package/dist/intake/compilers/debug.js +4 -0
- package/dist/intake/compilers/debug.js.map +1 -1
- package/dist/intake/compilers/delegate.d.ts +3 -0
- package/dist/intake/compilers/delegate.d.ts.map +1 -1
- package/dist/intake/compilers/delegate.js +5 -1
- package/dist/intake/compilers/delegate.js.map +1 -1
- package/dist/intake/compilers/execute-plan.d.ts.map +1 -1
- package/dist/intake/compilers/execute-plan.js +5 -0
- package/dist/intake/compilers/execute-plan.js.map +1 -1
- package/dist/intake/compilers/review.d.ts.map +1 -1
- package/dist/intake/compilers/review.js +3 -0
- package/dist/intake/compilers/review.js.map +1 -1
- package/dist/intake/compilers/verify.d.ts.map +1 -1
- package/dist/intake/compilers/verify.js +7 -0
- package/dist/intake/compilers/verify.js.map +1 -1
- package/dist/intake/force-clarification.d.ts +5 -0
- package/dist/intake/force-clarification.d.ts.map +1 -0
- package/dist/intake/force-clarification.js +44 -0
- package/dist/intake/force-clarification.js.map +1 -0
- package/dist/intake/pipeline.d.ts +1 -1
- package/dist/intake/pipeline.d.ts.map +1 -1
- package/dist/intake/pipeline.js +32 -1
- package/dist/intake/pipeline.js.map +1 -1
- package/dist/intake/resolve.d.ts.map +1 -1
- package/dist/intake/resolve.js +0 -1
- package/dist/intake/resolve.js.map +1 -1
- package/dist/observability/bus.d.ts.map +1 -1
- package/dist/observability/bus.js +20 -0
- package/dist/observability/bus.js.map +1 -1
- package/dist/observability/events.d.ts +85 -8
- package/dist/observability/events.d.ts.map +1 -1
- package/dist/observability/events.js +77 -2
- package/dist/observability/events.js.map +1 -1
- package/dist/provider.d.ts +1 -0
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +9 -1
- package/dist/provider.js.map +1 -1
- package/dist/review/diff-review.d.ts +2 -1
- package/dist/review/diff-review.d.ts.map +1 -1
- package/dist/review/diff-review.js +1 -0
- package/dist/review/diff-review.js.map +1 -1
- package/dist/review/quality-reviewer.d.ts +2 -2
- package/dist/review/quality-reviewer.d.ts.map +1 -1
- package/dist/review/quality-reviewer.js +21 -9
- package/dist/review/quality-reviewer.js.map +1 -1
- package/dist/review/spec-reviewer.d.ts +1 -1
- package/dist/review/spec-reviewer.d.ts.map +1 -1
- package/dist/review/spec-reviewer.js +3 -1
- package/dist/review/spec-reviewer.js.map +1 -1
- package/dist/routing/canonical-model-identity.d.ts +9 -0
- package/dist/routing/canonical-model-identity.d.ts.map +1 -0
- package/dist/routing/canonical-model-identity.js +54 -0
- package/dist/routing/canonical-model-identity.js.map +1 -0
- package/dist/run-tasks/execute-task.d.ts.map +1 -1
- package/dist/run-tasks/execute-task.js +2 -1
- package/dist/run-tasks/execute-task.js.map +1 -1
- package/dist/run-tasks/index.d.ts.map +1 -1
- package/dist/run-tasks/index.js +2 -1
- package/dist/run-tasks/index.js.map +1 -1
- package/dist/run-tasks/reviewed-lifecycle.d.ts.map +1 -1
- package/dist/run-tasks/reviewed-lifecycle.js +195 -36
- package/dist/run-tasks/reviewed-lifecycle.js.map +1 -1
- package/dist/runners/base/result-builders.d.ts +13 -2
- package/dist/runners/base/result-builders.d.ts.map +1 -1
- package/dist/runners/base/result-builders.js +30 -1
- package/dist/runners/base/result-builders.js.map +1 -1
- package/dist/runners/base/time-check.d.ts +9 -0
- package/dist/runners/base/time-check.d.ts.map +1 -0
- package/dist/runners/base/time-check.js +18 -0
- package/dist/runners/base/time-check.js.map +1 -0
- package/dist/runners/base/usage-accumulator.d.ts +9 -0
- package/dist/runners/base/usage-accumulator.d.ts.map +1 -0
- package/dist/runners/base/usage-accumulator.js +19 -0
- package/dist/runners/base/usage-accumulator.js.map +1 -0
- package/dist/runners/claude-runner.d.ts.map +1 -1
- package/dist/runners/claude-runner.js +141 -180
- package/dist/runners/claude-runner.js.map +1 -1
- package/dist/runners/codex-runner.d.ts.map +1 -1
- package/dist/runners/codex-runner.js +99 -128
- package/dist/runners/codex-runner.js.map +1 -1
- package/dist/runners/error-classification.d.ts +11 -0
- package/dist/runners/error-classification.d.ts.map +1 -1
- package/dist/runners/error-classification.js +51 -0
- package/dist/runners/error-classification.js.map +1 -1
- package/dist/runners/openai-runner.d.ts.map +1 -1
- package/dist/runners/openai-runner.js +125 -172
- package/dist/runners/openai-runner.js.map +1 -1
- package/dist/runners/supervision.d.ts +0 -49
- package/dist/runners/supervision.d.ts.map +1 -1
- package/dist/runners/supervision.js +0 -67
- package/dist/runners/supervision.js.map +1 -1
- package/dist/runners/types.d.ts +15 -5
- package/dist/runners/types.d.ts.map +1 -1
- package/dist/telemetry/concern-classifier.d.ts +1 -1
- package/dist/telemetry/concern-classifier.d.ts.map +1 -1
- package/dist/telemetry/concern-classifier.js +5 -0
- package/dist/telemetry/concern-classifier.js.map +1 -1
- package/dist/telemetry/event-builder.d.ts.map +1 -1
- package/dist/telemetry/event-builder.js +10 -7
- package/dist/telemetry/event-builder.js.map +1 -1
- package/dist/telemetry/field-coverage.js +2 -2
- package/dist/telemetry/field-coverage.js.map +1 -1
- package/dist/telemetry/types.d.ts +142 -94
- package/dist/telemetry/types.d.ts.map +1 -1
- package/dist/telemetry/types.js +23 -17
- package/dist/telemetry/types.js.map +1 -1
- package/dist/types.d.ts +7 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +5 -2
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createDraftId, escapeFanoutKey, canonicalizePath } from '../draft-id.js';
|
|
2
|
+
const SCOPE_CONTRACT = `Review the specified files in scope. Cross-reference call sites and types only when needed to validate a finding. Do NOT review code outside the requested scope.`;
|
|
2
3
|
export function compileReviewCode(input, requestId) {
|
|
3
4
|
const filePaths = input.filePaths ?? [];
|
|
4
5
|
if (filePaths.length <= 1 && !input.code && !input.inlineContent) {
|
|
@@ -9,6 +10,7 @@ export function compileReviewCode(input, requestId) {
|
|
|
9
10
|
if (input.focus?.length)
|
|
10
11
|
promptParts.push(`Focus areas: ${input.focus.join(', ')}`);
|
|
11
12
|
promptParts.push('Provide a structured review with findings and recommendations.');
|
|
13
|
+
promptParts.push(SCOPE_CONTRACT);
|
|
12
14
|
return [{
|
|
13
15
|
draftId: createDraftId(requestId, 0, nodeId),
|
|
14
16
|
source: {
|
|
@@ -30,6 +32,7 @@ export function compileReviewCode(input, requestId) {
|
|
|
30
32
|
if (input.focus?.length)
|
|
31
33
|
promptParts.push(`Focus areas: ${input.focus.join(', ')}`);
|
|
32
34
|
promptParts.push('Provide a structured review with findings and recommendations.');
|
|
35
|
+
promptParts.push(SCOPE_CONTRACT);
|
|
33
36
|
return {
|
|
34
37
|
draftId: createDraftId(requestId, index, nodeId),
|
|
35
38
|
source: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/intake/compilers/review.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/intake/compilers/review.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElF,MAAM,cAAc,GAAG,mKAAmK,CAAC;AAS3L,MAAM,UAAU,iBAAiB,CAC/B,KAAsB,EACtB,SAAiB;IAEjB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IAExC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACjG,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,SAAS,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,oBAAoB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnF,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpF,WAAW,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QACnF,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEjC,OAAO,CAAC;gBACN,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC;gBAC5C,MAAM,EAAE;oBACN,KAAK,EAAE,aAAa;oBACpB,aAAa,EAAE,eAAe,CAAC,KAAK,CAAuC;oBAC3E,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,KAAK,EAAE,KAAK,CAAC,KAAK;iBACH;gBACjB,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBAChC,SAAS;gBACT,uBAAuB,EAAE,IAAI;aAC9B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,eAAe,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,WAAW,CAAC,IAAI,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpF,WAAW,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QACnF,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEjC,OAAO;YACL,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC;YAChD,MAAM,EAAE;gBACN,KAAK,EAAE,aAAa;gBACpB,aAAa,EAAE,eAAe,CAAC,KAAK,CAAuC;gBAC3E,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,KAAK,EAAE,KAAK,CAAC,KAAK;aACH;YACjB,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;YAChC,SAAS,EAAE,CAAC,QAAQ,CAAC;YACrB,uBAAuB,EAAE,IAAI;SAC9B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/intake/compilers/verify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,aAAa,CAAC;AAG3D,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/intake/compilers/verify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,aAAa,CAAC;AAG3D,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAQD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,MAAM,GAChB,SAAS,EAAE,CA4Cb"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { createDraftId, escapeFanoutKey, canonicalizePath } from '../draft-id.js';
|
|
2
|
+
const SCOPE_CONTRACT = [
|
|
3
|
+
'Run the supplied verification command(s) and report.',
|
|
4
|
+
'Do NOT explore or refactor.',
|
|
5
|
+
'Read source only when the command output is ambiguous.',
|
|
6
|
+
].join(' ');
|
|
2
7
|
export function compileVerifyWork(input, requestId) {
|
|
3
8
|
const filePaths = input.filePaths ?? [];
|
|
4
9
|
if (filePaths.length <= 1) {
|
|
@@ -10,6 +15,7 @@ export function compileVerifyWork(input, requestId) {
|
|
|
10
15
|
if (input.checklist.length)
|
|
11
16
|
promptParts.push(`\nChecklist:\n${input.checklist.map(c => `- ${c}`).join('\n')}`);
|
|
12
17
|
promptParts.push('For each checklist item, indicate pass/fail and provide evidence.');
|
|
18
|
+
promptParts.push(SCOPE_CONTRACT);
|
|
13
19
|
return [{
|
|
14
20
|
draftId: createDraftId(requestId, 0, 'root'),
|
|
15
21
|
source: {
|
|
@@ -29,6 +35,7 @@ export function compileVerifyWork(input, requestId) {
|
|
|
29
35
|
if (input.checklist.length)
|
|
30
36
|
promptParts.push(`Checklist:\n${input.checklist.map(c => `- ${c}`).join('\n')}`);
|
|
31
37
|
promptParts.push('For each checklist item, indicate pass/fail and provide evidence.');
|
|
38
|
+
promptParts.push(SCOPE_CONTRACT);
|
|
32
39
|
return {
|
|
33
40
|
draftId: createDraftId(requestId, index, nodeId),
|
|
34
41
|
source: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/intake/compilers/verify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAQlF,MAAM,UAAU,iBAAiB,CAC/B,KAAsB,EACtB,SAAiB;IAEjB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IAExC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,IAAI;YAAE,WAAW,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,IAAI,SAAS,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,qBAAqB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpF,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/G,WAAW,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/intake/compilers/verify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAQlF,MAAM,cAAc,GAAG;IACrB,sDAAsD;IACtD,6BAA6B;IAC7B,wDAAwD;CACzD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,UAAU,iBAAiB,CAC/B,KAAsB,EACtB,SAAiB;IAEjB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IAExC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,IAAI;YAAE,WAAW,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,IAAI,SAAS,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,qBAAqB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpF,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/G,WAAW,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QACtF,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEjC,OAAO,CAAC;gBACN,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC;gBAC5C,MAAM,EAAE;oBACN,KAAK,EAAE,aAAa;oBACpB,aAAa,EAAE,eAAe,CAAC,KAAK,CAAuC;oBAC3E,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;iBACD;gBACjB,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC9B,SAAS;aACV,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,eAAe,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,WAAW,CAAC,IAAI,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7G,WAAW,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QACtF,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEjC,OAAO;YACL,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC;YAChD,MAAM,EAAE;gBACN,KAAK,EAAE,aAAa;gBACpB,aAAa,EAAE,eAAe,CAAC,KAAK,CAAuC;gBAC3E,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;aACD;YACjB,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9B,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare function __forceClarification(reason: string, batchId?: string): string;
|
|
2
|
+
export declare function __forceClarificationGlobal(reason: string): void;
|
|
3
|
+
export declare function __clearForcedClarification(batchId?: string): void;
|
|
4
|
+
export declare function __consumeForcedClarification(batchId: string): string | null;
|
|
5
|
+
//# sourceMappingURL=force-clarification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"force-clarification.d.ts","sourceRoot":"","sources":["../../src/intake/force-clarification.ts"],"names":[],"mappings":"AAQA,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAK7E;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAG/D;AAED,wBAAgB,0BAA0B,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAGjE;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAe3E"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
const _forcedClarifications = new Map();
|
|
2
|
+
const _globalForced = { reason: null };
|
|
3
|
+
function isSeamEnabled() {
|
|
4
|
+
return process.env.NODE_ENV === 'test' && process.env.MMAGENT_TEST_SEAMS === '1';
|
|
5
|
+
}
|
|
6
|
+
export function __forceClarification(reason, batchId) {
|
|
7
|
+
if (!isSeamEnabled())
|
|
8
|
+
return '';
|
|
9
|
+
const id = batchId ?? `forced-${Date.now()}-${Math.random()}`;
|
|
10
|
+
_forcedClarifications.set(id, reason);
|
|
11
|
+
return id;
|
|
12
|
+
}
|
|
13
|
+
export function __forceClarificationGlobal(reason) {
|
|
14
|
+
if (!isSeamEnabled())
|
|
15
|
+
return;
|
|
16
|
+
_globalForced.reason = reason;
|
|
17
|
+
}
|
|
18
|
+
export function __clearForcedClarification(batchId) {
|
|
19
|
+
if (batchId)
|
|
20
|
+
_forcedClarifications.delete(batchId);
|
|
21
|
+
else {
|
|
22
|
+
_forcedClarifications.clear();
|
|
23
|
+
_globalForced.reason = null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export function __consumeForcedClarification(batchId) {
|
|
27
|
+
if (!isSeamEnabled())
|
|
28
|
+
return null;
|
|
29
|
+
if (_forcedClarifications.has(batchId)) {
|
|
30
|
+
const reason = _forcedClarifications.get(batchId);
|
|
31
|
+
_forcedClarifications.delete(batchId);
|
|
32
|
+
return reason;
|
|
33
|
+
}
|
|
34
|
+
if (_globalForced.reason !== null) {
|
|
35
|
+
const reason = _globalForced.reason;
|
|
36
|
+
_globalForced.reason = null;
|
|
37
|
+
return reason;
|
|
38
|
+
}
|
|
39
|
+
const envReason = process.env.MMAGENT_FORCED_CLARIFICATION;
|
|
40
|
+
if (envReason)
|
|
41
|
+
return envReason;
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=force-clarification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"force-clarification.js","sourceRoot":"","sources":["../../src/intake/force-clarification.ts"],"names":[],"mappings":"AACA,MAAM,qBAAqB,GAA2B,IAAI,GAAG,EAAE,CAAC;AAChE,MAAM,aAAa,GAA8B,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAElE,SAAS,aAAa;IACpB,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,OAAgB;IACnE,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,EAAE,GAAG,OAAO,IAAI,UAAU,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;IAC9D,qBAAqB,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACtC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAc;IACvD,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO;IAC7B,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAgB;IACzD,IAAI,OAAO;QAAE,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAC9C,CAAC;QAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC;IAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,OAAe;IAC1D,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;QACnD,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,aAAa,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;QACpC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAC3D,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { MultiModelConfig } from '../types.js';
|
|
2
2
|
import type { ContextBlockStore } from '../context/context-block-store.js';
|
|
3
3
|
import type { DraftTask, IntakeResult } from './types.js';
|
|
4
|
-
export declare function runIntakePipeline(drafts: DraftTask[], config: MultiModelConfig, contextBlockStore?: ContextBlockStore): IntakeResult;
|
|
4
|
+
export declare function runIntakePipeline(drafts: DraftTask[], config: MultiModelConfig, contextBlockStore?: ContextBlockStore, batchId?: string): IntakeResult;
|
|
5
5
|
//# sourceMappingURL=pipeline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/intake/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EAKb,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/intake/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EAKb,MAAM,YAAY,CAAC;AAwDpB,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,EAAE,EACnB,MAAM,EAAE,gBAAgB,EACxB,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,OAAO,CAAC,EAAE,MAAM,GACf,YAAY,CA8Fd"}
|
package/dist/intake/pipeline.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { inferMissingFields } from './infer.js';
|
|
2
2
|
import { classifyDraft } from './classify.js';
|
|
3
3
|
import { resolveDraft } from './resolve.js';
|
|
4
|
+
import { __consumeForcedClarification } from './force-clarification.js';
|
|
4
5
|
function expandDraftContextBlocks(draft, store) {
|
|
5
6
|
if (!draft.contextBlockIds?.length || !store)
|
|
6
7
|
return draft;
|
|
@@ -43,7 +44,37 @@ function sanitizeAssumption(assumption) {
|
|
|
43
44
|
}
|
|
44
45
|
return assumption;
|
|
45
46
|
}
|
|
46
|
-
export function runIntakePipeline(drafts, config, contextBlockStore) {
|
|
47
|
+
export function runIntakePipeline(drafts, config, contextBlockStore, batchId) {
|
|
48
|
+
// Test seam: forced clarification overrides normal classification
|
|
49
|
+
if (batchId) {
|
|
50
|
+
const forcedReason = __consumeForcedClarification(batchId);
|
|
51
|
+
if (forcedReason !== null) {
|
|
52
|
+
const clarifications = drafts.map((draft, i) => ({
|
|
53
|
+
draftId: draft.draftId,
|
|
54
|
+
taskIndex: i,
|
|
55
|
+
proposedDraft: {
|
|
56
|
+
prompt: draft.prompt,
|
|
57
|
+
filePaths: draft.filePaths,
|
|
58
|
+
done: draft.done,
|
|
59
|
+
},
|
|
60
|
+
assumptions: draft.assumptions ?? [],
|
|
61
|
+
questions: [forcedReason],
|
|
62
|
+
reason: forcedReason,
|
|
63
|
+
}));
|
|
64
|
+
return {
|
|
65
|
+
ready: [],
|
|
66
|
+
clarifications,
|
|
67
|
+
hardErrors: [],
|
|
68
|
+
intakeProgress: {
|
|
69
|
+
totalDrafts: drafts.length,
|
|
70
|
+
readyDrafts: 0,
|
|
71
|
+
clarificationDrafts: clarifications.length,
|
|
72
|
+
hardErrorDrafts: 0,
|
|
73
|
+
executedDrafts: 0,
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
47
78
|
const ready = [];
|
|
48
79
|
const clarifications = [];
|
|
49
80
|
const hardErrors = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/intake/pipeline.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/intake/pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/intake/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzD;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAExE,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAQjE,CAAC;AAEF,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,gBAAgB,GACvB,QAAQ,
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/intake/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzD;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAExE,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAQjE,CAAC;AAEF,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,gBAAgB,GACvB,QAAQ,CAuBV"}
|
package/dist/intake/resolve.js
CHANGED
|
@@ -39,7 +39,6 @@ export function resolveDraft(draft, config) {
|
|
|
39
39
|
maxCostUSD: config.defaults?.maxCostUSD ?? 10,
|
|
40
40
|
sandboxPolicy: config.defaults?.sandboxPolicy ?? 'cwd-only',
|
|
41
41
|
briefQualityPolicy: 'off',
|
|
42
|
-
cwd: process.cwd(),
|
|
43
42
|
skipCompletionHeuristic: draft.skipCompletionHeuristic,
|
|
44
43
|
};
|
|
45
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/intake/resolve.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAyC;IAC3E,YAAY,EAAE,gOAAgO;CAC/O,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAA2C;IACpE,cAAc,EAAE,EAAE;IAClB,WAAW,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE;IACnE,UAAU,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE;IAClE,WAAW,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE;IACnE,cAAc,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE;IACtE,YAAY,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE;IAC7D,oBAAoB,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE;CAC7E,CAAC;AAEF,MAAM,UAAU,YAAY,CAC1B,KAAgB,EAChB,MAAwB;IAExB,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEzD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS,IAAI,UAAU,CAAC;IAE3E,MAAM,cAAc,GAAG,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,cAAc,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;QACrE,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,OAAO,cAAc,EAAE;QACxC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAEjB,OAAO;QACL,MAAM;QACN,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,SAAmC;QAC9C,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,aAAa,CAAC,YAAY;QAC9D,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,MAAM;QACvC,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,IAAI,uBAAuB;QAChE,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,IAAI,EAAE;QAC7C,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,aAAa,IAAI,UAAU;QAC3D,kBAAkB,EAAE,KAAK;QACzB,
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/intake/resolve.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAyC;IAC3E,YAAY,EAAE,gOAAgO;CAC/O,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAA2C;IACpE,cAAc,EAAE,EAAE;IAClB,WAAW,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE;IACnE,UAAU,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE;IAClE,WAAW,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE;IACnE,cAAc,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE;IACtE,YAAY,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE;IAC7D,oBAAoB,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE;CAC7E,CAAC;AAEF,MAAM,UAAU,YAAY,CAC1B,KAAgB,EAChB,MAAwB;IAExB,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEzD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS,IAAI,UAAU,CAAC;IAE3E,MAAM,cAAc,GAAG,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,cAAc,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;QACrE,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,OAAO,cAAc,EAAE;QACxC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAEjB,OAAO;QACL,MAAM;QACN,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,SAAmC;QAC9C,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,aAAa,CAAC,YAAY;QAC9D,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,MAAM;QACvC,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,IAAI,uBAAuB;QAChE,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,IAAI,EAAE;QAC7C,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,aAAa,IAAI,UAAU;QAC3D,kBAAkB,EAAE,KAAK;QACzB,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;KACvD,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bus.d.ts","sourceRoot":"","sources":["../../src/observability/bus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"bus.d.ts","sourceRoot":"","sources":["../../src/observability/bus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;CAC9B;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;gBAExB,KAAK,EAAE,SAAS,EAAE;IAI9B,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;CA+B7B"}
|
|
@@ -1,9 +1,29 @@
|
|
|
1
|
+
import { EventSchemas } from './events.js';
|
|
1
2
|
export class EventBus {
|
|
2
3
|
sinks;
|
|
3
4
|
constructor(sinks) {
|
|
4
5
|
this.sinks = sinks;
|
|
5
6
|
}
|
|
6
7
|
emit(event) {
|
|
8
|
+
// Emit-time schema validation in dev/test (§3.11).
|
|
9
|
+
// Validates the full persisted envelope (including the `event`
|
|
10
|
+
// discriminator field), so one schema is authoritative for both
|
|
11
|
+
// emit and ingest.
|
|
12
|
+
//
|
|
13
|
+
// Unknown event names (no entry in EventSchemas) pass through
|
|
14
|
+
// without validation. This is intentional: production code emits
|
|
15
|
+
// non-schema diagnostic events (cost_check, time_check,
|
|
16
|
+
// heartbeat_timer, task_done_summary) that are consumed by verbose
|
|
17
|
+
// logging and JSONL sinks but don't need schema enforcement.
|
|
18
|
+
if (process.env.NODE_ENV === 'test' || process.env.NODE_ENV === 'development') {
|
|
19
|
+
const schema = EventSchemas[event.event];
|
|
20
|
+
if (schema) {
|
|
21
|
+
const result = schema.safeParse(event);
|
|
22
|
+
if (!result.success) {
|
|
23
|
+
throw new Error(`emit-time schema violation for ${event.event}: ${JSON.stringify(result.error.format())}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
7
27
|
for (const sink of this.sinks) {
|
|
8
28
|
try {
|
|
9
29
|
sink.emit(event);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bus.js","sourceRoot":"","sources":["../../src/observability/bus.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bus.js","sourceRoot":"","sources":["../../src/observability/bus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAO3C,MAAM,OAAO,QAAQ;IACF,KAAK,CAAc;IAEpC,YAAY,KAAkB;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,KAAgB;QACnB,mDAAmD;QACnD,+DAA+D;QAC/D,gEAAgE;QAChE,mBAAmB;QACnB,EAAE;QACF,8DAA8D;QAC9D,iEAAiE;QACjE,wDAAwD;QACxD,mEAAmE;QACnE,6DAA6D;QAC7D,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC9E,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CACb,kCAAkC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAC1F,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;YAAC,MAAM,CAAC;gBACP,+BAA+B;YACjC,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
|
@@ -5,10 +5,10 @@ export declare const TaskStartedEvent: z.ZodObject<{
|
|
|
5
5
|
taskIndex: z.ZodNumber;
|
|
6
6
|
event: z.ZodLiteral<"task_started">;
|
|
7
7
|
route: z.ZodEnum<{
|
|
8
|
+
review: "review";
|
|
8
9
|
retry: "retry";
|
|
9
10
|
delegate: "delegate";
|
|
10
11
|
audit: "audit";
|
|
11
|
-
review: "review";
|
|
12
12
|
verify: "verify";
|
|
13
13
|
debug: "debug";
|
|
14
14
|
"execute-plan": "execute-plan";
|
|
@@ -93,6 +93,17 @@ export declare const FallbackEvent: z.ZodObject<{
|
|
|
93
93
|
unavailable: "unavailable";
|
|
94
94
|
}>>;
|
|
95
95
|
violatesSeparation: z.ZodBoolean;
|
|
96
|
+
fallbackSeparationRespected: z.ZodOptional<z.ZodBoolean>;
|
|
97
|
+
assignedIdentity: z.ZodNullable<z.ZodOptional<z.ZodObject<{
|
|
98
|
+
providerType: z.ZodString;
|
|
99
|
+
normalizedEndpoint: z.ZodString;
|
|
100
|
+
modelId: z.ZodString;
|
|
101
|
+
}, z.core.$strip>>>;
|
|
102
|
+
usedIdentity: z.ZodNullable<z.ZodOptional<z.ZodObject<{
|
|
103
|
+
providerType: z.ZodString;
|
|
104
|
+
normalizedEndpoint: z.ZodString;
|
|
105
|
+
modelId: z.ZodString;
|
|
106
|
+
}, z.core.$strip>>>;
|
|
96
107
|
}, z.core.$strict>;
|
|
97
108
|
export declare const FallbackUnavailableEvent: z.ZodObject<{
|
|
98
109
|
ts: z.ZodString;
|
|
@@ -237,8 +248,6 @@ export declare const ReadOnlyReviewQualityEvent: z.ZodObject<{
|
|
|
237
248
|
}>;
|
|
238
249
|
iterationIndex: z.ZodNumber;
|
|
239
250
|
findingsReviewed: z.ZodNumber;
|
|
240
|
-
findingsFlagged: z.ZodNumber;
|
|
241
|
-
severityCorrections: z.ZodNumber;
|
|
242
251
|
meanConfidence: z.ZodNullable<z.ZodNumber>;
|
|
243
252
|
durationMs: z.ZodNumber;
|
|
244
253
|
costUSD: z.ZodNullable<z.ZodNumber>;
|
|
@@ -270,6 +279,27 @@ export declare const StallAbortEvent: z.ZodObject<{
|
|
|
270
279
|
idle_ms: z.ZodNumber;
|
|
271
280
|
threshold_ms: z.ZodNumber;
|
|
272
281
|
}, z.core.$strict>;
|
|
282
|
+
export declare const TimeCheckEvent: z.ZodObject<{
|
|
283
|
+
ts: z.ZodString;
|
|
284
|
+
batchId: z.ZodString;
|
|
285
|
+
taskIndex: z.ZodNumber;
|
|
286
|
+
event: z.ZodLiteral<"time_check">;
|
|
287
|
+
stage: z.ZodString;
|
|
288
|
+
tripped: z.ZodBoolean;
|
|
289
|
+
wallClockMs: z.ZodNumber;
|
|
290
|
+
timeoutMs: z.ZodNumber;
|
|
291
|
+
}, z.core.$strict>;
|
|
292
|
+
export declare const CostCheckEvent: z.ZodObject<{
|
|
293
|
+
ts: z.ZodString;
|
|
294
|
+
batchId: z.ZodString;
|
|
295
|
+
taskIndex: z.ZodNumber;
|
|
296
|
+
event: z.ZodLiteral<"cost_check">;
|
|
297
|
+
stage: z.ZodString;
|
|
298
|
+
tripped: z.ZodBoolean;
|
|
299
|
+
cost_used_usd: z.ZodNumber;
|
|
300
|
+
cost_cap_usd: z.ZodNumber;
|
|
301
|
+
cost_available: z.ZodBoolean;
|
|
302
|
+
}, z.core.$strict>;
|
|
273
303
|
export declare const BatchCompletedEvent: z.ZodObject<{
|
|
274
304
|
ts: z.ZodString;
|
|
275
305
|
batchId: z.ZodString;
|
|
@@ -465,6 +495,8 @@ export declare const TaskCompletedLocalEvent: z.ZodObject<{
|
|
|
465
495
|
toolCalls: z.ZodNumber;
|
|
466
496
|
inputTokens: z.ZodNumber;
|
|
467
497
|
outputTokens: z.ZodNumber;
|
|
498
|
+
cachedTokens: z.ZodNullable<z.ZodNumber>;
|
|
499
|
+
reasoningTokens: z.ZodNullable<z.ZodNumber>;
|
|
468
500
|
costUSD: z.ZodNullable<z.ZodNumber>;
|
|
469
501
|
taskMaxIdleMs: z.ZodNullable<z.ZodNumber>;
|
|
470
502
|
stallTriggered: z.ZodBoolean;
|
|
@@ -507,6 +539,8 @@ export declare const TurnCompleteEvent: z.ZodObject<{
|
|
|
507
539
|
turnIndex: z.ZodNumber;
|
|
508
540
|
inputTokens: z.ZodNumber;
|
|
509
541
|
outputTokens: z.ZodNumber;
|
|
542
|
+
cachedTokens: z.ZodNullable<z.ZodNumber>;
|
|
543
|
+
reasoningTokens: z.ZodNullable<z.ZodNumber>;
|
|
510
544
|
costUSD: z.ZodNumber;
|
|
511
545
|
durationMs: z.ZodNumber;
|
|
512
546
|
providerType: z.ZodEnum<{
|
|
@@ -536,10 +570,10 @@ export declare const TaskCompletedCloudEvent: z.ZodObject<{
|
|
|
536
570
|
event: z.ZodLiteral<"task.completed">;
|
|
537
571
|
ts: z.ZodString;
|
|
538
572
|
route: z.ZodEnum<{
|
|
573
|
+
review: "review";
|
|
539
574
|
retry: "retry";
|
|
540
575
|
delegate: "delegate";
|
|
541
576
|
audit: "audit";
|
|
542
|
-
review: "review";
|
|
543
577
|
verify: "verify";
|
|
544
578
|
debug: "debug";
|
|
545
579
|
"execute-plan": "execute-plan";
|
|
@@ -647,10 +681,10 @@ export declare const Event: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
647
681
|
taskIndex: z.ZodNumber;
|
|
648
682
|
event: z.ZodLiteral<"task_started">;
|
|
649
683
|
route: z.ZodEnum<{
|
|
684
|
+
review: "review";
|
|
650
685
|
retry: "retry";
|
|
651
686
|
delegate: "delegate";
|
|
652
687
|
audit: "audit";
|
|
653
|
-
review: "review";
|
|
654
688
|
verify: "verify";
|
|
655
689
|
debug: "debug";
|
|
656
690
|
"execute-plan": "execute-plan";
|
|
@@ -732,6 +766,17 @@ export declare const Event: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
732
766
|
unavailable: "unavailable";
|
|
733
767
|
}>>;
|
|
734
768
|
violatesSeparation: z.ZodBoolean;
|
|
769
|
+
fallbackSeparationRespected: z.ZodOptional<z.ZodBoolean>;
|
|
770
|
+
assignedIdentity: z.ZodNullable<z.ZodOptional<z.ZodObject<{
|
|
771
|
+
providerType: z.ZodString;
|
|
772
|
+
normalizedEndpoint: z.ZodString;
|
|
773
|
+
modelId: z.ZodString;
|
|
774
|
+
}, z.core.$strip>>>;
|
|
775
|
+
usedIdentity: z.ZodNullable<z.ZodOptional<z.ZodObject<{
|
|
776
|
+
providerType: z.ZodString;
|
|
777
|
+
normalizedEndpoint: z.ZodString;
|
|
778
|
+
modelId: z.ZodString;
|
|
779
|
+
}, z.core.$strip>>>;
|
|
735
780
|
}, z.core.$strict>, z.ZodObject<{
|
|
736
781
|
ts: z.ZodString;
|
|
737
782
|
batchId: z.ZodString;
|
|
@@ -869,8 +914,6 @@ export declare const Event: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
869
914
|
}>;
|
|
870
915
|
iterationIndex: z.ZodNumber;
|
|
871
916
|
findingsReviewed: z.ZodNumber;
|
|
872
|
-
findingsFlagged: z.ZodNumber;
|
|
873
|
-
severityCorrections: z.ZodNumber;
|
|
874
917
|
meanConfidence: z.ZodNullable<z.ZodNumber>;
|
|
875
918
|
durationMs: z.ZodNumber;
|
|
876
919
|
costUSD: z.ZodNullable<z.ZodNumber>;
|
|
@@ -899,6 +942,25 @@ export declare const Event: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
899
942
|
event: z.ZodLiteral<"stall_abort">;
|
|
900
943
|
idle_ms: z.ZodNumber;
|
|
901
944
|
threshold_ms: z.ZodNumber;
|
|
945
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
946
|
+
ts: z.ZodString;
|
|
947
|
+
batchId: z.ZodString;
|
|
948
|
+
taskIndex: z.ZodNumber;
|
|
949
|
+
event: z.ZodLiteral<"time_check">;
|
|
950
|
+
stage: z.ZodString;
|
|
951
|
+
tripped: z.ZodBoolean;
|
|
952
|
+
wallClockMs: z.ZodNumber;
|
|
953
|
+
timeoutMs: z.ZodNumber;
|
|
954
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
955
|
+
ts: z.ZodString;
|
|
956
|
+
batchId: z.ZodString;
|
|
957
|
+
taskIndex: z.ZodNumber;
|
|
958
|
+
event: z.ZodLiteral<"cost_check">;
|
|
959
|
+
stage: z.ZodString;
|
|
960
|
+
tripped: z.ZodBoolean;
|
|
961
|
+
cost_used_usd: z.ZodNumber;
|
|
962
|
+
cost_cap_usd: z.ZodNumber;
|
|
963
|
+
cost_available: z.ZodBoolean;
|
|
902
964
|
}, z.core.$strict>, z.ZodObject<{
|
|
903
965
|
ts: z.ZodString;
|
|
904
966
|
batchId: z.ZodString;
|
|
@@ -928,6 +990,8 @@ export declare const Event: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
928
990
|
toolCalls: z.ZodNumber;
|
|
929
991
|
inputTokens: z.ZodNumber;
|
|
930
992
|
outputTokens: z.ZodNumber;
|
|
993
|
+
cachedTokens: z.ZodNullable<z.ZodNumber>;
|
|
994
|
+
reasoningTokens: z.ZodNullable<z.ZodNumber>;
|
|
931
995
|
costUSD: z.ZodNullable<z.ZodNumber>;
|
|
932
996
|
taskMaxIdleMs: z.ZodNullable<z.ZodNumber>;
|
|
933
997
|
stallTriggered: z.ZodBoolean;
|
|
@@ -967,6 +1031,8 @@ export declare const Event: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
967
1031
|
turnIndex: z.ZodNumber;
|
|
968
1032
|
inputTokens: z.ZodNumber;
|
|
969
1033
|
outputTokens: z.ZodNumber;
|
|
1034
|
+
cachedTokens: z.ZodNullable<z.ZodNumber>;
|
|
1035
|
+
reasoningTokens: z.ZodNullable<z.ZodNumber>;
|
|
970
1036
|
costUSD: z.ZodNumber;
|
|
971
1037
|
durationMs: z.ZodNumber;
|
|
972
1038
|
providerType: z.ZodEnum<{
|
|
@@ -993,10 +1059,10 @@ export declare const Event: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
993
1059
|
event: z.ZodLiteral<"task.completed">;
|
|
994
1060
|
ts: z.ZodString;
|
|
995
1061
|
route: z.ZodEnum<{
|
|
1062
|
+
review: "review";
|
|
996
1063
|
retry: "retry";
|
|
997
1064
|
delegate: "delegate";
|
|
998
1065
|
audit: "audit";
|
|
999
|
-
review: "review";
|
|
1000
1066
|
verify: "verify";
|
|
1001
1067
|
debug: "debug";
|
|
1002
1068
|
"execute-plan": "execute-plan";
|
|
@@ -1098,4 +1164,15 @@ export declare const Event: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
1098
1164
|
export type EventType = z.infer<typeof Event>;
|
|
1099
1165
|
/** Cloud-bound event discriminator values — used by TelemetrySink to filter. */
|
|
1100
1166
|
export declare const CLOUD_EVENT_NAMES: Set<"task.completed" | "session.started" | "install.changed" | "skill.installed">;
|
|
1167
|
+
/**
|
|
1168
|
+
* Map from event discriminator to its full-envelope Zod schema.
|
|
1169
|
+
*
|
|
1170
|
+
* Each schema validates the **complete persisted envelope** (including the
|
|
1171
|
+
* `event: <name>` discriminator field), not just the caller-supplied payload.
|
|
1172
|
+
* This makes one schema authoritative for both emit and ingest.
|
|
1173
|
+
*
|
|
1174
|
+
* Used by the telemetry coverage invariant test and by the emit-time
|
|
1175
|
+
* validator (NODE_ENV=test|development).
|
|
1176
|
+
*/
|
|
1177
|
+
export declare const EventSchemas: Record<string, z.ZodType>;
|
|
1101
1178
|
//# sourceMappingURL=events.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/observability/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA+DxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;kBAIlB,CAAC;AAEZ,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;kBASlB,CAAC;AAEZ,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;kBAahB,CAAC;AAEZ,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/observability/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -83,6 +83,17 @@ export const FallbackEvent = TaskBase.extend({
|
|
|
83
83
|
reason: DiagReasonEnum,
|
|
84
84
|
triggeringStatus: RunStatusEnum.optional(),
|
|
85
85
|
violatesSeparation: z.boolean(),
|
|
86
|
+
fallbackSeparationRespected: z.boolean().optional(),
|
|
87
|
+
assignedIdentity: z.object({
|
|
88
|
+
providerType: z.string(),
|
|
89
|
+
normalizedEndpoint: z.string(),
|
|
90
|
+
modelId: z.string(),
|
|
91
|
+
}).optional().nullable(),
|
|
92
|
+
usedIdentity: z.object({
|
|
93
|
+
providerType: z.string(),
|
|
94
|
+
normalizedEndpoint: z.string(),
|
|
95
|
+
modelId: z.string(),
|
|
96
|
+
}).optional().nullable(),
|
|
86
97
|
}).strict();
|
|
87
98
|
export const FallbackUnavailableEvent = TaskBase.extend({
|
|
88
99
|
event: z.literal('fallback_unavailable'),
|
|
@@ -134,8 +145,6 @@ export const ReadOnlyReviewQualityEvent = TaskBase.extend({
|
|
|
134
145
|
verdict: ReviewVerdictEnum,
|
|
135
146
|
iterationIndex: z.number().int().min(1),
|
|
136
147
|
findingsReviewed: z.number().int().min(0),
|
|
137
|
-
findingsFlagged: z.number().int().min(0),
|
|
138
|
-
severityCorrections: z.number().int().min(0),
|
|
139
148
|
meanConfidence: z.number().min(0).max(100).nullable(),
|
|
140
149
|
durationMs: z.number().int().min(0),
|
|
141
150
|
costUSD: z.number().min(0).nullable(),
|
|
@@ -153,6 +162,21 @@ export const StallAbortEvent = TaskBase.extend({
|
|
|
153
162
|
idle_ms: z.number().int().min(0),
|
|
154
163
|
threshold_ms: z.number().int().min(0),
|
|
155
164
|
}).strict();
|
|
165
|
+
export const TimeCheckEvent = TaskBase.extend({
|
|
166
|
+
event: z.literal('time_check'),
|
|
167
|
+
stage: z.string(),
|
|
168
|
+
tripped: z.boolean(),
|
|
169
|
+
wallClockMs: z.number().int().min(0),
|
|
170
|
+
timeoutMs: z.number().int().min(0),
|
|
171
|
+
}).strict();
|
|
172
|
+
export const CostCheckEvent = TaskBase.extend({
|
|
173
|
+
event: z.literal('cost_check'),
|
|
174
|
+
stage: z.string(),
|
|
175
|
+
tripped: z.boolean(),
|
|
176
|
+
cost_used_usd: z.number().min(0),
|
|
177
|
+
cost_cap_usd: z.number().min(0),
|
|
178
|
+
cost_available: z.boolean(),
|
|
179
|
+
}).strict();
|
|
156
180
|
export const BatchCompletedEvent = BatchBase.extend({
|
|
157
181
|
event: z.literal('batch_completed'),
|
|
158
182
|
tool: z.string(),
|
|
@@ -214,6 +238,8 @@ export const TaskCompletedLocalEvent = TaskBase.extend({
|
|
|
214
238
|
toolCalls: z.number().int().min(0),
|
|
215
239
|
inputTokens: z.number().int().min(0),
|
|
216
240
|
outputTokens: z.number().int().min(0),
|
|
241
|
+
cachedTokens: z.number().int().min(0).nullable(),
|
|
242
|
+
reasoningTokens: z.number().int().min(0).nullable(),
|
|
217
243
|
costUSD: z.number().min(0).nullable(),
|
|
218
244
|
// New in v3.9.0
|
|
219
245
|
taskMaxIdleMs: z.number().int().min(0).nullable(),
|
|
@@ -240,6 +266,8 @@ export const TurnCompleteEvent = TaskBase.extend({
|
|
|
240
266
|
turnIndex: z.number().int().min(0),
|
|
241
267
|
inputTokens: z.number().int().min(0),
|
|
242
268
|
outputTokens: z.number().int().min(0),
|
|
269
|
+
cachedTokens: z.number().int().min(0).nullable(),
|
|
270
|
+
reasoningTokens: z.number().int().min(0).nullable(),
|
|
243
271
|
costUSD: z.number().min(0),
|
|
244
272
|
durationMs: z.number().int().min(0),
|
|
245
273
|
providerType: ProviderTypeEnum,
|
|
@@ -327,6 +355,8 @@ export const Event = z.discriminatedUnion('event', [
|
|
|
327
355
|
ReadOnlyReviewQualityEvent,
|
|
328
356
|
ReadOnlyReviewTerminalEvent,
|
|
329
357
|
StallAbortEvent,
|
|
358
|
+
TimeCheckEvent,
|
|
359
|
+
CostCheckEvent,
|
|
330
360
|
BatchCompletedEvent,
|
|
331
361
|
BatchFailedEvent,
|
|
332
362
|
TaskCompletedLocalEvent,
|
|
@@ -349,4 +379,49 @@ export const CLOUD_EVENT_NAMES = new Set([
|
|
|
349
379
|
'install.changed',
|
|
350
380
|
'skill.installed',
|
|
351
381
|
]);
|
|
382
|
+
// ---------------------------------------------------------------------------
|
|
383
|
+
// Schema index for coverage invariants and emit-time validation
|
|
384
|
+
// ---------------------------------------------------------------------------
|
|
385
|
+
/**
|
|
386
|
+
* Map from event discriminator to its full-envelope Zod schema.
|
|
387
|
+
*
|
|
388
|
+
* Each schema validates the **complete persisted envelope** (including the
|
|
389
|
+
* `event: <name>` discriminator field), not just the caller-supplied payload.
|
|
390
|
+
* This makes one schema authoritative for both emit and ingest.
|
|
391
|
+
*
|
|
392
|
+
* Used by the telemetry coverage invariant test and by the emit-time
|
|
393
|
+
* validator (NODE_ENV=test|development).
|
|
394
|
+
*/
|
|
395
|
+
export const EventSchemas = {
|
|
396
|
+
// Lifecycle
|
|
397
|
+
task_started: TaskStartedEvent,
|
|
398
|
+
stage_change: StageChangeEvent,
|
|
399
|
+
heartbeat: HeartbeatEvent,
|
|
400
|
+
fallback: FallbackEvent,
|
|
401
|
+
fallback_unavailable: FallbackUnavailableEvent,
|
|
402
|
+
escalation: EscalationEvent,
|
|
403
|
+
escalation_unavailable: EscalationUnavailableEvent,
|
|
404
|
+
review_decision: ReviewDecisionEvent,
|
|
405
|
+
verify_step: VerifyStepEvent,
|
|
406
|
+
verify_skipped: VerifySkippedEvent,
|
|
407
|
+
'read_only_review.quality': ReadOnlyReviewQualityEvent,
|
|
408
|
+
'read_only_review.terminal': ReadOnlyReviewTerminalEvent,
|
|
409
|
+
stall_abort: StallAbortEvent,
|
|
410
|
+
time_check: TimeCheckEvent,
|
|
411
|
+
cost_check: CostCheckEvent,
|
|
412
|
+
task_completed: TaskCompletedLocalEvent,
|
|
413
|
+
batch_completed: BatchCompletedEvent,
|
|
414
|
+
batch_failed: BatchFailedEvent,
|
|
415
|
+
// Runner internals
|
|
416
|
+
worker_start: WorkerStartEvent,
|
|
417
|
+
turn_start: TurnStartEvent,
|
|
418
|
+
turn_complete: TurnCompleteEvent,
|
|
419
|
+
tool_call: ToolCallEvent,
|
|
420
|
+
text_emission: TextEmissionEvent,
|
|
421
|
+
// Cloud-bound
|
|
422
|
+
'task.completed': TaskCompletedCloudEvent,
|
|
423
|
+
'session.started': SessionStartedCloudEvent,
|
|
424
|
+
'install.changed': InstallChangedCloudEvent,
|
|
425
|
+
'skill.installed': SkillInstalledCloudEvent,
|
|
426
|
+
};
|
|
352
427
|
//# sourceMappingURL=events.js.map
|