@monoes/monomindcli 2.10.30 → 2.10.31

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 (114) hide show
  1. package/.claude/helpers/graphify-freshen.cjs +11 -12
  2. package/.claude/helpers/handlers/capture-handler.cjs +1 -1
  3. package/dist/src/commands/analyze-diff.d.ts.map +1 -1
  4. package/dist/src/commands/analyze-diff.js +6 -0
  5. package/dist/src/commands/analyze-diff.js.map +1 -1
  6. package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
  7. package/dist/src/commands/doctor-project-checks.js +2 -2
  8. package/dist/src/commands/doctor-project-checks.js.map +1 -1
  9. package/dist/src/commands/init.d.ts.map +1 -1
  10. package/dist/src/commands/init.js.map +1 -1
  11. package/dist/src/commands/mcp.d.ts.map +1 -1
  12. package/dist/src/commands/mcp.js.map +1 -1
  13. package/dist/src/commands/org-observe.d.ts +15 -7
  14. package/dist/src/commands/org-observe.d.ts.map +1 -1
  15. package/dist/src/commands/org-observe.js +208 -63
  16. package/dist/src/commands/org-observe.js.map +1 -1
  17. package/dist/src/commands/org.d.ts.map +1 -1
  18. package/dist/src/commands/org.js +57 -4
  19. package/dist/src/commands/org.js.map +1 -1
  20. package/dist/src/commands/status.d.ts.map +1 -1
  21. package/dist/src/commands/status.js +11 -2
  22. package/dist/src/commands/status.js.map +1 -1
  23. package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
  24. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  25. package/dist/src/memory/memory-kg.d.ts.map +1 -1
  26. package/dist/src/memory/memory-kg.js +10 -2
  27. package/dist/src/memory/memory-kg.js.map +1 -1
  28. package/dist/src/orgrt/agent-exec.d.ts.map +1 -1
  29. package/dist/src/orgrt/agent-exec.js +7 -3
  30. package/dist/src/orgrt/agent-exec.js.map +1 -1
  31. package/dist/src/orgrt/antigravity-runner.d.ts.map +1 -1
  32. package/dist/src/orgrt/antigravity-runner.js +6 -2
  33. package/dist/src/orgrt/antigravity-runner.js.map +1 -1
  34. package/dist/src/orgrt/approvals.d.ts +15 -1
  35. package/dist/src/orgrt/approvals.d.ts.map +1 -1
  36. package/dist/src/orgrt/approvals.js +76 -11
  37. package/dist/src/orgrt/approvals.js.map +1 -1
  38. package/dist/src/orgrt/broker.d.ts +10 -2
  39. package/dist/src/orgrt/broker.d.ts.map +1 -1
  40. package/dist/src/orgrt/broker.js +20 -5
  41. package/dist/src/orgrt/broker.js.map +1 -1
  42. package/dist/src/orgrt/checkpoint.d.ts.map +1 -1
  43. package/dist/src/orgrt/checkpoint.js.map +1 -1
  44. package/dist/src/orgrt/cross-org.d.ts +15 -2
  45. package/dist/src/orgrt/cross-org.d.ts.map +1 -1
  46. package/dist/src/orgrt/cross-org.js +169 -16
  47. package/dist/src/orgrt/cross-org.js.map +1 -1
  48. package/dist/src/orgrt/daemon.d.ts +31 -3
  49. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  50. package/dist/src/orgrt/daemon.js +132 -21
  51. package/dist/src/orgrt/daemon.js.map +1 -1
  52. package/dist/src/orgrt/decisions.d.ts.map +1 -1
  53. package/dist/src/orgrt/decisions.js +13 -1
  54. package/dist/src/orgrt/decisions.js.map +1 -1
  55. package/dist/src/orgrt/endpoint-roles.d.ts +86 -0
  56. package/dist/src/orgrt/endpoint-roles.d.ts.map +1 -0
  57. package/dist/src/orgrt/endpoint-roles.js +364 -0
  58. package/dist/src/orgrt/endpoint-roles.js.map +1 -0
  59. package/dist/src/orgrt/inbox.d.ts +18 -0
  60. package/dist/src/orgrt/inbox.d.ts.map +1 -1
  61. package/dist/src/orgrt/inbox.js +73 -0
  62. package/dist/src/orgrt/inbox.js.map +1 -1
  63. package/dist/src/orgrt/migrate.d.ts.map +1 -1
  64. package/dist/src/orgrt/migrate.js +3 -0
  65. package/dist/src/orgrt/migrate.js.map +1 -1
  66. package/dist/src/orgrt/opencode-runner.d.ts.map +1 -1
  67. package/dist/src/orgrt/opencode-runner.js +2 -1
  68. package/dist/src/orgrt/opencode-runner.js.map +1 -1
  69. package/dist/src/orgrt/pi-rpc-runner.d.ts.map +1 -1
  70. package/dist/src/orgrt/pi-rpc-runner.js +6 -2
  71. package/dist/src/orgrt/pi-rpc-runner.js.map +1 -1
  72. package/dist/src/orgrt/policy.d.ts +22 -1
  73. package/dist/src/orgrt/policy.d.ts.map +1 -1
  74. package/dist/src/orgrt/policy.js +36 -4
  75. package/dist/src/orgrt/policy.js.map +1 -1
  76. package/dist/src/orgrt/questions.d.ts +3 -1
  77. package/dist/src/orgrt/questions.d.ts.map +1 -1
  78. package/dist/src/orgrt/questions.js +19 -3
  79. package/dist/src/orgrt/questions.js.map +1 -1
  80. package/dist/src/orgrt/qwen-rpc-runner.d.ts.map +1 -1
  81. package/dist/src/orgrt/qwen-rpc-runner.js +3 -1
  82. package/dist/src/orgrt/qwen-rpc-runner.js.map +1 -1
  83. package/dist/src/orgrt/role-slot.d.ts +1 -2
  84. package/dist/src/orgrt/role-slot.d.ts.map +1 -1
  85. package/dist/src/orgrt/role-slot.js +2 -1
  86. package/dist/src/orgrt/role-slot.js.map +1 -1
  87. package/dist/src/orgrt/scheduler-integration.d.ts.map +1 -1
  88. package/dist/src/orgrt/scheduler-integration.js +8 -1
  89. package/dist/src/orgrt/scheduler-integration.js.map +1 -1
  90. package/dist/src/orgrt/server.d.ts.map +1 -1
  91. package/dist/src/orgrt/server.js +43 -8
  92. package/dist/src/orgrt/server.js.map +1 -1
  93. package/dist/src/orgrt/session.d.ts +12 -1
  94. package/dist/src/orgrt/session.d.ts.map +1 -1
  95. package/dist/src/orgrt/session.js +20 -3
  96. package/dist/src/orgrt/session.js.map +1 -1
  97. package/dist/src/orgrt/tool-providers.d.ts +110 -0
  98. package/dist/src/orgrt/tool-providers.d.ts.map +1 -0
  99. package/dist/src/orgrt/tool-providers.js +617 -0
  100. package/dist/src/orgrt/tool-providers.js.map +1 -0
  101. package/dist/src/orgrt/types.d.ts +72 -0
  102. package/dist/src/orgrt/types.d.ts.map +1 -1
  103. package/dist/src/orgrt/types.js +56 -0
  104. package/dist/src/orgrt/types.js.map +1 -1
  105. package/dist/src/protocol-capabilities.d.ts +7 -1
  106. package/dist/src/protocol-capabilities.d.ts.map +1 -1
  107. package/dist/src/protocol-capabilities.js +15 -1
  108. package/dist/src/protocol-capabilities.js.map +1 -1
  109. package/dist/src/ui/routes-org.mjs +9 -7
  110. package/dist/src/utils/native-error.d.ts.map +1 -1
  111. package/dist/src/utils/native-error.js +9 -5
  112. package/dist/src/utils/native-error.js.map +1 -1
  113. package/dist/tsconfig.tsbuildinfo +1 -1
  114. package/package.json +2 -2
