pi-fabric 0.100.0 → 0.102.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 (235) hide show
  1. package/README.md +7 -1
  2. package/THIRD_PARTY_NOTICES.md +2 -2
  3. package/dist/actors/types.d.ts +1 -1
  4. package/dist/actors/types.d.ts.map +1 -1
  5. package/dist/agents.js +4 -4
  6. package/dist/capture/catalog.d.ts +1 -0
  7. package/dist/capture/catalog.d.ts.map +1 -1
  8. package/dist/capture/interceptor.d.ts.map +1 -1
  9. package/dist/capture/tool-context.d.ts +3 -0
  10. package/dist/capture/tool-context.d.ts.map +1 -0
  11. package/dist/capture/wrapper.d.ts +1 -0
  12. package/dist/capture/wrapper.d.ts.map +1 -1
  13. package/dist/chunks/{chunk-RZHXYLOY.js → chunk-4TKPBEPB.js} +2 -2
  14. package/dist/chunks/{chunk-CXQF35XB.js → chunk-57CMH4SW.js} +2 -2
  15. package/dist/chunks/{chunk-SDDBEBM4.js → chunk-5JN5AWNV.js} +3 -3
  16. package/dist/chunks/{chunk-XYFOKDFM.js → chunk-5VTBHJN3.js} +2 -2
  17. package/dist/chunks/{chunk-C2DIKAOE.js → chunk-5ZJV4LAX.js} +72 -8
  18. package/dist/chunks/chunk-5ZJV4LAX.js.map +7 -0
  19. package/dist/chunks/{chunk-QIW7QMFI.js → chunk-64O5L7EW.js} +2 -2
  20. package/dist/chunks/{chunk-YU4O6SWQ.js → chunk-6KO2LEOO.js} +2 -2
  21. package/dist/chunks/chunk-6KO2LEOO.js.map +7 -0
  22. package/dist/chunks/{chunk-OEJ6RFDO.js → chunk-74BA4VSX.js} +29 -29
  23. package/dist/chunks/chunk-74BA4VSX.js.map +7 -0
  24. package/dist/chunks/{chunk-CPSPZGK4.js → chunk-7XJB2USB.js} +4 -4
  25. package/dist/chunks/chunk-AIUUPF7A.js +12 -0
  26. package/dist/chunks/chunk-AIUUPF7A.js.map +7 -0
  27. package/dist/chunks/{chunk-VGQ2IE7P.js → chunk-B5D6GA77.js} +28 -4
  28. package/dist/chunks/chunk-B5D6GA77.js.map +7 -0
  29. package/dist/chunks/{chunk-IUCEIYLV.js → chunk-BEJF2JX2.js} +3 -3
  30. package/dist/chunks/{chunk-27ORW5EK.js → chunk-CC63CY6R.js} +2 -2
  31. package/dist/chunks/{chunk-Z45SUO4B.js → chunk-DKVJREDI.js} +2 -2
  32. package/dist/chunks/{chunk-JWWGWUP7.js → chunk-DUJ46TIP.js} +2 -2
  33. package/dist/chunks/{chunk-WQB6CVES.js → chunk-EPYLZWJV.js} +2 -2
  34. package/dist/chunks/{chunk-M25A5R3F.js → chunk-G4CSXNBT.js} +4 -4
  35. package/dist/chunks/{chunk-YIEK7FH2.js → chunk-HG4DMARW.js} +4 -4
  36. package/dist/chunks/{chunk-MNTJX4U7.js → chunk-HOX6VW45.js} +12 -12
  37. package/dist/chunks/chunk-HOX6VW45.js.map +7 -0
  38. package/dist/chunks/{chunk-T3A5GNCW.js → chunk-J2HUD36Z.js} +9 -5
  39. package/dist/chunks/chunk-J2HUD36Z.js.map +7 -0
  40. package/dist/chunks/{chunk-YAPDV6LO.js → chunk-KP4ANT6L.js} +2 -2
  41. package/dist/chunks/{chunk-UR2K6WK6.js → chunk-LEFBW2GK.js} +5 -3
  42. package/dist/chunks/chunk-LEFBW2GK.js.map +7 -0
  43. package/dist/chunks/{chunk-H4YYLQTX.js → chunk-LV4IT75S.js} +2 -2
  44. package/dist/chunks/{chunk-RUEKYUNR.js → chunk-NGGI6LDC.js} +2 -2
  45. package/dist/chunks/{chunk-3RFEMOJA.js → chunk-PN4EKNRE.js} +19 -2
  46. package/dist/chunks/chunk-PN4EKNRE.js.map +7 -0
  47. package/dist/chunks/{chunk-NRLDV5R3.js → chunk-PNDYFU64.js} +3 -3
  48. package/dist/chunks/{chunk-2QAOC3BO.js → chunk-PWS2OXLV.js} +1 -1
  49. package/dist/chunks/chunk-PWS2OXLV.js.map +7 -0
  50. package/dist/chunks/{chunk-JHQDS6YP.js → chunk-QE2JFB7F.js} +4 -18
  51. package/dist/chunks/{chunk-JHQDS6YP.js.map → chunk-QE2JFB7F.js.map} +2 -2
  52. package/dist/chunks/{chunk-WK25T5ST.js → chunk-QETG2GVX.js} +6 -6
  53. package/dist/chunks/{chunk-I5VN6D5T.js → chunk-QHYBSIIO.js} +5 -5
  54. package/dist/chunks/{chunk-7HQKBGTL.js → chunk-RG22JKIC.js} +2 -2
  55. package/dist/chunks/{chunk-LH2PGXSZ.js → chunk-RIFG4HS6.js} +5 -2
  56. package/dist/chunks/chunk-RIFG4HS6.js.map +7 -0
  57. package/dist/chunks/{chunk-X7XFT57O.js → chunk-SGFH5PYA.js} +85 -26
  58. package/dist/chunks/chunk-SGFH5PYA.js.map +7 -0
  59. package/dist/chunks/{chunk-TGAVMUOS.js → chunk-W5CHVJBR.js} +11 -2
  60. package/dist/chunks/chunk-W5CHVJBR.js.map +7 -0
  61. package/dist/chunks/{chunk-UGMLWBVF.js → chunk-WMJ2AVQQ.js} +12 -12
  62. package/dist/chunks/chunk-WMJ2AVQQ.js.map +7 -0
  63. package/dist/chunks/{chunk-PAN6C3JM.js → chunk-XOBLUZMB.js} +13 -1
  64. package/dist/chunks/chunk-XOBLUZMB.js.map +7 -0
  65. package/dist/chunks/{chunk-KFPUVFDS.js → chunk-YVDBHS4C.js} +3 -3
  66. package/dist/chunks/{chunk-ASU53MOT.js → chunk-Z5Y65YBX.js} +2 -2
  67. package/dist/chunks/{chunk-WGGUZMQ4.js → chunk-ZZ66L3W5.js} +3 -3
  68. package/dist/compaction/hook.js +6 -6
  69. package/dist/components/configuration.js +3 -3
  70. package/dist/config.d.ts +12 -0
  71. package/dist/config.d.ts.map +1 -1
  72. package/dist/core/action-registry.js +6 -6
  73. package/dist/core/auto-approval-classifier.d.ts.map +1 -1
  74. package/dist/core/native-mcp-identity.d.ts +8 -0
  75. package/dist/core/native-mcp-identity.d.ts.map +1 -0
  76. package/dist/core/pi-bash-error.d.ts +8 -0
  77. package/dist/core/pi-bash-error.d.ts.map +1 -1
  78. package/dist/core/provider-operations.js +14 -14
  79. package/dist/core/provider-operations.js.map +2 -2
  80. package/dist/core/shell-inbox.d.ts.map +1 -1
  81. package/dist/core/shell-jobs.d.ts +55 -1
  82. package/dist/core/shell-jobs.d.ts.map +1 -1
  83. package/dist/core/shell-monitor.d.ts +4 -0
  84. package/dist/core/shell-monitor.d.ts.map +1 -1
  85. package/dist/core/shell-replay.d.ts +34 -0
  86. package/dist/core/shell-replay.d.ts.map +1 -0
  87. package/dist/core/system-guidance.d.ts.map +1 -1
  88. package/dist/core/tool-ownership.d.ts +4 -2
  89. package/dist/core/tool-ownership.d.ts.map +1 -1
  90. package/dist/entropy/index.js +9 -9
  91. package/dist/fabric-exec-tool.d.ts.map +1 -1
  92. package/dist/fabric-runtime-state.d.ts.map +1 -1
  93. package/dist/fabric-runtime-state.js +1256 -418
  94. package/dist/fabric-runtime-state.js.map +4 -4
  95. package/dist/host-compatibility.d.ts +1 -1
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +82 -95
  98. package/dist/index.js.map +2 -2
  99. package/dist/jev/auth.d.ts +6 -2
  100. package/dist/jev/auth.d.ts.map +1 -1
  101. package/dist/jev/client.d.ts +9 -1
  102. package/dist/jev/client.d.ts.map +1 -1
  103. package/dist/jev/client.js +1 -1
  104. package/dist/jev/config.d.ts +7 -0
  105. package/dist/jev/config.d.ts.map +1 -1
  106. package/dist/jev/manager.d.ts.map +1 -1
  107. package/dist/jev/observation.js +5 -5
  108. package/dist/jev-fabric/bridge.d.ts +66 -0
  109. package/dist/jev-fabric/bridge.d.ts.map +1 -0
  110. package/dist/jev-fabric/client.d.ts +77 -0
  111. package/dist/jev-fabric/client.d.ts.map +1 -0
  112. package/dist/jev-fabric/client.js +169 -0
  113. package/dist/jev-fabric/client.js.map +7 -0
  114. package/dist/jev-fabric/operations.d.ts +41 -0
  115. package/dist/jev-fabric/operations.d.ts.map +1 -0
  116. package/dist/jev-fabric/operations.js +99 -0
  117. package/dist/jev-fabric/operations.js.map +7 -0
  118. package/dist/jev-fabric/registry.d.ts +37 -0
  119. package/dist/jev-fabric/registry.d.ts.map +1 -0
  120. package/dist/jev-fabric/registry.js +75 -0
  121. package/dist/jev-fabric/registry.js.map +7 -0
  122. package/dist/jev-fabric/resolve.d.ts +78 -0
  123. package/dist/jev-fabric/resolve.d.ts.map +1 -0
  124. package/dist/jev-fabric/resolve.js +165 -0
  125. package/dist/jev-fabric/resolve.js.map +7 -0
  126. package/dist/jev-fabric/serve.d.ts +44 -0
  127. package/dist/jev-fabric/serve.d.ts.map +1 -0
  128. package/dist/jev-fabric/serve.js +155 -0
  129. package/dist/jev-fabric/serve.js.map +7 -0
  130. package/dist/jev-fabric/status.d.ts +4 -0
  131. package/dist/jev-fabric/status.d.ts.map +1 -0
  132. package/dist/jev.js +11 -11
  133. package/dist/mcp.js +1 -1
  134. package/dist/memory/digest.js +2 -2
  135. package/dist/memory/discovery.js +6 -6
  136. package/dist/memory/file-worker.js +9 -9
  137. package/dist/memory/normalize.js +5 -5
  138. package/dist/memory/search.js +7 -7
  139. package/dist/memory/worker-provider.js +10 -10
  140. package/dist/memory.js +10 -10
  141. package/dist/providers/captured-tools-provider.d.ts +4 -2
  142. package/dist/providers/captured-tools-provider.d.ts.map +1 -1
  143. package/dist/providers/jev-provider.d.ts +4 -0
  144. package/dist/providers/jev-provider.d.ts.map +1 -1
  145. package/dist/providers/jev-provider.js +10 -10
  146. package/dist/providers/mcp-provider.d.ts +5 -1
  147. package/dist/providers/mcp-provider.d.ts.map +1 -1
  148. package/dist/providers/memory-provider.js +9 -9
  149. package/dist/providers/pi-native-mcp.d.ts +24 -0
  150. package/dist/providers/pi-native-mcp.d.ts.map +1 -0
  151. package/dist/providers/pi-tools-provider.d.ts.map +1 -1
  152. package/dist/providers/sessions-provider.d.ts +28 -0
  153. package/dist/providers/sessions-provider.d.ts.map +1 -0
  154. package/dist/providers/tasks-provider.d.ts +2 -1
  155. package/dist/providers/tasks-provider.d.ts.map +1 -1
  156. package/dist/residency/host.js +12 -12
  157. package/dist/residency/pi-entry.js +12 -12
  158. package/dist/runtime/core-override-guest-types.js +2 -2
  159. package/dist/runtime/cpython-runtime.js +1 -1
  160. package/dist/runtime/guest-types.d.ts +1 -1
  161. package/dist/runtime/guest-types.d.ts.map +1 -1
  162. package/dist/runtime/guest-types.js +1 -1
  163. package/dist/runtime/monty-runtime.js +3 -3
  164. package/dist/runtime/node-process-runtime.js +4 -4
  165. package/dist/runtime/quickjs-runtime.js +3 -3
  166. package/dist/runtime/typescript-kernel.js +8 -8
  167. package/dist/runtime-state-builtins.d.ts +1 -0
  168. package/dist/runtime-state-builtins.d.ts.map +1 -1
  169. package/dist/ui/controller.d.ts.map +1 -1
  170. package/dist/ui/conversation.js +6 -6
  171. package/dist/ui/dashboard.js +7 -7
  172. package/dist/ui/settings-sections-execution.d.ts.map +1 -1
  173. package/dist/ui/settings-values.d.ts.map +1 -1
  174. package/dist/ui/settings.js +19 -3
  175. package/dist/ui/settings.js.map +2 -2
  176. package/dist/ui/shell-tasks.d.ts.map +1 -1
  177. package/dist/ui/shell-tasks.js +1 -0
  178. package/dist/ui/shell-tasks.js.map +2 -2
  179. package/dist/verified/generated/authority-kernel.js +8 -8
  180. package/dist/verified/generated/kernel.js +13 -13
  181. package/dist/verified/generated/lifecycle-kernel.js +1 -1
  182. package/dist/verified/generated/manifest.json +7 -7
  183. package/dist/verified/generated/provider-kernel.js +14 -14
  184. package/dist/verified/generated/storage-kernel.js +22 -22
  185. package/docs/background-tasks.md +80 -3
  186. package/docs/certification.md +3 -1
  187. package/docs/configuration.md +30 -6
  188. package/docs/harnesses.md +7 -3
  189. package/docs/interface.md +1 -1
  190. package/docs/jev.md +11 -5
  191. package/docs/provider-capabilities.md +1 -1
  192. package/docs/shell-composition.md +117 -0
  193. package/docs/verified-kernels.md +1 -1
  194. package/package.json +15 -8
  195. package/scripts/test-verified-kernels.mjs +1 -1
  196. package/scripts/verified-kernels.mjs +1 -1
  197. package/skillsets/python/fabric-exec/references/mcp.md +2 -2
  198. package/skillsets/typescript/fabric-exec/references/mcp.md +5 -3
  199. package/dist/chunks/chunk-2QAOC3BO.js.map +0 -7
  200. package/dist/chunks/chunk-3RFEMOJA.js.map +0 -7
  201. package/dist/chunks/chunk-C2DIKAOE.js.map +0 -7
  202. package/dist/chunks/chunk-LH2PGXSZ.js.map +0 -7
  203. package/dist/chunks/chunk-MNTJX4U7.js.map +0 -7
  204. package/dist/chunks/chunk-OEJ6RFDO.js.map +0 -7
  205. package/dist/chunks/chunk-PAN6C3JM.js.map +0 -7
  206. package/dist/chunks/chunk-T3A5GNCW.js.map +0 -7
  207. package/dist/chunks/chunk-TGAVMUOS.js.map +0 -7
  208. package/dist/chunks/chunk-UGMLWBVF.js.map +0 -7
  209. package/dist/chunks/chunk-UR2K6WK6.js.map +0 -7
  210. package/dist/chunks/chunk-VGQ2IE7P.js.map +0 -7
  211. package/dist/chunks/chunk-X7XFT57O.js.map +0 -7
  212. package/dist/chunks/chunk-YU4O6SWQ.js.map +0 -7
  213. /package/dist/chunks/{chunk-RZHXYLOY.js.map → chunk-4TKPBEPB.js.map} +0 -0
  214. /package/dist/chunks/{chunk-CXQF35XB.js.map → chunk-57CMH4SW.js.map} +0 -0
  215. /package/dist/chunks/{chunk-SDDBEBM4.js.map → chunk-5JN5AWNV.js.map} +0 -0
  216. /package/dist/chunks/{chunk-XYFOKDFM.js.map → chunk-5VTBHJN3.js.map} +0 -0
  217. /package/dist/chunks/{chunk-QIW7QMFI.js.map → chunk-64O5L7EW.js.map} +0 -0
  218. /package/dist/chunks/{chunk-CPSPZGK4.js.map → chunk-7XJB2USB.js.map} +0 -0
  219. /package/dist/chunks/{chunk-IUCEIYLV.js.map → chunk-BEJF2JX2.js.map} +0 -0
  220. /package/dist/chunks/{chunk-27ORW5EK.js.map → chunk-CC63CY6R.js.map} +0 -0
  221. /package/dist/chunks/{chunk-Z45SUO4B.js.map → chunk-DKVJREDI.js.map} +0 -0
  222. /package/dist/chunks/{chunk-JWWGWUP7.js.map → chunk-DUJ46TIP.js.map} +0 -0
  223. /package/dist/chunks/{chunk-WQB6CVES.js.map → chunk-EPYLZWJV.js.map} +0 -0
  224. /package/dist/chunks/{chunk-M25A5R3F.js.map → chunk-G4CSXNBT.js.map} +0 -0
  225. /package/dist/chunks/{chunk-YIEK7FH2.js.map → chunk-HG4DMARW.js.map} +0 -0
  226. /package/dist/chunks/{chunk-YAPDV6LO.js.map → chunk-KP4ANT6L.js.map} +0 -0
  227. /package/dist/chunks/{chunk-H4YYLQTX.js.map → chunk-LV4IT75S.js.map} +0 -0
  228. /package/dist/chunks/{chunk-RUEKYUNR.js.map → chunk-NGGI6LDC.js.map} +0 -0
  229. /package/dist/chunks/{chunk-NRLDV5R3.js.map → chunk-PNDYFU64.js.map} +0 -0
  230. /package/dist/chunks/{chunk-WK25T5ST.js.map → chunk-QETG2GVX.js.map} +0 -0
  231. /package/dist/chunks/{chunk-I5VN6D5T.js.map → chunk-QHYBSIIO.js.map} +0 -0
  232. /package/dist/chunks/{chunk-7HQKBGTL.js.map → chunk-RG22JKIC.js.map} +0 -0
  233. /package/dist/chunks/{chunk-KFPUVFDS.js.map → chunk-YVDBHS4C.js.map} +0 -0
  234. /package/dist/chunks/{chunk-ASU53MOT.js.map → chunk-Z5Y65YBX.js.map} +0 -0
  235. /package/dist/chunks/{chunk-WGGUZMQ4.js.map → chunk-ZZ66L3W5.js.map} +0 -0
