pi-fabric 0.105.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.
- package/README.md +3 -1
- package/dist/actors/global-registry.d.ts.map +1 -1
- package/dist/agents/manager.d.ts.map +1 -1
- package/dist/agents/runner-registry.d.ts +1 -1
- package/dist/agents/runner-registry.d.ts.map +1 -1
- package/dist/agents.js +5 -5
- package/dist/chunks/{chunk-ZXKYU6CH.js → chunk-3AOVGNQF.js} +4 -4
- package/dist/chunks/{chunk-GJVPP3NN.js → chunk-3SHUUBZJ.js} +4 -4
- package/dist/chunks/chunk-3SHUUBZJ.js.map +7 -0
- package/dist/chunks/{chunk-KYXZJNV6.js → chunk-4O3PFVTC.js} +3 -1
- package/dist/chunks/{chunk-KYXZJNV6.js.map → chunk-4O3PFVTC.js.map} +2 -2
- package/dist/chunks/{chunk-R5F6CHW2.js → chunk-BDQLZAMV.js} +2 -2
- package/dist/chunks/{chunk-KQ6R5EWR.js → chunk-DRY66JKC.js} +25 -23
- package/dist/chunks/chunk-DRY66JKC.js.map +7 -0
- package/dist/chunks/{chunk-WLLXKS6I.js → chunk-DU6ZA44F.js} +4 -4
- package/dist/chunks/{chunk-WREA4RNR.js → chunk-ECPZOET7.js} +2 -2
- package/dist/chunks/{chunk-BVJBYFHD.js → chunk-JIZFEZK2.js} +2 -2
- package/dist/chunks/{chunk-WYUV6WL3.js → chunk-JLBNPM4W.js} +2 -2
- package/dist/chunks/{chunk-6VXPACGC.js → chunk-K7AERJOX.js} +90 -22
- package/dist/chunks/chunk-K7AERJOX.js.map +7 -0
- package/dist/chunks/{chunk-VPRJOD4Y.js → chunk-MARGFSUE.js} +3 -3
- package/dist/chunks/{chunk-OVBKQCYL.js → chunk-OGORILCT.js} +2 -2
- package/dist/chunks/{chunk-CGL7QP4A.js → chunk-PK4NIJEV.js} +10 -1
- package/dist/chunks/{chunk-CGL7QP4A.js.map → chunk-PK4NIJEV.js.map} +2 -2
- package/dist/chunks/{chunk-M6IRQ3QT.js → chunk-PM6O2JUK.js} +2 -2
- package/dist/chunks/{chunk-T5CU2GPZ.js → chunk-RIVYOW5Q.js} +2 -2
- package/dist/chunks/{chunk-4RTHQGES.js → chunk-ST36EYHN.js} +4 -4
- package/dist/chunks/chunk-ST36EYHN.js.map +7 -0
- package/dist/chunks/{chunk-X2TRSE7D.js → chunk-T6KZBPQE.js} +2 -2
- package/dist/chunks/{chunk-DZ4WN5XJ.js → chunk-TGJ3GJDM.js} +3 -3
- package/dist/chunks/{chunk-M5IN6DMF.js → chunk-TJGIC767.js} +4 -4
- package/dist/chunks/{chunk-VON4TSO3.js → chunk-UNKE4WWQ.js} +25 -2
- package/dist/chunks/chunk-UNKE4WWQ.js.map +7 -0
- package/dist/chunks/{chunk-S3IRPDSO.js → chunk-UPBP2YII.js} +2 -2
- package/dist/chunks/{chunk-5MNLVHF5.js → chunk-UZMHGK2T.js} +25 -10
- package/dist/chunks/chunk-UZMHGK2T.js.map +7 -0
- package/dist/chunks/{chunk-LOLCTWJF.js → chunk-VAON7IER.js} +2 -2
- package/dist/chunks/{chunk-W7X4XEQU.js → chunk-VIHHAY4Y.js} +2 -2
- package/dist/chunks/{chunk-TFFZVLR2.js → chunk-XENCLZGL.js} +46 -4
- package/dist/chunks/chunk-XENCLZGL.js.map +7 -0
- package/dist/chunks/{chunk-3KDUMDPZ.js → chunk-YBK4MDZW.js} +5 -5
- package/dist/chunks/{chunk-FB24AOIJ.js → chunk-YWFZOYLG.js} +3 -3
- package/dist/chunks/{chunk-QLFDPXK7.js → chunk-ZL4UD4PW.js} +112 -9
- package/dist/chunks/chunk-ZL4UD4PW.js.map +7 -0
- package/dist/compaction/hook.js +4 -4
- package/dist/compaction/owner.js +5 -5
- package/dist/components/configuration.js +2 -2
- package/dist/config.d.ts +14 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/core/action-registry.js +3 -3
- package/dist/core/media-sanitize.d.ts.map +1 -1
- package/dist/durable/agent.d.ts +77 -0
- package/dist/durable/agent.d.ts.map +1 -0
- package/dist/durable/session.d.ts +19 -0
- package/dist/durable/session.d.ts.map +1 -0
- package/dist/durable/storage.d.ts +7 -0
- package/dist/durable/storage.d.ts.map +1 -0
- package/dist/durable/worker-host.d.ts +13 -0
- package/dist/durable/worker-host.d.ts.map +1 -0
- package/dist/durable/worker-host.js +1149 -0
- package/dist/durable/worker-host.js.map +7 -0
- package/dist/durable/worker-options.d.ts +17 -0
- package/dist/durable/worker-options.d.ts.map +1 -0
- package/dist/durable/worker.d.ts +3 -0
- package/dist/durable/worker.d.ts.map +1 -0
- package/dist/durable/worker.js +81 -0
- package/dist/durable/worker.js.map +7 -0
- package/dist/durable-controls.d.ts +27 -0
- package/dist/durable-controls.d.ts.map +1 -0
- package/dist/durable-input.d.ts +13 -0
- package/dist/durable-input.d.ts.map +1 -0
- package/dist/durable.d.ts +6 -0
- package/dist/durable.d.ts.map +1 -1
- package/dist/durable.js +194 -24
- package/dist/durable.js.map +4 -4
- package/dist/entropy/index.js +6 -6
- package/dist/execution-service.d.ts +4 -0
- package/dist/execution-service.d.ts.map +1 -1
- package/dist/extension-bootstrap.js +10 -10
- package/dist/extension.d.ts.map +1 -1
- package/dist/fabric-exec-arguments.d.ts.map +1 -1
- package/dist/fabric-exec-tool.d.ts.map +1 -1
- package/dist/fabric-runtime-state.d.ts.map +1 -1
- package/dist/fabric-runtime-state.js +489 -275
- package/dist/fabric-runtime-state.js.map +4 -4
- package/dist/index.js +13 -13
- package/dist/jev/observation.js +2 -2
- package/dist/jev.js +6 -6
- package/dist/memory/discovery.js +5 -5
- package/dist/memory/extractive-history.d.ts +29 -0
- package/dist/memory/extractive-history.d.ts.map +1 -0
- package/dist/memory/extractive-history.js +340 -0
- package/dist/memory/extractive-history.js.map +7 -0
- package/dist/memory/extractive-index.d.ts +46 -0
- package/dist/memory/extractive-index.d.ts.map +1 -0
- package/dist/memory/file-worker.js +7 -7
- package/dist/memory/normalize.js +4 -4
- package/dist/memory/search.js +5 -5
- package/dist/memory/worker-provider.js +8 -8
- package/dist/memory.js +8 -8
- package/dist/native-codemode.d.ts +34 -0
- package/dist/native-codemode.d.ts.map +1 -0
- package/dist/native-discovery.d.ts +16 -0
- package/dist/native-discovery.d.ts.map +1 -0
- package/dist/native-discovery.js +19 -0
- package/dist/native-discovery.js.map +7 -0
- package/dist/providers/agents-provider.d.ts.map +1 -1
- package/dist/providers/jev-provider.js +6 -6
- package/dist/providers/memory-provider.js +7 -7
- package/dist/residency/host.js +11 -11
- package/dist/residency/pi-entry.js +11 -11
- package/dist/runners.js +1 -1
- package/dist/runtime/core-override-guest-types.js +2 -2
- package/dist/runtime/dynamic-guest-types.d.ts +2 -0
- package/dist/runtime/dynamic-guest-types.d.ts.map +1 -1
- package/dist/runtime/dynamic-guest-types.js +5 -3
- package/dist/runtime/guest-types.d.ts +1 -1
- package/dist/runtime/guest-types.d.ts.map +1 -1
- package/dist/runtime/guest-types.js +1 -1
- package/dist/runtime/kernel.d.ts +3 -0
- package/dist/runtime/kernel.d.ts.map +1 -1
- package/dist/runtime/monty-runtime.js +1 -1
- package/dist/runtime/native-codemode-guest.d.ts +2 -0
- package/dist/runtime/native-codemode-guest.d.ts.map +1 -0
- package/dist/runtime/native-codemode-types.d.ts +2 -0
- package/dist/runtime/native-codemode-types.d.ts.map +1 -0
- package/dist/runtime/node-process-child-source.d.ts.map +1 -1
- package/dist/runtime/node-process-runtime.d.ts.map +1 -1
- package/dist/runtime/node-process-runtime.js +2 -2
- package/dist/runtime/quickjs-runtime.d.ts +1 -1
- package/dist/runtime/quickjs-runtime.d.ts.map +1 -1
- package/dist/runtime/quickjs-runtime.js +1 -1
- package/dist/runtime/typescript-kernel.js +7 -7
- package/dist/type-error-guidance.js +1 -1
- package/dist/ui/border-status-editor.d.ts +3 -0
- package/dist/ui/border-status-editor.d.ts.map +1 -1
- package/dist/ui/conversation.d.ts +1 -0
- package/dist/ui/conversation.d.ts.map +1 -1
- package/dist/ui/conversation.js +28 -5
- package/dist/ui/conversation.js.map +2 -2
- package/dist/ui/dashboard.js +6 -6
- package/dist/ui/settings-section-context.d.ts +2 -0
- package/dist/ui/settings-section-context.d.ts.map +1 -1
- package/dist/ui/settings-sections-lifecycle.d.ts +1 -0
- package/dist/ui/settings-sections-lifecycle.d.ts.map +1 -1
- package/dist/ui/settings-sections.d.ts +2 -0
- package/dist/ui/settings-sections.d.ts.map +1 -1
- package/dist/ui/settings-values.d.ts +4 -1
- package/dist/ui/settings-values.d.ts.map +1 -1
- package/dist/ui/settings.d.ts.map +1 -1
- package/dist/ui/settings.js +57 -2
- package/dist/ui/settings.js.map +2 -2
- package/dist/worker/model-control.d.ts.map +1 -1
- package/dist/worker/model-control.js.map +2 -2
- package/dist/worker/options.d.ts.map +1 -1
- package/dist/worker/options.js +4 -3
- package/dist/worker/options.js.map +2 -2
- package/dist/worker.js +95 -8
- package/dist/worker.js.map +2 -2
- package/docs/agents.md +5 -5
- package/docs/codemode-parity.md +50 -0
- package/docs/configuration.md +27 -2
- package/docs/durable-pi.md +156 -38
- package/docs/extractive-history.md +171 -0
- package/docs/interface.md +1 -1
- package/package.json +6 -19
- package/skillsets/typescript/fabric-exec/SKILL.md +3 -3
- package/dist/chunks/chunk-4RTHQGES.js.map +0 -7
- package/dist/chunks/chunk-5MNLVHF5.js.map +0 -7
- package/dist/chunks/chunk-6VXPACGC.js.map +0 -7
- package/dist/chunks/chunk-GJVPP3NN.js.map +0 -7
- package/dist/chunks/chunk-KQ6R5EWR.js.map +0 -7
- package/dist/chunks/chunk-QLFDPXK7.js.map +0 -7
- package/dist/chunks/chunk-TFFZVLR2.js.map +0 -7
- package/dist/chunks/chunk-VON4TSO3.js.map +0 -7
- /package/dist/chunks/{chunk-ZXKYU6CH.js.map → chunk-3AOVGNQF.js.map} +0 -0
- /package/dist/chunks/{chunk-R5F6CHW2.js.map → chunk-BDQLZAMV.js.map} +0 -0
- /package/dist/chunks/{chunk-WLLXKS6I.js.map → chunk-DU6ZA44F.js.map} +0 -0
- /package/dist/chunks/{chunk-WREA4RNR.js.map → chunk-ECPZOET7.js.map} +0 -0
- /package/dist/chunks/{chunk-BVJBYFHD.js.map → chunk-JIZFEZK2.js.map} +0 -0
- /package/dist/chunks/{chunk-WYUV6WL3.js.map → chunk-JLBNPM4W.js.map} +0 -0
- /package/dist/chunks/{chunk-VPRJOD4Y.js.map → chunk-MARGFSUE.js.map} +0 -0
- /package/dist/chunks/{chunk-OVBKQCYL.js.map → chunk-OGORILCT.js.map} +0 -0
- /package/dist/chunks/{chunk-M6IRQ3QT.js.map → chunk-PM6O2JUK.js.map} +0 -0
- /package/dist/chunks/{chunk-T5CU2GPZ.js.map → chunk-RIVYOW5Q.js.map} +0 -0
- /package/dist/chunks/{chunk-X2TRSE7D.js.map → chunk-T6KZBPQE.js.map} +0 -0
- /package/dist/chunks/{chunk-DZ4WN5XJ.js.map → chunk-TGJ3GJDM.js.map} +0 -0
- /package/dist/chunks/{chunk-M5IN6DMF.js.map → chunk-TJGIC767.js.map} +0 -0
- /package/dist/chunks/{chunk-S3IRPDSO.js.map → chunk-UPBP2YII.js.map} +0 -0
- /package/dist/chunks/{chunk-LOLCTWJF.js.map → chunk-VAON7IER.js.map} +0 -0
- /package/dist/chunks/{chunk-W7X4XEQU.js.map → chunk-VIHHAY4Y.js.map} +0 -0
- /package/dist/chunks/{chunk-3KDUMDPZ.js.map → chunk-YBK4MDZW.js.map} +0 -0
- /package/dist/chunks/{chunk-FB24AOIJ.js.map → chunk-YWFZOYLG.js.map} +0 -0
package/README.md
CHANGED
|
@@ -158,12 +158,14 @@ See the [interface & commands reference](docs/interface.md) for every view, keyb
|
|
|
158
158
|
|
|
159
159
|
- [Configuration](docs/configuration.md): `fabric.json`, code modes, tool capture, approvals, and budgets.
|
|
160
160
|
- [Execution kernels](docs/kernels.md): exclusive TypeScript/Python selection, Monty sandboxing, CPython escape hatch, agent inheritance, and examples.
|
|
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.
|
|
161
162
|
- [Prompt cache](docs/prompt-cache.md): honest cache observations and optional, time-bounded native warming leases.
|
|
162
163
|
- [Thinking control](docs/thinking.md): scoped host-session reasoning effort with configured bounds that children inherit and never widen.
|
|
163
|
-
- [
|
|
164
|
+
- [Durable Pi runner](docs/durable-pi.md): the default isolated Pi/Fabric host, checkpoint recovery, replay boundaries, and the explicit legacy `pi` option.
|
|
164
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.
|
|
165
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.
|
|
166
167
|
- [Memory & recall](docs/memory-recall.md): compact ranked hits, uniform follow calls, lossless expansion, and guest-local `memory.walk` computation.
|
|
168
|
+
- [Extractive history](docs/extractive-history.md): opt-in native-classifier salience, source-preserving selection, bounded context, and deterministic fallback; configure it through JSON or the TUI.
|
|
167
169
|
- [Interface & commands](docs/interface.md): dashboard, settings, keybindings, slash commands, and headless runs.
|
|
168
170
|
- [Agents, actors & mesh](docs/agents.md): model handoff, `/fabric prewalk`, runners, transports, actors, councils, recursive queries, and durable coordination.
|
|
169
171
|
- [Durable residency through Pi](docs/residency-runtime.md): background host lifecycle and the Pi-runtime launcher boundary.
|
|
@@ -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;
|
|
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":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,KAAK,EAAE,0BAA0B,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEzE,MAAM,MAAM,wBAAwB,GAAG,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC;
|
|
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
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
AGENTS_ACTION_DESCRIPTORS,
|
|
3
|
-
normalizeAgentRunRequest
|
|
4
|
-
} from "./chunks/chunk-GJVPP3NN.js";
|
|
5
1
|
import {
|
|
6
2
|
validateAgentResult
|
|
7
3
|
} from "./chunks/chunk-3QECYQGA.js";
|
|
4
|
+
import {
|
|
5
|
+
AGENTS_ACTION_DESCRIPTORS,
|
|
6
|
+
normalizeAgentRunRequest
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
+
}
|
|
@@ -210,6 +210,7 @@ ${memberBlock.lines.join("\n")}
|
|
|
210
210
|
declare const extensions: FabricExtensionsApiDynamic;
|
|
211
211
|
`;
|
|
212
212
|
};
|
|
213
|
+
var describeFabricActionDeclaration = (name, inputSchema) => `${JSON.stringify(name)}: (args: ${schemaType(inputSchema, 0)}) => Promise<unknown>`;
|
|
213
214
|
var buildDynamicGuestDeclarations = (sources) => {
|
|
214
215
|
const dynamic = {};
|
|
215
216
|
if (sources.mcpServers && sources.mcpServers.length > 0) {
|
|
@@ -222,6 +223,7 @@ var buildDynamicGuestDeclarations = (sources) => {
|
|
|
222
223
|
};
|
|
223
224
|
|
|
224
225
|
export {
|
|
226
|
+
describeFabricActionDeclaration,
|
|
225
227
|
buildDynamicGuestDeclarations
|
|
226
228
|
};
|
|
227
|
-
//# sourceMappingURL=chunk-
|
|
229
|
+
//# sourceMappingURL=chunk-4O3PFVTC.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/runtime/dynamic-guest-types.ts"],
|
|
4
|
-
"sourcesContent": ["import { sanitizeMcpRefPart } from \"../ref-names.js\";\nimport type {\n FabricDynamicGuestDeclarations,\n FabricGuestTypeSources,\n FabricNamedActionTypeSource,\n} from \"../protocol.js\";\n\n// Renders guest .d.ts fragments for the dynamic call surfaces\n// (mcp.<server>.<tool> and extensions.<tool>) from live provider descriptors,\n// closing the type-check gap those globals had as Record<string, unknown>\n// callables: argument-shape mistakes surfaced only at dispatch time. The\n// generated surface stays advisory \u2014 the registry still validates every\n// call's args against the action's own inputSchema before invoke, so drift\n// between these declarations and a live server fails at the usual validate\n// stage rather than silently.\n\nconst MAX_DEPTH = 6;\nconst MAX_UNION_MEMBERS = 12;\nconst MAX_SCHEMA_SOURCE_CHARS = 4_096;\nconst MAX_MEMBER_TYPE_CHARS = 2_500;\nconst MAX_SECTION_CHARS = 60_000;\nconst MAX_MCP_SERVERS = 64;\nconst MAX_TOOLS_PER_SERVER = 128;\nconst MAX_EXTENSION_TOOLS = 256;\n\nconst IDENTIFIER = /^[A-Za-z_$][A-Za-z0-9_$]*$/;\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === \"object\" && value !== null && !Array.isArray(value);\n\nconst propertyKey = (name: string): string =>\n IDENTIFIER.test(name) ? name : JSON.stringify(name);\n\nconst literalType = (value: unknown): string => {\n if (value === null) return \"null\";\n if (typeof value === \"string\") return JSON.stringify(value);\n if (typeof value === \"number\" && Number.isFinite(value)) return JSON.stringify(value);\n if (typeof value === \"boolean\") return value ? \"true\" : \"false\";\n return \"unknown\";\n};\n\nconst unionType = (parts: string[]): string => {\n const unique = [...new Set(parts)];\n if (unique.length === 0) return \"unknown\";\n return unique.length === 1 ? unique[0]! : unique.join(\" | \");\n};\n\nconst typeList = (value: unknown): string[] => {\n if (typeof value === \"string\") return [value];\n if (Array.isArray(value)) {\n return value.filter((entry): entry is string => typeof entry === \"string\");\n }\n return [];\n};\n\nconst objectType = (schema: Record<string, unknown>, depth: number): string => {\n const properties = isRecord(schema.properties) ? schema.properties : {};\n const required = new Set(\n Array.isArray(schema.required)\n ? schema.required.filter((entry): entry is string => typeof entry === \"string\")\n : [],\n );\n const members: string[] = [];\n for (const key of Object.keys(properties).sort()) {\n members.push(\n `${propertyKey(key)}${required.has(key) ? \"\" : \"?\"}: ${schemaType(properties[key], depth + 1)}`,\n );\n }\n const additional = schema.additionalProperties;\n if (additional !== false) {\n members.push(\n isRecord(additional)\n ? `[key: string]: ${schemaType(additional, depth + 1)}`\n : \"[key: string]: unknown\",\n );\n }\n return `{ ${members.join(\"; \")} }`;\n};\n\nconst schemaType = (schema: unknown, depth: number): string => {\n if (depth > MAX_DEPTH) return \"unknown\";\n if (schema === true || schema === undefined) return \"unknown\";\n if (schema === false) return \"never\";\n if (!isRecord(schema)) return \"unknown\";\n if (\"const\" in schema) return literalType(schema.const);\n if (Array.isArray(schema.enum) && schema.enum.length > 0) {\n return unionType(schema.enum.slice(0, MAX_UNION_MEMBERS).map(literalType));\n }\n const alternates = Array.isArray(schema.anyOf)\n ? schema.anyOf\n : Array.isArray(schema.oneOf)\n ? schema.oneOf\n : undefined;\n if (alternates) {\n if (alternates.length === 0) return \"unknown\";\n return unionType(\n alternates.slice(0, MAX_UNION_MEMBERS).map((entry) => schemaType(entry, depth + 1)),\n );\n }\n if (Array.isArray(schema.allOf) && schema.allOf.length > 0) {\n return schema.allOf\n .slice(0, MAX_UNION_MEMBERS)\n .map((entry) => {\n const rendered = schemaType(entry, depth + 1);\n return rendered.includes(\" | \") ? `(${rendered})` : rendered;\n })\n .join(\" & \");\n }\n const types = typeList(schema.type);\n if (types.length > 1) {\n return unionType(types.map((type) => schemaType({ ...schema, type }, depth + 1)));\n }\n const type = types[0];\n if (type === \"object\" || (!type && isRecord(schema.properties))) {\n return objectType(schema, depth);\n }\n if (type === \"string\") return \"string\";\n if (type === \"number\" || type === \"integer\") return \"number\";\n if (type === \"boolean\") return \"boolean\";\n if (type === \"null\") return \"null\";\n if (type === \"array\") {\n const items = schema.items;\n if (Array.isArray(items)) {\n return `[${items\n .slice(0, MAX_UNION_MEMBERS)\n .map((entry) => schemaType(entry, depth + 1))\n .join(\", \")}]`;\n }\n return isRecord(items) || items === true\n ? `Array<${schemaType(items, depth + 1)}>`\n : \"unknown[]\";\n }\n return \"unknown\";\n};\n\ninterface FabricRenderBudget {\n chars: number;\n}\n\nconst spend = (budget: FabricRenderBudget, text: string): boolean => {\n if (budget.chars < text.length) return false;\n budget.chars -= text.length;\n return true;\n};\n\nconst hasRequiredArgs = (source: FabricNamedActionTypeSource): boolean =>\n Array.isArray(source.inputSchema.required) &&\n source.inputSchema.required.length > 0 &&\n isRecord(source.inputSchema.properties);\n\nconst renderMember = (\n name: string,\n source: FabricNamedActionTypeSource,\n resultType: string,\n): string => {\n const loose = `${propertyKey(name)}(args?: Record<string, unknown>): ${resultType};`;\n const schemaJson = JSON.stringify(source.inputSchema);\n if (!schemaJson || schemaJson.length > MAX_SCHEMA_SOURCE_CHARS) return loose;\n const rendered = schemaType(source.inputSchema, 0);\n if (rendered.length > MAX_MEMBER_TYPE_CHARS) return loose;\n return `${propertyKey(name)}(args${hasRequiredArgs(source) ? \"\" : \"?\"}: ${rendered}): ${resultType};`;\n};\n\n// Name collisions after sanitization are ambiguous: the MCP provider refuses\n// ambiguous sanitized server names and resolves colliding tools to the first\n// match, so mirrored members would promise a shape dispatch does not\n// guarantee. Unique names render in up to two forms \u2014 the sanitized\n// identifier the model types and a quoted raw alias for bracket access\n// (mcp[\"my-server\"]) \u2014 and ambiguous groups render nothing. A raw alias can\n// never collide with a sanitized member: aliases always contain a character\n// the sanitizer would replace or a leading digit it would prefix.\nconst renderMemberBlock = (\n sources: FabricNamedActionTypeSource[],\n resultType: string,\n limit: number,\n budget: FabricRenderBudget,\n): { lines: string[]; dropped: number } => {\n const bySanitized = new Map<string, FabricNamedActionTypeSource[]>();\n for (const source of sources.slice(0, limit)) {\n const key = sanitizeMcpRefPart(source.name);\n const group = bySanitized.get(key);\n if (group) group.push(source);\n else bySanitized.set(key, [source]);\n }\n const lines: string[] = [];\n let dropped = Math.max(0, sources.length - limit);\n const sortedGroups = [...bySanitized.entries()].sort(([a], [b]) => a.localeCompare(b));\n for (const [sanitized, group] of sortedGroups) {\n if (group.length > 1) {\n dropped += group.length;\n continue;\n }\n const source = group[0]!;\n const text =\n source.name === sanitized\n ? ` ${renderMember(sanitized, source, resultType)}`\n : ` ${renderMember(sanitized, source, resultType)}\\n ${renderMember(source.name, source, resultType)}`;\n if (!spend(budget, text)) {\n dropped += 1;\n continue;\n }\n lines.push(text);\n }\n return { lines, dropped };\n};\n\nconst renderMcpDeclaration = (\n sources: NonNullable<FabricGuestTypeSources[\"mcpServers\"]>,\n): string => {\n const bySanitized = new Map<string, typeof sources>();\n const rawNames = new Set<string>();\n for (const source of sources.slice(0, MAX_MCP_SERVERS)) {\n if (rawNames.has(source.server)) continue;\n rawNames.add(source.server);\n const key = sanitizeMcpRefPart(source.server);\n const group = bySanitized.get(key);\n if (group) group.push(source);\n else bySanitized.set(key, [source]);\n }\n const budget: FabricRenderBudget = { chars: MAX_SECTION_CHARS };\n const interfaces: string[] = [];\n const mapEntries: string[] = [];\n let droppedServers = Math.max(0, sources.length - rawNames.size);\n let droppedTools = 0;\n const sortedGroups = [...bySanitized.entries()].sort(([a], [b]) => a.localeCompare(b));\n for (const [sanitized, group] of sortedGroups) {\n if (group.length > 1) {\n droppedServers += group.length;\n droppedTools += group.reduce((total, entry) => total + entry.tools.length, 0);\n continue;\n }\n const source = group[0]!;\n const interfaceName = `FabricMcpServer_${sanitized}`;\n const memberBlock = renderMemberBlock(\n source.tools,\n \"Promise<FabricMcpResult | unknown>\",\n MAX_TOOLS_PER_SERVER,\n budget,\n );\n droppedTools += memberBlock.dropped;\n const header = `interface ${interfaceName} {\\n${memberBlock.lines.join(\"\\n\")}\\n}`;\n if (!spend(budget, header)) {\n droppedServers += 1;\n droppedTools += source.tools.length;\n break;\n }\n interfaces.push(header);\n mapEntries.push(` ${sanitized}: ${interfaceName};`);\n if (source.server !== sanitized) {\n mapEntries.push(` ${propertyKey(source.server)}: ${interfaceName};`);\n }\n }\n const notes: string[] = [];\n if (droppedServers > 0) notes.push(`${droppedServers} server(s) untyped`);\n if (droppedTools > 0) notes.push(`${droppedTools} tool(s) untyped`);\n const note =\n notes.length > 0\n ? `// Omitted from this surface (${notes.join(\", \")}); those calls compile\\n// as the loose fallback would and still validate at dispatch.\\n`\n : \"\";\n return (\n \"// Generated from the live MCP descriptor cache for this execution. Known\\n\" +\n \"// servers and tools carry their schemas so argument-shape mistakes fail\\n\" +\n \"// type-check before the sandbox runs, like pi.* calls do; anything absent\\n\" +\n \"// (cold cache, ambiguous sanitized names) compiles as it would with the\\n\" +\n \"// loose declarations and is validated by the registry at dispatch.\\n\" +\n note +\n interfaces.join(\"\\n\") +\n (interfaces.length > 0 ? \"\\n\" : \"\") +\n `declare const mcp: {\\n${mapEntries.join(\"\\n\")}\\n} & FabricMcpManagement;\\n`\n );\n};\n\nconst renderExtensionsDeclaration = (\n sources: NonNullable<FabricGuestTypeSources[\"extensionTools\"]>,\n): string => {\n const budget: FabricRenderBudget = { chars: MAX_SECTION_CHARS };\n const memberBlock = renderMemberBlock(\n sources,\n \"Promise<FabricCapturedToolResult>\",\n MAX_EXTENSION_TOOLS,\n budget,\n );\n const note =\n memberBlock.dropped > 0\n ? `// Omitted ${memberBlock.dropped} tool(s) from this surface; those calls\\n// compile as the loose fallback would and still validate at dispatch.\\n`\n : \"\";\n return (\n \"// Generated from the captured extension tool catalog for this execution,\\n\" +\n \"// with the same advisory semantics as the generated mcp surface above.\\n\" +\n note +\n `interface FabricExtensionsApiDynamic {\\n${memberBlock.lines.join(\"\\n\")}\\n}\\n` +\n \"declare const extensions: FabricExtensionsApiDynamic;\\n\"\n );\n};\n\n// Renders replacement `declare const mcp` / `declare const extensions` blocks\n// for guestTypeDeclarations(). Missing or empty sections return undefined so\n// the loose static lines survive, matching cold-cache behavior.\nexport const buildDynamicGuestDeclarations = (\n sources: FabricGuestTypeSources,\n): FabricDynamicGuestDeclarations => {\n const dynamic: FabricDynamicGuestDeclarations = {};\n if (sources.mcpServers && sources.mcpServers.length > 0) {\n dynamic.mcp = renderMcpDeclaration(sources.mcpServers);\n }\n if (sources.extensionTools && sources.extensionTools.length > 0) {\n dynamic.extensions = renderExtensionsDeclaration(sources.extensionTools);\n }\n return dynamic;\n};\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import { sanitizeMcpRefPart } from \"../ref-names.js\";\nimport type {\n FabricDynamicGuestDeclarations,\n FabricGuestTypeSources,\n FabricNamedActionTypeSource,\n} from \"../protocol.js\";\n\n// Renders guest .d.ts fragments for the dynamic call surfaces\n// (mcp.<server>.<tool> and extensions.<tool>) from live provider descriptors,\n// closing the type-check gap those globals had as Record<string, unknown>\n// callables: argument-shape mistakes surfaced only at dispatch time. The\n// generated surface stays advisory \u2014 the registry still validates every\n// call's args against the action's own inputSchema before invoke, so drift\n// between these declarations and a live server fails at the usual validate\n// stage rather than silently.\n\nconst MAX_DEPTH = 6;\nconst MAX_UNION_MEMBERS = 12;\nconst MAX_SCHEMA_SOURCE_CHARS = 4_096;\nconst MAX_MEMBER_TYPE_CHARS = 2_500;\nconst MAX_SECTION_CHARS = 60_000;\nconst MAX_MCP_SERVERS = 64;\nconst MAX_TOOLS_PER_SERVER = 128;\nconst MAX_EXTENSION_TOOLS = 256;\n\nconst IDENTIFIER = /^[A-Za-z_$][A-Za-z0-9_$]*$/;\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === \"object\" && value !== null && !Array.isArray(value);\n\nconst propertyKey = (name: string): string =>\n IDENTIFIER.test(name) ? name : JSON.stringify(name);\n\nconst literalType = (value: unknown): string => {\n if (value === null) return \"null\";\n if (typeof value === \"string\") return JSON.stringify(value);\n if (typeof value === \"number\" && Number.isFinite(value)) return JSON.stringify(value);\n if (typeof value === \"boolean\") return value ? \"true\" : \"false\";\n return \"unknown\";\n};\n\nconst unionType = (parts: string[]): string => {\n const unique = [...new Set(parts)];\n if (unique.length === 0) return \"unknown\";\n return unique.length === 1 ? unique[0]! : unique.join(\" | \");\n};\n\nconst typeList = (value: unknown): string[] => {\n if (typeof value === \"string\") return [value];\n if (Array.isArray(value)) {\n return value.filter((entry): entry is string => typeof entry === \"string\");\n }\n return [];\n};\n\nconst objectType = (schema: Record<string, unknown>, depth: number): string => {\n const properties = isRecord(schema.properties) ? schema.properties : {};\n const required = new Set(\n Array.isArray(schema.required)\n ? schema.required.filter((entry): entry is string => typeof entry === \"string\")\n : [],\n );\n const members: string[] = [];\n for (const key of Object.keys(properties).sort()) {\n members.push(\n `${propertyKey(key)}${required.has(key) ? \"\" : \"?\"}: ${schemaType(properties[key], depth + 1)}`,\n );\n }\n const additional = schema.additionalProperties;\n if (additional !== false) {\n members.push(\n isRecord(additional)\n ? `[key: string]: ${schemaType(additional, depth + 1)}`\n : \"[key: string]: unknown\",\n );\n }\n return `{ ${members.join(\"; \")} }`;\n};\n\nconst schemaType = (schema: unknown, depth: number): string => {\n if (depth > MAX_DEPTH) return \"unknown\";\n if (schema === true || schema === undefined) return \"unknown\";\n if (schema === false) return \"never\";\n if (!isRecord(schema)) return \"unknown\";\n if (\"const\" in schema) return literalType(schema.const);\n if (Array.isArray(schema.enum) && schema.enum.length > 0) {\n return unionType(schema.enum.slice(0, MAX_UNION_MEMBERS).map(literalType));\n }\n const alternates = Array.isArray(schema.anyOf)\n ? schema.anyOf\n : Array.isArray(schema.oneOf)\n ? schema.oneOf\n : undefined;\n if (alternates) {\n if (alternates.length === 0) return \"unknown\";\n return unionType(\n alternates.slice(0, MAX_UNION_MEMBERS).map((entry) => schemaType(entry, depth + 1)),\n );\n }\n if (Array.isArray(schema.allOf) && schema.allOf.length > 0) {\n return schema.allOf\n .slice(0, MAX_UNION_MEMBERS)\n .map((entry) => {\n const rendered = schemaType(entry, depth + 1);\n return rendered.includes(\" | \") ? `(${rendered})` : rendered;\n })\n .join(\" & \");\n }\n const types = typeList(schema.type);\n if (types.length > 1) {\n return unionType(types.map((type) => schemaType({ ...schema, type }, depth + 1)));\n }\n const type = types[0];\n if (type === \"object\" || (!type && isRecord(schema.properties))) {\n return objectType(schema, depth);\n }\n if (type === \"string\") return \"string\";\n if (type === \"number\" || type === \"integer\") return \"number\";\n if (type === \"boolean\") return \"boolean\";\n if (type === \"null\") return \"null\";\n if (type === \"array\") {\n const items = schema.items;\n if (Array.isArray(items)) {\n return `[${items\n .slice(0, MAX_UNION_MEMBERS)\n .map((entry) => schemaType(entry, depth + 1))\n .join(\", \")}]`;\n }\n return isRecord(items) || items === true\n ? `Array<${schemaType(items, depth + 1)}>`\n : \"unknown[]\";\n }\n return \"unknown\";\n};\n\ninterface FabricRenderBudget {\n chars: number;\n}\n\nconst spend = (budget: FabricRenderBudget, text: string): boolean => {\n if (budget.chars < text.length) return false;\n budget.chars -= text.length;\n return true;\n};\n\nconst hasRequiredArgs = (source: FabricNamedActionTypeSource): boolean =>\n Array.isArray(source.inputSchema.required) &&\n source.inputSchema.required.length > 0 &&\n isRecord(source.inputSchema.properties);\n\nconst renderMember = (\n name: string,\n source: FabricNamedActionTypeSource,\n resultType: string,\n): string => {\n const loose = `${propertyKey(name)}(args?: Record<string, unknown>): ${resultType};`;\n const schemaJson = JSON.stringify(source.inputSchema);\n if (!schemaJson || schemaJson.length > MAX_SCHEMA_SOURCE_CHARS) return loose;\n const rendered = schemaType(source.inputSchema, 0);\n if (rendered.length > MAX_MEMBER_TYPE_CHARS) return loose;\n return `${propertyKey(name)}(args${hasRequiredArgs(source) ? \"\" : \"?\"}: ${rendered}): ${resultType};`;\n};\n\n// Name collisions after sanitization are ambiguous: the MCP provider refuses\n// ambiguous sanitized server names and resolves colliding tools to the first\n// match, so mirrored members would promise a shape dispatch does not\n// guarantee. Unique names render in up to two forms \u2014 the sanitized\n// identifier the model types and a quoted raw alias for bracket access\n// (mcp[\"my-server\"]) \u2014 and ambiguous groups render nothing. A raw alias can\n// never collide with a sanitized member: aliases always contain a character\n// the sanitizer would replace or a leading digit it would prefix.\nconst renderMemberBlock = (\n sources: FabricNamedActionTypeSource[],\n resultType: string,\n limit: number,\n budget: FabricRenderBudget,\n): { lines: string[]; dropped: number } => {\n const bySanitized = new Map<string, FabricNamedActionTypeSource[]>();\n for (const source of sources.slice(0, limit)) {\n const key = sanitizeMcpRefPart(source.name);\n const group = bySanitized.get(key);\n if (group) group.push(source);\n else bySanitized.set(key, [source]);\n }\n const lines: string[] = [];\n let dropped = Math.max(0, sources.length - limit);\n const sortedGroups = [...bySanitized.entries()].sort(([a], [b]) => a.localeCompare(b));\n for (const [sanitized, group] of sortedGroups) {\n if (group.length > 1) {\n dropped += group.length;\n continue;\n }\n const source = group[0]!;\n const text =\n source.name === sanitized\n ? ` ${renderMember(sanitized, source, resultType)}`\n : ` ${renderMember(sanitized, source, resultType)}\\n ${renderMember(source.name, source, resultType)}`;\n if (!spend(budget, text)) {\n dropped += 1;\n continue;\n }\n lines.push(text);\n }\n return { lines, dropped };\n};\n\nconst renderMcpDeclaration = (\n sources: NonNullable<FabricGuestTypeSources[\"mcpServers\"]>,\n): string => {\n const bySanitized = new Map<string, typeof sources>();\n const rawNames = new Set<string>();\n for (const source of sources.slice(0, MAX_MCP_SERVERS)) {\n if (rawNames.has(source.server)) continue;\n rawNames.add(source.server);\n const key = sanitizeMcpRefPart(source.server);\n const group = bySanitized.get(key);\n if (group) group.push(source);\n else bySanitized.set(key, [source]);\n }\n const budget: FabricRenderBudget = { chars: MAX_SECTION_CHARS };\n const interfaces: string[] = [];\n const mapEntries: string[] = [];\n let droppedServers = Math.max(0, sources.length - rawNames.size);\n let droppedTools = 0;\n const sortedGroups = [...bySanitized.entries()].sort(([a], [b]) => a.localeCompare(b));\n for (const [sanitized, group] of sortedGroups) {\n if (group.length > 1) {\n droppedServers += group.length;\n droppedTools += group.reduce((total, entry) => total + entry.tools.length, 0);\n continue;\n }\n const source = group[0]!;\n const interfaceName = `FabricMcpServer_${sanitized}`;\n const memberBlock = renderMemberBlock(\n source.tools,\n \"Promise<FabricMcpResult | unknown>\",\n MAX_TOOLS_PER_SERVER,\n budget,\n );\n droppedTools += memberBlock.dropped;\n const header = `interface ${interfaceName} {\\n${memberBlock.lines.join(\"\\n\")}\\n}`;\n if (!spend(budget, header)) {\n droppedServers += 1;\n droppedTools += source.tools.length;\n break;\n }\n interfaces.push(header);\n mapEntries.push(` ${sanitized}: ${interfaceName};`);\n if (source.server !== sanitized) {\n mapEntries.push(` ${propertyKey(source.server)}: ${interfaceName};`);\n }\n }\n const notes: string[] = [];\n if (droppedServers > 0) notes.push(`${droppedServers} server(s) untyped`);\n if (droppedTools > 0) notes.push(`${droppedTools} tool(s) untyped`);\n const note =\n notes.length > 0\n ? `// Omitted from this surface (${notes.join(\", \")}); those calls compile\\n// as the loose fallback would and still validate at dispatch.\\n`\n : \"\";\n return (\n \"// Generated from the live MCP descriptor cache for this execution. Known\\n\" +\n \"// servers and tools carry their schemas so argument-shape mistakes fail\\n\" +\n \"// type-check before the sandbox runs, like pi.* calls do; anything absent\\n\" +\n \"// (cold cache, ambiguous sanitized names) compiles as it would with the\\n\" +\n \"// loose declarations and is validated by the registry at dispatch.\\n\" +\n note +\n interfaces.join(\"\\n\") +\n (interfaces.length > 0 ? \"\\n\" : \"\") +\n `declare const mcp: {\\n${mapEntries.join(\"\\n\")}\\n} & FabricMcpManagement;\\n`\n );\n};\n\nconst renderExtensionsDeclaration = (\n sources: NonNullable<FabricGuestTypeSources[\"extensionTools\"]>,\n): string => {\n const budget: FabricRenderBudget = { chars: MAX_SECTION_CHARS };\n const memberBlock = renderMemberBlock(\n sources,\n \"Promise<FabricCapturedToolResult>\",\n MAX_EXTENSION_TOOLS,\n budget,\n );\n const note =\n memberBlock.dropped > 0\n ? `// Omitted ${memberBlock.dropped} tool(s) from this surface; those calls\\n// compile as the loose fallback would and still validate at dispatch.\\n`\n : \"\";\n return (\n \"// Generated from the captured extension tool catalog for this execution,\\n\" +\n \"// with the same advisory semantics as the generated mcp surface above.\\n\" +\n note +\n `interface FabricExtensionsApiDynamic {\\n${memberBlock.lines.join(\"\\n\")}\\n}\\n` +\n \"declare const extensions: FabricExtensionsApiDynamic;\\n\"\n );\n};\n\n// Renders replacement `declare const mcp` / `declare const extensions` blocks\n// for guestTypeDeclarations(). Missing or empty sections return undefined so\n// the loose static lines survive, matching cold-cache behavior.\n/** Bounded advisory declaration for native describeTool compatibility. */\nexport const describeFabricActionDeclaration = (name: string, inputSchema: Record<string, unknown>): string =>\n `${JSON.stringify(name)}: (args: ${schemaType(inputSchema, 0)}) => Promise<unknown>`;\n\nexport const buildDynamicGuestDeclarations = (\n sources: FabricGuestTypeSources,\n): FabricDynamicGuestDeclarations => {\n const dynamic: FabricDynamicGuestDeclarations = {};\n if (sources.mcpServers && sources.mcpServers.length > 0) {\n dynamic.mcp = renderMcpDeclaration(sources.mcpServers);\n }\n if (sources.extensionTools && sources.extensionTools.length > 0) {\n dynamic.extensions = renderExtensionsDeclaration(sources.extensionTools);\n }\n return dynamic;\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["type"]
|
|
7
7
|
}
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
FabricResolutionError,
|
|
35
35
|
FabricTraceSafeError,
|
|
36
36
|
executionOutcomeFromError
|
|
37
|
-
} from "./chunk-
|
|
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-
|
|
2282
|
+
//# sourceMappingURL=chunk-BDQLZAMV.js.map
|