pi-fabric 0.106.0 → 0.107.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 (139) hide show
  1. package/README.md +1 -1
  2. package/dist/actors/global-registry.d.ts.map +1 -1
  3. package/dist/agents/manager.d.ts.map +1 -1
  4. package/dist/agents/runner-registry.d.ts +1 -1
  5. package/dist/agents/runner-registry.d.ts.map +1 -1
  6. package/dist/agents.js +2 -2
  7. package/dist/chunks/{chunk-ZXKYU6CH.js → chunk-3AOVGNQF.js} +4 -4
  8. package/dist/chunks/{chunk-GJVPP3NN.js → chunk-3SHUUBZJ.js} +4 -4
  9. package/dist/chunks/chunk-3SHUUBZJ.js.map +7 -0
  10. package/dist/chunks/{chunk-R5F6CHW2.js → chunk-BDQLZAMV.js} +2 -2
  11. package/dist/chunks/{chunk-MQK7POVM.js → chunk-DRY66JKC.js} +23 -21
  12. package/dist/chunks/chunk-DRY66JKC.js.map +7 -0
  13. package/dist/chunks/{chunk-OQJGPLN5.js → chunk-DU6ZA44F.js} +4 -4
  14. package/dist/chunks/{chunk-WREA4RNR.js → chunk-ECPZOET7.js} +2 -2
  15. package/dist/chunks/{chunk-BVJBYFHD.js → chunk-JIZFEZK2.js} +2 -2
  16. package/dist/chunks/{chunk-WYUV6WL3.js → chunk-JLBNPM4W.js} +2 -2
  17. package/dist/chunks/{chunk-NHJCMJWX.js → chunk-K7AERJOX.js} +6 -6
  18. package/dist/chunks/chunk-K7AERJOX.js.map +7 -0
  19. package/dist/chunks/{chunk-TFYVSAFU.js → chunk-MARGFSUE.js} +3 -3
  20. package/dist/chunks/{chunk-LOJO6DYE.js → chunk-OGORILCT.js} +2 -2
  21. package/dist/chunks/{chunk-M6IRQ3QT.js → chunk-PM6O2JUK.js} +2 -2
  22. package/dist/chunks/{chunk-T5CU2GPZ.js → chunk-RIVYOW5Q.js} +2 -2
  23. package/dist/chunks/{chunk-4RTHQGES.js → chunk-ST36EYHN.js} +4 -4
  24. package/dist/chunks/chunk-ST36EYHN.js.map +7 -0
  25. package/dist/chunks/{chunk-X2TRSE7D.js → chunk-T6KZBPQE.js} +2 -2
  26. package/dist/chunks/{chunk-DZ4WN5XJ.js → chunk-TGJ3GJDM.js} +3 -3
  27. package/dist/chunks/{chunk-M5IN6DMF.js → chunk-TJGIC767.js} +4 -4
  28. package/dist/chunks/{chunk-LWRRPPH2.js → chunk-UNKE4WWQ.js} +2 -2
  29. package/dist/chunks/chunk-UNKE4WWQ.js.map +7 -0
  30. package/dist/chunks/{chunk-S3IRPDSO.js → chunk-UPBP2YII.js} +2 -2
  31. package/dist/chunks/{chunk-6YLQ73DF.js → chunk-UZMHGK2T.js} +2 -2
  32. package/dist/chunks/{chunk-LOLCTWJF.js → chunk-VAON7IER.js} +2 -2
  33. package/dist/chunks/{chunk-PM7NQXS7.js → chunk-VIHHAY4Y.js} +2 -2
  34. package/dist/chunks/{chunk-5HZJ5LTB.js → chunk-XENCLZGL.js} +3 -3
  35. package/dist/chunks/chunk-XENCLZGL.js.map +7 -0
  36. package/dist/chunks/{chunk-L6PAMWV7.js → chunk-YBK4MDZW.js} +5 -5
  37. package/dist/chunks/{chunk-FB24AOIJ.js → chunk-YWFZOYLG.js} +3 -3
  38. package/dist/chunks/{chunk-BOONFV43.js → chunk-ZL4UD4PW.js} +4 -4
  39. package/dist/chunks/{chunk-BOONFV43.js.map → chunk-ZL4UD4PW.js.map} +1 -1
  40. package/dist/compaction/hook.js +4 -4
  41. package/dist/compaction/owner.js +5 -5
  42. package/dist/components/configuration.js +2 -2
  43. package/dist/config.d.ts +1 -1
  44. package/dist/config.d.ts.map +1 -1
  45. package/dist/core/action-registry.js +3 -3
  46. package/dist/durable/agent.d.ts +77 -0
  47. package/dist/durable/agent.d.ts.map +1 -0
  48. package/dist/durable/session.d.ts +19 -0
  49. package/dist/durable/session.d.ts.map +1 -0
  50. package/dist/durable/storage.d.ts +7 -0
  51. package/dist/durable/storage.d.ts.map +1 -0
  52. package/dist/durable/worker-host.d.ts +13 -0
  53. package/dist/durable/worker-host.d.ts.map +1 -0
  54. package/dist/durable/worker-host.js +1149 -0
  55. package/dist/durable/worker-host.js.map +7 -0
  56. package/dist/durable/worker-options.d.ts +17 -0
  57. package/dist/durable/worker-options.d.ts.map +1 -0
  58. package/dist/durable/worker.d.ts +3 -0
  59. package/dist/durable/worker.d.ts.map +1 -0
  60. package/dist/durable/worker.js +81 -0
  61. package/dist/durable/worker.js.map +7 -0
  62. package/dist/durable-controls.d.ts +27 -0
  63. package/dist/durable-controls.d.ts.map +1 -0
  64. package/dist/durable-input.d.ts +13 -0
  65. package/dist/durable-input.d.ts.map +1 -0
  66. package/dist/durable.d.ts +6 -0
  67. package/dist/durable.d.ts.map +1 -1
  68. package/dist/durable.js +194 -24
  69. package/dist/durable.js.map +4 -4
  70. package/dist/entropy/index.js +6 -6
  71. package/dist/extension-bootstrap.js +7 -7
  72. package/dist/fabric-runtime-state.js +69 -65
  73. package/dist/fabric-runtime-state.js.map +2 -2
  74. package/dist/index.js +10 -10
  75. package/dist/jev/observation.js +2 -2
  76. package/dist/jev.js +6 -6
  77. package/dist/memory/discovery.js +5 -5
  78. package/dist/memory/file-worker.js +7 -7
  79. package/dist/memory/normalize.js +4 -4
  80. package/dist/memory/search.js +5 -5
  81. package/dist/memory/worker-provider.js +8 -8
  82. package/dist/memory.js +8 -8
  83. package/dist/providers/agents-provider.d.ts.map +1 -1
  84. package/dist/providers/jev-provider.js +6 -6
  85. package/dist/providers/memory-provider.js +7 -7
  86. package/dist/residency/host.js +10 -10
  87. package/dist/residency/pi-entry.js +10 -10
  88. package/dist/runners.js +1 -1
  89. package/dist/runtime/core-override-guest-types.js +2 -2
  90. package/dist/runtime/guest-types.d.ts +1 -1
  91. package/dist/runtime/guest-types.d.ts.map +1 -1
  92. package/dist/runtime/guest-types.js +1 -1
  93. package/dist/runtime/monty-runtime.js +4 -4
  94. package/dist/runtime/node-process-runtime.js +2 -2
  95. package/dist/runtime/quickjs-runtime.js +1 -1
  96. package/dist/runtime/typescript-kernel.js +7 -7
  97. package/dist/type-error-guidance.js +1 -1
  98. package/dist/ui/conversation.js +4 -4
  99. package/dist/ui/settings-values.d.ts +1 -1
  100. package/dist/ui/settings-values.d.ts.map +1 -1
  101. package/dist/ui/settings.js +2 -2
  102. package/dist/ui/settings.js.map +2 -2
  103. package/dist/worker/model-control.d.ts.map +1 -1
  104. package/dist/worker/model-control.js.map +2 -2
  105. package/dist/worker/options.d.ts.map +1 -1
  106. package/dist/worker/options.js +4 -3
  107. package/dist/worker/options.js.map +2 -2
  108. package/dist/worker.js +95 -8
  109. package/dist/worker.js.map +2 -2
  110. package/docs/agents.md +5 -5
  111. package/docs/configuration.md +2 -2
  112. package/docs/durable-pi.md +156 -38
  113. package/package.json +6 -19
  114. package/skillsets/typescript/fabric-exec/SKILL.md +1 -1
  115. package/dist/chunks/chunk-4RTHQGES.js.map +0 -7
  116. package/dist/chunks/chunk-5HZJ5LTB.js.map +0 -7
  117. package/dist/chunks/chunk-GJVPP3NN.js.map +0 -7
  118. package/dist/chunks/chunk-LWRRPPH2.js.map +0 -7
  119. package/dist/chunks/chunk-MQK7POVM.js.map +0 -7
  120. package/dist/chunks/chunk-NHJCMJWX.js.map +0 -7
  121. /package/dist/chunks/{chunk-ZXKYU6CH.js.map → chunk-3AOVGNQF.js.map} +0 -0
  122. /package/dist/chunks/{chunk-R5F6CHW2.js.map → chunk-BDQLZAMV.js.map} +0 -0
  123. /package/dist/chunks/{chunk-OQJGPLN5.js.map → chunk-DU6ZA44F.js.map} +0 -0
  124. /package/dist/chunks/{chunk-WREA4RNR.js.map → chunk-ECPZOET7.js.map} +0 -0
  125. /package/dist/chunks/{chunk-BVJBYFHD.js.map → chunk-JIZFEZK2.js.map} +0 -0
  126. /package/dist/chunks/{chunk-WYUV6WL3.js.map → chunk-JLBNPM4W.js.map} +0 -0
  127. /package/dist/chunks/{chunk-TFYVSAFU.js.map → chunk-MARGFSUE.js.map} +0 -0
  128. /package/dist/chunks/{chunk-LOJO6DYE.js.map → chunk-OGORILCT.js.map} +0 -0
  129. /package/dist/chunks/{chunk-M6IRQ3QT.js.map → chunk-PM6O2JUK.js.map} +0 -0
  130. /package/dist/chunks/{chunk-T5CU2GPZ.js.map → chunk-RIVYOW5Q.js.map} +0 -0
  131. /package/dist/chunks/{chunk-X2TRSE7D.js.map → chunk-T6KZBPQE.js.map} +0 -0
  132. /package/dist/chunks/{chunk-DZ4WN5XJ.js.map → chunk-TGJ3GJDM.js.map} +0 -0
  133. /package/dist/chunks/{chunk-M5IN6DMF.js.map → chunk-TJGIC767.js.map} +0 -0
  134. /package/dist/chunks/{chunk-S3IRPDSO.js.map → chunk-UPBP2YII.js.map} +0 -0
  135. /package/dist/chunks/{chunk-6YLQ73DF.js.map → chunk-UZMHGK2T.js.map} +0 -0
  136. /package/dist/chunks/{chunk-LOLCTWJF.js.map → chunk-VAON7IER.js.map} +0 -0
  137. /package/dist/chunks/{chunk-PM7NQXS7.js.map → chunk-VIHHAY4Y.js.map} +0 -0
  138. /package/dist/chunks/{chunk-L6PAMWV7.js.map → chunk-YBK4MDZW.js.map} +0 -0
  139. /package/dist/chunks/{chunk-FB24AOIJ.js.map → chunk-YWFZOYLG.js.map} +0 -0
