@clowder-ai/plugin-contract 0.1.0-beta.2 → 0.1.0-beta.21
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/codegen/generate-contract.d.ts +10 -0
- package/dist/codegen/generate-contract.d.ts.map +1 -1
- package/dist/codegen/generate-contract.js +201 -19
- package/dist/codegen/generate-contract.js.map +1 -1
- package/dist/conformance/fixtures.d.ts +11 -0
- package/dist/conformance/fixtures.d.ts.map +1 -0
- package/dist/conformance/fixtures.js +9 -0
- package/dist/conformance/fixtures.js.map +1 -0
- package/dist/conformance/index.d.ts +4 -0
- package/dist/conformance/index.d.ts.map +1 -1
- package/dist/conformance/index.js +3 -0
- package/dist/conformance/index.js.map +1 -1
- package/dist/conformance/messaging-behavior-fixture.d.ts +12 -0
- package/dist/conformance/messaging-behavior-fixture.d.ts.map +1 -0
- package/dist/conformance/messaging-behavior-fixture.js +30 -0
- package/dist/conformance/messaging-behavior-fixture.js.map +1 -0
- package/dist/conformance/runner.d.ts.map +1 -1
- package/dist/conformance/runner.js +22 -2
- package/dist/conformance/runner.js.map +1 -1
- package/dist/conformance/stdio-harness/child-process-harness.d.ts +65 -0
- package/dist/conformance/stdio-harness/child-process-harness.d.ts.map +1 -0
- package/dist/conformance/stdio-harness/child-process-harness.js +296 -0
- package/dist/conformance/stdio-harness/child-process-harness.js.map +1 -0
- package/dist/conformance/stdio-harness/dual-transport-oracle.d.ts +26 -0
- package/dist/conformance/stdio-harness/dual-transport-oracle.d.ts.map +1 -0
- package/dist/conformance/stdio-harness/dual-transport-oracle.js +32 -0
- package/dist/conformance/stdio-harness/dual-transport-oracle.js.map +1 -0
- package/dist/conformance/stdio-harness/harness-process-spawn.d.ts +27 -0
- package/dist/conformance/stdio-harness/harness-process-spawn.d.ts.map +1 -0
- package/dist/conformance/stdio-harness/harness-process-spawn.js +43 -0
- package/dist/conformance/stdio-harness/harness-process-spawn.js.map +1 -0
- package/dist/conformance/stdio-harness/index.d.ts +5 -0
- package/dist/conformance/stdio-harness/index.d.ts.map +1 -0
- package/dist/conformance/stdio-harness/index.js +4 -0
- package/dist/conformance/stdio-harness/index.js.map +1 -0
- package/dist/conformance/stdio-harness/ndjson-frame.d.ts +31 -0
- package/dist/conformance/stdio-harness/ndjson-frame.d.ts.map +1 -0
- package/dist/conformance/stdio-harness/ndjson-frame.js +125 -0
- package/dist/conformance/stdio-harness/ndjson-frame.js.map +1 -0
- package/dist/conformance/stdio-harness/node-process-tree-runtime.d.ts +15 -0
- package/dist/conformance/stdio-harness/node-process-tree-runtime.d.ts.map +1 -0
- package/dist/conformance/stdio-harness/node-process-tree-runtime.js +78 -0
- package/dist/conformance/stdio-harness/node-process-tree-runtime.js.map +1 -0
- package/dist/conformance/stdio-harness/process-tree-controller.d.ts +51 -0
- package/dist/conformance/stdio-harness/process-tree-controller.d.ts.map +1 -0
- package/dist/conformance/stdio-harness/process-tree-controller.js +162 -0
- package/dist/conformance/stdio-harness/process-tree-controller.js.map +1 -0
- package/dist/conformance/stdio-harness/windows-sentinel.d.ts +15 -0
- package/dist/conformance/stdio-harness/windows-sentinel.d.ts.map +1 -0
- package/dist/conformance/stdio-harness/windows-sentinel.js +160 -0
- package/dist/conformance/stdio-harness/windows-sentinel.js.map +1 -0
- package/dist/conformance/stdio-harness/wire-shape.d.ts +18 -0
- package/dist/conformance/stdio-harness/wire-shape.d.ts.map +1 -0
- package/dist/conformance/stdio-harness/wire-shape.js +2 -0
- package/dist/conformance/stdio-harness/wire-shape.js.map +1 -0
- package/dist/docx-materialization.d.ts +8 -0
- package/dist/docx-materialization.d.ts.map +1 -0
- package/dist/docx-materialization.js +19 -0
- package/dist/docx-materialization.js.map +1 -0
- package/dist/generated/contract.generated.d.ts +984 -12
- package/dist/generated/contract.generated.d.ts.map +1 -1
- package/dist/generated/contract.generated.js +9 -1
- package/dist/generated/contract.generated.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/validation/catalog.d.ts +21 -0
- package/dist/validation/catalog.d.ts.map +1 -0
- package/dist/validation/catalog.js +140 -0
- package/dist/validation/catalog.js.map +1 -0
- package/dist/validation/companion-bridge.d.ts +6 -0
- package/dist/validation/companion-bridge.d.ts.map +1 -0
- package/dist/validation/companion-bridge.js +70 -0
- package/dist/validation/companion-bridge.js.map +1 -0
- package/dist/validation/docx-materialization.d.ts +6 -0
- package/dist/validation/docx-materialization.d.ts.map +1 -0
- package/dist/validation/docx-materialization.js +36 -0
- package/dist/validation/docx-materialization.js.map +1 -0
- package/dist/validation/index.d.ts +6 -0
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +6 -0
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/manifest.d.ts +23 -0
- package/dist/validation/manifest.d.ts.map +1 -0
- package/dist/validation/manifest.js +160 -0
- package/dist/validation/manifest.js.map +1 -0
- package/dist/validation/messaging-semantic.d.ts.map +1 -1
- package/dist/validation/messaging-semantic.js +49 -0
- package/dist/validation/messaging-semantic.js.map +1 -1
- package/dist/validation/messaging-wire.d.ts +38 -0
- package/dist/validation/messaging-wire.d.ts.map +1 -0
- package/dist/validation/messaging-wire.js +164 -0
- package/dist/validation/messaging-wire.js.map +1 -0
- package/dist/validation/signals.d.ts +26 -0
- package/dist/validation/signals.d.ts.map +1 -0
- package/dist/validation/signals.js +206 -0
- package/dist/validation/signals.js.map +1 -0
- package/dist/wire/constants.d.ts +36 -0
- package/dist/wire/constants.d.ts.map +1 -0
- package/dist/wire/constants.js +36 -0
- package/dist/wire/constants.js.map +1 -0
- package/dist/wire/disposition-fixtures.d.ts +118 -0
- package/dist/wire/disposition-fixtures.d.ts.map +1 -0
- package/dist/wire/disposition-fixtures.js +1881 -0
- package/dist/wire/disposition-fixtures.js.map +1 -0
- package/dist/wire/disposition.d.ts +102 -0
- package/dist/wire/disposition.d.ts.map +1 -0
- package/dist/wire/disposition.js +217 -0
- package/dist/wire/disposition.js.map +1 -0
- package/dist/wire/envelope.d.ts +253 -0
- package/dist/wire/envelope.d.ts.map +1 -0
- package/dist/wire/envelope.js +19 -0
- package/dist/wire/envelope.js.map +1 -0
- package/dist/wire/errors.d.ts +222 -0
- package/dist/wire/errors.d.ts.map +1 -0
- package/dist/wire/errors.js +153 -0
- package/dist/wire/errors.js.map +1 -0
- package/dist/wire/grants.d.ts +57 -0
- package/dist/wire/grants.d.ts.map +1 -0
- package/dist/wire/grants.js +59 -0
- package/dist/wire/grants.js.map +1 -0
- package/dist/wire/handshake-byte-bounds.d.ts +69 -0
- package/dist/wire/handshake-byte-bounds.d.ts.map +1 -0
- package/dist/wire/handshake-byte-bounds.js +173 -0
- package/dist/wire/handshake-byte-bounds.js.map +1 -0
- package/dist/wire/handshake.d.ts +146 -0
- package/dist/wire/handshake.d.ts.map +1 -0
- package/dist/wire/handshake.js +189 -0
- package/dist/wire/handshake.js.map +1 -0
- package/dist/wire/index.d.ts +37 -0
- package/dist/wire/index.d.ts.map +1 -0
- package/dist/wire/index.js +61 -0
- package/dist/wire/index.js.map +1 -0
- package/dist/wire/lifecycle-byte-bounds.d.ts +55 -0
- package/dist/wire/lifecycle-byte-bounds.d.ts.map +1 -0
- package/dist/wire/lifecycle-byte-bounds.js +209 -0
- package/dist/wire/lifecycle-byte-bounds.js.map +1 -0
- package/dist/wire/messaging-byte-bounds.d.ts +61 -0
- package/dist/wire/messaging-byte-bounds.d.ts.map +1 -0
- package/dist/wire/messaging-byte-bounds.js +459 -0
- package/dist/wire/messaging-byte-bounds.js.map +1 -0
- package/dist/wire/registry.d.ts +294 -0
- package/dist/wire/registry.d.ts.map +1 -0
- package/dist/wire/registry.js +256 -0
- package/dist/wire/registry.js.map +1 -0
- package/dist/wire/request-id.d.ts +34 -0
- package/dist/wire/request-id.d.ts.map +1 -0
- package/dist/wire/request-id.js +40 -0
- package/dist/wire/request-id.js.map +1 -0
- package/dist/wire/row-shapes.d.ts +217 -0
- package/dist/wire/row-shapes.d.ts.map +1 -0
- package/dist/wire/row-shapes.js +75 -0
- package/dist/wire/row-shapes.js.map +1 -0
- package/dist/wire/signal-byte-bounds.d.ts +97 -0
- package/dist/wire/signal-byte-bounds.d.ts.map +1 -0
- package/dist/wire/signal-byte-bounds.js +229 -0
- package/dist/wire/signal-byte-bounds.js.map +1 -0
- package/dist/wire/wire-uint53.d.ts +26 -0
- package/dist/wire/wire-uint53.d.ts.map +1 -0
- package/dist/wire/wire-uint53.js +32 -0
- package/dist/wire/wire-uint53.js.map +1 -0
- package/fixtures/behavior/messaging/adversarial-invariants.json +85 -0
- package/fixtures/manifest/invalid/duplicate-signal-type.json +33 -0
- package/fixtures/manifest/invalid/icon-package-escape.json +22 -0
- package/fixtures/manifest/valid/localized-product-metadata.json +27 -0
- package/fixtures/messaging/valid/subscription-delivery.json +1 -1
- package/fixtures/signals/invalid/destination-injection.json +15 -0
- package/fixtures/signals/invalid/dynamic-schema-url.json +10 -0
- package/fixtures/signals/invalid/forbidden-raw-privacy.json +10 -0
- package/fixtures/signals/invalid/non-utc-occurred-at.json +12 -0
- package/fixtures/signals/valid/feishu-meeting-artifact.json +18 -0
- package/fixtures/signals/valid/remote-service-declaration.json +10 -0
- package/package.json +19 -6
- package/src/schemas/behavior-fixture.schema.json +262 -2
- package/src/schemas/catalog.schema.json +91 -0
- package/src/schemas/companion-bridge.schema.json +1011 -0
- package/src/schemas/docx-materialization.schema.json +302 -0
- package/src/schemas/manifest.schema.json +490 -4
- package/src/schemas/messaging.schema.json +209 -32
- package/src/schemas/physical-limb.schema.json +319 -0
- package/src/schemas/plugin-metadata.schema.json +62 -0
- package/src/schemas/signal.schema.json +129 -0
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Handshake types — CandidateHello, SessionBinding, BrokerReadyParams.
|
|
3
|
+
* Mechanized verbatim from #1165 frozen shape.
|
|
4
|
+
*
|
|
5
|
+
* Handshake flow:
|
|
6
|
+
* 1. Plugin sends CandidateHello (candidate claims only, no grants/session).
|
|
7
|
+
* 2. Host validates, mints instance/session ids, replies with SessionBinding.
|
|
8
|
+
* 3. Plugin sends broker.ready with the bindingNonce to activate.
|
|
9
|
+
*
|
|
10
|
+
* CandidateHello and BrokerReadyParams REJECT any additional
|
|
11
|
+
* identity/instance/grant/session fields (closed surface).
|
|
12
|
+
*/
|
|
13
|
+
import { validateEffectiveGrants } from './grants.js';
|
|
14
|
+
import { isWireUInt53 } from './wire-uint53.js';
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
// Package digest constants (CLOSED — H2)
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
/** Exact character length of a sha512 SRI digest. */
|
|
19
|
+
export const PACKAGE_DIGEST_LENGTH = 95;
|
|
20
|
+
/**
|
|
21
|
+
* Pattern for a valid sha512 SRI package digest.
|
|
22
|
+
* 85 base64 chars + one of [AQgw] + '==' suffix.
|
|
23
|
+
*/
|
|
24
|
+
export const PACKAGE_DIGEST_PATTERN = /^sha512-[A-Za-z0-9+/]{85}[AQgw]==$/;
|
|
25
|
+
/**
|
|
26
|
+
* Compact-JSON encoded byte count for the digest string.
|
|
27
|
+
* 95 chars (all ASCII) + 2 surrounding quotes = 97 bytes.
|
|
28
|
+
*/
|
|
29
|
+
export const PACKAGE_DIGEST_ENCODED_BYTES = 97;
|
|
30
|
+
// ---------------------------------------------------------------------------
|
|
31
|
+
// H1/H3/H4/H5/H6 closure bounds
|
|
32
|
+
// ---------------------------------------------------------------------------
|
|
33
|
+
/** H1 wire pluginId minimum length in Unicode code points. */
|
|
34
|
+
export const PLUGIN_ID_MIN_LENGTH = 1;
|
|
35
|
+
/** H1 wire pluginId maximum length in Unicode code points. */
|
|
36
|
+
export const PLUGIN_ID_MAX_LENGTH = 256;
|
|
37
|
+
/** Worst compact-JSON encoded bytes for H1 pluginId. */
|
|
38
|
+
export const PLUGIN_ID_MAX_ENCODED_BYTES = 1538;
|
|
39
|
+
/** Shared H3/H4 SemVer maximum length (the grammar is ASCII-only). */
|
|
40
|
+
export const HANDSHAKE_VERSION_MAX_LENGTH = 256;
|
|
41
|
+
/** Worst compact-JSON encoded bytes for H3/H4 version strings. */
|
|
42
|
+
export const HANDSHAKE_VERSION_MAX_ENCODED_BYTES = 258;
|
|
43
|
+
/** Exact SemVer 2.0.0 grammar copied from manifest.schema.json $defs.SemVer. */
|
|
44
|
+
export const HANDSHAKE_SEMVER_PATTERN = /^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(-(0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*)(\.(0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*))*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/;
|
|
45
|
+
/** H5/H6 opaque Host-minted identifier minimum length in code points. */
|
|
46
|
+
export const HOST_IDENTIFIER_MIN_LENGTH = 1;
|
|
47
|
+
/** H5/H6 opaque Host-minted identifier maximum length in code points. */
|
|
48
|
+
export const HOST_IDENTIFIER_MAX_LENGTH = 512;
|
|
49
|
+
/** Worst compact-JSON encoded bytes for either opaque Host identifier. */
|
|
50
|
+
export const HOST_IDENTIFIER_MAX_ENCODED_BYTES = 3074;
|
|
51
|
+
// ---------------------------------------------------------------------------
|
|
52
|
+
// Binding nonce bounds (CLOSED — H9)
|
|
53
|
+
// ---------------------------------------------------------------------------
|
|
54
|
+
/** Minimum code-point length for bindingNonce. */
|
|
55
|
+
export const BINDING_NONCE_MIN_LENGTH = 1;
|
|
56
|
+
/** Maximum code-point length for bindingNonce. */
|
|
57
|
+
export const BINDING_NONCE_MAX_LENGTH = 512;
|
|
58
|
+
/**
|
|
59
|
+
* Maximum compact-JSON encoded bytes for bindingNonce.
|
|
60
|
+
* Worst case: every code point is a 6-byte escape (\uXXXX) → 6 * 512 + 2 quotes.
|
|
61
|
+
*/
|
|
62
|
+
export const BINDING_NONCE_MAX_ENCODED_BYTES = 3074;
|
|
63
|
+
// ---------------------------------------------------------------------------
|
|
64
|
+
// Validators
|
|
65
|
+
// ---------------------------------------------------------------------------
|
|
66
|
+
/**
|
|
67
|
+
* Validate a string as a conformant sha512 SRI package digest.
|
|
68
|
+
* Checks exact length (95) and pattern match.
|
|
69
|
+
*/
|
|
70
|
+
export function validatePackageDigest(value) {
|
|
71
|
+
if (typeof value !== 'string' || value.length !== PACKAGE_DIGEST_LENGTH)
|
|
72
|
+
return false;
|
|
73
|
+
return PACKAGE_DIGEST_PATTERN.test(value);
|
|
74
|
+
}
|
|
75
|
+
/** Test a string's code-point length using the established H9 convention. */
|
|
76
|
+
function hasCodePointLength(value, min, max) {
|
|
77
|
+
if (typeof value !== 'string' || value.length === 0)
|
|
78
|
+
return false;
|
|
79
|
+
if (value.length <= max)
|
|
80
|
+
return value.length >= min;
|
|
81
|
+
const codePointCount = [...value].length;
|
|
82
|
+
return codePointCount >= min && codePointCount <= max;
|
|
83
|
+
}
|
|
84
|
+
/** Validate H1's bounded wire representation without narrowing manifest syntax. */
|
|
85
|
+
export function validatePluginId(value) {
|
|
86
|
+
return hasCodePointLength(value, PLUGIN_ID_MIN_LENGTH, PLUGIN_ID_MAX_LENGTH);
|
|
87
|
+
}
|
|
88
|
+
/** Validate an exact, bounded SemVer candidate used by H3 and H4. */
|
|
89
|
+
function validateHandshakeVersion(value) {
|
|
90
|
+
return (typeof value === 'string' &&
|
|
91
|
+
value.length >= 1 &&
|
|
92
|
+
value.length <= HANDSHAKE_VERSION_MAX_LENGTH &&
|
|
93
|
+
HANDSHAKE_SEMVER_PATTERN.test(value));
|
|
94
|
+
}
|
|
95
|
+
/** Validate H3 contractVersion. Ranges and non-SemVer values are rejected. */
|
|
96
|
+
export function validateContractVersion(value) {
|
|
97
|
+
return validateHandshakeVersion(value);
|
|
98
|
+
}
|
|
99
|
+
/** Validate H4 wireVersion. Compatibility negotiation is Host policy, not syntax. */
|
|
100
|
+
export function validateWireVersion(value) {
|
|
101
|
+
return validateHandshakeVersion(value);
|
|
102
|
+
}
|
|
103
|
+
/** Validate H5 pluginInstanceId as an opaque Host-minted bounded value. */
|
|
104
|
+
export function validatePluginInstanceId(value) {
|
|
105
|
+
return hasCodePointLength(value, HOST_IDENTIFIER_MIN_LENGTH, HOST_IDENTIFIER_MAX_LENGTH);
|
|
106
|
+
}
|
|
107
|
+
/** Validate H6 brokerSessionId as an opaque Host-minted bounded value. */
|
|
108
|
+
export function validateBrokerSessionId(value) {
|
|
109
|
+
return hasCodePointLength(value, HOST_IDENTIFIER_MIN_LENGTH, HOST_IDENTIFIER_MAX_LENGTH);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Validate a string as a conformant binding nonce.
|
|
113
|
+
* Checks code-point count is within [1, 512].
|
|
114
|
+
*
|
|
115
|
+
* Note: uses spread to count code points (not .length, which counts
|
|
116
|
+
* UTF-16 code units and misreports surrogate pairs).
|
|
117
|
+
*/
|
|
118
|
+
export function validateBindingNonce(value) {
|
|
119
|
+
return hasCodePointLength(value, BINDING_NONCE_MIN_LENGTH, BINDING_NONCE_MAX_LENGTH);
|
|
120
|
+
}
|
|
121
|
+
const CANDIDATE_HELLO_KEYS = new Set([
|
|
122
|
+
'pluginId', 'packageDigest', 'contractVersion', 'wireVersion',
|
|
123
|
+
]);
|
|
124
|
+
const SESSION_BINDING_KEYS = new Set([
|
|
125
|
+
'pluginId', 'packageDigest', 'contractVersion', 'wireVersion',
|
|
126
|
+
'pluginInstanceId', 'brokerSessionId', 'grantRevision', 'effectiveGrants',
|
|
127
|
+
'bindingNonce',
|
|
128
|
+
]);
|
|
129
|
+
const BROKER_READY_PARAMS_KEYS = new Set(['bindingNonce']);
|
|
130
|
+
const HANDSHAKE_AUTHORITY_KEYS = new Set([
|
|
131
|
+
'pluginInstanceId',
|
|
132
|
+
'brokerSessionId',
|
|
133
|
+
'grantRevision',
|
|
134
|
+
'effectiveGrants',
|
|
135
|
+
]);
|
|
136
|
+
function isRecord(value) {
|
|
137
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Detect caller-supplied fields that belong exclusively to the Host's
|
|
141
|
+
* SessionBinding authority. These are a closed handshake rejection rather
|
|
142
|
+
* than an ordinary grammar error.
|
|
143
|
+
*/
|
|
144
|
+
export function hasHandshakeAuthorityInjection(value) {
|
|
145
|
+
return isRecord(value) && Object.keys(value).some(key => HANDSHAKE_AUTHORITY_KEYS.has(key));
|
|
146
|
+
}
|
|
147
|
+
function hasExactKeys(value, expected) {
|
|
148
|
+
const keys = Object.keys(value);
|
|
149
|
+
return keys.length === expected.size && keys.every(key => expected.has(key));
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Validate the closed plugin-to-Host CandidateHello object. It deliberately
|
|
153
|
+
* validates only grammar: the Host decides whether the candidate is allowed.
|
|
154
|
+
*/
|
|
155
|
+
export function validateCandidateHello(value) {
|
|
156
|
+
return (isRecord(value) &&
|
|
157
|
+
hasExactKeys(value, CANDIDATE_HELLO_KEYS) &&
|
|
158
|
+
validatePluginId(value.pluginId) &&
|
|
159
|
+
validatePackageDigest(value.packageDigest) &&
|
|
160
|
+
validateContractVersion(value.contractVersion) &&
|
|
161
|
+
validateWireVersion(value.wireVersion));
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Validate the closed Host-to-plugin SessionBinding object. Candidate echo
|
|
165
|
+
* equality and nonce-use state are peer protocol checks, not schema grammar.
|
|
166
|
+
*/
|
|
167
|
+
export function validateSessionBinding(value) {
|
|
168
|
+
return (isRecord(value) &&
|
|
169
|
+
hasExactKeys(value, SESSION_BINDING_KEYS) &&
|
|
170
|
+
validatePluginId(value.pluginId) &&
|
|
171
|
+
validatePackageDigest(value.packageDigest) &&
|
|
172
|
+
validateContractVersion(value.contractVersion) &&
|
|
173
|
+
validateWireVersion(value.wireVersion) &&
|
|
174
|
+
validatePluginInstanceId(value.pluginInstanceId) &&
|
|
175
|
+
validateBrokerSessionId(value.brokerSessionId) &&
|
|
176
|
+
typeof value.grantRevision === 'number' &&
|
|
177
|
+
isWireUInt53(value.grantRevision) &&
|
|
178
|
+
Array.isArray(value.effectiveGrants) &&
|
|
179
|
+
value.effectiveGrants.every(grant => typeof grant === 'string') &&
|
|
180
|
+
validateEffectiveGrants(value.effectiveGrants) &&
|
|
181
|
+
validateBindingNonce(value.bindingNonce));
|
|
182
|
+
}
|
|
183
|
+
/** Validate the closed activation-only broker.ready input object. */
|
|
184
|
+
export function validateBrokerReadyParams(value) {
|
|
185
|
+
return (isRecord(value) &&
|
|
186
|
+
hasExactKeys(value, BROKER_READY_PARAMS_KEYS) &&
|
|
187
|
+
validateBindingNonce(value.bindingNonce));
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=handshake.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handshake.js","sourceRoot":"","sources":["../../src/wire/handshake.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,8EAA8E;AAC9E,yCAAyC;AACzC,8EAA8E;AAE9E,qDAAqD;AACrD,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAW,CAAC;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,oCAAoC,CAAC;AAE3E;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAW,CAAC;AAExD,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E,8DAA8D;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAU,CAAC;AAE/C,8DAA8D;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAY,CAAC;AAEjD,wDAAwD;AACxD,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAa,CAAC;AAEzD,sEAAsE;AACtE,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAY,CAAC;AAEzD,kEAAkE;AAClE,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAY,CAAC;AAEhE,gFAAgF;AAChF,MAAM,CAAC,MAAM,wBAAwB,GAAG,0LAA0L,CAAC;AAEnO,yEAAyE;AACzE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAU,CAAC;AAErD,yEAAyE;AACzE,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAY,CAAC;AAEvD,0EAA0E;AAC1E,MAAM,CAAC,MAAM,iCAAiC,GAAG,IAAa,CAAC;AAE/D,8EAA8E;AAC9E,qCAAqC;AACrC,8EAA8E;AAE9E,kDAAkD;AAClD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAU,CAAC;AAEnD,kDAAkD;AAClD,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAY,CAAC;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAa,CAAC;AAqE7D,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,qBAAqB;QAAE,OAAO,KAAK,CAAC;IACtF,OAAO,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,6EAA6E;AAC7E,SAAS,kBAAkB,CAAC,KAAc,EAAE,GAAW,EAAE,GAAW;IAClE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClE,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC;IACpD,MAAM,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,cAAc,IAAI,GAAG,IAAI,cAAc,IAAI,GAAG,CAAC;AACxD,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;AAC/E,CAAC;AAED,qEAAqE;AACrE,SAAS,wBAAwB,CAAC,KAAc;IAC9C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,MAAM,IAAI,CAAC;QACjB,KAAK,CAAC,MAAM,IAAI,4BAA4B;QAC5C,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CACrC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,OAAO,kBAAkB,CAAC,KAAK,EAAE,0BAA0B,EAAE,0BAA0B,CAAC,CAAC;AAC3F,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,OAAO,kBAAkB,CAAC,KAAK,EAAE,0BAA0B,EAAE,0BAA0B,CAAC,CAAC;AAC3F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,OAAO,kBAAkB,CAAC,KAAK,EAAE,wBAAwB,EAAE,wBAAwB,CAAC,CAAC;AACvF,CAAC;AAQD,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa;CAC9D,CAAC,CAAC;AACH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa;IAC7D,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB;IACzE,cAAc;CACf,CAAC,CAAC;AACH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;AAC3D,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IACvC,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;IACf,iBAAiB;CAClB,CAAC,CAAC;AAEH,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAAC,KAAc;IAC3D,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,YAAY,CAAC,KAAoB,EAAE,QAA6B;IACvE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,YAAY,CAAC,KAAK,EAAE,oBAAoB,CAAC;QACzC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC;QAChC,qBAAqB,CAAC,KAAK,CAAC,aAAa,CAAC;QAC1C,uBAAuB,CAAC,KAAK,CAAC,eAAe,CAAC;QAC9C,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,CACvC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,YAAY,CAAC,KAAK,EAAE,oBAAoB,CAAC;QACzC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC;QAChC,qBAAqB,CAAC,KAAK,CAAC,aAAa,CAAC;QAC1C,uBAAuB,CAAC,KAAK,CAAC,eAAe,CAAC;QAC9C,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC;QACtC,wBAAwB,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAChD,uBAAuB,CAAC,KAAK,CAAC,eAAe,CAAC;QAC9C,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;QACvC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC;QACjC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC;QACpC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;QAC/D,uBAAuB,CAAC,KAAK,CAAC,eAAe,CAAC;QAC9C,oBAAoB,CAAC,KAAK,CAAC,YAAY,CAAC,CACzC,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,YAAY,CAAC,KAAK,EAAE,wBAAwB,CAAC;QAC7C,oBAAoB,CAAC,KAAK,CAAC,YAAY,CAAC,CACzC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wire protocol module barrel export.
|
|
3
|
+
*
|
|
4
|
+
* Re-exports all wire-protocol types, constants, validators, and registry
|
|
5
|
+
* entries mechanized from the #1165 frozen shape (rev11).
|
|
6
|
+
*
|
|
7
|
+
* This module defines nothing new — it is a pure re-export surface.
|
|
8
|
+
*/
|
|
9
|
+
export { MAX_FRAME_BYTES, WIRE_VERSION, CONTRACT_VERSION, JSONRPC_VERSION, MAX_ELEMENT_PAYLOAD_BYTES, MAX_TOTAL_PAYLOAD_BYTES, MAX_ELEMENTS_PER_OPERATION, MAX_ELEMENTS_PER_MESSAGE, MAX_WHISPER_TARGETS, } from './constants.js';
|
|
10
|
+
export type { RequestId } from './request-id.js';
|
|
11
|
+
export { REQUEST_ID_PATTERN, REQUEST_ID_MIN_LENGTH, REQUEST_ID_MAX_LENGTH, REQUEST_ID_MIN_ENCODED_BYTES, REQUEST_ID_MAX_ENCODED_BYTES, validateRequestId, isRequestIdShaped, } from './request-id.js';
|
|
12
|
+
export { WIRE_UINT53_MAX, WIRE_UINT53_RAW_PATTERN, WIRE_UINT53_MAX_RAW_LENGTH, isWireUInt53, isCanonicalUInt53Token, } from './wire-uint53.js';
|
|
13
|
+
export { HANDSHAKE_REJECTED_CODE, DELIVERY_REJECTED_CODE, DOMAIN_ERROR_CODE, DEADLINE_EXPIRED_CODE, SNAPSHOT_UNAVAILABLE_CODE, HANDSHAKE_REJECTED_MESSAGE, DELIVERY_REJECTED_MESSAGE, DOMAIN_ERROR_MESSAGE, DEADLINE_EXPIRED_MESSAGE, SNAPSHOT_UNAVAILABLE_MESSAGE, PARSE_ERROR_CODE, INVALID_REQUEST_CODE, METHOD_NOT_FOUND_CODE, INVALID_PARAMS_CODE, INTERNAL_ERROR_CODE, PARSE_ERROR_MESSAGE, INVALID_REQUEST_MESSAGE, METHOD_NOT_FOUND_MESSAGE, INVALID_PARAMS_MESSAGE, INTERNAL_ERROR_MESSAGE, ERROR_CODE_TO_MESSAGE, HANDSHAKE_REJECT_REASONS, DELIVERY_REJECT_REASONS, SNAPSHOT_UNAVAILABLE_REASONS, APPLICATION_ERROR_CODES, STANDARD_ERROR_CODES, ALL_ERROR_CODES, } from './errors.js';
|
|
14
|
+
export type { HandshakeRejectReason, DeliveryRejectReason, SnapshotUnavailableReason, MessagingErrorCode, HandshakeRejectedError, DeliveryRejectedError, DomainError, DeadlineExpiredError, SnapshotUnavailableError, ApplicationWireError, ParseError, InvalidRequestError, MethodNotFoundError, InvalidParamsError, InternalError, StandardWireError, WireError, } from './errors.js';
|
|
15
|
+
export { DISPOSITION_CLASSES, DISPOSITION_TABLE, CLOSE_CLASSES, RESPOND_CLASSES, ACCEPT_CLASSES, } from './disposition.js';
|
|
16
|
+
export { DISPOSITION_FIXTURE_VECTORS, BETA8_HANDSHAKE_VECTOR_IDS, BETA9_EVENTS_PUBLISH_VECTOR_IDS, BETA10_LIFECYCLE_VECTOR_IDS, BETA11_MESSAGING_VECTOR_IDS, CLOSED_ERROR_ARM_NAMES, RESPONSE_CANDIDATE_CASES, NOTIFICATION_PARTITION_CASES, } from './disposition-fixtures.js';
|
|
17
|
+
export type { ClosedErrorArmName, RequestSnapshot, InFlightRecord, FixturePreState, DispositionFixtureVector, PartitionCase, } from './disposition-fixtures.js';
|
|
18
|
+
export type { DispositionClass, DispositionOutcome, DispositionEntry, } from './disposition.js';
|
|
19
|
+
export { PACKAGE_DIGEST_LENGTH, PACKAGE_DIGEST_PATTERN, PACKAGE_DIGEST_ENCODED_BYTES, PLUGIN_ID_MIN_LENGTH, PLUGIN_ID_MAX_LENGTH, PLUGIN_ID_MAX_ENCODED_BYTES, HANDSHAKE_VERSION_MAX_LENGTH, HANDSHAKE_VERSION_MAX_ENCODED_BYTES, HANDSHAKE_SEMVER_PATTERN, HOST_IDENTIFIER_MIN_LENGTH, HOST_IDENTIFIER_MAX_LENGTH, HOST_IDENTIFIER_MAX_ENCODED_BYTES, BINDING_NONCE_MIN_LENGTH, BINDING_NONCE_MAX_LENGTH, BINDING_NONCE_MAX_ENCODED_BYTES, validatePackageDigest, validatePluginId, validateContractVersion, validateWireVersion, validatePluginInstanceId, validateBrokerSessionId, validateBindingNonce, hasHandshakeAuthorityInjection, validateCandidateHello, validateSessionBinding, validateBrokerReadyParams, } from './handshake.js';
|
|
20
|
+
export type { CandidateHello, SessionBinding, BrokerReadyParams, } from './handshake.js';
|
|
21
|
+
export { HANDSHAKE_BYTE_PROOF_ENCODING_FAMILIES, BROKER_HELLO_REQUEST_BYTE_PROOF, BROKER_HELLO_RESULT_BYTE_PROOF, BROKER_READY_REQUEST_BYTE_PROOF, HANDSHAKE_REJECTED_ERROR_BYTE_PROOF, BROKER_HELLO_MAX_ENCODED_REQUEST_BYTES, BROKER_HELLO_MAX_ENCODED_RESULT_BYTES, BROKER_HELLO_MAX_ENCODED_ERROR_BYTES, BROKER_READY_MAX_ENCODED_REQUEST_BYTES, BROKER_READY_MAX_ENCODED_RESULT_BYTES, BROKER_READY_MAX_ENCODED_ERROR_BYTES, HANDSHAKE_ROW_ENCODED_BYTE_BOUNDS, } from './handshake-byte-bounds.js';
|
|
22
|
+
export { EVENTS_PUBLISH_BYTE_PROOF_ENCODING_FAMILIES, SIGNAL_TYPE_MAX_LENGTH, SIGNAL_EVENT_ID_MAX_LENGTH, SIGNAL_IDEMPOTENCY_KEY_MAX_LENGTH, SIGNAL_OCCURRED_AT_MAX_LENGTH, SIGNAL_SOURCE_HANDLE_MAX_LENGTH, EVENTS_PUBLISH_REQUEST_BYTE_PROOF, EVENTS_PUBLISH_RESULT_BYTE_PROOF, EVENTS_PUBLISH_ERROR_BYTE_PROOF, EVENTS_PUBLISH_ROW_ENCODED_BYTE_BOUNDS, } from './signal-byte-bounds.js';
|
|
23
|
+
export { LIFECYCLE_BYTE_PROOF_ENCODING_FAMILIES, HOST_GRANTS_CHANGED_NOTIFICATION_BYTE_PROOF, HOST_LIFECYCLE_PING_REQUEST_BYTE_PROOF, HOST_LIFECYCLE_PING_RESULT_BYTE_PROOF, HOST_LIFECYCLE_PING_ERROR_BYTE_PROOF, HOST_LIFECYCLE_DRAIN_REQUEST_BYTE_PROOF, HOST_LIFECYCLE_DRAIN_RESULT_BYTE_PROOF, HOST_LIFECYCLE_DRAIN_ERROR_BYTE_PROOF, LIFECYCLE_ROW_ENCODED_BYTE_BOUNDS, } from './lifecycle-byte-bounds.js';
|
|
24
|
+
export type { LifecycleByteProofEncodingFamily, LifecycleNPlusOneByteProof, LifecycleEncodedByteProofCase, LifecycleEncodedByteProof, LifecycleRequestRowEncodedByteBounds, LifecycleNotificationRowEncodedByteBounds, } from './lifecycle-byte-bounds.js';
|
|
25
|
+
export { MESSAGING_BYTE_PROOF_ENCODING_FAMILIES, MESSAGING_REQUEST_BYTE_PROOFS, MESSAGING_RESULT_BYTE_PROOFS, MESSAGING_ERROR_BYTE_PROOFS, MESSAGING_ROW_ENCODED_BYTE_BOUNDS, } from './messaging-byte-bounds.js';
|
|
26
|
+
export type { MessagingByteProofEncodingFamily, MessagingByteProofBasis, MessagingNPlusOneByteProof, MessagingEncodedByteProofCase, MessagingEncodedByteProof, MessagingRowEncodedByteBounds, } from './messaging-byte-bounds.js';
|
|
27
|
+
export type { EventsPublishByteProofEncodingFamily, EventsPublishNPlusOneWitness, EventsPublishEncodedByteProofCase, EventsPublishEncodedByteProof, EventsPublishRowEncodedByteBounds, } from './signal-byte-bounds.js';
|
|
28
|
+
export type { HandshakeByteProofEncodingFamily, HandshakeNPlusOneByteProof, HandshakeEncodedByteProofCase, HandshakeEncodedByteProof, HandshakeRowEncodedByteBounds, } from './handshake-byte-bounds.js';
|
|
29
|
+
export { MAX_GRANT_ITEMS, validateEffectiveGrants, VALID_CAPABILITIES, } from './grants.js';
|
|
30
|
+
export type { GrantSnapshot } from './grants.js';
|
|
31
|
+
export type { CallMeta, WireSuccessResponse, HandshakeRejectedEnvelope, DeliveryRejectedEnvelope, DomainErrorEnvelope, DeadlineExpiredEnvelope, SnapshotUnavailableEnvelope, ParseErrorEnvelope, InvalidRequestNullIdEnvelope, InvalidRequestValidIdEnvelope, MethodNotFoundEnvelope, InvalidParamsEnvelope, InternalErrorEnvelope, ClosedWireErrorResponse, WireErrorResponse, WireResponse, } from './envelope.js';
|
|
32
|
+
export { WIRE_METHOD_NAMES, WIRE_METHOD_REGISTRY, WIRE_METHOD_COUNT, PLUGIN_TO_HOST_METHODS, HOST_TO_PLUGIN_METHODS, NOTIFICATION_METHODS, CLOSED_LEAF_ROWS, RESERVED_LEAF_ROWS, READY_ROWS, getRegistryRow, isWireMethod, getMethodGrant, } from './registry.js';
|
|
33
|
+
export type { MethodDirection, GrantRequirement, LeafClosureStatus, RegistryRow, ReadyRegistryRow, UnreadyRegistryRow, WireMethodRegistry, WireMethodName, } from './registry.js';
|
|
34
|
+
export type { HelloInput, HelloResult, ReadyInput, ReadyResult, SubscribeInput, SubscribeResult, MessagingAckRequest, MessagingAckResult, GrantsChangedInput, PingInput, PingResult, DrainInput, DrainResult, SendInput, SendResult, AppendInput, AppendResult, SubscriptionReadPageRequest, SubscriptionNormalPageResponse, SubscriptionEmptyPageResponse, SubscriptionStalePageResponse, BoundedSubscriptionReadPageResponse, ReadInput, ReadResult, SnapshotPageRequest, SnapshotIntermediatePageResponse, SnapshotFinalPageResponse, SnapshotPageResponse, SnapshotInput, SnapshotResult, HostMessagingDeliverRequest, HostMessagingDeliverResult, DeliverInput, DeliverResult, } from './row-shapes.js';
|
|
35
|
+
export type { EventsPublishInput, EventsPublishResult, } from '../generated/contract.generated.js';
|
|
36
|
+
export { SUBSCRIBE_HANDLE_MIN_LENGTH, SUBSCRIBE_HANDLE_MAX_LENGTH, SUBSCRIBE_HANDLE_MAX_ENCODED_BYTES, SUBSCRIBE_SUBSCRIPTION_ID_MIN_LENGTH, SUBSCRIBE_SUBSCRIPTION_ID_MAX_LENGTH, SUBSCRIBE_SUBSCRIPTION_ID_MAX_ENCODED_BYTES, ACK_SUBSCRIPTION_ID_MIN_LENGTH, ACK_SUBSCRIPTION_ID_MAX_LENGTH, ACK_SUBSCRIPTION_ID_MAX_ENCODED_BYTES, ACK_TOKEN_MIN_LENGTH, ACK_TOKEN_MAX_LENGTH, ACK_TOKEN_MAX_ENCODED_BYTES, READ_SUBSCRIPTION_ID_MIN_LENGTH, READ_SUBSCRIPTION_ID_MAX_LENGTH, READ_LIMIT_MIN, READ_LIMIT_MAX, READ_ACK_TOKEN_MIN_LENGTH, READ_ACK_TOKEN_MAX_LENGTH, SNAPSHOT_SUBSCRIPTION_ID_MIN_LENGTH, SNAPSHOT_SUBSCRIPTION_ID_MAX_LENGTH, SNAPSHOT_MAX_ITEMS_MIN, SNAPSHOT_MAX_ITEMS_MAX, SNAPSHOT_PAGE_TOKEN_MIN_LENGTH, SNAPSHOT_PAGE_TOKEN_MAX_LENGTH, SNAPSHOT_ACK_TOKEN_MIN_LENGTH, SNAPSHOT_ACK_TOKEN_MAX_LENGTH, DELIVER_DELIVERY_ID_MIN_LENGTH, DELIVER_DELIVERY_ID_MAX_LENGTH, PING_NONCE_MIN_LENGTH, PING_NONCE_MAX_LENGTH, PING_NONCE_MAX_ENCODED_BYTES, } from './row-shapes.js';
|
|
37
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wire/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,4BAA4B,EAC5B,4BAA4B,EAC5B,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,0BAA0B,EAC1B,YAAY,EACZ,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAEL,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB,EAEzB,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,wBAAwB,EACxB,4BAA4B,EAE5B,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EAEnB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EAEtB,qBAAqB,EAErB,wBAAwB,EACxB,uBAAuB,EACvB,4BAA4B,EAE5B,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAElB,sBAAsB,EACtB,qBAAqB,EACrB,WAAW,EACX,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EAEpB,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EAEjB,SAAS,GACV,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,cAAc,GACf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,+BAA+B,EAC/B,2BAA2B,EAC3B,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,aAAa,GACd,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,4BAA4B,EAC5B,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,4BAA4B,EAC5B,mCAAmC,EACnC,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,iCAAiC,EACjC,wBAAwB,EACxB,wBAAwB,EACxB,+BAA+B,EAC/B,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,8BAA8B,EAC9B,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,sCAAsC,EACtC,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,EAC/B,mCAAmC,EACnC,sCAAsC,EACtC,qCAAqC,EACrC,oCAAoC,EACpC,sCAAsC,EACtC,qCAAqC,EACrC,oCAAoC,EACpC,iCAAiC,GAClC,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,2CAA2C,EAC3C,sBAAsB,EACtB,0BAA0B,EAC1B,iCAAiC,EACjC,6BAA6B,EAC7B,+BAA+B,EAC/B,iCAAiC,EACjC,gCAAgC,EAChC,+BAA+B,EAC/B,sCAAsC,GACvC,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,sCAAsC,EACtC,2CAA2C,EAC3C,sCAAsC,EACtC,qCAAqC,EACrC,oCAAoC,EACpC,uCAAuC,EACvC,sCAAsC,EACtC,qCAAqC,EACrC,iCAAiC,GAClC,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,gCAAgC,EAChC,0BAA0B,EAC1B,6BAA6B,EAC7B,yBAAyB,EACzB,oCAAoC,EACpC,yCAAyC,GAC1C,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,sCAAsC,EACtC,6BAA6B,EAC7B,4BAA4B,EAC5B,2BAA2B,EAC3B,iCAAiC,GAClC,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,gCAAgC,EAChC,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,EAC7B,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,oCAAoC,EACpC,4BAA4B,EAC5B,iCAAiC,EACjC,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,gCAAgC,EAChC,0BAA0B,EAC1B,6BAA6B,EAC7B,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAYjD,YAAY,EACV,QAAQ,EACR,mBAAmB,EAEnB,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,2BAA2B,EAC3B,kBAAkB,EAClB,4BAA4B,EAC5B,6BAA6B,EAC7B,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,YAAY,GACb,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,YAAY,EACZ,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,GACf,MAAM,eAAe,CAAC;AAGvB,YAAY,EAEV,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,UAAU,EACV,WAAW,EACX,YAAY,EACZ,2BAA2B,EAC3B,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,mCAAmC,EACnC,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,gCAAgC,EAChC,yBAAyB,EACzB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,2BAA2B,EAC3B,0BAA0B,EAC1B,YAAY,EACZ,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAEL,2BAA2B,EAC3B,2BAA2B,EAC3B,kCAAkC,EAClC,oCAAoC,EACpC,oCAAoC,EACpC,2CAA2C,EAE3C,8BAA8B,EAC9B,8BAA8B,EAC9B,qCAAqC,EACrC,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAE3B,+BAA+B,EAC/B,+BAA+B,EAC/B,cAAc,EACd,cAAc,EACd,yBAAyB,EACzB,yBAAyB,EAEzB,mCAAmC,EACnC,mCAAmC,EACnC,sBAAsB,EACtB,sBAAsB,EACtB,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAE7B,8BAA8B,EAC9B,8BAA8B,EAE9B,qBAAqB,EACrB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wire protocol module barrel export.
|
|
3
|
+
*
|
|
4
|
+
* Re-exports all wire-protocol types, constants, validators, and registry
|
|
5
|
+
* entries mechanized from the #1165 frozen shape (rev11).
|
|
6
|
+
*
|
|
7
|
+
* This module defines nothing new — it is a pure re-export surface.
|
|
8
|
+
*/
|
|
9
|
+
// Framing constants
|
|
10
|
+
export { MAX_FRAME_BYTES, WIRE_VERSION, CONTRACT_VERSION, JSONRPC_VERSION, MAX_ELEMENT_PAYLOAD_BYTES, MAX_TOTAL_PAYLOAD_BYTES, MAX_ELEMENTS_PER_OPERATION, MAX_ELEMENTS_PER_MESSAGE, MAX_WHISPER_TARGETS, } from './constants.js';
|
|
11
|
+
export { REQUEST_ID_PATTERN, REQUEST_ID_MIN_LENGTH, REQUEST_ID_MAX_LENGTH, REQUEST_ID_MIN_ENCODED_BYTES, REQUEST_ID_MAX_ENCODED_BYTES, validateRequestId, isRequestIdShaped, } from './request-id.js';
|
|
12
|
+
// WireUInt53 — numeric profile
|
|
13
|
+
export { WIRE_UINT53_MAX, WIRE_UINT53_RAW_PATTERN, WIRE_UINT53_MAX_RAW_LENGTH, isWireUInt53, isCanonicalUInt53Token, } from './wire-uint53.js';
|
|
14
|
+
// Error codes, messages, reason taxonomies, and error variant types
|
|
15
|
+
export {
|
|
16
|
+
// Application error codes
|
|
17
|
+
HANDSHAKE_REJECTED_CODE, DELIVERY_REJECTED_CODE, DOMAIN_ERROR_CODE, DEADLINE_EXPIRED_CODE, SNAPSHOT_UNAVAILABLE_CODE,
|
|
18
|
+
// Application error messages
|
|
19
|
+
HANDSHAKE_REJECTED_MESSAGE, DELIVERY_REJECTED_MESSAGE, DOMAIN_ERROR_MESSAGE, DEADLINE_EXPIRED_MESSAGE, SNAPSHOT_UNAVAILABLE_MESSAGE,
|
|
20
|
+
// Standard error codes
|
|
21
|
+
PARSE_ERROR_CODE, INVALID_REQUEST_CODE, METHOD_NOT_FOUND_CODE, INVALID_PARAMS_CODE, INTERNAL_ERROR_CODE,
|
|
22
|
+
// Standard error messages
|
|
23
|
+
PARSE_ERROR_MESSAGE, INVALID_REQUEST_MESSAGE, METHOD_NOT_FOUND_MESSAGE, INVALID_PARAMS_MESSAGE, INTERNAL_ERROR_MESSAGE,
|
|
24
|
+
// Code-to-message mapping
|
|
25
|
+
ERROR_CODE_TO_MESSAGE,
|
|
26
|
+
// Reject-reason taxonomies
|
|
27
|
+
HANDSHAKE_REJECT_REASONS, DELIVERY_REJECT_REASONS, SNAPSHOT_UNAVAILABLE_REASONS,
|
|
28
|
+
// Collected code arrays
|
|
29
|
+
APPLICATION_ERROR_CODES, STANDARD_ERROR_CODES, ALL_ERROR_CODES, } from './errors.js';
|
|
30
|
+
// Pre-dispatch disposition table
|
|
31
|
+
export { DISPOSITION_CLASSES, DISPOSITION_TABLE, CLOSE_CLASSES, RESPOND_CLASSES, ACCEPT_CLASSES, } from './disposition.js';
|
|
32
|
+
// Machine-readable disposition/conformance vectors
|
|
33
|
+
export { DISPOSITION_FIXTURE_VECTORS, BETA8_HANDSHAKE_VECTOR_IDS, BETA9_EVENTS_PUBLISH_VECTOR_IDS, BETA10_LIFECYCLE_VECTOR_IDS, BETA11_MESSAGING_VECTOR_IDS, CLOSED_ERROR_ARM_NAMES, RESPONSE_CANDIDATE_CASES, NOTIFICATION_PARTITION_CASES, } from './disposition-fixtures.js';
|
|
34
|
+
// Handshake types + validators
|
|
35
|
+
export { PACKAGE_DIGEST_LENGTH, PACKAGE_DIGEST_PATTERN, PACKAGE_DIGEST_ENCODED_BYTES, PLUGIN_ID_MIN_LENGTH, PLUGIN_ID_MAX_LENGTH, PLUGIN_ID_MAX_ENCODED_BYTES, HANDSHAKE_VERSION_MAX_LENGTH, HANDSHAKE_VERSION_MAX_ENCODED_BYTES, HANDSHAKE_SEMVER_PATTERN, HOST_IDENTIFIER_MIN_LENGTH, HOST_IDENTIFIER_MAX_LENGTH, HOST_IDENTIFIER_MAX_ENCODED_BYTES, BINDING_NONCE_MIN_LENGTH, BINDING_NONCE_MAX_LENGTH, BINDING_NONCE_MAX_ENCODED_BYTES, validatePackageDigest, validatePluginId, validateContractVersion, validateWireVersion, validatePluginInstanceId, validateBrokerSessionId, validateBindingNonce, hasHandshakeAuthorityInjection, validateCandidateHello, validateSessionBinding, validateBrokerReadyParams, } from './handshake.js';
|
|
36
|
+
// Derived beta.8 handshake byte-bound evidence
|
|
37
|
+
export { HANDSHAKE_BYTE_PROOF_ENCODING_FAMILIES, BROKER_HELLO_REQUEST_BYTE_PROOF, BROKER_HELLO_RESULT_BYTE_PROOF, BROKER_READY_REQUEST_BYTE_PROOF, HANDSHAKE_REJECTED_ERROR_BYTE_PROOF, BROKER_HELLO_MAX_ENCODED_REQUEST_BYTES, BROKER_HELLO_MAX_ENCODED_RESULT_BYTES, BROKER_HELLO_MAX_ENCODED_ERROR_BYTES, BROKER_READY_MAX_ENCODED_REQUEST_BYTES, BROKER_READY_MAX_ENCODED_RESULT_BYTES, BROKER_READY_MAX_ENCODED_ERROR_BYTES, HANDSHAKE_ROW_ENCODED_BYTE_BOUNDS, } from './handshake-byte-bounds.js';
|
|
38
|
+
// Derived beta.9 C-2 signal-publish byte-bound evidence
|
|
39
|
+
export { EVENTS_PUBLISH_BYTE_PROOF_ENCODING_FAMILIES, SIGNAL_TYPE_MAX_LENGTH, SIGNAL_EVENT_ID_MAX_LENGTH, SIGNAL_IDEMPOTENCY_KEY_MAX_LENGTH, SIGNAL_OCCURRED_AT_MAX_LENGTH, SIGNAL_SOURCE_HANDLE_MAX_LENGTH, EVENTS_PUBLISH_REQUEST_BYTE_PROOF, EVENTS_PUBLISH_RESULT_BYTE_PROOF, EVENTS_PUBLISH_ERROR_BYTE_PROOF, EVENTS_PUBLISH_ROW_ENCODED_BYTE_BOUNDS, } from './signal-byte-bounds.js';
|
|
40
|
+
// Derived beta.10 M0-B lifecycle byte-bound evidence
|
|
41
|
+
export { LIFECYCLE_BYTE_PROOF_ENCODING_FAMILIES, HOST_GRANTS_CHANGED_NOTIFICATION_BYTE_PROOF, HOST_LIFECYCLE_PING_REQUEST_BYTE_PROOF, HOST_LIFECYCLE_PING_RESULT_BYTE_PROOF, HOST_LIFECYCLE_PING_ERROR_BYTE_PROOF, HOST_LIFECYCLE_DRAIN_REQUEST_BYTE_PROOF, HOST_LIFECYCLE_DRAIN_RESULT_BYTE_PROOF, HOST_LIFECYCLE_DRAIN_ERROR_BYTE_PROOF, LIFECYCLE_ROW_ENCODED_BYTE_BOUNDS, } from './lifecycle-byte-bounds.js';
|
|
42
|
+
// Derived beta.11 M0-C messaging byte-bound evidence
|
|
43
|
+
export { MESSAGING_BYTE_PROOF_ENCODING_FAMILIES, MESSAGING_REQUEST_BYTE_PROOFS, MESSAGING_RESULT_BYTE_PROOFS, MESSAGING_ERROR_BYTE_PROOFS, MESSAGING_ROW_ENCODED_BYTE_BOUNDS, } from './messaging-byte-bounds.js';
|
|
44
|
+
// Grant snapshot
|
|
45
|
+
export { MAX_GRANT_ITEMS, validateEffectiveGrants, VALID_CAPABILITIES, } from './grants.js';
|
|
46
|
+
// 13-row method registry (frozen original 12 + C-2 publish)
|
|
47
|
+
export { WIRE_METHOD_NAMES, WIRE_METHOD_REGISTRY, WIRE_METHOD_COUNT, PLUGIN_TO_HOST_METHODS, HOST_TO_PLUGIN_METHODS, NOTIFICATION_METHODS, CLOSED_LEAF_ROWS, RESERVED_LEAF_ROWS, READY_ROWS, getRegistryRow, isWireMethod, getMethodGrant, } from './registry.js';
|
|
48
|
+
export {
|
|
49
|
+
// Row 5 bounds
|
|
50
|
+
SUBSCRIBE_HANDLE_MIN_LENGTH, SUBSCRIBE_HANDLE_MAX_LENGTH, SUBSCRIBE_HANDLE_MAX_ENCODED_BYTES, SUBSCRIBE_SUBSCRIPTION_ID_MIN_LENGTH, SUBSCRIBE_SUBSCRIPTION_ID_MAX_LENGTH, SUBSCRIBE_SUBSCRIPTION_ID_MAX_ENCODED_BYTES,
|
|
51
|
+
// Row 7 bounds
|
|
52
|
+
ACK_SUBSCRIPTION_ID_MIN_LENGTH, ACK_SUBSCRIPTION_ID_MAX_LENGTH, ACK_SUBSCRIPTION_ID_MAX_ENCODED_BYTES, ACK_TOKEN_MIN_LENGTH, ACK_TOKEN_MAX_LENGTH, ACK_TOKEN_MAX_ENCODED_BYTES,
|
|
53
|
+
// Row 6 bounds
|
|
54
|
+
READ_SUBSCRIPTION_ID_MIN_LENGTH, READ_SUBSCRIPTION_ID_MAX_LENGTH, READ_LIMIT_MIN, READ_LIMIT_MAX, READ_ACK_TOKEN_MIN_LENGTH, READ_ACK_TOKEN_MAX_LENGTH,
|
|
55
|
+
// Row 8 bounds
|
|
56
|
+
SNAPSHOT_SUBSCRIPTION_ID_MIN_LENGTH, SNAPSHOT_SUBSCRIPTION_ID_MAX_LENGTH, SNAPSHOT_MAX_ITEMS_MIN, SNAPSHOT_MAX_ITEMS_MAX, SNAPSHOT_PAGE_TOKEN_MIN_LENGTH, SNAPSHOT_PAGE_TOKEN_MAX_LENGTH, SNAPSHOT_ACK_TOKEN_MIN_LENGTH, SNAPSHOT_ACK_TOKEN_MAX_LENGTH,
|
|
57
|
+
// Row 9 bounds
|
|
58
|
+
DELIVER_DELIVERY_ID_MIN_LENGTH, DELIVER_DELIVERY_ID_MAX_LENGTH,
|
|
59
|
+
// Row 11 bounds
|
|
60
|
+
PING_NONCE_MIN_LENGTH, PING_NONCE_MAX_LENGTH, PING_NONCE_MAX_ENCODED_BYTES, } from './row-shapes.js';
|
|
61
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wire/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,oBAAoB;AACpB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,4BAA4B,EAC5B,4BAA4B,EAC5B,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,+BAA+B;AAC/B,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,0BAA0B,EAC1B,YAAY,EACZ,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,oEAAoE;AACpE,OAAO;AACL,0BAA0B;AAC1B,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB;AACzB,6BAA6B;AAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,wBAAwB,EACxB,4BAA4B;AAC5B,uBAAuB;AACvB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB;AACnB,0BAA0B;AAC1B,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB;AACtB,0BAA0B;AAC1B,qBAAqB;AACrB,2BAA2B;AAC3B,wBAAwB,EACxB,uBAAuB,EACvB,4BAA4B;AAC5B,wBAAwB;AACxB,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,GAChB,MAAM,aAAa,CAAC;AAyBrB,iCAAiC;AACjC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,mDAAmD;AACnD,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,+BAA+B,EAC/B,2BAA2B,EAC3B,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AAiBnC,+BAA+B;AAC/B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,4BAA4B,EAC5B,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,4BAA4B,EAC5B,mCAAmC,EACnC,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,iCAAiC,EACjC,wBAAwB,EACxB,wBAAwB,EACxB,+BAA+B,EAC/B,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,8BAA8B,EAC9B,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AAQxB,+CAA+C;AAC/C,OAAO,EACL,sCAAsC,EACtC,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,EAC/B,mCAAmC,EACnC,sCAAsC,EACtC,qCAAqC,EACrC,oCAAoC,EACpC,sCAAsC,EACtC,qCAAqC,EACrC,oCAAoC,EACpC,iCAAiC,GAClC,MAAM,4BAA4B,CAAC;AAEpC,wDAAwD;AACxD,OAAO,EACL,2CAA2C,EAC3C,sBAAsB,EACtB,0BAA0B,EAC1B,iCAAiC,EACjC,6BAA6B,EAC7B,+BAA+B,EAC/B,iCAAiC,EACjC,gCAAgC,EAChC,+BAA+B,EAC/B,sCAAsC,GACvC,MAAM,yBAAyB,CAAC;AAEjC,qDAAqD;AACrD,OAAO,EACL,sCAAsC,EACtC,2CAA2C,EAC3C,sCAAsC,EACtC,qCAAqC,EACrC,oCAAoC,EACpC,uCAAuC,EACvC,sCAAsC,EACtC,qCAAqC,EACrC,iCAAiC,GAClC,MAAM,4BAA4B,CAAC;AAWpC,qDAAqD;AACrD,OAAO,EACL,sCAAsC,EACtC,6BAA6B,EAC7B,4BAA4B,EAC5B,2BAA2B,EAC3B,iCAAiC,GAClC,MAAM,4BAA4B,CAAC;AA2BpC,iBAAiB;AACjB,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAkCrB,4DAA4D;AAC5D,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,YAAY,EACZ,cAAc,GACf,MAAM,eAAe,CAAC;AAyDvB,OAAO;AACL,eAAe;AACf,2BAA2B,EAC3B,2BAA2B,EAC3B,kCAAkC,EAClC,oCAAoC,EACpC,oCAAoC,EACpC,2CAA2C;AAC3C,eAAe;AACf,8BAA8B,EAC9B,8BAA8B,EAC9B,qCAAqC,EACrC,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B;AAC3B,eAAe;AACf,+BAA+B,EAC/B,+BAA+B,EAC/B,cAAc,EACd,cAAc,EACd,yBAAyB,EACzB,yBAAyB;AACzB,eAAe;AACf,mCAAmC,EACnC,mCAAmC,EACnC,sBAAsB,EACtB,sBAAsB,EACtB,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B;AAC7B,eAAe;AACf,8BAA8B,EAC9B,8BAA8B;AAC9B,gBAAgB;AAChB,qBAAqB,EACrB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derived compact-JSON byte bounds for the beta.10 M0-B lifecycle rows.
|
|
3
|
+
*
|
|
4
|
+
* This production module constructs maximum legal frames directly from the
|
|
5
|
+
* closed public grammar. The generic byte-proof kernel remains test-only;
|
|
6
|
+
* tests independently recompute these maxima to prevent registry drift.
|
|
7
|
+
*/
|
|
8
|
+
export declare const LIFECYCLE_BYTE_PROOF_ENCODING_FAMILIES: readonly ["ascii", "multibyte", "escaping"];
|
|
9
|
+
export type LifecycleByteProofEncodingFamily = (typeof LIFECYCLE_BYTE_PROOF_ENCODING_FAMILIES)[number];
|
|
10
|
+
export interface LifecycleNPlusOneByteProof {
|
|
11
|
+
readonly leaf: string;
|
|
12
|
+
readonly encodedBytes: number;
|
|
13
|
+
readonly fitsFrame: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface LifecycleEncodedByteProofCase {
|
|
16
|
+
readonly family: LifecycleByteProofEncodingFamily;
|
|
17
|
+
readonly encodedBytes: number;
|
|
18
|
+
readonly fitsFrame: boolean;
|
|
19
|
+
readonly nPlusOne: readonly LifecycleNPlusOneByteProof[];
|
|
20
|
+
}
|
|
21
|
+
export interface LifecycleEncodedByteProof {
|
|
22
|
+
readonly maxEncodedBytes: number;
|
|
23
|
+
readonly cases: readonly LifecycleEncodedByteProofCase[];
|
|
24
|
+
}
|
|
25
|
+
export interface LifecycleRequestRowEncodedByteBounds {
|
|
26
|
+
readonly maxEncodedRequestBytes: number;
|
|
27
|
+
readonly maxEncodedResultBytes: number;
|
|
28
|
+
readonly maxEncodedErrorBytes: number;
|
|
29
|
+
}
|
|
30
|
+
export interface LifecycleNotificationRowEncodedByteBounds {
|
|
31
|
+
readonly maxEncodedRequestBytes: number;
|
|
32
|
+
}
|
|
33
|
+
export declare const HOST_GRANTS_CHANGED_NOTIFICATION_BYTE_PROOF: LifecycleEncodedByteProof;
|
|
34
|
+
export declare const HOST_LIFECYCLE_PING_REQUEST_BYTE_PROOF: LifecycleEncodedByteProof;
|
|
35
|
+
export declare const HOST_LIFECYCLE_PING_RESULT_BYTE_PROOF: LifecycleEncodedByteProof;
|
|
36
|
+
export declare const HOST_LIFECYCLE_DRAIN_REQUEST_BYTE_PROOF: LifecycleEncodedByteProof;
|
|
37
|
+
export declare const HOST_LIFECYCLE_DRAIN_RESULT_BYTE_PROOF: LifecycleEncodedByteProof;
|
|
38
|
+
export declare const HOST_LIFECYCLE_PING_ERROR_BYTE_PROOF: LifecycleEncodedByteProof;
|
|
39
|
+
export declare const HOST_LIFECYCLE_DRAIN_ERROR_BYTE_PROOF: LifecycleEncodedByteProof;
|
|
40
|
+
export declare const LIFECYCLE_ROW_ENCODED_BYTE_BOUNDS: {
|
|
41
|
+
readonly 'host.grants.changed': {
|
|
42
|
+
readonly maxEncodedRequestBytes: number;
|
|
43
|
+
};
|
|
44
|
+
readonly 'host.lifecycle.ping': {
|
|
45
|
+
readonly maxEncodedRequestBytes: number;
|
|
46
|
+
readonly maxEncodedResultBytes: number;
|
|
47
|
+
readonly maxEncodedErrorBytes: number;
|
|
48
|
+
};
|
|
49
|
+
readonly 'host.lifecycle.drain': {
|
|
50
|
+
readonly maxEncodedRequestBytes: number;
|
|
51
|
+
readonly maxEncodedResultBytes: number;
|
|
52
|
+
readonly maxEncodedErrorBytes: number;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=lifecycle-byte-bounds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle-byte-bounds.d.ts","sourceRoot":"","sources":["../../src/wire/lifecycle-byte-bounds.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH,eAAO,MAAM,sCAAsC,6CAIzC,CAAC;AAEX,MAAM,MAAM,gCAAgC,GAC1C,CAAC,OAAO,sCAAsC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,MAAM,EAAE,gCAAgC,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,SAAS,0BAA0B,EAAE,CAAC;CAC1D;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,6BAA6B,EAAE,CAAC;CAC1D;AAED,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACvC;AAED,MAAM,WAAW,yCAAyC;IACxD,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;CACzC;AA8ED,eAAO,MAAM,2CAA2C,2BAMvD,CAAC;AA8BF,eAAO,MAAM,sCAAsC,2BAYlD,CAAC;AAEF,eAAO,MAAM,qCAAqC,2BAYjD,CAAC;AAqBF,eAAO,MAAM,uCAAuC,2BAYnD,CAAC;AAEF,eAAO,MAAM,sCAAsC,2BAMlD,CAAC;AA6DF,eAAO,MAAM,oCAAoC,2BAEhD,CAAC;AAEF,eAAO,MAAM,qCAAqC,2BAGhD,CAAC;AAEH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;CAkB7C,CAAC"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derived compact-JSON byte bounds for the beta.10 M0-B lifecycle rows.
|
|
3
|
+
*
|
|
4
|
+
* This production module constructs maximum legal frames directly from the
|
|
5
|
+
* closed public grammar. The generic byte-proof kernel remains test-only;
|
|
6
|
+
* tests independently recompute these maxima to prevent registry drift.
|
|
7
|
+
*/
|
|
8
|
+
import { MAX_FRAME_BYTES } from './constants.js';
|
|
9
|
+
import { DEADLINE_EXPIRED_CODE, DEADLINE_EXPIRED_MESSAGE, ERROR_CODE_TO_MESSAGE, INVALID_REQUEST_CODE, PARSE_ERROR_CODE, STANDARD_ERROR_CODES, } from './errors.js';
|
|
10
|
+
import { MAX_GRANT_ITEMS, VALID_CAPABILITIES } from './grants.js';
|
|
11
|
+
import { REQUEST_ID_MAX_LENGTH } from './request-id.js';
|
|
12
|
+
import { PING_NONCE_MAX_LENGTH } from './row-shapes.js';
|
|
13
|
+
import { WIRE_UINT53_MAX } from './wire-uint53.js';
|
|
14
|
+
export const LIFECYCLE_BYTE_PROOF_ENCODING_FAMILIES = [
|
|
15
|
+
'ascii',
|
|
16
|
+
'multibyte',
|
|
17
|
+
'escaping',
|
|
18
|
+
];
|
|
19
|
+
const MAX_REQUEST_ID = 'a'.repeat(REQUEST_ID_MAX_LENGTH);
|
|
20
|
+
const ALL_CAPABILITY_VALUES = [...VALID_CAPABILITIES];
|
|
21
|
+
function byteLength(value) {
|
|
22
|
+
return Buffer.byteLength(JSON.stringify(value), 'utf8');
|
|
23
|
+
}
|
|
24
|
+
function familyCharacter(family) {
|
|
25
|
+
switch (family) {
|
|
26
|
+
case 'ascii':
|
|
27
|
+
return 'a';
|
|
28
|
+
case 'multibyte':
|
|
29
|
+
return '😀';
|
|
30
|
+
case 'escaping':
|
|
31
|
+
return '\u0000';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function proof(maximumFrame, nPlusOneFrames) {
|
|
35
|
+
const cases = LIFECYCLE_BYTE_PROOF_ENCODING_FAMILIES.map((family) => {
|
|
36
|
+
const encodedBytes = byteLength(maximumFrame(family));
|
|
37
|
+
return {
|
|
38
|
+
family,
|
|
39
|
+
encodedBytes,
|
|
40
|
+
fitsFrame: encodedBytes <= MAX_FRAME_BYTES,
|
|
41
|
+
nPlusOne: nPlusOneFrames(family).map(({ leaf, frame }) => {
|
|
42
|
+
const witnessBytes = byteLength(frame);
|
|
43
|
+
return {
|
|
44
|
+
leaf,
|
|
45
|
+
encodedBytes: witnessBytes,
|
|
46
|
+
fitsFrame: witnessBytes <= MAX_FRAME_BYTES,
|
|
47
|
+
};
|
|
48
|
+
}),
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
return {
|
|
52
|
+
maxEncodedBytes: Math.max(...cases.map(proofCase => proofCase.encodedBytes)),
|
|
53
|
+
cases,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function repeatedProof(maximumFrame, nPlusOneFrames) {
|
|
57
|
+
return proof(() => maximumFrame, () => nPlusOneFrames);
|
|
58
|
+
}
|
|
59
|
+
function grantsChangedFrame(effectiveGrants) {
|
|
60
|
+
return {
|
|
61
|
+
jsonrpc: '2.0',
|
|
62
|
+
method: 'host.grants.changed',
|
|
63
|
+
params: {
|
|
64
|
+
meta: { deadlineUnixMs: WIRE_UINT53_MAX },
|
|
65
|
+
input: {
|
|
66
|
+
grantRevision: WIRE_UINT53_MAX,
|
|
67
|
+
effectiveGrants,
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
const longestCapability = ALL_CAPABILITY_VALUES.reduce((longest, capability) => capability.length > longest.length ? capability : longest);
|
|
73
|
+
if (ALL_CAPABILITY_VALUES.length !== MAX_GRANT_ITEMS) {
|
|
74
|
+
throw new Error('capability cardinality must equal MAX_GRANT_ITEMS for lifecycle proof');
|
|
75
|
+
}
|
|
76
|
+
export const HOST_GRANTS_CHANGED_NOTIFICATION_BYTE_PROOF = repeatedProof(grantsChangedFrame(ALL_CAPABILITY_VALUES), [{
|
|
77
|
+
leaf: 'effectiveGrants',
|
|
78
|
+
frame: grantsChangedFrame([...ALL_CAPABILITY_VALUES, longestCapability]),
|
|
79
|
+
}]);
|
|
80
|
+
function pingRequestFrame(family, requestId = MAX_REQUEST_ID, nonceLength = PING_NONCE_MAX_LENGTH) {
|
|
81
|
+
return {
|
|
82
|
+
jsonrpc: '2.0',
|
|
83
|
+
id: requestId,
|
|
84
|
+
method: 'host.lifecycle.ping',
|
|
85
|
+
params: {
|
|
86
|
+
meta: { deadlineUnixMs: WIRE_UINT53_MAX },
|
|
87
|
+
input: { nonce: familyCharacter(family).repeat(nonceLength) },
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
function pingResultFrame(family, requestId = MAX_REQUEST_ID, nonceLength = PING_NONCE_MAX_LENGTH) {
|
|
92
|
+
return {
|
|
93
|
+
jsonrpc: '2.0',
|
|
94
|
+
id: requestId,
|
|
95
|
+
result: { nonce: familyCharacter(family).repeat(nonceLength) },
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
export const HOST_LIFECYCLE_PING_REQUEST_BYTE_PROOF = proof(family => pingRequestFrame(family), family => [
|
|
99
|
+
{
|
|
100
|
+
leaf: 'requestId',
|
|
101
|
+
frame: pingRequestFrame(family, 'a'.repeat(REQUEST_ID_MAX_LENGTH + 1)),
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
leaf: 'nonce',
|
|
105
|
+
frame: pingRequestFrame(family, MAX_REQUEST_ID, PING_NONCE_MAX_LENGTH + 1),
|
|
106
|
+
},
|
|
107
|
+
]);
|
|
108
|
+
export const HOST_LIFECYCLE_PING_RESULT_BYTE_PROOF = proof(family => pingResultFrame(family), family => [
|
|
109
|
+
{
|
|
110
|
+
leaf: 'requestId',
|
|
111
|
+
frame: pingResultFrame(family, 'a'.repeat(REQUEST_ID_MAX_LENGTH + 1)),
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
leaf: 'nonce',
|
|
115
|
+
frame: pingResultFrame(family, MAX_REQUEST_ID, PING_NONCE_MAX_LENGTH + 1),
|
|
116
|
+
},
|
|
117
|
+
]);
|
|
118
|
+
function drainRequestFrame(requestId = MAX_REQUEST_ID, deadlineUnixMs = WIRE_UINT53_MAX) {
|
|
119
|
+
return {
|
|
120
|
+
jsonrpc: '2.0',
|
|
121
|
+
id: requestId,
|
|
122
|
+
method: 'host.lifecycle.drain',
|
|
123
|
+
params: {
|
|
124
|
+
meta: { deadlineUnixMs: WIRE_UINT53_MAX },
|
|
125
|
+
input: { deadlineUnixMs },
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
function drainResultFrame(requestId = MAX_REQUEST_ID) {
|
|
130
|
+
return { jsonrpc: '2.0', id: requestId, result: null };
|
|
131
|
+
}
|
|
132
|
+
export const HOST_LIFECYCLE_DRAIN_REQUEST_BYTE_PROOF = repeatedProof(drainRequestFrame(), [
|
|
133
|
+
{
|
|
134
|
+
leaf: 'requestId',
|
|
135
|
+
frame: drainRequestFrame('a'.repeat(REQUEST_ID_MAX_LENGTH + 1)),
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
leaf: 'deadlineUnixMs',
|
|
139
|
+
frame: drainRequestFrame(MAX_REQUEST_ID, WIRE_UINT53_MAX + 1),
|
|
140
|
+
},
|
|
141
|
+
]);
|
|
142
|
+
export const HOST_LIFECYCLE_DRAIN_RESULT_BYTE_PROOF = repeatedProof(drainResultFrame(), [{
|
|
143
|
+
leaf: 'requestId',
|
|
144
|
+
frame: drainResultFrame('a'.repeat(REQUEST_ID_MAX_LENGTH + 1)),
|
|
145
|
+
}]);
|
|
146
|
+
function standardErrorEnvelopes() {
|
|
147
|
+
return STANDARD_ERROR_CODES.flatMap((code) => {
|
|
148
|
+
const error = { code, message: ERROR_CODE_TO_MESSAGE[code] };
|
|
149
|
+
const arm = `standard:${code}`;
|
|
150
|
+
if (code === PARSE_ERROR_CODE)
|
|
151
|
+
return [{ arm, id: null, error }];
|
|
152
|
+
if (code === INVALID_REQUEST_CODE) {
|
|
153
|
+
return [
|
|
154
|
+
{ arm: `${arm}:null`, id: null, error },
|
|
155
|
+
{ arm, id: MAX_REQUEST_ID, error },
|
|
156
|
+
];
|
|
157
|
+
}
|
|
158
|
+
return [{ arm, id: MAX_REQUEST_ID, error }];
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
function deadlineExpiredEnvelope(requestId = MAX_REQUEST_ID) {
|
|
162
|
+
return {
|
|
163
|
+
arm: 'application:DEADLINE_EXPIRED',
|
|
164
|
+
id: requestId,
|
|
165
|
+
error: {
|
|
166
|
+
code: DEADLINE_EXPIRED_CODE,
|
|
167
|
+
message: DEADLINE_EXPIRED_MESSAGE,
|
|
168
|
+
data: {},
|
|
169
|
+
},
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
function errorProof(envelopes) {
|
|
173
|
+
const maximumEnvelope = envelopes.reduce((maximum, envelope) => byteLength({ jsonrpc: '2.0', id: envelope.id, error: envelope.error }) >
|
|
174
|
+
byteLength({ jsonrpc: '2.0', id: maximum.id, error: maximum.error })
|
|
175
|
+
? envelope
|
|
176
|
+
: maximum);
|
|
177
|
+
const witnesses = envelopes
|
|
178
|
+
.filter((envelope) => envelope.id !== null)
|
|
179
|
+
.map(envelope => ({
|
|
180
|
+
leaf: `${envelope.arm}.requestId`,
|
|
181
|
+
frame: {
|
|
182
|
+
jsonrpc: '2.0',
|
|
183
|
+
id: 'a'.repeat(REQUEST_ID_MAX_LENGTH + 1),
|
|
184
|
+
error: envelope.error,
|
|
185
|
+
},
|
|
186
|
+
}));
|
|
187
|
+
return repeatedProof({ jsonrpc: '2.0', id: maximumEnvelope.id, error: maximumEnvelope.error }, witnesses);
|
|
188
|
+
}
|
|
189
|
+
export const HOST_LIFECYCLE_PING_ERROR_BYTE_PROOF = errorProof(standardErrorEnvelopes());
|
|
190
|
+
export const HOST_LIFECYCLE_DRAIN_ERROR_BYTE_PROOF = errorProof([
|
|
191
|
+
...standardErrorEnvelopes(),
|
|
192
|
+
deadlineExpiredEnvelope(),
|
|
193
|
+
]);
|
|
194
|
+
export const LIFECYCLE_ROW_ENCODED_BYTE_BOUNDS = {
|
|
195
|
+
'host.grants.changed': {
|
|
196
|
+
maxEncodedRequestBytes: HOST_GRANTS_CHANGED_NOTIFICATION_BYTE_PROOF.maxEncodedBytes,
|
|
197
|
+
},
|
|
198
|
+
'host.lifecycle.ping': {
|
|
199
|
+
maxEncodedRequestBytes: HOST_LIFECYCLE_PING_REQUEST_BYTE_PROOF.maxEncodedBytes,
|
|
200
|
+
maxEncodedResultBytes: HOST_LIFECYCLE_PING_RESULT_BYTE_PROOF.maxEncodedBytes,
|
|
201
|
+
maxEncodedErrorBytes: HOST_LIFECYCLE_PING_ERROR_BYTE_PROOF.maxEncodedBytes,
|
|
202
|
+
},
|
|
203
|
+
'host.lifecycle.drain': {
|
|
204
|
+
maxEncodedRequestBytes: HOST_LIFECYCLE_DRAIN_REQUEST_BYTE_PROOF.maxEncodedBytes,
|
|
205
|
+
maxEncodedResultBytes: HOST_LIFECYCLE_DRAIN_RESULT_BYTE_PROOF.maxEncodedBytes,
|
|
206
|
+
maxEncodedErrorBytes: HOST_LIFECYCLE_DRAIN_ERROR_BYTE_PROOF.maxEncodedBytes,
|
|
207
|
+
},
|
|
208
|
+
};
|
|
209
|
+
//# sourceMappingURL=lifecycle-byte-bounds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle-byte-bounds.js","sourceRoot":"","sources":["../../src/wire/lifecycle-byte-bounds.ts"],"names":[],"mappings":"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"}
|