@agenticprimitives/fabric 0.0.0-alpha.3 → 0.0.0-alpha.30

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 (185) hide show
  1. package/CLAUDE.md +30 -29
  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/index.d.ts +4 -1
  20. package/dist/cloudflare/index.d.ts.map +1 -1
  21. package/dist/cloudflare/index.js +7 -1
  22. package/dist/cloudflare/index.js.map +1 -1
  23. package/dist/cloudflare/interaction-store.d.ts +55 -0
  24. package/dist/cloudflare/interaction-store.d.ts.map +1 -0
  25. package/dist/cloudflare/interaction-store.js +230 -0
  26. package/dist/cloudflare/interaction-store.js.map +1 -0
  27. package/dist/cloudflare/principal-gateway-do.d.ts +136 -2
  28. package/dist/cloudflare/principal-gateway-do.d.ts.map +1 -1
  29. package/dist/cloudflare/principal-gateway-do.js +190 -8
  30. package/dist/cloudflare/principal-gateway-do.js.map +1 -1
  31. package/dist/cloudflare/sql-vault.d.ts.map +1 -1
  32. package/dist/cloudflare/sql-vault.js +56 -0
  33. package/dist/cloudflare/sql-vault.js.map +1 -1
  34. package/dist/cloudflare/vault-exchange-store.d.ts +47 -0
  35. package/dist/cloudflare/vault-exchange-store.d.ts.map +1 -0
  36. package/dist/cloudflare/vault-exchange-store.js +118 -0
  37. package/dist/cloudflare/vault-exchange-store.js.map +1 -0
  38. package/dist/cloudflare/vault-interaction-store.d.ts +44 -0
  39. package/dist/cloudflare/vault-interaction-store.d.ts.map +1 -0
  40. package/dist/cloudflare/vault-interaction-store.js +245 -0
  41. package/dist/cloudflare/vault-interaction-store.js.map +1 -0
  42. package/dist/communicative-act.d.ts +24 -1
  43. package/dist/communicative-act.d.ts.map +1 -1
  44. package/dist/communicative-act.js +28 -0
  45. package/dist/communicative-act.js.map +1 -1
  46. package/dist/delivery-envelope.d.ts.map +1 -1
  47. package/dist/delivery-envelope.js +0 -1
  48. package/dist/delivery-envelope.js.map +1 -1
  49. package/dist/email/index.d.ts +75 -0
  50. package/dist/email/index.d.ts.map +1 -0
  51. package/dist/email/index.js +77 -0
  52. package/dist/email/index.js.map +1 -0
  53. package/dist/enum-retirement.d.ts +43 -0
  54. package/dist/enum-retirement.d.ts.map +1 -0
  55. package/dist/enum-retirement.js +93 -0
  56. package/dist/enum-retirement.js.map +1 -0
  57. package/dist/exchange-record.d.ts +35 -4
  58. package/dist/exchange-record.d.ts.map +1 -1
  59. package/dist/exchange-record.js.map +1 -1
  60. package/dist/exchange-reducer.d.ts +32 -4
  61. package/dist/exchange-reducer.d.ts.map +1 -1
  62. package/dist/exchange-reducer.js +75 -1
  63. package/dist/exchange-reducer.js.map +1 -1
  64. package/dist/exchange-state.d.ts +30 -8
  65. package/dist/exchange-state.d.ts.map +1 -1
  66. package/dist/exchange-state.js +12 -10
  67. package/dist/exchange-state.js.map +1 -1
  68. package/dist/inbox-doc.d.ts +2 -2
  69. package/dist/inbox-doc.d.ts.map +1 -1
  70. package/dist/inbox-doc.js.map +1 -1
  71. package/dist/inbox-projection.d.ts +2 -2
  72. package/dist/inbox-projection.d.ts.map +1 -1
  73. package/dist/inbox-projection.js.map +1 -1
  74. package/dist/inbox-revision.d.ts +42 -0
  75. package/dist/inbox-revision.d.ts.map +1 -0
  76. package/dist/inbox-revision.js +57 -0
  77. package/dist/inbox-revision.js.map +1 -0
  78. package/dist/index.d.ts +26 -3
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +40 -2
  81. package/dist/index.js.map +1 -1
  82. package/dist/interaction-machines.d.ts +136 -0
  83. package/dist/interaction-machines.d.ts.map +1 -0
  84. package/dist/interaction-machines.js +174 -0
  85. package/dist/interaction-machines.js.map +1 -0
  86. package/dist/interaction-profile.d.ts +136 -0
  87. package/dist/interaction-profile.d.ts.map +1 -0
  88. package/dist/interaction-profile.js +212 -0
  89. package/dist/interaction-profile.js.map +1 -0
  90. package/dist/interaction-record.d.ts +168 -0
  91. package/dist/interaction-record.d.ts.map +1 -0
  92. package/dist/interaction-record.js +108 -0
  93. package/dist/interaction-record.js.map +1 -0
  94. package/dist/interactions/grant-scopes.d.ts +21 -0
  95. package/dist/interactions/grant-scopes.d.ts.map +1 -0
  96. package/dist/interactions/grant-scopes.js +88 -0
  97. package/dist/interactions/grant-scopes.js.map +1 -0
  98. package/dist/interactions/index.d.ts +1 -0
  99. package/dist/interactions/index.d.ts.map +1 -1
  100. package/dist/interactions/index.js +3 -0
  101. package/dist/interactions/index.js.map +1 -1
  102. package/dist/interactions/machine.d.ts +2 -2
  103. package/dist/interactions/machine.d.ts.map +1 -1
  104. package/dist/interactions/machine.js +2 -2
  105. package/dist/interactions/machine.js.map +1 -1
  106. package/dist/interactions/open-case.d.ts +60 -0
  107. package/dist/interactions/open-case.d.ts.map +1 -0
  108. package/dist/interactions/open-case.js +83 -0
  109. package/dist/interactions/open-case.js.map +1 -0
  110. package/dist/interactions/store.d.ts +9 -0
  111. package/dist/interactions/store.d.ts.map +1 -1
  112. package/dist/interactions/store.js +57 -2
  113. package/dist/interactions/store.js.map +1 -1
  114. package/dist/messaging/board.d.ts +3 -3
  115. package/dist/messaging/board.d.ts.map +1 -1
  116. package/dist/messaging/board.js +2 -2
  117. package/dist/messaging/board.js.map +1 -1
  118. package/dist/messaging/consult-routing.d.ts +21 -14
  119. package/dist/messaging/consult-routing.d.ts.map +1 -1
  120. package/dist/messaging/consult-routing.js +34 -25
  121. package/dist/messaging/consult-routing.js.map +1 -1
  122. package/dist/messaging/consult.d.ts +4 -0
  123. package/dist/messaging/consult.d.ts.map +1 -1
  124. package/dist/messaging/consult.js +3 -1
  125. package/dist/messaging/consult.js.map +1 -1
  126. package/dist/messaging/conversation-interaction.d.ts +66 -0
  127. package/dist/messaging/conversation-interaction.d.ts.map +1 -0
  128. package/dist/messaging/conversation-interaction.js +139 -0
  129. package/dist/messaging/conversation-interaction.js.map +1 -0
  130. package/dist/messaging/conversation.d.ts +69 -1
  131. package/dist/messaging/conversation.d.ts.map +1 -1
  132. package/dist/messaging/conversation.js +131 -0
  133. package/dist/messaging/conversation.js.map +1 -1
  134. package/dist/messaging/delivery.d.ts +2 -2
  135. package/dist/messaging/delivery.d.ts.map +1 -1
  136. package/dist/messaging/delivery.js +8 -1
  137. package/dist/messaging/delivery.js.map +1 -1
  138. package/dist/messaging/envelope.d.ts +7 -3
  139. package/dist/messaging/envelope.d.ts.map +1 -1
  140. package/dist/messaging/envelope.js +18 -1
  141. package/dist/messaging/envelope.js.map +1 -1
  142. package/dist/messaging/hash.d.ts +8 -2
  143. package/dist/messaging/hash.d.ts.map +1 -1
  144. package/dist/messaging/hash.js +6 -0
  145. package/dist/messaging/hash.js.map +1 -1
  146. package/dist/messaging/inbox-assistant.d.ts +16 -4
  147. package/dist/messaging/inbox-assistant.d.ts.map +1 -1
  148. package/dist/messaging/inbox-assistant.js +27 -4
  149. package/dist/messaging/inbox-assistant.js.map +1 -1
  150. package/dist/messaging/index.d.ts +6 -2
  151. package/dist/messaging/index.d.ts.map +1 -1
  152. package/dist/messaging/index.js +10 -1
  153. package/dist/messaging/index.js.map +1 -1
  154. package/dist/messaging/outbound-message.d.ts +42 -0
  155. package/dist/messaging/outbound-message.d.ts.map +1 -0
  156. package/dist/messaging/outbound-message.js +64 -0
  157. package/dist/messaging/outbound-message.js.map +1 -0
  158. package/dist/messaging/projector.d.ts +3 -3
  159. package/dist/messaging/projector.d.ts.map +1 -1
  160. package/dist/messaging/projector.js.map +1 -1
  161. package/dist/messaging/receipts.d.ts +3 -3
  162. package/dist/messaging/receipts.d.ts.map +1 -1
  163. package/dist/messaging/receipts.js.map +1 -1
  164. package/dist/messaging/rules.d.ts +10 -3
  165. package/dist/messaging/rules.d.ts.map +1 -1
  166. package/dist/messaging/rules.js +8 -1
  167. package/dist/messaging/rules.js.map +1 -1
  168. package/dist/messaging/store.d.ts +4 -4
  169. package/dist/messaging/store.d.ts.map +1 -1
  170. package/dist/messaging/store.js +5 -3
  171. package/dist/messaging/store.js.map +1 -1
  172. package/dist/messaging/types.d.ts +30 -0
  173. package/dist/messaging/types.d.ts.map +1 -1
  174. package/dist/messaging/types.js +3 -0
  175. package/dist/messaging/types.js.map +1 -1
  176. package/dist/messaging/vault-store.d.ts +2 -2
  177. package/dist/messaging/vault-store.d.ts.map +1 -1
  178. package/dist/protocol-binding.d.ts +71 -0
  179. package/dist/protocol-binding.d.ts.map +1 -0
  180. package/dist/protocol-binding.js +0 -0
  181. package/dist/protocol-binding.js.map +1 -0
  182. package/dist/record-catalog.d.ts.map +1 -1
  183. package/dist/record-catalog.js +12 -0
  184. package/dist/record-catalog.js.map +1 -1
  185. package/package.json +28 -15
