@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.
- package/dist/config/load.js +1 -1
- package/dist/config/load.js.map +1 -1
- package/dist/config/schema.d.ts +61 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +23 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/delegate-with-escalation.d.ts +14 -0
- package/dist/delegate-with-escalation.d.ts.map +1 -1
- package/dist/delegate-with-escalation.js +29 -1
- package/dist/delegate-with-escalation.js.map +1 -1
- package/dist/executors/audit.d.ts.map +1 -1
- package/dist/executors/audit.js +16 -2
- package/dist/executors/audit.js.map +1 -1
- package/dist/executors/debug.d.ts.map +1 -1
- package/dist/executors/debug.js +8 -1
- package/dist/executors/debug.js.map +1 -1
- package/dist/executors/delegate.d.ts.map +1 -1
- package/dist/executors/delegate.js +23 -1
- package/dist/executors/delegate.js.map +1 -1
- package/dist/executors/execute-plan.d.ts.map +1 -1
- package/dist/executors/execute-plan.js +16 -2
- package/dist/executors/execute-plan.js.map +1 -1
- package/dist/executors/execution-context.d.ts.map +1 -1
- package/dist/executors/execution-context.js +4 -0
- package/dist/executors/execution-context.js.map +1 -1
- package/dist/executors/investigate.d.ts.map +1 -1
- package/dist/executors/investigate.js +24 -1
- package/dist/executors/investigate.js.map +1 -1
- package/dist/executors/retry.d.ts.map +1 -1
- package/dist/executors/retry.js +25 -2
- package/dist/executors/retry.js.map +1 -1
- package/dist/executors/review.d.ts.map +1 -1
- package/dist/executors/review.js +16 -2
- package/dist/executors/review.js.map +1 -1
- package/dist/executors/types.d.ts +35 -0
- package/dist/executors/types.d.ts.map +1 -1
- package/dist/executors/verify.d.ts.map +1 -1
- package/dist/executors/verify.js +16 -2
- package/dist/executors/verify.js.map +1 -1
- package/dist/heartbeat.d.ts +1 -1
- package/dist/heartbeat.d.ts.map +1 -1
- package/dist/heartbeat.js +10 -3
- package/dist/heartbeat.js.map +1 -1
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +2 -1
- package/dist/provider.js.map +1 -1
- package/dist/routing/model-profiles.d.ts +1 -0
- package/dist/routing/model-profiles.d.ts.map +1 -1
- package/dist/routing/model-profiles.js +3 -0
- package/dist/routing/model-profiles.js.map +1 -1
- package/dist/run-tasks/index.d.ts +17 -0
- package/dist/run-tasks/index.d.ts.map +1 -1
- package/dist/run-tasks/index.js +1 -1
- package/dist/run-tasks/index.js.map +1 -1
- package/dist/run-tasks/reviewed-lifecycle.d.ts +24 -2
- package/dist/run-tasks/reviewed-lifecycle.d.ts.map +1 -1
- package/dist/run-tasks/reviewed-lifecycle.js +191 -13
- package/dist/run-tasks/reviewed-lifecycle.js.map +1 -1
- package/dist/runners/claude-runner.d.ts.map +1 -1
- package/dist/runners/claude-runner.js +37 -5
- 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 +6 -3
- package/dist/runners/codex-runner.js.map +1 -1
- package/dist/runners/error-classification.d.ts +8 -0
- package/dist/runners/error-classification.d.ts.map +1 -1
- package/dist/runners/error-classification.js +17 -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 +29 -7
- package/dist/runners/openai-runner.js.map +1 -1
- package/dist/runners/types.d.ts +6 -1
- package/dist/runners/types.d.ts.map +1 -1
- package/dist/telemetry/bucketing.d.ts +11 -0
- package/dist/telemetry/bucketing.d.ts.map +1 -0
- package/dist/telemetry/bucketing.js +52 -0
- package/dist/telemetry/bucketing.js.map +1 -0
- package/dist/telemetry/concern-classifier.d.ts +9 -0
- package/dist/telemetry/concern-classifier.d.ts.map +1 -0
- package/dist/telemetry/concern-classifier.js +21 -0
- package/dist/telemetry/concern-classifier.js.map +1 -0
- package/dist/telemetry/consent-rules.d.ts +17 -0
- package/dist/telemetry/consent-rules.d.ts.map +1 -0
- package/dist/telemetry/consent-rules.js +32 -0
- package/dist/telemetry/consent-rules.js.map +1 -0
- package/dist/telemetry/event-builder.d.ts +23 -0
- package/dist/telemetry/event-builder.d.ts.map +1 -0
- package/dist/telemetry/event-builder.js +321 -0
- package/dist/telemetry/event-builder.js.map +1 -0
- package/dist/telemetry/types.d.ts +1870 -0
- package/dist/telemetry/types.d.ts.map +1 -0
- package/dist/telemetry/types.js +373 -0
- package/dist/telemetry/types.js.map +1 -0
- package/dist/types.d.ts +98 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +18 -2
- package/dist/types.js.map +1 -1
- 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
|
package/dist/types.d.ts.map
CHANGED
|
@@ -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
|
-
|
|
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;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|