pi-radar 0.2.0 → 0.4.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 +10 -4
- package/dist/extension/baseline.js +333 -394
- package/dist/extension/radar-client.js +126 -11
- package/dist/extension/radar-communication.js +39 -0
- package/dist/extension/radar-execution.js +169 -382
- package/dist/extension/radar-launch.js +18 -13
- package/dist/extension/radar-publication.js +161 -298
- package/dist/extension/radar-runtime.js +1 -1
- package/dist/index.js +356 -407
- package/extension/baseline.ts +2 -0
- package/extension/generated-contracts.ts +1310 -10
- package/extension/radar-client.ts +191 -23
- package/extension/radar-communication.ts +66 -0
- package/extension/radar-execution.ts +11 -58
- package/extension/radar-launch.ts +29 -22
- package/extension/radar-publication.ts +211 -410
- package/extension/radar-runtime.ts +4 -1
- package/index.ts +1 -0
- package/package.json +9 -5
- package/schema/public/v1/handoff-inbox.deserialize.schema.json +18 -0
- package/schema/public/v1/handoff-inbox.serialize.schema.json +18 -0
- package/schema/public/v1/handoff-publish-params.deserialize.schema.json +33 -0
- package/schema/public/v1/handoff-publish-params.serialize.schema.json +33 -0
- package/schema/public/v1/handoff-receipt.deserialize.schema.json +66 -0
- package/schema/public/v1/handoff-receipt.serialize.schema.json +66 -0
- package/schema/public/v1/handoff.deserialize.schema.json +84 -0
- package/schema/public/v1/handoff.serialize.schema.json +84 -0
- package/schema/public/v1/observation-get-params.deserialize.schema.json +46 -0
- package/schema/public/v1/observation-get-params.serialize.schema.json +52 -0
- package/schema/public/v1/observation-get-response.deserialize.schema.json +2731 -0
- package/schema/public/v1/observation-get-response.serialize.schema.json +2862 -0
- package/schema/public/v1/observation-snapshot.deserialize.schema.json +2616 -0
- package/schema/public/v1/observation-snapshot.serialize.schema.json +2741 -0
- package/schema/public/v1/presence-answer.deserialize.schema.json +40 -0
- package/schema/public/v1/presence-answer.serialize.schema.json +40 -0
- package/schema/public/v1/presence-release.deserialize.schema.json +51 -0
- package/schema/public/v1/presence-release.serialize.schema.json +52 -0
- package/schema/public/v1/presence-report.deserialize.schema.json +149 -0
- package/schema/public/v1/presence-report.serialize.schema.json +157 -0
- package/extension/radar-session-marker.ts +0 -146
- package/schema/public/v1/launch-identity-marker.deserialize.schema.json +0 -32
- package/schema/public/v1/launch-identity-marker.serialize.schema.json +0 -32
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import type { RadarExecutionAdapter } from "./radar-execution.ts";
|
|
2
|
+
import type { RadarHandoffPort } from "./radar-communication.ts";
|
|
2
3
|
import type { RadarPublication } from "./radar-publication.ts";
|
|
3
4
|
|
|
4
5
|
/** The event channel through which Pi extensions obtain the baseline runtime. */
|
|
5
6
|
export const RADAR_RUNTIME_REQUEST = "pi-radar/runtime-request";
|
|
6
|
-
export const RADAR_RUNTIME_VERSION =
|
|
7
|
+
export const RADAR_RUNTIME_VERSION = 2 as const;
|
|
7
8
|
|
|
8
9
|
/** The sole baseline publisher's session-scoped runtime, shared with consumers. */
|
|
9
10
|
export type RadarRuntimeServices = {
|
|
10
11
|
/** The one baseline publication; Herdsman contributes through its channels. */
|
|
11
12
|
publication: RadarPublication;
|
|
13
|
+
/** Durable handoffs bound to this process's registration and managed parent. */
|
|
14
|
+
communication: RadarHandoffPort;
|
|
12
15
|
execution: RadarExecutionAdapter;
|
|
13
16
|
};
|
|
14
17
|
|
package/index.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * as client from "./extension/radar-client.ts";
|
|
2
|
+
export * as communication from "./extension/radar-communication.ts";
|
|
2
3
|
export * as execution from "./extension/radar-execution.ts";
|
|
3
4
|
export * as inspection from "./extension/radar-inspection.ts";
|
|
4
5
|
export * as launch from "./extension/radar-launch.ts";
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-radar",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "Radar daemon client, publication, execution, location, launch and inspection surface for Pi extensions.",
|
|
5
|
+
"description": "Radar daemon client, communication, publication, execution, location, launch and inspection surface for Pi extensions.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"engines": {
|
|
8
8
|
"node": ">=22.19.0"
|
|
@@ -25,6 +25,10 @@
|
|
|
25
25
|
"types": "./extension/radar-client.ts",
|
|
26
26
|
"import": "./dist/extension/radar-client.js"
|
|
27
27
|
},
|
|
28
|
+
"./communication": {
|
|
29
|
+
"types": "./extension/radar-communication.ts",
|
|
30
|
+
"import": "./dist/extension/radar-communication.js"
|
|
31
|
+
},
|
|
28
32
|
"./execution": {
|
|
29
33
|
"types": "./extension/radar-execution.ts",
|
|
30
34
|
"import": "./dist/extension/radar-execution.js"
|
|
@@ -67,20 +71,20 @@
|
|
|
67
71
|
"schema/public/v1/**",
|
|
68
72
|
"extension/generated-contracts.ts",
|
|
69
73
|
"extension/radar-client.ts",
|
|
74
|
+
"extension/radar-communication.ts",
|
|
70
75
|
"extension/radar-execution.ts",
|
|
71
76
|
"extension/radar-inspection.ts",
|
|
72
77
|
"extension/radar-launch.ts",
|
|
73
78
|
"extension/radar-location.ts",
|
|
74
79
|
"extension/radar-publication.ts",
|
|
75
|
-
"extension/radar-session-marker.ts",
|
|
76
80
|
"extension/radar-runtime.ts",
|
|
77
81
|
"extension/baseline.ts"
|
|
78
82
|
],
|
|
79
83
|
"scripts": {
|
|
80
|
-
"build": "esbuild index.ts extension/generated-contracts.ts extension/radar-client.ts extension/radar-
|
|
84
|
+
"build": "esbuild index.ts extension/generated-contracts.ts extension/radar-client.ts extension/radar-communication.ts extension/radar-execution.ts extension/radar-inspection.ts extension/radar-launch.ts extension/radar-location.ts extension/radar-publication.ts extension/radar-runtime.ts extension/baseline.ts --outbase=. --outdir=dist --bundle --platform=node --format=esm --target=node22",
|
|
81
85
|
"generate:contracts": "node tools/generate-contracts.mjs",
|
|
82
86
|
"check:contracts": "node tools/generate-contracts.mjs --check",
|
|
83
|
-
"typecheck:contracts": "tsc --noEmit --strict --skipLibCheck --target ES2022 --module NodeNext --moduleResolution NodeNext --allowImportingTsExtensions --types node index.ts extension/baseline.ts extension/generated-contracts.ts extension/generated-contracts.typecheck.ts extension/radar-client.ts extension/radar-
|
|
87
|
+
"typecheck:contracts": "tsc --noEmit --strict --skipLibCheck --target ES2022 --module NodeNext --moduleResolution NodeNext --allowImportingTsExtensions --types node index.ts extension/baseline.ts extension/generated-contracts.ts extension/generated-contracts.typecheck.ts extension/radar-client.ts extension/radar-communication.ts extension/radar-execution.ts extension/radar-launch.test.ts extension/radar-publication.ts extension/radar-runtime.ts extension/radar-runtime.test.ts",
|
|
84
88
|
"prepack": "npm run build",
|
|
85
89
|
"test": "npm run check:contracts && npm run typecheck:contracts && node --experimental-strip-types --test extension/*.test.ts"
|
|
86
90
|
},
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"additionalProperties": false,
|
|
4
|
+
"description": "A bounded inbox page by stable handoff ID. Payloads are fetched one at a\ntime with `communication.get`, keeping each response within the wire bound.",
|
|
5
|
+
"properties": {
|
|
6
|
+
"handoff_ids": {
|
|
7
|
+
"items": {
|
|
8
|
+
"type": "string"
|
|
9
|
+
},
|
|
10
|
+
"type": "array"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"required": [
|
|
14
|
+
"handoff_ids"
|
|
15
|
+
],
|
|
16
|
+
"title": "handoff-inbox-deserialize",
|
|
17
|
+
"type": "object"
|
|
18
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"additionalProperties": false,
|
|
4
|
+
"description": "A bounded inbox page by stable handoff ID. Payloads are fetched one at a\ntime with `communication.get`, keeping each response within the wire bound.",
|
|
5
|
+
"properties": {
|
|
6
|
+
"handoff_ids": {
|
|
7
|
+
"items": {
|
|
8
|
+
"type": "string"
|
|
9
|
+
},
|
|
10
|
+
"type": "array"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"required": [
|
|
14
|
+
"handoff_ids"
|
|
15
|
+
],
|
|
16
|
+
"title": "handoff-inbox-serialize",
|
|
17
|
+
"type": "object"
|
|
18
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"additionalProperties": false,
|
|
4
|
+
"description": "Inputs for publishing an immutable handoff. The wire request ID carries the\nstable communication identity; the daemon derives the sender execution.",
|
|
5
|
+
"properties": {
|
|
6
|
+
"content": {
|
|
7
|
+
"type": "string"
|
|
8
|
+
},
|
|
9
|
+
"correlation_id": {
|
|
10
|
+
"type": [
|
|
11
|
+
"string",
|
|
12
|
+
"null"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
"recipient_subject_id": {
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"sender_registration_id": {
|
|
19
|
+
"type": "string"
|
|
20
|
+
},
|
|
21
|
+
"summary": {
|
|
22
|
+
"type": "string"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"required": [
|
|
26
|
+
"sender_registration_id",
|
|
27
|
+
"recipient_subject_id",
|
|
28
|
+
"summary",
|
|
29
|
+
"content"
|
|
30
|
+
],
|
|
31
|
+
"title": "handoff-publish-params-deserialize",
|
|
32
|
+
"type": "object"
|
|
33
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"additionalProperties": false,
|
|
4
|
+
"description": "Inputs for publishing an immutable handoff. The wire request ID carries the\nstable communication identity; the daemon derives the sender execution.",
|
|
5
|
+
"properties": {
|
|
6
|
+
"content": {
|
|
7
|
+
"type": "string"
|
|
8
|
+
},
|
|
9
|
+
"correlation_id": {
|
|
10
|
+
"type": [
|
|
11
|
+
"string",
|
|
12
|
+
"null"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
"recipient_subject_id": {
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"sender_registration_id": {
|
|
19
|
+
"type": "string"
|
|
20
|
+
},
|
|
21
|
+
"summary": {
|
|
22
|
+
"type": "string"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"required": [
|
|
26
|
+
"sender_registration_id",
|
|
27
|
+
"recipient_subject_id",
|
|
28
|
+
"summary",
|
|
29
|
+
"content"
|
|
30
|
+
],
|
|
31
|
+
"title": "handoff-publish-params-serialize",
|
|
32
|
+
"type": "object"
|
|
33
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$defs": {
|
|
3
|
+
"HandoffIdentity": {
|
|
4
|
+
"additionalProperties": false,
|
|
5
|
+
"description": "The current managed Pi execution that published or received a handoff.\n`subject_id` is stable across verified successors; `execution_id` and\ngeneration identify the exact execution that took the action.",
|
|
6
|
+
"properties": {
|
|
7
|
+
"execution_generation": {
|
|
8
|
+
"format": "uint32",
|
|
9
|
+
"maximum": 4294967295,
|
|
10
|
+
"minimum": 1,
|
|
11
|
+
"type": "integer"
|
|
12
|
+
},
|
|
13
|
+
"execution_id": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"registration_id": {
|
|
17
|
+
"type": "string"
|
|
18
|
+
},
|
|
19
|
+
"session_id": {
|
|
20
|
+
"type": "string"
|
|
21
|
+
},
|
|
22
|
+
"subject_id": {
|
|
23
|
+
"type": "string"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"required": [
|
|
27
|
+
"registration_id",
|
|
28
|
+
"session_id",
|
|
29
|
+
"subject_id",
|
|
30
|
+
"execution_id",
|
|
31
|
+
"execution_generation"
|
|
32
|
+
],
|
|
33
|
+
"type": "object"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
37
|
+
"additionalProperties": false,
|
|
38
|
+
"description": "Durable recipient-consumer receipt, stored separately from immutable content.",
|
|
39
|
+
"properties": {
|
|
40
|
+
"handoff_id": {
|
|
41
|
+
"type": "string"
|
|
42
|
+
},
|
|
43
|
+
"received_at_unix_ms": {
|
|
44
|
+
"format": "uint64",
|
|
45
|
+
"maximum": 9007199254740991,
|
|
46
|
+
"minimum": 0,
|
|
47
|
+
"type": "integer"
|
|
48
|
+
},
|
|
49
|
+
"recipient": {
|
|
50
|
+
"$ref": "#/$defs/HandoffIdentity"
|
|
51
|
+
},
|
|
52
|
+
"version": {
|
|
53
|
+
"format": "uint32",
|
|
54
|
+
"minimum": 0,
|
|
55
|
+
"type": "integer"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"required": [
|
|
59
|
+
"version",
|
|
60
|
+
"handoff_id",
|
|
61
|
+
"recipient",
|
|
62
|
+
"received_at_unix_ms"
|
|
63
|
+
],
|
|
64
|
+
"title": "handoff-receipt-deserialize",
|
|
65
|
+
"type": "object"
|
|
66
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$defs": {
|
|
3
|
+
"HandoffIdentity": {
|
|
4
|
+
"additionalProperties": false,
|
|
5
|
+
"description": "The current managed Pi execution that published or received a handoff.\n`subject_id` is stable across verified successors; `execution_id` and\ngeneration identify the exact execution that took the action.",
|
|
6
|
+
"properties": {
|
|
7
|
+
"execution_generation": {
|
|
8
|
+
"format": "uint32",
|
|
9
|
+
"maximum": 4294967295,
|
|
10
|
+
"minimum": 1,
|
|
11
|
+
"type": "integer"
|
|
12
|
+
},
|
|
13
|
+
"execution_id": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"registration_id": {
|
|
17
|
+
"type": "string"
|
|
18
|
+
},
|
|
19
|
+
"session_id": {
|
|
20
|
+
"type": "string"
|
|
21
|
+
},
|
|
22
|
+
"subject_id": {
|
|
23
|
+
"type": "string"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"required": [
|
|
27
|
+
"registration_id",
|
|
28
|
+
"session_id",
|
|
29
|
+
"subject_id",
|
|
30
|
+
"execution_id",
|
|
31
|
+
"execution_generation"
|
|
32
|
+
],
|
|
33
|
+
"type": "object"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
37
|
+
"additionalProperties": false,
|
|
38
|
+
"description": "Durable recipient-consumer receipt, stored separately from immutable content.",
|
|
39
|
+
"properties": {
|
|
40
|
+
"handoff_id": {
|
|
41
|
+
"type": "string"
|
|
42
|
+
},
|
|
43
|
+
"received_at_unix_ms": {
|
|
44
|
+
"format": "uint64",
|
|
45
|
+
"maximum": 9007199254740991,
|
|
46
|
+
"minimum": 0,
|
|
47
|
+
"type": "integer"
|
|
48
|
+
},
|
|
49
|
+
"recipient": {
|
|
50
|
+
"$ref": "#/$defs/HandoffIdentity"
|
|
51
|
+
},
|
|
52
|
+
"version": {
|
|
53
|
+
"format": "uint32",
|
|
54
|
+
"minimum": 0,
|
|
55
|
+
"type": "integer"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"required": [
|
|
59
|
+
"version",
|
|
60
|
+
"handoff_id",
|
|
61
|
+
"recipient",
|
|
62
|
+
"received_at_unix_ms"
|
|
63
|
+
],
|
|
64
|
+
"title": "handoff-receipt-serialize",
|
|
65
|
+
"type": "object"
|
|
66
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$defs": {
|
|
3
|
+
"HandoffIdentity": {
|
|
4
|
+
"additionalProperties": false,
|
|
5
|
+
"description": "The current managed Pi execution that published or received a handoff.\n`subject_id` is stable across verified successors; `execution_id` and\ngeneration identify the exact execution that took the action.",
|
|
6
|
+
"properties": {
|
|
7
|
+
"execution_generation": {
|
|
8
|
+
"format": "uint32",
|
|
9
|
+
"maximum": 4294967295,
|
|
10
|
+
"minimum": 1,
|
|
11
|
+
"type": "integer"
|
|
12
|
+
},
|
|
13
|
+
"execution_id": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"registration_id": {
|
|
17
|
+
"type": "string"
|
|
18
|
+
},
|
|
19
|
+
"session_id": {
|
|
20
|
+
"type": "string"
|
|
21
|
+
},
|
|
22
|
+
"subject_id": {
|
|
23
|
+
"type": "string"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"required": [
|
|
27
|
+
"registration_id",
|
|
28
|
+
"session_id",
|
|
29
|
+
"subject_id",
|
|
30
|
+
"execution_id",
|
|
31
|
+
"execution_generation"
|
|
32
|
+
],
|
|
33
|
+
"type": "object"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
37
|
+
"additionalProperties": false,
|
|
38
|
+
"description": "Immutable handoff content. The request id is the stable communication id.",
|
|
39
|
+
"properties": {
|
|
40
|
+
"content": {
|
|
41
|
+
"type": "string"
|
|
42
|
+
},
|
|
43
|
+
"correlation_id": {
|
|
44
|
+
"type": [
|
|
45
|
+
"string",
|
|
46
|
+
"null"
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
"id": {
|
|
50
|
+
"type": "string"
|
|
51
|
+
},
|
|
52
|
+
"published_at_unix_ms": {
|
|
53
|
+
"format": "uint64",
|
|
54
|
+
"maximum": 9007199254740991,
|
|
55
|
+
"minimum": 0,
|
|
56
|
+
"type": "integer"
|
|
57
|
+
},
|
|
58
|
+
"recipient_subject_id": {
|
|
59
|
+
"type": "string"
|
|
60
|
+
},
|
|
61
|
+
"sender": {
|
|
62
|
+
"$ref": "#/$defs/HandoffIdentity"
|
|
63
|
+
},
|
|
64
|
+
"summary": {
|
|
65
|
+
"type": "string"
|
|
66
|
+
},
|
|
67
|
+
"version": {
|
|
68
|
+
"format": "uint32",
|
|
69
|
+
"minimum": 0,
|
|
70
|
+
"type": "integer"
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"required": [
|
|
74
|
+
"version",
|
|
75
|
+
"id",
|
|
76
|
+
"sender",
|
|
77
|
+
"recipient_subject_id",
|
|
78
|
+
"summary",
|
|
79
|
+
"content",
|
|
80
|
+
"published_at_unix_ms"
|
|
81
|
+
],
|
|
82
|
+
"title": "handoff-deserialize",
|
|
83
|
+
"type": "object"
|
|
84
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$defs": {
|
|
3
|
+
"HandoffIdentity": {
|
|
4
|
+
"additionalProperties": false,
|
|
5
|
+
"description": "The current managed Pi execution that published or received a handoff.\n`subject_id` is stable across verified successors; `execution_id` and\ngeneration identify the exact execution that took the action.",
|
|
6
|
+
"properties": {
|
|
7
|
+
"execution_generation": {
|
|
8
|
+
"format": "uint32",
|
|
9
|
+
"maximum": 4294967295,
|
|
10
|
+
"minimum": 1,
|
|
11
|
+
"type": "integer"
|
|
12
|
+
},
|
|
13
|
+
"execution_id": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"registration_id": {
|
|
17
|
+
"type": "string"
|
|
18
|
+
},
|
|
19
|
+
"session_id": {
|
|
20
|
+
"type": "string"
|
|
21
|
+
},
|
|
22
|
+
"subject_id": {
|
|
23
|
+
"type": "string"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"required": [
|
|
27
|
+
"registration_id",
|
|
28
|
+
"session_id",
|
|
29
|
+
"subject_id",
|
|
30
|
+
"execution_id",
|
|
31
|
+
"execution_generation"
|
|
32
|
+
],
|
|
33
|
+
"type": "object"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
37
|
+
"additionalProperties": false,
|
|
38
|
+
"description": "Immutable handoff content. The request id is the stable communication id.",
|
|
39
|
+
"properties": {
|
|
40
|
+
"content": {
|
|
41
|
+
"type": "string"
|
|
42
|
+
},
|
|
43
|
+
"correlation_id": {
|
|
44
|
+
"type": [
|
|
45
|
+
"string",
|
|
46
|
+
"null"
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
"id": {
|
|
50
|
+
"type": "string"
|
|
51
|
+
},
|
|
52
|
+
"published_at_unix_ms": {
|
|
53
|
+
"format": "uint64",
|
|
54
|
+
"maximum": 9007199254740991,
|
|
55
|
+
"minimum": 0,
|
|
56
|
+
"type": "integer"
|
|
57
|
+
},
|
|
58
|
+
"recipient_subject_id": {
|
|
59
|
+
"type": "string"
|
|
60
|
+
},
|
|
61
|
+
"sender": {
|
|
62
|
+
"$ref": "#/$defs/HandoffIdentity"
|
|
63
|
+
},
|
|
64
|
+
"summary": {
|
|
65
|
+
"type": "string"
|
|
66
|
+
},
|
|
67
|
+
"version": {
|
|
68
|
+
"format": "uint32",
|
|
69
|
+
"minimum": 0,
|
|
70
|
+
"type": "integer"
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"required": [
|
|
74
|
+
"version",
|
|
75
|
+
"id",
|
|
76
|
+
"sender",
|
|
77
|
+
"recipient_subject_id",
|
|
78
|
+
"summary",
|
|
79
|
+
"content",
|
|
80
|
+
"published_at_unix_ms"
|
|
81
|
+
],
|
|
82
|
+
"title": "handoff-serialize",
|
|
83
|
+
"type": "object"
|
|
84
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"additionalProperties": false,
|
|
4
|
+
"description": "Input accepted by `observation.get`.",
|
|
5
|
+
"properties": {
|
|
6
|
+
"classes": {
|
|
7
|
+
"default": null,
|
|
8
|
+
"items": {
|
|
9
|
+
"type": "string"
|
|
10
|
+
},
|
|
11
|
+
"type": [
|
|
12
|
+
"array",
|
|
13
|
+
"null"
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
"epoch": {
|
|
17
|
+
"default": null,
|
|
18
|
+
"type": [
|
|
19
|
+
"string",
|
|
20
|
+
"null"
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
"since_revision": {
|
|
24
|
+
"default": null,
|
|
25
|
+
"format": "uint64",
|
|
26
|
+
"maximum": 9007199254740991,
|
|
27
|
+
"minimum": 0,
|
|
28
|
+
"type": [
|
|
29
|
+
"integer",
|
|
30
|
+
"null"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"wait_ms": {
|
|
34
|
+
"default": null,
|
|
35
|
+
"format": "uint64",
|
|
36
|
+
"maximum": 30000,
|
|
37
|
+
"minimum": 0,
|
|
38
|
+
"type": [
|
|
39
|
+
"integer",
|
|
40
|
+
"null"
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"title": "observation-get-params-deserialize",
|
|
45
|
+
"type": "object"
|
|
46
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"additionalProperties": false,
|
|
4
|
+
"description": "Input accepted by `observation.get`.",
|
|
5
|
+
"properties": {
|
|
6
|
+
"classes": {
|
|
7
|
+
"default": null,
|
|
8
|
+
"items": {
|
|
9
|
+
"type": "string"
|
|
10
|
+
},
|
|
11
|
+
"type": [
|
|
12
|
+
"array",
|
|
13
|
+
"null"
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
"epoch": {
|
|
17
|
+
"default": null,
|
|
18
|
+
"type": [
|
|
19
|
+
"string",
|
|
20
|
+
"null"
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
"since_revision": {
|
|
24
|
+
"default": null,
|
|
25
|
+
"format": "uint64",
|
|
26
|
+
"maximum": 9007199254740991,
|
|
27
|
+
"minimum": 0,
|
|
28
|
+
"type": [
|
|
29
|
+
"integer",
|
|
30
|
+
"null"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"wait_ms": {
|
|
34
|
+
"default": null,
|
|
35
|
+
"format": "uint64",
|
|
36
|
+
"maximum": 30000,
|
|
37
|
+
"minimum": 0,
|
|
38
|
+
"type": [
|
|
39
|
+
"integer",
|
|
40
|
+
"null"
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"required": [
|
|
45
|
+
"epoch",
|
|
46
|
+
"since_revision",
|
|
47
|
+
"wait_ms",
|
|
48
|
+
"classes"
|
|
49
|
+
],
|
|
50
|
+
"title": "observation-get-params-serialize",
|
|
51
|
+
"type": "object"
|
|
52
|
+
}
|