@cello-protocol/protocol-types 0.0.54 → 0.0.55

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.
Files changed (45) hide show
  1. package/dist/document-amendment.d.ts +27 -22
  2. package/dist/document-amendment.d.ts.map +1 -1
  3. package/dist/document-amendment.js +63 -181
  4. package/dist/document-amendment.js.map +1 -1
  5. package/dist/document-derive.d.ts +96 -0
  6. package/dist/document-derive.d.ts.map +1 -0
  7. package/dist/document-derive.js +605 -0
  8. package/dist/document-derive.js.map +1 -0
  9. package/dist/document-envelope.d.ts +18 -8
  10. package/dist/document-envelope.d.ts.map +1 -1
  11. package/dist/document-envelope.js +35 -19
  12. package/dist/document-envelope.js.map +1 -1
  13. package/dist/document-governance.d.ts +1 -1
  14. package/dist/document-governance.d.ts.map +1 -1
  15. package/dist/document-governance.js +41 -6
  16. package/dist/document-governance.js.map +1 -1
  17. package/dist/document-proposal.d.ts +6 -0
  18. package/dist/document-proposal.d.ts.map +1 -1
  19. package/dist/document-proposal.js +21 -0
  20. package/dist/document-proposal.js.map +1 -1
  21. package/dist/document-reconcile.d.ts +100 -0
  22. package/dist/document-reconcile.d.ts.map +1 -0
  23. package/dist/document-reconcile.js +197 -0
  24. package/dist/document-reconcile.js.map +1 -0
  25. package/dist/index.d.ts +9 -11
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +6 -6
  28. package/dist/index.js.map +1 -1
  29. package/package.json +2 -2
  30. package/dist/document-ack.d.ts +0 -111
  31. package/dist/document-ack.d.ts.map +0 -1
  32. package/dist/document-ack.js +0 -228
  33. package/dist/document-ack.js.map +0 -1
  34. package/dist/document-control.d.ts +0 -74
  35. package/dist/document-control.d.ts.map +0 -1
  36. package/dist/document-control.js +0 -174
  37. package/dist/document-control.js.map +0 -1
  38. package/dist/document-join-answer.d.ts +0 -34
  39. package/dist/document-join-answer.d.ts.map +0 -1
  40. package/dist/document-join-answer.js +0 -100
  41. package/dist/document-join-answer.js.map +0 -1
  42. package/dist/document-join.d.ts +0 -83
  43. package/dist/document-join.d.ts.map +0 -1
  44. package/dist/document-join.js +0 -225
  45. package/dist/document-join.js.map +0 -1
