@selesai/code 0.10.2 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (502) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cli/credential-print.js +4 -4
  3. package/dist/cli.js +0 -0
  4. package/dist/core/compaction/branch-summarization.js +30 -30
  5. package/dist/core/compaction/compaction.js +81 -81
  6. package/dist/core/compaction/utils.js +2 -2
  7. package/dist/core/export-html/template.css +1066 -1066
  8. package/dist/core/export-html/template.html +55 -55
  9. package/dist/core/export-html/template.js +1864 -1864
  10. package/dist/core/export-html/vendor/highlight.min.js +1212 -1212
  11. package/dist/core/export-html/vendor/marked.min.js +78 -78
  12. package/dist/core/messages.js +7 -7
  13. package/dist/defaults/settings.json +0 -3
  14. package/dist/extensions/auto-session-name.test.ts +157 -0
  15. package/dist/extensions/auto-session-name.ts +96 -0
  16. package/dist/extensions/context-compaction-reminder.test.ts +82 -82
  17. package/dist/extensions/context-compaction-reminder.ts +28 -28
  18. package/dist/extensions/cost-reconcile.test.ts +76 -0
  19. package/dist/extensions/cost-reconcile.ts +278 -0
  20. package/dist/extensions/enable-readonly-tools.test.ts +11 -0
  21. package/dist/extensions/enable-readonly-tools.ts +7 -3
  22. package/dist/extensions/package.json +3 -0
  23. package/dist/extensions/pi-intercom/LICENSE +21 -21
  24. package/dist/extensions/pi-intercom/broker/client.test.ts +83 -83
  25. package/dist/extensions/pi-intercom/broker/framing.test.ts +114 -114
  26. package/dist/extensions/pi-intercom/broker/paths.ts +134 -134
  27. package/dist/extensions/pi-intercom/broker/runtime-claim.test.ts +34 -34
  28. package/dist/extensions/pi-intercom/broker/runtime-claim.ts +21 -21
  29. package/dist/extensions/pi-intercom/cwd.test.ts +40 -40
  30. package/dist/extensions/pi-intercom/cwd.ts +31 -31
  31. package/dist/extensions/pi-intercom/format-context.test.ts +31 -31
  32. package/dist/extensions/pi-intercom/format-context.ts +32 -32
  33. package/dist/extensions/pi-intercom/test/overlay-width.test.ts +66 -66
  34. package/dist/extensions/pi-intercom/ui/compose.ts +143 -143
  35. package/dist/extensions/pi-intercom/ui/session-list.ts +166 -166
  36. package/dist/extensions/pi-rewind-hook/README.md +245 -245
  37. package/dist/extensions/pi-rewind-hook/index.ts +1445 -1445
  38. package/dist/extensions/pi-rewind-hook/package.json +29 -29
  39. package/dist/extensions/pi-subagents/install.mjs +0 -0
  40. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/cli.d.ts +3 -0
  41. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/register-bedrock.d.ts +2 -0
  42. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/restore-sandbox-env.d.ts +17 -0
  43. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/args.d.ts +57 -0
  44. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/config-selector.d.ts +16 -0
  45. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/file-processor.d.ts +15 -0
  46. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/initial-message.d.ts +18 -0
  47. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/list-models.d.ts +9 -0
  48. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/project-trust.d.ts +10 -0
  49. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/session-picker.d.ts +10 -0
  50. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/startup-ui.d.ts +20 -0
  51. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli.d.ts +3 -0
  52. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/config.d.ts +96 -0
  53. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-runtime.d.ts +119 -0
  54. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-services.d.ts +85 -0
  55. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session.d.ts +620 -0
  56. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-guidance.d.ts +5 -0
  57. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-storage.d.ts +56 -0
  58. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/bash-executor.d.ts +32 -0
  59. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/cache-stats.d.ts +49 -0
  60. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/branch-summarization.d.ts +93 -0
  61. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/compaction.d.ts +128 -0
  62. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/index.d.ts +7 -0
  63. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/utils.d.ts +38 -0
  64. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/defaults.d.ts +3 -0
  65. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/diagnostics.d.ts +15 -0
  66. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/event-bus.d.ts +9 -0
  67. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/exec.d.ts +29 -0
  68. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/experimental.d.ts +2 -0
  69. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/ansi-to-html.d.ts +22 -0
  70. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/index.d.ts +37 -0
  71. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/tool-renderer.d.ts +34 -0
  72. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/index.d.ts +12 -0
  73. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/loader.d.ts +23 -0
  74. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/runner.d.ts +171 -0
  75. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/types.d.ts +1261 -0
  76. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/wrapper.d.ts +20 -0
  77. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/footer-data-provider.d.ts +54 -0
  78. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/http-dispatcher.d.ts +22 -0
  79. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/index.d.ts +13 -0
  80. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/keybindings.d.ts +358 -0
  81. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/messages.d.ts +77 -0
  82. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-config.d.ts +512 -0
  83. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-registry.d.ts +43 -0
  84. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-resolver.d.ts +121 -0
  85. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-runtime.d.ts +82 -0
  86. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/models-store.d.ts +17 -0
  87. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/output-guard.d.ts +7 -0
  88. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/package-manager.d.ts +210 -0
  89. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/project-trust.d.ts +15 -0
  90. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/prompt-templates.d.ts +54 -0
  91. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-attribution.d.ts +4 -0
  92. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-composer.d.ts +55 -0
  93. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/radius.d.ts +2 -0
  94. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/remote-catalog-provider.d.ts +5 -0
  95. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resolve-config-value.d.ts +30 -0
  96. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resource-loader.d.ts +206 -0
  97. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/runtime-credentials.d.ts +15 -0
  98. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/sdk.d.ts +106 -0
  99. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-cwd.d.ts +19 -0
  100. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-manager.d.ts +356 -0
  101. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/settings-manager.d.ts +297 -0
  102. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/skills.d.ts +60 -0
  103. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/slash-commands.d.ts +15 -0
  104. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/source-info.d.ts +18 -0
  105. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/system-prompt.d.ts +28 -0
  106. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/telemetry.d.ts +3 -0
  107. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/timings.d.ts +10 -0
  108. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/bash.d.ts +68 -0
  109. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit-diff.d.ts +106 -0
  110. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit.d.ts +51 -0
  111. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/file-mutation-queue.d.ts +6 -0
  112. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/find.d.ts +35 -0
  113. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/grep.d.ts +37 -0
  114. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/index.d.ts +40 -0
  115. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/ls.d.ts +37 -0
  116. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/output-accumulator.d.ts +52 -0
  117. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/path-utils.d.ts +10 -0
  118. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/read.d.ts +35 -0
  119. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/render-utils.d.ts +24 -0
  120. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
  121. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/truncate.d.ts +70 -0
  122. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/write.d.ts +26 -0
  123. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/trust-manager.d.ts +36 -0
  124. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/usage-totals.d.ts +19 -0
  125. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/index.d.ts +3 -0
  126. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/client.d.ts +61 -0
  127. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/huggingface.d.ts +23 -0
  128. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/index.d.ts +3 -0
  129. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/provider.d.ts +10 -0
  130. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/ui.d.ts +42 -0
  131. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/index.d.ts +35 -0
  132. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/main.d.ts +12 -0
  133. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/migrations.d.ts +33 -0
  134. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/index.d.ts +9 -0
  135. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/armin.d.ts +34 -0
  136. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/assistant-message.d.ts +22 -0
  137. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bash-execution.d.ts +34 -0
  138. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
  139. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
  140. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
  141. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/config-selector.d.ts +102 -0
  142. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
  143. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-editor.d.ts +21 -0
  144. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-entry.d.ts +19 -0
  145. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-message.d.ts +20 -0
  146. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/daxnuts.d.ts +23 -0
  147. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/diff.d.ts +12 -0
  148. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
  149. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/earendil-announcement.d.ts +5 -0
  150. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-editor.d.ts +22 -0
  151. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-input.d.ts +23 -0
  152. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-selector.d.ts +26 -0
  153. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/first-time-setup.d.ts +25 -0
  154. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/footer.d.ts +32 -0
  155. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/index.d.ts +34 -0
  156. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
  157. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/login-dialog.d.ts +52 -0
  158. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/model-selector.d.ts +54 -0
  159. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/oauth-selector.d.ts +33 -0
  160. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/scoped-models-selector.d.ts +42 -0
  161. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
  162. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector.d.ts +95 -0
  163. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/settings-selector.d.ts +77 -0
  164. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
  165. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
  166. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/status-indicator.d.ts +28 -0
  167. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/theme-selector.d.ts +11 -0
  168. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
  169. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tool-execution.d.ts +63 -0
  170. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tree-selector.d.ts +94 -0
  171. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/trust-selector.d.ts +23 -0
  172. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
  173. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message.d.ts +14 -0
  174. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
  175. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/interactive-mode.d.ts +394 -0
  176. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/model-search.d.ts +12 -0
  177. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme-controller.d.ts +29 -0
  178. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme.d.ts +120 -0
  179. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/print-mode.d.ts +28 -0
  180. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/jsonl.d.ts +17 -0
  181. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-client.d.ts +246 -0
  182. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-mode.d.ts +20 -0
  183. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-types.d.ts +457 -0
  184. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/package-manager-cli.d.ts +8 -0
  185. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/rpc-entry.d.ts +3 -0
  186. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/ansi.d.ts +2 -0
  187. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/changelog.d.ts +22 -0
  188. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/child-process.d.ts +18 -0
  189. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-image.d.ts +11 -0
  190. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-native.d.ts +11 -0
  191. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard.d.ts +4 -0
  192. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/deprecation.d.ts +4 -0
  193. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/exif-orientation.d.ts +5 -0
  194. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/frontmatter.d.ts +8 -0
  195. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/fs-watch.d.ts +5 -0
  196. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/git.d.ts +26 -0
  197. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/html.d.ts +7 -0
  198. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-convert.d.ts +10 -0
  199. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-process.d.ts +18 -0
  200. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-core.d.ts +30 -0
  201. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-worker.d.ts +2 -0
  202. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize.d.ts +16 -0
  203. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/json.d.ts +3 -0
  204. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/mime.d.ts +3 -0
  205. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/open-browser.d.ts +9 -0
  206. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/paths.d.ts +31 -0
  207. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/photon.d.ts +21 -0
  208. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/pi-user-agent.d.ts +2 -0
  209. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/shell.d.ts +31 -0
  210. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/sleep.d.ts +5 -0
  211. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/syntax-highlight.d.ts +12 -0
  212. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/tools-manager.d.ts +3 -0
  213. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/version-check.d.ts +15 -0
  214. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/windows-self-update.d.ts +3 -0
  215. package/dist/extensions/pi-tool-display/CHANGELOG.md +329 -0
  216. package/dist/extensions/pi-tool-display/LICENSE +21 -0
  217. package/dist/extensions/pi-tool-display/README.md +417 -0
  218. package/dist/extensions/pi-tool-display/config/config.example.json +40 -0
  219. package/dist/extensions/pi-tool-display/index.ts +3 -0
  220. package/dist/extensions/pi-tool-display/package-lock.json +2555 -0
  221. package/dist/extensions/pi-tool-display/package.json +86 -0
  222. package/dist/extensions/pi-tool-display/src/agent-dir.ts +35 -0
  223. package/dist/extensions/pi-tool-display/src/ansi-utils.ts +116 -0
  224. package/dist/extensions/pi-tool-display/src/bash-display.ts +213 -0
  225. package/dist/extensions/pi-tool-display/src/capabilities.ts +88 -0
  226. package/dist/extensions/pi-tool-display/src/config-modal.ts +541 -0
  227. package/dist/extensions/pi-tool-display/src/config-store.ts +304 -0
  228. package/dist/extensions/pi-tool-display/src/debug-logger.ts +150 -0
  229. package/dist/extensions/pi-tool-display/src/diff-presentation.ts +72 -0
  230. package/dist/extensions/pi-tool-display/src/diff-renderer.ts +2517 -0
  231. package/dist/extensions/pi-tool-display/src/disposable.ts +34 -0
  232. package/dist/extensions/pi-tool-display/src/extension-lifecycle.ts +14 -0
  233. package/dist/extensions/pi-tool-display/src/index.ts +109 -0
  234. package/dist/extensions/pi-tool-display/src/line-width-safety.ts +93 -0
  235. package/dist/extensions/pi-tool-display/src/modal-icons.ts +57 -0
  236. package/dist/extensions/pi-tool-display/src/pending-diff-preview.ts +370 -0
  237. package/dist/extensions/pi-tool-display/src/presets.ts +117 -0
  238. package/dist/extensions/pi-tool-display/src/render-utils.ts +186 -0
  239. package/dist/extensions/pi-tool-display/src/settings-inspector-modal.ts +475 -0
  240. package/dist/extensions/pi-tool-display/src/thinking-label.ts +343 -0
  241. package/dist/extensions/pi-tool-display/src/tool-call-box.ts +181 -0
  242. package/dist/extensions/pi-tool-display/src/tool-metadata.ts +139 -0
  243. package/dist/extensions/pi-tool-display/src/tool-overrides.ts +2168 -0
  244. package/dist/extensions/pi-tool-display/src/types.ts +109 -0
  245. package/dist/extensions/pi-tool-display/src/user-message-box-markdown.ts +64 -0
  246. package/dist/extensions/pi-tool-display/src/user-message-box-native.ts +66 -0
  247. package/dist/extensions/pi-tool-display/src/user-message-box-patch.ts +72 -0
  248. package/dist/extensions/pi-tool-display/src/user-message-box-renderer.ts +419 -0
  249. package/dist/extensions/pi-tool-display/src/user-message-box-utils.ts +106 -0
  250. package/dist/extensions/pi-tool-display/src/write-display-utils.ts +31 -0
  251. package/dist/extensions/pi-tool-display/src/zellij-modal.ts +1027 -0
  252. package/dist/extensions/pi-tool-display/tests/active-backlog-red.test.ts +65 -0
  253. package/dist/extensions/pi-tool-display/tests/ansi-utils.test.ts +345 -0
  254. package/dist/extensions/pi-tool-display/tests/bash-display.test.ts +442 -0
  255. package/dist/extensions/pi-tool-display/tests/capabilities-edge.test.ts +360 -0
  256. package/dist/extensions/pi-tool-display/tests/capabilities.test.ts +54 -0
  257. package/dist/extensions/pi-tool-display/tests/config-modal.test.ts +360 -0
  258. package/dist/extensions/pi-tool-display/tests/config-store.test.ts +87 -0
  259. package/dist/extensions/pi-tool-display/tests/custom-tool-overrides.test.ts +415 -0
  260. package/dist/extensions/pi-tool-display/tests/debug-logger-edge.test.ts +630 -0
  261. package/dist/extensions/pi-tool-display/tests/debug-logger.test.ts +62 -0
  262. package/dist/extensions/pi-tool-display/tests/diff-renderer-ansi.test.ts +55 -0
  263. package/dist/extensions/pi-tool-display/tests/diff-renderer-edge.test.ts +886 -0
  264. package/dist/extensions/pi-tool-display/tests/diff-renderer-numbering.test.ts +135 -0
  265. package/dist/extensions/pi-tool-display/tests/diff-renderer-width.test.ts +454 -0
  266. package/dist/extensions/pi-tool-display/tests/diff-renderer-wrap.test.ts +169 -0
  267. package/dist/extensions/pi-tool-display/tests/index-integration.test.ts +354 -0
  268. package/dist/extensions/pi-tool-display/tests/pending-diff-preview.test.ts +79 -0
  269. package/dist/extensions/pi-tool-display/tests/presets-edge.test.ts +229 -0
  270. package/dist/extensions/pi-tool-display/tests/presets.test.ts +26 -0
  271. package/dist/extensions/pi-tool-display/tests/reload-behavior.test.ts +1241 -0
  272. package/dist/extensions/pi-tool-display/tests/render-utils.test.ts +710 -0
  273. package/dist/extensions/pi-tool-display/tests/settings-inspector.test.ts +450 -0
  274. package/dist/extensions/pi-tool-display/tests/thinking-label-edge.test.ts +904 -0
  275. package/dist/extensions/pi-tool-display/tests/thinking-label.test.ts +72 -0
  276. package/dist/extensions/pi-tool-display/tests/tool-call-box.test.ts +105 -0
  277. package/dist/extensions/pi-tool-display/tests/tool-overrides-config.test.ts +613 -0
  278. package/dist/extensions/pi-tool-display/tests/tool-overrides-mcp.test.ts +499 -0
  279. package/dist/extensions/pi-tool-display/tests/tool-overrides-registration.test.ts +315 -0
  280. package/dist/extensions/pi-tool-display/tests/tool-overrides-write-meta.test.ts +68 -0
  281. package/dist/extensions/pi-tool-display/tests/tool-ui-utils.test.ts +413 -0
  282. package/dist/extensions/pi-tool-display/tests/user-message-box-performance-red.test.ts +176 -0
  283. package/dist/extensions/pi-tool-display/tests/user-message-box.test.ts +908 -0
  284. package/dist/extensions/pi-tool-display/tests/zellij-modal.test.ts +848 -0
  285. package/dist/extensions/pi-tool-display/tool-display-api-consumer.d.ts +30 -0
  286. package/dist/extensions/pi-tool-display/tool-display-api-consumer.js +40 -0
  287. package/dist/extensions/pi-web-agent/package.json +31 -31
  288. package/dist/extensions/pi-web-agent/src/backends/config.ts +205 -205
  289. package/dist/extensions/pi-web-agent/src/backends/doctor.ts +136 -136
  290. package/dist/extensions/pi-web-agent/src/backends/factory.ts +152 -152
  291. package/dist/extensions/pi-web-agent/src/backends/settings-reader.ts +25 -25
  292. package/dist/extensions/pi-web-agent/src/cache/ttl-cache.ts +28 -28
  293. package/dist/extensions/pi-web-agent/src/changelog-notice.ts +136 -136
  294. package/dist/extensions/pi-web-agent/src/commands/web-agent-config.ts +946 -946
  295. package/dist/extensions/pi-web-agent/src/extension.ts +126 -126
  296. package/dist/extensions/pi-web-agent/src/extract/readability.ts +118 -118
  297. package/dist/extensions/pi-web-agent/src/fetch/browser-resolution.ts +199 -199
  298. package/dist/extensions/pi-web-agent/src/fetch/firecrawl-fetch.ts +100 -100
  299. package/dist/extensions/pi-web-agent/src/fetch/headless-fetch.ts +117 -117
  300. package/dist/extensions/pi-web-agent/src/fetch/http-fetch.ts +67 -67
  301. package/dist/extensions/pi-web-agent/src/orchestration/answer-synthesizer.ts +60 -60
  302. package/dist/extensions/pi-web-agent/src/orchestration/candidate-selector.ts +50 -50
  303. package/dist/extensions/pi-web-agent/src/orchestration/direct-url.ts +52 -52
  304. package/dist/extensions/pi-web-agent/src/orchestration/evidence-quality.ts +105 -105
  305. package/dist/extensions/pi-web-agent/src/orchestration/evidence-ranker.ts +45 -45
  306. package/dist/extensions/pi-web-agent/src/orchestration/index.ts +28 -28
  307. package/dist/extensions/pi-web-agent/src/orchestration/query-planner.ts +47 -47
  308. package/dist/extensions/pi-web-agent/src/orchestration/research-orchestrator.ts +376 -376
  309. package/dist/extensions/pi-web-agent/src/orchestration/research-types.ts +64 -64
  310. package/dist/extensions/pi-web-agent/src/orchestration/research-worker.ts +181 -181
  311. package/dist/extensions/pi-web-agent/src/orchestration/source-profile.ts +101 -101
  312. package/dist/extensions/pi-web-agent/src/orchestration/stop-decider.ts +81 -81
  313. package/dist/extensions/pi-web-agent/src/presentation/config-store.ts +210 -210
  314. package/dist/extensions/pi-web-agent/src/presentation/config.ts +75 -75
  315. package/dist/extensions/pi-web-agent/src/presentation/explore-presentation.ts +61 -61
  316. package/dist/extensions/pi-web-agent/src/presentation/fetch-presentation.ts +54 -54
  317. package/dist/extensions/pi-web-agent/src/presentation/search-presentation.ts +41 -41
  318. package/dist/extensions/pi-web-agent/src/presentation/select-view.ts +20 -20
  319. package/dist/extensions/pi-web-agent/src/presentation/types.ts +63 -63
  320. package/dist/extensions/pi-web-agent/src/search/brave.ts +114 -114
  321. package/dist/extensions/pi-web-agent/src/search/duckduckgo.ts +72 -72
  322. package/dist/extensions/pi-web-agent/src/search/searxng.ts +96 -96
  323. package/dist/extensions/pi-web-agent/src/tools/web-explore.ts +71 -71
  324. package/dist/extensions/pi-web-agent/src/tools/web-fetch-headless.ts +31 -31
  325. package/dist/extensions/pi-web-agent/src/tools/web-fetch.ts +31 -31
  326. package/dist/extensions/pi-web-agent/src/tools/web-search.ts +157 -157
  327. package/dist/extensions/pi-web-agent/src/types.ts +88 -88
  328. package/dist/extensions/pi-zentui/extensions/zentui/format.ts +46 -1
  329. package/dist/extensions/pi-zentui/extensions/zentui/index.ts +10 -0
  330. package/dist/extensions/pi-zentui/extensions/zentui/user-message-styles.ts +1 -1
  331. package/dist/extensions/pi-zentui/test/extension-compliance.test.ts +3 -3
  332. package/dist/extensions/pi-zentui/test/format.test.ts +50 -2
  333. package/dist/extensions/ponytail/package.json +8 -8
  334. package/dist/extensions/question/constants.ts +30 -30
  335. package/dist/extensions/question/helpers.ts +58 -58
  336. package/dist/extensions/question/navigation.ts +14 -14
  337. package/dist/extensions/question/package.json +19 -19
  338. package/dist/extensions/question/selection-mode.ts +46 -46
  339. package/dist/extensions/question/shortcuts.ts +44 -44
  340. package/dist/extensions/question/types.ts +132 -132
  341. package/dist/extensions/test-resolve-hook-impl.mjs +6 -6
  342. package/dist/extensions/test-resolve-hook.mjs +6 -6
  343. package/dist/extensions/web-agent-onboarding.ts +222 -222
  344. package/dist/modes/interactive/interactive-mode.js +17 -3
  345. package/dist/package-manager-cli.js +71 -71
  346. package/dist/rpc-entry.js +0 -0
  347. package/dist/skills/improve-codebase/REFERENCE.md +78 -78
  348. package/docs/compaction.md +396 -396
  349. package/docs/containerization.md +111 -111
  350. package/docs/development.md +71 -71
  351. package/docs/docs.json +164 -164
  352. package/docs/environment-variables.md +86 -86
  353. package/docs/index.md +83 -83
  354. package/docs/json.md +82 -82
  355. package/docs/models.md +502 -502
  356. package/docs/packages.md +227 -227
  357. package/docs/plans/subagent-delegation/phase-0-correctness.md +264 -264
  358. package/docs/plans/subagent-delegation/phase-1-behavioral-contract.md +485 -485
  359. package/docs/plans/subagent-delegation/phase-2-context-controls.md +281 -281
  360. package/docs/plans/subagent-delegation/phase-3-advisory-routing.md +361 -361
  361. package/docs/plans/subagent-delegation/phase-4-optional-enforcement.md +380 -380
  362. package/docs/prompt-templates.md +95 -95
  363. package/docs/providers.md +293 -293
  364. package/docs/security.md +59 -59
  365. package/docs/session-format.md +414 -414
  366. package/docs/sessions.md +145 -145
  367. package/docs/shared-host-extensions.md +109 -109
  368. package/docs/shell-aliases.md +13 -13
  369. package/docs/skills.md +231 -231
  370. package/docs/terminal-setup.md +142 -142
  371. package/docs/termux.md +127 -127
  372. package/docs/themes.md +295 -295
  373. package/docs/tmux.md +63 -63
  374. package/docs/tui.md +927 -927
  375. package/docs/windows.md +17 -17
  376. package/examples/README.md +25 -25
  377. package/examples/extensions/README.md +211 -211
  378. package/examples/extensions/auto-commit-on-exit.ts +49 -49
  379. package/examples/extensions/bash-spawn-hook.ts +30 -30
  380. package/examples/extensions/bookmark.ts +50 -50
  381. package/examples/extensions/border-status-editor.ts +150 -150
  382. package/examples/extensions/built-in-tool-renderer.ts +249 -249
  383. package/examples/extensions/claude-rules.ts +86 -86
  384. package/examples/extensions/commands.ts +72 -72
  385. package/examples/extensions/confirm-destructive.ts +59 -59
  386. package/examples/extensions/custom-compaction.ts +130 -130
  387. package/examples/extensions/custom-footer.ts +64 -64
  388. package/examples/extensions/custom-header.ts +73 -73
  389. package/examples/extensions/custom-provider-anthropic/index.ts +610 -610
  390. package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -24
  391. package/examples/extensions/custom-provider-anthropic/package.json +19 -19
  392. package/examples/extensions/custom-provider-gitlab-duo/index.ts +404 -404
  393. package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -16
  394. package/examples/extensions/custom-provider-gitlab-duo/test.ts +82 -82
  395. package/examples/extensions/dirty-repo-guard.ts +56 -56
  396. package/examples/extensions/doom-overlay/README.md +46 -46
  397. package/examples/extensions/doom-overlay/doom/build/doom.js +21 -21
  398. package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
  399. package/examples/extensions/doom-overlay/doom/build.sh +152 -152
  400. package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -72
  401. package/examples/extensions/doom-overlay/doom-component.ts +132 -132
  402. package/examples/extensions/doom-overlay/doom-engine.ts +173 -173
  403. package/examples/extensions/doom-overlay/doom-keys.ts +104 -104
  404. package/examples/extensions/doom-overlay/index.ts +74 -74
  405. package/examples/extensions/doom-overlay/wad-finder.ts +51 -51
  406. package/examples/extensions/dynamic-resources/SKILL.md +8 -8
  407. package/examples/extensions/dynamic-resources/dynamic.json +79 -79
  408. package/examples/extensions/dynamic-resources/dynamic.md +5 -5
  409. package/examples/extensions/dynamic-resources/index.ts +15 -15
  410. package/examples/extensions/dynamic-tools.ts +74 -74
  411. package/examples/extensions/event-bus.ts +43 -43
  412. package/examples/extensions/file-trigger.ts +41 -41
  413. package/examples/extensions/git-checkpoint.ts +53 -53
  414. package/examples/extensions/git-merge-and-resolve.ts +115 -115
  415. package/examples/extensions/github-issue-autocomplete.ts +185 -185
  416. package/examples/extensions/gondolin/index.ts +531 -531
  417. package/examples/extensions/gondolin/package-lock.json +185 -185
  418. package/examples/extensions/gondolin/package.json +19 -19
  419. package/examples/extensions/handoff.ts +199 -199
  420. package/examples/extensions/hello.ts +26 -26
  421. package/examples/extensions/hidden-thinking-label.ts +53 -53
  422. package/examples/extensions/inline-bash.ts +94 -94
  423. package/examples/extensions/input-transform-streaming.ts +39 -39
  424. package/examples/extensions/input-transform.ts +43 -43
  425. package/examples/extensions/interactive-shell.ts +196 -196
  426. package/examples/extensions/mac-system-theme.ts +47 -47
  427. package/examples/extensions/message-renderer.ts +59 -59
  428. package/examples/extensions/minimal-mode.ts +426 -426
  429. package/examples/extensions/modal-editor.ts +85 -85
  430. package/examples/extensions/model-status.ts +31 -31
  431. package/examples/extensions/notify.ts +55 -55
  432. package/examples/extensions/overlay-qa-tests.ts +1450 -1450
  433. package/examples/extensions/overlay-test.ts +153 -153
  434. package/examples/extensions/permission-gate.ts +34 -34
  435. package/examples/extensions/pirate.ts +47 -47
  436. package/examples/extensions/plan-mode/README.md +66 -66
  437. package/examples/extensions/plan-mode/index.ts +390 -390
  438. package/examples/extensions/plan-mode/utils.ts +168 -168
  439. package/examples/extensions/preset.ts +436 -436
  440. package/examples/extensions/project-trust.ts +64 -64
  441. package/examples/extensions/prompt-customizer.ts +97 -97
  442. package/examples/extensions/protected-paths.ts +30 -30
  443. package/examples/extensions/provider-payload.ts +18 -18
  444. package/examples/extensions/qna.ts +122 -122
  445. package/examples/extensions/question.ts +285 -285
  446. package/examples/extensions/questionnaire.ts +448 -448
  447. package/examples/extensions/rainbow-editor.ts +88 -88
  448. package/examples/extensions/reload-runtime.ts +37 -37
  449. package/examples/extensions/rpc-demo.ts +118 -118
  450. package/examples/extensions/sandbox/index.ts +321 -321
  451. package/examples/extensions/sandbox/package-lock.json +92 -92
  452. package/examples/extensions/sandbox/package.json +19 -19
  453. package/examples/extensions/send-user-message.ts +97 -97
  454. package/examples/extensions/session-name.ts +27 -27
  455. package/examples/extensions/shutdown-command.ts +63 -63
  456. package/examples/extensions/snake.ts +343 -343
  457. package/examples/extensions/space-invaders.ts +560 -560
  458. package/examples/extensions/ssh.ts +220 -220
  459. package/examples/extensions/status-line.ts +32 -32
  460. package/examples/extensions/structured-output.ts +65 -65
  461. package/examples/extensions/subagent/README.md +175 -175
  462. package/examples/extensions/subagent/agents/planner.md +37 -37
  463. package/examples/extensions/subagent/agents/reviewer.md +35 -35
  464. package/examples/extensions/subagent/agents/scout.md +50 -50
  465. package/examples/extensions/subagent/agents/worker.md +24 -24
  466. package/examples/extensions/subagent/agents.ts +126 -126
  467. package/examples/extensions/subagent/index.ts +1015 -1015
  468. package/examples/extensions/subagent/prompts/implement-and-review.md +10 -10
  469. package/examples/extensions/subagent/prompts/implement.md +10 -10
  470. package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -9
  471. package/examples/extensions/summarize.ts +209 -209
  472. package/examples/extensions/system-prompt-header.ts +17 -17
  473. package/examples/extensions/tic-tac-toe.ts +1008 -1008
  474. package/examples/extensions/timed-confirm.ts +70 -70
  475. package/examples/extensions/titlebar-spinner.ts +58 -58
  476. package/examples/extensions/todo.ts +297 -297
  477. package/examples/extensions/tool-override.ts +144 -144
  478. package/examples/extensions/tools.ts +146 -146
  479. package/examples/extensions/trigger-compact.ts +50 -50
  480. package/examples/extensions/truncated-tool.ts +195 -195
  481. package/examples/extensions/widget-placement.ts +9 -9
  482. package/examples/extensions/with-deps/index.ts +32 -32
  483. package/examples/extensions/with-deps/package-lock.json +31 -31
  484. package/examples/extensions/with-deps/package.json +22 -22
  485. package/examples/extensions/working-indicator.ts +123 -123
  486. package/examples/extensions/working-message-test.ts +25 -25
  487. package/examples/rpc-extension-ui.ts +632 -632
  488. package/examples/sdk/01-minimal.ts +26 -26
  489. package/examples/sdk/02-custom-model.ts +53 -53
  490. package/examples/sdk/03-custom-prompt.ts +75 -75
  491. package/examples/sdk/04-skills.ts +55 -55
  492. package/examples/sdk/05-tools.ts +48 -48
  493. package/examples/sdk/06-extensions.ts +99 -99
  494. package/examples/sdk/07-context-files.ts +47 -47
  495. package/examples/sdk/08-prompt-templates.ts +51 -51
  496. package/examples/sdk/09-api-keys-and-oauth.ts +52 -52
  497. package/examples/sdk/10-settings.ts +53 -53
  498. package/examples/sdk/11-sessions.ts +52 -52
  499. package/examples/sdk/12-full-control.ts +79 -79
  500. package/examples/sdk/13-session-runtime.ts +67 -67
  501. package/examples/sdk/README.md +144 -144
  502. package/package.json +3 -3
