@zhixuan92/multi-model-agent-core 3.5.1 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/dist/config/load.js +1 -1
  2. package/dist/config/load.js.map +1 -1
  3. package/dist/config/schema.d.ts +61 -0
  4. package/dist/config/schema.d.ts.map +1 -1
  5. package/dist/config/schema.js +23 -1
  6. package/dist/config/schema.js.map +1 -1
  7. package/dist/delegate-with-escalation.d.ts +14 -0
  8. package/dist/delegate-with-escalation.d.ts.map +1 -1
  9. package/dist/delegate-with-escalation.js +29 -1
  10. package/dist/delegate-with-escalation.js.map +1 -1
  11. package/dist/executors/audit.d.ts.map +1 -1
  12. package/dist/executors/audit.js +16 -2
  13. package/dist/executors/audit.js.map +1 -1
  14. package/dist/executors/debug.d.ts.map +1 -1
  15. package/dist/executors/debug.js +8 -1
  16. package/dist/executors/debug.js.map +1 -1
  17. package/dist/executors/delegate.d.ts.map +1 -1
  18. package/dist/executors/delegate.js +23 -1
  19. package/dist/executors/delegate.js.map +1 -1
  20. package/dist/executors/execute-plan.d.ts.map +1 -1
  21. package/dist/executors/execute-plan.js +16 -2
  22. package/dist/executors/execute-plan.js.map +1 -1
  23. package/dist/executors/execution-context.d.ts.map +1 -1
  24. package/dist/executors/execution-context.js +4 -0
  25. package/dist/executors/execution-context.js.map +1 -1
  26. package/dist/executors/investigate.d.ts.map +1 -1
  27. package/dist/executors/investigate.js +24 -1
  28. package/dist/executors/investigate.js.map +1 -1
  29. package/dist/executors/retry.d.ts.map +1 -1
  30. package/dist/executors/retry.js +25 -2
  31. package/dist/executors/retry.js.map +1 -1
  32. package/dist/executors/review.d.ts.map +1 -1
  33. package/dist/executors/review.js +16 -2
  34. package/dist/executors/review.js.map +1 -1
  35. package/dist/executors/types.d.ts +35 -0
  36. package/dist/executors/types.d.ts.map +1 -1
  37. package/dist/executors/verify.d.ts.map +1 -1
  38. package/dist/executors/verify.js +16 -2
  39. package/dist/executors/verify.js.map +1 -1
  40. package/dist/heartbeat.d.ts +1 -1
  41. package/dist/heartbeat.d.ts.map +1 -1
  42. package/dist/heartbeat.js +10 -3
  43. package/dist/heartbeat.js.map +1 -1
  44. package/dist/provider.d.ts.map +1 -1
  45. package/dist/provider.js +2 -1
  46. package/dist/provider.js.map +1 -1
  47. package/dist/routing/model-profiles.d.ts +1 -0
  48. package/dist/routing/model-profiles.d.ts.map +1 -1
  49. package/dist/routing/model-profiles.js +3 -0
  50. package/dist/routing/model-profiles.js.map +1 -1
  51. package/dist/run-tasks/index.d.ts +17 -0
  52. package/dist/run-tasks/index.d.ts.map +1 -1
  53. package/dist/run-tasks/index.js +1 -1
  54. package/dist/run-tasks/index.js.map +1 -1
  55. package/dist/run-tasks/reviewed-lifecycle.d.ts +24 -2
  56. package/dist/run-tasks/reviewed-lifecycle.d.ts.map +1 -1
  57. package/dist/run-tasks/reviewed-lifecycle.js +191 -13
  58. package/dist/run-tasks/reviewed-lifecycle.js.map +1 -1
  59. package/dist/runners/claude-runner.d.ts.map +1 -1
  60. package/dist/runners/claude-runner.js +37 -5
  61. package/dist/runners/claude-runner.js.map +1 -1
  62. package/dist/runners/codex-runner.d.ts.map +1 -1
  63. package/dist/runners/codex-runner.js +6 -3
  64. package/dist/runners/codex-runner.js.map +1 -1
  65. package/dist/runners/error-classification.d.ts +8 -0
  66. package/dist/runners/error-classification.d.ts.map +1 -1
  67. package/dist/runners/error-classification.js +17 -0
  68. package/dist/runners/error-classification.js.map +1 -1
  69. package/dist/runners/openai-runner.d.ts.map +1 -1
  70. package/dist/runners/openai-runner.js +29 -7
  71. package/dist/runners/openai-runner.js.map +1 -1
  72. package/dist/runners/types.d.ts +6 -1
  73. package/dist/runners/types.d.ts.map +1 -1
  74. package/dist/telemetry/bucketing.d.ts +11 -0
  75. package/dist/telemetry/bucketing.d.ts.map +1 -0
  76. package/dist/telemetry/bucketing.js +52 -0
  77. package/dist/telemetry/bucketing.js.map +1 -0
  78. package/dist/telemetry/concern-classifier.d.ts +9 -0
  79. package/dist/telemetry/concern-classifier.d.ts.map +1 -0
  80. package/dist/telemetry/concern-classifier.js +21 -0
  81. package/dist/telemetry/concern-classifier.js.map +1 -0
  82. package/dist/telemetry/consent-rules.d.ts +17 -0
  83. package/dist/telemetry/consent-rules.d.ts.map +1 -0
  84. package/dist/telemetry/consent-rules.js +32 -0
  85. package/dist/telemetry/consent-rules.js.map +1 -0
  86. package/dist/telemetry/event-builder.d.ts +23 -0
  87. package/dist/telemetry/event-builder.d.ts.map +1 -0
  88. package/dist/telemetry/event-builder.js +321 -0
  89. package/dist/telemetry/event-builder.js.map +1 -0
  90. package/dist/telemetry/types.d.ts +1870 -0
  91. package/dist/telemetry/types.d.ts.map +1 -0
  92. package/dist/telemetry/types.js +373 -0
  93. package/dist/telemetry/types.js.map +1 -0
  94. package/dist/types.d.ts +98 -4
  95. package/dist/types.d.ts.map +1 -1
  96. package/dist/types.js +18 -2
  97. package/dist/types.js.map +1 -1
  98. package/package.json +13 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/telemetry/types.ts"],"names":[],"mappings":"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"}
