@amalgm/live 0.2.81-main.41784750721 → 0.2.81-main.41789770770
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/PURPOSE.md +1 -2
- package/dist/contracts/index.d.ts +2 -4
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +2 -4
- package/dist/contracts/index.js.map +1 -1
- package/dist/detection/adapter-contract.d.ts.map +1 -1
- package/dist/detection/adapter-contract.js +1 -1
- package/dist/detection/adapter-contract.js.map +1 -1
- package/dist/detection/content.d.ts +0 -15
- package/dist/detection/content.d.ts.map +1 -1
- package/dist/detection/content.js +0 -22
- package/dist/detection/content.js.map +1 -1
- package/dist/entities/graph-head.d.ts.map +1 -1
- package/dist/entities/graph-head.js +1 -19
- package/dist/entities/graph-head.js.map +1 -1
- package/dist/files/commands.d.ts.map +1 -1
- package/dist/files/commands.js +2 -2
- package/dist/files/commands.js.map +1 -1
- package/dist-cjs/contracts/index.js +2 -4
- package/dist-cjs/contracts/index.js.map +1 -1
- package/dist-cjs/detection/adapter-contract.js +6 -6
- package/dist-cjs/detection/adapter-contract.js.map +1 -1
- package/dist-cjs/detection/content.js +0 -23
- package/dist-cjs/detection/content.js.map +1 -1
- package/dist-cjs/entities/graph-head.js +1 -19
- package/dist-cjs/entities/graph-head.js.map +1 -1
- package/dist-cjs/files/commands.js +1 -1
- package/dist-cjs/files/commands.js.map +1 -1
- package/package.json +4 -4
- package/dist/contracts/frames/tunnel.d.ts +0 -77
- package/dist/contracts/frames/tunnel.d.ts.map +0 -1
- package/dist/contracts/frames/tunnel.js +0 -54
- package/dist/contracts/frames/tunnel.js.map +0 -1
- package/dist-cjs/contracts/frames/tunnel.js +0 -59
- package/dist-cjs/contracts/frames/tunnel.js.map +0 -1
package/PURPOSE.md
CHANGED
|
@@ -624,8 +624,7 @@ to the SDK is a bug (axiom 3).
|
|
|
624
624
|
|
|
625
625
|
```
|
|
626
626
|
src/contracts/ value types + validators: non-throwing checks, content
|
|
627
|
-
manifests, the sealed-content envelope
|
|
628
|
-
runtime-gateway tunnel frames.
|
|
627
|
+
manifests, and the sealed-content envelope.
|
|
629
628
|
src/records/ entity record contracts, the event-driven Send/Receive rail,
|
|
630
629
|
and the local-outbox, authority, and per-entity inbox laws.
|
|
631
630
|
src/entities/ the entity model's rule surface: the six-field record,
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The contracts layer: the wire shapes and validators a host still speaks —
|
|
3
|
-
* non-throwing validation, immutable chunked content, the sealed-content
|
|
4
|
-
* protection envelope
|
|
5
|
-
* performs I/O or holds state.
|
|
3
|
+
* non-throwing validation, immutable chunked content, and the sealed-content
|
|
4
|
+
* protection envelope. Nothing in here performs I/O or holds state.
|
|
6
5
|
*/
|
|
7
6
|
export * from './validate.js';
|
|
8
7
|
export * from './content.js';
|
|
9
8
|
export * from './protection.js';
|
|
10
|
-
export * from './frames/tunnel.js';
|
|
11
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC"}
|
package/dist/contracts/index.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The contracts layer: the wire shapes and validators a host still speaks —
|
|
3
|
-
* non-throwing validation, immutable chunked content, the sealed-content
|
|
4
|
-
* protection envelope
|
|
5
|
-
* performs I/O or holds state.
|
|
3
|
+
* non-throwing validation, immutable chunked content, and the sealed-content
|
|
4
|
+
* protection envelope. Nothing in here performs I/O or holds state.
|
|
6
5
|
*/
|
|
7
6
|
export * from './validate.js';
|
|
8
7
|
export * from './content.js';
|
|
9
8
|
export * from './protection.js';
|
|
10
|
-
export * from './frames/tunnel.js';
|
|
11
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-contract.d.ts","sourceRoot":"","sources":["../../src/detection/adapter-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter-contract.d.ts","sourceRoot":"","sources":["../../src/detection/adapter-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGnF,MAAM,MAAM,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE3F,gEAAgE;AAChE,eAAO,MAAM,KAAK,EAAE,SAAS,IAAI,EAE/B,CAAC;AAEH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,GACpB;IACA,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;wDACoD;IACpD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,GACC;IAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAE1E,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,YAAY,CAAC;CAChD;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAIrE,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;QAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;QACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC;KACtC,CAAC;CACH;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,CA2CjE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC3B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,GACzB,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAsBhC"}
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
* rail earns a socket only when a real consumer proves that
|
|
33
33
|
* behavior differs by type — never for symmetry.
|
|
34
34
|
*/
|
|
35
|
+
import { isRecord } from '../contracts/validate.js';
|
|
35
36
|
/** The seven rails, declared once, frozen, in journey order. */
|
|
36
37
|
export const RAILS = Object.freeze([
|
|
37
38
|
'watch', 'detect', 'record', 'send', 'receive', 'apply', 'verify',
|
|
@@ -54,7 +55,6 @@ export const SOCKETS = Object.freeze({
|
|
|
54
55
|
* unchanged when lawful.
|
|
55
56
|
*/
|
|
56
57
|
export function assertAdapter(adapter) {
|
|
57
|
-
const isRecord = (value) => typeof value === 'object' && value !== null;
|
|
58
58
|
const where = isRecord(adapter) && typeof adapter['name'] === 'string' && adapter['name']
|
|
59
59
|
? `adapter ${JSON.stringify(adapter['name'])}` : 'adapter';
|
|
60
60
|
if (!isRecord(adapter) || !Object.isFrozen(adapter)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-contract.js","sourceRoot":"","sources":["../../src/detection/adapter-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;
|
|
1
|
+
{"version":3,"file":"adapter-contract.js","sourceRoot":"","sources":["../../src/detection/adapter-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,7 @@
|
|
|
1
1
|
/** Text replay: the one rule choosing a byte splice or the whole-result
|
|
2
2
|
* snapshot, and the one splice every host runs on an exact base. */
|
|
3
|
-
import type { ContentManifest } from '../contracts/content.js';
|
|
4
3
|
import type { Sha256Hex } from '../entities/types.js';
|
|
5
|
-
import type { TransferArtifact } from '../transfer/artifacts.js';
|
|
6
4
|
import { type TextReplay, type TextSplice } from './record-proposal.js';
|
|
7
|
-
export interface CapturedArtifact {
|
|
8
|
-
readonly artifact: TransferArtifact;
|
|
9
|
-
/** The exact settled bytes Detection already read; the cache seals these. */
|
|
10
|
-
readonly bytes: Uint8Array;
|
|
11
|
-
readonly manifest: ContentManifest;
|
|
12
|
-
}
|
|
13
|
-
export interface CapturedContent<Replay> {
|
|
14
|
-
readonly replay: Replay;
|
|
15
|
-
readonly cargo: CapturedArtifact;
|
|
16
|
-
}
|
|
17
5
|
/** The smallest single replacement span that transforms base bytes to result. */
|
|
18
6
|
export declare function textSplice(base: Uint8Array, result: Uint8Array): TextSplice;
|
|
19
7
|
export interface TextReplayInput {
|
|
@@ -34,9 +22,6 @@ export declare function textReplay(input: TextReplayInput, sha256Hex: Sha256Hex)
|
|
|
34
22
|
/** A whole-result text replay. It carries no bytes: Send moves the result by
|
|
35
23
|
* its content head, so a snapshot needs no read of it. */
|
|
36
24
|
export declare function textSnapshot(basePayloadVersion: string | null, resultPayloadVersion: string): TextReplay;
|
|
37
|
-
/** Text capture with its sealed snapshot cargo: null when the bytes did not
|
|
38
|
-
* change. */
|
|
39
|
-
export declare function captureTextChange(entityId: string, base: Uint8Array | null, result: Uint8Array, sha256Hex: Sha256Hex): CapturedContent<TextReplay> | null;
|
|
40
25
|
/** Replay one text splice on its exact base: the result bytes, or null when
|
|
41
26
|
* the base or the result is not the one the record names. Null sends the
|
|
42
27
|
* caller to the record's snapshot; a splice is a shortcut, never truth. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/detection/content.ts"],"names":[],"mappings":"AAAA;oEACoE;AAEpE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/detection/content.ts"],"names":[],"mappings":"AAAA;oEACoE;AAEpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAkB,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAExF,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,CAgB3E;AAED,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;CAClC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,GAAG,UAAU,CAkBnF;AAED;0DAC0D;AAC1D,wBAAgB,YAAY,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,EAAE,oBAAoB,EAAE,MAAM,GAAG,UAAU,CAQxG;AAED;;2EAE2E;AAC3E,wBAAgB,UAAU,CACxB,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE;IAAE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;CAAE,EAC7E,oBAAoB,EAAE,MAAM,EAC5B,SAAS,EAAE,SAAS,GACnB,UAAU,GAAG,IAAI,CAYnB"}
|
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
/** Text replay: the one rule choosing a byte splice or the whole-result
|
|
2
2
|
* snapshot, and the one splice every host runs on an exact base. */
|
|
3
|
-
import { deriveUploadManifest } from '../transfer/upload.js';
|
|
4
3
|
import { textReplayBase } from './record-proposal.js';
|
|
5
|
-
const capturedText = (entityId, input, sha256Hex) => {
|
|
6
|
-
const bytes = input.slice();
|
|
7
|
-
const artifact = { entityId, entityType: 'file.text', kind: 'file', contentHash: sha256Hex(bytes) };
|
|
8
|
-
return Object.freeze({
|
|
9
|
-
artifact: Object.freeze(artifact),
|
|
10
|
-
bytes,
|
|
11
|
-
manifest: deriveUploadManifest(artifact, bytes, sha256Hex),
|
|
12
|
-
});
|
|
13
|
-
};
|
|
14
4
|
/** The smallest single replacement span that transforms base bytes to result. */
|
|
15
5
|
export function textSplice(base, result) {
|
|
16
6
|
let prefix = 0;
|
|
@@ -66,18 +56,6 @@ export function textSnapshot(basePayloadVersion, resultPayloadVersion) {
|
|
|
66
56
|
delta: null,
|
|
67
57
|
});
|
|
68
58
|
}
|
|
69
|
-
/** Text capture with its sealed snapshot cargo: null when the bytes did not
|
|
70
|
-
* change. */
|
|
71
|
-
export function captureTextChange(entityId, base, result, sha256Hex) {
|
|
72
|
-
const cargo = capturedText(entityId, result, sha256Hex);
|
|
73
|
-
const basePayloadVersion = base === null ? null : sha256Hex(base);
|
|
74
|
-
if (basePayloadVersion === cargo.artifact.contentHash)
|
|
75
|
-
return null;
|
|
76
|
-
const replay = textReplay({
|
|
77
|
-
basePayloadVersion, baseBytes: base, resultPayloadVersion: cargo.artifact.contentHash, resultBytes: result,
|
|
78
|
-
}, sha256Hex);
|
|
79
|
-
return Object.freeze({ replay, cargo });
|
|
80
|
-
}
|
|
81
59
|
/** Replay one text splice on its exact base: the result bytes, or null when
|
|
82
60
|
* the base or the result is not the one the record names. Null sends the
|
|
83
61
|
* caller to the record's snapshot; a splice is a shortcut, never truth. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/detection/content.ts"],"names":[],"mappings":"AAAA;oEACoE;
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/detection/content.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-head.d.ts","sourceRoot":"","sources":["../../src/entities/graph-head.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE1D,OAAO,EAAmC,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;AAEpB;;;qBAGqB;AACrB,eAAO,MAAM,gBAAgB,QAAc,CAAC;AAE5C,eAAO,MAAM,eAAe,gCAAgC,CAAC;AAE7D,eAAO,MAAM,yBAAyB,sBAAsB,CAAC;AAI7D,2EAA2E;AAC3E,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;CACzC;AAED;;sEAEsE;AACtE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,OAAO,eAAe,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;CAC1C;AAED;;;;mDAImD;AACnD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,OAAO,yBAAyB,CAAC;IAChD,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED,oDAAoD;AACpD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAChD;
|
|
1
|
+
{"version":3,"file":"graph-head.d.ts","sourceRoot":"","sources":["../../src/entities/graph-head.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* laws (via `rootReplacementFromRecords`), and canonical pagination.
|
|
24
24
|
*/
|
|
25
25
|
import { UUID_PATTERN } from './types.js';
|
|
26
|
-
import { utf8Decode, utf8EncodeInto } from './bytes.js';
|
|
26
|
+
import { utf8Decode, utf8EncodeInto, utf8Length } from './bytes.js';
|
|
27
27
|
import { finishSteps, ITEMS_PER_BOUNDARY } from '../steps.js';
|
|
28
28
|
import { rootReplacementFromRecordsSteps, snapshotFromRecords, stableJson, } from './cloud.js';
|
|
29
29
|
/** Byte budget one page targets. A reader parses a page whole, so the budget
|
|
@@ -34,24 +34,6 @@ export const GRAPH_PAGE_BYTES = 1024 * 1024;
|
|
|
34
34
|
export const GRAPH_HEAD_KIND = 'amalgm-entity-registry-head';
|
|
35
35
|
export const GRAPH_HEAD_OPERATION_KIND = 'entity.graph.head';
|
|
36
36
|
const SHA256_HEX = /^[0-9a-f]{64}$/;
|
|
37
|
-
/** UTF-8 byte length without allocating an encoding. */
|
|
38
|
-
function utf8Length(text) {
|
|
39
|
-
let length = 0;
|
|
40
|
-
for (let index = 0; index < text.length; index += 1) {
|
|
41
|
-
const code = text.charCodeAt(index);
|
|
42
|
-
if (code < 0x80)
|
|
43
|
-
length += 1;
|
|
44
|
-
else if (code < 0x800)
|
|
45
|
-
length += 2;
|
|
46
|
-
else if (code >= 0xd800 && code < 0xdc00) {
|
|
47
|
-
length += 4;
|
|
48
|
-
index += 1;
|
|
49
|
-
}
|
|
50
|
-
else
|
|
51
|
-
length += 3;
|
|
52
|
-
}
|
|
53
|
-
return length;
|
|
54
|
-
}
|
|
55
37
|
/** Split one complete root subtree into its canonical pages. The records
|
|
56
38
|
* must be exactly the subtree — the same law `entity.roots.replace`
|
|
57
39
|
* enforced — so every page set that exists is lawful by construction. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-head.js","sourceRoot":"","sources":["../../src/entities/graph-head.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,YAAY,EAAkB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"graph-head.js","sourceRoot":"","sources":["../../src/entities/graph-head.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/files/commands.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/files/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/files/commands.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { UUID_PATTERN, containedRecords, installedSubtree, materializableRecords, sameRecords, snapshotFromRecords, } from '../entities/index.js';
|
|
1
|
+
import { CONTAINERS, UUID_PATTERN, containedRecords, installedSubtree, materializableRecords, sameRecords, snapshotFromRecords, } from '../entities/index.js';
|
|
2
2
|
import { DEFAULT_AMALGM_IGNORE } from '../detection/enrollment.js';
|
|
3
3
|
function uuid(value, label) {
|
|
4
4
|
const normalized = typeof value === 'string' ? value.trim().toLowerCase() : '';
|
|
@@ -56,7 +56,7 @@ export function workspaceGraph(records, workspaceId) {
|
|
|
56
56
|
if (!workspace || workspace.status !== 'active') {
|
|
57
57
|
throw new Error(`workspace ${normalizedId} does not exist in this user's cloud registry`);
|
|
58
58
|
}
|
|
59
|
-
if (!
|
|
59
|
+
if (!CONTAINERS.has(workspace.type)) {
|
|
60
60
|
throw new Error(`entity ${normalizedId} is not a registered workspace boundary`);
|
|
61
61
|
}
|
|
62
62
|
const references = snapshot.records.filter((record) => record.status === 'active'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/files/commands.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/files/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* The contracts layer: the wire shapes and validators a host still speaks —
|
|
4
|
-
* non-throwing validation, immutable chunked content, the sealed-content
|
|
5
|
-
* protection envelope
|
|
6
|
-
* performs I/O or holds state.
|
|
4
|
+
* non-throwing validation, immutable chunked content, and the sealed-content
|
|
5
|
+
* protection envelope. Nothing in here performs I/O or holds state.
|
|
7
6
|
*/
|
|
8
7
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
8
|
if (k2 === undefined) k2 = k;
|
|
@@ -23,5 +22,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
23
22
|
__exportStar(require("./validate.js"), exports);
|
|
24
23
|
__exportStar(require("./content.js"), exports);
|
|
25
24
|
__exportStar(require("./protection.js"), exports);
|
|
26
|
-
__exportStar(require("./frames/tunnel.js"), exports);
|
|
27
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;AAEH,gDAA8B;AAC9B,+CAA6B;AAC7B,kDAAgC"}
|
|
@@ -37,6 +37,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
37
37
|
exports.SOCKETS = exports.RAILS = void 0;
|
|
38
38
|
exports.assertAdapter = assertAdapter;
|
|
39
39
|
exports.buildTypeMap = buildTypeMap;
|
|
40
|
+
const validate_js_1 = require("../contracts/validate.js");
|
|
40
41
|
/** The seven rails, declared once, frozen, in journey order. */
|
|
41
42
|
exports.RAILS = Object.freeze([
|
|
42
43
|
'watch', 'detect', 'record', 'send', 'receive', 'apply', 'verify',
|
|
@@ -59,17 +60,16 @@ exports.SOCKETS = Object.freeze({
|
|
|
59
60
|
* unchanged when lawful.
|
|
60
61
|
*/
|
|
61
62
|
function assertAdapter(adapter) {
|
|
62
|
-
const
|
|
63
|
-
const where = isRecord(adapter) && typeof adapter['name'] === 'string' && adapter['name']
|
|
63
|
+
const where = (0, validate_js_1.isRecord)(adapter) && typeof adapter['name'] === 'string' && adapter['name']
|
|
64
64
|
? `adapter ${JSON.stringify(adapter['name'])}` : 'adapter';
|
|
65
|
-
if (!isRecord(adapter) || !Object.isFrozen(adapter)) {
|
|
65
|
+
if (!(0, validate_js_1.isRecord)(adapter) || !Object.isFrozen(adapter)) {
|
|
66
66
|
throw new Error(`${where}: a descriptor is a frozen object`);
|
|
67
67
|
}
|
|
68
68
|
if (typeof adapter['name'] !== 'string' || adapter['name'].length === 0) {
|
|
69
69
|
throw new Error('adapter: name is a non-empty string');
|
|
70
70
|
}
|
|
71
71
|
const { types, rails } = adapter;
|
|
72
|
-
if (!isRecord(types) || !Object.isFrozen(types) || Object.keys(types).length === 0) {
|
|
72
|
+
if (!(0, validate_js_1.isRecord)(types) || !Object.isFrozen(types) || Object.keys(types).length === 0) {
|
|
73
73
|
throw new Error(`${where}: types is a frozen, non-empty map of entity type → declared truth`);
|
|
74
74
|
}
|
|
75
75
|
for (const [type, truth] of Object.entries(types)) {
|
|
@@ -77,7 +77,7 @@ function assertAdapter(adapter) {
|
|
|
77
77
|
throw new Error(`${where}: type ${JSON.stringify(type)} must declare its source of truth in one sentence`);
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
|
-
if (!isRecord(rails) || !Object.isFrozen(rails)) {
|
|
80
|
+
if (!(0, validate_js_1.isRecord)(rails) || !Object.isFrozen(rails)) {
|
|
81
81
|
throw new Error(`${where}: rails is a frozen map (empty is honest; a stub is not)`);
|
|
82
82
|
}
|
|
83
83
|
for (const [rail, surfaces] of Object.entries(rails)) {
|
|
@@ -88,7 +88,7 @@ function assertAdapter(adapter) {
|
|
|
88
88
|
if (!socket) {
|
|
89
89
|
throw new Error(`${where}: rail ${rail} has no ratified socket yet — a socket is ratified in the contract before anyone binds it`);
|
|
90
90
|
}
|
|
91
|
-
if (!isRecord(surfaces) || !Object.isFrozen(surfaces)) {
|
|
91
|
+
if (!(0, validate_js_1.isRecord)(surfaces) || !Object.isFrozen(surfaces)) {
|
|
92
92
|
throw new Error(`${where}: rail ${rail} must bind a frozen map of its socket's surfaces`);
|
|
93
93
|
}
|
|
94
94
|
const bound = Object.keys(surfaces).sort();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-contract.js","sourceRoot":"","sources":["../../src/detection/adapter-contract.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;;;
|
|
1
|
+
{"version":3,"file":"adapter-contract.js","sourceRoot":"","sources":["../../src/detection/adapter-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,19 +5,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
5
5
|
exports.textSplice = textSplice;
|
|
6
6
|
exports.textReplay = textReplay;
|
|
7
7
|
exports.textSnapshot = textSnapshot;
|
|
8
|
-
exports.captureTextChange = captureTextChange;
|
|
9
8
|
exports.spliceText = spliceText;
|
|
10
|
-
const upload_js_1 = require("../transfer/upload.js");
|
|
11
9
|
const record_proposal_js_1 = require("./record-proposal.js");
|
|
12
|
-
const capturedText = (entityId, input, sha256Hex) => {
|
|
13
|
-
const bytes = input.slice();
|
|
14
|
-
const artifact = { entityId, entityType: 'file.text', kind: 'file', contentHash: sha256Hex(bytes) };
|
|
15
|
-
return Object.freeze({
|
|
16
|
-
artifact: Object.freeze(artifact),
|
|
17
|
-
bytes,
|
|
18
|
-
manifest: (0, upload_js_1.deriveUploadManifest)(artifact, bytes, sha256Hex),
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
10
|
/** The smallest single replacement span that transforms base bytes to result. */
|
|
22
11
|
function textSplice(base, result) {
|
|
23
12
|
let prefix = 0;
|
|
@@ -73,18 +62,6 @@ function textSnapshot(basePayloadVersion, resultPayloadVersion) {
|
|
|
73
62
|
delta: null,
|
|
74
63
|
});
|
|
75
64
|
}
|
|
76
|
-
/** Text capture with its sealed snapshot cargo: null when the bytes did not
|
|
77
|
-
* change. */
|
|
78
|
-
function captureTextChange(entityId, base, result, sha256Hex) {
|
|
79
|
-
const cargo = capturedText(entityId, result, sha256Hex);
|
|
80
|
-
const basePayloadVersion = base === null ? null : sha256Hex(base);
|
|
81
|
-
if (basePayloadVersion === cargo.artifact.contentHash)
|
|
82
|
-
return null;
|
|
83
|
-
const replay = textReplay({
|
|
84
|
-
basePayloadVersion, baseBytes: base, resultPayloadVersion: cargo.artifact.contentHash, resultBytes: result,
|
|
85
|
-
}, sha256Hex);
|
|
86
|
-
return Object.freeze({ replay, cargo });
|
|
87
|
-
}
|
|
88
65
|
/** Replay one text splice on its exact base: the result bytes, or null when
|
|
89
66
|
* the base or the result is not the one the record names. Null sends the
|
|
90
67
|
* caller to the record's snapshot; a splice is a shortcut, never truth. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/detection/content.ts"],"names":[],"mappings":";AAAA;oEACoE;;
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/detection/content.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,24 +48,6 @@ exports.GRAPH_PAGE_BYTES = 1024 * 1024;
|
|
|
48
48
|
exports.GRAPH_HEAD_KIND = 'amalgm-entity-registry-head';
|
|
49
49
|
exports.GRAPH_HEAD_OPERATION_KIND = 'entity.graph.head';
|
|
50
50
|
const SHA256_HEX = /^[0-9a-f]{64}$/;
|
|
51
|
-
/** UTF-8 byte length without allocating an encoding. */
|
|
52
|
-
function utf8Length(text) {
|
|
53
|
-
let length = 0;
|
|
54
|
-
for (let index = 0; index < text.length; index += 1) {
|
|
55
|
-
const code = text.charCodeAt(index);
|
|
56
|
-
if (code < 0x80)
|
|
57
|
-
length += 1;
|
|
58
|
-
else if (code < 0x800)
|
|
59
|
-
length += 2;
|
|
60
|
-
else if (code >= 0xd800 && code < 0xdc00) {
|
|
61
|
-
length += 4;
|
|
62
|
-
index += 1;
|
|
63
|
-
}
|
|
64
|
-
else
|
|
65
|
-
length += 3;
|
|
66
|
-
}
|
|
67
|
-
return length;
|
|
68
|
-
}
|
|
69
51
|
/** Split one complete root subtree into its canonical pages. The records
|
|
70
52
|
* must be exactly the subtree — the same law `entity.roots.replace`
|
|
71
53
|
* enforced — so every page set that exists is lawful by construction. */
|
|
@@ -109,7 +91,7 @@ function* pagesForRootSteps(rootId, records, sha256Hex) {
|
|
|
109
91
|
for (let index = 0; index < sorted.length; index += 1) {
|
|
110
92
|
const record = sorted[index];
|
|
111
93
|
const part = (0, cloud_js_1.stableJson)(record);
|
|
112
|
-
const partLength = utf8Length(part);
|
|
94
|
+
const partLength = (0, bytes_js_1.utf8Length)(part);
|
|
113
95
|
if (parts.length > 0 && pageBytes + partLength + 1 > exports.GRAPH_PAGE_BYTES)
|
|
114
96
|
yield* seal();
|
|
115
97
|
parts.push(part);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-head.js","sourceRoot":"","sources":["../../src/entities/graph-head.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;
|
|
1
|
+
{"version":3,"file":"graph-head.js","sourceRoot":"","sources":["../../src/entities/graph-head.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,7 +61,7 @@ function workspaceGraph(records, workspaceId) {
|
|
|
61
61
|
if (!workspace || workspace.status !== 'active') {
|
|
62
62
|
throw new Error(`workspace ${normalizedId} does not exist in this user's cloud registry`);
|
|
63
63
|
}
|
|
64
|
-
if (!
|
|
64
|
+
if (!index_js_1.CONTAINERS.has(workspace.type)) {
|
|
65
65
|
throw new Error(`entity ${normalizedId} is not a registered workspace boundary`);
|
|
66
66
|
}
|
|
67
67
|
const references = snapshot.records.filter((record) => record.status === 'active'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/files/commands.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/files/commands.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amalgm/live",
|
|
3
|
-
"version": "0.2.81-main.
|
|
3
|
+
"version": "0.2.81-main.41789770770",
|
|
4
4
|
"description": "Portable realtime SDK for Amalgm — wire contracts, mutation discipline, and delivery state machines behind host-injected adapters.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist-cjs/index.js",
|
|
@@ -112,11 +112,11 @@
|
|
|
112
112
|
"dependencies": {
|
|
113
113
|
"@amalgm/core": "0.5.1-main.41264319540"
|
|
114
114
|
},
|
|
115
|
-
"gitHead": "
|
|
115
|
+
"gitHead": "7fe07b7cfe6ff52b6dd78334f4572d5852aaa66a",
|
|
116
116
|
"amalgmSource": {
|
|
117
117
|
"repository": "amalgm-inc/amalgm-live",
|
|
118
118
|
"branch": "main",
|
|
119
|
-
"commit": "
|
|
120
|
-
"occurrence": "
|
|
119
|
+
"commit": "7fe07b7cfe6ff52b6dd78334f4572d5852aaa66a",
|
|
120
|
+
"occurrence": "41789770770"
|
|
121
121
|
}
|
|
122
122
|
}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tunnel frames — runtime ⇄ gateway, protocol v2.
|
|
3
|
-
*
|
|
4
|
-
* One outbound WebSocket per runtime. v2 is negotiated per connection: the
|
|
5
|
-
* runtime's hello carries `protocol_version: 2`; no `hello_ack` means the
|
|
6
|
-
* peer is v1 and only v1 frames may be sent. Slot arbitration is
|
|
7
|
-
* hello-driven and identity-based — the host decides which runtime holds the
|
|
8
|
-
* slot; this file owns the wire shapes and constants both sides must agree
|
|
9
|
-
* on.
|
|
10
|
-
*/
|
|
11
|
-
import { type Checked } from '../validate.js';
|
|
12
|
-
export declare const PROTOCOL_VERSION = 2;
|
|
13
|
-
/** Sent on connect and every 15s. */
|
|
14
|
-
export declare const HELLO_INTERVAL_MS = 15000;
|
|
15
|
-
/** Advertised in hello acks; only then do upgraded runtimes use additive shared.resource.* / shared.mutation.* frames. */
|
|
16
|
-
export declare const CAPABILITY_SHARED_MUTATION = "shared.mutation.v1";
|
|
17
|
-
export declare const CLOSE_CODES: {
|
|
18
|
-
/** The newcomer won the slot; the old connection is fenced before this close. */
|
|
19
|
-
readonly replaced: 4000;
|
|
20
|
-
/** Refused: an older or equal boot_ts lost arbitration. Retry slowly, never stop. */
|
|
21
|
-
readonly supersededInstance: 4009;
|
|
22
|
-
readonly unauthorized: 4401;
|
|
23
|
-
};
|
|
24
|
-
export declare const BACKPRESSURE: {
|
|
25
|
-
/** Frames above this queue behind bufferedAmount; control frames always send immediately. */
|
|
26
|
-
readonly controlMaxBytes: number;
|
|
27
|
-
/** High-water mark on the socket buffer (AMALGM_TUNNEL_HWM_BYTES). */
|
|
28
|
-
readonly highWaterMarkBytes: number;
|
|
29
|
-
/** Bounded bulk queue (AMALGM_TUNNEL_BULK_MAX_BYTES); overflow drops the response as a 503 res frame — never a silent hang. */
|
|
30
|
-
readonly bulkMaxBytes: number;
|
|
31
|
-
};
|
|
32
|
-
export declare const CHUNKING: {
|
|
33
|
-
/** Raw bodies above this are chunked to v2 peers. */
|
|
34
|
-
readonly thresholdBytes: number;
|
|
35
|
-
/** ≤256KB raw per chunk, 0-based indexes. */
|
|
36
|
-
readonly chunkMaxBytes: number;
|
|
37
|
-
};
|
|
38
|
-
/** Identity fields are per PROCESS: instance_id is minted once at init, boot_ts is the init timestamp. */
|
|
39
|
-
export interface TunnelHello {
|
|
40
|
-
readonly type: 'hello';
|
|
41
|
-
readonly instance_id: string;
|
|
42
|
-
readonly boot_ts: number;
|
|
43
|
-
readonly runtime_version: string;
|
|
44
|
-
readonly protocol_version: number;
|
|
45
|
-
readonly runtime_label: string;
|
|
46
|
-
readonly branch?: string;
|
|
47
|
-
/** Tunnel-forwarded HTTP targets this port; the MCP port is the fallback when absent. */
|
|
48
|
-
readonly runtime_gateway_port?: number;
|
|
49
|
-
}
|
|
50
|
-
export interface TunnelHelloAck {
|
|
51
|
-
readonly type: 'hello_ack';
|
|
52
|
-
readonly protocol_version: number;
|
|
53
|
-
readonly capabilities?: readonly string[];
|
|
54
|
-
}
|
|
55
|
-
/** Chunked response train: res_start → res_chunk* → res_end. Control frames may interleave — that is the point. */
|
|
56
|
-
export type ChunkedResponseFrame = {
|
|
57
|
-
readonly type: 'res_start';
|
|
58
|
-
readonly req_id: string;
|
|
59
|
-
readonly status: number;
|
|
60
|
-
readonly headers: Readonly<Record<string, string>>;
|
|
61
|
-
readonly body_bytes: number;
|
|
62
|
-
} | {
|
|
63
|
-
readonly type: 'res_chunk';
|
|
64
|
-
readonly req_id: string;
|
|
65
|
-
readonly index: number;
|
|
66
|
-
readonly body_b64: string;
|
|
67
|
-
}
|
|
68
|
-
/** `chunks` must match the count received, else the whole response is a 502. */
|
|
69
|
-
| {
|
|
70
|
-
readonly type: 'res_end';
|
|
71
|
-
readonly req_id: string;
|
|
72
|
-
readonly chunks: number;
|
|
73
|
-
};
|
|
74
|
-
export declare function checkHello(input: unknown): Checked<TunnelHello>;
|
|
75
|
-
/** Usable identity for arbitration: both fields present and well-formed. Missing/unusable identity falls back to legacy last-connect-wins. */
|
|
76
|
-
export declare const hasUsableIdentity: (hello: Partial<TunnelHello>) => boolean;
|
|
77
|
-
//# sourceMappingURL=tunnel.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel.d.ts","sourceRoot":"","sources":["../../../src/contracts/frames/tunnel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,OAAO,EAA+C,MAAM,gBAAgB,CAAC;AAE3F,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,qCAAqC;AACrC,eAAO,MAAM,iBAAiB,QAAS,CAAC;AAExC,0HAA0H;AAC1H,eAAO,MAAM,0BAA0B,uBAAuB,CAAC;AAE/D,eAAO,MAAM,WAAW;IACtB,iFAAiF;;IAEjF,qFAAqF;;;CAG7E,CAAC;AAEX,eAAO,MAAM,YAAY;IACvB,6FAA6F;;IAE7F,sEAAsE;;IAEtE,+HAA+H;;CAEvH,CAAC;AAEX,eAAO,MAAM,QAAQ;IACnB,qDAAqD;;IAErD,6CAA6C;;CAErC,CAAC;AAEX,0GAA0G;AAC1G,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,yFAAyF;IACzF,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED,mHAAmH;AACnH,MAAM,MAAM,oBAAoB,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACjK;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AAC5G,gFAAgF;GAC9E;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAKnF,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAS/D;AAED,8IAA8I;AAC9I,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,CAAC,WAAW,CAAC,KAAG,OAIhC,CAAC"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tunnel frames — runtime ⇄ gateway, protocol v2.
|
|
3
|
-
*
|
|
4
|
-
* One outbound WebSocket per runtime. v2 is negotiated per connection: the
|
|
5
|
-
* runtime's hello carries `protocol_version: 2`; no `hello_ack` means the
|
|
6
|
-
* peer is v1 and only v1 frames may be sent. Slot arbitration is
|
|
7
|
-
* hello-driven and identity-based — the host decides which runtime holds the
|
|
8
|
-
* slot; this file owns the wire shapes and constants both sides must agree
|
|
9
|
-
* on.
|
|
10
|
-
*/
|
|
11
|
-
import { pass, failShape, isRecord, isNonEmptyString } from '../validate.js';
|
|
12
|
-
export const PROTOCOL_VERSION = 2;
|
|
13
|
-
/** Sent on connect and every 15s. */
|
|
14
|
-
export const HELLO_INTERVAL_MS = 15_000;
|
|
15
|
-
/** Advertised in hello acks; only then do upgraded runtimes use additive shared.resource.* / shared.mutation.* frames. */
|
|
16
|
-
export const CAPABILITY_SHARED_MUTATION = 'shared.mutation.v1';
|
|
17
|
-
export const CLOSE_CODES = {
|
|
18
|
-
/** The newcomer won the slot; the old connection is fenced before this close. */
|
|
19
|
-
replaced: 4000,
|
|
20
|
-
/** Refused: an older or equal boot_ts lost arbitration. Retry slowly, never stop. */
|
|
21
|
-
supersededInstance: 4009,
|
|
22
|
-
unauthorized: 4401,
|
|
23
|
-
};
|
|
24
|
-
export const BACKPRESSURE = {
|
|
25
|
-
/** Frames above this queue behind bufferedAmount; control frames always send immediately. */
|
|
26
|
-
controlMaxBytes: 32 * 1024,
|
|
27
|
-
/** High-water mark on the socket buffer (AMALGM_TUNNEL_HWM_BYTES). */
|
|
28
|
-
highWaterMarkBytes: 1024 * 1024,
|
|
29
|
-
/** Bounded bulk queue (AMALGM_TUNNEL_BULK_MAX_BYTES); overflow drops the response as a 503 res frame — never a silent hang. */
|
|
30
|
-
bulkMaxBytes: 64 * 1024 * 1024,
|
|
31
|
-
};
|
|
32
|
-
export const CHUNKING = {
|
|
33
|
-
/** Raw bodies above this are chunked to v2 peers. */
|
|
34
|
-
thresholdBytes: 256 * 1024,
|
|
35
|
-
/** ≤256KB raw per chunk, 0-based indexes. */
|
|
36
|
-
chunkMaxBytes: 256 * 1024,
|
|
37
|
-
};
|
|
38
|
-
const HELLO_EXAMPLE = '{ type: "hello", instance_id: "a1b2c3d4e5f60718", boot_ts: 1719000000000, runtime_version: "0.1.157", protocol_version: 2, runtime_label: "main" }';
|
|
39
|
-
export function checkHello(input) {
|
|
40
|
-
if (!isRecord(input) || input.type !== 'hello') {
|
|
41
|
-
return failShape(HELLO_EXAMPLE, `type was ${isRecord(input) ? JSON.stringify(input.type) : typeof input}`);
|
|
42
|
-
}
|
|
43
|
-
if (!isNonEmptyString(input.runtime_label)) {
|
|
44
|
-
return failShape(HELLO_EXAMPLE, `runtime_label was ${JSON.stringify(input.runtime_label)}, not a non-empty string`);
|
|
45
|
-
}
|
|
46
|
-
// Identity fields are additive v2: a v1 hello without them is still a valid hello.
|
|
47
|
-
return pass(input);
|
|
48
|
-
}
|
|
49
|
-
/** Usable identity for arbitration: both fields present and well-formed. Missing/unusable identity falls back to legacy last-connect-wins. */
|
|
50
|
-
export const hasUsableIdentity = (hello) => typeof hello.instance_id === 'string' &&
|
|
51
|
-
/^[0-9a-f]{16}$/.test(hello.instance_id) &&
|
|
52
|
-
typeof hello.boot_ts === 'number' &&
|
|
53
|
-
Number.isFinite(hello.boot_ts);
|
|
54
|
-
//# sourceMappingURL=tunnel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel.js","sourceRoot":"","sources":["../../../src/contracts/frames/tunnel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAgB,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE3F,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC,qCAAqC;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAExC,0HAA0H;AAC1H,MAAM,CAAC,MAAM,0BAA0B,GAAG,oBAAoB,CAAC;AAE/D,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,iFAAiF;IACjF,QAAQ,EAAE,IAAI;IACd,qFAAqF;IACrF,kBAAkB,EAAE,IAAI;IACxB,YAAY,EAAE,IAAI;CACV,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,6FAA6F;IAC7F,eAAe,EAAE,EAAE,GAAG,IAAI;IAC1B,sEAAsE;IACtE,kBAAkB,EAAE,IAAI,GAAG,IAAI;IAC/B,+HAA+H;IAC/H,YAAY,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;CACtB,CAAC;AAEX,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,qDAAqD;IACrD,cAAc,EAAE,GAAG,GAAG,IAAI;IAC1B,6CAA6C;IAC7C,aAAa,EAAE,GAAG,GAAG,IAAI;CACjB,CAAC;AA4BX,MAAM,aAAa,GACjB,oJAAoJ,CAAC;AAEvJ,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC/C,OAAO,SAAS,CAAC,aAAa,EAAE,YAAY,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;IAC7G,CAAC;IACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3C,OAAO,SAAS,CAAC,aAAa,EAAE,qBAAqB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;IACtH,CAAC;IACD,mFAAmF;IACnF,OAAO,IAAI,CAAC,KAA+B,CAAC,CAAC;AAC/C,CAAC;AAED,8IAA8I;AAC9I,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAA2B,EAAW,EAAE,CACxE,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;IACrC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IACxC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;IACjC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Tunnel frames — runtime ⇄ gateway, protocol v2.
|
|
4
|
-
*
|
|
5
|
-
* One outbound WebSocket per runtime. v2 is negotiated per connection: the
|
|
6
|
-
* runtime's hello carries `protocol_version: 2`; no `hello_ack` means the
|
|
7
|
-
* peer is v1 and only v1 frames may be sent. Slot arbitration is
|
|
8
|
-
* hello-driven and identity-based — the host decides which runtime holds the
|
|
9
|
-
* slot; this file owns the wire shapes and constants both sides must agree
|
|
10
|
-
* on.
|
|
11
|
-
*/
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.hasUsableIdentity = exports.CHUNKING = exports.BACKPRESSURE = exports.CLOSE_CODES = exports.CAPABILITY_SHARED_MUTATION = exports.HELLO_INTERVAL_MS = exports.PROTOCOL_VERSION = void 0;
|
|
14
|
-
exports.checkHello = checkHello;
|
|
15
|
-
const validate_js_1 = require("../validate.js");
|
|
16
|
-
exports.PROTOCOL_VERSION = 2;
|
|
17
|
-
/** Sent on connect and every 15s. */
|
|
18
|
-
exports.HELLO_INTERVAL_MS = 15_000;
|
|
19
|
-
/** Advertised in hello acks; only then do upgraded runtimes use additive shared.resource.* / shared.mutation.* frames. */
|
|
20
|
-
exports.CAPABILITY_SHARED_MUTATION = 'shared.mutation.v1';
|
|
21
|
-
exports.CLOSE_CODES = {
|
|
22
|
-
/** The newcomer won the slot; the old connection is fenced before this close. */
|
|
23
|
-
replaced: 4000,
|
|
24
|
-
/** Refused: an older or equal boot_ts lost arbitration. Retry slowly, never stop. */
|
|
25
|
-
supersededInstance: 4009,
|
|
26
|
-
unauthorized: 4401,
|
|
27
|
-
};
|
|
28
|
-
exports.BACKPRESSURE = {
|
|
29
|
-
/** Frames above this queue behind bufferedAmount; control frames always send immediately. */
|
|
30
|
-
controlMaxBytes: 32 * 1024,
|
|
31
|
-
/** High-water mark on the socket buffer (AMALGM_TUNNEL_HWM_BYTES). */
|
|
32
|
-
highWaterMarkBytes: 1024 * 1024,
|
|
33
|
-
/** Bounded bulk queue (AMALGM_TUNNEL_BULK_MAX_BYTES); overflow drops the response as a 503 res frame — never a silent hang. */
|
|
34
|
-
bulkMaxBytes: 64 * 1024 * 1024,
|
|
35
|
-
};
|
|
36
|
-
exports.CHUNKING = {
|
|
37
|
-
/** Raw bodies above this are chunked to v2 peers. */
|
|
38
|
-
thresholdBytes: 256 * 1024,
|
|
39
|
-
/** ≤256KB raw per chunk, 0-based indexes. */
|
|
40
|
-
chunkMaxBytes: 256 * 1024,
|
|
41
|
-
};
|
|
42
|
-
const HELLO_EXAMPLE = '{ type: "hello", instance_id: "a1b2c3d4e5f60718", boot_ts: 1719000000000, runtime_version: "0.1.157", protocol_version: 2, runtime_label: "main" }';
|
|
43
|
-
function checkHello(input) {
|
|
44
|
-
if (!(0, validate_js_1.isRecord)(input) || input.type !== 'hello') {
|
|
45
|
-
return (0, validate_js_1.failShape)(HELLO_EXAMPLE, `type was ${(0, validate_js_1.isRecord)(input) ? JSON.stringify(input.type) : typeof input}`);
|
|
46
|
-
}
|
|
47
|
-
if (!(0, validate_js_1.isNonEmptyString)(input.runtime_label)) {
|
|
48
|
-
return (0, validate_js_1.failShape)(HELLO_EXAMPLE, `runtime_label was ${JSON.stringify(input.runtime_label)}, not a non-empty string`);
|
|
49
|
-
}
|
|
50
|
-
// Identity fields are additive v2: a v1 hello without them is still a valid hello.
|
|
51
|
-
return (0, validate_js_1.pass)(input);
|
|
52
|
-
}
|
|
53
|
-
/** Usable identity for arbitration: both fields present and well-formed. Missing/unusable identity falls back to legacy last-connect-wins. */
|
|
54
|
-
const hasUsableIdentity = (hello) => typeof hello.instance_id === 'string' &&
|
|
55
|
-
/^[0-9a-f]{16}$/.test(hello.instance_id) &&
|
|
56
|
-
typeof hello.boot_ts === 'number' &&
|
|
57
|
-
Number.isFinite(hello.boot_ts);
|
|
58
|
-
exports.hasUsableIdentity = hasUsableIdentity;
|
|
59
|
-
//# sourceMappingURL=tunnel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel.js","sourceRoot":"","sources":["../../../src/contracts/frames/tunnel.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAgEH,gCASC;AAvED,gDAA2F;AAE9E,QAAA,gBAAgB,GAAG,CAAC,CAAC;AAClC,qCAAqC;AACxB,QAAA,iBAAiB,GAAG,MAAM,CAAC;AAExC,0HAA0H;AAC7G,QAAA,0BAA0B,GAAG,oBAAoB,CAAC;AAElD,QAAA,WAAW,GAAG;IACzB,iFAAiF;IACjF,QAAQ,EAAE,IAAI;IACd,qFAAqF;IACrF,kBAAkB,EAAE,IAAI;IACxB,YAAY,EAAE,IAAI;CACV,CAAC;AAEE,QAAA,YAAY,GAAG;IAC1B,6FAA6F;IAC7F,eAAe,EAAE,EAAE,GAAG,IAAI;IAC1B,sEAAsE;IACtE,kBAAkB,EAAE,IAAI,GAAG,IAAI;IAC/B,+HAA+H;IAC/H,YAAY,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;CACtB,CAAC;AAEE,QAAA,QAAQ,GAAG;IACtB,qDAAqD;IACrD,cAAc,EAAE,GAAG,GAAG,IAAI;IAC1B,6CAA6C;IAC7C,aAAa,EAAE,GAAG,GAAG,IAAI;CACjB,CAAC;AA4BX,MAAM,aAAa,GACjB,oJAAoJ,CAAC;AAEvJ,SAAgB,UAAU,CAAC,KAAc;IACvC,IAAI,CAAC,IAAA,sBAAQ,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC/C,OAAO,IAAA,uBAAS,EAAC,aAAa,EAAE,YAAY,IAAA,sBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;IAC7G,CAAC;IACD,IAAI,CAAC,IAAA,8BAAgB,EAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAA,uBAAS,EAAC,aAAa,EAAE,qBAAqB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;IACtH,CAAC;IACD,mFAAmF;IACnF,OAAO,IAAA,kBAAI,EAAC,KAA+B,CAAC,CAAC;AAC/C,CAAC;AAED,8IAA8I;AACvI,MAAM,iBAAiB,GAAG,CAAC,KAA2B,EAAW,EAAE,CACxE,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;IACrC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IACxC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;IACjC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAJpB,QAAA,iBAAiB,qBAIG"}
|