@openwop/spec-artifacts 2.42.6 → 2.42.8
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/CORPUS-STAMP.json +70 -67
- package/api/seams-v2.yaml +238 -322
- package/api/v2/asyncapi.yaml +83 -113
- package/api/v2/openapi.yaml +408 -724
- package/package.json +1 -1
- package/schemas/audit-verify-result.schema.json +2 -2
- package/schemas/v2/audit-verify-result.schema.json +2 -2
- package/schemas/v2/capabilities.schema.json +4 -7
- package/schemas/v2/error-envelope.schema.json +144 -69
- package/spec/v1/alias-detectors.json +6 -0
- package/spec/v1/core-standard-manifest.json +2 -2
- package/spec/v1/deprecations.json +22 -0
- package/spec/v1/gaps.json +188 -1
- package/spec/v1/migrations.json +18 -0
- package/spec/v2/README.md +35 -37
- package/spec/v2/core/capabilities.md +186 -119
- package/spec/v2/core/conformance.md +78 -27
- package/spec/v2/core/connection-packs.md +8 -3
- package/spec/v2/core/conversation.md +10 -4
- package/spec/v2/core/errors.md +30 -9
- package/spec/v2/core/events.md +116 -80
- package/spec/v2/core/form-content-packs.md +11 -13
- package/spec/v2/core/headers.md +23 -14
- package/spec/v2/core/host-services.md +22 -5
- package/spec/v2/core/i18n.md +64 -0
- package/spec/v2/core/idempotency.md +48 -36
- package/spec/v2/core/identity.md +110 -42
- package/spec/v2/core/interop.md +82 -21
- package/spec/v2/core/interrupt.md +79 -40
- package/spec/v2/core/node-pack-runtimes.md +18 -4
- package/spec/v2/core/oauth.md +40 -6
- package/spec/v2/core/overview.md +61 -33
- package/spec/v2/core/packs.md +53 -28
- package/spec/v2/core/persistence.md +61 -80
- package/spec/v2/core/portability.md +44 -0
- package/spec/v2/core/replay.md +56 -42
- package/spec/v2/core/runs.md +198 -60
- package/spec/v2/core/security-defaults.md +57 -33
- package/spec/v2/core/tool-catalog.md +29 -6
- package/spec/v2/core/versioning.md +115 -50
- package/spec/v2/core/webhooks.md +61 -20
- package/spec/v2/core/workflow-chain-packs.md +16 -14
- package/spec/v2/corrections.json +17 -1
- package/spec/v2/corrections.schema.json +1 -1
- package/spec/v2/declaration.json +26 -9
- package/spec/v2/declaration.schema.json +10 -0
- package/spec/v2/errors.json +121 -4
- package/spec/v2/errors.schema.json +38 -0
- package/spec/v2/ext/README.md +36 -23
- package/spec/v2/ext/a2uiSurface/README.md +75 -89
- package/spec/v2/ext/brand/README.md +15 -15
- package/spec/v2/ext/canvas/README.md +15 -15
- package/spec/v2/ext/chat/README.md +15 -15
- package/spec/v2/ext/coordination/README.md +15 -15
- package/spec/v2/ext/dataIntegration/README.md +17 -20
- package/spec/v2/ext/entities/README.md +15 -15
- package/spec/v2/ext/grpc-transport/README.md +6 -8
- package/spec/v2/ext/kanban/README.md +15 -15
- package/spec/v2/ext/knowledge/README.md +15 -15
- package/spec/v2/ext/launchStudio/README.md +16 -16
- package/spec/v2/ext/messaging/README.md +15 -15
- package/spec/v2/ext/portability/README.md +3 -17
- package/spec/v2/ext/provider-idempotency/README.md +7 -10
- package/spec/v2/ext/restTransport/README.md +30 -19
- package/spec/v2/ext/sandbox-runtime-notes/README.md +7 -9
- package/spec/v2/ext/webResearch/README.md +16 -16
- package/spec/v2/profiles.json +6 -2
- package/spec/v2/release.json +2 -2
- package/spec/v2/surface-baseline.json +544 -2
package/api/v2/asyncapi.yaml
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
asyncapi: 3.1.0
|
|
2
2
|
info:
|
|
3
3
|
title: OpenWOP v2 event streams
|
|
4
|
-
version: 2.42.
|
|
5
|
-
description:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
version: 2.42.8
|
|
5
|
+
description: 'OpenWOP v2 event streams over SSE. The run-events channel''s address is the OpenAPI path key, and the server
|
|
6
|
+
pathname is empty (bare origin). `streamMode` is a stream mode from the closed set, or a comma-separated combination of
|
|
7
|
+
them; `values` never combines. `hostEvents` has a default address, `/host/events`; a host MAY declare another under `heartbeat.deliveryChannel`.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
Generated from `api/asyncapi.yaml` by `scripts/derive-v2-api.py`; do not edit.'
|
|
9
11
|
defaultContentType: text/event-stream
|
|
10
12
|
servers:
|
|
11
13
|
production:
|
|
@@ -21,13 +23,13 @@ channels:
|
|
|
21
23
|
title: Run event stream (SSE)
|
|
22
24
|
parameters:
|
|
23
25
|
runId:
|
|
24
|
-
description: ids.schema.json#/$defs/runId
|
|
26
|
+
description: The run to subscribe to (`ids.schema.json#/$defs/runId`).
|
|
25
27
|
messages:
|
|
26
28
|
runEvent:
|
|
27
29
|
$ref: '#/components/messages/RunEvent'
|
|
28
30
|
hostEvents:
|
|
29
31
|
address: /host/events
|
|
30
|
-
title: Host-scoped events (heartbeat
|
|
32
|
+
title: Host-scoped events (`heartbeat.*`)
|
|
31
33
|
messages:
|
|
32
34
|
heartbeatEvaluated:
|
|
33
35
|
$ref: '#/components/messages/HeartbeatEvaluated'
|
|
@@ -39,8 +41,8 @@ operations:
|
|
|
39
41
|
channel:
|
|
40
42
|
$ref: '#/channels/runEvents'
|
|
41
43
|
title: Subscribe to a run's events
|
|
42
|
-
description:
|
|
43
|
-
|
|
44
|
+
description: A long-lived SSE subscription that closes after a terminal run event. `Last-Event-ID` resumes from the sequence
|
|
45
|
+
after the supplied one. A mixed mode is the union of its filters, and each event carries its own `event:` label (`stream-modes.md`).
|
|
44
46
|
bindings:
|
|
45
47
|
http:
|
|
46
48
|
method: GET
|
|
@@ -66,98 +68,99 @@ components:
|
|
|
66
68
|
type: http
|
|
67
69
|
scheme: bearer
|
|
68
70
|
bearerFormat: API key
|
|
69
|
-
description:
|
|
70
|
-
|
|
71
|
+
description: Bearer API key; the same scheme as `ApiKeyAuth` in `api/v2/openapi.yaml`. Subscribing requires the `runs:read`
|
|
72
|
+
scope.
|
|
71
73
|
parameters:
|
|
72
74
|
RunId:
|
|
73
75
|
description: The run to subscribe to. Format opaque; clients MUST treat as a string.
|
|
74
76
|
messages:
|
|
75
77
|
EvalStarted:
|
|
76
78
|
name: eval.started
|
|
77
|
-
title: Eval run started
|
|
78
|
-
summary: An eval run began. Content-free
|
|
79
|
+
title: Eval run started
|
|
80
|
+
summary: 'An eval run began. Content-free: suite provenance and counts only. Gated on `capabilities.agents.evalSuite.supported`.'
|
|
79
81
|
contentType: application/json
|
|
80
82
|
payload:
|
|
81
83
|
$ref: '#/components/schemas/EvalStartedPayload'
|
|
82
84
|
EvalScored:
|
|
83
85
|
name: eval.scored
|
|
84
|
-
title: Eval task scored
|
|
85
|
-
summary: One eval task was scored
|
|
86
|
-
|
|
86
|
+
title: Eval task scored
|
|
87
|
+
summary: 'One eval task was scored, emitted per task after its terminal `agent.decided`. Content-free: `taskId`, score
|
|
88
|
+
and scalars only, never task output (`eval-summary-no-content-leak`).'
|
|
87
89
|
contentType: application/json
|
|
88
90
|
payload:
|
|
89
91
|
$ref: '#/components/schemas/EvalScoredPayload'
|
|
90
92
|
EvalCompleted:
|
|
91
93
|
name: eval.completed
|
|
92
|
-
title: Eval run completed
|
|
93
|
-
summary: An eval run finished. Content-free aggregate scalars; the full scorecard is the run output, read
|
|
94
|
+
title: Eval run completed
|
|
95
|
+
summary: An eval run finished. Content-free aggregate scalars; the full scorecard is the run output, read with `GET
|
|
96
|
+
/runs/{runId}/eval-summary`.
|
|
94
97
|
contentType: application/json
|
|
95
98
|
payload:
|
|
96
99
|
$ref: '#/components/schemas/EvalCompletedPayload'
|
|
97
100
|
DeploymentPromoted:
|
|
98
101
|
name: deployment.promoted
|
|
99
|
-
title: Deployment promoted
|
|
100
|
-
summary: A version was promoted into a new lifecycle state
|
|
101
|
-
|
|
102
|
+
title: Deployment promoted
|
|
103
|
+
summary: A version was promoted into a new lifecycle state, gated by the `deploy:*` scope, the approvalGate, and `requiredEval`.
|
|
104
|
+
Content-free (`deployment-event-no-content-leak`); principal-stamped and audit-logged.
|
|
102
105
|
contentType: application/json
|
|
103
106
|
payload:
|
|
104
107
|
$ref: '#/components/schemas/DeploymentPromotedPayload'
|
|
105
108
|
DeploymentRolledBack:
|
|
106
109
|
name: deployment.rolled-back
|
|
107
|
-
title: Deployment rolled back
|
|
110
|
+
title: Deployment rolled back
|
|
108
111
|
summary: An active version was rolled back and a prior version restored. Content-free; recorded-fact; audit-logged.
|
|
109
112
|
contentType: application/json
|
|
110
113
|
payload:
|
|
111
114
|
$ref: '#/components/schemas/DeploymentRolledBackPayload'
|
|
112
115
|
DeploymentCanaryAdjusted:
|
|
113
116
|
name: deployment.canary-adjusted
|
|
114
|
-
title: Deployment canary adjusted
|
|
117
|
+
title: Deployment canary adjusted
|
|
115
118
|
summary: An active version's canary traffic share changed. Content-free; recorded-fact; audit-logged.
|
|
116
119
|
contentType: application/json
|
|
117
120
|
payload:
|
|
118
121
|
$ref: '#/components/schemas/DeploymentCanaryAdjustedPayload'
|
|
119
122
|
DeploymentStateChanged:
|
|
120
123
|
name: deployment.state-changed
|
|
121
|
-
title: Deployment state changed
|
|
122
|
-
summary: A non-promotion lifecycle transition (pause
|
|
124
|
+
title: Deployment state changed
|
|
125
|
+
summary: A non-promotion lifecycle transition (pause, resume, deprecate). Content-free; recorded-fact; audit-logged.
|
|
123
126
|
contentType: application/json
|
|
124
127
|
payload:
|
|
125
128
|
$ref: '#/components/schemas/DeploymentStateChangedPayload'
|
|
126
129
|
ProposalCreated:
|
|
127
130
|
name: proposal.created
|
|
128
|
-
title: Proposal created
|
|
129
|
-
summary: The host synthesized a reviewable-learning draft. Content-free
|
|
130
|
-
or rationale (proposal-inert-until-applied). Emitted only when capabilities.agents.proposals is advertised.
|
|
131
|
+
title: Proposal created
|
|
132
|
+
summary: 'The host synthesized a reviewable-learning draft. Content-free: ids, kind and refs only, never the artifact
|
|
133
|
+
body or rationale (`proposal-inert-until-applied`). Emitted only when `capabilities.agents.proposals` is advertised.'
|
|
131
134
|
contentType: application/json
|
|
132
135
|
payload:
|
|
133
136
|
$ref: '#/components/schemas/ProposalCreatedPayload'
|
|
134
137
|
ProposalActivated:
|
|
135
138
|
name: proposal.activated
|
|
136
|
-
title: Proposal activated
|
|
137
|
-
summary: A proposal was applied
|
|
138
|
-
draft (proposal-no-resynthesis).
|
|
139
|
+
title: Proposal activated
|
|
140
|
+
summary: A proposal was applied, through its approval gate and authorization check. Content-free; the installed artifact
|
|
141
|
+
byte-matches the last-persisted draft (`proposal-no-resynthesis`).
|
|
139
142
|
contentType: application/json
|
|
140
143
|
payload:
|
|
141
144
|
$ref: '#/components/schemas/ProposalActivatedPayload'
|
|
142
145
|
GoalEvaluated:
|
|
143
146
|
name: goal.evaluated
|
|
144
|
-
title: Goal evaluated
|
|
145
|
-
summary: A judge check ran against a standing goal. Content-free
|
|
146
|
-
on replay
|
|
147
|
+
title: Goal evaluated
|
|
148
|
+
summary: 'A judge check ran against a standing goal. Content-free: no objective text. The verdict is recorded, not recomputed
|
|
149
|
+
on replay.'
|
|
147
150
|
contentType: application/json
|
|
148
151
|
payload:
|
|
149
152
|
$ref: '#/components/schemas/GoalEvaluatedPayload'
|
|
150
153
|
GoalClosed:
|
|
151
154
|
name: goal.closed
|
|
152
|
-
title: Goal closed
|
|
153
|
-
summary: A standing goal stopped continuation (satisfied
|
|
155
|
+
title: Goal closed
|
|
156
|
+
summary: A standing goal stopped continuation (satisfied, escalated, abandoned, or bound-exceeded). Content-free.
|
|
154
157
|
contentType: application/json
|
|
155
158
|
payload:
|
|
156
159
|
$ref: '#/components/schemas/GoalClosedPayload'
|
|
157
160
|
ImportApplied:
|
|
158
161
|
name: import.applied
|
|
159
|
-
title: Import applied
|
|
160
|
-
summary: An estate import was applied. Content-free
|
|
162
|
+
title: Import applied
|
|
163
|
+
summary: 'An estate import was applied. Content-free: counts and refs only, never item payloads or secret values (`export-bundle-no-credential-material`).'
|
|
161
164
|
contentType: application/json
|
|
162
165
|
payload:
|
|
163
166
|
$ref: '#/components/schemas/ImportAppliedPayload'
|
|
@@ -191,37 +194,37 @@ components:
|
|
|
191
194
|
$ref: '#/components/schemas/RunEventDoc'
|
|
192
195
|
CompensationRequested:
|
|
193
196
|
name: compensation.requested
|
|
194
|
-
title: Compensation plan persisted
|
|
195
|
-
summary: The unwind plan is durable.
|
|
196
|
-
unwinding first cannot resume after a crash, and
|
|
197
|
+
title: Compensation plan persisted
|
|
198
|
+
summary: 'The unwind plan is durable. This event is required before the first inverse action executes: a host that starts
|
|
199
|
+
unwinding first cannot resume after a crash, and a crash is when resumption matters.'
|
|
197
200
|
contentType: application/json
|
|
198
201
|
payload:
|
|
199
202
|
$ref: '#/components/schemas/RunEventDoc'
|
|
200
203
|
CompensationStarted:
|
|
201
204
|
name: compensation.started
|
|
202
|
-
title: First inverse action started
|
|
203
|
-
summary: Compensation began executing. MUST follow compensation.requested
|
|
205
|
+
title: First inverse action started
|
|
206
|
+
summary: Compensation began executing. MUST follow `compensation.requested`.
|
|
204
207
|
contentType: application/json
|
|
205
208
|
payload:
|
|
206
209
|
$ref: '#/components/schemas/RunEventDoc'
|
|
207
210
|
CompensationCompleted:
|
|
208
211
|
name: compensation.completed
|
|
209
|
-
title: Compensation completed
|
|
212
|
+
title: Compensation completed
|
|
210
213
|
summary: Every inverse action in the plan succeeded.
|
|
211
214
|
contentType: application/json
|
|
212
215
|
payload:
|
|
213
216
|
$ref: '#/components/schemas/RunEventDoc'
|
|
214
217
|
CompensationFailed:
|
|
215
218
|
name: compensation.failed
|
|
216
|
-
title: Compensation failed
|
|
217
|
-
summary: An inverse action exhausted its retries. Compensation is a second effect, not an undo
|
|
218
|
-
run's compensationStatus records that rather than the run silently reporting success.
|
|
219
|
+
title: Compensation failed
|
|
220
|
+
summary: 'An inverse action exhausted its retries. Compensation is a second effect, not an undo: it can fail, and the
|
|
221
|
+
run''s `compensationStatus` records that rather than the run silently reporting success.'
|
|
219
222
|
contentType: application/json
|
|
220
223
|
payload:
|
|
221
224
|
$ref: '#/components/schemas/RunEventDoc'
|
|
222
225
|
CompensationPaused:
|
|
223
226
|
name: compensation.paused
|
|
224
|
-
title: Compensation paused for authorized intervention
|
|
227
|
+
title: Compensation paused for authorized intervention
|
|
225
228
|
summary: Cancelling the parent MUST NOT silently abandon an active compensation. It continues, pauses here, or records
|
|
226
229
|
manual intervention required.
|
|
227
230
|
contentType: application/json
|
|
@@ -229,8 +232,8 @@ components:
|
|
|
229
232
|
$ref: '#/components/schemas/RunEventDoc'
|
|
230
233
|
CompensationManualInterventionRequired:
|
|
231
234
|
name: compensation.manual-intervention-required
|
|
232
|
-
title: Compensation needs an operator
|
|
233
|
-
summary: The host cannot proceed unaided. Recorded explicitly because an unwind that stops without saying so is indistinguishable
|
|
235
|
+
title: Compensation needs an operator
|
|
236
|
+
summary: The host cannot proceed unaided. Recorded explicitly, because an unwind that stops without saying so is indistinguishable
|
|
234
237
|
from one that finished.
|
|
235
238
|
contentType: application/json
|
|
236
239
|
payload:
|
|
@@ -251,32 +254,32 @@ components:
|
|
|
251
254
|
$ref: '#/components/schemas/RunEventDoc'
|
|
252
255
|
RunAnnotated:
|
|
253
256
|
name: run.annotated
|
|
254
|
-
title: Run annotated
|
|
255
|
-
summary: A non-blocking quality annotation was recorded for the run. Live notification
|
|
256
|
-
entry
|
|
257
|
+
title: Run annotated
|
|
258
|
+
summary: 'A non-blocking quality annotation was recorded for the run. Live notification only, not a replayable run-event-log
|
|
259
|
+
entry: its payload is an `Annotation`, not a `RunEventDoc`, so it is excluded from fork and replay.'
|
|
257
260
|
contentType: application/json
|
|
258
261
|
payload:
|
|
259
262
|
$ref: '#/components/schemas/Annotation'
|
|
260
263
|
WorkspaceUpdated:
|
|
261
264
|
name: workspace.updated
|
|
262
|
-
title: Workspace file updated
|
|
263
|
-
summary: A workspace file was created, replaced, or deleted
|
|
264
|
-
file path
|
|
265
|
-
entry
|
|
265
|
+
title: Workspace file updated
|
|
266
|
+
summary: 'A workspace file was created, replaced, or deleted through the `host.workspace` store. Content-free: it carries
|
|
267
|
+
the file path and resulting version only; the body is served by the read side, SR-1-redacted. A replayable run-event-log
|
|
268
|
+
entry, re-read from the log on replay and never regenerated. Gated on `capabilities.workspace.supported`.'
|
|
266
269
|
contentType: application/json
|
|
267
270
|
payload:
|
|
268
271
|
$ref: '#/components/schemas/WorkspaceUpdatedPayload'
|
|
269
272
|
HeartbeatEvaluated:
|
|
270
273
|
name: heartbeat.evaluated
|
|
271
|
-
title: Heartbeat evaluated
|
|
272
|
-
summary: A heartbeat predicate was evaluated this tick (status
|
|
274
|
+
title: Heartbeat evaluated
|
|
275
|
+
summary: A heartbeat predicate was evaluated this tick (status and a changed flag). Heartbeat-scoped observability.
|
|
273
276
|
contentType: application/json
|
|
274
277
|
payload:
|
|
275
278
|
$ref: '#/components/schemas/HeartbeatEvaluated'
|
|
276
279
|
HeartbeatStateChanged:
|
|
277
280
|
name: heartbeat.stateChanged
|
|
278
|
-
title: Heartbeat state changed
|
|
279
|
-
summary: A heartbeat predicate's state transitioned
|
|
281
|
+
title: Heartbeat state changed
|
|
282
|
+
summary: A heartbeat predicate's state transitioned. Emitted only on a change, never on an unchanged tick. Heartbeat-scoped.
|
|
280
283
|
contentType: application/json
|
|
281
284
|
payload:
|
|
282
285
|
$ref: '#/components/schemas/HeartbeatStateChanged'
|
|
@@ -306,23 +309,23 @@ components:
|
|
|
306
309
|
$ref: '#/components/schemas/RunEventDoc'
|
|
307
310
|
NodeDispatched:
|
|
308
311
|
name: node.dispatched
|
|
309
|
-
title: core.dispatch spawned a child workflow
|
|
312
|
+
title: '`core.dispatch` spawned a child workflow'
|
|
310
313
|
contentType: application/json
|
|
311
314
|
payload:
|
|
312
315
|
$ref: '#/components/schemas/RunEventDoc'
|
|
313
316
|
DispatchFanOut:
|
|
314
317
|
name: dispatch.fanned-out
|
|
315
|
-
title: core.dispatch began a parallel fan-out wave
|
|
316
|
-
summary: Emitted when a fanOutPolicy=parallel wave begins; payload
|
|
317
|
-
Parallel path only.
|
|
318
|
+
title: '`core.dispatch` began a parallel fan-out wave'
|
|
319
|
+
summary: Emitted when a `fanOutPolicy=parallel` wave begins; the payload (`$defs.dispatchFanOut`) carries `childCount`,
|
|
320
|
+
`maxConcurrency` and `joinMode`. Parallel path only.
|
|
318
321
|
contentType: application/json
|
|
319
322
|
payload:
|
|
320
323
|
$ref: '#/components/schemas/RunEventDoc'
|
|
321
324
|
DispatchJoin:
|
|
322
325
|
name: dispatch.joined
|
|
323
|
-
title: core.dispatch parallel join satisfied
|
|
324
|
-
summary: Emitted when a fanOutPolicy=parallel join is satisfied
|
|
325
|
-
|
|
326
|
+
title: '`core.dispatch` parallel join satisfied'
|
|
327
|
+
summary: Emitted when a `fanOutPolicy=parallel` join is satisfied or failed; the payload (`$defs.dispatchJoin`) carries
|
|
328
|
+
`joinOutcome` and the replay-deterministic `mergeOrder`.
|
|
326
329
|
contentType: application/json
|
|
327
330
|
payload:
|
|
328
331
|
$ref: '#/components/schemas/RunEventDoc'
|
|
@@ -355,21 +358,9 @@ components:
|
|
|
355
358
|
InterruptRequested:
|
|
356
359
|
name: interrupt.requested
|
|
357
360
|
title: Interrupt requested (canonical HITL primitive)
|
|
358
|
-
summary: 'The discriminated-union form of the full `interrupt.md` kind union
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
conversation.start / conversation.exchange / conversation.close /
|
|
363
|
-
|
|
364
|
-
low-confidence.
|
|
365
|
-
|
|
366
|
-
Servers emitting `interrupt.requested` SHOULD also emit the legacy
|
|
367
|
-
|
|
368
|
-
kind-specific event (`approval.requested` etc) for backward compat
|
|
369
|
-
|
|
370
|
-
until consumers migrate.
|
|
371
|
-
|
|
372
|
-
'
|
|
361
|
+
summary: 'The discriminated-union form of the full `interrupt.md` kind union: approval, clarification, external-event,
|
|
362
|
+
custom, conversation.start, conversation.exchange, conversation.close, low-confidence. Servers emitting `interrupt.requested`
|
|
363
|
+
SHOULD also emit the kind-specific event (`approval.requested` etc.) until consumers migrate.'
|
|
373
364
|
contentType: application/json
|
|
374
365
|
payload:
|
|
375
366
|
$ref: '#/components/schemas/RunEventDoc'
|
|
@@ -389,13 +380,8 @@ components:
|
|
|
389
380
|
StateSnapshot:
|
|
390
381
|
name: state.snapshot
|
|
391
382
|
title: Full projected run state
|
|
392
|
-
summary:
|
|
393
|
-
|
|
394
|
-
each `updates`-tier transition. NOT a member of the canonical
|
|
395
|
-
|
|
396
|
-
`RunEventType` enum — this is a per-mode synthetic.
|
|
397
|
-
|
|
398
|
-
'
|
|
383
|
+
summary: Synthesized event the server emits in `values` mode after each `updates`-tier transition. It is not a member
|
|
384
|
+
of the canonical `RunEventType` enum; it is a per-mode synthetic.
|
|
399
385
|
contentType: application/json
|
|
400
386
|
payload:
|
|
401
387
|
$ref: '#/components/schemas/StateSnapshotPayload'
|
|
@@ -409,27 +395,11 @@ components:
|
|
|
409
395
|
AnyRunEvent:
|
|
410
396
|
name: any
|
|
411
397
|
title: Any RunEventDoc
|
|
412
|
-
summary: 'Type-erased handler for `debug` mode
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
named messages above are a curated `updates`-tier subset).
|
|
419
|
-
|
|
420
|
-
Includes events filtered out of `updates`: `log.appended`,
|
|
421
|
-
|
|
422
|
-
`variable.changed`, `version.pinned`, `lease.*`, `node.retried`,
|
|
423
|
-
|
|
424
|
-
`replay.diverged`, `connector.authorized`,
|
|
425
|
-
|
|
426
|
-
`connector.auth_expired` (RFC 0047), `authorization.decided`
|
|
427
|
-
|
|
428
|
-
(RFC 0049), `approval.granted` / `approval.rejected` /
|
|
429
|
-
|
|
430
|
-
`approval.overridden` (RFC 0051), etc.
|
|
431
|
-
|
|
432
|
-
'
|
|
398
|
+
summary: 'Type-erased handler for `debug` mode. Discriminate on the `type` field using the `RunEventType` enum in the
|
|
399
|
+
run-event JSON Schema, the authoritative and exhaustive event list; the named messages above are a curated `updates`-tier
|
|
400
|
+
subset. Includes events filtered out of `updates`: `log.appended`, `variable.changed`, `version.pinned`, `lease.*`,
|
|
401
|
+
`node.retried`, `replay.diverged`, `connector.authorized`, `connector.auth_expired`, `authorization.decided`, `approval.granted`
|
|
402
|
+
/ `approval.rejected` / `approval.overridden`, etc.'
|
|
433
403
|
contentType: application/json
|
|
434
404
|
payload:
|
|
435
405
|
$ref: '#/components/schemas/RunEventDoc'
|
|
@@ -477,11 +447,11 @@ components:
|
|
|
477
447
|
$ref: '#/components/schemas/RunEventDoc'
|
|
478
448
|
RunEvent:
|
|
479
449
|
name: runEvent
|
|
480
|
-
title: Run event
|
|
450
|
+
title: Run event
|
|
481
451
|
contentType: text/event-stream
|
|
482
452
|
payload:
|
|
483
453
|
$ref: ../../schemas/v2/run-event.schema.json
|
|
484
|
-
description: One SSE frame per run event
|
|
454
|
+
description: 'One SSE frame per run event: `event:` is the v2 type and `id:` is the sequence.'
|
|
485
455
|
schemas:
|
|
486
456
|
RunEventDoc:
|
|
487
457
|
$ref: ../../schemas/v2/run-event.schema.json
|