package/README.md CHANGED
@@ -67,9 +67,15 @@ To select Python, put this in `~/.pi/agent/fabric.json` or a trusted project's `
67
67
 
68
68
  Python defaults to [Monty](https://github.com/pydantic/monty), a sandboxed Python subset with VM resource limits and no ambient filesystem, network, or process access. It is **not CPython**: arbitrary imports, third-party packages, and some Python features are unavailable. Full **CPython 3.10+** requires explicit `executor.pythonRuntime: "cpython"` and runs trusted native code with full OS privileges outside schema enforce, like TypeScript's Node/Bun escape hatches. CPython enforcement additionally requires macOS `sandbox-exec` or Linux `bwrap`, failing closed without isolation. Missing Monty dependencies never trigger a native fallback. `executor.runtime` only affects TypeScript. See [the kernel guide](docs/kernels.md).
69
69
 
70
+ Pi's native MCP can optionally supply selected servers beneath the same Fabric API: set `mcp.nativeServers` to exact server names already configured in Pi. Other servers stay on mcporter; failed native calls never switch transports. See [MCP ownership and compatibility](docs/configuration.md#opt-in-pi-owned-servers).
71
+
70
72
  ## Install
71
73
 
72
- Requires Node.js 24+ and Pi 0.80.6+. Monty's optional native package installs on supported platforms; only the explicit CPython escape hatch requires CPython 3.10+. Fabric also checks a detectable Pi host version at startup and warns when an older host may ignore continuation APIs such as actor `triggerTurn`.
74
+ Requires Node.js 24+ and Pi 0.99.0+. Monty's optional native package installs on supported platforms; only the explicit CPython escape hatch requires CPython 3.10+. Fabric warns when a detectable host is older than the required native loadout and nested-execution contracts.
75
+
76
+ **0.102.0 — opt-in Pi-owned MCP:** select native servers with `mcp.nativeServers` while keeping Fabric's API, policy pipeline, names/descriptions, and result normalization. Existing defaults remain unchanged. Native identities are indexed by registration snapshot, with live exposure and schema checks; SDK reload and settings-save guards are included.
77
+
78
+ **0.101.1 — Pi 0.99 compatibility:** full-code and Schema enforce modes declare only `fabric_exec`, including with native codemode, tool search, MCP, late registrations, and active-tool changes. Captured tools remain available as `extensions.<name>(...)` inside Fabric, with host middleware applied. Pi packages and TypeBox are host-supplied peers, never bundled. Run `bun run test:pi99` for the offline compiled-extension SDK and bundled-CLI regression. The same compiled package also passes an isolated Pi 0.99.1 SDK/CLI gate; development pins remain 0.99.0.
73
79
 
74
80
  ```bash
75
81
  pi install npm:pi-fabric
@@ -1,9 +1,9 @@
1
1
  # Third-party notices
2
2
 
3
- ## Bend 2.0.32
3
+ ## Bend 2.0.34
4
4
 
5
5
  The generated policy kernel includes Bend's emitted JavaScript trampoline and
6
- compiled Base primitives from [Bend 2.0.32](https://github.com/bendlang/bend/tree/v2.0.32),
6
+ compiled Base primitives from [Bend 2.0.34](https://github.com/bendlang/bend/tree/v2.0.34),
7
7
  Copyright 2026 HigherOrderCO, licensed under Apache-2.0. Pi Fabric selects the
8
8
  ABI library exports, adapts constructor tags at the boundary, and tree-shakes
9
9
  unused runtime code.
@@ -5,7 +5,7 @@ import type { FabricLogLine, AgentRunRecord, AgentUsage } from "../agents/types.
5
5
  import type { FabricCapabilityRequirement } from "../components/types.js";
6
6
  import type { FabricKernel } from "../runtime/kernel.js";
7
7
  import type { FabricParticipantResidency } from "../topology/types.js";
8
- export type FabricActorPiHostEvent = Exclude<ExtensionEvent["type"], "project_trust" | "cache_warming_decision" | "agent_before_settle" | "context_with_system">;
8
+ export type FabricActorPiHostEvent = Exclude<ExtensionEvent["type"], "project_trust" | "cache_warming_decision" | "agent_before_settle" | "context_with_system" | "mcp_servers_change" | "provider_stream_event">;
9
9
  export declare const FABRIC_ACTOR_PI_HOST_EVENTS: readonly ["resources_discover", "session_start", "session_info_changed", "session_before_switch", "session_before_fork", "session_before_compact", "session_compact", "session_compact_failed", "session_shutdown", "session_before_tree", "session_tree", "input", "before_agent_start", "agent_start", "agent_end", "agent_settled", "turn_start", "turn_end", "message_start", "message_update", "message_end", "ui_prompt_start", "ui_prompt_end", "context", "before_provider_headers", "before_provider_request", "after_provider_response", "tool_execution_start", "tool_call", "tool_execution_update", "tool_result", "tool_execution_end", "model_select", "thinking_level_select", "user_bash"];
10
10
  export declare const FABRIC_ACTOR_HOST_EVENTS: readonly ["resources_discover", "session_start", "session_info_changed", "session_before_switch", "session_before_fork", "session_before_compact", "session_compact", "session_compact_failed", "session_shutdown", "session_before_tree", "session_tree", "input", "before_agent_start", "agent_start", "agent_end", "agent_settled", "turn_start", "turn_end", "message_start", "message_update", "message_end", "ui_prompt_start", "ui_prompt_end", "context", "before_provider_headers", "before_provider_request", "after_provider_response", "tool_execution_start", "tool_call", "tool_execution_update", "tool_result", "tool_execution_end", "model_select", "thinking_level_select", "user_bash", "tool_error"];
11
11
  export type FabricActorHostEvent = (typeof FABRIC_ACTOR_HOST_EVENTS)[number];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/actors/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/actors/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAwBvE,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAC1C,cAAc,CAAC,MAAM,CAAC,EACtB,eAAe,GAAG,wBAAwB,GAAG,qBAAqB,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,uBAAuB,CAC5I,CAAC;AAQF,eAAO,MAAM,2BAA2B,6qBAoCtC,CAAC;AAEH,eAAO,MAAM,wBAAwB,2rBAG3B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAI7E,eAAO,MAAM,sBAAsB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,oBACI,CAAC;AAEtE,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;AAChF,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,WAAW,CAAC;AAC3D,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAC1E,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,SAAS,CAAC;AAC5D,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,SAAS,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,UAAU,sBAAuB,SAAQ,qBAAqB;IAC5D,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,0BAA2B,SAAQ,qBAAqB;IAChE,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,qBAAqB,GAC7B;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,oBAAoB,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,qBAAqB,CAAC;IAClC,OAAO,EAAE;QACP,wBAAwB,EAAE,MAAM,CAAC;QACjC,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,OAAO,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,sFAAsF;IACtF,KAAK,CAAC,EAAE,uBAAuB,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,sFAAsF;IACtF,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,kFAAkF;IAClF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0FAA0F;IAC1F,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,0FAA0F;IAC1F,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAClC,4FAA4F;IAC5F,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kGAAkG;IAClG,QAAQ,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,2BAA2B,CAAC,EAAE,CAAC;IAC7D,4EAA4E;IAC5E,UAAU,CAAC,EAAE,2BAA2B,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,uBAAuB,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,YAAY,EAAE,uBAAuB,CAAC;IACtC,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uFAAuF;IACvF,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,eAAe,CAAC,EAAE,0BAA0B,CAAC;IAC7C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,cAAc,CAAC;QACxB,MAAM,EAAE,aAAa,EAAE,CAAC;QACxB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,GAAG,KAAK,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;IAClD,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAKlB,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,YAAY,EAAE,uBAAuB,CAAC;IACtC,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,MAAM,EAAE,iBAAiB,CAAC;CAC3B"}
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-NRLDV5R3.js";
7
+ } from "./chunks/chunk-PNDYFU64.js";
8
8
  import {
9
9
  actionArgNormalizer
10
10
  } from "./chunks/chunk-NQOEHX62.js";
@@ -17,11 +17,11 @@ import {
17
17
  terminalAgentStatuses,
18
18
  waitForAgent
19
19
  } from "./chunks/chunk-AYBIR4YV.js";
20
- import "./chunks/chunk-2QAOC3BO.js";
20
+ import "./chunks/chunk-PWS2OXLV.js";
21
21
  import "./chunks/chunk-A4VP7HDF.js";
22
22
  import "./chunks/chunk-MGWQOKBV.js";
23
- import "./chunks/chunk-ASU53MOT.js";
24
- import "./chunks/chunk-MNTJX4U7.js";
23
+ import "./chunks/chunk-Z5Y65YBX.js";
24
+ import "./chunks/chunk-HOX6VW45.js";
25
25
 
26
26
  // src/agents/service-schema.ts
27
27
  import { Value } from "typebox/value";
@@ -22,6 +22,7 @@ export declare class CapturedToolCatalog {
22
22
  clear(): void;
23
23
  refresh(): void;
24
24
  subscribe(listener: () => void): () => void;
25
+ registeredTools(): readonly RegisteredTool[];
25
26
  get(name: string): CapturedToolEntry | undefined;
26
27
  require(name: string): CapturedToolEntry;
27
28
  list(): CapturedToolEntry[];
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/capture/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACnH,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1C,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,eAAe,CAAC;IACxB,WAAW,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC;IAC7D,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,qBAAa,mBAAmB;;IAW9B,IAAI,MAAM,IAAI,eAAe,GAAG,SAAS,CAExC;IAKD,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,aAAa,IAAI,IAAI;IAIrB,WAAW,IAAI,IAAI;IAInB,OAAO,CACL,eAAe,EAAE,cAAc,EAAE,EACjC,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,uBAAuB,EAC/B,aAAa,EAAE,MAAM,GACpB,IAAI;IA+BP,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI;IAMrC,KAAK,IAAI,IAAI;IAUb,OAAO,IAAI,IAAI;IAIf,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAK3C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAIhD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB;IAMxC,IAAI,IAAI,iBAAiB,EAAE;IAI3B,IAAI,IAAI,IAAI,MAAM,CAEjB;CAOF"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/capture/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACnH,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1C,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,eAAe,CAAC;IACxB,WAAW,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC;IAC7D,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,qBAAa,mBAAmB;;IAY9B,IAAI,MAAM,IAAI,eAAe,GAAG,SAAS,CAExC;IAKD,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,aAAa,IAAI,IAAI;IAIrB,WAAW,IAAI,IAAI;IAInB,OAAO,CACL,eAAe,EAAE,cAAc,EAAE,EACjC,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,uBAAuB,EAC/B,aAAa,EAAE,MAAM,GACpB,IAAI;IAkCP,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI;IAMrC,KAAK,IAAI,IAAI;IAWb,OAAO,IAAI,IAAI;IAIf,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAK3C,eAAe,IAAI,SAAS,cAAc,EAAE;IAI5C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAIhD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB;IAMxC,IAAI,IAAI,iBAAiB,EAAE;IAI3B,IAAI,IAAI,IAAI,MAAM,CAEjB;CAOF"}
@@ -1 +1 @@
1
- {"version":3,"file":"interceptor.d.ts","sourceRoot":"","sources":["../../src/capture/interceptor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EAEf,cAAc,EACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAyB,KAAK,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAQnD,MAAM,WAAW,+BAA+B;IAC9C,SAAS,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACjD,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,gBAAgB,EAAE,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAChD,OAAO,EAAE,mBAAmB,CAAC;IAC7B,aAAa,CAAC,EAAE,uBAAuB,CAAC;IAOxC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAyBD,KAAK,0BAA0B,GAAG;IAChC,SAAS,EAAE,eAAe,CAAC;CAC5B,CAAC;AAaF,eAAO,MAAM,iCAAiC,GAC5C,WAAW,MAAM,KAChB,OAAO,CAAC,0BAA0B,EAAE,CAuBtC,CAAC;AAyHF,eAAO,MAAM,4BAA4B,GACvC,SAAS,4BAA4B,KACpC,OAAO,CAAC,+BAA+B,CAuCzC,CAAC"}
1
+ {"version":3,"file":"interceptor.d.ts","sourceRoot":"","sources":["../../src/capture/interceptor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EAEf,cAAc,EACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAyB,KAAK,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAQnD,MAAM,WAAW,+BAA+B;IAC9C,SAAS,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACjD,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,gBAAgB,EAAE,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAChD,OAAO,EAAE,mBAAmB,CAAC;IAC7B,aAAa,CAAC,EAAE,uBAAuB,CAAC;IAUxC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAyBD,KAAK,0BAA0B,GAAG;IAChC,SAAS,EAAE,eAAe,CAAC;CAC5B,CAAC;AAaF,eAAO,MAAM,iCAAiC,GAC5C,WAAW,MAAM,KAChB,OAAO,CAAC,0BAA0B,EAAE,CAuBtC,CAAC;AAyHF,eAAO,MAAM,4BAA4B,GACvC,SAAS,4BAA4B,KACpC,OAAO,CAAC,+BAA+B,CAuCzC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ExtensionContext, ExtensionRunner, ExtensionToolContext } from "@earendil-works/pi-coding-agent";
2
+ export declare const executionToolContext: (context: ExtensionContext, runner: ExtensionRunner | undefined, toolCallId: string, signal?: AbortSignal) => ExtensionToolContext;
3
+ //# sourceMappingURL=tool-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-context.d.ts","sourceRoot":"","sources":["../../src/capture/tool-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAI/G,eAAO,MAAM,oBAAoB,GAC/B,SAAS,gBAAgB,EACzB,QAAQ,eAAe,GAAG,SAAS,EACnC,YAAY,MAAM,EAClB,SAAS,WAAW,KACnB,oBAOF,CAAC"}
@@ -5,6 +5,7 @@ export interface WrappedRegisteredTool {
5
5
  label: string | undefined;
6
6
  description: string | undefined;
7
7
  parameters: unknown;
8
+ outputSchema: unknown;
8
9
  constrainedSampling: unknown;
9
10
  prepareArguments: ((args: Record<string, unknown>) => unknown) | undefined;
10
11
  executionMode: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../src/capture/wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAkB,MAAM,iCAAiC,CAAC;AAQvG,KAAK,cAAc,GAAG,CACpB,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,EAC/B,GAAG,CAAC,EAAE,OAAO,KACV,OAAO,CAAC,GAAG,CAAC,CAAC;AAElB,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;IAC3E,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,cAAc,CAAC;CACzB;AAoBD,eAAO,MAAM,4BAA4B,GACvC,gBAAgB,cAAc,EAC9B,QAAQ,eAAe,EACvB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,KACzC,qBA8BF,CAAC"}
1
+ {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../src/capture/wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAkB,MAAM,iCAAiC,CAAC;AAQvG,KAAK,cAAc,GAAG,CACpB,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,EAC/B,GAAG,CAAC,EAAE,OAAO,KACV,OAAO,CAAC,GAAG,CAAC,CAAC;AAElB,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;IAC3E,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,cAAc,CAAC;CACzB;AAqBD,eAAO,MAAM,4BAA4B,GACvC,gBAAgB,cAAc,EAC9B,QAAQ,eAAe,EACvB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,KACzC,qBAgCF,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  MemoryProvider
3
- } from "./chunk-WK25T5ST.js";
3
+ } from "./chunk-QETG2GVX.js";
4
4
 
5
5
  // src/memory/worker-provider.ts
6
6
  import path from "node:path";
@@ -181,4 +181,4 @@ var WorkerMemoryProvider = class extends MemoryProvider {
181
181
  export {
182
182
  WorkerMemoryProvider
183
183
  };
184
- //# sourceMappingURL=chunk-RZHXYLOY.js.map
184
+ //# sourceMappingURL=chunk-4TKPBEPB.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  st
3
- } from "./chunk-MNTJX4U7.js";
3
+ } from "./chunk-HOX6VW45.js";
4
4
 
5
5
  // src/memory/tokenize.ts
6
6
  var compareLexical = (left, right) => left < right ? -1 : left > right ? 1 : 0;
@@ -120,4 +120,4 @@ export {
120
120
  planMemoryQuery,
121
121
  foldSessionDigest
122
122
  };
123
- //# sourceMappingURL=chunk-CXQF35XB.js.map
123
+ //# sourceMappingURL=chunk-57CMH4SW.js.map
@@ -2,10 +2,10 @@ import {
2
2
  MEMORY_SOURCE_INTERFACE_VERSION,
3
3
  createMemorySourceRegistry,
4
4
  defineMemorySource
5
- } from "./chunk-WK25T5ST.js";
5
+ } from "./chunk-QETG2GVX.js";
6
6
  import {
7
7
  readSessionHeader
8
- } from "./chunk-KFPUVFDS.js";
8
+ } from "./chunk-YVDBHS4C.js";
9
9
 
10
10
  // src/memory/fs-source.ts
11
11
  import crypto from "node:crypto";
@@ -159,4 +159,4 @@ export {
159
159
  createFileSystemMemorySource,
160
160
  createConfiguredMemorySourceRegistry
161
161
  };
162
- //# sourceMappingURL=chunk-SDDBEBM4.js.map
162
+ //# sourceMappingURL=chunk-5JN5AWNV.js.map
@@ -9,7 +9,7 @@ import {
9
9
  agentParticipantRecords,
10
10
  loadModelUsage,
11
11
  useBudgetLedger
12
- } from "./chunk-OEJ6RFDO.js";
12
+ } from "./chunk-74BA4VSX.js";
13
13
  import {
14
14
  RESIDENT_HOST_FORMAT,
15
15
  residentDeliveryPrefix,
@@ -691,4 +691,4 @@ if (isMain) {
691
691
  export {
692
692
  runResidentHostFromConfigPath
693
693
  };
694
- //# sourceMappingURL=chunk-XYFOKDFM.js.map
694
+ //# sourceMappingURL=chunk-5VTBHJN3.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  JevClient,
3
3
  JevCredentials
4
- } from "./chunk-TGAVMUOS.js";
4
+ } from "./chunk-W5CHVJBR.js";
5
5
  import {
6
6
  checkObserve,
7
7
  jevObserveSchema
8
- } from "./chunk-H4YYLQTX.js";
8
+ } from "./chunk-LV4IT75S.js";
9
9
  import {
10
10
  checkSchema,
11
11
  checkValue,
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-WHBJDTCR.js";
15
15
  import {
16
16
  validationMessage
17
- } from "./chunk-YAPDV6LO.js";
17
+ } from "./chunk-KP4ANT6L.js";
18
18
  import {
19
19
  runAbortable
20
20
  } from "./chunk-7TB7NXSL.js";
@@ -22,7 +22,7 @@ import {
22
22
  ApprovalController,
23
23
  FabricAutoApprovalClassifier,
24
24
  FabricSessionApprovals
25
- } from "./chunk-JHQDS6YP.js";
25
+ } from "./chunk-QE2JFB7F.js";
26
26
  import {
27
27
  resolveJevModelRoute
28
28
  } from "./chunk-B54Z662X.js";
@@ -304,6 +304,7 @@ var JevProgramManager = class {
304
304
  clearTimeout(timer);
305
305
  observation?.close();
306
306
  context.signal?.removeEventListener("abort", abort);
307
+ await registry.endInvocation(`jev:${id}`).catch(() => void 0);
307
308
  await runLease.release();
308
309
  info.endedAt = Date.now();
309
310
  this.#prune();
@@ -389,7 +390,12 @@ var JevProvider = class {
389
390
  manager;
390
391
  client;
391
392
  route;
393
+ /** One jev-fabric `serve` connection per program run: one client, one budget, like a Bend program. */
394
+ #runs = /* @__PURE__ */ new Map();
395
+ #transport;
396
+ #jevFabric;
392
397
  constructor(options, client) {
398
+ this.#jevFabric = options.jevFabric;
393
399
  this.manager = new JevProgramManager(options);
394
400
  this.route = resolveJevModelRoute(options.config.jev.model).route;
395
401
  this.client = client ?? new JevClient(
@@ -412,8 +418,11 @@ var JevProvider = class {
412
418
  const invalid = validationMessage(descriptor.inputSchema, args);
413
419
  if (invalid) throw new Error(`Invalid jev.${name} arguments: ${invalid}`);
414
420
  switch (name) {
415
- case "evaluate":
416
- return this.client.evaluate(args, context.signal ?? new AbortController().signal);
421
+ case "evaluate": {
422
+ const dispatch = await this.#dispatchFor(context.parentToolCallId);
423
+ this.#transport = dispatch ? "jev-fabric" : "fabric";
424
+ return this.client.evaluate(args, context.signal ?? new AbortController().signal, dispatch);
425
+ }
417
426
  case "run":
418
427
  return this.manager.launch(args, context, false);
419
428
  case "spawn":
@@ -423,7 +432,8 @@ var JevProvider = class {
423
432
  credentials: this.client.credentials.status(),
424
433
  model: this.client.config.model,
425
434
  route: this.route.id,
426
- runs: this.manager.list()
435
+ runs: this.manager.list(),
436
+ transport: { configured: this.client.config.transport, ...this.#transport ? { last: this.#transport } : {} }
427
437
  };
428
438
  case "join":
429
439
  case "wait":
@@ -434,9 +444,63 @@ var JevProvider = class {
434
444
  return this.manager.stop(args.id);
435
445
  }
436
446
  }
447
+ /**
448
+ * Program decisions go through the run's own jev-fabric connection when
449
+ * configured and available; direct calls stay in-process. `auto` falls back
450
+ * to in-process only when no suitable binary resolves, never after a request fails.
451
+ */
452
+ async #dispatchFor(scope) {
453
+ const transport = this.client.config.transport;
454
+ if (transport === "fabric" || !scope?.startsWith("jev:")) return void 0;
455
+ const bridge = this.#jevFabric;
456
+ if (!bridge) {
457
+ if (transport === "jev-fabric") throw new Error("jev.transport jev-fabric needs jev-fabric, which runs on macOS and Linux outside managed hosts");
458
+ return void 0;
459
+ }
460
+ let pending = this.#runs.get(scope);
461
+ if (!pending) {
462
+ pending = (async () => {
463
+ let binary;
464
+ try {
465
+ binary = (await bridge.resolve("jev")).path;
466
+ } catch (error) {
467
+ if (transport === "jev-fabric") throw error;
468
+ return void 0;
469
+ }
470
+ const { JevFabricServe } = await import("../jev-fabric/serve.js");
471
+ return JevFabricServe.open(binary, {
472
+ home: bridge.home,
473
+ cwd: bridge.options.cwd,
474
+ timeoutMs: 864e5,
475
+ evaluations: this.client.config.maxEvaluations,
476
+ tokens: this.client.config.maxTokens
477
+ });
478
+ })();
479
+ pending.catch(() => this.#runs.delete(scope));
480
+ this.#runs.set(scope, pending);
481
+ }
482
+ const serve = await pending;
483
+ if (!serve) return void 0;
484
+ const provider = this.route.id === "vercel-ai-gateway" ? "vercel" : this.route.id;
485
+ return (request, credential, signal) => serve.request("jev", {
486
+ request,
487
+ provider,
488
+ credential,
489
+ timeoutMs: this.client.config.requestTimeoutMs
490
+ }, signal);
491
+ }
492
+ async invocationEnded(parentToolCallId) {
493
+ const pending = this.#runs.get(parentToolCallId);
494
+ if (!pending) return;
495
+ this.#runs.delete(parentToolCallId);
496
+ await (await pending.catch(() => void 0))?.close();
497
+ }
437
498
  async close() {
438
499
  await this.manager.close();
439
500
  this.client.close();
501
+ const connections = [...this.#runs.values()];
502
+ this.#runs.clear();
503
+ await Promise.allSettled(connections.map(async (pending) => (await pending)?.close()));
440
504
  }
441
505
  };
442
506
 
@@ -448,4 +512,4 @@ export {
448
512
  JEV_ACTION_DESCRIPTORS,
449
513
  JevProvider
450
514
  };
451
- //# sourceMappingURL=chunk-C2DIKAOE.js.map
515
+ //# sourceMappingURL=chunk-5ZJV4LAX.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/providers/jev-provider.ts", "../../src/jev/manager.ts"],
4
+ "sourcesContent": ["import { Type } from \"typebox\";\nimport { validationMessage } from \"../core/action-arguments.js\";\nimport type { FabricActionDescriptor, FabricInvocationContext, FabricProvider, FabricProviderListRequest } from \"../protocol.js\";\nimport { JevClient, JevCredentials, type JevCredentialSource, type JevDispatch } from \"../jev/client.js\";\nimport type { DurableShellBridge } from \"../jev-fabric/bridge.js\";\nimport type { JevFabricServe } from \"../jev-fabric/serve.js\";\nimport { JevProgramManager, type JevManagerOptions } from \"../jev/manager.js\";\nimport { resolveJevModelRoute, type JevRoute } from \"../jev/routes.js\";\nimport type { JevLaunch, JevRequest } from \"../jev/types.js\";\nimport { jevObserveSchema } from \"../jev/observation.js\";\n\nconst description = Type.Union([Type.String(), Type.Array(Type.Unknown()), Type.Record(Type.String(), Type.Unknown())]);\nconst question = Type.Union([\n Type.Object({ type: Type.Literal(\"noul\"), instructions: description, criteria: Type.Optional(Type.Object({ true: Type.Optional(description), false: Type.Optional(description) }, { additionalProperties: false })) }, { additionalProperties: false }),\n Type.Object({ type: Type.Literal(\"choice\"), instructions: description, criteria: Type.Record(Type.String(), Type.Union([description, Type.Null()]), { minProperties: 1, maxProperties: 255 }) }, { additionalProperties: false }),\n Type.Object({ type: Type.Literal(\"score\"), instructions: description, criteria: Type.Array(description, { minItems: 2, maxItems: 10 }) }, { additionalProperties: false }),\n]);\nexport const jevRequestSchema = Type.Object({\n state: description,\n questions: Type.Record(Type.String(), question, { minProperties: 1, maxProperties: 128 }),\n model: Type.Optional(Type.String({ minLength: 1, maxLength: 128 })),\n}, { additionalProperties: false });\nexport const jevLaunchSchema = Type.Object({\n program: Type.Object({\n name: Type.String({ minLength: 1, maxLength: 128 }),\n code: Type.String({ minLength: 1, maxLength: 65_536 }),\n inputSchema: Type.Record(Type.String(), Type.Unknown()),\n outputSchema: Type.Record(Type.String(), Type.Unknown()),\n requires: Type.Array(Type.String({ minLength: 3, maxLength: 256 }), { maxItems: 64, uniqueItems: true }),\n limits: Type.Optional(Type.Object({\n timeoutMs: Type.Optional(Type.Integer({ minimum: 1 })),\n maxEvaluations: Type.Optional(Type.Integer({ minimum: 0 })),\n maxToolCalls: Type.Optional(Type.Integer({ minimum: 1 })),\n maxTokens: Type.Optional(Type.Integer({ minimum: 1 })),\n }, { additionalProperties: false })),\n }, { additionalProperties: false }),\n input: Type.Unknown(),\n observe: Type.Optional(jevObserveSchema),\n}, { additionalProperties: false });\nconst idSchema = Type.Object({ id: Type.String({ minLength: 1, maxLength: 128 }) }, { additionalProperties: false });\nconst statusSchema = Type.Object({\n id: Type.Optional(Type.String({ minLength: 1, maxLength: 128 })),\n after: Type.Optional(Type.Integer({ minimum: 0 })),\n}, { additionalProperties: false });\nexport const jevAdviceSchema = Type.Object({\n id: Type.String({ minLength: 1, maxLength: 128 }),\n eventId: Type.String({ minLength: 1, maxLength: 256 }),\n message: Type.String({ minLength: 1, maxLength: 2000 }),\n}, { additionalProperties: false });\nexport const JEV_ACTION_DESCRIPTORS: FabricActionDescriptor[] = [\n { name: \"evaluate\", description: \"Ask Jev typed Choice, Noul (probability of yes), and Score questions over shared state. No generated text. Batch independent questions. Sends state to TypeSafe and consumes API credits; no automatic retries.\", inputSchema: jevRequestSchema as unknown as Record<string, unknown>, risk: \"network\", effect: { kind: \"emission\", resources: [\"typesafe:inference\"], ordering: \"unknown\" } },\n { name: \"run\", description: \"Run a bounded TypeScript shell orchestrator or typed-decision program in the foreground. Returns a terminal run envelope with schema-validated result or error. Globals: input, jev.evaluate, program.sleep(ms), program.emit(value), and Fabric tools restricted to exact requires. Use granted pi.bash and tasks.wait/watch for shell orchestration; maxEvaluations:0 disables program inference. No automatic judgments, host imports or secrets.\", inputSchema: jevLaunchSchema as unknown as Record<string, unknown>, risk: \"execute\" },\n { name: \"spawn\", description: \"Launch a session-owned background Jev program. Optional observe requires read approval and subscribes to Main lifecycle events; program.nextEvent waits without polling and shares only explicitly selected bounded context. program.advise needs observe.delivery and requires jev.advise. Use status, wait/join, and stop; not restart-durable.\", inputSchema: jevLaunchSchema as unknown as Record<string, unknown>, risk: \"execute\" },\n { name: \"status\", description: \"Without id: credential configuration status (never retrieves secrets) and run summaries. With id: state, usage, bounded events after sequence, logs, result/error. Retains at most 64 events; nextSequence allows detecting gaps.\", inputSchema: statusSchema as unknown as Record<string, unknown>, risk: \"read\" },\n { name: \"wait\", description: \"Wait for a background Jev program's terminal run envelope. Cancelling the wait does not cancel the program.\", inputSchema: idSchema as unknown as Record<string, unknown>, risk: \"read\" },\n { name: \"join\", description: \"Alias for jev.wait: wait for a background Jev program's terminal run envelope without cancelling the program when the wait is cancelled.\", inputSchema: idSchema as unknown as Record<string, unknown>, risk: \"read\" },\n { name: \"advise\", description: \"Deliver bounded advice from an observing Jev run to Main. Requires its current consumed eventId, explicit observe.delivery, freshness, message budget, and the per-input feedback gate. The program helper program.advise supplies its own id. Subject to agent approvals; returns delivered and an optional suppression reason.\", inputSchema: jevAdviceSchema as unknown as Record<string, unknown>, risk: \"agent\", effect: { kind: \"emission\", resources: [\"main:messages\"], ordering: \"ordered\" } },\n { name: \"stop\", description: \"Cancel a Jev program and await sandbox cleanup. Idempotent for retained terminal runs; already-issued external effects cannot be undone.\", inputSchema: idSchema as unknown as Record<string, unknown>, risk: \"execute\" },\n];\n\nexport class JevProvider implements FabricProvider {\n readonly name = \"jev\";\n readonly description = \"Shell-first TypeScript orchestration with explicit typed Jev decisions\";\n readonly manager: JevProgramManager;\n readonly client: JevClient;\n readonly route: JevRoute;\n /** One jev-fabric `serve` connection per program run: one client, one budget, like a Bend program. */\n readonly #runs = new Map<string, Promise<JevFabricServe | undefined>>();\n #transport: \"fabric\" | \"jev-fabric\" | undefined;\n readonly #jevFabric: DurableShellBridge | undefined;\n constructor(options: JevManagerOptions & { credentialSource?: JevCredentialSource; jevFabric?: DurableShellBridge | undefined }, client?: JevClient) {\n this.#jevFabric = options.jevFabric;\n this.manager = new JevProgramManager(options);\n this.route = resolveJevModelRoute(options.config.jev.model).route;\n this.client = client ?? new JevClient(options.config.jev, undefined,\n new JevCredentials(options.config.jev.credentialCommand, process.env, options.credentialSource, this.route.envKeys), this.route);\n }\n async list(request: FabricProviderListRequest): Promise<FabricActionDescriptor[]> {\n const query = request.query?.toLowerCase();\n return JEV_ACTION_DESCRIPTORS.filter(d => !query || `${d.name} ${d.description}`.toLowerCase().includes(query));\n }\n async describe(name: string): Promise<FabricActionDescriptor | undefined> { return JEV_ACTION_DESCRIPTORS.find(d => d.name === name); }\n async invoke(name: string, args: Record<string, unknown>, context: FabricInvocationContext): Promise<unknown> {\n const descriptor = await this.describe(name);\n if (!descriptor) throw new Error(`Unknown Jev action: ${name}`);\n const invalid = validationMessage(descriptor.inputSchema, args);\n if (invalid) throw new Error(`Invalid jev.${name} arguments: ${invalid}`);\n switch (name) {\n case \"evaluate\": {\n const dispatch = await this.#dispatchFor(context.parentToolCallId);\n this.#transport = dispatch ? \"jev-fabric\" : \"fabric\";\n return this.client.evaluate(args as unknown as JevRequest, context.signal ?? new AbortController().signal, dispatch);\n }\n case \"run\": return this.manager.launch(args as unknown as JevLaunch, context, false);\n case \"spawn\": return this.manager.launch(args as unknown as JevLaunch, context, true);\n case \"status\": return typeof args.id === \"string\" ? this.manager.status(args.id, args.after as number | undefined) : {\n credentials: this.client.credentials.status(), model: this.client.config.model, route: this.route.id, runs: this.manager.list(),\n transport: { configured: this.client.config.transport, ...(this.#transport ? { last: this.#transport } : {}) },\n };\n case \"join\":\n case \"wait\": return this.manager.wait(args.id as string, context.signal);\n case \"advise\": return this.manager.advise(args.id as string, args.eventId as string, args.message as string);\n case \"stop\": return this.manager.stop(args.id as string);\n }\n }\n /**\n * Program decisions go through the run's own jev-fabric connection when\n * configured and available; direct calls stay in-process. `auto` falls back\n * to in-process only when no suitable binary resolves, never after a request fails.\n */\n async #dispatchFor(scope: string | undefined): Promise<JevDispatch | undefined> {\n const transport = this.client.config.transport;\n if (transport === \"fabric\" || !scope?.startsWith(\"jev:\")) return undefined;\n const bridge = this.#jevFabric;\n if (!bridge) {\n if (transport === \"jev-fabric\") throw new Error(\"jev.transport jev-fabric needs jev-fabric, which runs on macOS and Linux outside managed hosts\");\n return undefined;\n }\n let pending = this.#runs.get(scope);\n if (!pending) {\n pending = (async () => {\n let binary: string;\n try {\n binary = (await bridge.resolve(\"jev\")).path;\n } catch (error) {\n if (transport === \"jev-fabric\") throw error;\n return undefined;\n }\n const { JevFabricServe } = await import(\"../jev-fabric/serve.js\");\n // Host ceilings bound the connection; the manager still enforces each run's own limits first.\n return JevFabricServe.open(binary, {\n home: bridge.home, cwd: bridge.options.cwd, timeoutMs: 86_400_000,\n evaluations: this.client.config.maxEvaluations, tokens: this.client.config.maxTokens,\n });\n })();\n pending.catch(() => this.#runs.delete(scope));\n this.#runs.set(scope, pending);\n }\n const serve = await pending;\n if (!serve) return undefined;\n const provider = this.route.id === \"vercel-ai-gateway\" ? \"vercel\" : this.route.id;\n return (request, credential, signal) => serve.request(\"jev\", {\n request, provider, credential, timeoutMs: this.client.config.requestTimeoutMs,\n }, signal);\n }\n\n async invocationEnded(parentToolCallId: string): Promise<void> {\n const pending = this.#runs.get(parentToolCallId);\n if (!pending) return;\n this.#runs.delete(parentToolCallId);\n await (await pending.catch(() => undefined))?.close();\n }\n\n async close(): Promise<void> {\n await this.manager.close();\n this.client.close();\n const connections = [...this.#runs.values()];\n this.#runs.clear();\n await Promise.allSettled(connections.map(async pending => (await pending)?.close()));\n }\n}\n", "import { randomUUID } from \"node:crypto\";\nimport { setTimeout as delay } from \"node:timers/promises\";\nimport { runAbortable } from \"../async-settlement.js\";\nimport type { ActionRegistry, FabricCapabilityViewLease, FabricCallAudit } from \"../core/action-registry.js\";\nimport { ApprovalController, FabricSessionApprovals } from \"../core/approval-controller.js\";\nimport { FabricAutoApprovalClassifier } from \"../core/auto-approval-classifier.js\";\nimport type { FabricConfig } from \"../config.js\";\nimport type { FabricInvocationContext } from \"../protocol.js\";\nimport type { JevLaunch, JevRunInfo, JevJson, JevResponse } from \"./types.js\";\nimport { checkSchema, checkValue, jsonText, object } from \"./validation.js\";\nimport { checkObserve, type JevObservationHost, type JevSubscription } from \"./observation.js\";\n\ninterface Run {\n info: JevRunInfo;\n controller: AbortController;\n done: Promise<JevRunInfo>;\n observation: JevSubscription | undefined;\n}\nexport interface JevManagerOptions {\n registry: ActionRegistry;\n config: FabricConfig;\n observationHost?: JevObservationHost | undefined;\n authorize?(ref: string, parentToolCallId: string): Promise<void>;\n}\nconst prelude = `const input = JSON.parse(\u03C0.__jevInput);\nconst program = Object.freeze({\n sleep: (ms: number): Promise<unknown> => tools.call({ ref: \"jev.$sleep\", args: { ms } }),\n emit: (value: unknown): Promise<unknown> => tools.call({ ref: \"jev.$emit\", args: { value } }),\n nextEvent: (): Promise<FabricJevHostEvent> => tools.call({ ref: \"jev.$nextEvent\" }) as Promise<FabricJevHostEvent>,\n advise: (args: {eventId: string; message: string}): Promise<FabricJevAdviceResult> => tools.call({ ref: \"jev.advise\", args: {...args, id: \u03C0.__jevRunId} }) as Promise<FabricJevAdviceResult>,\n});\\n`;\n\nexport class JevProgramManager {\n readonly #runs = new Map<string, Run>();\n readonly #approvals = new FabricSessionApprovals();\n #closed = false;\n #starting = 0;\n constructor(readonly options: JevManagerOptions) {}\n list() {\n return [...this.#runs.values()].map(({ info }) => ({\n id: info.id, name: info.name, state: info.state, background: info.background,\n startedAt: info.startedAt, evaluations: info.evaluations, toolCalls: info.toolCalls,\n ...(info.observation ? { observation: structuredClone(info.observation) } : {}),\n }));\n }\n #get(id: string): Run {\n const run = this.#runs.get(id);\n if (!run) throw new Error(\"Unknown or expired Jev run ID\");\n return run;\n }\n status(id: string, after = 0): JevRunInfo {\n const info = this.#get(id).info;\n return structuredClone({ ...info, events: info.events.filter(e => e.sequence > after) });\n }\n async wait(id: string, signal?: AbortSignal): Promise<JevRunInfo> {\n return structuredClone(await runAbortable(signal, () => this.#get(id).done));\n }\n /** Alias for wait. */\n join(id: string, signal?: AbortSignal): Promise<JevRunInfo> {\n return this.wait(id, signal);\n }\n async stop(id: string): Promise<JevRunInfo> {\n const run = this.#get(id);\n if (run.info.state === \"running\") run.controller.abort(new Error(\"Jev run stopped\"));\n return structuredClone(await run.done);\n }\n advise(id: string, eventId: string, message: string) {\n if (typeof message !== \"string\" || !message.trim() || message.length > 2000 || typeof eventId !== \"string\" || eventId.length > 256)\n throw new Error(\"Advice requires a current eventId and 1\u20132000 message characters\");\n const run = this.#get(id);\n if (!run.observation) throw new Error(\"Jev run has no observation subscription\");\n return run.observation.advise(eventId, message);\n }\n async launch(request: JevLaunch, context: FabricInvocationContext, background: boolean): Promise<JevRunInfo> {\n const { config, registry } = this.options;\n if (this.#closed) throw new Error(\"Jev program manager is closed\");\n if (this.#starting + [...this.#runs.values()].filter(r => r.info.state === \"running\").length >= config.jev.maxConcurrentRuns)\n throw new Error(\"Jev concurrent run limit reached\");\n context.signal?.throwIfAborted();\n this.#starting++;\n let lease: FabricCapabilityViewLease | undefined;\n let starting = true;\n try {\n const { program: definition, input, observe } = structuredClone(request);\n const observationHost = this.options.observationHost;\n const observationRevision = observationHost?.revision;\n if (observe !== undefined) {\n checkObserve(observe);\n if (!background) throw new Error(\"Observation requires jev.spawn; foreground runs cannot wait for their own turn to end\");\n if (!observationHost) throw new Error(\"Main lifecycle observation is unavailable in this host\");\n if (context.extensionContext.sessionManager?.getSessionId() !== observationHost.sessionId)\n throw new Error(\"Jev observation is scoped to its owning Main session\");\n }\n checkSchema(definition.inputSchema);\n checkSchema(definition.outputSchema);\n checkValue(definition.inputSchema, input, \"Program input\");\n const requires = [...new Set(definition.requires)];\n for (const ref of requires) {\n if (!/^[a-z][a-z0-9_-]*\\.[a-zA-Z0-9_.$-]+$/.test(ref) || (ref.startsWith(\"jev.\") && ref !== \"jev.evaluate\" && ref !== \"jev.advise\"))\n throw new Error(\"Programs require exact action refs; recursive Jev lifecycle calls are not allowed\");\n if (context.capabilityView && !Object.hasOwn(context.capabilityView.bindings, ref))\n throw new Error(`Jev program cannot widen its caller's capabilities: ${ref}`);\n if (!config.fullCodeMode && (ref.startsWith(\"pi.\") || ref.startsWith(\"extensions.\")))\n throw new Error(\"Full-code tool access is disabled\");\n }\n lease = await registry.acquireCapabilityView(requires, context);\n if (!lease.satisfied || !lease.view) throw new Error(`Missing Jev program capabilities: ${lease.missing.join(\", \")}`);\n if (context.capabilityView) for (const ref of requires) {\n const before = context.capabilityView.bindings[ref]!;\n const after = lease.view.bindings[ref]!;\n if (before.providerBindingId !== after.providerBindingId || before.descriptorHash !== after.descriptorHash)\n throw new Error(\"Caller capability generation changed; relaunch with a fresh commitment\");\n }\n const { TypeScriptKernelRuntime } = await import(\"../runtime/typescript-kernel.js\");\n const runtime = new TypeScriptKernelRuntime(\"quickjs\");\n const sources = await registry.guestTypeSources({ ...context, capabilityView: lease.view });\n const { code, checked } = runtime.prepare(prelude + definition.code, true, [], sources, [], true);\n if (checked.errors.length) throw new Error(`Jev program typecheck failed: ${checked.errors.map(e => e.message).join(\"; \").slice(0, 2000)}`);\n const approval = new ApprovalController(config.approvals, context.extensionContext, this.#approvals, new FabricAutoApprovalClassifier(() => config.jev));\n if (observe) await approval.approve({\n ref: \"jev.spawn\", provider: \"jev\", name: \"spawn\",\n description: \"Observe future Main lifecycle events and explicitly selected content for a bounded Jev program\",\n inputSchema: {}, risk: \"read\",\n }, { observe });\n if (this.#closed) throw new Error(\"Jev program manager is closed\");\n context.signal?.throwIfAborted();\n if (observe && observationHost!.revision !== observationRevision)\n throw new Error(\"Main lifecycle changed while preparing the observer; relaunch explicitly with current context\");\n const limits = definition.limits ?? {};\n const bounded = (value: number | undefined, fallback: number, ceiling: number) => Math.min(value ?? fallback, ceiling);\n const timeoutMs = bounded(limits.timeoutMs, 60_000, config.jev.maxDurationMs);\n const maxEvaluations = bounded(limits.maxEvaluations, 100, config.jev.maxEvaluations);\n const maxToolCalls = bounded(limits.maxToolCalls, 1000, config.jev.maxToolCalls);\n const maxTokens = bounded(limits.maxTokens, 100_000, config.jev.maxTokens);\n const id = randomUUID();\n const controller = new AbortController();\n const info: JevRunInfo = {\n id, name: definition.name, state: \"running\", background, startedAt: Date.now(),\n evaluations: 0, toolCalls: 0, usage: { input_tokens: 0, output_tokens: 0 },\n events: [], nextSequence: 1, logs: [],\n };\n let budgetFailure: string | undefined;\n const failBudget = (message: string): never => {\n budgetFailure = message;\n queueMicrotask(() => controller.abort(new Error(message)));\n throw new Error(message);\n };\n const observation = observe ? observationHost!.subscribe(observe, { id, name: definition.name }, controller) : undefined;\n if (observation) info.observation = observation.stats;\n const runLease = lease;\n lease = undefined;\n const abort = () => controller.abort(new Error(\"Foreground caller cancelled\"));\n if (!background) context.signal?.addEventListener(\"abort\", abort, { once: true });\n let timedOut = false;\n const timer = setTimeout(() => { timedOut = true; controller.abort(new Error(\"Jev deadline exceeded\")); }, timeoutMs);\n let evaluating = false;\n const audits: FabricCallAudit[] = [];\n const emit = (value: unknown) => {\n jsonText(value, 4096, \"Program event\");\n info.events.push({ sequence: info.nextSequence++, at: Date.now(), value: value as JevJson });\n if (info.events.length > 64) info.events.shift();\n };\n const run: Run = { info, controller, observation, done: undefined! };\n this.#runs.set(id, run);\n this.#starting--;\n starting = false;\n this.#prune();\n // Yield before execution so spawn returns without running a controller tick inline.\n run.done = (async () => {\n try {\n await delay(0, undefined, { signal: controller.signal });\n const result = await runtime.execute(code, async (rawRef, rawArgs, signal) => {\n signal.throwIfAborted();\n controller.signal.throwIfAborted();\n if (budgetFailure) throw new Error(budgetFailure);\n if (++info.toolCalls > maxToolCalls) return failBudget(\"Jev tool-call budget exhausted\");\n const ref = rawRef === \"fabric.$call\" ? rawArgs.ref : rawRef;\n const args = rawRef === \"fabric.$call\" ? rawArgs.args ?? {} : rawArgs;\n if (typeof ref !== \"string\" || !object(args)) throw new Error(\"Invalid Jev program tool call\");\n if (ref === \"jev.$sleep\") {\n if (typeof args.ms !== \"number\" || !Number.isFinite(args.ms) || args.ms < 0 || args.ms > timeoutMs) throw new Error(\"Invalid program.sleep duration\");\n await delay(args.ms, undefined, { signal });\n return null;\n }\n if (ref === \"jev.$emit\") { emit(args.value); return null; }\n if (ref === \"jev.$nextEvent\") {\n if (!observation) throw new Error(\"program.nextEvent requires observe on jev.spawn\");\n return observation.next();\n }\n if (ref === \"jev.advise\" && args.id !== id) throw new Error(\"A Jev program can only advise through its own run\");\n if (!Object.hasOwn(runLease.view!.bindings, ref)) throw new Error(`Capability not granted to Jev program: ${ref}`);\n if (ref === \"jev.evaluate\") {\n if (evaluating) throw new Error(\"One Jev evaluation may be in flight per program; batch independent questions in one request\");\n if (info.evaluations >= maxEvaluations || info.usage.input_tokens + info.usage.output_tokens >= maxTokens)\n return failBudget(\"Jev inference budget exhausted\");\n info.evaluations++;\n evaluating = true;\n }\n try {\n const value = await registry.invoke(ref, args, {\n cwd: context.cwd, extensionContext: context.extensionContext, signal, capabilityView: runLease.view!,\n ...(context.effectPolicy ? { effectPolicy: context.effectPolicy } : {}),\n parentToolCallId: `jev:${id}`, nestedToolCallId: `jev:${id}:${info.toolCalls}`,\n update() {}, activity() {}, attachMedia() {}, attachPreview() {},\n authorize: async action => { await this.options.authorize?.(action.ref, `jev:${id}`); },\n approve: async (action, prepared) => {\n if (action.ref === \"schema.commit\") {\n await approval.approve({ ...action, risk: \"write\" }, prepared);\n await approval.approve({ ...action, risk: \"execute\" }, prepared);\n } else await approval.approve(action, prepared);\n },\n audits, maxResultChars: ref === \"jev.evaluate\" ? 1_048_576 : config.executor.maxNestedResultChars,\n });\n if (ref === \"jev.evaluate\") {\n const response = value as JevResponse;\n info.usage.input_tokens += response.usage.input_tokens;\n info.usage.output_tokens += response.usage.output_tokens;\n if (info.usage.input_tokens + info.usage.output_tokens > maxTokens)\n return failBudget(\"Jev reported-token budget exhausted\");\n }\n return value;\n } finally {\n if (ref === \"jev.evaluate\") evaluating = false;\n // Keep audit retention bounded even in a long-lived loop.\n if (audits.length > 64) audits.splice(0, audits.length - 64);\n }\n }, {\n timeoutMs, memoryLimitBytes: Math.min(config.executor.memoryLimitBytes, 64 * 1024 * 1024),\n maxCpuSliceMs: 100, maxPendingTimers: 128, maxLogChars: 4096, strings: { __jevInput: JSON.stringify(input), __jevRunId: id }, signal: controller.signal,\n });\n info.logs = result.logs;\n if (budgetFailure) { info.state = \"failed\"; info.error = budgetFailure; }\n else if (timedOut || result.terminationReason === \"timed_out\") { info.state = \"timed_out\"; info.error = result.error ?? \"Jev deadline exceeded\"; }\n else if (controller.signal.aborted || result.terminationReason === \"aborted\") { info.state = \"cancelled\"; }\n else if (result.terminationReason !== \"completed\") { info.state = \"failed\"; info.error = result.error ?? \"Jev program failed\"; }\n else {\n checkValue(definition.outputSchema, result.value, \"Program output\");\n info.result = result.value;\n info.state = \"completed\";\n }\n } catch (error) {\n info.state = budgetFailure ? \"failed\" : timedOut ? \"timed_out\" : controller.signal.aborted ? \"cancelled\" : \"failed\";\n info.error = (budgetFailure ?? (error instanceof Error ? error.message : \"Jev program failed\")).slice(0, 2000);\n } finally {\n clearTimeout(timer);\n observation?.close();\n context.signal?.removeEventListener(\"abort\", abort);\n // Providers release what this run acquired (interactive sessions, leases),\n // exactly as they do when a fabric_exec invocation ends.\n await registry.endInvocation(`jev:${id}`).catch(() => undefined);\n await runLease.release();\n info.endedAt = Date.now();\n this.#prune();\n }\n return info;\n })();\n return background ? this.status(id) : structuredClone(await run.done);\n } finally {\n if (starting) this.#starting--;\n await lease?.release();\n }\n }\n #prune(): void {\n for (const [id, run] of this.#runs) {\n if (this.#runs.size <= this.options.config.jev.maxRetainedRuns) break;\n if (run.info.state !== \"running\") this.#runs.delete(id);\n }\n }\n stopAll(): void {\n for (const run of this.#runs.values()) if (run.info.state === \"running\") run.controller.abort(new Error(\"Jev provider closed\"));\n }\n async close(): Promise<void> {\n this.#closed = true;\n // Terminal runs are already out of QuickJS and may be releasing the last\n // provider lease right now. Waiting for those here would self-deadlock.\n const running = [...this.#runs.values()].filter(r => r.info.state === \"running\");\n this.stopAll();\n await Promise.all(running.map(r => r.done));\n this.#runs.clear();\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  readSessionHeader
3
- } from "./chunk-KFPUVFDS.js";
3
+ } from "./chunk-YVDBHS4C.js";
4
4
 
5
5
  // src/memory/discovery.ts
6
6
  import fs from "node:fs";
@@ -109,4 +109,4 @@ export {
109
109
  resolveSessionTarget,
110
110
  resolveScope
111
111
  };
112
- //# sourceMappingURL=chunk-QIW7QMFI.js.map
112
+ //# sourceMappingURL=chunk-64O5L7EW.js.map
@@ -143,7 +143,7 @@ function createPiArgumentNormalizer() {
143
143
  grep: ["path", "glob", "ignoreCase", "literal", "context", "limit"],
144
144
  find: ["path", "limit"],
145
145
  ls: ["path", "limit"],
146
- bash: ["timeout", "background"],
146
+ bash: ["timeout", "background", "durable"],
147
147
  powershell: ["timeout", "background"]
148
148
  };
149
149
  const __normalizePiArgs = (name, args, canonicalFields = []) => {
@@ -243,4 +243,4 @@ export {
243
243
  normalizePiArguments,
244
244
  PI_ARGUMENT_NORMALIZATION_SOURCE
245
245
  };
246
- //# sourceMappingURL=chunk-YU4O6SWQ.js.map
246
+ //# sourceMappingURL=chunk-6KO2LEOO.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/core/pi-arguments.ts"],
4
+ "sourcesContent": ["// A closed factory keeps host and guest normalization identical. Its serialized\n// body has no module captures or host capabilities and also runs inside QuickJS.\nfunction createPiArgumentNormalizer() {\n const __piStringFields: Record<string, string> = { bash: \"command\", powershell: \"command\", read: \"path\", ls: \"path\", grep: \"pattern\", find: \"pattern\" };\n const __piArgAliases: Record<string, Record<string, string>> = {\n bash: {\n cmd: \"command\", shell: \"command\", cmdline: \"command\", script: \"command\",\n commandLine: \"command\",\n workdir: \"cwd\", directory: \"cwd\", workingDirectory: \"cwd\",\n run_in_background: \"background\",\n },\n powershell: {\n cmd: \"command\", shell: \"command\", cmdline: \"command\", script: \"command\",\n commandLine: \"command\",\n workdir: \"cwd\", directory: \"cwd\", workingDirectory: \"cwd\",\n run_in_background: \"background\",\n },\n find: {\n query: \"pattern\", regex: \"pattern\", search: \"pattern\", name: \"pattern\",\n filename: \"pattern\", glob: \"pattern\", expression: \"pattern\", include: \"pattern\",\n max: \"limit\",\n },\n grep: {\n query: \"pattern\", regex: \"pattern\", search: \"pattern\", q: \"pattern\",\n expression: \"pattern\", text: \"pattern\",\n ic: \"ignoreCase\", caseInsensitive: \"ignoreCase\",\n globPattern: \"glob\",\n max: \"limit\", ctx: \"context\",\n },\n read: {\n file: \"path\", absolutePath: \"path\", file_path: \"path\", filePath: \"path\",\n filepath: \"path\", pathname: \"path\", target_file: \"path\", targetFile: \"path\",\n absolute_path: \"path\", fileAbsolutePath: \"path\",\n max: \"limit\", start: \"offset\",\n },\n ls: {\n dir: \"path\", file: \"path\", folder: \"path\", absolutePath: \"path\",\n file_path: \"path\", filePath: \"path\", filepath: \"path\", pathname: \"path\",\n target_file: \"path\", targetFile: \"path\", absolute_path: \"path\",\n fileAbsolutePath: \"path\", directory: \"path\", directoryPath: \"path\",\n max: \"limit\",\n },\n edit: {\n file: \"path\", absolutePath: \"path\", file_path: \"path\", filePath: \"path\",\n filepath: \"path\", pathname: \"path\", target_file: \"path\", targetFile: \"path\",\n absolute_path: \"path\", fileAbsolutePath: \"path\",\n old: \"oldText\", old_string: \"oldText\", oldString: \"oldText\",\n old_str: \"oldText\", oldStr: \"oldText\", from: \"oldText\",\n old_value: \"oldText\", old_text: \"oldText\", oldContent: \"oldText\",\n old_content: \"oldText\",\n new: \"newText\", replacement: \"newText\", new_string: \"newText\",\n newString: \"newText\", new_str: \"newText\", newStr: \"newText\",\n to: \"newText\", new_value: \"newText\", new_text: \"newText\",\n newContent: \"newText\", new_content: \"newText\",\n },\n write: {\n file: \"path\", absolutePath: \"path\", file_path: \"path\", filePath: \"path\",\n filepath: \"path\", pathname: \"path\", target_file: \"path\", targetFile: \"path\",\n absolute_path: \"path\", fileAbsolutePath: \"path\",\n contents: \"content\", body: \"content\", text: \"content\", data: \"content\",\n fileContent: \"content\",\n },\n };\n const __piNumericFields: Record<string, string[]> = {\n read: [\"offset\", \"limit\"],\n grep: [\"limit\", \"context\"],\n find: [\"limit\"],\n ls: [\"limit\"],\n bash: [\"timeout\"],\n powershell: [\"timeout\"],\n };\n const __piOptionalFields: Record<string, string[]> = {\n read: [\"offset\", \"limit\"],\n grep: [\"path\", \"glob\", \"ignoreCase\", \"literal\", \"context\", \"limit\"],\n find: [\"path\", \"limit\"],\n ls: [\"path\", \"limit\"],\n bash: [\"timeout\", \"background\", \"durable\"],\n powershell: [\"timeout\", \"background\"],\n };\n const __normalizePiArgs = (name: string, args: any, canonicalFields: readonly string[] = []): unknown => {\n const field = __piStringFields[name];\n if (typeof args === \"string\" && field) return { [field]: args };\n if (args === null || typeof args !== \"object\" || Array.isArray(args)) return args;\n const aliases = __piArgAliases[name];\n let out = args;\n if ((name === \"bash\" || name === \"powershell\") && Object.hasOwn(out, \"timeoutMs\") && !canonicalFields.includes(\"timeoutMs\")) {\n out = { ...args };\n if (!(\"timeout\" in out)) {\n const timeoutMs = out.timeoutMs;\n if (timeoutMs !== null && timeoutMs !== undefined) {\n out.timeout = Number.isFinite(Number(timeoutMs)) ? Number(timeoutMs) / 1000 : timeoutMs;\n }\n }\n delete out.timeoutMs;\n }\n // settle is a guest-only directive (settles nonzero exits instead of\n // rejecting); strip it so it never reaches the host/bash schema.\n if ((name === \"bash\" || name === \"powershell\") && \"settle\" in out) {\n if (out.settle !== undefined && typeof out.settle !== \"boolean\") throw new TypeError(\"pi shell settle must be a boolean\");\n if (out === args) out = { ...args };\n delete out.settle;\n }\n if (aliases) {\n for (const alias in aliases) {\n const canonical = aliases[alias]!;\n if (Object.hasOwn(out, alias) && !canonicalFields.includes(alias)) {\n if (out === args) out = { ...args };\n if (!Object.hasOwn(out, canonical)) out[canonical] = out[alias];\n delete out[alias];\n }\n }\n }\n if ((name === \"bash\" || name === \"powershell\") && \"background\" in out) {\n if (out.background !== undefined && typeof out.background !== \"boolean\") {\n throw new TypeError(\"pi shell background must be a boolean\");\n }\n }\n const numerics = __piNumericFields[name];\n if (numerics) {\n for (const key of numerics) {\n const value = out[key];\n if (typeof value === \"string\" && value.trim() !== \"\" && Number.isFinite(Number(value))) {\n if (out === args) out = { ...args };\n out[key] = Number(value);\n }\n }\n }\n const optionalFields = __piOptionalFields[name];\n if (optionalFields) {\n for (const key of optionalFields) {\n if (out[key] !== null && out[key] !== undefined) continue;\n if (!(key in out)) continue;\n if (out === args) out = { ...args };\n delete out[key];\n }\n }\n if (name === \"edit\" && Array.isArray(out.edits)) {\n let changed = false;\n const editAliases = __piArgAliases.edit;\n const edits = out.edits.map((entry: any) => {\n if (entry === null || typeof entry !== \"object\" || Array.isArray(entry)) return entry;\n let edit = entry;\n for (const alias in editAliases) {\n const canonical = editAliases![alias]!;\n if (canonical !== \"oldText\" && canonical !== \"newText\") continue;\n if (!Object.hasOwn(edit, alias)) continue;\n if (edit === entry) edit = { ...entry };\n if (!Object.hasOwn(edit, canonical)) edit[canonical] = edit[alias];\n delete edit[alias];\n changed = true;\n }\n return edit;\n });\n if (changed) {\n if (out === args) out = { ...args };\n out.edits = edits;\n }\n }\n if (name === \"edit\" && !Array.isArray(out.edits) && (\"oldText\" in out || \"newText\" in out)) {\n if (out === args) out = { ...args };\n const edit: Record<string, unknown> = {};\n if (\"oldText\" in out) edit.oldText = out.oldText;\n if (\"newText\" in out) edit.newText = out.newText;\n out.edits = [edit];\n delete out.oldText;\n delete out.newText;\n }\n return out;\n };\n return __normalizePiArgs;\n}\n\nexport const normalizePiArguments = createPiArgumentNormalizer();\nexport const PI_ARGUMENT_NORMALIZATION_SOURCE = `const __normalizePiArgs = (${createPiArgumentNormalizer.toString()})();`;\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }