@agenticprimitives/fabric 0.0.0-alpha.4 → 0.0.0-alpha.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/CLAUDE.md +28 -35
  2. package/README.md +18 -16
  3. package/dist/adoption.d.ts +79 -0
  4. package/dist/adoption.d.ts.map +1 -0
  5. package/dist/adoption.js +95 -0
  6. package/dist/adoption.js.map +1 -0
  7. package/dist/case-emissions.d.ts +95 -0
  8. package/dist/case-emissions.d.ts.map +1 -0
  9. package/dist/case-emissions.js +208 -0
  10. package/dist/case-emissions.js.map +1 -0
  11. package/dist/case-machine.d.ts +28 -2
  12. package/dist/case-machine.d.ts.map +1 -1
  13. package/dist/case-machine.js +34 -7
  14. package/dist/case-machine.js.map +1 -1
  15. package/dist/cloudflare/authority-verdict-cache.d.ts +28 -1
  16. package/dist/cloudflare/authority-verdict-cache.d.ts.map +1 -1
  17. package/dist/cloudflare/authority-verdict-cache.js +32 -1
  18. package/dist/cloudflare/authority-verdict-cache.js.map +1 -1
  19. package/dist/cloudflare/exchange-store.d.ts +20 -1
  20. package/dist/cloudflare/exchange-store.d.ts.map +1 -1
  21. package/dist/cloudflare/exchange-store.js +26 -4
  22. package/dist/cloudflare/exchange-store.js.map +1 -1
  23. package/dist/cloudflare/index.d.ts +7 -4
  24. package/dist/cloudflare/index.d.ts.map +1 -1
  25. package/dist/cloudflare/index.js +8 -2
  26. package/dist/cloudflare/index.js.map +1 -1
  27. package/dist/cloudflare/interaction-store.d.ts +81 -0
  28. package/dist/cloudflare/interaction-store.d.ts.map +1 -0
  29. package/dist/cloudflare/interaction-store.js +281 -0
  30. package/dist/cloudflare/interaction-store.js.map +1 -0
  31. package/dist/cloudflare/orchestration-runtime.d.ts +19 -5
  32. package/dist/cloudflare/orchestration-runtime.d.ts.map +1 -1
  33. package/dist/cloudflare/orchestration-runtime.js +11 -6
  34. package/dist/cloudflare/orchestration-runtime.js.map +1 -1
  35. package/dist/cloudflare/principal-gateway-do.d.ts +360 -30
  36. package/dist/cloudflare/principal-gateway-do.d.ts.map +1 -1
  37. package/dist/cloudflare/principal-gateway-do.js +580 -58
  38. package/dist/cloudflare/principal-gateway-do.js.map +1 -1
  39. package/dist/cloudflare/receipt-signer.d.ts.map +1 -1
  40. package/dist/cloudflare/receipt-signer.js +6 -3
  41. package/dist/cloudflare/receipt-signer.js.map +1 -1
  42. package/dist/cloudflare/sql-vault.d.ts.map +1 -1
  43. package/dist/cloudflare/sql-vault.js +56 -0
  44. package/dist/cloudflare/sql-vault.js.map +1 -1
  45. package/dist/cloudflare/vault-exchange-store.d.ts +47 -0
  46. package/dist/cloudflare/vault-exchange-store.d.ts.map +1 -0
  47. package/dist/cloudflare/vault-exchange-store.js +135 -0
  48. package/dist/cloudflare/vault-exchange-store.js.map +1 -0
  49. package/dist/cloudflare/vault-interaction-store.d.ts +44 -0
  50. package/dist/cloudflare/vault-interaction-store.d.ts.map +1 -0
  51. package/dist/cloudflare/vault-interaction-store.js +259 -0
  52. package/dist/cloudflare/vault-interaction-store.js.map +1 -0
  53. package/dist/communicative-act.d.ts +24 -1
  54. package/dist/communicative-act.d.ts.map +1 -1
  55. package/dist/communicative-act.js +28 -0
  56. package/dist/communicative-act.js.map +1 -1
  57. package/dist/delivery-envelope.d.ts.map +1 -1
  58. package/dist/delivery-envelope.js +0 -1
  59. package/dist/delivery-envelope.js.map +1 -1
  60. package/dist/email/index.d.ts +79 -0
  61. package/dist/email/index.d.ts.map +1 -0
  62. package/dist/email/index.js +91 -0
  63. package/dist/email/index.js.map +1 -0
  64. package/dist/enum-retirement.d.ts +43 -0
  65. package/dist/enum-retirement.d.ts.map +1 -0
  66. package/dist/enum-retirement.js +93 -0
  67. package/dist/enum-retirement.js.map +1 -0
  68. package/dist/exchange-record.d.ts +35 -4
  69. package/dist/exchange-record.d.ts.map +1 -1
  70. package/dist/exchange-record.js.map +1 -1
  71. package/dist/exchange-reducer.d.ts +32 -4
  72. package/dist/exchange-reducer.d.ts.map +1 -1
  73. package/dist/exchange-reducer.js +75 -1
  74. package/dist/exchange-reducer.js.map +1 -1
  75. package/dist/exchange-state.d.ts +30 -8
  76. package/dist/exchange-state.d.ts.map +1 -1
  77. package/dist/exchange-state.js +12 -10
  78. package/dist/exchange-state.js.map +1 -1
  79. package/dist/inbox-doc.d.ts +2 -2
  80. package/dist/inbox-doc.d.ts.map +1 -1
  81. package/dist/inbox-doc.js.map +1 -1
  82. package/dist/inbox-projection.d.ts +2 -2
  83. package/dist/inbox-projection.d.ts.map +1 -1
  84. package/dist/inbox-projection.js.map +1 -1
  85. package/dist/inbox-revision.d.ts +42 -0
  86. package/dist/inbox-revision.d.ts.map +1 -0
  87. package/dist/inbox-revision.js +57 -0
  88. package/dist/inbox-revision.js.map +1 -0
  89. package/dist/index.d.ts +26 -3
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +40 -2
  92. package/dist/index.js.map +1 -1
  93. package/dist/interaction-machines.d.ts +136 -0
  94. package/dist/interaction-machines.d.ts.map +1 -0
  95. package/dist/interaction-machines.js +174 -0
  96. package/dist/interaction-machines.js.map +1 -0
  97. package/dist/interaction-profile.d.ts +136 -0
  98. package/dist/interaction-profile.d.ts.map +1 -0
  99. package/dist/interaction-profile.js +212 -0
  100. package/dist/interaction-profile.js.map +1 -0
  101. package/dist/interaction-record.d.ts +168 -0
  102. package/dist/interaction-record.d.ts.map +1 -0
  103. package/dist/interaction-record.js +108 -0
  104. package/dist/interaction-record.js.map +1 -0
  105. package/dist/interactions/grant-scopes.d.ts +21 -0
  106. package/dist/interactions/grant-scopes.d.ts.map +1 -0
  107. package/dist/interactions/grant-scopes.js +88 -0
  108. package/dist/interactions/grant-scopes.js.map +1 -0
  109. package/dist/interactions/index.d.ts +1 -0
  110. package/dist/interactions/index.d.ts.map +1 -1
  111. package/dist/interactions/index.js +3 -0
  112. package/dist/interactions/index.js.map +1 -1
  113. package/dist/interactions/machine.d.ts +2 -2
  114. package/dist/interactions/machine.d.ts.map +1 -1
  115. package/dist/interactions/machine.js +2 -2
  116. package/dist/interactions/machine.js.map +1 -1
  117. package/dist/interactions/open-case.d.ts +60 -0
  118. package/dist/interactions/open-case.d.ts.map +1 -0
  119. package/dist/interactions/open-case.js +83 -0
  120. package/dist/interactions/open-case.js.map +1 -0
  121. package/dist/interactions/store.d.ts +9 -0
  122. package/dist/interactions/store.d.ts.map +1 -1
  123. package/dist/interactions/store.js +57 -2
  124. package/dist/interactions/store.js.map +1 -1
  125. package/dist/messaging/board.d.ts +4 -4
  126. package/dist/messaging/board.d.ts.map +1 -1
  127. package/dist/messaging/board.js +2 -2
  128. package/dist/messaging/board.js.map +1 -1
  129. package/dist/messaging/consult-routing.d.ts +103 -23
  130. package/dist/messaging/consult-routing.d.ts.map +1 -1
  131. package/dist/messaging/consult-routing.js +157 -47
  132. package/dist/messaging/consult-routing.js.map +1 -1
  133. package/dist/messaging/consult.d.ts +4 -0
  134. package/dist/messaging/consult.d.ts.map +1 -1
  135. package/dist/messaging/consult.js +3 -1
  136. package/dist/messaging/consult.js.map +1 -1
  137. package/dist/messaging/conversation-interaction.d.ts +66 -0
  138. package/dist/messaging/conversation-interaction.d.ts.map +1 -0
  139. package/dist/messaging/conversation-interaction.js +139 -0
  140. package/dist/messaging/conversation-interaction.js.map +1 -0
  141. package/dist/messaging/conversation.d.ts +69 -1
  142. package/dist/messaging/conversation.d.ts.map +1 -1
  143. package/dist/messaging/conversation.js +131 -0
  144. package/dist/messaging/conversation.js.map +1 -1
  145. package/dist/messaging/delivery.d.ts +2 -2
  146. package/dist/messaging/delivery.d.ts.map +1 -1
  147. package/dist/messaging/delivery.js +8 -1
  148. package/dist/messaging/delivery.js.map +1 -1
  149. package/dist/messaging/envelope.d.ts +7 -3
  150. package/dist/messaging/envelope.d.ts.map +1 -1
  151. package/dist/messaging/envelope.js +18 -1
  152. package/dist/messaging/envelope.js.map +1 -1
  153. package/dist/messaging/hash.d.ts +8 -2
  154. package/dist/messaging/hash.d.ts.map +1 -1
  155. package/dist/messaging/hash.js +6 -0
  156. package/dist/messaging/hash.js.map +1 -1
  157. package/dist/messaging/inbox-assistant.d.ts +16 -4
  158. package/dist/messaging/inbox-assistant.d.ts.map +1 -1
  159. package/dist/messaging/inbox-assistant.js +27 -4
  160. package/dist/messaging/inbox-assistant.js.map +1 -1
  161. package/dist/messaging/index.d.ts +7 -3
  162. package/dist/messaging/index.d.ts.map +1 -1
  163. package/dist/messaging/index.js +11 -2
  164. package/dist/messaging/index.js.map +1 -1
  165. package/dist/messaging/outbound-message.d.ts +42 -0
  166. package/dist/messaging/outbound-message.d.ts.map +1 -0
  167. package/dist/messaging/outbound-message.js +64 -0
  168. package/dist/messaging/outbound-message.js.map +1 -0
  169. package/dist/messaging/projector.d.ts +3 -3
  170. package/dist/messaging/projector.d.ts.map +1 -1
  171. package/dist/messaging/projector.js.map +1 -1
  172. package/dist/messaging/receipts.d.ts +3 -3
  173. package/dist/messaging/receipts.d.ts.map +1 -1
  174. package/dist/messaging/receipts.js.map +1 -1
  175. package/dist/messaging/rules.d.ts +10 -3
  176. package/dist/messaging/rules.d.ts.map +1 -1
  177. package/dist/messaging/rules.js +8 -1
  178. package/dist/messaging/rules.js.map +1 -1
  179. package/dist/messaging/store.d.ts +4 -4
  180. package/dist/messaging/store.d.ts.map +1 -1
  181. package/dist/messaging/store.js +5 -3
  182. package/dist/messaging/store.js.map +1 -1
  183. package/dist/messaging/types.d.ts +30 -0
  184. package/dist/messaging/types.d.ts.map +1 -1
  185. package/dist/messaging/types.js +3 -0
  186. package/dist/messaging/types.js.map +1 -1
  187. package/dist/messaging/vault-store.d.ts +2 -2
  188. package/dist/messaging/vault-store.d.ts.map +1 -1
  189. package/dist/messaging/vault-store.js +8 -0
  190. package/dist/messaging/vault-store.js.map +1 -1
  191. package/dist/protocol-binding.d.ts +71 -0
  192. package/dist/protocol-binding.d.ts.map +1 -0
  193. package/dist/protocol-binding.js +0 -0
  194. package/dist/protocol-binding.js.map +1 -0
  195. package/dist/record-catalog.d.ts.map +1 -1
  196. package/dist/record-catalog.js +12 -0
  197. package/dist/record-catalog.js.map +1 -1
  198. package/package.json +28 -15