@@ -0,0 +1,197 @@
1
+ /**
2
+ * SYNC-P3 (R10–R16) — the reconcile frame: ONE wire shape for all three exchange steps.
3
+ *
4
+ * | Step | Direction | Carries |
5
+ * |------|-----------|---------|
6
+ * | 1 | A → B | per document: A's positions + A's refusal set (payload arrays empty) |
7
+ * | 2 | B → A | entries/envelopes A lacks, plus B's positions + refusal set |
8
+ * | 3 | A → B | entries/envelopes B lacks — sent only if B is behind |
9
+ *
10
+ * One shape means a lost reply degrades to a fresh exchange; there is no half-open protocol
11
+ * state to wedge, and reconciling stays idempotent by construction (R15).
12
+ *
13
+ * POSITION IS THE R7 PRIMITIVE, both halves:
14
+ * - governance: per author, the highest CONTIGUOUS entry seq held, with the head hash(es) at
15
+ * that seq — plural heads make a forked (equivocating) author visible on the wire instead of
16
+ * silently divergent (the Entry 48 §3 finding).
17
+ * - content: per author, the length of that author's own envelope chain held, with its head —
18
+ * the store's chain-linkage invariant already guarantees every sender's links form one
19
+ * unbroken chain, so the primitive is the same shape. Refused envelopes occupy chain
20
+ * positions (they are bridged as payload-less stubs); the refusal set is what stops their
21
+ * payloads from being re-offered (R36).
22
+ *
23
+ * NOT SIGNED, deliberately: the frame rides an authenticated session, and a position is
24
+ * advisory by design (R44 — no correctness decision reads it; a peer lying about its position
25
+ * earns wasted bytes, spec §5). What is load-bearing — every entry and envelope carried — is
26
+ * individually signed by its author, and the receiver verifies each itself (R2: forwarding
27
+ * confers no trust).
28
+ */
29
+ import { encodeCbor, decodeCbor } from "./cbor.js";
30
+ /** R11: a version mismatch is refused BY NAME at both ends, with both versions in the sentence. */
31
+ export const DOCUMENT_RECONCILE_EXCHANGE_VERSION = 1;
32
+ /** R16 batching ceiling — one frame cannot be made unbounded by naming every document at once. */
33
+ export const MAX_RECONCILE_DOCUMENTS = 32;
34
+ export function encodeDocumentReconcile(frame) {
35
+ return encodeCbor({
36
+ type: "document_reconcile",
37
+ exchange_version: frame.exchange_version,
38
+ ...(frame.refusal
39
+ ? { refusal: { reason: frame.refusal.reason, terminal: frame.refusal.terminal } }
40
+ : {}),
41
+ documents: frame.documents.map((d) => ({
42
+ document_id: d.document_id,
43
+ governance: d.governance.map((g) => ({
44
+ author: g.author,
45
+ seq: g.seq,
46
+ head_hashes: [...g.head_hashes],
47
+ })),
48
+ content: d.content.map((c) => ({
49
+ author: c.author,
50
+ count: c.count,
51
+ head_hash: c.head_hash,
52
+ })),
53
+ refused: [...d.refused],
54
+ entries: d.entries.map((e) => new Uint8Array(e)),
55
+ envelopes: d.envelopes.map((e) => new Uint8Array(e)),
56
+ ...(d.refusals && d.refusals.length > 0
57
+ ? { refusals: d.refusals.map((e) => new Uint8Array(e)) }
58
+ : {}),
59
+ ...(d.genesis ? { genesis: new Uint8Array(d.genesis) } : {}),
60
+ ...(d.refusal ? { refusal: { reason: d.refusal.reason, terminal: d.refusal.terminal } } : {}),
61
+ })),
62
+ });
63
+ }
64
+ function present(map, field) {
65
+ if (!(field in map)) {
66
+ throw new Error(`document_reconcile_missing_field: ${field} is mandatory and was not present`);
67
+ }
68
+ return map[field];
69
+ }
70
+ function hex64(map, field) {
71
+ const v = present(map, field);
72
+ if (typeof v !== "string" || !/^[0-9a-f]{64}$/.test(v)) {
73
+ throw new Error(`document_reconcile_field_type: ${field} must be 64-hex`);
74
+ }
75
+ return v;
76
+ }
77
+ function nonNegativeInt(map, field) {
78
+ const v = present(map, field);
79
+ if (typeof v !== "number" || !Number.isInteger(v) || v < 0) {
80
+ throw new Error(`document_reconcile_field_type: ${field} must be a non-negative integer`);
81
+ }
82
+ return v;
83
+ }
84
+ function arrayOf(map, field) {
85
+ const v = present(map, field);
86
+ if (!Array.isArray(v)) {
87
+ throw new Error(`document_reconcile_field_type: ${field} must be an array`);
88
+ }
89
+ return v;
90
+ }
91
+ function asMap(value, what) {
92
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
93
+ throw new Error(`document_reconcile_field_type: ${what} must be a CBOR map`);
94
+ }
95
+ return value;
96
+ }
97
+ function hexList(map, field) {
98
+ const raw = arrayOf(map, field);
99
+ return raw.map((h) => {
100
+ if (typeof h !== "string" || !/^[0-9a-f]{64}$/.test(h)) {
101
+ throw new Error(`document_reconcile_field_type: ${field} must hold 64-hex hashes`);
102
+ }
103
+ return h;
104
+ });
105
+ }
106
+ function byteList(map, field) {
107
+ const raw = arrayOf(map, field);
108
+ return raw.map((b) => {
109
+ if (!(b instanceof Uint8Array)) {
110
+ throw new Error(`document_reconcile_field_type: ${field} must hold byte strings`);
111
+ }
112
+ // Copied — the caller may reuse or zero the wire buffer after decode returns.
113
+ return new Uint8Array(b);
114
+ });
115
+ }
116
+ export function decodeDocumentReconcile(input) {
117
+ const decoded = decodeCbor(input);
118
+ const map = asMap(decoded, "frame");
119
+ const frameType = present(map, "type");
120
+ if (frameType !== "document_reconcile") {
121
+ throw new Error(`document_reconcile_type: expected document_reconcile, got ${String(frameType)}`);
122
+ }
123
+ const version = present(map, "exchange_version");
124
+ if (typeof version !== "number" || !Number.isInteger(version) || version < 1) {
125
+ throw new Error("document_reconcile_field_type: exchange_version must be a positive integer");
126
+ }
127
+ const rawDocs = arrayOf(map, "documents");
128
+ if (rawDocs.length > MAX_RECONCILE_DOCUMENTS) {
129
+ throw new Error(`document_reconcile_documents_cap: ${rawDocs.length} documents exceeds the batching ` +
130
+ `ceiling of ${MAX_RECONCILE_DOCUMENTS} — split the exchange`);
131
+ }
132
+ const documents = rawDocs.map((rawDoc) => {
133
+ const d = asMap(rawDoc, "documents[]");
134
+ const governance = arrayOf(d, "governance").map((rawG) => {
135
+ const g = asMap(rawG, "governance[]");
136
+ return {
137
+ author: hex64(g, "author"),
138
+ seq: nonNegativeInt(g, "seq"),
139
+ head_hashes: hexList(g, "head_hashes"),
140
+ };
141
+ });
142
+ const content = arrayOf(d, "content").map((rawC) => {
143
+ const c = asMap(rawC, "content[]");
144
+ return {
145
+ author: hex64(c, "author"),
146
+ count: nonNegativeInt(c, "count"),
147
+ head_hash: hex64(c, "head_hash"),
148
+ };
149
+ });
150
+ let genesis;
151
+ if ("genesis" in d) {
152
+ const g = d["genesis"];
153
+ if (!(g instanceof Uint8Array)) {
154
+ throw new Error("document_reconcile_field_type: genesis must be a byte string");
155
+ }
156
+ genesis = new Uint8Array(g);
157
+ }
158
+ let blockRefusal;
159
+ if ("refusal" in d) {
160
+ const r = asMap(d["refusal"], "documents[].refusal");
161
+ const reason = present(r, "reason");
162
+ const terminal = present(r, "terminal");
163
+ if (typeof reason !== "string" || reason.length === 0 || typeof terminal !== "boolean") {
164
+ throw new Error("document_reconcile_field_type: a block refusal must carry a non-empty reason and a terminal flag");
165
+ }
166
+ blockRefusal = { reason, terminal };
167
+ }
168
+ return {
169
+ document_id: hex64(d, "document_id"),
170
+ governance,
171
+ content,
172
+ refused: hexList(d, "refused"),
173
+ entries: byteList(d, "entries"),
174
+ envelopes: byteList(d, "envelopes"),
175
+ ...("refusals" in d ? { refusals: byteList(d, "refusals") } : {}),
176
+ ...(genesis ? { genesis } : {}),
177
+ ...(blockRefusal ? { refusal: blockRefusal } : {}),
178
+ };
179
+ });
180
+ let refusal;
181
+ if ("refusal" in map) {
182
+ const r = asMap(map["refusal"], "refusal");
183
+ const reason = present(r, "reason");
184
+ const terminal = present(r, "terminal");
185
+ if (typeof reason !== "string" || reason.length === 0 || typeof terminal !== "boolean") {
186
+ throw new Error("document_reconcile_field_type: refusal must carry a non-empty reason and a terminal flag");
187
+ }
188
+ refusal = { reason, terminal };
189
+ }
190
+ return {
191
+ type: "document_reconcile",
192
+ exchange_version: version,
193
+ documents,
194
+ ...(refusal ? { refusal } : {}),
195
+ };
196
+ }
197
+ //# sourceMappingURL=document-reconcile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-reconcile.js","sourceRoot":"","sources":["../src/document-reconcile.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -28,26 +28,24 @@ export { IT_LENGTH_PREFIX_DEFAULT_MAX, CONTENT_PARK_PROTOCOL_ID, CONTENT_PARK_AU
28
28
  export type { SessionLiveness, SessionLivenessQuery, SessionLivenessResponse, } from "./session-liveness.js";
