@zhixuan92/multi-model-agent-core 3.5.2 → 3.6.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.
Files changed (93) hide show
  1. package/dist/config/schema.d.ts +6 -0
  2. package/dist/config/schema.d.ts.map +1 -1
  3. package/dist/config/schema.js +16 -1
  4. package/dist/config/schema.js.map +1 -1
  5. package/dist/delegate-with-escalation.d.ts +14 -0
  6. package/dist/delegate-with-escalation.d.ts.map +1 -1
  7. package/dist/delegate-with-escalation.js +29 -1
  8. package/dist/delegate-with-escalation.js.map +1 -1
  9. package/dist/executors/audit.d.ts.map +1 -1
  10. package/dist/executors/audit.js +16 -2
  11. package/dist/executors/audit.js.map +1 -1
  12. package/dist/executors/debug.d.ts.map +1 -1
  13. package/dist/executors/debug.js +8 -1
  14. package/dist/executors/debug.js.map +1 -1
  15. package/dist/executors/delegate.d.ts.map +1 -1
  16. package/dist/executors/delegate.js +23 -1
  17. package/dist/executors/delegate.js.map +1 -1
  18. package/dist/executors/execute-plan.d.ts.map +1 -1
  19. package/dist/executors/execute-plan.js +16 -2
  20. package/dist/executors/execute-plan.js.map +1 -1
  21. package/dist/executors/execution-context.d.ts.map +1 -1
  22. package/dist/executors/execution-context.js +4 -0
  23. package/dist/executors/execution-context.js.map +1 -1
  24. package/dist/executors/investigate.d.ts.map +1 -1
  25. package/dist/executors/investigate.js +24 -1
  26. package/dist/executors/investigate.js.map +1 -1
  27. package/dist/executors/retry.d.ts.map +1 -1
  28. package/dist/executors/retry.js +25 -2
  29. package/dist/executors/retry.js.map +1 -1
  30. package/dist/executors/review.d.ts.map +1 -1
  31. package/dist/executors/review.js +16 -2
  32. package/dist/executors/review.js.map +1 -1
  33. package/dist/executors/types.d.ts +35 -0
  34. package/dist/executors/types.d.ts.map +1 -1
  35. package/dist/executors/verify.d.ts.map +1 -1
  36. package/dist/executors/verify.js +16 -2
  37. package/dist/executors/verify.js.map +1 -1
  38. package/dist/heartbeat.d.ts +1 -1
  39. package/dist/heartbeat.d.ts.map +1 -1
  40. package/dist/heartbeat.js +10 -3
  41. package/dist/heartbeat.js.map +1 -1
  42. package/dist/routing/model-profiles.d.ts +1 -0
  43. package/dist/routing/model-profiles.d.ts.map +1 -1
  44. package/dist/routing/model-profiles.js +3 -0
  45. package/dist/routing/model-profiles.js.map +1 -1
  46. package/dist/run-tasks/index.d.ts +17 -0
  47. package/dist/run-tasks/index.d.ts.map +1 -1
  48. package/dist/run-tasks/index.js +1 -1
  49. package/dist/run-tasks/index.js.map +1 -1
  50. package/dist/run-tasks/reviewed-lifecycle.d.ts +24 -2
  51. package/dist/run-tasks/reviewed-lifecycle.d.ts.map +1 -1
  52. package/dist/run-tasks/reviewed-lifecycle.js +191 -13
  53. package/dist/run-tasks/reviewed-lifecycle.js.map +1 -1
  54. package/dist/runners/claude-runner.d.ts.map +1 -1
  55. package/dist/runners/claude-runner.js +8 -5
  56. package/dist/runners/claude-runner.js.map +1 -1
  57. package/dist/runners/codex-runner.d.ts.map +1 -1
  58. package/dist/runners/codex-runner.js +6 -3
  59. package/dist/runners/codex-runner.js.map +1 -1
  60. package/dist/runners/error-classification.d.ts +8 -0
  61. package/dist/runners/error-classification.d.ts.map +1 -1
  62. package/dist/runners/error-classification.js +17 -0
  63. package/dist/runners/error-classification.js.map +1 -1
  64. package/dist/runners/openai-runner.d.ts.map +1 -1
  65. package/dist/runners/openai-runner.js +6 -3
  66. package/dist/runners/openai-runner.js.map +1 -1
  67. package/dist/runners/types.d.ts +6 -1
  68. package/dist/runners/types.d.ts.map +1 -1
  69. package/dist/telemetry/bucketing.d.ts +11 -0
  70. package/dist/telemetry/bucketing.d.ts.map +1 -0
  71. package/dist/telemetry/bucketing.js +52 -0
  72. package/dist/telemetry/bucketing.js.map +1 -0
  73. package/dist/telemetry/concern-classifier.d.ts +9 -0
  74. package/dist/telemetry/concern-classifier.d.ts.map +1 -0
  75. package/dist/telemetry/concern-classifier.js +21 -0
  76. package/dist/telemetry/concern-classifier.js.map +1 -0
  77. package/dist/telemetry/consent-rules.d.ts +17 -0
  78. package/dist/telemetry/consent-rules.d.ts.map +1 -0
  79. package/dist/telemetry/consent-rules.js +32 -0
  80. package/dist/telemetry/consent-rules.js.map +1 -0
  81. package/dist/telemetry/event-builder.d.ts +23 -0
  82. package/dist/telemetry/event-builder.d.ts.map +1 -0
  83. package/dist/telemetry/event-builder.js +321 -0
  84. package/dist/telemetry/event-builder.js.map +1 -0
  85. package/dist/telemetry/types.d.ts +1870 -0
  86. package/dist/telemetry/types.d.ts.map +1 -0
  87. package/dist/telemetry/types.js +373 -0
  88. package/dist/telemetry/types.js.map +1 -0
  89. package/dist/types.d.ts +81 -2
  90. package/dist/types.d.ts.map +1 -1
  91. package/dist/types.js +18 -2
  92. package/dist/types.js.map +1 -1
  93. package/package.json +13 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/telemetry/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,cAAc,IAAI,CAAC;AAchC,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAY7B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;4BAAqD,CAAC;AAEpF,eAAO,MAAM,QAAQ;;;;;;EAAwE,CAAC;AAE9F,eAAO,MAAM,WAAW;;;;;;EAA8D,CAAC;AAOvF,eAAO,MAAM,YAAY;;wEAGY,CAAC;AACtC,eAAO,MAAM,cAAc;;iGAGH,CAAC;AAEzB,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;EAqBnB,CAAC;AAGH,eAAO,MAAM,cAAc;;;;;;EAMzB,CAAC;AAEH,eAAO,MAAM,EAAE;;;;;EAAgD,CAAC;AAEhE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAO1B,CAAC;AASH,eAAO,MAAM,mBAAmB;;;;;;;;;EAS9B,CAAC;AAGH,eAAO,MAAM,SAAS;;;;;;;;;;;;EAYpB,CAAC;AAIH,eAAO,MAAM,eAAe;;;;;;;;;;EAU1B,CAAC;AAIH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOrB,CAAC;AAGH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAS3B,CAAC;AAGH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG3B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwD7B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;iBAW9B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;iBAK9B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;iBAI9B,CAAC;AAMH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA8IvB,CAAC;AAGL,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAItB,CAAC;AAGH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAC1D,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAClE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACxE,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC1E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC1E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC1E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAClE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AACpD,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACxE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC"}
