@cat-factory/contracts 0.245.0 → 0.247.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/audit.d.ts +100 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +156 -0
- package/dist/audit.js.map +1 -0
- package/dist/auth.d.ts +1 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/debug-api.d.ts +154 -6
- package/dist/debug-api.d.ts.map +1 -1
- package/dist/debug-api.js +71 -6
- package/dist/debug-api.js.map +1 -1
- package/dist/execution.d.ts +8 -0
- package/dist/execution.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/judge.d.ts +31 -0
- package/dist/judge.d.ts.map +1 -1
- package/dist/judge.js +25 -0
- package/dist/judge.js.map +1 -1
- package/dist/pr-report.d.ts +27 -0
- package/dist/pr-report.d.ts.map +1 -1
- package/dist/pr-report.js +7 -1
- package/dist/pr-report.js.map +1 -1
- package/dist/reserved-env-keys.d.ts.map +1 -1
- package/dist/reserved-env-keys.js +5 -0
- package/dist/reserved-env-keys.js.map +1 -1
- package/dist/routes/agent-runs.d.ts +8 -0
- package/dist/routes/agent-runs.d.ts.map +1 -1
- package/dist/routes/auth.d.ts +72 -0
- package/dist/routes/auth.d.ts.map +1 -1
- package/dist/routes/auth.js +28 -0
- package/dist/routes/auth.js.map +1 -1
- package/dist/routes/bug-hunt.d.ts +8 -0
- package/dist/routes/bug-hunt.d.ts.map +1 -1
- package/dist/routes/debug-api.d.ts +20 -0
- package/dist/routes/debug-api.d.ts.map +1 -1
- package/dist/routes/execution.d.ts +32 -0
- package/dist/routes/execution.d.ts.map +1 -1
- package/dist/routes/human-review.d.ts +4 -0
- package/dist/routes/human-review.d.ts.map +1 -1
- package/dist/routes/human-test.d.ts +20 -0
- package/dist/routes/human-test.d.ts.map +1 -1
- package/dist/routes/judge.d.ts +8 -0
- package/dist/routes/judge.d.ts.map +1 -1
- package/dist/routes/public-evidence.d.ts +4 -0
- package/dist/routes/public-evidence.d.ts.map +1 -1
- package/dist/routes/tool-servers.d.ts +128 -1
- package/dist/routes/tool-servers.d.ts.map +1 -1
- package/dist/routes/tool-servers.js +48 -1
- package/dist/routes/tool-servers.js.map +1 -1
- package/dist/routes/visual-confirm.d.ts +12 -0
- package/dist/routes/visual-confirm.d.ts.map +1 -1
- package/dist/routes/workspaces.d.ts +8 -0
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/snapshot.d.ts +4 -0
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/sso.d.ts +70 -0
- package/dist/sso.d.ts.map +1 -0
- package/dist/sso.js +95 -0
- package/dist/sso.js.map +1 -0
- package/dist/tool-servers.d.ts +183 -2
- package/dist/tool-servers.d.ts.map +1 -1
- package/dist/tool-servers.js +104 -0
- package/dist/tool-servers.js.map +1 -1
- package/package.json +1 -1
package/dist/audit.d.ts
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
/**
|
|
3
|
+
* The privileged actions an account audit event can describe.
|
|
4
|
+
*
|
|
5
|
+
* Naming is `<subject>.<verb>`, past tense, subject first, so an alphabetical list groups by
|
|
6
|
+
* subject and a filter on a prefix is a filter on a subject. Members are added as the paths
|
|
7
|
+
* that produce them get instrumented, never speculatively: an action in the union that nothing
|
|
8
|
+
* writes reads to an operator as a category their deployment never exercises, which is
|
|
9
|
+
* indistinguishable from a category that is silently broken.
|
|
10
|
+
*
|
|
11
|
+
* What is deliberately NOT here yet, because nothing writes it until the run-lifecycle slice:
|
|
12
|
+
* run start/stop/retry, the notification `act` (which performs a real merge), and API-key
|
|
13
|
+
* mint/revoke.
|
|
14
|
+
*/
|
|
15
|
+
export declare const auditActionSchema: v.PicklistSchema<["account.member_added", "account.member_roles_changed", "account.budget_changed", "account.settings_changed", "account.invitation_created", "account.invitation_revoked", "account.invitation_accepted", "workspace.member_added", "workspace.member_role_changed", "workspace.member_removed", "workspace.access_mode_changed"], undefined>;
|
|
16
|
+
export type AuditAction = v.InferOutput<typeof auditActionSchema>;
|
|
17
|
+
/**
|
|
18
|
+
* WHAT KIND of thing an audited action acted on: the type `targetId` is an id WITHIN.
|
|
19
|
+
*
|
|
20
|
+
* Closed for the same reason `action` is, plus one specific to it: the viewer resolves
|
|
21
|
+
* `targetId` against a different table per kind (a user's name, an invitation's email), so a
|
|
22
|
+
* free-form `'users'` beside `'user'` is not a cosmetic typo, it is a row whose subject silently
|
|
23
|
+
* fails to resolve for exactly the admin trying to read it.
|
|
24
|
+
*/
|
|
25
|
+
export declare const auditTargetTypeSchema: v.PicklistSchema<["user", "invitation", "workspace", "account"], undefined>;
|
|
26
|
+
export type AuditTargetType = v.InferOutput<typeof auditTargetTypeSchema>;
|
|
27
|
+
/**
|
|
28
|
+
* WHO performed an audited action, as a closed set of principal KINDS.
|
|
29
|
+
*
|
|
30
|
+
* Three kinds rather than a nullable user id, because "the engine did it" and "we failed to
|
|
31
|
+
* resolve who did it" are different facts and an audit log that renders them identically is
|
|
32
|
+
* worse than one that omits the row: a reader concludes a human action was automated. `system`
|
|
33
|
+
* is therefore asserted by an engine-internal caller, never defaulted to when a user id is
|
|
34
|
+
* missing.
|
|
35
|
+
*
|
|
36
|
+
* `apiKey` is its own kind because a public-API key is a distinct principal from the user who
|
|
37
|
+
* minted it: the key's own lifecycle is auditable, and attributing its actions to that user
|
|
38
|
+
* would make a leaked key indistinguishable from the person in the log.
|
|
39
|
+
*/
|
|
40
|
+
export declare const auditActorKindSchema: v.PicklistSchema<["user", "apiKey", "system"], undefined>;
|
|
41
|
+
export type AuditActorKind = v.InferOutput<typeof auditActorKindSchema>;
|
|
42
|
+
/**
|
|
43
|
+
* The VALUES an audit event carries beside its action, keyed by action.
|
|
44
|
+
*
|
|
45
|
+
* This is the contract between the writer and the viewer: the backend states what changed as
|
|
46
|
+
* fields, and the SPA interpolates them into a translated sentence per action. Declared here
|
|
47
|
+
* as data rather than left to each writer's discretion so that "which values does this action
|
|
48
|
+
* carry" has ONE answer both sides read, and so a new action cannot ship with fields the copy
|
|
49
|
+
* has no slot for (the `Record` is exhaustive over the picklist, so adding a member fails the
|
|
50
|
+
* build until its keys are named).
|
|
51
|
+
*
|
|
52
|
+
* Every key is a value SAFE TO SHOW: a role, a ceiling, an email, an access mode. Never a
|
|
53
|
+
* credential, never model or prompt text. The audit store is strictly more exposed than the
|
|
54
|
+
* transactional domain (its whole purpose is to be read by humans, and a later slice serves it
|
|
55
|
+
* over HTTP), which is why the boundary is stated once, here, rather than at each call site.
|
|
56
|
+
*/
|
|
57
|
+
export declare const AUDIT_ACTION_DETAIL_KEYS: Record<AuditAction, readonly string[]>;
|
|
58
|
+
/**
|
|
59
|
+
* One value inside an event's `details`.
|
|
60
|
+
*
|
|
61
|
+
* Scalars only, deliberately. Every detail exists to be interpolated into one translated
|
|
62
|
+
* sentence, and a bounded set of shapes is what keeps that interpolation TOTAL: a nested object
|
|
63
|
+
* or an array would each need the viewer to decide how to render it, per action, in every
|
|
64
|
+
* locale. A list of roles is therefore joined by its writer (`'admin, developer'`) rather than
|
|
65
|
+
* pushed onto the reader.
|
|
66
|
+
*/
|
|
67
|
+
export type AuditDetailValue = string | number | boolean | null;
|
|
68
|
+
/** The machine-readable values an audited action carries. See {@link AUDIT_ACTION_DETAIL_KEYS}. */
|
|
69
|
+
export type AuditEventDetails = Readonly<Record<string, AuditDetailValue>>;
|
|
70
|
+
/**
|
|
71
|
+
* A persisted vocabulary member this build no longer declares.
|
|
72
|
+
*
|
|
73
|
+
* `action` and `targetType` are CLOSED vocabularies that are also PERSISTED, and those two facts
|
|
74
|
+
* together are what makes this shape necessary (CLAUDE.md → "But a break must ARRIVE as one"):
|
|
75
|
+
* retiring a member removes it from the type and NOT from the rows already written, so every
|
|
76
|
+
* exhaustive `Record`/`switch` over it is total against the TYPE and partial against the DATA.
|
|
77
|
+
* A reader that ignores the gap either renders `undefined` at an operator or throws in the
|
|
78
|
+
* viewer itself.
|
|
79
|
+
*
|
|
80
|
+
* So a value that is no longer a member reads back NAMED as retired: never guessed onto a
|
|
81
|
+
* current member (nothing can know which one was meant), and above all never DROPPED, because a
|
|
82
|
+
* missing row is the single failure an audit log must not have.
|
|
83
|
+
*/
|
|
84
|
+
export interface RetiredAuditValue {
|
|
85
|
+
retired: string;
|
|
86
|
+
}
|
|
87
|
+
/** Whether a read-back vocabulary value is one this build no longer declares. */
|
|
88
|
+
export declare function isRetiredAuditValue<T extends string>(value: T | RetiredAuditValue): value is RetiredAuditValue;
|
|
89
|
+
/**
|
|
90
|
+
* Whether a stored value is still a member of the action vocabulary — DERIVED from the picklist,
|
|
91
|
+
* so it cannot drift from it the way a hand-written second list would.
|
|
92
|
+
*/
|
|
93
|
+
export declare function isAuditAction(value: string): value is AuditAction;
|
|
94
|
+
/** Whether a stored value is still a member of the target-type vocabulary. Derived, as above. */
|
|
95
|
+
export declare function isAuditTargetType(value: string): value is AuditTargetType;
|
|
96
|
+
/** A stored `action` as either a current member or the retired value it is. */
|
|
97
|
+
export declare function readAuditAction(value: string): AuditAction | RetiredAuditValue;
|
|
98
|
+
/** A stored `targetType` as either a current member or the retired value it is. */
|
|
99
|
+
export declare function readAuditTargetType(value: string): AuditTargetType | RetiredAuditValue;
|
|
100
|
+
//# sourceMappingURL=audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AA4B5B;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,gWAuB5B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,6EAShC,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,2DAO/B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAY3E,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;AAE/D,mGAAmG;AACnG,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAA;AAE1E;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAClD,KAAK,EAAE,CAAC,GAAG,iBAAiB,GAC3B,KAAK,IAAI,iBAAiB,CAE5B;AAKD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,WAAW,CAEjE;AAED,iGAAiG;AACjG,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,eAAe,CAEzE;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,iBAAiB,CAE9E;AAED,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,iBAAiB,CAEtF"}
|
package/dist/audit.js
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// The ACCOUNT AUDIT vocabulary: what privileged action a recorded audit event describes, who
|
|
4
|
+
// performed it, what kind of thing it acted on, and which VALUES the viewer interpolates.
|
|
5
|
+
//
|
|
6
|
+
// It lives in contracts rather than kernel because both sides must agree about the SAME
|
|
7
|
+
// member lists for different reasons. The backend writes an action when a mutation commits;
|
|
8
|
+
// the SPA's viewer renders each one as human copy, through an exhaustive `Record` over this
|
|
9
|
+
// picklist, so a member added without translated copy fails the SPA's typecheck instead of
|
|
10
|
+
// rendering a raw `account.member_roles_changed` at an operator. A vocabulary kept only on the
|
|
11
|
+
// backend becomes a hand-copied list in the viewer, and the two then drift in the one
|
|
12
|
+
// direction that matters: an action nobody can read is an action nobody audits.
|
|
13
|
+
//
|
|
14
|
+
// The vocabularies are deliberately CLOSED and deliberately COARSE. Closed, because an audit
|
|
15
|
+
// reader filters by action class and a free-form string makes `member.role_changed` and
|
|
16
|
+
// `member.roles_changed` two unrelated actions that look identical in a list. Coarse, because
|
|
17
|
+
// an action names WHAT changed, never the values: the values ride `details` as machine-readable
|
|
18
|
+
// fields (see {@link AUDIT_ACTION_DETAIL_KEYS}), and the ones that are secret never get
|
|
19
|
+
// recorded at all (see `AuditEvent` in kernel).
|
|
20
|
+
//
|
|
21
|
+
// NOTHING here records human-readable PROSE. The backend does not localize (see CLAUDE.md →
|
|
22
|
+
// "Internationalization"), and an audit row is the sharpest case for that rule rather than an
|
|
23
|
+
// exception to it: the row is PERSISTED, so an English sentence written today can never be
|
|
24
|
+
// re-rendered for a reader in another locale. `action` + `details` is what lets slice 4's viewer
|
|
25
|
+
// compose its copy from translated keys, for rows written years earlier.
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
/**
|
|
28
|
+
* The privileged actions an account audit event can describe.
|
|
29
|
+
*
|
|
30
|
+
* Naming is `<subject>.<verb>`, past tense, subject first, so an alphabetical list groups by
|
|
31
|
+
* subject and a filter on a prefix is a filter on a subject. Members are added as the paths
|
|
32
|
+
* that produce them get instrumented, never speculatively: an action in the union that nothing
|
|
33
|
+
* writes reads to an operator as a category their deployment never exercises, which is
|
|
34
|
+
* indistinguishable from a category that is silently broken.
|
|
35
|
+
*
|
|
36
|
+
* What is deliberately NOT here yet, because nothing writes it until the run-lifecycle slice:
|
|
37
|
+
* run start/stop/retry, the notification `act` (which performs a real merge), and API-key
|
|
38
|
+
* mint/revoke.
|
|
39
|
+
*/
|
|
40
|
+
export const auditActionSchema = v.picklist([
|
|
41
|
+
/** A member was added to an account. */
|
|
42
|
+
'account.member_added',
|
|
43
|
+
/** An existing account member's role set was replaced. */
|
|
44
|
+
'account.member_roles_changed',
|
|
45
|
+
/** An account's monthly spend ceiling was set, changed, or cleared. */
|
|
46
|
+
'account.budget_changed',
|
|
47
|
+
/** An account's settings were changed (today: the default cloud provider). */
|
|
48
|
+
'account.settings_changed',
|
|
49
|
+
/** A teammate was invited to an account by email. */
|
|
50
|
+
'account.invitation_created',
|
|
51
|
+
/** A pending invitation was revoked before it was accepted. */
|
|
52
|
+
'account.invitation_revoked',
|
|
53
|
+
/** An invitation was accepted, creating the membership it granted. */
|
|
54
|
+
'account.invitation_accepted',
|
|
55
|
+
/** A member was added to one workspace (board-level roster, not the account roster). */
|
|
56
|
+
'workspace.member_added',
|
|
57
|
+
/** A workspace member's role was changed. */
|
|
58
|
+
'workspace.member_role_changed',
|
|
59
|
+
/** A member was removed from a workspace. */
|
|
60
|
+
'workspace.member_removed',
|
|
61
|
+
/** A workspace's access mode was changed (open ⇄ restricted). */
|
|
62
|
+
'workspace.access_mode_changed',
|
|
63
|
+
]);
|
|
64
|
+
/**
|
|
65
|
+
* WHAT KIND of thing an audited action acted on: the type `targetId` is an id WITHIN.
|
|
66
|
+
*
|
|
67
|
+
* Closed for the same reason `action` is, plus one specific to it: the viewer resolves
|
|
68
|
+
* `targetId` against a different table per kind (a user's name, an invitation's email), so a
|
|
69
|
+
* free-form `'users'` beside `'user'` is not a cosmetic typo, it is a row whose subject silently
|
|
70
|
+
* fails to resolve for exactly the admin trying to read it.
|
|
71
|
+
*/
|
|
72
|
+
export const auditTargetTypeSchema = v.picklist([
|
|
73
|
+
/** A user, by internal id (`usr_*`). The account or board roster acted on a person. */
|
|
74
|
+
'user',
|
|
75
|
+
/** An account invitation, by its own id. */
|
|
76
|
+
'invitation',
|
|
77
|
+
/** A board, by workspace id. */
|
|
78
|
+
'workspace',
|
|
79
|
+
/** The account itself (settings, budget). */
|
|
80
|
+
'account',
|
|
81
|
+
]);
|
|
82
|
+
/**
|
|
83
|
+
* WHO performed an audited action, as a closed set of principal KINDS.
|
|
84
|
+
*
|
|
85
|
+
* Three kinds rather than a nullable user id, because "the engine did it" and "we failed to
|
|
86
|
+
* resolve who did it" are different facts and an audit log that renders them identically is
|
|
87
|
+
* worse than one that omits the row: a reader concludes a human action was automated. `system`
|
|
88
|
+
* is therefore asserted by an engine-internal caller, never defaulted to when a user id is
|
|
89
|
+
* missing.
|
|
90
|
+
*
|
|
91
|
+
* `apiKey` is its own kind because a public-API key is a distinct principal from the user who
|
|
92
|
+
* minted it: the key's own lifecycle is auditable, and attributing its actions to that user
|
|
93
|
+
* would make a leaked key indistinguishable from the person in the log.
|
|
94
|
+
*/
|
|
95
|
+
export const auditActorKindSchema = v.picklist([
|
|
96
|
+
/** A signed-in user acting through the SPA or the API. */
|
|
97
|
+
'user',
|
|
98
|
+
/** A public-API key acting on behalf of its account. */
|
|
99
|
+
'apiKey',
|
|
100
|
+
/** The engine itself, with no human in the loop. */
|
|
101
|
+
'system',
|
|
102
|
+
]);
|
|
103
|
+
/**
|
|
104
|
+
* The VALUES an audit event carries beside its action, keyed by action.
|
|
105
|
+
*
|
|
106
|
+
* This is the contract between the writer and the viewer: the backend states what changed as
|
|
107
|
+
* fields, and the SPA interpolates them into a translated sentence per action. Declared here
|
|
108
|
+
* as data rather than left to each writer's discretion so that "which values does this action
|
|
109
|
+
* carry" has ONE answer both sides read, and so a new action cannot ship with fields the copy
|
|
110
|
+
* has no slot for (the `Record` is exhaustive over the picklist, so adding a member fails the
|
|
111
|
+
* build until its keys are named).
|
|
112
|
+
*
|
|
113
|
+
* Every key is a value SAFE TO SHOW: a role, a ceiling, an email, an access mode. Never a
|
|
114
|
+
* credential, never model or prompt text. The audit store is strictly more exposed than the
|
|
115
|
+
* transactional domain (its whole purpose is to be read by humans, and a later slice serves it
|
|
116
|
+
* over HTTP), which is why the boundary is stated once, here, rather than at each call site.
|
|
117
|
+
*/
|
|
118
|
+
export const AUDIT_ACTION_DETAIL_KEYS = {
|
|
119
|
+
'account.member_added': ['roles'],
|
|
120
|
+
'account.member_roles_changed': ['previousRoles', 'roles'],
|
|
121
|
+
'account.budget_changed': ['limit'],
|
|
122
|
+
'account.settings_changed': ['defaultCloudProvider'],
|
|
123
|
+
'account.invitation_created': ['email', 'roles'],
|
|
124
|
+
'account.invitation_revoked': ['email'],
|
|
125
|
+
'account.invitation_accepted': ['email', 'roles', 'invitedBy'],
|
|
126
|
+
'workspace.member_added': ['role'],
|
|
127
|
+
'workspace.member_role_changed': ['previousRole', 'role'],
|
|
128
|
+
'workspace.member_removed': ['role'],
|
|
129
|
+
'workspace.access_mode_changed': ['accessMode'],
|
|
130
|
+
};
|
|
131
|
+
/** Whether a read-back vocabulary value is one this build no longer declares. */
|
|
132
|
+
export function isRetiredAuditValue(value) {
|
|
133
|
+
return typeof value !== 'string';
|
|
134
|
+
}
|
|
135
|
+
const AUDIT_ACTION_SET = new Set(auditActionSchema.options);
|
|
136
|
+
const AUDIT_TARGET_TYPE_SET = new Set(auditTargetTypeSchema.options);
|
|
137
|
+
/**
|
|
138
|
+
* Whether a stored value is still a member of the action vocabulary — DERIVED from the picklist,
|
|
139
|
+
* so it cannot drift from it the way a hand-written second list would.
|
|
140
|
+
*/
|
|
141
|
+
export function isAuditAction(value) {
|
|
142
|
+
return AUDIT_ACTION_SET.has(value);
|
|
143
|
+
}
|
|
144
|
+
/** Whether a stored value is still a member of the target-type vocabulary. Derived, as above. */
|
|
145
|
+
export function isAuditTargetType(value) {
|
|
146
|
+
return AUDIT_TARGET_TYPE_SET.has(value);
|
|
147
|
+
}
|
|
148
|
+
/** A stored `action` as either a current member or the retired value it is. */
|
|
149
|
+
export function readAuditAction(value) {
|
|
150
|
+
return isAuditAction(value) ? value : { retired: value };
|
|
151
|
+
}
|
|
152
|
+
/** A stored `targetType` as either a current member or the retired value it is. */
|
|
153
|
+
export function readAuditTargetType(value) {
|
|
154
|
+
return isAuditTargetType(value) ? value : { retired: value };
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"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"}
|
package/dist/auth.d.ts
CHANGED
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAK5B,eAAO,MAAM,YAAY;;;;IAIvB,6EAA6E;;aAE7E,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,YAAY,CAAC,CAAA;AAE5D,eAAO,MAAM,mBAAmB;;;aAG9B,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE1E,qFAAqF;AACrF,eAAO,MAAM,oBAAoB;;aAE/B,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAE5E,iFAAiF;AACjF,eAAO,MAAM,mBAAmB;;;aAG9B,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE1E,mFAAmF;AACnF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAK5B,eAAO,MAAM,YAAY;;;;IAIvB,6EAA6E;;aAE7E,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,YAAY,CAAC,CAAA;AAE5D,eAAO,MAAM,mBAAmB;;;aAG9B,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE1E,qFAAqF;AACrF,eAAO,MAAM,oBAAoB;;aAE/B,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAE5E,iFAAiF;AACjF,eAAO,MAAM,mBAAmB;;;aAG9B,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE1E,mFAAmF;AACnF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,OAAO,CAAA;KAAE,CAAA;CACjF"}
|
package/dist/debug-api.d.ts
CHANGED
|
@@ -248,11 +248,101 @@ export declare const debugSignalSchema: v.ObjectSchema<{
|
|
|
248
248
|
readonly stepIndex: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
249
249
|
}, undefined>;
|
|
250
250
|
export type DebugSignal = v.InferOutput<typeof debugSignalSchema>;
|
|
251
|
+
/** The run's tool activity in total. */
|
|
252
|
+
export declare const debugToolCallTotalsSchema: v.ObjectSchema<{
|
|
253
|
+
readonly calls: v.NumberSchema<undefined>;
|
|
254
|
+
/**
|
|
255
|
+
* Calls that came back `ok: false`: the TOOL failed inside the container (a rejected edit,
|
|
256
|
+
* a non-zero command, malformed arguments), which is invisible in the LLM rollup beside it,
|
|
257
|
+
* where every one of those turns still reports a healthy model call.
|
|
258
|
+
*/
|
|
259
|
+
readonly failures: v.NumberSchema<undefined>;
|
|
260
|
+
/** `failures / calls`, or null when there were no calls. */
|
|
261
|
+
readonly failureRate: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
262
|
+
}, undefined>;
|
|
263
|
+
export type DebugToolCallTotals = v.InferOutput<typeof debugToolCallTotalsSchema>;
|
|
264
|
+
/** One tool's slice of it, folded across the agent kinds that called it. */
|
|
265
|
+
export declare const debugToolInsightSchema: v.ObjectSchema<{
|
|
266
|
+
readonly calls: v.NumberSchema<undefined>;
|
|
267
|
+
/**
|
|
268
|
+
* Calls that came back `ok: false`: the TOOL failed inside the container (a rejected edit,
|
|
269
|
+
* a non-zero command, malformed arguments), which is invisible in the LLM rollup beside it,
|
|
270
|
+
* where every one of those turns still reports a healthy model call.
|
|
271
|
+
*/
|
|
272
|
+
readonly failures: v.NumberSchema<undefined>;
|
|
273
|
+
/** `failures / calls`, or null when there were no calls. */
|
|
274
|
+
readonly failureRate: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
275
|
+
readonly tool: v.StringSchema<undefined>;
|
|
276
|
+
}, undefined>;
|
|
277
|
+
export type DebugToolInsight = v.InferOutput<typeof debugToolInsightSchema>;
|
|
278
|
+
/** One agent kind's slice of it, folded across the tools it called. */
|
|
279
|
+
export declare const debugToolCallKindInsightSchema: v.ObjectSchema<{
|
|
280
|
+
readonly calls: v.NumberSchema<undefined>;
|
|
281
|
+
/**
|
|
282
|
+
* Calls that came back `ok: false`: the TOOL failed inside the container (a rejected edit,
|
|
283
|
+
* a non-zero command, malformed arguments), which is invisible in the LLM rollup beside it,
|
|
284
|
+
* where every one of those turns still reports a healthy model call.
|
|
285
|
+
*/
|
|
286
|
+
readonly failures: v.NumberSchema<undefined>;
|
|
287
|
+
/** `failures / calls`, or null when there were no calls. */
|
|
288
|
+
readonly failureRate: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
289
|
+
readonly agentKind: v.StringSchema<undefined>;
|
|
290
|
+
}, undefined>;
|
|
291
|
+
export type DebugToolCallKindInsight = v.InferOutput<typeof debugToolCallKindInsightSchema>;
|
|
292
|
+
/**
|
|
293
|
+
* The run's tool-EXECUTION activity, aggregated in SQL at the `(agentKind, tool)` grain and
|
|
294
|
+
* re-cut along each axis. The counterpart of the `llm` block, and the half of a run's health
|
|
295
|
+
* that block structurally cannot report: a tool that fails inside the container leaves every
|
|
296
|
+
* model call around it looking perfectly healthy.
|
|
297
|
+
*
|
|
298
|
+
* Both breakdowns are folds over ONE aggregate, so they total identically to each other and to
|
|
299
|
+
* `totals` by construction, and both lead with the most-failed row: a run's busiest tool is
|
|
300
|
+
* almost never its broken one, and the caller reading this is looking for the broken one.
|
|
301
|
+
* `GET /debug/runs/:runId/tool-calls?ok=false` is the drill-down into any row of it.
|
|
302
|
+
*/
|
|
303
|
+
export declare const debugToolCallRollupSchema: v.ObjectSchema<{
|
|
304
|
+
readonly totals: v.ObjectSchema<{
|
|
305
|
+
readonly calls: v.NumberSchema<undefined>;
|
|
306
|
+
/**
|
|
307
|
+
* Calls that came back `ok: false`: the TOOL failed inside the container (a rejected edit,
|
|
308
|
+
* a non-zero command, malformed arguments), which is invisible in the LLM rollup beside it,
|
|
309
|
+
* where every one of those turns still reports a healthy model call.
|
|
310
|
+
*/
|
|
311
|
+
readonly failures: v.NumberSchema<undefined>;
|
|
312
|
+
/** `failures / calls`, or null when there were no calls. */
|
|
313
|
+
readonly failureRate: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
314
|
+
}, undefined>;
|
|
315
|
+
readonly byTool: v.ArraySchema<v.ObjectSchema<{
|
|
316
|
+
readonly calls: v.NumberSchema<undefined>;
|
|
317
|
+
/**
|
|
318
|
+
* Calls that came back `ok: false`: the TOOL failed inside the container (a rejected edit,
|
|
319
|
+
* a non-zero command, malformed arguments), which is invisible in the LLM rollup beside it,
|
|
320
|
+
* where every one of those turns still reports a healthy model call.
|
|
321
|
+
*/
|
|
322
|
+
readonly failures: v.NumberSchema<undefined>;
|
|
323
|
+
/** `failures / calls`, or null when there were no calls. */
|
|
324
|
+
readonly failureRate: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
325
|
+
readonly tool: v.StringSchema<undefined>;
|
|
326
|
+
}, undefined>, undefined>;
|
|
327
|
+
readonly byAgentKind: v.ArraySchema<v.ObjectSchema<{
|
|
328
|
+
readonly calls: v.NumberSchema<undefined>;
|
|
329
|
+
/**
|
|
330
|
+
* Calls that came back `ok: false`: the TOOL failed inside the container (a rejected edit,
|
|
331
|
+
* a non-zero command, malformed arguments), which is invisible in the LLM rollup beside it,
|
|
332
|
+
* where every one of those turns still reports a healthy model call.
|
|
333
|
+
*/
|
|
334
|
+
readonly failures: v.NumberSchema<undefined>;
|
|
335
|
+
/** `failures / calls`, or null when there were no calls. */
|
|
336
|
+
readonly failureRate: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
337
|
+
readonly agentKind: v.StringSchema<undefined>;
|
|
338
|
+
}, undefined>, undefined>;
|
|
339
|
+
}, undefined>;
|
|
340
|
+
export type DebugToolCallRollup = v.InferOutput<typeof debugToolCallRollupSchema>;
|
|
251
341
|
/**
|
|
252
342
|
* The run's diagnostic map: identity, per-step state, what each telemetry sink holds, the
|
|
253
|
-
* SQL-aggregated LLM rollups, and the derived signals. Composed from aggregates
|
|
254
|
-
* reads no prompt, response or context body, so it stays cheap enough to be the
|
|
255
|
-
* debugging client always makes.
|
|
343
|
+
* SQL-aggregated LLM and tool-call rollups, and the derived signals. Composed from aggregates
|
|
344
|
+
* only — it reads no prompt, response or context body, so it stays cheap enough to be the
|
|
345
|
+
* first call a debugging client always makes.
|
|
256
346
|
*/
|
|
257
347
|
export declare const debugRunOverviewSchema: v.ObjectSchema<{
|
|
258
348
|
/** Schema marker so a consuming model knows the shape without external docs. */
|
|
@@ -472,6 +562,47 @@ export declare const debugRunOverviewSchema: v.ObjectSchema<{
|
|
|
472
562
|
*/
|
|
473
563
|
readonly costCurrency: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
474
564
|
}, undefined>;
|
|
565
|
+
/**
|
|
566
|
+
* What the run's agents DID with their tools, and how much of it failed. Counted from the
|
|
567
|
+
* same rows `sinks.toolCalls` counts, in the same pass, so the two can never disagree.
|
|
568
|
+
*/
|
|
569
|
+
readonly toolCalls: v.ObjectSchema<{
|
|
570
|
+
readonly totals: v.ObjectSchema<{
|
|
571
|
+
readonly calls: v.NumberSchema<undefined>;
|
|
572
|
+
/**
|
|
573
|
+
* Calls that came back `ok: false`: the TOOL failed inside the container (a rejected edit,
|
|
574
|
+
* a non-zero command, malformed arguments), which is invisible in the LLM rollup beside it,
|
|
575
|
+
* where every one of those turns still reports a healthy model call.
|
|
576
|
+
*/
|
|
577
|
+
readonly failures: v.NumberSchema<undefined>;
|
|
578
|
+
/** `failures / calls`, or null when there were no calls. */
|
|
579
|
+
readonly failureRate: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
580
|
+
}, undefined>;
|
|
581
|
+
readonly byTool: v.ArraySchema<v.ObjectSchema<{
|
|
582
|
+
readonly calls: v.NumberSchema<undefined>;
|
|
583
|
+
/**
|
|
584
|
+
* Calls that came back `ok: false`: the TOOL failed inside the container (a rejected edit,
|
|
585
|
+
* a non-zero command, malformed arguments), which is invisible in the LLM rollup beside it,
|
|
586
|
+
* where every one of those turns still reports a healthy model call.
|
|
587
|
+
*/
|
|
588
|
+
readonly failures: v.NumberSchema<undefined>;
|
|
589
|
+
/** `failures / calls`, or null when there were no calls. */
|
|
590
|
+
readonly failureRate: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
591
|
+
readonly tool: v.StringSchema<undefined>;
|
|
592
|
+
}, undefined>, undefined>;
|
|
593
|
+
readonly byAgentKind: v.ArraySchema<v.ObjectSchema<{
|
|
594
|
+
readonly calls: v.NumberSchema<undefined>;
|
|
595
|
+
/**
|
|
596
|
+
* Calls that came back `ok: false`: the TOOL failed inside the container (a rejected edit,
|
|
597
|
+
* a non-zero command, malformed arguments), which is invisible in the LLM rollup beside it,
|
|
598
|
+
* where every one of those turns still reports a healthy model call.
|
|
599
|
+
*/
|
|
600
|
+
readonly failures: v.NumberSchema<undefined>;
|
|
601
|
+
/** `failures / calls`, or null when there were no calls. */
|
|
602
|
+
readonly failureRate: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
603
|
+
readonly agentKind: v.StringSchema<undefined>;
|
|
604
|
+
}, undefined>, undefined>;
|
|
605
|
+
}, undefined>;
|
|
475
606
|
readonly signals: v.ArraySchema<v.ObjectSchema<{
|
|
476
607
|
readonly code: v.StringSchema<undefined>;
|
|
477
608
|
readonly severity: v.PicklistSchema<["info", "warning", "error"], undefined>;
|
|
@@ -1398,16 +1529,33 @@ export type DebugSearchQueryList = v.InferOutput<typeof debugSearchQueryListSche
|
|
|
1398
1529
|
export declare const toolCallOrderSchema: v.PicklistSchema<["recent", "trajectory"], undefined>;
|
|
1399
1530
|
export type ToolCallOrder = v.InferOutput<typeof toolCallOrderSchema>;
|
|
1400
1531
|
/**
|
|
1401
|
-
*
|
|
1402
|
-
*
|
|
1532
|
+
* Whether to narrow a tool-call page to the calls that FAILED or the ones that worked.
|
|
1533
|
+
*
|
|
1534
|
+
* A string enum rather than a wire boolean, because it is a query parameter: `?ok=false`
|
|
1535
|
+
* arrives as text either way, and the enum says so in the spec instead of declaring a type the
|
|
1536
|
+
* transport cannot carry.
|
|
1537
|
+
*
|
|
1538
|
+
* Applied in SQL, like every other narrowing here. A caller filtering a page itself has already
|
|
1539
|
+
* paid for the rows it throws away and has spent the page's `limit` on them, which on this list
|
|
1540
|
+
* is worse than elsewhere: the failures it asked for fall off the end of a page filled with the
|
|
1541
|
+
* calls that worked.
|
|
1542
|
+
*/
|
|
1543
|
+
export declare const toolCallOkFilterSchema: v.PicklistSchema<["true", "false"], undefined>;
|
|
1544
|
+
export type ToolCallOkFilter = v.InferOutput<typeof toolCallOkFilterSchema>;
|
|
1545
|
+
/**
|
|
1546
|
+
* Query params for the tool-call trajectory list. It takes the small-row page params plus three
|
|
1547
|
+
* of its own: the {@link toolCallOrderSchema order}; a dispatch filter, because a run's step
|
|
1403
1548
|
* can dispatch more than once (a re-run, a gate's fixer rounds, a Ralph iteration) and "what did
|
|
1404
|
-
* the third ci-fixer round actually do" is a different question from "what did this run do"
|
|
1549
|
+
* the third ci-fixer round actually do" is a different question from "what did this run do"; and
|
|
1550
|
+
* the {@link toolCallOkFilterSchema outcome} filter, which is how the overview's failure counts
|
|
1551
|
+
* are turned into the rows behind them.
|
|
1405
1552
|
*/
|
|
1406
1553
|
export declare const listDebugToolCallsQuerySchema: v.ObjectSchema<{
|
|
1407
1554
|
readonly limit: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Must be a whole number">, v.TransformAction<any, number>, v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 100, undefined>]>, undefined>;
|
|
1408
1555
|
readonly cursor: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
1409
1556
|
readonly jobId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
1410
1557
|
readonly order: v.OptionalSchema<v.PicklistSchema<["recent", "trajectory"], undefined>, undefined>;
|
|
1558
|
+
readonly ok: v.OptionalSchema<v.PicklistSchema<["true", "false"], undefined>, undefined>;
|
|
1411
1559
|
}, undefined>;
|
|
1412
1560
|
export type ListDebugToolCallsQuery = v.InferOutput<typeof listDebugToolCallsQuerySchema>;
|
|
1413
1561
|
/**
|
package/dist/debug-api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-api.d.ts","sourceRoot":"","sources":["../src/debug-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AA+D5B,gDAAgD;AAChD,eAAO,MAAM,oBAAoB,MAAM,CAAA;AAEvC,oEAAoE;AACpE,eAAO,MAAM,uBAAuB,OAAQ,CAAA;AAE5C,kEAAkE;AAClE,eAAO,MAAM,oBAAoB,SAAU,CAAA;AAE3C;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,UAAY,CAAA;AAE9C,yDAAyD;AACzD,eAAO,MAAM,sBAAsB,MAAM,CAAA;AAgFzC;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;IAC1B,wFAAwF;;IAExF;;;OAGG;;IAEH;;;;OAIG;;IAEH,sGAAsG;;IAEtG,iFAAiF;;IAEjF;;;;;OAKG;;aAEH,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,eAAe,CAAC,CAAA;AAM7D;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB;;IAEhC,8FAA8F;;;;;IAK9F,iFAAiF;;IAEjF,iDAAiD;;IAEjD,6CAA6C;;IAE7C,0EAA0E;;;;;;;;;;;;;;;;;;;aAE1E,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE,iDAAiD;AACjD,eAAO,MAAM,wBAAwB;IACnC,gGAAgG;;IAEhG,sDAAsD;;IAEtD,gFAAgF;;IAEhF,gEAAgE;;aAEhE,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E,eAAO,MAAM,kBAAkB;;;QA7B7B,8FAA8F;;;;;QAK9F,iFAAiF;;QAEjF,iDAAiD;;QAEjD,6CAA6C;;QAE7C,0EAA0E;;;;;;;;;;;;;;;;;;;;IAoB1E,qEAAqE;;aAErE,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAMnE;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB;;;IAG7B,iFAAiF;;;IAGjF,gFAAgF;;IAEhF,8CAA8C;;IAE9C,qEAAqE;;IAErE,2DAA2D;;IAE3D;;;;OAIG;;IAEH,0FAA0F;;;;;;IAI1F,2EAA2E;;IAE3E,qEAAqE;;IAErE,gGAAgG;;IAEhG;;;;OAIG;;QAzHH,wFAAwF;;QAExF;;;WAGG;;QAEH;;;;WAIG;;QAEH,sGAAsG;;QAEtG,iFAAiF;;QAEjF;;;;;WAKG;;;aAqGH,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEnE;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB;;;aAGhC,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE,+CAA+C;AAC/C,eAAO,MAAM,yBAAyB,2DAA2C,CAAA;AACjF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;IAI5B,mHAAmH;;IAEnH,oEAAoE;;IAEpE,oEAAoE;;aAEpE,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"debug-api.d.ts","sourceRoot":"","sources":["../src/debug-api.ts"],"names":[],"mappings":"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"}
|
package/dist/debug-api.js
CHANGED
|
@@ -245,11 +245,55 @@ export const debugSignalSchema = v.object({
|
|
|
245
245
|
/** The step index the signal is about, when it is scoped to one. */
|
|
246
246
|
stepIndex: v.nullable(v.number()),
|
|
247
247
|
});
|
|
248
|
+
/**
|
|
249
|
+
* What every level of the tool-call rollup counts, plus the ratio the counts only mean
|
|
250
|
+
* something as.
|
|
251
|
+
*
|
|
252
|
+
* `failureRate` is null where nothing was called, never 0: a run that made no tool calls has
|
|
253
|
+
* no failure rate, and a clean 0% would file it beside a run whose every call worked — the
|
|
254
|
+
* same number for "nothing happened" and "everything worked".
|
|
255
|
+
*/
|
|
256
|
+
const toolCallCountsSchema = {
|
|
257
|
+
calls: v.number(),
|
|
258
|
+
/**
|
|
259
|
+
* Calls that came back `ok: false`: the TOOL failed inside the container (a rejected edit,
|
|
260
|
+
* a non-zero command, malformed arguments), which is invisible in the LLM rollup beside it,
|
|
261
|
+
* where every one of those turns still reports a healthy model call.
|
|
262
|
+
*/
|
|
263
|
+
failures: v.number(),
|
|
264
|
+
/** `failures / calls`, or null when there were no calls. */
|
|
265
|
+
failureRate: v.nullable(v.number()),
|
|
266
|
+
};
|
|
267
|
+
/** The run's tool activity in total. */
|
|
268
|
+
export const debugToolCallTotalsSchema = v.object(toolCallCountsSchema);
|
|
269
|
+
/** One tool's slice of it, folded across the agent kinds that called it. */
|
|
270
|
+
export const debugToolInsightSchema = v.object({ tool: v.string(), ...toolCallCountsSchema });
|
|
271
|
+
/** One agent kind's slice of it, folded across the tools it called. */
|
|
272
|
+
export const debugToolCallKindInsightSchema = v.object({
|
|
273
|
+
agentKind: v.string(),
|
|
274
|
+
...toolCallCountsSchema,
|
|
275
|
+
});
|
|
276
|
+
/**
|
|
277
|
+
* The run's tool-EXECUTION activity, aggregated in SQL at the `(agentKind, tool)` grain and
|
|
278
|
+
* re-cut along each axis. The counterpart of the `llm` block, and the half of a run's health
|
|
279
|
+
* that block structurally cannot report: a tool that fails inside the container leaves every
|
|
280
|
+
* model call around it looking perfectly healthy.
|
|
281
|
+
*
|
|
282
|
+
* Both breakdowns are folds over ONE aggregate, so they total identically to each other and to
|
|
283
|
+
* `totals` by construction, and both lead with the most-failed row: a run's busiest tool is
|
|
284
|
+
* almost never its broken one, and the caller reading this is looking for the broken one.
|
|
285
|
+
* `GET /debug/runs/:runId/tool-calls?ok=false` is the drill-down into any row of it.
|
|
286
|
+
*/
|
|
287
|
+
export const debugToolCallRollupSchema = v.object({
|
|
288
|
+
totals: debugToolCallTotalsSchema,
|
|
289
|
+
byTool: v.array(debugToolInsightSchema),
|
|
290
|
+
byAgentKind: v.array(debugToolCallKindInsightSchema),
|
|
291
|
+
});
|
|
248
292
|
/**
|
|
249
293
|
* The run's diagnostic map: identity, per-step state, what each telemetry sink holds, the
|
|
250
|
-
* SQL-aggregated LLM rollups, and the derived signals. Composed from aggregates
|
|
251
|
-
* reads no prompt, response or context body, so it stays cheap enough to be the
|
|
252
|
-
* debugging client always makes.
|
|
294
|
+
* SQL-aggregated LLM and tool-call rollups, and the derived signals. Composed from aggregates
|
|
295
|
+
* only — it reads no prompt, response or context body, so it stays cheap enough to be the
|
|
296
|
+
* first call a debugging client always makes.
|
|
253
297
|
*/
|
|
254
298
|
export const debugRunOverviewSchema = v.object({
|
|
255
299
|
/** Schema marker so a consuming model knows the shape without external docs. */
|
|
@@ -294,6 +338,11 @@ export const debugRunOverviewSchema = v.object({
|
|
|
294
338
|
*/
|
|
295
339
|
costCurrency: v.nullable(v.string()),
|
|
296
340
|
}),
|
|
341
|
+
/**
|
|
342
|
+
* What the run's agents DID with their tools, and how much of it failed. Counted from the
|
|
343
|
+
* same rows `sinks.toolCalls` counts, in the same pass, so the two can never disagree.
|
|
344
|
+
*/
|
|
345
|
+
toolCalls: debugToolCallRollupSchema,
|
|
297
346
|
signals: v.array(debugSignalSchema),
|
|
298
347
|
});
|
|
299
348
|
// ---------------------------------------------------------------------------
|
|
@@ -598,16 +647,32 @@ export const debugSearchQueryListSchema = v.object({
|
|
|
598
647
|
*/
|
|
599
648
|
export const toolCallOrderSchema = v.picklist(['recent', 'trajectory']);
|
|
600
649
|
/**
|
|
601
|
-
*
|
|
602
|
-
*
|
|
650
|
+
* Whether to narrow a tool-call page to the calls that FAILED or the ones that worked.
|
|
651
|
+
*
|
|
652
|
+
* A string enum rather than a wire boolean, because it is a query parameter: `?ok=false`
|
|
653
|
+
* arrives as text either way, and the enum says so in the spec instead of declaring a type the
|
|
654
|
+
* transport cannot carry.
|
|
655
|
+
*
|
|
656
|
+
* Applied in SQL, like every other narrowing here. A caller filtering a page itself has already
|
|
657
|
+
* paid for the rows it throws away and has spent the page's `limit` on them, which on this list
|
|
658
|
+
* is worse than elsewhere: the failures it asked for fall off the end of a page filled with the
|
|
659
|
+
* calls that worked.
|
|
660
|
+
*/
|
|
661
|
+
export const toolCallOkFilterSchema = v.picklist(['true', 'false']);
|
|
662
|
+
/**
|
|
663
|
+
* Query params for the tool-call trajectory list. It takes the small-row page params plus three
|
|
664
|
+
* of its own: the {@link toolCallOrderSchema order}; a dispatch filter, because a run's step
|
|
603
665
|
* can dispatch more than once (a re-run, a gate's fixer rounds, a Ralph iteration) and "what did
|
|
604
|
-
* the third ci-fixer round actually do" is a different question from "what did this run do"
|
|
666
|
+
* the third ci-fixer round actually do" is a different question from "what did this run do"; and
|
|
667
|
+
* the {@link toolCallOkFilterSchema outcome} filter, which is how the overview's failure counts
|
|
668
|
+
* are turned into the rows behind them.
|
|
605
669
|
*/
|
|
606
670
|
export const listDebugToolCallsQuerySchema = v.object({
|
|
607
671
|
limit: v.optional(pageLimitSchema),
|
|
608
672
|
cursor: v.optional(cursorSchema),
|
|
609
673
|
jobId: v.optional(v.string()),
|
|
610
674
|
order: v.optional(toolCallOrderSchema),
|
|
675
|
+
ok: v.optional(toolCallOkFilterSchema),
|
|
611
676
|
});
|
|
612
677
|
/**
|
|
613
678
|
* The tool calls the run's agents made: the TRAJECTORY, which is the half of "how did this diff
|