29
29
  export { encodeSessionLivenessQuery, decodeSessionLivenessQuery, encodeSessionLivenessResponse, decodeSessionLivenessResponse, } from "./session-liveness.js";
30
30
  export { MONIKER_RE, validateMoniker } from "./moniker.js";
31
- export { DOCUMENT_UPDATE_DOMAIN, DOCUMENT_UPDATE_ENCODING_V1, DOCUMENT_EPOCH_V1, buildDocumentUpdateTbs, encodeDocumentUpdateEnvelope, decodeDocumentUpdateEnvelope, documentEnvelopeHash, verifyDocumentChainLink, } from "./document-envelope.js";
31
+ export { DOCUMENT_UPDATE_DOMAIN, DOCUMENT_UPDATE_ENCODING_V1, buildDocumentUpdateTbs, encodeDocumentUpdateEnvelope, decodeDocumentUpdateEnvelope, documentEnvelopeHash, verifyDocumentChainLink, } from "./document-envelope.js";
32
32
  export type { DocumentUpdateEnvelope } from "./document-envelope.js";
33
33
  export { DOCUMENT_PROPOSAL_DOMAIN, DOCUMENT_FEATURE_VERSION, ASSURANCE_TIER_V1, TOPOLOGY_DEFAULT, SUPPORTED_TOPOLOGIES, buildDocumentProposalTbs, documentIdFromProposal, encodeDocumentProposal, decodeDocumentProposal, seamViolation, documentFeatureIncompatibility, } from "./document-proposal.js";
