@caupulican/pi-adaptative 0.81.32 → 0.81.37

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 (339) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/dist/bundled-resources/extensions/tmux-agent-manager/README.md +69 -0
  3. package/dist/bundled-resources/extensions/tmux-agent-manager/index.d.ts +53 -0
  4. package/dist/bundled-resources/extensions/tmux-agent-manager/index.d.ts.map +1 -0
  5. package/dist/bundled-resources/extensions/tmux-agent-manager/index.js +1282 -0
  6. package/dist/bundled-resources/extensions/tmux-agent-manager/index.js.map +1 -0
  7. package/dist/bundled-resources/extensions/tmux-agent-manager/index.ts +1453 -0
  8. package/dist/bundled-resources/extensions/tmux-agent-manager/templates/builder-validator.json +14 -0
  9. package/dist/bundled-resources/extensions/tmux-agent-manager/templates/claude-trio.json +32 -0
  10. package/dist/bundled-resources/extensions/tmux-agent-manager/templates/full-provider-review.json +15 -0
  11. package/dist/bundled-resources/extensions/tmux-agent-manager/templates/provider-prompt-smoke.json +14 -0
  12. package/dist/bundled-resources/prompts/extensionify.md +5 -4
  13. package/dist/bundled-resources/prompts/skillify.md +5 -5
  14. package/dist/bundled-resources/skills/pi-harness-learning/SKILL.md +6 -3
  15. package/dist/cli/args.d.ts.map +1 -1
  16. package/dist/cli/args.js +10 -8
  17. package/dist/cli/args.js.map +1 -1
  18. package/dist/config.d.ts +5 -1
  19. package/dist/config.d.ts.map +1 -1
  20. package/dist/config.js +10 -2
  21. package/dist/config.js.map +1 -1
  22. package/dist/core/agent-session.d.ts +12 -0
  23. package/dist/core/agent-session.d.ts.map +1 -1
  24. package/dist/core/agent-session.js +42 -2
  25. package/dist/core/agent-session.js.map +1 -1
  26. package/dist/core/autonomy/approval-gate.d.ts.map +1 -1
  27. package/dist/core/autonomy/approval-gate.js +2 -0
  28. package/dist/core/autonomy/approval-gate.js.map +1 -1
  29. package/dist/core/autonomy/foreground-envelope.d.ts.map +1 -1
  30. package/dist/core/autonomy/foreground-envelope.js +2 -0
  31. package/dist/core/autonomy/foreground-envelope.js.map +1 -1
  32. package/dist/core/autonomy/gates.d.ts.map +1 -1
  33. package/dist/core/autonomy/gates.js +9 -2
  34. package/dist/core/autonomy/gates.js.map +1 -1
  35. package/dist/core/autonomy/risk-assessment.d.ts.map +1 -1
  36. package/dist/core/autonomy/risk-assessment.js +2 -0
  37. package/dist/core/autonomy/risk-assessment.js.map +1 -1
  38. package/dist/core/background-lane-controller.d.ts +12 -3
  39. package/dist/core/background-lane-controller.d.ts.map +1 -1
  40. package/dist/core/background-lane-controller.js +67 -26
  41. package/dist/core/background-lane-controller.js.map +1 -1
  42. package/dist/core/bash-execution-controller.d.ts +9 -4
  43. package/dist/core/bash-execution-controller.d.ts.map +1 -1
  44. package/dist/core/bash-execution-controller.js +7 -6
  45. package/dist/core/bash-execution-controller.js.map +1 -1
  46. package/dist/core/bash-executor.d.ts +2 -0
  47. package/dist/core/bash-executor.d.ts.map +1 -1
  48. package/dist/core/bash-executor.js +10 -5
  49. package/dist/core/bash-executor.js.map +1 -1
  50. package/dist/core/context/context-store-retention.d.ts +4 -1
  51. package/dist/core/context/context-store-retention.d.ts.map +1 -1
  52. package/dist/core/context/context-store-retention.js +42 -151
  53. package/dist/core/context/context-store-retention.js.map +1 -1
  54. package/dist/core/context-pipeline.d.ts.map +1 -1
  55. package/dist/core/context-pipeline.js +6 -6
  56. package/dist/core/context-pipeline.js.map +1 -1
  57. package/dist/core/default-tool-surface.d.ts +7 -0
  58. package/dist/core/default-tool-surface.d.ts.map +1 -1
  59. package/dist/core/default-tool-surface.js +29 -10
  60. package/dist/core/default-tool-surface.js.map +1 -1
  61. package/dist/core/doctor.d.ts +10 -10
  62. package/dist/core/doctor.d.ts.map +1 -1
  63. package/dist/core/doctor.js +30 -20
  64. package/dist/core/doctor.js.map +1 -1
  65. package/dist/core/exec.d.ts +2 -0
  66. package/dist/core/exec.d.ts.map +1 -1
  67. package/dist/core/exec.js +26 -39
  68. package/dist/core/exec.js.map +1 -1
  69. package/dist/core/extensions/loader.d.ts +9 -2
  70. package/dist/core/extensions/loader.d.ts.map +1 -1
  71. package/dist/core/extensions/loader.js +105 -21
  72. package/dist/core/extensions/loader.js.map +1 -1
  73. package/dist/core/extensions/types.d.ts +13 -3
  74. package/dist/core/extensions/types.d.ts.map +1 -1
  75. package/dist/core/extensions/types.js +3 -0
  76. package/dist/core/extensions/types.js.map +1 -1
  77. package/dist/core/footer-data-provider.d.ts.map +1 -1
  78. package/dist/core/footer-data-provider.js +2 -0
  79. package/dist/core/footer-data-provider.js.map +1 -1
  80. package/dist/core/goals/goal-state.d.ts +10 -0
  81. package/dist/core/goals/goal-state.d.ts.map +1 -1
  82. package/dist/core/goals/goal-state.js +37 -0
  83. package/dist/core/goals/goal-state.js.map +1 -1
  84. package/dist/core/goals/goal-tool-core.d.ts +11 -0
  85. package/dist/core/goals/goal-tool-core.d.ts.map +1 -1
  86. package/dist/core/goals/goal-tool-core.js +51 -1
  87. package/dist/core/goals/goal-tool-core.js.map +1 -1
  88. package/dist/core/improvement-loop.d.ts.map +1 -1
  89. package/dist/core/improvement-loop.js +26 -5
  90. package/dist/core/improvement-loop.js.map +1 -1
  91. package/dist/core/memory/memory-manager.d.ts.map +1 -1
  92. package/dist/core/memory/memory-manager.js +1 -0
  93. package/dist/core/memory/memory-manager.js.map +1 -1
  94. package/dist/core/model-capability.d.ts.map +1 -1
  95. package/dist/core/model-capability.js +2 -0
  96. package/dist/core/model-capability.js.map +1 -1
  97. package/dist/core/model-router/tool-escalation.d.ts.map +1 -1
  98. package/dist/core/model-router/tool-escalation.js +17 -3
  99. package/dist/core/model-router/tool-escalation.js.map +1 -1
  100. package/dist/core/models/fitness-store.d.ts.map +1 -1
  101. package/dist/core/models/fitness-store.js +1 -1
  102. package/dist/core/models/fitness-store.js.map +1 -1
  103. package/dist/core/models/local-runtime.d.ts +6 -4
  104. package/dist/core/models/local-runtime.d.ts.map +1 -1
  105. package/dist/core/models/local-runtime.js +108 -36
  106. package/dist/core/models/local-runtime.js.map +1 -1
  107. package/dist/core/output-guard.d.ts.map +1 -1
  108. package/dist/core/output-guard.js +23 -8
  109. package/dist/core/output-guard.js.map +1 -1
  110. package/dist/core/package-manager.d.ts.map +1 -1
  111. package/dist/core/package-manager.js +44 -59
  112. package/dist/core/package-manager.js.map +1 -1
  113. package/dist/core/profile-resource-selection.d.ts +16 -0
  114. package/dist/core/profile-resource-selection.d.ts.map +1 -1
  115. package/dist/core/profile-resource-selection.js +41 -0
  116. package/dist/core/profile-resource-selection.js.map +1 -1
  117. package/dist/core/python-runtime.d.ts +46 -0
  118. package/dist/core/python-runtime.d.ts.map +1 -0
  119. package/dist/core/python-runtime.js +157 -0
  120. package/dist/core/python-runtime.js.map +1 -0
  121. package/dist/core/reflection-controller.d.ts.map +1 -1
  122. package/dist/core/reflection-controller.js +18 -1
  123. package/dist/core/reflection-controller.js.map +1 -1
  124. package/dist/core/reload-blockers.d.ts +1 -0
  125. package/dist/core/reload-blockers.d.ts.map +1 -1
  126. package/dist/core/reload-blockers.js +6 -2
  127. package/dist/core/reload-blockers.js.map +1 -1
  128. package/dist/core/resource-loader.d.ts +2 -0
  129. package/dist/core/resource-loader.d.ts.map +1 -1
  130. package/dist/core/resource-loader.js +50 -28
  131. package/dist/core/resource-loader.js.map +1 -1
  132. package/dist/core/runtime-builder.d.ts +4 -0
  133. package/dist/core/runtime-builder.d.ts.map +1 -1
  134. package/dist/core/runtime-builder.js +31 -9
  135. package/dist/core/runtime-builder.js.map +1 -1
  136. package/dist/core/security/untrusted-boundary.d.ts +2 -2
  137. package/dist/core/security/untrusted-boundary.d.ts.map +1 -1
  138. package/dist/core/security/untrusted-boundary.js +4 -3
  139. package/dist/core/security/untrusted-boundary.js.map +1 -1
  140. package/dist/core/settings-manager.d.ts.map +1 -1
  141. package/dist/core/settings-manager.js +3 -1
  142. package/dist/core/settings-manager.js.map +1 -1
  143. package/dist/core/slash-commands.d.ts.map +1 -1
  144. package/dist/core/slash-commands.js +9 -1
  145. package/dist/core/slash-commands.js.map +1 -1
  146. package/dist/core/system-prompt.d.ts.map +1 -1
  147. package/dist/core/system-prompt.js +13 -2
  148. package/dist/core/system-prompt.js.map +1 -1
  149. package/dist/core/tasks/session-task-state.d.ts +10 -0
  150. package/dist/core/tasks/session-task-state.d.ts.map +1 -0
  151. package/dist/core/tasks/session-task-state.js +29 -0
  152. package/dist/core/tasks/session-task-state.js.map +1 -0
  153. package/dist/core/tasks/task-command.d.ts +30 -0
  154. package/dist/core/tasks/task-command.d.ts.map +1 -0
  155. package/dist/core/tasks/task-command.js +79 -0
  156. package/dist/core/tasks/task-command.js.map +1 -0
  157. package/dist/core/tasks/task-state.d.ts +71 -0
  158. package/dist/core/tasks/task-state.d.ts.map +1 -0
  159. package/dist/core/tasks/task-state.js +372 -0
  160. package/dist/core/tasks/task-state.js.map +1 -0
  161. package/dist/core/tool-selection/tool-selection-controller.d.ts.map +1 -1
  162. package/dist/core/tool-selection/tool-selection-controller.js +1 -1
  163. package/dist/core/tool-selection/tool-selection-controller.js.map +1 -1
  164. package/dist/core/toolkit/script-runner.d.ts.map +1 -1
  165. package/dist/core/toolkit/script-runner.js +58 -24
  166. package/dist/core/toolkit/script-runner.js.map +1 -1
  167. package/dist/core/tools/bash.d.ts +20 -2
  168. package/dist/core/tools/bash.d.ts.map +1 -1
  169. package/dist/core/tools/bash.js +132 -220
  170. package/dist/core/tools/bash.js.map +1 -1
  171. package/dist/core/tools/extensionify.d.ts +2 -1
  172. package/dist/core/tools/extensionify.d.ts.map +1 -1
  173. package/dist/core/tools/extensionify.js +11 -8
  174. package/dist/core/tools/extensionify.js.map +1 -1
  175. package/dist/core/tools/find.d.ts.map +1 -1
  176. package/dist/core/tools/find.js +57 -48
  177. package/dist/core/tools/find.js.map +1 -1
  178. package/dist/core/tools/git-filter.d.ts.map +1 -1
  179. package/dist/core/tools/git-filter.js +20 -32
  180. package/dist/core/tools/git-filter.js.map +1 -1
  181. package/dist/core/tools/goal.d.ts +1 -1
  182. package/dist/core/tools/goal.d.ts.map +1 -1
  183. package/dist/core/tools/goal.js +10 -3
  184. package/dist/core/tools/goal.js.map +1 -1
  185. package/dist/core/tools/grep.d.ts.map +1 -1
  186. package/dist/core/tools/grep.js +92 -80
  187. package/dist/core/tools/grep.js.map +1 -1
  188. package/dist/core/tools/index.d.ts +9 -6
  189. package/dist/core/tools/index.d.ts.map +1 -1
  190. package/dist/core/tools/index.js +24 -9
  191. package/dist/core/tools/index.js.map +1 -1
  192. package/dist/core/tools/output-accumulator.d.ts +2 -0
  193. package/dist/core/tools/output-accumulator.d.ts.map +1 -1
  194. package/dist/core/tools/output-accumulator.js +7 -4
  195. package/dist/core/tools/output-accumulator.js.map +1 -1
  196. package/dist/core/tools/python.d.ts +64 -0
  197. package/dist/core/tools/python.d.ts.map +1 -0
  198. package/dist/core/tools/python.js +241 -0
  199. package/dist/core/tools/python.js.map +1 -0
  200. package/dist/core/tools/read.d.ts.map +1 -1
  201. package/dist/core/tools/read.js +4 -3
  202. package/dist/core/tools/read.js.map +1 -1
  203. package/dist/core/tools/shell-contract-router.d.ts +13 -0
  204. package/dist/core/tools/shell-contract-router.d.ts.map +1 -0
  205. package/dist/core/tools/shell-contract-router.js +295 -0
  206. package/dist/core/tools/shell-contract-router.js.map +1 -0
  207. package/dist/core/tools/task-steps.d.ts +46 -0
  208. package/dist/core/tools/task-steps.d.ts.map +1 -0
  209. package/dist/core/tools/task-steps.js +160 -0
  210. package/dist/core/tools/task-steps.js.map +1 -0
  211. package/dist/index.d.ts +2 -1
  212. package/dist/index.d.ts.map +1 -1
  213. package/dist/index.js +2 -1
  214. package/dist/index.js.map +1 -1
  215. package/dist/main.d.ts +2 -0
  216. package/dist/main.d.ts.map +1 -1
  217. package/dist/main.js +23 -4
  218. package/dist/main.js.map +1 -1
  219. package/dist/migrations.d.ts.map +1 -1
  220. package/dist/migrations.js +18 -4
  221. package/dist/migrations.js.map +1 -1
  222. package/dist/modes/interactive/auth-dialogs-controller.d.ts +10 -0
  223. package/dist/modes/interactive/auth-dialogs-controller.d.ts.map +1 -1
  224. package/dist/modes/interactive/auth-dialogs-controller.js +94 -27
  225. package/dist/modes/interactive/auth-dialogs-controller.js.map +1 -1
  226. package/dist/modes/interactive/auto-learn-controller.d.ts.map +1 -1
  227. package/dist/modes/interactive/auto-learn-controller.js +2 -1
  228. package/dist/modes/interactive/auto-learn-controller.js.map +1 -1
  229. package/dist/modes/interactive/components/bordered-loader.d.ts +1 -0
  230. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
  231. package/dist/modes/interactive/components/bordered-loader.js +8 -0
  232. package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
  233. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  234. package/dist/modes/interactive/components/extension-editor.js +6 -15
  235. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  236. package/dist/modes/interactive/components/login-dialog.d.ts +3 -1
  237. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  238. package/dist/modes/interactive/components/login-dialog.js +20 -8
  239. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  240. package/dist/modes/interactive/components/profile-resource-editor.d.ts +4 -1
  241. package/dist/modes/interactive/components/profile-resource-editor.d.ts.map +1 -1
  242. package/dist/modes/interactive/components/profile-resource-editor.js +22 -39
  243. package/dist/modes/interactive/components/profile-resource-editor.js.map +1 -1
  244. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  245. package/dist/modes/interactive/components/session-selector.js +1 -1
  246. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  247. package/dist/modes/interactive/config-backup.d.ts +1 -0
  248. package/dist/modes/interactive/config-backup.d.ts.map +1 -1
  249. package/dist/modes/interactive/config-backup.js +14 -3
  250. package/dist/modes/interactive/config-backup.js.map +1 -1
  251. package/dist/modes/interactive/editor-overlay-host.d.ts +12 -0
  252. package/dist/modes/interactive/editor-overlay-host.d.ts.map +1 -1
  253. package/dist/modes/interactive/editor-overlay-host.js +55 -0
  254. package/dist/modes/interactive/editor-overlay-host.js.map +1 -1
  255. package/dist/modes/interactive/extension-ui-host.d.ts +2 -1
  256. package/dist/modes/interactive/extension-ui-host.d.ts.map +1 -1
  257. package/dist/modes/interactive/extension-ui-host.js +161 -96
  258. package/dist/modes/interactive/extension-ui-host.js.map +1 -1
  259. package/dist/modes/interactive/external-editor.d.ts.map +1 -1
  260. package/dist/modes/interactive/external-editor.js +23 -28
  261. package/dist/modes/interactive/external-editor.js.map +1 -1
  262. package/dist/modes/interactive/interactive-mode.d.ts +1 -0
  263. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  264. package/dist/modes/interactive/interactive-mode.js +26 -8
  265. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  266. package/dist/modes/interactive/profile-menu-controller.d.ts +5 -1
  267. package/dist/modes/interactive/profile-menu-controller.d.ts.map +1 -1
  268. package/dist/modes/interactive/profile-menu-controller.js +118 -24
  269. package/dist/modes/interactive/profile-menu-controller.js.map +1 -1
  270. package/dist/modes/interactive/resource-shell-commands.d.ts +1 -0
  271. package/dist/modes/interactive/resource-shell-commands.d.ts.map +1 -1
  272. package/dist/modes/interactive/resource-shell-commands.js +5 -1
  273. package/dist/modes/interactive/resource-shell-commands.js.map +1 -1
  274. package/dist/modes/interactive/session-flow-commands.d.ts +10 -0
  275. package/dist/modes/interactive/session-flow-commands.d.ts.map +1 -1
  276. package/dist/modes/interactive/session-flow-commands.js +143 -7
  277. package/dist/modes/interactive/session-flow-commands.js.map +1 -1
  278. package/dist/modes/interactive/session-io-commands.d.ts.map +1 -1
  279. package/dist/modes/interactive/session-io-commands.js +80 -50
  280. package/dist/modes/interactive/session-io-commands.js.map +1 -1
  281. package/dist/modes/interactive/startup-checks.d.ts.map +1 -1
  282. package/dist/modes/interactive/startup-checks.js +14 -17
  283. package/dist/modes/interactive/startup-checks.js.map +1 -1
  284. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  285. package/dist/modes/rpc/rpc-client.js +20 -19
  286. package/dist/modes/rpc/rpc-client.js.map +1 -1
  287. package/dist/package-manager-cli.d.ts.map +1 -1
  288. package/dist/package-manager-cli.js +10 -19
  289. package/dist/package-manager-cli.js.map +1 -1
  290. package/dist/utils/child-process.d.ts +13 -7
  291. package/dist/utils/child-process.d.ts.map +1 -1
  292. package/dist/utils/child-process.js +56 -3
  293. package/dist/utils/child-process.js.map +1 -1
  294. package/dist/utils/clipboard-image.d.ts.map +1 -1
  295. package/dist/utils/clipboard-image.js +3 -2
  296. package/dist/utils/clipboard-image.js.map +1 -1
  297. package/dist/utils/clipboard.d.ts.map +1 -1
  298. package/dist/utils/clipboard.js +17 -10
  299. package/dist/utils/clipboard.js.map +1 -1
  300. package/dist/utils/external-editor-command.d.ts +8 -0
  301. package/dist/utils/external-editor-command.d.ts.map +1 -0
  302. package/dist/utils/external-editor-command.js +60 -0
  303. package/dist/utils/external-editor-command.js.map +1 -0
  304. package/dist/utils/paths.d.ts.map +1 -1
  305. package/dist/utils/paths.js +10 -2
  306. package/dist/utils/paths.js.map +1 -1
  307. package/dist/utils/shell.d.ts +6 -8
  308. package/dist/utils/shell.d.ts.map +1 -1
  309. package/dist/utils/shell.js +61 -70
  310. package/dist/utils/shell.js.map +1 -1
  311. package/dist/utils/tools-manager.d.ts +23 -3
  312. package/dist/utils/tools-manager.d.ts.map +1 -1
  313. package/dist/utils/tools-manager.js +117 -21
  314. package/dist/utils/tools-manager.js.map +1 -1
  315. package/dist/utils/work-directory.d.ts +36 -0
  316. package/dist/utils/work-directory.d.ts.map +1 -0
  317. package/dist/utils/work-directory.js +462 -0
  318. package/dist/utils/work-directory.js.map +1 -0
  319. package/docs/index.md +4 -0
  320. package/docs/python.md +43 -0
  321. package/docs/resources.md +2 -2
  322. package/docs/rpc.md +1 -1
  323. package/docs/settings.md +7 -3
  324. package/docs/task-steps.md +90 -0
  325. package/docs/termux.md +7 -0
  326. package/docs/tmux-agent-manager.md +48 -0
  327. package/docs/usage.md +5 -6
  328. package/docs/windows.md +104 -8
  329. package/docs/work-directory.md +41 -0
  330. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  331. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  332. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  333. package/examples/extensions/sandbox/package-lock.json +2 -2
  334. package/examples/extensions/sandbox/package.json +1 -1
  335. package/examples/extensions/with-deps/package-lock.json +2 -2
  336. package/examples/extensions/with-deps/package.json +1 -1
  337. package/npm-shrinkwrap.json +32 -37
  338. package/package.json +9 -7
  339. package/scripts/postinstall-python-runtime.mjs +20 -0