@@ -0,0 +1,60 @@
1
+ import type { ResourceDiagnostic } from "./diagnostics.ts";
2
+ import { type SourceInfo } from "./source-info.ts";
3
+ export interface SkillFrontmatter {
4
+ name?: string;
5
+ description?: string;
6
+ "disable-model-invocation"?: boolean;
7
+ [key: string]: unknown;
8
+ }
9
+ export interface Skill {
10
+ name: string;
11
+ description: string;
12
+ filePath: string;
13
+ baseDir: string;
14
+ sourceInfo: SourceInfo;
15
+ disableModelInvocation: boolean;
16
+ }
17
+ export interface LoadSkillsResult {
18
+ skills: Skill[];
19
+ diagnostics: ResourceDiagnostic[];
20
+ }
21
+ export interface LoadSkillsFromDirOptions {
22
+ /** Directory to scan for skills */
23
+ dir: string;
24
+ /** Source identifier for these skills */
25
+ source: string;
26
+ }
27
+ /**
28
+ * Load skills from a directory.
29
+ *
30
+ * Discovery rules:
31
+ * - if a directory contains SKILL.md, treat it as a skill root and do not recurse further
32
+ * - otherwise, load direct .md children in the root
33
+ * - recurse into subdirectories to find SKILL.md
34
+ */
35
+ export declare function loadSkillsFromDir(options: LoadSkillsFromDirOptions): LoadSkillsResult;
36
+ /**
37
+ * Format skills for inclusion in a system prompt.
38
+ * Uses XML format per Agent Skills standard.
39
+ * See: https://agentskills.io/integrate-skills
40
+ *
41
+ * Skills with disableModelInvocation=true are excluded from the prompt
42
+ * (they can only be invoked explicitly via /skill:name commands).
43
+ */
44
+ export declare function formatSkillsForPrompt(skills: Skill[]): string;
45
+ export interface LoadSkillsOptions {
46
+ /** Working directory for project-local skills. */
47
+ cwd: string;
48
+ /** Agent config directory for global skills. */
49
+ agentDir: string;
50
+ /** Explicit skill paths (files or directories) */
51
+ skillPaths: string[];
52
+ /** Include default skills directories. */
53
+ includeDefaults: boolean;
54
+ }
55
+ /**
56
+ * Load skills from all configured locations.
57
+ * Returns skills and any validation diagnostics.
58
+ */
59
+ export declare function loadSkills(options: LoadSkillsOptions): LoadSkillsResult;
60
+ //# sourceMappingURL=skills.d.ts.map
@@ -0,0 +1,15 @@
1
+ import type { SourceInfo } from "./source-info.ts";
2
+ export type SlashCommandSource = "extension" | "prompt" | "skill";
3
+ export interface SlashCommandInfo {
4
+ name: string;
5
+ description?: string;
6
+ source: SlashCommandSource;
7
+ sourceInfo: SourceInfo;
8
+ }
9
+ export interface BuiltinSlashCommand {
10
+ name: string;
11
+ description: string;
12
+ argumentHint?: string;
13
+ }
14
+ export declare const BUILTIN_SLASH_COMMANDS: ReadonlyArray<BuiltinSlashCommand>;
15
+ //# sourceMappingURL=slash-commands.d.ts.map
@@ -0,0 +1,18 @@
1
+ import type { PathMetadata } from "./package-manager.ts";
2
+ export type SourceScope = "user" | "project" | "temporary";
3
+ export type SourceOrigin = "package" | "top-level";
4
+ export interface SourceInfo {
5
+ path: string;
6
+ source: string;
7
+ scope: SourceScope;
8
+ origin: SourceOrigin;
9
+ baseDir?: string;
10
+ }
11
+ export declare function createSourceInfo(path: string, metadata: PathMetadata): SourceInfo;
12
+ export declare function createSyntheticSourceInfo(path: string, options: {
13
+ source: string;
14
+ scope?: SourceScope;
15
+ origin?: SourceOrigin;
16
+ baseDir?: string;
17
+ }): SourceInfo;
18
+ //# sourceMappingURL=source-info.d.ts.map
@@ -0,0 +1,28 @@
1
+ /**
2
+ * System prompt construction and project context loading
3
+ */
4
+ import { type Skill } from "./skills.ts";
5
+ export interface BuildSystemPromptOptions {
6
+ /** Custom system prompt (replaces default). */
7
+ customPrompt?: string;
8
+ /** Tools to include in prompt. Default: [read, bash, edit, write] */
9
+ selectedTools?: string[];
10
+ /** Optional one-line tool snippets keyed by tool name. */
11
+ toolSnippets?: Record<string, string>;
12
+ /** Additional guideline bullets appended to the default system prompt guidelines. */
13
+ promptGuidelines?: string[];
14
+ /** Text to append to system prompt. */
15
+ appendSystemPrompt?: string;
16
+ /** Working directory. */
17
+ cwd: string;
18
+ /** Pre-loaded context files. */
19
+ contextFiles?: Array<{
20
+ path: string;
21
+ content: string;
22
+ }>;
23
+ /** Pre-loaded skills. */
24
+ skills?: Skill[];
25
+ }
26
+ /** Build the system prompt with tools, guidelines, and context */
27
+ export declare function buildSystemPrompt(options: BuildSystemPromptOptions): string;
28
+ //# sourceMappingURL=system-prompt.d.ts.map
@@ -0,0 +1,3 @@
1
+ import type { SettingsManager } from "./settings-manager.ts";
2
+ export declare function isInstallTelemetryEnabled(settingsManager: SettingsManager, telemetryEnv?: string | undefined): boolean;
3
+ //# sourceMappingURL=telemetry.d.ts.map
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Central timing instrumentation for startup profiling.
3
+ * Enable with PI_TIMING=1 environment variable.
4
+ */
5
+ type TimingLabel = "main" | "extensions";
6
+ export declare function resetTimings(namespace?: TimingLabel): void;
7
+ export declare function time(label: string, namespace?: TimingLabel): void;
8
+ export declare function printTimings(): void;
9
+ export {};
10
+ //# sourceMappingURL=timings.d.ts.map
@@ -0,0 +1,68 @@
1
+ import type { AgentTool } from "@earendil-works/pi-agent-core";
2
+ import { type Static, Type } from "typebox";
3
+ import type { ToolDefinition } from "../extensions/types.ts";
4
+ import { type TruncationResult } from "./truncate.ts";
5
+ declare const bashSchema: Type.TObject<{
6
+ command: Type.TString;
7
+ timeout: Type.TOptional<Type.TNumber>;
8
+ }>;
9
+ export type BashToolInput = Static<typeof bashSchema>;
10
+ export interface BashToolDetails {
11
+ truncation?: TruncationResult;
12
+ fullOutputPath?: string;
13
+ }
14
+ /**
15
+ * Pluggable operations for the bash tool.
16
+ * Override these to delegate command execution to remote systems (for example SSH).
17
+ */
18
+ export interface BashOperations {
19
+ /**
20
+ * Execute a command and stream output.
21
+ * @param command The command to execute
22
+ * @param cwd Working directory
23
+ * @param options Execution options
24
+ * @returns Promise resolving to exit code (null if killed)
25
+ */
26
+ exec: (command: string, cwd: string, options: {
27
+ onData: (data: Buffer) => void;
28
+ signal?: AbortSignal;
29
+ timeout?: number;
30
+ env?: NodeJS.ProcessEnv;
31
+ }) => Promise<{
32
+ exitCode: number | null;
33
+ }>;
34
+ }
35
+ /**
36
+ * Create bash operations using pi's built-in local shell execution backend.
37
+ *
38
+ * This is useful for extensions that intercept user_bash and still want pi's
39
+ * standard local shell behavior while wrapping or rewriting commands.
40
+ */
41
+ export declare function createLocalBashOperations(options?: {
42
+ shellPath?: string;
43
+ }): BashOperations;
44
+ export interface BashSpawnContext {
45
+ command: string;
46
+ cwd: string;
47
+ env: NodeJS.ProcessEnv;
48
+ }
49
+ export type BashSpawnHook = (context: BashSpawnContext) => BashSpawnContext;
50
+ export interface BashToolOptions {
51
+ /** Custom operations for command execution. Default: local shell */
52
+ operations?: BashOperations;
53
+ /** Command prefix prepended to every command (for example shell setup commands) */
54
+ commandPrefix?: string;
55
+ /** Optional explicit shell path from settings */
56
+ shellPath?: string;
57
+ /** Hook to adjust command, cwd, or env before execution */
58
+ spawnHook?: BashSpawnHook;
59
+ }
60
+ type BashRenderState = {
61
+ startedAt: number | undefined;
62
+ endedAt: number | undefined;
63
+ interval: NodeJS.Timeout | undefined;
64
+ };
65
+ export declare function createBashToolDefinition(cwd: string, options?: BashToolOptions): ToolDefinition<typeof bashSchema, BashToolDetails | undefined, BashRenderState>;
66
+ export declare function createBashTool(cwd: string, options?: BashToolOptions): AgentTool<typeof bashSchema>;
67
+ export {};
68
+ //# sourceMappingURL=bash.d.ts.map
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Shared diff computation utilities for the edit and similar tools.
3
+ */
4
+ export declare function detectLineEnding(content: string): "\r\n" | "\n";
5
+ export declare function normalizeToLF(text: string): string;
6
+ export declare function restoreLineEndings(text: string, ending: "\r\n" | "\n"): string;
7
+ /**
8
+ * Normalize text for fuzzy matching. Applies progressive transformations:
9
+ * - Strip trailing whitespace from each line
10
+ * - Normalize smart quotes to ASCII equivalents
11
+ * - Normalize Unicode dashes/hyphens to ASCII hyphen
12
+ * - Normalize special Unicode spaces to regular space
13
+ */
14
+ export declare function normalizeForFuzzyMatch(text: string): string;
15
+ interface MatchedEdit {
16
+ editIndex: number;
17
+ matchIndex: number;
18
+ matchLength: number;
19
+ newText: string;
20
+ }
21
+ type TextReplacement = Pick<MatchedEdit, "matchIndex" | "matchLength" | "newText">;
22
+ /**
23
+ * Apply replacements matched against `baseContent` to `originalContent` while
24
+ * preserving unchanged line blocks from the original.
25
+ *
26
+ * This is useful when `baseContent` is a normalized view of the original. Each
27
+ * replacement is widened to the lines it actually touches, those touched lines
28
+ * are rewritten from the normalized base, and all other lines are copied back
29
+ * from `originalContent`. The actual replacement ranges drive preservation so
30
+ * duplicate normalized lines cannot be aligned to the wrong occurrence.
31
+ */
32
+ export declare function applyReplacementsPreservingUnchangedLines(originalContent: string, baseContent: string, replacements: TextReplacement[]): string;
33
+ export interface FuzzyMatchResult {
34
+ /** Whether a match was found */
35
+ found: boolean;
36
+ /** The index where the match starts (in the content that should be used for replacement) */
37
+ index: number;
38
+ /** Length of the matched text */
39
+ matchLength: number;
40
+ /** Whether fuzzy matching was used (false = exact match) */
41
+ usedFuzzyMatch: boolean;
42
+ /**
43
+ * The content to use for replacement operations.
44
+ * When exact match: original content. When fuzzy match: normalized content.
45
+ */
46
+ contentForReplacement: string;
47
+ }
48
+ export interface Edit {
49
+ oldText: string;
50
+ newText: string;
51
+ }
52
+ export interface AppliedEditsResult {
53
+ baseContent: string;
54
+ newContent: string;
55
+ }
56
+ /**
57
+ * Find oldText in content, trying exact match first, then fuzzy match.
58
+ * When fuzzy matching is used, the returned contentForReplacement is the
59
+ * fuzzy-normalized version of the content (trailing whitespace stripped,
60
+ * Unicode quotes/dashes normalized to ASCII).
61
+ */
62
+ export declare function fuzzyFindText(content: string, oldText: string): FuzzyMatchResult;
63
+ /** Strip UTF-8 BOM if present, return both the BOM (if any) and the text without it */
64
+ export declare function stripBom(content: string): {
65
+ bom: string;
66
+ text: string;
67
+ };
68
+ /**
69
+ * Apply one or more exact-text replacements to LF-normalized content.
70
+ *
71
+ * All edits are matched against the same original content. Replacements are
72
+ * then applied in reverse order so offsets remain stable. If any edit needs
73
+ * fuzzy matching, the operation runs in fuzzy-normalized content space and then
74
+ * overlays those line-level changes onto the original content so unchanged line
75
+ * blocks keep their original bytes.
76
+ */
77
+ export declare function applyEditsToNormalizedContent(normalizedContent: string, edits: Edit[], path: string): AppliedEditsResult;
78
+ /** Generate a standard unified patch. */
79
+ export declare function generateUnifiedPatch(path: string, oldContent: string, newContent: string, contextLines?: number): string;
80
+ /**
81
+ * Generate a display-oriented diff string with line numbers and context.
82
+ * Returns both the diff string and the first changed line number (in the new file).
83
+ */
84
+ export declare function generateDiffString(oldContent: string, newContent: string, contextLines?: number): {
85
+ diff: string;
86
+ firstChangedLine: number | undefined;
87
+ };
88
+ export interface EditDiffResult {
89
+ diff: string;
90
+ firstChangedLine: number | undefined;
91
+ }
92
+ export interface EditDiffError {
93
+ error: string;
94
+ }
95
+ /**
96
+ * Compute the diff for one or more edit operations without applying them.
97
+ * Used for preview rendering in the TUI before the tool executes.
98
+ */
99
+ export declare function computeEditsDiff(path: string, edits: Edit[], cwd: string): Promise<EditDiffResult | EditDiffError>;
100
+ /**
101
+ * Compute the diff for a single edit operation without applying it.
102
+ * Kept as a convenience wrapper for single-edit callers.
103
+ */
104
+ export declare function computeEditDiff(path: string, oldText: string, newText: string, cwd: string): Promise<EditDiffResult | EditDiffError>;
105
+ export {};
106
+ //# sourceMappingURL=edit-diff.d.ts.map
@@ -0,0 +1,51 @@
1
+ import type { AgentTool } from "@earendil-works/pi-agent-core";
2
+ import { Box } from "@earendil-works/pi-tui";
3
+ import { type Static, Type } from "typebox";
4
+ import type { ToolDefinition } from "../extensions/types.ts";
5
+ import { type EditDiffError, type EditDiffResult } from "./edit-diff.ts";
6
+ type EditPreview = EditDiffResult | EditDiffError;
7
+ type EditRenderState = {
8
+ callComponent?: EditCallRenderComponent;
9
+ };
10
+ declare const editSchema: Type.TObject<{
11
+ path: Type.TString;
12
+ edits: Type.TArray<Type.TObject<{
13
+ oldText: Type.TString;
14
+ newText: Type.TString;
15
+ }>>;
16
+ }>;
17
+ export type EditToolInput = Static<typeof editSchema>;
18
+ export interface EditToolDetails {
19
+ /** Display-oriented diff of the changes made */
20
+ diff: string;
21
+ /** Standard unified patch of the changes made */
22
+ patch: string;
23
+ /** Line number of the first change in the new file (for editor navigation) */
24
+ firstChangedLine?: number;
25
+ }
26
+ /**
27
+ * Pluggable operations for the edit tool.
28
+ * Override these to delegate file editing to remote systems (for example SSH).
29
+ */
30
+ export interface EditOperations {
31
+ /** Read file contents as a Buffer */
32
+ readFile: (absolutePath: string) => Promise<Buffer>;
33
+ /** Write content to a file */
34
+ writeFile: (absolutePath: string, content: string) => Promise<void>;
35
+ /** Check if file is readable and writable (throw if not) */
36
+ access: (absolutePath: string) => Promise<void>;
37
+ }
38
+ export interface EditToolOptions {
39
+ /** Custom operations for file editing. Default: local filesystem */
40
+ operations?: EditOperations;
41
+ }
42
+ type EditCallRenderComponent = Box & {
43
+ preview?: EditPreview;
44
+ previewArgsKey?: string;
45
+ previewPending?: boolean;
46
+ settledError?: boolean;
47
+ };
48
+ export declare function createEditToolDefinition(cwd: string, options?: EditToolOptions): ToolDefinition<typeof editSchema, EditToolDetails | undefined, EditRenderState>;
49
+ export declare function createEditTool(cwd: string, options?: EditToolOptions): AgentTool<typeof editSchema>;
50
+ export {};
51
+ //# sourceMappingURL=edit.d.ts.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Serialize file mutation operations targeting the same file.
3
+ * Operations for different files still run in parallel.
4
+ */
5
+ export declare function withFileMutationQueue<T>(filePath: string, fn: () => Promise<T>): Promise<T>;
6
+ //# sourceMappingURL=file-mutation-queue.d.ts.map
@@ -0,0 +1,35 @@
1
+ import type { AgentTool } from "@earendil-works/pi-agent-core";
2
+ import { type Static, Type } from "typebox";
3
+ import type { ToolDefinition } from "../extensions/types.ts";
4
+ import { type TruncationResult } from "./truncate.ts";
5
+ declare const findSchema: Type.TObject<{
6
+ pattern: Type.TString;
7
+ path: Type.TOptional<Type.TString>;
8
+ limit: Type.TOptional<Type.TNumber>;
9
+ }>;
10
+ export type FindToolInput = Static<typeof findSchema>;
11
+ export interface FindToolDetails {
12
+ truncation?: TruncationResult;
13
+ resultLimitReached?: number;
14
+ }
15
+ /**
16
+ * Pluggable operations for the find tool.
17
+ * Override these to delegate file search to remote systems (for example SSH).
18
+ */
19
+ export interface FindOperations {
20
+ /** Check if path exists */
21
+ exists: (absolutePath: string) => Promise<boolean> | boolean;
22
+ /** Find files matching glob pattern. Returns relative or absolute paths. */
23
+ glob: (pattern: string, cwd: string, options: {
24
+ ignore: string[];
25
+ limit: number;
26
+ }) => Promise<string[]> | string[];
27
+ }
28
+ export interface FindToolOptions {
29
+ /** Custom operations for find. Default: local filesystem plus fd */
30
+ operations?: FindOperations;
31
+ }
32
+ export declare function createFindToolDefinition(cwd: string, options?: FindToolOptions): ToolDefinition<typeof findSchema, FindToolDetails | undefined>;
33
+ export declare function createFindTool(cwd: string, options?: FindToolOptions): AgentTool<typeof findSchema>;
34
+ export {};
35
+ //# sourceMappingURL=find.d.ts.map
@@ -0,0 +1,37 @@
1
+ import type { AgentTool } from "@earendil-works/pi-agent-core";
2
+ import { type Static, Type } from "typebox";
3
+ import type { ToolDefinition } from "../extensions/types.ts";
4
+ import { type TruncationResult } from "./truncate.ts";
5
+ declare const grepSchema: Type.TObject<{
6
+ pattern: Type.TString;
7
+ path: Type.TOptional<Type.TString>;
8
+ glob: Type.TOptional<Type.TString>;
9
+ ignoreCase: Type.TOptional<Type.TBoolean>;
10
+ literal: Type.TOptional<Type.TBoolean>;
11
+ context: Type.TOptional<Type.TNumber>;
12
+ limit: Type.TOptional<Type.TNumber>;
13
+ }>;
14
+ export type GrepToolInput = Static<typeof grepSchema>;
15
+ export interface GrepToolDetails {
16
+ truncation?: TruncationResult;
17
+ matchLimitReached?: number;
18
+ linesTruncated?: boolean;
19
+ }
20
+ /**
21
+ * Pluggable operations for the grep tool.
22
+ * Override these to delegate search to remote systems (for example SSH).
23
+ */
24
+ export interface GrepOperations {
25
+ /** Check if path is a directory. Throws if path does not exist. */
26
+ isDirectory: (absolutePath: string) => Promise<boolean> | boolean;
27
+ /** Read file contents for context lines */
28
+ readFile: (absolutePath: string) => Promise<string> | string;
29
+ }
30
+ export interface GrepToolOptions {
31
+ /** Custom operations for grep. Default: local filesystem plus ripgrep */
32
+ operations?: GrepOperations;
33
+ }
34
+ export declare function createGrepToolDefinition(cwd: string, options?: GrepToolOptions): ToolDefinition<typeof grepSchema, GrepToolDetails | undefined>;
35
+ export declare function createGrepTool(cwd: string, options?: GrepToolOptions): AgentTool<typeof grepSchema>;
36
+ export {};
37
+ //# sourceMappingURL=grep.d.ts.map
@@ -0,0 +1,40 @@
1
+ export { type BashOperations, type BashSpawnContext, type BashSpawnHook, type BashToolDetails, type BashToolInput, type BashToolOptions, createBashTool, createBashToolDefinition, createLocalBashOperations, } from "./bash.ts";
2
+ export { createEditTool, createEditToolDefinition, type EditOperations, type EditToolDetails, type EditToolInput, type EditToolOptions, } from "./edit.ts";
3
+ export { withFileMutationQueue } from "./file-mutation-queue.ts";
4
+ export { createFindTool, createFindToolDefinition, type FindOperations, type FindToolDetails, type FindToolInput, type FindToolOptions, } from "./find.ts";
5
+ export { createGrepTool, createGrepToolDefinition, type GrepOperations, type GrepToolDetails, type GrepToolInput, type GrepToolOptions, } from "./grep.ts";
6
+ export { createLsTool, createLsToolDefinition, type LsOperations, type LsToolDetails, type LsToolInput, type LsToolOptions, } from "./ls.ts";
7
+ export { createReadTool, createReadToolDefinition, type ReadOperations, type ReadToolDetails, type ReadToolInput, type ReadToolOptions, } from "./read.ts";
8
+ export { DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, formatSize, type TruncationOptions, type TruncationResult, truncateHead, truncateLine, truncateTail, } from "./truncate.ts";
9
+ export { createWriteTool, createWriteToolDefinition, type WriteOperations, type WriteToolInput, type WriteToolOptions, } from "./write.ts";
10
+ import type { AgentTool } from "@earendil-works/pi-agent-core";
11
+ import type { ToolDefinition } from "../extensions/types.ts";
12
+ import { type BashToolOptions } from "./bash.ts";
13
+ import { type EditToolOptions } from "./edit.ts";
14
+ import { type FindToolOptions } from "./find.ts";
15
+ import { type GrepToolOptions } from "./grep.ts";
16
+ import { type LsToolOptions } from "./ls.ts";
17
+ import { type ReadToolOptions } from "./read.ts";
18
+ import { type WriteToolOptions } from "./write.ts";
19
+ export type Tool = AgentTool<any>;
20
+ export type ToolDef = ToolDefinition<any, any>;
21
+ export type ToolName = "read" | "bash" | "edit" | "write" | "grep" | "find" | "ls";
22
+ export declare const allToolNames: Set<ToolName>;
23
+ export interface ToolsOptions {
24
+ read?: ReadToolOptions;
25
+ bash?: BashToolOptions;
26
+ write?: WriteToolOptions;
27
+ edit?: EditToolOptions;
28
+ grep?: GrepToolOptions;
29
+ find?: FindToolOptions;
30
+ ls?: LsToolOptions;
31
+ }
32
+ export declare function createToolDefinition(toolName: ToolName, cwd: string, options?: ToolsOptions): ToolDef;
33
+ export declare function createTool(toolName: ToolName, cwd: string, options?: ToolsOptions): Tool;
34
+ export declare function createCodingToolDefinitions(cwd: string, options?: ToolsOptions): ToolDef[];
35
+ export declare function createReadOnlyToolDefinitions(cwd: string, options?: ToolsOptions): ToolDef[];
36
+ export declare function createAllToolDefinitions(cwd: string, options?: ToolsOptions): Record<ToolName, ToolDef>;
37
+ export declare function createCodingTools(cwd: string, options?: ToolsOptions): Tool[];
38
+ export declare function createReadOnlyTools(cwd: string, options?: ToolsOptions): Tool[];
39
+ export declare function createAllTools(cwd: string, options?: ToolsOptions): Record<ToolName, Tool>;
40
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,37 @@
1
+ import type { AgentTool } from "@earendil-works/pi-agent-core";
2
+ import { type Static, Type } from "typebox";
3
+ import type { ToolDefinition } from "../extensions/types.ts";
4
+ import { type TruncationResult } from "./truncate.ts";
5
+ declare const lsSchema: Type.TObject<{
6
+ path: Type.TOptional<Type.TString>;
7
+ limit: Type.TOptional<Type.TNumber>;
8
+ }>;
9
+ export type LsToolInput = Static<typeof lsSchema>;
10
+ export interface LsToolDetails {
11
+ truncation?: TruncationResult;
12
+ entryLimitReached?: number;
13
+ }
14
+ /**
15
+ * Pluggable operations for the ls tool.
16
+ * Override these to delegate directory listing to remote systems (for example SSH).
17
+ */
18
+ export interface LsOperations {
19
+ /** Check if path exists */
20
+ exists: (absolutePath: string) => Promise<boolean> | boolean;
21
+ /** Get file or directory stats. Throws if not found. */
22
+ stat: (absolutePath: string) => Promise<{
23
+ isDirectory: () => boolean;
24
+ }> | {
25
+ isDirectory: () => boolean;
26
+ };
27
+ /** Read directory entries */
28
+ readdir: (absolutePath: string) => Promise<string[]> | string[];
29
+ }
30
+ export interface LsToolOptions {
31
+ /** Custom operations for directory listing. Default: local filesystem */
32
+ operations?: LsOperations;
33
+ }
34
+ export declare function createLsToolDefinition(cwd: string, options?: LsToolOptions): ToolDefinition<typeof lsSchema, LsToolDetails | undefined>;
35
+ export declare function createLsTool(cwd: string, options?: LsToolOptions): AgentTool<typeof lsSchema>;
36
+ export {};
37
+ //# sourceMappingURL=ls.d.ts.map
@@ -0,0 +1,52 @@
1
+ import { type TruncationResult } from "./truncate.ts";
2
+ export interface OutputAccumulatorOptions {
3
+ maxLines?: number;
4
+ maxBytes?: number;
5
+ tempFilePrefix?: string;
6
+ }
7
+ export interface OutputSnapshot {
8
+ content: string;
9
+ truncation: TruncationResult;
10
+ fullOutputPath?: string;
11
+ }
12
+ /**
13
+ * Incrementally tracks streaming output with bounded memory.
14
+ *
15
+ * Appends decode chunks with a streaming UTF-8 decoder, keeps only a decoded
16
+ * tail for display snapshots, and opens a temp file when the full output needs
17
+ * to be preserved.
18
+ */
19
+ export declare class OutputAccumulator {
20
+ private readonly maxLines;
21
+ private readonly maxBytes;
22
+ private readonly maxRollingBytes;
23
+ private readonly tempFilePrefix;
24
+ private readonly decoder;
25
+ private rawChunks;
26
+ private tailText;
27
+ private tailBytes;
28
+ private tailStartsAtLineBoundary;
29
+ private totalRawBytes;
30
+ private totalDecodedBytes;
31
+ private completedLines;
32
+ private totalLines;
33
+ private currentLineBytes;
34
+ private hasOpenLine;
35
+ private finished;
36
+ private tempFilePath;
37
+ private tempFileStream;
38
+ constructor(options?: OutputAccumulatorOptions);
39
+ append(data: Buffer): void;
40
+ finish(): void;
41
+ snapshot(options?: {
42
+ persistIfTruncated?: boolean;
43
+ }): OutputSnapshot;
44
+ closeTempFile(): Promise<void>;
45
+ getLastLineBytes(): number;
46
+ private appendDecodedText;
47
+ private trimTail;
48
+ private getSnapshotText;
49
+ private shouldUseTempFile;
50
+ private ensureTempFile;
51
+ }
52
+ //# sourceMappingURL=output-accumulator.d.ts.map
@@ -0,0 +1,10 @@
1
+ export declare function pathExists(filePath: string): Promise<boolean>;
2
+ export declare function expandPath(filePath: string): string;
3
+ /**
4
+ * Resolve a path relative to the given cwd.
5
+ * Handles ~ expansion and absolute paths.
6
+ */
7
+ export declare function resolveToCwd(filePath: string, cwd: string): string;
8
+ export declare function resolveReadPath(filePath: string, cwd: string): string;
9
+ export declare function resolveReadPathAsync(filePath: string, cwd: string): Promise<string>;
10
+ //# sourceMappingURL=path-utils.d.ts.map
@@ -0,0 +1,35 @@
1
+ import type { AgentTool } from "@earendil-works/pi-agent-core";
2
+ import { type Static, Type } from "typebox";
3
+ import type { ToolDefinition } from "../extensions/types.ts";
4
+ import { type TruncationResult } from "./truncate.ts";
5
+ declare const readSchema: Type.TObject<{
6
+ path: Type.TString;
7
+ offset: Type.TOptional<Type.TNumber>;
8
+ limit: Type.TOptional<Type.TNumber>;
9
+ }>;
10
+ export type ReadToolInput = Static<typeof readSchema>;
11
+ export interface ReadToolDetails {
12
+ truncation?: TruncationResult;
13
+ }
14
+ /**
15
+ * Pluggable operations for the read tool.
16
+ * Override these to delegate file reading to remote systems (for example SSH).
17
+ */
18
+ export interface ReadOperations {
19
+ /** Read file contents as a Buffer */
20
+ readFile: (absolutePath: string) => Promise<Buffer>;
21
+ /** Check if file is readable (throw if not) */
22
+ access: (absolutePath: string) => Promise<void>;
23
+ /** Detect image MIME type, return null or undefined for non-images */
24
+ detectImageMimeType?: (absolutePath: string) => Promise<string | null | undefined>;
25
+ }
26
+ export interface ReadToolOptions {
27
+ /** Whether to auto-resize images to 2000x2000 max. Default: true */
28
+ autoResizeImages?: boolean;
29
+ /** Custom operations for file reading. Default: local filesystem */
30
+ operations?: ReadOperations;
31
+ }
32
+ export declare function createReadToolDefinition(cwd: string, options?: ReadToolOptions): ToolDefinition<typeof readSchema, ReadToolDetails | undefined>;
33
+ export declare function createReadTool(cwd: string, options?: ReadToolOptions): AgentTool<typeof readSchema>;
34
+ export {};
35
+ //# sourceMappingURL=read.d.ts.map
@@ -0,0 +1,24 @@
1
+ import type { ImageContent, TextContent } from "@earendil-works/pi-ai";
2
+ import type { Theme } from "../../modes/interactive/theme/theme.ts";
3
+ export declare function shortenPath(path: unknown): string;
4
+ export declare function linkPath(styledText: string, rawPath: string, cwd: string): string;
5
+ export declare function str(value: unknown): string | null;
6
+ export declare function replaceTabs(text: string): string;
7
+ export declare function normalizeDisplayText(text: string): string;
8
+ export declare function getTextOutput(result: {
9
+ content: Array<{
10
+ type: string;
11
+ text?: string;
12
+ data?: string;
13
+ mimeType?: string;
14
+ }>;
15
+ } | undefined, showImages: boolean): string;
16
+ export type ToolRenderResultLike<TDetails> = {
17
+ content: (TextContent | ImageContent)[];
18
+ details: TDetails;
19
+ };
20
+ export declare function invalidArgText(theme: Theme): string;
21
+ export declare function renderToolPath(rawPath: string | null, theme: Theme, cwd: string, options?: {
22
+ emptyFallback?: string;
23
+ }): string;
24
+ //# sourceMappingURL=render-utils.d.ts.map