@@ -1,4 +1,6 @@
1
1
  import { type OrgDaemon, type RunningOrg } from './daemon.js';
2
+ /** `federation.allow_*` membership: absent list = unrestricted, '*' = any. */
3
+ export declare function federationAllows(list: string[] | undefined, org: string): boolean;
2
4
  /**
3
5
  * Resolves an org_send `to` address ("role" for same-org, "org:role" for
4
6
  * cross-org) into its parts. Centralizes the one addressing rule that
@@ -25,11 +27,22 @@ export declare function mailBody(root: string, orgName: string, org: RunningOrg
25
27
  * emitted the audit event) or the recipient can't take mail. */
26
28
  export declare function pushMessage(daemon: OrgDaemon, orgName: string, org: RunningOrg, toRole: string, from: string, subject: string, body: string, id: string): Promise<boolean>;
27
29
  /** Route a message. to = "role" (same org) or "org:role" (cross-org). Returns a receipt string. */
28
- export declare function deliver(daemon: OrgDaemon, fromOrg: string, fromRole: string, to: string, subject: string, body: string): Promise<string>;
30
+ export declare function deliver(daemon: OrgDaemon, fromOrg: string, fromRole: string, to: string, subject: string, body: string, opts?: {
31
+ messageId?: string;
32
+ }): Promise<string>;
33
+ export interface ReceiveRemoteOpts {
34
+ /** The caller presented the OPERATOR credential: skip the broker sender
35
+ * identity check and trust `fromQualified` as given (M3). */
36
+ operator?: boolean;
37
+ /** Origin message id (M3) — generated here when the sender sent none. */
38
+ messageId?: string;
39
+ /** M4: the sending daemon's project root (xdeliver body `fromRoot`). */
40
+ fromRoot?: string;
41
+ }
29
42
  /** Inbound handler for cross-process delivery — called by the server's POST /api/xdeliver route
30
43
  * when ANOTHER process's deliverRemote() reaches this daemon. Pushes straight into the target
31
44
  * agent's mailbox; the agent picks it up on its own next turn (see Mailbox — never interrupts). */