package/README.md CHANGED
@@ -161,7 +161,7 @@ See the [interface & commands reference](docs/interface.md) for every view, keyb
161
161
  - [Native codemode APIs](docs/codemode-parity.md): the `models` namespace, native classifiers and images, branch-local script state, output helpers, and per-call limits.
162
162
  - [Prompt cache](docs/prompt-cache.md): honest cache observations and optional, time-bounded native warming leases.
163
163
  - [Thinking control](docs/thinking.md): scoped host-session reasoning effort with configured bounds that children inherit and never widen.
164
- - [Optional durable Pi runner](docs/durable-pi.md): explicit hosted-backend registration, persistent submissions, recovery boundaries, and unchanged default runner behavior.
164
+ - [Durable Pi runner](docs/durable-pi.md): the default isolated Pi/Fabric host, checkpoint recovery, replay boundaries, and the explicit legacy `pi` option.
165
165
  - [Durable decisions](docs/decisions.md): pending approvals and questions in the project mesh, headless approvals, routed child dialogs, `/fabric decisions`, and the `pi-fabric decisions` CLI.
166
166
  - [Saved programs](docs/programs.md): content-addressed programs, nested `programs.run` with the caller's capabilities, `/fabric programs`, and host runs through `/fabric run` or an event.
167
167
  - [Memory & recall](docs/memory-recall.md): compact ranked hits, uniform follow calls, lossless expansion, and guest-local `memory.walk` computation.
