@selesai/code 0.10.2 → 0.12.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 (531) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/cli/credential-print.js +4 -4
  3. package/dist/cli/startup-ui.js +2 -1
  4. package/dist/cli.js +0 -0
  5. package/dist/core/agent-session.d.ts +12 -1
  6. package/dist/core/agent-session.js +77 -9
  7. package/dist/core/compaction/branch-summarization.js +34 -33
  8. package/dist/core/compaction/compaction.d.ts +5 -0
  9. package/dist/core/compaction/compaction.js +100 -85
  10. package/dist/core/compaction/utils.js +2 -2
  11. package/dist/core/export-html/template.css +1066 -1066
  12. package/dist/core/export-html/template.html +55 -55
  13. package/dist/core/export-html/template.js +1864 -1864
  14. package/dist/core/export-html/vendor/highlight.min.js +1212 -1212
  15. package/dist/core/export-html/vendor/marked.min.js +78 -78
  16. package/dist/core/extensions/index.d.ts +1 -1
  17. package/dist/core/extensions/runner.d.ts +5 -0
  18. package/dist/core/extensions/runner.js +48 -1
  19. package/dist/core/extensions/types.d.ts +18 -1
  20. package/dist/core/llama/client.d.ts +6 -0
  21. package/dist/core/llama/client.js +7 -0
  22. package/dist/core/llama/provider.d.ts +3 -1
  23. package/dist/core/llama/provider.js +28 -6
  24. package/dist/core/messages.js +7 -7
  25. package/dist/core/session-manager.js +4 -2
  26. package/dist/core/settings-manager.d.ts +8 -1
  27. package/dist/core/settings-manager.js +17 -0
  28. package/dist/defaults/models.json +32 -9
  29. package/dist/defaults/settings.json +0 -3
  30. package/dist/extensions/auto-session-name.test.ts +157 -0
  31. package/dist/extensions/auto-session-name.ts +96 -0
  32. package/dist/extensions/context-compaction-reminder.test.ts +82 -82
  33. package/dist/extensions/context-compaction-reminder.ts +28 -28
  34. package/dist/extensions/cost-reconcile.test.ts +76 -0
  35. package/dist/extensions/cost-reconcile.ts +278 -0
  36. package/dist/extensions/enable-readonly-tools.test.ts +11 -0
  37. package/dist/extensions/enable-readonly-tools.ts +7 -3
  38. package/dist/extensions/package.json +3 -0
  39. package/dist/extensions/pi-intercom/LICENSE +21 -21
  40. package/dist/extensions/pi-intercom/broker/client.test.ts +83 -83
  41. package/dist/extensions/pi-intercom/broker/framing.test.ts +114 -114
  42. package/dist/extensions/pi-intercom/broker/paths.ts +134 -134
  43. package/dist/extensions/pi-intercom/broker/runtime-claim.test.ts +34 -34
  44. package/dist/extensions/pi-intercom/broker/runtime-claim.ts +21 -21
  45. package/dist/extensions/pi-intercom/cwd.test.ts +40 -40
  46. package/dist/extensions/pi-intercom/cwd.ts +31 -31
  47. package/dist/extensions/pi-intercom/format-context.test.ts +31 -31
  48. package/dist/extensions/pi-intercom/format-context.ts +32 -32
  49. package/dist/extensions/pi-intercom/test/overlay-width.test.ts +66 -66
  50. package/dist/extensions/pi-intercom/ui/compose.ts +143 -143
  51. package/dist/extensions/pi-intercom/ui/session-list.ts +166 -166
  52. package/dist/extensions/pi-rewind-hook/README.md +245 -245
  53. package/dist/extensions/pi-rewind-hook/index.ts +1445 -1445
  54. package/dist/extensions/pi-rewind-hook/package.json +29 -29
  55. package/dist/extensions/pi-subagents/install.mjs +0 -0
  56. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/cli.d.ts +3 -0
  57. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/register-bedrock.d.ts +2 -0
  58. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/restore-sandbox-env.d.ts +17 -0
  59. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/args.d.ts +57 -0
  60. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/config-selector.d.ts +16 -0
  61. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/file-processor.d.ts +15 -0
  62. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/initial-message.d.ts +18 -0
  63. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/list-models.d.ts +9 -0
  64. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/project-trust.d.ts +10 -0
  65. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/session-picker.d.ts +10 -0
  66. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/startup-ui.d.ts +20 -0
  67. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli.d.ts +3 -0
  68. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/config.d.ts +96 -0
  69. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-runtime.d.ts +119 -0
  70. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-services.d.ts +85 -0
  71. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session.d.ts +620 -0
  72. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-guidance.d.ts +5 -0
  73. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-storage.d.ts +56 -0
  74. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/bash-executor.d.ts +32 -0
  75. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/cache-stats.d.ts +49 -0
  76. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/branch-summarization.d.ts +93 -0
  77. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/compaction.d.ts +128 -0
  78. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/index.d.ts +7 -0
  79. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/utils.d.ts +38 -0
  80. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/defaults.d.ts +3 -0
  81. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/diagnostics.d.ts +15 -0
  82. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/event-bus.d.ts +9 -0
  83. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/exec.d.ts +29 -0
  84. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/experimental.d.ts +2 -0
  85. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/ansi-to-html.d.ts +22 -0
  86. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/index.d.ts +37 -0
  87. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/tool-renderer.d.ts +34 -0
  88. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/index.d.ts +12 -0
  89. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/loader.d.ts +23 -0
  90. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/runner.d.ts +171 -0
  91. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/types.d.ts +1261 -0
  92. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/wrapper.d.ts +20 -0
  93. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/footer-data-provider.d.ts +54 -0
  94. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/http-dispatcher.d.ts +22 -0
  95. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/index.d.ts +13 -0
  96. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/keybindings.d.ts +358 -0
  97. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/messages.d.ts +77 -0
  98. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-config.d.ts +512 -0
  99. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-registry.d.ts +43 -0
  100. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-resolver.d.ts +121 -0
  101. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-runtime.d.ts +82 -0
  102. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/models-store.d.ts +17 -0
  103. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/output-guard.d.ts +7 -0
  104. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/package-manager.d.ts +210 -0
  105. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/project-trust.d.ts +15 -0
  106. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/prompt-templates.d.ts +54 -0
  107. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-attribution.d.ts +4 -0
  108. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-composer.d.ts +55 -0
  109. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/radius.d.ts +2 -0
  110. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/remote-catalog-provider.d.ts +5 -0
  111. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resolve-config-value.d.ts +30 -0
  112. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resource-loader.d.ts +206 -0
  113. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/runtime-credentials.d.ts +15 -0
  114. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/sdk.d.ts +106 -0
  115. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-cwd.d.ts +19 -0
  116. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-manager.d.ts +356 -0
  117. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/settings-manager.d.ts +297 -0
  118. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/skills.d.ts +60 -0
  119. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/slash-commands.d.ts +15 -0
  120. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/source-info.d.ts +18 -0
  121. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/system-prompt.d.ts +28 -0
  122. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/telemetry.d.ts +3 -0
  123. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/timings.d.ts +10 -0
  124. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/bash.d.ts +68 -0
  125. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit-diff.d.ts +106 -0
  126. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit.d.ts +51 -0
  127. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/file-mutation-queue.d.ts +6 -0
  128. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/find.d.ts +35 -0
  129. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/grep.d.ts +37 -0
  130. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/index.d.ts +40 -0
  131. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/ls.d.ts +37 -0
  132. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/output-accumulator.d.ts +52 -0
  133. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/path-utils.d.ts +10 -0
  134. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/read.d.ts +35 -0
  135. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/render-utils.d.ts +24 -0
  136. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
  137. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/truncate.d.ts +70 -0
  138. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/write.d.ts +26 -0
  139. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/trust-manager.d.ts +36 -0
  140. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/usage-totals.d.ts +19 -0
  141. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/index.d.ts +3 -0
  142. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/client.d.ts +61 -0
  143. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/huggingface.d.ts +23 -0
  144. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/index.d.ts +3 -0
  145. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/provider.d.ts +10 -0
  146. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/ui.d.ts +42 -0
  147. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/index.d.ts +35 -0
  148. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/main.d.ts +12 -0
  149. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/migrations.d.ts +33 -0
  150. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/index.d.ts +9 -0
  151. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/armin.d.ts +34 -0
  152. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/assistant-message.d.ts +22 -0
  153. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bash-execution.d.ts +34 -0
  154. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
  155. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
  156. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
  157. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/config-selector.d.ts +102 -0
  158. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
  159. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-editor.d.ts +21 -0
  160. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-entry.d.ts +19 -0
  161. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-message.d.ts +20 -0
  162. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/daxnuts.d.ts +23 -0
  163. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/diff.d.ts +12 -0
  164. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
  165. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/earendil-announcement.d.ts +5 -0
  166. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-editor.d.ts +22 -0
  167. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-input.d.ts +23 -0
  168. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-selector.d.ts +26 -0
  169. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/first-time-setup.d.ts +25 -0
  170. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/footer.d.ts +32 -0
  171. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/index.d.ts +34 -0
  172. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
  173. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/login-dialog.d.ts +52 -0
  174. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/model-selector.d.ts +54 -0
  175. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/oauth-selector.d.ts +33 -0
  176. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/scoped-models-selector.d.ts +42 -0
  177. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
  178. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector.d.ts +95 -0
  179. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/settings-selector.d.ts +77 -0
  180. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
  181. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
  182. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/status-indicator.d.ts +28 -0
  183. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/theme-selector.d.ts +11 -0
  184. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
  185. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tool-execution.d.ts +63 -0
  186. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tree-selector.d.ts +94 -0
  187. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/trust-selector.d.ts +23 -0
  188. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
  189. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message.d.ts +14 -0
  190. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
  191. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/interactive-mode.d.ts +394 -0
  192. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/model-search.d.ts +12 -0
  193. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme-controller.d.ts +29 -0
  194. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme.d.ts +120 -0
  195. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/print-mode.d.ts +28 -0
  196. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/jsonl.d.ts +17 -0
  197. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-client.d.ts +246 -0
  198. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-mode.d.ts +20 -0
  199. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-types.d.ts +457 -0
  200. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/package-manager-cli.d.ts +8 -0
  201. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/rpc-entry.d.ts +3 -0
  202. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/ansi.d.ts +2 -0
  203. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/changelog.d.ts +22 -0
  204. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/child-process.d.ts +18 -0
  205. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-image.d.ts +11 -0
  206. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-native.d.ts +11 -0
  207. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard.d.ts +4 -0
  208. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/deprecation.d.ts +4 -0
  209. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/exif-orientation.d.ts +5 -0
  210. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/frontmatter.d.ts +8 -0
  211. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/fs-watch.d.ts +5 -0
  212. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/git.d.ts +26 -0
  213. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/html.d.ts +7 -0
  214. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-convert.d.ts +10 -0
  215. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-process.d.ts +18 -0
  216. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-core.d.ts +30 -0
  217. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-worker.d.ts +2 -0
  218. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize.d.ts +16 -0
  219. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/json.d.ts +3 -0
  220. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/mime.d.ts +3 -0
  221. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/open-browser.d.ts +9 -0
  222. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/paths.d.ts +31 -0
  223. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/photon.d.ts +21 -0
  224. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/pi-user-agent.d.ts +2 -0
  225. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/shell.d.ts +31 -0
  226. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/sleep.d.ts +5 -0
  227. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/syntax-highlight.d.ts +12 -0
  228. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/tools-manager.d.ts +3 -0
  229. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/version-check.d.ts +15 -0
  230. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/windows-self-update.d.ts +3 -0
  231. package/dist/extensions/pi-tool-display/CHANGELOG.md +329 -0
  232. package/dist/extensions/pi-tool-display/LICENSE +21 -0
  233. package/dist/extensions/pi-tool-display/README.md +417 -0
  234. package/dist/extensions/pi-tool-display/config/config.example.json +40 -0
  235. package/dist/extensions/pi-tool-display/index.ts +3 -0
  236. package/dist/extensions/pi-tool-display/package-lock.json +2555 -0
  237. package/dist/extensions/pi-tool-display/package.json +86 -0
  238. package/dist/extensions/pi-tool-display/src/agent-dir.ts +35 -0
  239. package/dist/extensions/pi-tool-display/src/ansi-utils.ts +116 -0
  240. package/dist/extensions/pi-tool-display/src/bash-display.ts +213 -0
  241. package/dist/extensions/pi-tool-display/src/capabilities.ts +88 -0
  242. package/dist/extensions/pi-tool-display/src/config-modal.ts +541 -0
  243. package/dist/extensions/pi-tool-display/src/config-store.ts +304 -0
  244. package/dist/extensions/pi-tool-display/src/debug-logger.ts +150 -0
  245. package/dist/extensions/pi-tool-display/src/diff-presentation.ts +72 -0
  246. package/dist/extensions/pi-tool-display/src/diff-renderer.ts +2517 -0
  247. package/dist/extensions/pi-tool-display/src/disposable.ts +34 -0
  248. package/dist/extensions/pi-tool-display/src/extension-lifecycle.ts +14 -0
  249. package/dist/extensions/pi-tool-display/src/index.ts +109 -0
  250. package/dist/extensions/pi-tool-display/src/line-width-safety.ts +93 -0
  251. package/dist/extensions/pi-tool-display/src/modal-icons.ts +57 -0
  252. package/dist/extensions/pi-tool-display/src/pending-diff-preview.ts +370 -0
  253. package/dist/extensions/pi-tool-display/src/presets.ts +117 -0
  254. package/dist/extensions/pi-tool-display/src/render-utils.ts +186 -0
  255. package/dist/extensions/pi-tool-display/src/settings-inspector-modal.ts +475 -0
  256. package/dist/extensions/pi-tool-display/src/thinking-label.ts +343 -0
  257. package/dist/extensions/pi-tool-display/src/tool-call-box.ts +181 -0
  258. package/dist/extensions/pi-tool-display/src/tool-metadata.ts +139 -0
  259. package/dist/extensions/pi-tool-display/src/tool-overrides.ts +2168 -0
  260. package/dist/extensions/pi-tool-display/src/types.ts +109 -0
  261. package/dist/extensions/pi-tool-display/src/user-message-box-markdown.ts +64 -0
  262. package/dist/extensions/pi-tool-display/src/user-message-box-native.ts +66 -0
  263. package/dist/extensions/pi-tool-display/src/user-message-box-patch.ts +72 -0
  264. package/dist/extensions/pi-tool-display/src/user-message-box-renderer.ts +419 -0
  265. package/dist/extensions/pi-tool-display/src/user-message-box-utils.ts +106 -0
  266. package/dist/extensions/pi-tool-display/src/write-display-utils.ts +31 -0
  267. package/dist/extensions/pi-tool-display/src/zellij-modal.ts +1027 -0
  268. package/dist/extensions/pi-tool-display/tests/active-backlog-red.test.ts +65 -0
  269. package/dist/extensions/pi-tool-display/tests/ansi-utils.test.ts +345 -0
  270. package/dist/extensions/pi-tool-display/tests/bash-display.test.ts +442 -0
  271. package/dist/extensions/pi-tool-display/tests/capabilities-edge.test.ts +360 -0
  272. package/dist/extensions/pi-tool-display/tests/capabilities.test.ts +54 -0
  273. package/dist/extensions/pi-tool-display/tests/config-modal.test.ts +360 -0
  274. package/dist/extensions/pi-tool-display/tests/config-store.test.ts +87 -0
  275. package/dist/extensions/pi-tool-display/tests/custom-tool-overrides.test.ts +415 -0
  276. package/dist/extensions/pi-tool-display/tests/debug-logger-edge.test.ts +630 -0
  277. package/dist/extensions/pi-tool-display/tests/debug-logger.test.ts +62 -0
  278. package/dist/extensions/pi-tool-display/tests/diff-renderer-ansi.test.ts +55 -0
  279. package/dist/extensions/pi-tool-display/tests/diff-renderer-edge.test.ts +886 -0
  280. package/dist/extensions/pi-tool-display/tests/diff-renderer-numbering.test.ts +135 -0
  281. package/dist/extensions/pi-tool-display/tests/diff-renderer-width.test.ts +454 -0
  282. package/dist/extensions/pi-tool-display/tests/diff-renderer-wrap.test.ts +169 -0
  283. package/dist/extensions/pi-tool-display/tests/index-integration.test.ts +354 -0
  284. package/dist/extensions/pi-tool-display/tests/pending-diff-preview.test.ts +79 -0
  285. package/dist/extensions/pi-tool-display/tests/presets-edge.test.ts +229 -0
  286. package/dist/extensions/pi-tool-display/tests/presets.test.ts +26 -0
  287. package/dist/extensions/pi-tool-display/tests/reload-behavior.test.ts +1241 -0
  288. package/dist/extensions/pi-tool-display/tests/render-utils.test.ts +710 -0
  289. package/dist/extensions/pi-tool-display/tests/settings-inspector.test.ts +450 -0
  290. package/dist/extensions/pi-tool-display/tests/thinking-label-edge.test.ts +904 -0
  291. package/dist/extensions/pi-tool-display/tests/thinking-label.test.ts +72 -0
  292. package/dist/extensions/pi-tool-display/tests/tool-call-box.test.ts +105 -0
  293. package/dist/extensions/pi-tool-display/tests/tool-overrides-config.test.ts +613 -0
  294. package/dist/extensions/pi-tool-display/tests/tool-overrides-mcp.test.ts +499 -0
  295. package/dist/extensions/pi-tool-display/tests/tool-overrides-registration.test.ts +315 -0
  296. package/dist/extensions/pi-tool-display/tests/tool-overrides-write-meta.test.ts +68 -0
  297. package/dist/extensions/pi-tool-display/tests/tool-ui-utils.test.ts +413 -0
  298. package/dist/extensions/pi-tool-display/tests/user-message-box-performance-red.test.ts +176 -0
  299. package/dist/extensions/pi-tool-display/tests/user-message-box.test.ts +908 -0
  300. package/dist/extensions/pi-tool-display/tests/zellij-modal.test.ts +848 -0
  301. package/dist/extensions/pi-tool-display/tool-display-api-consumer.d.ts +30 -0
  302. package/dist/extensions/pi-tool-display/tool-display-api-consumer.js +40 -0
  303. package/dist/extensions/pi-web-agent/package.json +31 -31
  304. package/dist/extensions/pi-web-agent/src/backends/config.ts +205 -205
  305. package/dist/extensions/pi-web-agent/src/backends/doctor.ts +136 -136
  306. package/dist/extensions/pi-web-agent/src/backends/factory.ts +152 -152
  307. package/dist/extensions/pi-web-agent/src/backends/settings-reader.ts +25 -25
  308. package/dist/extensions/pi-web-agent/src/cache/ttl-cache.ts +28 -28
  309. package/dist/extensions/pi-web-agent/src/changelog-notice.ts +136 -136
  310. package/dist/extensions/pi-web-agent/src/commands/web-agent-config.ts +946 -946
  311. package/dist/extensions/pi-web-agent/src/extension.ts +126 -126
  312. package/dist/extensions/pi-web-agent/src/extract/readability.ts +118 -118
  313. package/dist/extensions/pi-web-agent/src/fetch/browser-resolution.ts +199 -199
  314. package/dist/extensions/pi-web-agent/src/fetch/firecrawl-fetch.ts +100 -100
  315. package/dist/extensions/pi-web-agent/src/fetch/headless-fetch.ts +117 -117
  316. package/dist/extensions/pi-web-agent/src/fetch/http-fetch.ts +67 -67
  317. package/dist/extensions/pi-web-agent/src/orchestration/answer-synthesizer.ts +60 -60
  318. package/dist/extensions/pi-web-agent/src/orchestration/candidate-selector.ts +50 -50
  319. package/dist/extensions/pi-web-agent/src/orchestration/direct-url.ts +52 -52
  320. package/dist/extensions/pi-web-agent/src/orchestration/evidence-quality.ts +105 -105
  321. package/dist/extensions/pi-web-agent/src/orchestration/evidence-ranker.ts +45 -45
  322. package/dist/extensions/pi-web-agent/src/orchestration/index.ts +28 -28
  323. package/dist/extensions/pi-web-agent/src/orchestration/query-planner.ts +47 -47
  324. package/dist/extensions/pi-web-agent/src/orchestration/research-orchestrator.ts +376 -376
  325. package/dist/extensions/pi-web-agent/src/orchestration/research-types.ts +64 -64
  326. package/dist/extensions/pi-web-agent/src/orchestration/research-worker.ts +181 -181
  327. package/dist/extensions/pi-web-agent/src/orchestration/source-profile.ts +101 -101
  328. package/dist/extensions/pi-web-agent/src/orchestration/stop-decider.ts +81 -81
  329. package/dist/extensions/pi-web-agent/src/presentation/config-store.ts +210 -210
  330. package/dist/extensions/pi-web-agent/src/presentation/config.ts +75 -75
  331. package/dist/extensions/pi-web-agent/src/presentation/explore-presentation.ts +61 -61
  332. package/dist/extensions/pi-web-agent/src/presentation/fetch-presentation.ts +54 -54
  333. package/dist/extensions/pi-web-agent/src/presentation/search-presentation.ts +41 -41
  334. package/dist/extensions/pi-web-agent/src/presentation/select-view.ts +20 -20
  335. package/dist/extensions/pi-web-agent/src/presentation/types.ts +63 -63
  336. package/dist/extensions/pi-web-agent/src/search/brave.ts +114 -114
  337. package/dist/extensions/pi-web-agent/src/search/duckduckgo.ts +72 -72
  338. package/dist/extensions/pi-web-agent/src/search/searxng.ts +96 -96
  339. package/dist/extensions/pi-web-agent/src/tools/web-explore.ts +71 -71
  340. package/dist/extensions/pi-web-agent/src/tools/web-fetch-headless.ts +31 -31
  341. package/dist/extensions/pi-web-agent/src/tools/web-fetch.ts +31 -31
  342. package/dist/extensions/pi-web-agent/src/tools/web-search.ts +157 -157
  343. package/dist/extensions/pi-web-agent/src/types.ts +88 -88
  344. package/dist/extensions/pi-zentui/extensions/zentui/format.ts +46 -1
  345. package/dist/extensions/pi-zentui/extensions/zentui/index.ts +10 -0
  346. package/dist/extensions/pi-zentui/extensions/zentui/user-message-styles.ts +1 -1
  347. package/dist/extensions/pi-zentui/test/extension-compliance.test.ts +3 -3
  348. package/dist/extensions/pi-zentui/test/format.test.ts +50 -2
  349. package/dist/extensions/ponytail/package.json +8 -8
  350. package/dist/extensions/question/constants.ts +30 -30
  351. package/dist/extensions/question/helpers.ts +58 -58
  352. package/dist/extensions/question/navigation.ts +14 -14
  353. package/dist/extensions/question/package.json +19 -19
  354. package/dist/extensions/question/selection-mode.ts +46 -46
  355. package/dist/extensions/question/shortcuts.ts +44 -44
  356. package/dist/extensions/question/types.ts +132 -132
  357. package/dist/extensions/test-resolve-hook-impl.mjs +6 -6
  358. package/dist/extensions/test-resolve-hook.mjs +6 -6
  359. package/dist/extensions/tokenin-onboarding.ts +112 -2
  360. package/dist/extensions/web-agent-onboarding.ts +222 -222
  361. package/dist/index.d.ts +2 -1
  362. package/dist/index.js +1 -0
  363. package/dist/main.js +2 -0
  364. package/dist/modes/interactive/components/settings-selector.d.ts +2 -0
  365. package/dist/modes/interactive/components/settings-selector.js +10 -0
  366. package/dist/modes/interactive/interactive-mode.d.ts +4 -0
  367. package/dist/modes/interactive/interactive-mode.js +72 -42
  368. package/dist/modes/rpc/rpc-client.d.ts +7 -0
  369. package/dist/modes/rpc/rpc-client.js +7 -0
  370. package/dist/modes/rpc/rpc-mode.js +3 -0
  371. package/dist/modes/rpc/rpc-types.d.ts +12 -0
  372. package/dist/package-manager-cli.js +71 -71
  373. package/dist/rpc-entry.js +0 -0
  374. package/dist/skills/improve-codebase/REFERENCE.md +78 -78
  375. package/dist/utils/shell.js +6 -4
  376. package/docs/compaction.md +396 -396
  377. package/docs/containerization.md +111 -111
  378. package/docs/development.md +71 -71
  379. package/docs/docs.json +164 -164
  380. package/docs/environment-variables.md +86 -86
  381. package/docs/index.md +83 -83
  382. package/docs/json.md +82 -82
  383. package/docs/models.md +502 -502
  384. package/docs/packages.md +227 -227
  385. package/docs/plans/subagent-delegation/phase-0-correctness.md +264 -264
  386. package/docs/plans/subagent-delegation/phase-1-behavioral-contract.md +485 -485
  387. package/docs/plans/subagent-delegation/phase-2-context-controls.md +281 -281
  388. package/docs/plans/subagent-delegation/phase-3-advisory-routing.md +361 -361
  389. package/docs/plans/subagent-delegation/phase-4-optional-enforcement.md +380 -380
  390. package/docs/prompt-templates.md +95 -95
  391. package/docs/providers.md +293 -293
  392. package/docs/security.md +59 -59
  393. package/docs/session-format.md +414 -414
  394. package/docs/sessions.md +145 -145
  395. package/docs/settings.md +4 -0
  396. package/docs/shared-host-extensions.md +109 -109
  397. package/docs/shell-aliases.md +13 -13
  398. package/docs/skills.md +231 -231
  399. package/docs/terminal-setup.md +142 -142
  400. package/docs/termux.md +127 -127
  401. package/docs/themes.md +295 -295
  402. package/docs/tmux.md +63 -63
  403. package/docs/tui.md +927 -927
  404. package/docs/windows.md +17 -17
  405. package/examples/README.md +25 -25
  406. package/examples/extensions/README.md +211 -211
  407. package/examples/extensions/auto-commit-on-exit.ts +49 -49
  408. package/examples/extensions/bash-spawn-hook.ts +30 -30
  409. package/examples/extensions/bookmark.ts +50 -50
  410. package/examples/extensions/border-status-editor.ts +150 -150
  411. package/examples/extensions/built-in-tool-renderer.ts +249 -249
  412. package/examples/extensions/claude-rules.ts +86 -86
  413. package/examples/extensions/commands.ts +72 -72
  414. package/examples/extensions/confirm-destructive.ts +59 -59
  415. package/examples/extensions/custom-compaction.ts +130 -130
  416. package/examples/extensions/custom-footer.ts +64 -64
  417. package/examples/extensions/custom-header.ts +73 -73
  418. package/examples/extensions/custom-provider-anthropic/index.ts +610 -610
  419. package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -24
  420. package/examples/extensions/custom-provider-anthropic/package.json +19 -19
  421. package/examples/extensions/custom-provider-gitlab-duo/index.ts +404 -404
  422. package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -16
  423. package/examples/extensions/custom-provider-gitlab-duo/test.ts +82 -82
  424. package/examples/extensions/dirty-repo-guard.ts +56 -56
  425. package/examples/extensions/doom-overlay/README.md +46 -46
  426. package/examples/extensions/doom-overlay/doom/build/doom.js +21 -21
  427. package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
  428. package/examples/extensions/doom-overlay/doom/build.sh +152 -152
  429. package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -72
  430. package/examples/extensions/doom-overlay/doom-component.ts +132 -132
  431. package/examples/extensions/doom-overlay/doom-engine.ts +173 -173
  432. package/examples/extensions/doom-overlay/doom-keys.ts +104 -104
  433. package/examples/extensions/doom-overlay/index.ts +74 -74
  434. package/examples/extensions/doom-overlay/wad-finder.ts +51 -51
  435. package/examples/extensions/dynamic-resources/SKILL.md +8 -8
  436. package/examples/extensions/dynamic-resources/dynamic.json +79 -79
  437. package/examples/extensions/dynamic-resources/dynamic.md +5 -5
  438. package/examples/extensions/dynamic-resources/index.ts +15 -15
  439. package/examples/extensions/dynamic-tools.ts +74 -74
  440. package/examples/extensions/event-bus.ts +43 -43
  441. package/examples/extensions/file-trigger.ts +41 -41
  442. package/examples/extensions/git-checkpoint.ts +53 -53
  443. package/examples/extensions/git-merge-and-resolve.ts +115 -115
  444. package/examples/extensions/github-issue-autocomplete.ts +185 -185
  445. package/examples/extensions/gondolin/index.ts +531 -531
  446. package/examples/extensions/gondolin/package-lock.json +185 -185
  447. package/examples/extensions/gondolin/package.json +19 -19
  448. package/examples/extensions/handoff.ts +199 -199
  449. package/examples/extensions/hello.ts +26 -26
  450. package/examples/extensions/hidden-thinking-label.ts +53 -53
  451. package/examples/extensions/inline-bash.ts +94 -94
  452. package/examples/extensions/input-transform-streaming.ts +39 -39
  453. package/examples/extensions/input-transform.ts +43 -43
  454. package/examples/extensions/interactive-shell.ts +196 -196
  455. package/examples/extensions/mac-system-theme.ts +47 -47
  456. package/examples/extensions/message-renderer.ts +59 -59
  457. package/examples/extensions/minimal-mode.ts +426 -426
  458. package/examples/extensions/modal-editor.ts +85 -85
  459. package/examples/extensions/model-status.ts +31 -31
  460. package/examples/extensions/notify.ts +55 -55
  461. package/examples/extensions/overlay-qa-tests.ts +1450 -1450
  462. package/examples/extensions/overlay-test.ts +153 -153
  463. package/examples/extensions/permission-gate.ts +34 -34
  464. package/examples/extensions/pirate.ts +47 -47
  465. package/examples/extensions/plan-mode/README.md +66 -66
  466. package/examples/extensions/plan-mode/index.ts +390 -390
  467. package/examples/extensions/plan-mode/utils.ts +168 -168
  468. package/examples/extensions/preset.ts +436 -436
  469. package/examples/extensions/project-trust.ts +64 -64
  470. package/examples/extensions/prompt-customizer.ts +97 -97
  471. package/examples/extensions/protected-paths.ts +30 -30
  472. package/examples/extensions/provider-payload.ts +18 -18
  473. package/examples/extensions/qna.ts +122 -122
  474. package/examples/extensions/question.ts +285 -285
  475. package/examples/extensions/questionnaire.ts +448 -448
  476. package/examples/extensions/rainbow-editor.ts +88 -88
  477. package/examples/extensions/reload-runtime.ts +37 -37
  478. package/examples/extensions/rpc-demo.ts +118 -118
  479. package/examples/extensions/sandbox/index.ts +321 -321
  480. package/examples/extensions/sandbox/package-lock.json +92 -92
  481. package/examples/extensions/sandbox/package.json +19 -19
  482. package/examples/extensions/send-user-message.ts +97 -97
  483. package/examples/extensions/session-name.ts +27 -27
  484. package/examples/extensions/shutdown-command.ts +63 -63
  485. package/examples/extensions/snake.ts +343 -343
  486. package/examples/extensions/space-invaders.ts +560 -560
  487. package/examples/extensions/ssh.ts +220 -220
  488. package/examples/extensions/status-line.ts +32 -32
  489. package/examples/extensions/structured-output.ts +65 -65
  490. package/examples/extensions/subagent/README.md +175 -175
  491. package/examples/extensions/subagent/agents/planner.md +37 -37
  492. package/examples/extensions/subagent/agents/reviewer.md +35 -35
  493. package/examples/extensions/subagent/agents/scout.md +50 -50
  494. package/examples/extensions/subagent/agents/worker.md +24 -24
  495. package/examples/extensions/subagent/agents.ts +126 -126
  496. package/examples/extensions/subagent/index.ts +1015 -1015
  497. package/examples/extensions/subagent/prompts/implement-and-review.md +10 -10
  498. package/examples/extensions/subagent/prompts/implement.md +10 -10
  499. package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -9
  500. package/examples/extensions/summarize.ts +209 -209
  501. package/examples/extensions/system-prompt-header.ts +17 -17
  502. package/examples/extensions/tic-tac-toe.ts +1008 -1008
  503. package/examples/extensions/timed-confirm.ts +70 -70
  504. package/examples/extensions/titlebar-spinner.ts +58 -58
  505. package/examples/extensions/todo.ts +297 -297
  506. package/examples/extensions/tool-override.ts +144 -144
  507. package/examples/extensions/tools.ts +146 -146
  508. package/examples/extensions/trigger-compact.ts +50 -50
  509. package/examples/extensions/truncated-tool.ts +195 -195
  510. package/examples/extensions/widget-placement.ts +9 -9
  511. package/examples/extensions/with-deps/index.ts +32 -32
  512. package/examples/extensions/with-deps/package-lock.json +31 -31
  513. package/examples/extensions/with-deps/package.json +22 -22
  514. package/examples/extensions/working-indicator.ts +123 -123
  515. package/examples/extensions/working-message-test.ts +25 -25
  516. package/examples/rpc-extension-ui.ts +632 -632
  517. package/examples/sdk/01-minimal.ts +26 -26
  518. package/examples/sdk/02-custom-model.ts +53 -53
  519. package/examples/sdk/03-custom-prompt.ts +75 -75
  520. package/examples/sdk/04-skills.ts +55 -55
  521. package/examples/sdk/05-tools.ts +48 -48
  522. package/examples/sdk/06-extensions.ts +99 -99
  523. package/examples/sdk/07-context-files.ts +47 -47
  524. package/examples/sdk/08-prompt-templates.ts +51 -51
  525. package/examples/sdk/09-api-keys-and-oauth.ts +52 -52
  526. package/examples/sdk/10-settings.ts +53 -53
  527. package/examples/sdk/11-sessions.ts +52 -52
  528. package/examples/sdk/12-full-control.ts +79 -79
  529. package/examples/sdk/13-session-runtime.ts +67 -67
  530. package/examples/sdk/README.md +144 -144
  531. package/package.json +6 -6
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Model resolution, scoping, and initial selection
3
+ */
4
+ import type { ThinkingLevel } from "@earendil-works/pi-agent-core";
5
+ import { type Api, type KnownProvider, type Model } from "@earendil-works/pi-ai";
6
+ import type { ModelRuntime } from "./model-runtime.ts";
7
+ /** Default model IDs for each known provider */
8
+ export declare const defaultModelPerProvider: Record<KnownProvider, string>;
9
+ export interface ScopedModel {
10
+ model: Model<Api>;
11
+ /** Thinking level if explicitly specified in pattern (e.g., "model:high"), undefined otherwise */
12
+ thinkingLevel?: ThinkingLevel;
13
+ }
14
+ /**
15
+ * Find an exact model reference match.
16
+ * Supports either a bare model id or a canonical provider/modelId reference.
17
+ * When matching by bare id, ambiguous matches across providers are rejected.
18
+ */
19
+ export declare function findExactModelReferenceMatch(modelReference: string, availableModels: Model<Api>[]): Model<Api> | undefined;
20
+ export interface ParsedModelResult {
21
+ model: Model<Api> | undefined;
22
+ /** Thinking level if explicitly specified in pattern, undefined otherwise */
23
+ thinkingLevel?: ThinkingLevel;
24
+ warning: string | undefined;
25
+ }
26
+ /**
27
+ * Parse a pattern to extract model and thinking level.
28
+ * Handles models with colons in their IDs (e.g., OpenRouter's :exacto suffix).
29
+ *
30
+ * Algorithm:
31
+ * 1. Try to match full pattern as a model
32
+ * 2. If found, return it with "off" thinking level
33
+ * 3. If not found and has colons, split on last colon:
34
+ * - If suffix is valid thinking level, use it and recurse on prefix
35
+ * - If suffix is invalid, warn and recurse on prefix with "off"
36
+ *
37
+ * @internal Exported for testing
38
+ */
39
+ export declare function parseModelPattern(pattern: string, availableModels: Model<Api>[], options?: {
40
+ allowInvalidThinkingLevelFallback?: boolean;
41
+ }): ParsedModelResult;
42
+ /**
43
+ * Resolve model patterns to actual Model objects with optional thinking levels
44
+ * Format: "pattern:level" where :level is optional
45
+ * For each pattern, finds all matching models and picks the best version:
46
+ * 1. Prefer alias (e.g., claude-sonnet-4-5) over dated versions (claude-sonnet-4-5-20250929)
47
+ * 2. If no alias, pick the latest dated version
48
+ *
49
+ * Supports models with colons in their IDs (e.g., OpenRouter's model:exacto).
50
+ * The algorithm tries to match the full pattern first, then progressively
51
+ * strips colon-suffixes to find a match.
52
+ */
53
+ export interface ModelScopeDiagnostic {
54
+ type: "warning";
55
+ message: string;
56
+ pattern: string;
57
+ }
58
+ export interface ResolveModelScopeResult {
59
+ scopedModels: ScopedModel[];
60
+ diagnostics: ModelScopeDiagnostic[];
61
+ }
62
+ export declare function resolveModelScopeWithDiagnostics(patterns: string[], modelRuntime: ModelRuntime): Promise<ResolveModelScopeResult>;
63
+ export declare function resolveModelScope(patterns: string[], modelRuntime: ModelRuntime): Promise<ScopedModel[]>;
64
+ export interface ResolveCliModelResult {
65
+ model: Model<Api> | undefined;
66
+ thinkingLevel?: ThinkingLevel;
67
+ warning: string | undefined;
68
+ /**
69
+ * Error message suitable for CLI display.
70
+ * When set, model will be undefined.
71
+ */
72
+ error: string | undefined;
73
+ }
74
+ /**
75
+ * Resolve a single model from CLI flags.
76
+ *
77
+ * Supports:
78
+ * - --provider <provider> --model <pattern>
79
+ * - --model <provider>/<pattern>
80
+ * - Fuzzy matching (same rules as model scoping: exact id, then partial id/name)
81
+ *
82
+ * Note: This does not apply the thinking level by itself, but it may *parse* and
83
+ * return a thinking level from "<pattern>:<thinking>" so the caller can apply it.
84
+ */
85
+ export declare function resolveCliModel(options: {
86
+ cliProvider?: string;
87
+ cliModel?: string;
88
+ cliThinking?: ThinkingLevel;
89
+ modelRuntime: ModelRuntime;
90
+ }): ResolveCliModelResult;
91
+ export interface InitialModelResult {
92
+ model: Model<Api> | undefined;
93
+ thinkingLevel: ThinkingLevel;
94
+ fallbackMessage: string | undefined;
95
+ }
96
+ /**
97
+ * Find the initial model to use based on priority:
98
+ * 1. CLI args (provider + model)
99
+ * 2. First model from scoped models (if not continuing/resuming)
100
+ * 3. Restored from session (if continuing/resuming)
101
+ * 4. Saved default from settings
102
+ * 5. First available model with valid API key
103
+ */
104
+ export declare function findInitialModel(options: {
105
+ cliProvider?: string;
106
+ cliModel?: string;
107
+ scopedModels: ScopedModel[];
108
+ isContinuing: boolean;
109
+ defaultProvider?: string;
110
+ defaultModelId?: string;
111
+ defaultThinkingLevel?: ThinkingLevel;
112
+ modelRuntime: ModelRuntime;
113
+ }): Promise<InitialModelResult>;
114
+ /**
115
+ * Restore model from session, with fallback to available models
116
+ */
117
+ export declare function restoreModelFromSession(savedProvider: string, savedModelId: string, currentModel: Model<Api> | undefined, shouldPrintMessages: boolean, modelRuntime: ModelRuntime): Promise<{
118
+ model: Model<Api> | undefined;
119
+ fallbackMessage: string | undefined;
120
+ }>;
121
+ //# sourceMappingURL=model-resolver.d.ts.map
@@ -0,0 +1,82 @@
1
+ import { type Api, type AssistantMessage, type AssistantMessageEventStream, type AuthCheck, type AuthInteraction, type AuthResult, type AuthType, type Context, type Credential, type CredentialInfo, type CredentialStore, type Model, type Models, type ModelsApiStreamOptions, type ModelsRefreshOptions, type ModelsRefreshResult, type ModelsSimpleStreamOptions, type ModelsStore, type Provider } from "@earendil-works/pi-ai";
2
+ import { type AuthStatus, type CompatibilityRequestConfig, type ProviderConfigInput } from "./provider-composer.ts";
3
+ export interface CreateModelRuntimeOptions {
4
+ /** Credential storage. Defaults to the file at authPath. */
5
+ credentials?: CredentialStore;
6
+ authPath?: string;
7
+ modelsPath?: string | null;
8
+ modelsStore?: ModelsStore;
9
+ modelsStorePath?: string;
10
+ /** Allow create() to refresh model catalogs over the network. Defaults to false. */
11
+ allowModelNetwork?: boolean;
12
+ /** Timeout for the create-time network model refresh. */
13
+ modelRefreshTimeoutMs?: number;
14
+ catalogBaseUrl?: string;
15
+ }
16
+ export interface ModelRuntimeAuthOverrides {
17
+ apiKey?: string;
18
+ env?: Record<string, string>;
19
+ }
20
+ /** Configured pi-ai Models collection used by coding-agent and SDK consumers. */
21
+ export declare class ModelRuntime implements Models {
22
+ private readonly models;
23
+ private readonly credentials;
24
+ private readonly defaultBuiltins;
25
+ private readonly builtins;
26
+ private readonly nativeExtensionProviders;
27
+ private readonly extensionProviders;
28
+ private readonly compositionErrors;
29
+ private readonly modelsPath;
30
+ private readonly modelNetworkEnabled;
31
+ private config;
32
+ private snapshot;
33
+ private availabilityRefresh;
34
+ private availabilityError;
35
+ private constructor();
36
+ static create(options?: CreateModelRuntimeOptions): Promise<ModelRuntime>;
37
+ private configureRadiusProviders;
38
+ private providerIds;
39
+ private recomposeProvider;
40
+ private rebuildProviders;
41
+ private updateModelSnapshot;
42
+ private runAvailabilityRefresh;
43
+ private queueAvailabilityRefresh;
44
+ /** Coalesce concurrent readers onto the pending refresh. */
45
+ private refreshAvailability;
46
+ /** Mutations must not observe an in-flight refresh started before them. */
47
+ private forceRefreshAvailability;
48
+ getProviders(): readonly Provider[];
49
+ getProvider(providerId: string): Provider | undefined;
50
+ getModels(providerId?: string): readonly Model<Api>[];
51
+ getModel(providerId: string, modelId: string): Model<Api> | undefined;
52
+ checkAuth(providerId: string): Promise<AuthCheck | undefined>;
53
+ getAvailable(providerId?: string): Promise<readonly Model<Api>[]>;
54
+ getAvailableSnapshot(): readonly Model<Api>[];
55
+ getError(): string | undefined;
56
+ getRegisteredProviderConfig(providerId: string): ProviderConfigInput | undefined;
57
+ getRegisteredProviderIds(): readonly string[];
58
+ getRegisteredNativeProvider(providerId: string): Provider | undefined;
59
+ /** @internal Compatibility fallback for ModelRegistry when provider auth is unconfigured. */
60
+ getCompatibilityRequestConfig(model: Model<Api>): CompatibilityRequestConfig;
61
+ isUsingOAuth(providerId: string): boolean;
62
+ hasConfiguredAuth(providerId: string): boolean;
63
+ getAuth(providerId: string, overrides?: ModelRuntimeAuthOverrides): Promise<AuthResult | undefined>;
64
+ getAuth(model: Model<Api>, overrides?: ModelRuntimeAuthOverrides): Promise<AuthResult | undefined>;
65
+ setRuntimeApiKey(providerId: string, apiKey: string, refreshOptions?: ModelsRefreshOptions): Promise<void>;
66
+ removeRuntimeApiKey(providerId: string): Promise<void>;
67
+ listCredentials(): Promise<readonly CredentialInfo[]>;
68
+ getProviderAuthStatus(providerId: string): AuthStatus;
69
+ private prepareRequest;
70
+ stream<TApi extends Api>(model: Model<TApi>, context: Context, options?: ModelsApiStreamOptions<TApi>): AssistantMessageEventStream;
71
+ complete<TApi extends Api>(model: Model<TApi>, context: Context, options?: ModelsApiStreamOptions<TApi>): Promise<AssistantMessage>;
72
+ streamSimple(model: Model<Api>, context: Context, options?: ModelsSimpleStreamOptions): AssistantMessageEventStream;
73
+ completeSimple(model: Model<Api>, context: Context, options?: ModelsSimpleStreamOptions): Promise<AssistantMessage>;
74
+ login(providerId: string, type: AuthType, interaction: AuthInteraction): Promise<Credential>;
75
+ logout(providerId: string): Promise<void>;
76
+ reloadConfig(): Promise<void>;
77
+ refresh(options?: ModelsRefreshOptions): Promise<ModelsRefreshResult>;
78
+ registerNativeProvider(provider: Provider): void;
79
+ registerProvider(providerId: string, config: ProviderConfigInput): void;
80
+ unregisterProvider(providerId: string): void;
81
+ }
82
+ //# sourceMappingURL=model-runtime.d.ts.map
@@ -0,0 +1,17 @@
1
+ import type { ModelsStore, ModelsStoreEntry } from "@earendil-works/pi-ai";
2
+ export declare class InMemoryCodingAgentModelsStore implements ModelsStore {
3
+ private readonly entries;
4
+ read(providerId: string): Promise<ModelsStoreEntry | undefined>;
5
+ write(providerId: string, entry: ModelsStoreEntry): Promise<void>;
6
+ delete(providerId: string): Promise<void>;
7
+ }
8
+ /** Locked JSON-backed storage for dynamically refreshed provider catalogs. */
9
+ export declare class FileModelsStore implements ModelsStore {
10
+ private readonly storage;
11
+ constructor(path?: string);
12
+ private parse;
13
+ read(providerId: string): Promise<ModelsStoreEntry | undefined>;
14
+ write(providerId: string, entry: ModelsStoreEntry): Promise<void>;
15
+ delete(providerId: string): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=models-store.d.ts.map
@@ -0,0 +1,7 @@
1
+ export declare function takeOverStdout(): void;
2
+ export declare function restoreStdout(): void;
3
+ export declare function isStdoutTakenOver(): boolean;
4
+ export declare function writeRawStdout(text: string): void;
5
+ export declare function waitForRawStdoutBackpressure(): Promise<void>;
6
+ export declare function flushRawStdout(): Promise<void>;
7
+ //# sourceMappingURL=output-guard.d.ts.map
@@ -0,0 +1,210 @@
1
+ import type { SettingsManager } from "./settings-manager.ts";
2
+ export interface PathMetadata {
3
+ source: string;
4
+ scope: SourceScope;
5
+ origin: "package" | "top-level";
6
+ baseDir?: string;
7
+ }
8
+ export interface ResolvedResource {
9
+ path: string;
10
+ enabled: boolean;
11
+ metadata: PathMetadata;
12
+ }
13
+ export interface ResolvedPaths {
14
+ extensions: ResolvedResource[];
15
+ skills: ResolvedResource[];
16
+ prompts: ResolvedResource[];
17
+ themes: ResolvedResource[];
18
+ }
19
+ export type MissingSourceAction = "install" | "skip" | "error";
20
+ export interface ProgressEvent {
21
+ type: "start" | "progress" | "complete" | "error";
22
+ action: "install" | "remove" | "update" | "clone" | "pull";
23
+ source: string;
24
+ message?: string;
25
+ }
26
+ export type ProgressCallback = (event: ProgressEvent) => void;
27
+ export interface PackageUpdate {
28
+ source: string;
29
+ displayName: string;
30
+ type: "npm" | "git";
31
+ scope: Exclude<SourceScope, "temporary">;
32
+ }
33
+ export interface ConfiguredPackage {
34
+ source: string;
35
+ scope: "user" | "project";
36
+ filtered: boolean;
37
+ installedPath?: string;
38
+ }
39
+ export interface PackageManager {
40
+ resolve(onMissing?: (source: string) => Promise<MissingSourceAction>): Promise<ResolvedPaths>;
41
+ install(source: string, options?: {
42
+ local?: boolean;
43
+ }): Promise<void>;
44
+ installAndPersist(source: string, options?: {
45
+ local?: boolean;
46
+ }): Promise<void>;
47
+ remove(source: string, options?: {
48
+ local?: boolean;
49
+ }): Promise<void>;
50
+ removeAndPersist(source: string, options?: {
51
+ local?: boolean;
52
+ }): Promise<boolean>;
53
+ update(source?: string): Promise<void>;
54
+ listConfiguredPackages(): ConfiguredPackage[];
55
+ resolveExtensionSources(sources: string[], options?: {
56
+ local?: boolean;
57
+ temporary?: boolean;
58
+ }): Promise<ResolvedPaths>;
59
+ addSourceToSettings(source: string, options?: {
60
+ local?: boolean;
61
+ }): boolean;
62
+ removeSourceFromSettings(source: string, options?: {
63
+ local?: boolean;
64
+ }): boolean;
65
+ setProgressCallback(callback: ProgressCallback | undefined): void;
66
+ getInstalledPath(source: string, scope: "user" | "project"): string | undefined;
67
+ }
68
+ interface PackageManagerOptions {
69
+ cwd: string;
70
+ agentDir: string;
71
+ settingsManager: SettingsManager;
72
+ }
73
+ type SourceScope = "user" | "project" | "temporary";
74
+ export declare function getExtensionTempFolder(agentDir: string): string;
75
+ export declare class DefaultPackageManager implements PackageManager {
76
+ private cwd;
77
+ private agentDir;
78
+ private settingsManager;
79
+ private globalNpmRoot;
80
+ private globalNpmRootCommandKey;
81
+ private progressCallback;
82
+ constructor(options: PackageManagerOptions);
83
+ setProgressCallback(callback: ProgressCallback | undefined): void;
84
+ addSourceToSettings(source: string, options?: {
85
+ local?: boolean;
86
+ }): boolean;
87
+ removeSourceFromSettings(source: string, options?: {
88
+ local?: boolean;
89
+ }): boolean;
90
+ getInstalledPath(source: string, scope: "user" | "project"): string | undefined;
91
+ private emitProgress;
92
+ private withProgress;
93
+ resolve(onMissing?: (source: string) => Promise<MissingSourceAction>): Promise<ResolvedPaths>;
94
+ resolveExtensionSources(sources: string[], options?: {
95
+ local?: boolean;
96
+ temporary?: boolean;
97
+ }): Promise<ResolvedPaths>;
98
+ listConfiguredPackages(): ConfiguredPackage[];
99
+ install(source: string, options?: {
100
+ local?: boolean;
101
+ }): Promise<void>;
102
+ installAndPersist(source: string, options?: {
103
+ local?: boolean;
104
+ }): Promise<void>;
105
+ remove(source: string, options?: {
106
+ local?: boolean;
107
+ }): Promise<void>;
108
+ removeAndPersist(source: string, options?: {
109
+ local?: boolean;
110
+ }): Promise<boolean>;
111
+ update(source?: string): Promise<void>;
112
+ private updateConfiguredSources;
113
+ private shouldUpdateNpmSource;
114
+ private updateNpmBatch;
115
+ private installNpmBatch;
116
+ checkForAvailableUpdates(): Promise<PackageUpdate[]>;
117
+ private resolvePackageSources;
118
+ private findAutoloadDeltaBase;
119
+ private resolveLocalExtensionSource;
120
+ private installParsedSource;
121
+ private getPackageSourceString;
122
+ private getSourceMatchKeyForInput;
123
+ private getSourceMatchKeyForSettings;
124
+ private buildNoMatchingPackageMessage;
125
+ private findSuggestedConfiguredSource;
126
+ private packageSourcesMatch;
127
+ private normalizePackageSourceForSettings;
128
+ private parseSource;
129
+ private installedNpmMatchesConfiguredVersion;
130
+ private npmHasAvailableUpdate;
131
+ private getInstalledNpmVersion;
132
+ private getLatestNpmVersion;
133
+ private gitHasAvailableUpdate;
134
+ private getRemoteGitHead;
135
+ private getLocalGitUpdateTarget;
136
+ private getGitUpstreamRef;
137
+ private runGitRemoteCommand;
138
+ private runWithConcurrency;
139
+ /**
140
+ * Get a unique identity for a package, ignoring version/ref.
141
+ * Used to detect when the same package is in both global and project settings.
142
+ * For git packages, uses normalized host/path to ensure SSH and HTTPS URLs
143
+ * for the same repository are treated as identical.
144
+ */
145
+ private getPackageIdentity;
146
+ /**
147
+ * Dedupe packages: if same package identity appears in both global and project,
148
+ * keep only the project one (project wins). A project entry with autoload=false
149
+ * is a delta over the global entry, so both are kept (delta first).
150
+ */
151
+ private dedupePackages;
152
+ private parseNpmSpec;
153
+ private assertProjectTrustedForScope;
154
+ private getNpmCommand;
155
+ private getPackageManagerName;
156
+ private runNpmCommand;
157
+ private getGitDependencyInstallArgs;
158
+ private runNpmCommandSync;
159
+ private getNpmInstallArgs;
160
+ private installNpm;
161
+ private uninstallNpm;
162
+ private installGit;
163
+ private updateGit;
164
+ private ensureGitRef;
165
+ private refreshTemporaryGitSource;
166
+ private removeGit;
167
+ private pruneEmptyGitParents;
168
+ private ensureNpmProject;
169
+ private ensureGitIgnore;
170
+ private getNpmInstallRoot;
171
+ private getGlobalNpmRoot;
172
+ private getPnpmGlobalPackagePath;
173
+ private getManagedNpmInstallPath;
174
+ private getLegacyGlobalNpmInstallPath;
175
+ private getNpmInstallPath;
176
+ private getGitInstallPath;
177
+ private getGitInstallRoot;
178
+ private getTemporaryDir;
179
+ private resolveManagedPath;
180
+ private getBaseDirForScope;
181
+ private resolvePath;
182
+ private resolvePathFromBase;
183
+ private collectPackageResources;
184
+ private collectDefaultResources;
185
+ private applyPackageFilter;
186
+ private applyPackageDeltaFilter;
187
+ /**
188
+ * Collect all files from a package for a resource type, applying manifest patterns.
189
+ * Returns { allFiles, enabledByManifest } where enabledByManifest is the set of files
190
+ * that pass the manifest's own patterns.
191
+ */
192
+ private collectManifestFiles;
193
+ private readPiManifest;
194
+ private addManifestEntries;
195
+ private collectFilesFromManifestEntries;
196
+ private resolveLocalEntries;
197
+ private addAutoDiscoveredResources;
198
+ private collectFilesFromPaths;
199
+ private getTargetMap;
200
+ private addResource;
201
+ private createAccumulator;
202
+ private toResolvedPaths;
203
+ private spawnCommand;
204
+ private spawnCaptureCommand;
205
+ private runCommandCapture;
206
+ private runCommand;
207
+ private runCommandSync;
208
+ }
209
+ export {};
210
+ //# sourceMappingURL=package-manager.d.ts.map
@@ -0,0 +1,15 @@
1
+ import type { LoadExtensionsResult, ProjectTrustContext } from "./extensions/types.ts";
2
+ import type { DefaultProjectTrust } from "./settings-manager.ts";
3
+ import { type ProjectTrustStore } from "./trust-manager.ts";
4
+ export type AppMode = "interactive" | "print" | "json" | "rpc";
5
+ export interface ResolveProjectTrustedOptions {
6
+ cwd: string;
7
+ trustStore: ProjectTrustStore;
8
+ trustOverride?: boolean;
9
+ defaultProjectTrust?: DefaultProjectTrust;
10
+ extensionsResult?: LoadExtensionsResult;
11
+ projectTrustContext: ProjectTrustContext;
12
+ onExtensionError?: (message: string) => void;
13
+ }
14
+ export declare function resolveProjectTrusted(options: ResolveProjectTrustedOptions): Promise<boolean>;
15
+ //# sourceMappingURL=project-trust.d.ts.map
@@ -0,0 +1,54 @@
1
+ import { type SourceInfo } from "./source-info.ts";
2
+ /**
3
+ * Represents a prompt template loaded from a markdown file
4
+ */
5
+ export interface PromptTemplate {
6
+ name: string;
7
+ description: string;
8
+ argumentHint?: string;
9
+ content: string;
10
+ sourceInfo: SourceInfo;
11
+ filePath: string;
12
+ }
13
+ /**
14
+ * Parse command arguments respecting quoted strings (bash-style)
15
+ * Returns array of arguments
16
+ */
17
+ export declare function parseCommandArgs(argsString: string): string[];
18
+ /**
19
+ * Substitute argument placeholders in template content
20
+ * Supports:
21
+ * - $1, $2, ... for positional args
22
+ * - $@ and $ARGUMENTS for all args
23
+ * - ${N:-default} for positional arg N with default when missing/empty
24
+ * - ${@:-default} and ${ARGUMENTS:-default} for all args with a default when empty
25
+ * - ${@:N} for args from Nth onwards (bash-style slicing)
26
+ * - ${@:N:L} for L args starting from Nth
27
+ *
28
+ * Note: Replacement happens on the template string only. Argument and default values
29
+ * containing patterns like $1, $@, or $ARGUMENTS are NOT recursively substituted.
30
+ */
31
+ export declare function substituteArgs(content: string, args: string[]): string;
32
+ export interface LoadPromptTemplatesOptions {
33
+ /** Working directory for project-local templates. */
34
+ cwd: string;
35
+ /** Agent config directory for global templates. */
36
+ agentDir: string;
37
+ /** Explicit prompt template paths (files or directories). */
38
+ promptPaths: string[];
39
+ /** Include default prompt directories. */
40
+ includeDefaults: boolean;
41
+ }
42
+ /**
43
+ * Load all prompt templates from:
44
+ * 1. Global: agentDir/prompts/
45
+ * 2. Project: cwd/{CONFIG_DIR_NAME}/prompts/
46
+ * 3. Explicit prompt paths
47
+ */
48
+ export declare function loadPromptTemplates(options: LoadPromptTemplatesOptions): PromptTemplate[];
49
+ /**
50
+ * Expand a prompt template if it matches a template name.
51
+ * Returns the expanded content or the original text if not a template.
52
+ */
53
+ export declare function expandPromptTemplate(text: string, templates: PromptTemplate[]): string;
54
+ //# sourceMappingURL=prompt-templates.d.ts.map
@@ -0,0 +1,4 @@
1
+ import type { Api, Model, ProviderHeaders } from "@earendil-works/pi-ai";
2
+ import type { SettingsManager } from "./settings-manager.ts";
3
+ export declare function mergeProviderAttributionHeaders(model: Model<Api>, settingsManager: SettingsManager, sessionId: string | undefined, ...headerSources: Array<ProviderHeaders | undefined>): ProviderHeaders | undefined;
4
+ //# sourceMappingURL=provider-attribution.d.ts.map
@@ -0,0 +1,55 @@
1
+ import { type Api, type AssistantMessageEventStream, type Context, type Model, type OAuthCredentials, type OAuthLoginCallbacks, type Provider, type ProviderHeaders, type RefreshModelsContext, type SimpleStreamOptions } from "@earendil-works/pi-ai";
2
+ import type { ModelConfig, ModelsJsonProvider } from "./model-config.ts";
3
+ import { clearConfigValueCache } from "./resolve-config-value.ts";
4
+ export interface ExtensionOAuthConfig {
5
+ name: string;
6
+ /** @deprecated Retained for extension source compatibility; ignored by canonical auth flows. */
7
+ usesCallbackServer?: boolean;
8
+ login(callbacks: OAuthLoginCallbacks): Promise<OAuthCredentials>;
9
+ refreshToken(credentials: OAuthCredentials): Promise<OAuthCredentials>;
10
+ getApiKey(credentials: OAuthCredentials): string;
11
+ modifyModels?(models: Model<Api>[], credentials: OAuthCredentials): Model<Api>[];
12
+ }
13
+ /** Input type for the extension registerProvider API. */
14
+ export interface ProviderConfigInput {
15
+ name?: string;
16
+ baseUrl?: string;
17
+ apiKey?: string;
18
+ api?: Api;
19
+ streamSimple?: (model: Model<Api>, context: Context, options?: SimpleStreamOptions) => AssistantMessageEventStream;
20
+ headers?: Record<string, string>;
21
+ authHeader?: boolean;
22
+ oauth?: ExtensionOAuthConfig;
23
+ models?: Array<{
24
+ id: string;
25
+ name: string;
26
+ api?: Api;
27
+ baseUrl?: string;
28
+ reasoning: boolean;
29
+ thinkingLevelMap?: Model<Api>["thinkingLevelMap"];
30
+ input: ("text" | "image")[];
31
+ cost: Model<Api>["cost"];
32
+ contextWindow: number;
33
+ maxTokens: number;
34
+ headers?: Record<string, string>;
35
+ compat?: Model<Api>["compat"];
36
+ }>;
37
+ refreshModels?(context: RefreshModelsContext): Promise<NonNullable<ProviderConfigInput["models"]>>;
38
+ }
39
+ export type AuthStatus = {
40
+ configured: boolean;
41
+ source?: "stored" | "runtime" | "environment" | "fallback" | "models_json_key" | "models_json_command";
42
+ label?: string;
43
+ };
44
+ export declare const clearApiKeyCache: typeof clearConfigValueCache;
45
+ export declare function validateExtensionProvider(providerId: string, base: Provider | undefined, modelsConfig: ModelsJsonProvider | undefined, extension: ProviderConfigInput): void;
46
+ /** Compose built-in, models.json, and extension layers without reading credentials. */
47
+ export declare function composeModelProvider(providerId: string, base: Provider | undefined, modelConfig: ModelConfig, extension: ProviderConfigInput | undefined): Provider;
48
+ export declare function resolveConfiguredModelHeaders(model: Model<Api>, config: ModelsJsonProvider | undefined, extension: ProviderConfigInput | undefined, env?: Record<string, string>): Record<string, string> | undefined;
49
+ export interface CompatibilityRequestConfig {
50
+ headers?: ProviderHeaders;
51
+ authHeader: boolean;
52
+ }
53
+ export declare function resolveCompatibilityRequestConfig(model: Model<Api>, config: ModelsJsonProvider | undefined, extension: ProviderConfigInput | undefined): CompatibilityRequestConfig;
54
+ export declare function configuredRequestAuthStatus(config: ModelsJsonProvider | undefined, extension: ProviderConfigInput | undefined): AuthStatus | undefined;
55
+ //# sourceMappingURL=provider-composer.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare const RADIUS_PROVIDER_ID = "radius";
2
+ //# sourceMappingURL=radius.d.ts.map
@@ -0,0 +1,5 @@
1
+ import type { Provider } from "@earendil-works/pi-ai";
2
+ export declare const REMOTE_CATALOG_REFRESH_INTERVAL_MS: number;
3
+ /** Add a persisted pi.dev catalog overlay to a static built-in provider. */
4
+ export declare function withRemoteCatalog(provider: Provider, catalogBaseUrl?: string, localCatalogUrl?: URL): Provider;
5
+ //# sourceMappingURL=remote-catalog-provider.d.ts.map
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Resolve configuration values that may be shell commands, environment variables, or literals.
3
+ * Used by auth-storage.ts and model-registry.ts.
4
+ */
5
+ export declare function getConfigValueEnvVarName(config: string): string | undefined;
6
+ export declare function getConfigValueEnvVarNames(config: string): string[];
7
+ export declare function getMissingConfigValueEnvVarNames(config: string, env?: Record<string, string>): string[];
8
+ export declare function isCommandConfigValue(config: string): boolean;
9
+ export declare function isConfigValueConfigured(config: string, env?: Record<string, string>): boolean;
10
+ /**
11
+ * Resolve a config value (API key, header value, etc.) to an actual value.
12
+ * - If starts with "!", executes the rest as a shell command and uses stdout (cached)
13
+ * - Interpolates "$ENV_VAR" or "${ENV_VAR}" references with the named environment variable
14
+ * - In non-command values, "$$" escapes a literal "$" and "$!" escapes a literal "!"
15
+ * - Otherwise treats the value as a literal
16
+ */
17
+ export declare function resolveConfigValue(config: string, env?: Record<string, string>): string | undefined;
18
+ /**
19
+ * Resolve all header values using the same resolution logic as API keys.
20
+ */
21
+ export declare function resolveConfigValueUncached(config: string, env?: Record<string, string>): string | undefined;
22
+ export declare function resolveConfigValueOrThrow(config: string, description: string, env?: Record<string, string>): string;
23
+ /**
24
+ * Resolve all header values using the same resolution logic as API keys.
25
+ */
26
+ export declare function resolveHeaders(headers: Record<string, string> | undefined, env?: Record<string, string>): Record<string, string> | undefined;
27
+ export declare function resolveHeadersOrThrow(headers: Record<string, string> | undefined, description: string, env?: Record<string, string>): Record<string, string> | undefined;
28
+ /** Clear the config value command cache. Exported for testing. */
29
+ export declare function clearConfigValueCache(): void;
30
+ //# sourceMappingURL=resolve-config-value.d.ts.map