@agenticprimitives/fabric 0.0.0-alpha.5 → 0.0.0-alpha.9
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/CLAUDE.md +12 -2
- package/README.md +16 -16
- package/dist/case-emissions.d.ts +95 -0
- package/dist/case-emissions.d.ts.map +1 -0
- package/dist/case-emissions.js +208 -0
- package/dist/case-emissions.js.map +1 -0
- package/dist/case-machine.d.ts +28 -2
- package/dist/case-machine.d.ts.map +1 -1
- package/dist/case-machine.js +34 -7
- package/dist/case-machine.js.map +1 -1
- package/dist/enum-retirement.d.ts +11 -2
- package/dist/enum-retirement.d.ts.map +1 -1
- package/dist/enum-retirement.js +12 -6
- package/dist/enum-retirement.js.map +1 -1
- package/dist/exchange-record.d.ts +16 -1
- package/dist/exchange-record.d.ts.map +1 -1
- package/dist/exchange-record.js.map +1 -1
- package/dist/exchange-reducer.d.ts +0 -5
- package/dist/exchange-reducer.d.ts.map +1 -1
- package/dist/exchange-reducer.js +27 -1
- package/dist/exchange-reducer.js.map +1 -1
- package/dist/exchange-state.d.ts +30 -8
- package/dist/exchange-state.d.ts.map +1 -1
- package/dist/exchange-state.js +12 -10
- package/dist/exchange-state.js.map +1 -1
- package/dist/inbox-doc.d.ts +2 -2
- package/dist/inbox-doc.d.ts.map +1 -1
- package/dist/inbox-doc.js.map +1 -1
- package/dist/inbox-projection.d.ts +2 -2
- package/dist/inbox-projection.d.ts.map +1 -1
- package/dist/inbox-projection.js.map +1 -1
- package/dist/inbox-revision.d.ts +42 -0
- package/dist/inbox-revision.d.ts.map +1 -0
- package/dist/inbox-revision.js +57 -0
- package/dist/inbox-revision.js.map +1 -0
- package/dist/index.d.ts +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -2
- package/dist/index.js.map +1 -1
- package/dist/interactions/machine.d.ts +2 -2
- package/dist/interactions/machine.d.ts.map +1 -1
- package/dist/interactions/machine.js +2 -2
- package/dist/interactions/machine.js.map +1 -1
- package/dist/interactions/store.d.ts +9 -0
- package/dist/interactions/store.d.ts.map +1 -1
- package/dist/interactions/store.js +57 -2
- package/dist/interactions/store.js.map +1 -1
- package/dist/messaging/board.d.ts +3 -3
- package/dist/messaging/board.d.ts.map +1 -1
- package/dist/messaging/board.js +2 -2
- package/dist/messaging/board.js.map +1 -1
- package/dist/messaging/delivery.d.ts +2 -2
- package/dist/messaging/delivery.d.ts.map +1 -1
- package/dist/messaging/delivery.js +8 -1
- package/dist/messaging/delivery.js.map +1 -1
- package/dist/messaging/envelope.d.ts +7 -3
- package/dist/messaging/envelope.d.ts.map +1 -1
- package/dist/messaging/envelope.js +18 -1
- package/dist/messaging/envelope.js.map +1 -1
- package/dist/messaging/hash.d.ts +8 -2
- package/dist/messaging/hash.d.ts.map +1 -1
- package/dist/messaging/hash.js +6 -0
- package/dist/messaging/hash.js.map +1 -1
- package/dist/messaging/inbox-assistant.d.ts +11 -2
- package/dist/messaging/inbox-assistant.d.ts.map +1 -1
- package/dist/messaging/inbox-assistant.js +4 -2
- package/dist/messaging/inbox-assistant.js.map +1 -1
- package/dist/messaging/projector.d.ts +3 -3
- package/dist/messaging/projector.d.ts.map +1 -1
- package/dist/messaging/projector.js.map +1 -1
- package/dist/messaging/receipts.d.ts +3 -3
- package/dist/messaging/receipts.d.ts.map +1 -1
- package/dist/messaging/receipts.js.map +1 -1
- package/dist/messaging/rules.d.ts +2 -2
- package/dist/messaging/rules.d.ts.map +1 -1
- package/dist/messaging/rules.js.map +1 -1
- package/dist/messaging/store.d.ts +4 -4
- package/dist/messaging/store.d.ts.map +1 -1
- package/dist/messaging/store.js.map +1 -1
- package/dist/messaging/vault-store.d.ts +2 -2
- package/dist/messaging/vault-store.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
import { type TransitionResult } from './machine.js';
|
|
2
|
+
import type { CommitmentRecordV1, DecisionRecordV1 } from '../interaction-machines.js';
|
|
2
3
|
import type { InteractionCaseV1, InteractionId, InteractionState, InteractionTransitionEventV1 } from './types.js';
|
|
3
4
|
export interface InteractionStore {
|
|
4
5
|
/** Register a new case. Fail-closed: only `draft` cases enter; duplicate ids throw. */
|
|
5
6
|
putCase(c: InteractionCaseV1): void;
|
|
6
7
|
getCase(id: InteractionId): InteractionCaseV1 | null;
|
|
8
|
+
/**
|
|
9
|
+
* The determination this case produced, if any (spec 340 W10). `null` until a transition emits one —
|
|
10
|
+
* `approve`/`deny`/`expire` are the three that do. Separate from the case's own state on purpose:
|
|
11
|
+
* a decision has its own lifecycle, its own signer, and outlives the transition that recorded it.
|
|
12
|
+
*/
|
|
13
|
+
getDecision(id: InteractionId): DecisionRecordV1 | null;
|
|
14
|
+
/** The obligation this case gave rise to, if any. `null` until `issue-credential` creates one. */
|
|
15
|
+
getCommitment(id: InteractionId): CommitmentRecordV1 | null;
|
|
7
16
|
/**
|
|
8
17
|
* Apply a signed transition event. Idempotent: replaying an event whose
|
|
9
18
|
* `idempotencyKey` was already applied returns the current case unchanged
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/interactions/store.ts"],"names":[],"mappings":"AAGA,OAAO,EAA+C,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/interactions/store.ts"],"names":[],"mappings":"AAGA,OAAO,EAA+C,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAElG,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAEnH,MAAM,WAAW,gBAAgB;IAC/B,uFAAuF;IACvF,OAAO,CAAC,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,EAAE,EAAE,aAAa,GAAG,iBAAiB,GAAG,IAAI,CAAC;IACrD;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,aAAa,GAAG,gBAAgB,GAAG,IAAI,CAAC;IACxD,kGAAkG;IAClG,aAAa,CAAC,EAAE,EAAE,aAAa,GAAG,kBAAkB,GAAG,IAAI,CAAC;IAC5D;;;;OAIG;IACH,UAAU,CAAC,KAAK,EAAE,4BAA4B,GAAG,gBAAgB,CAAC;IAClE,UAAU,CAAC,EAAE,EAAE,aAAa,GAAG,4BAA4B,EAAE,CAAC;IAC9D,SAAS,CAAC,KAAK,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,EAAE,CAAC;IACzD;iEAC6D;IAC7D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAAC;CACjD;AAED,wBAAgB,8BAA8B,IAAI,gBAAgB,CAyHjE"}
|
|
@@ -1,10 +1,44 @@
|
|
|
1
1
|
// In-memory InteractionStore: cases + transition log with idempotent replay
|
|
2
2
|
// and deterministic expiry sweeps (spec 309 §6.1, §8.10).
|
|
3
3
|
import { applyInteractionTransition, isTerminalState } from './machine.js';
|
|
4
|
+
import { applyCaseEmissions, caseTransitionEmissions } from '../case-emissions.js';
|
|
4
5
|
export function createInMemoryInteractionStore() {
|
|
5
6
|
const cases = new Map();
|
|
6
7
|
const events = new Map();
|
|
7
8
|
const appliedKeys = new Map();
|
|
9
|
+
const decisions = new Map();
|
|
10
|
+
const commitments = new Map();
|
|
11
|
+
/**
|
|
12
|
+
* spec 340 W10 — record what the transition emitted into the other two machines.
|
|
13
|
+
*
|
|
14
|
+
* Called only after the case machine ACCEPTED, and derived from the PRE-transition case: the seed
|
|
15
|
+
* reads identity and party fields, none of which a transition changes.
|
|
16
|
+
*
|
|
17
|
+
* A rejected emission does not roll back the case. That is deliberate and it is the honest option:
|
|
18
|
+
* the case transition is already a fact, and the alternatives are worse — silently dropping it would
|
|
19
|
+
* make an unrecorded determination indistinguishable from a recorded one, and unwinding an accepted
|
|
20
|
+
* transition would let the decision machine veto a move the case machine's own rules permitted.
|
|
21
|
+
* `void` on a case that never had a commitment is the ordinary, expected case of this.
|
|
22
|
+
*/
|
|
23
|
+
function emit(before, event) {
|
|
24
|
+
const emissions = caseTransitionEmissions(before, {
|
|
25
|
+
version: 'ap.case.event.v1',
|
|
26
|
+
caseId: event.interactionId,
|
|
27
|
+
transition: event.transition,
|
|
28
|
+
actor: event.actor,
|
|
29
|
+
at: event.at,
|
|
30
|
+
});
|
|
31
|
+
if (!emissions.decision && !emissions.commitment)
|
|
32
|
+
return;
|
|
33
|
+
const out = applyCaseEmissions(emissions, {
|
|
34
|
+
decision: decisions.get(event.interactionId) ?? null,
|
|
35
|
+
commitment: commitments.get(event.interactionId) ?? null,
|
|
36
|
+
}, { actor: event.actor, at: event.at });
|
|
37
|
+
if (out.decision?.applied)
|
|
38
|
+
decisions.set(event.interactionId, out.decision.record);
|
|
39
|
+
if (out.commitment?.applied)
|
|
40
|
+
commitments.set(event.interactionId, out.commitment.record);
|
|
41
|
+
}
|
|
8
42
|
return {
|
|
9
43
|
putCase(c) {
|
|
10
44
|
if (c.state !== 'draft') {
|
|
@@ -27,15 +61,26 @@ export function createInMemoryInteractionStore() {
|
|
|
27
61
|
if (event.idempotencyKey !== undefined && keys.has(event.idempotencyKey)) {
|
|
28
62
|
return { ok: true, case: current };
|
|
29
63
|
}
|
|
30
|
-
|
|
64
|
+
// W10b-3: the case machine cannot see the decision machine, so the store — which holds both —
|
|
65
|
+
// supplies it. `issue-credential` refuses without a granted determination.
|
|
66
|
+
const result = applyInteractionTransition(current, event, {
|
|
67
|
+
decisionState: decisions.get(event.interactionId)?.state ?? null,
|
|
68
|
+
});
|
|
31
69
|
if (!result.ok)
|
|
32
70
|
return result;
|
|
33
71
|
cases.set(event.interactionId, result.case);
|
|
34
72
|
events.get(event.interactionId).push(event);
|
|
35
73
|
if (event.idempotencyKey !== undefined)
|
|
36
74
|
keys.add(event.idempotencyKey);
|
|
75
|
+
emit(current, event);
|
|
37
76
|
return result;
|
|
38
77
|
},
|
|
78
|
+
getDecision(id) {
|
|
79
|
+
return decisions.get(id) ?? null;
|
|
80
|
+
},
|
|
81
|
+
getCommitment(id) {
|
|
82
|
+
return commitments.get(id) ?? null;
|
|
83
|
+
},
|
|
39
84
|
listEvents(id) {
|
|
40
85
|
return [...(events.get(id) ?? [])];
|
|
41
86
|
},
|
|
@@ -55,10 +100,20 @@ export function createInMemoryInteractionStore() {
|
|
|
55
100
|
transition: 'expire',
|
|
56
101
|
actor: c.responder, // role 'any' — deterministic sweep, not a user action
|
|
57
102
|
at: nowIso,
|
|
58
|
-
});
|
|
103
|
+
}, { decisionState: decisions.get(c.id)?.state ?? null });
|
|
59
104
|
if (result.ok) {
|
|
60
105
|
cases.set(c.id, result.case);
|
|
61
106
|
expired.push(result.case);
|
|
107
|
+
// The sweep records the determination too. `expire` is the one decision transition the
|
|
108
|
+
// machine lets any actor make, and the emission attributes it to the creditor rather than
|
|
109
|
+
// to `c.responder` — the sweep's stand-in actor, who decided nothing.
|
|
110
|
+
emit(c, {
|
|
111
|
+
version: 'ap.interaction.event.v1',
|
|
112
|
+
interactionId: c.id,
|
|
113
|
+
transition: 'expire',
|
|
114
|
+
actor: c.responder,
|
|
115
|
+
at: nowIso,
|
|
116
|
+
});
|
|
62
117
|
}
|
|
63
118
|
}
|
|
64
119
|
return expired;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/interactions/store.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,0DAA0D;AAE1D,OAAO,EAAE,0BAA0B,EAAE,eAAe,EAAyB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/interactions/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { CanonicalAgentId } from '@agenticprimitives/types';
|
|
2
|
-
import type { ContextRefV1, ConversationDescriptorV1
|
|
2
|
+
import type { AnyMessageEnvelope, ContextRefV1, ConversationDescriptorV1 } from './types.js';
|
|
3
3
|
import { type ConsultProvenanceV1 } from './consult.js';
|
|
4
4
|
export interface ChannelMessageEntryV1 {
|
|
5
|
-
envelope:
|
|
5
|
+
envelope: AnyMessageEnvelope;
|
|
6
6
|
authorName: string;
|
|
7
7
|
/** spec 324 §9 acting-agent provenance (spec 327): WHO performed the authoring move when it was
|
|
8
8
|
* not a human session — for org-assistant posts, the org SA (CAIP-10). Absent ⇒ human-session
|
|
@@ -129,6 +129,6 @@ export declare function appendBoardPost(board: ChannelV1[], opts: {
|
|
|
129
129
|
/** spec 329 §6 — PROV attribution stored on the entry (synthesis posts only). */
|
|
130
130
|
prov?: ConsultProvenanceV1;
|
|
131
131
|
}): Promise<BoardResult<{
|
|
132
|
-
envelope:
|
|
132
|
+
envelope: AnyMessageEnvelope;
|
|
133
133
|
}>>;
|
|
134
134
|
//# sourceMappingURL=board.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/messaging/board.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAKjE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/messaging/board.ts"],"names":[],"mappings":"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"}
|
package/dist/messaging/board.js
CHANGED
|
@@ -155,10 +155,10 @@ export async function appendBoardPost(board, opts) {
|
|
|
155
155
|
const extraRefs = (opts.contextRefs ?? []).filter((r) => !baseRefs.some((b) => b.kind === r.kind && b.id === r.id));
|
|
156
156
|
const contextRefs = [...baseRefs, ...extraRefs];
|
|
157
157
|
const envelope = {
|
|
158
|
-
version: 'ap.message.
|
|
158
|
+
version: 'ap.message.v2',
|
|
159
159
|
id: messageId,
|
|
160
160
|
conversationId: channel.descriptor.id,
|
|
161
|
-
|
|
161
|
+
performative: 'INFORM',
|
|
162
162
|
from: opts.from,
|
|
163
163
|
// Shared-board addressing: the descriptor's owner stands for the board (spec 313 §6).
|
|
164
164
|
to: [channel.descriptor.owner],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board.js","sourceRoot":"","sources":["../../src/messaging/board.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"board.js","sourceRoot":"","sources":["../../src/messaging/board.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,kBAAkB,EAA4B,MAAM,cAAc,CAAC;AAgExH;+FAC+F;AAC/F,MAAM,UAAU,0BAA0B,CAAC,OAA8D;IACvG,IAAI,OAAO,CAAC,mBAAmB;QAAE,OAAO,OAAO,CAAC,mBAAmB,CAAC;IACpE,OAAO,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC;AAClE,CAAC;AAED;;oFAEoF;AACpF,MAAM,UAAU,aAAa,CAAC,OAAkB,EAAE,QAAgB,EAAE,SAAS,GAAG,KAAK;IACnF,IAAI,0BAA0B,CAAC,OAAO,CAAC,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAChE,IAAI,SAAS;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAClC,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,iGAAiG;AACjG,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEvC;;;;;iCAKiC;AACjC,MAAM,UAAU,gBAAgB,CAC9B,OAAoD,EACpD,IAA4E;IAE5E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;IACnG,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACvE,IAAI,SAAS,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5D,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,iGAAiG;IACjG,+FAA+F;IAC/F,kGAAkG;IAClG,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,oBAAoB,GAAG,iCAAiC,EAAE,GAAG,CAAC,CAAC;IAC1F,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,+FAA+F;IAC/F,4FAA4F;IAC5F,+DAA+D;IAC/D,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,SAAS,GAAG,oCAAoC,CAAC;AAEvD;;oGAEoG;AACpG,MAAM,UAAU,iBAAiB,CAC/B,KAAkB,EAClB,SAAiB,EACjB,SAAuC;IAEvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;IACjE,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,SAAS,CAAC;QACzB,+FAA+F;QAC/F,OAAO,OAAO,CAAC,OAAO,CAAC;QACvB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC/B,CAAC;IACD,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnE,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,aAAa,EAAE,CAAC;QACtD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,yDAAyD,EAAE,CAAC;IACzF,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;IACvF,OAAO,CAAC,SAAS,GAAG,EAAE,GAAG,SAAS,EAAE,aAAa,EAAE,CAAC;IACpD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC;AAED;;;wFAGwF;AACxF,MAAM,UAAU,eAAe,CAC7B,KAAkB,EAClB,SAAiB,EACjB,OAAmC;IAEnC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;IACjE,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,OAAO,CAAC,OAAO,CAAC;QACvB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,SAAS;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,0DAA0D,EAAE,CAAC;IAChH,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QACpC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;QAC7E,CAAC,CAAC,sBAAsB,CAAC;IAC3B,OAAO,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,CAAC;IAC5C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC;AAID;;6FAE6F;AAC7F,MAAM,UAAU,kBAAkB,CAChC,KAAkB,EAClB,IAA4N;IAE5N,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC;IAC5F,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACrE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,0CAA0C,EAAE,CAAC;IAC1E,CAAC;IACD,4FAA4F;IAC5F,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC;IACvH,MAAM,UAAU,GAA6B;QAC3C,OAAO,EAAE,oBAAoB;QAC7B,EAAE,EAAE,sBAAsB,EAAE;QAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK;QACL,YAAY,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;QAC1B,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;QACtE,iBAAiB,EAAE,iBAAiB;QACpC,SAAS,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC/C,gGAAgG;QAChG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,cAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvE,CAAC;IACF,MAAM,MAAM,GAAG,8BAA8B,CAAC,UAAU,CAAC,CAAC;IAC1D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IAC5F,iFAAiF;IACjF,MAAM,OAAO,GAAG,SAAS;QACvB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpI,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,OAAO,GAAc;QACzB,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;QAC1D,0FAA0F;QAC1F,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAE,YAAsB,CAAC,CAAC,CAAE,MAAgB;QAC5E,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAkB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC;AAED;;uFAEuF;AACvF,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAkB,EAClB,IAQC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACtC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;IAC/F,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC;IACtE,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAE7D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjD,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC;IACtD,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CACjE,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAsB;QAClC,OAAO,EAAE,eAAe;QACxB,EAAE,EAAE,SAAS;QACb,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE;QACrC,YAAY,EAAE,QAAQ;QACtB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,sFAAsF;QACtF,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;QAC9B,SAAS,EAAE,GAAG;QACd,cAAc,EAAE,UAAU;QAC1B,IAAI,EAAE,EAAE,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE;QACnH,QAAQ,EAAE,MAAM,WAAW,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/D,eAAe,EAAE,YAAY;QAC7B,WAAW;KACZ,CAAC;IACF,MAAM,MAAM,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IACzF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1J,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;QAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,mBAAmB,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AuditSink } from '@agenticprimitives/audit';
|
|
2
2
|
import type { InboxProjector } from './projector.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { AnyMessageEnvelope, MessageEventV1 } from './types.js';
|
|
4
4
|
import type { RuleApplication } from './rules.js';
|
|
5
5
|
export interface AuditedInboxDelivery {
|
|
6
6
|
/**
|
|
@@ -8,7 +8,7 @@ export interface AuditedInboxDelivery {
|
|
|
8
8
|
* `bodyBytes` is provided the body-hash binding is enforced (§8.4); pass the
|
|
9
9
|
* bytes fetched from the vault whenever the body was transported.
|
|
10
10
|
*/
|
|
11
|
-
admit(envelope:
|
|
11
|
+
admit(envelope: AnyMessageEnvelope, event: MessageEventV1, bodyBytes?: Uint8Array): Promise<RuleApplication>;
|
|
12
12
|
}
|
|
13
13
|
export declare function createAuditedInboxDelivery(opts: {
|
|
14
14
|
projector: InboxProjector;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/messaging/delivery.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/messaging/delivery.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAKrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAwBlD,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,KAAK,CACH,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,cAAc,EACrB,SAAS,CAAC,EAAE,UAAU,GACrB,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7B;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAC/C,SAAS,EAAE,cAAc,CAAC;IAC1B,KAAK,EAAE,SAAS,CAAC;IACjB,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,oBAAoB,CAiCvB"}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
// Fail-closed ordering: validate → verify body hash → AUDIT (await) → commit.
|
|
4
4
|
// If the audit write fails the message is NOT admitted (spec 291 discipline for
|
|
5
5
|
// privileged outcomes); rejects are audited as `denied` before throwing.
|
|
6
|
+
import { isEnvelopeV2 } from './types.js';
|
|
7
|
+
import { performativeOf } from '../communicative-act.js';
|
|
6
8
|
import { validateMessageEnvelope } from './envelope.js';
|
|
7
9
|
import { verifyBodyHash } from './hash.js';
|
|
8
10
|
function auditEventBase(envelope, recipient) {
|
|
@@ -14,7 +16,12 @@ function auditEventBase(envelope, recipient) {
|
|
|
14
16
|
// Hashes/ids only — never bodies, subjects, or PII (spec 309 §9).
|
|
15
17
|
context: {
|
|
16
18
|
from: envelope.from,
|
|
17
|
-
|
|
19
|
+
// spec 340 — the audit records what the message DOES, which spans both wire versions. `kind` is
|
|
20
|
+
// kept when the envelope is V1 so historical rows stay comparable, and is simply absent on V2
|
|
21
|
+
// rather than being back-derived: `performativeForKind` is not injective, so a reconstructed
|
|
22
|
+
// `kind` would be a guess written into an audit trail.
|
|
23
|
+
performative: performativeOf(envelope),
|
|
24
|
+
...(isEnvelopeV2(envelope) ? {} : { kind: envelope.kind }),
|
|
18
25
|
classification: envelope.classification,
|
|
19
26
|
bodyHash: envelope.bodyHash,
|
|
20
27
|
conversationId: envelope.conversationId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/messaging/delivery.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,yEAAyE;AAKzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG3C,SAAS,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/messaging/delivery.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,yEAAyE;AAKzE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG3C,SAAS,cAAc,CAAC,QAA4B,EAAE,SAAiB;IACrE,OAAO;QACL,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE;QAClC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,EAAE,EAAE,SAAS,EAAE;QAClD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE;QAC7C,kEAAkE;QAClE,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,gGAAgG;YAChG,8FAA8F;YAC9F,6FAA6F;YAC7F,uDAAuD;YACvD,YAAY,EAAE,cAAc,CAAC,QAAQ,CAAC;YACtC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC1D,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,cAAc,EAAE,QAAQ,CAAC,cAAc;SACxC;KACF,CAAC;AACJ,CAAC;AAeD,MAAM,UAAU,0BAA0B,CAAC,IAK1C;IACC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAE7C,KAAK,UAAU,MAAM,CAAC,QAA4B,EAAE,MAAc;QAChE,MAAM,KAAK,CAAC,KAAK,CAAC;YAChB,GAAG,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC;YACtC,MAAM,EAAE,0BAA0B;YAClC,OAAO,EAAE,QAAQ;YACjB,MAAM;SACP,CAAC,CAAC;QACH,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,CAAC,EAAE,cAAc,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,OAAO;QACL,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS;YACpC,MAAM,MAAM,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,MAAM,CAAC,QAAQ,EAAE,qBAAqB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzF,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,EAAE;gBAAE,OAAO,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;YAC3F,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;gBAC5E,OAAO,MAAM,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;YAC/C,CAAC;YAED,oEAAoE;YACpE,MAAM,KAAK,CAAC,KAAK,CAAC;gBAChB,GAAG,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC;gBACtC,MAAM,EAAE,0BAA0B;gBAClC,OAAO,EAAE,SAAS;aACnB,CAAC,CAAC;YAEH,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC/B,OAAO,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AnyMessageEnvelope, ConversationId, MessageId, ThreadId } from './types.js';
|
|
2
2
|
export declare function generateMessageId(): MessageId;
|
|
3
3
|
export declare function generateConversationId(): ConversationId;
|
|
4
4
|
export declare function generateThreadId(): ThreadId;
|
|
5
|
-
export type EnvelopeValidationError = 'bad_version' | 'bad_id' | 'bad_conversation_id' | 'missing_from' | 'empty_recipients' | 'bad_created_at' | 'bad_expires_at' | 'expired_before_created' | 'bad_body_hash' | 'missing_body_content_type' | 'bad_attachment_hash' | 'too_many_context_refs' | 'bad_context_ref'
|
|
5
|
+
export type EnvelopeValidationError = 'bad_version' | 'bad_id' | 'bad_conversation_id' | 'missing_from' | 'empty_recipients' | 'bad_created_at' | 'bad_expires_at' | 'expired_before_created' | 'bad_body_hash' | 'missing_body_content_type' | 'bad_attachment_hash' | 'too_many_context_refs' | 'bad_context_ref'
|
|
6
|
+
/** V2-only (spec 340 cutover): the version says v2 but the act it performs is absent. */
|
|
7
|
+
| 'missing_performative'
|
|
8
|
+
/** V2-only: a half-migrated sender stamped v2 while still emitting the retired `kind` taxonomy. */
|
|
9
|
+
| 'v2_carries_retired_kind';
|
|
6
10
|
/** Envelope context refs are bounded so refs stay metadata, not payload. */
|
|
7
11
|
export declare const MAX_CONTEXT_REFS = 8;
|
|
8
12
|
/**
|
|
@@ -10,5 +14,5 @@ export declare const MAX_CONTEXT_REFS = 8;
|
|
|
10
14
|
* recipient admission policy are the recipient runtime's job (spec 309 §4.4).
|
|
11
15
|
* Returns an empty array iff the envelope is structurally admissible.
|
|
12
16
|
*/
|
|
13
|
-
export declare function validateMessageEnvelope(env:
|
|
17
|
+
export declare function validateMessageEnvelope(env: AnyMessageEnvelope): EnvelopeValidationError[];
|
|
14
18
|
//# sourceMappingURL=envelope.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../src/messaging/envelope.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../src/messaging/envelope.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAqB,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAW7G,wBAAgB,iBAAiB,IAAI,SAAS,CAE7C;AAED,wBAAgB,sBAAsB,IAAI,cAAc,CAEvD;AAED,wBAAgB,gBAAgB,IAAI,QAAQ,CAE3C;AAED,MAAM,MAAM,uBAAuB,GAC/B,aAAa,GACb,QAAQ,GACR,qBAAqB,GACrB,cAAc,GACd,kBAAkB,GAClB,gBAAgB,GAChB,gBAAgB,GAChB,wBAAwB,GACxB,eAAe,GACf,2BAA2B,GAC3B,qBAAqB,GACrB,uBAAuB,GACvB,iBAAiB;AACnB,yFAAyF;GACvF,sBAAsB;AACxB,mGAAmG;GACjG,yBAAyB,CAAC;AAE9B,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAQlC;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,kBAAkB,GAAG,uBAAuB,EAAE,CA6C1F"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// Envelope construction + structural validation (fail-closed, spec 309 §8).
|
|
2
|
+
import { isEnvelopeV2 } from './types.js';
|
|
2
3
|
function randomSuffix() {
|
|
3
4
|
const bytes = new Uint8Array(16);
|
|
4
5
|
globalThis.crypto.getRandomValues(bytes);
|
|
@@ -28,8 +29,24 @@ function isIsoDate(s) {
|
|
|
28
29
|
*/
|
|
29
30
|
export function validateMessageEnvelope(env) {
|
|
30
31
|
const errors = [];
|
|
31
|
-
|
|
32
|
+
// spec 340 — the ap.message.v2 cutover, reader half. BOTH wire versions are structurally
|
|
33
|
+
// admissible. This must ship and be DEPLOYED EVERYWHERE before any sender emits V2: a V2 envelope
|
|
34
|
+
// reaching a validator that only knows V1 is rejected as `bad_version`, which on a peer hop is a
|
|
35
|
+
// delivery failure, not a degraded read.
|
|
36
|
+
//
|
|
37
|
+
// The two shapes are checked for what each one IS, not merely tolerated: V2 must carry a
|
|
38
|
+
// `performative` and must NOT carry `kind`, so a half-migrated sender that stamps v2 while still
|
|
39
|
+
// emitting the retired taxonomy fails here instead of quietly producing an envelope whose version
|
|
40
|
+
// and content disagree.
|
|
41
|
+
if (isEnvelopeV2(env)) {
|
|
42
|
+
if (!env.performative)
|
|
43
|
+
errors.push('missing_performative');
|
|
44
|
+
if (env.kind !== undefined)
|
|
45
|
+
errors.push('v2_carries_retired_kind');
|
|
46
|
+
}
|
|
47
|
+
else if (env.version !== 'ap.message.v1') {
|
|
32
48
|
errors.push('bad_version');
|
|
49
|
+
}
|
|
33
50
|
if (!env.id?.startsWith('msg_'))
|
|
34
51
|
errors.push('bad_id');
|
|
35
52
|
if (!env.conversationId?.startsWith('conv_'))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/messaging/envelope.ts"],"names":[],"mappings":"AAAA,4EAA4E;
|
|
1
|
+
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/messaging/envelope.ts"],"names":[],"mappings":"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"}
|
package/dist/messaging/hash.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Hex32, MessageEnvelopeV1 } from './types.js';
|
|
1
|
+
import type { AnyMessageEnvelope, Hex32, MessageEnvelopeV1 } from './types.js';
|
|
2
2
|
import { canonicalizeJson } from '@agenticprimitives/types';
|
|
3
3
|
/** Deterministic JSON: sorted keys, `undefined` members dropped. Hoisted to `@agenticprimitives/types` as
|
|
4
4
|
* `canonicalizeJson` (spec 316 Open Decision F); kept here as an alias for back-compat. */
|
|
@@ -8,8 +8,14 @@ export declare function sha256Hex32(input: string | Uint8Array): Promise<Hex32>;
|
|
|
8
8
|
* Hash of the canonical envelope EXCLUDING `signature` — this is the payload a
|
|
9
9
|
* sender signs and a recipient verifies (spec 309 §8.1). Deterministic across
|
|
10
10
|
* key order and undefined optional fields.
|
|
11
|
+
*
|
|
12
|
+
* Version-agnostic BY CONSTRUCTION, and that is the property the ap.message.v2 cutover rests on: it
|
|
13
|
+
* canonicalizes whatever fields the envelope has. A V1 envelope hashes today exactly as it hashed
|
|
14
|
+
* before V2 existed, so every historical signature and delivery receipt still verifies. `version` is
|
|
15
|
+
* itself inside the hashed body, so V1 and V2 of otherwise-identical content are domain-separated for
|
|
16
|
+
* free — no envelope can be replayed across versions.
|
|
11
17
|
*/
|
|
12
|
-
export declare function hashMessageEnvelope(envelope:
|
|
18
|
+
export declare function hashMessageEnvelope(envelope: AnyMessageEnvelope): Promise<Hex32>;
|
|
13
19
|
/**
|
|
14
20
|
* Body-hash binding (spec 309 §8.4): the envelope's `bodyHash` MUST equal the
|
|
15
21
|
* digest of the vault-resident body bytes. Recipients enforce this BEFORE
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../src/messaging/hash.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../src/messaging/hash.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAI5D;4FAC4F;AAC5F,eAAO,MAAM,mBAAmB,yBAAmB,CAAC;AAEpD,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAO5E;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,CAGtF;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,EAC7C,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC,OAAO,CAAC,CAElB"}
|
package/dist/messaging/hash.js
CHANGED
|
@@ -20,6 +20,12 @@ export async function sha256Hex32(input) {
|
|
|
20
20
|
* Hash of the canonical envelope EXCLUDING `signature` — this is the payload a
|
|
21
21
|
* sender signs and a recipient verifies (spec 309 §8.1). Deterministic across
|
|
22
22
|
* key order and undefined optional fields.
|
|
23
|
+
*
|
|
24
|
+
* Version-agnostic BY CONSTRUCTION, and that is the property the ap.message.v2 cutover rests on: it
|
|
25
|
+
* canonicalizes whatever fields the envelope has. A V1 envelope hashes today exactly as it hashed
|
|
26
|
+
* before V2 existed, so every historical signature and delivery receipt still verifies. `version` is
|
|
27
|
+
* itself inside the hashed body, so V1 and V2 of otherwise-identical content are domain-separated for
|
|
28
|
+
* free — no envelope can be replayed across versions.
|
|
23
29
|
*/
|
|
24
30
|
export async function hashMessageEnvelope(envelope) {
|
|
25
31
|
const { signature: _signature, ...unsigned } = envelope;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/messaging/hash.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,kFAAkF;AAClF,+EAA+E;AAC/E,kEAAkE;AAGlE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;AAE9B;4FAC4F;AAC5F,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAA0B;IAC1D,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACpE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAA+B,CAAC,CAAC;IACjG,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;SAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,KAAK,GAAG,EAAW,CAAC;AAC7B,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/messaging/hash.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,kFAAkF;AAClF,+EAA+E;AAC/E,kEAAkE;AAGlE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;AAE9B;4FAC4F;AAC5F,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAA0B;IAC1D,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACpE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAA+B,CAAC,CAAC;IACjG,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;SAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,KAAK,GAAG,EAAW,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,QAA4B;IACpE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC;IACxD,OAAO,WAAW,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAA6C,EAC7C,SAAqB;IAErB,OAAO,CAAC,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC;AAC9D,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CanonicalAgentId } from '@agenticprimitives/types';
|
|
2
|
-
import type { ConversationDescriptorV1, MessageEnvelopeV1, MessageEnvelopeV2, AnyMessageEnvelope } from './types.js';
|
|
2
|
+
import type { ConversationDescriptorV1, MessageEnvelopeV1, MessageEnvelopeV2, MessageId, AnyMessageEnvelope } from './types.js';
|
|
3
3
|
/** Owner-controlled auto-reply assistant config for a PERSON's 1:1 inbox (spec 328 §2).
|
|
4
4
|
* One record in the person's vault; `enabled:false` is the disable tombstone (one record, no
|
|
5
5
|
* delete ceremony — absent and disabled are the same answer). Display name is captured AT
|
|
@@ -49,7 +49,7 @@ export declare function fixedWindowAllow(prev: FixedWindowState | undefined, now
|
|
|
49
49
|
};
|
|
50
50
|
export type AssistantReplyResult = {
|
|
51
51
|
ok: true;
|
|
52
|
-
envelope:
|
|
52
|
+
envelope: MessageEnvelopeV2;
|
|
53
53
|
counterparty: CanonicalAgentId;
|
|
54
54
|
counterpartyAddr: string;
|
|
55
55
|
bodyBytes: Uint8Array;
|
|
@@ -66,6 +66,15 @@ export declare function buildAssistantInboxReply(conversations: ConversationDesc
|
|
|
66
66
|
principal: CanonicalAgentId;
|
|
67
67
|
conversationId: string;
|
|
68
68
|
bodyText: string;
|
|
69
|
+
/**
|
|
70
|
+
* The message being answered. REQUIRED, because this envelope is a RESPONSE and V2 has no other
|
|
71
|
+
* way to say so: `performativeForKind` is not injective, so `INFORM` alone cannot distinguish a
|
|
72
|
+
* reply from an original. spec 340 §R.4 makes `inReplyTo` the conformance requirement for exactly
|
|
73
|
+
* this, and `inboxAssistantTrigger`'s V2 branch reads it. Omitting it would emit an envelope that
|
|
74
|
+
* claims to be an original and, but for the `actor` marker being checked first, would be
|
|
75
|
+
* auto-answerable — the assistant answering its own replies.
|
|
76
|
+
*/
|
|
77
|
+
inReplyTo: MessageId;
|
|
69
78
|
now?: string;
|
|
70
79
|
}): Promise<AssistantReplyResult>;
|
|
71
80
|
//# sourceMappingURL=inbox-assistant.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbox-assistant.d.ts","sourceRoot":"","sources":["../../src/messaging/inbox-assistant.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAIjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"inbox-assistant.d.ts","sourceRoot":"","sources":["../../src/messaging/inbox-assistant.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAIjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAIhI;;;gGAGgG;AAChG,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,wBAAwB,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB;0EACsE;IACtE,OAAO,EAAE,KAAK,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,gGAAgG;AAChG,eAAO,MAAM,+BAA+B,QAAc,CAAC;AAE3D;;;;;;;;;;gGAUgG;AAChG,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,EAC/C,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,GAAG,WAAW,CAAC,GACrF,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC,EAC7F,aAAa,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CA6BT;AAED,gFAAgF;AAChF,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;qCAMqC;AACrC,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,gBAAgB,GAAG,SAAS,EAClC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAO9C;AAED,MAAM,MAAM,oBAAoB,GAC5B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,iBAAiB,CAAC;IAAC,YAAY,EAAE,gBAAgB,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,UAAU,CAAA;CAAE,GAC1H;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC;;;;yFAIyF;AACzF,wBAAsB,wBAAwB,CAC5C,aAAa,EAAE,wBAAwB,EAAE,GAAG,SAAS,EACrD,IAAI,EAAE;IACJ,SAAS,EAAE,gBAAgB,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,SAAS,EAAE,SAAS,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GACA,OAAO,CAAC,oBAAoB,CAAC,CAyC/B"}
|
|
@@ -98,10 +98,10 @@ export async function buildAssistantInboxReply(conversations, opts) {
|
|
|
98
98
|
const messageId = generateMessageId();
|
|
99
99
|
const bodyBytes = new TextEncoder().encode(bodyText);
|
|
100
100
|
const envelope = {
|
|
101
|
-
version: 'ap.message.
|
|
101
|
+
version: 'ap.message.v2',
|
|
102
102
|
id: messageId,
|
|
103
103
|
conversationId: descriptor.id,
|
|
104
|
-
|
|
104
|
+
performative: 'INFORM',
|
|
105
105
|
from: opts.principal,
|
|
106
106
|
to: [counterparty],
|
|
107
107
|
...(descriptor.title ? { subject: descriptor.title } : {}),
|
|
@@ -110,6 +110,8 @@ export async function buildAssistantInboxReply(conversations, opts) {
|
|
|
110
110
|
body: { resource: messageBodyResource(messageId), classification: 'internal', updatedAt: now },
|
|
111
111
|
bodyHash: await sha256Hex32(bodyBytes),
|
|
112
112
|
bodyContentType: 'text/plain',
|
|
113
|
+
// The causal edge — what makes this a response under V2 (spec 340 §R.4).
|
|
114
|
+
inReplyTo: opts.inReplyTo,
|
|
113
115
|
...(descriptor.contextRefs ? { contextRefs: descriptor.contextRefs } : {}),
|
|
114
116
|
// spec 324 §9 — machine-readable agent-authored provenance; also the loop-prevention marker
|
|
115
117
|
// the counterparty's own assistant skips on (spec 328 §7).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbox-assistant.js","sourceRoot":"","sources":["../../src/messaging/inbox-assistant.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"inbox-assistant.js","sourceRoot":"","sources":["../../src/messaging/inbox-assistant.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FolderKind, InboxItemV1,
|
|
1
|
+
import type { FolderKind, InboxItemV1, AnyMessageEnvelope, MessageEventV1, MessageId } from './types.js';
|
|
2
2
|
import { type MessageStore } from './store.js';
|
|
3
3
|
import { type InboxRuleV1, type RuleApplication } from './rules.js';
|
|
4
4
|
export interface FolderSummaryV1 {
|
|
@@ -28,10 +28,10 @@ export interface DeltaCursorStore {
|
|
|
28
28
|
/** Port a transport adapter (A2A, direct endpoint, relay) implements to move
|
|
29
29
|
* envelopes. Resolves to the delivery event the recipient runtime emitted. */
|
|
30
30
|
export interface MessageDeliveryPort {
|
|
31
|
-
deliver(envelope:
|
|
31
|
+
deliver(envelope: AnyMessageEnvelope): Promise<MessageEventV1>;
|
|
32
32
|
}
|
|
33
33
|
export interface InboxProjector {
|
|
34
|
-
putMessage(envelope:
|
|
34
|
+
putMessage(envelope: AnyMessageEnvelope): void;
|
|
35
35
|
/** Reducer + rules. Rules run only on first admission (admitted/delivered),
|
|
36
36
|
* mirroring Outlook: user actions afterwards are not re-filed. */
|
|
37
37
|
appendEvent(event: MessageEventV1): RuleApplication;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projector.d.ts","sourceRoot":"","sources":["../../src/messaging/projector.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,
|
|
1
|
+
{"version":3,"file":"projector.d.ts","sourceRoot":"","sources":["../../src/messaging/projector.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EAEX,kBAAkB,EAClB,cAAc,EACd,SAAS,EACV,MAAM,YAAY,CAAC;AACpB,OAAO,EAA8B,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAsC,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAExG,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CASxE;AAED,qFAAqF;AACrF,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,uEAAuE;IACvE,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,iFAAiF;IACjF,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,gFAAgF;AAChF,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACtF,GAAG,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAED;+EAC+E;AAC/E,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC/C;uEACmE;IACnE,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAAC;IACpD,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC;IAChD,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,EAAE,CAAC;IAC9C;mEAC+D;IAC/D,aAAa,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,WAAW,EAAE,CAAC;IACjE,WAAW,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACzC,SAAS,IAAI,eAAe,EAAE,CAAC;IAC/B,QAAQ,IAAI,MAAM,CAAC;IACnB,sFAAsF;IACtF,UAAU,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAAG,YAAY,CAAC;CAC7D;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,wBAAwB,GAAG,cAAc,CA4F3F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projector.js","sourceRoot":"","sources":["../../src/messaging/projector.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,8EAA8E;AAC9E,+EAA+E;
|
|
1
|
+
{"version":3,"file":"projector.js","sourceRoot":"","sources":["../../src/messaging/projector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CanonicalAgentId } from '@agenticprimitives/types';
|
|
2
|
-
import type {
|
|
3
|
-
export declare function buildDeliveryReceipt(envelope:
|
|
4
|
-
export declare function buildReadReceipt(envelope:
|
|
2
|
+
import type { AnyMessageEnvelope, MessageEventV1 } from './types.js';
|
|
3
|
+
export declare function buildDeliveryReceipt(envelope: AnyMessageEnvelope, actor: CanonicalAgentId, at: string): MessageEventV1;
|
|
4
|
+
export declare function buildReadReceipt(envelope: AnyMessageEnvelope, actor: CanonicalAgentId, at: string): MessageEventV1;
|
|
5
5
|
//# sourceMappingURL=receipts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receipts.d.ts","sourceRoot":"","sources":["../../src/messaging/receipts.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"receipts.d.ts","sourceRoot":"","sources":["../../src/messaging/receipts.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAkBrE,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,gBAAgB,EACvB,EAAE,EAAE,MAAM,GACT,cAAc,CAEhB;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,gBAAgB,EACvB,EAAE,EAAE,MAAM,GACT,cAAc,CAEhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receipts.js","sourceRoot":"","sources":["../../src/messaging/receipts.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,0EAA0E;AAC1E,iEAAiE;AAKjE,SAAS,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"receipts.js","sourceRoot":"","sources":["../../src/messaging/receipts.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,0EAA0E;AAC1E,iEAAiE;AAKjE,SAAS,WAAW,CAAC,QAA4B,EAAE,KAAuB;IACxE,OAAO,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,YAAY,CACnB,QAA4B,EAC5B,KAAuB,EACvB,SAA+B,EAC/B,EAAU;IAEV,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,0BAA0B,QAAQ,CAAC,EAAE,iBAAiB,SAAS,UAAU,CAAC,CAAC;IACrG,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,QAA4B,EAC5B,KAAuB,EACvB,EAAU;IAEV,OAAO,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAA4B,EAC5B,KAAuB,EACvB,EAAU;IAEV,OAAO,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC"}
|