@@ -5,39 +5,47 @@
5
5
  // fail-open to FEWER signals, never to more candidates), the depth-1 routing-tools guard, the
6
6
  // consult-request builder (bounded context), and the turn-2 synthesis attribution/PROV shapes.
7
7
  // Discovery I/O, DO custody, rate buckets, signing, and audit are the EXECUTION POINT's (demo-a2a).
8
- import { CONSULT_QUESTION_MAX_CHARS, CONSULT_TAIL_CLIP, CONSULT_TAIL_MAX_ROWS, CONSULT_MEMBER_TIMEOUT_MS, consultGrantRecordKey, } from './consult.js';
8
+ import { CONSULT_QUESTION_MAX_CHARS, CONSULT_TAIL_CLIP, CONSULT_TAIL_MAX_ROWS, CONSULT_MEMBER_TIMEOUT_MS, consultGrantRecordKey, CONSULT_PURPOSE_CLIP, } from './consult.js';
9
9
  import { channelParticipationPolicy } from './board.js';
10
10
  /** Org-DO pending-consult ring key (spec 329 §4.1). */
11
11
  export const routingPendingKey = (topicId, questionId) => `routing.pending:${topicId}:${questionId}`;
12
12
  /** ConsultationIntent description-record key (spec 329 §5) — one per consulted member. */