@@ -1 +1 @@
1
- {"version":3,"file":"global-registry.d.ts","sourceRoot":"","sources":["../../src/actors/global-registry.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAGV,kBAAkB,EAElB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAsEpB;;;;;;;;;;;;;;;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;IAuDnF,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;CAwMvE"}
1
+ {"version":3,"file":"global-registry.d.ts","sourceRoot":"","sources":["../../src/actors/global-registry.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAGV,kBAAkB,EAElB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAsEpB;;;;;;;;;;;;;;;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;IAuDnF,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;CAyMvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/agents/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/agents/manager.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import type { FabricKernel } from "../runtime/kernel.js";
4
4
  import type { FabricThinking } from "../thinking.js";
5
5
  import type { FabricAgentLineage, FabricWritePolicy } from "./child-env.js";
6
6
  import type { AgentChildQuestionResponse, AgentUsage } from "./types.js";
7
- export type BuiltInFabricAgentRunner = "pi" | "claude" | "veda";
7
+ export type BuiltInFabricAgentRunner = "pi" | "pi-durable" | "claude" | "veda";
8
8
  /**
9
9
  * What a runner honors. Fabric refuses a request that needs an undeclared
10
10
  * capability before admission, budget, or worktree side effects.
@@ -1 +1 @@
1
- {"version":3,"file":"runner-registry.d.ts","sourceRoot":"","sources":["../../src/agents/runner-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner-registry.d.ts","sourceRoot":"","sources":["../../src/agents/runner-registry.ts"],"names":[],"mappings":"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"}
package/dist/agents.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  AGENTS_ACTION_DESCRIPTORS,
6
6
  normalizeAgentRunRequest
7
- } from "./chunks/chunk-GJVPP3NN.js";
7
+ } from "./chunks/chunk-3SHUUBZJ.js";
8
8
  import {
9
9
  AgentAdmission,
10
10
  assertAgentTask,
@@ -21,7 +21,7 @@ import "./chunks/chunk-PYQM7KPL.js";
21
21
  import {
22
22
  actionArgNormalizer
23
23
  } from "./chunks/chunk-NQOEHX62.js";
24
- import "./chunks/chunk-4RTHQGES.js";
24
+ import "./chunks/chunk-ST36EYHN.js";
25
25
  import "./chunks/chunk-CYMDX3XP.js";
26
26
 
27
27
  // src/agents/service-schema.ts
@@ -1,9 +1,9 @@
1
- import {
2
- isPiShellRef
3
- } from "./chunk-YU62DDKK.js";
4
1
  import {
5
2
  isNormalFormWitness
6
3
  } from "./chunk-ABJCSNZO.js";
4
+ import {
5
+ isPiShellRef
6
+ } from "./chunk-YU62DDKK.js";
7
7
 
8
8
  // src/audit/projection.ts
9
9
  var emptyProjection = (args) => ({
@@ -831,4 +831,4 @@ export {
831
831
  isFabricExecutionTraceV1,
832
832
  readFabricExecutionTraceV1
833
833
  };
834
- //# sourceMappingURL=chunk-ZXKYU6CH.js.map
834
+ //# sourceMappingURL=chunk-3AOVGNQF.js.map
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-PYQM7KPL.js";
19
19
  import {
20
20
  isFabricRunnerId
21
- } from "./chunk-4RTHQGES.js";
21
+ } from "./chunk-ST36EYHN.js";
22
22
 
23
23
  // src/providers/agents-actions.ts
24
24
  var RUNNER_ID_SOURCE = "^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$";
@@ -29,7 +29,7 @@ var runProperties = {
29
29
  type: "string",
30
30
  pattern: RUNNER_ID_SOURCE,
31
31
  maxLength: 64,
32
- description: "Execution harness: pi, claude, veda, or a runner registered through pi-fabric/runners. Defaults to agents.runner."
32
+ description: "Execution harness: pi-durable (default), pi, claude, veda, or a runner registered through pi-fabric/runners. Defaults to agents.runner."
33
33
  },
34
34
  kernel: {
35
35
  type: "string",
@@ -783,7 +783,7 @@ var normalizeAgentRunRequest = (args, defaults, options = {}) => {
783
783
  throw new Error(`Invalid Fabric agent runner: ${JSON.stringify(args.runner)}`);
784
784
  }
785
785
  const runner = args.runner ?? defaults.runner;
786
- const inheritedModel = runner === "pi" && !defaults.model && defaults.inheritedModel ? `${defaults.inheritedModel.provider}/${defaults.inheritedModel.id}` : void 0;
786
+ const inheritedModel = (runner === "pi" || runner === "pi-durable") && !defaults.model && defaults.inheritedModel ? `${defaults.inheritedModel.provider}/${defaults.inheritedModel.id}` : void 0;
787
787
  const kernel = checkedKernel(args.kernel);
788
788
  const thinkingBounds = args.thinkingBounds === void 0 ? void 0 : normalizeThinkingBounds(args.thinkingBounds, "thinkingBounds");
789
789
  if (args.recursive === true && args.extensions === false) {
@@ -822,4 +822,4 @@ export {
822
822
  AGENTS_ACTION_DESCRIPTORS,
823
823
  normalizeAgentRunRequest
824
824
  };
825
- //# sourceMappingURL=chunk-GJVPP3NN.js.map
825
+ //# sourceMappingURL=chunk-3SHUUBZJ.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/providers/agents-actions.ts", "../../src/agents/request.ts"],
4
+ "sourcesContent": ["import { FABRIC_ACTOR_HOST_EVENTS } from \"../actors/types.js\";\nimport {\n MAX_COMPACTION_INSTRUCTIONS_CHARS,\n MAX_PRESERVE_ITEM_CHARS,\n MAX_PRESERVE_ITEMS,\n} from \"../compaction/instructions.js\";\nimport { FABRIC_LIFECYCLE_EVENTS } from \"../lifecycle/types.js\";\nimport type { FabricActionDescriptor } from \"../protocol.js\";\n\n// RUNNER_ID_PATTERN (src/agents/runner-registry.ts) as source text; kept in sync by a test.\nconst RUNNER_ID_SOURCE = \"^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$\";\n\nconst runProperties = {\n task: { type: \"string\", description: \"A self-contained task for the child agent\" },\n name: { type: \"string\" },\n runner: {\n type: \"string\",\n pattern: RUNNER_ID_SOURCE,\n maxLength: 64,\n description: \"Execution harness: pi-durable (default), pi, claude, veda, or a runner registered through pi-fabric/runners. Defaults to agents.runner.\",\n },\n kernel: {\n type: \"string\",\n enum: [\"typescript\", \"python\", \"inherit\"],\n description: \"Fabric execution language. Omitted/inherit uses the caller executor.kernel; concrete choices require Pi with extensions enabled. Python uses the configured backend; CPython is native execution.\",\n },\n transport: {\n type: \"string\",\n enum: [\"auto\", \"process\", \"tmux\", \"screen\", \"localterm\", \"herdr\"],\n },\n model: {\n type: \"string\",\n description:\n \"Pi provider/id copied from agents.models({ runner: \\\"pi\\\" }), a configured models.aliases name, or a search term resolved to the closest authenticated model (recency from pi-model-sort breaks ties). Reuse returned keys; never infer version numbers from agent names. Exact keys win; near-miss IDs resolve to the closest visible model on the same provider. Handles report the canonical model. Claude runtime value or Veda backend model/alias are forwarded verbatim.\",\n },\n persona: {\n type: \"string\",\n description: \"Veda persona name for this run, such as frontend, reviewer, worker, or a custom persona.\",\n },\n thinking: {\n type: \"string\",\n enum: [\"off\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\", \"max\"],\n },\n thinkingBounds: {\n type: \"object\",\n properties: {\n min: { type: \"string\", enum: [\"off\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\", \"max\"] },\n max: { type: \"string\", enum: [\"off\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\", \"max\"] },\n },\n additionalProperties: false,\n description: \"Optional child thinking bounds; must lie inside this session's bounds (omitted ends inherit). Child Fabric sessions never widen them. thinking outside the effective bounds is clamped and reported as requestedThinking.\",\n },\n tools: { type: \"array\", items: { type: \"string\" } },\n timeoutMs: {\n type: \"number\",\n description:\n \"Optional longer wall-clock limit in milliseconds. Omit to use agents.timeoutMs (60 minutes by default); values below the configured default are ignored.\",\n },\n extensions: { type: \"boolean\" },\n recursive: { type: \"boolean\" },\n cwd: {\n type: \"string\",\n description: \"Filesystem execution directory for leaf or recursive Pi runs; relative paths resolve from the caller cwd. Does not change project/mesh ownership or grant target project trust.\",\n },\n worktree: { type: \"boolean\" },\n worktreeSetup: {\n type: \"string\",\n maxLength: 8192,\n description: \"Shell command run in a new worktree before the child starts; overrides agents.worktree.setup. Non-zero exit fails the run.\",\n },\n seed: {\n type: \"string\",\n enum: [\"task\", \"branch\", \"snippet\"],\n description: \"Child context (Pi only). task (default): the task alone. branch: a non-blocking fork of this conversation up to its last completed turn, then the task. snippet: the last seedMessages user/assistant texts prefixed to the task.\",\n },\n seedMessages: { type: \"integer\", minimum: 1, maximum: 50, description: \"snippet only; default 12\" },\n readOnly: { type: \"boolean\", description: \"Pi only: refuse write/edit (and shell unless shell: \\\"unconfined\\\") in the child\" },\n writableRoots: {\n type: \"array\",\n items: { type: \"string\", maxLength: 4096 },\n maxItems: 32,\n description: \"Pi only: confine write/edit to these directories (relative to the child cwd; default the cwd). Shell is refused unless shell: \\\"unconfined\\\".\",\n },\n scope: {\n type: \"object\",\n properties: {\n grants: {\n type: \"array\",\n maxItems: 64,\n items: {\n type: \"object\",\n properties: {\n resource: { type: \"string\", minLength: 3, maxLength: 512 },\n actions: { type: \"array\", minItems: 1, maxItems: 3, items: { type: \"string\", enum: [\"read\", \"write\", \"execute\"] } },\n },\n required: [\"resource\", \"actions\"],\n additionalProperties: false,\n },\n },\n },\n required: [\"grants\"],\n additionalProperties: false,\n description: \"Narrow this session's host-issued scope for the child (each grant must be covered by a parent grant; resource <ns>:<path>, <ns>:<path>/*, <ns>:<path>/**, <ns>:*). Omit to inherit it; refused in an unscoped session.\",\n },\n shell: {\n type: \"string\",\n enum: [\"deny\", \"unconfined\"],\n description: \"With a write policy, bash is refused by default; unconfined allows it and is not a sandbox\",\n },\n schema: { type: \"object\", description: \"Optional JSON Schema for validated structured output\" },\n systemPrompt: {\n type: \"string\",\n description: \"Optional extra system prompt body for this child run. Pi runners merge it below component guidance and forward it via --system-prompt; Claude runners receive it via --append-system-prompt. Useful for reliability-focused prompt rules on models with weak behavioral defaults.\",\n },\n persistSession: {\n type: \"boolean\",\n description: \"Claude runner only: persist the Claude Code transcript for hook-based observability. Defaults to false.\",\n },\n};\n\nconst runSchema = {\n type: \"object\",\n properties: runProperties,\n required: [\"task\"],\n additionalProperties: false,\n};\n\nconst residencySchema = {\n type: \"string\",\n enum: [\"session\", \"durable\"],\n description: \"session stops with the current Pi host; durable transfers execution to Fabric's hidden resident host.\",\n};\n\nconst actorBindingScopeSchema = {\n type: \"string\",\n enum: [\"session\", \"project\"],\n description: \"session (default) changes only this Pi session; project pins the shared actor default and requires ownership.\",\n};\n\nconst actorInvocationProperties = {\n id: { type: \"string\" },\n message: { type: \"string\" },\n data: {},\n model: {\n ...runProperties.model,\n description: \"Optional model pinned only for this actor activation.\",\n },\n thinking: runProperties.thinking,\n};\n\nconst spawnSchema = {\n ...runSchema,\n properties: { ...runProperties, residency: residencySchema },\n};\n\nconst handoffCompactionSchema = {\n anyOf: [\n { type: \"boolean\" },\n {\n type: \"object\",\n properties: {\n instructions: {\n type: \"string\",\n maxLength: MAX_COMPACTION_INSTRUCTIONS_CHARS,\n description: \"Custom compaction instructions for the inherited trajectory\",\n },\n preserve: {\n type: \"array\",\n items: { type: \"string\", maxLength: MAX_PRESERVE_ITEM_CHARS },\n maxItems: MAX_PRESERVE_ITEMS,\n description: \"Explicit bounded facts the trajectory summary must preserve\",\n },\n },\n additionalProperties: false,\n },\n ],\n description:\n \"Compact the inherited trajectory with Fabric's deterministic compactor before the executor resumes it. `true` applies the default summary; an object customizes instructions and bounded preserve facts. Omitted keeps the full raw trajectory.\",\n};\n\nconst handoffSchema = {\n type: \"object\",\n properties: {\n task: {\n type: \"string\",\n description: \"Optional instructions for the executor in addition to the inherited trajectory\",\n },\n name: runProperties.name,\n kernel: runProperties.kernel,\n transport: runProperties.transport,\n model: {\n ...runProperties.model,\n description: \"Explicit Pi provider/id target that will continue the inherited trajectory\",\n },\n thinking: runProperties.thinking,\n tools: runProperties.tools,\n timeoutMs: runProperties.timeoutMs,\n extensions: runProperties.extensions,\n recursive: runProperties.recursive,\n schema: runProperties.schema,\n compact: handoffCompactionSchema,\n },\n required: [\"model\"],\n additionalProperties: false,\n};\n\nconst idSchema = {\n type: \"object\",\n properties: { id: { type: \"string\" } },\n required: [\"id\"],\n additionalProperties: false,\n};\n\nconst lifecycleEventSchema = {\n type: \"string\",\n enum: [...FABRIC_LIFECYCLE_EVENTS],\n};\n\nexport const AGENTS_ACTION_DESCRIPTORS: FabricActionDescriptor[] = [\n {\n name: \"run\",\n description: \"Run a child agent through Pi or Claude Code and wait for its final result\",\n inputSchema: runSchema,\n risk: \"agent\",\n },\n {\n name: \"handoff\",\n description:\n \"Schedule a Pi trajectory handoff after the current outer fabric_exec result, then wait for implementation at that boundary\",\n inputSchema: handoffSchema,\n risk: \"agent\",\n },\n {\n name: \"spawn\",\n description:\n \"Start a child agent through Pi or Claude Code and return a handle immediately. For independent launches, await Promise.allSettled and inspect every result so one rejection does not abort pending sibling calls at program exit. Unread detached results are batched at the next safe turn boundary (or wake idle Main) when agents.notifyOnComplete is enabled. wait/join and terminal status acknowledge results and retract pending notifications. Use wait when this program needs the result; do not poll status in a loop.\",\n inputSchema: spawnSchema,\n risk: \"agent\",\n },\n {\n name: \"wait\",\n description: \"Wait for a previously spawned child agent and acknowledge its result, suppressing a duplicate completion notification\",\n effect: { kind: \"emission\", ordering: \"commutative\", resources: [\"agents.completions\"] },\n inputSchema: idSchema,\n risk: \"read\",\n },\n {\n name: \"join\",\n description: \"Alias for agents.wait: wait for a previously spawned child agent with the same progress and completion-notification behavior\",\n effect: { kind: \"emission\", ordering: \"commutative\", resources: [\"agents.completions\"] },\n inputSchema: idSchema,\n risk: \"read\",\n },\n {\n name: \"status\",\n description: \"Get the latest status of any known project participant. A terminal child-agent result acknowledges its pending completion notification; running status does not.\",\n effect: { kind: \"emission\", ordering: \"commutative\", resources: [\"agents.completions\"] },\n inputSchema: idSchema,\n risk: \"read\",\n },\n {\n name: \"list\",\n description: \"List agent participants locally, across the current lineage, or across the project\",\n inputSchema: {\n type: \"object\",\n properties: { scope: { type: \"string\", enum: [\"local\", \"lineage\", \"project\"] } },\n additionalProperties: false,\n },\n risk: \"read\",\n },\n {\n name: \"members\",\n description: \"List the unified project topology of roots, agents, and actors\",\n inputSchema: {\n type: \"object\",\n properties: {\n scope: { type: \"string\", enum: [\"local\", \"lineage\", \"project\"] },\n kinds: {\n type: \"array\",\n items: { type: \"string\", enum: [\"root\", \"agent\", \"actor\"] },\n },\n includeStale: { type: \"boolean\" },\n },\n additionalProperties: false,\n },\n risk: \"read\",\n },\n {\n name: \"self\",\n description: \"Return this caller's intrinsic participant identity in the unified topology\",\n inputSchema: { type: \"object\", properties: {}, additionalProperties: false },\n risk: \"read\",\n },\n {\n name: \"main\",\n description:\n \"Return the root user-facing Main Pi agent target. The stable alias main is also accepted by agents.steer and agents.followUp.\",\n inputSchema: { type: \"object\", properties: {}, additionalProperties: false },\n risk: \"read\",\n },\n {\n name: \"sessions\",\n description: \"List all live root Pi session agents in the project, including the current lineage root and peers, with symmetric participant identities.\",\n inputSchema: { type: \"object\", properties: {}, additionalProperties: false },\n risk: \"read\",\n },\n {\n name: \"peers\",\n description: \"List other live root Pi sessions sharing this project mesh. The dashboard-owning session remains Main; these targets are named peers.\",\n inputSchema: { type: \"object\", properties: {}, additionalProperties: false },\n risk: \"read\",\n },\n {\n name: \"subscribe\",\n description:\n \"Create a durable source-qualified participant lifecycle subscription. Events are delivered to Main by default or to another participant through steer/follow-up routing.\",\n inputSchema: {\n type: \"object\",\n properties: {\n from: { type: \"string\", description: \"Exact source participant id; main means this lineage root\" },\n events: { type: \"array\", minItems: 1, items: lifecycleEventSchema },\n to: { type: \"string\", description: \"Target participant id; defaults to main\" },\n delivery: { type: \"string\", enum: [\"steer\", \"followUp\"] },\n triggerTurn: { type: \"boolean\" },\n once: { type: \"boolean\" },\n },\n required: [\"from\", \"events\", \"delivery\", \"triggerTurn\"],\n additionalProperties: false,\n },\n risk: \"agent\",\n },\n {\n name: \"subscriptions\",\n description: \"List durable participant lifecycle subscriptions, optionally filtered by source or target\",\n inputSchema: {\n type: \"object\",\n properties: { from: { type: \"string\" }, to: { type: \"string\" } },\n additionalProperties: false,\n },\n risk: \"read\",\n },\n {\n name: \"unsubscribe\",\n description: \"Remove a participant lifecycle subscription\",\n inputSchema: idSchema,\n risk: \"agent\",\n },\n {\n name: \"models\",\n description:\n \"List models exposed by the selected runner. Claude models are enumerated from the installed Claude Code runtime, not hard-coded.\",\n inputSchema: {\n type: \"object\",\n properties: {\n runner: { type: \"string\", pattern: RUNNER_ID_SOURCE, maxLength: 64 },\n refresh: { type: \"boolean\" },\n },\n additionalProperties: false,\n },\n risk: \"execute\",\n },\n {\n name: \"switchModel\",\n description:\n \"Switch Main's live Pi session model in place. The model selector accepts an exact provider/id, a configured models.aliases name (alias chains try each target in order until one is authenticated), an exact model id, or a search term; inexact terms resolve to the closest match, preferring recently used models (via pi-model-sort usage, when present).\",\n inputSchema: {\n type: \"object\",\n properties: {\n model: {\n type: \"string\",\n description: \"provider/id, alias name, or search term\",\n },\n provider: { type: \"string\" },\n },\n required: [\"model\"],\n additionalProperties: false,\n },\n risk: \"agent\",\n },\n {\n name: \"stop\",\n description: \"Stop a local or remotely owned agent or actor that advertises the stop capability\",\n inputSchema: idSchema,\n risk: \"agent\",\n },\n {\n name: \"cleanup\",\n description: \"Remove a completed agent's run files and optional Git worktree\",\n inputSchema: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n deleteBranch: { type: \"boolean\" },\n },\n required: [\"id\"],\n additionalProperties: false,\n },\n risk: \"write\",\n },\n {\n name: \"create\",\n description:\n 'Create a persistent actor with independently selected session or project storage. Use scope \"global\" to save a reusable project-independent template instead of a live actor.',\n inputSchema: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n instructions: { type: \"string\" },\n events: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: [...FABRIC_ACTOR_HOST_EVENTS],\n },\n },\n topics: { type: \"array\", items: { type: \"string\" } },\n delivery: {\n type: \"string\",\n enum: [\"mailbox\", \"steer\", \"followUp\", \"nextTurn\"],\n },\n responseMode: { type: \"string\", enum: [\"text\", \"directive\"] },\n triggerTurn: { type: \"boolean\" },\n coalesce: { type: \"boolean\" },\n residency: residencySchema,\n runner: runProperties.runner,\n kernel: runProperties.kernel,\n model: runProperties.model,\n thinking: runProperties.thinking,\n tools: runProperties.tools,\n transport: runProperties.transport,\n timeoutMs: runProperties.timeoutMs,\n extensions: runProperties.extensions,\n requires: {\n type: \"array\",\n maxItems: 128,\n description: \"Exact Fabric provider.action refs committed before every actor run. Object entries may be optional.\",\n items: {\n oneOf: [\n { type: \"string\", minLength: 3, maxLength: 256 },\n {\n type: \"object\",\n properties: {\n ref: { type: \"string\", minLength: 3, maxLength: 256 },\n optional: { type: \"boolean\" },\n },\n required: [\"ref\"],\n additionalProperties: false,\n },\n ],\n },\n },\n validWhile: {\n type: \"object\",\n properties: { version: { const: 1 }, source: { type: \"string\" } },\n required: [\"version\", \"source\"],\n additionalProperties: false,\n },\n scope: {\n type: \"string\",\n enum: [\"session\", \"project\", \"global\"],\n description: \"session isolates the actor to the root Pi session; project shares it across sessions; global creates a non-live template.\",\n },\n },\n required: [\"name\", \"instructions\"],\n oneOf: [\n {\n properties: {\n delivery: { const: \"mailbox\" },\n triggerTurn: { const: false },\n },\n },\n {\n properties: {\n delivery: { const: \"nextTurn\" },\n triggerTurn: { const: false },\n },\n required: [\"delivery\"],\n },\n {\n properties: { delivery: { enum: [\"steer\", \"followUp\"] } },\n required: [\"delivery\", \"triggerTurn\"],\n },\n ],\n additionalProperties: false,\n },\n risk: \"agent\",\n },\n {\n name: \"ask\",\n description: \"Send a message to a persistent actor through its live owner and wait for its next response. Optional model/thinking values apply only to this activation.\",\n inputSchema: {\n type: \"object\",\n properties: actorInvocationProperties,\n required: [\"id\", \"message\"],\n additionalProperties: false,\n },\n risk: \"agent\",\n },\n {\n name: \"tell\",\n description: \"Queue a message through a persistent actor's live owner without waiting. Optional model/thinking values apply only to this activation.\",\n inputSchema: {\n type: \"object\",\n properties: actorInvocationProperties,\n required: [\"id\", \"message\"],\n additionalProperties: false,\n },\n risk: \"agent\",\n },\n {\n name: \"steer\",\n description:\n \"Steer Main, a running one-shot agent between turns, or a persistent actor through its mailbox. The stable id alias main targets the root user-facing Pi session. Non-local targets route over the project mesh.\",\n inputSchema: {\n type: \"object\",\n properties: { id: { type: \"string\" }, message: { type: \"string\" }, data: {} },\n required: [\"id\", \"message\"],\n additionalProperties: false,\n },\n risk: \"agent\",\n },\n {\n name: \"followUp\",\n description:\n \"Queue a follow-up for Main or a running one-shot agent, or enqueue a persistent actor mailbox message. The stable id alias main targets the root user-facing Pi session. Non-local targets route over the project mesh.\",\n inputSchema: {\n type: \"object\",\n properties: { id: { type: \"string\" }, message: { type: \"string\" }, data: {} },\n required: [\"id\", \"message\"],\n additionalProperties: false,\n },\n risk: \"agent\",\n },\n {\n name: \"setSteeringMode\",\n description:\n \"Set how queued steer messages are delivered to a running one-shot agent: all at once after the current turn, or one per turn (default). Local agent only.\",\n inputSchema: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n mode: { type: \"string\", enum: [\"all\", \"one-at-a-time\"] },\n },\n required: [\"id\", \"mode\"],\n additionalProperties: false,\n },\n risk: \"agent\",\n },\n {\n name: \"setFollowUpMode\",\n description:\n \"Set how queued follow-up messages are delivered to a one-shot agent: all when it finishes, or one per completion (default). Local agent only.\",\n inputSchema: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n mode: { type: \"string\", enum: [\"all\", \"one-at-a-time\"] },\n },\n required: [\"id\", \"mode\"],\n additionalProperties: false,\n },\n risk: \"agent\",\n },\n {\n name: \"compact\",\n description:\n \"Request an advisory compaction of a running Pi-runner child agent's context at its next safe boundary (between its own turns), preserving the child's accumulated context. Rejected for Claude-runner children. The child pi core applies the compaction; Fabric only forwards the intent.\",\n inputSchema: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n instructions: {\n type: \"string\",\n description: \"Optional custom compaction instructions forwarded to the child pi\",\n },\n },\n required: [\"id\"],\n additionalProperties: false,\n },\n risk: \"agent\",\n },\n {\n name: \"actorStatus\",\n description: \"Read one persistent actor's status\",\n inputSchema: idSchema,\n risk: \"read\",\n },\n {\n name: \"actors\",\n description:\n 'List persistent actors. Default scope \"project\" lists live actors in this Fabric session; scope \"global\" lists project-independent templates in the global registry.',\n inputSchema: {\n type: \"object\",\n properties: { scope: { type: \"string\", enum: [\"project\", \"global\"] } },\n additionalProperties: false,\n },\n risk: \"read\",\n },\n {\n name: \"messages\",\n description: \"Read a persistent actor's bounded inbox and outbox history\",\n inputSchema: {\n type: \"object\",\n properties: { id: { type: \"string\" }, limit: { type: \"number\", minimum: 1 } },\n required: [\"id\"],\n additionalProperties: false,\n },\n risk: \"read\",\n },\n {\n name: \"setModel\",\n description:\n \"Change or clear a persistent actor model binding. Session scope is the default; project scope explicitly pins the shared definition default.\",\n inputSchema: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n model: { type: \"string\" },\n scope: actorBindingScopeSchema,\n },\n required: [\"id\"],\n additionalProperties: false,\n },\n risk: \"agent\",\n },\n {\n name: \"setThinking\",\n description:\n \"Change or clear a persistent actor reasoning-effort binding. Session scope is the default; project scope explicitly pins the shared definition default.\",\n inputSchema: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n thinking: runProperties.thinking,\n scope: actorBindingScopeSchema,\n },\n required: [\"id\"],\n additionalProperties: false,\n },\n risk: \"agent\",\n },\n {\n name: \"setTools\",\n description:\n \"Replace a persistent actor's tool allowlist. Takes effect on its next queued message; an empty list disables optional tools.\",\n inputSchema: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n tools: runProperties.tools,\n scope: { type: \"string\", enum: [\"project\", \"global\"] },\n },\n required: [\"id\", \"tools\"],\n additionalProperties: false,\n },\n risk: \"agent\",\n },\n {\n name: \"setEvents\",\n description: \"Replace a persistent actor's session-bound Pi and synthetic tool_error event subscriptions\",\n inputSchema: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n events: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: [...FABRIC_ACTOR_HOST_EVENTS],\n },\n },\n },\n required: [\"id\", \"events\"],\n additionalProperties: false,\n },\n risk: \"agent\",\n },\n {\n name: \"setDeliveryPolicy\",\n description:\n \"Replace a project actor or global template delivery policy. steer/followUp require an explicit triggerTurn choice; mailbox/nextTurn require false.\",\n inputSchema: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n delivery: {\n type: \"string\",\n enum: [\"mailbox\", \"steer\", \"followUp\", \"nextTurn\"],\n },\n triggerTurn: { type: \"boolean\" },\n scope: { type: \"string\", enum: [\"project\", \"global\"] },\n },\n required: [\"id\", \"delivery\", \"triggerTurn\"],\n additionalProperties: false,\n },\n risk: \"agent\",\n },\n {\n name: \"clearMessages\",\n description: \"Clear a persistent actor's recorded message history\",\n inputSchema: idSchema,\n risk: \"write\",\n },\n {\n name: \"remove\",\n description:\n 'Stop and remove a persistent actor. Default scope \"project\" removes a live project actor; scope \"global\" removes a project-independent template from the global registry.',\n inputSchema: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n scope: { type: \"string\", enum: [\"project\", \"global\"] },\n },\n required: [\"id\"],\n additionalProperties: false,\n },\n risk: \"agent\",\n },\n {\n name: \"setInstructions\",\n description:\n 'Replace an actor\\'s default instruction (its persona / system-prompt body). Default scope \"project\" edits a live project actor; scope \"global\" edits a project-independent template. Takes effect on the actor\\'s next queued message.',\n inputSchema: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n instructions: { type: \"string\" },\n scope: { type: \"string\", enum: [\"project\", \"global\"] },\n },\n required: [\"id\", \"instructions\"],\n additionalProperties: false,\n },\n risk: \"agent\",\n },\n {\n name: \"import\",\n description:\n \"Import a project-independent template from the global registry into the current project as a fresh live actor with no inherited history (no messages, session, or run logs). Identify the template by id or name; optionally rename the imported actor with \\\"as\\\" to avoid colliding with a live actor.\",\n inputSchema: {\n type: \"object\",\n properties: {\n id: { type: \"string\", description: \"Template id or name (one of id/name required)\" },\n name: { type: \"string\", description: \"Template name (one of id/name required)\" },\n as: { type: \"string\", description: \"Optional new name for the imported live actor\" },\n },\n additionalProperties: false,\n },\n risk: \"agent\",\n },\n {\n name: \"export\",\n description:\n \"Export a live project actor's definition to the global registry as a project-independent template, without any history (no messages, session, or run logs). Throws on a name collision unless overwrite is true.\",\n inputSchema: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n overwrite: { type: \"boolean\" },\n },\n required: [\"id\"],\n additionalProperties: false,\n },\n risk: \"write\",\n },\n {\n name: \"log\",\n description:\n \"Read an actor or agent run's LLM/agent log: the actor's session transcript (session.jsonl) and/or a retained run's event stream (events.jsonl: tool calls, model responses, usage). Actors retain their last runs so logs survive after success.\",\n inputSchema: {\n type: \"object\",\n properties: {\n id: { type: \"string\", description: \"Actor ID/name or agent run ID\" },\n type: {\n type: \"string\",\n enum: [\"session\", \"run\", \"all\"],\n description:\n \"session = actor session transcript (default for actors); run = last retained run's events; all = both\",\n },\n lines: { type: \"number\", minimum: 1, description: \"Page line limit (default 200)\" },\n before: {\n type: \"number\",\n minimum: 0,\n description: \"Exclusive line cursor returned by a previous page to load older entries\",\n },\n runId: { type: \"string\", description: \"Specific retained run (default: actor's last run)\" },\n },\n required: [\"id\"],\n additionalProperties: false,\n },\n risk: \"read\",\n },\n];\n", "import type { AgentRunRequest } from \"./types.js\";\nimport { isFabricThinking, normalizeThinkingBounds } from \"../thinking.js\";\nimport { aliasThinking, type FabricModelAliases } from \"../core/model-resolution.js\";\nimport { isFabricRunnerId } from \"./runner-registry.js\";\n\nconst stringArray = (value: unknown): string[] | undefined => Array.isArray(value) ? value.filter((entry): entry is string => typeof entry === \"string\") : undefined;\nconst checkedKernel = (value: unknown): AgentRunRequest[\"kernel\"] => {\n if (value === undefined || value === \"inherit\" || value === \"typescript\" || value === \"python\") return value;\n throw new Error(`Invalid Fabric agent kernel: ${String(value)}`);\n};\n\nexport const normalizeAgentRunRequest = (\n args: Record<string, unknown>,\n defaults: {runner: NonNullable<AgentRunRequest[\"runner\"]>; model?: string; timeoutMs: number; inheritedModel?: {provider: string; id: string}; models?: {aliases?: FabricModelAliases}},\n options: {allowCwd?: boolean} = {},\n): AgentRunRequest => {\n const transport =\n args.transport === \"auto\" ||\n args.transport === \"process\" ||\n args.transport === \"tmux\" ||\n args.transport === \"screen\" ||\n args.transport === \"localterm\" ||\n args.transport === \"herdr\"\n ? args.transport\n : undefined;\n // An explicit call or actor level always wins; otherwise an alias can carry\n // the intended effort for the model it selects (e.g. a \"cheap\" alias that is\n // both cheaper and shallower), and the global agents.thinking default applies\n // last, inside the manager.\n const requestedModel =\n typeof args.model === \"string\"\n ? args.model\n : typeof defaults.model === \"string\"\n ? defaults.model\n : undefined;\n const thinking = isFabricThinking(args.thinking)\n ? args.thinking\n : aliasThinking(defaults.models?.aliases, requestedModel ?? \"\");\n const tools = stringArray(args.tools);\n const timeoutMs = typeof args.timeoutMs === \"number\" && Number.isFinite(args.timeoutMs) && args.timeoutMs > defaults.timeoutMs ? args.timeoutMs : undefined;\n if (args.runner !== undefined && !isFabricRunnerId(args.runner)) {\n throw new Error(`Invalid Fabric agent runner: ${JSON.stringify(args.runner)}`);\n }\n const runner = args.runner ?? defaults.runner;\n const inheritedModel =\n (runner === \"pi\" || runner === \"pi-durable\") && !defaults.model && defaults.inheritedModel\n ? `${defaults.inheritedModel.provider}/${defaults.inheritedModel.id}`\n : undefined;\n const kernel = checkedKernel(args.kernel);\n const thinkingBounds = args.thinkingBounds === undefined\n ? undefined\n : normalizeThinkingBounds(args.thinkingBounds, \"thinkingBounds\");\n if (args.recursive === true && args.extensions === false) {\n throw new Error(\"Recursive Fabric requires extensions enabled; omit recursive or extensions: false\");\n }\n return {\n task: String(args.task),\n runner,\n ...(kernel !== undefined ? { kernel } : {}),\n ...(typeof args.name === \"string\" ? { name: args.name } : {}),\n ...(transport ? { transport } : {}),\n ...(typeof args.model === \"string\"\n ? { model: args.model }\n : inheritedModel\n ? { model: inheritedModel }\n : {}),\n ...(typeof args.persona === \"string\" && args.persona.trim()\n ? { persona: args.persona.trim() }\n : {}),\n ...(thinking ? { thinking } : {}),\n ...(thinkingBounds ? { thinkingBounds } : {}),\n ...(tools ? { tools } : {}),\n ...(timeoutMs !== undefined ? { timeoutMs } : {}),\n ...(typeof args.extensions === \"boolean\"\n ? { extensions: args.extensions }\n : args.recursive === true ? { extensions: true } : {}),\n ...(typeof args.recursive === \"boolean\" ? { recursive: args.recursive } : {}),\n ...(options.allowCwd !== false && typeof args.cwd === \"string\" ? { cwd: args.cwd } : {}),\n ...(typeof args.worktree === \"boolean\" ? { worktree: args.worktree } : {}),\n ...(args.worktreeSetup !== undefined ? { worktreeSetup: args.worktreeSetup as string } : {}),\n // Shapes are checked fail-closed by the manager before launch.\n ...(args.readOnly !== undefined ? { readOnly: args.readOnly as boolean } : {}),\n ...(args.writableRoots !== undefined ? { writableRoots: args.writableRoots as string[] } : {}),\n ...(args.shell !== undefined ? { shell: args.shell as \"deny\" | \"unconfined\" } : {}),\n ...(args.scope !== undefined ? { scope: args.scope as NonNullable<AgentRunRequest[\"scope\"]> } : {}),\n ...(args.residency === \"session\" || args.residency === \"durable\"\n ? { residency: args.residency }\n : {}),\n ...(typeof args.persistSession === \"boolean\"\n ? { persistSession: args.persistSession }\n : {}),\n ...(typeof args.schema === \"object\" && args.schema !== null && !Array.isArray(args.schema)\n ? { schema: args.schema as Record<string, unknown> }\n : {}),\n ...(typeof args.systemPrompt === \"string\" && args.systemPrompt.trim()\n ? { systemPrompt: args.systemPrompt }\n : {}),\n };\n};\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -34,7 +34,7 @@ import {
34
34
  FabricResolutionError,
35
35
  FabricTraceSafeError,
36
36
  executionOutcomeFromError
37
- } from "./chunk-ZXKYU6CH.js";
37
+ } from "./chunk-3AOVGNQF.js";
38
38
  import {
39
39
  stableJsonHash
40
40
  } from "./chunk-3YZUQESG.js";
@@ -2279,4 +2279,4 @@ export {
2279
2279
  scoreActionSearch,
2280
2280
  ActionRegistry
2281
2281
  };
2282
- //# sourceMappingURL=chunk-R5F6CHW2.js.map
2282
+ //# sourceMappingURL=chunk-BDQLZAMV.js.map
@@ -6,6 +6,11 @@ import {
6
6
  spawnDetached,
7
7
  workerCommand
8
8
  } from "./chunk-SVDHQUTM.js";
9
+ import {
10
+ discoverClaudeModels,
11
+ mapClaudeTools,
12
+ normalizeClaudeModel
13
+ } from "./chunk-PM5I335G.js";
9
14
  import {
10
15
  mapVedaTools,
11
16
  normalizeVedaModel
@@ -14,11 +19,6 @@ import {
14
19
  isInside,
15
20
  readWritePolicy
16
21
  } from "./chunk-2USMWEE6.js";
17
- import {
18
- discoverClaudeModels,
19
- mapClaudeTools,
20
- normalizeClaudeModel
21
- } from "./chunk-PM5I335G.js";
22
22
  import {
23
23
  launchScope,
24
24
  normalizeScope,
@@ -41,14 +41,14 @@ import {
41
41
  DEFAULT_FABRIC_CONFIG,
42
42
  MAX_AGENT_TIMEOUT_MS,
43
43
  MIN_AGENT_TIMEOUT_MS
44
- } from "./chunk-LWRRPPH2.js";
44
+ } from "./chunk-UNKE4WWQ.js";
45
45
  import {
46
46
  readJsonlPage
47
47
  } from "./chunk-CGPK5WHX.js";
48
48
  import {
49
49
  compileFabricSummary,
50
50
  rawContextTokens
51
- } from "./chunk-T5CU2GPZ.js";
51
+ } from "./chunk-RIVYOW5Q.js";
52
52
  import {
53
53
  SHORT_LOCK_MAX_HOLD_MS,
54
54
  encodeOwnerIdentityLine,
@@ -92,7 +92,7 @@ import {
92
92
  getAgentRunner,
93
93
  isFabricRunnerId,
94
94
  requireAgentRunner
95
- } from "./chunk-4RTHQGES.js";
95
+ } from "./chunk-ST36EYHN.js";
96
96
 
97
97
  // src/core/model-usage.ts
98
98
  import { readFileSync } from "node:fs";
@@ -2373,7 +2373,7 @@ var AgentManager = class {
2373
2373
  let tools = this.#childTools(request, runnerAdapter, requiresFabricKernel);
2374
2374
  if (runner === "claude") mapClaudeTools(tools);
2375
2375
  if (runner === "veda") mapVedaTools(tools);
2376
- let model = request.model ?? (runner === "claude" ? this.config.claude.model : runner === "veda" ? this.config.veda.model : runner === "pi" ? this.config.model : runnerAdapter.defaultModel?.());
2376
+ let model = request.model ?? (runner === "claude" ? this.config.claude.model : runner === "veda" ? this.config.veda.model : runner === "pi" || runner === "pi-durable" ? this.config.model : runnerAdapter.defaultModel?.());
2377
2377
  if (runner === "claude" && model) normalizeClaudeModel(model);
2378
2378
  if (runner === "veda" && model) normalizeVedaModel(model);
2379
2379
  if (!BUILT_IN_RUNNER_IDS.has(runner)) {
@@ -2397,7 +2397,7 @@ var AgentManager = class {
2397
2397
  const admissionSignal = signal ? AbortSignal.any([signal, this.#closeAbort.signal]) : this.#closeAbort.signal;
2398
2398
  const release = await this.#semaphore.acquire("native", admissionSignal);
2399
2399
  try {
2400
- if (runner === "pi") model = await this.#prepareModel(model);
2400
+ if (runner === "pi" || runner === "pi-durable") model = await this.#prepareModel(model);
2401
2401
  if (this.#closing) throw new Error("Fabric agent manager is closing");
2402
2402
  this.#semaphore.admit(this.#currentDepth + 1);
2403
2403
  } catch (error) {
@@ -2480,7 +2480,7 @@ var AgentManager = class {
2480
2480
  const serializedThinkingBounds = serializeThinkingBounds(thinkingBounds);
2481
2481
  const recursive = capabilities2.recursiveFabric && request.recursive === true;
2482
2482
  const extensions = recursive ? true : request.extensions ?? this.config.extensions;
2483
- const inheritedSessionPins = runner === "pi" && extensions ? this.#inheritedSessionPins(request) : void 0;
2483
+ const inheritedSessionPins = (runner === "pi" || runner === "pi-durable") && extensions ? this.#inheritedSessionPins(request) : void 0;
2484
2484
  const inheritedFullCodeMode = capabilities2.recursiveFabric && this.#fullCodeMode && extensions;
2485
2485
  const componentGuidance = recursive ? void 0 : this.#resolveParticipantGuidance?.({ ...model ? { model } : {}, runner })?.trim();
2486
2486
  const systemPrompt = [request.systemPrompt?.trim(), componentGuidance].filter((section) => Boolean(section)).join("\n\n") || void 0;
@@ -3240,7 +3240,7 @@ var AgentManager = class {
3240
3240
  }
3241
3241
  async #retryStartup(managed, record, deadline) {
3242
3242
  if (managed.hosted || // A custom worker that already made progress is never re-run blind.
3243
- !BUILT_IN_RUNNER_IDS.has(managed.runner) && this.#observedWork(managed) || managed.startupAttempts >= AGENT_STARTUP_MAX_ATTEMPTS || managed.settled || this.#closing || managed.abortSignal?.aborted || record.status !== "failed" || !(managed.runner === "pi" && retryablePiStartupError(record.error) || transportExitedWithoutResult(record.error)) || record.turns !== 0 || record.toolCalls !== 0 || record.usage.input !== 0 || record.usage.output !== 0 || record.usage.cacheRead !== 0 || record.usage.cacheWrite !== 0) {
3243
+ !BUILT_IN_RUNNER_IDS.has(managed.runner) && this.#observedWork(managed) || managed.startupAttempts >= AGENT_STARTUP_MAX_ATTEMPTS || managed.settled || this.#closing || managed.abortSignal?.aborted || record.status !== "failed" || !((managed.runner === "pi" || managed.runner === "pi-durable") && retryablePiStartupError(record.error) || transportExitedWithoutResult(record.error)) || record.turns !== 0 || record.toolCalls !== 0 || record.usage.input !== 0 || record.usage.output !== 0 || record.usage.cacheRead !== 0 || record.usage.cacheWrite !== 0) {
3244
3244
  return false;
3245
3245
  }
3246
3246
  const retryDelayMs = AGENT_STARTUP_RETRY_BASE_DELAY_MS * 2 ** (managed.startupAttempts - 1);
@@ -3275,7 +3275,9 @@ var AgentManager = class {
3275
3275
  managed.resumeAttempts += 1;
3276
3276
  const { turns, toolCalls, usage } = managed.observedProgress;
3277
3277
  return this.#relaunch(managed, record, {
3278
- task: resumeTask(managed.task, record, { turns, toolCalls }, managed.runDirectory),
3278
+ // Durable recovery reopens the same journal, not a fresh conversation.
3279
+ // Changing its prompt breaks recorded-result identity after completion.
3280
+ task: managed.runner === "pi-durable" ? managed.task : resumeTask(managed.task, record, { turns, toolCalls }, managed.runDirectory),
3279
3281
  carryOver: { turns, toolCalls, usage: { ...usage } }
3280
3282
  });
3281
3283
  }
@@ -3287,7 +3289,7 @@ var AgentManager = class {
3287
3289
  */
3288
3290
  async #relaunch(managed, record, resume) {
3289
3291
  try {
3290
- if (managed.runner === "pi") {
3292
+ if (managed.runner === "pi" || managed.runner === "pi-durable") {
3291
3293
  const model = await this.#prepareModel(managed.model);
3292
3294
  const modelIndex = managed.launch.workerArguments.indexOf("--model");
3293
3295
  if (model) {
@@ -4700,7 +4702,7 @@ var ActorManager = class {
4700
4702
  }
4701
4703
  await validateActorValidWhile(request.validWhile);
4702
4704
  const runner = request.runner ?? this.agents.config.runner;
4703
- if (runner !== "pi" && runner !== "claude") {
4705
+ if (runner !== "pi" && runner !== "pi-durable" && runner !== "claude") {
4704
4706
  throw new Error(`Invalid Fabric actor runner: ${String(request.runner)}`);
4705
4707
  }
4706
4708
  const kernel = this.agents.resolveKernel({
@@ -5603,7 +5605,7 @@ var ActorManager = class {
5603
5605
  runner: actor.runner,
5604
5606
  ...actor.kernel ? { kernel: actor.kernel } : {},
5605
5607
  ...actor.pythonRuntime ? { pythonRuntime: actor.pythonRuntime } : {},
5606
- recursive: (actor.extensions ?? true) && actor.runner === "pi",
5608
+ recursive: (actor.extensions ?? true) && (actor.runner === "pi" || actor.runner === "pi-durable"),
5607
5609
  extensions: actor.extensions ?? true,
5608
5610
  sessionFile: actor.sessionFile,
5609
5611
  systemPrompt: this.#systemPrompt(actor),
@@ -5632,7 +5634,7 @@ var ActorManager = class {
5632
5634
  "Do not wrap the JSON in Markdown fences."
5633
5635
  ].join(" ") : "Respond with the useful result for this message. Keep durable state in your session context.";
5634
5636
  const fabricEnabled = actor.extensions ?? true;
5635
- const coordinationInstruction = actor.runner === "pi" && !fabricEnabled ? "The Fabric host manages your mailbox, subscriptions, delivery, and lifecycle. You do not have fabric_exec or direct agents/mesh APIs; reply with your analysis and the host delivers it. Do not attempt to call fabric_exec, agents, or mesh tools." : actor.runner === "pi" ? "You may use Fabric for tools and durable coordination. In fabric_exec, agents.main() discovers the user-facing Main target; agents.steer() and agents.followUp() message Main or other known agents, while mesh.self(), mesh.members(), mesh.publish(), mesh.read(), mesh.get(), and mesh.put() support durable coordination. Use addressed messages or shared versioned state when useful." : "The Fabric host manages your mailbox, subscriptions, delivery, and lifecycle. This Claude runner has Claude Code tools but not fabric_exec or direct mesh APIs; coordinate through the messages the host delivers.";
5637
+ const coordinationInstruction = (actor.runner === "pi" || actor.runner === "pi-durable") && !fabricEnabled ? "The Fabric host manages your mailbox, subscriptions, delivery, and lifecycle. You do not have fabric_exec or direct agents/mesh APIs; reply with your analysis and the host delivers it. Do not attempt to call fabric_exec, agents, or mesh tools." : actor.runner === "pi" || actor.runner === "pi-durable" ? "You may use Fabric for tools and durable coordination. In fabric_exec, agents.main() discovers the user-facing Main target; agents.steer() and agents.followUp() message Main or other known agents, while mesh.self(), mesh.members(), mesh.publish(), mesh.read(), mesh.get(), and mesh.put() support durable coordination. Use addressed messages or shared versioned state when useful." : "The Fabric host manages your mailbox, subscriptions, delivery, and lifecycle. This Claude runner has Claude Code tools but not fabric_exec or direct mesh APIs; coordinate through the messages the host delivers.";
5636
5638
  const capabilityInstruction = actor.requirements.length > 0 ? `Your Fabric execution surface is closed to the committed capability refs: ${actor.requirements.map((requirement) => requirement.ref).join(", ")}. The host records and verifies a portable descriptor digest before each run.` : void 0;
5637
5639
  return [
5638
5640
  `You are ${actor.name}, a persistent Fabric actor with identity ${actor.id}, running through ${actor.runner}.`,
@@ -5979,7 +5981,7 @@ var ActorManager = class {
5979
5981
  triggerTurn,
5980
5982
  coalesce: record.coalesce !== false,
5981
5983
  residency: record.residency === "durable" ? "durable" : "session",
5982
- runner: record.runner === "claude" ? "claude" : "pi",
5984
+ runner: record.runner === "claude" || record.runner === "pi-durable" ? record.runner : "pi",
5983
5985
  // Legacy Pi sessions were TypeScript-only. Do not change their language
5984
5986
  // when the current host happens to select Python after a restart.
5985
5987
  ...record.runner !== "claude" && record.extensions !== false ? {
@@ -6020,7 +6022,7 @@ var ActorManager = class {
6020
6022
  if (added > 0) this.#emitChange();
6021
6023
  }
6022
6024
  #resolvedModel(runner, model) {
6023
- return runner === "pi" && this.#resolvePiModel ? this.#resolvePiModel(model) : model;
6025
+ return (runner === "pi" || runner === "pi-durable") && this.#resolvePiModel ? this.#resolvePiModel(model) : model;
6024
6026
  }
6025
6027
  #resolvedRunBinding(actor, binding) {
6026
6028
  return binding.model ? { ...binding, model: this.#resolvedModel(actor.runner, binding.model) } : binding;
@@ -7276,7 +7278,7 @@ var legacyActorFromEntry = (entry, roots) => {
7276
7278
  transport: "host",
7277
7279
  capabilities: [
7278
7280
  ...active ? ["steer", "followUp"] : [],
7279
- ...value.runner === "pi" ? ["fabric"] : []
7281
+ ...value.runner === "pi" || value.runner === "pi-durable" ? ["fabric"] : []
7280
7282
  ],
7281
7283
  startedAt: typeof value.createdAt === "number" ? value.createdAt : entry.updatedAt,
7282
7284
  updatedAt: entry.updatedAt,
@@ -7779,4 +7781,4 @@ export {
7779
7781
  agentParticipantRecords,
7780
7782
  actorParticipantRecord
7781
7783
  };
7782
- //# sourceMappingURL=chunk-MQK7POVM.js.map
7784
+ //# sourceMappingURL=chunk-DRY66JKC.js.map