@@ -0,0 +1,373 @@
1
+ import { z } from 'zod';
2
+ import { ALL_MODEL_IDS } from '../routing/model-profiles.js';
3
+ export const SCHEMA_VERSION = 1;
4
+ const MAX_STR = 64;
5
+ const MAX_VERSION_STR = 64;
6
+ const VersionString = z
7
+ .string()
8
+ .regex(/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/)
9
+ .max(MAX_VERSION_STR);
10
+ // Allowlists. Two skill enums: triggering source vs installable skill.
11
+ // 'direct' is only meaningful for triggering (no skill caller); it cannot be installed.
12
+ export const InstallableSkillId = z.enum([
13
+ 'mma-delegate',
14
+ 'mma-audit',
15
+ 'mma-review',
16
+ 'mma-verify',
17
+ 'mma-debug',
18
+ 'mma-execute-plan',
19
+ 'mma-retry',
20
+ 'mma-investigate', // present on disk under packages/server/src/skills/
21
+ 'mma-context-blocks',
22
+ 'mma-clarifications',
23
+ 'other', // sentinel for unknown / community skill
24
+ ]);
25
+ export const TriggeringSkillId = z.union([InstallableSkillId, z.literal('direct')]);
26
+ export const ClientId = z.enum(['claude-code', 'cursor', 'codex-cli', 'gemini-cli', 'other']);
27
+ export const ModelFamily = z.enum(['claude', 'openai', 'gemini', 'deepseek', 'other']);
28
+ // Canonical model IDs come from packages/core/src/routing/model-profiles.ts.
29
+ // At build time, generate the union from the model-profiles. The build emits
30
+ // `z.union([KnownModelId, z.literal('other')])` if the list is non-empty,
31
+ // or `z.literal('other')` if the list is empty (so schema build never fails).
32
+ // At runtime, anything not in the allowlist becomes 'other'.
33
+ export const KnownModelId = ALL_MODEL_IDS.length > 0
34
+ ? z.enum(ALL_MODEL_IDS)
35
+ : z.never();
36
+ export const ModelIdOrOther = ALL_MODEL_IDS.length > 0
37
+ ? z.union([KnownModelId, z.literal('other')])
38
+ : z.literal('other');
39
+ export const Language = z.enum([
40
+ 'en',
41
+ 'es',
42
+ 'fr',
43
+ 'de',
44
+ 'zh',
45
+ 'ja',
46
+ 'ko',
47
+ 'pt',
48
+ 'ru',
49
+ 'it',
50
+ 'tr',
51
+ 'ar',
52
+ 'hi',
53
+ 'vi',
54
+ 'id',
55
+ 'th',
56
+ 'pl',
57
+ 'nl',
58
+ 'sv',
59
+ 'other',
60
+ ]);
61
+ // Time-zone offset buckets, fully covering UTC-12 through UTC+14, half-open [a, b).
62
+ export const TzOffsetBucket = z.enum([
63
+ 'utc_minus_12_to_minus_6', // [-12, -6)
64
+ 'utc_minus_6_to_0', // [-6, 0)
65
+ 'utc_0_to_plus_6', // [0, +6)
66
+ 'utc_plus_6_to_plus_12', // [+6, +12)
67
+ 'utc_plus_12_to_plus_15', // [+12, +15) -- covers UTC+12, +12:45, +13, +14
68
+ ]);
69
+ export const Os = z.enum(['darwin', 'linux', 'win32', 'other']); // matches process.platform; non-listed → 'other'
70
+ export const InstallMetadata = z.object({
71
+ installId: z.string().uuid(),
72
+ mmagentVersion: VersionString,
73
+ os: Os,
74
+ nodeMajor: z.string().regex(/^[1-9]\d?$/).max(2), // "1".."99"; no leading zeros; cast to int when sorting
75
+ language: Language, // bucketed from runtime locale, never raw
76
+ tzOffsetBucket: TzOffsetBucket,
77
+ });
78
+ // Allowlist of tool names that may appear in topToolNames. Anything else → 'other'.
79
+ // This is the SDK-level tool surface from packages/core/src/tools/definitions.ts;
80
+ // the canonical names used here are the camelCase internal names. The adapter-facing
81
+ // snake_case names (read_file, write_file, edit_file, run_shell, list_files) are
82
+ // normalized to camelCase by the event-builder before counting. Web search and web
83
+ // fetch are NOT separate tool names — they are surfaced via the `capabilities` field
84
+ // on TaskCompletedEvent and excluded from topToolNames.
85
+ export const AllowlistedToolName = z.enum([
86
+ 'readFile',
87
+ 'writeFile',
88
+ 'editFile',
89
+ 'runShell',
90
+ 'listFiles',
91
+ 'grep',
92
+ 'glob',
93
+ 'other',
94
+ ]);
95
+ // Allowlist of error codes from packages/core/src/types.ts:RunResult.structuredError
96
+ export const ErrorCode = z.enum([
97
+ 'verify_command_error',
98
+ 'commit_metadata_invalid',
99
+ 'commit_metadata_repair_modified_files',
100
+ 'dirty_worktree',
101
+ 'diff_review_rejected',
102
+ 'runner_crash',
103
+ 'executor_error',
104
+ 'api_error',
105
+ 'network_error',
106
+ 'rate_limit_exceeded',
107
+ 'other',
108
+ ]);
109
+ // Allowlist of structured concern categories surfaced by reviewers.
110
+ // Server categorizes raw concern messages into these buckets at ingest time.
111
+ export const ConcernCategory = z.enum([
112
+ 'missing_test',
113
+ 'scope_creep',
114
+ 'incomplete_impl',
115
+ 'style_lint',
116
+ 'security',
117
+ 'performance',
118
+ 'maintainability',
119
+ 'doc_gap',
120
+ 'other',
121
+ ]);
122
+ // Per-stage breakdown — populated for stages the task actually entered.
123
+ // Each sub-object is null when the stage was not entered.
124
+ export const StageStats = z.object({
125
+ entered: z.boolean(),
126
+ durationBucket: z.enum(['<10s', '10s-1m', '1m-5m', '5m-30m', '30m+']).nullable(),
127
+ costBucket: z.enum(['$0', '<$0.01', '$0.01-$0.10', '$0.10-$1', '$1+']).nullable(),
128
+ agentTier: z.enum(['standard', 'complex']).nullable(),
129
+ modelFamily: ModelFamily.nullable(),
130
+ model: ModelIdOrOther.nullable(),
131
+ });
132
+ // Reviewer stages add verdict + round + concern categories.
133
+ export const ReviewStageStats = StageStats.extend({
134
+ verdict: z
135
+ .enum(['approved', 'concerns', 'changes_required', 'error', 'skipped', 'not_applicable'])
136
+ .nullable(),
137
+ roundsUsed: z.enum(['0', '1', '2+']).nullable(),
138
+ concernCategories: z
139
+ .array(ConcernCategory)
140
+ .max(9)
141
+ .nullable(), // categorized server-side; never raw text. Cap matches the ConcernCategory enum cardinality so a stage that surfaced every distinct category isn't silently truncated.
142
+ });
143
+ // Verify stage adds outcome + skip reason.
144
+ export const VerifyStageStats = StageStats.extend({
145
+ outcome: z.enum(['passed', 'failed', 'skipped', 'not_applicable']).nullable(),
146
+ skipReason: z.enum(['no_command', 'dirty_worktree', 'not_applicable', 'other']).nullable(),
147
+ });
148
+ export const TaskCompletedEvent = z.object({
149
+ type: z.literal('task.completed'),
150
+ // Route shape
151
+ route: z.enum(['delegate', 'audit', 'review', 'verify', 'debug', 'execute-plan', 'retry']),
152
+ agentType: z.enum(['standard', 'complex']),
153
+ capabilities: z
154
+ .array(z.enum(['web_search', 'web_fetch']))
155
+ .max(2)
156
+ .refine(xs => new Set(xs).size === xs.length, 'unique'),
157
+ toolMode: z.enum(['none', 'readonly', 'no-shell', 'full']),
158
+ triggeredFromSkill: TriggeringSkillId, // 'direct' for non-skill invocations
159
+ client: ClientId, // which agent client invoked us
160
+ // Task shape (derived from structured task metadata; never from prompt parsing or fs scanning)
161
+ fileCountBucket: z.enum(['0', '1-5', '6-20', '21-50', '51+']),
162
+ durationBucket: z.enum(['<10s', '10s-1m', '1m-5m', '5m-30m', '30m+']),
163
+ costBucket: z.enum(['$0', '<$0.01', '$0.01-$0.10', '$0.10-$1', '$1+']),
164
+ savedCostBucket: z.enum(['$0', '<$0.10', '$0.10-$1', '$1+', 'unknown']),
165
+ // Implementer model summary (top-level convenience; per-stage detail lives in `stages`)
166
+ implementerModelFamily: ModelFamily,
167
+ implementerModel: ModelIdOrOther,
168
+ // Outcome
169
+ terminalStatus: z.enum([
170
+ 'ok',
171
+ 'incomplete',
172
+ 'timeout',
173
+ 'error',
174
+ 'cost_exceeded',
175
+ 'brief_too_vague',
176
+ 'unavailable',
177
+ ]),
178
+ workerStatus: z.enum([
179
+ 'done',
180
+ 'done_with_concerns',
181
+ 'needs_context',
182
+ 'blocked',
183
+ 'failed',
184
+ 'review_loop_aborted',
185
+ ]),
186
+ errorCode: ErrorCode.nullable(), // populated when terminalStatus is a failure mode
187
+ // 3.5.0 lifecycle effectiveness
188
+ escalated: z.boolean(),
189
+ fallbackTriggered: z.boolean(),
190
+ // Tool-call profile — top 5 distinct tool names called during this task by count
191
+ // (allowlisted; non-listed tools become 'other'; never includes args/paths)
192
+ topToolNames: z.array(AllowlistedToolName).max(5),
193
+ // Per-stage breakdown — drives the lifecycle funnel + per-stage panels
194
+ stages: z.object({
195
+ implementing: StageStats,
196
+ verifying: VerifyStageStats,
197
+ spec_review: ReviewStageStats,
198
+ spec_rework: StageStats, // implementer re-runs after spec changes_required
199
+ quality_review: ReviewStageStats,
200
+ quality_rework: StageStats,
201
+ diff_review: ReviewStageStats.optional(), // diff-only policy; not always present
202
+ committing: StageStats,
203
+ }),
204
+ });
205
+ export const SessionStartedEvent = z.object({
206
+ type: z.literal('session.started'),
207
+ configFlavor: z.object({
208
+ defaultTier: z.enum(['standard', 'complex']),
209
+ diagnosticsEnabled: z.boolean(),
210
+ autoUpdateSkills: z.boolean(),
211
+ }),
212
+ providersConfigured: z
213
+ .array(z.enum(['claude', 'openai-compatible', 'codex']))
214
+ .max(3)
215
+ .refine(xs => new Set(xs).size === xs.length, 'unique'),
216
+ });
217
+ export const InstallChangedEvent = z.object({
218
+ type: z.literal('install.changed'),
219
+ fromVersion: VersionString.nullable(),
220
+ toVersion: VersionString,
221
+ trigger: z.enum(['fresh_install', 'upgrade', 'downgrade']),
222
+ });
223
+ export const SkillInstalledEvent = z.object({
224
+ type: z.literal('skill.installed'),
225
+ skill: InstallableSkillId, // 'direct' is NOT a skill, rejected here
226
+ client: ClientId,
227
+ });
228
+ // Discriminated union, with eventId for at-most-once dedup within retention window.
229
+ // .superRefine() enforces internal consistency (see 4.4 for the rules).
230
+ const TelemetryEventBase = z.object({ eventId: z.string().uuid() });
231
+ export const TelemetryEvent = z
232
+ .discriminatedUnion('type', [
233
+ TaskCompletedEvent.merge(TelemetryEventBase),
234
+ SessionStartedEvent.merge(TelemetryEventBase),
235
+ InstallChangedEvent.merge(TelemetryEventBase),
236
+ SkillInstalledEvent.merge(TelemetryEventBase),
237
+ ])
238
+ .superRefine((event, ctx) => {
239
+ if (event.type !== 'task.completed')
240
+ return;
241
+ // R1: ok terminalStatus implies non-failed worker outcome and no errorCode
242
+ if (event.terminalStatus === 'ok') {
243
+ if (!['done', 'done_with_concerns'].includes(event.workerStatus)) {
244
+ ctx.addIssue({
245
+ code: 'custom',
246
+ message: 'terminalStatus=ok requires workerStatus done|done_with_concerns',
247
+ });
248
+ }
249
+ if (event.errorCode !== null) {
250
+ ctx.addIssue({
251
+ code: 'custom',
252
+ message: 'terminalStatus=ok requires errorCode=null',
253
+ });
254
+ }
255
+ }
256
+ // R2: verify only applies to routes that exercise the verify stage
257
+ const verifyApplicableRoutes = new Set(['delegate', 'execute-plan', 'verify']);
258
+ const verifyOutcome = event.stages.verifying.outcome;
259
+ if (!verifyApplicableRoutes.has(event.route) &&
260
+ verifyOutcome !== null &&
261
+ verifyOutcome !== 'not_applicable') {
262
+ ctx.addIssue({
263
+ code: 'custom',
264
+ message: 'stages.verifying.outcome must be null or not_applicable for non-verify routes',
265
+ });
266
+ }
267
+ // R3: spec/quality/diff review only on routes that go through the reviewed lifecycle
268
+ const reviewedRoutes = new Set(['delegate', 'execute-plan']);
269
+ if (!reviewedRoutes.has(event.route)) {
270
+ if (event.stages.spec_review.entered) {
271
+ ctx.addIssue({
272
+ code: 'custom',
273
+ message: 'stages.spec_review.entered must be false for non-reviewed routes',
274
+ });
275
+ }
276
+ if (event.stages.quality_review.entered) {
277
+ ctx.addIssue({
278
+ code: 'custom',
279
+ message: 'stages.quality_review.entered must be false for non-reviewed routes',
280
+ });
281
+ }
282
+ if (event.stages.diff_review?.entered) {
283
+ ctx.addIssue({
284
+ code: 'custom',
285
+ message: 'stages.diff_review.entered must be false (or stages.diff_review absent) for non-reviewed routes',
286
+ });
287
+ }
288
+ }
289
+ // R4: stage sub-fields must be null when entered=false
290
+ // (`stages.diff_review` is `.optional()` and is omitted from the parsed
291
+ // object entirely when absent — Object.entries doesn't surface it as
292
+ // `[name, undefined]`. The `!st` guard is defensive belt-and-suspenders
293
+ // that also covers the case where a future schema change makes the
294
+ // field nullable rather than optional.)
295
+ for (const [name, st] of Object.entries(event.stages)) {
296
+ if (!st)
297
+ continue;
298
+ if (!st.entered) {
299
+ // All five `StageStats` nullable fields must be null when the stage was not entered.
300
+ const baseDirty = st.durationBucket !== null ||
301
+ st.costBucket !== null ||
302
+ st.agentTier !== null ||
303
+ st.modelFamily !== null ||
304
+ st.model !== null;
305
+ // Extended fields on review / verify stages must also be null when entered=false.
306
+ const reviewDirty = ('verdict' in st && st.verdict !== null) ||
307
+ ('roundsUsed' in st && st.roundsUsed !== null) ||
308
+ ('concernCategories' in st &&
309
+ st.concernCategories !== null);
310
+ const verifyDirty = ('outcome' in st && st.outcome !== null) ||
311
+ ('skipReason' in st && st.skipReason !== null);
312
+ if (baseDirty || reviewDirty || verifyDirty) {
313
+ ctx.addIssue({
314
+ code: 'custom',
315
+ message: `stages.${name} sub-fields must be null when entered=false`,
316
+ });
317
+ }
318
+ }
319
+ }
320
+ // R5: when entered=true, the base bucketed fields plus the stage-type-specific
321
+ // fields must be non-null (the stage actually ran, so it produced cost/duration
322
+ // and a verdict/outcome). `skipReason` is exempt — it is legitimately null
323
+ // unless `outcome === 'skipped'`. `concernCategories` is exempt — a clean
324
+ // verdict legitimately surfaces an empty list.
325
+ for (const [name, st] of Object.entries(event.stages)) {
326
+ if (!st || !st.entered)
327
+ continue;
328
+ const baseMissing = st.durationBucket === null ||
329
+ st.costBucket === null ||
330
+ st.agentTier === null ||
331
+ st.modelFamily === null ||
332
+ st.model === null;
333
+ if (baseMissing) {
334
+ ctx.addIssue({
335
+ code: 'custom',
336
+ message: `stages.${name} base sub-fields must be non-null when entered=true`,
337
+ });
338
+ }
339
+ if ('verdict' in st && st.verdict === null) {
340
+ ctx.addIssue({
341
+ code: 'custom',
342
+ message: `stages.${name}.verdict must be non-null when entered=true`,
343
+ });
344
+ }
345
+ if ('roundsUsed' in st && st.roundsUsed === null) {
346
+ ctx.addIssue({
347
+ code: 'custom',
348
+ message: `stages.${name}.roundsUsed must be non-null when entered=true`,
349
+ });
350
+ }
351
+ if ('outcome' in st && st.outcome === null) {
352
+ ctx.addIssue({
353
+ code: 'custom',
354
+ message: `stages.${name}.outcome must be non-null when entered=true`,
355
+ });
356
+ }
357
+ if ('outcome' in st &&
358
+ st.outcome === 'skipped' &&
359
+ st.skipReason === null) {
360
+ ctx.addIssue({
361
+ code: 'custom',
362
+ message: `stages.${name}.skipReason must be non-null when outcome='skipped'`,
363
+ });
364
+ }
365
+ }
366
+ });
367
+ // The complete uploadable envelope.
368
+ export const UploadBatch = z.object({
369
+ schemaVersion: z.literal(SCHEMA_VERSION),
370
+ install: InstallMetadata,
371
+ events: z.array(TelemetryEvent).min(1).max(500),
372
+ });
373
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/telemetry/types.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -7,6 +7,78 @@ export type AgentType = 'standard' | 'complex';
7
7
  export type AgentCapability = 'web_search' | 'web_fetch';
