pi-radar 0.9.0 → 0.11.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/README.md +8 -10
- package/dist/extension/baseline.js +343 -361
- package/dist/extension/radar-children.js +108 -218
- package/dist/extension/radar-client.js +103 -15
- package/dist/extension/radar-execution.js +26 -17
- package/dist/extension/radar-inspection.js +0 -45
- package/dist/extension/radar-launch.js +24 -185
- package/dist/extension/radar-publication.js +26 -17
- package/dist/extension/radar-runtime.js +1 -1
- package/dist/index.js +317 -488
- package/extension/generated-contracts.ts +362 -13
- package/extension/radar-children.ts +60 -155
- package/extension/radar-client.ts +130 -19
- package/extension/radar-inspection.ts +2 -77
- package/extension/radar-launch.ts +52 -391
- package/extension/radar-publication.ts +36 -53
- package/extension/radar-runtime.ts +1 -1
- package/package.json +1 -1
- package/schema/public/v1/observation-get-response.deserialize.schema.json +5 -25
- package/schema/public/v1/observation-get-response.serialize.schema.json +7 -29
- package/schema/public/v1/observation-snapshot.deserialize.schema.json +5 -25
- package/schema/public/v1/observation-snapshot.serialize.schema.json +7 -29
- package/schema/public/v1/spawn-list-page.deserialize.schema.json +40 -17
- package/schema/public/v1/spawn-list-page.serialize.schema.json +40 -17
- package/schema/public/v1/subject-assignment-acquire.deserialize.schema.json +78 -0
- package/schema/public/v1/subject-assignment-acquire.serialize.schema.json +79 -0
- package/schema/public/v1/subject-assignment-publish.deserialize.schema.json +310 -0
- package/schema/public/v1/subject-assignment-publish.serialize.schema.json +310 -0
- package/schema/public/v1/subject-assignment-retire.deserialize.schema.json +22 -0
- package/schema/public/v1/subject-assignment-retire.serialize.schema.json +22 -0
- package/schema/public/v1/subject-child-get-params.deserialize.schema.json +18 -0
- package/schema/public/v1/subject-child-get-params.serialize.schema.json +18 -0
- package/schema/public/v1/subject-children-params.deserialize.schema.json +51 -0
- package/schema/public/v1/subject-children-params.serialize.schema.json +54 -0
- package/schema/public/v1/subject-get-params.deserialize.schema.json +14 -0
- package/schema/public/v1/subject-get-params.serialize.schema.json +14 -0
- package/schema/public/v1/subject-get-result.deserialize.schema.json +566 -0
- package/schema/public/v1/subject-get-result.serialize.schema.json +573 -0
- package/schema/public/v1/subject-list-params.deserialize.schema.json +38 -0
- package/schema/public/v1/subject-list-params.serialize.schema.json +43 -0
- package/schema/public/v1/subject-list-result.deserialize.schema.json +575 -0
- package/schema/public/v1/subject-list-result.serialize.schema.json +583 -0
|
@@ -1,5 +1,348 @@
|
|
|
1
1
|
// Generated from the checked-in Rust-derived JSON Schemas. Do not edit.
|
|
2
2
|
|
|
3
|
+
export interface SubjectGetParams {
|
|
4
|
+
subject_id: string;
|
|
5
|
+
}
|
|
6
|
+
export interface SubjectChildGetParams {
|
|
7
|
+
registration_id: string;
|
|
8
|
+
subject_id: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Freshness is independent of process identity or completion.
|
|
12
|
+
*/
|
|
13
|
+
export type SubjectGetResultFreshness = "fresh" | "stale";
|
|
14
|
+
/**
|
|
15
|
+
* One complete accepted snapshot, typed by the channel that carries it. Each
|
|
16
|
+
* variant is strict about its own fields, so a field from another channel is
|
|
17
|
+
* refused rather than silently dropped.
|
|
18
|
+
*/
|
|
19
|
+
export type SubjectGetResultReport =
|
|
20
|
+
SubjectGetResultSnapshot | SubjectGetResultAssignmentSnapshot | SubjectGetResultFactsSnapshot;
|
|
21
|
+
export type SubjectGetResultAttachmentState = "starting" | "live" | "detached" | "unknown";
|
|
22
|
+
|
|
23
|
+
export interface SubjectGetResult {
|
|
24
|
+
subject: SubjectGetResultSubject;
|
|
25
|
+
}
|
|
26
|
+
export interface SubjectGetResultSubject {
|
|
27
|
+
assignment: SubjectGetResultChannelFacts | null;
|
|
28
|
+
execution: SubjectGetResultChannelFacts | null;
|
|
29
|
+
facts: SubjectGetResultChannelFacts | null;
|
|
30
|
+
location: SubjectGetResultRegistryLocation | null;
|
|
31
|
+
managed: SubjectGetResultManagedMetadata;
|
|
32
|
+
/**
|
|
33
|
+
* Recorded scope ownership, not proof of current cgroup membership.
|
|
34
|
+
*/
|
|
35
|
+
scoped: boolean | null;
|
|
36
|
+
session_id: string | null;
|
|
37
|
+
state: SubjectGetResultAttachmentState;
|
|
38
|
+
subject_id: string;
|
|
39
|
+
}
|
|
40
|
+
export interface SubjectGetResultChannelFacts {
|
|
41
|
+
snapshot: SubjectGetResultPublicSnapshotFacts | null;
|
|
42
|
+
writer: SubjectGetResultPublicWriterFacts;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* The last accepted report as an unrelated reader may see it, leaving out the
|
|
46
|
+
* handle that fences further writes.
|
|
47
|
+
*/
|
|
48
|
+
export interface SubjectGetResultPublicSnapshotFacts {
|
|
49
|
+
expires_at: string;
|
|
50
|
+
freshness: SubjectGetResultFreshness;
|
|
51
|
+
generation: number;
|
|
52
|
+
incarnation: string;
|
|
53
|
+
lease_ms: number;
|
|
54
|
+
observed_at?: string | null;
|
|
55
|
+
received_at: string;
|
|
56
|
+
reporting_owner?: string | null;
|
|
57
|
+
restored: boolean;
|
|
58
|
+
sequence: number;
|
|
59
|
+
snapshot: SubjectGetResultReport;
|
|
60
|
+
source: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* One complete snapshot for one channel. Vocabulary is free-form; shape is
|
|
64
|
+
* strict. Unknown state/reason/action words survive, unknown fields do not.
|
|
65
|
+
*/
|
|
66
|
+
export interface SubjectGetResultSnapshot {
|
|
67
|
+
actions?: string[];
|
|
68
|
+
activity: string;
|
|
69
|
+
last_outcome?: SubjectGetResultOutcome | null;
|
|
70
|
+
waiting_reason?: string | null;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* A turn outcome kept distinct from current activity.
|
|
74
|
+
*/
|
|
75
|
+
export interface SubjectGetResultOutcome {
|
|
76
|
+
detail?: string | null;
|
|
77
|
+
/**
|
|
78
|
+
* Producer vocabulary is deliberately free-form.
|
|
79
|
+
*/
|
|
80
|
+
result: string;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* The owner's complete assignment snapshot: the shared base plus facts only an
|
|
84
|
+
* owner knows. It is authored by the owner's writer and is never derived from
|
|
85
|
+
* execution activity; the owner's identity is provenance, not authority.
|
|
86
|
+
*/
|
|
87
|
+
export interface SubjectGetResultAssignmentSnapshot {
|
|
88
|
+
actions?: string[];
|
|
89
|
+
activity: string;
|
|
90
|
+
ask?: string | null;
|
|
91
|
+
assigned_started_unix_ms?: number | null;
|
|
92
|
+
assignment?: string | null;
|
|
93
|
+
awaited?: string[];
|
|
94
|
+
definition?: string | null;
|
|
95
|
+
last_outcome?: SubjectGetResultOutcome | null;
|
|
96
|
+
request?: string | null;
|
|
97
|
+
role?: string | null;
|
|
98
|
+
run?: string | null;
|
|
99
|
+
waiting_reason?: string | null;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* The agent's own process facts. Self-authored by any Pi session, with no owner
|
|
103
|
+
* or assignment, and kept separate from execution and assignment. Every field
|
|
104
|
+
* is optional and a published snapshot replaces the whole value, so omission
|
|
105
|
+
* withdraws a fact. `context_window` is counts; a display derives the percentage.
|
|
106
|
+
*/
|
|
107
|
+
export interface SubjectGetResultFactsSnapshot {
|
|
108
|
+
background_started_unix_ms?: number | null;
|
|
109
|
+
background_tasks?: SubjectGetResultBackgroundTask[];
|
|
110
|
+
context_window?: SubjectGetResultContextWindow | null;
|
|
111
|
+
model?: string | null;
|
|
112
|
+
provider?: string | null;
|
|
113
|
+
session_name?: string | null;
|
|
114
|
+
thinking?: string | null;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* One background task the agent process reports as unresolved.
|
|
118
|
+
*/
|
|
119
|
+
export interface SubjectGetResultBackgroundTask {
|
|
120
|
+
id: string;
|
|
121
|
+
phase: string;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* How much of a model's context window a session has used, as counts.
|
|
125
|
+
*
|
|
126
|
+
* `window` is positive and `tokens` does not exceed it; the percentage a display
|
|
127
|
+
* shows is derived from these and never published. Wire counts stay exact in JS.
|
|
128
|
+
*/
|
|
129
|
+
export interface SubjectGetResultContextWindow {
|
|
130
|
+
tokens: number;
|
|
131
|
+
window: number;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* The current writer as an unrelated reader may see it: provenance and
|
|
135
|
+
* generation, without the opaque handle an update must present.
|
|
136
|
+
*/
|
|
137
|
+
export interface SubjectGetResultPublicWriterFacts {
|
|
138
|
+
generation: number;
|
|
139
|
+
incarnation: string;
|
|
140
|
+
reporting_owner?: string | null;
|
|
141
|
+
retired_at?: string | null;
|
|
142
|
+
sequence: number;
|
|
143
|
+
source: string;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Where an agent's incarnation lives on one backend, in that backend's own
|
|
147
|
+
* coordinates.
|
|
148
|
+
*
|
|
149
|
+
* The backend name is free-form so a source Radar does not ship yet is
|
|
150
|
+
* preserved rather than rejected; the rest are the coordinates as reported, and
|
|
151
|
+
* each is optional because a backend need not name every level.
|
|
152
|
+
*/
|
|
153
|
+
export interface SubjectGetResultRegistryLocation {
|
|
154
|
+
backend: string;
|
|
155
|
+
instance?: string | null;
|
|
156
|
+
pane?: string | null;
|
|
157
|
+
tab?: string | null;
|
|
158
|
+
workspace?: string | null;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* One durable launch subject. The correlation is a private credential and is
|
|
162
|
+
* spent at capture; no public read returns it.
|
|
163
|
+
*/
|
|
164
|
+
export interface SubjectGetResultManagedMetadata {
|
|
165
|
+
label?: string | null;
|
|
166
|
+
owner?: string | null;
|
|
167
|
+
parent_subject_id?: string | null;
|
|
168
|
+
role?: string | null;
|
|
169
|
+
run?: string | null;
|
|
170
|
+
}
|
|
171
|
+
export interface SubjectListParams {
|
|
172
|
+
after?: string | null;
|
|
173
|
+
limit?: number | null;
|
|
174
|
+
selection?: "live" | "retained" | "all";
|
|
175
|
+
}
|
|
176
|
+
export type SubjectChildrenParamsSelection = "live" | "retained" | "all";
|
|
177
|
+
|
|
178
|
+
export interface SubjectChildrenParams {
|
|
179
|
+
after?: string | null;
|
|
180
|
+
limit?: number | null;
|
|
181
|
+
registration_id: string;
|
|
182
|
+
selection?: SubjectChildrenParamsSelection | null;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Freshness is independent of process identity or completion.
|
|
186
|
+
*/
|
|
187
|
+
export type SubjectListResultFreshness = "fresh" | "stale";
|
|
188
|
+
/**
|
|
189
|
+
* One complete accepted snapshot, typed by the channel that carries it. Each
|
|
190
|
+
* variant is strict about its own fields, so a field from another channel is
|
|
191
|
+
* refused rather than silently dropped.
|
|
192
|
+
*/
|
|
193
|
+
export type SubjectListResultReport =
|
|
194
|
+
SubjectListResultSnapshot | SubjectListResultAssignmentSnapshot | SubjectListResultFactsSnapshot;
|
|
195
|
+
export type SubjectListResultAttachmentState = "starting" | "live" | "detached" | "unknown";
|
|
196
|
+
|
|
197
|
+
export interface SubjectListResult {
|
|
198
|
+
next: string | null;
|
|
199
|
+
subjects: SubjectListResultSubject[];
|
|
200
|
+
}
|
|
201
|
+
export interface SubjectListResultSubject {
|
|
202
|
+
assignment: SubjectListResultChannelFacts | null;
|
|
203
|
+
execution: SubjectListResultChannelFacts | null;
|
|
204
|
+
facts: SubjectListResultChannelFacts | null;
|
|
205
|
+
location: SubjectListResultRegistryLocation | null;
|
|
206
|
+
managed: SubjectListResultManagedMetadata;
|
|
207
|
+
/**
|
|
208
|
+
* Recorded scope ownership, not proof of current cgroup membership.
|
|
209
|
+
*/
|
|
210
|
+
scoped: boolean | null;
|
|
211
|
+
session_id: string | null;
|
|
212
|
+
state: SubjectListResultAttachmentState;
|
|
213
|
+
subject_id: string;
|
|
214
|
+
}
|
|
215
|
+
export interface SubjectListResultChannelFacts {
|
|
216
|
+
snapshot: SubjectListResultPublicSnapshotFacts | null;
|
|
217
|
+
writer: SubjectListResultPublicWriterFacts;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* The last accepted report as an unrelated reader may see it, leaving out the
|
|
221
|
+
* handle that fences further writes.
|
|
222
|
+
*/
|
|
223
|
+
export interface SubjectListResultPublicSnapshotFacts {
|
|
224
|
+
expires_at: string;
|
|
225
|
+
freshness: SubjectListResultFreshness;
|
|
226
|
+
generation: number;
|
|
227
|
+
incarnation: string;
|
|
228
|
+
lease_ms: number;
|
|
229
|
+
observed_at?: string | null;
|
|
230
|
+
received_at: string;
|
|
231
|
+
reporting_owner?: string | null;
|
|
232
|
+
restored: boolean;
|
|
233
|
+
sequence: number;
|
|
234
|
+
snapshot: SubjectListResultReport;
|
|
235
|
+
source: string;
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* One complete snapshot for one channel. Vocabulary is free-form; shape is
|
|
239
|
+
* strict. Unknown state/reason/action words survive, unknown fields do not.
|
|
240
|
+
*/
|
|
241
|
+
export interface SubjectListResultSnapshot {
|
|
242
|
+
actions?: string[];
|
|
243
|
+
activity: string;
|
|
244
|
+
last_outcome?: SubjectListResultOutcome | null;
|
|
245
|
+
waiting_reason?: string | null;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* A turn outcome kept distinct from current activity.
|
|
249
|
+
*/
|
|
250
|
+
export interface SubjectListResultOutcome {
|
|
251
|
+
detail?: string | null;
|
|
252
|
+
/**
|
|
253
|
+
* Producer vocabulary is deliberately free-form.
|
|
254
|
+
*/
|
|
255
|
+
result: string;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* The owner's complete assignment snapshot: the shared base plus facts only an
|
|
259
|
+
* owner knows. It is authored by the owner's writer and is never derived from
|
|
260
|
+
* execution activity; the owner's identity is provenance, not authority.
|
|
261
|
+
*/
|
|
262
|
+
export interface SubjectListResultAssignmentSnapshot {
|
|
263
|
+
actions?: string[];
|
|
264
|
+
activity: string;
|
|
265
|
+
ask?: string | null;
|
|
266
|
+
assigned_started_unix_ms?: number | null;
|
|
267
|
+
assignment?: string | null;
|
|
268
|
+
awaited?: string[];
|
|
269
|
+
definition?: string | null;
|
|
270
|
+
last_outcome?: SubjectListResultOutcome | null;
|
|
271
|
+
request?: string | null;
|
|
272
|
+
role?: string | null;
|
|
273
|
+
run?: string | null;
|
|
274
|
+
waiting_reason?: string | null;
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* The agent's own process facts. Self-authored by any Pi session, with no owner
|
|
278
|
+
* or assignment, and kept separate from execution and assignment. Every field
|
|
279
|
+
* is optional and a published snapshot replaces the whole value, so omission
|
|
280
|
+
* withdraws a fact. `context_window` is counts; a display derives the percentage.
|
|
281
|
+
*/
|
|
282
|
+
export interface SubjectListResultFactsSnapshot {
|
|
283
|
+
background_started_unix_ms?: number | null;
|
|
284
|
+
background_tasks?: SubjectListResultBackgroundTask[];
|
|
285
|
+
context_window?: SubjectListResultContextWindow | null;
|
|
286
|
+
model?: string | null;
|
|
287
|
+
provider?: string | null;
|
|
288
|
+
session_name?: string | null;
|
|
289
|
+
thinking?: string | null;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* One background task the agent process reports as unresolved.
|
|
293
|
+
*/
|
|
294
|
+
export interface SubjectListResultBackgroundTask {
|
|
295
|
+
id: string;
|
|
296
|
+
phase: string;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* How much of a model's context window a session has used, as counts.
|
|
300
|
+
*
|
|
301
|
+
* `window` is positive and `tokens` does not exceed it; the percentage a display
|
|
302
|
+
* shows is derived from these and never published. Wire counts stay exact in JS.
|
|
303
|
+
*/
|
|
304
|
+
export interface SubjectListResultContextWindow {
|
|
305
|
+
tokens: number;
|
|
306
|
+
window: number;
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* The current writer as an unrelated reader may see it: provenance and
|
|
310
|
+
* generation, without the opaque handle an update must present.
|
|
311
|
+
*/
|
|
312
|
+
export interface SubjectListResultPublicWriterFacts {
|
|
313
|
+
generation: number;
|
|
314
|
+
incarnation: string;
|
|
315
|
+
reporting_owner?: string | null;
|
|
316
|
+
retired_at?: string | null;
|
|
317
|
+
sequence: number;
|
|
318
|
+
source: string;
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Where an agent's incarnation lives on one backend, in that backend's own
|
|
322
|
+
* coordinates.
|
|
323
|
+
*
|
|
324
|
+
* The backend name is free-form so a source Radar does not ship yet is
|
|
325
|
+
* preserved rather than rejected; the rest are the coordinates as reported, and
|
|
326
|
+
* each is optional because a backend need not name every level.
|
|
327
|
+
*/
|
|
328
|
+
export interface SubjectListResultRegistryLocation {
|
|
329
|
+
backend: string;
|
|
330
|
+
instance?: string | null;
|
|
331
|
+
pane?: string | null;
|
|
332
|
+
tab?: string | null;
|
|
333
|
+
workspace?: string | null;
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* One durable launch subject. The correlation is a private credential and is
|
|
337
|
+
* spent at capture; no public read returns it.
|
|
338
|
+
*/
|
|
339
|
+
export interface SubjectListResultManagedMetadata {
|
|
340
|
+
label?: string | null;
|
|
341
|
+
owner?: string | null;
|
|
342
|
+
parent_subject_id?: string | null;
|
|
343
|
+
role?: string | null;
|
|
344
|
+
run?: string | null;
|
|
345
|
+
}
|
|
3
346
|
export interface PresenceReportDeserialize {
|
|
4
347
|
claim_id: string;
|
|
5
348
|
incarnation: string;
|
|
@@ -551,7 +894,7 @@ export interface HerdsmanFacts {
|
|
|
551
894
|
*/
|
|
552
895
|
background_tasks: string[];
|
|
553
896
|
/**
|
|
554
|
-
* The percentage a
|
|
897
|
+
* The percentage a background-task token states, percent sign included. It carries no
|
|
555
898
|
* counts, so it is never presented as a typed window.
|
|
556
899
|
*/
|
|
557
900
|
context_usage: string | null;
|
|
@@ -565,7 +908,7 @@ export interface HerdsmanFacts {
|
|
|
565
908
|
definition: string | null;
|
|
566
909
|
/**
|
|
567
910
|
* A managed worker's runtime label: the name its owner and its siblings
|
|
568
|
-
* use for it, and the only faithful source for a worker's name.
|
|
911
|
+
* use for it, and the only faithful source for a worker's name. The backend's
|
|
569
912
|
* own agent name truncates it and its title welds it to the task.
|
|
570
913
|
*/
|
|
571
914
|
label: string | null;
|
|
@@ -639,7 +982,7 @@ export interface Lineage {
|
|
|
639
982
|
session: SessionUuid;
|
|
640
983
|
}
|
|
641
984
|
/**
|
|
642
|
-
*
|
|
985
|
+
* Backend-scoped runtime location: workspace, tab and pane identifiers.
|
|
643
986
|
*
|
|
644
987
|
* Pane identity is a runtime location detail; it is never an agent identity.
|
|
645
988
|
*/
|
|
@@ -687,7 +1030,6 @@ export interface RegistryAgent {
|
|
|
687
1030
|
*/
|
|
688
1031
|
export interface PublicChannelFacts {
|
|
689
1032
|
channel: Channel;
|
|
690
|
-
registration_id: string;
|
|
691
1033
|
snapshot?: PublicSnapshotFacts | null;
|
|
692
1034
|
version: number;
|
|
693
1035
|
writer: PublicWriterFacts;
|
|
@@ -905,13 +1247,11 @@ export interface RegistryLocation {
|
|
|
905
1247
|
export interface ManagedSubject {
|
|
906
1248
|
child_close: ChildCloseTarget | null;
|
|
907
1249
|
claim_id: string;
|
|
908
|
-
identity_unresolved: boolean;
|
|
909
1250
|
metadata: ManagedMetadata;
|
|
910
1251
|
process: ProcessIdentity;
|
|
911
1252
|
session: string | null;
|
|
912
1253
|
state: State;
|
|
913
1254
|
subject_id: string;
|
|
914
|
-
successor: string | null;
|
|
915
1255
|
}
|
|
916
1256
|
/**
|
|
917
1257
|
* Exact spawn-edge child identity required by `spawn.close`.
|
|
@@ -1323,7 +1663,6 @@ export interface LifecycleObservation {
|
|
|
1323
1663
|
session: string | null;
|
|
1324
1664
|
state: State;
|
|
1325
1665
|
subject_id: string;
|
|
1326
|
-
successor: string | null;
|
|
1327
1666
|
}
|
|
1328
1667
|
/**
|
|
1329
1668
|
* A runtime pane: location plus optional display text.
|
|
@@ -1342,7 +1681,7 @@ export interface Pane {
|
|
|
1342
1681
|
title: string | null;
|
|
1343
1682
|
}
|
|
1344
1683
|
/**
|
|
1345
|
-
* A
|
|
1684
|
+
* A tab within a workspace; shown as location detail, not a tree level.
|
|
1346
1685
|
*/
|
|
1347
1686
|
export interface Tab {
|
|
1348
1687
|
label: string | null;
|
|
@@ -1351,7 +1690,7 @@ export interface Tab {
|
|
|
1351
1690
|
workspace_id: string;
|
|
1352
1691
|
}
|
|
1353
1692
|
/**
|
|
1354
|
-
* A
|
|
1693
|
+
* A workspace: the first display grouping for the fleet tree.
|
|
1355
1694
|
*/
|
|
1356
1695
|
export interface Workspace {
|
|
1357
1696
|
label: string | null;
|
|
@@ -1443,7 +1782,7 @@ export interface SpawnListPageSerializePublicSpawnTopology {
|
|
|
1443
1782
|
bound?: SpawnListPageSerializeBoundChild | null;
|
|
1444
1783
|
claim_id?: string | null;
|
|
1445
1784
|
created: SpawnListPageSerializeRequestOutcome;
|
|
1446
|
-
exit_observation
|
|
1785
|
+
exit_observation: SpawnListPageSerializePublicSpawnExitObservation;
|
|
1447
1786
|
/**
|
|
1448
1787
|
* Freshness of the recorded location against this read's evidence, in the
|
|
1449
1788
|
* registry's one freshness vocabulary: `fresh` when the backend reports the
|
|
@@ -1452,15 +1791,17 @@ export interface SpawnListPageSerializePublicSpawnTopology {
|
|
|
1452
1791
|
* nothing to verify.
|
|
1453
1792
|
*/
|
|
1454
1793
|
freshness?: SpawnListPageSerializeFreshness | null;
|
|
1794
|
+
granted_at?: string | null;
|
|
1455
1795
|
launched: SpawnListPageSerializeRequestOutcome;
|
|
1456
1796
|
location?: SpawnListPageSerializeRegistryLocation | null;
|
|
1457
1797
|
parent: string;
|
|
1458
|
-
parent_session_id
|
|
1798
|
+
parent_session_id: string;
|
|
1459
1799
|
parent_subject_id?: string | null;
|
|
1460
1800
|
recorded_at: string;
|
|
1461
1801
|
request_id: string;
|
|
1462
1802
|
state: SpawnListPageSerializeSpawnState;
|
|
1463
1803
|
version: number;
|
|
1804
|
+
withdrawn?: SpawnListPageSerializeWithdrawn | null;
|
|
1464
1805
|
}
|
|
1465
1806
|
/**
|
|
1466
1807
|
* The child a token bound: the registering incarnation's own registry identity.
|
|
@@ -1472,9 +1813,9 @@ export interface SpawnListPageSerializeBoundChild {
|
|
|
1472
1813
|
bound_at: string;
|
|
1473
1814
|
incarnation: string;
|
|
1474
1815
|
/**
|
|
1475
|
-
* Exact registry identity returned to the registering child.
|
|
1816
|
+
* Exact registry identity returned to the registering child.
|
|
1476
1817
|
*/
|
|
1477
|
-
registration_id
|
|
1818
|
+
registration_id: string;
|
|
1478
1819
|
source: string;
|
|
1479
1820
|
/**
|
|
1480
1821
|
* The durable agent the bound child attaches as. Absent for an edge without
|
|
@@ -1497,3 +1838,11 @@ export interface SpawnListPageSerializeRegistryLocation {
|
|
|
1497
1838
|
tab?: string | null;
|
|
1498
1839
|
workspace?: string | null;
|
|
1499
1840
|
}
|
|
1841
|
+
/**
|
|
1842
|
+
* Why and when a launch ended without ever presenting, so a reader never infers
|
|
1843
|
+
* failure from absence.
|
|
1844
|
+
*/
|
|
1845
|
+
export interface SpawnListPageSerializeWithdrawn {
|
|
1846
|
+
at: string;
|
|
1847
|
+
reason: string;
|
|
1848
|
+
}
|