pi-usereq 0.49.0 → 0.50.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 (938) hide show
  1. package/README.md +1 -1
  2. package/package.json +5 -1
  3. package/scripts/lib/extension-debug-harness.ts +443 -0
  4. package/scripts/lib/recording-extension-api.ts +855 -0
  5. package/scripts/lib/sdk-smoke.ts +503 -0
  6. package/.g.conf +0 -16
  7. package/.github/workflows/release-npm.yml +0 -134
  8. package/.gitignore +0 -274
  9. package/CHANGELOG.md +0 -706
  10. package/TODO.md +0 -20
  11. package/docs/pi.dev/agent-document-manifest.json +0 -6399
  12. package/docs/pi.dev/coding-agent-docs/compaction.md +0 -394
  13. package/docs/pi.dev/coding-agent-docs/custom-provider.md +0 -637
  14. package/docs/pi.dev/coding-agent-docs/development.md +0 -71
  15. package/docs/pi.dev/coding-agent-docs/extensions.md +0 -2536
  16. package/docs/pi.dev/coding-agent-docs/images/doom-extension.png +0 -0
  17. package/docs/pi.dev/coding-agent-docs/images/exy.png +0 -0
  18. package/docs/pi.dev/coding-agent-docs/images/interactive-mode.png +0 -0
  19. package/docs/pi.dev/coding-agent-docs/images/tree-view.png +0 -0
  20. package/docs/pi.dev/coding-agent-docs/json.md +0 -82
  21. package/docs/pi.dev/coding-agent-docs/keybindings.md +0 -197
  22. package/docs/pi.dev/coding-agent-docs/models.md +0 -395
  23. package/docs/pi.dev/coding-agent-docs/packages.md +0 -218
  24. package/docs/pi.dev/coding-agent-docs/prompt-templates.md +0 -88
  25. package/docs/pi.dev/coding-agent-docs/providers.md +0 -196
  26. package/docs/pi.dev/coding-agent-docs/rpc.md +0 -1407
  27. package/docs/pi.dev/coding-agent-docs/sdk.md +0 -1149
  28. package/docs/pi.dev/coding-agent-docs/session.md +0 -412
  29. package/docs/pi.dev/coding-agent-docs/settings.md +0 -248
  30. package/docs/pi.dev/coding-agent-docs/shell-aliases.md +0 -13
  31. package/docs/pi.dev/coding-agent-docs/skills.md +0 -232
  32. package/docs/pi.dev/coding-agent-docs/terminal-setup.md +0 -106
  33. package/docs/pi.dev/coding-agent-docs/termux.md +0 -127
  34. package/docs/pi.dev/coding-agent-docs/themes.md +0 -295
  35. package/docs/pi.dev/coding-agent-docs/tmux.md +0 -61
  36. package/docs/pi.dev/coding-agent-docs/tree.md +0 -233
  37. package/docs/pi.dev/coding-agent-docs/tui.md +0 -918
  38. package/docs/pi.dev/coding-agent-docs/windows.md +0 -17
  39. package/docs/pi.dev/mom-docs/artifacts-server.md +0 -475
  40. package/docs/pi.dev/mom-docs/events.md +0 -307
  41. package/docs/pi.dev/mom-docs/new.md +0 -970
  42. package/docs/pi.dev/mom-docs/sandbox.md +0 -153
  43. package/docs/pi.dev/mom-docs/slack-bot-minimal-guide.md +0 -399
  44. package/docs/pi.dev/mom-docs/v86.md +0 -319
  45. package/docs/pi.dev/pods-docs/gml-4.5.md +0 -189
  46. package/docs/pi.dev/pods-docs/gpt-oss.md +0 -233
  47. package/docs/pi.dev/pods-docs/implementation-plan.md +0 -183
  48. package/docs/pi.dev/pods-docs/kimi-k2.md +0 -197
  49. package/docs/pi.dev/pods-docs/models.md +0 -116
  50. package/docs/pi.dev/pods-docs/plan.md +0 -166
  51. package/docs/pi.dev/pods-docs/qwen3-coder.md +0 -132
  52. package/images/flowchart-bw.png +0 -0
  53. package/images/flowchart-bw.svg +0 -102
  54. package/images/flowchart.md +0 -100
  55. package/images/flowchart.png +0 -0
  56. package/images/flowchart.svg +0 -3
  57. package/pi-usereq/docs/REFERENCES.md +0 -5713
  58. package/pi-usereq/docs/REQUIREMENTS.md +0 -781
  59. package/pi-usereq/docs/WORKFLOW.md +0 -1341
  60. package/pi.dev-src/pi-mono/agent/src/agent-loop.ts +0 -683
  61. package/pi.dev-src/pi-mono/agent/src/agent.ts +0 -543
  62. package/pi.dev-src/pi-mono/agent/src/index.ts +0 -8
  63. package/pi.dev-src/pi-mono/agent/src/proxy.ts +0 -367
  64. package/pi.dev-src/pi-mono/agent/src/types.ts +0 -364
  65. package/pi.dev-src/pi-mono/agent/test/agent-loop.test.ts +0 -1181
  66. package/pi.dev-src/pi-mono/agent/test/agent.test.ts +0 -463
  67. package/pi.dev-src/pi-mono/agent/test/e2e.test.ts +0 -404
  68. package/pi.dev-src/pi-mono/agent/test/utils/calculate.ts +0 -32
  69. package/pi.dev-src/pi-mono/agent/test/utils/get-current-time.ts +0 -46
  70. package/pi.dev-src/pi-mono/agent/vitest.config.ts +0 -9
  71. package/pi.dev-src/pi-mono/ai/bedrock-provider.d.ts +0 -1
  72. package/pi.dev-src/pi-mono/ai/bedrock-provider.js +0 -1
  73. package/pi.dev-src/pi-mono/ai/scripts/generate-models.ts +0 -1635
  74. package/pi.dev-src/pi-mono/ai/scripts/generate-test-image.ts +0 -34
  75. package/pi.dev-src/pi-mono/ai/src/api-registry.ts +0 -98
  76. package/pi.dev-src/pi-mono/ai/src/bedrock-provider.ts +0 -6
  77. package/pi.dev-src/pi-mono/ai/src/cli.ts +0 -133
  78. package/pi.dev-src/pi-mono/ai/src/env-api-keys.ts +0 -134
  79. package/pi.dev-src/pi-mono/ai/src/index.ts +0 -35
  80. package/pi.dev-src/pi-mono/ai/src/models.generated.ts +0 -14928
  81. package/pi.dev-src/pi-mono/ai/src/models.ts +0 -82
  82. package/pi.dev-src/pi-mono/ai/src/oauth.ts +0 -1
  83. package/pi.dev-src/pi-mono/ai/src/providers/amazon-bedrock.ts +0 -929
  84. package/pi.dev-src/pi-mono/ai/src/providers/anthropic.ts +0 -1125
  85. package/pi.dev-src/pi-mono/ai/src/providers/azure-openai-responses.ts +0 -253
  86. package/pi.dev-src/pi-mono/ai/src/providers/faux.ts +0 -499
  87. package/pi.dev-src/pi-mono/ai/src/providers/github-copilot-headers.ts +0 -37
  88. package/pi.dev-src/pi-mono/ai/src/providers/google-gemini-cli.ts +0 -996
  89. package/pi.dev-src/pi-mono/ai/src/providers/google-shared.ts +0 -354
  90. package/pi.dev-src/pi-mono/ai/src/providers/google-vertex.ts +0 -543
  91. package/pi.dev-src/pi-mono/ai/src/providers/google.ts +0 -500
  92. package/pi.dev-src/pi-mono/ai/src/providers/mistral.ts +0 -629
  93. package/pi.dev-src/pi-mono/ai/src/providers/openai-codex-responses.ts +0 -984
  94. package/pi.dev-src/pi-mono/ai/src/providers/openai-completions.ts +0 -1063
  95. package/pi.dev-src/pi-mono/ai/src/providers/openai-responses-shared.ts +0 -539
  96. package/pi.dev-src/pi-mono/ai/src/providers/openai-responses.ts +0 -264
  97. package/pi.dev-src/pi-mono/ai/src/providers/register-builtins.ts +0 -433
  98. package/pi.dev-src/pi-mono/ai/src/providers/simple-options.ts +0 -47
  99. package/pi.dev-src/pi-mono/ai/src/providers/transform-messages.ts +0 -220
  100. package/pi.dev-src/pi-mono/ai/src/stream.ts +0 -59
  101. package/pi.dev-src/pi-mono/ai/src/types.ts +0 -417
  102. package/pi.dev-src/pi-mono/ai/src/utils/event-stream.ts +0 -87
  103. package/pi.dev-src/pi-mono/ai/src/utils/hash.ts +0 -13
  104. package/pi.dev-src/pi-mono/ai/src/utils/headers.ts +0 -7
  105. package/pi.dev-src/pi-mono/ai/src/utils/json-parse.ts +0 -124
  106. package/pi.dev-src/pi-mono/ai/src/utils/overflow.ts +0 -138
  107. package/pi.dev-src/pi-mono/ai/src/utils/sanitize-unicode.ts +0 -25
  108. package/pi.dev-src/pi-mono/ai/src/utils/typebox-helpers.ts +0 -24
  109. package/pi.dev-src/pi-mono/ai/src/utils/validation.ts +0 -324
  110. package/pi.dev-src/pi-mono/ai/test/abort.test.ts +0 -260
  111. package/pi.dev-src/pi-mono/ai/test/anthropic-oauth.test.ts +0 -99
  112. package/pi.dev-src/pi-mono/ai/test/anthropic-opus-4-7-smoke.test.ts +0 -72
  113. package/pi.dev-src/pi-mono/ai/test/anthropic-sse-parsing.test.ts +0 -113
  114. package/pi.dev-src/pi-mono/ai/test/anthropic-thinking-disable.test.ts +0 -152
  115. package/pi.dev-src/pi-mono/ai/test/anthropic-tool-name-normalization.test.ts +0 -205
  116. package/pi.dev-src/pi-mono/ai/test/azure-utils.ts +0 -28
  117. package/pi.dev-src/pi-mono/ai/test/bedrock-endpoint-resolution.test.ts +0 -131
  118. package/pi.dev-src/pi-mono/ai/test/bedrock-models.test.ts +0 -66
  119. package/pi.dev-src/pi-mono/ai/test/bedrock-thinking-payload.test.ts +0 -107
  120. package/pi.dev-src/pi-mono/ai/test/bedrock-utils.ts +0 -18
  121. package/pi.dev-src/pi-mono/ai/test/cache-retention.test.ts +0 -335
  122. package/pi.dev-src/pi-mono/ai/test/context-overflow.test.ts +0 -714
  123. package/pi.dev-src/pi-mono/ai/test/cross-provider-handoff.test.ts +0 -458
  124. package/pi.dev-src/pi-mono/ai/test/data/red-circle.png +0 -0
  125. package/pi.dev-src/pi-mono/ai/test/empty.test.ts +0 -742
  126. package/pi.dev-src/pi-mono/ai/test/faux-provider.test.ts +0 -597
  127. package/pi.dev-src/pi-mono/ai/test/fireworks-models.test.ts +0 -49
  128. package/pi.dev-src/pi-mono/ai/test/github-copilot-anthropic.test.ts +0 -108
  129. package/pi.dev-src/pi-mono/ai/test/github-copilot-oauth.test.ts +0 -196
  130. package/pi.dev-src/pi-mono/ai/test/google-gemini-cli-claude-thinking-header.test.ts +0 -103
  131. package/pi.dev-src/pi-mono/ai/test/google-gemini-cli-empty-stream.test.ts +0 -108
  132. package/pi.dev-src/pi-mono/ai/test/google-gemini-cli-retry-delay.test.ts +0 -53
  133. package/pi.dev-src/pi-mono/ai/test/google-shared-convert-tools.test.ts +0 -187
  134. package/pi.dev-src/pi-mono/ai/test/google-shared-gemini3-unsigned-tool-call.test.ts +0 -172
  135. package/pi.dev-src/pi-mono/ai/test/google-shared-image-tool-result-routing.test.ts +0 -124
  136. package/pi.dev-src/pi-mono/ai/test/google-thinking-disable.test.ts +0 -183
  137. package/pi.dev-src/pi-mono/ai/test/google-thinking-signature.test.ts +0 -38
  138. package/pi.dev-src/pi-mono/ai/test/google-tool-call-missing-args.test.ts +0 -105
  139. package/pi.dev-src/pi-mono/ai/test/google-vertex-api-key-resolution.test.ts +0 -144
  140. package/pi.dev-src/pi-mono/ai/test/image-tool-result.test.ts +0 -481
  141. package/pi.dev-src/pi-mono/ai/test/interleaved-thinking.test.ts +0 -145
  142. package/pi.dev-src/pi-mono/ai/test/lazy-module-load.test.ts +0 -102
  143. package/pi.dev-src/pi-mono/ai/test/mistral-reasoning-mode.test.ts +0 -66
  144. package/pi.dev-src/pi-mono/ai/test/mistral-tool-schema.test.ts +0 -61
  145. package/pi.dev-src/pi-mono/ai/test/oauth.ts +0 -89
  146. package/pi.dev-src/pi-mono/ai/test/openai-codex-cache-affinity-e2e.test.ts +0 -36
  147. package/pi.dev-src/pi-mono/ai/test/openai-codex-stream.test.ts +0 -686
  148. package/pi.dev-src/pi-mono/ai/test/openai-completions-cache-control-format.test.ts +0 -189
  149. package/pi.dev-src/pi-mono/ai/test/openai-completions-prompt-cache.test.ts +0 -198
  150. package/pi.dev-src/pi-mono/ai/test/openai-completions-thinking-as-text.test.ts +0 -214
  151. package/pi.dev-src/pi-mono/ai/test/openai-completions-tool-choice.test.ts +0 -560
  152. package/pi.dev-src/pi-mono/ai/test/openai-completions-tool-result-images.test.ts +0 -101
  153. package/pi.dev-src/pi-mono/ai/test/openai-responses-cache-affinity-e2e.test.ts +0 -32
  154. package/pi.dev-src/pi-mono/ai/test/openai-responses-copilot-provider.test.ts +0 -128
  155. package/pi.dev-src/pi-mono/ai/test/openai-responses-foreign-toolcall-id.test.ts +0 -66
  156. package/pi.dev-src/pi-mono/ai/test/openai-responses-partial-json-cleanup.test.ts +0 -101
  157. package/pi.dev-src/pi-mono/ai/test/openai-responses-reasoning-replay-e2e.test.ts +0 -292
  158. package/pi.dev-src/pi-mono/ai/test/openai-responses-tool-result-images.test.ts +0 -200
  159. package/pi.dev-src/pi-mono/ai/test/openrouter-cache-write-repro.test.ts +0 -78
  160. package/pi.dev-src/pi-mono/ai/test/overflow.test.ts +0 -64
  161. package/pi.dev-src/pi-mono/ai/test/responseid.test.ts +0 -145
  162. package/pi.dev-src/pi-mono/ai/test/stream.test.ts +0 -1405
  163. package/pi.dev-src/pi-mono/ai/test/supports-xhigh.test.ts +0 -34
  164. package/pi.dev-src/pi-mono/ai/test/tokens.test.ts +0 -304
  165. package/pi.dev-src/pi-mono/ai/test/tool-call-id-normalization.test.ts +0 -291
  166. package/pi.dev-src/pi-mono/ai/test/tool-call-without-result.test.ts +0 -313
  167. package/pi.dev-src/pi-mono/ai/test/total-tokens.test.ts +0 -695
  168. package/pi.dev-src/pi-mono/ai/test/transform-messages-copilot-openai-to-anthropic.test.ts +0 -191
  169. package/pi.dev-src/pi-mono/ai/test/unicode-surrogate.test.ts +0 -754
  170. package/pi.dev-src/pi-mono/ai/test/validation.test.ts +0 -116
  171. package/pi.dev-src/pi-mono/ai/test/xhigh.test.ts +0 -71
  172. package/pi.dev-src/pi-mono/ai/test/zen.test.ts +0 -25
  173. package/pi.dev-src/pi-mono/ai/vitest.config.ts +0 -9
  174. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/antigravity-image-gen.ts +0 -418
  175. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/auto-commit-on-exit.ts +0 -49
  176. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/bash-spawn-hook.ts +0 -30
  177. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/bookmark.ts +0 -50
  178. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/built-in-tool-renderer.ts +0 -249
  179. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/claude-rules.ts +0 -86
  180. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/commands.ts +0 -72
  181. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/confirm-destructive.ts +0 -59
  182. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/custom-compaction.ts +0 -127
  183. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/custom-footer.ts +0 -64
  184. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/custom-header.ts +0 -73
  185. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/custom-provider-anthropic/index.ts +0 -604
  186. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/custom-provider-anthropic/package-lock.json +0 -24
  187. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/custom-provider-gitlab-duo/index.ts +0 -349
  188. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/custom-provider-gitlab-duo/test.ts +0 -82
  189. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/custom-provider-qwen-cli/index.ts +0 -345
  190. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/dirty-repo-guard.ts +0 -56
  191. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/doom-overlay/doom/build.sh +0 -152
  192. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +0 -72
  193. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/doom-overlay/doom-component.ts +0 -132
  194. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/doom-overlay/doom-engine.ts +0 -173
  195. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/doom-overlay/doom-keys.ts +0 -104
  196. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/doom-overlay/index.ts +0 -74
  197. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/doom-overlay/wad-finder.ts +0 -51
  198. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/dynamic-resources/SKILL.md +0 -8
  199. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/dynamic-resources/dynamic.json +0 -79
  200. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/dynamic-resources/dynamic.md +0 -5
  201. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/dynamic-resources/index.ts +0 -15
  202. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/dynamic-tools.ts +0 -74
  203. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/event-bus.ts +0 -43
  204. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/file-trigger.ts +0 -41
  205. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/git-checkpoint.ts +0 -53
  206. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/github-issue-autocomplete.ts +0 -185
  207. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/handoff.ts +0 -153
  208. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/hello.ts +0 -26
  209. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/hidden-thinking-label.ts +0 -53
  210. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/inline-bash.ts +0 -94
  211. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/input-transform.ts +0 -43
  212. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/interactive-shell.ts +0 -196
  213. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/mac-system-theme.ts +0 -47
  214. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/message-renderer.ts +0 -59
  215. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/minimal-mode.ts +0 -426
  216. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/modal-editor.ts +0 -85
  217. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/model-status.ts +0 -31
  218. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/notify.ts +0 -55
  219. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/overlay-qa-tests.ts +0 -1348
  220. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/overlay-test.ts +0 -150
  221. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/permission-gate.ts +0 -34
  222. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/pirate.ts +0 -47
  223. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/plan-mode/index.ts +0 -340
  224. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/plan-mode/utils.ts +0 -168
  225. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/preset.ts +0 -430
  226. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/prompt-customizer.ts +0 -97
  227. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/protected-paths.ts +0 -30
  228. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/provider-payload.ts +0 -18
  229. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/qna.ts +0 -122
  230. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/question.ts +0 -264
  231. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/questionnaire.ts +0 -427
  232. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/rainbow-editor.ts +0 -88
  233. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/reload-runtime.ts +0 -37
  234. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/rpc-demo.ts +0 -118
  235. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/sandbox/index.ts +0 -321
  236. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/sandbox/package-lock.json +0 -92
  237. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/send-user-message.ts +0 -97
  238. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/session-name.ts +0 -27
  239. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/shutdown-command.ts +0 -63
  240. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/snake.ts +0 -343
  241. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/space-invaders.ts +0 -560
  242. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/ssh.ts +0 -220
  243. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/status-line.ts +0 -32
  244. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/structured-output.ts +0 -65
  245. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/subagent/agents/planner.md +0 -37
  246. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/subagent/agents/reviewer.md +0 -35
  247. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/subagent/agents/scout.md +0 -50
  248. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/subagent/agents/worker.md +0 -24
  249. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/subagent/agents.ts +0 -126
  250. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/subagent/index.ts +0 -987
  251. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/subagent/prompts/implement-and-review.md +0 -10
  252. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/subagent/prompts/implement.md +0 -10
  253. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/subagent/prompts/scout-and-plan.md +0 -9
  254. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/summarize.ts +0 -206
  255. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/system-prompt-header.ts +0 -17
  256. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/tic-tac-toe.ts +0 -1008
  257. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/timed-confirm.ts +0 -70
  258. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/titlebar-spinner.ts +0 -58
  259. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/todo.ts +0 -297
  260. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/tool-override.ts +0 -144
  261. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/tools.ts +0 -141
  262. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/trigger-compact.ts +0 -50
  263. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/truncated-tool.ts +0 -195
  264. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/widget-placement.ts +0 -9
  265. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/with-deps/index.ts +0 -32
  266. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/with-deps/package-lock.json +0 -31
  267. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/working-indicator.ts +0 -123
  268. package/pi.dev-src/pi-mono/coding-agent/examples/extensions/working-message-test.ts +0 -25
  269. package/pi.dev-src/pi-mono/coding-agent/examples/rpc-extension-ui.ts +0 -632
  270. package/pi.dev-src/pi-mono/coding-agent/examples/sdk/01-minimal.ts +0 -22
  271. package/pi.dev-src/pi-mono/coding-agent/examples/sdk/02-custom-model.ts +0 -49
  272. package/pi.dev-src/pi-mono/coding-agent/examples/sdk/03-custom-prompt.ts +0 -62
  273. package/pi.dev-src/pi-mono/coding-agent/examples/sdk/04-skills.ts +0 -55
  274. package/pi.dev-src/pi-mono/coding-agent/examples/sdk/05-tools.ts +0 -44
  275. package/pi.dev-src/pi-mono/coding-agent/examples/sdk/06-extensions.ts +0 -90
  276. package/pi.dev-src/pi-mono/coding-agent/examples/sdk/07-context-files.ts +0 -42
  277. package/pi.dev-src/pi-mono/coding-agent/examples/sdk/08-prompt-templates.ts +0 -51
  278. package/pi.dev-src/pi-mono/coding-agent/examples/sdk/09-api-keys-and-oauth.ts +0 -48
  279. package/pi.dev-src/pi-mono/coding-agent/examples/sdk/10-settings.ts +0 -53
  280. package/pi.dev-src/pi-mono/coding-agent/examples/sdk/11-sessions.ts +0 -48
  281. package/pi.dev-src/pi-mono/coding-agent/examples/sdk/12-full-control.ts +0 -73
  282. package/pi.dev-src/pi-mono/coding-agent/examples/sdk/13-session-runtime.ts +0 -67
  283. package/pi.dev-src/pi-mono/coding-agent/scripts/migrate-sessions.sh +0 -93
  284. package/pi.dev-src/pi-mono/coding-agent/src/bun/cli.ts +0 -6
  285. package/pi.dev-src/pi-mono/coding-agent/src/bun/register-bedrock.ts +0 -4
  286. package/pi.dev-src/pi-mono/coding-agent/src/cli/args.ts +0 -335
  287. package/pi.dev-src/pi-mono/coding-agent/src/cli/config-selector.ts +0 -52
  288. package/pi.dev-src/pi-mono/coding-agent/src/cli/file-processor.ts +0 -100
  289. package/pi.dev-src/pi-mono/coding-agent/src/cli/initial-message.ts +0 -43
  290. package/pi.dev-src/pi-mono/coding-agent/src/cli/list-models.ts +0 -110
  291. package/pi.dev-src/pi-mono/coding-agent/src/cli/session-picker.ts +0 -52
  292. package/pi.dev-src/pi-mono/coding-agent/src/cli.ts +0 -17
  293. package/pi.dev-src/pi-mono/coding-agent/src/config.ts +0 -261
  294. package/pi.dev-src/pi-mono/coding-agent/src/core/agent-session-runtime.ts +0 -394
  295. package/pi.dev-src/pi-mono/coding-agent/src/core/agent-session-services.ts +0 -196
  296. package/pi.dev-src/pi-mono/coding-agent/src/core/agent-session.ts +0 -3096
  297. package/pi.dev-src/pi-mono/coding-agent/src/core/auth-storage.ts +0 -493
  298. package/pi.dev-src/pi-mono/coding-agent/src/core/bash-executor.ts +0 -154
  299. package/pi.dev-src/pi-mono/coding-agent/src/core/compaction/branch-summarization.ts +0 -355
  300. package/pi.dev-src/pi-mono/coding-agent/src/core/compaction/compaction.ts +0 -839
  301. package/pi.dev-src/pi-mono/coding-agent/src/core/compaction/index.ts +0 -7
  302. package/pi.dev-src/pi-mono/coding-agent/src/core/compaction/utils.ts +0 -170
  303. package/pi.dev-src/pi-mono/coding-agent/src/core/defaults.ts +0 -3
  304. package/pi.dev-src/pi-mono/coding-agent/src/core/diagnostics.ts +0 -15
  305. package/pi.dev-src/pi-mono/coding-agent/src/core/event-bus.ts +0 -33
  306. package/pi.dev-src/pi-mono/coding-agent/src/core/exec.ts +0 -107
  307. package/pi.dev-src/pi-mono/coding-agent/src/core/export-html/ansi-to-html.ts +0 -258
  308. package/pi.dev-src/pi-mono/coding-agent/src/core/export-html/index.ts +0 -314
  309. package/pi.dev-src/pi-mono/coding-agent/src/core/export-html/template.css +0 -1017
  310. package/pi.dev-src/pi-mono/coding-agent/src/core/export-html/template.html +0 -55
  311. package/pi.dev-src/pi-mono/coding-agent/src/core/export-html/template.js +0 -1770
  312. package/pi.dev-src/pi-mono/coding-agent/src/core/export-html/tool-renderer.ts +0 -158
  313. package/pi.dev-src/pi-mono/coding-agent/src/core/export-html/vendor/highlight.min.js +0 -1213
  314. package/pi.dev-src/pi-mono/coding-agent/src/core/export-html/vendor/marked.min.js +0 -6
  315. package/pi.dev-src/pi-mono/coding-agent/src/core/extensions/index.ts +0 -171
  316. package/pi.dev-src/pi-mono/coding-agent/src/core/extensions/loader.ts +0 -606
  317. package/pi.dev-src/pi-mono/coding-agent/src/core/extensions/runner.ts +0 -1019
  318. package/pi.dev-src/pi-mono/coding-agent/src/core/extensions/types.ts +0 -1542
  319. package/pi.dev-src/pi-mono/coding-agent/src/core/extensions/wrapper.ts +0 -30
  320. package/pi.dev-src/pi-mono/coding-agent/src/core/footer-data-provider.ts +0 -354
  321. package/pi.dev-src/pi-mono/coding-agent/src/core/index.ts +0 -77
  322. package/pi.dev-src/pi-mono/coding-agent/src/core/keybindings.ts +0 -370
  323. package/pi.dev-src/pi-mono/coding-agent/src/core/messages.ts +0 -195
  324. package/pi.dev-src/pi-mono/coding-agent/src/core/model-registry.ts +0 -858
  325. package/pi.dev-src/pi-mono/coding-agent/src/core/model-resolver.ts +0 -629
  326. package/pi.dev-src/pi-mono/coding-agent/src/core/output-guard.ts +0 -74
  327. package/pi.dev-src/pi-mono/coding-agent/src/core/package-manager.ts +0 -2408
  328. package/pi.dev-src/pi-mono/coding-agent/src/core/prompt-templates.ts +0 -296
  329. package/pi.dev-src/pi-mono/coding-agent/src/core/resolve-config-value.ts +0 -142
  330. package/pi.dev-src/pi-mono/coding-agent/src/core/resource-loader.ts +0 -917
  331. package/pi.dev-src/pi-mono/coding-agent/src/core/sdk.ts +0 -380
  332. package/pi.dev-src/pi-mono/coding-agent/src/core/session-cwd.ts +0 -59
  333. package/pi.dev-src/pi-mono/coding-agent/src/core/session-manager.ts +0 -1425
  334. package/pi.dev-src/pi-mono/coding-agent/src/core/settings-manager.ts +0 -999
  335. package/pi.dev-src/pi-mono/coding-agent/src/core/skills.ts +0 -508
  336. package/pi.dev-src/pi-mono/coding-agent/src/core/slash-commands.ts +0 -39
  337. package/pi.dev-src/pi-mono/coding-agent/src/core/source-info.ts +0 -40
  338. package/pi.dev-src/pi-mono/coding-agent/src/core/system-prompt.ts +0 -172
  339. package/pi.dev-src/pi-mono/coding-agent/src/core/telemetry.ts +0 -13
  340. package/pi.dev-src/pi-mono/coding-agent/src/core/timings.ts +0 -31
  341. package/pi.dev-src/pi-mono/coding-agent/src/core/tools/bash.ts +0 -448
  342. package/pi.dev-src/pi-mono/coding-agent/src/core/tools/edit-diff.ts +0 -445
  343. package/pi.dev-src/pi-mono/coding-agent/src/core/tools/edit.ts +0 -487
  344. package/pi.dev-src/pi-mono/coding-agent/src/core/tools/file-mutation-queue.ts +0 -39
  345. package/pi.dev-src/pi-mono/coding-agent/src/core/tools/find.ts +0 -370
  346. package/pi.dev-src/pi-mono/coding-agent/src/core/tools/grep.ts +0 -384
  347. package/pi.dev-src/pi-mono/coding-agent/src/core/tools/index.ts +0 -196
  348. package/pi.dev-src/pi-mono/coding-agent/src/core/tools/ls.ts +0 -229
  349. package/pi.dev-src/pi-mono/coding-agent/src/core/tools/path-utils.ts +0 -94
  350. package/pi.dev-src/pi-mono/coding-agent/src/core/tools/read.ts +0 -273
  351. package/pi.dev-src/pi-mono/coding-agent/src/core/tools/render-utils.ts +0 -64
  352. package/pi.dev-src/pi-mono/coding-agent/src/core/tools/tool-definition-wrapper.ts +0 -45
  353. package/pi.dev-src/pi-mono/coding-agent/src/core/tools/truncate.ts +0 -265
  354. package/pi.dev-src/pi-mono/coding-agent/src/core/tools/write.ts +0 -281
  355. package/pi.dev-src/pi-mono/coding-agent/src/index.ts +0 -352
  356. package/pi.dev-src/pi-mono/coding-agent/src/main.ts +0 -731
  357. package/pi.dev-src/pi-mono/coding-agent/src/migrations.ts +0 -314
  358. package/pi.dev-src/pi-mono/coding-agent/src/modes/index.ts +0 -9
  359. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/assets/clankolas.png +0 -0
  360. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/armin.ts +0 -382
  361. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/assistant-message.ts +0 -147
  362. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/bash-execution.ts +0 -218
  363. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/bordered-loader.ts +0 -68
  364. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/branch-summary-message.ts +0 -58
  365. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/compaction-summary-message.ts +0 -59
  366. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/config-selector.ts +0 -592
  367. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/countdown-timer.ts +0 -38
  368. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/custom-editor.ts +0 -80
  369. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/custom-message.ts +0 -99
  370. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/daxnuts.ts +0 -164
  371. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/diff.ts +0 -147
  372. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/dynamic-border.ts +0 -25
  373. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/earendil-announcement.ts +0 -53
  374. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/extension-editor.ts +0 -147
  375. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/extension-input.ts +0 -87
  376. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/extension-selector.ts +0 -107
  377. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/footer.ts +0 -220
  378. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/index.ts +0 -32
  379. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/keybinding-hints.ts +0 -24
  380. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/login-dialog.ts +0 -178
  381. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/model-selector.ts +0 -338
  382. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/oauth-selector.ts +0 -121
  383. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/scoped-models-selector.ts +0 -355
  384. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/session-selector-search.ts +0 -194
  385. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/session-selector.ts +0 -1026
  386. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/settings-selector.ts +0 -456
  387. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/show-images-selector.ts +0 -50
  388. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/skill-invocation-message.ts +0 -55
  389. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/theme-selector.ts +0 -67
  390. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/thinking-selector.ts +0 -74
  391. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/tool-execution.ts +0 -352
  392. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/tree-selector.ts +0 -1246
  393. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/user-message-selector.ts +0 -155
  394. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/user-message.ts +0 -35
  395. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/components/visual-truncate.ts +0 -50
  396. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/interactive-mode.ts +0 -5155
  397. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/theme/dark.json +0 -85
  398. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/theme/light.json +0 -84
  399. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/theme/theme-schema.json +0 -335
  400. package/pi.dev-src/pi-mono/coding-agent/src/modes/interactive/theme/theme.ts +0 -1141
  401. package/pi.dev-src/pi-mono/coding-agent/src/modes/print-mode.ts +0 -158
  402. package/pi.dev-src/pi-mono/coding-agent/src/modes/rpc/jsonl.ts +0 -58
  403. package/pi.dev-src/pi-mono/coding-agent/src/modes/rpc/rpc-client.ts +0 -515
  404. package/pi.dev-src/pi-mono/coding-agent/src/modes/rpc/rpc-mode.ts +0 -745
  405. package/pi.dev-src/pi-mono/coding-agent/src/modes/rpc/rpc-types.ts +0 -264
  406. package/pi.dev-src/pi-mono/coding-agent/src/package-manager-cli.ts +0 -270
  407. package/pi.dev-src/pi-mono/coding-agent/src/utils/changelog.ts +0 -99
  408. package/pi.dev-src/pi-mono/coding-agent/src/utils/child-process.ts +0 -86
  409. package/pi.dev-src/pi-mono/coding-agent/src/utils/clipboard-image.ts +0 -300
  410. package/pi.dev-src/pi-mono/coding-agent/src/utils/clipboard-native.ts +0 -22
  411. package/pi.dev-src/pi-mono/coding-agent/src/utils/clipboard.ts +0 -81
  412. package/pi.dev-src/pi-mono/coding-agent/src/utils/exif-orientation.ts +0 -183
  413. package/pi.dev-src/pi-mono/coding-agent/src/utils/frontmatter.ts +0 -39
  414. package/pi.dev-src/pi-mono/coding-agent/src/utils/fs-watch.ts +0 -30
  415. package/pi.dev-src/pi-mono/coding-agent/src/utils/git.ts +0 -192
  416. package/pi.dev-src/pi-mono/coding-agent/src/utils/image-convert.ts +0 -41
  417. package/pi.dev-src/pi-mono/coding-agent/src/utils/image-resize.ts +0 -176
  418. package/pi.dev-src/pi-mono/coding-agent/src/utils/mime.ts +0 -30
  419. package/pi.dev-src/pi-mono/coding-agent/src/utils/paths.ts +0 -20
  420. package/pi.dev-src/pi-mono/coding-agent/src/utils/photon.ts +0 -139
  421. package/pi.dev-src/pi-mono/coding-agent/src/utils/shell.ts +0 -210
  422. package/pi.dev-src/pi-mono/coding-agent/src/utils/sleep.ts +0 -18
  423. package/pi.dev-src/pi-mono/coding-agent/src/utils/tools-manager.ts +0 -287
  424. package/pi.dev-src/pi-mono/coding-agent/test/agent-session-auto-compaction-queue.test.ts +0 -437
  425. package/pi.dev-src/pi-mono/coding-agent/test/agent-session-branching.test.ts +0 -156
  426. package/pi.dev-src/pi-mono/coding-agent/test/agent-session-compaction.test.ts +0 -208
  427. package/pi.dev-src/pi-mono/coding-agent/test/agent-session-concurrent.test.ts +0 -618
  428. package/pi.dev-src/pi-mono/coding-agent/test/agent-session-dynamic-provider.test.ts +0 -117
  429. package/pi.dev-src/pi-mono/coding-agent/test/agent-session-dynamic-tools.test.ts +0 -182
  430. package/pi.dev-src/pi-mono/coding-agent/test/agent-session-retry.test.ts +0 -318
  431. package/pi.dev-src/pi-mono/coding-agent/test/agent-session-runtime-events.test.ts +0 -208
  432. package/pi.dev-src/pi-mono/coding-agent/test/agent-session-stats.test.ts +0 -143
  433. package/pi.dev-src/pi-mono/coding-agent/test/agent-session-tree-navigation.test.ts +0 -323
  434. package/pi.dev-src/pi-mono/coding-agent/test/args.test.ts +0 -328
  435. package/pi.dev-src/pi-mono/coding-agent/test/assistant-message.test.ts +0 -57
  436. package/pi.dev-src/pi-mono/coding-agent/test/auth-storage.test.ts +0 -462
  437. package/pi.dev-src/pi-mono/coding-agent/test/bash-close-hang-windows.test.ts +0 -126
  438. package/pi.dev-src/pi-mono/coding-agent/test/bash-execution-width.test.ts +0 -80
  439. package/pi.dev-src/pi-mono/coding-agent/test/block-images.test.ts +0 -120
  440. package/pi.dev-src/pi-mono/coding-agent/test/clipboard-image-bmp-conversion.test.ts +0 -88
  441. package/pi.dev-src/pi-mono/coding-agent/test/clipboard-image.test.ts +0 -136
  442. package/pi.dev-src/pi-mono/coding-agent/test/compaction-extensions-example.test.ts +0 -66
  443. package/pi.dev-src/pi-mono/coding-agent/test/compaction-extensions.test.ts +0 -415
  444. package/pi.dev-src/pi-mono/coding-agent/test/compaction-serialization.test.ts +0 -79
  445. package/pi.dev-src/pi-mono/coding-agent/test/compaction-summary-reasoning.test.ts +0 -118
  446. package/pi.dev-src/pi-mono/coding-agent/test/compaction-thinking-model.test.ts +0 -223
  447. package/pi.dev-src/pi-mono/coding-agent/test/compaction.test.ts +0 -550
  448. package/pi.dev-src/pi-mono/coding-agent/test/config.test.ts +0 -30
  449. package/pi.dev-src/pi-mono/coding-agent/test/edit-tool-legacy-input.test.ts +0 -116
  450. package/pi.dev-src/pi-mono/coding-agent/test/edit-tool-no-full-redraw.test.ts +0 -235
  451. package/pi.dev-src/pi-mono/coding-agent/test/export-html-whitespace.test.ts +0 -12
  452. package/pi.dev-src/pi-mono/coding-agent/test/export-html-xss.test.ts +0 -28
  453. package/pi.dev-src/pi-mono/coding-agent/test/extensions-discovery.test.ts +0 -463
  454. package/pi.dev-src/pi-mono/coding-agent/test/extensions-input-event.test.ts +0 -112
  455. package/pi.dev-src/pi-mono/coding-agent/test/extensions-runner.test.ts +0 -805
  456. package/pi.dev-src/pi-mono/coding-agent/test/file-mutation-queue.test.ts +0 -163
  457. package/pi.dev-src/pi-mono/coding-agent/test/fixtures/assistant-message-with-thinking-code.json +0 -33
  458. package/pi.dev-src/pi-mono/coding-agent/test/fixtures/before-compaction.jsonl +0 -1003
  459. package/pi.dev-src/pi-mono/coding-agent/test/fixtures/empty-agent/.gitkeep +0 -0
  460. package/pi.dev-src/pi-mono/coding-agent/test/fixtures/empty-cwd/.gitkeep +0 -0
  461. package/pi.dev-src/pi-mono/coding-agent/test/fixtures/large-session.jsonl +0 -1019
  462. package/pi.dev-src/pi-mono/coding-agent/test/fixtures/skills/consecutive-hyphens/SKILL.md +0 -8
  463. package/pi.dev-src/pi-mono/coding-agent/test/fixtures/skills/disable-model-invocation/SKILL.md +0 -9
  464. package/pi.dev-src/pi-mono/coding-agent/test/fixtures/skills/invalid-name-chars/SKILL.md +0 -8
  465. package/pi.dev-src/pi-mono/coding-agent/test/fixtures/skills/invalid-yaml/SKILL.md +0 -8
  466. package/pi.dev-src/pi-mono/coding-agent/test/fixtures/skills/long-name/SKILL.md +0 -8
  467. package/pi.dev-src/pi-mono/coding-agent/test/fixtures/skills/missing-description/SKILL.md +0 -7
  468. package/pi.dev-src/pi-mono/coding-agent/test/fixtures/skills/multiline-description/SKILL.md +0 -11
  469. package/pi.dev-src/pi-mono/coding-agent/test/fixtures/skills/name-mismatch/SKILL.md +0 -8
  470. package/pi.dev-src/pi-mono/coding-agent/test/fixtures/skills/nested/child-skill/SKILL.md +0 -8
  471. package/pi.dev-src/pi-mono/coding-agent/test/fixtures/skills/no-frontmatter/SKILL.md +0 -3
  472. package/pi.dev-src/pi-mono/coding-agent/test/fixtures/skills/root-skill-preferred/SKILL.md +0 -3
  473. package/pi.dev-src/pi-mono/coding-agent/test/fixtures/skills/root-skill-preferred/nested-child/SKILL.md +0 -3
  474. package/pi.dev-src/pi-mono/coding-agent/test/fixtures/skills/unknown-field/SKILL.md +0 -10
  475. package/pi.dev-src/pi-mono/coding-agent/test/fixtures/skills/valid-skill/SKILL.md +0 -8
  476. package/pi.dev-src/pi-mono/coding-agent/test/fixtures/skills-collision/first/calendar/SKILL.md +0 -8
  477. package/pi.dev-src/pi-mono/coding-agent/test/fixtures/skills-collision/second/calendar/SKILL.md +0 -8
  478. package/pi.dev-src/pi-mono/coding-agent/test/footer-data-provider.test.ts +0 -265
  479. package/pi.dev-src/pi-mono/coding-agent/test/footer-width.test.ts +0 -115
  480. package/pi.dev-src/pi-mono/coding-agent/test/frontmatter.test.ts +0 -60
  481. package/pi.dev-src/pi-mono/coding-agent/test/git-ssh-url.test.ts +0 -78
  482. package/pi.dev-src/pi-mono/coding-agent/test/git-update.test.ts +0 -411
  483. package/pi.dev-src/pi-mono/coding-agent/test/image-processing.test.ts +0 -145
  484. package/pi.dev-src/pi-mono/coding-agent/test/image-resize-callers.test.ts +0 -53
  485. package/pi.dev-src/pi-mono/coding-agent/test/initial-message.test.ts +0 -48
  486. package/pi.dev-src/pi-mono/coding-agent/test/interactive-mode-anthropic-warning.test.ts +0 -73
  487. package/pi.dev-src/pi-mono/coding-agent/test/interactive-mode-clone-command.test.ts +0 -77
  488. package/pi.dev-src/pi-mono/coding-agent/test/interactive-mode-compaction.test.ts +0 -57
  489. package/pi.dev-src/pi-mono/coding-agent/test/interactive-mode-import-command.test.ts +0 -144
  490. package/pi.dev-src/pi-mono/coding-agent/test/interactive-mode-status.test.ts +0 -635
  491. package/pi.dev-src/pi-mono/coding-agent/test/interactive-mode-suspend.test.ts +0 -149
  492. package/pi.dev-src/pi-mono/coding-agent/test/keybindings-migration.test.ts +0 -88
  493. package/pi.dev-src/pi-mono/coding-agent/test/model-registry.test.ts +0 -1209
  494. package/pi.dev-src/pi-mono/coding-agent/test/model-resolver.test.ts +0 -436
  495. package/pi.dev-src/pi-mono/coding-agent/test/package-command-paths.test.ts +0 -144
  496. package/pi.dev-src/pi-mono/coding-agent/test/package-manager-ssh.test.ts +0 -97
  497. package/pi.dev-src/pi-mono/coding-agent/test/package-manager.test.ts +0 -1795
  498. package/pi.dev-src/pi-mono/coding-agent/test/path-utils.test.ts +0 -162
  499. package/pi.dev-src/pi-mono/coding-agent/test/plan-mode-utils.test.ts +0 -261
  500. package/pi.dev-src/pi-mono/coding-agent/test/print-mode.test.ts +0 -140
  501. package/pi.dev-src/pi-mono/coding-agent/test/prompt-templates.test.ts +0 -515
  502. package/pi.dev-src/pi-mono/coding-agent/test/resource-loader.test.ts +0 -576
  503. package/pi.dev-src/pi-mono/coding-agent/test/rpc-client-clone.test.ts +0 -29
  504. package/pi.dev-src/pi-mono/coding-agent/test/rpc-example.ts +0 -86
  505. package/pi.dev-src/pi-mono/coding-agent/test/rpc-jsonl.test.ts +0 -65
  506. package/pi.dev-src/pi-mono/coding-agent/test/rpc-prompt-response-semantics.test.ts +0 -285
  507. package/pi.dev-src/pi-mono/coding-agent/test/rpc.test.ts +0 -321
  508. package/pi.dev-src/pi-mono/coding-agent/test/sdk-codex-cache-probe-tool-loop.ts +0 -364
  509. package/pi.dev-src/pi-mono/coding-agent/test/sdk-openrouter-attribution.test.ts +0 -181
  510. package/pi.dev-src/pi-mono/coding-agent/test/sdk-session-manager.test.ts +0 -95
  511. package/pi.dev-src/pi-mono/coding-agent/test/sdk-skills.test.ts +0 -109
  512. package/pi.dev-src/pi-mono/coding-agent/test/session-cwd.test.ts +0 -91
  513. package/pi.dev-src/pi-mono/coding-agent/test/session-info-modified-timestamp.test.ts +0 -83
  514. package/pi.dev-src/pi-mono/coding-agent/test/session-manager/build-context.test.ts +0 -268
  515. package/pi.dev-src/pi-mono/coding-agent/test/session-manager/custom-session-id.test.ts +0 -109
  516. package/pi.dev-src/pi-mono/coding-agent/test/session-manager/file-operations.test.ts +0 -208
  517. package/pi.dev-src/pi-mono/coding-agent/test/session-manager/labels.test.ts +0 -198
  518. package/pi.dev-src/pi-mono/coding-agent/test/session-manager/migration.test.ts +0 -78
  519. package/pi.dev-src/pi-mono/coding-agent/test/session-manager/save-entry.test.ts +0 -55
  520. package/pi.dev-src/pi-mono/coding-agent/test/session-manager/tree-traversal.test.ts +0 -533
  521. package/pi.dev-src/pi-mono/coding-agent/test/session-selector-path-delete.test.ts +0 -315
  522. package/pi.dev-src/pi-mono/coding-agent/test/session-selector-rename.test.ts +0 -111
  523. package/pi.dev-src/pi-mono/coding-agent/test/session-selector-search.test.ts +0 -195
  524. package/pi.dev-src/pi-mono/coding-agent/test/settings-manager-bug.test.ts +0 -147
  525. package/pi.dev-src/pi-mono/coding-agent/test/settings-manager.test.ts +0 -319
  526. package/pi.dev-src/pi-mono/coding-agent/test/skills.test.ts +0 -432
  527. package/pi.dev-src/pi-mono/coding-agent/test/stdout-cleanliness.test.ts +0 -103
  528. package/pi.dev-src/pi-mono/coding-agent/test/streaming-render-debug.ts +0 -97
  529. package/pi.dev-src/pi-mono/coding-agent/test/suite/agent-session-bash-persistence.test.ts +0 -242
  530. package/pi.dev-src/pi-mono/coding-agent/test/suite/agent-session-compaction.test.ts +0 -343
  531. package/pi.dev-src/pi-mono/coding-agent/test/suite/agent-session-model-extension.test.ts +0 -325
  532. package/pi.dev-src/pi-mono/coding-agent/test/suite/agent-session-prompt.test.ts +0 -323
  533. package/pi.dev-src/pi-mono/coding-agent/test/suite/agent-session-queue.test.ts +0 -422
  534. package/pi.dev-src/pi-mono/coding-agent/test/suite/agent-session-retry-events.test.ts +0 -358
  535. package/pi.dev-src/pi-mono/coding-agent/test/suite/agent-session-runtime.test.ts +0 -553
  536. package/pi.dev-src/pi-mono/coding-agent/test/suite/harness.ts +0 -208
  537. package/pi.dev-src/pi-mono/coding-agent/test/suite/regressions/2023-queued-slash-command-followup.test.ts +0 -80
  538. package/pi.dev-src/pi-mono/coding-agent/test/suite/regressions/2753-reload-stale-resource-settings.test.ts +0 -100
  539. package/pi.dev-src/pi-mono/coding-agent/test/suite/regressions/2781-skill-collision-precedence.test.ts +0 -120
  540. package/pi.dev-src/pi-mono/coding-agent/test/suite/regressions/2791-fswatch-error-crash.test.ts +0 -106
  541. package/pi.dev-src/pi-mono/coding-agent/test/suite/regressions/2835-tools-allowlist-filters-extension-tools.test.ts +0 -94
  542. package/pi.dev-src/pi-mono/coding-agent/test/suite/regressions/2860-replaced-session-context.test.ts +0 -274
  543. package/pi.dev-src/pi-mono/coding-agent/test/suite/regressions/3217-scoped-model-order.test.ts +0 -104
  544. package/pi.dev-src/pi-mono/coding-agent/test/suite/regressions/3302-find-path-glob.test.ts +0 -72
  545. package/pi.dev-src/pi-mono/coding-agent/test/suite/regressions/3303-find-nested-gitignore.test.ts +0 -83
  546. package/pi.dev-src/pi-mono/coding-agent/test/suite/regressions/3317-network-connection-lost-retry.test.ts +0 -33
  547. package/pi.dev-src/pi-mono/coding-agent/test/system-prompt.test.ts +0 -102
  548. package/pi.dev-src/pi-mono/coding-agent/test/test-harness.test.ts +0 -321
  549. package/pi.dev-src/pi-mono/coding-agent/test/test-harness.ts +0 -446
  550. package/pi.dev-src/pi-mono/coding-agent/test/test-theme-colors.ts +0 -246
  551. package/pi.dev-src/pi-mono/coding-agent/test/theme-export.test.ts +0 -104
  552. package/pi.dev-src/pi-mono/coding-agent/test/tool-execution-component.test.ts +0 -331
  553. package/pi.dev-src/pi-mono/coding-agent/test/tools.test.ts +0 -889
  554. package/pi.dev-src/pi-mono/coding-agent/test/tree-selector.test.ts +0 -655
  555. package/pi.dev-src/pi-mono/coding-agent/test/trigger-compact-extension.test.ts +0 -57
  556. package/pi.dev-src/pi-mono/coding-agent/test/truncate-to-width.test.ts +0 -81
  557. package/pi.dev-src/pi-mono/coding-agent/test/user-message.test.ts +0 -25
  558. package/pi.dev-src/pi-mono/coding-agent/test/utilities.ts +0 -316
  559. package/pi.dev-src/pi-mono/coding-agent/tsconfig.examples.json +0 -16
  560. package/pi.dev-src/pi-mono/coding-agent/vitest.config.ts +0 -26
  561. package/pi.dev-src/pi-mono/mom/dev.sh +0 -30
  562. package/pi.dev-src/pi-mono/mom/docker.sh +0 -95
  563. package/pi.dev-src/pi-mono/mom/scripts/migrate-timestamps.ts +0 -121
  564. package/pi.dev-src/pi-mono/mom/src/agent.ts +0 -882
  565. package/pi.dev-src/pi-mono/mom/src/context.ts +0 -180
  566. package/pi.dev-src/pi-mono/mom/src/download.ts +0 -117
  567. package/pi.dev-src/pi-mono/mom/src/events.ts +0 -442
  568. package/pi.dev-src/pi-mono/mom/src/fs-watch.ts +0 -30
  569. package/pi.dev-src/pi-mono/mom/src/log.ts +0 -271
  570. package/pi.dev-src/pi-mono/mom/src/main.ts +0 -367
  571. package/pi.dev-src/pi-mono/mom/src/sandbox.ts +0 -221
  572. package/pi.dev-src/pi-mono/mom/src/slack.ts +0 -623
  573. package/pi.dev-src/pi-mono/mom/src/store.ts +0 -234
  574. package/pi.dev-src/pi-mono/mom/src/tools/attach.ts +0 -47
  575. package/pi.dev-src/pi-mono/mom/src/tools/bash.ts +0 -97
  576. package/pi.dev-src/pi-mono/mom/src/tools/edit.ts +0 -165
  577. package/pi.dev-src/pi-mono/mom/src/tools/index.ts +0 -19
  578. package/pi.dev-src/pi-mono/mom/src/tools/read.ts +0 -159
  579. package/pi.dev-src/pi-mono/mom/src/tools/truncate.ts +0 -236
  580. package/pi.dev-src/pi-mono/mom/src/tools/write.ts +0 -45
  581. package/pi.dev-src/pi-mono/mom/test/events.test.ts +0 -50
  582. package/pi.dev-src/pi-mono/pods/scripts/model_run.sh +0 -83
  583. package/pi.dev-src/pi-mono/pods/scripts/pod_setup.sh +0 -336
  584. package/pi.dev-src/pi-mono/pods/src/cli.ts +0 -360
  585. package/pi.dev-src/pi-mono/pods/src/commands/models.ts +0 -753
  586. package/pi.dev-src/pi-mono/pods/src/commands/pods.ts +0 -205
  587. package/pi.dev-src/pi-mono/pods/src/commands/prompt.ts +0 -84
  588. package/pi.dev-src/pi-mono/pods/src/config.ts +0 -80
  589. package/pi.dev-src/pi-mono/pods/src/index.ts +0 -2
  590. package/pi.dev-src/pi-mono/pods/src/model-configs.ts +0 -111
  591. package/pi.dev-src/pi-mono/pods/src/models.json +0 -295
  592. package/pi.dev-src/pi-mono/pods/src/ssh.ts +0 -151
  593. package/pi.dev-src/pi-mono/pods/src/types.ts +0 -27
  594. package/pi.dev-src/pi-mono/tui/src/autocomplete.ts +0 -783
  595. package/pi.dev-src/pi-mono/tui/src/components/box.ts +0 -137
  596. package/pi.dev-src/pi-mono/tui/src/components/cancellable-loader.ts +0 -40
  597. package/pi.dev-src/pi-mono/tui/src/components/editor.ts +0 -2280
  598. package/pi.dev-src/pi-mono/tui/src/components/image.ts +0 -104
  599. package/pi.dev-src/pi-mono/tui/src/components/input.ts +0 -503
  600. package/pi.dev-src/pi-mono/tui/src/components/loader.ts +0 -86
  601. package/pi.dev-src/pi-mono/tui/src/components/markdown.ts +0 -852
  602. package/pi.dev-src/pi-mono/tui/src/components/select-list.ts +0 -229
  603. package/pi.dev-src/pi-mono/tui/src/components/settings-list.ts +0 -250
  604. package/pi.dev-src/pi-mono/tui/src/components/spacer.ts +0 -28
  605. package/pi.dev-src/pi-mono/tui/src/components/text.ts +0 -106
  606. package/pi.dev-src/pi-mono/tui/src/components/truncated-text.ts +0 -65
  607. package/pi.dev-src/pi-mono/tui/src/editor-component.ts +0 -74
  608. package/pi.dev-src/pi-mono/tui/src/fuzzy.ts +0 -133
  609. package/pi.dev-src/pi-mono/tui/src/index.ts +0 -106
  610. package/pi.dev-src/pi-mono/tui/src/keybindings.ts +0 -244
  611. package/pi.dev-src/pi-mono/tui/src/keys.ts +0 -1400
  612. package/pi.dev-src/pi-mono/tui/src/kill-ring.ts +0 -46
  613. package/pi.dev-src/pi-mono/tui/src/stdin-buffer.ts +0 -386
  614. package/pi.dev-src/pi-mono/tui/src/terminal-image.ts +0 -414
  615. package/pi.dev-src/pi-mono/tui/src/terminal.ts +0 -373
  616. package/pi.dev-src/pi-mono/tui/src/tui.ts +0 -1243
  617. package/pi.dev-src/pi-mono/tui/src/undo-stack.ts +0 -28
  618. package/pi.dev-src/pi-mono/tui/src/utils.ts +0 -1085
  619. package/pi.dev-src/pi-mono/tui/test/autocomplete.test.ts +0 -542
  620. package/pi.dev-src/pi-mono/tui/test/bug-regression-isimageline-startswith-bug.test.ts +0 -237
  621. package/pi.dev-src/pi-mono/tui/test/chat-simple.ts +0 -129
  622. package/pi.dev-src/pi-mono/tui/test/editor.test.ts +0 -3812
  623. package/pi.dev-src/pi-mono/tui/test/fuzzy.test.ts +0 -98
  624. package/pi.dev-src/pi-mono/tui/test/image-test.ts +0 -56
  625. package/pi.dev-src/pi-mono/tui/test/input.test.ts +0 -580
  626. package/pi.dev-src/pi-mono/tui/test/key-tester.ts +0 -105
  627. package/pi.dev-src/pi-mono/tui/test/keybindings.test.ts +0 -38
  628. package/pi.dev-src/pi-mono/tui/test/keys.test.ts +0 -614
  629. package/pi.dev-src/pi-mono/tui/test/markdown.test.ts +0 -1236
  630. package/pi.dev-src/pi-mono/tui/test/overlay-non-capturing.test.ts +0 -609
  631. package/pi.dev-src/pi-mono/tui/test/overlay-options.test.ts +0 -538
  632. package/pi.dev-src/pi-mono/tui/test/overlay-short-content.test.ts +0 -56
  633. package/pi.dev-src/pi-mono/tui/test/regression-regional-indicator-width.test.ts +0 -52
  634. package/pi.dev-src/pi-mono/tui/test/select-list.test.ts +0 -116
  635. package/pi.dev-src/pi-mono/tui/test/stdin-buffer.test.ts +0 -422
  636. package/pi.dev-src/pi-mono/tui/test/terminal-image.test.ts +0 -279
  637. package/pi.dev-src/pi-mono/tui/test/test-themes.ts +0 -38
  638. package/pi.dev-src/pi-mono/tui/test/truncate-to-width.test.ts +0 -62
  639. package/pi.dev-src/pi-mono/tui/test/truncated-text.test.ts +0 -129
  640. package/pi.dev-src/pi-mono/tui/test/tui-cell-size-input.test.ts +0 -81
  641. package/pi.dev-src/pi-mono/tui/test/tui-overlay-style-leak.test.ts +0 -72
  642. package/pi.dev-src/pi-mono/tui/test/tui-render.test.ts +0 -509
  643. package/pi.dev-src/pi-mono/tui/test/viewport-overwrite-repro.ts +0 -106
  644. package/pi.dev-src/pi-mono/tui/test/virtual-terminal.ts +0 -218
  645. package/pi.dev-src/pi-mono/tui/test/wrap-ansi.test.ts +0 -207
  646. package/pi.dev-src/pi-mono/tui/vitest.config.ts +0 -7
  647. package/pi.dev-src/pi-mono/web-ui/example/index.html +0 -13
  648. package/pi.dev-src/pi-mono/web-ui/example/src/app.css +0 -1
  649. package/pi.dev-src/pi-mono/web-ui/example/src/custom-messages.ts +0 -99
  650. package/pi.dev-src/pi-mono/web-ui/example/src/main.ts +0 -421
  651. package/pi.dev-src/pi-mono/web-ui/example/tsconfig.json +0 -23
  652. package/pi.dev-src/pi-mono/web-ui/example/vite.config.ts +0 -6
  653. package/pi.dev-src/pi-mono/web-ui/scripts/count-prompt-tokens.ts +0 -88
  654. package/pi.dev-src/pi-mono/web-ui/src/ChatPanel.ts +0 -209
  655. package/pi.dev-src/pi-mono/web-ui/src/app.css +0 -68
  656. package/pi.dev-src/pi-mono/web-ui/src/components/AgentInterface.ts +0 -403
  657. package/pi.dev-src/pi-mono/web-ui/src/components/AttachmentTile.ts +0 -107
  658. package/pi.dev-src/pi-mono/web-ui/src/components/ConsoleBlock.ts +0 -72
  659. package/pi.dev-src/pi-mono/web-ui/src/components/CustomProviderCard.ts +0 -100
  660. package/pi.dev-src/pi-mono/web-ui/src/components/ExpandableSection.ts +0 -46
  661. package/pi.dev-src/pi-mono/web-ui/src/components/Input.ts +0 -113
  662. package/pi.dev-src/pi-mono/web-ui/src/components/MessageEditor.ts +0 -405
  663. package/pi.dev-src/pi-mono/web-ui/src/components/MessageList.ts +0 -98
  664. package/pi.dev-src/pi-mono/web-ui/src/components/Messages.ts +0 -383
  665. package/pi.dev-src/pi-mono/web-ui/src/components/ProviderKeyInput.ts +0 -153
  666. package/pi.dev-src/pi-mono/web-ui/src/components/SandboxedIframe.ts +0 -626
  667. package/pi.dev-src/pi-mono/web-ui/src/components/StreamingMessageContainer.ts +0 -103
  668. package/pi.dev-src/pi-mono/web-ui/src/components/ThinkingBlock.ts +0 -43
  669. package/pi.dev-src/pi-mono/web-ui/src/components/message-renderer-registry.ts +0 -28
  670. package/pi.dev-src/pi-mono/web-ui/src/components/sandbox/ArtifactsRuntimeProvider.ts +0 -220
  671. package/pi.dev-src/pi-mono/web-ui/src/components/sandbox/AttachmentsRuntimeProvider.ts +0 -66
  672. package/pi.dev-src/pi-mono/web-ui/src/components/sandbox/ConsoleRuntimeProvider.ts +0 -186
  673. package/pi.dev-src/pi-mono/web-ui/src/components/sandbox/FileDownloadRuntimeProvider.ts +0 -110
  674. package/pi.dev-src/pi-mono/web-ui/src/components/sandbox/RuntimeMessageBridge.ts +0 -82
  675. package/pi.dev-src/pi-mono/web-ui/src/components/sandbox/RuntimeMessageRouter.ts +0 -216
  676. package/pi.dev-src/pi-mono/web-ui/src/components/sandbox/SandboxRuntimeProvider.ts +0 -52
  677. package/pi.dev-src/pi-mono/web-ui/src/dialogs/ApiKeyPromptDialog.ts +0 -75
  678. package/pi.dev-src/pi-mono/web-ui/src/dialogs/AttachmentOverlay.ts +0 -636
  679. package/pi.dev-src/pi-mono/web-ui/src/dialogs/CustomProviderDialog.ts +0 -274
  680. package/pi.dev-src/pi-mono/web-ui/src/dialogs/ModelSelector.ts +0 -370
  681. package/pi.dev-src/pi-mono/web-ui/src/dialogs/PersistentStorageDialog.ts +0 -144
  682. package/pi.dev-src/pi-mono/web-ui/src/dialogs/ProvidersModelsTab.ts +0 -212
  683. package/pi.dev-src/pi-mono/web-ui/src/dialogs/SessionListDialog.ts +0 -150
  684. package/pi.dev-src/pi-mono/web-ui/src/dialogs/SettingsDialog.ts +0 -218
  685. package/pi.dev-src/pi-mono/web-ui/src/index.ts +0 -120
  686. package/pi.dev-src/pi-mono/web-ui/src/prompts/prompts.ts +0 -282
  687. package/pi.dev-src/pi-mono/web-ui/src/storage/app-storage.ts +0 -60
  688. package/pi.dev-src/pi-mono/web-ui/src/storage/backends/indexeddb-storage-backend.ts +0 -193
  689. package/pi.dev-src/pi-mono/web-ui/src/storage/store.ts +0 -33
  690. package/pi.dev-src/pi-mono/web-ui/src/storage/stores/custom-providers-store.ts +0 -62
  691. package/pi.dev-src/pi-mono/web-ui/src/storage/stores/provider-keys-store.ts +0 -33
  692. package/pi.dev-src/pi-mono/web-ui/src/storage/stores/sessions-store.ts +0 -136
  693. package/pi.dev-src/pi-mono/web-ui/src/storage/stores/settings-store.ts +0 -34
  694. package/pi.dev-src/pi-mono/web-ui/src/storage/types.ts +0 -206
  695. package/pi.dev-src/pi-mono/web-ui/src/tools/artifacts/ArtifactElement.ts +0 -14
  696. package/pi.dev-src/pi-mono/web-ui/src/tools/artifacts/ArtifactPill.ts +0 -26
  697. package/pi.dev-src/pi-mono/web-ui/src/tools/artifacts/Console.ts +0 -93
  698. package/pi.dev-src/pi-mono/web-ui/src/tools/artifacts/DocxArtifact.ts +0 -213
  699. package/pi.dev-src/pi-mono/web-ui/src/tools/artifacts/ExcelArtifact.ts +0 -231
  700. package/pi.dev-src/pi-mono/web-ui/src/tools/artifacts/GenericArtifact.ts +0 -117
  701. package/pi.dev-src/pi-mono/web-ui/src/tools/artifacts/HtmlArtifact.ts +0 -195
  702. package/pi.dev-src/pi-mono/web-ui/src/tools/artifacts/ImageArtifact.ts +0 -116
  703. package/pi.dev-src/pi-mono/web-ui/src/tools/artifacts/MarkdownArtifact.ts +0 -82
  704. package/pi.dev-src/pi-mono/web-ui/src/tools/artifacts/PdfArtifact.ts +0 -201
  705. package/pi.dev-src/pi-mono/web-ui/src/tools/artifacts/SvgArtifact.ts +0 -119
  706. package/pi.dev-src/pi-mono/web-ui/src/tools/artifacts/TextArtifact.ts +0 -148
  707. package/pi.dev-src/pi-mono/web-ui/src/tools/artifacts/artifacts-tool-renderer.ts +0 -310
  708. package/pi.dev-src/pi-mono/web-ui/src/tools/artifacts/artifacts.ts +0 -713
  709. package/pi.dev-src/pi-mono/web-ui/src/tools/artifacts/index.ts +0 -7
  710. package/pi.dev-src/pi-mono/web-ui/src/tools/extract-document.ts +0 -275
  711. package/pi.dev-src/pi-mono/web-ui/src/tools/index.ts +0 -46
  712. package/pi.dev-src/pi-mono/web-ui/src/tools/javascript-repl.ts +0 -293
  713. package/pi.dev-src/pi-mono/web-ui/src/tools/renderer-registry.ts +0 -130
  714. package/pi.dev-src/pi-mono/web-ui/src/tools/renderers/BashRenderer.ts +0 -52
  715. package/pi.dev-src/pi-mono/web-ui/src/tools/renderers/CalculateRenderer.ts +0 -58
  716. package/pi.dev-src/pi-mono/web-ui/src/tools/renderers/DefaultRenderer.ts +0 -103
  717. package/pi.dev-src/pi-mono/web-ui/src/tools/renderers/GetCurrentTimeRenderer.ts +0 -92
  718. package/pi.dev-src/pi-mono/web-ui/src/tools/types.ts +0 -15
  719. package/pi.dev-src/pi-mono/web-ui/src/utils/attachment-utils.ts +0 -472
  720. package/pi.dev-src/pi-mono/web-ui/src/utils/auth-token.ts +0 -22
  721. package/pi.dev-src/pi-mono/web-ui/src/utils/format.ts +0 -42
  722. package/pi.dev-src/pi-mono/web-ui/src/utils/i18n.ts +0 -653
  723. package/pi.dev-src/pi-mono/web-ui/src/utils/model-discovery.ts +0 -277
  724. package/pi.dev-src/pi-mono/web-ui/src/utils/proxy-utils.ts +0 -139
  725. package/pi.dev-src/pi-mono/web-ui/src/utils/test-sessions.ts +0 -2357
  726. package/pi.dev-src/pi-mono/web-ui/tsconfig.json +0 -7
  727. package/tests/attended-results-scenarios.ts +0 -648
  728. package/tests/attended-results.test.ts +0 -39
  729. package/tests/cli-command-option-parity.test.ts +0 -798
  730. package/tests/debug-extension-harness.test.ts +0 -466
  731. package/tests/extension-registration.test.ts +0 -6785
  732. package/tests/fixtures/fixture_c.c +0 -361
  733. package/tests/fixtures/fixture_cpp.cpp +0 -407
  734. package/tests/fixtures/fixture_csharp.cs +0 -411
  735. package/tests/fixtures/fixture_elixir.ex +0 -409
  736. package/tests/fixtures/fixture_go.go +0 -341
  737. package/tests/fixtures/fixture_haskell.hs +0 -250
  738. package/tests/fixtures/fixture_java.java +0 -430
  739. package/tests/fixtures/fixture_javascript.js +0 -383
  740. package/tests/fixtures/fixture_kotlin.kt +0 -451
  741. package/tests/fixtures/fixture_lua.lua +0 -276
  742. package/tests/fixtures/fixture_perl.pl +0 -310
  743. package/tests/fixtures/fixture_php.php +0 -433
  744. package/tests/fixtures/fixture_python.py +0 -502
  745. package/tests/fixtures/fixture_ruby.rb +0 -345
  746. package/tests/fixtures/fixture_rust.rs +0 -380
  747. package/tests/fixtures/fixture_scala.scala +0 -398
  748. package/tests/fixtures/fixture_shell.sh +0 -276
  749. package/tests/fixtures/fixture_swift.swift +0 -397
  750. package/tests/fixtures/fixture_typescript.ts +0 -434
  751. package/tests/fixtures/fixture_zig.zig +0 -295
  752. package/tests/fixtures_attended_results/project/compress-line-numbers.json +0 -5
  753. package/tests/fixtures_attended_results/project/compress.json +0 -5
  754. package/tests/fixtures_attended_results/project/enable-static-check-invalid-command.json +0 -5
  755. package/tests/fixtures_attended_results/project/enable-static-check-valid.json +0 -5
  756. package/tests/fixtures_attended_results/project/files-static-check.json +0 -5
  757. package/tests/fixtures_attended_results/project/find-line-numbers.json +0 -5
  758. package/tests/fixtures_attended_results/project/find.json +0 -5
  759. package/tests/fixtures_attended_results/project/get-base-path.json +0 -5
  760. package/tests/fixtures_attended_results/project/git-check-clean.json +0 -5
  761. package/tests/fixtures_attended_results/project/git-check-dirty.json +0 -5
  762. package/tests/fixtures_attended_results/project/git-path.json +0 -5
  763. package/tests/fixtures_attended_results/project/git-wt-create-invalid.json +0 -5
  764. package/tests/fixtures_attended_results/project/git-wt-create-valid.json +0 -5
  765. package/tests/fixtures_attended_results/project/git-wt-delete-nonexistent.json +0 -5
  766. package/tests/fixtures_attended_results/project/git-wt-delete-valid.json +0 -5
  767. package/tests/fixtures_attended_results/project/git-wt-name.json +0 -5
  768. package/tests/fixtures_attended_results/project/static-check.json +0 -5
  769. package/tests/fixtures_attended_results/project/summarize.json +0 -5
  770. package/tests/fixtures_attended_results/project/tokens.json +0 -5
  771. package/tests/fixtures_attended_results/standalone/files-compress/fixture_c.c.json +0 -5
  772. package/tests/fixtures_attended_results/standalone/files-compress/fixture_cpp.cpp.json +0 -5
  773. package/tests/fixtures_attended_results/standalone/files-compress/fixture_csharp.cs.json +0 -5
  774. package/tests/fixtures_attended_results/standalone/files-compress/fixture_elixir.ex.json +0 -5
  775. package/tests/fixtures_attended_results/standalone/files-compress/fixture_go.go.json +0 -5
  776. package/tests/fixtures_attended_results/standalone/files-compress/fixture_haskell.hs.json +0 -5
  777. package/tests/fixtures_attended_results/standalone/files-compress/fixture_java.java.json +0 -5
  778. package/tests/fixtures_attended_results/standalone/files-compress/fixture_javascript.js.json +0 -5
  779. package/tests/fixtures_attended_results/standalone/files-compress/fixture_kotlin.kt.json +0 -5
  780. package/tests/fixtures_attended_results/standalone/files-compress/fixture_lua.lua.json +0 -5
  781. package/tests/fixtures_attended_results/standalone/files-compress/fixture_perl.pl.json +0 -5
  782. package/tests/fixtures_attended_results/standalone/files-compress/fixture_php.php.json +0 -5
  783. package/tests/fixtures_attended_results/standalone/files-compress/fixture_python.py.json +0 -5
  784. package/tests/fixtures_attended_results/standalone/files-compress/fixture_ruby.rb.json +0 -5
  785. package/tests/fixtures_attended_results/standalone/files-compress/fixture_rust.rs.json +0 -5
  786. package/tests/fixtures_attended_results/standalone/files-compress/fixture_scala.scala.json +0 -5
  787. package/tests/fixtures_attended_results/standalone/files-compress/fixture_shell.sh.json +0 -5
  788. package/tests/fixtures_attended_results/standalone/files-compress/fixture_swift.swift.json +0 -5
  789. package/tests/fixtures_attended_results/standalone/files-compress/fixture_typescript.ts.json +0 -5
  790. package/tests/fixtures_attended_results/standalone/files-compress/fixture_zig.zig.json +0 -5
  791. package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_c.c.json +0 -5
  792. package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_cpp.cpp.json +0 -5
  793. package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_csharp.cs.json +0 -5
  794. package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_elixir.ex.json +0 -5
  795. package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_go.go.json +0 -5
  796. package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_haskell.hs.json +0 -5
  797. package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_java.java.json +0 -5
  798. package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_javascript.js.json +0 -5
  799. package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_kotlin.kt.json +0 -5
  800. package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_lua.lua.json +0 -5
  801. package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_perl.pl.json +0 -5
  802. package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_php.php.json +0 -5
  803. package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_python.py.json +0 -5
  804. package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_ruby.rb.json +0 -5
  805. package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_rust.rs.json +0 -5
  806. package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_scala.scala.json +0 -5
  807. package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_shell.sh.json +0 -5
  808. package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_swift.swift.json +0 -5
  809. package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_typescript.ts.json +0 -5
  810. package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_zig.zig.json +0 -5
  811. package/tests/fixtures_attended_results/standalone/files-find/fixture_c.c.json +0 -5
  812. package/tests/fixtures_attended_results/standalone/files-find/fixture_cpp.cpp.json +0 -5
  813. package/tests/fixtures_attended_results/standalone/files-find/fixture_csharp.cs.json +0 -5
  814. package/tests/fixtures_attended_results/standalone/files-find/fixture_elixir.ex.json +0 -5
  815. package/tests/fixtures_attended_results/standalone/files-find/fixture_go.go.json +0 -5
  816. package/tests/fixtures_attended_results/standalone/files-find/fixture_haskell.hs.json +0 -5
  817. package/tests/fixtures_attended_results/standalone/files-find/fixture_java.java.json +0 -5
  818. package/tests/fixtures_attended_results/standalone/files-find/fixture_javascript.js.json +0 -5
  819. package/tests/fixtures_attended_results/standalone/files-find/fixture_kotlin.kt.json +0 -5
  820. package/tests/fixtures_attended_results/standalone/files-find/fixture_lua.lua.json +0 -5
  821. package/tests/fixtures_attended_results/standalone/files-find/fixture_perl.pl.json +0 -5
  822. package/tests/fixtures_attended_results/standalone/files-find/fixture_php.php.json +0 -5
  823. package/tests/fixtures_attended_results/standalone/files-find/fixture_python.py.json +0 -5
  824. package/tests/fixtures_attended_results/standalone/files-find/fixture_ruby.rb.json +0 -5
  825. package/tests/fixtures_attended_results/standalone/files-find/fixture_rust.rs.json +0 -5
  826. package/tests/fixtures_attended_results/standalone/files-find/fixture_scala.scala.json +0 -5
  827. package/tests/fixtures_attended_results/standalone/files-find/fixture_shell.sh.json +0 -5
  828. package/tests/fixtures_attended_results/standalone/files-find/fixture_swift.swift.json +0 -5
  829. package/tests/fixtures_attended_results/standalone/files-find/fixture_typescript.ts.json +0 -5
  830. package/tests/fixtures_attended_results/standalone/files-find/fixture_zig.zig.json +0 -5
  831. package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_c.c.json +0 -5
  832. package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_cpp.cpp.json +0 -5
  833. package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_csharp.cs.json +0 -5
  834. package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_elixir.ex.json +0 -5
  835. package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_go.go.json +0 -5
  836. package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_haskell.hs.json +0 -5
  837. package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_java.java.json +0 -5
  838. package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_javascript.js.json +0 -5
  839. package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_kotlin.kt.json +0 -5
  840. package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_lua.lua.json +0 -5
  841. package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_perl.pl.json +0 -5
  842. package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_php.php.json +0 -5
  843. package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_python.py.json +0 -5
  844. package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_ruby.rb.json +0 -5
  845. package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_rust.rs.json +0 -5
  846. package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_scala.scala.json +0 -5
  847. package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_shell.sh.json +0 -5
  848. package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_swift.swift.json +0 -5
  849. package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_typescript.ts.json +0 -5
  850. package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_zig.zig.json +0 -5
  851. package/tests/fixtures_attended_results/standalone/files-summarize/fixture_c.c.json +0 -5
  852. package/tests/fixtures_attended_results/standalone/files-summarize/fixture_cpp.cpp.json +0 -5
  853. package/tests/fixtures_attended_results/standalone/files-summarize/fixture_csharp.cs.json +0 -5
  854. package/tests/fixtures_attended_results/standalone/files-summarize/fixture_elixir.ex.json +0 -5
  855. package/tests/fixtures_attended_results/standalone/files-summarize/fixture_go.go.json +0 -5
  856. package/tests/fixtures_attended_results/standalone/files-summarize/fixture_haskell.hs.json +0 -5
  857. package/tests/fixtures_attended_results/standalone/files-summarize/fixture_java.java.json +0 -5
  858. package/tests/fixtures_attended_results/standalone/files-summarize/fixture_javascript.js.json +0 -5
  859. package/tests/fixtures_attended_results/standalone/files-summarize/fixture_kotlin.kt.json +0 -5
  860. package/tests/fixtures_attended_results/standalone/files-summarize/fixture_lua.lua.json +0 -5
  861. package/tests/fixtures_attended_results/standalone/files-summarize/fixture_perl.pl.json +0 -5
  862. package/tests/fixtures_attended_results/standalone/files-summarize/fixture_php.php.json +0 -5
  863. package/tests/fixtures_attended_results/standalone/files-summarize/fixture_python.py.json +0 -5
  864. package/tests/fixtures_attended_results/standalone/files-summarize/fixture_ruby.rb.json +0 -5
  865. package/tests/fixtures_attended_results/standalone/files-summarize/fixture_rust.rs.json +0 -5
  866. package/tests/fixtures_attended_results/standalone/files-summarize/fixture_scala.scala.json +0 -5
  867. package/tests/fixtures_attended_results/standalone/files-summarize/fixture_shell.sh.json +0 -5
  868. package/tests/fixtures_attended_results/standalone/files-summarize/fixture_swift.swift.json +0 -5
  869. package/tests/fixtures_attended_results/standalone/files-summarize/fixture_typescript.ts.json +0 -5
  870. package/tests/fixtures_attended_results/standalone/files-summarize/fixture_zig.zig.json +0 -5
  871. package/tests/fixtures_attended_results/standalone/files-tokens/fixture_c.c.json +0 -5
  872. package/tests/fixtures_attended_results/standalone/files-tokens/fixture_cpp.cpp.json +0 -5
  873. package/tests/fixtures_attended_results/standalone/files-tokens/fixture_csharp.cs.json +0 -5
  874. package/tests/fixtures_attended_results/standalone/files-tokens/fixture_elixir.ex.json +0 -5
  875. package/tests/fixtures_attended_results/standalone/files-tokens/fixture_go.go.json +0 -5
  876. package/tests/fixtures_attended_results/standalone/files-tokens/fixture_haskell.hs.json +0 -5
  877. package/tests/fixtures_attended_results/standalone/files-tokens/fixture_java.java.json +0 -5
  878. package/tests/fixtures_attended_results/standalone/files-tokens/fixture_javascript.js.json +0 -5
  879. package/tests/fixtures_attended_results/standalone/files-tokens/fixture_kotlin.kt.json +0 -5
  880. package/tests/fixtures_attended_results/standalone/files-tokens/fixture_lua.lua.json +0 -5
  881. package/tests/fixtures_attended_results/standalone/files-tokens/fixture_perl.pl.json +0 -5
  882. package/tests/fixtures_attended_results/standalone/files-tokens/fixture_php.php.json +0 -5
  883. package/tests/fixtures_attended_results/standalone/files-tokens/fixture_python.py.json +0 -5
  884. package/tests/fixtures_attended_results/standalone/files-tokens/fixture_ruby.rb.json +0 -5
  885. package/tests/fixtures_attended_results/standalone/files-tokens/fixture_rust.rs.json +0 -5
  886. package/tests/fixtures_attended_results/standalone/files-tokens/fixture_scala.scala.json +0 -5
  887. package/tests/fixtures_attended_results/standalone/files-tokens/fixture_shell.sh.json +0 -5
  888. package/tests/fixtures_attended_results/standalone/files-tokens/fixture_swift.swift.json +0 -5
  889. package/tests/fixtures_attended_results/standalone/files-tokens/fixture_typescript.ts.json +0 -5
  890. package/tests/fixtures_attended_results/standalone/files-tokens/fixture_zig.zig.json +0 -5
  891. package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_c.c.json +0 -5
  892. package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_cpp.cpp.json +0 -5
  893. package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_csharp.cs.json +0 -5
  894. package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_elixir.ex.json +0 -5
  895. package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_go.go.json +0 -5
  896. package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_haskell.hs.json +0 -5
  897. package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_java.java.json +0 -5
  898. package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_javascript.js.json +0 -5
  899. package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_kotlin.kt.json +0 -5
  900. package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_lua.lua.json +0 -5
  901. package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_perl.pl.json +0 -5
  902. package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_php.php.json +0 -5
  903. package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_python.py.json +0 -5
  904. package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_ruby.rb.json +0 -5
  905. package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_rust.rs.json +0 -5
  906. package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_scala.scala.json +0 -5
  907. package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_shell.sh.json +0 -5
  908. package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_swift.swift.json +0 -5
  909. package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_typescript.ts.json +0 -5
  910. package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_zig.zig.json +0 -5
  911. package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_c.c.json +0 -5
  912. package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_cpp.cpp.json +0 -5
  913. package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_csharp.cs.json +0 -5
  914. package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_elixir.ex.json +0 -5
  915. package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_go.go.json +0 -5
  916. package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_haskell.hs.json +0 -5
  917. package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_java.java.json +0 -5
  918. package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_javascript.js.json +0 -5
  919. package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_kotlin.kt.json +0 -5
  920. package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_lua.lua.json +0 -5
  921. package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_perl.pl.json +0 -5
  922. package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_php.php.json +0 -5
  923. package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_python.py.json +0 -5
  924. package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_ruby.rb.json +0 -5
  925. package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_rust.rs.json +0 -5
  926. package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_scala.scala.json +0 -5
  927. package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_shell.sh.json +0 -5
  928. package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_swift.swift.json +0 -5
  929. package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_typescript.ts.json +0 -5
  930. package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_zig.zig.json +0 -5
  931. package/tests/helpers.ts +0 -236
  932. package/tests/oracle-project.test.ts +0 -67
  933. package/tests/oracle-standalone.test.ts +0 -68
  934. package/tests/prompt-command-summary.test.ts +0 -36
  935. package/tests/prompt-rendering.test.ts +0 -103
  936. package/tests/python_oracle_stubs/tiktoken.py +0 -76
  937. package/tests/release-workflow.test.ts +0 -195
  938. package/tests/static-check-bundled.test.ts +0 -332