34
34
  export type { DocumentProposalEnvelope, DocumentProperties, DocumentConsentState, } from "./document-proposal.js";
35
- export { DOCUMENT_JOIN_OFFER_DOMAIN, buildDocumentJoinOfferTbs, encodeDocumentJoinOffer, decodeDocumentJoinOffer, validateDocumentJoinOffer, arrangementGenesisFromProposal, } from "./document-join.js";
36
- export type { DocumentJoinOffer, JoinOfferValidation } from "./document-join.js";
37
- export { DOCUMENT_JOIN_ANSWER_DOMAIN, MAX_JOIN_REFUSAL_REASON_LENGTH, buildDocumentJoinAnswerTbs, encodeDocumentJoinAnswer, decodeDocumentJoinAnswer, } from "./document-join-answer.js";
38
- export type { DocumentJoinAnswer } from "./document-join-answer.js";
35
+ export { arrangementGenesisFromProposal } from "./document-proposal.js";
39
36
  export { documentGovernancePolicy } from "./document-governance.js";
40
37
  export type { GovernanceVerdict } from "./document-governance.js";
41
- export { DOCUMENT_AMENDMENT_DOMAIN, AMENDMENT_SUBJECT_KIND, AMENDMENT_KINDS, AMENDABLE_PROPERTIES, MAX_DOCUMENT_HOLDERS, buildDocumentAmendmentTbs, documentAmendmentHash, encodeDocumentAmendment, decodeDocumentAmendment, deriveArrangement, } from "./document-amendment.js";
42
- export type { AmendmentKind, DocumentAmendmentBody, DocumentAmendmentEnvelope, ArrangementGenesis, Arrangement, SignerPolicy, DeriveResult, } from "./document-amendment.js";
38
+ export { DOCUMENT_AMENDMENT_DOMAIN, AMENDMENT_SUBJECT_KIND, AMENDMENT_KINDS, AMENDABLE_PROPERTIES, MAX_DOCUMENT_HOLDERS, buildDocumentAmendmentTbs, documentAmendmentHash, encodeDocumentAmendment, decodeDocumentAmendment, } from "./document-amendment.js";
39
+ export type { AmendmentKind, DocumentAmendmentBody, DocumentAmendmentEnvelope, ArrangementGenesis, Arrangement, SignerPolicy, } from "./document-amendment.js";
40
+ export { MAX_ENTRY_PARENTS } from "./document-amendment.js";
41
+ export { deriveDocumentState, deriveDocumentStateAt, checkEntryAdmissible, } from "./document-derive.js";
42
+ export { DOCUMENT_RECONCILE_EXCHANGE_VERSION, MAX_RECONCILE_DOCUMENTS, encodeDocumentReconcile, decodeDocumentReconcile, } from "./document-reconcile.js";
43
+ export type { DocumentReconcileFrame, DocumentReconcileBlock, GovernancePosition, ContentPosition, } from "./document-reconcile.js";
44
+ export type { DocumentStateView, DeriveDocumentStateResult } from "./document-derive.js";
43
45
  export { DOCUMENT_MULTISIG_DOMAIN, buildDocumentMultisigTbs, collectionStatus, encodeMultisigCollection, decodeMultisigCollection, } from "./document-multisig.js";
