@agenticprimitives/fabric 0.0.0-alpha.4 → 0.0.0-alpha.40
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 +28 -35
- package/README.md +18 -16
- package/dist/adoption.d.ts +79 -0
- package/dist/adoption.d.ts.map +1 -0
- package/dist/adoption.js +95 -0
- package/dist/adoption.js.map +1 -0
- 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/cloudflare/authority-verdict-cache.d.ts +28 -1
- package/dist/cloudflare/authority-verdict-cache.d.ts.map +1 -1
- package/dist/cloudflare/authority-verdict-cache.js +32 -1
- package/dist/cloudflare/authority-verdict-cache.js.map +1 -1
- package/dist/cloudflare/exchange-store.d.ts +20 -1
- package/dist/cloudflare/exchange-store.d.ts.map +1 -1
- package/dist/cloudflare/exchange-store.js +26 -4
- package/dist/cloudflare/exchange-store.js.map +1 -1
- package/dist/cloudflare/index.d.ts +7 -4
- package/dist/cloudflare/index.d.ts.map +1 -1
- package/dist/cloudflare/index.js +8 -2
- package/dist/cloudflare/index.js.map +1 -1
- package/dist/cloudflare/interaction-store.d.ts +81 -0
- package/dist/cloudflare/interaction-store.d.ts.map +1 -0
- package/dist/cloudflare/interaction-store.js +281 -0
- package/dist/cloudflare/interaction-store.js.map +1 -0
- package/dist/cloudflare/orchestration-runtime.d.ts +19 -5
- package/dist/cloudflare/orchestration-runtime.d.ts.map +1 -1
- package/dist/cloudflare/orchestration-runtime.js +11 -6
- package/dist/cloudflare/orchestration-runtime.js.map +1 -1
- package/dist/cloudflare/principal-gateway-do.d.ts +360 -30
- package/dist/cloudflare/principal-gateway-do.d.ts.map +1 -1
- package/dist/cloudflare/principal-gateway-do.js +580 -58
- package/dist/cloudflare/principal-gateway-do.js.map +1 -1
- package/dist/cloudflare/receipt-signer.d.ts.map +1 -1
- package/dist/cloudflare/receipt-signer.js +6 -3
- package/dist/cloudflare/receipt-signer.js.map +1 -1
- package/dist/cloudflare/sql-vault.d.ts.map +1 -1
- package/dist/cloudflare/sql-vault.js +56 -0
- package/dist/cloudflare/sql-vault.js.map +1 -1
- package/dist/cloudflare/vault-exchange-store.d.ts +47 -0
- package/dist/cloudflare/vault-exchange-store.d.ts.map +1 -0
- package/dist/cloudflare/vault-exchange-store.js +135 -0
- package/dist/cloudflare/vault-exchange-store.js.map +1 -0
- package/dist/cloudflare/vault-interaction-store.d.ts +44 -0
- package/dist/cloudflare/vault-interaction-store.d.ts.map +1 -0
- package/dist/cloudflare/vault-interaction-store.js +259 -0
- package/dist/cloudflare/vault-interaction-store.js.map +1 -0
- package/dist/communicative-act.d.ts +24 -1
- package/dist/communicative-act.d.ts.map +1 -1
- package/dist/communicative-act.js +28 -0
- package/dist/communicative-act.js.map +1 -1
- package/dist/delivery-envelope.d.ts.map +1 -1
- package/dist/delivery-envelope.js +0 -1
- package/dist/delivery-envelope.js.map +1 -1
- package/dist/email/index.d.ts +79 -0
- package/dist/email/index.d.ts.map +1 -0
- package/dist/email/index.js +91 -0
- package/dist/email/index.js.map +1 -0
- package/dist/enum-retirement.d.ts +43 -0
- package/dist/enum-retirement.d.ts.map +1 -0
- package/dist/enum-retirement.js +93 -0
- package/dist/enum-retirement.js.map +1 -0
- package/dist/exchange-record.d.ts +35 -4
- package/dist/exchange-record.d.ts.map +1 -1
- package/dist/exchange-record.js.map +1 -1
- package/dist/exchange-reducer.d.ts +32 -4
- package/dist/exchange-reducer.d.ts.map +1 -1
- package/dist/exchange-reducer.js +75 -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 +26 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +40 -2
- package/dist/index.js.map +1 -1
- package/dist/interaction-machines.d.ts +136 -0
- package/dist/interaction-machines.d.ts.map +1 -0
- package/dist/interaction-machines.js +174 -0
- package/dist/interaction-machines.js.map +1 -0
- package/dist/interaction-profile.d.ts +136 -0
- package/dist/interaction-profile.d.ts.map +1 -0
- package/dist/interaction-profile.js +212 -0
- package/dist/interaction-profile.js.map +1 -0
- package/dist/interaction-record.d.ts +168 -0
- package/dist/interaction-record.d.ts.map +1 -0
- package/dist/interaction-record.js +108 -0
- package/dist/interaction-record.js.map +1 -0
- package/dist/interactions/grant-scopes.d.ts +21 -0
- package/dist/interactions/grant-scopes.d.ts.map +1 -0
- package/dist/interactions/grant-scopes.js +88 -0
- package/dist/interactions/grant-scopes.js.map +1 -0
- package/dist/interactions/index.d.ts +1 -0
- package/dist/interactions/index.d.ts.map +1 -1
- package/dist/interactions/index.js +3 -0
- package/dist/interactions/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/open-case.d.ts +60 -0
- package/dist/interactions/open-case.d.ts.map +1 -0
- package/dist/interactions/open-case.js +83 -0
- package/dist/interactions/open-case.js.map +1 -0
- 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 +4 -4
- 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/consult-routing.d.ts +103 -23
- package/dist/messaging/consult-routing.d.ts.map +1 -1
- package/dist/messaging/consult-routing.js +157 -47
- package/dist/messaging/consult-routing.js.map +1 -1
- package/dist/messaging/consult.d.ts +4 -0
- package/dist/messaging/consult.d.ts.map +1 -1
- package/dist/messaging/consult.js +3 -1
- package/dist/messaging/consult.js.map +1 -1
- package/dist/messaging/conversation-interaction.d.ts +66 -0
- package/dist/messaging/conversation-interaction.d.ts.map +1 -0
- package/dist/messaging/conversation-interaction.js +139 -0
- package/dist/messaging/conversation-interaction.js.map +1 -0
- package/dist/messaging/conversation.d.ts +69 -1
- package/dist/messaging/conversation.d.ts.map +1 -1
- package/dist/messaging/conversation.js +131 -0
- package/dist/messaging/conversation.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 +16 -4
- package/dist/messaging/inbox-assistant.d.ts.map +1 -1
- package/dist/messaging/inbox-assistant.js +27 -4
- package/dist/messaging/inbox-assistant.js.map +1 -1
- package/dist/messaging/index.d.ts +7 -3
- package/dist/messaging/index.d.ts.map +1 -1
- package/dist/messaging/index.js +11 -2
- package/dist/messaging/index.js.map +1 -1
- package/dist/messaging/outbound-message.d.ts +42 -0
- package/dist/messaging/outbound-message.d.ts.map +1 -0
- package/dist/messaging/outbound-message.js +64 -0
- package/dist/messaging/outbound-message.js.map +1 -0
- 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 +10 -3
- package/dist/messaging/rules.d.ts.map +1 -1
- package/dist/messaging/rules.js +8 -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 +5 -3
- package/dist/messaging/store.js.map +1 -1
- package/dist/messaging/types.d.ts +30 -0
- package/dist/messaging/types.d.ts.map +1 -1
- package/dist/messaging/types.js +3 -0
- package/dist/messaging/types.js.map +1 -1
- package/dist/messaging/vault-store.d.ts +2 -2
- package/dist/messaging/vault-store.d.ts.map +1 -1
- package/dist/messaging/vault-store.js +8 -0
- package/dist/messaging/vault-store.js.map +1 -1
- package/dist/protocol-binding.d.ts +71 -0
- package/dist/protocol-binding.d.ts.map +1 -0
- package/dist/protocol-binding.js +0 -0
- package/dist/protocol-binding.js.map +1 -0
- package/dist/record-catalog.d.ts.map +1 -1
- package/dist/record-catalog.js +12 -0
- package/dist/record-catalog.js.map +1 -1
- package/package.json +28 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/messaging/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,8EAA8E;AAC9E,iFAAiF;AACjF,iFAAiF;AACjF,2CAA2C;AAC3C,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,wEAAwE;AACxE,0EAA0E;AAC1E,8CAA8C;AAE9C,MAAM,CAAC,MAAM,YAAY,GAAG,qCAAqC,CAAC;AAClE,MAAM,CAAC,MAAM,cAAc,GAAG,YAAqB,CAAC;AACpD,MAAM,CAAC,MAAM,QAAQ,GAAG,yCAAyC,CAAC;AAElE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/messaging/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,8EAA8E;AAC9E,iFAAiF;AACjF,iFAAiF;AACjF,2CAA2C;AAC3C,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,wEAAwE;AACxE,0EAA0E;AAC1E,8CAA8C;AAE9C,MAAM,CAAC,MAAM,YAAY,GAAG,qCAAqC,CAAC;AAClE,MAAM,CAAC,MAAM,cAAc,GAAG,YAAqB,CAAC;AACpD,MAAM,CAAC,MAAM,QAAQ,GAAG,yCAAyC,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,sGAAsG;AACtG,gDAAgD;AAChD,OAAO,EACL,yBAAyB,EACzB,6BAA6B,EAC7B,+BAA+B,EAC/B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,gBAAgB,EAChB,6BAA6B,EAC7B,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAsBL,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EACnB,cAAc,GACf,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAEhB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAEL,8BAA8B,EAE9B,sBAAsB;AACtB,iGAAiG;AACjG,0BAA0B,EAC1B,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAGhB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,iBAAiB,EAEjB,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAML,oBAAoB,EACpB,iBAAiB,EAEjB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAEL,gBAAgB,EAOhB,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EAGzB,2BAA2B,EAC3B,gBAAgB,EAChB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAA6B,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAEtF,mGAAmG;AACnG,iCAAiC;AACjC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,GAMhB,MAAM,YAAY,CAAC;AAEpB,8FAA8F;AAC9F,8FAA8F;AAC9F,OAAO,EACL,+BAA+B,EAC/B,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,GAIzB,MAAM,sBAAsB,CAAC;AAE9B,gGAAgG;AAChG,+FAA+F;AAC/F,OAAO,EACL,oBAAoB,GAGrB,MAAM,uBAAuB,CAAC;AAE/B,gGAAgG;AAChG,OAAO,EACL,wBAAwB,EACxB,gBAAgB,GAGjB,MAAM,gBAAgB,CAAC;AAExB,8FAA8F;AAC9F,gGAAgG;AAChG,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,8BAA8B,EAC9B,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,EACjB,wBAAwB,EACxB,gCAAgC,EAChC,qBAAqB,EACrB,4BAA4B,EAC5B,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAU1B,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,yBAAyB,GAE1B,MAAM,cAAc,CAAC;AAEtB,8FAA8F;AAC9F,kGAAkG;AAClG,kFAAkF;AAClF,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,6BAA6B,EAC7B,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,GAYnB,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { CanonicalAgentId } from '@agenticprimitives/types';
|
|
2
|
+
import type { ContextRefV1, ConversationDescriptorV1, MessageEnvelopeV2, MessageId } from './types.js';
|
|
3
|
+
export interface OutboundMessageInput {
|
|
4
|
+
/** The sender — always the caller's own id; there is no way to author as someone else. */
|
|
5
|
+
from: CanonicalAgentId;
|
|
6
|
+
/** The single recipient. Two-party only, matching what the composer and the reply path support. */
|
|
7
|
+
to: CanonicalAgentId;
|
|
8
|
+
subject?: string;
|
|
9
|
+
bodyText: string;
|
|
10
|
+
/** Continue an existing thread. Omitted ⇒ a new conversation id is minted. */
|
|
11
|
+
conversationId?: string;
|
|
12
|
+
/** Thread title for the descriptor. Falls back to `subject`. */
|
|
13
|
+
title?: string;
|
|
14
|
+
contextRefs?: ContextRefV1[];
|
|
15
|
+
/** Set ONLY when this message answers another (spec 340 §R.4). */
|
|
16
|
+
inReplyTo?: MessageId;
|
|
17
|
+
/** Set when an AGENT authored this on the sender's behalf — the loop-prevention marker every
|
|
18
|
+
* assistant skips on (spec 328 §7). A person composing in the UI leaves it unset. */
|
|
19
|
+
actor?: CanonicalAgentId;
|
|
20
|
+
now?: string;
|
|
21
|
+
}
|
|
22
|
+
export type OutboundMessageResult = {
|
|
23
|
+
ok: true;
|
|
24
|
+
envelope: MessageEnvelopeV2;
|
|
25
|
+
/** The RECIPIENT's copy of the thread descriptor. The sender's own copy is the same object with
|
|
26
|
+
* `owner` set to the sender — each side owns its own view (`sendFromInbox`'s rule). */
|
|
27
|
+
descriptor: ConversationDescriptorV1;
|
|
28
|
+
/** The exact bytes `bodyHash` covers. Returned so no caller re-encodes and hopes it matches. */
|
|
29
|
+
bodyBytes: Uint8Array;
|
|
30
|
+
} | {
|
|
31
|
+
ok: false;
|
|
32
|
+
error: string;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Build one outbound message + its conversation descriptor.
|
|
36
|
+
*
|
|
37
|
+
* Fail-closed on everything the receiving side would reject anyway — an empty body, a self-addressed
|
|
38
|
+
* envelope the composer has no path for, an envelope or descriptor that fails validation. Refusing
|
|
39
|
+
* here names the cause; refusing at the recipient's gate surfaces as an opaque delivery failure.
|
|
40
|
+
*/
|
|
41
|
+
export declare function buildOutboundMessage(input: OutboundMessageInput): Promise<OutboundMessageResult>;
|
|
42
|
+
//# sourceMappingURL=outbound-message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbound-message.d.ts","sourceRoot":"","sources":["../../src/messaging/outbound-message.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAKjE,OAAO,KAAK,EAAE,YAAY,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvG,MAAM,WAAW,oBAAoB;IACnC,0FAA0F;IAC1F,IAAI,EAAE,gBAAgB,CAAC;IACvB,mGAAmG;IACnG,EAAE,EAAE,gBAAgB,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC;IAC7B,kEAAkE;IAClE,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;0FACsF;IACtF,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,qBAAqB,GAC7B;IACE,EAAE,EAAE,IAAI,CAAC;IACT,QAAQ,EAAE,iBAAiB,CAAC;IAC5B;4FACwF;IACxF,UAAU,EAAE,wBAAwB,CAAC;IACrC,gGAAgG;IAChG,SAAS,EAAE,UAAU,CAAC;CACvB,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAmDtG"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { generateConversationId, generateMessageId, validateMessageEnvelope } from './envelope.js';
|
|
2
|
+
import { validateConversationDescriptor } from './conversation.js';
|
|
3
|
+
import { sha256Hex32 } from './hash.js';
|
|
4
|
+
import { messageBodyResource } from './vault-store.js';
|
|
5
|
+
/**
|
|
6
|
+
* Build one outbound message + its conversation descriptor.
|
|
7
|
+
*
|
|
8
|
+
* Fail-closed on everything the receiving side would reject anyway — an empty body, a self-addressed
|
|
9
|
+
* envelope the composer has no path for, an envelope or descriptor that fails validation. Refusing
|
|
10
|
+
* here names the cause; refusing at the recipient's gate surfaces as an opaque delivery failure.
|
|
11
|
+
*/
|
|
12
|
+
export async function buildOutboundMessage(input) {
|
|
13
|
+
const bodyText = input.bodyText.trim();
|
|
14
|
+
if (!bodyText)
|
|
15
|
+
return { ok: false, error: 'bodyText required' };
|
|
16
|
+
const addrOf = (id) => (String(id).match(/0x[0-9a-fA-F]{40}$/)?.[0] ?? '').toLowerCase();
|
|
17
|
+
const me = addrOf(input.from);
|
|
18
|
+
const them = addrOf(input.to);
|
|
19
|
+
if (!me || !them)
|
|
20
|
+
return { ok: false, error: 'from and to must be EVM agents (CAIP-10)' };
|
|
21
|
+
const now = input.now ?? new Date().toISOString();
|
|
22
|
+
const messageId = generateMessageId();
|
|
23
|
+
const conversationId = (input.conversationId ?? generateConversationId());
|
|
24
|
+
const bodyBytes = new TextEncoder().encode(bodyText);
|
|
25
|
+
const envelope = {
|
|
26
|
+
version: 'ap.message.v2',
|
|
27
|
+
id: messageId,
|
|
28
|
+
conversationId,
|
|
29
|
+
performative: 'INFORM',
|
|
30
|
+
from: input.from,
|
|
31
|
+
to: [input.to],
|
|
32
|
+
...(input.subject ? { subject: input.subject } : {}),
|
|
33
|
+
createdAt: now,
|
|
34
|
+
classification: 'internal',
|
|
35
|
+
// The body lives at this resource in EACH owner's own vault — the sender resolves it in theirs,
|
|
36
|
+
// the recipient in theirs. One name, two residencies, no shared store (spec 317).
|
|
37
|
+
body: { resource: messageBodyResource(messageId), classification: 'internal', updatedAt: now },
|
|
38
|
+
bodyHash: await sha256Hex32(bodyBytes),
|
|
39
|
+
bodyContentType: 'text/plain',
|
|
40
|
+
...(input.inReplyTo ? { inReplyTo: input.inReplyTo } : {}),
|
|
41
|
+
...(input.contextRefs?.length ? { contextRefs: input.contextRefs } : {}),
|
|
42
|
+
...(input.actor ? { actor: input.actor } : {}),
|
|
43
|
+
};
|
|
44
|
+
const envelopeErrors = validateMessageEnvelope(envelope);
|
|
45
|
+
if (envelopeErrors.length > 0)
|
|
46
|
+
return { ok: false, error: `invalid envelope: ${envelopeErrors.join(', ')}` };
|
|
47
|
+
const descriptor = {
|
|
48
|
+
version: 'ap.conversation.v1',
|
|
49
|
+
id: conversationId,
|
|
50
|
+
// The RECIPIENT's view. The sender's copy is this with `owner: from` — stated at the call site
|
|
51
|
+
// rather than returned as a pair, because only the sender's execution point writes it.
|
|
52
|
+
owner: input.to,
|
|
53
|
+
...(input.title ?? input.subject ? { title: input.title ?? input.subject } : {}),
|
|
54
|
+
participants: [input.from, input.to],
|
|
55
|
+
...(input.contextRefs?.length ? { contextRefs: input.contextRefs } : {}),
|
|
56
|
+
participantPolicy: 'fixed',
|
|
57
|
+
createdAt: now,
|
|
58
|
+
};
|
|
59
|
+
const descriptorErrors = validateConversationDescriptor(descriptor);
|
|
60
|
+
if (descriptorErrors.length > 0)
|
|
61
|
+
return { ok: false, error: `invalid conversation: ${descriptorErrors.join(', ')}` };
|
|
62
|
+
return { ok: true, envelope, descriptor, bodyBytes };
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=outbound-message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbound-message.js","sourceRoot":"","sources":["../../src/messaging/outbound-message.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"}
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import type { CanonicalAgentId } from '@agenticprimitives/types';
|
|
2
2
|
import type { VaultClassification } from '@agenticprimitives/vault';
|
|
3
|
-
import type { ContextRefV1, FolderKind, InboxItemV1,
|
|
3
|
+
import type { ContextRefV1, FolderKind, InboxItemV1, MessageId, MessageKind, MessagePriority, AnyMessageEnvelope } from './types.js';
|
|
4
|
+
import { type Performative } from '../communicative-act.js';
|
|
4
5
|
/** AND across specified members; any-of within each list. Empty predicate matches all. */
|
|
5
6
|
export interface InboxRulePredicateV1 {
|
|
6
7
|
fromAnyOf?: CanonicalAgentId[];
|
|
8
|
+
/** V1 ONLY. A V2 envelope has no `kind`, and this deliberately does NOT derive one from the
|
|
9
|
+
* performative: `performativeForKind` is not injective, so the inverse would be a guess (ADR-0013).
|
|
10
|
+
* A V1 rule therefore stops matching V2 mail — visibly (the message lands in `inbox` instead of the
|
|
11
|
+
* rule's folder), never dangerously. Use `performativeAnyOf` for rules that must span both. */
|
|
7
12
|
kindAnyOf?: MessageKind[];
|
|
13
|
+
/** Spans both wire versions — V2 states the performative, V1 derives it. */
|
|
14
|
+
performativeAnyOf?: Performative[];
|
|
8
15
|
/** Case-insensitive substring match, any-of. */
|
|
9
16
|
subjectContainsAnyOf?: string[];
|
|
10
17
|
labelAnyOf?: string[];
|
|
@@ -67,7 +74,7 @@ export interface NotificationEventV1 {
|
|
|
67
74
|
export interface NotificationSink {
|
|
68
75
|
notify(event: NotificationEventV1): void | Promise<void>;
|
|
69
76
|
}
|
|
70
|
-
export declare function matchesRulePredicate(predicate: InboxRulePredicateV1, envelope:
|
|
77
|
+
export declare function matchesRulePredicate(predicate: InboxRulePredicateV1, envelope: AnyMessageEnvelope, item: InboxItemV1): boolean;
|
|
71
78
|
export interface RuleApplication {
|
|
72
79
|
item: InboxItemV1;
|
|
73
80
|
/** Empty when suppressed — a matching suppress-notification wins over notify. */
|
|
@@ -80,5 +87,5 @@ export interface RuleApplication {
|
|
|
80
87
|
* Rules run in (order, id) order; disabled rules skip; `except` vetoes `when`;
|
|
81
88
|
* `stopProcessing` halts later rules after the current one's actions apply.
|
|
82
89
|
*/
|
|
83
|
-
export declare function applyInboxRules(item: InboxItemV1, envelope:
|
|
90
|
+
export declare function applyInboxRules(item: InboxItemV1, envelope: AnyMessageEnvelope, rules: InboxRuleV1[]): RuleApplication;
|
|
84
91
|
//# sourceMappingURL=rules.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/messaging/rules.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,
|
|
1
|
+
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/messaging/rules.ts"],"names":[],"mappings":"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"}
|
package/dist/messaging/rules.js
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
// The action union is closed on purpose: a rule can never issue entitlements,
|
|
4
4
|
// grant delegation, release keys, or change custody — those verbs do not exist
|
|
5
5
|
// here and must never be added.
|
|
6
|
+
import { isEnvelopeV2 } from './types.js';
|
|
7
|
+
import { performativeOf } from '../communicative-act.js';
|
|
6
8
|
const PRIORITY_ORDER = ['low', 'normal', 'high', 'urgent'];
|
|
7
9
|
/** Shared context-match used by rules and `listByContext` — ONE mechanism (ADR-0013). */
|
|
8
10
|
export function matchesContextRef(refs, query) {
|
|
@@ -11,7 +13,12 @@ export function matchesContextRef(refs, query) {
|
|
|
11
13
|
export function matchesRulePredicate(predicate, envelope, item) {
|
|
12
14
|
if (predicate.fromAnyOf && !predicate.fromAnyOf.includes(envelope.from))
|
|
13
15
|
return false;
|
|
14
|
-
if (predicate.kindAnyOf
|
|
16
|
+
if (predicate.kindAnyOf) {
|
|
17
|
+
// No kind on a V2 envelope, and no inferred one either — the rule simply does not match.
|
|
18
|
+
if (isEnvelopeV2(envelope) || !predicate.kindAnyOf.includes(envelope.kind))
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
if (predicate.performativeAnyOf && !predicate.performativeAnyOf.includes(performativeOf(envelope)))
|
|
15
22
|
return false;
|
|
16
23
|
if (predicate.subjectContainsAnyOf) {
|
|
17
24
|
const subject = (envelope.subject ?? '').toLowerCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/messaging/rules.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,gCAAgC;AAchC,MAAM,cAAc,GAA+B,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/messaging/rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import type { FolderKind, InboxItemV1,
|
|
1
|
+
import type { FolderKind, InboxItemV1, AnyMessageEnvelope, MessageEventV1, MessageId } from './types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Pure projection step. Given the previous inbox row (or undefined for the
|
|
4
4
|
* first event) and the next lifecycle event, produce the new row.
|
|
5
5
|
* Throws on a messageId mismatch — events never apply across messages.
|
|
6
6
|
*/
|
|
7
|
-
export declare function applyMessageEvent(prev: InboxItemV1 | undefined, envelope:
|
|
7
|
+
export declare function applyMessageEvent(prev: InboxItemV1 | undefined, envelope: AnyMessageEnvelope, event: MessageEventV1): InboxItemV1;
|
|
8
8
|
export interface MessageStore {
|
|
9
9
|
/**
|
|
10
10
|
* Admit an envelope. Fail-closed: structurally invalid envelopes throw.
|
|
11
11
|
* Re-putting an identical envelope is idempotent; a DIFFERENT envelope under
|
|
12
12
|
* an existing id throws (blocks envelope substitution under a known id).
|
|
13
13
|
*/
|
|
14
|
-
putMessage(envelope:
|
|
15
|
-
getMessage(id: MessageId):
|
|
14
|
+
putMessage(envelope: AnyMessageEnvelope): void;
|
|
15
|
+
getMessage(id: MessageId): AnyMessageEnvelope | null;
|
|
16
16
|
/** Append a lifecycle event. Throws for unknown messages or id mismatch. */
|
|
17
17
|
appendEvent(event: MessageEventV1): InboxItemV1;
|
|
18
18
|
listEvents(id: MessageId): MessageEventV1[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/messaging/store.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/messaging/store.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EAEX,kBAAkB,EAClB,cAAc,EACd,SAAS,EACV,MAAM,YAAY,CAAC;AAmBpB;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,cAAc,GACpB,WAAW,CAqDb;AAED,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC/C,UAAU,CAAC,EAAE,EAAE,SAAS,GAAG,kBAAkB,GAAG,IAAI,CAAC;IACrD,4EAA4E;IAC5E,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,WAAW,CAAC;IAChD,UAAU,CAAC,EAAE,EAAE,SAAS,GAAG,cAAc,EAAE,CAAC;IAC5C,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC;IAChD,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,EAAE,CAAC;IAC9C,WAAW,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;CAC1C;AAED,wBAAgB,0BAA0B,IAAI,YAAY,CA4CzD"}
|
package/dist/messaging/store.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
// The projection is a pure reducer — replaying the same events always yields
|
|
5
5
|
// the same InboxItemV1. Rules / categories / delta cursors land in W2.
|
|
6
6
|
import { validateMessageEnvelope } from './envelope.js';
|
|
7
|
+
import { performativeOf } from '../communicative-act.js';
|
|
7
8
|
import { canonicalizeMessage } from './hash.js';
|
|
8
9
|
/** Where a message lands when first admitted, by perspective + kind. */
|
|
9
10
|
function initialFolder(envelope, event) {
|
|
@@ -13,8 +14,9 @@ function initialFolder(envelope, event) {
|
|
|
13
14
|
case 'sent':
|
|
14
15
|
return 'sent';
|
|
15
16
|
default:
|
|
16
|
-
// Typed requests queue for review instead of burying in mail (spec 309 §6).
|
|
17
|
-
|
|
17
|
+
// Typed requests queue for review instead of burying in mail (spec 309 §6). Reads the
|
|
18
|
+
// performative rather than `kind` so a V2 envelope routes identically (spec 340 W9).
|
|
19
|
+
return performativeOf(envelope) === 'REQUEST' ? 'pending' : 'inbox';
|
|
18
20
|
}
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
@@ -57,7 +59,7 @@ export function applyMessageEvent(prev, envelope, event) {
|
|
|
57
59
|
next.bodyPreview = undefined;
|
|
58
60
|
break;
|
|
59
61
|
case 'restored':
|
|
60
|
-
next.folder = envelope
|
|
62
|
+
next.folder = performativeOf(envelope) === 'REQUEST' ? 'pending' : 'inbox';
|
|
61
63
|
break;
|
|
62
64
|
case 'drafted':
|
|
63
65
|
next.folder = 'drafts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/messaging/store.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2EAA2E;AAC3E,EAAE;AACF,6EAA6E;AAC7E,uEAAuE;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/messaging/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,41 @@
|
|
|
1
1
|
import type { CanonicalAgentId, Hex32, SignatureProof } from '@agenticprimitives/types';
|
|
2
2
|
import type { VaultRef, VaultClassification } from '@agenticprimitives/vault';
|
|
3
|
+
import type { Performative } from '../communicative-act.js';
|
|
3
4
|
export type { Hex32, SignatureProof };
|
|
4
5
|
export type MessageId = `msg_${string}`;
|
|
5
6
|
export type ConversationId = `conv_${string}`;
|
|
6
7
|
export type ThreadId = `thr_${string}`;
|
|
7
8
|
export type FolderKind = 'inbox' | 'sent' | 'drafts' | 'archive' | 'trash' | 'pending' | 'custom';
|
|
8
9
|
export type MessagePriority = 'low' | 'normal' | 'high' | 'urgent';
|
|
10
|
+
/**
|
|
11
|
+
* `ap.message.v2` — the envelope without `kind` (spec 340 W9).
|
|
12
|
+
*
|
|
13
|
+
* WHY A NEW VERSION RATHER THAN AN EDIT. `kind` is inside the signed hash: `hashMessageEnvelope`
|
|
14
|
+
* excludes only `signature`. Dropping the field in place would change every digest and invalidate
|
|
15
|
+
* every existing signature and delivery receipt. So V1 stays exactly as it is, verifies exactly as it
|
|
16
|
+
* did, and V2 is a second shape that new senders emit. Nothing is re-signed and no history is rewritten.
|
|
17
|
+
*
|
|
18
|
+
* `version` is inside the hashed body, so V1 and V2 of otherwise-identical content already produce
|
|
19
|
+
* different digests — the versions are domain-separated for free, and `envelope-v2.test.ts` asserts it
|
|
20
|
+
* rather than assuming it.
|
|
21
|
+
*
|
|
22
|
+
* WHAT V2 CARRIES INSTEAD. `performative` — what the act DOES — natively, which is what `kind` was
|
|
23
|
+
* standing in for. It does NOT yet carry `actor`/`principal` natively; those stay body-adjacent. That
|
|
24
|
+
* was anticipated in `communicative-act.ts` and is a separate concern from removing a frozen taxonomy,
|
|
25
|
+
* so it is not smuggled into this bump.
|
|
26
|
+
*
|
|
27
|
+
* THE TRANSLATION IS ONE-WAY, and that matters. `performativeForKind` is not injective: `plain` and
|
|
28
|
+
* `response` both map to `INFORM`. So V1 → V2 is total, V2 → V1 is not, and any reader that keyed off
|
|
29
|
+
* `kind` must be rewritten in terms of what it actually meant rather than mapped back. See
|
|
30
|
+
* `isOriginalMessage` for the case where that surfaced a latent bug.
|
|
31
|
+
*/
|
|
32
|
+
export interface MessageEnvelopeV2 extends Omit<MessageEnvelopeV1, 'version' | 'kind'> {
|
|
33
|
+
version: 'ap.message.v2';
|
|
34
|
+
performative: Performative;
|
|
35
|
+
}
|
|
36
|
+
/** Either wire version. Readers take this; only the hash and the accessors care which it is. */
|
|
37
|
+
export type AnyMessageEnvelope = MessageEnvelopeV1 | MessageEnvelopeV2;
|
|
38
|
+
export declare function isEnvelopeV2(e: AnyMessageEnvelope): e is MessageEnvelopeV2;
|
|
9
39
|
export type MessageKind = 'plain' | 'request' | 'response' | 'credential-delivery' | 'receipt' | 'system' | 'tombstone';
|
|
10
40
|
/**
|
|
11
41
|
* Typed "about-ness" pointer (spec 312 §4.1): binds a message/conversation to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/messaging/types.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/messaging/types.ts"],"names":[],"mappings":"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"}
|
package/dist/messaging/types.js
CHANGED
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
// A message CARRIES a request / evidence / credential reference; a message is
|
|
4
4
|
// NEVER authority (spec 309 §4.2). Bodies live in the vault — the envelope and
|
|
5
5
|
// inbox state carry hashes + refs only (spec 309 §4.3).
|
|
6
|
+
export function isEnvelopeV2(e) {
|
|
7
|
+
return e.version === 'ap.message.v2';
|
|
8
|
+
}
|
|
6
9
|
/** contextRef kind pointing at a coordination Endeavor (spec 334 §9): messages
|
|
7
10
|
* ABOUT an Endeavor carry it; UIs render an endeavor chip deep-linking to the
|
|
8
11
|
* Endeavor detail. Ref id = `<managingPrincipalSA>/<endeavorId>` (same
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/messaging/types.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,wDAAwD;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/messaging/types.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,wDAAwD;AAgDxD,MAAM,UAAU,YAAY,CAAC,CAAqB;IAChD,OAAO,CAAC,CAAC,OAAO,KAAK,eAAe,CAAC;AACvC,CAAC;AA4BD;;;;;wEAKwE;AACxE,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAmB,CAAC;AAEzD,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAChC,iBAAyB,EACzB,UAAkB,EAClB,KAAc;IAEd,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,EAAE,EAAE,GAAG,iBAAiB,CAAC,WAAW,EAAE,IAAI,UAAU,EAAE;QACtD,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Vault, VaultClassification, VaultRef } from '@agenticprimitives/vault';
|
|
2
|
-
import type { MessageEnvelopeV1, MessageId, Hex32 } from './types.js';
|
|
2
|
+
import type { AnyMessageEnvelope, MessageEnvelopeV1, MessageId, Hex32 } from './types.js';
|
|
3
3
|
export declare const MESSAGE_BODY_RECORD_TYPE = "message.body";
|
|
4
4
|
export declare const MESSAGE_ATTACHMENT_RECORD_TYPE = "message.attachment";
|
|
5
5
|
/** 1-1 (DM) body resource — spec 322 W3 namespacing: `message.body:dm:<id>`. Changing THIS
|
|
@@ -64,7 +64,7 @@ export interface MessageBodyStore {
|
|
|
64
64
|
* Load the body an envelope references and verify it against `bodyHash`.
|
|
65
65
|
* Fail-closed: missing record or hash mismatch throws — never partial bytes.
|
|
66
66
|
*/
|
|
67
|
-
loadBody(envelope:
|
|
67
|
+
loadBody(envelope: AnyMessageEnvelope): Promise<Uint8Array>;
|
|
68
68
|
}
|
|
69
69
|
export declare function createVaultMessageBodyStore(vault: Vault, owner: string): MessageBodyStore;
|
|
70
70
|
//# sourceMappingURL=vault-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault-store.d.ts","sourceRoot":"","sources":["../../src/messaging/vault-store.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"vault-store.d.ts","sourceRoot":"","sources":["../../src/messaging/vault-store.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAG1F,eAAO,MAAM,wBAAwB,iBAAiB,CAAC;AACvD,eAAO,MAAM,8BAA8B,uBAAuB,CAAC;AAEnE;;;;iFAIiF;AACjF,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,CAEzD;AAED;yDACyD;AACzD,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,GAAG,MAAM,CAE/E;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9E;AAqBD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,UAAU,CAAC,EACpD,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,UAAU,CAAC,CAUrB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,UAAU,GAAG,MAAM,CAAC,CAAC,EAC7E,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAQxC;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAET;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,QAAQ,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;CACjB;AAED,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,OAAO,CAAC,IAAI,EAAE;QACZ,SAAS,EAAE,SAAS,CAAC;QACrB,KAAK,EAAE,UAAU,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,mBAAmB,CAAC;QACpC,gHAAgH;QAChH,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC7D;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CA4BzF"}
|
|
@@ -99,6 +99,14 @@ export function createVaultMessageBodyStore(vault, owner) {
|
|
|
99
99
|
};
|
|
100
100
|
},
|
|
101
101
|
async loadBody(envelope) {
|
|
102
|
+
// The resource is DERIVED from the message, not taken from it (audit DATA-22). `body.resource` is
|
|
103
|
+
// the sender's field on inbound mail; reading whatever it names would make this an existence /
|
|
104
|
+
// equality oracle over the owner's other records. A message's body lives at its DM resource or
|
|
105
|
+
// at its topic resource — an envelope naming anything else is refused before any read.
|
|
106
|
+
const allowed = [messageBodyResource(envelope.id), topicBodyResource(String(envelope.conversationId), envelope.id)];
|
|
107
|
+
if (!allowed.includes(envelope.body.resource)) {
|
|
108
|
+
throw new Error(`message body resource ${envelope.body.resource} is not this message's (${envelope.id})`);
|
|
109
|
+
}
|
|
102
110
|
const obj = await vault.read({ owner, resource: envelope.body.resource });
|
|
103
111
|
if (obj === null) {
|
|
104
112
|
throw new Error(`message body ${envelope.body.resource} not found in vault`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault-store.js","sourceRoot":"","sources":["../../src/messaging/vault-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vault-store.js","sourceRoot":"","sources":["../../src/messaging/vault-store.ts"],"names":[],"mappings":"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"}
|