@@ -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,8 +7,80 @@ 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
- type: 'openai-compatible' | 'claude' | 'codex';
83
+ type: 'openai-compatible' | 'claude' | 'claude-compatible' | 'codex';
12
84
  model: string;
13
85
  baseUrl?: string;
14
86
  apiKey?: string;
@@ -86,6 +158,21 @@ export interface ClaudeProviderConfig {
86
158
  outputCostPerMTok?: number;
87
159
  inputTokenSoftLimit?: number;
88
160
  }
161
+ export interface ClaudeCompatibleProviderConfig {
162
+ type: 'claude-compatible';
163
+ model: string;
164
+ baseUrl: string;
165
+ apiKey?: string;
166
+ apiKeyEnv?: string;
167
+ effort?: Effort;
168
+ timeoutMs?: number;
169
+ sandboxPolicy?: SandboxPolicy;
170
+ hostedTools?: ('web_search' | 'image_generation' | 'code_interpreter')[];
171
+ costTier?: CostTier;
172
+ inputCostPerMTok?: number;
173
+ outputCostPerMTok?: number;
174
+ inputTokenSoftLimit?: number;
175
+ }
89
176
  export interface OpenAICompatibleProviderConfig {
90
177
  type: 'openai-compatible';
91
178
  model: string;
@@ -101,7 +188,7 @@ export interface OpenAICompatibleProviderConfig {
101
188
  outputCostPerMTok?: number;
102
189
  inputTokenSoftLimit?: number;
103
190
  }
104
- export type ProviderConfig = CodexProviderConfig | ClaudeProviderConfig | OpenAICompatibleProviderConfig;
191
+ export type ProviderConfig = CodexProviderConfig | ClaudeProviderConfig | ClaudeCompatibleProviderConfig | OpenAICompatibleProviderConfig;
105
192
  export interface MultiModelConfig {
106
193
  agents: {
107
194
  standard: AgentConfig;
@@ -109,6 +196,7 @@ export interface MultiModelConfig {
109
196
  };
110
197
  defaults: {
111
198
  timeoutMs: number;
199
+ stallTimeoutMs: number;
112
200
  maxCostUSD: number;
113
201
  tools: ToolMode;
114
202
  sandboxPolicy: SandboxPolicy;
@@ -179,8 +267,9 @@ export interface RunResult {
179
267
  message: string;
180
268
  }>;
181
269
  structuredError?: {
182
- 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';
183
271
  message: string;
272
+ where?: string;
184
273
  step?: number;
185
274
  status?: VerifyStepStatus;
186
275
  attemptsUsed?: number;
@@ -196,6 +285,8 @@ export interface RunResult {
196
285
  capExhausted?: 'turn' | 'cost' | 'wall_clock';
197
286
  lifecycleClarificationRequested?: boolean;
198
287
  workerError?: Error;
288
+ /** Per-stage raw stats (Phase 0). Bucketing happens in the telemetry event-builder. */
289
+ stageStats?: StageStatsMap;
199
290
  verification?: VerifyStageResult;
200
291
  qualityReviewStatus?: 'approved' | 'changes_required' | 'skipped' | 'error' | 'not_applicable';
201
292
  qualityReviewReason?: string;
@@ -203,6 +294,8 @@ export interface RunResult {
203
294
  agents?: {
204
295
  implementer: 'standard' | 'complex' | 'not_run';
205
296
  implementerHistory?: AgentType[];
297
+ implementerToolMode?: 'none' | 'readonly' | 'no-shell' | 'full';
298
+ implementerCapabilities?: ('web_search' | 'web_fetch')[];
206
299
  specReviewer: 'standard' | 'complex' | 'skipped' | 'not_applicable';
207
300
  specReviewerHistory?: (AgentType | 'skipped')[];
208
301
  qualityReviewer: 'standard' | 'complex' | 'skipped' | 'not_applicable';
@@ -225,5 +318,6 @@ export interface Provider {
225
318
  }
226
319
  export declare function computeCostUSD(inputTokens: number, outputTokens: number, config: ProviderConfig): number | null;
227
320
  export declare function computeSavedCostUSD(actualCostUSD: number | null, inputTokens: number, outputTokens: number, parentModel: string | undefined): number | null;
228
- 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 {};
229
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;AAmJ/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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"}