@code-yeongyu/senpi 2026.9.12-3 → 2026.9.12

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 (1525) hide show
  1. package/CHANGELOG.md +0 -60
  2. package/README.md +1 -1
  3. package/dist/bun/cli.d.ts +1 -2
  4. package/dist/bun/cli.d.ts.map +1 -1
  5. package/dist/bun/cli.js +8 -5
  6. package/dist/bun/cli.js.map +1 -1
  7. package/dist/bun/register-bedrock.d.ts +2 -0
  8. package/dist/bun/register-bedrock.d.ts.map +1 -0
  9. package/dist/bun/register-bedrock.js +4 -0
  10. package/dist/bun/register-bedrock.js.map +1 -0
  11. package/dist/cli/config-selector.d.ts.map +1 -1
  12. package/dist/cli/config-selector.js +1 -2
  13. package/dist/cli/config-selector.js.map +1 -1
  14. package/dist/cli/experimental/auth.d.ts +16 -0
  15. package/dist/cli/experimental/auth.d.ts.map +1 -0
  16. package/dist/cli/experimental/auth.js +13 -0
  17. package/dist/cli/experimental/auth.js.map +1 -0
  18. package/dist/cli/experimental/cli.d.ts +6 -0
  19. package/dist/cli/experimental/cli.d.ts.map +1 -0
  20. package/dist/cli/experimental/cli.js +5 -0
  21. package/dist/cli/experimental/cli.js.map +1 -0
  22. package/dist/cli/experimental/command-options.d.ts +17 -0
  23. package/dist/cli/experimental/command-options.d.ts.map +1 -0
  24. package/dist/cli/experimental/command-options.js +35 -0
  25. package/dist/cli/experimental/command-options.js.map +1 -0
  26. package/dist/cli/experimental/command.d.ts +63 -0
  27. package/dist/cli/experimental/command.d.ts.map +1 -0
  28. package/dist/cli/experimental/command.js +127 -0
  29. package/dist/cli/experimental/command.js.map +1 -0
  30. package/dist/cli/experimental/commands/client.d.ts +13 -0
  31. package/dist/cli/experimental/commands/client.d.ts.map +1 -0
  32. package/dist/cli/experimental/commands/client.js +25 -0
  33. package/dist/cli/experimental/commands/client.js.map +1 -0
  34. package/dist/cli/experimental/commands/pi.d.ts +15 -0
  35. package/dist/cli/experimental/commands/pi.d.ts.map +1 -0
  36. package/dist/cli/experimental/commands/pi.js +28 -0
  37. package/dist/cli/experimental/commands/pi.js.map +1 -0
  38. package/dist/cli/experimental/commands/server.d.ts +13 -0
  39. package/dist/cli/experimental/commands/server.d.ts.map +1 -0
  40. package/dist/cli/experimental/commands/server.js +25 -0
  41. package/dist/cli/experimental/commands/server.js.map +1 -0
  42. package/dist/cli/experimental/transport-address.d.ts +10 -0
  43. package/dist/cli/experimental/transport-address.d.ts.map +1 -0
  44. package/dist/cli/experimental/transport-address.js +38 -0
  45. package/dist/cli/experimental/transport-address.js.map +1 -0
  46. package/dist/cli.js +0 -3
  47. package/dist/cli.js.map +1 -1
  48. package/dist/client/index.d.ts +2 -1
  49. package/dist/client/index.d.ts.map +1 -1
  50. package/dist/client/index.js +2 -1
  51. package/dist/client/index.js.map +1 -1
  52. package/dist/client/remote-session.d.ts +53 -0
  53. package/dist/client/remote-session.d.ts.map +1 -0
  54. package/dist/client/remote-session.js +340 -0
  55. package/dist/client/remote-session.js.map +1 -0
  56. package/dist/client/transcript.d.ts +12 -0
  57. package/dist/client/transcript.d.ts.map +1 -0
  58. package/dist/client/transcript.js +98 -0
  59. package/dist/client/transcript.js.map +1 -0
  60. package/dist/config.d.ts +0 -1
  61. package/dist/config.d.ts.map +1 -1
  62. package/dist/config.js +0 -1
  63. package/dist/config.js.map +1 -1
  64. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  65. package/dist/core/agent-session-runtime.js +6 -18
  66. package/dist/core/agent-session-runtime.js.map +1 -1
  67. package/dist/core/agent-session.d.ts +17 -54
  68. package/dist/core/agent-session.d.ts.map +1 -1
  69. package/dist/core/agent-session.js +157 -153
  70. package/dist/core/agent-session.js.map +1 -1
  71. package/dist/core/compaction/branch-summarization.d.ts +1 -1
  72. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  73. package/dist/core/compaction/branch-summarization.js +4 -6
  74. package/dist/core/compaction/branch-summarization.js.map +1 -1
  75. package/dist/core/compaction-settings-access.d.ts +2 -18
  76. package/dist/core/compaction-settings-access.d.ts.map +1 -1
  77. package/dist/core/compaction-settings-access.js +4 -35
  78. package/dist/core/compaction-settings-access.js.map +1 -1
  79. package/dist/core/compaction-settings-resolver.d.ts +2 -2
  80. package/dist/core/compaction-settings-resolver.d.ts.map +1 -1
  81. package/dist/core/compaction-settings-resolver.js +3 -6
  82. package/dist/core/compaction-settings-resolver.js.map +1 -1
  83. package/dist/core/extensions/builtin/ask-user/extension.d.ts.map +1 -1
  84. package/dist/core/extensions/builtin/ask-user/extension.js +0 -11
  85. package/dist/core/extensions/builtin/ask-user/extension.js.map +1 -1
  86. package/dist/core/extensions/builtin/cursor-cli-oauth/models.d.ts.map +1 -1
  87. package/dist/core/extensions/builtin/cursor-cli-oauth/models.js +1 -2
  88. package/dist/core/extensions/builtin/cursor-cli-oauth/models.js.map +1 -1
  89. package/dist/core/extensions/builtin/prompt-preset/presets.d.ts.map +1 -1
  90. package/dist/core/extensions/builtin/prompt-preset/presets.js +1 -7
  91. package/dist/core/extensions/builtin/prompt-preset/presets.js.map +1 -1
  92. package/dist/core/extensions/loader.d.ts.map +1 -1
  93. package/dist/core/extensions/loader.js +2 -4
  94. package/dist/core/extensions/loader.js.map +1 -1
  95. package/dist/core/keybindings.d.ts +0 -10
  96. package/dist/core/keybindings.d.ts.map +1 -1
  97. package/dist/core/keybindings.js +0 -8
  98. package/dist/core/keybindings.js.map +1 -1
  99. package/dist/core/messages.d.ts +1 -1
  100. package/dist/core/messages.d.ts.map +1 -1
  101. package/dist/core/messages.js.map +1 -1
  102. package/dist/core/model-registry.d.ts +1 -5
  103. package/dist/core/model-registry.d.ts.map +1 -1
  104. package/dist/core/model-registry.js +0 -8
  105. package/dist/core/model-registry.js.map +1 -1
  106. package/dist/core/model-resolver.d.ts.map +1 -1
  107. package/dist/core/model-resolver.js +0 -2
  108. package/dist/core/model-resolver.js.map +1 -1
  109. package/dist/core/model-runtime.d.ts +0 -1
  110. package/dist/core/model-runtime.d.ts.map +1 -1
  111. package/dist/core/model-runtime.js +2 -5
  112. package/dist/core/model-runtime.js.map +1 -1
  113. package/dist/core/retry-fallback/settings.d.ts +0 -2
  114. package/dist/core/retry-fallback/settings.d.ts.map +1 -1
  115. package/dist/core/retry-fallback/settings.js.map +1 -1
  116. package/dist/core/session-manager.d.ts +2 -5
  117. package/dist/core/session-manager.d.ts.map +1 -1
  118. package/dist/core/session-manager.js +19 -68
  119. package/dist/core/session-manager.js.map +1 -1
  120. package/dist/core/session-write-reservation.d.ts +0 -9
  121. package/dist/core/session-write-reservation.d.ts.map +1 -1
  122. package/dist/core/session-write-reservation.js +0 -33
  123. package/dist/core/session-write-reservation.js.map +1 -1
  124. package/dist/core/settings-manager.d.ts +5 -12
  125. package/dist/core/settings-manager.d.ts.map +1 -1
  126. package/dist/core/settings-manager.js +6 -18
  127. package/dist/core/settings-manager.js.map +1 -1
  128. package/dist/core/settings-public-types.d.ts +1 -1
  129. package/dist/core/settings-public-types.d.ts.map +1 -1
  130. package/dist/core/settings-public-types.js.map +1 -1
  131. package/dist/core/skills.d.ts +1 -1
  132. package/dist/core/skills.d.ts.map +1 -1
  133. package/dist/core/skills.js +2 -6
  134. package/dist/core/skills.js.map +1 -1
  135. package/dist/core/system-prompt.d.ts.map +1 -1
  136. package/dist/core/system-prompt.js +9 -8
  137. package/dist/core/system-prompt.js.map +1 -1
  138. package/dist/core/tools/bash.d.ts.map +1 -1
  139. package/dist/core/tools/bash.js +142 -3
  140. package/dist/core/tools/bash.js.map +1 -1
  141. package/dist/core/tools/edit.d.ts +12 -1
  142. package/dist/core/tools/edit.d.ts.map +1 -1
  143. package/dist/core/tools/edit.js +168 -4
  144. package/dist/core/tools/edit.js.map +1 -1
  145. package/dist/core/tools/find.d.ts.map +1 -1
  146. package/dist/core/tools/find.js +53 -2
  147. package/dist/core/tools/find.js.map +1 -1
  148. package/dist/core/tools/grep.d.ts.map +1 -1
  149. package/dist/core/tools/grep.js +58 -2
  150. package/dist/core/tools/grep.js.map +1 -1
  151. package/dist/core/tools/ls.d.ts.map +1 -1
  152. package/dist/core/tools/ls.js +47 -2
  153. package/dist/core/tools/ls.js.map +1 -1
  154. package/dist/core/tools/read.d.ts +4 -1
  155. package/dist/core/tools/read.d.ts.map +1 -1
  156. package/dist/core/tools/read.js +141 -4
  157. package/dist/core/tools/read.js.map +1 -1
  158. package/dist/core/tools/write.d.ts.map +1 -1
  159. package/dist/core/tools/write.js +153 -4
  160. package/dist/core/tools/write.js.map +1 -1
  161. package/dist/index.d.ts +2 -2
  162. package/dist/index.d.ts.map +1 -1
  163. package/dist/index.js.map +1 -1
  164. package/dist/migrations.d.ts.map +1 -1
  165. package/dist/migrations.js +2 -2
  166. package/dist/migrations.js.map +1 -1
  167. package/dist/modes/app-server/threads/turn-runtime.d.ts +1 -3
  168. package/dist/modes/app-server/threads/turn-runtime.d.ts.map +1 -1
  169. package/dist/modes/app-server/threads/turn-runtime.js.map +1 -1
  170. package/dist/modes/app-server/threads/turns.js +1 -1
  171. package/dist/modes/app-server/threads/turns.js.map +1 -1
  172. package/dist/modes/app-server/turn-adapter.js +2 -4
  173. package/dist/modes/app-server/turn-adapter.js.map +1 -1
  174. package/dist/modes/interactive/components/ask-user-async-widget.d.ts +12 -17
  175. package/dist/modes/interactive/components/ask-user-async-widget.d.ts.map +1 -1
  176. package/dist/modes/interactive/components/ask-user-async-widget.js +23 -47
  177. package/dist/modes/interactive/components/ask-user-async-widget.js.map +1 -1
  178. package/dist/modes/interactive/components/assistant-message.d.ts +0 -7
  179. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  180. package/dist/modes/interactive/components/assistant-message.js +2 -26
  181. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  182. package/dist/modes/interactive/components/assistant-render-descriptors.d.ts +0 -4
  183. package/dist/modes/interactive/components/assistant-render-descriptors.d.ts.map +1 -1
  184. package/dist/modes/interactive/components/assistant-render-descriptors.js +5 -8
  185. package/dist/modes/interactive/components/assistant-render-descriptors.js.map +1 -1
  186. package/dist/modes/interactive/components/custom-editor.d.ts +1 -10
  187. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  188. package/dist/modes/interactive/components/custom-editor.js +1 -37
  189. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  190. package/dist/modes/interactive/components/index.d.ts +1 -1
  191. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  192. package/dist/modes/interactive/components/index.js.map +1 -1
  193. package/dist/modes/interactive/components/scoped-models-selector.js +8 -8
  194. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  195. package/dist/modes/interactive/components/status-indicator.d.ts +1 -4
  196. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
  197. package/dist/modes/interactive/components/status-indicator.js +2 -14
  198. package/dist/modes/interactive/components/status-indicator.js.map +1 -1
  199. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  200. package/dist/modes/interactive/components/thinking-selector.js +4 -4
  201. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  202. package/dist/modes/interactive/components/tool-execution-renderer.d.ts +1 -4
  203. package/dist/modes/interactive/components/tool-execution-renderer.d.ts.map +1 -1
  204. package/dist/modes/interactive/components/tool-execution-renderer.js +10 -23
  205. package/dist/modes/interactive/components/tool-execution-renderer.js.map +1 -1
  206. package/dist/modes/interactive/components/tool-execution-types.d.ts +2 -18
  207. package/dist/modes/interactive/components/tool-execution-types.d.ts.map +1 -1
  208. package/dist/modes/interactive/components/tool-execution-types.js.map +1 -1
  209. package/dist/modes/interactive/components/tool-execution.d.ts +3 -3
  210. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  211. package/dist/modes/interactive/components/tool-execution.js +0 -5
  212. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  213. package/dist/modes/interactive/interactive-mode.d.ts +15 -10
  214. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  215. package/dist/modes/interactive/interactive-mode.js +138 -178
  216. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  217. package/dist/modes/interactive/theme/dark.json +1 -2
  218. package/dist/modes/interactive/theme/grok-day.json +1 -2
  219. package/dist/modes/interactive/theme/grok-night.json +1 -2
  220. package/dist/modes/interactive/theme/light.json +1 -2
  221. package/dist/modes/interactive/theme/theme-controller.d.ts +0 -1
  222. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
  223. package/dist/modes/interactive/theme/theme-controller.js +0 -5
  224. package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
  225. package/dist/modes/interactive/theme/theme-schema.json +2 -6
  226. package/dist/modes/interactive/theme/theme.d.ts +5 -10
  227. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  228. package/dist/modes/interactive/theme/theme.js +117 -14
  229. package/dist/modes/interactive/theme/theme.js.map +1 -1
  230. package/dist/modes/interactive/tips/catalog/input-tips.d.ts +0 -5
  231. package/dist/modes/interactive/tips/catalog/input-tips.d.ts.map +1 -1
  232. package/dist/modes/interactive/tips/catalog/input-tips.js +0 -5
  233. package/dist/modes/interactive/tips/catalog/input-tips.js.map +1 -1
  234. package/dist/modes/rpc/connection-handler.d.ts.map +1 -1
  235. package/dist/modes/rpc/connection-handler.js +2 -8
  236. package/dist/modes/rpc/connection-handler.js.map +1 -1
  237. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  238. package/dist/modes/rpc/rpc-client.js +1 -11
  239. package/dist/modes/rpc/rpc-client.js.map +1 -1
  240. package/dist/modes/rpc/rpc-types.d.ts +1 -2
  241. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  242. package/dist/modes/rpc/rpc-types.js +0 -1
  243. package/dist/modes/rpc/rpc-types.js.map +1 -1
  244. package/dist/modes/rpc/session-registry.d.ts +1 -3
  245. package/dist/modes/rpc/session-registry.d.ts.map +1 -1
  246. package/dist/modes/rpc/session-registry.js.map +1 -1
  247. package/dist/modes/rpc/session-worker-client.d.ts +8 -10
  248. package/dist/modes/rpc/session-worker-client.d.ts.map +1 -1
  249. package/dist/modes/rpc/session-worker-client.js +23 -14
  250. package/dist/modes/rpc/session-worker-client.js.map +1 -1
  251. package/dist/modes/rpc/session-worker-protocol.d.ts +0 -10
  252. package/dist/modes/rpc/session-worker-protocol.d.ts.map +1 -1
  253. package/dist/modes/rpc/session-worker-protocol.js +0 -2
  254. package/dist/modes/rpc/session-worker-protocol.js.map +1 -1
  255. package/dist/modes/rpc/session-worker.js +16 -12
  256. package/dist/modes/rpc/session-worker.js.map +1 -1
  257. package/dist/modes/rpc/worker-session-registry.d.ts +0 -12
  258. package/dist/modes/rpc/worker-session-registry.d.ts.map +1 -1
  259. package/dist/modes/rpc/worker-session-registry.js +24 -51
  260. package/dist/modes/rpc/worker-session-registry.js.map +1 -1
  261. package/dist/senpi +0 -3
  262. package/dist/server/create-harness.d.ts +26 -0
  263. package/dist/server/create-harness.d.ts.map +1 -0
  264. package/dist/server/create-harness.js +106 -0
  265. package/dist/server/create-harness.js.map +1 -0
  266. package/dist/utils/clipboard-image.d.ts.map +1 -1
  267. package/dist/utils/clipboard-image.js +69 -52
  268. package/dist/utils/clipboard-image.js.map +1 -1
  269. package/dist/utils/clipboard-native.d.ts +11 -0
  270. package/dist/utils/clipboard-native.d.ts.map +1 -0
  271. package/dist/utils/clipboard-native.js +20 -0
  272. package/dist/utils/clipboard-native.js.map +1 -0
  273. package/dist/utils/clipboard.d.ts.map +1 -1
  274. package/dist/utils/clipboard.js +126 -49
  275. package/dist/utils/clipboard.js.map +1 -1
  276. package/dist/utils/exif-orientation.d.ts.map +1 -1
  277. package/dist/utils/exif-orientation.js +3 -2
  278. package/dist/utils/exif-orientation.js.map +1 -1
  279. package/dist/utils/tools-manager.d.ts +0 -1
  280. package/dist/utils/tools-manager.d.ts.map +1 -1
  281. package/dist/utils/tools-manager.js +19 -41
  282. package/dist/utils/tools-manager.js.map +1 -1
  283. package/docs/AGENTS.md +67 -0
  284. package/docs/compaction.md +13 -39
  285. package/docs/containerization.md +0 -45
  286. package/docs/development.md +0 -19
  287. package/docs/docs.json +0 -4
  288. package/docs/environment-variables.md +0 -2
  289. package/docs/extensions.md +10 -21
  290. package/docs/keybindings.md +2 -7
  291. package/docs/models.md +1 -1
  292. package/docs/providers.md +1 -1
  293. package/docs/rpc.md +8 -16
  294. package/docs/sdk.md +0 -7
  295. package/docs/session-format.md +38 -52
  296. package/docs/settings.md +4 -40
  297. package/docs/skills.md +1 -1
  298. package/docs/termux.md +1 -0
  299. package/docs/themes.md +6 -8
  300. package/docs/tui.md +3 -22
  301. package/examples/README.md +0 -3
  302. package/examples/extensions/dynamic-resources/dynamic.json +0 -2
  303. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/index.js +1 -1
  304. package/node_modules/@aws-sdk/client-bedrock-runtime/package.json +3 -3
  305. package/node_modules/@aws-sdk/core/dist-cjs/submodules/util/index.js +0 -5
  306. package/node_modules/@aws-sdk/core/dist-es/submodules/util/index.js +0 -1
  307. package/node_modules/@aws-sdk/core/dist-types/submodules/util/index.d.ts +0 -1
  308. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/util/index.d.ts +0 -1
  309. package/node_modules/@aws-sdk/core/package.json +1 -1
  310. package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
  311. package/node_modules/@aws-sdk/credential-provider-http/package.json +2 -2
  312. package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
  313. package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
  314. package/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js +0 -2
  315. package/node_modules/@aws-sdk/credential-provider-node/dist-es/runtime/memoize-chain.js +0 -2
  316. package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
  317. package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
  318. package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
  319. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
  320. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
  321. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
  322. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
  323. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
  324. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
  325. package/node_modules/@aws-sdk/nested-clients/package.json +2 -2
  326. package/node_modules/@aws-sdk/token-providers/package.json +1 -1
  327. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +0 -24
  328. package/node_modules/@code-yeongyu/senpi-codemode/package.json +5 -5
  329. package/node_modules/@earendil-works/pi-agent-core/README.md +0 -4
  330. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts +384 -639
  331. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts.map +1 -1
  332. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js +250 -5
  333. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js.map +1 -1
  334. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts +6 -12
  335. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts.map +1 -1
  336. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js +27 -33
  337. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js.map +1 -1
  338. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts +8 -30
  339. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts.map +1 -1
  340. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js +64 -53
  341. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js.map +1 -1
  342. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts +28 -25
  343. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts.map +1 -1
  344. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js +125 -368
  345. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js.map +1 -1
  346. package/node_modules/@earendil-works/pi-agent-core/dist/harness/events.d.ts +38 -20
  347. package/node_modules/@earendil-works/pi-agent-core/dist/harness/events.d.ts.map +1 -1
  348. package/node_modules/@earendil-works/pi-agent-core/dist/harness/events.js +55 -233
  349. package/node_modules/@earendil-works/pi-agent-core/dist/harness/events.js.map +1 -1
  350. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.d.ts +2 -2
  351. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.d.ts.map +1 -1
  352. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.js.map +1 -1
  353. package/node_modules/@earendil-works/pi-agent-core/dist/harness/prompt-templates.d.ts +2 -3
  354. package/node_modules/@earendil-works/pi-agent-core/dist/harness/prompt-templates.d.ts.map +1 -1
  355. package/node_modules/@earendil-works/pi-agent-core/dist/harness/prompt-templates.js +17 -17
  356. package/node_modules/@earendil-works/pi-agent-core/dist/harness/prompt-templates.js.map +1 -1
  357. package/node_modules/@earendil-works/pi-agent-core/dist/harness/reducer.d.ts +100 -0
  358. package/node_modules/@earendil-works/pi-agent-core/dist/harness/reducer.d.ts.map +1 -0
  359. package/node_modules/@earendil-works/pi-agent-core/dist/harness/reducer.js +420 -0
  360. package/node_modules/@earendil-works/pi-agent-core/dist/harness/reducer.js.map +1 -0
  361. package/node_modules/@earendil-works/pi-agent-core/dist/harness/result.d.ts +0 -93
  362. package/node_modules/@earendil-works/pi-agent-core/dist/harness/result.d.ts.map +1 -1
  363. package/node_modules/@earendil-works/pi-agent-core/dist/harness/result.js +0 -39
  364. package/node_modules/@earendil-works/pi-agent-core/dist/harness/result.js.map +1 -1
  365. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/context.d.ts +19 -6
  366. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/context.d.ts.map +1 -1
  367. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/context.js +53 -31
  368. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/context.js.map +1 -1
  369. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/index.d.ts +5 -9
  370. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/index.d.ts.map +1 -1
  371. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/index.js +4 -7
  372. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/index.js.map +1 -1
  373. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/codec.d.ts +8 -19
  374. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/codec.d.ts.map +1 -1
  375. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/codec.js +219 -34
  376. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/codec.js.map +1 -1
  377. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/errors.d.ts +9 -0
  378. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/errors.d.ts.map +1 -0
  379. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/errors.js +18 -0
  380. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/errors.js.map +1 -0
  381. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/repo.d.ts +24 -27
  382. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/repo.d.ts.map +1 -1
  383. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/repo.js +151 -276
  384. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/repo.js.map +1 -1
  385. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/storage.d.ts +41 -39
  386. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/storage.d.ts.map +1 -1
  387. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/storage.js +196 -175
  388. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/storage.js.map +1 -1
  389. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/types.d.ts +22 -23
  390. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/types.d.ts.map +1 -1
  391. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/types.js +1 -2
  392. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/types.js.map +1 -1
  393. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl.d.ts +3 -0
  394. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl.d.ts.map +1 -0
  395. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl.js +2 -0
  396. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl.js.map +1 -0
  397. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory.d.ts +40 -44
  398. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory.d.ts.map +1 -1
  399. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory.js +115 -333
  400. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory.js.map +1 -1
  401. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts +51 -78
  402. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts.map +1 -1
  403. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js +207 -327
  404. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js.map +1 -1
  405. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/state.d.ts +65 -0
  406. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/state.d.ts.map +1 -0
  407. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/state.js +320 -0
  408. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/state.js.map +1 -0
  409. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/conformance.d.ts +4 -0
  410. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/conformance.d.ts.map +1 -0
  411. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/conformance.js +762 -0
  412. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/conformance.js.map +1 -0
  413. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/index.d.ts +2 -9
  414. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/index.d.ts.map +1 -1
  415. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/index.js +1 -8
  416. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/index.js.map +1 -1
  417. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/types.d.ts +7 -5
  418. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/types.d.ts.map +1 -1
  419. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/types.js.map +1 -1
  420. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/types.d.ts +265 -425
  421. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/types.d.ts.map +1 -1
  422. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/types.js +7 -7
  423. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/types.js.map +1 -1
  424. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.d.ts +2 -3
  425. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.d.ts.map +1 -1
  426. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.js +26 -29
  427. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.js.map +1 -1
  428. package/node_modules/@earendil-works/pi-agent-core/dist/harness/telemetry.d.ts +43 -64
  429. package/node_modules/@earendil-works/pi-agent-core/dist/harness/telemetry.d.ts.map +1 -1
  430. package/node_modules/@earendil-works/pi-agent-core/dist/harness/telemetry.js +26 -45
  431. package/node_modules/@earendil-works/pi-agent-core/dist/harness/telemetry.js.map +1 -1
  432. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/bash.d.ts +4 -4
  433. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/bash.d.ts.map +1 -1
  434. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/bash.js +93 -66
  435. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/bash.js.map +1 -1
  436. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit.d.ts.map +1 -1
  437. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit.js +13 -17
  438. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit.js.map +1 -1
  439. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/file-mutation-queue.d.ts +1 -2
  440. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/file-mutation-queue.d.ts.map +1 -1
  441. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/file-mutation-queue.js +5 -5
  442. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/file-mutation-queue.js.map +1 -1
  443. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/path-utils.d.ts +2 -3
  444. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/path-utils.d.ts.map +1 -1
  445. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/path-utils.js +5 -5
  446. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/path-utils.js.map +1 -1
  447. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/read.d.ts +1 -2
  448. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/read.d.ts.map +1 -1
  449. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/read.js +6 -4
  450. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/read.js.map +1 -1
  451. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/write.d.ts.map +1 -1
  452. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/write.js +8 -12
  453. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/write.js.map +1 -1
  454. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts +45 -128
  455. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts.map +1 -1
  456. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js.map +1 -1
  457. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.d.ts +5 -19
  458. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.d.ts.map +1 -1
  459. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.js +192 -65
  460. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.js.map +1 -1
  461. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/truncate.d.ts +0 -1
  462. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/truncate.d.ts.map +1 -1
  463. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/truncate.js +1 -1
  464. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/truncate.js.map +1 -1
  465. package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts +1 -4
  466. package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts.map +1 -1
  467. package/node_modules/@earendil-works/pi-agent-core/dist/index.js +6 -3
  468. package/node_modules/@earendil-works/pi-agent-core/dist/index.js.map +1 -1
  469. package/node_modules/@earendil-works/pi-agent-core/dist/search/index.d.ts +16 -24
  470. package/node_modules/@earendil-works/pi-agent-core/dist/search/index.d.ts.map +1 -1
  471. package/node_modules/@earendil-works/pi-agent-core/dist/search/index.js +1 -1
  472. package/node_modules/@earendil-works/pi-agent-core/dist/search/index.js.map +1 -1
  473. package/node_modules/@earendil-works/pi-agent-core/dist/search/scanning.d.ts +29 -0
  474. package/node_modules/@earendil-works/pi-agent-core/dist/search/scanning.d.ts.map +1 -0
  475. package/node_modules/@earendil-works/pi-agent-core/dist/search/scanning.js +103 -0
  476. package/node_modules/@earendil-works/pi-agent-core/dist/search/scanning.js.map +1 -0
  477. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +0 -2
  478. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
  479. package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
  480. package/node_modules/@earendil-works/pi-agent-core/package.json +6 -27
  481. package/node_modules/@earendil-works/pi-ai/README.md +4 -39
  482. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts.map +1 -1
  483. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js +1 -8
  484. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js.map +1 -1
  485. package/node_modules/@earendil-works/pi-ai/dist/api/cloudflare-gateway-binding.d.ts +69 -0
  486. package/node_modules/@earendil-works/pi-ai/dist/api/cloudflare-gateway-binding.d.ts.map +1 -0
  487. package/node_modules/@earendil-works/pi-ai/dist/api/cloudflare-gateway-binding.js +159 -0
  488. package/node_modules/@earendil-works/pi-ai/dist/api/cloudflare-gateway-binding.js.map +1 -0
  489. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/measure.d.ts +0 -11
  490. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/measure.d.ts.map +1 -1
  491. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/measure.js +0 -18
  492. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/measure.js.map +1 -1
  493. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.d.ts +1 -1
  494. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.d.ts.map +1 -1
  495. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js +1 -5
  496. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js.map +1 -1
  497. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js +1 -4
  498. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js.map +1 -1
  499. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.d.ts.map +1 -1
  500. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js +3 -6
  501. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js.map +1 -1
  502. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.d.ts.map +1 -1
  503. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js +1 -4
  504. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js.map +1 -1
  505. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.d.ts.map +1 -1
  506. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js +3 -13
  507. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js.map +1 -1
  508. package/node_modules/@earendil-works/pi-ai/dist/cursor/store-migration.d.ts.map +1 -1
  509. package/node_modules/@earendil-works/pi-ai/dist/cursor/store-migration.js +1 -2
  510. package/node_modules/@earendil-works/pi-ai/dist/cursor/store-migration.js.map +1 -1
  511. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts +1 -2
  512. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts.map +1 -1
  513. package/node_modules/@earendil-works/pi-ai/dist/index.js +1 -2
  514. package/node_modules/@earendil-works/pi-ai/dist/index.js.map +1 -1
  515. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts +0 -1
  516. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts.map +1 -1
  517. package/node_modules/@earendil-works/pi-ai/dist/models.js +2 -5
  518. package/node_modules/@earendil-works/pi-ai/dist/models.js.map +1 -1
  519. package/node_modules/@earendil-works/pi-ai/dist/openai-responses-compat.d.ts +1 -1
  520. package/node_modules/@earendil-works/pi-ai/dist/openai-responses-compat.d.ts.map +1 -1
  521. package/node_modules/@earendil-works/pi-ai/dist/openai-responses-compat.js.map +1 -1
  522. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.d.ts.map +1 -1
  523. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.js +0 -4
  524. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.js.map +1 -1
  525. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.d.ts.map +1 -1
  526. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.js +1 -2
  527. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.js.map +1 -1
  528. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  529. package/node_modules/@earendil-works/pi-ai/dist/providers/data/azure-openai-responses.json +1 -1
  530. package/node_modules/@earendil-works/pi-ai/dist/providers/data/baseten.json +1 -1
  531. package/node_modules/@earendil-works/pi-ai/dist/providers/data/deepseek.json +1 -1
  532. package/node_modules/@earendil-works/pi-ai/dist/providers/data/fireworks.json +1 -1
  533. package/node_modules/@earendil-works/pi-ai/dist/providers/data/github-copilot.json +1 -1
  534. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai-codex.json +1 -1
  535. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  536. package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan-cn.json +1 -1
  537. package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan-individual.json +1 -1
  538. package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan.json +1 -1
  539. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xai.json +1 -1
  540. package/node_modules/@earendil-works/pi-ai/dist/providers/faux.js +5 -5
  541. package/node_modules/@earendil-works/pi-ai/dist/providers/faux.js.map +1 -1
  542. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.d.ts.map +1 -1
  543. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.js +3 -4
  544. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.js.map +1 -1
  545. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.d.ts.map +1 -1
  546. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.js +4 -5
  547. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.js.map +1 -1
  548. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +6 -16
  549. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  550. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  551. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.d.ts.map +1 -1
  552. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.js +5 -25
  553. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.js.map +1 -1
  554. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.d.ts +1 -1
  555. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.d.ts.map +1 -1
  556. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.js +1 -5
  557. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.js.map +1 -1
  558. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/types.d.ts +1 -10
  559. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/types.d.ts.map +1 -1
  560. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/types.js.map +1 -1
  561. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.d.ts +2 -13
  562. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.d.ts.map +1 -1
  563. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js +7 -18
  564. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js.map +1 -1
  565. package/node_modules/@earendil-works/pi-ai/dist/utils/uuid.d.ts +2 -2
  566. package/node_modules/@earendil-works/pi-ai/dist/utils/uuid.d.ts.map +1 -1
  567. package/node_modules/@earendil-works/pi-ai/dist/utils/uuid.js +31 -36
  568. package/node_modules/@earendil-works/pi-ai/dist/utils/uuid.js.map +1 -1
  569. package/node_modules/@earendil-works/pi-ai/package.json +6 -6
  570. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  571. package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
  572. package/node_modules/@earendil-works/pi-tui/README.md +4 -53
  573. package/node_modules/@earendil-works/pi-tui/dist/alt-screen-search.d.ts +1 -21
  574. package/node_modules/@earendil-works/pi-tui/dist/alt-screen-search.d.ts.map +1 -1
  575. package/node_modules/@earendil-works/pi-tui/dist/alt-screen-search.js +42 -199
  576. package/node_modules/@earendil-works/pi-tui/dist/alt-screen-search.js.map +1 -1
  577. package/node_modules/@earendil-works/pi-tui/dist/components/box.d.ts +1 -3
  578. package/node_modules/@earendil-works/pi-tui/dist/components/box.d.ts.map +1 -1
  579. package/node_modules/@earendil-works/pi-tui/dist/components/box.js +0 -28
  580. package/node_modules/@earendil-works/pi-tui/dist/components/box.js.map +1 -1
  581. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts +1 -6
  582. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +1 -1
  583. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +18 -98
  584. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
  585. package/node_modules/@earendil-works/pi-tui/dist/components/input.d.ts +1 -12
  586. package/node_modules/@earendil-works/pi-tui/dist/components/input.d.ts.map +1 -1
  587. package/node_modules/@earendil-works/pi-tui/dist/components/input.js +6 -40
  588. package/node_modules/@earendil-works/pi-tui/dist/components/input.js.map +1 -1
  589. package/node_modules/@earendil-works/pi-tui/dist/components/latex.d.ts.map +1 -1
  590. package/node_modules/@earendil-works/pi-tui/dist/components/latex.js +0 -7
  591. package/node_modules/@earendil-works/pi-tui/dist/components/latex.js.map +1 -1
  592. package/node_modules/@earendil-works/pi-tui/dist/components/loader.d.ts +0 -3
  593. package/node_modules/@earendil-works/pi-tui/dist/components/loader.d.ts.map +1 -1
  594. package/node_modules/@earendil-works/pi-tui/dist/components/loader.js +8 -20
  595. package/node_modules/@earendil-works/pi-tui/dist/components/loader.js.map +1 -1
  596. package/node_modules/@earendil-works/pi-tui/dist/components/scroll-view.d.ts +3 -6
  597. package/node_modules/@earendil-works/pi-tui/dist/components/scroll-view.d.ts.map +1 -1
  598. package/node_modules/@earendil-works/pi-tui/dist/components/scroll-view.js +1 -6
  599. package/node_modules/@earendil-works/pi-tui/dist/components/scroll-view.js.map +1 -1
  600. package/node_modules/@earendil-works/pi-tui/dist/components/select-list.d.ts +1 -4
  601. package/node_modules/@earendil-works/pi-tui/dist/components/select-list.d.ts.map +1 -1
  602. package/node_modules/@earendil-works/pi-tui/dist/components/select-list.js +2 -48
  603. package/node_modules/@earendil-works/pi-tui/dist/components/select-list.js.map +1 -1
  604. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.d.ts +1 -5
  605. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.d.ts.map +1 -1
  606. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.js +5 -54
  607. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.js.map +1 -1
  608. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +1 -3
  609. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -1
  610. package/node_modules/@earendil-works/pi-tui/dist/index.js +0 -3
  611. package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -1
  612. package/node_modules/@earendil-works/pi-tui/dist/layout.d.ts +1 -3
  613. package/node_modules/@earendil-works/pi-tui/dist/layout.d.ts.map +1 -1
  614. package/node_modules/@earendil-works/pi-tui/dist/layout.js +9 -32
  615. package/node_modules/@earendil-works/pi-tui/dist/layout.js.map +1 -1
  616. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.d.ts +1 -2
  617. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.d.ts.map +1 -1
  618. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.js +44 -3
  619. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.js.map +1 -1
  620. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
  621. package/node_modules/@earendil-works/pi-tui/dist/terminal.js +20 -2
  622. package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
  623. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.d.ts +1 -31
  624. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.d.ts.map +1 -1
  625. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.js +41 -335
  626. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.js.map +1 -1
  627. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts +5 -83
  628. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -1
  629. package/node_modules/@earendil-works/pi-tui/dist/tui.js +4 -118
  630. package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -1
  631. package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts +0 -2
  632. package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts.map +1 -1
  633. package/node_modules/@earendil-works/pi-tui/dist/utils.js +0 -9
  634. package/node_modules/@earendil-works/pi-tui/dist/utils.js.map +1 -1
  635. package/node_modules/@earendil-works/pi-tui/native/darwin/README.md +6 -8
  636. package/node_modules/@earendil-works/pi-tui/native/darwin/build.sh +5 -12
  637. package/node_modules/@earendil-works/pi-tui/native/darwin/prebuilds/darwin-arm64/{darwin-platform.node → darwin-modifiers.node} +0 -0
  638. package/node_modules/@earendil-works/pi-tui/native/darwin/prebuilds/darwin-x64/{darwin-platform.node → darwin-modifiers.node} +0 -0
  639. package/node_modules/@earendil-works/pi-tui/native/darwin/src/darwin-modifiers.c +70 -0
  640. package/node_modules/@earendil-works/pi-tui/native/win32/README.md +7 -18
  641. package/node_modules/@earendil-works/pi-tui/native/win32/build.mjs +4 -7
  642. package/node_modules/@earendil-works/pi-tui/native/win32/prebuilds/win32-arm64/win32-console-mode.node +0 -0
  643. package/node_modules/@earendil-works/pi-tui/native/win32/prebuilds/win32-x64/win32-console-mode.node +0 -0
  644. package/node_modules/@earendil-works/pi-tui/native/win32/src/win32-console-mode.c +119 -0
  645. package/node_modules/@earendil-works/pi-tui/package.json +3 -10
  646. package/node_modules/@google/genai/dist/genai.d.ts +278 -1788
  647. package/node_modules/@google/genai/dist/index.cjs +299 -319
  648. package/node_modules/@google/genai/dist/index.mjs +299 -319
  649. package/node_modules/@google/genai/dist/index.mjs.map +1 -1
  650. package/node_modules/@google/genai/dist/node/index.cjs +300 -320
  651. package/node_modules/@google/genai/dist/node/index.mjs +300 -320
  652. package/node_modules/@google/genai/dist/node/index.mjs.map +1 -1
  653. package/node_modules/@google/genai/dist/node/node.d.ts +278 -1788
  654. package/node_modules/@google/genai/dist/tokenizer/node.cjs +2 -49
  655. package/node_modules/@google/genai/dist/tokenizer/node.d.ts +3 -43
  656. package/node_modules/@google/genai/dist/tokenizer/node.mjs +2 -49
  657. package/node_modules/@google/genai/dist/tokenizer/node.mjs.map +1 -1
  658. package/node_modules/@google/genai/dist/vertex_internal/index.cjs +3 -39
  659. package/node_modules/@google/genai/dist/vertex_internal/index.cjs.map +1 -1
  660. package/node_modules/@google/genai/dist/vertex_internal/index.d.ts +9 -51
  661. package/node_modules/@google/genai/dist/vertex_internal/index.js +3 -39
  662. package/node_modules/@google/genai/dist/vertex_internal/index.js.map +1 -1
  663. package/node_modules/@google/genai/dist/web/index.mjs +299 -319
  664. package/node_modules/@google/genai/dist/web/index.mjs.map +1 -1
  665. package/node_modules/@google/genai/dist/web/web.d.ts +278 -1788
  666. package/node_modules/@google/genai/package.json +1 -1
  667. package/node_modules/@mariozechner/clipboard/.yarnrc.yml +1 -0
  668. package/node_modules/@mariozechner/clipboard/Cargo.toml +45 -0
  669. package/node_modules/@mariozechner/clipboard/README.md +60 -0
  670. package/node_modules/@mariozechner/clipboard/build.rs +5 -0
  671. package/node_modules/@mariozechner/clipboard/exp.ts +12 -0
  672. package/node_modules/@mariozechner/clipboard/index.d.ts +37 -0
  673. package/node_modules/@mariozechner/clipboard/index.js +606 -0
  674. package/node_modules/@mariozechner/clipboard/package.json +45 -0
  675. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/common.rs +307 -0
  676. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/mod.rs +93 -0
  677. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/platform/ios.rs +313 -0
  678. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/platform/macos.rs +471 -0
  679. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/platform/mod.rs +252 -0
  680. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/platform/wayland.rs +431 -0
  681. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/platform/win.rs +712 -0
  682. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/platform/x11.rs +916 -0
  683. package/node_modules/@mariozechner/clipboard/src/lib.rs +194 -0
  684. package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +4 -11
  685. package/node_modules/@smithy/node-http-handler/dist-es/http2/ClientHttp2SessionRef.js +0 -1
  686. package/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js +3 -2
  687. package/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +1 -8
  688. package/node_modules/@smithy/node-http-handler/package.json +2 -2
  689. package/node_modules/ignore/README.md +0 -52
  690. package/node_modules/ignore/index.js +129 -785
  691. package/node_modules/ignore/legacy.js +98 -660
  692. package/node_modules/ignore/package.json +4 -10
  693. package/node_modules/marked/README.md +0 -1
  694. package/node_modules/marked/lib/marked.d.ts +0 -7
  695. package/node_modules/marked/lib/marked.esm.js +30 -30
  696. package/node_modules/marked/lib/marked.esm.js.map +3 -3
  697. package/node_modules/marked/lib/marked.umd.js +30 -30
  698. package/node_modules/marked/lib/marked.umd.js.map +3 -3
  699. package/node_modules/marked/man/marked.1 +1 -1
  700. package/node_modules/marked/package.json +2 -2
  701. package/node_modules/typebox/build/compile/validator.d.mts +1 -1
  702. package/node_modules/typebox/build/compile/validator.mjs +1 -1
  703. package/node_modules/typebox/build/format/idna/idn-hostname.mjs +5 -7
  704. package/node_modules/typebox/build/format/iri.mjs +1 -5
  705. package/node_modules/typebox/build/guard/emit.mjs +4 -2
  706. package/node_modules/typebox/build/guard/guard.mjs +18 -6
  707. package/node_modules/typebox/build/guard/string.mjs +24 -16
  708. package/node_modules/typebox/build/schema/compile.d.mts +2 -3
  709. package/node_modules/typebox/build/schema/compile.mjs +8 -8
  710. package/node_modules/typebox/build/schema/engine/_context.d.mts +6 -1
  711. package/node_modules/typebox/build/schema/engine/_context.mjs +14 -9
  712. package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -1
  713. package/node_modules/typebox/build/schema/engine/_stack.d.mts +2 -6
  714. package/node_modules/typebox/build/schema/engine/_stack.mjs +32 -135
  715. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +4 -16
  716. package/node_modules/typebox/build/schema/engine/allOf.mjs +2 -2
  717. package/node_modules/typebox/build/schema/engine/anyOf.mjs +2 -2
  718. package/node_modules/typebox/build/schema/engine/if.mjs +2 -2
  719. package/node_modules/typebox/build/schema/engine/oneOf.mjs +2 -2
  720. package/node_modules/typebox/build/schema/engine/propertyNames.mjs +3 -1
  721. package/node_modules/typebox/build/schema/engine/ref.mjs +2 -2
  722. package/node_modules/typebox/build/schema/engine/schema.mjs +0 -6
  723. package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +2 -2
  724. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +2 -2
  725. package/node_modules/typebox/build/schema/errors.d.mts +2 -2
  726. package/node_modules/typebox/build/schema/errors.mjs +13 -7
  727. package/node_modules/typebox/build/schema/parse.d.mts +0 -1
  728. package/node_modules/typebox/build/schema/parse.mjs +5 -10
  729. package/node_modules/typebox/build/schema/resolve/resolve.d.mts +3 -34
  730. package/node_modules/typebox/build/schema/resolve/resolve.mjs +73 -198
  731. package/node_modules/typebox/build/schema/schema.d.mts +0 -1
  732. package/node_modules/typebox/build/schema/schema.mjs +0 -1
  733. package/node_modules/typebox/build/value/errors/errors.d.mts +12 -2
  734. package/node_modules/typebox/build/value/errors/errors.mjs +7 -2
  735. package/node_modules/typebox/package.json +1 -1
  736. package/node_modules/typebox/readme.md +5 -9
  737. package/node_modules/undici/docs/docs/api/Client.md +0 -4
  738. package/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +2 -3
  739. package/node_modules/undici/docs/docs/api/EventSource.md +0 -4
  740. package/node_modules/undici/docs/docs/api/Interceptors.md +3 -7
  741. package/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +1 -7
  742. package/node_modules/undici/lib/cache/memory-cache-store.js +2 -2
  743. package/node_modules/undici/lib/core/symbols.js +0 -2
  744. package/node_modules/undici/lib/dispatcher/agent.js +2 -7
  745. package/node_modules/undici/lib/dispatcher/balanced-pool.js +4 -7
  746. package/node_modules/undici/lib/dispatcher/client-h1.js +4 -12
  747. package/node_modules/undici/lib/dispatcher/client-h2.js +3 -43
  748. package/node_modules/undici/lib/dispatcher/client.js +2 -3
  749. package/node_modules/undici/lib/dispatcher/dispatcher-base.js +1 -13
  750. package/node_modules/undici/lib/dispatcher/dispatcher.js +1 -15
  751. package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +0 -3
  752. package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +3 -10
  753. package/node_modules/undici/lib/dispatcher/proxy-agent.js +1 -18
  754. package/node_modules/undici/lib/dispatcher/retry-agent.js +0 -3
  755. package/node_modules/undici/lib/dispatcher/round-robin-pool.js +1 -1
  756. package/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +21 -91
  757. package/node_modules/undici/lib/handler/cache-handler.js +5 -29
  758. package/node_modules/undici/lib/handler/decorator-handler.js +1 -7
  759. package/node_modules/undici/lib/handler/deduplication-handler.js +6 -12
  760. package/node_modules/undici/lib/handler/redirect-handler.js +4 -21
  761. package/node_modules/undici/lib/handler/retry-handler.js +30 -148
  762. package/node_modules/undici/lib/interceptor/cache.js +12 -65
  763. package/node_modules/undici/lib/interceptor/decompress.js +13 -115
  764. package/node_modules/undici/lib/interceptor/deduplicate.js +4 -5
  765. package/node_modules/undici/lib/interceptor/dns.js +0 -7
  766. package/node_modules/undici/lib/interceptor/dump.js +23 -10
  767. package/node_modules/undici/lib/mock/mock-agent.js +1 -13
  768. package/node_modules/undici/lib/mock/mock-utils.js +10 -11
  769. package/node_modules/undici/lib/util/cache.js +3 -45
  770. package/node_modules/undici/lib/web/cookies/parse.js +147 -150
  771. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +1 -28
  772. package/node_modules/undici/lib/web/eventsource/eventsource.js +3 -13
  773. package/node_modules/undici/lib/web/fetch/index.js +0 -6
  774. package/node_modules/undici/lib/web/fetch/request.js +3 -2
  775. package/node_modules/undici/lib/web/fetch/util.js +1 -6
  776. package/node_modules/undici/lib/web/webidl/index.js +3 -3
  777. package/node_modules/undici/lib/web/websocket/connection.js +1 -1
  778. package/node_modules/undici/lib/web/websocket/permessage-deflate.js +0 -5
  779. package/node_modules/undici/lib/web/websocket/stream/websocketstream.js +10 -8
  780. package/node_modules/undici/package.json +3 -3
  781. package/node_modules/undici/types/client.d.ts +0 -10
  782. package/node_modules/undici/types/interceptors.d.ts +0 -2
  783. package/node_modules/undici/types/mock-agent.d.ts +10 -11
  784. package/node_modules/undici/types/socks5-proxy-agent.d.ts +0 -2
  785. package/package.json +49 -70
  786. package/vendor/pi-client/client.d.ts +15 -20
  787. package/vendor/pi-client/client.d.ts.map +1 -1
  788. package/vendor/pi-client/client.js +245 -248
  789. package/vendor/pi-client/client.js.map +1 -1
  790. package/vendor/pi-client/connection.d.ts +3 -4
  791. package/vendor/pi-client/connection.d.ts.map +1 -1
  792. package/vendor/pi-client/connection.js +9 -13
  793. package/vendor/pi-client/connection.js.map +1 -1
  794. package/vendor/pi-client/errors.d.ts +15 -6
  795. package/vendor/pi-client/errors.d.ts.map +1 -1
  796. package/vendor/pi-client/errors.js +25 -10
  797. package/vendor/pi-client/errors.js.map +1 -1
  798. package/vendor/pi-client/index.d.ts +4 -3
  799. package/vendor/pi-client/index.d.ts.map +1 -1
  800. package/vendor/pi-client/index.js +2 -2
  801. package/vendor/pi-client/index.js.map +1 -1
  802. package/vendor/pi-client/session-handle.d.ts +54 -0
  803. package/vendor/pi-client/session-handle.d.ts.map +1 -0
  804. package/vendor/pi-client/session-handle.js +50 -0
  805. package/vendor/pi-client/session-handle.js.map +1 -0
  806. package/vendor/pi-client/state.d.ts +22 -0
  807. package/vendor/pi-client/state.d.ts.map +1 -0
  808. package/vendor/pi-client/state.js +145 -0
  809. package/vendor/pi-client/state.js.map +1 -0
  810. package/vendor/pi-client/types.d.ts +8 -14
  811. package/vendor/pi-client/types.d.ts.map +1 -1
  812. package/vendor/pi-client/types.js.map +1 -1
  813. package/vendor/pi-client/unix.d.ts +1 -14
  814. package/vendor/pi-client/unix.d.ts.map +1 -1
  815. package/vendor/pi-client/unix.js +8 -138
  816. package/vendor/pi-client/unix.js.map +1 -1
  817. package/vendor/pi-protocol/codec.d.ts +4 -2
  818. package/vendor/pi-protocol/codec.d.ts.map +1 -1
  819. package/vendor/pi-protocol/codec.js +34 -7
  820. package/vendor/pi-protocol/codec.js.map +1 -1
  821. package/vendor/pi-protocol/framing.d.ts +2 -0
  822. package/vendor/pi-protocol/framing.d.ts.map +1 -1
  823. package/vendor/pi-protocol/framing.js +15 -0
  824. package/vendor/pi-protocol/framing.js.map +1 -1
  825. package/vendor/pi-protocol/index.d.ts +1 -1
  826. package/vendor/pi-protocol/index.d.ts.map +1 -1
  827. package/vendor/pi-protocol/index.js +1 -1
  828. package/vendor/pi-protocol/index.js.map +1 -1
  829. package/vendor/pi-protocol/schemas.d.ts +13739 -0
  830. package/vendor/pi-protocol/schemas.d.ts.map +1 -0
  831. package/vendor/pi-protocol/schemas.js +386 -0
  832. package/vendor/pi-protocol/schemas.js.map +1 -0
  833. package/dist/bun/runtime-setup.d.ts +0 -2
  834. package/dist/bun/runtime-setup.d.ts.map +0 -1
  835. package/dist/bun/runtime-setup.js +0 -9
  836. package/dist/bun/runtime-setup.js.map +0 -1
  837. package/dist/bun/sandbox-env-setup.d.ts +0 -2
  838. package/dist/bun/sandbox-env-setup.d.ts.map +0 -1
  839. package/dist/bun/sandbox-env-setup.js +0 -4
  840. package/dist/bun/sandbox-env-setup.js.map +0 -1
  841. package/dist/cli/setup.d.ts +0 -2
  842. package/dist/cli/setup.d.ts.map +0 -1
  843. package/dist/cli/setup.js +0 -12
  844. package/dist/cli/setup.js.map +0 -1
  845. package/dist/core/cursor-history-admission.d.ts +0 -50
  846. package/dist/core/cursor-history-admission.d.ts.map +0 -1
  847. package/dist/core/cursor-history-admission.js +0 -130
  848. package/dist/core/cursor-history-admission.js.map +0 -1
  849. package/dist/core/tools/renderers/bash.d.ts +0 -12
  850. package/dist/core/tools/renderers/bash.d.ts.map +0 -1
  851. package/dist/core/tools/renderers/bash.js +0 -156
  852. package/dist/core/tools/renderers/bash.js.map +0 -1
  853. package/dist/core/tools/renderers/edit.d.ts +0 -23
  854. package/dist/core/tools/renderers/edit.d.ts.map +0 -1
  855. package/dist/core/tools/renderers/edit.js +0 -172
  856. package/dist/core/tools/renderers/edit.js.map +0 -1
  857. package/dist/core/tools/renderers/find.d.ts +0 -10
  858. package/dist/core/tools/renderers/find.d.ts.map +0 -1
  859. package/dist/core/tools/renderers/find.js +0 -64
  860. package/dist/core/tools/renderers/find.js.map +0 -1
  861. package/dist/core/tools/renderers/grep.d.ts +0 -10
  862. package/dist/core/tools/renderers/grep.d.ts.map +0 -1
  863. package/dist/core/tools/renderers/grep.js +0 -69
  864. package/dist/core/tools/renderers/grep.js.map +0 -1
  865. package/dist/core/tools/renderers/index.d.ts +0 -28
  866. package/dist/core/tools/renderers/index.d.ts.map +0 -1
  867. package/dist/core/tools/renderers/index.js +0 -47
  868. package/dist/core/tools/renderers/index.js.map +0 -1
  869. package/dist/core/tools/renderers/ls.d.ts +0 -10
  870. package/dist/core/tools/renderers/ls.d.ts.map +0 -1
  871. package/dist/core/tools/renderers/ls.js +0 -58
  872. package/dist/core/tools/renderers/ls.js.map +0 -1
  873. package/dist/core/tools/renderers/read.d.ts +0 -19
  874. package/dist/core/tools/renderers/read.d.ts.map +0 -1
  875. package/dist/core/tools/renderers/read.js +0 -149
  876. package/dist/core/tools/renderers/read.js.map +0 -1
  877. package/dist/core/tools/renderers/write.d.ts +0 -10
  878. package/dist/core/tools/renderers/write.d.ts.map +0 -1
  879. package/dist/core/tools/renderers/write.js +0 -162
  880. package/dist/core/tools/renderers/write.js.map +0 -1
  881. package/dist/modes/interactive/chat-viewport.d.ts +0 -22
  882. package/dist/modes/interactive/chat-viewport.d.ts.map +0 -1
  883. package/dist/modes/interactive/chat-viewport.js +0 -29
  884. package/dist/modes/interactive/chat-viewport.js.map +0 -1
  885. package/dist/modes/interactive/components/ask-user-answer-key.d.ts +0 -14
  886. package/dist/modes/interactive/components/ask-user-answer-key.d.ts.map +0 -1
  887. package/dist/modes/interactive/components/ask-user-answer-key.js +0 -65
  888. package/dist/modes/interactive/components/ask-user-answer-key.js.map +0 -1
  889. package/dist/modes/interactive/theme/theme-json.d.ts +0 -84
  890. package/dist/modes/interactive/theme/theme-json.d.ts.map +0 -1
  891. package/dist/modes/interactive/theme/theme-json.js +0 -130
  892. package/dist/modes/interactive/theme/theme-json.js.map +0 -1
  893. package/dist/modes/interactive/tui-renderer.d.ts +0 -21
  894. package/dist/modes/interactive/tui-renderer.d.ts.map +0 -1
  895. package/dist/modes/interactive/tui-renderer.js +0 -67
  896. package/dist/modes/interactive/tui-renderer.js.map +0 -1
  897. package/dist/modes/rpc/session-path-reservations.d.ts +0 -30
  898. package/dist/modes/rpc/session-path-reservations.d.ts.map +0 -1
  899. package/dist/modes/rpc/session-path-reservations.js +0 -58
  900. package/dist/modes/rpc/session-path-reservations.js.map +0 -1
  901. package/dist/modes/rpc/session-worker-credit.d.ts +0 -17
  902. package/dist/modes/rpc/session-worker-credit.d.ts.map +0 -1
  903. package/dist/modes/rpc/session-worker-credit.js +0 -39
  904. package/dist/modes/rpc/session-worker-credit.js.map +0 -1
  905. package/dist/modes/rpc/session-worker-signals.d.ts +0 -7
  906. package/dist/modes/rpc/session-worker-signals.d.ts.map +0 -1
  907. package/dist/modes/rpc/session-worker-signals.js +0 -19
  908. package/dist/modes/rpc/session-worker-signals.js.map +0 -1
  909. package/dist/utils/clipboard-command.d.ts +0 -7
  910. package/dist/utils/clipboard-command.d.ts.map +0 -1
  911. package/dist/utils/clipboard-command.js +0 -45
  912. package/dist/utils/clipboard-command.js.map +0 -1
  913. package/examples/plugins/pi-example-plugin/README.md +0 -38
  914. package/examples/plugins/pi-example-plugin/package.json +0 -10
  915. package/examples/plugins/pi-example-plugin/src/contract.ts +0 -13
  916. package/examples/plugins/pi-example-plugin/src/session.ts +0 -23
  917. package/examples/plugins/pi-example-plugin/src/tui.ts +0 -31
  918. package/node_modules/@aws-sdk/core/dist-es/submodules/util/hasOwn.js +0 -3
  919. package/node_modules/@aws-sdk/core/dist-types/submodules/util/hasOwn.d.ts +0 -4
  920. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/util/hasOwn.d.ts +0 -1
  921. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/LICENSE +0 -201
  922. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/README.md +0 -62
  923. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-cjs/index.js +0 -158
  924. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/constants.js +0 -2
  925. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromEnvSigningName.js +0 -16
  926. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromSso.js +0 -84
  927. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromStatic.js +0 -8
  928. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/getNewSsoOidcToken.js +0 -11
  929. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/getSsoOidcClient.js +0 -10
  930. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/index.js +0 -4
  931. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/nodeProvider.js +0 -5
  932. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/validateTokenExpiry.js +0 -7
  933. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/validateTokenKey.js +0 -7
  934. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/writeSSOTokenToFile.js +0 -8
  935. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/constants.d.ts +0 -8
  936. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/fromEnvSigningName.d.ts +0 -18
  937. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/fromSso.d.ts +0 -12
  938. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/fromStatic.d.ts +0 -9
  939. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/getNewSsoOidcToken.d.ts +0 -8
  940. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/getSsoOidcClient.d.ts +0 -7
  941. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/index.d.ts +0 -7
  942. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/nodeProvider.d.ts +0 -18
  943. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/constants.d.ts +0 -3
  944. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/fromEnvSigningName.d.ts +0 -8
  945. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/fromSso.d.ts +0 -10
  946. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/fromStatic.d.ts +0 -5
  947. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/getNewSsoOidcToken.d.ts +0 -9
  948. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/getSsoOidcClient.d.ts +0 -7
  949. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/index.d.ts +0 -7
  950. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/nodeProvider.d.ts +0 -3
  951. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/validateTokenExpiry.d.ts +0 -2
  952. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/validateTokenKey.d.ts +0 -1
  953. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/writeSSOTokenToFile.d.ts +0 -2
  954. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/validateTokenExpiry.d.ts +0 -5
  955. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/validateTokenKey.d.ts +0 -4
  956. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/writeSSOTokenToFile.d.ts +0 -5
  957. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/package.json +0 -69
  958. package/node_modules/@earendil-works/chord/README.md +0 -205
  959. package/node_modules/@earendil-works/chord/dist/api.d.ts +0 -15
  960. package/node_modules/@earendil-works/chord/dist/api.d.ts.map +0 -1
  961. package/node_modules/@earendil-works/chord/dist/api.js +0 -72
  962. package/node_modules/@earendil-works/chord/dist/api.js.map +0 -1
  963. package/node_modules/@earendil-works/chord/dist/bundler.d.ts +0 -6
  964. package/node_modules/@earendil-works/chord/dist/bundler.d.ts.map +0 -1
  965. package/node_modules/@earendil-works/chord/dist/bundler.js +0 -3
  966. package/node_modules/@earendil-works/chord/dist/bundler.js.map +0 -1
  967. package/node_modules/@earendil-works/chord/dist/context/index.d.ts +0 -24
  968. package/node_modules/@earendil-works/chord/dist/context/index.d.ts.map +0 -1
  969. package/node_modules/@earendil-works/chord/dist/context/index.js +0 -97
  970. package/node_modules/@earendil-works/chord/dist/context/index.js.map +0 -1
  971. package/node_modules/@earendil-works/chord/dist/delta/index.d.ts +0 -119
  972. package/node_modules/@earendil-works/chord/dist/delta/index.d.ts.map +0 -1
  973. package/node_modules/@earendil-works/chord/dist/delta/index.js +0 -1209
  974. package/node_modules/@earendil-works/chord/dist/delta/index.js.map +0 -1
  975. package/node_modules/@earendil-works/chord/dist/facets/host.d.ts +0 -12
  976. package/node_modules/@earendil-works/chord/dist/facets/host.d.ts.map +0 -1
  977. package/node_modules/@earendil-works/chord/dist/facets/host.js +0 -762
  978. package/node_modules/@earendil-works/chord/dist/facets/host.js.map +0 -1
  979. package/node_modules/@earendil-works/chord/dist/facets/loader.d.ts +0 -3
  980. package/node_modules/@earendil-works/chord/dist/facets/loader.d.ts.map +0 -1
  981. package/node_modules/@earendil-works/chord/dist/facets/loader.js +0 -5
  982. package/node_modules/@earendil-works/chord/dist/facets/loader.js.map +0 -1
  983. package/node_modules/@earendil-works/chord/dist/index.d.ts +0 -11
  984. package/node_modules/@earendil-works/chord/dist/index.d.ts.map +0 -1
  985. package/node_modules/@earendil-works/chord/dist/index.js +0 -10
  986. package/node_modules/@earendil-works/chord/dist/index.js.map +0 -1
  987. package/node_modules/@earendil-works/chord/dist/json.d.ts +0 -4
  988. package/node_modules/@earendil-works/chord/dist/json.d.ts.map +0 -1
  989. package/node_modules/@earendil-works/chord/dist/json.js +0 -57
  990. package/node_modules/@earendil-works/chord/dist/json.js.map +0 -1
  991. package/node_modules/@earendil-works/chord/dist/node/bundle-loader.d.ts +0 -30
  992. package/node_modules/@earendil-works/chord/dist/node/bundle-loader.d.ts.map +0 -1
  993. package/node_modules/@earendil-works/chord/dist/node/bundle-loader.js +0 -377
  994. package/node_modules/@earendil-works/chord/dist/node/bundle-loader.js.map +0 -1
  995. package/node_modules/@earendil-works/chord/dist/node/bundle.d.ts +0 -26
  996. package/node_modules/@earendil-works/chord/dist/node/bundle.d.ts.map +0 -1
  997. package/node_modules/@earendil-works/chord/dist/node/bundle.js +0 -183
  998. package/node_modules/@earendil-works/chord/dist/node/bundle.js.map +0 -1
  999. package/node_modules/@earendil-works/chord/dist/node/manifest.d.ts +0 -36
  1000. package/node_modules/@earendil-works/chord/dist/node/manifest.d.ts.map +0 -1
  1001. package/node_modules/@earendil-works/chord/dist/node/manifest.js +0 -6
  1002. package/node_modules/@earendil-works/chord/dist/node/manifest.js.map +0 -1
  1003. package/node_modules/@earendil-works/chord/dist/node/package.d.ts +0 -15
  1004. package/node_modules/@earendil-works/chord/dist/node/package.d.ts.map +0 -1
  1005. package/node_modules/@earendil-works/chord/dist/node/package.js +0 -199
  1006. package/node_modules/@earendil-works/chord/dist/node/package.js.map +0 -1
  1007. package/node_modules/@earendil-works/chord/dist/node.d.ts +0 -5
  1008. package/node_modules/@earendil-works/chord/dist/node.d.ts.map +0 -1
  1009. package/node_modules/@earendil-works/chord/dist/node.js +0 -3
  1010. package/node_modules/@earendil-works/chord/dist/node.js.map +0 -1
  1011. package/node_modules/@earendil-works/chord/dist/services/consumer.d.ts +0 -11
  1012. package/node_modules/@earendil-works/chord/dist/services/consumer.d.ts.map +0 -1
  1013. package/node_modules/@earendil-works/chord/dist/services/consumer.js +0 -535
  1014. package/node_modules/@earendil-works/chord/dist/services/consumer.js.map +0 -1
  1015. package/node_modules/@earendil-works/chord/dist/services/errors.d.ts +0 -8
  1016. package/node_modules/@earendil-works/chord/dist/services/errors.d.ts.map +0 -1
  1017. package/node_modules/@earendil-works/chord/dist/services/errors.js +0 -21
  1018. package/node_modules/@earendil-works/chord/dist/services/errors.js.map +0 -1
  1019. package/node_modules/@earendil-works/chord/dist/services/handle.d.ts +0 -15
  1020. package/node_modules/@earendil-works/chord/dist/services/handle.d.ts.map +0 -1
  1021. package/node_modules/@earendil-works/chord/dist/services/handle.js +0 -99
  1022. package/node_modules/@earendil-works/chord/dist/services/handle.js.map +0 -1
  1023. package/node_modules/@earendil-works/chord/dist/services/instances.d.ts +0 -25
  1024. package/node_modules/@earendil-works/chord/dist/services/instances.d.ts.map +0 -1
  1025. package/node_modules/@earendil-works/chord/dist/services/instances.js +0 -137
  1026. package/node_modules/@earendil-works/chord/dist/services/instances.js.map +0 -1
  1027. package/node_modules/@earendil-works/chord/dist/services/loopback.d.ts +0 -5
  1028. package/node_modules/@earendil-works/chord/dist/services/loopback.d.ts.map +0 -1
  1029. package/node_modules/@earendil-works/chord/dist/services/loopback.js +0 -15
  1030. package/node_modules/@earendil-works/chord/dist/services/loopback.js.map +0 -1
  1031. package/node_modules/@earendil-works/chord/dist/services/provider.d.ts +0 -37
  1032. package/node_modules/@earendil-works/chord/dist/services/provider.d.ts.map +0 -1
  1033. package/node_modules/@earendil-works/chord/dist/services/provider.js +0 -472
  1034. package/node_modules/@earendil-works/chord/dist/services/provider.js.map +0 -1
  1035. package/node_modules/@earendil-works/chord/dist/services/state-codec.d.ts +0 -15
  1036. package/node_modules/@earendil-works/chord/dist/services/state-codec.d.ts.map +0 -1
  1037. package/node_modules/@earendil-works/chord/dist/services/state-codec.js +0 -115
  1038. package/node_modules/@earendil-works/chord/dist/services/state-codec.js.map +0 -1
  1039. package/node_modules/@earendil-works/chord/dist/services/state-internals.d.ts +0 -11
  1040. package/node_modules/@earendil-works/chord/dist/services/state-internals.d.ts.map +0 -1
  1041. package/node_modules/@earendil-works/chord/dist/services/state-internals.js +0 -10
  1042. package/node_modules/@earendil-works/chord/dist/services/state-internals.js.map +0 -1
  1043. package/node_modules/@earendil-works/chord/dist/services/state.d.ts +0 -23
  1044. package/node_modules/@earendil-works/chord/dist/services/state.d.ts.map +0 -1
  1045. package/node_modules/@earendil-works/chord/dist/services/state.js +0 -124
  1046. package/node_modules/@earendil-works/chord/dist/services/state.js.map +0 -1
  1047. package/node_modules/@earendil-works/chord/dist/services/wire.d.ts +0 -60
  1048. package/node_modules/@earendil-works/chord/dist/services/wire.d.ts.map +0 -1
  1049. package/node_modules/@earendil-works/chord/dist/services/wire.js +0 -173
  1050. package/node_modules/@earendil-works/chord/dist/services/wire.js.map +0 -1
  1051. package/node_modules/@earendil-works/chord/dist/types.d.ts +0 -203
  1052. package/node_modules/@earendil-works/chord/dist/types.d.ts.map +0 -1
  1053. package/node_modules/@earendil-works/chord/dist/types.js +0 -2
  1054. package/node_modules/@earendil-works/chord/dist/types.js.map +0 -1
  1055. package/node_modules/@earendil-works/chord/package.json +0 -73
  1056. package/node_modules/@earendil-works/pi-agent-core/dist/harness/config.d.ts +0 -9
  1057. package/node_modules/@earendil-works/pi-agent-core/dist/harness/config.d.ts.map +0 -1
  1058. package/node_modules/@earendil-works/pi-agent-core/dist/harness/config.js +0 -35
  1059. package/node_modules/@earendil-works/pi-agent-core/dist/harness/config.js.map +0 -1
  1060. package/node_modules/@earendil-works/pi-agent-core/dist/harness/context.d.ts +0 -9
  1061. package/node_modules/@earendil-works/pi-agent-core/dist/harness/context.d.ts.map +0 -1
  1062. package/node_modules/@earendil-works/pi-agent-core/dist/harness/context.js +0 -13
  1063. package/node_modules/@earendil-works/pi-agent-core/dist/harness/context.js.map +0 -1
  1064. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution/assistant.d.ts +0 -42
  1065. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution/assistant.d.ts.map +0 -1
  1066. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution/assistant.js +0 -82
  1067. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution/assistant.js.map +0 -1
  1068. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution/effect-gate.d.ts +0 -22
  1069. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution/effect-gate.d.ts.map +0 -1
  1070. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution/effect-gate.js +0 -48
  1071. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution/effect-gate.js.map +0 -1
  1072. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution/tools.d.ts +0 -67
  1073. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution/tools.d.ts.map +0 -1
  1074. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution/tools.js +0 -121
  1075. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution/tools.js.map +0 -1
  1076. package/node_modules/@earendil-works/pi-agent-core/dist/harness/hooks.d.ts +0 -38
  1077. package/node_modules/@earendil-works/pi-agent-core/dist/harness/hooks.d.ts.map +0 -1
  1078. package/node_modules/@earendil-works/pi-agent-core/dist/harness/hooks.js +0 -404
  1079. package/node_modules/@earendil-works/pi-agent-core/dist/harness/hooks.js.map +0 -1
  1080. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/boundary.d.ts +0 -28
  1081. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/boundary.d.ts.map +0 -1
  1082. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/boundary.js +0 -173
  1083. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/boundary.js.map +0 -1
  1084. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/checkpoint.d.ts +0 -8
  1085. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/checkpoint.d.ts.map +0 -1
  1086. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/checkpoint.js +0 -133
  1087. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/checkpoint.js.map +0 -1
  1088. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/deferred.d.ts +0 -15
  1089. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/deferred.d.ts.map +0 -1
  1090. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/deferred.js +0 -179
  1091. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/deferred.js.map +0 -1
  1092. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/generation.d.ts +0 -8
  1093. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/generation.d.ts.map +0 -1
  1094. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/generation.js +0 -205
  1095. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/generation.js.map +0 -1
  1096. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/reconcile.d.ts +0 -5
  1097. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/reconcile.d.ts.map +0 -1
  1098. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/reconcile.js +0 -140
  1099. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/reconcile.js.map +0 -1
  1100. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/recovery.d.ts +0 -8
  1101. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/recovery.d.ts.map +0 -1
  1102. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/recovery.js +0 -85
  1103. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/recovery.js.map +0 -1
  1104. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/response.d.ts +0 -23
  1105. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/response.d.ts.map +0 -1
  1106. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/response.js +0 -394
  1107. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/response.js.map +0 -1
  1108. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/retry.d.ts +0 -4
  1109. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/retry.d.ts.map +0 -1
  1110. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/retry.js +0 -34
  1111. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/retry.js.map +0 -1
  1112. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/structural.d.ts +0 -32
  1113. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/structural.d.ts.map +0 -1
  1114. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/structural.js +0 -929
  1115. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/structural.js.map +0 -1
  1116. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/terminal.d.ts +0 -7
  1117. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/terminal.d.ts.map +0 -1
  1118. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/terminal.js +0 -49
  1119. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/terminal.js.map +0 -1
  1120. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/tool-placement.d.ts +0 -14
  1121. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/tool-placement.d.ts.map +0 -1
  1122. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/tool-placement.js +0 -244
  1123. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/tool-placement.js.map +0 -1
  1124. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/tools.d.ts +0 -6
  1125. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/tools.d.ts.map +0 -1
  1126. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/tools.js +0 -449
  1127. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive/tools.js.map +0 -1
  1128. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive.d.ts +0 -6
  1129. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive.d.ts.map +0 -1
  1130. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive.js +0 -93
  1131. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/drive.js.map +0 -1
  1132. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/harness.d.ts +0 -59
  1133. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/harness.d.ts.map +0 -1
  1134. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/harness.js +0 -302
  1135. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/harness.js.map +0 -1
  1136. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/index.d.ts +0 -2
  1137. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/index.d.ts.map +0 -1
  1138. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/index.js +0 -2
  1139. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/index.js.map +0 -1
  1140. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/lane.d.ts +0 -118
  1141. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/lane.d.ts.map +0 -1
  1142. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/lane.js +0 -1559
  1143. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/lane.js.map +0 -1
  1144. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/progress.d.ts +0 -15
  1145. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/progress.d.ts.map +0 -1
  1146. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/progress.js +0 -66
  1147. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/progress.js.map +0 -1
  1148. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/reducer.d.ts +0 -5
  1149. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/reducer.d.ts.map +0 -1
  1150. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/reducer.js +0 -240
  1151. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/reducer.js.map +0 -1
  1152. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/restore.d.ts +0 -24
  1153. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/restore.d.ts.map +0 -1
  1154. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/restore.js +0 -117
  1155. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/restore.js.map +0 -1
  1156. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/transcript.d.ts +0 -21
  1157. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/transcript.d.ts.map +0 -1
  1158. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/transcript.js +0 -72
  1159. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/transcript.js.map +0 -1
  1160. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/types.d.ts +0 -105
  1161. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/types.d.ts.map +0 -1
  1162. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/types.js +0 -50
  1163. package/node_modules/@earendil-works/pi-agent-core/dist/harness/runtime/types.js.map +0 -1
  1164. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/commit.d.ts +0 -53
  1165. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/commit.d.ts.map +0 -1
  1166. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/commit.js +0 -57
  1167. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/commit.js.map +0 -1
  1168. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/fork-policy.d.ts +0 -21
  1169. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/fork-policy.d.ts.map +0 -1
  1170. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/fork-policy.js +0 -55
  1171. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/fork-policy.js.map +0 -1
  1172. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/fork.d.ts +0 -16
  1173. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/fork.d.ts.map +0 -1
  1174. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/fork.js +0 -79
  1175. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/fork.js.map +0 -1
  1176. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/in-memory-storage-state.d.ts +0 -39
  1177. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/in-memory-storage-state.d.ts.map +0 -1
  1178. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/in-memory-storage-state.js +0 -269
  1179. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/in-memory-storage-state.js.map +0 -1
  1180. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/fork.d.ts +0 -38
  1181. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/fork.d.ts.map +0 -1
  1182. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/fork.js +0 -266
  1183. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/fork.js.map +0 -1
  1184. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/index.d.ts +0 -4
  1185. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/index.d.ts.map +0 -1
  1186. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/index.js +0 -4
  1187. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/index.js.map +0 -1
  1188. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/io.d.ts +0 -14
  1189. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/io.d.ts.map +0 -1
  1190. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/io.js +0 -86
  1191. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/io.js.map +0 -1
  1192. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/legacy-v3.d.ts +0 -44
  1193. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/legacy-v3.d.ts.map +0 -1
  1194. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/legacy-v3.js +0 -454
  1195. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/legacy-v3.js.map +0 -1
  1196. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/mutation-line.d.ts +0 -8
  1197. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/mutation-line.d.ts.map +0 -1
  1198. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/mutation-line.js +0 -22
  1199. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/mutation-line.js.map +0 -1
  1200. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/benchmark/datasets.d.ts +0 -12
  1201. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/benchmark/datasets.d.ts.map +0 -1
  1202. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/benchmark/datasets.js +0 -24
  1203. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/benchmark/datasets.js.map +0 -1
  1204. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/benchmark/session-repo.d.ts +0 -42
  1205. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/benchmark/session-repo.d.ts.map +0 -1
  1206. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/benchmark/session-repo.js +0 -127
  1207. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/benchmark/session-repo.js.map +0 -1
  1208. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/benchmark/storage.d.ts +0 -25
  1209. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/benchmark/storage.d.ts.map +0 -1
  1210. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/benchmark/storage.js +0 -114
  1211. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/benchmark/storage.js.map +0 -1
  1212. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/conformance/session-repo.d.ts +0 -23
  1213. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/conformance/session-repo.d.ts.map +0 -1
  1214. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/conformance/session-repo.js +0 -809
  1215. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/conformance/session-repo.js.map +0 -1
  1216. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/conformance/storage.d.ts +0 -4
  1217. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/conformance/storage.d.ts.map +0 -1
  1218. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/conformance/storage.js +0 -600
  1219. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/conformance/storage.js.map +0 -1
  1220. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/gating-storage.d.ts +0 -26
  1221. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/gating-storage.d.ts.map +0 -1
  1222. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/gating-storage.js +0 -103
  1223. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/gating-storage.js.map +0 -1
  1224. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/instrumented-storage.d.ts +0 -11
  1225. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/instrumented-storage.d.ts.map +0 -1
  1226. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/instrumented-storage.js +0 -19
  1227. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/instrumented-storage.js.map +0 -1
  1228. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/storage-decorator.d.ts +0 -20
  1229. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/storage-decorator.d.ts.map +0 -1
  1230. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/storage-decorator.js +0 -40
  1231. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/storage-decorator.js.map +0 -1
  1232. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/values.d.ts +0 -95
  1233. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/values.d.ts.map +0 -1
  1234. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/values.js +0 -81
  1235. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/values.js.map +0 -1
  1236. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/adaptive-publisher.d.ts +0 -24
  1237. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/adaptive-publisher.d.ts.map +0 -1
  1238. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/adaptive-publisher.js +0 -79
  1239. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/adaptive-publisher.js.map +0 -1
  1240. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/output-capture.d.ts +0 -31
  1241. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/output-capture.d.ts.map +0 -1
  1242. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/output-capture.js +0 -217
  1243. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/output-capture.js.map +0 -1
  1244. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/usage.d.ts +0 -4
  1245. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/usage.d.ts.map +0 -1
  1246. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/usage.js +0 -33
  1247. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/usage.js.map +0 -1
  1248. package/node_modules/@earendil-works/pi-ai/dist/api/cloudflare-ai-binding.d.ts +0 -77
  1249. package/node_modules/@earendil-works/pi-ai/dist/api/cloudflare-ai-binding.d.ts.map +0 -1
  1250. package/node_modules/@earendil-works/pi-ai/dist/api/cloudflare-ai-binding.js +0 -72
  1251. package/node_modules/@earendil-works/pi-ai/dist/api/cloudflare-ai-binding.js.map +0 -1
  1252. package/node_modules/@earendil-works/pi-ai/dist/cursor/context-limit-store.d.ts +0 -32
  1253. package/node_modules/@earendil-works/pi-ai/dist/cursor/context-limit-store.d.ts.map +0 -1
  1254. package/node_modules/@earendil-works/pi-ai/dist/cursor/context-limit-store.js +0 -62
  1255. package/node_modules/@earendil-works/pi-ai/dist/cursor/context-limit-store.js.map +0 -1
  1256. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-headers.d.ts +0 -4
  1257. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-headers.d.ts.map +0 -1
  1258. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-headers.js +0 -22
  1259. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-headers.js.map +0 -1
  1260. package/node_modules/@earendil-works/pi-ai/dist/utils/assistant-message-frame.d.ts +0 -77
  1261. package/node_modules/@earendil-works/pi-ai/dist/utils/assistant-message-frame.d.ts.map +0 -1
  1262. package/node_modules/@earendil-works/pi-ai/dist/utils/assistant-message-frame.js +0 -427
  1263. package/node_modules/@earendil-works/pi-ai/dist/utils/assistant-message-frame.js.map +0 -1
  1264. package/node_modules/@earendil-works/pi-ai/dist/utils/cursor-context-limit.d.ts +0 -12
  1265. package/node_modules/@earendil-works/pi-ai/dist/utils/cursor-context-limit.d.ts.map +0 -1
  1266. package/node_modules/@earendil-works/pi-ai/dist/utils/cursor-context-limit.js +0 -93
  1267. package/node_modules/@earendil-works/pi-ai/dist/utils/cursor-context-limit.js.map +0 -1
  1268. package/node_modules/@earendil-works/pi-tui/dist/components/mouse-region.d.ts +0 -12
  1269. package/node_modules/@earendil-works/pi-tui/dist/components/mouse-region.d.ts.map +0 -1
  1270. package/node_modules/@earendil-works/pi-tui/dist/components/mouse-region.js +0 -19
  1271. package/node_modules/@earendil-works/pi-tui/dist/components/mouse-region.js.map +0 -1
  1272. package/node_modules/@earendil-works/pi-tui/dist/native-platform.d.ts +0 -18
  1273. package/node_modules/@earendil-works/pi-tui/dist/native-platform.d.ts.map +0 -1
  1274. package/node_modules/@earendil-works/pi-tui/dist/native-platform.js +0 -42
  1275. package/node_modules/@earendil-works/pi-tui/dist/native-platform.js.map +0 -1
  1276. package/node_modules/@earendil-works/pi-tui/native/clipboard.h +0 -170
  1277. package/node_modules/@earendil-works/pi-tui/native/darwin/src/darwin-platform.m +0 -93
  1278. package/node_modules/@earendil-works/pi-tui/native/linux/README.md +0 -23
  1279. package/node_modules/@earendil-works/pi-tui/native/linux/build.sh +0 -65
  1280. package/node_modules/@earendil-works/pi-tui/native/linux/prebuilds/linux-arm64/linux-platform-x11.node +0 -0
  1281. package/node_modules/@earendil-works/pi-tui/native/linux/prebuilds/linux-x64/linux-platform-x11.node +0 -0
  1282. package/node_modules/@earendil-works/pi-tui/native/linux/src/clipboard-worker.h +0 -70
  1283. package/node_modules/@earendil-works/pi-tui/native/linux/src/linux-platform-x11.c +0 -274
  1284. package/node_modules/@earendil-works/pi-tui/native/napi.h +0 -89
  1285. package/node_modules/@earendil-works/pi-tui/native/win32/prebuilds/win32-arm64/win32-platform.node +0 -0
  1286. package/node_modules/@earendil-works/pi-tui/native/win32/prebuilds/win32-x64/win32-platform.node +0 -0
  1287. package/node_modules/@earendil-works/pi-tui/native/win32/src/win32-platform.c +0 -241
  1288. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/LICENSE +0 -201
  1289. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/README.md +0 -115
  1290. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-cjs/index.js +0 -96
  1291. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/abort-handler.js +0 -1
  1292. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/abort.js +0 -1
  1293. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/auth/HttpApiKeyAuth.js +0 -5
  1294. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/auth/HttpAuthScheme.js +0 -1
  1295. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/auth/HttpAuthSchemeProvider.js +0 -1
  1296. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/auth/HttpSigner.js +0 -1
  1297. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/auth/IdentityProviderConfig.js +0 -1
  1298. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/auth/auth.js +0 -5
  1299. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/auth/index.js +0 -2
  1300. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/blob/blob-payload-input-types.js +0 -1
  1301. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/checksum.js +0 -1
  1302. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/client.js +0 -1
  1303. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/command.js +0 -1
  1304. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/connection/config.js +0 -1
  1305. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/connection/index.js +0 -1
  1306. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/connection/manager.js +0 -1
  1307. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/connection/pool.js +0 -1
  1308. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/crypto.js +0 -1
  1309. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/downlevel-ts3.4/transform/type-transform.js +0 -1
  1310. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/encode.js +0 -1
  1311. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/endpoint.js +0 -5
  1312. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/endpoints/EndpointParameterInstructions.js +0 -1
  1313. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/endpoints/EndpointRuleObject.js +0 -1
  1314. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/endpoints/ErrorRuleObject.js +0 -1
  1315. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/endpoints/RuleSetObject.js +0 -1
  1316. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/endpoints/TreeRuleObject.js +0 -1
  1317. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/endpoints/index.js +0 -1
  1318. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/endpoints/shared.js +0 -1
  1319. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/eventStream.js +0 -1
  1320. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/extensions/checksum.js +0 -38
  1321. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/extensions/defaultClientConfiguration.js +0 -7
  1322. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/extensions/defaultExtensionConfiguration.js +0 -1
  1323. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/extensions/index.js +0 -2
  1324. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/extensions/retry.js +0 -1
  1325. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/externals-check/browser-externals-check.js +0 -1
  1326. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/feature-ids.js +0 -1
  1327. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/http/httpHandlerInitialization.js +0 -1
  1328. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/http.js +0 -5
  1329. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/identity/apiKeyIdentity.js +0 -1
  1330. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/identity/awsCredentialIdentity.js +0 -1
  1331. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/identity/identity.js +0 -1
  1332. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/identity/index.js +0 -1
  1333. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/identity/tokenIdentity.js +0 -1
  1334. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/index.js +0 -7
  1335. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/logger.js +0 -1
  1336. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/metrics.js +0 -1
  1337. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/middleware.js +0 -1
  1338. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/pagination.js +0 -1
  1339. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/profile.js +0 -6
  1340. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/response.js +0 -1
  1341. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/retry.js +0 -1
  1342. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/schema/schema-deprecated.js +0 -1
  1343. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/schema/schema.js +0 -1
  1344. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/schema/sentinels.js +0 -1
  1345. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/schema/static-schemas.js +0 -1
  1346. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/schema/traits.js +0 -1
  1347. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/serde.js +0 -1
  1348. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/shapes.js +0 -1
  1349. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/signature.js +0 -1
  1350. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/stream.js +0 -1
  1351. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/streaming-payload/streaming-blob-common-types.js +0 -1
  1352. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/streaming-payload/streaming-blob-payload-input-types.js +0 -1
  1353. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/streaming-payload/streaming-blob-payload-output-types.js +0 -1
  1354. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/transfer.js +0 -6
  1355. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/transform/client-method-transforms.js +0 -1
  1356. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/transform/client-payload-blob-type-narrow.js +0 -1
  1357. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/transform/exact.js +0 -1
  1358. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/transform/mutable.js +0 -1
  1359. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/transform/no-undefined.js +0 -1
  1360. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/transform/type-transform.js +0 -1
  1361. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/uri.js +0 -1
  1362. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/util.js +0 -1
  1363. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-es/waiter.js +0 -1
  1364. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/abort-handler.d.ts +0 -7
  1365. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/abort.d.ts +0 -48
  1366. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/auth/HttpApiKeyAuth.d.ts +0 -7
  1367. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/auth/HttpAuthScheme.d.ts +0 -49
  1368. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/auth/HttpAuthSchemeProvider.d.ts +0 -20
  1369. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/auth/HttpSigner.d.ts +0 -41
  1370. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/auth/IdentityProviderConfig.d.ts +0 -14
  1371. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/auth/auth.d.ts +0 -59
  1372. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/auth/index.d.ts +0 -7
  1373. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/blob/blob-payload-input-types.d.ts +0 -37
  1374. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/checksum.d.ts +0 -61
  1375. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/client.d.ts +0 -57
  1376. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/command.d.ts +0 -28
  1377. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/connection/config.d.ts +0 -15
  1378. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/connection/index.d.ts +0 -3
  1379. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/connection/manager.d.ts +0 -34
  1380. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/connection/pool.d.ts +0 -32
  1381. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/crypto.d.ts +0 -58
  1382. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/downlevel-ts3.4/transform/type-transform.d.ts +0 -24
  1383. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/encode.d.ts +0 -31
  1384. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/endpoint.d.ts +0 -77
  1385. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/endpoints/EndpointParameterInstructions.d.ts +0 -41
  1386. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/endpoints/EndpointRuleObject.d.ts +0 -27
  1387. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/endpoints/ErrorRuleObject.d.ts +0 -10
  1388. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/endpoints/RuleSetObject.d.ts +0 -28
  1389. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/endpoints/TreeRuleObject.d.ts +0 -16
  1390. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/endpoints/index.d.ts +0 -5
  1391. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/endpoints/shared.d.ts +0 -55
  1392. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/eventStream.d.ts +0 -137
  1393. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/extensions/checksum.d.ts +0 -58
  1394. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/extensions/defaultClientConfiguration.d.ts +0 -32
  1395. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/extensions/defaultExtensionConfiguration.d.ts +0 -9
  1396. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/extensions/index.d.ts +0 -6
  1397. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/extensions/retry.d.ts +0 -18
  1398. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/externals-check/browser-externals-check.d.ts +0 -35
  1399. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/feature-ids.d.ts +0 -16
  1400. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/http/httpHandlerInitialization.d.ts +0 -142
  1401. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/http.d.ts +0 -110
  1402. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/identity/apiKeyIdentity.d.ts +0 -14
  1403. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/identity/awsCredentialIdentity.d.ts +0 -31
  1404. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/identity/identity.d.ts +0 -15
  1405. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/identity/index.d.ts +0 -4
  1406. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/identity/tokenIdentity.d.ts +0 -14
  1407. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/index.d.ts +0 -52
  1408. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/logger.d.ts +0 -13
  1409. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/metrics.d.ts +0 -93
  1410. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/middleware.d.ts +0 -541
  1411. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/pagination.d.ts +0 -33
  1412. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/profile.d.ts +0 -30
  1413. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/response.d.ts +0 -40
  1414. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/retry.d.ts +0 -162
  1415. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/schema/schema-deprecated.d.ts +0 -143
  1416. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/schema/schema.d.ts +0 -236
  1417. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/schema/sentinels.d.ts +0 -65
  1418. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/schema/static-schemas.d.ts +0 -99
  1419. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/schema/traits.d.ts +0 -46
  1420. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/serde.d.ts +0 -114
  1421. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/shapes.d.ts +0 -79
  1422. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/signature.d.ts +0 -172
  1423. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/stream.d.ts +0 -22
  1424. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-common-types.d.ts +0 -28
  1425. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-payload-input-types.d.ts +0 -54
  1426. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-payload-output-types.d.ts +0 -41
  1427. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/transfer.d.ts +0 -42
  1428. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/transform/client-method-transforms.d.ts +0 -26
  1429. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/transform/client-payload-blob-type-narrow.d.ts +0 -73
  1430. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/transform/exact.d.ts +0 -6
  1431. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/transform/mutable.d.ts +0 -6
  1432. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/transform/no-undefined.d.ts +0 -68
  1433. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/transform/type-transform.d.ts +0 -39
  1434. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/abort-handler.d.ts +0 -7
  1435. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/abort.d.ts +0 -45
  1436. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/auth/HttpApiKeyAuth.d.ts +0 -7
  1437. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/auth/HttpAuthScheme.d.ts +0 -49
  1438. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/auth/HttpAuthSchemeProvider.d.ts +0 -20
  1439. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/auth/HttpSigner.d.ts +0 -41
  1440. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/auth/IdentityProviderConfig.d.ts +0 -14
  1441. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/auth/auth.d.ts +0 -59
  1442. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/auth/index.d.ts +0 -7
  1443. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/blob/blob-payload-input-types.d.ts +0 -37
  1444. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/checksum.d.ts +0 -61
  1445. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/client.d.ts +0 -57
  1446. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/command.d.ts +0 -28
  1447. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/connection/config.d.ts +0 -15
  1448. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/connection/index.d.ts +0 -3
  1449. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/connection/manager.d.ts +0 -34
  1450. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/connection/pool.d.ts +0 -32
  1451. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/crypto.d.ts +0 -58
  1452. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/downlevel-ts3.4/transform/type-transform.d.ts +0 -40
  1453. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/encode.d.ts +0 -31
  1454. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/endpoint.d.ts +0 -77
  1455. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/endpoints/EndpointParameterInstructions.d.ts +0 -41
  1456. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/endpoints/EndpointRuleObject.d.ts +0 -27
  1457. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/endpoints/ErrorRuleObject.d.ts +0 -10
  1458. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/endpoints/RuleSetObject.d.ts +0 -28
  1459. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/endpoints/TreeRuleObject.d.ts +0 -16
  1460. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/endpoints/index.d.ts +0 -5
  1461. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/endpoints/shared.d.ts +0 -55
  1462. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/eventStream.d.ts +0 -137
  1463. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/extensions/checksum.d.ts +0 -58
  1464. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/extensions/defaultClientConfiguration.d.ts +0 -32
  1465. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/extensions/defaultExtensionConfiguration.d.ts +0 -9
  1466. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/extensions/index.d.ts +0 -6
  1467. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/extensions/retry.d.ts +0 -18
  1468. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/externals-check/browser-externals-check.d.ts +0 -35
  1469. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/feature-ids.d.ts +0 -16
  1470. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/http/httpHandlerInitialization.d.ts +0 -142
  1471. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/http.d.ts +0 -110
  1472. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/identity/apiKeyIdentity.d.ts +0 -14
  1473. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/identity/awsCredentialIdentity.d.ts +0 -31
  1474. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/identity/identity.d.ts +0 -15
  1475. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/identity/index.d.ts +0 -4
  1476. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/identity/tokenIdentity.d.ts +0 -14
  1477. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/index.d.ts +0 -52
  1478. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/logger.d.ts +0 -13
  1479. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/metrics.d.ts +0 -93
  1480. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/middleware.d.ts +0 -541
  1481. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/pagination.d.ts +0 -33
  1482. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/profile.d.ts +0 -30
  1483. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/response.d.ts +0 -40
  1484. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/retry.d.ts +0 -162
  1485. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/schema/schema-deprecated.d.ts +0 -149
  1486. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/schema/schema.d.ts +0 -251
  1487. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/schema/sentinels.d.ts +0 -65
  1488. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/schema/static-schemas.d.ts +0 -118
  1489. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/schema/traits.d.ts +0 -46
  1490. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/serde.d.ts +0 -114
  1491. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/shapes.d.ts +0 -79
  1492. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/signature.d.ts +0 -172
  1493. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/stream.d.ts +0 -22
  1494. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/streaming-payload/streaming-blob-common-types.d.ts +0 -28
  1495. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/streaming-payload/streaming-blob-payload-input-types.d.ts +0 -54
  1496. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/streaming-payload/streaming-blob-payload-output-types.d.ts +0 -41
  1497. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/transfer.d.ts +0 -42
  1498. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/transform/client-method-transforms.d.ts +0 -26
  1499. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/transform/client-payload-blob-type-narrow.d.ts +0 -77
  1500. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/transform/exact.d.ts +0 -14
  1501. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/transform/mutable.d.ts +0 -6
  1502. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/transform/no-undefined.d.ts +0 -88
  1503. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/transform/type-transform.d.ts +0 -40
  1504. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/uri.d.ts +0 -17
  1505. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/util.d.ts +0 -192
  1506. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/ts3.4/waiter.d.ts +0 -35
  1507. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/uri.d.ts +0 -17
  1508. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/util.d.ts +0 -176
  1509. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/dist-types/waiter.d.ts +0 -35
  1510. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/types/package.json +0 -50
  1511. package/node_modules/esbuild/LICENSE.md +0 -21
  1512. package/node_modules/esbuild/README.md +0 -3
  1513. package/node_modules/esbuild/bin/esbuild +0 -223
  1514. package/node_modules/esbuild/install.js +0 -300
  1515. package/node_modules/esbuild/lib/main.d.ts +0 -720
  1516. package/node_modules/esbuild/lib/main.js +0 -2536
  1517. package/node_modules/esbuild/package.json +0 -47
  1518. package/node_modules/typebox/build/schema/intern/index.d.mts +0 -1
  1519. package/node_modules/typebox/build/schema/intern/index.mjs +0 -1
  1520. package/node_modules/typebox/build/schema/intern/intern.d.mts +0 -14
  1521. package/node_modules/typebox/build/schema/intern/intern.mjs +0 -259
  1522. package/vendor/pi-protocol/protocol.d.ts +0 -167
  1523. package/vendor/pi-protocol/protocol.d.ts.map +0 -1
  1524. package/vendor/pi-protocol/protocol.js +0 -85
  1525. package/vendor/pi-protocol/protocol.js.map +0 -1