13
13
  export const consultationIntentKey = (questionId, memberSA) => `routing.consult:${questionId}:${memberSA.toLowerCase()}`;
14
14
  /**
15
- * roster ∩ topic participants ∩ consultable-hinted ∩ grant-present. Fail-closed on consent from
16
- * BOTH directions (spec 329 §2.2): flag without grant ⇒ excluded; grant without flag ⇒ excluded.
17
- * Restricted topics consult `canSeeChannel` participants only (a member is never asked about a
18
- * conversation they cannot see); the org itself is never a candidate (org agents are not
19
- * consultable — §4 loop prevention).
15
+ * grant-present ∩ topic participants — THE GRANT IS THE OPT-IN. A member is consultable by this organization
16
+ * exactly when their own signed consultability delegation is present in the org's store (spec 329 §2.2's
17
+ * authority; spec 380 §3: "who is asked is decided by each member's own opt-in … from the organization's
18
+ * fresh read of the grant"). The directory listing supplies the NAME and the org ROLE when the member
19
+ * published one (spec 329 §12 — the ranking reads the role); it grants nothing and withholds nothing:
20
+ * a listing flag without a grant was always inert, and since spec 380 W3 a grant without a listing is
21
+ * consultable too, so the topic turn and the harness consult step decide by ONE rule. Restricted topics
22
+ * consult `canSeeChannel` participants only (a member is never asked about a conversation they cannot
23
+ * see); the org itself is never a candidate (org agents are not consultable — §4 loop prevention).
20
24
  */
21
25
  export function eligibleConsultMembers(args) {
22
- const grants = new Set(args.grantMembers.map((m) => m.toLowerCase()));
23
26
  const org = args.orgSA.toLowerCase();
24
27
  const restricted = channelParticipationPolicy(args.channel) === 'restricted';
25
28
  const participants = new Set((args.channel.members ?? []).map((m) => m.toLowerCase()));
26
- const out = [];
27
- const seen = new Set();
29
+ const listed = new Map();
28
30
  for (const row of args.roster) {
29
- if (!row.current || row.consultable !== true)
31
+ if (!row.current)
30
32
  continue;
31
33
  const memberSA = (row.subject.match(/0x[0-9a-fA-F]{40}$/)?.[0] ?? '').toLowerCase();
32
- if (!memberSA || memberSA === org || seen.has(memberSA))
34
+ if (memberSA && !listed.has(memberSA))
35
+ listed.set(memberSA, row);
36
+ }
37
+ const out = [];
38
+ const seen = new Set();
39
+ for (const raw of args.grantMembers) {
40
+ const memberSA = raw.toLowerCase();
41
+ if (!/^0x[0-9a-f]{40}$/.test(memberSA) || memberSA === org || seen.has(memberSA))
33
42
  continue;
34
- if (!grants.has(memberSA))
35
- continue; // hint without authority ⇒ not consultable (fail-closed)
36
43
  if (restricted && !participants.has(memberSA))
37
44
  continue; // §2.3 structural topic scope
38
45
  seen.add(memberSA);
39
- const orgRole = row.orgRole?.trim();
40
- out.push({ memberSA, displayName: row.displayName || memberSA, ...(orgRole ? { orgRole } : {}) });
46
+ const row = listed.get(memberSA);
47
+ const orgRole = row?.orgRole?.trim();
48
+ out.push({ memberSA, displayName: row?.displayName || memberSA, ...(orgRole ? { orgRole } : {}) });
41
49
  }
42
50
  return out;
43
51
  }