@@ -0,0 +1,90 @@
1
+ # Task steps
2
+
3
+ Pi includes a native `task_steps` tool for tracking ordered work inside the active session. It is enabled by default and persists versioned snapshots in the session JSONL, so resumed sessions recover the checklist without a separate extension or global state directory.
4
+
5
+ Task steps complement the native goal and delegation systems:
6
+
7
+ - `task_steps` tracks the current execution checklist.
8
+ - `goal` records durable outcome requirements and evidence.
9
+ - `delegate` starts isolated background worker lanes; `delegate_status` retrieves their results.
10
+
11
+ ## Statuses
12
+
13
+ Each step has one of these statuses:
14
+
15
+ - `pending`
16
+ - `in_progress`
17
+ - `completed`
18
+ - `blocked`
19
+ - `cancelled`
20
+
21
+ Starting a step automatically returns any previous `in_progress` step to `pending`, so at most one step is active. Completed and cancelled steps are hidden from normal list output but remain in session state until compacted or cleared.
22
+
23
+ ## Tool actions
24
+
25
+ The native tool supports:
26
+
27
+ - `set`: replace the ordered checklist.
28
+ - `intake`: replace the checklist with a complete item-preserving `steps` array.
29
+ - `add`: append one step.
30
+ - `update`: change a selected step and append notes or evidence.
31
+ - `list`: show open work; set `showCompleted` to include terminal steps.
32
+ - `compact`: archive completed and cancelled counts while retaining open work.
33
+ - `clear`: remove all tracked and archived steps.
34
+
35
+ An update selector can be `current`/`active`, an exact step ID, a unique ID prefix, or unique step content. IDs are shown in tool and command output for unambiguous updates.
36
+
37
+ Example:
38
+
39
+ ```json
40
+ {
41
+ "action": "set",
42
+ "steps": [
43
+ { "content": "Reproduce the issue", "status": "in_progress" },
44
+ { "content": "Implement the smallest fix" },
45
+ { "content": "Run focused regression tests" }
46
+ ]
47
+ }
48
+ ```
49
+
50
+ After validation:
51
+
52
+ ```json
53
+ {
54
+ "action": "update",
55
+ "id": "current",
56
+ "status": "completed",
57
+ "evidence": ["test/regression.test.ts passed"]
58
+ }
59
+ ```
60
+
61
+ ## Interactive commands
62
+
63
+ Use `/task` or its `/steps` alias:
64
+
65
+ ```text
66
+ /task # list open steps
67
+ /task all # include completed/cancelled steps
68
+ /task add <text>
69
+ /task start <selector>
70
+ /task done <selector> -- <evidence>
71
+ /task block <selector> -- <reason>
72
+ /task cancel <selector> -- <reason>
73
+ /task reopen <selector>
74
+ /task compact
75
+ /task clear
76
+ ```
77
+
78
+ `/task <text>` is shorthand for `/task add <text>`.
79
+
80
+ ## Background work migration
81
+
82
+ The old user-level task-steps extension also implemented detached jobs, teams, and polling. Those duplicate execution commands are not part of the native checklist. `/task run`, `/task route`, `/task bg`, and `/task team` now point to Pi's session-owned `delegate` and `delegate_status` tools instead.
83
+
84
+ Native worker lanes emit terminal handoff notifications and retain bounded results for explicit retrieval; task steps do not poll worker processes or inspect logs to detect completion.
85
+
86
+ ## Persistence and isolation
87
+
88
+ Task state is stored only as custom entries in the active `SessionManager`. It follows normal session persistence, resume, and lifecycle behavior. Separate sessions cannot read or mutate each other's checklists, and malformed or future-version snapshots are ignored during restore.
89
+
90
+ Before each agent turn, Pi injects a hidden bounded reminder containing at most 12 open steps and a first-step steering line. Completed/cancelled history, generated IDs, and full evidence are omitted from that reminder. `/task` and `/steps` render the same native state in the interactive status surface; model tool calls remain visible in the transcript.
package/docs/termux.md CHANGED
@@ -22,10 +22,17 @@ npm install -g --ignore-scripts @caupulican/pi-adaptative
22
22
  # Create config directory