32
- export declare function receiveRemote(daemon: OrgDaemon, toOrg: string, toRole: string, fromQualified: string, subject: string, body: string, fromCredential?: string): Promise<{
45
+ export declare function receiveRemote(daemon: OrgDaemon, toOrg: string, toRole: string, fromQualified: string, subject: string, body: string, fromCredential?: string, opts?: ReceiveRemoteOpts): Promise<{
33
46
  ok: true;
34
47
  receipt: string;
35
48
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"cross-org.d.ts","sourceRoot":"","sources":["../../../src/orgrt/cross-org.ts"],"names":[],"mappings":"AAOA,OAAO,EAAmB,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AA2D/E;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,GACT;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAMtE;AAED;;;mEAGmE;AACnE,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,UAAU,GAAG,SAAS,EAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,MAAM,CAWR;AAED;;;;;iEAKiE;AACjE,wBAAsB,WAAW,CAC/B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,OAAO,CAAC,CAgClB;AAED,mGAAmG;AACnG,wBAAsB,OAAO,CAC3B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAqQjB;AA2JD;;oGAEoG;AACpG,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAwKvE"}
1
+ {"version":3,"file":"cross-org.d.ts","sourceRoot":"","sources":["../../../src/orgrt/cross-org.ts"],"names":[],"mappings":"AAOA,OAAO,EAAmB,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAS/E,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAGjF;AAsED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,GACT;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAMtE;AAED;;;mEAGmE;AACnE,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,UAAU,GAAG,SAAS,EAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,MAAM,CAWR;AAED;;;;;iEAKiE;AACjE,wBAAsB,WAAW,CAC/B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,OAAO,CAAC,CAoClB;AAUD,mGAAmG;AACnG,wBAAsB,OAAO,CAC3B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,OAAO,CAAC,MAAM,CAAC,CA6RjB;AAwMD,MAAM,WAAW,iBAAiB;IAChC;kEAC8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;oGAEoG;AACpG,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,MAAM,EACvB,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA6NvE"}
@@ -1,14 +1,40 @@
1
1
  // packages/@monomind/cli/src/orgrt/cross-org.ts
2
2
  // Extracted from daemon.ts — message delivery, cross-org routing, remote delivery.
3
3
  import { timingSafeEqual } from 'node:crypto';
4
- import { mkdirSync, writeFileSync } from 'node:fs';
4
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
5
5
  import { join } from 'node:path';
6
6
  import { checkResources, waitForCapacity } from '../utils/resource-governor.js';
7
- import { lookupOrg } from './broker.js';
7
+ import { lookupOrg, normalizeRoot } from './broker.js';
8
8
  import { activeRoleCount } from './daemon.js';
9
+ import { clearEndpointWait, deliverToEndpoint, findEndpointRole } from './endpoint-roles.js';
9
10
  import { scanMessage } from './fence.js';
10
- import { queueMessage } from './inbox.js';
11
+ import { newMessageId, queueMessage } from './inbox.js';
12
+ import { parseTraceLine } from './tool-providers.js';
11
13
  import { ORG_DIR } from './types.js';
14
+ // ── M4 federation ───────────────────────────────────────────────────────
15
+ /** `federation.allow_*` membership: absent list = unrestricted, '*' = any. */
16
+ export function federationAllows(list, org) {
17
+ if (list === undefined)
18
+ return true;
19
+ return list.includes('*') || list.includes(org);
20
+ }
21
+ /** The org def for federation checks: the running def, else the one on disk. */
22
+ function federationDef(daemon, org) {
23
+ const running = daemon.orgs.get(org);
24
+ if (running)
25
+ return running.def;
26
+ if (!daemon.hasOrgDef(org))
27
+ return undefined;
28
+ const path = join(daemon.root, ORG_DIR, `${org}.json`);
29
+ try {
30
+ if (!existsSync(path))
31
+ return undefined;
32
+ return JSON.parse(readFileSync(path, 'utf8'));
33
+ }
34
+ catch {
35
+ return undefined;
36
+ }
37
+ }
12
38
  /** Bodies larger than this are digested to a .mail file (see mailBody). */
13
39
  const MAIL_BODY_MAX = 4096;
14
40
  /** How much of an oversized body stays inline in the digest. */
@@ -112,19 +138,49 @@ export async function pushMessage(daemon, orgName, org, toRole, from, subject, b
112
138
  const slot = org.roleSlots?.get(toRole);
113
139
  if (slot?.phase === 'draining') {
114
140
  slot.queuedDuringSwap.push(mail);
141
+ recordTrace(org, toRole, body);
142
+ clearEndpointWait(org, orgName, from);
115
143
  return true;
116
144
  }
117
145
  const agent = org.agents.get(toRole);
118
146
  if (!agent || agent.mailbox.isClosed)
119
147
  return false;
120
148
  agent.mailbox.push(mail);
149
+ recordTrace(org, toRole, body);
150
+ clearEndpointWait(org, orgName, from);
121
151
  return true;
122
152
  }
153
+ /** M1: remember the chain trace of the latest traced message a role got. */
154
+ function recordTrace(org, toRole, body) {
155
+ const trace = parseTraceLine(body);
156
+ if (!trace)
157
+ return;
158
+ if (!org.traces)
159
+ org.traces = new Map();
160
+ org.traces.set(toRole, trace);
161
+ }
123
162
  /** Route a message. to = "role" (same org) or "org:role" (cross-org). Returns a receipt string. */
124
- export async function deliver(daemon, fromOrg, fromRole, to, subject, body) {
163
+ export async function deliver(daemon, fromOrg, fromRole, to, subject, body, opts = {}) {
164
+ // M3: one id per logical message, stamped on every bus copy and queue entry.
165
+ const messageId = opts.messageId ?? newMessageId();
125
166
  const { cross, orgName: targetOrgName, role: targetRole, qualified: toQualified, } = resolveAddress(fromOrg, to);
126
167
  const targetOrg = daemon.orgs.get(targetOrgName);
127
168
  const src = daemon.orgs.get(fromOrg);
169
+ // M2: an endpoint role has no mailbox — POST to its endpoint instead.
170
+ const endpointRole = targetOrg ? findEndpointRole(targetOrg.def, targetRole) : undefined;
171
+ if (targetOrg && endpointRole) {
172
+ return deliverToEndpoint(daemon, {
173
+ orgName: targetOrgName,
174
+ org: targetOrg,
175
+ role: endpointRole,
176
+ from: cross ? `${fromOrg}:${fromRole}` : fromRole,
177
+ subject,
178
+ body,
179
+ messageId,
180
+ src,
181
+ eventTo: toQualified,
182
+ });
183
+ }
128
184
  // Lazy spawn: if the role is pending (not yet spawned), spawn it now.
129
185
  // ATOMIC GUARD: Check spawning Set to prevent duplicate spawns from concurrent messages
130
186
  const spawning = daemon.spawning.get(targetOrgName) ?? new Set();
@@ -155,6 +211,7 @@ export async function deliver(daemon, fromOrg, fromRole, to, subject, body) {
155
211
  subject,
156
212
  body,
157
213
  ts: Date.now(),
214
+ messageId,
158
215
  });
159
216
  if (!queued) {
160
217
  src?.bus.emit({
@@ -190,6 +247,7 @@ export async function deliver(daemon, fromOrg, fromRole, to, subject, body) {
190
247
  subject,
191
248
  body,
192
249
  ts: Date.now(),
250
+ messageId,
193
251
  });
194
252
  if (!queued) {
195
253
  src?.bus.emit({
@@ -216,7 +274,7 @@ export async function deliver(daemon, fromOrg, fromRole, to, subject, body) {
216
274
  }
217
275
  if (!targetOrg?.agents.has(targetRole)) {
218
276
  if (cross && daemon.opts.crossProcess)
219
- return deliverRemote(daemon, fromOrg, fromRole, targetOrgName, targetRole, toQualified, subject, body, src);
277
+ return deliverRemote(daemon, fromOrg, fromRole, targetOrgName, targetRole, toQualified, subject, body, src, messageId);
220
278
  // Queue + auto-wake: if the org definition exists locally but isn't running, spool the message and start it
221
279
  if (cross && daemon.hasOrgDef(targetOrgName)) {
222
280
  const queued = queueMessage(daemon.root, targetOrgName, {
@@ -225,6 +283,7 @@ export async function deliver(daemon, fromOrg, fromRole, to, subject, body) {
225
283
  subject,
226
284
  body,
227
285
  ts: Date.now(),
286
+ messageId,
228
287
  });
229
288
  if (!queued) {
230
289
  src?.bus.emit({
@@ -242,7 +301,7 @@ export async function deliver(daemon, fromOrg, fromRole, to, subject, body) {
242
301
  to: toQualified,
243
302
  subject,
244
303
  msg: body,
245
- data: { queued: true },
304
+ data: { queued: true, messageId },
246
305
  });
247
306
  daemon.autoWake(targetOrgName);
248
307
  return `queued for ${toQualified} (org starting)`;
@@ -258,6 +317,7 @@ export async function deliver(daemon, fromOrg, fromRole, to, subject, body) {
258
317
  subject,
259
318
  body,
260
319
  ts: Date.now(),
320
+ messageId,
261
321
  });
262
322
  if (!queued) {
263
323
  src?.bus.emit({
@@ -315,6 +375,7 @@ export async function deliver(daemon, fromOrg, fromRole, to, subject, body) {
315
375
  subject,
316
376
  body,
317
377
  ts: Date.now(),
378
+ messageId,
318
379
  });
319
380
  src?.bus.emit({
320
381
  type: 'audit',
@@ -334,6 +395,7 @@ export async function deliver(daemon, fromOrg, fromRole, to, subject, body) {
334
395
  subject,
335
396
  msg: body,
336
397
  parentId,
398
+ data: { messageId },
337
399
  };
338
400
  const emitted = src?.bus.emit({ type: cross ? 'xorg' : 'message', ...evt });
339
401
  if (cross && targetOrg !== src)
@@ -361,9 +423,26 @@ export async function deliver(daemon, fromOrg, fromRole, to, subject, body) {
361
423
  }
362
424
  return `delivered to ${toQualified}`;
363
425
  }
426
+ /** M4: the sender's allow_to check for a cross-root delivery. Returns the
427
+ * ERROR receipt when denied (and emits the audit event), else undefined. */
428
+ function federationDenied(daemon, fromOrg, fromRole, targetOrgName, to, subject, src) {
429
+ const allowTo = (src?.def ?? federationDef(daemon, fromOrg))?.federation?.allow_to;
430
+ if (federationAllows(allowTo, targetOrgName))
431
+ return undefined;
432
+ const from = `${fromOrg}:${fromRole}`;
433
+ src?.bus.emit({
434
+ type: 'audit',
435
+ from: fromRole,
436
+ to,
437
+ reason: 'federation-denied',
438
+ msg: `federation: ${from} may not send to ${to} (${subject})`,
439
+ data: { direction: 'to', from, to },
440
+ });
441
+ return `ERROR: federation: ${from} may not send to ${to}`;
442
+ }
364
443
  /** Cross-process leg of deliver(): ask the machine-local broker who hosts targetOrgName, then POST over HTTP.
365
444
  * `to` here is always the fully-qualified "org:role" display form (resolveAddress already normalized it). */
366
- async function deliverRemote(daemon, fromOrg, fromRole, targetOrgName, targetRole, to, subject, body, src) {
445
+ async function deliverRemote(daemon, fromOrg, fromRole, targetOrgName, targetRole, to, subject, body, src, messageId) {
367
446
  const remote = lookupOrg(targetOrgName, daemon.opts.brokerDir);
368
447
  if (!remote) {
369
448
  // No remote host either — queue + auto-wake if the org def exists locally
@@ -374,6 +453,7 @@ async function deliverRemote(daemon, fromOrg, fromRole, targetOrgName, targetRol
374
453
  subject,
375
454
  body,
376
455
  ts: Date.now(),
456
+ messageId,
377
457
  });
378
458
  if (!queued) {
379
459
  src?.bus.emit({
@@ -391,7 +471,7 @@ async function deliverRemote(daemon, fromOrg, fromRole, targetOrgName, targetRol
391
471
  to,
392
472
  subject,
393
473
  msg: body,
394
- data: { queued: true },
474
+ data: { queued: true, messageId },
395
475
  });
396
476
  daemon.autoWake(targetOrgName);
397
477
  return `queued for ${to} (org starting)`;
@@ -401,6 +481,10 @@ async function deliverRemote(daemon, fromOrg, fromRole, targetOrgName, targetRol
401
481
  const { lookupRemoteOrg, deliverRemote: sshDeliver } = await import('./remote.js');
402
482
  const remoteHost = lookupRemoteOrg(targetOrgName, daemon.root);
403
483
  if (remoteHost) {
484
+ // M4: another host is always another trust domain.
485
+ const denied = federationDenied(daemon, fromOrg, fromRole, targetOrgName, to, subject, src);
486
+ if (denied)
487
+ return denied;
404
488
  const result = await sshDeliver(targetOrgName, `${fromOrg}:${fromRole}`, subject, body, remoteHost);
405
489
  if (result.ok) {
406
490
  src?.bus.emit({
@@ -409,7 +493,7 @@ async function deliverRemote(daemon, fromOrg, fromRole, targetOrgName, targetRol
409
493
  to,
410
494
  subject,
411
495
  msg: body,
412
- data: { remote: 'ssh', host: remoteHost.host },
496
+ data: { remote: 'ssh', host: remoteHost.host, messageId },
413
497
  });
414
498
  return `delivered to ${to} via SSH (${remoteHost.host})`;
415
499
  }
@@ -435,6 +519,13 @@ async function deliverRemote(daemon, fromOrg, fromRole, targetOrgName, targetRol
435
519
  });
436
520
  return `ERROR: unknown recipient "${to}" (no local org, no process on this machine, and no SSH remote configured for "${targetOrgName}")`;
437
521
  }
522
+ // M4: a target under a different project root is another trust domain —
523
+ // honour the sender's federation.allow_to. Same root is never restricted.
524
+ if (remote.root !== normalizeRoot(daemon.root)) {
525
+ const denied = federationDenied(daemon, fromOrg, fromRole, targetOrgName, to, subject, src);
526
+ if (denied)
527
+ return denied;
528
+ }
438
529
  try {
439
530
  // BUG 2 FIX: attach fromOrg's OWN registered credential as proof of
440
531
  // sender identity — separate from the `x-monomind-cred` header above,
@@ -452,16 +543,25 @@ async function deliverRemote(daemon, fromOrg, fromRole, targetOrgName, targetRol
452
543
  fromOrg,
453
544
  fromRole,
454
545
  fromCredential: fromEntry?.credential,
546
+ fromRoot: normalizeRoot(daemon.root),
455
547
  toOrg: targetOrgName,
456
548
  toRole: targetRole,
457
549
  subject,
458
550
  body,
551
+ messageId,
459
552
  }),
460
553
  signal: AbortSignal.timeout(10_000),
461
554
  });
462
555
  const data = (await res.json().catch(() => ({})));
463
556
  if (res.ok && data.ok) {
464
- src?.bus.emit({ type: 'xorg', from: `${fromOrg}:${fromRole}`, to, subject, msg: body });
557
+ src?.bus.emit({
558
+ type: 'xorg',
559
+ from: `${fromOrg}:${fromRole}`,
560
+ to,
561
+ subject,
562
+ msg: body,
563
+ data: { messageId },
564
+ });
465
565
  return data.receipt ?? `delivered to ${to} (remote)`;
466
566
  }
467
567
  src?.bus.emit({
@@ -498,20 +598,48 @@ function credentialMatches(supplied, expected) {
498
598
  /** Inbound handler for cross-process delivery — called by the server's POST /api/xdeliver route
499
599
  * when ANOTHER process's deliverRemote() reaches this daemon. Pushes straight into the target
500
600
  * agent's mailbox; the agent picks it up on its own next turn (see Mailbox — never interrupts). */
501
- export async function receiveRemote(daemon, toOrg, toRole, fromQualified, subject, body, fromCredential) {
601
+ export async function receiveRemote(daemon, toOrg, toRole, fromQualified, subject, body, fromCredential, opts = {}) {
602
+ const messageId = opts.messageId ?? newMessageId();
502
603
  // BUG 2 FIX: the HTTP auth gate in server.ts only proves the caller knows a
503
604
  // credential this daemon accepts (the target org's, or the operator's) — it
504
605
  // says nothing about who the caller claims to be. Verify the claimed sender
505
606
  // actually owns the credential registered for it in the broker before
506
607
  // trusting anything else. Credentials are per-org, so a sibling org hosted
507
608
  // by the same daemon can't reuse its own to pass as `fromOrg`.
609
+ //
610
+ // M3: an OPERATOR-authenticated call (server.ts saw the operator credential)
611
+ // carries human authority and may speak as any sender — the org need not be
612
+ // registered (e.g. `workflow:<exec>` or an automation role's reply).
508
613
  const claimedFromOrg = fromQualified.split(':', 1)[0];
509
- const fromEntry = lookupOrg(claimedFromOrg, daemon.opts.brokerDir);
510
- if (!fromEntry?.credential || !credentialMatches(fromCredential, fromEntry.credential)) {
511
- return {
512
- ok: false,
513
- error: `sender "${claimedFromOrg}" failed identity verification (unregistered or credential mismatch)`,
614
+ if (!opts.operator) {
615
+ const fromEntry = lookupOrg(claimedFromOrg, daemon.opts.brokerDir);
616
+ if (!fromEntry?.credential || !credentialMatches(fromCredential, fromEntry.credential)) {
617
+ return {
618
+ ok: false,
619
+ error: `sender "${claimedFromOrg}" failed identity verification (unregistered or credential mismatch)`,
620
+ };
621
+ }
622
+ // M4 federation (operator-authenticated calls are exempt).
623
+ const fromRoot = opts.fromRoot ? normalizeRoot(opts.fromRoot) : undefined;
624
+ const reject = (error) => {
625
+ daemon.orgs.get(toOrg)?.bus.emit({
626
+ type: 'audit',
627
+ from: toRole,
628
+ reason: 'federation-denied',
629
+ msg: `${error} (from ${fromQualified})`,
630
+ data: { direction: 'from', from: fromQualified, fromRoot: fromRoot ?? null },
631
+ });
632
+ return { ok: false, error };
514
633
  };
634
+ // A sender that states no root (an older daemon, a hand-rolled client)
635
+ // is not a mismatch — it is simply treated as another root below.
636
+ if (fromEntry.root && fromRoot !== undefined && fromRoot !== fromEntry.root)
637
+ return reject('federation: root mismatch');
638
+ if (fromRoot !== normalizeRoot(daemon.root)) {
639
+ const allowFrom = federationDef(daemon, toOrg)?.federation?.allow_from;
640
+ if (!federationAllows(allowFrom, claimedFromOrg))
641
+ return reject('federation: sender not allowed');
642
+ }
515
643
  }
516
644
  const org = daemon.orgs.get(toOrg);
517
645
  if (!org) {
@@ -523,6 +651,7 @@ export async function receiveRemote(daemon, toOrg, toRole, fromQualified, subjec
523
651
  subject,
524
652
  body,
525
653
  ts: Date.now(),
654
+ messageId,
526
655
  });
527
656
  if (!queued) {
528
657
  return {
@@ -535,6 +664,26 @@ export async function receiveRemote(daemon, toOrg, toRole, fromQualified, subjec
535
664
  }
536
665
  return { ok: false, error: `org "${toOrg}" not hosted here` };
537
666
  }
667
+ // M2: an endpoint role has no mailbox — POST to its endpoint instead.
668
+ const endpointRole = findEndpointRole(org.def, toRole);
669
+ if (endpointRole) {
670
+ const from = fromQualified.startsWith(`${toOrg}:`)
671
+ ? fromQualified.slice(toOrg.length + 1)
672
+ : fromQualified;
673
+ const receipt = await deliverToEndpoint(daemon, {
674
+ orgName: toOrg,
675
+ org,
676
+ role: endpointRole,
677
+ from,
678
+ subject,
679
+ body,
680
+ messageId,
681
+ eventTo: `${toOrg}:${toRole}`,
682
+ });
683
+ return receipt.startsWith('ERROR:')
684
+ ? { ok: false, error: receipt.slice('ERROR: '.length) }
685
+ : { ok: true, receipt };
686
+ }
538
687
  // Lazy-spawn pending roles on cross-process delivery (matches deliver/answerQuestion)
539
688
  // ATOMIC GUARD: Check spawning Set to prevent duplicate spawns from concurrent messages
540
689
  const spawning = daemon.spawning.get(toOrg) ?? new Set();
@@ -561,6 +710,7 @@ export async function receiveRemote(daemon, toOrg, toRole, fromQualified, subjec
561
710
  subject,
562
711
  body,
563
712
  ts: Date.now(),
713
+ messageId,
564
714
  });
565
715
  if (!queued) {
566
716
  return {
@@ -592,6 +742,7 @@ export async function receiveRemote(daemon, toOrg, toRole, fromQualified, subjec
592
742
  subject,
593
743
  body,
594
744
  ts: Date.now(),
745
+ messageId,
595
746
  });
596
747
  if (!queued) {
597
748
  return {
@@ -624,6 +775,7 @@ export async function receiveRemote(daemon, toOrg, toRole, fromQualified, subjec
624
775
  subject,
625
776
  body,
626
777
  ts: Date.now(),
778
+ messageId,
627
779
  });
628
780
  if (!queued) {
629
781
  return {
@@ -652,6 +804,7 @@ export async function receiveRemote(daemon, toOrg, toRole, fromQualified, subjec
652
804
  to: `${toOrg}:${toRole}`,
653
805
  subject,
654
806
  msg: body,
807
+ data: { messageId },
655
808
  });
656
809
  agent.lastMessageId = messageEvent.id; // Track last message ID for response threading
657
810
  const pushed = await pushMessage(daemon, toOrg, org, toRole, fromQualified, subject, body, messageEvent.id);
@@ -1 +1 @@
1
- {"version":3,"file":"cross-org.js","sourceRoot":"","sources":["../../../src/orgrt/cross-org.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cross-org.js","sourceRoot":"","sources":["../../../src/orgrt/cross-org.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,17 @@
1
1
  import type { query } from '@anthropic-ai/claude-agent-sdk';
2
2
  import type { AgentRunner } from './agent-runner.js';
3
+ import * as approvalOps from './approvals.js';
3
4
  import { OrgBus } from './bus.js';
4
5
  import { type OrgCheckpoint, type RoleCheckpoint } from './checkpoint.js';
6
+ import * as crossOrg from './cross-org.js';
7
+ import { type EndpointWait } from './endpoint-roles.js';
5
8
  import { type RoleFence } from './fence.js';
6
9
  import { Mailbox } from './mailbox.js';
7
10
  import { PolicyEngine } from './policy.js';
8
11
  import { type RespawnReceipt, type RoleSlot } from './role-slot.js';
9
12
  import { type RuntimeOptionsReceipt } from './runtime-options.js';
10
13
  import { TaskDag } from './task-dag.js';
14
+ import { type ChainTrace, ToolProviderHub } from './tool-providers.js';
11
15
  import { type BusEvent, type DecisionGate, type OrgDef, type OrgRole, type ProviderConfig } from './types.js';
12
16
  /** Resolve which AgentRunner hosts an org's role sessions.
13
17
  * Precedence: role `runtime` field > org def `runtime` field >
@@ -147,6 +151,11 @@ export interface RunningOrg {
147
151
  /** Role ids currently undergoing replacement — rejects a concurrent
148
152
  * respawnRole() call for the same role id. */
149
153
  respawning: Set<string>;
154
+ /** M1: per-role chain trace — set from the latest delivered message carrying
155
+ * a `[trace chn_… hop=N]` line, else a fresh chain minted on first use. */
156
+ traces?: Map<string, ChainTrace>;
157
+ /** M2: reply waits for endpoint deliveries — hold the idle watchdog. */
158
+ endpointWaits?: EndpointWait[];
150
159
  }
151
160
  /** Bug 4: number of roles for this org that are actually spawned and running
152
161
  * right now — the live count run_config.max_concurrent_agents caps. A role
@@ -192,6 +201,12 @@ export interface DaemonOpts {
192
201
  tool?: string;
193
202
  decision?: 'allow' | 'deny';
194
203
  };
204
+ /** M2 (tests only): endpoint retry schedule (default [1000, 5000, 15000] ms). */
205
+ endpointRetryMs?: number[];
206
+ /** M2 (tests only): periodic endpoint re-attempt interval (default 60000 ms). */
207
+ endpointPeriodicRetryMs?: number;
208
+ /** M2 (tests only): endpoint POST timeout (default 15000 ms). */
209
+ endpointPostTimeoutMs?: number;
195
210
  }
196
211
  export declare class OrgDaemon {
197
212
  /** @internal */ root: string;
@@ -222,6 +237,13 @@ export declare class OrgDaemon {
222
237
  question: string;
223
238
  ts: number;
224
239
  approved: boolean | null;
240
+ /** M5: `apr-<ms>-<8 hex>` — addresses exactly this request. */
241
+ requestId?: string;
242
+ /** M5: the redacted argument summary `policy.decide` logged. */
243
+ input?: Record<string, unknown>;
244
+ /** M5: who resolved it (`human` by default). */
245
+ resolvedBy?: string;
246
+ resolvedAt?: number;
225
247
  }[]>;
226
248
  /** @internal */ approvalLocks: Map<string, Promise<unknown>>;
227
249
  /** @internal */ gatesLocks: Map<string, Promise<unknown>>;
@@ -235,6 +257,8 @@ export declare class OrgDaemon {
235
257
  /** @internal */ recallUsage: Map<string, Set<string>>;
236
258
  /** @internal */ orgLearnedRuns: Set<string>;
237
259
  /** @internal */ abandoned: Map<string, Set<string>>;
260
+ /** M1: role tool-provider tool-list cache and live provider processes. */
261
+ /** @internal */ toolProviders: ToolProviderHub;
238
262
  constructor(
239
263
  /** @internal */ root: string,
240
264
  /** @internal */ opts?: DaemonOpts);
@@ -256,6 +280,10 @@ export declare class OrgDaemon {
256
280
  /** Names of the orgs this daemon currently has running. Snapshot — safe to
257
281
  * iterate while stopOrg() mutates the underlying map. */
258
282
  listRunning(): string[];
283
+ /** M1: the chain trace a role's tool calls carry — from the most recent
284
+ * message delivered to it with a `[trace chn_… hop=N]` line, otherwise a
285
+ * fresh chain (hop 0) minted once and kept for the role. */
286
+ roleTrace(org: string, role: string): ChainTrace;
259
287
  /** Hook for the SSE server — registers a listener for all bus events across all orgs. */
260
288
  onBusEvent?: (fn: (e: BusEvent) => void) => void;
261
289
  /** Snapshot of all running orgs for dashboard initial load. */
@@ -324,14 +352,14 @@ export declare class OrgDaemon {
324
352
  writeHeartbeat(): void;
325
353
  clearHeartbeat(): void;
326
354
  private checkApproval;
327
- setApproval(org: string, role: string, action: string, approved: boolean): Promise<{
355
+ setApproval(org: string, role: string, action: string, approved: boolean, opts?: approvalOps.ApprovalResolveOpts): Promise<{
328
356
  ok: true;
329
357
  } | {
330
358
  ok: false;
331
359
  error: string;
332
360
  }>;
333
361
  askHuman(org: string, role: string, question: string): Promise<string>;
334
- answerQuestion(org: string, role: string, questionId: string, answer: string): Promise<{
362
+ answerQuestion(org: string, role: string, questionId: string, answer: string, resolvedBy?: string): Promise<{
335
363
  ok: true;
336
364
  } | {
337
365
  ok: false;
@@ -365,7 +393,7 @@ export declare class OrgDaemon {
365
393
  outcome: string;
366
394
  }): void;
367
395
  deliver(fromOrg: string, fromRole: string, to: string, subject: string, body: string): Promise<string>;
368
- receiveRemote(toOrg: string, toRole: string, fromQualified: string, subject: string, body: string, fromCredential?: string): Promise<{
396
+ receiveRemote(toOrg: string, toRole: string, fromQualified: string, subject: string, body: string, fromCredential?: string, opts?: crossOrg.ReceiveRemoteOpts): Promise<{
369
397
  ok: true;
370
398
  receipt: string;
371
399
  } | {