@claudexor/schema 5.0.2 → 5.1.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/account-routing-evidence.d.ts +256 -0
- package/dist/account-routing-evidence.d.ts.map +1 -1
- package/dist/account-routing-evidence.js +27 -2
- package/dist/account-routing-evidence.js.map +1 -1
- package/dist/agent-capabilities.d.ts +3 -0
- package/dist/agent-capabilities.d.ts.map +1 -1
- package/dist/agent-capabilities.js +6 -2
- package/dist/agent-capabilities.js.map +1 -1
- package/dist/attachment.d.ts +103 -6
- package/dist/attachment.d.ts.map +1 -1
- package/dist/attachment.js +32 -6
- package/dist/attachment.js.map +1 -1
- package/dist/browser-evidence.d.ts +85 -0
- package/dist/browser-evidence.d.ts.map +1 -0
- package/dist/browser-evidence.js +72 -0
- package/dist/browser-evidence.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/control-gc.d.ts +30 -0
- package/dist/control-gc.d.ts.map +1 -1
- package/dist/control-gc.js +28 -1
- package/dist/control-gc.js.map +1 -1
- package/dist/control-operation-responses.d.ts +438 -36
- package/dist/control-operation-responses.d.ts.map +1 -1
- package/dist/control-operation-responses.js +11 -2
- package/dist/control-operation-responses.js.map +1 -1
- package/dist/control-process-scope.d.ts +34 -0
- package/dist/control-process-scope.d.ts.map +1 -1
- package/dist/control-process-scope.js +13 -0
- package/dist/control-process-scope.js.map +1 -1
- package/dist/control-run-detail.d.ts +785 -89
- package/dist/control-run-detail.d.ts.map +1 -1
- package/dist/control-run-failure.d.ts +29 -6
- package/dist/control-run-failure.d.ts.map +1 -1
- package/dist/control-run-failure.js +28 -3
- package/dist/control-run-failure.js.map +1 -1
- package/dist/control-trust.d.ts +8 -0
- package/dist/control-trust.d.ts.map +1 -1
- package/dist/control-trust.js +4 -0
- package/dist/control-trust.js.map +1 -1
- package/dist/control-web-evidence.d.ts +125 -0
- package/dist/control-web-evidence.d.ts.map +1 -0
- package/dist/control-web-evidence.js +109 -0
- package/dist/control-web-evidence.js.map +1 -0
- package/dist/control.d.ts +292 -98
- package/dist/control.d.ts.map +1 -1
- package/dist/control.js +43 -49
- package/dist/control.js.map +1 -1
- package/dist/credential-profile.d.ts +4 -3
- package/dist/credential-profile.d.ts.map +1 -1
- package/dist/credential-profile.js +4 -3
- package/dist/credential-profile.js.map +1 -1
- package/dist/decision.d.ts +9 -9
- package/dist/decision.d.ts.map +1 -1
- package/dist/decision.js +2 -0
- package/dist/decision.js.map +1 -1
- package/dist/deferred-message.d.ts +646 -0
- package/dist/deferred-message.d.ts.map +1 -1
- package/dist/deferred-message.js +16 -2
- package/dist/deferred-message.js.map +1 -1
- package/dist/events.d.ts +6 -6
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +1 -0
- package/dist/events.js.map +1 -1
- package/dist/harness-confinement.js +1 -1
- package/dist/harness-confinement.js.map +1 -1
- package/dist/harness-input.d.ts +12 -0
- package/dist/harness-input.d.ts.map +1 -1
- package/dist/harness-input.js +11 -1
- package/dist/harness-input.js.map +1 -1
- package/dist/harness-interaction.d.ts +20 -0
- package/dist/harness-interaction.d.ts.map +1 -1
- package/dist/harness-interaction.js +36 -0
- package/dist/harness-interaction.js.map +1 -1
- package/dist/harness.d.ts +95 -19
- package/dist/harness.d.ts.map +1 -1
- package/dist/harness.js +16 -15
- package/dist/harness.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp-run-result.d.ts +363 -50
- package/dist/mcp-run-result.d.ts.map +1 -1
- package/dist/mcp-run-wait.d.ts +126 -0
- package/dist/mcp-run-wait.d.ts.map +1 -1
- package/dist/operation.d.ts +1 -1
- package/dist/operation.d.ts.map +1 -1
- package/dist/operation.js +1 -1
- package/dist/operation.js.map +1 -1
- package/dist/process-scope.d.ts +154 -0
- package/dist/process-scope.d.ts.map +1 -1
- package/dist/process-scope.js +16 -1
- package/dist/process-scope.js.map +1 -1
- package/dist/quota.d.ts +14 -0
- package/dist/quota.d.ts.map +1 -1
- package/dist/quota.js +14 -0
- package/dist/quota.js.map +1 -1
- package/dist/rate-limit.d.ts +3 -0
- package/dist/rate-limit.d.ts.map +1 -1
- package/dist/rate-limit.js +4 -0
- package/dist/rate-limit.js.map +1 -1
- package/dist/raw.d.ts.map +1 -1
- package/dist/raw.js +11 -5
- package/dist/raw.js.map +1 -1
- package/dist/route-controls.d.ts +49 -0
- package/dist/route-controls.d.ts.map +1 -0
- package/dist/route-controls.js +53 -0
- package/dist/route-controls.js.map +1 -0
- package/dist/route-health.d.ts +23 -23
- package/dist/route-health.js +1 -1
- package/dist/route-health.js.map +1 -1
- package/dist/run-continuation.d.ts +6 -6
- package/dist/run-continuity.d.ts +7 -7
- package/dist/run-continuity.d.ts.map +1 -1
- package/dist/run-continuity.js +2 -1
- package/dist/run-continuity.js.map +1 -1
- package/dist/run-facts.d.ts +5 -5
- package/dist/run-facts.js +1 -1
- package/dist/run-facts.js.map +1 -1
- package/dist/status-projection.d.ts +3 -2
- package/dist/status-projection.d.ts.map +1 -1
- package/dist/status-projection.js +5 -2
- package/dist/status-projection.js.map +1 -1
- package/dist/task-group.d.ts +3 -0
- package/dist/task-group.d.ts.map +1 -1
- package/dist/task-group.js +11 -1
- package/dist/task-group.js.map +1 -1
- package/dist/task.d.ts +2 -2
- package/dist/task.d.ts.map +1 -1
- package/dist/task.js +4 -4
- package/dist/task.js.map +1 -1
- package/dist/telemetry.d.ts +602 -117
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +17 -88
- package/dist/telemetry.js.map +1 -1
- package/dist/thread-export.d.ts +847 -0
- package/dist/thread-export.d.ts.map +1 -0
- package/dist/thread-export.js +238 -0
- package/dist/thread-export.js.map +1 -0
- package/dist/thread-history.d.ts +248 -132
- package/dist/thread-history.d.ts.map +1 -1
- package/dist/thread.d.ts +72 -6
- package/dist/thread.d.ts.map +1 -1
- package/dist/thread.js +19 -3
- package/dist/thread.js.map +1 -1
- package/dist/tool-ref.d.ts +172 -21
- package/dist/tool-ref.d.ts.map +1 -1
- package/dist/tool-ref.js +114 -29
- package/dist/tool-ref.js.map +1 -1
- package/dist/web-evidence.d.ts +91 -0
- package/dist/web-evidence.d.ts.map +1 -0
- package/dist/web-evidence.js +77 -0
- package/dist/web-evidence.js.map +1 -0
- package/dist/workspace.js +1 -1
- package/dist/workspace.js.map +1 -1
- package/generated/AgentCapabilityCatalog.schema.json +20 -2
- package/generated/ControlAccountRoutingEvidenceResponse.schema.json +61 -1
- package/generated/ControlCredentialProfilesQueryResponse.schema.json +2 -2
- package/generated/ControlCredentialProfilesResourcesResponse.schema.json +2 -2
- package/generated/ControlCredentialProfilesSnapshotResponse.schema.json +2 -2
- package/generated/ControlGcLastResponse.schema.json +22 -0
- package/generated/ControlGcReceipt.schema.json +13 -1
- package/generated/ControlHarnessListResponse.schema.json +2 -2
- package/generated/ControlQueuedRunInfo.schema.json +1 -1
- package/generated/ControlResource.schema.json +5 -0
- package/generated/ControlResourceRelease.schema.json +44 -0
- package/generated/ControlResourceReleaseRequest.schema.json +27 -0
- package/generated/ControlRetainedEnvelope.schema.json +2 -1
- package/generated/ControlRouteHealth.schema.json +13 -1
- package/generated/ControlRunControlResponse.schema.json +41 -3
- package/generated/ControlRunDecisionRequest.schema.json +8 -2
- package/generated/ControlRunDecisionResponse.schema.json +4 -3
- package/generated/ControlRunDetail.schema.json +337 -10
- package/generated/ControlRunListResponse.schema.json +296 -7
- package/generated/ControlRunRetryResponse.schema.json +1 -1
- package/generated/ControlRunStartInfo.schema.json +1 -1
- package/generated/ControlRunStartResponse.schema.json +2 -2
- package/generated/ControlRunSummary.schema.json +296 -7
- package/generated/ControlThreadDetail.schema.json +1 -0
- package/generated/ControlThreadTurnResponse.schema.json +9 -0
- package/generated/ControlTrustListResponse.schema.json +8 -0
- package/generated/ControlTrustState.schema.json +8 -0
- package/generated/ControlUploadImport.schema.json +12 -2
- package/generated/ControlUploadImportRequest.schema.json +5 -0
- package/generated/DecisionRecord.schema.json +1 -0
- package/generated/DeferredMessageDetail.schema.json +43 -7
- package/generated/DeferredMessageProjection.schema.json +41 -3
- package/generated/DeferredMessageReadResult.schema.json +42 -4
- package/generated/DeferredMessageReceipt.schema.json +41 -3
- package/generated/EnvelopeCustody.schema.json +3 -2
- package/generated/GlobalConfig.schema.json +1 -1
- package/generated/HarnessEvent.schema.json +140 -4
- package/generated/HarnessManifest.schema.json +2 -2
- package/generated/HarnessStatusDto.schema.json +2 -2
- package/generated/McpAccountsToolResult.schema.json +62 -2
- package/generated/McpRunHandleResult.schema.json +90 -6
- package/generated/McpRunToolResult.schema.json +89 -6
- package/generated/McpRunWaitResult.schema.json +41 -3
- package/generated/McpThreadTurnResult.schema.json +9 -0
- package/generated/RawContextPacket.schema.json +6 -4
- package/generated/RawGitPatchEnvelope.schema.json +1 -1
- package/generated/RoutePoolDegradedPayload.schema.json +2 -1
- package/generated/RunContinuityReceipt.schema.json +2 -1
- package/generated/RunFacts.schema.json +1 -0
- package/generated/RunFailure.schema.json +46 -2
- package/generated/RunResumable.schema.json +2 -1
- package/generated/RunTelemetry.schema.json +288 -7
- package/generated/TaskContract.schema.json +3 -3
- package/generated/TaskGroupReceipt.schema.json +1 -1
- package/generated/Thread.schema.json +41 -0
- package/generated/ThreadExportManifest.schema.json +461 -0
- package/generated/ThreadExportReceipt.schema.json +94 -0
- package/generated/ThreadHistoryPage.schema.json +47 -2
- package/generated/ThreadRetireAbandonRequest.schema.json +21 -0
- package/generated/ThreadRetireRequest.schema.json +41 -0
- package/generated/ThreadRetirement.schema.json +175 -0
- package/generated/ThreadTurn.schema.json +1 -1
- package/generated/WorkspaceEnvelope.schema.json +1 -1
- package/package.json +2 -2
package/dist/tool-ref.js
CHANGED
|
@@ -6,18 +6,28 @@ import { z } from "zod/v3";
|
|
|
6
6
|
export const ToolKind = z
|
|
7
7
|
.enum(["web", "file", "command", "mcp", "search", "other"])
|
|
8
8
|
.describe("Coarse tool classification used for typed governance; adapters map native tool names to a kind.");
|
|
9
|
+
/**
|
|
10
|
+
* #546: the vendor's own report that a background command ended, as far as a
|
|
11
|
+
* protocol source defines it. It is neither an exit code nor the success of the
|
|
12
|
+
* command's work, and a word outside this list is no report at all.
|
|
13
|
+
*/
|
|
14
|
+
export const ToolCommandCompletionStatus = z
|
|
15
|
+
.enum(["success", "error", "aborted"])
|
|
16
|
+
.describe("The vendor's word for how a background command ended (Cursor 2026.08.11 shell completions); never an exit code or proof that the command's work succeeded.");
|
|
9
17
|
/**
|
|
10
18
|
* #450: what a command-kind tool result established about the PROCESS it
|
|
11
19
|
* ran, separate from `status` (the tool call's own outcome). A background
|
|
12
20
|
* handoff or an elapsed timeout returns an ordinary tool result while the
|
|
13
21
|
* command's end is unobserved, so neither counts as a finished command.
|
|
22
|
+
* #546: a later `command_outcome_refined` status can replace these facts for
|
|
23
|
+
* the same call (`completion_reported`), keeping the handoff facts beside it.
|
|
14
24
|
* Absent on adapters and legacy events that do not report it.
|
|
15
25
|
*/
|
|
16
26
|
export const ToolCommandOutcome = z
|
|
17
27
|
.object({
|
|
18
28
|
state: z
|
|
19
|
-
.enum(["exited", "timed_out", "backgrounded", "unknown"])
|
|
20
|
-
.describe("exited: the tool observed the command end; timed_out: the tool's timeout elapsed before an observed end (the process may still run or may have been signalled); backgrounded: the command was handed to a background shell and was still running when the result returned; unknown: the native result established none of these."),
|
|
29
|
+
.enum(["exited", "timed_out", "backgrounded", "completion_reported", "unknown"])
|
|
30
|
+
.describe("exited: the tool observed the command end; timed_out: the tool's timeout elapsed before an observed end (the process may still run or may have been signalled); backgrounded: the command was handed to a background shell and was still running when the result returned; completion_reported: after such a handoff, a later vendor notification reported that the command ended, without an exit code; unknown: the native result established none of these."),
|
|
21
31
|
signal: z
|
|
22
32
|
.string()
|
|
23
33
|
.min(1)
|
|
@@ -39,8 +49,63 @@ export const ToolCommandOutcome = z
|
|
|
39
49
|
.optional()
|
|
40
50
|
.describe("Vendor handle of the background shell that kept the command."),
|
|
41
51
|
pid: z.number().int().positive().optional().describe("Vendor-reported process id."),
|
|
52
|
+
completion_status: ToolCommandCompletionStatus.optional().describe("What the vendor reported about a completion_reported command; never an exit code."),
|
|
42
53
|
})
|
|
43
54
|
.describe("Typed facts about the process a command-kind tool ran, separate from status.");
|
|
55
|
+
/**
|
|
56
|
+
* #546: `payload.code` of the `status` event that refines the command outcome
|
|
57
|
+
* of an earlier tool call (today: Cursor reports the end of a command it had
|
|
58
|
+
* handed to a background shell). Its `tool` names that call by `use_id` and
|
|
59
|
+
* carries the refined `command_outcome`, which replaces the call's handoff
|
|
60
|
+
* facts and keeps them beside the new state. It is only ever
|
|
61
|
+
* `completion_reported` with a defined status: it can never prove an exit,
|
|
62
|
+
* restates or changes no call `status`, carries no exit code, and is never a
|
|
63
|
+
* second result. A reader that does not know the code sees an ordinary status
|
|
64
|
+
* event.
|
|
65
|
+
*/
|
|
66
|
+
export const COMMAND_OUTCOME_REFINED = "command_outcome_refined";
|
|
67
|
+
/** The call and refined command facts of a `command_outcome_refined` status
|
|
68
|
+
* event or of its stored `harness.event` payload; null for anything else,
|
|
69
|
+
* including a row that claims an exit or an undefined report. */
|
|
70
|
+
export function commandOutcomeRefinement(event) {
|
|
71
|
+
const row = (event !== null && typeof event === "object" ? event : {});
|
|
72
|
+
if (row.type !== "status" || row.payload?.code !== COMMAND_OUTCOME_REFINED)
|
|
73
|
+
return null;
|
|
74
|
+
const useId = row.tool?.use_id;
|
|
75
|
+
const outcome = ToolCommandOutcome.safeParse(row.tool?.command_outcome);
|
|
76
|
+
return typeof useId === "string" &&
|
|
77
|
+
useId &&
|
|
78
|
+
outcome.success &&
|
|
79
|
+
outcome.data.state === "completion_reported" &&
|
|
80
|
+
outcome.data.completion_status
|
|
81
|
+
? { useId, outcome: outcome.data }
|
|
82
|
+
: null;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* #546: what an attempt keeps of the vendor's reports about commands it had
|
|
86
|
+
* handed to a background shell: the exact call and its refined facts. These are
|
|
87
|
+
* command facts, never tool errors, so no recovery, warning, terminal or ranking
|
|
88
|
+
* policy reads them: a deliberately stopped dev server reports `aborted` and may
|
|
89
|
+
* simply have finished correctly. `recent` is bounded by the writer and `total`
|
|
90
|
+
* keeps the true count.
|
|
91
|
+
*/
|
|
92
|
+
export const ReportedCommandOutcomes = z
|
|
93
|
+
.object({
|
|
94
|
+
total: z.number().int().nonnegative().describe("True count of reports in this attempt."),
|
|
95
|
+
recent: z
|
|
96
|
+
.array(z.object({
|
|
97
|
+
tool: z.string().describe("Native tool name of the reported call."),
|
|
98
|
+
target: z
|
|
99
|
+
.string()
|
|
100
|
+
.nullable()
|
|
101
|
+
.default(null)
|
|
102
|
+
.describe("Target of the call as issued, when known."),
|
|
103
|
+
tool_use_id: z.string().min(1).describe("The exact call the report refined."),
|
|
104
|
+
command_outcome: ToolCommandOutcome.describe("The call's refined facts: the vendor's word and the handoff, never an exit code."),
|
|
105
|
+
}))
|
|
106
|
+
.describe("The most recent reports, bounded by the writer."),
|
|
107
|
+
})
|
|
108
|
+
.describe("Vendor reports about handed-off commands, kept apart from tool errors.");
|
|
44
109
|
/**
|
|
45
110
|
* Typed tool reference attached to `tool_call` / `tool_result` events.
|
|
46
111
|
* `status` is REQUIRED on `tool_result` events (adapter conformance enforces it);
|
|
@@ -89,26 +154,38 @@ export const ToolRef = z
|
|
|
89
154
|
/**
|
|
90
155
|
* QA-042: adapter-stamped RETRIEVAL outcome for a web/browser tool result,
|
|
91
156
|
* distinct from `status` (the tool-call LIFECYCLE). `verified` = the vendor
|
|
92
|
-
* exposed a typed successful retrieval
|
|
93
|
-
* = the
|
|
94
|
-
* (codex `web_search`/`open_page` — a completed item can hide a
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
157
|
+
* exposed a typed successful retrieval, and `web_content` says what it
|
|
158
|
+
* returned; `dispatched` = the call completed but the vendor exposes NO typed
|
|
159
|
+
* fetch outcome (codex `web_search`/`open_page` — a completed item can hide a
|
|
160
|
+
* 502; a Browser page read that got an HTTP error), so the evidence is
|
|
161
|
+
* dispatch-only, not proof of content; `failed` = a typed retrieval failure.
|
|
162
|
+
* Absent on non-web tools, on a Browser call that read no web page (#118),
|
|
163
|
+
* and on adapters that do not stamp it. The engine reads THIS (never prose)
|
|
164
|
+
* to separate "web reached" from "web verified".
|
|
99
165
|
*/
|
|
100
166
|
web_retrieval: z
|
|
101
167
|
.enum(["verified", "dispatched", "failed"])
|
|
102
168
|
.optional()
|
|
103
169
|
.describe("Adapter-stamped web/browser retrieval outcome (verified/dispatched/failed), distinct from the tool-call status lifecycle."),
|
|
170
|
+
/**
|
|
171
|
+
* #118: what a `verified` retrieval returned. `page` = a fetched or loaded
|
|
172
|
+
* page (claude WebFetch; a Browser navigation or snapshot of an http(s) page
|
|
173
|
+
* with no HTTP error); `search_results` = the results of a web search
|
|
174
|
+
* (claude WebSearch), which is not a fetched page. Absent otherwise.
|
|
175
|
+
*/
|
|
176
|
+
web_content: z
|
|
177
|
+
.enum(["page", "search_results"])
|
|
178
|
+
.optional()
|
|
179
|
+
.describe("What a verified web retrieval returned: page (a fetched or loaded page) or search_results (a web search's results, not a fetched page)."),
|
|
104
180
|
})
|
|
105
181
|
.describe("Typed tool reference attached to tool_call/tool_result events.");
|
|
106
182
|
/**
|
|
107
183
|
* True when a result carries command facts that do not establish an observed
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
*
|
|
184
|
+
* exit: handed to a background shell, timed out, a completion reported
|
|
185
|
+
* without an exit code, or any other state. Such a result never proves the
|
|
186
|
+
* command finished successfully, so it is never a success or a recovery.
|
|
187
|
+
* Absent facts (other adapters, legacy events) keep their existing meaning;
|
|
188
|
+
* an unrecognized value counts as unconfirmed.
|
|
112
189
|
*/
|
|
113
190
|
export function commandOutcomeUnconfirmed(value) {
|
|
114
191
|
if (value === undefined || value === null)
|
|
@@ -123,8 +200,12 @@ function durationLabel(ms) {
|
|
|
123
200
|
}
|
|
124
201
|
/**
|
|
125
202
|
* The one English description of an unconfirmed command outcome (INV-134,
|
|
126
|
-
* INV-141), used by adapter
|
|
127
|
-
*
|
|
203
|
+
* INV-141), used by adapter text, ACP and the continuation packet; the macOS
|
|
204
|
+
* note mirrors it word for word. A handoff says only what was seen: the
|
|
205
|
+
* command went to a background shell and its completion was not observed,
|
|
206
|
+
* never that it is still running. A reported completion leads with the
|
|
207
|
+
* report, keeps the exit code unknown and keeps the handoff as history. Null
|
|
208
|
+
* when nothing needs disclosure: no facts, or an observed exit.
|
|
128
209
|
*/
|
|
129
210
|
export function commandOutcomeLabel(value) {
|
|
130
211
|
if (!commandOutcomeUnconfirmed(value))
|
|
@@ -134,19 +215,23 @@ export function commandOutcomeLabel(value) {
|
|
|
134
215
|
return "Command outcome not reported";
|
|
135
216
|
const { state, timeout_ms: ms, background_reason: reason, shell_id, pid } = parsed.data;
|
|
136
217
|
const handle = [shell_id && `shell ${shell_id}`, pid && `pid ${pid}`].filter(Boolean);
|
|
137
|
-
|
|
138
|
-
?
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
?
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
return [
|
|
218
|
+
if (state === "timed_out") {
|
|
219
|
+
const lead = ms === undefined ? "Timed out" : `Timed out after ${durationLabel(ms)}`;
|
|
220
|
+
return [lead, "exit status unknown", ...handle].join(" · ");
|
|
221
|
+
}
|
|
222
|
+
const after = reason === "timeout" && ms !== 0
|
|
223
|
+
? ms === undefined
|
|
224
|
+
? " after its timeout"
|
|
225
|
+
: ` after its ${durationLabel(ms)} timeout`
|
|
226
|
+
: "";
|
|
227
|
+
if (state === "backgrounded")
|
|
228
|
+
return [`Handed off to background${after}; completion not observed`, ...handle].join(" · ");
|
|
229
|
+
const vendor = parsed.data.completion_status;
|
|
230
|
+
const reported = vendor && vendor !== "success" ? ` (${vendor})` : "";
|
|
231
|
+
return [
|
|
232
|
+
`Completion reported${reported}; exit code unknown`,
|
|
233
|
+
`handed off to background${after}`,
|
|
234
|
+
...handle,
|
|
235
|
+
].join(" · ");
|
|
151
236
|
}
|
|
152
237
|
//# sourceMappingURL=tool-ref.js.map
|
package/dist/tool-ref.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-ref.js","sourceRoot":"","sources":["../src/tool-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC;KACtB,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KAC1D,QAAQ,CACP,iGAAiG,CAClG,CAAC;AAGJ
|
|
1
|
+
{"version":3,"file":"tool-ref.js","sourceRoot":"","sources":["../src/tool-ref.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { z } from "zod/v3";
|
|
2
|
+
export declare const WebEvidenceStatus: z.ZodEnum<["none", "attempted", "satisfied", "failed", "unverified"]>;
|
|
3
|
+
export type WebEvidenceStatus = z.infer<typeof WebEvidenceStatus>;
|
|
4
|
+
/**
|
|
5
|
+
* What web evidence covers (#118). Every engine version has observed the same
|
|
6
|
+
* two things, so the default is also true of records written before it: the
|
|
7
|
+
* harness's typed web tool calls and calls to the engine Browser MCP. Process
|
|
8
|
+
* network traffic is not measured: the vendor API connection always exists, and
|
|
9
|
+
* an allowed shell command or another tool can reach the network without a web
|
|
10
|
+
* tool call. `attempted: false` is therefore never a statement about network use.
|
|
11
|
+
*/
|
|
12
|
+
export declare const WebObservation: z.ZodObject<{
|
|
13
|
+
evidence: z.ZodLiteral<"tool_calls">;
|
|
14
|
+
network: z.ZodLiteral<"not_measured">;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
evidence: "tool_calls";
|
|
17
|
+
network: "not_measured";
|
|
18
|
+
}, {
|
|
19
|
+
evidence: "tool_calls";
|
|
20
|
+
network: "not_measured";
|
|
21
|
+
}>;
|
|
22
|
+
export type WebObservation = z.infer<typeof WebObservation>;
|
|
23
|
+
export declare const WebEvidenceRecord: z.ZodObject<{
|
|
24
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
25
|
+
policy: z.ZodDefault<z.ZodEnum<["off", "auto", "cached", "live"]>>;
|
|
26
|
+
effective_mode: z.ZodDefault<z.ZodEnum<["off", "auto", "cached", "live"]>>;
|
|
27
|
+
attempted: z.ZodDefault<z.ZodBoolean>;
|
|
28
|
+
satisfied: z.ZodDefault<z.ZodBoolean>;
|
|
29
|
+
status: z.ZodDefault<z.ZodEnum<["none", "attempted", "satisfied", "failed", "unverified"]>>;
|
|
30
|
+
/**
|
|
31
|
+
* QA-042: retrieval STRENGTH of satisfied/attempted web activity, orthogonal
|
|
32
|
+
* to `status`. `verified` = at least one result was a typed successful
|
|
33
|
+
* retrieval, and `verified_content` says whether it was a page or search
|
|
34
|
+
* results; `dispatched` = a web call completed without one (codex
|
|
35
|
+
* `web_search`/`open_page`, a Browser page read that got an HTTP error);
|
|
36
|
+
* `none` = no search or page retrieval was observed. #118: a Browser call
|
|
37
|
+
* that read no web page (closing, clicking, tabs, about:blank) still makes
|
|
38
|
+
* `satisfied` true, as the required-web gate always counted it, but leaves
|
|
39
|
+
* the strength at `none`. A surface renders "Web verified" only for a
|
|
40
|
+
* verified page and "Web searched" for verified search results.
|
|
41
|
+
*/
|
|
42
|
+
verification: z.ZodDefault<z.ZodEnum<["verified", "dispatched", "none"]>>;
|
|
43
|
+
verified_content: z.ZodDefault<z.ZodNullable<z.ZodEnum<["page", "search_results"]>>>;
|
|
44
|
+
tool: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
45
|
+
target: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
46
|
+
error_summary: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
47
|
+
observation: z.ZodDefault<z.ZodObject<{
|
|
48
|
+
evidence: z.ZodLiteral<"tool_calls">;
|
|
49
|
+
network: z.ZodLiteral<"not_measured">;
|
|
50
|
+
}, "strip", z.ZodTypeAny, {
|
|
51
|
+
evidence: "tool_calls";
|
|
52
|
+
network: "not_measured";
|
|
53
|
+
}, {
|
|
54
|
+
evidence: "tool_calls";
|
|
55
|
+
network: "not_measured";
|
|
56
|
+
}>>;
|
|
57
|
+
}, "strip", z.ZodTypeAny, {
|
|
58
|
+
required: boolean;
|
|
59
|
+
policy: "auto" | "cached" | "live" | "off";
|
|
60
|
+
effective_mode: "auto" | "cached" | "live" | "off";
|
|
61
|
+
attempted: boolean;
|
|
62
|
+
satisfied: boolean;
|
|
63
|
+
status: "attempted" | "failed" | "none" | "satisfied" | "unverified";
|
|
64
|
+
verification: "dispatched" | "none" | "verified";
|
|
65
|
+
verified_content: "page" | "search_results" | null;
|
|
66
|
+
tool: string | null;
|
|
67
|
+
target: string | null;
|
|
68
|
+
error_summary: string | null;
|
|
69
|
+
observation: {
|
|
70
|
+
evidence: "tool_calls";
|
|
71
|
+
network: "not_measured";
|
|
72
|
+
};
|
|
73
|
+
}, {
|
|
74
|
+
required?: boolean | undefined;
|
|
75
|
+
policy?: "auto" | "cached" | "live" | "off" | undefined;
|
|
76
|
+
effective_mode?: "auto" | "cached" | "live" | "off" | undefined;
|
|
77
|
+
attempted?: boolean | undefined;
|
|
78
|
+
satisfied?: boolean | undefined;
|
|
79
|
+
status?: "attempted" | "failed" | "none" | "satisfied" | "unverified" | undefined;
|
|
80
|
+
verification?: "dispatched" | "none" | "verified" | undefined;
|
|
81
|
+
verified_content?: "page" | "search_results" | null | undefined;
|
|
82
|
+
tool?: string | null | undefined;
|
|
83
|
+
target?: string | null | undefined;
|
|
84
|
+
error_summary?: string | null | undefined;
|
|
85
|
+
observation?: {
|
|
86
|
+
evidence: "tool_calls";
|
|
87
|
+
network: "not_measured";
|
|
88
|
+
} | undefined;
|
|
89
|
+
}>;
|
|
90
|
+
export type WebEvidenceRecord = z.infer<typeof WebEvidenceRecord>;
|
|
91
|
+
//# sourceMappingURL=web-evidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-evidence.d.ts","sourceRoot":"","sources":["../src/web-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,eAAO,MAAM,iBAAiB,uEAE0D,CAAC;AACzF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;;;;;;;;;EAWqE,CAAC;AACjG,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,eAAO,MAAM,iBAAiB;;;;;;;IAoB1B;;;;;;;;;;;OAWG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCJ,CAAC;AACJ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { z } from "zod/v3";
|
|
2
|
+
import { ExternalContextPolicy } from "./primitives.js";
|
|
3
|
+
export const WebEvidenceStatus = z
|
|
4
|
+
.enum(["none", "attempted", "satisfied", "failed", "unverified"])
|
|
5
|
+
.describe("Observed web activity: none, attempted, satisfied, failed, or unverified.");
|
|
6
|
+
/**
|
|
7
|
+
* What web evidence covers (#118). Every engine version has observed the same
|
|
8
|
+
* two things, so the default is also true of records written before it: the
|
|
9
|
+
* harness's typed web tool calls and calls to the engine Browser MCP. Process
|
|
10
|
+
* network traffic is not measured: the vendor API connection always exists, and
|
|
11
|
+
* an allowed shell command or another tool can reach the network without a web
|
|
12
|
+
* tool call. `attempted: false` is therefore never a statement about network use.
|
|
13
|
+
*/
|
|
14
|
+
export const WebObservation = z
|
|
15
|
+
.object({
|
|
16
|
+
evidence: z
|
|
17
|
+
.literal("tool_calls")
|
|
18
|
+
.describe("Web evidence comes from typed web tool calls and engine Browser MCP calls."),
|
|
19
|
+
network: z
|
|
20
|
+
.literal("not_measured")
|
|
21
|
+
.describe("Process network traffic is not measured: vendor API traffic, shell commands and other tools can use the network without appearing here."),
|
|
22
|
+
})
|
|
23
|
+
.describe("Scope of the web evidence: observed tool calls only, never a network measurement.");
|
|
24
|
+
export const WebEvidenceRecord = z
|
|
25
|
+
.object({
|
|
26
|
+
required: z.boolean().default(false).describe("Explicit stored web requirement."),
|
|
27
|
+
policy: ExternalContextPolicy.default("auto").describe("Requested web policy for the run."),
|
|
28
|
+
effective_mode: ExternalContextPolicy.default("auto").describe("Policy given to the harness route, after disclosed upgrades (e.g. cached to live); not proof that a native session ran."),
|
|
29
|
+
attempted: z
|
|
30
|
+
.boolean()
|
|
31
|
+
.default(false)
|
|
32
|
+
.describe("Whether a web tool call or engine Browser call was observed; not a network measurement (see observation)."),
|
|
33
|
+
satisfied: z
|
|
34
|
+
.boolean()
|
|
35
|
+
.default(false)
|
|
36
|
+
.describe("Completed without a typed failure; verification records retrieval-proof strength."),
|
|
37
|
+
status: WebEvidenceStatus.default("none"),
|
|
38
|
+
/**
|
|
39
|
+
* QA-042: retrieval STRENGTH of satisfied/attempted web activity, orthogonal
|
|
40
|
+
* to `status`. `verified` = at least one result was a typed successful
|
|
41
|
+
* retrieval, and `verified_content` says whether it was a page or search
|
|
42
|
+
* results; `dispatched` = a web call completed without one (codex
|
|
43
|
+
* `web_search`/`open_page`, a Browser page read that got an HTTP error);
|
|
44
|
+
* `none` = no search or page retrieval was observed. #118: a Browser call
|
|
45
|
+
* that read no web page (closing, clicking, tabs, about:blank) still makes
|
|
46
|
+
* `satisfied` true, as the required-web gate always counted it, but leaves
|
|
47
|
+
* the strength at `none`. A surface renders "Web verified" only for a
|
|
48
|
+
* verified page and "Web searched" for verified search results.
|
|
49
|
+
*/
|
|
50
|
+
verification: z
|
|
51
|
+
.enum(["verified", "dispatched", "none"])
|
|
52
|
+
.default("none")
|
|
53
|
+
.describe("Retrieval-proof strength of observed web activity: verified (a typed successful retrieval; verified_content says of what), dispatched (a web call completed without a typed retrieval result), or none (no search or page retrieval observed, though a Browser action may have completed)."),
|
|
54
|
+
verified_content: z
|
|
55
|
+
.enum(["page", "search_results"])
|
|
56
|
+
.nullable()
|
|
57
|
+
.default(null)
|
|
58
|
+
.describe("What the verified retrieval returned: page (a fetched or loaded page; it outranks search results) or search_results (a web search's results, not a fetched page); null when nothing was verified or the record predates this field."),
|
|
59
|
+
tool: z
|
|
60
|
+
.string()
|
|
61
|
+
.nullable()
|
|
62
|
+
.default(null)
|
|
63
|
+
.describe("Web tool that produced the evidence, when any."),
|
|
64
|
+
target: z
|
|
65
|
+
.string()
|
|
66
|
+
.nullable()
|
|
67
|
+
.default(null)
|
|
68
|
+
.describe("Target (query/url) of the web activity as issued, when any."),
|
|
69
|
+
error_summary: z
|
|
70
|
+
.string()
|
|
71
|
+
.nullable()
|
|
72
|
+
.default(null)
|
|
73
|
+
.describe("Redacted error detail when web activity failed."),
|
|
74
|
+
observation: WebObservation.default({ evidence: "tool_calls", network: "not_measured" }),
|
|
75
|
+
})
|
|
76
|
+
.describe("Typed web-evidence record computed by the orchestrator; surfaces project it and never re-derive evidence from raw events.");
|
|
77
|
+
//# sourceMappingURL=web-evidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-evidence.js","sourceRoot":"","sources":["../src/web-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;KAChE,QAAQ,CAAC,2EAA2E,CAAC,CAAC;AAGzF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC;SACR,OAAO,CAAC,YAAY,CAAC;SACrB,QAAQ,CAAC,4EAA4E,CAAC;IACzF,OAAO,EAAE,CAAC;SACP,OAAO,CAAC,cAAc,CAAC;SACvB,QAAQ,CACP,yIAAyI,CAC1I;CACJ,CAAC;KACD,QAAQ,CAAC,mFAAmF,CAAC,CAAC;AAGjG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACjF,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC3F,cAAc,EAAE,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAC5D,yHAAyH,CAC1H;IACD,SAAS,EAAE,CAAC;SACT,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,2GAA2G,CAC5G;IACH,SAAS,EAAE,CAAC;SACT,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,mFAAmF,CACpF;IACH,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC;IACzC;;;;;;;;;;;OAWG;IACH,YAAY,EAAE,CAAC;SACZ,IAAI,CAAC,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;SACxC,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CACP,4RAA4R,CAC7R;IACH,gBAAgB,EAAE,CAAC;SAChB,IAAI,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;SAChC,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACP,qOAAqO,CACtO;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,gDAAgD,CAAC;IAC7D,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,6DAA6D,CAAC;IAC1E,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,iDAAiD,CAAC;IAC9D,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;CACzF,CAAC;KACD,QAAQ,CACP,2HAA2H,CAC5H,CAAC"}
|
package/dist/workspace.js
CHANGED
|
@@ -36,7 +36,7 @@ export const WorkspaceEnvelope = z
|
|
|
36
36
|
policy_profile: z
|
|
37
37
|
.string()
|
|
38
38
|
.default("workspace_write")
|
|
39
|
-
.describe("Access profile the envelope
|
|
39
|
+
.describe("Access profile recorded for the envelope."),
|
|
40
40
|
dirty_policy: DirtyPolicy.default("refuse"),
|
|
41
41
|
created_at: IsoTimestamp.describe("When the envelope was created."),
|
|
42
42
|
})
|
package/dist/workspace.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAExE;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACN,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC/B,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACrD,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAC3D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAC9E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IACvF,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,mDAAmD,CAAC;IAChE,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,CAAC,mEAAmE,CAAC;IAChF,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;IAChE,cAAc,EAAE,aAAa,CAAC,QAAQ,EAAE;IACxC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE;IACnD,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CAAC,4EAA4E,CAAC;IACzF,mBAAmB,EAAE,CAAC;SACnB,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CACP,wFAAwF,CACzF;IACH,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,OAAO,CAAC,iBAAiB,CAAC;SAC1B,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAExE;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACN,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC/B,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACrD,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAC3D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAC9E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IACvF,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,mDAAmD,CAAC;IAChE,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,CAAC,mEAAmE,CAAC;IAChF,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;IAChE,cAAc,EAAE,aAAa,CAAC,QAAQ,EAAE;IACxC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE;IACnD,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CAAC,4EAA4E,CAAC;IACzF,mBAAmB,EAAE,CAAC;SACnB,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CACP,wFAAwF,CACzF;IACH,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,OAAO,CAAC,iBAAiB,CAAC;SAC1B,QAAQ,CAAC,2CAA2C,CAAC;IACxD,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC3C,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC,gCAAgC,CAAC;CACpE,CAAC;KACD,QAAQ,CACP,+KAA+K,CAChL,CAAC"}
|
|
@@ -392,7 +392,7 @@
|
|
|
392
392
|
],
|
|
393
393
|
"description": "Active filesystem/command access profile for a run: readonly (no writes), workspace_write (use the harness's native workspace-write policy), full (unrestricted; requires the per-repo trust allow for a run an operator starts at a surface, not for an execution.delegated run), inherit_native (defer to the harness's own native settings)."
|
|
394
394
|
},
|
|
395
|
-
"description": "Access profiles the adapter can
|
|
395
|
+
"description": "Access profiles the adapter can translate to its harness."
|
|
396
396
|
},
|
|
397
397
|
"readonlyMechanism": {
|
|
398
398
|
"type": "string",
|
|
@@ -402,7 +402,7 @@
|
|
|
402
402
|
"tool_allowlist",
|
|
403
403
|
"none"
|
|
404
404
|
],
|
|
405
|
-
"description": "HOW read-only
|
|
405
|
+
"description": "HOW a harness applies read-only (fs_sandbox | permission_deny | tool_allowlist | none) — none means read-only intent is advisory for this harness."
|
|
406
406
|
},
|
|
407
407
|
"writeMechanism": {
|
|
408
408
|
"type": "string",
|
|
@@ -556,6 +556,23 @@
|
|
|
556
556
|
},
|
|
557
557
|
"description": "Accepted POST /runs request keys (derived from the ControlRunStartRequest schema; the CLI/MCP/ACP surfaces project subsets of these)."
|
|
558
558
|
},
|
|
559
|
+
"runDecisionActions": {
|
|
560
|
+
"type": "array",
|
|
561
|
+
"items": {
|
|
562
|
+
"type": "string",
|
|
563
|
+
"enum": [
|
|
564
|
+
"accept_clean_patch",
|
|
565
|
+
"rerun_with_feedback",
|
|
566
|
+
"accept_risk",
|
|
567
|
+
"override_needs_human",
|
|
568
|
+
"revert_run",
|
|
569
|
+
"discard",
|
|
570
|
+
"taken"
|
|
571
|
+
],
|
|
572
|
+
"description": "Operator decision: apply an accepted result, rerun with feedback, accept risk, override needs-human, revert a recorded Git effect, acknowledge a captured terminal patch result, or discard remaining copied files without applying them."
|
|
573
|
+
},
|
|
574
|
+
"description": "Actions accepted by POST /runs/:id/decision; taken acknowledges a captured terminal patch result."
|
|
575
|
+
},
|
|
559
576
|
"outputSchemaDialects": {
|
|
560
577
|
"type": "array",
|
|
561
578
|
"items": {
|
|
@@ -740,6 +757,7 @@
|
|
|
740
757
|
"availableHarnesses",
|
|
741
758
|
"modes",
|
|
742
759
|
"runControlKeys",
|
|
760
|
+
"runDecisionActions",
|
|
743
761
|
"outputSchemaDialects",
|
|
744
762
|
"mutability",
|
|
745
763
|
"cliCommands",
|
|
@@ -70,6 +70,66 @@
|
|
|
70
70
|
},
|
|
71
71
|
"description": "Temporary capability marks; absent from engines that predate them. A mark clears on a success there or a catalog or credential change; after expires_at one operation may probe the account."
|
|
72
72
|
},
|
|
73
|
+
"credentialUnusable": {
|
|
74
|
+
"type": "array",
|
|
75
|
+
"items": {
|
|
76
|
+
"type": "object",
|
|
77
|
+
"properties": {
|
|
78
|
+
"harness_id": {
|
|
79
|
+
"type": "string",
|
|
80
|
+
"minLength": 1,
|
|
81
|
+
"description": "Harness family of the account."
|
|
82
|
+
},
|
|
83
|
+
"profile_id": {
|
|
84
|
+
"type": "string",
|
|
85
|
+
"minLength": 1,
|
|
86
|
+
"description": "Registered account row the refusal was observed on."
|
|
87
|
+
},
|
|
88
|
+
"model": {
|
|
89
|
+
"type": "string",
|
|
90
|
+
"description": "Model the refused run requested, exactly as requested; a vendor-reported id that differs from it does not clear the observation."
|
|
91
|
+
},
|
|
92
|
+
"code": {
|
|
93
|
+
"type": "string",
|
|
94
|
+
"enum": [
|
|
95
|
+
"auth_revoked",
|
|
96
|
+
"capability_refused",
|
|
97
|
+
"verification_failed"
|
|
98
|
+
],
|
|
99
|
+
"description": "Typed reason an observed credential is unusable: vendor rejection, entitlement refusal, or a failed profile verification probe."
|
|
100
|
+
},
|
|
101
|
+
"detail": {
|
|
102
|
+
"type": [
|
|
103
|
+
"string",
|
|
104
|
+
"null"
|
|
105
|
+
],
|
|
106
|
+
"description": "Redacted typed evidence of the refusal, such as the vendor's error category; null when none was observed."
|
|
107
|
+
},
|
|
108
|
+
"observed_at": {
|
|
109
|
+
"type": "string",
|
|
110
|
+
"minLength": 1,
|
|
111
|
+
"description": "When the refusal was observed."
|
|
112
|
+
},
|
|
113
|
+
"expires_at": {
|
|
114
|
+
"type": "string",
|
|
115
|
+
"minLength": 1,
|
|
116
|
+
"description": "Self-expiry of the observation (bounded retention, not a vendor reset time)."
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
"required": [
|
|
120
|
+
"harness_id",
|
|
121
|
+
"profile_id",
|
|
122
|
+
"model",
|
|
123
|
+
"code",
|
|
124
|
+
"detail",
|
|
125
|
+
"observed_at",
|
|
126
|
+
"expires_at"
|
|
127
|
+
],
|
|
128
|
+
"additionalProperties": false,
|
|
129
|
+
"description": "A live typed refusal of one model on one registered account. It affects routing for that model only and never changes the account's status, Enabled state or order."
|
|
130
|
+
},
|
|
131
|
+
"description": "Live model-scoped credential refusals of the registered rows, most recent first per account, present only when the client asked (includeCredentialUnusable=true). One clears on a later service of exactly that model, a credential change, or expiry."
|
|
132
|
+
},
|
|
73
133
|
"refusals": {
|
|
74
134
|
"type": "array",
|
|
75
135
|
"items": {
|
|
@@ -160,7 +220,7 @@
|
|
|
160
220
|
"lastService"
|
|
161
221
|
],
|
|
162
222
|
"additionalProperties": false,
|
|
163
|
-
"description": "Model-scoped account routing evidence: live refusal marks, temporary capability marks and the durable last-served order."
|
|
223
|
+
"description": "Model-scoped account routing evidence: live refusal marks, temporary capability marks, model-scoped credential refusals and the durable last-served order."
|
|
164
224
|
}
|
|
165
225
|
},
|
|
166
226
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -656,7 +656,7 @@
|
|
|
656
656
|
"tool_allowlist",
|
|
657
657
|
"none"
|
|
658
658
|
],
|
|
659
|
-
"description": "How read-only access
|
|
659
|
+
"description": "How a harness applies read-only access: a filesystem sandbox, permission denial, a tool allowlist, or none (read-only intent is advisory).",
|
|
660
660
|
"default": "none"
|
|
661
661
|
},
|
|
662
662
|
"write_mechanism": {
|
|
@@ -1157,7 +1157,7 @@
|
|
|
1157
1157
|
"description": "Active filesystem/command access profile for a run: readonly (no writes), workspace_write (use the harness's native workspace-write policy), full (unrestricted; requires the per-repo trust allow for a run an operator starts at a surface, not for an execution.delegated run), inherit_native (defer to the harness's own native settings)."
|
|
1158
1158
|
},
|
|
1159
1159
|
"default": [],
|
|
1160
|
-
"description": "Access profiles the adapter can
|
|
1160
|
+
"description": "Access profiles the adapter can translate to its harness."
|
|
1161
1161
|
}
|
|
1162
1162
|
},
|
|
1163
1163
|
"required": [
|
|
@@ -635,7 +635,7 @@
|
|
|
635
635
|
"tool_allowlist",
|
|
636
636
|
"none"
|
|
637
637
|
],
|
|
638
|
-
"description": "How read-only access
|
|
638
|
+
"description": "How a harness applies read-only access: a filesystem sandbox, permission denial, a tool allowlist, or none (read-only intent is advisory).",
|
|
639
639
|
"default": "none"
|
|
640
640
|
},
|
|
641
641
|
"write_mechanism": {
|
|
@@ -1136,7 +1136,7 @@
|
|
|
1136
1136
|
"description": "Active filesystem/command access profile for a run: readonly (no writes), workspace_write (use the harness's native workspace-write policy), full (unrestricted; requires the per-repo trust allow for a run an operator starts at a surface, not for an execution.delegated run), inherit_native (defer to the harness's own native settings)."
|
|
1137
1137
|
},
|
|
1138
1138
|
"default": [],
|
|
1139
|
-
"description": "Access profiles the adapter can
|
|
1139
|
+
"description": "Access profiles the adapter can translate to its harness."
|
|
1140
1140
|
}
|
|
1141
1141
|
},
|
|
1142
1142
|
"required": [
|
|
@@ -635,7 +635,7 @@
|
|
|
635
635
|
"tool_allowlist",
|
|
636
636
|
"none"
|
|
637
637
|
],
|
|
638
|
-
"description": "How read-only access
|
|
638
|
+
"description": "How a harness applies read-only access: a filesystem sandbox, permission denial, a tool allowlist, or none (read-only intent is advisory).",
|
|
639
639
|
"default": "none"
|
|
640
640
|
},
|
|
641
641
|
"write_mechanism": {
|
|
@@ -1136,7 +1136,7 @@
|
|
|
1136
1136
|
"description": "Active filesystem/command access profile for a run: readonly (no writes), workspace_write (use the harness's native workspace-write policy), full (unrestricted; requires the per-repo trust allow for a run an operator starts at a surface, not for an execution.delegated run), inherit_native (defer to the harness's own native settings)."
|
|
1137
1137
|
},
|
|
1138
1138
|
"default": [],
|
|
1139
|
-
"description": "Access profiles the adapter can
|
|
1139
|
+
"description": "Access profiles the adapter can translate to its harness."
|
|
1140
1140
|
}
|
|
1141
1141
|
},
|
|
1142
1142
|
"required": [
|