23
23
  mkdir -p ~/.pi/agent
24
24
 
25
+ # Provision required managed tools (installs uv with Termux pkg when absent)
26
+ pi doctor
27
+
25
28
  # Run pi
26
29
  pi
27
30
  ```
28
31
 
32
+ ## Native Python and uv
33
+
34
+ The built-in `python` tool requires `uv`. The documented npm command uses `--ignore-scripts`, so `pi doctor` performs the bounded provisioning step after installation. On Termux, Pi runs `pkg install -y uv`; it does not try to execute incompatible desktop Linux binaries. First Python-tool use retries the same provisioning path if doctor was skipped.
35
+
29
36
  ## Clipboard Support
30
37
 
31
38
  Clipboard operations use `termux-clipboard-set` and `termux-clipboard-get` when running in Termux. The Termux:API app must be installed for these to work.
@@ -0,0 +1,48 @@
1
+ # tmux agent manager
2
+
3
+ Pi ships an optional `tmux-agent-manager` extension for external interactive provider teams. The extension is packaged with Pi; do not install or maintain a separate copy under `~/.pi/agent/extensions`.
4
+
5
+ ## Enable
6
+
7
+ Bundled extensions are discoverable in the resource-profile editor and load only when an active profile explicitly allows them. Example settings:
8
+
9
+ ```json
10
+ {
11
+ "activeResourceProfiles": ["tmux-agents"],
12
+ "resourceProfiles": {
13
+ "tmux-agents": {
14
+ "extensions": {
15
+ "allow": ["tmux-agent-manager"]
16
+ }
17
+ }
18
+ }
19
+ }
20
+ ```
21
+
22
+ Use `allow: ["*"]` in a broader trusted profile to enable all bundled extensions. `--no-extensions` still disables the manager.
23
+
24
+ ## Requirements
25
+
26
+ - `tmux` on `PATH`
27
+ - Interactive provider CLIs used by the selected team template, such as `pi`, `claude`, `agy`, or `codex`
28
+ - No credentials in task text or command strings
29
+
30
+ Run `/tmux-agents` or call `tmux_agent_manager` with `action: "status"` to check availability.
31
+
32
+ ## Completion contract
33
+
34
+ `fire_task` creates panes, injects prompts, and arms one event-driven `tmux pipe-pane` watcher per worker before returning. Each watcher:
35
+
36
+ 1. consumes pane output as it arrives;
37
+ 2. writes one atomic terminal result when it sees the worker's `DONE` or `BLOCKED` marker, the pane closes, or its one-shot deadline expires;
38
+ 3. updates tmux status metadata and emits a display notification.
39
+
40
+ The parent Pi session watches result-file events. Once every worker is terminal, it records an exactly-once notification marker and sends a bounded, source-labelled untrusted handoff with `triggerTurn: true`. Startup performs one reconciliation pass for terminal events produced while Pi was offline.
41
+
42
+ Do not poll pane state, capture pane output, or inspect logs merely to detect completion. Use `job_status` or terminal artifacts after the handoff only when its bounded evidence is insufficient.
43
+
44
+ ## Safety
45
+
46
+ Launch actions run directly unless `dryRun: true` is requested. Stop actions can discard active pane work, so they remain previews by default and require `confirm: "yes-tmux-stop"` for execution. Existing sessions are never replaced silently; `force: true` archives an old job directory but does not kill a live tmux session.
47
+
48
+ The package includes the extension README and team templates under `dist/bundled-resources/extensions/tmux-agent-manager/`; the source repository keeps them under the matching `src/bundled-resources/` path.
package/docs/usage.md CHANGED
@@ -31,8 +31,8 @@ The editor can be replaced temporarily by built-in UI such as `/settings` or by
31
31
  | Path completion | Press Tab to complete paths |
32
32
  | Multi-line input | Shift+Enter, or Ctrl+Enter on Windows Terminal |
33
33
  | Images | Paste with Ctrl+V, Alt+V on Windows, or drag into the terminal |
34
- | Shell command | `!command` runs and sends output to the model |
35
- | Hidden shell command | `!!command` runs without sending output to the model |
34
+ | Platform shell command | `!command` runs in PowerShell on Windows or Bash elsewhere and sends output to the model |
35
+ | Hidden platform shell command | `!!command` runs without sending output to the model |
36
36
  | External editor | Ctrl+G opens `$VISUAL` or `$EDITOR` |
37
37
 
38
38
  See [Keybindings](keybindings.md) for all shortcuts and customization.
@@ -64,6 +64,7 @@ Type `/` in the editor to open command completion. Extensions can register custo
64
64
  | `/toolhealth` | Show tool repair diagnostics and learned standing rules |
65
65
  | `/toolprobe [provider/model]` | Probe native/text tool-call support and persist a host-local verdict |
66
66
  | `/toolrule-remove <model> <mode>` | Remove one learned tool repair standing rule |
67
+ | `/task`, `/steps` | Manage the native session checklist; see [Task steps](task-steps.md) |
67
68
  | `/quit` | Quit pi |
68
69
 
69
70
  ## Message Queue
@@ -201,7 +202,7 @@ cat README.md | pi -p "Summarize this text"
201
202
  | `--no-builtin-tools`, `-nbt` | Disable built-in tools but keep extension/custom tools enabled |
202
203
  | `--no-tools`, `-nt` | Disable all tools |
203
204
 
204
- Built-in tools: `read`, `bash`, `edit`, `write`, `grep`, `find`, `ls`.
205
+ Built-in tools include `read`, `edit`, `write`, `grep`, `find`, `ls`, and the uv-managed `python` tool. The agent always sees one stable `bash` tool contract. On Windows, Pi parses its supported simple-command grammar and converts it deterministically to PowerShell; unsupported shell constructs fail closed. Agent, interactive, and RPC shell calls have a 120-second wall-clock default, and Python calls default to 30 seconds. Native goal, task-step, delegation, context, and toolkit tools are activated when their capability/profile gates allow them.
205
206
 
206
207
  ### Resource Options
207
208
 
@@ -292,8 +293,6 @@ pi --exclude-tools ask_question
292
293
 
293
294
  ## Design Principles
294
295
 
295
- Pi keeps the core small and pushes workflow-specific behavior into extensions, skills, prompt templates, and packages.
296
-
297
- It intentionally does not include built-in MCP, sub-agents, permission popups, plan mode, to-dos, or background bash. You can build or install those workflows as extensions or packages, or use external tools such as containers and tmux.
296
+ Pi keeps the core focused and pushes project-specific workflows into extensions, skills, prompt templates, and packages. Core includes the cross-project lifecycle primitives it depends on itself: native goals, task steps, bounded worker delegation, and a platform-selected shell. Broader integrations such as MCP and external-provider teams remain extension/package territory.
298
297
 
299
298
  For the full rationale, read the [blog post](https://mariozechner.at/posts/2025-11-30-pi-coding-agent/).
package/docs/windows.md CHANGED
@@ -1,17 +1,113 @@
1
- # Windows Setup
1
+ # Windows
2
2
 
3
- Pi requires a bash shell on Windows. Checked locations (in order):
3
+ Pi supports native Windows on x64 and ARM64. The Node.js package runs under Windows Node.js; release archives contain a native `pi.exe`. WSL is optional, not required.
4
4
 
5
- 1. Custom path from `~/.pi/agent/settings.json`
6
- 2. Git Bash (`C:\Program Files\Git\bin\bash.exe`)
7
- 3. `bash.exe` on PATH (Cygwin, MSYS2, WSL)
5
+ ## Prerequisites
8
6
 
9
- For most users, [Git for Windows](https://git-scm.com/download/win) is sufficient.
7
+ - Windows 10 or newer
8
+ - Node.js 22.19 or newer for the npm package
9
+ - Windows PowerShell 5.1 or PowerShell 7
10
+ - Git for Windows for native Git commands
11
+ - Windows Terminal, WezTerm, or the VS Code terminal for the best keyboard support
10
12
 
11
- ## Custom Shell Path
13
+ The model always sees one stable `bash` tool contract. On Windows, Pi parses one simple command, converts supported Bash-like builtins and external argv deterministically to PowerShell, and fails closed for unsupported syntax. The agent never selects a shell or emits native PowerShell. Pi resolves the Windows backend in this order:
14
+
15
+ 1. `shellPath` in `%USERPROFILE%\.pi\agent\settings.json`
16
+ 2. PowerShell 7 (`pwsh.exe`) on `PATH` or under `Program Files`
17
+ 3. Windows PowerShell (`powershell.exe`) under `System32` or on `PATH`
18
+
19
+ The backend runs with `-NoLogo -NoProfile -NonInteractive -Command` and a best-effort UTF-8 console-output prefix. Supported contract forms include quoted external commands and bounded forms of `pwd`, `echo`, `which`, `ls`, `cat`, `head`, `tail`, `grep`, `find`, `rm`, `cp`, `mv`, `mkdir`, and `touch`. Pipelines, redirection, variable or command expansion, shell chaining, nested shells, POSIX scripts, unclosed quotes, and unsupported builtin options return an actionable error instead of reaching PowerShell unchanged. Every agent, interactive, and RPC shell call has a 120-second wall-clock default, even while output continues.
20
+
21
+ The native `python` tool uses the same contract on Windows and Unix-like systems. Pi provisions a pinned uv executable, resolves or installs Python 3.13 through uv, then spawns the interpreter directly with UTF-8 and bytecode-cache suppression. Python calls default to 30 seconds. See [Native Python](python.md).
22
+
23
+ To select an explicit PowerShell executable:
24
+
25
+ ```json
26
+ {
27
+ "shellPath": "C:\\Program Files\\PowerShell\\7\\pwsh.exe"
28
+ }
29
+ ```
30
+
31
+ ## Install
32
+
33
+ With npm:
34
+
35
+ ```powershell
36
+ npm install -g --ignore-scripts @caupulican/pi-adaptative
37
+ pi
38
+ ```
39
+
40
+ Or download `pi-windows-x64.zip` or `pi-windows-arm64.zip` from the matching GitHub release, extract it, and run `pi.exe`.
41
+
42
+ ## Capability contract
43
+
44
+ A Windows release is expected to preserve the same Pi features as Linux and macOS. Platform prerequisites and operating-system concepts are called out explicitly instead of being silently downgraded.
45
+
46
+ | Capability | Windows contract | Repository acceptance evidence |
47
+ | --- | --- | --- |
48
+ | CLI, print, JSON, and RPC modes | Native | Full package build and test suite on `windows-latest` |
49
+ | Interactive TUI and configurable keybindings | Native | TUI tests on Windows; packaged `win32-console-mode.node`; Windows Terminal mappings below |
50
+ | `read`, `write`, `edit`, `grep`, `find`, and stable `bash` contract tools | Native; Bash-like commands are routed deterministically to PowerShell | Router/platform-shell tests plus native Windows CI; release `pi.exe` executes the platform shell through RPC |
51
+ | Provider APIs, OAuth, API-key auth, model routing, and retries | Native | AI, agent, and coding-agent tests on Windows; live credentials are not used in CI |
52
+ | Extensions, skills, prompts, themes, and pi packages | Native | Discovery, loading, reload, package-manager, and isolation tests on Windows |
53
+ | Sessions, branching, compaction, context storage, export, and sharing | Native | Agent and coding-agent session tests on Windows |
54
+ | Background delegation, goal continuation, reflection, and worker queues | Native | Delegation and liveness suites on Windows; no tmux dependency |
55
+ | Clipboard text, clipboard images, and image processing | Native | Windows native clipboard binding is packaged per architecture; conversion tests run headlessly |
56
+ | Managed `rg`, `fd`, Ollama, and Transformers runtimes | Native where the upstream runtime supports the architecture | Platform selection, install, process, and lifecycle tests on Windows |
57
+ | Toolkit scripts | Native | PowerShell, Bash, and `uv` runners use the same bounded process lifecycle |
58
+ | External editor and browser launch | Native | Windows process-launch tests; `$EDITOR`/`$VISUAL` and the default browser remain user choices |
59
+ | Self-update | npm and pnpm global installs | Windows native-dependency quarantine and update-path tests |
60
+ | Release binary | Native x64 and ARM64 | Each archive runs `--version`, `--help`, `--list-models`, RPC state, and an RPC platform-shell command on its matching GitHub-hosted Windows architecture |
61
+ | tmux agent manager | Available only when a real tmux is supplied by WSL, MSYS2, or Cygwin | Optional integration; core background delegation does not require tmux |
62
+ | Suspend with `Ctrl+Z` | Not an applicable Windows process concept | Pi reports the platform limitation instead of hanging or pretending to suspend |
63
+
64
+ The source-of-truth gates are [CI](https://github.com/Caupulican/pi-adaptative/actions/workflows/ci.yml) and [release binaries](https://github.com/Caupulican/pi-adaptative/actions/workflows/build-binaries.yml). Linux-only inspection is not accepted as Windows proof: the CI workflow runs the repository on a real Windows host, and the release workflow runs each Windows executable on its matching x64 or ARM64 host before publishing it.
65
+
66
+ Headless CI cannot assert a user's clipboard contents, complete an OAuth consent screen, or judge a terminal emulator's rendering. It does verify the code paths, native modules, process lifecycle, and release executables. Those external interactions remain terminal-, account-, or service-dependent rather than Windows capability downgrades.
67
+
68
+ ## Windows Terminal keys
69
+
70
+ Windows Terminal consumes some modified key combinations unless they are forwarded. Open its JSON settings (`Ctrl+Shift+,`) and add these actions:
12
71
 
13
72
  ```json