@@ -1,297 +1,172 @@
1
- import { uuidv7 } from "@earendil-works/pi-ai/utils/uuid";
2
- import { StorageBackedSession } from "../session.js";
3
- import { parseJsonlSessionHeader } from "./codec.js";
4
- import { runJsonlFork } from "./fork.js";
5
- import { fileValue } from "./io.js";
6
- import { LegacyV3Source, metadataFromLegacyV3Header } from "./legacy-v3.js";
7
- import { JsonlStorage } from "./storage.js";
8
- import { JSONL_FORMAT_VERSION, JSONL_STORAGE_VERSION, } from "./types.js";
9
- function metadataFromHeader(header, path, modifiedAt) {
10
- return {
11
- id: header.id,
12
- createdAt: header.createdAt,
13
- storageVersion: header.storageVersion,
14
- cwd: header.cwd,
15
- path,
16
- modifiedAt,
17
- ...(header.parentSessionId === undefined ? {} : { parentSessionId: header.parentSessionId }),
18
- ...(header.legacyParentSessionPath === undefined
19
- ? {}
20
- : { legacyParentSessionPath: header.legacyParentSessionPath }),
21
- };
1
+ import { uuidv7 } from "@earendil-works/pi-ai";
2
+ import { assertJsonSerializable, Session } from "../session.js";
3
+ import { SessionError } from "../types.js";
4
+ import { metadataFromHeader, parseHeader } from "./codec.js";
5
+ import { fileResult } from "./errors.js";
6
+ import { JsonlSessionStorage } from "./storage.js";
7
+ const SESSION_ID_PATTERN = /^[A-Za-z0-9](?:[A-Za-z0-9._-]*[A-Za-z0-9])?$/;
8
+ function validateSessionId(id) {
9
+ if (!SESSION_ID_PATTERN.test(id)) {
10
+ throw new SessionError("invalid_payload", "Session id must be non-empty, contain only alphanumeric characters, '-', '_', and '.', and start and end with an alphanumeric character");
11
+ }
22
12
  }
23
- function sessionDirectoryName(cwd) {
13
+ function jsonlSessionDirectoryName(cwd) {
24
14
  return `--${cwd.replace(/^[/\\]/, "").replace(/[/\\:]/g, "-")}--`;
25
15
  }
26
- function sessionFileName(createdAt, id) {
27
- const timestamp = new Date(createdAt).toISOString().replace(/[:.]/g, "-");
28
- return `${timestamp}_${encodeURIComponent(id)}.jsonl`;
16
+ async function jsonlSessionsRoot(options) {
17
+ return fileResult(await options.fs.absolutePath(options.sessionsRoot), `Failed to resolve sessions root ${options.sessionsRoot}`);
29
18
  }
30
- /** File-backed format-4 session repository lifecycle. */
31
- export class JsonlSessionRepo {
32
- constructor(options) {
33
- this.openSessions = new Map();
34
- this.pendingCreates = new Set();
35
- this.closed = false;
36
- this.fileSystem = options.fileSystem;
37
- this.sessionsRootInput = options.sessionsRoot;
38
- this.now = options.now ?? Date.now;
39
- }
40
- async create(options, context) {
41
- this.assertOpen();
42
- const createdAt = this.now();
43
- const { cwd, id } = await this.resolveCreateDestination(options.cwd, options.id, createdAt, context);
44
- const key = this.sessionKey(cwd, id);
45
- if (this.openSessions.has(key) || this.pendingCreates.has(key))
46
- throw new Error(`Session already exists: ${id}`);
47
- this.pendingCreates.add(key);
48
- let path;
49
- let storage;
50
- try {
51
- path = await this.resolveNewSessionPath(cwd, createdAt, id, context);
52
- const header = {
53
- v: JSONL_FORMAT_VERSION,
54
- kind: "header",
55
- id,
56
- storageVersion: JSONL_STORAGE_VERSION,
57
- createdAt,
58
- cwd,
59
- ...(options.parentSessionId === undefined ? {} : { parentSessionId: options.parentSessionId }),
60
- };
61
- storage = await JsonlStorage.create({ fileSystem: this.fileSystem, path, now: this.now }, header, [], context);
62
- const info = fileValue(await this.fileSystem.fileInfo(path, context), `Failed to read session ${path}`);
63
- return this.publishOpenSession(metadataFromHeader(header, path, info.mtimeMs), storage, key);
64
- }
65
- catch (error) {
66
- await storage?.close(context).catch(() => undefined);
67
- if (path !== undefined)
68
- await this.fileSystem.remove(path, { force: true }, context);
69
- throw error;
70
- }
71
- finally {
72
- this.pendingCreates.delete(key);
73
- }
74
- }
75
- async open(metadata, context) {
76
- this.assertOpen();
77
- const key = this.sessionKey(metadata.cwd, metadata.id);
78
- if (this.openSessions.has(key))
79
- throw new Error(`Session is already open: ${metadata.id}`);
80
- let storage;
81
- try {
82
- storage = await this.loadStorage(metadata, context);
83
- return this.publishOpenSession(metadata, storage, key);
84
- }
85
- catch (error) {
86
- await storage?.close(context);
87
- throw error;
88
- }
89
- }
90
- async list(options, context) {
91
- options ??= {};
92
- this.assertOpen();
93
- const cwd = options.cwd === undefined
94
- ? undefined
95
- : fileValue(await this.fileSystem.absolutePath(options.cwd, context), `Failed to resolve session cwd ${options.cwd}`);
96
- const root = await this.root(context);
97
- if (!fileValue(await this.fileSystem.exists(root, context), `Failed to check sessions root ${root}`))
98
- return [];
99
- const directories = cwd === undefined ? await this.sessionDirectories(root, context) : [await this.sessionDirectory(cwd, context)];
100
- const metadata = [];
101
- for (const directory of directories)
102
- metadata.push(...(await this.listDirectory(directory, cwd, context)));
103
- return metadata.sort((left, right) => right.createdAt - left.createdAt || left.id.localeCompare(right.id) || left.cwd.localeCompare(right.cwd));
104
- }
105
- async delete(metadata, context) {
106
- this.assertOpen();
107
- const key = this.sessionKey(metadata.cwd, metadata.id);
108
- if (this.openSessions.has(key))
109
- throw new Error(`Session is open: ${metadata.id}`);
110
- if (!fileValue(await this.fileSystem.exists(metadata.path, context), `Failed to check session ${metadata.path}`)) {
111
- throw new Error(`Session file does not exist: ${metadata.path}`);
112
- }
113
- fileValue(await this.fileSystem.remove(metadata.path, undefined, context), `Failed to delete session ${metadata.path}`);
114
- }
115
- async fork(source, options, context) {
116
- this.assertOpen();
117
- const createdAt = this.now();
118
- const cwd = source.cwd;
119
- const id = options.id ?? uuidv7(createdAt);
120
- const destinationKey = this.sessionKey(cwd, id);
121
- if (this.openSessions.has(destinationKey) || this.pendingCreates.has(destinationKey)) {
122
- throw new Error(`Session already exists: ${id}`);
123
- }
124
- this.pendingCreates.add(destinationKey);
125
- const sourceStorage = this.openSessions.get(this.sessionKey(source.cwd, source.id));
126
- let path;
127
- let storage;
128
- try {
129
- const input = await this.resolveForkInput(source, sourceStorage, context);
130
- path = await this.resolveNewSessionPath(cwd, createdAt, id, context);
131
- const header = {
132
- v: JSONL_FORMAT_VERSION,
133
- kind: "header",
134
- id,
135
- storageVersion: JSONL_STORAGE_VERSION,
136
- createdAt,
137
- cwd,
138
- parentSessionId: source.id,
139
- };
140
- await runJsonlFork({
141
- input,
142
- fileSystem: this.fileSystem,
143
- destinationPath: path,
144
- destinationHeader: header,
145
- fork: options,
146
- }, context);
147
- storage = await JsonlStorage.open({ fileSystem: this.fileSystem, path, now: this.now }, context);
148
- const info = fileValue(await this.fileSystem.fileInfo(path, context), `Failed to read session ${path}`);
149
- return this.publishOpenSession(metadataFromHeader(header, path, info.mtimeMs), storage, destinationKey);
150
- }
151
- catch (error) {
152
- await storage?.close(context).catch(() => undefined);
153
- if (path !== undefined)
154
- await this.fileSystem.remove(path, { force: true }, context);
155
- throw error;
156
- }
157
- finally {
158
- this.pendingCreates.delete(destinationKey);
159
- }
160
- }
161
- close(_context) {
162
- if (this.closePromise !== undefined)
163
- return this.closePromise;
164
- this.closed = true;
165
- // TODO: Define ownership semantics before deciding whether repository close should close session handles.
166
- this.closePromise = Promise.resolve();
167
- return this.closePromise;
168
- }
169
- async resolveCreateDestination(cwdInput, id, createdAt, context) {
170
- const destinationId = id ?? uuidv7(createdAt);
171
- const cwd = fileValue(await this.fileSystem.absolutePath(cwdInput, context), `Failed to resolve session cwd ${cwdInput}`);
172
- return { cwd, id: destinationId };
173
- }
174
- async listDirectory(directory, cwd, context) {
175
- if (!fileValue(await this.fileSystem.exists(directory, context), `Failed to check sessions directory ${directory}`)) {
176
- return [];
177
- }
178
- const files = fileValue(await this.fileSystem.listDir(directory, context), `Failed to list sessions directory ${directory}`).filter((file) => file.kind !== "directory" && file.name.endsWith(".jsonl"));
179
- const metadata = [];
19
+ async function jsonlSessionDirectory(fs, sessionsRoot, cwd) {
20
+ return fileResult(await fs.joinPath([sessionsRoot, jsonlSessionDirectoryName(cwd)]), `Failed to resolve sessions directory for ${cwd}`);
21
+ }
22
+ async function jsonlSessionDirectories(options, cwd) {
23
+ const sessionsRoot = await jsonlSessionsRoot(options);
24
+ if (cwd !== undefined) {
25
+ const resolvedCwd = fileResult(await options.fs.absolutePath(cwd), `Failed to resolve session cwd ${cwd}`);
26
+ const directory = await jsonlSessionDirectory(options.fs, sessionsRoot, resolvedCwd);
27
+ return fileResult(await options.fs.exists(directory), `Failed to check sessions directory ${directory}`)
28
+ ? [directory]
29
+ : [];
30
+ }
31
+ if (!fileResult(await options.fs.exists(sessionsRoot), `Failed to check sessions directory ${sessionsRoot}`))
32
+ return [];
33
+ return fileResult(await options.fs.listDir(sessionsRoot), `Failed to list sessions directory ${sessionsRoot}`)
34
+ .filter((entry) => entry.kind === "directory" || entry.kind === "symlink")
35
+ .map((entry) => entry.path);
36
+ }
37
+ export async function listJsonlSessionMetadata(options, query = {}) {
38
+ const metadata = [];
39
+ for (const directory of await jsonlSessionDirectories(options, query.cwd)) {
40
+ const files = fileResult(await options.fs.listDir(directory), `Failed to list sessions directory ${directory}`).filter((entry) => entry.kind !== "directory" && entry.name.endsWith(".jsonl"));
180
41
  for (const file of files) {
181
- const discovered = await this.readSessionMetadata(file, context);
182
- if (discovered === undefined)
42
+ const [firstLine] = fileResult(await options.fs.readTextLines(file.path, { maxLines: 1 }), `Failed to read session header ${file.path}`);
43
+ if (!firstLine)
183
44
  continue;
184
- // Directory encoding is lossy: /a/b and /a-b both map to --a-b--.
185
- if (cwd === undefined || discovered.cwd === cwd)
186
- metadata.push(discovered);
187
- }
188
- return metadata;
189
- }
190
- async readSessionMetadata(file, context) {
191
- const lines = fileValue(await this.fileSystem.readTextLines(file.path, { maxLines: 1 }, context), `Failed to read session header ${file.path}`);
192
- if (lines[0] === undefined)
193
- return undefined;
194
- const parsedHeader = parseJsonlSessionHeader(lines[0]);
195
- if (!parsedHeader.ok)
196
- return undefined;
197
- if (parsedHeader.value.format === "v3-legacy") {
198
- const metadata = await metadataFromLegacyV3Header(this.fileSystem, parsedHeader.value.header, context);
199
- return { ...metadata, path: file.path, modifiedAt: file.mtimeMs };
45
+ const headerResult = parseHeader(firstLine);
46
+ if (!headerResult.ok)
47
+ continue;
48
+ metadata.push(metadataFromHeader(headerResult.value, file.path, file.mtimeMs));
200
49
  }
201
- return metadataFromHeader(parsedHeader.value.header, file.path, file.mtimeMs);
202
- }
203
- async sessionDirectories(root, context) {
204
- return fileValue(await this.fileSystem.listDir(root, context), `Failed to list sessions root ${root}`)
205
- .filter((entry) => entry.kind === "directory")
206
- .map((entry) => entry.path);
207
- }
208
- async sessionDirectory(cwd, context) {
209
- return fileValue(await this.fileSystem.joinPath([await this.root(context), sessionDirectoryName(cwd)], context), `Failed to resolve sessions directory for ${cwd}`);
210
- }
211
- async resolveNewSessionPath(cwd, createdAt, id, context) {
212
- const directory = await this.sessionDirectory(cwd, context);
213
- await this.assertSessionIdAvailable(directory, id, context);
214
- fileValue(await this.fileSystem.createDir(directory, undefined, context), `Failed to create sessions directory ${directory}`);
215
- return fileValue(await this.fileSystem.joinPath([directory, sessionFileName(createdAt, id)], context), `Failed to resolve path for session ${id}`);
216
50
  }
217
- async assertSessionIdAvailable(directory, id, context) {
218
- if (!fileValue(await this.fileSystem.exists(directory, context), `Failed to check sessions directory ${directory}`))
219
- return;
220
- const suffix = `_${encodeURIComponent(id)}.jsonl`;
221
- const idExists = fileValue(await this.fileSystem.listDir(directory, context), `Failed to list sessions directory ${directory}`).some((entry) => entry.kind !== "directory" && entry.name.endsWith(suffix));
222
- if (idExists)
223
- throw new Error(`Session already exists: ${id}`);
51
+ return metadata.sort((left, right) => right.modifiedAt - left.modifiedAt);
52
+ }
53
+ export async function loadJsonlSessionStorage(options, metadata) {
54
+ if (!fileResult(await options.fs.exists(metadata.path), `Failed to check session ${metadata.path}`)) {
55
+ throw new SessionError("not_found", `Session not found: ${metadata.id}`);
224
56
  }
225
- async resolveForkInput(source, storage, context) {
226
- if (storage !== undefined) {
227
- if (storage.isLegacyV3()) {
228
- throw new Error("Cannot fork an open legacy v3 JSONL session; commit a non-empty transaction to upgrade it to format 4 first");
229
- }
230
- const nextSeq = await storage.captureForkNextSeq(context);
231
- return { kind: "open", metadata: source, nextSeq };
232
- }
233
- if (await this.isLegacyV3ForkSource(source, context)) {
234
- const normalized = await LegacyV3Source.read(this.fileSystem, source.path, context);
235
- if (normalized.header.id !== source.id || normalized.header.cwd !== source.cwd) {
236
- throw new Error(`Session identity does not match header: ${source.id}`);
237
- }
238
- return { kind: "legacy-v3", normalized };
239
- }
240
- return { kind: "closed", metadata: source };
57
+ const storage = await JsonlSessionStorage.load(options.fs, metadata.path);
58
+ const loadedMetadata = await storage.getMetadata();
59
+ if (loadedMetadata.id !== metadata.id) {
60
+ throw new SessionError("invalid_entry", `Session id does not match header: ${metadata.id}`);
241
61
  }
242
- async isLegacyV3ForkSource(source, context) {
243
- const lines = fileValue(await this.fileSystem.readTextLines(source.path, { maxLines: 1 }, context), `Failed to read session header ${source.path}`);
244
- if (lines[0] === undefined)
245
- return false;
246
- const parsed = parseJsonlSessionHeader(lines[0]);
247
- return parsed.ok && parsed.value.format === "v3-legacy";
62
+ return storage;
63
+ }
64
+ function sessionFileName(createdAt, id) {
65
+ const timestamp = new Date(createdAt).toISOString().replace(/[:.]/g, "-");
66
+ return `${timestamp}_${id}.jsonl`;
67
+ }
68
+ export class JsonlSessionRepo {
69
+ constructor(options) {
70
+ this.activeCreateDestinations = new Set();
71
+ this.fs = options.fs;
72
+ this.sessionsRootInput = options.sessionsRoot;
248
73
  }
249
- publishOpenSession(metadata, storage, key) {
250
- if (this.openSessions.has(key))
251
- throw new Error(`Session is already open: ${metadata.id}`);
252
- const session = new StorageBackedSession(metadata, storage, {
253
- onClose: () => {
254
- if (this.openSessions.get(key) === storage)
255
- this.openSessions.delete(key);
256
- },
74
+ async create(options) {
75
+ const destination = await this.resolveCreateDestination(options);
76
+ return this.claimCreateDestination(destination, async () => {
77
+ const { header, path } = await this.prepareCreate(destination, options);
78
+ return new Session(await JsonlSessionStorage.create(this.fs, path, header));
257
79
  });
258
- this.openSessions.set(key, storage);
259
- return session;
260
80
  }
261
- sessionKey(cwd, id) {
262
- return `${cwd}\0${id}`;
81
+ async open(metadata) {
82
+ return new Session(await this.loadStorage(metadata));
83
+ }
84
+ async list(options = {}) {
85
+ return this.listDirect(options);
86
+ }
87
+ async delete(metadata) {
88
+ fileResult(await this.fs.remove(metadata.path, { force: true }), `Failed to delete session ${metadata.path}`);
89
+ }
90
+ async fork(source, options) {
91
+ const sourceStorage = await this.loadStorage(source);
92
+ const createOptions = {
93
+ ...options,
94
+ parentSessionId: options.parentSessionId ?? source.id,
95
+ };
96
+ const destination = await this.resolveCreateDestination(createOptions);
97
+ return this.claimCreateDestination(destination, async () => {
98
+ const { header, path } = await this.prepareCreate(destination, createOptions);
99
+ return new Session(await sourceStorage.fork(path, header, options));
100
+ });
263
101
  }
264
- async loadStorage(metadata, context) {
265
- if (!fileValue(await this.fileSystem.exists(metadata.path, context), `Failed to check session ${metadata.path}`)) {
266
- throw new Error(`Session file does not exist: ${metadata.path}`);
267
- }
268
- const storage = await JsonlStorage.open({
269
- fileSystem: this.fileSystem,
270
- path: metadata.path,
271
- now: this.now,
272
- }, context);
102
+ async loadStorage(metadata) {
103
+ return loadJsonlSessionStorage({ fs: this.fs, sessionsRoot: this.sessionsRootInput }, metadata);
104
+ }
105
+ async resolveCreateDestination(options) {
106
+ const id = options.id ?? uuidv7();
107
+ validateSessionId(id);
108
+ const cwd = fileResult(await this.fs.absolutePath(options.cwd), `Failed to resolve session cwd ${options.cwd}`);
109
+ return { id, cwd };
110
+ }
111
+ /**
112
+ * Prevent same-process create/fork races for one logical destination. The durable filename includes a
113
+ * timestamp, so the async filesystem existence check alone can let two concurrent calls both decide the
114
+ * same {cwd, id} is free and publish duplicate sessions.
115
+ */
116
+ async claimCreateDestination(destination, operation) {
117
+ const key = `${destination.cwd}\0${destination.id}`;
118
+ if (this.activeCreateDestinations.has(key)) {
119
+ throw new SessionError("already_exists", `Session already exists: ${destination.id}`);
120
+ }
121
+ this.activeCreateDestinations.add(key);
273
122
  try {
274
- if (storage.header.id !== metadata.id || storage.header.cwd !== metadata.cwd) {
275
- throw new Error(`Session identity does not match header: ${metadata.id}`);
276
- }
277
- if (storage.header.storageVersion !== JSONL_STORAGE_VERSION) {
278
- throw new Error(`Session ${metadata.id} uses unsupported storage version ${storage.header.storageVersion}`);
279
- }
280
- return storage;
281
- }
282
- catch (error) {
283
- await storage.close(context);
284
- throw error;
123
+ return await operation();
285
124
  }
125
+ finally {
126
+ this.activeCreateDestinations.delete(key);
127
+ }
128
+ }
129
+ async prepareCreate(destination, options) {
130
+ const { id, cwd } = destination;
131
+ if (await this.sessionIdExists(id, cwd)) {
132
+ throw new SessionError("already_exists", `Session already exists: ${id}`);
133
+ }
134
+ const createdAt = Date.now();
135
+ const sessionDirectory = await this.sessionDirectory(cwd);
136
+ const path = fileResult(await this.fs.joinPath([sessionDirectory, sessionFileName(createdAt, id)]), `Failed to resolve path for session ${id}`);
137
+ if (options.metadata !== undefined)
138
+ assertJsonSerializable(options.metadata);
139
+ const header = {
140
+ kind: "header",
141
+ version: 4,
142
+ id,
143
+ createdAt,
144
+ cwd,
145
+ parentSessionId: options.parentSessionId,
146
+ metadata: options.metadata,
147
+ };
148
+ fileResult(await this.fs.createDir(sessionDirectory, { recursive: true }), `Failed to create sessions directory`);
149
+ return { header, path };
150
+ }
151
+ async listDirect(options) {
152
+ return listJsonlSessionMetadata({ fs: this.fs, sessionsRoot: this.sessionsRootInput }, options);
153
+ }
154
+ async sessionIdExists(id, cwd) {
155
+ const suffix = `_${id}.jsonl`;
156
+ const directory = await this.sessionDirectory(cwd);
157
+ if (!fileResult(await this.fs.exists(directory), `Failed to check sessions directory ${directory}`))
158
+ return false;
159
+ const files = fileResult(await this.fs.listDir(directory), `Failed to list sessions directory ${directory}`);
160
+ return files.some((entry) => entry.kind !== "directory" && entry.name.endsWith(suffix));
286
161
  }
287
- root(context) {
288
- return this.fileSystem
289
- .absolutePath(this.sessionsRootInput, context)
290
- .then((result) => fileValue(result, `Failed to resolve sessions root ${this.sessionsRootInput}`));
162
+ async sessionDirectory(cwd) {
163
+ return fileResult(await this.fs.joinPath([await this.root(), jsonlSessionDirectoryName(cwd)]), `Failed to resolve sessions directory for ${cwd}`);
291
164
  }
292
- assertOpen() {
293
- if (this.closed)
294
- throw new Error("JsonlSessionRepo is closed");
165
+ root() {
166
+ this.rootPromise ??= this.fs
167
+ .absolutePath(this.sessionsRootInput)
168
+ .then((result) => fileResult(result, `Failed to resolve sessions root ${this.sessionsRootInput}`));
169
+ return this.rootPromise;
295
170
  }
296
171
  }
297
172
  //# sourceMappingURL=repo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"repo.js","sourceRoot":"","sources":["../../../../src/harness/session/jsonl/repo.ts"],"names":[],"mappings":"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","sourcesContent":["import { uuidv7 } from \"@earendil-works/pi-ai/utils/uuid\";\nimport type { Context } from \"../../context.ts\";\nimport type { FileInfo, FileSystem } from \"../../types.ts\";\nimport { StorageBackedSession } from \"../session.ts\";\nimport type { ForkOptions, Session, SessionRepo } from \"../types.ts\";\nimport { parseJsonlSessionHeader } from \"./codec.ts\";\nimport { type JsonlForkInput, runJsonlFork } from \"./fork.ts\";\nimport { fileValue } from \"./io.ts\";\nimport { LegacyV3Source, metadataFromLegacyV3Header } from \"./legacy-v3.ts\";\nimport { JsonlStorage } from \"./storage.ts\";\nimport {\n\tJSONL_FORMAT_VERSION,\n\tJSONL_STORAGE_VERSION,\n\ttype JsonlSessionCreateOptions,\n\ttype JsonlSessionListOptions,\n\ttype JsonlSessionMetadata,\n\ttype JsonlSessionRepoOptions,\n\ttype JsonlStorageHeader,\n} from \"./types.ts\";\n\nfunction metadataFromHeader(header: JsonlStorageHeader, path: string, modifiedAt: number): JsonlSessionMetadata {\n\treturn {\n\t\tid: header.id,\n\t\tcreatedAt: header.createdAt,\n\t\tstorageVersion: header.storageVersion,\n\t\tcwd: header.cwd,\n\t\tpath,\n\t\tmodifiedAt,\n\t\t...(header.parentSessionId === undefined ? {} : { parentSessionId: header.parentSessionId }),\n\t\t...(header.legacyParentSessionPath === undefined\n\t\t\t? {}\n\t\t\t: { legacyParentSessionPath: header.legacyParentSessionPath }),\n\t};\n}\n\nfunction sessionDirectoryName(cwd: string): string {\n\treturn `--${cwd.replace(/^[/\\\\]/, \"\").replace(/[/\\\\:]/g, \"-\")}--`;\n}\n\nfunction sessionFileName(createdAt: number, id: string): string {\n\tconst timestamp = new Date(createdAt).toISOString().replace(/[:.]/g, \"-\");\n\treturn `${timestamp}_${encodeURIComponent(id)}.jsonl`;\n}\n\n/** File-backed format-4 session repository lifecycle. */\nexport class JsonlSessionRepo\n\timplements SessionRepo<JsonlSessionMetadata, JsonlSessionCreateOptions, JsonlSessionListOptions>\n{\n\tprivate readonly fileSystem: FileSystem;\n\tprivate readonly sessionsRootInput: string;\n\tprivate readonly now: () => number;\n\tprivate readonly openSessions = new Map<string, JsonlStorage>();\n\tprivate readonly pendingCreates = new Set<string>();\n\tprivate closed = false;\n\tprivate closePromise: Promise<void> | undefined;\n\n\tconstructor(options: JsonlSessionRepoOptions) {\n\t\tthis.fileSystem = options.fileSystem;\n\t\tthis.sessionsRootInput = options.sessionsRoot;\n\t\tthis.now = options.now ?? Date.now;\n\t}\n\n\tasync create(options: JsonlSessionCreateOptions, context: Context): Promise<Session<JsonlSessionMetadata>> {\n\t\tthis.assertOpen();\n\t\tconst createdAt = this.now();\n\t\tconst { cwd, id } = await this.resolveCreateDestination(options.cwd, options.id, createdAt, context);\n\t\tconst key = this.sessionKey(cwd, id);\n\t\tif (this.openSessions.has(key) || this.pendingCreates.has(key)) throw new Error(`Session already exists: ${id}`);\n\t\tthis.pendingCreates.add(key);\n\t\tlet path: string | undefined;\n\t\tlet storage: JsonlStorage | undefined;\n\t\ttry {\n\t\t\tpath = await this.resolveNewSessionPath(cwd, createdAt, id, context);\n\t\t\tconst header: JsonlStorageHeader = {\n\t\t\t\tv: JSONL_FORMAT_VERSION,\n\t\t\t\tkind: \"header\",\n\t\t\t\tid,\n\t\t\t\tstorageVersion: JSONL_STORAGE_VERSION,\n\t\t\t\tcreatedAt,\n\t\t\t\tcwd,\n\t\t\t\t...(options.parentSessionId === undefined ? {} : { parentSessionId: options.parentSessionId }),\n\t\t\t};\n\t\t\tstorage = await JsonlStorage.create({ fileSystem: this.fileSystem, path, now: this.now }, header, [], context);\n\t\t\tconst info = fileValue(await this.fileSystem.fileInfo(path, context), `Failed to read session ${path}`);\n\t\t\treturn this.publishOpenSession(metadataFromHeader(header, path, info.mtimeMs), storage, key);\n\t\t} catch (error) {\n\t\t\tawait storage?.close(context).catch(() => undefined);\n\t\t\tif (path !== undefined) await this.fileSystem.remove(path, { force: true }, context);\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tthis.pendingCreates.delete(key);\n\t\t}\n\t}\n\n\tasync open(metadata: JsonlSessionMetadata, context: Context): Promise<Session<JsonlSessionMetadata>> {\n\t\tthis.assertOpen();\n\t\tconst key = this.sessionKey(metadata.cwd, metadata.id);\n\t\tif (this.openSessions.has(key)) throw new Error(`Session is already open: ${metadata.id}`);\n\t\tlet storage: JsonlStorage | undefined;\n\t\ttry {\n\t\t\tstorage = await this.loadStorage(metadata, context);\n\t\t\treturn this.publishOpenSession(metadata, storage, key);\n\t\t} catch (error) {\n\t\t\tawait storage?.close(context);\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tasync list(options: JsonlSessionListOptions | undefined, context: Context): Promise<JsonlSessionMetadata[]> {\n\t\toptions ??= {};\n\t\tthis.assertOpen();\n\t\tconst cwd =\n\t\t\toptions.cwd === undefined\n\t\t\t\t? undefined\n\t\t\t\t: fileValue(\n\t\t\t\t\t\tawait this.fileSystem.absolutePath(options.cwd, context),\n\t\t\t\t\t\t`Failed to resolve session cwd ${options.cwd}`,\n\t\t\t\t\t);\n\t\tconst root = await this.root(context);\n\t\tif (!fileValue(await this.fileSystem.exists(root, context), `Failed to check sessions root ${root}`)) return [];\n\t\tconst directories =\n\t\t\tcwd === undefined ? await this.sessionDirectories(root, context) : [await this.sessionDirectory(cwd, context)];\n\t\tconst metadata: JsonlSessionMetadata[] = [];\n\t\tfor (const directory of directories) metadata.push(...(await this.listDirectory(directory, cwd, context)));\n\t\treturn metadata.sort(\n\t\t\t(left, right) =>\n\t\t\t\tright.createdAt - left.createdAt || left.id.localeCompare(right.id) || left.cwd.localeCompare(right.cwd),\n\t\t);\n\t}\n\n\tasync delete(metadata: JsonlSessionMetadata, context: Context): Promise<void> {\n\t\tthis.assertOpen();\n\t\tconst key = this.sessionKey(metadata.cwd, metadata.id);\n\t\tif (this.openSessions.has(key)) throw new Error(`Session is open: ${metadata.id}`);\n\t\tif (\n\t\t\t!fileValue(await this.fileSystem.exists(metadata.path, context), `Failed to check session ${metadata.path}`)\n\t\t) {\n\t\t\tthrow new Error(`Session file does not exist: ${metadata.path}`);\n\t\t}\n\t\tfileValue(\n\t\t\tawait this.fileSystem.remove(metadata.path, undefined, context),\n\t\t\t`Failed to delete session ${metadata.path}`,\n\t\t);\n\t}\n\n\tasync fork(\n\t\tsource: JsonlSessionMetadata,\n\t\toptions: ForkOptions,\n\t\tcontext: Context,\n\t): Promise<Session<JsonlSessionMetadata>> {\n\t\tthis.assertOpen();\n\t\tconst createdAt = this.now();\n\t\tconst cwd = source.cwd;\n\t\tconst id = options.id ?? uuidv7(createdAt);\n\t\tconst destinationKey = this.sessionKey(cwd, id);\n\t\tif (this.openSessions.has(destinationKey) || this.pendingCreates.has(destinationKey)) {\n\t\t\tthrow new Error(`Session already exists: ${id}`);\n\t\t}\n\t\tthis.pendingCreates.add(destinationKey);\n\n\t\tconst sourceStorage = this.openSessions.get(this.sessionKey(source.cwd, source.id));\n\t\tlet path: string | undefined;\n\t\tlet storage: JsonlStorage | undefined;\n\t\ttry {\n\t\t\tconst input = await this.resolveForkInput(source, sourceStorage, context);\n\t\t\tpath = await this.resolveNewSessionPath(cwd, createdAt, id, context);\n\t\t\tconst header: Omit<JsonlStorageHeader, \"nextSeq\"> = {\n\t\t\t\tv: JSONL_FORMAT_VERSION,\n\t\t\t\tkind: \"header\",\n\t\t\t\tid,\n\t\t\t\tstorageVersion: JSONL_STORAGE_VERSION,\n\t\t\t\tcreatedAt,\n\t\t\t\tcwd,\n\t\t\t\tparentSessionId: source.id,\n\t\t\t};\n\t\t\tawait runJsonlFork(\n\t\t\t\t{\n\t\t\t\t\tinput,\n\t\t\t\t\tfileSystem: this.fileSystem,\n\t\t\t\t\tdestinationPath: path,\n\t\t\t\t\tdestinationHeader: header,\n\t\t\t\t\tfork: options,\n\t\t\t\t},\n\t\t\t\tcontext,\n\t\t\t);\n\t\t\tstorage = await JsonlStorage.open({ fileSystem: this.fileSystem, path, now: this.now }, context);\n\t\t\tconst info = fileValue(await this.fileSystem.fileInfo(path, context), `Failed to read session ${path}`);\n\t\t\treturn this.publishOpenSession(metadataFromHeader(header, path, info.mtimeMs), storage, destinationKey);\n\t\t} catch (error) {\n\t\t\tawait storage?.close(context).catch(() => undefined);\n\t\t\tif (path !== undefined) await this.fileSystem.remove(path, { force: true }, context);\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tthis.pendingCreates.delete(destinationKey);\n\t\t}\n\t}\n\n\tclose(_context: Context): Promise<void> {\n\t\tif (this.closePromise !== undefined) return this.closePromise;\n\t\tthis.closed = true;\n\t\t// TODO: Define ownership semantics before deciding whether repository close should close session handles.\n\t\tthis.closePromise = Promise.resolve();\n\t\treturn this.closePromise;\n\t}\n\n\tprivate async resolveCreateDestination(\n\t\tcwdInput: string,\n\t\tid: string | undefined,\n\t\tcreatedAt: number,\n\t\tcontext: Context,\n\t): Promise<{ cwd: string; id: string }> {\n\t\tconst destinationId = id ?? uuidv7(createdAt);\n\t\tconst cwd = fileValue(\n\t\t\tawait this.fileSystem.absolutePath(cwdInput, context),\n\t\t\t`Failed to resolve session cwd ${cwdInput}`,\n\t\t);\n\t\treturn { cwd, id: destinationId };\n\t}\n\n\tprivate async listDirectory(\n\t\tdirectory: string,\n\t\tcwd: string | undefined,\n\t\tcontext: Context,\n\t): Promise<JsonlSessionMetadata[]> {\n\t\tif (\n\t\t\t!fileValue(await this.fileSystem.exists(directory, context), `Failed to check sessions directory ${directory}`)\n\t\t) {\n\t\t\treturn [];\n\t\t}\n\t\tconst files = fileValue(\n\t\t\tawait this.fileSystem.listDir(directory, context),\n\t\t\t`Failed to list sessions directory ${directory}`,\n\t\t).filter((file) => file.kind !== \"directory\" && file.name.endsWith(\".jsonl\"));\n\t\tconst metadata: JsonlSessionMetadata[] = [];\n\t\tfor (const file of files) {\n\t\t\tconst discovered = await this.readSessionMetadata(file, context);\n\t\t\tif (discovered === undefined) continue;\n\t\t\t// Directory encoding is lossy: /a/b and /a-b both map to --a-b--.\n\t\t\tif (cwd === undefined || discovered.cwd === cwd) metadata.push(discovered);\n\t\t}\n\t\treturn metadata;\n\t}\n\n\tprivate async readSessionMetadata(file: FileInfo, context: Context): Promise<JsonlSessionMetadata | undefined> {\n\t\tconst lines = fileValue(\n\t\t\tawait this.fileSystem.readTextLines(file.path, { maxLines: 1 }, context),\n\t\t\t`Failed to read session header ${file.path}`,\n\t\t);\n\t\tif (lines[0] === undefined) return undefined;\n\t\tconst parsedHeader = parseJsonlSessionHeader(lines[0]);\n\t\tif (!parsedHeader.ok) return undefined;\n\t\tif (parsedHeader.value.format === \"v3-legacy\") {\n\t\t\tconst metadata = await metadataFromLegacyV3Header(this.fileSystem, parsedHeader.value.header, context);\n\t\t\treturn { ...metadata, path: file.path, modifiedAt: file.mtimeMs };\n\t\t}\n\t\treturn metadataFromHeader(parsedHeader.value.header, file.path, file.mtimeMs);\n\t}\n\n\tprivate async sessionDirectories(root: string, context: Context): Promise<string[]> {\n\t\treturn fileValue(await this.fileSystem.listDir(root, context), `Failed to list sessions root ${root}`)\n\t\t\t.filter((entry) => entry.kind === \"directory\")\n\t\t\t.map((entry) => entry.path);\n\t}\n\n\tprivate async sessionDirectory(cwd: string, context: Context): Promise<string> {\n\t\treturn fileValue(\n\t\t\tawait this.fileSystem.joinPath([await this.root(context), sessionDirectoryName(cwd)], context),\n\t\t\t`Failed to resolve sessions directory for ${cwd}`,\n\t\t);\n\t}\n\n\tprivate async resolveNewSessionPath(cwd: string, createdAt: number, id: string, context: Context): Promise<string> {\n\t\tconst directory = await this.sessionDirectory(cwd, context);\n\t\tawait this.assertSessionIdAvailable(directory, id, context);\n\t\tfileValue(\n\t\t\tawait this.fileSystem.createDir(directory, undefined, context),\n\t\t\t`Failed to create sessions directory ${directory}`,\n\t\t);\n\t\treturn fileValue(\n\t\t\tawait this.fileSystem.joinPath([directory, sessionFileName(createdAt, id)], context),\n\t\t\t`Failed to resolve path for session ${id}`,\n\t\t);\n\t}\n\n\tprivate async assertSessionIdAvailable(directory: string, id: string, context: Context): Promise<void> {\n\t\tif (\n\t\t\t!fileValue(await this.fileSystem.exists(directory, context), `Failed to check sessions directory ${directory}`)\n\t\t)\n\t\t\treturn;\n\n\t\tconst suffix = `_${encodeURIComponent(id)}.jsonl`;\n\t\tconst idExists = fileValue(\n\t\t\tawait this.fileSystem.listDir(directory, context),\n\t\t\t`Failed to list sessions directory ${directory}`,\n\t\t).some((entry) => entry.kind !== \"directory\" && entry.name.endsWith(suffix));\n\t\tif (idExists) throw new Error(`Session already exists: ${id}`);\n\t}\n\n\tprivate async resolveForkInput(\n\t\tsource: JsonlSessionMetadata,\n\t\tstorage: JsonlStorage | undefined,\n\t\tcontext: Context,\n\t): Promise<JsonlForkInput> {\n\t\tif (storage !== undefined) {\n\t\t\tif (storage.isLegacyV3()) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"Cannot fork an open legacy v3 JSONL session; commit a non-empty transaction to upgrade it to format 4 first\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst nextSeq = await storage.captureForkNextSeq(context);\n\t\t\treturn { kind: \"open\", metadata: source, nextSeq };\n\t\t}\n\t\tif (await this.isLegacyV3ForkSource(source, context)) {\n\t\t\tconst normalized = await LegacyV3Source.read(this.fileSystem, source.path, context);\n\t\t\tif (normalized.header.id !== source.id || normalized.header.cwd !== source.cwd) {\n\t\t\t\tthrow new Error(`Session identity does not match header: ${source.id}`);\n\t\t\t}\n\t\t\treturn { kind: \"legacy-v3\", normalized };\n\t\t}\n\t\treturn { kind: \"closed\", metadata: source };\n\t}\n\n\tprivate async isLegacyV3ForkSource(source: JsonlSessionMetadata, context: Context): Promise<boolean> {\n\t\tconst lines = fileValue(\n\t\t\tawait this.fileSystem.readTextLines(source.path, { maxLines: 1 }, context),\n\t\t\t`Failed to read session header ${source.path}`,\n\t\t);\n\t\tif (lines[0] === undefined) return false;\n\t\tconst parsed = parseJsonlSessionHeader(lines[0]);\n\t\treturn parsed.ok && parsed.value.format === \"v3-legacy\";\n\t}\n\n\tprivate publishOpenSession(\n\t\tmetadata: JsonlSessionMetadata,\n\t\tstorage: JsonlStorage,\n\t\tkey: string,\n\t): StorageBackedSession<JsonlSessionMetadata> {\n\t\tif (this.openSessions.has(key)) throw new Error(`Session is already open: ${metadata.id}`);\n\t\tconst session = new StorageBackedSession(metadata, storage, {\n\t\t\tonClose: () => {\n\t\t\t\tif (this.openSessions.get(key) === storage) this.openSessions.delete(key);\n\t\t\t},\n\t\t});\n\t\tthis.openSessions.set(key, storage);\n\t\treturn session;\n\t}\n\n\tprivate sessionKey(cwd: string, id: string): string {\n\t\treturn `${cwd}\\0${id}`;\n\t}\n\n\tprivate async loadStorage(metadata: JsonlSessionMetadata, context: Context): Promise<JsonlStorage> {\n\t\tif (\n\t\t\t!fileValue(await this.fileSystem.exists(metadata.path, context), `Failed to check session ${metadata.path}`)\n\t\t) {\n\t\t\tthrow new Error(`Session file does not exist: ${metadata.path}`);\n\t\t}\n\t\tconst storage = await JsonlStorage.open(\n\t\t\t{\n\t\t\t\tfileSystem: this.fileSystem,\n\t\t\t\tpath: metadata.path,\n\t\t\t\tnow: this.now,\n\t\t\t},\n\t\t\tcontext,\n\t\t);\n\t\ttry {\n\t\t\tif (storage.header.id !== metadata.id || storage.header.cwd !== metadata.cwd) {\n\t\t\t\tthrow new Error(`Session identity does not match header: ${metadata.id}`);\n\t\t\t}\n\t\t\tif (storage.header.storageVersion !== JSONL_STORAGE_VERSION) {\n\t\t\t\tthrow new Error(`Session ${metadata.id} uses unsupported storage version ${storage.header.storageVersion}`);\n\t\t\t}\n\t\t\treturn storage;\n\t\t} catch (error) {\n\t\t\tawait storage.close(context);\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tprivate root(context: Context): Promise<string> {\n\t\treturn this.fileSystem\n\t\t\t.absolutePath(this.sessionsRootInput, context)\n\t\t\t.then((result) => fileValue(result, `Failed to resolve sessions root ${this.sessionsRootInput}`));\n\t}\n\n\tprivate assertOpen(): void {\n\t\tif (this.closed) throw new Error(\"JsonlSessionRepo is closed\");\n\t}\n}\n"]}
1
+ {"version":3,"file":"repo.js","sourceRoot":"","sources":["../../../../src/harness/session/jsonl/repo.ts"],"names":[],"mappings":"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","sourcesContent":["import { uuidv7 } from \"@earendil-works/pi-ai\";\nimport { assertJsonSerializable, Session } from \"../session.ts\";\nimport { type ForkOptions, SessionError, type SessionRepo } from \"../types.ts\";\nimport { metadataFromHeader, parseHeader } from \"./codec.ts\";\nimport { fileResult } from \"./errors.ts\";\nimport { JsonlSessionStorage } from \"./storage.ts\";\nimport type {\n\tJsonlSessionCreateOptions,\n\tJsonlSessionListOptions,\n\tJsonlSessionMetadata,\n\tJsonlSessionRepoFileSystem,\n\tJsonlSessionRepoOptions,\n\tJsonlV4Header,\n} from \"./types.ts\";\n\nconst SESSION_ID_PATTERN = /^[A-Za-z0-9](?:[A-Za-z0-9._-]*[A-Za-z0-9])?$/;\n\nfunction validateSessionId(id: string): void {\n\tif (!SESSION_ID_PATTERN.test(id)) {\n\t\tthrow new SessionError(\n\t\t\t\"invalid_payload\",\n\t\t\t\"Session id must be non-empty, contain only alphanumeric characters, '-', '_', and '.', and start and end with an alphanumeric character\",\n\t\t);\n\t}\n}\n\nfunction jsonlSessionDirectoryName(cwd: string): string {\n\treturn `--${cwd.replace(/^[/\\\\]/, \"\").replace(/[/\\\\:]/g, \"-\")}--`;\n}\n\nasync function jsonlSessionsRoot(options: JsonlSessionRepoOptions): Promise<string> {\n\treturn fileResult(\n\t\tawait options.fs.absolutePath(options.sessionsRoot),\n\t\t`Failed to resolve sessions root ${options.sessionsRoot}`,\n\t);\n}\n\nasync function jsonlSessionDirectory(\n\tfs: JsonlSessionRepoFileSystem,\n\tsessionsRoot: string,\n\tcwd: string,\n): Promise<string> {\n\treturn fileResult(\n\t\tawait fs.joinPath([sessionsRoot, jsonlSessionDirectoryName(cwd)]),\n\t\t`Failed to resolve sessions directory for ${cwd}`,\n\t);\n}\n\nasync function jsonlSessionDirectories(options: JsonlSessionRepoOptions, cwd?: string): Promise<string[]> {\n\tconst sessionsRoot = await jsonlSessionsRoot(options);\n\tif (cwd !== undefined) {\n\t\tconst resolvedCwd = fileResult(await options.fs.absolutePath(cwd), `Failed to resolve session cwd ${cwd}`);\n\t\tconst directory = await jsonlSessionDirectory(options.fs, sessionsRoot, resolvedCwd);\n\t\treturn fileResult(await options.fs.exists(directory), `Failed to check sessions directory ${directory}`)\n\t\t\t? [directory]\n\t\t\t: [];\n\t}\n\tif (!fileResult(await options.fs.exists(sessionsRoot), `Failed to check sessions directory ${sessionsRoot}`))\n\t\treturn [];\n\treturn fileResult(await options.fs.listDir(sessionsRoot), `Failed to list sessions directory ${sessionsRoot}`)\n\t\t.filter((entry) => entry.kind === \"directory\" || entry.kind === \"symlink\")\n\t\t.map((entry) => entry.path);\n}\n\nexport async function listJsonlSessionMetadata(\n\toptions: JsonlSessionRepoOptions,\n\tquery: JsonlSessionListOptions = {},\n): Promise<JsonlSessionMetadata[]> {\n\tconst metadata: JsonlSessionMetadata[] = [];\n\tfor (const directory of await jsonlSessionDirectories(options, query.cwd)) {\n\t\tconst files = fileResult(\n\t\t\tawait options.fs.listDir(directory),\n\t\t\t`Failed to list sessions directory ${directory}`,\n\t\t).filter((entry) => entry.kind !== \"directory\" && entry.name.endsWith(\".jsonl\"));\n\t\tfor (const file of files) {\n\t\t\tconst [firstLine] = fileResult(\n\t\t\t\tawait options.fs.readTextLines(file.path, { maxLines: 1 }),\n\t\t\t\t`Failed to read session header ${file.path}`,\n\t\t\t);\n\t\t\tif (!firstLine) continue;\n\t\t\tconst headerResult = parseHeader(firstLine);\n\t\t\tif (!headerResult.ok) continue;\n\t\t\tmetadata.push(metadataFromHeader(headerResult.value, file.path, file.mtimeMs));\n\t\t}\n\t}\n\treturn metadata.sort((left, right) => right.modifiedAt - left.modifiedAt);\n}\n\nexport async function loadJsonlSessionStorage(\n\toptions: JsonlSessionRepoOptions,\n\tmetadata: JsonlSessionMetadata,\n): Promise<JsonlSessionStorage> {\n\tif (!fileResult(await options.fs.exists(metadata.path), `Failed to check session ${metadata.path}`)) {\n\t\tthrow new SessionError(\"not_found\", `Session not found: ${metadata.id}`);\n\t}\n\tconst storage = await JsonlSessionStorage.load(options.fs, metadata.path);\n\tconst loadedMetadata = await storage.getMetadata();\n\tif (loadedMetadata.id !== metadata.id) {\n\t\tthrow new SessionError(\"invalid_entry\", `Session id does not match header: ${metadata.id}`);\n\t}\n\treturn storage;\n}\n\nfunction sessionFileName(createdAt: number, id: string): string {\n\tconst timestamp = new Date(createdAt).toISOString().replace(/[:.]/g, \"-\");\n\treturn `${timestamp}_${id}.jsonl`;\n}\n\nexport class JsonlSessionRepo\n\timplements SessionRepo<JsonlSessionMetadata, JsonlSessionCreateOptions, JsonlSessionListOptions>\n{\n\tprivate readonly fs: JsonlSessionRepoFileSystem;\n\tprivate readonly sessionsRootInput: string;\n\tprivate readonly activeCreateDestinations = new Set<string>();\n\tprivate rootPromise: Promise<string> | undefined;\n\n\tconstructor(options: JsonlSessionRepoOptions) {\n\t\tthis.fs = options.fs;\n\t\tthis.sessionsRootInput = options.sessionsRoot;\n\t}\n\n\tasync create(options: JsonlSessionCreateOptions): Promise<Session<JsonlSessionMetadata>> {\n\t\tconst destination = await this.resolveCreateDestination(options);\n\t\treturn this.claimCreateDestination(destination, async () => {\n\t\t\tconst { header, path } = await this.prepareCreate(destination, options);\n\t\t\treturn new Session(await JsonlSessionStorage.create(this.fs, path, header));\n\t\t});\n\t}\n\n\tasync open(metadata: JsonlSessionMetadata): Promise<Session<JsonlSessionMetadata>> {\n\t\treturn new Session(await this.loadStorage(metadata));\n\t}\n\n\tasync list(options: JsonlSessionListOptions = {}): Promise<JsonlSessionMetadata[]> {\n\t\treturn this.listDirect(options);\n\t}\n\n\tasync delete(metadata: JsonlSessionMetadata): Promise<void> {\n\t\tfileResult(await this.fs.remove(metadata.path, { force: true }), `Failed to delete session ${metadata.path}`);\n\t}\n\n\tasync fork(\n\t\tsource: JsonlSessionMetadata,\n\t\toptions: ForkOptions & JsonlSessionCreateOptions,\n\t): Promise<Session<JsonlSessionMetadata>> {\n\t\tconst sourceStorage = await this.loadStorage(source);\n\t\tconst createOptions = {\n\t\t\t...options,\n\t\t\tparentSessionId: options.parentSessionId ?? source.id,\n\t\t};\n\t\tconst destination = await this.resolveCreateDestination(createOptions);\n\t\treturn this.claimCreateDestination(destination, async () => {\n\t\t\tconst { header, path } = await this.prepareCreate(destination, createOptions);\n\t\t\treturn new Session(await sourceStorage.fork(path, header, options));\n\t\t});\n\t}\n\n\tprivate async loadStorage(metadata: JsonlSessionMetadata): Promise<JsonlSessionStorage> {\n\t\treturn loadJsonlSessionStorage({ fs: this.fs, sessionsRoot: this.sessionsRootInput }, metadata);\n\t}\n\n\tprivate async resolveCreateDestination(options: JsonlSessionCreateOptions): Promise<{ id: string; cwd: string }> {\n\t\tconst id = options.id ?? uuidv7();\n\t\tvalidateSessionId(id);\n\t\tconst cwd = fileResult(await this.fs.absolutePath(options.cwd), `Failed to resolve session cwd ${options.cwd}`);\n\t\treturn { id, cwd };\n\t}\n\n\t/**\n\t * Prevent same-process create/fork races for one logical destination. The durable filename includes a\n\t * timestamp, so the async filesystem existence check alone can let two concurrent calls both decide the\n\t * same {cwd, id} is free and publish duplicate sessions.\n\t */\n\tprivate async claimCreateDestination<T>(\n\t\tdestination: { id: string; cwd: string },\n\t\toperation: () => Promise<T>,\n\t): Promise<T> {\n\t\tconst key = `${destination.cwd}\\0${destination.id}`;\n\t\tif (this.activeCreateDestinations.has(key)) {\n\t\t\tthrow new SessionError(\"already_exists\", `Session already exists: ${destination.id}`);\n\t\t}\n\t\tthis.activeCreateDestinations.add(key);\n\t\ttry {\n\t\t\treturn await operation();\n\t\t} finally {\n\t\t\tthis.activeCreateDestinations.delete(key);\n\t\t}\n\t}\n\n\tprivate async prepareCreate(\n\t\tdestination: { id: string; cwd: string },\n\t\toptions: JsonlSessionCreateOptions,\n\t): Promise<{\n\t\theader: JsonlV4Header;\n\t\tpath: string;\n\t}> {\n\t\tconst { id, cwd } = destination;\n\t\tif (await this.sessionIdExists(id, cwd)) {\n\t\t\tthrow new SessionError(\"already_exists\", `Session already exists: ${id}`);\n\t\t}\n\n\t\tconst createdAt = Date.now();\n\t\tconst sessionDirectory = await this.sessionDirectory(cwd);\n\t\tconst path = fileResult(\n\t\t\tawait this.fs.joinPath([sessionDirectory, sessionFileName(createdAt, id)]),\n\t\t\t`Failed to resolve path for session ${id}`,\n\t\t);\n\t\tif (options.metadata !== undefined) assertJsonSerializable(options.metadata);\n\t\tconst header: JsonlV4Header = {\n\t\t\tkind: \"header\",\n\t\t\tversion: 4,\n\t\t\tid,\n\t\t\tcreatedAt,\n\t\t\tcwd,\n\t\t\tparentSessionId: options.parentSessionId,\n\t\t\tmetadata: options.metadata,\n\t\t};\n\t\tfileResult(await this.fs.createDir(sessionDirectory, { recursive: true }), `Failed to create sessions directory`);\n\t\treturn { header, path };\n\t}\n\n\tprivate async listDirect(options: JsonlSessionListOptions): Promise<JsonlSessionMetadata[]> {\n\t\treturn listJsonlSessionMetadata({ fs: this.fs, sessionsRoot: this.sessionsRootInput }, options);\n\t}\n\n\tprivate async sessionIdExists(id: string, cwd: string): Promise<boolean> {\n\t\tconst suffix = `_${id}.jsonl`;\n\t\tconst directory = await this.sessionDirectory(cwd);\n\t\tif (!fileResult(await this.fs.exists(directory), `Failed to check sessions directory ${directory}`)) return false;\n\t\tconst files = fileResult(await this.fs.listDir(directory), `Failed to list sessions directory ${directory}`);\n\t\treturn files.some((entry) => entry.kind !== \"directory\" && entry.name.endsWith(suffix));\n\t}\n\n\tprivate async sessionDirectory(cwd: string): Promise<string> {\n\t\treturn fileResult(\n\t\t\tawait this.fs.joinPath([await this.root(), jsonlSessionDirectoryName(cwd)]),\n\t\t\t`Failed to resolve sessions directory for ${cwd}`,\n\t\t);\n\t}\n\n\tprivate root(): Promise<string> {\n\t\tthis.rootPromise ??= this.fs\n\t\t\t.absolutePath(this.sessionsRootInput)\n\t\t\t.then((result) => fileResult(result, `Failed to resolve sessions root ${this.sessionsRootInput}`));\n\t\treturn this.rootPromise;\n\t}\n}\n"]}