pi-fabric 0.37.6 β†’ 0.38.0

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 (67) hide show
  1. package/README.md +1 -1
  2. package/dist/actors/global-registry.d.ts.map +1 -1
  3. package/dist/actors/global-registry.js +13 -0
  4. package/dist/actors/global-registry.js.map +1 -1
  5. package/dist/actors/manager.d.ts +7 -0
  6. package/dist/actors/manager.d.ts.map +1 -1
  7. package/dist/actors/manager.js +174 -15
  8. package/dist/actors/manager.js.map +1 -1
  9. package/dist/actors/types.d.ts +6 -0
  10. package/dist/actors/types.d.ts.map +1 -1
  11. package/dist/actors/types.js.map +1 -1
  12. package/dist/agents/budget-ledger.d.ts +1 -0
  13. package/dist/agents/budget-ledger.d.ts.map +1 -1
  14. package/dist/agents/budget-ledger.js +5 -0
  15. package/dist/agents/budget-ledger.js.map +1 -1
  16. package/dist/agents/manager.d.ts +1 -0
  17. package/dist/agents/manager.d.ts.map +1 -1
  18. package/dist/agents/manager.js +11 -0
  19. package/dist/agents/manager.js.map +1 -1
  20. package/dist/agents/types.d.ts +4 -0
  21. package/dist/agents/types.d.ts.map +1 -1
  22. package/dist/fabric-state.d.ts.map +1 -1
  23. package/dist/fabric-state.js +51 -74
  24. package/dist/fabric-state.js.map +1 -1
  25. package/dist/providers/agents-provider.d.ts +3 -1
  26. package/dist/providers/agents-provider.d.ts.map +1 -1
  27. package/dist/providers/agents-provider.js +123 -20
  28. package/dist/providers/agents-provider.js.map +1 -1
  29. package/dist/providers/mesh-provider.d.ts.map +1 -1
  30. package/dist/providers/mesh-provider.js +23 -5
  31. package/dist/providers/mesh-provider.js.map +1 -1
  32. package/dist/residency/client.d.ts +38 -0
  33. package/dist/residency/client.d.ts.map +1 -0
  34. package/dist/residency/client.js +357 -0
  35. package/dist/residency/client.js.map +1 -0
  36. package/dist/residency/host.d.ts +26 -0
  37. package/dist/residency/host.d.ts.map +1 -0
  38. package/dist/residency/host.js +611 -0
  39. package/dist/residency/host.js.map +1 -0
  40. package/dist/residency/protocol.d.ts +97 -0
  41. package/dist/residency/protocol.d.ts.map +1 -0
  42. package/dist/residency/protocol.js +9 -0
  43. package/dist/residency/protocol.js.map +1 -0
  44. package/dist/topology/control-plane.d.ts +2 -0
  45. package/dist/topology/control-plane.d.ts.map +1 -1
  46. package/dist/topology/control-plane.js +1 -0
  47. package/dist/topology/control-plane.js.map +1 -1
  48. package/dist/topology/records.d.ts +6 -0
  49. package/dist/topology/records.d.ts.map +1 -0
  50. package/dist/topology/records.js +71 -0
  51. package/dist/topology/records.js.map +1 -0
  52. package/dist/topology/types.d.ts +2 -0
  53. package/dist/topology/types.d.ts.map +1 -1
  54. package/dist/ui/dashboard.d.ts.map +1 -1
  55. package/dist/ui/dashboard.js +4 -0
  56. package/dist/ui/dashboard.js.map +1 -1
  57. package/dist/ui/snapshot.d.ts.map +1 -1
  58. package/dist/ui/snapshot.js +2 -0
  59. package/dist/ui/snapshot.js.map +1 -1
  60. package/dist/ui/types.d.ts +2 -1
  61. package/dist/ui/types.d.ts.map +1 -1
  62. package/dist/ui/types.js.map +1 -1
  63. package/docs/agents.md +32 -1
  64. package/docs/architecture.md +5 -4
  65. package/package.json +13 -15
  66. package/skills/fabric-exec/SKILL.md +1 -1
  67. package/skills/fabric-exec/references/agents.md +2 -0
