pi-radar 0.5.1 → 0.7.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 +76 -2
- package/dist/extension/baseline.js +45 -13
- package/dist/extension/radar-client.js +37 -10
- package/dist/extension/radar-execution.js +10 -4
- package/dist/extension/radar-publication.js +9 -3
- package/dist/index.js +47 -14
- package/extension/generated-contracts.ts +115 -8
- package/extension/radar-client.ts +42 -15
- package/extension/radar-execution.ts +5 -5
- package/extension/radar-publication.ts +11 -4
- package/package.json +1 -1
- package/schema/public/v1/handoff-receipt.deserialize.schema.json +2 -9
- package/schema/public/v1/handoff-receipt.serialize.schema.json +2 -9
- package/schema/public/v1/handoff.deserialize.schema.json +2 -9
- package/schema/public/v1/handoff.serialize.schema.json +2 -9
- package/schema/public/v1/observation-get-response.deserialize.schema.json +18 -6
- package/schema/public/v1/observation-get-response.serialize.schema.json +19 -7
- package/schema/public/v1/observation-snapshot.deserialize.schema.json +18 -6
- package/schema/public/v1/observation-snapshot.serialize.schema.json +19 -7
- package/schema/public/v1/presence-answer.deserialize.schema.json +1 -0
- package/schema/public/v1/presence-answer.serialize.schema.json +1 -0
- package/schema/public/v1/presence-report.deserialize.schema.json +0 -7
- package/schema/public/v1/presence-report.serialize.schema.json +0 -8
- package/schema/public/v1/spawn-list-page.deserialize.schema.json +291 -0
- package/schema/public/v1/spawn-list-page.serialize.schema.json +296 -0
- package/schema/public/v1/spawn-list-params.deserialize.schema.json +33 -0
- package/schema/public/v1/spawn-list-params.serialize.schema.json +38 -0
|
@@ -1037,6 +1037,9 @@
|
|
|
1037
1037
|
}
|
|
1038
1038
|
]
|
|
1039
1039
|
},
|
|
1040
|
+
"claim_id": {
|
|
1041
|
+
"type": "string"
|
|
1042
|
+
},
|
|
1040
1043
|
"identity_unresolved": {
|
|
1041
1044
|
"type": "boolean"
|
|
1042
1045
|
},
|
|
@@ -1067,6 +1070,7 @@
|
|
|
1067
1070
|
},
|
|
1068
1071
|
"required": [
|
|
1069
1072
|
"subject_id",
|
|
1073
|
+
"claim_id",
|
|
1070
1074
|
"process",
|
|
1071
1075
|
"identity_unresolved",
|
|
1072
1076
|
"metadata",
|
|
@@ -1959,6 +1963,13 @@
|
|
|
1959
1963
|
},
|
|
1960
1964
|
"registration": {
|
|
1961
1965
|
"$ref": "#/$defs/PublicRegistration"
|
|
1966
|
+
},
|
|
1967
|
+
"scoped": {
|
|
1968
|
+
"description": "Whether this process runs inside a Radar-established execution scope. A\nprocess started outside the managed launch path has none and is observed.",
|
|
1969
|
+
"type": [
|
|
1970
|
+
"boolean",
|
|
1971
|
+
"null"
|
|
1972
|
+
]
|
|
1962
1973
|
}
|
|
1963
1974
|
},
|
|
1964
1975
|
"required": [
|
|
@@ -2240,6 +2251,12 @@
|
|
|
2240
2251
|
"null"
|
|
2241
2252
|
]
|
|
2242
2253
|
},
|
|
2254
|
+
"claim_id": {
|
|
2255
|
+
"type": [
|
|
2256
|
+
"string",
|
|
2257
|
+
"null"
|
|
2258
|
+
]
|
|
2259
|
+
},
|
|
2243
2260
|
"parent": {
|
|
2244
2261
|
"type": "string"
|
|
2245
2262
|
},
|
|
@@ -2248,12 +2265,6 @@
|
|
|
2248
2265
|
},
|
|
2249
2266
|
"state": {
|
|
2250
2267
|
"$ref": "#/$defs/SpawnState"
|
|
2251
|
-
},
|
|
2252
|
-
"subject_id": {
|
|
2253
|
-
"type": [
|
|
2254
|
-
"string",
|
|
2255
|
-
"null"
|
|
2256
|
-
]
|
|
2257
2268
|
}
|
|
2258
2269
|
},
|
|
2259
2270
|
"required": [
|
|
@@ -2285,6 +2296,7 @@
|
|
|
2285
2296
|
},
|
|
2286
2297
|
"Standing": {
|
|
2287
2298
|
"enum": [
|
|
2299
|
+
"reserved",
|
|
2288
2300
|
"pending",
|
|
2289
2301
|
"granted",
|
|
2290
2302
|
"duplicate",
|
|
@@ -1096,6 +1096,9 @@
|
|
|
1096
1096
|
}
|
|
1097
1097
|
]
|
|
1098
1098
|
},
|
|
1099
|
+
"claim_id": {
|
|
1100
|
+
"type": "string"
|
|
1101
|
+
},
|
|
1099
1102
|
"identity_unresolved": {
|
|
1100
1103
|
"type": "boolean"
|
|
1101
1104
|
},
|
|
@@ -1126,6 +1129,7 @@
|
|
|
1126
1129
|
},
|
|
1127
1130
|
"required": [
|
|
1128
1131
|
"subject_id",
|
|
1132
|
+
"claim_id",
|
|
1129
1133
|
"process",
|
|
1130
1134
|
"identity_unresolved",
|
|
1131
1135
|
"metadata",
|
|
@@ -2053,6 +2057,13 @@
|
|
|
2053
2057
|
},
|
|
2054
2058
|
"registration": {
|
|
2055
2059
|
"$ref": "#/$defs/PublicRegistration"
|
|
2060
|
+
},
|
|
2061
|
+
"scoped": {
|
|
2062
|
+
"description": "Whether this process runs inside a Radar-established execution scope. A\nprocess started outside the managed launch path has none and is observed.",
|
|
2063
|
+
"type": [
|
|
2064
|
+
"boolean",
|
|
2065
|
+
"null"
|
|
2066
|
+
]
|
|
2056
2067
|
}
|
|
2057
2068
|
},
|
|
2058
2069
|
"required": [
|
|
@@ -2347,6 +2358,12 @@
|
|
|
2347
2358
|
"null"
|
|
2348
2359
|
]
|
|
2349
2360
|
},
|
|
2361
|
+
"claim_id": {
|
|
2362
|
+
"type": [
|
|
2363
|
+
"string",
|
|
2364
|
+
"null"
|
|
2365
|
+
]
|
|
2366
|
+
},
|
|
2350
2367
|
"parent": {
|
|
2351
2368
|
"type": "string"
|
|
2352
2369
|
},
|
|
@@ -2355,18 +2372,12 @@
|
|
|
2355
2372
|
},
|
|
2356
2373
|
"state": {
|
|
2357
2374
|
"$ref": "#/$defs/SpawnState"
|
|
2358
|
-
},
|
|
2359
|
-
"subject_id": {
|
|
2360
|
-
"type": [
|
|
2361
|
-
"string",
|
|
2362
|
-
"null"
|
|
2363
|
-
]
|
|
2364
2375
|
}
|
|
2365
2376
|
},
|
|
2366
2377
|
"required": [
|
|
2367
2378
|
"parent",
|
|
2368
2379
|
"request_id",
|
|
2369
|
-
"
|
|
2380
|
+
"claim_id",
|
|
2370
2381
|
"child_source",
|
|
2371
2382
|
"child_incarnation",
|
|
2372
2383
|
"state"
|
|
@@ -2395,6 +2406,7 @@
|
|
|
2395
2406
|
},
|
|
2396
2407
|
"Standing": {
|
|
2397
2408
|
"enum": [
|
|
2409
|
+
"reserved",
|
|
2398
2410
|
"pending",
|
|
2399
2411
|
"granted",
|
|
2400
2412
|
"duplicate",
|
|
@@ -123,13 +123,6 @@
|
|
|
123
123
|
"source": {
|
|
124
124
|
"type": "string"
|
|
125
125
|
},
|
|
126
|
-
"spawn_token": {
|
|
127
|
-
"default": null,
|
|
128
|
-
"type": [
|
|
129
|
-
"string",
|
|
130
|
-
"null"
|
|
131
|
-
]
|
|
132
|
-
},
|
|
133
126
|
"subject_id": {
|
|
134
127
|
"default": null,
|
|
135
128
|
"type": [
|
|
@@ -147,7 +140,6 @@
|
|
|
147
140
|
"registration_id",
|
|
148
141
|
"subject_id",
|
|
149
142
|
"location",
|
|
150
|
-
"spawn_token",
|
|
151
143
|
"owner",
|
|
152
144
|
"run",
|
|
153
145
|
"label"
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$defs": {
|
|
3
|
+
"BoundChild": {
|
|
4
|
+
"additionalProperties": false,
|
|
5
|
+
"description": "The child a token bound: the registering incarnation's own registry identity.",
|
|
6
|
+
"properties": {
|
|
7
|
+
"bound_at": {
|
|
8
|
+
"description": "When the edge bound to this incarnation.",
|
|
9
|
+
"type": "string"
|
|
10
|
+
},
|
|
11
|
+
"incarnation": {
|
|
12
|
+
"type": "string"
|
|
13
|
+
},
|
|
14
|
+
"registration_id": {
|
|
15
|
+
"description": "Exact registry identity returned to the registering child. Absent in legacy records.",
|
|
16
|
+
"type": [
|
|
17
|
+
"string",
|
|
18
|
+
"null"
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
"source": {
|
|
22
|
+
"type": "string"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"required": [
|
|
26
|
+
"source",
|
|
27
|
+
"incarnation",
|
|
28
|
+
"bound_at"
|
|
29
|
+
],
|
|
30
|
+
"type": "object"
|
|
31
|
+
},
|
|
32
|
+
"Freshness": {
|
|
33
|
+
"description": "Freshness is independent of process identity or completion.",
|
|
34
|
+
"oneOf": [
|
|
35
|
+
{
|
|
36
|
+
"const": "fresh",
|
|
37
|
+
"description": "Accepted in this serving epoch by the current writer and not expired.",
|
|
38
|
+
"type": "string"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"const": "stale",
|
|
42
|
+
"description": "Restored, reported by a replaced writer, retired, or expired.",
|
|
43
|
+
"type": "string"
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
"PublicSpawnExitObservation": {
|
|
48
|
+
"description": "What a spawn topology read can say about a child's process exit.",
|
|
49
|
+
"oneOf": [
|
|
50
|
+
{
|
|
51
|
+
"properties": {
|
|
52
|
+
"state": {
|
|
53
|
+
"const": "unknown",
|
|
54
|
+
"type": "string"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"required": [
|
|
58
|
+
"state"
|
|
59
|
+
],
|
|
60
|
+
"type": "object"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"properties": {
|
|
64
|
+
"code": {
|
|
65
|
+
"format": "int32",
|
|
66
|
+
"type": [
|
|
67
|
+
"integer",
|
|
68
|
+
"null"
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
"observed_at": {
|
|
72
|
+
"type": "string"
|
|
73
|
+
},
|
|
74
|
+
"signal": {
|
|
75
|
+
"format": "int32",
|
|
76
|
+
"type": [
|
|
77
|
+
"integer",
|
|
78
|
+
"null"
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
"state": {
|
|
82
|
+
"const": "exited",
|
|
83
|
+
"type": "string"
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"required": [
|
|
87
|
+
"state",
|
|
88
|
+
"observed_at"
|
|
89
|
+
],
|
|
90
|
+
"type": "object"
|
|
91
|
+
}
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
"PublicSpawnTopology": {
|
|
95
|
+
"description": "One edge as a topology read reports it: the stored facts, plus the two things\na read derives instead of inferring.",
|
|
96
|
+
"properties": {
|
|
97
|
+
"bound": {
|
|
98
|
+
"anyOf": [
|
|
99
|
+
{
|
|
100
|
+
"$ref": "#/$defs/BoundChild"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"type": "null"
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
"claim_id": {
|
|
108
|
+
"type": [
|
|
109
|
+
"string",
|
|
110
|
+
"null"
|
|
111
|
+
]
|
|
112
|
+
},
|
|
113
|
+
"created": {
|
|
114
|
+
"$ref": "#/$defs/RequestOutcome"
|
|
115
|
+
},
|
|
116
|
+
"exit_observation": {
|
|
117
|
+
"anyOf": [
|
|
118
|
+
{
|
|
119
|
+
"$ref": "#/$defs/PublicSpawnExitObservation"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"type": "null"
|
|
123
|
+
}
|
|
124
|
+
]
|
|
125
|
+
},
|
|
126
|
+
"freshness": {
|
|
127
|
+
"anyOf": [
|
|
128
|
+
{
|
|
129
|
+
"$ref": "#/$defs/Freshness"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"type": "null"
|
|
133
|
+
}
|
|
134
|
+
],
|
|
135
|
+
"description": "Freshness of the recorded location against this read's evidence, in the\nregistry's one freshness vocabulary: `fresh` when the backend reports the\nlocation now, `stale` when it does not — which is never evidence that the\nchild stopped. Absent when the edge recorded no location, because there is\nnothing to verify."
|
|
136
|
+
},
|
|
137
|
+
"launched": {
|
|
138
|
+
"$ref": "#/$defs/RequestOutcome"
|
|
139
|
+
},
|
|
140
|
+
"location": {
|
|
141
|
+
"anyOf": [
|
|
142
|
+
{
|
|
143
|
+
"$ref": "#/$defs/RegistryLocation"
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"type": "null"
|
|
147
|
+
}
|
|
148
|
+
]
|
|
149
|
+
},
|
|
150
|
+
"parent": {
|
|
151
|
+
"type": "string"
|
|
152
|
+
},
|
|
153
|
+
"parent_session_id": {
|
|
154
|
+
"type": [
|
|
155
|
+
"string",
|
|
156
|
+
"null"
|
|
157
|
+
]
|
|
158
|
+
},
|
|
159
|
+
"parent_subject_id": {
|
|
160
|
+
"type": [
|
|
161
|
+
"string",
|
|
162
|
+
"null"
|
|
163
|
+
]
|
|
164
|
+
},
|
|
165
|
+
"recorded_at": {
|
|
166
|
+
"type": "string"
|
|
167
|
+
},
|
|
168
|
+
"request_id": {
|
|
169
|
+
"type": "string"
|
|
170
|
+
},
|
|
171
|
+
"state": {
|
|
172
|
+
"$ref": "#/$defs/SpawnState"
|
|
173
|
+
},
|
|
174
|
+
"version": {
|
|
175
|
+
"format": "uint32",
|
|
176
|
+
"minimum": 0,
|
|
177
|
+
"type": "integer"
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
"required": [
|
|
181
|
+
"version",
|
|
182
|
+
"request_id",
|
|
183
|
+
"parent",
|
|
184
|
+
"created",
|
|
185
|
+
"launched",
|
|
186
|
+
"recorded_at",
|
|
187
|
+
"state"
|
|
188
|
+
],
|
|
189
|
+
"type": "object"
|
|
190
|
+
},
|
|
191
|
+
"RegistryLocation": {
|
|
192
|
+
"additionalProperties": false,
|
|
193
|
+
"description": "Where an agent's incarnation lives on one backend, in that backend's own\ncoordinates.\n\nThe backend name is free-form so a source Radar does not ship yet is\npreserved rather than rejected; the rest are the coordinates as reported, and\neach is optional because a backend need not name every level.",
|
|
194
|
+
"properties": {
|
|
195
|
+
"backend": {
|
|
196
|
+
"type": "string"
|
|
197
|
+
},
|
|
198
|
+
"instance": {
|
|
199
|
+
"type": [
|
|
200
|
+
"string",
|
|
201
|
+
"null"
|
|
202
|
+
]
|
|
203
|
+
},
|
|
204
|
+
"pane": {
|
|
205
|
+
"type": [
|
|
206
|
+
"string",
|
|
207
|
+
"null"
|
|
208
|
+
]
|
|
209
|
+
},
|
|
210
|
+
"tab": {
|
|
211
|
+
"type": [
|
|
212
|
+
"string",
|
|
213
|
+
"null"
|
|
214
|
+
]
|
|
215
|
+
},
|
|
216
|
+
"workspace": {
|
|
217
|
+
"type": [
|
|
218
|
+
"string",
|
|
219
|
+
"null"
|
|
220
|
+
]
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
"required": [
|
|
224
|
+
"backend"
|
|
225
|
+
],
|
|
226
|
+
"type": "object"
|
|
227
|
+
},
|
|
228
|
+
"RequestOutcome": {
|
|
229
|
+
"description": "What a completed request did.",
|
|
230
|
+
"oneOf": [
|
|
231
|
+
{
|
|
232
|
+
"const": "completed",
|
|
233
|
+
"description": "The operation ran and its effects are in the record.",
|
|
234
|
+
"type": "string"
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"const": "refused",
|
|
238
|
+
"description": "The operation did not run, and the record says why.",
|
|
239
|
+
"type": "string"
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"const": "unknown",
|
|
243
|
+
"description": "Execution began and the daemon cannot say what it did.",
|
|
244
|
+
"type": "string"
|
|
245
|
+
}
|
|
246
|
+
]
|
|
247
|
+
},
|
|
248
|
+
"SpawnState": {
|
|
249
|
+
"description": "The state of one edge in the recorded topology: the strongest statement a\nread can make about it, and nothing beyond the records and this read's own\nevidence.",
|
|
250
|
+
"oneOf": [
|
|
251
|
+
{
|
|
252
|
+
"const": "unbound",
|
|
253
|
+
"description": "No child has presented this edge's token. The edge may still be pending,\nor its launch may never have reached a shell.",
|
|
254
|
+
"type": "string"
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"const": "bound",
|
|
258
|
+
"description": "A child registered with this edge's token, so the edge names its exact\nidentity. Observation does not revise this.",
|
|
259
|
+
"type": "string"
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
"const": "unresolved",
|
|
263
|
+
"description": "The recorded location is not in the backend's own report: the record and\nthe world disagree. This is never a statement that the child stopped — a\nread observes panes, and a pane's absence is not a process's death.",
|
|
264
|
+
"type": "string"
|
|
265
|
+
}
|
|
266
|
+
]
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
270
|
+
"additionalProperties": false,
|
|
271
|
+
"description": "One page of spawn edges. `next` names the request id the page ended on.",
|
|
272
|
+
"properties": {
|
|
273
|
+
"next": {
|
|
274
|
+
"type": [
|
|
275
|
+
"string",
|
|
276
|
+
"null"
|
|
277
|
+
]
|
|
278
|
+
},
|
|
279
|
+
"spawns": {
|
|
280
|
+
"items": {
|
|
281
|
+
"$ref": "#/$defs/PublicSpawnTopology"
|
|
282
|
+
},
|
|
283
|
+
"type": "array"
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
"required": [
|
|
287
|
+
"spawns"
|
|
288
|
+
],
|
|
289
|
+
"title": "spawn-list-page-deserialize",
|
|
290
|
+
"type": "object"
|
|
291
|
+
}
|