@@ -1,405 +0,0 @@
1
- import { icon } from "@mariozechner/mini-lit";
2
- import { Button } from "@mariozechner/mini-lit/dist/Button.js";
3
- import { Select, type SelectOption } from "@mariozechner/mini-lit/dist/Select.js";
4
- import type { Model } from "@mariozechner/pi-ai";
5
- import { html, LitElement } from "lit";
6
- import { customElement, property, state } from "lit/decorators.js";
7
- import { createRef, ref } from "lit/directives/ref.js";
8
- import { Brain, Loader2, Paperclip, Send, Sparkles, Square } from "lucide";
9
- import { type Attachment, loadAttachment } from "../utils/attachment-utils.js";
10
- import { i18n } from "../utils/i18n.js";
11
- import "./AttachmentTile.js";
12
- import type { ThinkingLevel } from "@mariozechner/pi-agent-core";
13
-
14
- @customElement("message-editor")
15
- export class MessageEditor extends LitElement {
16
- private _value = "";
17
- private textareaRef = createRef<HTMLTextAreaElement>();
18
-
19
- @property()
20
- get value() {
21
- return this._value;
22
- }
23
-
24
- set value(val: string) {
25
- const oldValue = this._value;
26
- this._value = val;
27
- this.requestUpdate("value", oldValue);
28
- }
29
-
30
- @property() isStreaming = false;
31
- @property() currentModel?: Model<any>;
32
- @property() thinkingLevel: ThinkingLevel = "off";
33
- @property() showAttachmentButton = true;
34
- @property() showModelSelector = true;
35
- @property() showThinkingSelector = true;
36
- @property() onInput?: (value: string) => void;
37
- @property() onSend?: (input: string, attachments: Attachment[]) => void;
38
- @property() onAbort?: () => void;
39
- @property() onModelSelect?: () => void;
40
- @property() onThinkingChange?: (level: "off" | "minimal" | "low" | "medium" | "high") => void;
41
- @property() onFilesChange?: (files: Attachment[]) => void;
42
- @property() attachments: Attachment[] = [];
43
- @property() maxFiles = 10;
44
- @property() maxFileSize = 20 * 1024 * 1024; // 20MB
45
- @property() acceptedTypes =
46
- "image/*,application/pdf,.docx,.pptx,.xlsx,.xls,.txt,.md,.json,.xml,.html,.css,.js,.ts,.jsx,.tsx,.yml,.yaml";
47
-
48
- @state() processingFiles = false;
49
- @state() isDragging = false;
50
- private fileInputRef = createRef<HTMLInputElement>();
51
-
52
- protected override createRenderRoot(): HTMLElement | DocumentFragment {
53
- return this;
54
- }
55
-
56
- private handleTextareaInput = (e: Event) => {
57
- const textarea = e.target as HTMLTextAreaElement;
58
- this.value = textarea.value;
59
- this.onInput?.(this.value);
60
- };
61
-
62
- private handleKeyDown = (e: KeyboardEvent) => {
63
- // Ignore key events during IME composition (e.g. CJK input)
64
- if (e.isComposing || e.key === "Process") return;
65
-
66
- if (e.key === "Enter" && !e.shiftKey) {
67
- e.preventDefault();
68
- if (!this.isStreaming && !this.processingFiles && (this.value.trim() || this.attachments.length > 0)) {
69
- this.handleSend();
70
- }
71
- } else if (e.key === "Escape" && this.isStreaming) {
72
- e.preventDefault();
73
- this.onAbort?.();
74
- }
75
- };
76
-
77
- private handlePaste = async (e: ClipboardEvent) => {
78
- const items = e.clipboardData?.items;
79
- if (!items) return;
80
-
81
- const imageFiles: File[] = [];
82
-
83
- // Check for image items in clipboard
84
- for (let i = 0; i < items.length; i++) {
85
- const item = items[i];
86
- if (item.type.startsWith("image/")) {
87
- const file = item.getAsFile();
88
- if (file) {
89
- imageFiles.push(file);
90
- }
91
- }
92
- }
93
-
94
- // If we found images, process them
95
- if (imageFiles.length > 0) {
96
- e.preventDefault(); // Prevent default paste behavior
97
-
98
- if (imageFiles.length + this.attachments.length > this.maxFiles) {
99
- alert(`Maximum ${this.maxFiles} files allowed`);
100
- return;
101
- }
102
-
103
- this.processingFiles = true;
104
- const newAttachments: Attachment[] = [];
105
-
106
- for (const file of imageFiles) {
107
- try {
108
- if (file.size > this.maxFileSize) {
109
- alert(`Image exceeds maximum size of ${Math.round(this.maxFileSize / 1024 / 1024)}MB`);
110
- continue;
111
- }
112
-
113
- const attachment = await loadAttachment(file);
114
- newAttachments.push(attachment);
115
- } catch (error) {
116
- console.error("Error processing pasted image:", error);
117
- alert(`Failed to process pasted image: ${String(error)}`);
118
- }
119
- }
120
-
121
- this.attachments = [...this.attachments, ...newAttachments];
122
- this.onFilesChange?.(this.attachments);
123
- this.processingFiles = false;
124
- }
125
- };
126
-
127
- private handleSend = () => {
128
- this.onSend?.(this.value, this.attachments);
129
- };
130
-
131
- private handleAttachmentClick = () => {
132
- this.fileInputRef.value?.click();
133
- };
134
-
135
- private async handleFilesSelected(e: Event) {
136
- const input = e.target as HTMLInputElement;
137
- const files = Array.from(input.files || []);
138
- if (files.length === 0) return;
139
-
140
- if (files.length + this.attachments.length > this.maxFiles) {
141
- alert(`Maximum ${this.maxFiles} files allowed`);
142
- input.value = "";
143
- return;
144
- }
145
-
146
- this.processingFiles = true;
147
- const newAttachments: Attachment[] = [];
148
-
149
- for (const file of files) {
150
- try {
151
- if (file.size > this.maxFileSize) {
152
- alert(`${file.name} exceeds maximum size of ${Math.round(this.maxFileSize / 1024 / 1024)}MB`);
153
- continue;
154
- }
155
-
156
- const attachment = await loadAttachment(file);
157
- newAttachments.push(attachment);
158
- } catch (error) {
159
- console.error(`Error processing ${file.name}:`, error);
160
- alert(`Failed to process ${file.name}: ${String(error)}`);
161
- }
162
- }
163
-
164
- this.attachments = [...this.attachments, ...newAttachments];
165
- this.onFilesChange?.(this.attachments);
166
- this.processingFiles = false;
167
- input.value = ""; // Reset input
168
- }
169
-
170
- private removeFile(fileId: string) {
171
- this.attachments = this.attachments.filter((f) => f.id !== fileId);
172
- this.onFilesChange?.(this.attachments);
173
- }
174
-
175
- private handleDragOver = (e: DragEvent) => {
176
- e.preventDefault();
177
- e.stopPropagation();
178
- if (!this.isDragging) {
179
- this.isDragging = true;
180
- }
181
- };
182
-
183
- private handleDragLeave = (e: DragEvent) => {
184
- e.preventDefault();
185
- e.stopPropagation();
186
- // Only set isDragging to false if we're leaving the entire component
187
- const rect = (e.currentTarget as HTMLElement).getBoundingClientRect();
188
- const x = e.clientX;
189
- const y = e.clientY;
190
- if (x <= rect.left || x >= rect.right || y <= rect.top || y >= rect.bottom) {
191
- this.isDragging = false;
192
- }
193
- };
194
-
195
- private handleDrop = async (e: DragEvent) => {
196
- e.preventDefault();
197
- e.stopPropagation();
198
- this.isDragging = false;
199
-
200
- const files = Array.from(e.dataTransfer?.files || []);
201
- if (files.length === 0) return;
202
-
203
- if (files.length + this.attachments.length > this.maxFiles) {
204
- alert(`Maximum ${this.maxFiles} files allowed`);
205
- return;
206
- }
207
-
208
- this.processingFiles = true;
209
- const newAttachments: Attachment[] = [];
210
-
211
- for (const file of files) {
212
- try {
213
- if (file.size > this.maxFileSize) {
214
- alert(`${file.name} exceeds maximum size of ${Math.round(this.maxFileSize / 1024 / 1024)}MB`);
215
- continue;
216
- }
217
-
218
- const attachment = await loadAttachment(file);
219
- newAttachments.push(attachment);
220
- } catch (error) {
221
- console.error(`Error processing ${file.name}:`, error);
222
- alert(`Failed to process ${file.name}: ${String(error)}`);
223
- }
224
- }
225
-
226
- this.attachments = [...this.attachments, ...newAttachments];
227
- this.onFilesChange?.(this.attachments);
228
- this.processingFiles = false;
229
- };
230
-
231
- override firstUpdated() {
232
- const textarea = this.textareaRef.value;
233
- if (textarea) {
234
- textarea.focus();
235
- }
236
- }
237
-
238
- override render() {
239
- // Check if current model supports thinking/reasoning
240
- const model = this.currentModel;
241
- const supportsThinking = model?.reasoning === true; // Models with reasoning:true support thinking
242
-
243
- return html`
244
- <div
245
- class="bg-card rounded-xl border shadow-sm relative ${this.isDragging ? "border-primary border-2 bg-primary/5" : "border-border"}"
246
- @dragover=${this.handleDragOver}
247
- @dragleave=${this.handleDragLeave}
248
- @drop=${this.handleDrop}
249
- >
250
- <!-- Drag overlay -->
251
- ${
252
- this.isDragging
253
- ? html`
254
- <div class="absolute inset-0 bg-primary/10 rounded-xl pointer-events-none z-10 flex items-center justify-center">
255
- <div class="text-primary font-medium">${i18n("Drop files here")}</div>
256
- </div>
257
- `
258
- : ""
259
- }
260
-
261
- <!-- Attachments -->
262
- ${
263
- this.attachments.length > 0
264
- ? html`
265
- <div class="px-4 pt-3 pb-2 flex flex-wrap gap-2">
266
- ${this.attachments.map(
267
- (attachment) => html`
268
- <attachment-tile
269
- .attachment=${attachment}
270
- .showDelete=${true}
271
- .onDelete=${() => this.removeFile(attachment.id)}
272
- ></attachment-tile>
273
- `,
274
- )}
275
- </div>
276
- `
277
- : ""
278
- }
279
-
280
- <textarea
281
- class="w-full bg-transparent p-4 text-foreground placeholder-muted-foreground outline-none resize-none overflow-y-auto"
282
- placeholder=${i18n("Type a message...")}
283
- rows="1"
284
- style="max-height: 200px; field-sizing: content; min-height: 1lh; height: auto;"
285
- .value=${this.value}
286
- @input=${this.handleTextareaInput}
287
- @keydown=${this.handleKeyDown}
288
- @paste=${this.handlePaste}
289
- ${ref(this.textareaRef)}
290
- ></textarea>
291
-
292
- <!-- Hidden file input -->
293
- <input
294
- type="file"
295
- ${ref(this.fileInputRef)}
296
- @change=${this.handleFilesSelected}
297
- accept=${this.acceptedTypes}
298
- multiple
299
- style="display: none;"
300
- />
301
-
302
- <!-- Button Row -->
303
- <div class="px-2 pb-2 flex items-center justify-between">
304
- <!-- Left side - attachment and thinking selector -->
305
- <div class="flex gap-2 items-center">
306
- ${
307
- this.showAttachmentButton
308
- ? this.processingFiles
309
- ? html`
310
- <div class="h-8 w-8 flex items-center justify-center">
311
- ${icon(Loader2, "sm", "animate-spin text-muted-foreground")}
312
- </div>
313
- `
314
- : html`
315
- ${Button({
316
- variant: "ghost",
317
- size: "icon",
318
- className: "h-8 w-8",
319
- onClick: this.handleAttachmentClick,
320
- children: icon(Paperclip, "sm"),
321
- })}
322
- `
323
- : ""
324
- }
325
- ${
326
- supportsThinking && this.showThinkingSelector
327
- ? html`
328
- ${Select({
329
- value: this.thinkingLevel,
330
- placeholder: i18n("Off"),
331
- options: [
332
- { value: "off", label: i18n("Off"), icon: icon(Brain, "sm") },
333
- { value: "minimal", label: i18n("Minimal"), icon: icon(Brain, "sm") },
334
- { value: "low", label: i18n("Low"), icon: icon(Brain, "sm") },
335
- { value: "medium", label: i18n("Medium"), icon: icon(Brain, "sm") },
336
- { value: "high", label: i18n("High"), icon: icon(Brain, "sm") },
337
- ] as SelectOption[],
338
- onChange: (value: string) => {
339
- const level = value as "off" | "minimal" | "low" | "medium" | "high";
340
- this.thinkingLevel = level;
341
- this.onThinkingChange?.(level);
342
- },
343
- width: "80px",
344
- size: "sm",
345
- variant: "ghost",
346
- fitContent: true,
347
- })}
348
- `
349
- : ""
350
- }
351
- </div>
352
-
353
- <!-- Model selector and send on the right -->
354
- <div class="flex gap-2 items-center">
355
- ${
356
- this.showModelSelector && this.currentModel
357
- ? html`
358
- ${Button({
359
- variant: "ghost",
360
- size: "sm",
361
- onClick: () => {
362
- // Focus textarea before opening model selector so focus returns there
363
- this.textareaRef.value?.focus();
364
- // Wait for next frame to ensure focus takes effect before dialog captures it
365
- requestAnimationFrame(() => {
366
- this.onModelSelect?.();
367
- });
368
- },
369
- children: html`
370
- ${icon(Sparkles, "sm")}
371
- <span class="ml-1">${this.currentModel.id}</span>
372
- `,
373
- className: "h-8 text-xs truncate",
374
- })}
375
- `
376
- : ""
377
- }
378
- ${
379
- this.isStreaming
380
- ? html`
381
- ${Button({
382
- variant: "ghost",
383
- size: "icon",
384
- onClick: this.onAbort,
385
- children: icon(Square, "sm"),
386
- className: "h-8 w-8",
387
- })}
388
- `
389
- : html`
390
- ${Button({
391
- variant: "ghost",
392
- size: "icon",
393
- onClick: this.handleSend,
394
- disabled: (!this.value.trim() && this.attachments.length === 0) || this.processingFiles,
395
- children: html`<div style="transform: rotate(-45deg)">${icon(Send, "sm")}</div>`,
396
- className: "h-8 w-8",
397
- })}
398
- `
399
- }
400
- </div>
401
- </div>
402
- </div>
403
- `;
404
- }
405
- }
@@ -1,98 +0,0 @@
1
- import type { AgentMessage, AgentTool } from "@mariozechner/pi-agent-core";
2
- import type {
3
- AssistantMessage as AssistantMessageType,
4
- ToolResultMessage as ToolResultMessageType,
5
- } from "@mariozechner/pi-ai";
6
- import { html, LitElement, type TemplateResult } from "lit";
7
- import { property } from "lit/decorators.js";
8
- import { repeat } from "lit/directives/repeat.js";
9
- import { renderMessage } from "./message-renderer-registry.js";
10
-
11
- export class MessageList extends LitElement {
12
- @property({ type: Array }) messages: AgentMessage[] = [];
13
- @property({ type: Array }) tools: AgentTool[] = [];
14
- @property({ type: Object }) pendingToolCalls?: ReadonlySet<string>;
15
- @property({ type: Boolean }) isStreaming: boolean = false;
16
- @property({ attribute: false }) onCostClick?: () => void;
17
-
18
- protected override createRenderRoot(): HTMLElement | DocumentFragment {
19
- return this;
20
- }
21
-
22
- override connectedCallback(): void {
23
- super.connectedCallback();
24
- this.style.display = "block";
25
- }
26
-
27
- private buildRenderItems() {
28
- // Map tool results by call id for quick lookup
29
- const resultByCallId = new Map<string, ToolResultMessageType>();
30
- for (const message of this.messages) {
31
- if (message.role === "toolResult") {
32
- resultByCallId.set(message.toolCallId, message);
33
- }
34
- }
35
-
36
- const items: Array<{ key: string; template: TemplateResult }> = [];
37
- let index = 0;
38
- for (const msg of this.messages) {
39
- // Skip artifact messages - they're for session persistence only, not UI display
40
- if (msg.role === "artifact") {
41
- continue;
42
- }
43
-
44
- // Try custom renderer first
45
- const customTemplate = renderMessage(msg);
46
- if (customTemplate) {
47
- items.push({ key: `msg:${index}`, template: customTemplate });
48
- index++;
49
- continue;
50
- }
51
-
52
- // Fall back to built-in renderers
53
- if (msg.role === "user" || msg.role === "user-with-attachments") {
54
- items.push({
55
- key: `msg:${index}`,
56
- template: html`<user-message .message=${msg}></user-message>`,
57
- });
58
- index++;
59
- } else if (msg.role === "assistant") {
60
- const amsg = msg as AssistantMessageType;
61
- items.push({
62
- key: `msg:${index}`,
63
- template: html`<assistant-message
64
- .message=${amsg}
65
- .tools=${this.tools}
66
- .isStreaming=${false}
67
- .pendingToolCalls=${this.pendingToolCalls}
68
- .toolResultsById=${resultByCallId}
69
- .hideToolCalls=${false}
70
- .hidePendingToolCalls=${this.isStreaming}
71
- .onCostClick=${this.onCostClick}
72
- ></assistant-message>`,
73
- });
74
- index++;
75
- } else {
76
- // Skip standalone toolResult messages; they are rendered via paired tool-message above
77
- // Skip unknown roles
78
- }
79
- }
80
- return items;
81
- }
82
-
83
- override render() {
84
- const items = this.buildRenderItems();
85
- return html`<div class="flex flex-col gap-3">
86
- ${repeat(
87
- items,
88
- (it) => it.key,
89
- (it) => it.template,
90
- )}
91
- </div>`;
92
- }
93
- }
94
-
95
- // Register custom element
96
- if (!customElements.get("message-list")) {
97
- customElements.define("message-list", MessageList);
98
- }