44
46
  export type { MultisigSubject, MultisigSignature, MultisigCollection, MultisigStatus, } from "./document-multisig.js";
45
- export { DOCUMENT_ACK_DOMAIN, buildDocumentAckTbs, encodeDocumentAck, decodeDocumentAck, } from "./document-ack.js";
46
- export type { DocumentAck } from "./document-ack.js";
47
47
  export { encodeDocumentProposalAck, decodeDocumentProposalAck, buildDocumentProposalAckTbs, assertDocumentProposalAckConsistent, DOCUMENT_PROPOSAL_ACK_DOMAIN, DOCUMENT_PROPOSAL_ACK_VERSION, MAX_PROPOSAL_REFUSAL_REASON_LENGTH, } from "./document-proposal-ack.js";
48
48
  export type { DocumentProposalAck } from "./document-proposal-ack.js";
49
- export { encodeDocumentControl, decodeDocumentControl, buildDocumentControlTbs, assertDocumentControlConsistent, DOCUMENT_CONTROL_DOMAIN, DOCUMENT_CONTROL_VERSION, DOCUMENT_CONTROL_VERBS, MAX_CONTROL_REASON_LENGTH, } from "./document-control.js";
50
- export type { DocumentControl, DocumentControlVerb } from "./document-control.js";
51
49
  export { DOCUMENT_REJECTION_DOMAIN, DOCUMENT_REJECTION_VERSION, MAX_REJECTION_DETAIL_LENGTH, buildDocumentRejectionTbs, documentRejectionHash, assertDocumentRejectionConsistent, encodeDocumentRejection, decodeDocumentRejection, } from "./document-rejection-envelope.js";
52
50
  export type { DocumentRejectionEnvelope } from "./document-rejection-envelope.js";