8
8
  export type Effort = 'none' | 'low' | 'medium' | 'high';
9
9
  export type CostTier = 'free' | 'low' | 'medium' | 'high';
10
+ /**
11
+ * Stages whose execution we record per-stage stats for.
12
+ *
13
+ * `terminal` is intentionally NOT here — it is a heartbeat-display-only state
14
+ * (signaling "the lifecycle is done") and has no work to time, no model that
15
+ * ran during it, no cost to attribute. `HeartbeatStage` (in `heartbeat.ts`)
16
+ * includes `terminal`; `StageName` does not. If you add another display-only
17
+ * stage in the future, exclude it from `StageName` for the same reason.
18
+ */
19
+ export type StageName = 'implementing' | 'verifying' | 'spec_review' | 'spec_rework' | 'quality_review' | 'quality_rework' | 'diff_review' | 'committing';
20
+ interface BaseStageStats {
21
+ entered: boolean;
22
+ durationMs: number | null;
23
+ costUSD: number | null;
24
+ agentTier: 'standard' | 'complex' | null;
25
+ modelFamily: string | null;
26
+ model: string | null;
27
+ }
28
+ export type ReviewVerdict = 'approved' | 'concerns' | 'changes_required' | 'error' | 'skipped' | 'not_applicable';
29
+ export type VerifyOutcome = 'passed' | 'failed' | 'skipped' | 'not_applicable';
30
+ export type VerifySkipReason = 'no_command' | 'dirty_worktree' | 'not_applicable' | 'other';
31
+ export type RawStageStats = (BaseStageStats & {
32
+ stage: 'implementing';
33
+ }) | (BaseStageStats & {
34
+ stage: 'spec_rework';
35
+ }) | (BaseStageStats & {
36
+ stage: 'quality_rework';
37
+ }) | (BaseStageStats & {
38
+ stage: 'committing';
39
+ }) | (BaseStageStats & {
40
+ stage: 'verifying';
41
+ outcome: VerifyOutcome | null;
42
+ skipReason: VerifySkipReason | null;
43
+ }) | (BaseStageStats & {
44
+ stage: 'spec_review';
45
+ verdict: ReviewVerdict | null;
46
+ roundsUsed: number | null;
47
+ }) | (BaseStageStats & {
48
+ stage: 'quality_review';
49
+ verdict: ReviewVerdict | null;
50
+ roundsUsed: number | null;
51
+ }) | (BaseStageStats & {
52
+ stage: 'diff_review';
53
+ verdict: ReviewVerdict | null;
54
+ roundsUsed: number | null;
55
+ });
56
+ export type StageStatsMap = {
57
+ implementing: Extract<RawStageStats, {
58
+ stage: 'implementing';
59
+ }>;
60
+ verifying: Extract<RawStageStats, {
61
+ stage: 'verifying';
62
+ }>;
63
+ spec_review: Extract<RawStageStats, {
64
+ stage: 'spec_review';
65
+ }>;
66
+ spec_rework: Extract<RawStageStats, {
67
+ stage: 'spec_rework';
68
+ }>;
69
+ quality_review: Extract<RawStageStats, {
70
+ stage: 'quality_review';
71
+ }>;
72
+ quality_rework: Extract<RawStageStats, {
73
+ stage: 'quality_rework';
74
+ }>;
75
+ diff_review: Extract<RawStageStats, {
76
+ stage: 'diff_review';
77
+ }>;
78
+ committing: Extract<RawStageStats, {
79
+ stage: 'committing';
80
+ }>;
81
+ };
10
82
  export interface AgentConfig {
11
83
  type: 'openai-compatible' | 'claude' | 'claude-compatible' | 'codex';
12
84
  model: string;
@@ -124,6 +196,7 @@ export interface MultiModelConfig {
124
196
  };
125
197
  defaults: {
126
198
  timeoutMs: number;
199
+ stallTimeoutMs: number;
127
200
  maxCostUSD: number;
128
201
  tools: ToolMode;
129
202
  sandboxPolicy: SandboxPolicy;
@@ -194,8 +267,9 @@ export interface RunResult {
194
267
  message: string;
195
268
  }>;
196
269
  structuredError?: {
197
- code: 'verify_command_error' | 'commit_metadata_invalid' | 'commit_metadata_repair_modified_files' | 'dirty_worktree' | 'diff_review_rejected' | 'runner_crash';
270
+ code: 'verify_command_error' | 'commit_metadata_invalid' | 'commit_metadata_repair_modified_files' | 'dirty_worktree' | 'diff_review_rejected' | 'runner_crash' | 'rate_limit_exceeded' | 'executor_error';
198
271
  message: string;
272
+ where?: string;
199
273
  step?: number;
200
274
  status?: VerifyStepStatus;
201
275
  attemptsUsed?: number;
@@ -211,6 +285,8 @@ export interface RunResult {
211
285
  capExhausted?: 'turn' | 'cost' | 'wall_clock';
212
286
  lifecycleClarificationRequested?: boolean;
213
287
  workerError?: Error;
288
+ /** Per-stage raw stats (Phase 0). Bucketing happens in the telemetry event-builder. */
289
+ stageStats?: StageStatsMap;
214
290
  verification?: VerifyStageResult;
215
291
  qualityReviewStatus?: 'approved' | 'changes_required' | 'skipped' | 'error' | 'not_applicable';
216
292
  qualityReviewReason?: string;
@@ -218,6 +294,8 @@ export interface RunResult {
218
294
  agents?: {
219
295
  implementer: 'standard' | 'complex' | 'not_run';
220
296
  implementerHistory?: AgentType[];
297
+ implementerToolMode?: 'none' | 'readonly' | 'no-shell' | 'full';
298
+ implementerCapabilities?: ('web_search' | 'web_fetch')[];
221
299
  specReviewer: 'standard' | 'complex' | 'skipped' | 'not_applicable';
222
300
  specReviewerHistory?: (AgentType | 'skipped')[];
223
301
  qualityReviewer: 'standard' | 'complex' | 'skipped' | 'not_applicable';
@@ -240,5 +318,6 @@ export interface Provider {
240
318
  }
241
319
  export declare function computeCostUSD(inputTokens: number, outputTokens: number, config: ProviderConfig): number | null;
242
320
  export declare function computeSavedCostUSD(actualCostUSD: number | null, inputTokens: number, outputTokens: number, parentModel: string | undefined): number | null;
243
- export declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number, onTimeout: () => T, abort?: AbortController): Promise<T>;
321
+ export declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number, onTimeout: () => T, abort?: AbortController, externalSignal?: AbortSignal): Promise<T>;
322
+ export {};
244
323
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -23,14 +23,30 @@ function resolveRatePair(inputCostPerMTok, outputCostPerMTok) {
23
23
  return { input: inputCostPerMTok, output: outputCostPerMTok };
24
24
  return null;
25
25
  }
26
- export function withTimeout(promise, timeoutMs, onTimeout, abort) {
26
+ export function withTimeout(promise, timeoutMs, onTimeout, abort, externalSignal) {
27
27
  let timeoutId;
28
+ let externalAbortHandler;
28
29
  const timeoutPromise = new Promise((resolve) => {
29
- timeoutId = setTimeout(() => { abort?.abort(); resolve(onTimeout()); }, timeoutMs);
30
+ const fire = () => {
31
+ abort?.abort();
32
+ resolve(onTimeout());
33
+ };
34
+ timeoutId = setTimeout(fire, timeoutMs);
35
+ if (externalSignal) {
36
+ if (externalSignal.aborted) {
37
+ fire();
38
+ }
39
+ else {
40
+ externalAbortHandler = fire;
41
+ externalSignal.addEventListener('abort', externalAbortHandler, { once: true });
42
+ }
43
+ }
30
44
  });
31
45
  return Promise.race([promise, timeoutPromise]).finally(() => {
32
46
  if (timeoutId !== undefined)
33
47
  clearTimeout(timeoutId);
48
+ if (externalAbortHandler && externalSignal)
49
+ externalSignal.removeEventListener('abort', externalAbortHandler);
34
50
  });
35
51
  }
36
52
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAoJ/D,MAAM,UAAU,cAAc,CAAC,WAAmB,EAAE,YAAoB,EAAE,MAAsB;IAC9F,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACzF,IAAI,aAAa,KAAK,IAAI;QAAE,OAAO,CAAC,WAAW,GAAG,aAAa,CAAC,KAAK,GAAG,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACzH,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1F,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,KAAK,GAAG,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,aAA4B,EAAE,WAAmB,EAAE,YAAoB,EAAE,WAA+B;IAC1I,IAAI,aAAa,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrE,MAAM,OAAO,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1F,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,KAAK,GAAG,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,aAAa,CAAC;AAC7G,CAAC;AAED,SAAS,eAAe,CAAC,gBAAoC,EAAE,iBAAqC;IAClG,IAAI,gBAAgB,KAAK,SAAS,IAAI,iBAAiB,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,gBAAgB,IAAI,CAAC,IAAI,iBAAiB,IAAI,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IACnQ,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAI,OAAmB,EAAE,SAAiB,EAAE,SAAkB,EAAE,KAAuB;IAChH,IAAI,SAAoD,CAAC;IACzD,MAAM,cAAc,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,EAAE;QAChD,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QAC1D,IAAI,SAAS,KAAK,SAAS;YAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhixuan92/multi-model-agent-core",
3
- "version": "3.5.2",
3
+ "version": "3.6.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "Core library for multi-model-agent: provider runners (Claude, Codex, OpenAI-compatible), routing logic, config schema, and tool/sandbox primitives.",
@@ -291,6 +291,18 @@
291
291
  "./tool-schemas/retry": {
292
292
  "types": "./dist/tool-schemas/retry.d.ts",
293
293
  "import": "./dist/tool-schemas/retry.js"
294
+ },
295
+ "./telemetry/consent-rules": {
296
+ "types": "./dist/telemetry/consent-rules.d.ts",
297
+ "import": "./dist/telemetry/consent-rules.js"
298
+ },
299
+ "./telemetry/event-builder": {
300
+ "types": "./dist/telemetry/event-builder.d.ts",
301
+ "import": "./dist/telemetry/event-builder.js"
302
+ },
303
+ "./telemetry/types": {
304
+ "types": "./dist/telemetry/types.d.ts",
305
+ "import": "./dist/telemetry/types.js"
294
306
  }
295
307
  },
296
308
  "scripts": {