@@ -2,10 +2,16 @@ import type { Vault, DekWrapper } from '@agenticprimitives/vault';
2
2
  import type { CanonicalAgentId } from '@agenticprimitives/types';
3
3
  import type { AuthorityTier } from '@agenticprimitives/tool-policy';
4
4
  import type { ExchangeRecordV1, ExchangeEventV1, ExchangeId } from '../exchange-record.js';
5
+ import { type InteractionState } from '../interaction-machines.js';
5
6
  import { type DeliveryEnvelopeV1 } from '../delivery-envelope.js';
6
7
  import { type OutboxEntry } from './outbox-store.js';
8
+ import { type ExchangeStore } from './exchange-store.js';
9
+ import { type InteractionStore } from './interaction-store.js';
10
+ import type { CommitmentRecordV1 } from '../interaction-machines.js';
11
+ import type { InteractionRecordV1, InteractionId, ProfileVersion, ParticipationV1 } from '../interaction-record.js';
12
+ import type { ProtocolBindingV1 } from '../protocol-binding.js';
7
13
  import { type AuthorityVerdictCache, type AuthorityVerdict, type AuthorityVerdictKey } from './authority-verdict-cache.js';
8
- import { type DeliveryReceiptInput, type SignedDeliveryReceiptV1 } from './receipt-signer.js';
14
+ import { type SignedDeliveryReceiptV1 } from './receipt-signer.js';
9
15
  import type { GatewayToolRegistry } from './gateway-tools.js';