package/README.md CHANGED
@@ -27,7 +27,7 @@ You keep talking to Pi the way you always do. Fabric gives the model **one progr
27
27
  | :-: | ---------- | --------------- |
28
28
  | ⚑ | **Code mode** | One flat tool schema; branching, loops, fan-out, and data flow live in checked TypeScript. |
29
29
  | 🧰 | **Capability routing** | Call Pi core tools, MCP servers, captured extension tools, or Fabric providers through one runtime. |
30
- | πŸ§‘β€πŸ€β€πŸ§‘ | **Agent runtime** | One-shot workers, persistent event-driven actors, councils, and bounded recursive queries. |
30
+ | πŸ§‘β€πŸ€β€πŸ§‘ | **Agent runtime** | One-shot workers, durable resident agents, persistent event-driven actors, councils, and bounded recursive queries. |
31
31
  | πŸ•ΈοΈ | **Workflows + mesh** | Phased progress plus durable topics, shared tasks, and compare-and-swap state. |
32
32
  | πŸ›‘οΈ | **Guardrails** | Approvals, isolation, timeouts, concurrency, recursion depth, and shared cost budgets. |
33
33
  | πŸŽ›οΈ | **Native TUI** | Live activity, an interactive dashboard, and settings without leaving Pi. |
@@ -1 +1 @@
1
- {"version":3,"file":"global-registry.d.ts","sourceRoot":"","sources":["../../src/actors/global-registry.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAGV,kBAAkB,EAElB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAmDpB;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,mBAAmB;;gBAKlB,QAAQ,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM;IAM1D,IAAI,IAAI,qBAAqB,EAAE;IAI/B,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAK5D;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,kBAAkB,EAAE,SAAS,UAAQ,GAAG,qBAAqB;IA6BzE;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,qBAAqB;IAiDnF,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE;IAQ9C;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,qBAAqB,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,kBAAkB;CA6KvE"}
1
+ {"version":3,"file":"global-registry.d.ts","sourceRoot":"","sources":["../../src/actors/global-registry.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAGV,kBAAkB,EAElB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAmDpB;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,mBAAmB;;gBAKlB,QAAQ,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM;IAM1D,IAAI,IAAI,qBAAqB,EAAE;IAI/B,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAK5D;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,kBAAkB,EAAE,SAAS,UAAQ,GAAG,qBAAqB;IA6BzE;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,qBAAqB;IAsDnF,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE;IAQ9C;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,qBAAqB,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,kBAAkB;CAqLvE"}
@@ -126,6 +126,11 @@ export class GlobalActorRegistry {
126
126
  responseMode: patch.responseMode ?? existing.responseMode,
127
127
  triggerTurn: patch.triggerTurn ?? existing.triggerTurn,
128
128
  coalesce: patch.coalesce ?? existing.coalesce,
129
+ ...(patch.residency !== undefined
130
+ ? { residency: patch.residency }
131
+ : existing.residency
132
+ ? { residency: existing.residency }
133
+ : {}),
129
134
  runner: patch.runner ?? existing.runner,
130
135
  ...(patch.model !== undefined ? { model: patch.model } : existing.model ? { model: existing.model } : {}),
131
136
  ...(patch.thinking !== undefined ? { thinking: patch.thinking } : existing.thinking ? { thinking: existing.thinking } : {}),
@@ -185,6 +190,7 @@ export class GlobalActorRegistry {
185
190
  responseMode: def.responseMode,
186
191
  triggerTurn: def.triggerTurn,
187
192
  coalesce: def.coalesce,
193
+ ...(def.residency ? { residency: def.residency } : {}),
188
194
  runner: def.runner,
189
195
  ...(def.model ? { model: def.model } : {}),
190
196
  ...(def.thinking ? { thinking: def.thinking } : {}),
@@ -222,6 +228,10 @@ export class GlobalActorRegistry {
222
228
  throw new Error(`Invalid global actor response mode: ${def.responseMode}`);
223
229
  }
224
230
  const coalesce = def.coalesce ?? true;
231
+ const residency = def.residency ?? "session";
232
+ if (residency !== "session" && residency !== "durable") {
233
+ throw new Error(`Invalid global actor residency: ${String(def.residency)}`);
234
+ }
225
235
  const runner = def.runner ?? "pi";
226
236
  if (runner !== "pi" && runner !== "claude") {
227
237
  throw new Error(`Invalid global actor runner: ${String(def.runner)}`);
@@ -251,6 +261,7 @@ export class GlobalActorRegistry {
251
261
  responseMode,
252
262
  triggerTurn: deliveryPolicy.triggerTurn,
253
263
  coalesce,
264
+ residency,
254
265
  runner,
255
266
  ...(model ? { model } : {}),
256
267
  ...(thinking ? { thinking } : {}),
@@ -301,6 +312,7 @@ export class GlobalActorRegistry {
301
312
  const responseMode = record.responseMode === "directive" ? "directive" : "text";
302
313
  const triggerTurn = (delivery === "steer" || delivery === "followUp") && record.triggerTurn === true;
303
314
  const coalesce = record.coalesce !== false;
315
+ const residency = record.residency === "durable" ? "durable" : "session";
304
316
  const runner = record.runner === "claude" ? "claude" : "pi";
305
317
  const thinking = isFabricThinking(record.thinking)
306
318
  ? record.thinking
@@ -326,6 +338,7 @@ export class GlobalActorRegistry {
326
338
  responseMode,
327
339
  triggerTurn,
328
340
  coalesce,
341
+ residency,
329
342
  runner,
330
343
  createdAt: record.createdAt,
331
344
  updatedAt: typeof record.updatedAt === "number" ? record.updatedAt : record.createdAt,
@@ -1 +1 @@
1
- {"version":3,"file":"global-registry.js","sourceRoot":"","sources":["../../src/actors/global-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"global-registry.js","sourceRoot":"","sources":["../../src/actors/global-registry.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { ImageContent } from "@earendil-works/pi-ai";
2
2
  import { type FabricMeshConfig, type FabricRetentionConfig } from "../config.js";
3
3
  import { MeshStore, type MeshIdentity } from "../mesh/store.js";
4
4
  import type { FabricMainAgentTarget } from "../main-agent.js";
5
+ import type { FabricParticipantResidency } from "../topology/types.js";
5
6
  import { AgentManager } from "../agents/manager.js";
6
7
  import type { FabricActorDelivery, FabricActorDeliveryRequest, FabricActorHostEvent, FabricActorInfo, FabricActorLog, FabricActorMessage, FabricActorRequest } from "./types.js";
7
8
  export declare class ActorManager {
@@ -17,11 +18,17 @@ export declare class ActorManager {
17
18
  persistent?: boolean;
18
19
  mainAgent?: FabricMainAgentTarget;
19
20
  canManageActor?: (id: string) => boolean | undefined;
21
+ claimResidency?: FabricParticipantResidency;
22
+ rootId?: string;
23
+ meshCursorPath?: string;
20
24
  retention?: FabricRetentionConfig;
21
25
  });
22
26
  subscribe(listener: () => void): () => void;
23
27
  create(request: FabricActorRequest): Promise<FabricActorInfo>;
24
28
  list(): FabricActorInfo[];
29
+ listOwned(): FabricActorInfo[];
30
+ cede(id: string): Promise<FabricActorInfo>;
31
+ reclaim(id: string): FabricActorInfo;
25
32
  status(id: string): FabricActorInfo;
26
33
  owns(id: string): boolean;
27
34
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/actors/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/actors/manager.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ const MESH_WATCH_RECONCILE_MS = 2_000;
26
26
  const ACTOR_REGISTRY_LOCK_TIMEOUT_MS = 5_000;
27
27
  const ACTOR_REGISTRY_STALE_LOCK_MS = 30_000;
28
28
  const RETENTION_SWEEP_INTERVAL_MS = 15 * 60 * 1_000;
29
+ const RESIDENT_HOST_EVENT_TOPIC = "fabric.actor.host-event";
29
30
  const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
30
31
  const errorCode = (error) => error instanceof Error && "code" in error
31
32
  ? String(error.code)
@@ -94,8 +95,12 @@ export class ActorManager {
94
95
  #persistent;
95
96
  #mainAgent;
96
97
  #canManageActor;
98
+ #claimResidency;
99
+ #rootId;
100
+ #meshCursorPath;
97
101
  #retention;
98
102
  #locallyCreated = new Set();
103
+ #ceded = new Set();
99
104
  #ownership = new Map();
100
105
  #listeners = new Set();
101
106
  #pollTimer;
@@ -127,6 +132,9 @@ export class ActorManager {
127
132
  this.#persistent = options.persistent ?? false;
128
133
  this.#mainAgent = options.mainAgent;
129
134
  this.#canManageActor = options.canManageActor;
135
+ this.#claimResidency = options.claimResidency;
136
+ this.#rootId = options.rootId ?? identity.id;
137
+ this.#meshCursorPath = options.meshCursorPath;
130
138
  this.#registryPath = path.join(this.#actorRoot, "actors.json");
131
139
  if (this.#persistent && meshConfig.enabled)
132
140
  this.#loadActors();
@@ -138,7 +146,7 @@ export class ActorManager {
138
146
  this.#sweepRetainedRuns();
139
147
  this.#retentionTimer = setInterval(() => this.#sweepRetainedRuns(), RETENTION_SWEEP_INTERVAL_MS);
140
148
  this.#retentionTimer.unref();
141
- this.#meshOffset = mesh.latestOffset();
149
+ this.#meshOffset = this.#readMeshCursor() ?? mesh.latestOffset();
142
150
  this.#startMeshMonitor();
143
151
  }
144
152
  subscribe(listener) {
@@ -178,6 +186,10 @@ export class ActorManager {
178
186
  throw new Error(`Invalid Fabric actor topic: ${topic}`);
179
187
  }
180
188
  const deliveryPolicy = resolveActorDeliveryPolicy(request.delivery, request.triggerTurn);
189
+ const residency = request.residency ?? "session";
190
+ if (residency !== "session" && residency !== "durable") {
191
+ throw new Error(`Invalid Fabric actor residency: ${String(request.residency)}`);
192
+ }
181
193
  await validateActorValidWhile(request.validWhile);
182
194
  const runner = request.runner ?? this.agents.config.runner;
183
195
  if (runner !== "pi" && runner !== "claude") {
@@ -189,6 +201,7 @@ export class ActorManager {
189
201
  const actor = {
190
202
  id,
191
203
  name,
204
+ rootId: this.#rootId,
192
205
  instructions: request.instructions,
193
206
  status: "idle",
194
207
  events,
@@ -197,6 +210,7 @@ export class ActorManager {
197
210
  responseMode: request.responseMode ?? "text",
198
211
  triggerTurn: deliveryPolicy.triggerTurn,
199
212
  coalesce: request.coalesce ?? true,
213
+ residency,
200
214
  runner,
201
215
  ...(request.model ? { model: request.model } : {}),
202
216
  ...(request.thinking ? { thinking: request.thinking } : {}),
@@ -231,6 +245,35 @@ export class ActorManager {
231
245
  this.#syncActorsFromRegistry();
232
246
  return [...this.#actors.values()].map((actor) => this.#publicInfo(actor));
233
247
  }
248
+ listOwned() {
249
+ this.#syncActorsFromRegistry();
250
+ this.#refreshOwnership();
251
+ return [...this.#actors.values()]
252
+ .filter((actor) => this.#canManageCached(actor.id))
253
+ .map((actor) => this.#publicInfo(actor));
254
+ }
255
+ async cede(id) {
256
+ const actor = this.#requireActor(id);
257
+ this.#ceded.add(actor.id);
258
+ this.#ownership.set(actor.id, false);
259
+ actor.abortController?.abort();
260
+ for (const item of actor.queue.splice(0)) {
261
+ item.reject?.(new Error("Fabric actor residency transferred to another host"));
262
+ }
263
+ if (actor.status !== "stopped")
264
+ actor.status = "idle";
265
+ actor.updatedAt = Date.now();
266
+ this.#emitChange();
267
+ return this.#publicInfo(actor);
268
+ }
269
+ reclaim(id) {
270
+ const actor = this.#requireActor(id);
271
+ this.#ceded.delete(actor.id);
272
+ this.#locallyCreated.add(actor.id);
273
+ this.#ownership.set(actor.id, true);
274
+ this.#emitChange();
275
+ return this.#publicInfo(actor);
276
+ }
234
277
  status(id) {
235
278
  this.#syncActorsFromRegistry();
236
279
  return this.#publicInfo(this.#requireActor(id));
@@ -466,6 +509,7 @@ export class ActorManager {
466
509
  responseMode: actor.responseMode,
467
510
  triggerTurn: actor.triggerTurn,
468
511
  coalesce: actor.coalesce,
512
+ ...(actor.residency === "durable" ? { residency: "durable" } : {}),
469
513
  runner: actor.runner,
470
514
  ...(actor.model ? { model: actor.model } : {}),
471
515
  ...(actor.thinking ? { thinking: actor.thinking } : {}),
@@ -525,9 +569,7 @@ export class ActorManager {
525
569
  observeHostEvent(event, idle = false) {
526
570
  if (!this.#beginHostEvent(event, idle))
527
571
  return false;
528
- return [...this.#actors.values()].some((actor) => this.#canManageCached(actor.id) &&
529
- actor.status !== "stopped" &&
530
- actor.events.includes(event));
572
+ return [...this.#actors.values()].some((actor) => this.#observesHostEvent(actor, event));
531
573
  }
532
574
  dispatchHostEvent(event, payload, images = []) {
533
575
  const payloadIdle = typeof payload === "object" && payload !== null &&
@@ -541,9 +583,11 @@ export class ActorManager {
541
583
  dispatchObservedHostEvent(event, payload, images = []) {
542
584
  let delivered = 0;
543
585
  for (const actor of this.#actors.values()) {
544
- if (!this.#canManageCached(actor.id) ||
545
- actor.status === "stopped" ||
546
- !actor.events.includes(event)) {
586
+ if (!this.#observesHostEvent(actor, event))
587
+ continue;
588
+ if (!this.#canManageCached(actor.id)) {
589
+ this.#relayHostEvent(actor, event, payload, images);
590
+ delivered++;
547
591
  continue;
548
592
  }
549
593
  try {
@@ -560,6 +604,92 @@ export class ActorManager {
560
604
  }
561
605
  return delivered;
562
606
  }
607
+ #observesHostEvent(actor, event) {
608
+ if (actor.status === "stopped" ||
609
+ !actor.events.includes(event) ||
610
+ actor.rootId !== this.#rootId) {
611
+ return false;
612
+ }
613
+ return this.#canManageCached(actor.id) || actor.residency === "durable";
614
+ }
615
+ #relayHostEvent(actor, event, payload, images) {
616
+ const publish = (includeImages) => this.mesh.publish({
617
+ topic: RESIDENT_HOST_EVENT_TOPIC,
618
+ kind: event,
619
+ from: this.identity,
620
+ to: actor.id,
621
+ data: {
622
+ version: 1,
623
+ actorId: actor.id,
624
+ event,
625
+ payload,
626
+ mainRevision: this.#mainRevision,
627
+ taskRevision: this.#taskRevision,
628
+ idle: this.#mainIdle,
629
+ ...(includeImages && images.length > 0
630
+ ? { images: images.map((image) => ({ ...image })) }
631
+ : {}),
632
+ },
633
+ });
634
+ void publish(images.length > 0).catch(() => images.length > 0 ? publish(false).catch(() => undefined) : undefined);
635
+ }
636
+ #acceptRelayedHostEvent(actor, event) {
637
+ if (event.from.id !== actor.rootId)
638
+ return;
639
+ if (typeof event.data !== "object" || event.data === null || Array.isArray(event.data))
640
+ return;
641
+ const data = event.data;
642
+ if (data.version !== 1 ||
643
+ data.actorId !== actor.id ||
644
+ !HOST_EVENTS.has(data.event) ||
645
+ typeof data.mainRevision !== "number" ||
646
+ typeof data.taskRevision !== "number" ||
647
+ typeof data.idle !== "boolean") {
648
+ return;
649
+ }
650
+ const hostEvent = data.event;
651
+ if (!actor.events.includes(hostEvent))
652
+ return;
653
+ this.#mainRevision = Math.max(this.#mainRevision, Math.floor(data.mainRevision));
654
+ this.#taskRevision = Math.max(this.#taskRevision, Math.floor(data.taskRevision));
655
+ this.#mainIdle = data.idle;
656
+ const images = Array.isArray(data.images)
657
+ ? data.images.filter((image) => typeof image === "object" &&
658
+ image !== null &&
659
+ !Array.isArray(image) &&
660
+ image.type === "image" &&
661
+ typeof image.data === "string" &&
662
+ typeof image.mimeType === "string")
663
+ : [];
664
+ this.#enqueue(actor, `host:${hostEvent}`, data.payload, {
665
+ ...(actor.coalesce ? { coalesceKey: `host:${hostEvent}` } : {}),
666
+ ...(images.length > 0 ? { images } : {}),
667
+ ownershipChecked: true,
668
+ });
669
+ }
670
+ #readMeshCursor() {
671
+ if (!this.#meshCursorPath)
672
+ return undefined;
673
+ try {
674
+ const value = JSON.parse(fs.readFileSync(this.#meshCursorPath, "utf8"));
675
+ return value.format === 1 && typeof value.cursor === "number" && value.cursor >= 0
676
+ ? value.cursor
677
+ : undefined;
678
+ }
679
+ catch {
680
+ return undefined;
681
+ }
682
+ }
683
+ #writeMeshCursor() {
684
+ if (!this.#meshCursorPath)
685
+ return;
686
+ try {
687
+ atomicWrite(this.#meshCursorPath, { format: 1, cursor: this.#meshOffset });
688
+ }
689
+ catch {
690
+ // Cursor persistence is best-effort; replay resumes from the latest safe cursor.
691
+ }
692
+ }
563
693
  #beginHostEvent(event, idle) {
564
694
  if (this.#closing || !this.meshConfig.enabled)
565
695
  return false;
@@ -568,9 +698,7 @@ export class ActorManager {
568
698
  // Main freshness revisions can return without per-update filesystem work
569
699
  // unless an active actor actually subscribes to them.
570
700
  if (!MAIN_REVISION_EVENTS.has(event) &&
571
- ![...this.#actors.values()].some((actor) => this.#canManageCached(actor.id) &&
572
- actor.status !== "stopped" &&
573
- actor.events.includes(event)))
701
+ ![...this.#actors.values()].some((actor) => this.#observesHostEvent(actor, event)))
574
702
  return false;
575
703
  this.#syncActorsFromRegistry();
576
704
  this.#refreshOwnership();
@@ -1159,6 +1287,7 @@ export class ActorManager {
1159
1287
  else if (!event.topic.startsWith("fabric.control."))
1160
1288
  this.#dispatchMeshEvent(event);
1161
1289
  }
1290
+ this.#writeMeshCursor();
1162
1291
  }
1163
1292
  finally {
1164
1293
  this.#polling = false;
@@ -1224,7 +1353,12 @@ export class ActorManager {
1224
1353
  if (event.from.id === actor.id && !addressed)
1225
1354
  continue;
1226
1355
  try {
1227
- this.#enqueue(actor, `mesh:${event.topic}`, event);
1356
+ if (event.topic === RESIDENT_HOST_EVENT_TOPIC && addressed) {
1357
+ this.#acceptRelayedHostEvent(actor, event);
1358
+ }
1359
+ else {
1360
+ this.#enqueue(actor, `mesh:${event.topic}`, event);
1361
+ }
1228
1362
  }
1229
1363
  catch { /* skip event for a full or stopped actor */ }
1230
1364
  }
@@ -1333,6 +1467,7 @@ export class ActorManager {
1333
1467
  return {
1334
1468
  id: actor.id,
1335
1469
  name: actor.name,
1470
+ rootId: actor.rootId,
1336
1471
  instructions: actor.instructions,
1337
1472
  status: actor.status,
1338
1473
  events: actor.events,
@@ -1341,6 +1476,7 @@ export class ActorManager {
1341
1476
  responseMode: actor.responseMode,
1342
1477
  triggerTurn: actor.triggerTurn,
1343
1478
  coalesce: actor.coalesce,
1479
+ residency: actor.residency,
1344
1480
  runner: actor.runner,
1345
1481
  ...(actor.runnerSessionId ? { runnerSessionId: actor.runnerSessionId } : {}),
1346
1482
  ...(actor.model ? { model: actor.model } : {}),
@@ -1481,9 +1617,18 @@ export class ActorManager {
1481
1617
  }
1482
1618
  const known = new Set(this.#actors.keys());
1483
1619
  this.#loadActors(true);
1620
+ const persisted = new Set(this.#registryRecords().map((record) => record.id));
1484
1621
  for (const actor of this.#actors.values()) {
1485
- if (!known.has(actor.id))
1622
+ if (!known.has(actor.id)) {
1486
1623
  this.#ownership.set(actor.id, this.#ownershipDecision(actor.id));
1624
+ continue;
1625
+ }
1626
+ if (!persisted.has(actor.id) && !this.#canManageCached(actor.id)) {
1627
+ this.#actors.delete(actor.id);
1628
+ this.#ownership.delete(actor.id);
1629
+ this.#locallyCreated.delete(actor.id);
1630
+ this.#ceded.delete(actor.id);
1631
+ }
1487
1632
  }
1488
1633
  }
1489
1634
  #loadActors(onlyMissing = false) {
@@ -1527,6 +1672,7 @@ export class ActorManager {
1527
1672
  const actor = {
1528
1673
  id: record.id,
1529
1674
  name: record.name,
1675
+ rootId: typeof record.rootId === "string" ? record.rootId : this.#rootId,
1530
1676
  instructions: record.instructions,
1531
1677
  status,
1532
1678
  events: Array.isArray(record.events)
@@ -1539,6 +1685,7 @@ export class ActorManager {
1539
1685
  responseMode: record.responseMode === "directive" ? "directive" : "text",
1540
1686
  triggerTurn,
1541
1687
  coalesce: record.coalesce !== false,
1688
+ residency: record.residency === "durable" ? "durable" : "session",
1542
1689
  runner: record.runner === "claude" ? "claude" : "pi",
1543
1690
  ...(typeof record.runnerSessionId === "string" && record.runnerSessionId.trim()
1544
1691
  ? { runnerSessionId: record.runnerSessionId }
@@ -1593,6 +1740,7 @@ export class ActorManager {
1593
1740
  return {
1594
1741
  id: actor.id,
1595
1742
  name: actor.name,
1743
+ rootId: actor.rootId,
1596
1744
  status: actor.status,
1597
1745
  runner: actor.runner,
1598
1746
  events: [...actor.events],
@@ -1601,6 +1749,7 @@ export class ActorManager {
1601
1749
  responseMode: actor.responseMode,
1602
1750
  triggerTurn: actor.triggerTurn,
1603
1751
  coalesce: actor.coalesce,
1752
+ residency: actor.residency,
1604
1753
  ...(actor.model ? { model: actor.model } : {}),
1605
1754
  ...(actor.thinking ? { thinking: actor.thinking } : {}),
1606
1755
  ...(actor.tools ? { tools: [...actor.tools] } : {}),
@@ -1625,10 +1774,20 @@ export class ActorManager {
1625
1774
  }
1626
1775
  }
1627
1776
  #ownershipDecision(id) {
1628
- if (!this.#canManageActor)
1777
+ if (this.#ceded.has(id))
1778
+ return false;
1779
+ const actor = this.#actors.get(id);
1780
+ if (actor && this.#claimResidency && actor.rootId !== this.#rootId)
1781
+ return false;
1782
+ const decision = this.#canManageActor?.(id);
1783
+ if (decision !== undefined)
1784
+ return decision;
1785
+ if (this.#locallyCreated.has(id))
1629
1786
  return true;
1630
- const decision = this.#canManageActor(id);
1631
- return decision ?? this.#locallyCreated.has(id);
1787
+ if (actor && this.#claimResidency !== undefined) {
1788
+ return actor.residency === this.#claimResidency;
1789
+ }
1790
+ return this.#canManageActor === undefined;
1632
1791
  }
1633
1792
  #refreshOwnership() {
1634
1793
  if (!this.#canManageActor || this.#reloadingOwnership)