@cat-factory/contracts 0.187.0 → 0.188.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/debug-api.d.ts +1373 -0
- package/dist/debug-api.d.ts.map +1 -0
- package/dist/debug-api.js +580 -0
- package/dist/debug-api.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/observability.d.ts +26 -0
- package/dist/observability.d.ts.map +1 -1
- package/dist/observability.js +26 -19
- package/dist/observability.js.map +1 -1
- package/dist/provisioning-logs.d.ts +0 -2
- package/dist/provisioning-logs.d.ts.map +1 -1
- package/dist/provisioning-logs.js +0 -2
- package/dist/provisioning-logs.js.map +1 -1
- package/dist/routes/debug-api.d.ts +727 -0
- package/dist/routes/debug-api.d.ts.map +1 -0
- package/dist/routes/debug-api.js +82 -0
- package/dist/routes/debug-api.js.map +1 -0
- package/dist/routes/index.d.ts +1 -0
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +1 -0
- package/dist/routes/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-api.d.ts","sourceRoot":"","sources":["../src/debug-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,580 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
import { agentFailureSchema, executionStatusSchema, runDiagnosticsSchema } from './execution.js';
|
|
3
|
+
import { agentSearchQuerySchema, llmExportInsightSchema, llmExportTotalsSchema, } from './observability.js';
|
|
4
|
+
import { provisioningLogEntrySchema } from './provisioning-logs.js';
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
// The REMOTE DEBUGGING surface (`/api/v1/debug/*`) — the telemetry + event-log reads an
|
|
7
|
+
// external operator (in practice an LLM asked to diagnose a run) needs to answer "why did
|
|
8
|
+
// this run fail / stall / cost that much", without a browser and without a database shell.
|
|
9
|
+
//
|
|
10
|
+
// Everything the SPA's observability drill-down shows already exists in the telemetry store;
|
|
11
|
+
// what was missing is a surface that can be walked by a client with a fixed context budget.
|
|
12
|
+
// That constraint — not the data model — is what shapes every schema below:
|
|
13
|
+
//
|
|
14
|
+
// 1. **A response's size is computable BEFORE the request.** Every list is keyset-paginated
|
|
15
|
+
// with a hard `limit` ceiling, and the only unbounded values (prompts, responses, injected
|
|
16
|
+
// files) are returned as {@link debugTextSchema}, whose `chars` is capped by an explicit
|
|
17
|
+
// query parameter. So a caller can bound a page at `limit × fields × bodyChars` and know
|
|
18
|
+
// it will not be handed a 40 MB run.
|
|
19
|
+
// 2. **Fan-out lists never carry bodies; bodies are always a point read.** A page of 100
|
|
20
|
+
// agent-context snapshots would be hundreds of megabytes, so the list projections carry
|
|
21
|
+
// SIZES (`*Chars`) and identity only. The caller sweeps cheaply, then zooms into the two
|
|
22
|
+
// rows that matter. The one exception is a deliberately opt-in `bodyChars` preview on the
|
|
23
|
+
// LLM-call list, because "did this call come back empty?" is a triage question that a
|
|
24
|
+
// size alone answers ambiguously (a reasoning-only turn has a large `reasoningChars`
|
|
25
|
+
// and an empty response).
|
|
26
|
+
// Finding WHICH rows matter is a server-side job too: the LLM-call list takes a
|
|
27
|
+
// `contains` search (SQL LIKE over the bodies) so locating a known marker across
|
|
28
|
+
// thousands of calls costs one request, not a paged sweep of every body through the
|
|
29
|
+
// caller's own context — which would be the multi-hundred-megabyte dump re-entering
|
|
30
|
+
// through the side door.
|
|
31
|
+
// 3. **Truncation is always REPORTED, never silent.** Every {@link debugTextSchema} states
|
|
32
|
+
// what it returned and what exists, so a model reasoning over the payload can tell "the
|
|
33
|
+
// agent said nothing" from "we only showed you the first 2 kB".
|
|
34
|
+
// 4. **The overview is a MAP, not a dump.** `GET /debug/runs/:runId` costs a handful of SQL
|
|
35
|
+
// aggregates and no body reads at all, and its `sinks` block tells the caller which of
|
|
36
|
+
// the four detail endpoints have anything in them — so the expensive reads are only ever
|
|
37
|
+
// issued for data that exists.
|
|
38
|
+
//
|
|
39
|
+
// Scope: the whole surface is `read`-scoped (see `publicApiAuth`). It is deliberately NOT
|
|
40
|
+
// `admin`-gated — `admin` on this API also merges pull requests and deletes tasks, so
|
|
41
|
+
// requiring it would mean handing a debugging agent a destructive key, which is strictly
|
|
42
|
+
// worse. Prompt/response BODIES remain governed by the capture-time switches
|
|
43
|
+
// (`LLM_RECORD_PROMPTS` + the per-workspace `storeAgentContext`): an operator who does not
|
|
44
|
+
// want model text retained turns those off and this surface has nothing to serve.
|
|
45
|
+
// ---------------------------------------------------------------------------
|
|
46
|
+
// ---- shared query primitives ---------------------------------------------
|
|
47
|
+
// Query params arrive as STRINGS, so each is digit-checked BEFORE the numeric coercion:
|
|
48
|
+
// `Number()` alone also accepts `1e9`, `0x64` and `' '`, which would read as plausible
|
|
49
|
+
// values rather than the 400 a malformed request deserves. The `maxValue` ceilings are what
|
|
50
|
+
// make the bounds real backstops rather than suggestions.
|
|
51
|
+
/** An OPAQUE keyset cursor. Callers echo it back verbatim; its encoding may change. */
|
|
52
|
+
const cursorSchema = v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(200));
|
|
53
|
+
/** Hard ceiling on rows one page may return. */
|
|
54
|
+
export const DEBUG_MAX_PAGE_LIMIT = 100;
|
|
55
|
+
/** Hard ceiling on the per-field body preview a LIST may inline. */
|
|
56
|
+
export const DEBUG_MAX_PREVIEW_CHARS = 4_000;
|
|
57
|
+
/** Hard ceiling on the per-field body a POINT READ may return. */
|
|
58
|
+
export const DEBUG_MAX_BODY_CHARS = 200_000;
|
|
59
|
+
/**
|
|
60
|
+
* Hard ceiling on a point read's slice offset — comfortably above the store's own per-body
|
|
61
|
+
* cap (512 kB), so every stored character is reachable, while still rejecting a garbage
|
|
62
|
+
* offset instead of quietly serving an empty slice for it.
|
|
63
|
+
*/
|
|
64
|
+
export const DEBUG_MAX_BODY_OFFSET = 2_000_000;
|
|
65
|
+
/** Hard ceiling on a `contains` search term's length. */
|
|
66
|
+
export const DEBUG_MAX_SEARCH_CHARS = 256;
|
|
67
|
+
const pageLimitSchema = v.pipe(v.string(), v.regex(/^\d+$/, 'Must be a whole number'), v.transform(Number), v.number(), v.integer(), v.minValue(1), v.maxValue(DEBUG_MAX_PAGE_LIMIT));
|
|
68
|
+
/**
|
|
69
|
+
* Per-field preview budget on a LIST. Defaults to 0 — a sweep costs no body bytes at all,
|
|
70
|
+
* and a caller opts into previews only once it knows which rows it cares about.
|
|
71
|
+
*/
|
|
72
|
+
const previewCharsSchema = v.pipe(v.string(), v.regex(/^\d+$/, 'Must be a whole number'), v.transform(Number), v.number(), v.integer(), v.minValue(0), v.maxValue(DEBUG_MAX_PREVIEW_CHARS));
|
|
73
|
+
/** Per-field body budget on a POINT READ. Absent ⇒ the full stored body, up to the ceiling. */
|
|
74
|
+
const bodyCharsSchema = v.pipe(v.string(), v.regex(/^\d+$/, 'Must be a whole number'), v.transform(Number), v.number(), v.integer(), v.minValue(0), v.maxValue(DEBUG_MAX_BODY_CHARS));
|
|
75
|
+
/**
|
|
76
|
+
* 0-based code-point offset a point read's slices start at. Absent ⇒ 0 (the head). This is
|
|
77
|
+
* what makes the MIDDLE and TAIL of a large body reachable: without it, a leading slice is
|
|
78
|
+
* the only window this surface can serve, and the diagnostic payload of a long delta — the
|
|
79
|
+
* last tool result the model saw, the end of a captured build log — sits at the end.
|
|
80
|
+
*/
|
|
81
|
+
const bodyOffsetSchema = v.pipe(v.string(), v.regex(/^\d+$/, 'Must be a whole number'), v.transform(Number), v.number(), v.integer(), v.minValue(0), v.maxValue(DEBUG_MAX_BODY_OFFSET));
|
|
82
|
+
/**
|
|
83
|
+
* A literal substring to search bodies for, matched case-insensitively in SQL. Deliberately
|
|
84
|
+
* NOT trimmed and NOT a pattern language: the caller is grepping for verbatim tool-error
|
|
85
|
+
* text, and a term that behaved as a wildcard on one runtime only would be a parity bug.
|
|
86
|
+
*/
|
|
87
|
+
const containsSchema = v.pipe(v.string(), v.minLength(1), v.maxLength(DEBUG_MAX_SEARCH_CHARS));
|
|
88
|
+
/** An epoch-ms query filter: digits only, for the same reason as {@link pageLimitSchema}. */
|
|
89
|
+
const epochMsQuerySchema = v.pipe(v.string(), v.regex(/^\d+$/, 'Must be a whole number of epoch milliseconds'), v.transform(Number), v.number(), v.integer(), v.minValue(0));
|
|
90
|
+
/** A non-negative integer query filter (step indexes). */
|
|
91
|
+
const nonNegativeIntQuerySchema = v.pipe(v.string(), v.regex(/^\d+$/, 'Must be a whole number'), v.transform(Number), v.number(), v.integer(), v.minValue(0));
|
|
92
|
+
/**
|
|
93
|
+
* A bounded slice of a stored text body, and enough metadata to know what was left out.
|
|
94
|
+
*
|
|
95
|
+
* This is THE reason the surface is safe to hand to a model: a bare truncated string is
|
|
96
|
+
* indistinguishable from a short one, so a reader would confidently conclude "the agent
|
|
97
|
+
* returned nothing" from a payload that merely hit its budget. `totalChars` is always the
|
|
98
|
+
* full stored length, measured in SQL, even when `text` is empty.
|
|
99
|
+
*/
|
|
100
|
+
export const debugTextSchema = v.object({
|
|
101
|
+
/** The returned slice — `chars` characters of the stored body, starting at `offset`. */
|
|
102
|
+
text: v.string(),
|
|
103
|
+
/**
|
|
104
|
+
* Characters actually returned in {@link debugTextSchema} `text`, in Unicode CODE POINTS —
|
|
105
|
+
* the unit SQL `length()`/`substr()` measure in (an emoji counts once, not twice).
|
|
106
|
+
*/
|
|
107
|
+
chars: v.number(),
|
|
108
|
+
/**
|
|
109
|
+
* 0-based code-point position `text` starts at within the stored body — 0 unless the caller
|
|
110
|
+
* asked for a later window via `?bodyOffset=`. Clamped to `totalChars`, so
|
|
111
|
+
* `offset + chars <= totalChars` always holds.
|
|
112
|
+
*/
|
|
113
|
+
offset: v.number(),
|
|
114
|
+
/** Characters stored for this field (the full code-point length, regardless of what was returned). */
|
|
115
|
+
totalChars: v.number(),
|
|
116
|
+
/** True when `chars < totalChars`, i.e. `text` is not the entire stored body. */
|
|
117
|
+
truncated: v.boolean(),
|
|
118
|
+
/**
|
|
119
|
+
* 0-based code-point offset of the first case-insensitive occurrence of the request's
|
|
120
|
+
* `?contains=` term in this body, or null when the term occurs only in a sibling body.
|
|
121
|
+
* Present ONLY on rows of a searched list — pair it with the point read's `?bodyOffset=`
|
|
122
|
+
* to jump straight to the match without transferring the bytes before it.
|
|
123
|
+
*/
|
|
124
|
+
matchOffset: v.optional(v.nullable(v.number())),
|
|
125
|
+
});
|
|
126
|
+
// ---------------------------------------------------------------------------
|
|
127
|
+
// 1. Run index — `GET /api/v1/debug/runs`
|
|
128
|
+
// ---------------------------------------------------------------------------
|
|
129
|
+
/**
|
|
130
|
+
* The lean run projection every debug list/overview leads with. Deliberately a SUMMARY, not
|
|
131
|
+
* the internal `ExecutionInstance`: a run's persisted `detail` blob carries per-step gate,
|
|
132
|
+
* judge, follow-up, container and validation state that is megabytes on a long run and means
|
|
133
|
+
* nothing to an external caller. What survives is what identifies a run and says whether it
|
|
134
|
+
* is worth opening.
|
|
135
|
+
*/
|
|
136
|
+
export const debugRunSummarySchema = v.object({
|
|
137
|
+
runId: v.string(),
|
|
138
|
+
/** The board block the run is anchored on (a task, a service frame, or a headless anchor). */
|
|
139
|
+
blockId: v.string(),
|
|
140
|
+
pipelineId: v.string(),
|
|
141
|
+
pipelineName: v.string(),
|
|
142
|
+
status: executionStatusSchema,
|
|
143
|
+
/** Epoch-ms creation stamp — also the value the keyset cursor is minted from. */
|
|
144
|
+
createdAt: v.number(),
|
|
145
|
+
/** Index of the step the run is currently on. */
|
|
146
|
+
currentStep: v.number(),
|
|
147
|
+
/** How many steps the run's pipeline has. */
|
|
148
|
+
stepCount: v.number(),
|
|
149
|
+
/** Structured failure diagnostics when the run failed; null otherwise. */
|
|
150
|
+
failure: v.nullable(agentFailureSchema),
|
|
151
|
+
});
|
|
152
|
+
/** Query params for `GET /api/v1/debug/runs`. */
|
|
153
|
+
export const listDebugRunsQuerySchema = v.object({
|
|
154
|
+
/** Filter to one internal execution status (`running`/`blocked`/`paused`/`done`/`failed`/…). */
|
|
155
|
+
status: v.optional(executionStatusSchema),
|
|
156
|
+
/** Inclusive lower bound on the run's `createdAt`. */
|
|
157
|
+
since: v.optional(epochMsQuerySchema),
|
|
158
|
+
/** Cap on rows returned (default 25, hard max {@link DEBUG_MAX_PAGE_LIMIT}). */
|
|
159
|
+
limit: v.optional(pageLimitSchema),
|
|
160
|
+
/** Opaque keyset cursor from a previous page's `nextCursor`. */
|
|
161
|
+
cursor: v.optional(cursorSchema),
|
|
162
|
+
});
|
|
163
|
+
export const debugRunListSchema = v.object({
|
|
164
|
+
runs: v.array(debugRunSummarySchema),
|
|
165
|
+
/** Cursor for the next page, or null when this was the last page. */
|
|
166
|
+
nextCursor: v.nullable(v.string()),
|
|
167
|
+
});
|
|
168
|
+
// ---------------------------------------------------------------------------
|
|
169
|
+
// 2. Run overview — `GET /api/v1/debug/runs/:runId`
|
|
170
|
+
// ---------------------------------------------------------------------------
|
|
171
|
+
/**
|
|
172
|
+
* One step of the run, projected to what a diagnosis actually reads. The internal
|
|
173
|
+
* `PipelineStep` carries two dozen per-kind state blobs (gate, judge, follow-ups, container,
|
|
174
|
+
* validation, reproduction, …) that are megabytes on a long run and meaningless without the
|
|
175
|
+
* engine's vocabulary; what survives here is the step's identity, its clocks, and the two
|
|
176
|
+
* things that explain a stuck step — whether its container kept dying, and what killed it.
|
|
177
|
+
*/
|
|
178
|
+
export const debugRunStepSchema = v.object({
|
|
179
|
+
index: v.number(),
|
|
180
|
+
agentKind: v.string(),
|
|
181
|
+
/** Lifecycle state (`pending` / `working` / `waiting_decision` / `done` / …). */
|
|
182
|
+
state: v.string(),
|
|
183
|
+
progress: v.number(),
|
|
184
|
+
/** The resolved model this step dispatched on, when the engine recorded one. */
|
|
185
|
+
model: v.nullable(v.string()),
|
|
186
|
+
/** Whether the pipeline skipped this step. */
|
|
187
|
+
skipped: v.boolean(),
|
|
188
|
+
/** Epoch ms the step first began executing; null until it starts. */
|
|
189
|
+
startedAt: v.nullable(v.number()),
|
|
190
|
+
/** Epoch ms the step finished; null until it completes. */
|
|
191
|
+
finishedAt: v.nullable(v.number()),
|
|
192
|
+
/**
|
|
193
|
+
* Epoch ms of the container agent's last observed sign of life. The field that separates a
|
|
194
|
+
* genuinely-active-but-quiet step (a reviewer reading hundreds of files) from a wedged one,
|
|
195
|
+
* which no other clock here can distinguish. Null on non-container steps.
|
|
196
|
+
*/
|
|
197
|
+
lastActivityAt: v.nullable(v.number()),
|
|
198
|
+
/** Live/last subtask counts for an async container step; null when none were reported. */
|
|
199
|
+
subtasks: v.nullable(v.object({ completed: v.number(), inProgress: v.number(), total: v.number() })),
|
|
200
|
+
/** Characters of prose output the step produced (0 ⇒ it produced none). */
|
|
201
|
+
outputChars: v.number(),
|
|
202
|
+
/** Whether the step produced a structured result (`step.custom`). */
|
|
203
|
+
hasStructuredResult: v.boolean(),
|
|
204
|
+
/** How many times this step's container was evicted/crashed and automatically re-dispatched. */
|
|
205
|
+
evictionRecoveries: v.number(),
|
|
206
|
+
/**
|
|
207
|
+
* The post-mortem retained from the FIRST container death on this step (exit state plus a
|
|
208
|
+
* scrubbed log tail). Null when the step's containers never died. Bounded like every other
|
|
209
|
+
* body on this surface.
|
|
210
|
+
*/
|
|
211
|
+
firstEvictionDetail: v.nullable(debugTextSchema),
|
|
212
|
+
});
|
|
213
|
+
/**
|
|
214
|
+
* Whether one telemetry sink has anything for this run, and how much. The point of the block
|
|
215
|
+
* is to stop a caller issuing four detail requests to discover three of them are empty —
|
|
216
|
+
* `available: false` means the sink's repository is not wired on this deployment, so a zero
|
|
217
|
+
* count there is "we never recorded this", not "nothing happened".
|
|
218
|
+
*
|
|
219
|
+
* Availability is REPOSITORY presence only. The capture-time gates (`LLM_RECORD_PROMPTS`, the
|
|
220
|
+
* per-workspace `storeAgentContext`) act at record time and are invisible here: a workspace
|
|
221
|
+
* that opted out of capture reads `available: true, count: 0`.
|
|
222
|
+
*/
|
|
223
|
+
export const debugSinkStatusSchema = v.object({
|
|
224
|
+
available: v.boolean(),
|
|
225
|
+
count: v.number(),
|
|
226
|
+
});
|
|
227
|
+
/** Severity of a derived diagnostic signal. */
|
|
228
|
+
export const debugSignalSeveritySchema = v.picklist(['info', 'warning', 'error']);
|
|
229
|
+
/**
|
|
230
|
+
* A precomputed diagnostic hint. These are derivations the caller could make itself from the
|
|
231
|
+
* rollups — which is exactly why they are here: a model that has to rediscover "13 of 40 calls
|
|
232
|
+
* were truncated" by arithmetic over a payload will sometimes get it wrong, and will always
|
|
233
|
+
* spend context doing it. `code` is machine-readable and stable; `message` restates it in
|
|
234
|
+
* prose so the payload is useful with no external key.
|
|
235
|
+
*/
|
|
236
|
+
export const debugSignalSchema = v.object({
|
|
237
|
+
code: v.string(),
|
|
238
|
+
severity: debugSignalSeveritySchema,
|
|
239
|
+
message: v.string(),
|
|
240
|
+
/** How many occurrences the signal counts (truncated calls, failed provisions, …); null when it counts nothing. */
|
|
241
|
+
count: v.nullable(v.number()),
|
|
242
|
+
/** The agent kind the signal is about, when it is scoped to one. */
|
|
243
|
+
agentKind: v.nullable(v.string()),
|
|
244
|
+
/** The step index the signal is about, when it is scoped to one. */
|
|
245
|
+
stepIndex: v.nullable(v.number()),
|
|
246
|
+
});
|
|
247
|
+
/**
|
|
248
|
+
* The run's diagnostic map: identity, per-step state, what each telemetry sink holds, the
|
|
249
|
+
* SQL-aggregated LLM rollups, and the derived signals. Composed from aggregates only — it
|
|
250
|
+
* reads no prompt, response or context body, so it stays cheap enough to be the first call a
|
|
251
|
+
* debugging client always makes.
|
|
252
|
+
*/
|
|
253
|
+
export const debugRunOverviewSchema = v.object({
|
|
254
|
+
/** Schema marker so a consuming model knows the shape without external docs. */
|
|
255
|
+
kind: v.literal('cat-factory.run-debug-overview'),
|
|
256
|
+
version: v.literal(1),
|
|
257
|
+
/** When this projection was computed (epoch ms). */
|
|
258
|
+
generatedAt: v.number(),
|
|
259
|
+
run: debugRunSummarySchema,
|
|
260
|
+
steps: v.array(debugRunStepSchema),
|
|
261
|
+
/**
|
|
262
|
+
* Where and on what the run's most recent container step executed (backend, model, repo,
|
|
263
|
+
* control-plane host), when the engine recorded it. Null for a pure-inline run.
|
|
264
|
+
*/
|
|
265
|
+
diagnostics: v.nullable(runDiagnosticsSchema),
|
|
266
|
+
sinks: v.object({
|
|
267
|
+
llmCalls: debugSinkStatusSchema,
|
|
268
|
+
agentContext: debugSinkStatusSchema,
|
|
269
|
+
searchQueries: debugSinkStatusSchema,
|
|
270
|
+
provisioningLog: debugSinkStatusSchema,
|
|
271
|
+
}),
|
|
272
|
+
/**
|
|
273
|
+
* The run's model activity, aggregated in SQL. `byAgentKind` reuses the same insight shape
|
|
274
|
+
* the LLM-metrics export publishes, derived ratios included, so the two never disagree.
|
|
275
|
+
*/
|
|
276
|
+
llm: v.object({
|
|
277
|
+
totals: llmExportTotalsSchema,
|
|
278
|
+
byAgentKind: v.array(llmExportInsightSchema),
|
|
279
|
+
}),
|
|
280
|
+
signals: v.array(debugSignalSchema),
|
|
281
|
+
});
|
|
282
|
+
// ---------------------------------------------------------------------------
|
|
283
|
+
// 3./4. LLM calls — `GET /api/v1/debug/runs/:runId/llm-calls`, `GET /api/v1/debug/llm-calls/:callId`
|
|
284
|
+
// ---------------------------------------------------------------------------
|
|
285
|
+
/** Classification of a recorded call, precomputed so a caller need not re-derive it. */
|
|
286
|
+
export const debugCallOutcomeSchema = v.picklist(['ok', 'warning', 'error']);
|
|
287
|
+
/** Chronological direction a call page walks in. */
|
|
288
|
+
export const debugCallOrderSchema = v.picklist(['newest', 'oldest']);
|
|
289
|
+
/** How the single-call point read presents the prompt delta. */
|
|
290
|
+
export const debugCallViewSchema = v.picklist(['raw', 'messages']);
|
|
291
|
+
/**
|
|
292
|
+
* One message of a parsed prompt delta (`?view=messages` on the point read). The parse is
|
|
293
|
+
* LENIENT — both telemetry producers store `JSON.stringify` of a `{ role, content }` array,
|
|
294
|
+
* but the content shapes differ (OpenAI-style strings/parts/`tool_calls` from the proxy,
|
|
295
|
+
* vendor content blocks from the harness transcript), so unrecognised parts degrade to a
|
|
296
|
+
* `[type]` placeholder rather than failing the message.
|
|
297
|
+
*/
|
|
298
|
+
export const debugPromptMessageSchema = v.object({
|
|
299
|
+
/**
|
|
300
|
+
* The message's absolute position in the FULL conversation (`elidedLeadingMessages` +
|
|
301
|
+
* its position in the delta), so two calls' parsed views line up without arithmetic.
|
|
302
|
+
*/
|
|
303
|
+
index: v.number(),
|
|
304
|
+
/** The message's role verbatim (`system` / `user` / `assistant` / `tool` / …), `unknown` when absent. */
|
|
305
|
+
role: v.string(),
|
|
306
|
+
/** The message's `name` field (a named tool/function turn), when the producer recorded one. */
|
|
307
|
+
name: v.nullable(v.string()),
|
|
308
|
+
/** The tool invocation a tool-result turn answers, when the producer recorded the id. */
|
|
309
|
+
toolCallId: v.nullable(v.string()),
|
|
310
|
+
/** Tool invocations an assistant turn requested: the tool's name plus its budgeted serialized arguments. */
|
|
311
|
+
toolCalls: v.array(v.object({ name: v.string(), args: debugTextSchema })),
|
|
312
|
+
/** The message's textual content, budgeted INDEPENDENTLY of every other message's. */
|
|
313
|
+
content: debugTextSchema,
|
|
314
|
+
});
|
|
315
|
+
/**
|
|
316
|
+
* One recorded model call. The three body fields are always PRESENT but empty unless the
|
|
317
|
+
* caller asked for a preview — their `totalChars` is measured in SQL either way, so a
|
|
318
|
+
* zero-cost sweep still shows exactly how much text each call holds.
|
|
319
|
+
*
|
|
320
|
+
* `prompt` is the call's DELTA — only the messages this call appended to its conversation.
|
|
321
|
+
* That is how the store keeps prompts (a container agent re-sends its whole growing history
|
|
322
|
+
* every turn, so storing the full array per call is ~21x redundant), and it is also the right
|
|
323
|
+
* shape for reading: walk one agent kind's calls with `order=oldest` and the concatenated
|
|
324
|
+
* deltas ARE the conversation, with no prefix re-sent to the caller either.
|
|
325
|
+
*/
|
|
326
|
+
export const debugLlmCallSchema = v.object({
|
|
327
|
+
callId: v.string(),
|
|
328
|
+
runId: v.nullable(v.string()),
|
|
329
|
+
agentKind: v.string(),
|
|
330
|
+
provider: v.string(),
|
|
331
|
+
model: v.string(),
|
|
332
|
+
createdAt: v.number(),
|
|
333
|
+
outcome: debugCallOutcomeSchema,
|
|
334
|
+
ok: v.boolean(),
|
|
335
|
+
httpStatus: v.nullable(v.number()),
|
|
336
|
+
errorMessage: v.nullable(v.string()),
|
|
337
|
+
finishReason: v.nullable(v.string()),
|
|
338
|
+
streaming: v.boolean(),
|
|
339
|
+
/**
|
|
340
|
+
* WHICH slice of the run spent this call: the agent's own edit loop (`agent`), a pre-PR
|
|
341
|
+
* validation repair round (`validation-repair`), a reproduction-proof repair round
|
|
342
|
+
* (`reproduction-repair`), … Stamped by whoever owns the loop boundary, never reconstructed
|
|
343
|
+
* from timestamps, which is why it is worth reading rather than inferring.
|
|
344
|
+
*
|
|
345
|
+
* `''` means the call could not be attributed — an older harness image, an inline call, or the
|
|
346
|
+
* un-phased proxy path. That is a REAL slice, not a gap: a run whose calls are all `''` was
|
|
347
|
+
* metered by something that has no phase concept, NOT one that spent nothing outside the agent.
|
|
348
|
+
*/
|
|
349
|
+
phase: v.string(),
|
|
350
|
+
/**
|
|
351
|
+
* The call's ordinal within its job's telemetry sequence (0-based), so a phase's calls can be
|
|
352
|
+
* ordered by TURN rather than by wall clock.
|
|
353
|
+
*
|
|
354
|
+
* `null` where the producing channel has no turn concept — the LLM proxy sees one HTTP request
|
|
355
|
+
* at a time with no job-scoped counter. Deliberately not faked to 0, which would read as "the
|
|
356
|
+
* first turn" and sort every proxied call to the front of its phase.
|
|
357
|
+
*/
|
|
358
|
+
turnIndex: v.nullable(v.number()),
|
|
359
|
+
/** Messages in the FULL request (not just the delta below). */
|
|
360
|
+
messageCount: v.number(),
|
|
361
|
+
/** Tools offered to the model (0 ⇒ the agent could not edit anything). */
|
|
362
|
+
toolCount: v.number(),
|
|
363
|
+
requestMaxTokens: v.nullable(v.number()),
|
|
364
|
+
/** FRESH (uncached) input tokens — exclusive of both cache classes below. */
|
|
365
|
+
promptTokens: v.number(),
|
|
366
|
+
/** Input tokens served from the provider's prefix cache (priced around 0.1x fresh). */
|
|
367
|
+
cacheReadTokens: v.number(),
|
|
368
|
+
/**
|
|
369
|
+
* Input tokens WRITTEN into the provider's cache (priced 1.25-2x fresh). Kept apart from
|
|
370
|
+
* the reads because summed together, a loop that keeps invalidating and re-writing its
|
|
371
|
+
* prefix is indistinguishable from one riding a warm cache — and telling those apart is
|
|
372
|
+
* often the whole question when a run costs more than it should.
|
|
373
|
+
*/
|
|
374
|
+
cacheWriteTokens: v.number(),
|
|
375
|
+
completionTokens: v.number(),
|
|
376
|
+
totalTokens: v.number(),
|
|
377
|
+
upstreamMs: v.number(),
|
|
378
|
+
overheadMs: v.number(),
|
|
379
|
+
totalMs: v.number(),
|
|
380
|
+
/** Leading messages elided from `prompt` because an earlier call in the chain stored them. */
|
|
381
|
+
elidedLeadingMessages: v.number(),
|
|
382
|
+
/** The messages this call APPENDED, as JSON (see the note above). */
|
|
383
|
+
prompt: debugTextSchema,
|
|
384
|
+
/** The assistant's visible reply. */
|
|
385
|
+
response: debugTextSchema,
|
|
386
|
+
/** The model's separate reasoning channel, when it emits one. */
|
|
387
|
+
reasoning: debugTextSchema,
|
|
388
|
+
/**
|
|
389
|
+
* The prompt delta parsed into per-message rows, each budgeted independently — present only
|
|
390
|
+
* on a `?view=messages` point read. `null` there means the stored delta did not parse as a
|
|
391
|
+
* message array (the raw `prompt` is served instead, so the view degrades rather than
|
|
392
|
+
* returning nothing); absent means the caller did not ask for the view. Independent budgets
|
|
393
|
+
* are the point: in the raw view one enormous leading tool result must be paid for before
|
|
394
|
+
* anything after it is visible, while here every message shows its head. The response's
|
|
395
|
+
* worst case stays computable — `(messageCount − elidedLeadingMessages) × bodyChars`, both
|
|
396
|
+
* factors already on the list row.
|
|
397
|
+
*/
|
|
398
|
+
promptMessages: v.optional(v.nullable(v.array(debugPromptMessageSchema))),
|
|
399
|
+
});
|
|
400
|
+
/** Query params for `GET /api/v1/debug/runs/:runId/llm-calls`. */
|
|
401
|
+
export const listDebugLlmCallsQuerySchema = v.object({
|
|
402
|
+
/** Narrow to one step kind's conversation (`coder`, `ci-fixer`, …), applied in SQL. */
|
|
403
|
+
agentKind: v.optional(v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(120))),
|
|
404
|
+
/**
|
|
405
|
+
* Narrow to one PHASE's calls (`agent`, `validation-repair`, `reproduction-repair`, …), an
|
|
406
|
+
* exact match applied in SQL. This is how "what did the repair rounds cost" is answered in one
|
|
407
|
+
* request rather than by paging the run and grouping client-side.
|
|
408
|
+
*
|
|
409
|
+
* Unlike `agentKind` the EMPTY string is accepted and meaningful: it selects the unattributed
|
|
410
|
+
* slice (an older harness image, an inline call, the un-phased proxy path), which is otherwise
|
|
411
|
+
* unreachable as a query.
|
|
412
|
+
*/
|
|
413
|
+
phase: v.optional(v.pipe(v.string(), v.trim(), v.maxLength(120))),
|
|
414
|
+
/** Narrow to failing or warning (truncated / filtered) calls only. */
|
|
415
|
+
outcome: v.optional(debugCallOutcomeSchema),
|
|
416
|
+
/**
|
|
417
|
+
* Narrow to calls whose prompt delta, response or reasoning CONTAINS this literal substring,
|
|
418
|
+
* matched case-insensitively in SQL. This is the surface's grep — the way a caller finds a
|
|
419
|
+
* tool-validation error, a repeated apology, or any known marker across thousands of calls
|
|
420
|
+
* in ONE request instead of paging every body through its own context. Matched rows report
|
|
421
|
+
* a per-body `matchOffset`; wildcards (`%`/`_`) match literally.
|
|
422
|
+
*/
|
|
423
|
+
contains: v.optional(containsSchema),
|
|
424
|
+
/** `newest` (default) for triage; `oldest` to read a conversation forwards. */
|
|
425
|
+
order: v.optional(debugCallOrderSchema),
|
|
426
|
+
/** Cap on rows returned (default 25, hard max {@link DEBUG_MAX_PAGE_LIMIT}). */
|
|
427
|
+
limit: v.optional(pageLimitSchema),
|
|
428
|
+
cursor: v.optional(cursorSchema),
|
|
429
|
+
/**
|
|
430
|
+
* Per-field body preview budget, 0..{@link DEBUG_MAX_PREVIEW_CHARS}. Default 0: the sweep
|
|
431
|
+
* returns sizes only. Bodies are sliced IN SQL, so an un-previewed page never reads the
|
|
432
|
+
* text columns out of the store at all.
|
|
433
|
+
*/
|
|
434
|
+
bodyChars: v.optional(previewCharsSchema),
|
|
435
|
+
});
|
|
436
|
+
export const debugLlmCallListSchema = v.object({
|
|
437
|
+
calls: v.array(debugLlmCallSchema),
|
|
438
|
+
nextCursor: v.nullable(v.string()),
|
|
439
|
+
});
|
|
440
|
+
/** Query params for the single-call point read. */
|
|
441
|
+
export const getDebugLlmCallQuerySchema = v.object({
|
|
442
|
+
/**
|
|
443
|
+
* Per-field budget, 0..{@link DEBUG_MAX_BODY_CHARS}. Absent ⇒ the ceiling itself: a body
|
|
444
|
+
* longer than {@link DEBUG_MAX_BODY_CHARS} is still cut (and says so via `truncated`).
|
|
445
|
+
* Under `view=messages` this is the PER-MESSAGE content budget.
|
|
446
|
+
*/
|
|
447
|
+
bodyChars: v.optional(bodyCharsSchema),
|
|
448
|
+
/**
|
|
449
|
+
* 0-based code-point offset the body slices start at (raw view only; a parsed message view
|
|
450
|
+
* always reads each message whole and budgets its head). Pair with a searched list row's
|
|
451
|
+
* `matchOffset` to read the text AROUND a match — the `grep -C` of this surface.
|
|
452
|
+
*/
|
|
453
|
+
bodyOffset: v.optional(bodyOffsetSchema),
|
|
454
|
+
/**
|
|
455
|
+
* `raw` (default) returns the delta as stored JSON; `messages` parses it into per-message
|
|
456
|
+
* rows with independent budgets (see `promptMessages`). Falls back to `raw` semantics when
|
|
457
|
+
* the stored delta does not parse.
|
|
458
|
+
*/
|
|
459
|
+
view: v.optional(debugCallViewSchema),
|
|
460
|
+
});
|
|
461
|
+
// ---------------------------------------------------------------------------
|
|
462
|
+
// 5./6. Agent context — `GET /api/v1/debug/runs/:runId/agent-context`,
|
|
463
|
+
// `GET /api/v1/debug/agent-context/:snapshotId`
|
|
464
|
+
// ---------------------------------------------------------------------------
|
|
465
|
+
/**
|
|
466
|
+
* One captured dispatch, SIZES ONLY. A snapshot carries the whole composed system prompt, the
|
|
467
|
+
* whole user prompt, every folded fragment body and the full content of every injected
|
|
468
|
+
* context file — a single row can be megabytes, so the list never inlines any of it (there is
|
|
469
|
+
* no `bodyChars` here on purpose: a truncated prefix of a fragment ARRAY answers no question a
|
|
470
|
+
* size does not, and the point read is one hop away).
|
|
471
|
+
*/
|
|
472
|
+
export const debugAgentContextEntrySchema = v.object({
|
|
473
|
+
snapshotId: v.string(),
|
|
474
|
+
agentKind: v.string(),
|
|
475
|
+
/** The step index within the run's pipeline this dispatch belongs to. */
|
|
476
|
+
stepIndex: v.number(),
|
|
477
|
+
createdAt: v.number(),
|
|
478
|
+
model: v.nullable(v.string()),
|
|
479
|
+
harness: v.nullable(v.string()),
|
|
480
|
+
systemPromptChars: v.number(),
|
|
481
|
+
userPromptChars: v.number(),
|
|
482
|
+
/**
|
|
483
|
+
* Serialized size of the best-practice fragments folded into the system prompt, and of the
|
|
484
|
+
* files injected into the container as `.cat-context/*` (their bodies included).
|
|
485
|
+
*
|
|
486
|
+
* Sizes rather than element counts on purpose: counting the entries of those two JSON
|
|
487
|
+
* columns means either parsing them — which reads the very bodies this projection exists to
|
|
488
|
+
* avoid — or calling `json_array_length` on a column where one malformed row would fail the
|
|
489
|
+
* whole page. For "is there a lot in here, and did it change between attempts", a length
|
|
490
|
+
* answers just as well; the point read gives the actual arrays.
|
|
491
|
+
*/
|
|
492
|
+
fragmentsChars: v.number(),
|
|
493
|
+
contextFilesChars: v.number(),
|
|
494
|
+
});
|
|
495
|
+
/** Query params for `GET /api/v1/debug/runs/:runId/agent-context`. */
|
|
496
|
+
export const listDebugAgentContextQuerySchema = v.object({
|
|
497
|
+
/** Narrow to one step's dispatches (a step re-dispatched on retry records one snapshot each). */
|
|
498
|
+
stepIndex: v.optional(nonNegativeIntQuerySchema),
|
|
499
|
+
limit: v.optional(pageLimitSchema),
|
|
500
|
+
cursor: v.optional(cursorSchema),
|
|
501
|
+
});
|
|
502
|
+
export const debugAgentContextListSchema = v.object({
|
|
503
|
+
snapshots: v.array(debugAgentContextEntrySchema),
|
|
504
|
+
nextCursor: v.nullable(v.string()),
|
|
505
|
+
});
|
|
506
|
+
/** One folded best-practice fragment, with its body bounded. */
|
|
507
|
+
export const debugAgentContextFragmentSchema = v.object({
|
|
508
|
+
id: v.string(),
|
|
509
|
+
body: debugTextSchema,
|
|
510
|
+
});
|
|
511
|
+
/** One injected context file, with its (already secret-scrubbed) body bounded. */
|
|
512
|
+
export const debugAgentContextFileSchema = v.object({
|
|
513
|
+
path: v.string(),
|
|
514
|
+
title: v.string(),
|
|
515
|
+
url: v.string(),
|
|
516
|
+
content: debugTextSchema,
|
|
517
|
+
});
|
|
518
|
+
/**
|
|
519
|
+
* The full context one dispatch was provided. Every body is budgeted independently so one
|
|
520
|
+
* enormous injected file cannot crowd out the prompts a reader actually came for.
|
|
521
|
+
*/
|
|
522
|
+
export const debugAgentContextDetailSchema = v.object({
|
|
523
|
+
snapshotId: v.string(),
|
|
524
|
+
runId: v.string(),
|
|
525
|
+
agentKind: v.string(),
|
|
526
|
+
stepIndex: v.number(),
|
|
527
|
+
createdAt: v.number(),
|
|
528
|
+
model: v.nullable(v.string()),
|
|
529
|
+
harness: v.nullable(v.string()),
|
|
530
|
+
systemPrompt: debugTextSchema,
|
|
531
|
+
userPrompt: debugTextSchema,
|
|
532
|
+
fragments: v.array(debugAgentContextFragmentSchema),
|
|
533
|
+
contextFiles: v.array(debugAgentContextFileSchema),
|
|
534
|
+
/**
|
|
535
|
+
* Redacted structural context (repo, branches, infra spec, the run's decisions and revision
|
|
536
|
+
* feedback). Small and already deep-scrubbed at capture time, so it is returned whole.
|
|
537
|
+
*/
|
|
538
|
+
extras: v.record(v.string(), v.unknown()),
|
|
539
|
+
});
|
|
540
|
+
/** Query params for the single-snapshot point read. */
|
|
541
|
+
export const getDebugAgentContextQuerySchema = v.object({
|
|
542
|
+
/**
|
|
543
|
+
* Per-body budget, 0..{@link DEBUG_MAX_BODY_CHARS}. Absent ⇒ the ceiling itself: a body
|
|
544
|
+
* longer than {@link DEBUG_MAX_BODY_CHARS} is still cut (and says so via `truncated`).
|
|
545
|
+
*/
|
|
546
|
+
bodyChars: v.optional(bodyCharsSchema),
|
|
547
|
+
/**
|
|
548
|
+
* 0-based code-point offset every body slice starts at. Applied to ALL of the snapshot's
|
|
549
|
+
* bodies uniformly (it exists to reach the tail of ONE large body the index sized; the
|
|
550
|
+
* others simply run out and return empty slices past their end).
|
|
551
|
+
*/
|
|
552
|
+
bodyOffset: v.optional(bodyOffsetSchema),
|
|
553
|
+
});
|
|
554
|
+
// ---------------------------------------------------------------------------
|
|
555
|
+
// 7./8. Searches + the provisioning event log
|
|
556
|
+
// ---------------------------------------------------------------------------
|
|
557
|
+
/** Query params for the two small-row lists (`search-queries`, `logs`). */
|
|
558
|
+
export const listDebugPageQuerySchema = v.object({
|
|
559
|
+
limit: v.optional(pageLimitSchema),
|
|
560
|
+
cursor: v.optional(cursorSchema),
|
|
561
|
+
});
|
|
562
|
+
/**
|
|
563
|
+
* The web searches the run's agents performed. Rows are small (the query text is capped at
|
|
564
|
+
* 8 kB at capture time), so they are returned whole rather than as {@link debugTextSchema}.
|
|
565
|
+
*/
|
|
566
|
+
export const debugSearchQueryListSchema = v.object({
|
|
567
|
+
queries: v.array(agentSearchQuerySchema),
|
|
568
|
+
nextCursor: v.nullable(v.string()),
|
|
569
|
+
});
|
|
570
|
+
/**
|
|
571
|
+
* The run's slice of the provisioning event log — every attempt to spin up or tear down the
|
|
572
|
+
* throwaway infrastructure it ran on, with the verbatim (secret-scrubbed) provider error. This
|
|
573
|
+
* is the half of "why did it fail" that no model call can answer: a run whose container never
|
|
574
|
+
* came up has no LLM telemetry at all, and this is where its cause of death is written.
|
|
575
|
+
*/
|
|
576
|
+
export const debugLogListSchema = v.object({
|
|
577
|
+
entries: v.array(provisioningLogEntrySchema),
|
|
578
|
+
nextCursor: v.nullable(v.string()),
|
|
579
|
+
});
|
|
580
|
+
//# sourceMappingURL=debug-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-api.js","sourceRoot":"","sources":["../src/debug-api.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -87,6 +87,7 @@ export * from './vendor-credentials.js';
|
|
|
87
87
|
export * from './api-keys.js';
|
|
88
88
|
export * from './public-api-keys.js';
|
|
89
89
|
export * from './public-api.js';
|
|
90
|
+
export * from './debug-api.js';
|
|
90
91
|
export * from './public-decisions.js';
|
|
91
92
|
export * from './notification-webhooks.js';
|
|
92
93
|
export * from './personal-subscriptions.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|