@@ -51,7 +59,7 @@ const codeSet = (v) => (v ?? '').split(',').map((s) => s.trim().toLowerCase()).f
51
59
  * the class of accident this migration removes. */
52
60
  const langMatches = (have, want) => have.some((h) => h === want || h.startsWith(`${want}-`));
53
61
  /** Parse the spec-282 comma-joined `atl:skills` assertion into clean labels (bounded). */
54
- function skillLabels(csv) {
62
+ function capabilityIdsFrom(csv) {
55
63
  if (!csv)
56
64
  return [];
57
65
  return csv.split(',').map((s) => s.trim()).filter(Boolean).slice(0, 32);
@@ -127,7 +135,7 @@ function fitOf(f, need, skillHints, cites, structured = {}) {
127
135
  // indistinguishable from a structured one (ADR-0013).
128
136
  const lexicalOnly = needed.length === 0;
129
137
  if (lexicalOnly) {
130
- const hay = [f.name, f.displayName, f.description, f.skills].filter(Boolean).join(' ').toLowerCase();
138
+ const hay = [f.name, f.displayName, f.description, f.capabilities].filter(Boolean).join(' ').toLowerCase();
131
139
  const wanted = need.trim().toLowerCase();
132
140
  let lex = 0;
133
141
  if (!wanted)
@@ -192,7 +200,7 @@ export function rankConsultCandidates(args) {
192
200
  enriched: false,
193
201
  droppedByMandates: 0,
194
202
  candidates: args.eligible.slice(0, max).map((m) => ({
195
- ...m, skills: [], score: 0, enriched: false, satisfiedMandates: [],
203
+ ...m, capabilities: [], score: 0, enriched: false, satisfiedMandates: [],
196
204
  evidence: ['discovery unreachable — eligibility (consent) only, roster order'],
197
205
  })),
198
206
  };
@@ -203,7 +211,7 @@ export function rankConsultCandidates(args) {
203
211
  for (const m of args.eligible) {
204
212
  const f = args.facets[m.memberSA];
205
213
  if (!f) {
206
- scored.push({ ...m, skills: [], score: 0, enriched: false, satisfiedMandates: [], evidence: ['not in discovery — roster signals only'] });
214
+ scored.push({ ...m, capabilities: [], score: 0, enriched: false, satisfiedMandates: [], evidence: ['not in discovery — roster signals only'] });
207
215
  continue;
208
216
  }
209
217
  // Person agents only (spec 329 §4): an org-kind candidate is dropped, mandate-style.
@@ -214,7 +222,7 @@ export function rankConsultCandidates(args) {
214
222
  const satisfied = [];
215
223
  let failedMandate = false;
216
224
  for (const hint of hints) {
217
- const hay = [f.skills, f.description, f.displayName, f.name].filter(Boolean).join(' ').toLowerCase();
225
+ const hay = [f.capabilities, f.description, f.displayName, f.name].filter(Boolean).join(' ').toLowerCase();
218
226
  if (!hay.includes(hint.toLowerCase())) {
219
227
  failedMandate = true;
220
228
  break;
@@ -232,7 +240,7 @@ export function rankConsultCandidates(args) {
232
240
  scored.push({
233
241
  ...m,
234
242
  ...(f.name ? { handle: f.name } : {}),
235
- skills: skillLabels(f.skills),
243
+ capabilities: capabilityIdsFrom(f.capabilities),
236
244
  capabilityIds: f.capabilityIds ?? [],
237
245
  capabilityHits: fit.capabilityHits, regionHits: fit.regionHits, lexicalOnly: fit.lexicalOnly,
238
246
  endorsedCapabilityIds: fit.endorsedCapabilityIds,
@@ -295,6 +303,7 @@ export function buildConsultRequest(args) {
295
303
  questionId: args.questionId,
296
304
  ...(topicTitle ? { topicTitle } : {}),
297
305
  ...(tail.length ? { topicTail: tail } : {}),
306
+ ...(args.purpose?.trim() ? { purpose: args.purpose.trim().slice(0, CONSULT_PURPOSE_CLIP) } : {}),
298
307
  },
299
308
  };
300
309
  }
@@ -392,8 +401,8 @@ export function consultSelectionBasis(c, matchedRole = false) {
392
401
  return `org role: ${c.orgRole.trim()}${endorseClause}`;
393
402
  // Humanized: this string is quoted verbatim into a member-facing discussion post, so it must read
394
403
  // as English rather than as a CURIE list. The identity is unchanged — only its rendering.
395
- if (c.skills.length)
396
- return `published capabilities: ${c.skills.map(humanizeCapability).join(', ')}${endorseClause}`;
404
+ if (c.capabilities.length)
405
+ return `published capabilities: ${c.capabilities.map(humanizeCapability).join(', ')}${endorseClause}`;
397
406
  return c.enriched
398
407
  ? 'no published capabilities — matched on name/description'
399
408
  : 'no capability data readable — consent-based eligibility only';
@@ -421,8 +430,8 @@ export function consultCandidateLine(c) {
421
430
  // spec 329 §12 — the org role leads when asserted: it is the stronger, member-signed signal and
422
431
  // the model is instructed to prefer it over a generic skill match.
423
432
  const role = c.orgRole?.trim() ? `role: ${c.orgRole.trim()} — ` : '';
424
- const skills = c.skills.length
425
- ? `published capabilities: [${c.skills.map(humanizeCapability).join(', ')}]`
433
+ const skills = c.capabilities.length
434
+ ? `published capabilities: [${c.capabilities.map(humanizeCapability).join(', ')}]`
426
435
  : c.enriched
427
436
  ? 'NO published capabilities (match only on displayName/description, and say that basis if you consult them)'
428
437
  : 'NO capability data (discovery unreachable — consent-based eligibility only)';
@@ -1 +1 @@
1
- {"version":3,"file":"consult-routing.js","sourceRoot":"","sources":["../../src/messaging/consult-routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consult-routing.js","sourceRoot":"","sources":["../../src/messaging/consult-routing.ts"],"names":[],"mappings":"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"}
@@ -61,8 +61,12 @@ export interface ConsultRequestV1 {
61
61
  topicTitle?: string;
62
62
  /** Clipped topic tail (≤ CONSULT_TAIL_MAX_ROWS rows, bodies ≤ CONSULT_TAIL_CLIP chars). */
63
63
  topicTail?: ConsultTailRowV1[];
64
+ /** Spec 380 W2 — WHAT THE ORGANIZATION IS ASKING FOR: the ask that fanned out, as its steward put it, so a
65
+ * member's agent answers (or declines) knowing the purpose, not only the bare question. ≤ 300 chars. */
66
+ purpose?: string;
64
67
  };
65
68
  }
69
+ export declare const CONSULT_PURPOSE_CLIP = 300;
66
70
  export type ConsultParseResult = {
67
71
  ok: true;
68
72
  request: ConsultRequestV1;
@@ -1 +1 @@
1
- {"version":3,"file":"consult.d.ts","sourceRoot":"","sources":["../../src/messaging/consult.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consult.d.ts","sourceRoot":"","sources":["../../src/messaging/consult.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,7 @@ export function routedConsultationContextRef(orgSA, topicId, questionId) {
33
33
  export const CONSULT_QUESTION_MAX_CHARS = 2000;
34
34
  export const CONSULT_TAIL_MAX_ROWS = 8;
35
35
  export const CONSULT_TAIL_CLIP = 300;
36
+ export const CONSULT_PURPOSE_CLIP = 300;
36
37
  /** Parse + bound an inbound consult payload, fail-closed. Unknown/oversized context is CLIPPED
37
38
  * (data, never authority — ADR-0041); a missing goal/org/topic/question id REJECTS. */
38
39
  export function parseConsultRequest(input) {
@@ -50,6 +51,7 @@ export function parseConsultRequest(input) {
50
51
  const questionId = String(c.questionId ?? '').trim();
51
52
  if (!topicId || !questionId)
52
53
  return { ok: false, error: 'consult requires context.topicId + context.questionId' };
54
+ const purpose = typeof c.purpose === 'string' && c.purpose.trim() ? c.purpose.trim().slice(0, CONSULT_PURPOSE_CLIP) : undefined;
53
55
  const tailRaw = Array.isArray(c.topicTail) ? c.topicTail : [];
54
56
  const topicTail = tailRaw.slice(-CONSULT_TAIL_MAX_ROWS).flatMap((r) => {
55
57
  const row = r;
@@ -63,7 +65,7 @@ export function parseConsultRequest(input) {
63
65
  ok: true,
64
66
  request: {
65
67
  goal,
66
- context: { orgSA, topicId, questionId, ...(topicTitle ? { topicTitle } : {}), ...(topicTail.length ? { topicTail } : {}) },
68
+ context: { orgSA, topicId, questionId, ...(topicTitle ? { topicTitle } : {}), ...(purpose ? { purpose } : {}), ...(topicTail.length ? { topicTail } : {}) },
67
69
  },
68
70
  };
69
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"consult.js","sourceRoot":"","sources":["../../src/messaging/consult.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consult.js","sourceRoot":"","sources":["../../src/messaging/consult.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import type { CanonicalAgentId } from '@agenticprimitives/types';
2
+ import type { ConversationDescriptorV1, ConversationId } from './types.js';
3
+ import type { InteractionId, ProfileVersion, ParticipationV1 } from '../interaction-record.js';
4
+ import type { InteractionState } from '../interaction-machines.js';
5
+ import { type ChannelV1 } from './board.js';
6
+ /** Derived from the conversation id, so the two can never disagree and no field needs adding. */
7
+ export declare function conversationInteractionId(conversationId: ConversationId | string): InteractionId;
8
+ /** The inverse, or `null` for an id that is not a conversation interaction. Null rather than a guess —
9
+ * the same rule that keeps derived-participation resolution fail-closed. */
10
+ export declare function conversationIdFromInteraction(interactionId: string): string | null;
11
+ /**
12
+ * `participantPolicy` IS `participationMode`, and noticing that is what made this a projection.
13
+ *
14
+ * `open-to-context` means "anyone in the anchored org" — membership owned elsewhere, resolved at read
15
+ * time, never copied per conversation. That is precisely `derived`. `fixed` and `owner-managed` both
16
+ * mean the participant list on the record is the membership: `asserted`.
17
+ */
18
+ export declare function participationModeOfConversation(descriptor: Pick<ConversationDescriptorV1, 'participantPolicy'>): 'asserted' | 'derived';
19
+ /**
20
+ * Which profile governs this conversation.
21
+ *
22
+ * `forum`/`discussion` are boards — `topic`. Everything else is conversation — `direct`. Neither can
23
+ * create an obligation, which is true of both today and stated rather than left to inference. A
24
+ * conversation that needs to negotiate is promoted to its own Interaction under the negotiation
25
+ * profile (ADR-0058 §14), not granted extra acts here.
26
+ */
27
+ export declare function profileVersionOfConversation(descriptor: Pick<ConversationDescriptorV1, 'profile'>): ProfileVersion;
28
+ /**
29
+ * Lifecycle state.
30
+ *
31
+ * `archived` is deliberately NOT read as an ending. Spec 340 §P settled that shelving is a display
32
+ * concern that already lives in `InboxState`; an archived conversation has still either concluded or
33
+ * not, and conflating them would mean unarchiving a board silently reopened a concluded situation.
34
+ * The descriptor carries no concluded flag today, so every live conversation is `active` — stated here
35
+ * rather than invented, because inferring a conclusion from `archived` would be exactly the wrong fix.
36
+ */
37
+ export declare function lifecycleStateOfConversation(_descriptor: Pick<ConversationDescriptorV1, 'archived'>): InteractionState;
38
+ /** Participations, for an `asserted` conversation. Empty for a `derived` one — the whole point. */
39
+ export declare function participationsOfConversation(descriptor: Pick<ConversationDescriptorV1, 'participantPolicy' | 'participants' | 'createdAt'>): readonly ParticipationV1[];
40
+ /** What an Exchange in this conversation pins — `interactionId` + `profileVersion` in one call, so a
41
+ * caller cannot set one and forget the other. */
42
+ export interface ConversationExchangePins {
43
+ interactionId: InteractionId;
44
+ profileVersion: ProfileVersion;
45
+ }
46
+ export declare function conversationPins(descriptor: Pick<ConversationDescriptorV1, 'id' | 'profile'>): ConversationExchangePins;
47
+ /** The full interaction view of a conversation — the projection, assembled. */
48
+ export interface ConversationInteractionView {
49
+ interactionId: InteractionId;
50
+ profileVersion: ProfileVersion;
51
+ principal: CanonicalAgentId;
52
+ lifecycleState: InteractionState;
53
+ participationMode: 'asserted' | 'derived';
54
+ participations: readonly ParticipationV1[];
55
+ }
56
+ export declare function interactionViewOfConversation(descriptor: ConversationDescriptorV1): ConversationInteractionView;
57
+ /** Participation mode of a board channel — `open` topics derive membership, `restricted` assert it. */
58
+ export declare function participationModeOfChannel(channel: Pick<ChannelV1, 'participationPolicy' | 'visibility'>): 'asserted' | 'derived';
59
+ /**
60
+ * The interaction view of a live board channel — the one `demo-a2a` actually serves.
61
+ *
62
+ * Zero storage change: every field is read from what the board already persists. A topic in the vault
63
+ * IS an Interaction; this is how to read it as one.
64
+ */
65
+ export declare function interactionViewOfChannel(channel: ChannelV1): ConversationInteractionView;
66
+ //# sourceMappingURL=conversation-interaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-interaction.d.ts","sourceRoot":"","sources":["../../src/messaging/conversation-interaction.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC/F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAIxE,iGAAiG;AACjG,wBAAgB,yBAAyB,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM,GAAG,aAAa,CAEhG;AAED;6EAC6E;AAC7E,wBAAgB,6BAA6B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAElF;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,IAAI,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,GAC9D,UAAU,GAAG,SAAS,CAExB;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,IAAI,CAAC,wBAAwB,EAAE,SAAS,CAAC,GACpD,cAAc,CAIhB;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,IAAI,CAAC,wBAAwB,EAAE,UAAU,CAAC,GACtD,gBAAgB,CAElB;AAED,mGAAmG;AACnG,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,IAAI,CAAC,wBAAwB,EAAE,mBAAmB,GAAG,cAAc,GAAG,WAAW,CAAC,GAC7F,SAAS,eAAe,EAAE,CAU5B;AAED;kDACkD;AAClD,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,IAAI,CAAC,wBAAwB,EAAE,IAAI,GAAG,SAAS,CAAC,GAC3D,wBAAwB,CAK1B;AAED,+EAA+E;AAC/E,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,cAAc,EAAE,gBAAgB,CAAC;IACjC,iBAAiB,EAAE,UAAU,GAAG,SAAS,CAAC;IAC1C,cAAc,EAAE,SAAS,eAAe,EAAE,CAAC;CAC5C;AAED,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,wBAAwB,GACnC,2BAA2B,CAU7B;AAcD,uGAAuG;AACvG,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,qBAAqB,GAAG,YAAY,CAAC,GAC7D,UAAU,GAAG,SAAS,CAExB;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,SAAS,GAAG,2BAA2B,CAkBxF"}
@@ -0,0 +1,139 @@
1
+ // The vault-backed conversation, viewed as the Interaction it already is (spec 340 W12).
2
+ //
3
+ // WHY THIS FILE EXISTS, stated plainly because it is a correction. W11 made org topics a real
4
+ // Interaction by wiring `PrincipalGatewayDO.createChannel`/`postToChannel` — the DO-SQL channel store.
5
+ // `demo-a2a`, the only app that actually serves topics, does not use that store. It uses the
6
+ // VAULT-backed board (`createBoardChannel` / `appendBoardPost` over `ConversationDescriptorV1`). So
7
+ // W11 landed in a code path no demo runs, which is the same dormancy the whole exercise was meant to
8
+ // end — this time with the added problem that a third model of "a governed conversation" now existed.
9
+ //
10
+ // THE FIX IS A PROJECTION, NOT A MIGRATION. `ConversationDescriptorV1` already carries every field the
11
+ // Interaction needs, under different names:
12
+ //
13
+ // descriptor.id → the interaction identity (derived, see below)
14
+ // descriptor.owner → the custodian (`principal`)
15
+ // descriptor.participantPolicy → `participationMode`, exactly
16
+ // descriptor.participants → the asserted list, when there is one
17
+ // descriptor.profile → which InteractionProfile applies
18
+ // descriptor.archived → shelving, NOT the lifecycle (spec 340 §P)
19
+ //
20
+ // So nothing is stored twice and nothing migrates. A conversation IS an interaction; this says how to
21
+ // read it as one. Deriving rather than storing is deliberate: a stored copy of a value computable from
22
+ // the record is the drift this ontology work exists to remove, and it would need a migration to add.
23
+ import { TOPIC_PROFILE, DIRECT_PROFILE } from '../interaction-profile.js';
24
+ import { channelParticipationPolicy } from './board.js';
25
+ const CONVERSATION_PREFIX = 'ixn_conv_';
26
+ /** Derived from the conversation id, so the two can never disagree and no field needs adding. */
27
+ export function conversationInteractionId(conversationId) {
28
+ return `${CONVERSATION_PREFIX}${conversationId}`;
29
+ }
30
+ /** The inverse, or `null` for an id that is not a conversation interaction. Null rather than a guess —
31
+ * the same rule that keeps derived-participation resolution fail-closed. */
32
+ export function conversationIdFromInteraction(interactionId) {
33
+ return interactionId.startsWith(CONVERSATION_PREFIX) ? interactionId.slice(CONVERSATION_PREFIX.length) : null;
34
+ }
35
+ /**
36
+ * `participantPolicy` IS `participationMode`, and noticing that is what made this a projection.
37
+ *
38
+ * `open-to-context` means "anyone in the anchored org" — membership owned elsewhere, resolved at read
39
+ * time, never copied per conversation. That is precisely `derived`. `fixed` and `owner-managed` both
40
+ * mean the participant list on the record is the membership: `asserted`.
41
+ */
42
+ export function participationModeOfConversation(descriptor) {
43
+ return descriptor.participantPolicy === 'open-to-context' ? 'derived' : 'asserted';
44
+ }
45
+ /**
46
+ * Which profile governs this conversation.
47
+ *
48
+ * `forum`/`discussion` are boards — `topic`. Everything else is conversation — `direct`. Neither can
49
+ * create an obligation, which is true of both today and stated rather than left to inference. A
50
+ * conversation that needs to negotiate is promoted to its own Interaction under the negotiation
51
+ * profile (ADR-0058 §14), not granted extra acts here.
52
+ */
53
+ export function profileVersionOfConversation(descriptor) {
54
+ return descriptor.profile === 'forum' || descriptor.profile === 'discussion'
55
+ ? TOPIC_PROFILE.profileVersion
56
+ : DIRECT_PROFILE.profileVersion;
57
+ }
58
+ /**
59
+ * Lifecycle state.
60
+ *
61
+ * `archived` is deliberately NOT read as an ending. Spec 340 §P settled that shelving is a display
62
+ * concern that already lives in `InboxState`; an archived conversation has still either concluded or
63
+ * not, and conflating them would mean unarchiving a board silently reopened a concluded situation.
64
+ * The descriptor carries no concluded flag today, so every live conversation is `active` — stated here
65
+ * rather than invented, because inferring a conclusion from `archived` would be exactly the wrong fix.
66
+ */
67
+ export function lifecycleStateOfConversation(_descriptor) {
68
+ return 'active';
69
+ }
70
+ /** Participations, for an `asserted` conversation. Empty for a `derived` one — the whole point. */
71
+ export function participationsOfConversation(descriptor) {
72
+ if (participationModeOfConversation(descriptor) === 'derived')
73
+ return [];
74
+ return descriptor.participants.map((agent) => ({
75
+ agent,
76
+ role: 'participant',
77
+ // The descriptor records no per-participant join time, so the conversation's own is the honest
78
+ // answer: it is when membership was first observable, and claiming a more precise one would be
79
+ // inventing provenance.
80
+ joinedAt: descriptor.createdAt,
81
+ }));
82
+ }
83
+ export function conversationPins(descriptor) {
84
+ return {
85
+ interactionId: conversationInteractionId(descriptor.id),
86
+ profileVersion: profileVersionOfConversation(descriptor),
87
+ };
88
+ }
89
+ export function interactionViewOfConversation(descriptor) {
90
+ return {
91
+ ...conversationPins(descriptor),
92
+ // The descriptor's `owner` is the store that holds this copy, which for an org board is the org —
93
+ // the same custodial rule W3 enforces, arrived at from the other direction.
94
+ principal: descriptor.owner,
95
+ lifecycleState: lifecycleStateOfConversation(descriptor),
96
+ participationMode: participationModeOfConversation(descriptor),
97
+ participations: participationsOfConversation(descriptor),
98
+ };
99
+ }
100
+ // ─── Board channels ──────────────────────────────────────────────────────────
101
+ //
102
+ // A board `ChannelV1` (this subpath) is NOT the DO-SQL `ChannelV1` in `../cloudflare/channel-store.ts`.
103
+ // Same name, two different concepts, two subpaths — noted here rather than renamed, because renaming a
104
+ // live wire type is its own change; see spec 340 §C.
105
+ //
106
+ // The board channel is the better projection source than its descriptor: it carries
107
+ // `participationPolicy` DIRECTLY (`open` = derived from org membership and never stored; `restricted` =
108
+ // `members` is the list), with `channelParticipationPolicy` already resolving the legacy `visibility`
109
+ // spelling. Reading that instead of re-deriving from `participantPolicy` means one answer, from the
110
+ // field that actually decides it.
111
+ /** Participation mode of a board channel — `open` topics derive membership, `restricted` assert it. */
112
+ export function participationModeOfChannel(channel) {
113
+ return channelParticipationPolicy(channel) === 'open' ? 'derived' : 'asserted';
114
+ }
115
+ /**
116
+ * The interaction view of a live board channel — the one `demo-a2a` actually serves.
117
+ *
118
+ * Zero storage change: every field is read from what the board already persists. A topic in the vault
119
+ * IS an Interaction; this is how to read it as one.
120
+ */
121
+ export function interactionViewOfChannel(channel) {
122
+ const mode = participationModeOfChannel(channel);
123
+ return {
124
+ ...conversationPins(channel.descriptor),
125
+ principal: channel.descriptor.owner,
126
+ lifecycleState: lifecycleStateOfConversation(channel.descriptor),
127
+ participationMode: mode,
128
+ // A restricted topic's `members` IS the participant list (legacy field name; these are discussion
129
+ // participants, not the org roster). An open topic stores none, by design.
130
+ participations: mode === 'derived'
131
+ ? []
132
+ : (channel.members ?? []).map((agent) => ({
133
+ agent: agent,
134
+ role: 'participant',
135
+ joinedAt: channel.descriptor.createdAt,
136
+ })),
137
+ };
138
+ }
139
+ //# sourceMappingURL=conversation-interaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-interaction.js","sourceRoot":"","sources":["../../src/messaging/conversation-interaction.ts"],"names":[],"mappings":"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"}