10
16
  import type { Intent, Planner, RunResult } from '@agenticprimitives/orchestration';
11
17
  import { type ProvenanceRecordV1 } from '@agenticprimitives/provenance';
@@ -14,6 +20,10 @@ import { type ChannelV1, type ConversationRoleProjection } from './channel-store
14
20
  export interface PrincipalGatewayEnv {
15
21
  /** The chain id the gateway verifies authority against (for the T1 verdict + delivery). */
16
22
  CHAIN_ID?: string;
23
+ /** The CAIP-10 of the principal THIS gateway belongs to. Optional so every existing deployment keeps
24
+ * working, but required by `openInteraction`: an interaction is custodied by the gateway holding it,
25
+ * and a gateway that cannot name itself cannot be a custodian. Fails closed rather than defaulting. */
26
+ PRINCIPAL_SA?: string;
17
27
  }
18
28
  /**
19
29
  * Injected co-resident-MCP dependencies. INJECTED (not built in the fabric core) because they need
@@ -22,6 +32,17 @@ export interface PrincipalGatewayEnv {
22
32
  * tests pass fakes. Absent ⇒ the storage/guard methods still work, but the co-resident-MCP methods throw.
23
33
  */
24
34
  export interface GatewayDeps {
35
+ /**
36
+ * WHO IS CALLING (spec 445 §3.4, audit DATA-3). The embedding Worker has admitted the request
37
+ * (application authentication → canonical resolution → Admission, ADR-0057); this port hands that
38
+ * verdict to the gateway. It is the ONLY source of `principal`, `tier` and `actor` on every ingress —
39
+ * `fetch` and the RPC-style methods alike — and it is REQUIRED for them: with no authenticator
40
+ * configured every ingress is refused. `null` ⇒ not admitted.
41
+ *
42
+ * A Durable Object is reachable only through its Worker, and this class does not rely on that: a
43
+ * fronting Worker that forwards without its own gate, or any code holding the binding, gets nothing.
44
+ */
45
+ authenticate?: GatewayAuthenticator;
25
46
  /** Cold-path: FULL token verification → the args-independent verdict (A), or `null` if invalid. The app
26
47
  * wires `delegation.verifyDelegationToken` with its chainId / DelegationManager / RPC here. */
27
48
  verifyToken(token: string): Promise<AuthorityVerdict | null>;
@@ -32,25 +53,147 @@ export interface GatewayDeps {
32
53
  /** The injected planner for the T2 orchestration loop (§15) — the LLM adapter in prod, the rule-based
33
54
  * planner in tests. Absent ⇒ `orchestrate()` throws (T2 unavailable), but T0/T1 still work. */
34
55
  planner?: Planner;
56
+ /**
57
+ * THE THREE STORAGE SEAMS (ADR-0055 amendment). Omit them and this DO constructs its own DO-SQL
58
+ * stores, which is right for tests and for a self-hosted single-tenant gateway. A deployment whose
59
+ * records already live in an owner's vault MUST inject instead — because otherwise adopting this DO
60
+ * moves person data out of the vault as a SIDE EFFECT of a runtime change, decided by a constructor
61
+ * rather than by anyone.
62
+ *
63
+ * `vault` is the one that carries durable private records, so it is the one that matters most.
64
+ * `exchangeStore` / `interactionStore` may stay DO-local ONLY as ordering + index over exchanges
65
+ * whose records live in the vault — and only if they are genuinely rebuildable from it: the durable
66
+ * fact written to the vault first, an explicit rebuild in code, and a test that wipes the DO and
67
+ * rebuilds. An untested rebuild path is indistinguishable from an absent one, which is how a
68
+ * projection silently becomes the only copy.
69
+ */
70
+ vault?(wrapper: DekWrapper): Vault;
71
+ exchangeStore?: ExchangeStore;
72
+ interactionStore?: InteractionStore;
35
73
  /** Token-gated channel join (spec 318 C3): verify a `member`'s `credential` satisfies a channel's
36
74
  * `joinGate` requirement. Injected (the `entitlements`/`verifiable-credentials` resolver in prod, a fake in
37
75
  * tests) — the fabric core stays credential-mechanism-free. Absent ⇒ a gated channel cannot be joined. */
38
76
  verifyEntitlement?: (requirement: string, credential: unknown, member: string) => Promise<boolean>;
39
77
  }
78
+ /** What the embedding Worker's admission established about one request. */
79
+ export interface GatewayCallerIdentity {
80
+ /** The principal the request is FOR — this gateway's own (refused otherwise when `PRINCIPAL_SA` is set). */
81
+ principal: CanonicalAgentId;
82
+ /** The lane, server-classified at admission (`ExchangeRecordV1.tier` is never client-asserted). */
83
+ tier: AuthorityTier;
84
+ /** The agent PRESENTING the request: the sender of a delivery, the poster, the party moving a case. */
85
+ actor: CanonicalAgentId;
86
+ }
87
+ /** The authenticator port: an admitted request's identity, or `null`. Supplied by the embedding Worker. */
88
+ export type GatewayAuthenticator = (request: Request) => Promise<GatewayCallerIdentity | null>;
89
+ declare const authenticatedCallerBrand: unique symbol;
90
+ /**
91
+ * A caller identity MINTED by `PrincipalGatewayDO.admitCaller` from the authenticator's result. The
92
+ * RPC-style methods take this, never loose `principal`/`tier`/`actor` fields: an object literal of the
93
+ * same shape was not minted and is refused. In-process only — it does not survive serialization, so a
94
+ * caller on the far side of a stub goes through `fetch`, which authenticates each request itself.
95
+ */
96
+ export type AuthenticatedCaller = Readonly<GatewayCallerIdentity> & {
97
+ readonly [authenticatedCallerBrand]: true;
98
+ };
99
+ export type GatewayAuthReason = 'authenticator_not_configured' | 'unauthenticated'
100
+ /** The authenticated principal is not this gateway's. */
101
+ | 'principal_mismatch';
102
+ /** An ingress was refused before anything was read or written (spec 445 §3.4, DATA-3). */
103
+ export declare class GatewayAuthError extends Error {
104
+ readonly reason: GatewayAuthReason;
105
+ constructor(reason: GatewayAuthReason);
106
+ }
107
+ /** `openInteraction` was asked to open an interaction that already exists as something else — a
108
+ * different shape, or one that has ended (spec 445 §3.4, DATB-2). Nothing was written. */
109
+ export declare class InteractionExistsError extends Error {
110
+ readonly interactionId: string;
111
+ readonly state: InteractionState;
112
+ readonly reason: "interaction-exists";
113
+ constructor(interactionId: string, state: InteractionState);
114
+ }
115
+ export type GatewayOrchestrationResult = {
116
+ ok: true;
117
+ principal: string;
118
+ result: RunResult;
119
+ } | {
120
+ ok: false;
121
+ reason: 'verdict_miss_cold_path_required'
122
+ /** The verdict's principal is not this gateway's (or not the one the caller named). */
123
+ | 'principal_mismatch'
124
+ /** `requestId` given without `now`, or the reverse. */
125
+ | 'request_id_incomplete' | 'replay';
126
+ };
127
+ /** What ingress observed about an exchange's place in a governed situation (spec 340 W7). */
128
+ export type DeliveryNote =
129
+ /** No `interactionId`: this is a message, not part of a governed situation. The common case. */
130
+ {
131
+ kind: 'unpinned-exchange';
132
+ }
133
+ /** Pinned an older profile version than the interaction now runs. Legal — and the signal that
134
+ * survives a downgrade, which is why it is reported rather than refused. */
135
+ | {
136
+ kind: 'profile-downgrade';
137
+ pinned: string;
138
+ inForce: string;
139
+ }
140
+ /** The pinned ContextSnapshot is not on this gateway — normal for an inbound delivery, where it
141
+ * lives on the sender's. Recorded so nobody reads the exchange as replayable here. */
142
+ | {
143
+ kind: 'context-unavailable';
144
+ digest: string;
145
+ };
146
+ export type DeliveryOutcome = {
147
+ ok: true;
148
+ interactionId?: InteractionId;
149
+ notes: readonly DeliveryNote[];
150
+ } | {
151
+ ok: false;
152
+ reason:
153
+ /** No minted caller was presented (spec 445 §3.4, DATA-3). */
154
+ 'unauthenticated'
155
+ /** The record names a `principal` other than the authenticated one. */
156
+ | 'principal-mismatch'
157
+ /** The record's `parties.from` (or an event's `actor`) is not the authenticated actor. */
158
+ | 'actor-mismatch' | 'unknown-interaction'
159
+ /** The interaction is suspended, concluded, abandoned or still forming (DATB-2). `state` says which. */
160
+ | 'interaction-not-active' | 'not-a-participant'
161
+ /** An unpinned exchange whose envelope sender is not its `from`, or which does not name this
162
+ * gateway's principal as a party (spec 445 §3.4). */
163
+ | 'not-a-party'
164
+ /** Something is already held under this exchange id and the offer is not the same one
165
+ * (spec 445 §3.4). Nothing was written. */
166
+ | 'exchange-exists';
167
+ state?: InteractionState;
168
+ };
40
169
  export declare class PrincipalGatewayDO {
41
170
  private readonly state;
42
171
  private readonly env;
43
172
  private readonly deps?;
44
173
  private readonly sql;
45
174
  private readonly exchanges;
175
+ private readonly interactionStore;
46
176
  private readonly verdicts;
47
177
  private readonly requestIds;
48
178
  private readonly receipts;
49
179
  private readonly outbox;
50
180
  private readonly provenance;
51
181
  private readonly channels;
52
- constructor(state: DurableObjectState, env: PrincipalGatewayEnv, deps?: GatewayDeps | undefined);
53
- /** Create/rename a channel owned by this org gateway. */
182
+ /** The callers `admitCaller` minted. Membership IS the proof of minting — nothing else is. */
183
+ private readonly minted;
184
+ constructor(state: DurableObjectState, env: PrincipalGatewayEnv, deps?: Partial<GatewayDeps> | undefined);
185
+ /**
186
+ * Create/rename a channel owned by this org gateway, and open the Interaction it IS (spec 340 W11).
187
+ *
188
+ * A topic was already a governed situation in everything but name: the org owns the board, members
189
+ * join and leave, `facilitator`/`contributor` are its roles, and it opens and closes. Opening the
190
+ * Interaction alongside it names that rather than adding a parallel object — the id is DERIVED
191
+ * (`ixn_topic_<channelId>`), so the two cannot drift and no join table exists to go stale.
192
+ *
193
+ * `participationMode: 'derived'`. Membership belongs to the channel (and, for an open topic, to the
194
+ * organization behind it), so the Interaction stores NO member list. Copying one per topic is what
195
+ * `apmsg:openParticipation` forbids, and a stale copy is how a removed member keeps posting.
196
+ */
54
197
  createChannel(channel: ChannelV1): Promise<void>;
55
198
  /**
56
199
  * Add a member with a role (spec 318 C2 — the role IS the projection of an org-SA delegation caveat).
@@ -58,7 +201,7 @@ export declare class PrincipalGatewayDO {
58
201
  * satisfies it via the injected `verifyEntitlement` (fail-closed — no credential / no verifier / invalid ⇒
59
202
  * rejected). An ungated channel joins openly.
60
203
  */
61
- joinChannel(channelId: string, member: string, opts?: {
204
+ joinChannel(channelId: string, member: string, caller: AuthenticatedCaller, opts?: {
62
205
  credential?: unknown;
63
206
  }): Promise<{
64
207
  ok: true;
@@ -67,7 +210,12 @@ export declare class PrincipalGatewayDO {
67
210
  reason: string;
68
211
  }>;
69
212
  /** Remove a member — **kick = the org revokes** its role delegation (C2). */
70
- leaveChannel(channelId: string, member: string): Promise<void>;
213
+ leaveChannel(channelId: string, member: string, caller: AuthenticatedCaller): Promise<{
214
+ ok: true;
215
+ } | {
216
+ ok: false;
217
+ reason: string;
218
+ }>;
71
219
  channelMembers(channelId: string): Promise<string[]>;
72
220
  /** An agent's cached conversation-role projection, or `null` if none is projected (spec 324 §8). */
73
221
  channelRoleProjection(channelId: string, agent: string): Promise<ConversationRoleProjection | null>;
@@ -75,37 +223,41 @@ export declare class PrincipalGatewayDO {
75
223
  * materialized (RoleAssignment + delegation). Ungated — the principal is authoritative over its own
76
224
  * conversations (this is the bootstrap + primary path). The `by`-gated variant is for delegated managers. */
77
225
  projectConversationRole(channelId: string, projection: ConversationRoleProjection): Promise<void>;
78
- /** MANAGE-gated (spec 324 §8): project a member's conversation role. `by` must hold a cached projection
226
+ /** MANAGE-gated (spec 324 §8): project a member's conversation role. The AUTHENTICATED actor (never a
227
+ * caller-named `by`, DATA-3) must hold a cached projection
79
228
  * authorizing `manage`. This CACHES an org-issued RoleAssignment + its materializing delegation — it does
80
229
  * not itself grant authority (ADR-0048 #4); the org issues the delegation, then the projection mirrors it. */
81
- putConversationRoleProjection(channelId: string, projection: ConversationRoleProjection, by: string, at?: string): Promise<{
230
+ putConversationRoleProjection(channelId: string, projection: ConversationRoleProjection, caller: AuthenticatedCaller, at?: string): Promise<{
82
231
  ok: true;
83
232
  } | {
84
233
  ok: false;
85
234
  reason: string;
86
235
  }>;
87
236
  /** MANAGE-gated: clear a member's conversation-role projection (the org revoked the underlying delegation). */
88
- clearConversationRoleProjection(channelId: string, member: string, by: string, at?: string): Promise<{
237
+ clearConversationRoleProjection(channelId: string, member: string, caller: AuthenticatedCaller, at?: string): Promise<{
89
238
  ok: true;
90
239
  } | {
91
240
  ok: false;
92
241
  reason: string;
93
242
  }>;
94
- /** MODERATE-gated (spec 324 §8): remove a post from the channel board. `by` must hold a cached projection
243
+ /** MODERATE-gated (spec 324 §8): remove a post from the channel board. The AUTHENTICATED actor must hold a cached projection
95
244
  * authorizing `moderate`. The exchange itself is NOT deleted (immutable stream + provenance); only its
96
245
  * channel index entry is removed. */
97
- removeChannelPost(channelId: string, exchangeId: string, by: string, at?: string): Promise<{
246
+ removeChannelPost(channelId: string, exchangeId: string, caller: AuthenticatedCaller, at?: string): Promise<{
98
247
  ok: true;
99
248
  } | {
100
249
  ok: false;
101
250
  reason: string;
102
251
  }>;
103
252
  /**
104
- * Post to a channel — MEMBER-GATED, fail-closed: only a current member (`record.parties.from`) may post.
253
+ * Post to a channel — MEMBER-GATED, fail-closed: only a current member may post, and the poster is the
254
+ * AUTHENTICATED actor: `record.parties.from` must be `caller.actor` (DATA-3), so membership is asked
255
+ * about who is actually posting, never about a name in the record. A topic whose interaction is not
256
+ * `active` takes no posts (`interaction-not-active`, DATB-2).
105
257
  * The post is persisted on the org's exchange stream via `deliver()` (so it accretes a provenance trace like
106
258
  * any exchange) and indexed into the channel. Fan-out to members is the org re-delivering (§4 / Blocker 6).
107
259
  */
108
- postToChannel(channelId: string, record: ExchangeRecordV1): Promise<{
260
+ postToChannel(channelId: string, record: ExchangeRecordV1, caller: AuthenticatedCaller): Promise<{
109
261
  ok: true;
110
262
  } | {
111
263
  ok: false;
@@ -126,18 +278,34 @@ export declare class PrincipalGatewayDO {
126
278
  getProvenance(exchangeId: ExchangeId | string): Promise<ProvenanceRecordV1 | null>;
127
279
  /** The DO-local delivery-receipt attestation pubkey — publish it so senders can verify receipts. */
128
280
  receiptPubkey(): Promise<string>;
129
- /** Sign a `DeliveryReceiptV1` with the DO-local key — the delivery-proof-under-authority-at-T the sender
130
- * gets, decoupled from body storage (spec 316 §3a receipt / Blocker 4). Verify with `verifyDeliveryReceipt`. */
131
- signDeliveryReceipt(input: DeliveryReceiptInput): Promise<SignedDeliveryReceiptV1>;
281
+ /** Sign a `DeliveryReceiptV1` with the DO-local key. PRIVATE: a receipt attests to a delivery this
282
+ * gateway RECORDED, so the only callers are the two delivery paths, after the `delivered` fact is in
283
+ * the stream. A public signer would be a receipt oracle for any fields a caller cared to name. Verify
284
+ * with `verifyDeliveryReceipt`. */
285
+ private signDeliveryReceipt;
132
286
  /**
133
287
  * RECIPIENT-side peer delivery (spec 316 §4 / W4). Transport-admits an inbound `DeliveryEnvelopeV1` (routing
134
288
  * + addressing + structural), then persists the exchange, records the `delivered` fact, and returns a
135
289
  * DO-signed `DeliveryReceiptV1`. Sender AUTHORITY (envelope signature) is re-verified separately by the gateway
136
- * (ADR-0041) — admission here is transport-level only. `recipient` is this gateway's principal.
290
+ * (ADR-0041) — admission here is transport-level only.
291
+ *
292
+ * `recipient` and `tier` are the AUTHENTICATED caller's `principal` and `tier`, and the envelope's `from`
293
+ * must be its `actor` (spec 445 §3.4, DATA-3): who a delivery is for, which lane it rides and who
294
+ * sent it are admission's findings, never fields of the call.
295
+ *
296
+ * A DELIVERY NEVER OVERWRITES (spec 445 §3.4, audit H-10 / DATA-1). The exchange id comes from the
297
+ * peer and is known to every counterparty, so it identifies nothing about who is sending. If a record
298
+ * is already held under it, exactly two things can be true:
299
+ *
300
+ * · the offered envelope IS the stored one (`isSameSignedEnvelope` — full canonical bytes, signature
301
+ * included) → an idempotent redelivery. Nothing is rewritten and no second `delivered` event is
302
+ * appended; the receipt returned is for the ORIGINAL delivery. Receipts are not stored, so it is
303
+ * re-signed over the original `delivered` event's time — same exchange, message, recipient and
304
+ * `at`, hence the same attested fact, never a fresh claim that it arrived again now.
305
+ * · anything else → refused `exchange-exists`, and NO receipt is signed: a receipt for a delivery
306
+ * we did not store would attest to something false.
137
307
  */
138
- receiveDelivery(delivery: DeliveryEnvelopeV1, opts: {
139
- recipient: CanonicalAgentId;
140
- tier: AuthorityTier;
308
+ receiveDelivery(delivery: DeliveryEnvelopeV1, caller: AuthenticatedCaller, opts: {
141
309
  at: string;
142
310
  }): Promise<{
143
311
  ok: true;
@@ -146,20 +314,48 @@ export declare class PrincipalGatewayDO {
146
314
  ok: false;
147
315
  reason: string;
148
316
  }>;
317
+ /**
318
+ * The receipt for a redelivery of an envelope this gateway already holds (spec 445 §3.4).
319
+ *
320
+ * The time attested is the ORIGINAL `delivered` event's. One case needs a write: a first attempt that
321
+ * stored the record and stopped before recording `delivered`. The redelivery then completes that
322
+ * delivery — one event, through the reducer — rather than signing for a fact the stream does not hold.
323
+ */
324
+ private redeliveryReceipt;
149
325
  /**
150
326
  * T2 orchestrated lane (spec 316 §15) — a `request`/agent-task INTENT is fulfilled by the Ring-0
151
327
  * orchestration loop running IN this gateway, with the co-resident MCP tools as the loop's ToolInvoker
152
- * (in-process over the DO-local vault, under the verified `principal`). Only the LLM `planner` is injected;
153
- * the loop, the tools, and the vault are the gateway's own. Returns the orchestration `RunResult`. (Absorbing
154
- * `A2aTaskDO` + driving this from `alarm()` via a durable task queue is the remaining async-scheduling wrap.)
328
+ * (in-process over the DO-local vault). Only the LLM `planner` is injected; the loop, the tools, and the
329
+ * vault are the gateway's own. (Absorbing `A2aTaskDO` + driving this from `alarm()` via a durable task
330
+ * queue is the remaining async-scheduling wrap.)
331
+ *
332
+ * THE SAME §3a GATE AS `invokeFast`, PER STEP (spec 445 §3.4, audit DATA-4). A T2 intent is by design
333
+ * a peer's request and its text reaches the planner, so nothing here trusts the plan:
334
+ *
335
+ * (A) the cached args-independent verdict for `key` — a miss runs NOTHING (cold path first). The
336
+ * principal the tools run as, and whose KEK is resolved, is the VERDICT's. It must be this
337
+ * gateway's principal when the deployment names one, and the one the caller says it expects
338
+ * (`principal`) when it says: a verdict for A never reaches B's records.
339
+ * (B) `runCaveatPass(verdict, tool, args)` for EVERY planned step against the concrete tool and
340
+ * arguments — never cached; a denied step throws inside the loop and its tool does not run.
341
+ * (C) a single-use `requestId` (+ `now`) for the run. A WRITE tool does not run without one — it is
342
+ * not even offered to the planner — and a replayed id is refused before anything runs, so a
343
+ * retried intent is not applied twice. The id is released only when no step ran (a legitimate
344
+ * retry); once any tool ran it stays consumed, whatever the outcome.
155
345
  */
156
346
  orchestrate(input: {
157
347
  intent: Intent;
158
- principal: string;
348
+ key: AuthorityVerdictKey;
349
+ runCaveatPass: (verdict: AuthorityVerdict, tool: string, args: Record<string, unknown>) => Promise<boolean>;
350
+ /** Required for any write; with it, `now` is required too. */
351
+ requestId?: string;
352
+ now?: string;
353
+ /** Optional cross-check: refuse unless the verdict is for this principal. Never the source of it. */
354
+ principal?: string;
159
355
  maxSteps?: number;
160
356
  exchangeId?: string;
161
357
  at?: string;
162
- }): Promise<RunResult>;
358
+ }): Promise<GatewayOrchestrationResult>;
163
359
  /** SENDER-side store-and-forward (spec 316 §4): queue a peer delivery that could not be handed to the
164
360
  * recipient gateway now; `alarm()` retries with backoff until delivered (offline-first, §11a). */
165
361
  enqueueOutbound(delivery: DeliveryEnvelopeV1, opts: {
@@ -179,13 +375,139 @@ export declare class PrincipalGatewayDO {
179
375
  /**
180
376
  * T0 communication lane — persist a delivered exchange (sender-proof-only; no case, no RPC — §3). The
181
377
  * record is built upstream (envelope validated + `bodyHash`-verified at ingress); the DO is the durable
182
- * single writer. Idempotent by `exchangeId` (put overwrites the same id; a genuine redelivery is caught by
183
- * the message event's `idempotencyKey` at the reducer). Receipt signing (`DeliveryReceiptV1`, DO-local
184
- * software key) is a W2 follow-step.
378
+ * single writer.
379
+ *
380
+ * AUTHENTICATED (spec 445 §3.4, audit DATA-3): `caller` is minted by `admitCaller`; the record's
381
+ * `principal` must be the caller's, its `parties.from` the caller's `actor`, and its `tier` is the
382
+ * caller's whatever the record says.
383
+ *
384
+ * INSERT-ONLY (spec 445 §3.4, audit H-10 / DATA-1). Every way into this method carries an exchange id
385
+ * somebody else chose — a peer's delivery, a member's channel post, a `/deliver` body — so it never
386
+ * overwrites: the store's `insert` either writes a new record or returns the one already held. An
387
+ * offer that is canonically identical to the held record is a retry and succeeds without writing;
388
+ * anything else under a held id is refused `exchange-exists`. (An exchange that has since accrued
389
+ * events no longer equals its seed, so a late retry of the seed is refused — `receiveDelivery`
390
+ * decides redelivery by the signed envelope instead, which is the identity that survives.) Changing a
391
+ * held exchange is the reducer's job (`applyEvent`), never a second delivery's.
392
+ */
393
+ deliver(record: ExchangeRecordV1, caller: AuthenticatedCaller): Promise<DeliveryOutcome>;
394
+ /** The store half of `deliver`, after the caller has been established. */
395
+ private ingest;
396
+ /**
397
+ * The interaction-aware half of ingress (spec 340 W7).
398
+ *
399
+ * THREE OUTCOMES, and which is which is the whole design:
400
+ *
401
+ * 1. NO `interactionId` → delivered, with an `unpinned-exchange` note. An Exchange without an
402
+ * Interaction is a MESSAGE (ADR-0058 §12) — a legitimate state, and the overwhelmingly common
403
+ * one. Auto-creating an interaction per message would make "a thread is a projection, not a
404
+ * container" false by turning every message into a container.
405
+ *
406
+ * Not unconditionally, though (spec 445 §3.4): with no interaction there is no membership to ask,
407
+ * so the record must at least be true about its own parties — `admitUnpinned`. Like outcome 3
408
+ * this is the record's shape, never authority.
409
+ *
410
+ * 2. UNKNOWN `interactionId` → REFUSED. Interactions are opened by their custodian
411
+ * (`openInteraction`), never conjured by a sender. If ingress created one from a sender-supplied
412
+ * id, any peer could seed arbitrary interactions with arbitrary participations on someone else's
413
+ * gateway, then post into them — inventing a governed situation the owner never entered.
414
+ *
415
+ * 3. KNOWN `interactionId` → the interaction must be `active` (DATB-2), and the sender must be a
416
+ * current participant. An exchange claiming to occur
417
+ * in an interaction whose membership does not include its sender is a record that misrepresents
418
+ * the situation. This is an integrity check on the record's shape, NOT authority: being a
419
+ * participant is not permission to do anything (ADR-0048 §4).
420
+ *
421
+ * Two conditions are NOTED rather than refused, because refusing them would lose true records:
422
+ * · a profile-version mismatch — a mid-flight profile bump is legal, and the per-exchange pin is
423
+ * the signal that survives, so this reports (spec 340 §6);
424
+ * · a pinned context digest we do not hold — normal for an INBOUND delivery, where the snapshot
425
+ * lives on the sender's gateway. Dropping the message would be fail-closed in the wrong place;
426
+ * the digest stays pinned and resolvable later. What we must not do is pretend it is replayable.
427
+ */
428
+ private admitIntoInteraction;
429
+ /**
430
+ * An exchange with no interaction is admitted only if its sender is a party of the record it
431
+ * delivers (spec 445 §3.4, audit H-10 / DATA-1). Two checks, both fail-closed:
432
+ *
433
+ * · the delivered envelope's `from` IS the record's `parties.from` — a record cannot attribute
434
+ * somebody's envelope to somebody else;
435
+ * · this gateway's principal is a party (`from`, or in `to`/`cc`) — a gateway stores its own
436
+ * principal's exchanges, as sender or as recipient, and nobody else's.
437
+ *
438
+ * The principal is `PRINCIPAL_SA` when the deployment names it, else the record's own `principal`
439
+ * (a gateway that cannot name itself can only check the record against itself).
440
+ */
441
+ private admitUnpinned;
442
+ /**
443
+ * Membership for a `derived` interaction.
444
+ *
445
+ * Topic interactions carry `ixn_topic_<channelId>`, so the channel is recoverable from the id and the
446
+ * answer comes from the channel store — the same member-or-bot test `postToChannel` already applies.
447
+ * That is the point of doing this: the gate stops being a second check that could drift from the
448
+ * first, and becomes the same check asked once.
449
+ *
450
+ * Fail-closed by construction: an id that names no known derivation source resolves to `false`, so a
451
+ * `derived` interaction with no resolver admits nobody rather than everybody.
452
+ */
453
+ private resolveDerivedParticipation;
454
+ /**
455
+ * Open a governed situation on this gateway. The custodian is always THIS principal — an interaction
456
+ * is custodied by the gateway that holds it, and accepting a caller-supplied principal would let a
457
+ * peer name someone else as custodian of a situation on our storage.
458
+ *
459
+ * CREATE-ONLY (spec 445 §3.4, audit DATB-2). Opening never overwrites: an interaction already held
460
+ * under this id is returned as it stands when it is LIVE and was opened with the same profile,
461
+ * participation mode, participations and bindings (a retry); anything else — a different shape, or
462
+ * an interaction that has ended — throws `InteractionExistsError` and writes nothing. In particular
463
+ * there is no reopening a concluded interaction: the machine has no transition out of a terminal
464
+ * state, and `open` is not a way round it. (`suspended → active` is `resume`, via
465
+ * `interactions.transitionInteraction`, custodial and counted in `rev`.)
466
+ */
467
+ openInteraction(input: {
468
+ interactionId: InteractionId;
469
+ profileVersion: ProfileVersion;
470
+ /** Omit for a `derived` interaction — see `InteractionRecordV1.participationMode`. */
471
+ participations?: readonly ParticipationV1[];
472
+ participationMode?: 'asserted' | 'derived';
473
+ at: string;
474
+ protocolBindings?: readonly ProtocolBindingV1[];
475
+ }): Promise<InteractionRecordV1>;
476
+ /**
477
+ * Append one event to an existing exchange (case transitions / transport moves), reduced fail-closed.
478
+ *
479
+ * The case machine authorizes a transition by comparing `event.actor` with the record's parties, so
480
+ * the actor must not be the caller's to choose (DATA-3): `event.actor` must be the AUTHENTICATED
481
+ * actor, on a minted caller for this gateway's principal. `null` ⇒ no such exchange. (`event.at` is
482
+ * still the caller's — audit DATB-11, open: the embedder stamps it.)
483
+ */
484
+ applyEvent(exchangeId: ExchangeId | string, event: ExchangeEventV1, caller: AuthenticatedCaller): Promise<import("../exchange-reducer.js").ExchangeApplyResult | null>;
485
+ /**
486
+ * Mint the caller for one admitted request (spec 445 §3.4, audit DATA-3) — the ONLY way to obtain an
487
+ * `AuthenticatedCaller`. Runs the injected authenticator; throws `GatewayAuthError` when none is
488
+ * configured (fail closed), when the request is not admitted, or when it was admitted for a
489
+ * principal other than this gateway's (`PRINCIPAL_SA`). A gateway that does not name itself takes the
490
+ * authenticator's principal — the embedder that built the port is the one that addressed this DO.
491
+ */
492
+ admitCaller(request: Request): Promise<AuthenticatedCaller>;
493
+ private isMinted;
494
+ /** `member` is the authenticated actor, or the actor is this gateway's own principal acting on it. */
495
+ private selfOrPrincipal;
496
+ /** Interactions, context snapshots, decisions, commitments, per-viewer inbox state. */
497
+ get interactions(): InteractionStore;
498
+ /**
499
+ * Everything still owed on this gateway — the query the single `case` field could not answer.
500
+ *
501
+ * A case could be `denied` while an obligation stayed outstanding with nowhere to record it, because
502
+ * one field was serving three machines (spec 340 §R). Concluding an interaction deliberately does NOT
503
+ * appear here as a discharge: closing a conversation ends the conversation, never the promise made
504
+ * inside it.
185
505
  */
186
- deliver(record: ExchangeRecordV1): Promise<void>;
187
- /** Append one event to an existing exchange (case transitions / transport moves), reduced fail-closed. */
188
- applyEvent(exchangeId: ExchangeId | string, event: ExchangeEventV1): Promise<import("../exchange-reducer.js").ExchangeApplyResult | null>;
506
+ openCommitments(): Promise<CommitmentRecordV1[]>;
507
+ /** The gateway's own SA. Throws rather than defaulting: a wrong custodian on a governed situation is
508
+ * worse than a refused write, and empty-string config is treated as unset (a wrangler `VAR = ""`
509
+ * binds an empty string, which `??` would happily accept). */
510
+ private requirePrincipal;
189
511
  private requireDeps;
190
512
  /** The verdict cache (revoke / epoch-sweep hooks + read for tests). */
191
513
  get authority(): AuthorityVerdictCache;
@@ -223,6 +545,13 @@ export declare class PrincipalGatewayDO {
223
545
  /** The principal's exchanges, newest first — the inbox-projection source (full `projectInboxItem` fold is
224
546
  * the W2 incremental-projection step; the durable stream it reads is here). */
225
547
  inbox(): Promise<ExchangeRecordV1[]>;
548
+ /**
549
+ * The HTTP surface. EVERY route authenticates first (spec 445 §3.4, audit DATA-3): `admitCaller`
550
+ * runs the injected authenticator before the path is even looked at, so with no authenticator the
551
+ * answer is 503 for everything, and an unadmitted request is 401 whatever it asked for. `principal`,
552
+ * `tier` and `actor` then come from that result alone — a body naming another principal or another
553
+ * actor is 403, and a body's `tier` is ignored.
554
+ */
226
555
  fetch(request: Request): Promise<Response>;
227
556
  /** Due-work processing (async). Drives two loops: (1) **outbox drain** — re-attempt `outboxDue(now)` peer
228
557
  * deliveries via the injected transport, `outboxDelivered` on success / `outbox.reschedule` with backoff on
@@ -231,4 +560,5 @@ export declare class PrincipalGatewayDO {
231
560
  * read (`outbox`, exchange stream) are here. */
232
561
  alarm(): Promise<void>;
233
562
  }
563
+ export {};
234
564
  //# sourceMappingURL=principal-gateway-do.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"principal-gateway-do.d.ts","sourceRoot":"","sources":["../../src/cloudflare/principal-gateway-do.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"principal-gateway-do.d.ts","sourceRoot":"","sources":["../../src/cloudflare/principal-gateway-do.ts"],"names":[],"mappings":"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"}