53
51
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -19,15 +19,15 @@ export { IT_LENGTH_PREFIX_DEFAULT_MAX, CONTENT_PARK_PROTOCOL_ID, CONTENT_PARK_AU
19
19
  export { encodeSessionLivenessQuery, decodeSessionLivenessQuery, encodeSessionLivenessResponse, decodeSessionLivenessResponse, } from "./session-liveness.js";
20
20
  // MONIKER-0 — the single home of the agent-name / moniker charset rule (wire contract).
21
21
  export { MONIKER_RE, validateMoniker } from "./moniker.js";
22
- export { DOCUMENT_UPDATE_DOMAIN, DOCUMENT_UPDATE_ENCODING_V1, DOCUMENT_EPOCH_V1, buildDocumentUpdateTbs, encodeDocumentUpdateEnvelope, decodeDocumentUpdateEnvelope, documentEnvelopeHash, verifyDocumentChainLink, } from "./document-envelope.js";
22
+ export { DOCUMENT_UPDATE_DOMAIN, DOCUMENT_UPDATE_ENCODING_V1, buildDocumentUpdateTbs, encodeDocumentUpdateEnvelope, decodeDocumentUpdateEnvelope, documentEnvelopeHash, verifyDocumentChainLink, } from "./document-envelope.js";
23
23
  export { DOCUMENT_PROPOSAL_DOMAIN, DOCUMENT_FEATURE_VERSION, ASSURANCE_TIER_V1, TOPOLOGY_DEFAULT, SUPPORTED_TOPOLOGIES, buildDocumentProposalTbs, documentIdFromProposal, encodeDocumentProposal, decodeDocumentProposal, seamViolation, documentFeatureIncompatibility, } from "./document-proposal.js";
24
- export { DOCUMENT_JOIN_OFFER_DOMAIN, buildDocumentJoinOfferTbs, encodeDocumentJoinOffer, decodeDocumentJoinOffer, validateDocumentJoinOffer, arrangementGenesisFromProposal, } from "./document-join.js";
25
- export { DOCUMENT_JOIN_ANSWER_DOMAIN, MAX_JOIN_REFUSAL_REASON_LENGTH, buildDocumentJoinAnswerTbs, encodeDocumentJoinAnswer, decodeDocumentJoinAnswer, } from "./document-join-answer.js";
24
+ export { arrangementGenesisFromProposal } from "./document-proposal.js";
26
25
  export { documentGovernancePolicy } from "./document-governance.js";
27
- export { DOCUMENT_AMENDMENT_DOMAIN, AMENDMENT_SUBJECT_KIND, AMENDMENT_KINDS, AMENDABLE_PROPERTIES, MAX_DOCUMENT_HOLDERS, buildDocumentAmendmentTbs, documentAmendmentHash, encodeDocumentAmendment, decodeDocumentAmendment, deriveArrangement, } from "./document-amendment.js";
26
+ export { DOCUMENT_AMENDMENT_DOMAIN, AMENDMENT_SUBJECT_KIND, AMENDMENT_KINDS, AMENDABLE_PROPERTIES, MAX_DOCUMENT_HOLDERS, buildDocumentAmendmentTbs, documentAmendmentHash, encodeDocumentAmendment, decodeDocumentAmendment, } from "./document-amendment.js";
27
+ export { MAX_ENTRY_PARENTS } from "./document-amendment.js";
28
+ export { deriveDocumentState, deriveDocumentStateAt, checkEntryAdmissible, } from "./document-derive.js";
29
+ export { DOCUMENT_RECONCILE_EXCHANGE_VERSION, MAX_RECONCILE_DOCUMENTS, encodeDocumentReconcile, decodeDocumentReconcile, } from "./document-reconcile.js";
28
30
  export { DOCUMENT_MULTISIG_DOMAIN, buildDocumentMultisigTbs, collectionStatus, encodeMultisigCollection, decodeMultisigCollection, } from "./document-multisig.js";
29
- export { DOCUMENT_ACK_DOMAIN, buildDocumentAckTbs, encodeDocumentAck, decodeDocumentAck, } from "./document-ack.js";
30
31
  export { encodeDocumentProposalAck, decodeDocumentProposalAck, buildDocumentProposalAckTbs, assertDocumentProposalAckConsistent, DOCUMENT_PROPOSAL_ACK_DOMAIN, DOCUMENT_PROPOSAL_ACK_VERSION, MAX_PROPOSAL_REFUSAL_REASON_LENGTH, } from "./document-proposal-ack.js";
31
- export { encodeDocumentControl, decodeDocumentControl, buildDocumentControlTbs, assertDocumentControlConsistent, DOCUMENT_CONTROL_DOMAIN, DOCUMENT_CONTROL_VERSION, DOCUMENT_CONTROL_VERBS, MAX_CONTROL_REASON_LENGTH, } from "./document-control.js";
32
32
  export { DOCUMENT_REJECTION_DOMAIN, DOCUMENT_REJECTION_VERSION, MAX_REJECTION_DETAIL_LENGTH, buildDocumentRejectionTbs, documentRejectionHash, assertDocumentRejectionConsistent, encodeDocumentRejection, decodeDocumentRejection, } from "./document-rejection-envelope.js";
33
33
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEnD,8FAA8F;AAC9F,wFAAwF;AACxF,2BAA2B;AAC3B,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAO3B,+FAA+F;AAC/F,qGAAqG;AACrG,wFAAwF;AACxF,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,GACb,MAAM,iBAAiB,CAAC;AAezB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGvE,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AA0BjK,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAmBjC,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEzF,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AA8DnF,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,cAAc,GACf,MAAM,eAAe,CAAC;AAuBvB,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAE/B,wFAAwF;AACxF,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,sBAAsB,EACtB,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,aAAa,EACb,8BAA8B,GAC/B,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AASjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mCAAmC,EACnC,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAQjC,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAOhC,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,mCAAmC,EACnC,4BAA4B,EAC5B,6BAA6B,EAC7B,kCAAkC,GACnC,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,yBAAyB,EACzB,qBAAqB,EACrB,iCAAiC,EACjC,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cello-protocol/protocol-types",
3
- "version": "0.0.54",
3
+ "version": "0.0.55",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "engines": {
@@ -26,7 +26,7 @@
26
26
  ],
27
27
  "dependencies": {
28
28
  "cbor-x": "^1.6.4",
29
- "@cello-protocol/crypto": "0.0.50"
29
+ "@cello-protocol/crypto": "0.0.51"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@claude-flow/testing": "3.0.0-alpha.6",
@@ -1,111 +0,0 @@
1
- /**
2
- * DOD-DOC-INBOUND-2 — the document ACK (§16.4).
3
- *
4
- * The frame that closes DELIVERY-2's loop. Until it exists, a sent envelope's outcome is
5
- * `admitted: null` forever: the worker knows the content left and nothing more, so it re-sends on
6
- * the ack timeout and eventually stalls the document at the unacked ceiling.
7
- *
8
- * ── WHY A REJECTION IS AN ACK ─────────────────────────────────────────────────────────────────
9
- *
10
- * `admitted: false` is not a failure to acknowledge — it is an acknowledgement that says no. The
11
- * peer has DECIDED, so the sender must stop retrying and supersede instead (§3.2). Modelling
12
- * rejection as "no ack" would leave the sender redelivering an envelope the peer has already ruled
13
- * on, re-triggering their gate and their retry counter until the document stalls for reasons the
14
- * operator cannot see.
15
- *
16
- * ── WHY IT IS SIGNED ──────────────────────────────────────────────────────────────────────────
17
- *
18
- * The ack settles an envelope permanently: an acked envelope stops being redelivered and, if the
19
- * ack says rejected, the sender rolls back local work. Both are consequences an unauthenticated
20
- * party must not be able to cause. An unsigned ack lets anyone who can reach the channel silence a
21
- * delivery — the content is dropped from the pending set and neither operator ever learns it was
22
- * never applied, which is exactly the silent divergence the two-layer design exists to prevent.
23
- *
24
- * The signature covers the ENVELOPE HASH, so an ack cannot be moved to a different envelope, and
25
- * the DOCUMENT ID, so it cannot be moved to a different document. It does not cover `admitted`
26
- * alone for the same reason a signature never covers one field: the whole statement is the claim.
27
- *
28
- * ── CONTRACT FOR THE CONSUMER: SETTLE ONCE ────────────────────────────────────────────────────
29
- *
30
- * Nothing here binds an ack to the acker's chain, and nothing at the type level stops one acker
31
- * producing a valid ADMISSION and a valid REJECTION for the same envelope. Envelopes have
32
- * `verifyDocumentChainLink` because per-sender ordering matters; acks have no equivalent. So the
33
- * consumer must settle an envelope ONCE and treat a second, contradicting ack as an ERROR with both
34
- * signatures retained — never as an update. Applying the later one would let a peer that admitted
35
- * an envelope later claim it refused it, and the sender would roll back work the peer already has.
36
- */
37
- /** Domain tag in slot 0. Distinct from the update and proposal domains. */
38
- export declare const DOCUMENT_ACK_DOMAIN = "CELLO-DOCUMENT-ACK-v1";
39
- /**
40
- * The ack frame version, ON THE WIRE.
41
- *
42
- * The `-v1` in the domain string never travels — it lives inside the preimage — so a V2 acker's
43
- * frame would decode cleanly as V1 and fail SIGNATURE VERIFICATION, sending an operator to key
44
- * management and peer identity for a version-skew bug. The update envelope refuses `epoch_id` and
45
- * `update_encoding` by value for exactly this reason: skew that is not SAID becomes silent loss or
46
- * a misattributed error.
47
- */
48
- export declare const DOCUMENT_ACK_VERSION = 1;
49
- /**
50
- * A rejection reason is peer-controlled text bound for an operator's screen and the policy log.
51
- * Capped because unbounded peer-controlled display text is not something to hand onward untouched.
52
- */
53
- export declare const MAX_REJECTION_REASON_LENGTH = 200;
54
- export interface DocumentAck {
55
- type: "document_ack";
56
- /** Always `DOCUMENT_ACK_VERSION` in V1. Carried on the wire so skew is DETECTED, not misread. */
57
- ack_version: number;
58
- document_id: string;
59
- /** The envelope this settles. */
60
- envelope_hash: string;
61
- /** Who is answering — the party that received the update. */
62
- acker_agent_id: string;
63
- /**
64
- * `true` admitted, `false` rejected. BOTH settle the envelope; see the header. There is no third
65
- * value on the wire, because an ack that does not say which is not an answer.
66
- */
67
- admitted: boolean;
68
- /** Present iff `admitted` is false. The §3.2 reason, so the sender can supersede deliberately. */
69
- rejection_reason?: string;
70
- acked_at_ms: number;
71
- /** Ed25519 (RFC 8032) over `buildDocumentAckTbs`. */
72
- signature: Uint8Array;
73
- }
74
- /**
75
- * The canonical to-be-signed preimage: a fixed-order CBOR ARRAY with the domain in slot 0.
76
- *
77
- * An array rather than a map for the reason `cbor.ts` gives — this encoder is deliberately not
78
- * deterministic for maps, so a map preimage would make the signature depend on the order the acker
79
- * happened to build the object in, and two honest implementations would disagree.
80
- *
81
- * `rejection_reason` is encoded as `null` when absent rather than omitted, so the slot is always
82
- * occupied and no field's meaning depends on whether the one before it was present.
83
- *
84
- * An earlier version of this comment claimed omission would be "silently absorbed by the next
85
- * field". That is FALSE for this encoder and worth correcting rather than deleting, because a wrong
86
- * fact about the wire is what the next structure's justification gets built on: a 6-element array
87
- * begins `0x86` and a 7-element one `0x87`, so a missing slot is loud, in byte 0. Measured.
88
- * `cbor.ts` says the same thing — arrays are minimal and order-fixed. The explicit null is still
89
- * right; the reason is stable slot indices, not collision avoidance.
90
- */
91
- export declare function buildDocumentAckTbs(ack: DocumentAck, opts?: {
92
- preHash?: boolean;
93
- }): Uint8Array;
94
- /**
95
- * The cross-field rules, checked on ENCODE as well as decode.
96
- *
97
- * On encode too, because a locally-built contradictory ack would otherwise be signed and shipped
98
- * and fail only on the remote decode: the sender sees a silent stall, the peer sees the error, and
99
- * the two never meet. The rule belongs where the object is built, not only where it is read.
100
- */
101
- export declare function assertDocumentAckConsistent(ack: DocumentAck): void;
102
- export declare function encodeDocumentAck(ack: DocumentAck): Uint8Array;
103
- /**
104
- * Decode and validate. Refuses rather than defaulting on every field.
105
- *
106
- * The one that matters most: `admitted` must be a real boolean. Coerced, a truthy string like
107
- * `"false"` would settle a REJECTED envelope as admitted — the sender would stop retrying, never
108
- * roll back, and both parties would believe content was applied that the receiver refused.
109
- */
110
- export declare function decodeDocumentAck(bytes: Uint8Array): DocumentAck;
111
- //# sourceMappingURL=document-ack.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"document-ack.d.ts","sourceRoot":"","sources":["../src/document-ack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAKH,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB,0BAA0B,CAAC;AAE3D;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAI/C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,cAAc,CAAC;IACrB,iGAAiG;IACjG,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB,kGAAkG;IAClG,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,SAAS,EAAE,UAAU,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,WAAW,EAChB,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/B,UAAU,CAsBZ;AAOD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAmBlE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,UAAU,CAa9D;AAWD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CAuFhE"}