14
73
  {
15
- "shellPath": "C:\\cygwin64\\bin\\bash.exe"
74
+ "actions": [
75
+ {
76
+ "command": { "action": "sendInput", "input": "\u001b[13;2u" },
77
+ "keys": "shift+enter"
78
+ },
79
+ {
80
+ "command": { "action": "sendInput", "input": "\u001b[13;3u" },
81
+ "keys": "alt+enter"
82
+ }
83
+ ]
16
84
  }
17
85
  ```
86
+
87
+ - `Shift+Enter` inserts a newline.
88
+ - `Alt+Enter` queues a follow-up. This replaces Windows Terminal's default fullscreen binding.
89
+
90
+ See [Terminal setup](terminal-setup.md) for VS Code, WezTerm, and other terminals.
91
+
92
+ ## Troubleshooting
93
+
94
+ ### No PowerShell executable found
95
+
96
+ Restore Windows PowerShell, install PowerShell 7, or set `shellPath` to an existing `pwsh.exe`/`powershell.exe`. Confirm discovery from a terminal:
97
+
98
+ ```powershell
99
+ Get-Command pwsh, powershell -ErrorAction SilentlyContinue
100
+ ```
101
+
102
+ ### Modified Enter does not reach Pi
103
+
104
+ Apply the Windows Terminal mappings above, then fully close and reopen the terminal.
105
+
106
+ ### Native module fails to load
107
+
108
+ Confirm that the package or archive matches the machine architecture (`x64` or `arm64`). Reinstall without lifecycle scripts:
109
+
110
+ ```powershell
111
+ npm uninstall -g @caupulican/pi-adaptative
112
+ npm install -g --ignore-scripts @caupulican/pi-adaptative
113
+ ```
@@ -0,0 +1,41 @@
1
+ # Transient work directory
2
+
3
+ Pi-owned transient files live under one multi-tenant root:
4
+
5
+ ```text
6
+ ~/.pi/agent/work/<category>/<tenant>/<run-id>/
7
+ ```
8
+
9
+ `PI_ADAPTATIVE_CODING_AGENT_DIR` still relocates the whole agent directory. Pi exposes the resolved work root to child processes as `PI_WORK_ROOT`.
10
+
11
+ ## Contract
12
+
13
+ - `category`, `tenant`, and `run-id` are lowercase portable path segments, at most 64 characters.
14
+ - Windows-reserved names, traversal, separators, trailing dots, and case-ambiguous uppercase names are rejected on every platform.
15
+ - Every owned run has `.pi-work-run.json` metadata.
16
+ - Active processes hold PID/host lease markers under `.leases/`.
17
+ - Cleanup never follows symlinks, never deletes directories without a matching ownership manifest, and rechecks leases under an exclusive cleanup marker before removal.
18
+ - Retention is bounded by age, run count, total bytes, scanned runs, recursive entries, and directory depth. An incomplete size scan is treated as over-budget instead of undercounted.
19
+ - Released work remains available for diagnostics until retention removes it. A caller that owns a one-shot run may release and delete it immediately.
20
+
21
+ The default per-tenant retention policy is 30 days, 64 inactive runs, 512 MiB, 10,000 scanned runs, and 100,000 recursively scanned entries. Active runs are never removed to satisfy those limits.
22
+
23
+ ## Repository API
24
+
25
+ Extensions and internal code can use the public helpers:
26
+
27
+ ```ts
28
+ import { acquireWorkRun, getProcessWorkRun, pruneWorkTenant } from "@caupulican/pi-adaptative";
29
+ ```
30
+
31
+ - `acquireWorkRun(...)` returns a unique or named leased run. Call `release()` when the operation ends.
32
+ - `getProcessWorkRun(...)` reuses one leased run for process-scoped output.
33
+ - `pruneWorkTenant(...)` applies bounded retention to one category and tenant.
34
+
35
+ Use a named run only for transient coordination that must be shared across Pi processes. Use a generated run for commands, reports, downloads, tests, benchmarks, probes, and output spills.
36
+
37
+ ## Not transient
38
+
39
+ Configuration and durable user data stay outside `work/`: `settings.json`, `auth.json`, `models.json`, `sessions/`, `state/`, `skills/`, `extensions/`, `prompts/`, `themes/`, profiles, backups, and managed binaries.
40
+
41
+ Do not put Automata memory or its graph in Pi's work directory. Automata remains an external memory system.
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "pi-extension-custom-provider",
3
- "version": "0.81.32",
3
+ "version": "0.81.37",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "pi-extension-custom-provider",
9
- "version": "0.81.32",
9
+ "version": "0.81.37",
10
10
  "dependencies": {
11
11
  "@anthropic-ai/sdk": "^0.52.0"
12
12
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pi-extension-custom-provider-anthropic",
3
3
  "private": true,
4
- "version": "0.81.32",
4
+ "version": "0.81.37",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "clean": "echo 'nothing to clean'",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pi-extension-custom-provider-gitlab-duo",
3
3
  "private": true,
4
- "version": "0.81.32",
4
+ "version": "0.81.37",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "clean": "echo 'nothing to clean'",
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "pi-extension-sandbox",
3
- "version": "0.81.32",
3
+ "version": "0.81.37",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "pi-extension-sandbox",
9
- "version": "0.81.32",
9
+ "version": "0.81.37",
10
10
  "dependencies": {
11
11
  "@anthropic-ai/sandbox-runtime": "^0.0.26"
12
12
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pi-extension-sandbox",
3
3
  "private": true,
4
- "version": "0.81.32",
4
+ "version": "0.81.37",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "clean": "echo 'nothing to clean'",
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "pi-extension-with-deps",
3
- "version": "0.81.32",
3
+ "version": "0.81.37",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "pi-extension-with-deps",
9
- "version": "0.81.32",
9
+ "version": "0.81.37",
10
10
  "dependencies": {
11
11
  "ms": "^2.1.3"
12
12
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pi-extension-with-deps",
3
3
  "private": true,
4
- "version": "0.81.32",
4
+ "version": "0.81.37",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "clean": "echo 'nothing to clean'",
@@ -1,18 +1,17 @@
1
1
  {
2
2
  "name": "@caupulican/pi-adaptative",
3
- "version": "0.81.32",
3
+ "version": "0.81.37",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@caupulican/pi-adaptative",
9
- "version": "0.81.32",
9
+ "version": "0.81.37",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
- "@caupulican/pi-agent-core": "^0.81.32",
13
- "@caupulican/pi-ai": "^0.81.32",
14
- "@caupulican/pi-tui": "^0.81.32",
15
- "@ff-labs/fff-node": "0.9.6",
12
+ "@caupulican/pi-agent-core": "^0.81.37",
13
+ "@caupulican/pi-ai": "^0.81.37",
14
+ "@caupulican/pi-tui": "^0.81.37",
16
15
  "@silvia-odwyer/photon-node": "0.3.4",
17
16
  "chalk": "5.6.2",
18
17
  "cross-spawn": "7.0.6",
@@ -25,10 +24,11 @@
25
24
  "minimatch": "10.2.5",
26
25
  "proper-lockfile": "4.1.2",
27
26
  "typebox": "1.1.38",
28
- "undici": "8.3.0",
27
+ "undici": "8.5.0",
29
28
  "yaml": "2.9.0"
30
29
  },
31
30
  "optionalDependencies": {
31
+ "@ff-labs/fff-node": "0.9.6",
32
32
  "@mariozechner/clipboard": "0.3.9"
33
33
  },
34
34
  "bin": {
@@ -475,11 +475,11 @@
475
475
  }
476
476
  },
477
477
  "node_modules/@caupulican/pi-agent-core": {
478
- "version": "0.81.32",
479
- "resolved": "https://registry.npmjs.org/@caupulican/pi-agent-core/-/pi-agent-core-0.81.32.tgz",
478
+ "version": "0.81.37",
479
+ "resolved": "https://registry.npmjs.org/@caupulican/pi-agent-core/-/pi-agent-core-0.81.37.tgz",
480
480
  "license": "MIT",
481
481
  "dependencies": {
482
- "@caupulican/pi-ai": "^0.81.32",
482
+ "@caupulican/pi-ai": "^0.81.37",
483
483
  "ignore": "7.0.5",
484
484
  "typebox": "1.1.38",
485
485
  "yaml": "2.9.0"
@@ -489,8 +489,8 @@
489
489
  }
490
490
  },
491
491
  "node_modules/@caupulican/pi-ai": {
492
- "version": "0.81.32",
493
- "resolved": "https://registry.npmjs.org/@caupulican/pi-ai/-/pi-ai-0.81.32.tgz",
492
+ "version": "0.81.37",
493
+ "resolved": "https://registry.npmjs.org/@caupulican/pi-ai/-/pi-ai-0.81.37.tgz",
494
494
  "license": "MIT",
495
495
  "dependencies": {
496
496
  "@anthropic-ai/sdk": "0.91.1",
@@ -542,8 +542,8 @@
542
542
  }
543
543
  },
544
544
  "node_modules/@caupulican/pi-tui": {
545
- "version": "0.81.32",
546
- "resolved": "https://registry.npmjs.org/@caupulican/pi-tui/-/pi-tui-0.81.32.tgz",
545
+ "version": "0.81.37",
546
+ "resolved": "https://registry.npmjs.org/@caupulican/pi-tui/-/pi-tui-0.81.37.tgz",
547
547
  "license": "MIT",
548
548
  "dependencies": {
549
549
  "get-east-asian-width": "1.6.0",
@@ -686,7 +686,8 @@
686
686
  "cpu": [
687
687
  "x64",
688
688
  "arm64"
689
- ]
689
+ ],
690
+ "optional": true
690
691
  },
691
692
  "node_modules/@google/genai": {
692
693
  "version": "1.52.0",
@@ -933,9 +934,9 @@
933
934
  "license": "BSD-3-Clause"
934
935
  },
935
936
  "node_modules/@protobufjs/eventemitter": {
936
- "version": "1.1.0",
937
- "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
938
- "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==",
937
+ "version": "1.1.1",
938
+ "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.1.tgz",
939
+ "integrity": "sha512-vW1GmwMZNnL+gMRaovlh9yZX74kc+TTU3FObkkurpMaRtBfLP3ldjS9KQWlwZgraRE0+dheEEoAxdzcJQ8eXZg==",
939
940
  "license": "BSD-3-Clause"
940
941
  },
941
942
  "node_modules/@protobufjs/fetch": {
@@ -953,12 +954,6 @@
953
954
  "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
954
955
  "license": "BSD-3-Clause"
955
956
  },
956
- "node_modules/@protobufjs/inquire": {
957
- "version": "1.1.2",
958
- "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.2.tgz",
959
- "integrity": "sha512-pa0vFRuws4wkvaXKK1uXZMAwAX4/t8ANaJo45iw/oQHNQ9q5xUzwgFmVJGXiga2BeN+zpX7Vf9vmsiIa2J+MUw==",
960
- "license": "BSD-3-Clause"
961
- },
962
957
  "node_modules/@protobufjs/path": {
963
958
  "version": "1.1.2",
964
959
  "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
@@ -1513,7 +1508,8 @@
1513
1508
  "@yuuang/ffi-rs-win32-arm64-msvc": "1.3.2",
1514
1509
  "@yuuang/ffi-rs-win32-ia32-msvc": "1.3.2",
1515
1510
  "@yuuang/ffi-rs-win32-x64-msvc": "1.3.2"
1516
- }
1511
+ },
1512
+ "optional": true
1517
1513
  },
1518
1514
  "node_modules/formdata-polyfill": {
1519
1515
  "version": "4.0.10",
@@ -1911,23 +1907,22 @@
1911
1907
  }
1912
1908
  },
1913
1909
  "node_modules/protobufjs": {
1914
- "version": "7.5.9",
1915
- "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.9.tgz",
1916
- "integrity": "sha512-Od4muIm3HW1AouyHF5lONOf1FWo3hY1NbFDoy191X9GzhpgW1clCoaFjfVs2rKJNFYpTNJbje4cbAIDBZJ63ZA==",
1910
+ "version": "7.6.5",
1911
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.6.5.tgz",
1912
+ "integrity": "sha512-/FPD0nUc9jH6rfFjji9IBqOz4pcSE3CsT1m7Ep6Mdb0LxSUMj8hgl6GomOvZzpNpAqqGaXA0P3VSrZLFzIhQrw==",
1917
1913
  "license": "BSD-3-Clause",
1918
1914
  "dependencies": {
1919
1915
  "@protobufjs/aspromise": "^1.1.2",
1920
1916
  "@protobufjs/base64": "^1.1.2",
1921
1917
  "@protobufjs/codegen": "^2.0.5",
1922
- "@protobufjs/eventemitter": "^1.1.0",
1918
+ "@protobufjs/eventemitter": "^1.1.1",
1923
1919
  "@protobufjs/fetch": "^1.1.1",
1924
1920
  "@protobufjs/float": "^1.0.2",
1925
- "@protobufjs/inquire": "^1.1.2",
1926
1921
  "@protobufjs/path": "^1.1.2",
1927
1922
  "@protobufjs/pool": "^1.1.0",
1928
1923
  "@protobufjs/utf8": "^1.1.1",
1929
1924
  "@types/node": ">=13.7.0",
1930
- "long": "^5.0.0"
1925
+ "long": "^5.3.2"
1931
1926
  },
1932
1927
  "engines": {
1933
1928
  "node": ">=12.0.0"
@@ -2021,9 +2016,9 @@
2021
2016
  "license": "MIT"
2022
2017
  },
2023
2018
  "node_modules/undici": {
2024
- "version": "8.3.0",
2025
- "resolved": "https://registry.npmjs.org/undici/-/undici-8.3.0.tgz",
2026
- "integrity": "sha512-TkUDgb6tl7KOGZ+7e8E3d2FYgUQgF6z5YypqjWmixVQSQERFcVrVg0ySADm2LVLRh5ljAaHTCR5Fmz3Q34rB7Q==",
2019
+ "version": "8.5.0",
2020
+ "resolved": "https://registry.npmjs.org/undici/-/undici-8.5.0.tgz",
2021
+ "integrity": "sha512-xamtWoB1EshgjpmlXd7GGm2VfdDtw1+rD8uhry8pSNW3If6S8E0m2T2+orSKeZXEn/aPJMviCpDBA65WJt8zhg==",
2027
2022
  "license": "MIT",
2028
2023
  "engines": {
2029
2024
  "node": ">=22.19.0"
@@ -2060,9 +2055,9 @@
2060
2055
  }
2061
2056
  },
2062
2057
  "node_modules/ws": {
2063
- "version": "8.20.1",
2064
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.1.tgz",
2065
- "integrity": "sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==",
2058
+ "version": "8.21.0",
2059
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz",
2060
+ "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==",
2066
2061
  "license": "MIT",
2067
2062
  "peerDependencies": {
2068
2063
  "bufferutil": "^4.0.1",