@daniel156161/prism 0.2.100 → 0.2.105

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 (1248) hide show
  1. package/README.md +2 -2
  2. package/dist/pi/pi-env.d.ts +1 -1
  3. package/dist/pi/pi-env.js +1 -1
  4. package/dist/prism-extensions/integrations/ai-memory-system.js +16 -9
  5. package/dist/prism-extensions/integrations/ai-memory-system.js.map +1 -1
  6. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
  7. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +23 -25
  8. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  9. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts.map +1 -1
  10. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js +3 -1
  11. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js.map +1 -1
  12. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.d.ts +3 -2
  13. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.d.ts.map +1 -1
  14. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.js +13 -3
  15. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.js.map +1 -1
  16. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit.d.ts.map +1 -1
  17. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit.js +14 -1
  18. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit.js.map +1 -1
  19. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +3 -2
  20. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
  21. package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
  22. package/node_modules/@earendil-works/pi-agent-core/package.json +4 -4
  23. package/node_modules/@earendil-works/pi-ai/README.md +5 -3
  24. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts.map +1 -1
  25. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js +34 -19
  26. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js.map +1 -1
  27. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.d.ts +2 -0
  28. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.d.ts.map +1 -1
  29. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js +9 -2
  30. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js.map +1 -1
  31. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.d.ts.map +1 -1
  32. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js +131 -7
  33. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js.map +1 -1
  34. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.d.ts +2 -2
  35. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.d.ts.map +1 -1
  36. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js +17 -13
  37. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js.map +1 -1
  38. package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.d.ts +5 -2
  39. package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.d.ts.map +1 -1
  40. package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.js +16 -0
  41. package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.js.map +1 -1
  42. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.d.ts +2 -2
  43. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.d.ts.map +1 -1
  44. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js +15 -11
  45. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js.map +1 -1
  46. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.d.ts.map +1 -1
  47. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js +7 -2
  48. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js.map +1 -1
  49. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.d.ts.map +1 -1
  50. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js +4 -1
  51. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js.map +1 -1
  52. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts +3 -2
  53. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts.map +1 -1
  54. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +160 -86
  55. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -1
  56. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.d.ts.map +1 -1
  57. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js +6 -2
  58. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js.map +1 -1
  59. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.d.ts.map +1 -1
  60. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.js +1 -1
  61. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.js.map +1 -1
  62. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.d.ts +4 -0
  63. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.d.ts.map +1 -1
  64. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.js +17 -10
  65. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.js.map +1 -1
  66. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/device-code.d.ts +1 -0
  67. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/device-code.d.ts.map +1 -1
  68. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/device-code.js +1 -1
  69. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/device-code.js.map +1 -1
  70. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot.d.ts.map +1 -1
  71. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot.js +98 -34
  72. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot.js.map +1 -1
  73. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-coding.d.ts.map +1 -1
  74. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-coding.js +1 -14
  75. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-coding.js.map +1 -1
  76. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts +75 -0
  77. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts.map +1 -1
  78. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +75 -0
  79. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js.map +1 -1
  80. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts +1 -1
  81. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts.map +1 -1
  82. package/node_modules/@earendil-works/pi-ai/dist/index.js.map +1 -1
  83. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.d.ts +3 -1
  84. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.d.ts.map +1 -1
  85. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.js.map +1 -1
  86. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  87. package/node_modules/@earendil-works/pi-ai/dist/providers/data/amazon-bedrock.json +1 -1
  88. package/node_modules/@earendil-works/pi-ai/dist/providers/data/anthropic.json +1 -1
  89. package/node_modules/@earendil-works/pi-ai/dist/providers/data/azure-openai-responses.json +1 -1
  90. package/node_modules/@earendil-works/pi-ai/dist/providers/data/baseten.json +1 -1
  91. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cerebras.json +1 -1
  92. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-ai-gateway.json +1 -1
  93. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-workers-ai.json +1 -1
  94. package/node_modules/@earendil-works/pi-ai/dist/providers/data/deepseek.json +1 -1
  95. package/node_modules/@earendil-works/pi-ai/dist/providers/data/fireworks.json +1 -1
  96. package/node_modules/@earendil-works/pi-ai/dist/providers/data/github-copilot.json +1 -1
  97. package/node_modules/@earendil-works/pi-ai/dist/providers/data/google-vertex.json +1 -1
  98. package/node_modules/@earendil-works/pi-ai/dist/providers/data/google.json +1 -1
  99. package/node_modules/@earendil-works/pi-ai/dist/providers/data/huggingface.json +1 -1
  100. package/node_modules/@earendil-works/pi-ai/dist/providers/data/minimax-cn.json +1 -1
  101. package/node_modules/@earendil-works/pi-ai/dist/providers/data/minimax.json +1 -1
  102. package/node_modules/@earendil-works/pi-ai/dist/providers/data/mistral.json +1 -1
  103. package/node_modules/@earendil-works/pi-ai/dist/providers/data/nvidia.json +1 -1
  104. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai.json +1 -1
  105. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode-go.json +1 -1
  106. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode.json +1 -1
  107. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  108. package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan-cn.json +1 -1
  109. package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan-individual.json +1 -1
  110. package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan.json +1 -1
  111. package/node_modules/@earendil-works/pi-ai/dist/providers/data/together.json +1 -1
  112. package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
  113. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xai.json +1 -1
  114. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xiaomi-token-plan-ams.json +1 -1
  115. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xiaomi-token-plan-cn.json +1 -1
  116. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xiaomi-token-plan-sgp.json +1 -1
  117. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xiaomi.json +1 -1
  118. package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai-coding-cn.json +1 -1
  119. package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai.json +1 -1
  120. package/node_modules/@earendil-works/pi-ai/dist/providers/xai.d.ts +1 -1
  121. package/node_modules/@earendil-works/pi-ai/dist/providers/xai.d.ts.map +1 -1
  122. package/node_modules/@earendil-works/pi-ai/dist/providers/xai.js +1 -5
  123. package/node_modules/@earendil-works/pi-ai/dist/providers/xai.js.map +1 -1
  124. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +29 -4
  125. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  126. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  127. package/node_modules/@earendil-works/pi-ai/dist/utils/sleep.d.ts +2 -0
  128. package/node_modules/@earendil-works/pi-ai/dist/utils/sleep.d.ts.map +1 -0
  129. package/node_modules/@earendil-works/pi-ai/dist/utils/sleep.js +15 -0
  130. package/node_modules/@earendil-works/pi-ai/dist/utils/sleep.js.map +1 -0
  131. package/node_modules/@earendil-works/pi-ai/package.json +3 -4
  132. package/node_modules/@earendil-works/pi-client/CHANGELOG.md +4 -0
  133. package/node_modules/@earendil-works/pi-client/package.json +2 -2
  134. package/node_modules/@earendil-works/pi-coding-agent/CHANGELOG.md +127 -0
  135. package/node_modules/@earendil-works/pi-coding-agent/README.md +13 -8
  136. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/anthropic-messages-JWX2WP65.js +45 -0
  137. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/anthropic.js +75 -0
  138. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/azure-openai-responses-5ENVCQ7U.js +2 -0
  139. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/bedrock-converse-stream.js +74 -0
  140. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/chunk-2KVJKXS2.js +50 -0
  141. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/chunk-4L3WN2XY.js +2 -0
  142. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/chunk-6CYCI3EJ.js +12 -0
  143. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/chunk-6R7UI4IY.js +2 -0
  144. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/chunk-AXIIZGTV.js +2 -0
  145. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/chunk-DRQDKNXA.js +2 -0
  146. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/chunk-GMWCTUPB.js +2 -0
  147. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/chunk-JUUC5AZY.js +2 -0
  148. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/chunk-L2ZPNLYD.js +2 -0
  149. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/chunk-MNAIPA3J.js +2 -0
  150. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/chunk-NBBFIJUL.js +11 -0
  151. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/chunk-NUHFSC37.js +25 -0
  152. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/chunk-OMWWHBTG.js +1548 -0
  153. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/chunk-PGXDEOVV.js +2 -0
  154. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/chunk-PJACZCIR.js +2 -0
  155. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/chunk-PRRNXB7S.js +2 -0
  156. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/chunk-TEPMHNKQ.js +2 -0
  157. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/chunk-TRDNDS6A.js +4 -0
  158. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/chunk-UAQELI3K.js +2 -0
  159. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/chunk-XDUWOHPL.js +6 -0
  160. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/chunk-XNGRGP62.js +2 -0
  161. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/github-copilot.js +2 -0
  162. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/google-generative-ai-YMUPJBKR.js +2 -0
  163. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/google-vertex-MPWMV4OF.js +2 -0
  164. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/https-proxy-agent-2VXB7436.js +13 -0
  165. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/image-resize-worker.js +2 -0
  166. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/kimi-coding.js +2 -0
  167. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/lib-HGQMNYVT.js +9 -0
  168. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/mistral-conversations-Q3AWZJAZ.js +5 -0
  169. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/multipart-parser-SQ6GDJL7.js +3 -0
  170. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/openai-codex-responses-GJVBJXLB.js +8 -0
  171. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/openai-codex.js +75 -0
  172. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/openai-completions-ERMU2SS7.js +7 -0
  173. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/openai-responses-BSOJMSEV.js +2 -0
  174. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/openrouter-images-N4XVVFSD.js +2 -0
  175. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/openrouter.js +75 -0
  176. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/pi-messages-TPFH44NP.js +8 -0
  177. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/radius.js +75 -0
  178. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/src-UK77SYZE.js +4 -0
  179. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/xai.js +2 -0
  180. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/cli.js +3 -0
  181. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/client.js +2 -0
  182. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/index.js +2 -0
  183. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/rpc-entry.js +3 -0
  184. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.d.ts +1 -0
  185. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.d.ts.map +1 -1
  186. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.js +29 -9
  187. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.js.map +1 -1
  188. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/file-processor.d.ts.map +1 -1
  189. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/file-processor.js +2 -1
  190. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/file-processor.js.map +1 -1
  191. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/startup-ui.d.ts.map +1 -1
  192. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/startup-ui.js +2 -1
  193. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/startup-ui.js.map +1 -1
  194. package/node_modules/@earendil-works/pi-coding-agent/dist/config.d.ts +4 -3
  195. package/node_modules/@earendil-works/pi-coding-agent/dist/config.d.ts.map +1 -1
  196. package/node_modules/@earendil-works/pi-coding-agent/dist/config.js +22 -14
  197. package/node_modules/@earendil-works/pi-coding-agent/dist/config.js.map +1 -1
  198. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts +38 -8
  199. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
  200. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js +240 -104
  201. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js.map +1 -1
  202. package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.d.ts.map +1 -1
  203. package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.js +6 -7
  204. package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.js.map +1 -1
  205. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  206. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.js +7 -3
  207. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.js.map +1 -1
  208. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.d.ts +9 -3
  209. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.d.ts.map +1 -1
  210. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.js +59 -36
  211. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.js.map +1 -1
  212. package/node_modules/@earendil-works/pi-coding-agent/dist/core/defaults.d.ts +1 -0
  213. package/node_modules/@earendil-works/pi-coding-agent/dist/core/defaults.d.ts.map +1 -1
  214. package/node_modules/@earendil-works/pi-coding-agent/dist/core/defaults.js +9 -0
  215. package/node_modules/@earendil-works/pi-coding-agent/dist/core/defaults.js.map +1 -1
  216. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.d.ts +2 -2
  217. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.d.ts.map +1 -1
  218. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.js +1 -1
  219. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.js.map +1 -1
  220. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.d.ts.map +1 -1
  221. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.js +115 -48
  222. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.js.map +1 -1
  223. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts +5 -0
  224. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts.map +1 -1
  225. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js +45 -1
  226. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js.map +1 -1
  227. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts +56 -10
  228. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts.map +1 -1
  229. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.js +3 -0
  230. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.js.map +1 -1
  231. package/node_modules/@earendil-works/pi-coding-agent/dist/core/footer-data-provider.d.ts +1 -1
  232. package/node_modules/@earendil-works/pi-coding-agent/dist/core/footer-data-provider.d.ts.map +1 -1
  233. package/node_modules/@earendil-works/pi-coding-agent/dist/core/footer-data-provider.js +1 -1
  234. package/node_modules/@earendil-works/pi-coding-agent/dist/core/footer-data-provider.js.map +1 -1
  235. package/node_modules/@earendil-works/pi-coding-agent/dist/core/keybindings.d.ts +20 -19
  236. package/node_modules/@earendil-works/pi-coding-agent/dist/core/keybindings.d.ts.map +1 -1
  237. package/node_modules/@earendil-works/pi-coding-agent/dist/core/keybindings.js +26 -5
  238. package/node_modules/@earendil-works/pi-coding-agent/dist/core/keybindings.js.map +1 -1
  239. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-config.d.ts +5 -0
  240. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-config.d.ts.map +1 -1
  241. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-config.js +3 -1
  242. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-config.js.map +1 -1
  243. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.d.ts +1 -0
  244. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.d.ts.map +1 -1
  245. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.js +14 -8
  246. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.js.map +1 -1
  247. package/node_modules/@earendil-works/pi-coding-agent/dist/core/models-store.d.ts.map +1 -1
  248. package/node_modules/@earendil-works/pi-coding-agent/dist/core/models-store.js +2 -1
  249. package/node_modules/@earendil-works/pi-coding-agent/dist/core/models-store.js.map +1 -1
  250. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.d.ts.map +1 -1
  251. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js +22 -14
  252. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js.map +1 -1
  253. package/node_modules/@earendil-works/pi-coding-agent/dist/core/pi-manifest.d.ts.map +1 -1
  254. package/node_modules/@earendil-works/pi-coding-agent/dist/core/pi-manifest.js +2 -1
  255. package/node_modules/@earendil-works/pi-coding-agent/dist/core/pi-manifest.js.map +1 -1
  256. package/node_modules/@earendil-works/pi-coding-agent/dist/core/remote-catalog-provider.d.ts.map +1 -1
  257. package/node_modules/@earendil-works/pi-coding-agent/dist/core/remote-catalog-provider.js +2 -1
  258. package/node_modules/@earendil-works/pi-coding-agent/dist/core/remote-catalog-provider.js.map +1 -1
  259. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.d.ts.map +1 -1
  260. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.js +3 -2
  261. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.js.map +1 -1
  262. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.d.ts +2 -2
  263. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.d.ts.map +1 -1
  264. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js +10 -3
  265. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js.map +1 -1
  266. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-export.d.ts +4 -0
  267. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-export.d.ts.map +1 -0
  268. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-export.js +32 -0
  269. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-export.js.map +1 -0
  270. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.d.ts.map +1 -1
  271. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js +6 -3
  272. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js.map +1 -1
  273. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-diagnostics.d.ts +9 -0
  274. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-diagnostics.d.ts.map +1 -0
  275. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-diagnostics.js +21 -0
  276. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-diagnostics.js.map +1 -0
  277. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts +17 -1
  278. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts.map +1 -1
  279. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js +69 -10
  280. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js.map +1 -1
  281. package/node_modules/@earendil-works/pi-coding-agent/dist/core/skills.d.ts.map +1 -1
  282. package/node_modules/@earendil-works/pi-coding-agent/dist/core/skills.js +51 -33
  283. package/node_modules/@earendil-works/pi-coding-agent/dist/core/skills.js.map +1 -1
  284. package/node_modules/@earendil-works/pi-coding-agent/dist/core/slash-commands.d.ts.map +1 -1
  285. package/node_modules/@earendil-works/pi-coding-agent/dist/core/slash-commands.js +2 -1
  286. package/node_modules/@earendil-works/pi-coding-agent/dist/core/slash-commands.js.map +1 -1
  287. package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.d.ts.map +1 -1
  288. package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.js +11 -2
  289. package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.js.map +1 -1
  290. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.d.ts +14 -1
  291. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.d.ts.map +1 -1
  292. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js +36 -20
  293. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js.map +1 -1
  294. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit-diff.d.ts +0 -5
  295. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit-diff.d.ts.map +1 -1
  296. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit-diff.js +2 -5
  297. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit-diff.js.map +1 -1
  298. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.d.ts.map +1 -1
  299. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js +20 -4
  300. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js.map +1 -1
  301. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/index.d.ts +4 -1
  302. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/index.d.ts.map +1 -1
  303. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/index.js +18 -1
  304. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/index.js.map +1 -1
  305. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/powershell.d.ts +16 -0
  306. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/powershell.d.ts.map +1 -0
  307. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/powershell.js +39 -0
  308. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/powershell.js.map +1 -0
  309. package/node_modules/@earendil-works/pi-coding-agent/dist/core/trust-manager.d.ts.map +1 -1
  310. package/node_modules/@earendil-works/pi-coding-agent/dist/core/trust-manager.js +2 -1
  311. package/node_modules/@earendil-works/pi-coding-agent/dist/core/trust-manager.js.map +1 -1
  312. package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/client.d.ts +6 -0
  313. package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/client.d.ts.map +1 -1
  314. package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/client.js +7 -0
  315. package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/client.js.map +1 -1
  316. package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/index.d.ts.map +1 -1
  317. package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/index.js +2 -0
  318. package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/index.js.map +1 -1
  319. package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/provider.d.ts +3 -1
  320. package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/provider.d.ts.map +1 -1
  321. package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/provider.js +29 -4
  322. package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/provider.js.map +1 -1
  323. package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts +6 -5
  324. package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts.map +1 -1
  325. package/node_modules/@earendil-works/pi-coding-agent/dist/index.js +5 -4
  326. package/node_modules/@earendil-works/pi-coding-agent/dist/index.js.map +1 -1
  327. package/node_modules/@earendil-works/pi-coding-agent/dist/main.d.ts +4 -0
  328. package/node_modules/@earendil-works/pi-coding-agent/dist/main.d.ts.map +1 -1
  329. package/node_modules/@earendil-works/pi-coding-agent/dist/main.js +20 -15
  330. package/node_modules/@earendil-works/pi-coding-agent/dist/main.js.map +1 -1
  331. package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.d.ts.map +1 -1
  332. package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.js +4 -3
  333. package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.js.map +1 -1
  334. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/model-selector.d.ts +9 -3
  335. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  336. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/model-selector.js +56 -12
  337. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/model-selector.js.map +1 -1
  338. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts +9 -2
  339. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  340. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.js +128 -56
  341. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.js.map +1 -1
  342. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-submenu.d.ts +72 -0
  343. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -0
  344. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-submenu.js +165 -0
  345. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-submenu.js.map +1 -0
  346. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/thinking-selector.d.ts +15 -3
  347. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  348. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/thinking-selector.js +74 -17
  349. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  350. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/external-editor.d.ts.map +1 -1
  351. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/external-editor.js +2 -1
  352. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/external-editor.js.map +1 -1
  353. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +15 -0
  354. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  355. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js +230 -136
  356. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  357. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/session-share.d.ts +16 -0
  358. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/session-share.d.ts.map +1 -0
  359. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/session-share.js +188 -0
  360. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/session-share.js.map +1 -0
  361. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  362. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.js +4 -3
  363. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.js.map +1 -1
  364. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/json-event.d.ts +16 -13
  365. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/json-event.d.ts.map +1 -1
  366. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/json-event.js +20 -6
  367. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/json-event.js.map +1 -1
  368. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.d.ts +7 -0
  369. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  370. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.js +7 -0
  371. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.js.map +1 -1
  372. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  373. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js +3 -0
  374. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js.map +1 -1
  375. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.d.ts +12 -0
  376. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  377. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.js.map +1 -1
  378. package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.d.ts +1 -0
  379. package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.d.ts.map +1 -1
  380. package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.js +186 -2
  381. package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.js.map +1 -1
  382. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/frontmatter.d.ts.map +1 -1
  383. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/frontmatter.js +2 -1
  384. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/frontmatter.js.map +1 -1
  385. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/management-http.d.ts +5 -3
  386. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/management-http.d.ts.map +1 -1
  387. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/management-http.js +14 -10
  388. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/management-http.js.map +1 -1
  389. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/shell.d.ts +3 -0
  390. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/shell.d.ts.map +1 -1
  391. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/shell.js +23 -9
  392. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/shell.js.map +1 -1
  393. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/syntax-highlight.d.ts +1 -0
  394. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/syntax-highlight.d.ts.map +1 -1
  395. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/syntax-highlight.js +60 -1
  396. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/syntax-highlight.js.map +1 -1
  397. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/text.d.ts +8 -0
  398. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/text.d.ts.map +1 -0
  399. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/text.js +9 -0
  400. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/text.js.map +1 -0
  401. package/node_modules/@earendil-works/pi-coding-agent/docs/compaction.md +17 -0
  402. package/node_modules/@earendil-works/pi-coding-agent/docs/custom-provider.md +12 -9
  403. package/node_modules/@earendil-works/pi-coding-agent/docs/environment-variables.md +11 -8
  404. package/node_modules/@earendil-works/pi-coding-agent/docs/extensions.md +35 -7
  405. package/node_modules/@earendil-works/pi-coding-agent/docs/json.md +7 -2
  406. package/node_modules/@earendil-works/pi-coding-agent/docs/keybindings.md +9 -9
  407. package/node_modules/@earendil-works/pi-coding-agent/docs/llama-cpp.md +2 -0
  408. package/node_modules/@earendil-works/pi-coding-agent/docs/models.md +8 -2
  409. package/node_modules/@earendil-works/pi-coding-agent/docs/packages.md +2 -2
  410. package/node_modules/@earendil-works/pi-coding-agent/docs/quickstart.md +1 -1
  411. package/node_modules/@earendil-works/pi-coding-agent/docs/rpc.md +32 -3
  412. package/node_modules/@earendil-works/pi-coding-agent/docs/sdk.md +7 -2
  413. package/node_modules/@earendil-works/pi-coding-agent/docs/settings.md +23 -7
  414. package/node_modules/@earendil-works/pi-coding-agent/docs/skills.md +4 -3
  415. package/node_modules/@earendil-works/pi-coding-agent/docs/terminal-setup.md +23 -9
  416. package/node_modules/@earendil-works/pi-coding-agent/docs/usage.md +10 -5
  417. package/node_modules/@earendil-works/pi-coding-agent/docs/windows.md +24 -2
  418. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/border-status-editor.ts +1 -1
  419. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  420. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package.json +1 -1
  421. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  422. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/git-checkpoint.ts +2 -2
  423. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/gondolin/package-lock.json +2 -2
  424. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/gondolin/package.json +1 -1
  425. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/notify.ts +3 -1
  426. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package-lock.json +2 -2
  427. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package.json +1 -1
  428. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/subagent/README.md +1 -1
  429. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/subagent/index.ts +6 -1
  430. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/titlebar-spinner.ts +1 -1
  431. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package-lock.json +2 -2
  432. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package.json +1 -1
  433. package/node_modules/@earendil-works/pi-coding-agent/examples/rpc-extension-ui.ts +1 -1
  434. package/node_modules/@earendil-works/pi-coding-agent/examples/sdk/06-extensions.ts +1 -1
  435. package/node_modules/@earendil-works/pi-coding-agent/examples/sdk/README.md +1 -1
  436. package/node_modules/@earendil-works/pi-coding-agent/package.json +12 -14
  437. package/node_modules/@earendil-works/pi-protocol/package.json +1 -1
  438. package/node_modules/@earendil-works/pi-telemetry/package.json +2 -2
  439. package/node_modules/@earendil-works/pi-tui/README.md +1 -1
  440. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts +1 -0
  441. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts.map +1 -1
  442. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js +36 -3
  443. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js.map +1 -1
  444. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts.map +1 -1
  445. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js +9 -4
  446. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js.map +1 -1
  447. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.d.ts +8 -2
  448. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.d.ts.map +1 -1
  449. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.js +24 -4
  450. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.js.map +1 -1
  451. package/node_modules/@earendil-works/pi-tui/dist/components/text.d.ts.map +1 -1
  452. package/node_modules/@earendil-works/pi-tui/dist/components/text.js +5 -4
  453. package/node_modules/@earendil-works/pi-tui/dist/components/text.js.map +1 -1
  454. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +1 -1
  455. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -1
  456. package/node_modules/@earendil-works/pi-tui/dist/index.js +1 -1
  457. package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -1
  458. package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts +2 -2
  459. package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts.map +1 -1
  460. package/node_modules/@earendil-works/pi-tui/dist/keybindings.js +2 -2
  461. package/node_modules/@earendil-works/pi-tui/dist/keybindings.js.map +1 -1
  462. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.d.ts.map +1 -1
  463. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.js +2 -8
  464. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.js.map +1 -1
  465. package/node_modules/@earendil-works/pi-tui/dist/native-module-path.d.ts +7 -0
  466. package/node_modules/@earendil-works/pi-tui/dist/native-module-path.d.ts.map +1 -0
  467. package/node_modules/@earendil-works/pi-tui/dist/native-module-path.js +19 -0
  468. package/node_modules/@earendil-works/pi-tui/dist/native-module-path.js.map +1 -0
  469. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts +2 -0
  470. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts.map +1 -1
  471. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js +37 -2
  472. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js.map +1 -1
  473. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
  474. package/node_modules/@earendil-works/pi-tui/dist/terminal.js +4 -10
  475. package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
  476. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.d.ts +11 -0
  477. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.d.ts.map +1 -1
  478. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.js +63 -16
  479. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.js.map +1 -1
  480. package/node_modules/@earendil-works/pi-tui/dist/tui-main-screen.d.ts.map +1 -1
  481. package/node_modules/@earendil-works/pi-tui/dist/tui-main-screen.js +105 -45
  482. package/node_modules/@earendil-works/pi-tui/dist/tui-main-screen.js.map +1 -1
  483. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  484. package/node_modules/@types/node/README.md +1 -1
  485. package/node_modules/@types/node/buffer.buffer.d.ts +10 -5
  486. package/node_modules/@types/node/crypto.d.ts +2 -4
  487. package/node_modules/@types/node/dgram.d.ts +119 -4
  488. package/node_modules/@types/node/fs/promises.d.ts +61 -65
  489. package/node_modules/@types/node/fs.d.ts +86 -76
  490. package/node_modules/@types/node/http.d.ts +17 -1
  491. package/node_modules/@types/node/http2.d.ts +12 -4
  492. package/node_modules/@types/node/index.d.ts +1 -0
  493. package/node_modules/@types/node/inspector.d.ts +2 -1
  494. package/node_modules/@types/node/net.d.ts +108 -16
  495. package/node_modules/@types/node/package.json +2 -2
  496. package/node_modules/@types/node/process.d.ts +52 -0
  497. package/node_modules/@types/node/quic.d.ts +246 -38
  498. package/node_modules/@types/node/sqlite.d.ts +6 -2
  499. package/node_modules/@types/node/stream/iter.d.ts +4 -4
  500. package/node_modules/@types/node/test.d.ts +36 -0
  501. package/node_modules/@types/node/tls.d.ts +24 -0
  502. package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +5 -0
  503. package/node_modules/@types/node/ts5.6/index.d.ts +1 -0
  504. package/node_modules/@types/node/ts5.7/index.d.ts +1 -0
  505. package/node_modules/@types/node/tty.d.ts +4 -3
  506. package/node_modules/@types/node/vfs.d.ts +210 -0
  507. package/node_modules/@types/node/vm.d.ts +1 -1
  508. package/node_modules/brace-expansion/README.md +1 -2
  509. package/node_modules/brace-expansion/dist/commonjs/index.js +30 -4
  510. package/node_modules/brace-expansion/dist/commonjs/index.js.map +1 -1
  511. package/node_modules/brace-expansion/dist/esm/index.js +30 -4
  512. package/node_modules/brace-expansion/dist/esm/index.js.map +1 -1
  513. package/node_modules/brace-expansion/package.json +1 -1
  514. package/package.json +9 -9
  515. package/src/prism-extensions/integrations/ai-memory-system.ts +14 -9
  516. package/node_modules/@opentelemetry/api/LICENSE +0 -201
  517. package/node_modules/@opentelemetry/api/README.md +0 -116
  518. package/node_modules/@opentelemetry/api/build/esm/api/context.d.ts +0 -41
  519. package/node_modules/@opentelemetry/api/build/esm/api/context.js +0 -110
  520. package/node_modules/@opentelemetry/api/build/esm/api/context.js.map +0 -1
  521. package/node_modules/@opentelemetry/api/build/esm/api/diag.d.ts +0 -30
  522. package/node_modules/@opentelemetry/api/build/esm/api/diag.js +0 -121
  523. package/node_modules/@opentelemetry/api/build/esm/api/diag.js.map +0 -1
  524. package/node_modules/@opentelemetry/api/build/esm/api/metrics.d.ts +0 -28
  525. package/node_modules/@opentelemetry/api/build/esm/api/metrics.js +0 -60
  526. package/node_modules/@opentelemetry/api/build/esm/api/metrics.js.map +0 -1
  527. package/node_modules/@opentelemetry/api/build/esm/api/propagation.d.ts +0 -49
  528. package/node_modules/@opentelemetry/api/build/esm/api/propagation.js +0 -89
  529. package/node_modules/@opentelemetry/api/build/esm/api/propagation.js.map +0 -1
  530. package/node_modules/@opentelemetry/api/build/esm/api/trace.d.ts +0 -40
  531. package/node_modules/@opentelemetry/api/build/esm/api/trace.js +0 -77
  532. package/node_modules/@opentelemetry/api/build/esm/api/trace.js.map +0 -1
  533. package/node_modules/@opentelemetry/api/build/esm/baggage/context-helpers.d.ts +0 -29
  534. package/node_modules/@opentelemetry/api/build/esm/baggage/context-helpers.js +0 -56
  535. package/node_modules/@opentelemetry/api/build/esm/baggage/context-helpers.js.map +0 -1
  536. package/node_modules/@opentelemetry/api/build/esm/baggage/internal/baggage-impl.d.ts +0 -12
  537. package/node_modules/@opentelemetry/api/build/esm/baggage/internal/baggage-impl.js +0 -98
  538. package/node_modules/@opentelemetry/api/build/esm/baggage/internal/baggage-impl.js.map +0 -1
  539. package/node_modules/@opentelemetry/api/build/esm/baggage/internal/symbol.d.ts +0 -5
  540. package/node_modules/@opentelemetry/api/build/esm/baggage/internal/symbol.js +0 -20
  541. package/node_modules/@opentelemetry/api/build/esm/baggage/internal/symbol.js.map +0 -1
  542. package/node_modules/@opentelemetry/api/build/esm/baggage/types.d.ts +0 -60
  543. package/node_modules/@opentelemetry/api/build/esm/baggage/types.js +0 -17
  544. package/node_modules/@opentelemetry/api/build/esm/baggage/types.js.map +0 -1
  545. package/node_modules/@opentelemetry/api/build/esm/baggage/utils.d.ts +0 -15
  546. package/node_modules/@opentelemetry/api/build/esm/baggage/utils.js +0 -47
  547. package/node_modules/@opentelemetry/api/build/esm/baggage/utils.js.map +0 -1
  548. package/node_modules/@opentelemetry/api/build/esm/common/Attributes.d.ts +0 -15
  549. package/node_modules/@opentelemetry/api/build/esm/common/Attributes.js +0 -17
  550. package/node_modules/@opentelemetry/api/build/esm/common/Attributes.js.map +0 -1
  551. package/node_modules/@opentelemetry/api/build/esm/common/Exception.d.ts +0 -26
  552. package/node_modules/@opentelemetry/api/build/esm/common/Exception.js +0 -17
  553. package/node_modules/@opentelemetry/api/build/esm/common/Exception.js.map +0 -1
  554. package/node_modules/@opentelemetry/api/build/esm/common/Time.d.ts +0 -20
  555. package/node_modules/@opentelemetry/api/build/esm/common/Time.js +0 -2
  556. package/node_modules/@opentelemetry/api/build/esm/common/Time.js.map +0 -1
  557. package/node_modules/@opentelemetry/api/build/esm/context/NoopContextManager.d.ts +0 -9
  558. package/node_modules/@opentelemetry/api/build/esm/context/NoopContextManager.js +0 -67
  559. package/node_modules/@opentelemetry/api/build/esm/context/NoopContextManager.js.map +0 -1
  560. package/node_modules/@opentelemetry/api/build/esm/context/context.d.ts +0 -6
  561. package/node_modules/@opentelemetry/api/build/esm/context/context.js +0 -52
  562. package/node_modules/@opentelemetry/api/build/esm/context/context.js.map +0 -1
  563. package/node_modules/@opentelemetry/api/build/esm/context/types.d.ts +0 -52
  564. package/node_modules/@opentelemetry/api/build/esm/context/types.js +0 -17
  565. package/node_modules/@opentelemetry/api/build/esm/context/types.js.map +0 -1
  566. package/node_modules/@opentelemetry/api/build/esm/context-api.d.ts +0 -4
  567. package/node_modules/@opentelemetry/api/build/esm/context-api.js +0 -21
  568. package/node_modules/@opentelemetry/api/build/esm/context-api.js.map +0 -1
  569. package/node_modules/@opentelemetry/api/build/esm/diag/ComponentLogger.d.ts +0 -20
  570. package/node_modules/@opentelemetry/api/build/esm/diag/ComponentLogger.js +0 -102
  571. package/node_modules/@opentelemetry/api/build/esm/diag/ComponentLogger.js.map +0 -1
  572. package/node_modules/@opentelemetry/api/build/esm/diag/consoleLogger.d.ts +0 -38
  573. package/node_modules/@opentelemetry/api/build/esm/diag/consoleLogger.js +0 -59
  574. package/node_modules/@opentelemetry/api/build/esm/diag/consoleLogger.js.map +0 -1
  575. package/node_modules/@opentelemetry/api/build/esm/diag/internal/logLevelLogger.d.ts +0 -3
  576. package/node_modules/@opentelemetry/api/build/esm/diag/internal/logLevelLogger.js +0 -41
  577. package/node_modules/@opentelemetry/api/build/esm/diag/internal/logLevelLogger.js.map +0 -1
  578. package/node_modules/@opentelemetry/api/build/esm/diag/internal/noopLogger.d.ts +0 -8
  579. package/node_modules/@opentelemetry/api/build/esm/diag/internal/noopLogger.js +0 -31
  580. package/node_modules/@opentelemetry/api/build/esm/diag/internal/noopLogger.js.map +0 -1
  581. package/node_modules/@opentelemetry/api/build/esm/diag/types.d.ts +0 -100
  582. package/node_modules/@opentelemetry/api/build/esm/diag/types.js +0 -41
  583. package/node_modules/@opentelemetry/api/build/esm/diag/types.js.map +0 -1
  584. package/node_modules/@opentelemetry/api/build/esm/diag-api.d.ts +0 -9
  585. package/node_modules/@opentelemetry/api/build/esm/diag-api.js +0 -26
  586. package/node_modules/@opentelemetry/api/build/esm/diag-api.js.map +0 -1
  587. package/node_modules/@opentelemetry/api/build/esm/experimental/index.d.ts +0 -3
  588. package/node_modules/@opentelemetry/api/build/esm/experimental/index.js +0 -17
  589. package/node_modules/@opentelemetry/api/build/esm/experimental/index.js.map +0 -1
  590. package/node_modules/@opentelemetry/api/build/esm/experimental/trace/SugaredOptions.d.ts +0 -13
  591. package/node_modules/@opentelemetry/api/build/esm/experimental/trace/SugaredOptions.js +0 -17
  592. package/node_modules/@opentelemetry/api/build/esm/experimental/trace/SugaredOptions.js.map +0 -1
  593. package/node_modules/@opentelemetry/api/build/esm/experimental/trace/SugaredTracer.d.ts +0 -64
  594. package/node_modules/@opentelemetry/api/build/esm/experimental/trace/SugaredTracer.js +0 -92
  595. package/node_modules/@opentelemetry/api/build/esm/experimental/trace/SugaredTracer.js.map +0 -1
  596. package/node_modules/@opentelemetry/api/build/esm/index.d.ts +0 -54
  597. package/node_modules/@opentelemetry/api/build/esm/index.js +0 -53
  598. package/node_modules/@opentelemetry/api/build/esm/index.js.map +0 -1
  599. package/node_modules/@opentelemetry/api/build/esm/internal/global-utils.d.ts +0 -18
  600. package/node_modules/@opentelemetry/api/build/esm/internal/global-utils.js +0 -59
  601. package/node_modules/@opentelemetry/api/build/esm/internal/global-utils.js.map +0 -1
  602. package/node_modules/@opentelemetry/api/build/esm/internal/semver.d.ts +0 -34
  603. package/node_modules/@opentelemetry/api/build/esm/internal/semver.js +0 -118
  604. package/node_modules/@opentelemetry/api/build/esm/internal/semver.js.map +0 -1
  605. package/node_modules/@opentelemetry/api/build/esm/metrics/Meter.d.ts +0 -110
  606. package/node_modules/@opentelemetry/api/build/esm/metrics/Meter.js +0 -17
  607. package/node_modules/@opentelemetry/api/build/esm/metrics/Meter.js.map +0 -1
  608. package/node_modules/@opentelemetry/api/build/esm/metrics/MeterProvider.d.ts +0 -17
  609. package/node_modules/@opentelemetry/api/build/esm/metrics/MeterProvider.js +0 -17
  610. package/node_modules/@opentelemetry/api/build/esm/metrics/MeterProvider.js.map +0 -1
  611. package/node_modules/@opentelemetry/api/build/esm/metrics/Metric.d.ts +0 -115
  612. package/node_modules/@opentelemetry/api/build/esm/metrics/Metric.js +0 -22
  613. package/node_modules/@opentelemetry/api/build/esm/metrics/Metric.js.map +0 -1
  614. package/node_modules/@opentelemetry/api/build/esm/metrics/NoopMeter.d.ts +0 -82
  615. package/node_modules/@opentelemetry/api/build/esm/metrics/NoopMeter.js +0 -181
  616. package/node_modules/@opentelemetry/api/build/esm/metrics/NoopMeter.js.map +0 -1
  617. package/node_modules/@opentelemetry/api/build/esm/metrics/NoopMeterProvider.d.ts +0 -11
  618. package/node_modules/@opentelemetry/api/build/esm/metrics/NoopMeterProvider.js +0 -31
  619. package/node_modules/@opentelemetry/api/build/esm/metrics/NoopMeterProvider.js.map +0 -1
  620. package/node_modules/@opentelemetry/api/build/esm/metrics/ObservableResult.d.ts +0 -31
  621. package/node_modules/@opentelemetry/api/build/esm/metrics/ObservableResult.js +0 -17
  622. package/node_modules/@opentelemetry/api/build/esm/metrics/ObservableResult.js.map +0 -1
  623. package/node_modules/@opentelemetry/api/build/esm/metrics-api.d.ts +0 -4
  624. package/node_modules/@opentelemetry/api/build/esm/metrics-api.js +0 -21
  625. package/node_modules/@opentelemetry/api/build/esm/metrics-api.js.map +0 -1
  626. package/node_modules/@opentelemetry/api/build/esm/platform/browser/globalThis.d.ts +0 -10
  627. package/node_modules/@opentelemetry/api/build/esm/platform/browser/globalThis.js +0 -35
  628. package/node_modules/@opentelemetry/api/build/esm/platform/browser/globalThis.js.map +0 -1
  629. package/node_modules/@opentelemetry/api/build/esm/platform/browser/index.d.ts +0 -2
  630. package/node_modules/@opentelemetry/api/build/esm/platform/browser/index.js +0 -17
  631. package/node_modules/@opentelemetry/api/build/esm/platform/browser/index.js.map +0 -1
  632. package/node_modules/@opentelemetry/api/build/esm/platform/index.d.ts +0 -2
  633. package/node_modules/@opentelemetry/api/build/esm/platform/index.js +0 -17
  634. package/node_modules/@opentelemetry/api/build/esm/platform/index.js.map +0 -1
  635. package/node_modules/@opentelemetry/api/build/esm/platform/node/globalThis.d.ts +0 -3
  636. package/node_modules/@opentelemetry/api/build/esm/platform/node/globalThis.js +0 -19
  637. package/node_modules/@opentelemetry/api/build/esm/platform/node/globalThis.js.map +0 -1
  638. package/node_modules/@opentelemetry/api/build/esm/platform/node/index.d.ts +0 -2
  639. package/node_modules/@opentelemetry/api/build/esm/platform/node/index.js +0 -17
  640. package/node_modules/@opentelemetry/api/build/esm/platform/node/index.js.map +0 -1
  641. package/node_modules/@opentelemetry/api/build/esm/propagation/NoopTextMapPropagator.d.ts +0 -13
  642. package/node_modules/@opentelemetry/api/build/esm/propagation/NoopTextMapPropagator.js +0 -34
  643. package/node_modules/@opentelemetry/api/build/esm/propagation/NoopTextMapPropagator.js.map +0 -1
  644. package/node_modules/@opentelemetry/api/build/esm/propagation/TextMapPropagator.d.ts +0 -84
  645. package/node_modules/@opentelemetry/api/build/esm/propagation/TextMapPropagator.js +0 -38
  646. package/node_modules/@opentelemetry/api/build/esm/propagation/TextMapPropagator.js.map +0 -1
  647. package/node_modules/@opentelemetry/api/build/esm/propagation-api.d.ts +0 -4
  648. package/node_modules/@opentelemetry/api/build/esm/propagation-api.js +0 -21
  649. package/node_modules/@opentelemetry/api/build/esm/propagation-api.js.map +0 -1
  650. package/node_modules/@opentelemetry/api/build/esm/trace/NonRecordingSpan.d.ts +0 -28
  651. package/node_modules/@opentelemetry/api/build/esm/trace/NonRecordingSpan.js +0 -68
  652. package/node_modules/@opentelemetry/api/build/esm/trace/NonRecordingSpan.js.map +0 -1
  653. package/node_modules/@opentelemetry/api/build/esm/trace/NoopTracer.d.ts +0 -14
  654. package/node_modules/@opentelemetry/api/build/esm/trace/NoopTracer.js +0 -76
  655. package/node_modules/@opentelemetry/api/build/esm/trace/NoopTracer.js.map +0 -1
  656. package/node_modules/@opentelemetry/api/build/esm/trace/NoopTracerProvider.d.ts +0 -13
  657. package/node_modules/@opentelemetry/api/build/esm/trace/NoopTracerProvider.js +0 -32
  658. package/node_modules/@opentelemetry/api/build/esm/trace/NoopTracerProvider.js.map +0 -1
  659. package/node_modules/@opentelemetry/api/build/esm/trace/ProxyTracer.d.ts +0 -27
  660. package/node_modules/@opentelemetry/api/build/esm/trace/ProxyTracer.js +0 -53
  661. package/node_modules/@opentelemetry/api/build/esm/trace/ProxyTracer.js.map +0 -1
  662. package/node_modules/@opentelemetry/api/build/esm/trace/ProxyTracerProvider.d.ts +0 -25
  663. package/node_modules/@opentelemetry/api/build/esm/trace/ProxyTracerProvider.js +0 -54
  664. package/node_modules/@opentelemetry/api/build/esm/trace/ProxyTracerProvider.js.map +0 -1
  665. package/node_modules/@opentelemetry/api/build/esm/trace/Sampler.d.ts +0 -31
  666. package/node_modules/@opentelemetry/api/build/esm/trace/Sampler.js +0 -17
  667. package/node_modules/@opentelemetry/api/build/esm/trace/Sampler.js.map +0 -1
  668. package/node_modules/@opentelemetry/api/build/esm/trace/SamplingResult.d.ts +0 -49
  669. package/node_modules/@opentelemetry/api/build/esm/trace/SamplingResult.js +0 -39
  670. package/node_modules/@opentelemetry/api/build/esm/trace/SamplingResult.js.map +0 -1
  671. package/node_modules/@opentelemetry/api/build/esm/trace/SpanOptions.d.ts +0 -23
  672. package/node_modules/@opentelemetry/api/build/esm/trace/SpanOptions.js +0 -17
  673. package/node_modules/@opentelemetry/api/build/esm/trace/SpanOptions.js.map +0 -1
  674. package/node_modules/@opentelemetry/api/build/esm/trace/attributes.d.ts +0 -10
  675. package/node_modules/@opentelemetry/api/build/esm/trace/attributes.js +0 -17
  676. package/node_modules/@opentelemetry/api/build/esm/trace/attributes.js.map +0 -1
  677. package/node_modules/@opentelemetry/api/build/esm/trace/context-utils.d.ts +0 -41
  678. package/node_modules/@opentelemetry/api/build/esm/trace/context-utils.js +0 -73
  679. package/node_modules/@opentelemetry/api/build/esm/trace/context-utils.js.map +0 -1
  680. package/node_modules/@opentelemetry/api/build/esm/trace/internal/tracestate-impl.d.ts +0 -22
  681. package/node_modules/@opentelemetry/api/build/esm/trace/internal/tracestate-impl.js +0 -102
  682. package/node_modules/@opentelemetry/api/build/esm/trace/internal/tracestate-impl.js.map +0 -1
  683. package/node_modules/@opentelemetry/api/build/esm/trace/internal/tracestate-validators.d.ts +0 -15
  684. package/node_modules/@opentelemetry/api/build/esm/trace/internal/tracestate-validators.js +0 -41
  685. package/node_modules/@opentelemetry/api/build/esm/trace/internal/tracestate-validators.js.map +0 -1
  686. package/node_modules/@opentelemetry/api/build/esm/trace/internal/utils.d.ts +0 -3
  687. package/node_modules/@opentelemetry/api/build/esm/trace/internal/utils.js +0 -20
  688. package/node_modules/@opentelemetry/api/build/esm/trace/internal/utils.js.map +0 -1
  689. package/node_modules/@opentelemetry/api/build/esm/trace/invalid-span-constants.d.ts +0 -5
  690. package/node_modules/@opentelemetry/api/build/esm/trace/invalid-span-constants.js +0 -24
  691. package/node_modules/@opentelemetry/api/build/esm/trace/invalid-span-constants.js.map +0 -1
  692. package/node_modules/@opentelemetry/api/build/esm/trace/link.d.ts +0 -26
  693. package/node_modules/@opentelemetry/api/build/esm/trace/link.js +0 -17
  694. package/node_modules/@opentelemetry/api/build/esm/trace/link.js.map +0 -1
  695. package/node_modules/@opentelemetry/api/build/esm/trace/span.d.ts +0 -120
  696. package/node_modules/@opentelemetry/api/build/esm/trace/span.js +0 -17
  697. package/node_modules/@opentelemetry/api/build/esm/trace/span.js.map +0 -1
  698. package/node_modules/@opentelemetry/api/build/esm/trace/span_context.d.ts +0 -53
  699. package/node_modules/@opentelemetry/api/build/esm/trace/span_context.js +0 -17
  700. package/node_modules/@opentelemetry/api/build/esm/trace/span_context.js.map +0 -1
  701. package/node_modules/@opentelemetry/api/build/esm/trace/span_kind.d.ts +0 -27
  702. package/node_modules/@opentelemetry/api/build/esm/trace/span_kind.js +0 -43
  703. package/node_modules/@opentelemetry/api/build/esm/trace/span_kind.js.map +0 -1
  704. package/node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.d.ts +0 -17
  705. package/node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.js +0 -42
  706. package/node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.js.map +0 -1
  707. package/node_modules/@opentelemetry/api/build/esm/trace/status.d.ts +0 -25
  708. package/node_modules/@opentelemetry/api/build/esm/trace/status.js +0 -20
  709. package/node_modules/@opentelemetry/api/build/esm/trace/status.js.map +0 -1
  710. package/node_modules/@opentelemetry/api/build/esm/trace/trace_flags.d.ts +0 -7
  711. package/node_modules/@opentelemetry/api/build/esm/trace/trace_flags.js +0 -23
  712. package/node_modules/@opentelemetry/api/build/esm/trace/trace_flags.js.map +0 -1
  713. package/node_modules/@opentelemetry/api/build/esm/trace/trace_state.d.ts +0 -38
  714. package/node_modules/@opentelemetry/api/build/esm/trace/trace_state.js +0 -17
  715. package/node_modules/@opentelemetry/api/build/esm/trace/trace_state.js.map +0 -1
  716. package/node_modules/@opentelemetry/api/build/esm/trace/tracer.d.ts +0 -71
  717. package/node_modules/@opentelemetry/api/build/esm/trace/tracer.js +0 -17
  718. package/node_modules/@opentelemetry/api/build/esm/trace/tracer.js.map +0 -1
  719. package/node_modules/@opentelemetry/api/build/esm/trace/tracer_options.d.ts +0 -10
  720. package/node_modules/@opentelemetry/api/build/esm/trace/tracer_options.js +0 -17
  721. package/node_modules/@opentelemetry/api/build/esm/trace/tracer_options.js.map +0 -1
  722. package/node_modules/@opentelemetry/api/build/esm/trace/tracer_provider.d.ts +0 -21
  723. package/node_modules/@opentelemetry/api/build/esm/trace/tracer_provider.js +0 -17
  724. package/node_modules/@opentelemetry/api/build/esm/trace/tracer_provider.js.map +0 -1
  725. package/node_modules/@opentelemetry/api/build/esm/trace-api.d.ts +0 -4
  726. package/node_modules/@opentelemetry/api/build/esm/trace-api.js +0 -21
  727. package/node_modules/@opentelemetry/api/build/esm/trace-api.js.map +0 -1
  728. package/node_modules/@opentelemetry/api/build/esm/version.d.ts +0 -2
  729. package/node_modules/@opentelemetry/api/build/esm/version.js +0 -18
  730. package/node_modules/@opentelemetry/api/build/esm/version.js.map +0 -1
  731. package/node_modules/@opentelemetry/api/build/esnext/api/context.d.ts +0 -41
  732. package/node_modules/@opentelemetry/api/build/esnext/api/context.js +0 -77
  733. package/node_modules/@opentelemetry/api/build/esnext/api/context.js.map +0 -1
  734. package/node_modules/@opentelemetry/api/build/esnext/api/diag.d.ts +0 -30
  735. package/node_modules/@opentelemetry/api/build/esnext/api/diag.js +0 -89
  736. package/node_modules/@opentelemetry/api/build/esnext/api/diag.js.map +0 -1
  737. package/node_modules/@opentelemetry/api/build/esnext/api/metrics.d.ts +0 -28
  738. package/node_modules/@opentelemetry/api/build/esnext/api/metrics.js +0 -57
  739. package/node_modules/@opentelemetry/api/build/esnext/api/metrics.js.map +0 -1
  740. package/node_modules/@opentelemetry/api/build/esnext/api/propagation.d.ts +0 -49
  741. package/node_modules/@opentelemetry/api/build/esnext/api/propagation.js +0 -85
  742. package/node_modules/@opentelemetry/api/build/esnext/api/propagation.js.map +0 -1
  743. package/node_modules/@opentelemetry/api/build/esnext/api/trace.d.ts +0 -40
  744. package/node_modules/@opentelemetry/api/build/esnext/api/trace.js +0 -75
  745. package/node_modules/@opentelemetry/api/build/esnext/api/trace.js.map +0 -1
  746. package/node_modules/@opentelemetry/api/build/esnext/baggage/context-helpers.d.ts +0 -29
  747. package/node_modules/@opentelemetry/api/build/esnext/baggage/context-helpers.js +0 -56
  748. package/node_modules/@opentelemetry/api/build/esnext/baggage/context-helpers.js.map +0 -1
  749. package/node_modules/@opentelemetry/api/build/esnext/baggage/internal/baggage-impl.d.ts +0 -12
  750. package/node_modules/@opentelemetry/api/build/esnext/baggage/internal/baggage-impl.js +0 -51
  751. package/node_modules/@opentelemetry/api/build/esnext/baggage/internal/baggage-impl.js.map +0 -1
  752. package/node_modules/@opentelemetry/api/build/esnext/baggage/internal/symbol.d.ts +0 -5
  753. package/node_modules/@opentelemetry/api/build/esnext/baggage/internal/symbol.js +0 -20
  754. package/node_modules/@opentelemetry/api/build/esnext/baggage/internal/symbol.js.map +0 -1
  755. package/node_modules/@opentelemetry/api/build/esnext/baggage/types.d.ts +0 -60
  756. package/node_modules/@opentelemetry/api/build/esnext/baggage/types.js +0 -17
  757. package/node_modules/@opentelemetry/api/build/esnext/baggage/types.js.map +0 -1
  758. package/node_modules/@opentelemetry/api/build/esnext/baggage/utils.d.ts +0 -15
  759. package/node_modules/@opentelemetry/api/build/esnext/baggage/utils.js +0 -46
  760. package/node_modules/@opentelemetry/api/build/esnext/baggage/utils.js.map +0 -1
  761. package/node_modules/@opentelemetry/api/build/esnext/common/Attributes.d.ts +0 -15
  762. package/node_modules/@opentelemetry/api/build/esnext/common/Attributes.js +0 -17
  763. package/node_modules/@opentelemetry/api/build/esnext/common/Attributes.js.map +0 -1
  764. package/node_modules/@opentelemetry/api/build/esnext/common/Exception.d.ts +0 -26
  765. package/node_modules/@opentelemetry/api/build/esnext/common/Exception.js +0 -17
  766. package/node_modules/@opentelemetry/api/build/esnext/common/Exception.js.map +0 -1
  767. package/node_modules/@opentelemetry/api/build/esnext/common/Time.d.ts +0 -20
  768. package/node_modules/@opentelemetry/api/build/esnext/common/Time.js +0 -2
  769. package/node_modules/@opentelemetry/api/build/esnext/common/Time.js.map +0 -1
  770. package/node_modules/@opentelemetry/api/build/esnext/context/NoopContextManager.d.ts +0 -9
  771. package/node_modules/@opentelemetry/api/build/esnext/context/NoopContextManager.js +0 -34
  772. package/node_modules/@opentelemetry/api/build/esnext/context/NoopContextManager.js.map +0 -1
  773. package/node_modules/@opentelemetry/api/build/esnext/context/context.d.ts +0 -6
  774. package/node_modules/@opentelemetry/api/build/esnext/context/context.js +0 -51
  775. package/node_modules/@opentelemetry/api/build/esnext/context/context.js.map +0 -1
  776. package/node_modules/@opentelemetry/api/build/esnext/context/types.d.ts +0 -52
  777. package/node_modules/@opentelemetry/api/build/esnext/context/types.js +0 -17
  778. package/node_modules/@opentelemetry/api/build/esnext/context/types.js.map +0 -1
  779. package/node_modules/@opentelemetry/api/build/esnext/context-api.d.ts +0 -4
  780. package/node_modules/@opentelemetry/api/build/esnext/context-api.js +0 -21
  781. package/node_modules/@opentelemetry/api/build/esnext/context-api.js.map +0 -1
  782. package/node_modules/@opentelemetry/api/build/esnext/diag/ComponentLogger.d.ts +0 -20
  783. package/node_modules/@opentelemetry/api/build/esnext/diag/ComponentLogger.js +0 -55
  784. package/node_modules/@opentelemetry/api/build/esnext/diag/ComponentLogger.js.map +0 -1
  785. package/node_modules/@opentelemetry/api/build/esnext/diag/consoleLogger.d.ts +0 -38
  786. package/node_modules/@opentelemetry/api/build/esnext/diag/consoleLogger.js +0 -53
  787. package/node_modules/@opentelemetry/api/build/esnext/diag/consoleLogger.js.map +0 -1
  788. package/node_modules/@opentelemetry/api/build/esnext/diag/internal/logLevelLogger.d.ts +0 -3
  789. package/node_modules/@opentelemetry/api/build/esnext/diag/internal/logLevelLogger.js +0 -41
  790. package/node_modules/@opentelemetry/api/build/esnext/diag/internal/logLevelLogger.js.map +0 -1
  791. package/node_modules/@opentelemetry/api/build/esnext/diag/internal/noopLogger.d.ts +0 -8
  792. package/node_modules/@opentelemetry/api/build/esnext/diag/internal/noopLogger.js +0 -31
  793. package/node_modules/@opentelemetry/api/build/esnext/diag/internal/noopLogger.js.map +0 -1
  794. package/node_modules/@opentelemetry/api/build/esnext/diag/types.d.ts +0 -100
  795. package/node_modules/@opentelemetry/api/build/esnext/diag/types.js +0 -41
  796. package/node_modules/@opentelemetry/api/build/esnext/diag/types.js.map +0 -1
  797. package/node_modules/@opentelemetry/api/build/esnext/diag-api.d.ts +0 -9
  798. package/node_modules/@opentelemetry/api/build/esnext/diag-api.js +0 -26
  799. package/node_modules/@opentelemetry/api/build/esnext/diag-api.js.map +0 -1
  800. package/node_modules/@opentelemetry/api/build/esnext/experimental/index.d.ts +0 -3
  801. package/node_modules/@opentelemetry/api/build/esnext/experimental/index.js +0 -17
  802. package/node_modules/@opentelemetry/api/build/esnext/experimental/index.js.map +0 -1
  803. package/node_modules/@opentelemetry/api/build/esnext/experimental/trace/SugaredOptions.d.ts +0 -13
  804. package/node_modules/@opentelemetry/api/build/esnext/experimental/trace/SugaredOptions.js +0 -17
  805. package/node_modules/@opentelemetry/api/build/esnext/experimental/trace/SugaredOptions.js.map +0 -1
  806. package/node_modules/@opentelemetry/api/build/esnext/experimental/trace/SugaredTracer.d.ts +0 -64
  807. package/node_modules/@opentelemetry/api/build/esnext/experimental/trace/SugaredTracer.js +0 -88
  808. package/node_modules/@opentelemetry/api/build/esnext/experimental/trace/SugaredTracer.js.map +0 -1
  809. package/node_modules/@opentelemetry/api/build/esnext/index.d.ts +0 -54
  810. package/node_modules/@opentelemetry/api/build/esnext/index.js +0 -53
  811. package/node_modules/@opentelemetry/api/build/esnext/index.js.map +0 -1
  812. package/node_modules/@opentelemetry/api/build/esnext/internal/global-utils.d.ts +0 -18
  813. package/node_modules/@opentelemetry/api/build/esnext/internal/global-utils.js +0 -58
  814. package/node_modules/@opentelemetry/api/build/esnext/internal/global-utils.js.map +0 -1
  815. package/node_modules/@opentelemetry/api/build/esnext/internal/semver.d.ts +0 -34
  816. package/node_modules/@opentelemetry/api/build/esnext/internal/semver.js +0 -118
  817. package/node_modules/@opentelemetry/api/build/esnext/internal/semver.js.map +0 -1
  818. package/node_modules/@opentelemetry/api/build/esnext/metrics/Meter.d.ts +0 -110
  819. package/node_modules/@opentelemetry/api/build/esnext/metrics/Meter.js +0 -17
  820. package/node_modules/@opentelemetry/api/build/esnext/metrics/Meter.js.map +0 -1
  821. package/node_modules/@opentelemetry/api/build/esnext/metrics/MeterProvider.d.ts +0 -17
  822. package/node_modules/@opentelemetry/api/build/esnext/metrics/MeterProvider.js +0 -17
  823. package/node_modules/@opentelemetry/api/build/esnext/metrics/MeterProvider.js.map +0 -1
  824. package/node_modules/@opentelemetry/api/build/esnext/metrics/Metric.d.ts +0 -115
  825. package/node_modules/@opentelemetry/api/build/esnext/metrics/Metric.js +0 -22
  826. package/node_modules/@opentelemetry/api/build/esnext/metrics/Metric.js.map +0 -1
  827. package/node_modules/@opentelemetry/api/build/esnext/metrics/NoopMeter.d.ts +0 -82
  828. package/node_modules/@opentelemetry/api/build/esnext/metrics/NoopMeter.js +0 -113
  829. package/node_modules/@opentelemetry/api/build/esnext/metrics/NoopMeter.js.map +0 -1
  830. package/node_modules/@opentelemetry/api/build/esnext/metrics/NoopMeterProvider.d.ts +0 -11
  831. package/node_modules/@opentelemetry/api/build/esnext/metrics/NoopMeterProvider.js +0 -27
  832. package/node_modules/@opentelemetry/api/build/esnext/metrics/NoopMeterProvider.js.map +0 -1
  833. package/node_modules/@opentelemetry/api/build/esnext/metrics/ObservableResult.d.ts +0 -31
  834. package/node_modules/@opentelemetry/api/build/esnext/metrics/ObservableResult.js +0 -17
  835. package/node_modules/@opentelemetry/api/build/esnext/metrics/ObservableResult.js.map +0 -1
  836. package/node_modules/@opentelemetry/api/build/esnext/metrics-api.d.ts +0 -4
  837. package/node_modules/@opentelemetry/api/build/esnext/metrics-api.js +0 -21
  838. package/node_modules/@opentelemetry/api/build/esnext/metrics-api.js.map +0 -1
  839. package/node_modules/@opentelemetry/api/build/esnext/platform/browser/globalThis.d.ts +0 -10
  840. package/node_modules/@opentelemetry/api/build/esnext/platform/browser/globalThis.js +0 -35
  841. package/node_modules/@opentelemetry/api/build/esnext/platform/browser/globalThis.js.map +0 -1
  842. package/node_modules/@opentelemetry/api/build/esnext/platform/browser/index.d.ts +0 -2
  843. package/node_modules/@opentelemetry/api/build/esnext/platform/browser/index.js +0 -17
  844. package/node_modules/@opentelemetry/api/build/esnext/platform/browser/index.js.map +0 -1
  845. package/node_modules/@opentelemetry/api/build/esnext/platform/index.d.ts +0 -2
  846. package/node_modules/@opentelemetry/api/build/esnext/platform/index.js +0 -17
  847. package/node_modules/@opentelemetry/api/build/esnext/platform/index.js.map +0 -1
  848. package/node_modules/@opentelemetry/api/build/esnext/platform/node/globalThis.d.ts +0 -3
  849. package/node_modules/@opentelemetry/api/build/esnext/platform/node/globalThis.js +0 -19
  850. package/node_modules/@opentelemetry/api/build/esnext/platform/node/globalThis.js.map +0 -1
  851. package/node_modules/@opentelemetry/api/build/esnext/platform/node/index.d.ts +0 -2
  852. package/node_modules/@opentelemetry/api/build/esnext/platform/node/index.js +0 -17
  853. package/node_modules/@opentelemetry/api/build/esnext/platform/node/index.js.map +0 -1
  854. package/node_modules/@opentelemetry/api/build/esnext/propagation/NoopTextMapPropagator.d.ts +0 -13
  855. package/node_modules/@opentelemetry/api/build/esnext/propagation/NoopTextMapPropagator.js +0 -30
  856. package/node_modules/@opentelemetry/api/build/esnext/propagation/NoopTextMapPropagator.js.map +0 -1
  857. package/node_modules/@opentelemetry/api/build/esnext/propagation/TextMapPropagator.d.ts +0 -84
  858. package/node_modules/@opentelemetry/api/build/esnext/propagation/TextMapPropagator.js +0 -38
  859. package/node_modules/@opentelemetry/api/build/esnext/propagation/TextMapPropagator.js.map +0 -1
  860. package/node_modules/@opentelemetry/api/build/esnext/propagation-api.d.ts +0 -4
  861. package/node_modules/@opentelemetry/api/build/esnext/propagation-api.js +0 -21
  862. package/node_modules/@opentelemetry/api/build/esnext/propagation-api.js.map +0 -1
  863. package/node_modules/@opentelemetry/api/build/esnext/trace/NonRecordingSpan.d.ts +0 -28
  864. package/node_modules/@opentelemetry/api/build/esnext/trace/NonRecordingSpan.js +0 -65
  865. package/node_modules/@opentelemetry/api/build/esnext/trace/NonRecordingSpan.js.map +0 -1
  866. package/node_modules/@opentelemetry/api/build/esnext/trace/NoopTracer.d.ts +0 -14
  867. package/node_modules/@opentelemetry/api/build/esnext/trace/NoopTracer.js +0 -71
  868. package/node_modules/@opentelemetry/api/build/esnext/trace/NoopTracer.js.map +0 -1
  869. package/node_modules/@opentelemetry/api/build/esnext/trace/NoopTracerProvider.d.ts +0 -13
  870. package/node_modules/@opentelemetry/api/build/esnext/trace/NoopTracerProvider.js +0 -28
  871. package/node_modules/@opentelemetry/api/build/esnext/trace/NoopTracerProvider.js.map +0 -1
  872. package/node_modules/@opentelemetry/api/build/esnext/trace/ProxyTracer.d.ts +0 -27
  873. package/node_modules/@opentelemetry/api/build/esnext/trace/ProxyTracer.js +0 -51
  874. package/node_modules/@opentelemetry/api/build/esnext/trace/ProxyTracer.js.map +0 -1
  875. package/node_modules/@opentelemetry/api/build/esnext/trace/ProxyTracerProvider.d.ts +0 -25
  876. package/node_modules/@opentelemetry/api/build/esnext/trace/ProxyTracerProvider.js +0 -50
  877. package/node_modules/@opentelemetry/api/build/esnext/trace/ProxyTracerProvider.js.map +0 -1
  878. package/node_modules/@opentelemetry/api/build/esnext/trace/Sampler.d.ts +0 -31
  879. package/node_modules/@opentelemetry/api/build/esnext/trace/Sampler.js +0 -17
  880. package/node_modules/@opentelemetry/api/build/esnext/trace/Sampler.js.map +0 -1
  881. package/node_modules/@opentelemetry/api/build/esnext/trace/SamplingResult.d.ts +0 -49
  882. package/node_modules/@opentelemetry/api/build/esnext/trace/SamplingResult.js +0 -39
  883. package/node_modules/@opentelemetry/api/build/esnext/trace/SamplingResult.js.map +0 -1
  884. package/node_modules/@opentelemetry/api/build/esnext/trace/SpanOptions.d.ts +0 -23
  885. package/node_modules/@opentelemetry/api/build/esnext/trace/SpanOptions.js +0 -17
  886. package/node_modules/@opentelemetry/api/build/esnext/trace/SpanOptions.js.map +0 -1
  887. package/node_modules/@opentelemetry/api/build/esnext/trace/attributes.d.ts +0 -10
  888. package/node_modules/@opentelemetry/api/build/esnext/trace/attributes.js +0 -17
  889. package/node_modules/@opentelemetry/api/build/esnext/trace/attributes.js.map +0 -1
  890. package/node_modules/@opentelemetry/api/build/esnext/trace/context-utils.d.ts +0 -41
  891. package/node_modules/@opentelemetry/api/build/esnext/trace/context-utils.js +0 -73
  892. package/node_modules/@opentelemetry/api/build/esnext/trace/context-utils.js.map +0 -1
  893. package/node_modules/@opentelemetry/api/build/esnext/trace/internal/tracestate-impl.d.ts +0 -22
  894. package/node_modules/@opentelemetry/api/build/esnext/trace/internal/tracestate-impl.js +0 -99
  895. package/node_modules/@opentelemetry/api/build/esnext/trace/internal/tracestate-impl.js.map +0 -1
  896. package/node_modules/@opentelemetry/api/build/esnext/trace/internal/tracestate-validators.d.ts +0 -15
  897. package/node_modules/@opentelemetry/api/build/esnext/trace/internal/tracestate-validators.js +0 -41
  898. package/node_modules/@opentelemetry/api/build/esnext/trace/internal/tracestate-validators.js.map +0 -1
  899. package/node_modules/@opentelemetry/api/build/esnext/trace/internal/utils.d.ts +0 -3
  900. package/node_modules/@opentelemetry/api/build/esnext/trace/internal/utils.js +0 -20
  901. package/node_modules/@opentelemetry/api/build/esnext/trace/internal/utils.js.map +0 -1
  902. package/node_modules/@opentelemetry/api/build/esnext/trace/invalid-span-constants.d.ts +0 -5
  903. package/node_modules/@opentelemetry/api/build/esnext/trace/invalid-span-constants.js +0 -24
  904. package/node_modules/@opentelemetry/api/build/esnext/trace/invalid-span-constants.js.map +0 -1
  905. package/node_modules/@opentelemetry/api/build/esnext/trace/link.d.ts +0 -26
  906. package/node_modules/@opentelemetry/api/build/esnext/trace/link.js +0 -17
  907. package/node_modules/@opentelemetry/api/build/esnext/trace/link.js.map +0 -1
  908. package/node_modules/@opentelemetry/api/build/esnext/trace/span.d.ts +0 -120
  909. package/node_modules/@opentelemetry/api/build/esnext/trace/span.js +0 -17
  910. package/node_modules/@opentelemetry/api/build/esnext/trace/span.js.map +0 -1
  911. package/node_modules/@opentelemetry/api/build/esnext/trace/span_context.d.ts +0 -53
  912. package/node_modules/@opentelemetry/api/build/esnext/trace/span_context.js +0 -17
  913. package/node_modules/@opentelemetry/api/build/esnext/trace/span_context.js.map +0 -1
  914. package/node_modules/@opentelemetry/api/build/esnext/trace/span_kind.d.ts +0 -27
  915. package/node_modules/@opentelemetry/api/build/esnext/trace/span_kind.js +0 -43
  916. package/node_modules/@opentelemetry/api/build/esnext/trace/span_kind.js.map +0 -1
  917. package/node_modules/@opentelemetry/api/build/esnext/trace/spancontext-utils.d.ts +0 -17
  918. package/node_modules/@opentelemetry/api/build/esnext/trace/spancontext-utils.js +0 -42
  919. package/node_modules/@opentelemetry/api/build/esnext/trace/spancontext-utils.js.map +0 -1
  920. package/node_modules/@opentelemetry/api/build/esnext/trace/status.d.ts +0 -25
  921. package/node_modules/@opentelemetry/api/build/esnext/trace/status.js +0 -20
  922. package/node_modules/@opentelemetry/api/build/esnext/trace/status.js.map +0 -1
  923. package/node_modules/@opentelemetry/api/build/esnext/trace/trace_flags.d.ts +0 -7
  924. package/node_modules/@opentelemetry/api/build/esnext/trace/trace_flags.js +0 -23
  925. package/node_modules/@opentelemetry/api/build/esnext/trace/trace_flags.js.map +0 -1
  926. package/node_modules/@opentelemetry/api/build/esnext/trace/trace_state.d.ts +0 -38
  927. package/node_modules/@opentelemetry/api/build/esnext/trace/trace_state.js +0 -17
  928. package/node_modules/@opentelemetry/api/build/esnext/trace/trace_state.js.map +0 -1
  929. package/node_modules/@opentelemetry/api/build/esnext/trace/tracer.d.ts +0 -71
  930. package/node_modules/@opentelemetry/api/build/esnext/trace/tracer.js +0 -17
  931. package/node_modules/@opentelemetry/api/build/esnext/trace/tracer.js.map +0 -1
  932. package/node_modules/@opentelemetry/api/build/esnext/trace/tracer_options.d.ts +0 -10
  933. package/node_modules/@opentelemetry/api/build/esnext/trace/tracer_options.js +0 -17
  934. package/node_modules/@opentelemetry/api/build/esnext/trace/tracer_options.js.map +0 -1
  935. package/node_modules/@opentelemetry/api/build/esnext/trace/tracer_provider.d.ts +0 -21
  936. package/node_modules/@opentelemetry/api/build/esnext/trace/tracer_provider.js +0 -17
  937. package/node_modules/@opentelemetry/api/build/esnext/trace/tracer_provider.js.map +0 -1
  938. package/node_modules/@opentelemetry/api/build/esnext/trace-api.d.ts +0 -4
  939. package/node_modules/@opentelemetry/api/build/esnext/trace-api.js +0 -21
  940. package/node_modules/@opentelemetry/api/build/esnext/trace-api.js.map +0 -1
  941. package/node_modules/@opentelemetry/api/build/esnext/version.d.ts +0 -2
  942. package/node_modules/@opentelemetry/api/build/esnext/version.js +0 -18
  943. package/node_modules/@opentelemetry/api/build/esnext/version.js.map +0 -1
  944. package/node_modules/@opentelemetry/api/build/src/api/context.d.ts +0 -41
  945. package/node_modules/@opentelemetry/api/build/src/api/context.js +0 -81
  946. package/node_modules/@opentelemetry/api/build/src/api/context.js.map +0 -1
  947. package/node_modules/@opentelemetry/api/build/src/api/diag.d.ts +0 -30
  948. package/node_modules/@opentelemetry/api/build/src/api/diag.js +0 -93
  949. package/node_modules/@opentelemetry/api/build/src/api/diag.js.map +0 -1
  950. package/node_modules/@opentelemetry/api/build/src/api/metrics.d.ts +0 -28
  951. package/node_modules/@opentelemetry/api/build/src/api/metrics.js +0 -61
  952. package/node_modules/@opentelemetry/api/build/src/api/metrics.js.map +0 -1
  953. package/node_modules/@opentelemetry/api/build/src/api/propagation.d.ts +0 -49
  954. package/node_modules/@opentelemetry/api/build/src/api/propagation.js +0 -89
  955. package/node_modules/@opentelemetry/api/build/src/api/propagation.js.map +0 -1
  956. package/node_modules/@opentelemetry/api/build/src/api/trace.d.ts +0 -40
  957. package/node_modules/@opentelemetry/api/build/src/api/trace.js +0 -79
  958. package/node_modules/@opentelemetry/api/build/src/api/trace.js.map +0 -1
  959. package/node_modules/@opentelemetry/api/build/src/baggage/context-helpers.d.ts +0 -29
  960. package/node_modules/@opentelemetry/api/build/src/baggage/context-helpers.js +0 -63
  961. package/node_modules/@opentelemetry/api/build/src/baggage/context-helpers.js.map +0 -1
  962. package/node_modules/@opentelemetry/api/build/src/baggage/internal/baggage-impl.d.ts +0 -12
  963. package/node_modules/@opentelemetry/api/build/src/baggage/internal/baggage-impl.js +0 -55
  964. package/node_modules/@opentelemetry/api/build/src/baggage/internal/baggage-impl.js.map +0 -1
  965. package/node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.d.ts +0 -5
  966. package/node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.js +0 -23
  967. package/node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.js.map +0 -1
  968. package/node_modules/@opentelemetry/api/build/src/baggage/types.d.ts +0 -60
  969. package/node_modules/@opentelemetry/api/build/src/baggage/types.js +0 -18
  970. package/node_modules/@opentelemetry/api/build/src/baggage/types.js.map +0 -1
  971. package/node_modules/@opentelemetry/api/build/src/baggage/utils.d.ts +0 -15
  972. package/node_modules/@opentelemetry/api/build/src/baggage/utils.js +0 -51
  973. package/node_modules/@opentelemetry/api/build/src/baggage/utils.js.map +0 -1
  974. package/node_modules/@opentelemetry/api/build/src/common/Attributes.d.ts +0 -15
  975. package/node_modules/@opentelemetry/api/build/src/common/Attributes.js +0 -18
  976. package/node_modules/@opentelemetry/api/build/src/common/Attributes.js.map +0 -1
  977. package/node_modules/@opentelemetry/api/build/src/common/Exception.d.ts +0 -26
  978. package/node_modules/@opentelemetry/api/build/src/common/Exception.js +0 -18
  979. package/node_modules/@opentelemetry/api/build/src/common/Exception.js.map +0 -1
  980. package/node_modules/@opentelemetry/api/build/src/common/Time.d.ts +0 -20
  981. package/node_modules/@opentelemetry/api/build/src/common/Time.js +0 -3
  982. package/node_modules/@opentelemetry/api/build/src/common/Time.js.map +0 -1
  983. package/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.d.ts +0 -9
  984. package/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js +0 -38
  985. package/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js.map +0 -1
  986. package/node_modules/@opentelemetry/api/build/src/context/context.d.ts +0 -6
  987. package/node_modules/@opentelemetry/api/build/src/context/context.js +0 -55
  988. package/node_modules/@opentelemetry/api/build/src/context/context.js.map +0 -1
  989. package/node_modules/@opentelemetry/api/build/src/context/types.d.ts +0 -52
  990. package/node_modules/@opentelemetry/api/build/src/context/types.js +0 -18
  991. package/node_modules/@opentelemetry/api/build/src/context/types.js.map +0 -1
  992. package/node_modules/@opentelemetry/api/build/src/context-api.d.ts +0 -4
  993. package/node_modules/@opentelemetry/api/build/src/context-api.js +0 -24
  994. package/node_modules/@opentelemetry/api/build/src/context-api.js.map +0 -1
  995. package/node_modules/@opentelemetry/api/build/src/diag/ComponentLogger.d.ts +0 -20
  996. package/node_modules/@opentelemetry/api/build/src/diag/ComponentLogger.js +0 -59
  997. package/node_modules/@opentelemetry/api/build/src/diag/ComponentLogger.js.map +0 -1
  998. package/node_modules/@opentelemetry/api/build/src/diag/consoleLogger.d.ts +0 -38
  999. package/node_modules/@opentelemetry/api/build/src/diag/consoleLogger.js +0 -57
  1000. package/node_modules/@opentelemetry/api/build/src/diag/consoleLogger.js.map +0 -1
  1001. package/node_modules/@opentelemetry/api/build/src/diag/internal/logLevelLogger.d.ts +0 -3
  1002. package/node_modules/@opentelemetry/api/build/src/diag/internal/logLevelLogger.js +0 -45
  1003. package/node_modules/@opentelemetry/api/build/src/diag/internal/logLevelLogger.js.map +0 -1
  1004. package/node_modules/@opentelemetry/api/build/src/diag/internal/noopLogger.d.ts +0 -8
  1005. package/node_modules/@opentelemetry/api/build/src/diag/internal/noopLogger.js +0 -35
  1006. package/node_modules/@opentelemetry/api/build/src/diag/internal/noopLogger.js.map +0 -1
  1007. package/node_modules/@opentelemetry/api/build/src/diag/types.d.ts +0 -100
  1008. package/node_modules/@opentelemetry/api/build/src/diag/types.js +0 -44
  1009. package/node_modules/@opentelemetry/api/build/src/diag/types.js.map +0 -1
  1010. package/node_modules/@opentelemetry/api/build/src/diag-api.d.ts +0 -9
  1011. package/node_modules/@opentelemetry/api/build/src/diag-api.js +0 -29
  1012. package/node_modules/@opentelemetry/api/build/src/diag-api.js.map +0 -1
  1013. package/node_modules/@opentelemetry/api/build/src/experimental/index.d.ts +0 -3
  1014. package/node_modules/@opentelemetry/api/build/src/experimental/index.js +0 -22
  1015. package/node_modules/@opentelemetry/api/build/src/experimental/index.js.map +0 -1
  1016. package/node_modules/@opentelemetry/api/build/src/experimental/trace/SugaredOptions.d.ts +0 -13
  1017. package/node_modules/@opentelemetry/api/build/src/experimental/trace/SugaredOptions.js +0 -18
  1018. package/node_modules/@opentelemetry/api/build/src/experimental/trace/SugaredOptions.js.map +0 -1
  1019. package/node_modules/@opentelemetry/api/build/src/experimental/trace/SugaredTracer.d.ts +0 -64
  1020. package/node_modules/@opentelemetry/api/build/src/experimental/trace/SugaredTracer.js +0 -93
  1021. package/node_modules/@opentelemetry/api/build/src/experimental/trace/SugaredTracer.js.map +0 -1
  1022. package/node_modules/@opentelemetry/api/build/src/index.d.ts +0 -54
  1023. package/node_modules/@opentelemetry/api/build/src/index.js +0 -81
  1024. package/node_modules/@opentelemetry/api/build/src/index.js.map +0 -1
  1025. package/node_modules/@opentelemetry/api/build/src/internal/global-utils.d.ts +0 -18
  1026. package/node_modules/@opentelemetry/api/build/src/internal/global-utils.js +0 -64
  1027. package/node_modules/@opentelemetry/api/build/src/internal/global-utils.js.map +0 -1
  1028. package/node_modules/@opentelemetry/api/build/src/internal/semver.d.ts +0 -34
  1029. package/node_modules/@opentelemetry/api/build/src/internal/semver.js +0 -122
  1030. package/node_modules/@opentelemetry/api/build/src/internal/semver.js.map +0 -1
  1031. package/node_modules/@opentelemetry/api/build/src/metrics/Meter.d.ts +0 -110
  1032. package/node_modules/@opentelemetry/api/build/src/metrics/Meter.js +0 -18
  1033. package/node_modules/@opentelemetry/api/build/src/metrics/Meter.js.map +0 -1
  1034. package/node_modules/@opentelemetry/api/build/src/metrics/MeterProvider.d.ts +0 -17
  1035. package/node_modules/@opentelemetry/api/build/src/metrics/MeterProvider.js +0 -18
  1036. package/node_modules/@opentelemetry/api/build/src/metrics/MeterProvider.js.map +0 -1
  1037. package/node_modules/@opentelemetry/api/build/src/metrics/Metric.d.ts +0 -115
  1038. package/node_modules/@opentelemetry/api/build/src/metrics/Metric.js +0 -25
  1039. package/node_modules/@opentelemetry/api/build/src/metrics/Metric.js.map +0 -1
  1040. package/node_modules/@opentelemetry/api/build/src/metrics/NoopMeter.d.ts +0 -82
  1041. package/node_modules/@opentelemetry/api/build/src/metrics/NoopMeter.js +0 -127
  1042. package/node_modules/@opentelemetry/api/build/src/metrics/NoopMeter.js.map +0 -1
  1043. package/node_modules/@opentelemetry/api/build/src/metrics/NoopMeterProvider.d.ts +0 -11
  1044. package/node_modules/@opentelemetry/api/build/src/metrics/NoopMeterProvider.js +0 -31
  1045. package/node_modules/@opentelemetry/api/build/src/metrics/NoopMeterProvider.js.map +0 -1
  1046. package/node_modules/@opentelemetry/api/build/src/metrics/ObservableResult.d.ts +0 -31
  1047. package/node_modules/@opentelemetry/api/build/src/metrics/ObservableResult.js +0 -18
  1048. package/node_modules/@opentelemetry/api/build/src/metrics/ObservableResult.js.map +0 -1
  1049. package/node_modules/@opentelemetry/api/build/src/metrics-api.d.ts +0 -4
  1050. package/node_modules/@opentelemetry/api/build/src/metrics-api.js +0 -24
  1051. package/node_modules/@opentelemetry/api/build/src/metrics-api.js.map +0 -1
  1052. package/node_modules/@opentelemetry/api/build/src/platform/browser/globalThis.d.ts +0 -10
  1053. package/node_modules/@opentelemetry/api/build/src/platform/browser/globalThis.js +0 -38
  1054. package/node_modules/@opentelemetry/api/build/src/platform/browser/globalThis.js.map +0 -1
  1055. package/node_modules/@opentelemetry/api/build/src/platform/browser/index.d.ts +0 -2
  1056. package/node_modules/@opentelemetry/api/build/src/platform/browser/index.js +0 -29
  1057. package/node_modules/@opentelemetry/api/build/src/platform/browser/index.js.map +0 -1
  1058. package/node_modules/@opentelemetry/api/build/src/platform/index.d.ts +0 -2
  1059. package/node_modules/@opentelemetry/api/build/src/platform/index.js +0 -29
  1060. package/node_modules/@opentelemetry/api/build/src/platform/index.js.map +0 -1
  1061. package/node_modules/@opentelemetry/api/build/src/platform/node/globalThis.d.ts +0 -3
  1062. package/node_modules/@opentelemetry/api/build/src/platform/node/globalThis.js +0 -22
  1063. package/node_modules/@opentelemetry/api/build/src/platform/node/globalThis.js.map +0 -1
  1064. package/node_modules/@opentelemetry/api/build/src/platform/node/index.d.ts +0 -2
  1065. package/node_modules/@opentelemetry/api/build/src/platform/node/index.js +0 -29
  1066. package/node_modules/@opentelemetry/api/build/src/platform/node/index.js.map +0 -1
  1067. package/node_modules/@opentelemetry/api/build/src/propagation/NoopTextMapPropagator.d.ts +0 -13
  1068. package/node_modules/@opentelemetry/api/build/src/propagation/NoopTextMapPropagator.js +0 -34
  1069. package/node_modules/@opentelemetry/api/build/src/propagation/NoopTextMapPropagator.js.map +0 -1
  1070. package/node_modules/@opentelemetry/api/build/src/propagation/TextMapPropagator.d.ts +0 -84
  1071. package/node_modules/@opentelemetry/api/build/src/propagation/TextMapPropagator.js +0 -41
  1072. package/node_modules/@opentelemetry/api/build/src/propagation/TextMapPropagator.js.map +0 -1
  1073. package/node_modules/@opentelemetry/api/build/src/propagation-api.d.ts +0 -4
  1074. package/node_modules/@opentelemetry/api/build/src/propagation-api.js +0 -24
  1075. package/node_modules/@opentelemetry/api/build/src/propagation-api.js.map +0 -1
  1076. package/node_modules/@opentelemetry/api/build/src/trace/NonRecordingSpan.d.ts +0 -28
  1077. package/node_modules/@opentelemetry/api/build/src/trace/NonRecordingSpan.js +0 -69
  1078. package/node_modules/@opentelemetry/api/build/src/trace/NonRecordingSpan.js.map +0 -1
  1079. package/node_modules/@opentelemetry/api/build/src/trace/NoopTracer.d.ts +0 -14
  1080. package/node_modules/@opentelemetry/api/build/src/trace/NoopTracer.js +0 -75
  1081. package/node_modules/@opentelemetry/api/build/src/trace/NoopTracer.js.map +0 -1
  1082. package/node_modules/@opentelemetry/api/build/src/trace/NoopTracerProvider.d.ts +0 -13
  1083. package/node_modules/@opentelemetry/api/build/src/trace/NoopTracerProvider.js +0 -32
  1084. package/node_modules/@opentelemetry/api/build/src/trace/NoopTracerProvider.js.map +0 -1
  1085. package/node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.d.ts +0 -27
  1086. package/node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.js +0 -55
  1087. package/node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.js.map +0 -1
  1088. package/node_modules/@opentelemetry/api/build/src/trace/ProxyTracerProvider.d.ts +0 -25
  1089. package/node_modules/@opentelemetry/api/build/src/trace/ProxyTracerProvider.js +0 -54
  1090. package/node_modules/@opentelemetry/api/build/src/trace/ProxyTracerProvider.js.map +0 -1
  1091. package/node_modules/@opentelemetry/api/build/src/trace/Sampler.d.ts +0 -31
  1092. package/node_modules/@opentelemetry/api/build/src/trace/Sampler.js +0 -18
  1093. package/node_modules/@opentelemetry/api/build/src/trace/Sampler.js.map +0 -1
  1094. package/node_modules/@opentelemetry/api/build/src/trace/SamplingResult.d.ts +0 -49
  1095. package/node_modules/@opentelemetry/api/build/src/trace/SamplingResult.js +0 -42
  1096. package/node_modules/@opentelemetry/api/build/src/trace/SamplingResult.js.map +0 -1
  1097. package/node_modules/@opentelemetry/api/build/src/trace/SpanOptions.d.ts +0 -23
  1098. package/node_modules/@opentelemetry/api/build/src/trace/SpanOptions.js +0 -18
  1099. package/node_modules/@opentelemetry/api/build/src/trace/SpanOptions.js.map +0 -1
  1100. package/node_modules/@opentelemetry/api/build/src/trace/attributes.d.ts +0 -10
  1101. package/node_modules/@opentelemetry/api/build/src/trace/attributes.js +0 -18
  1102. package/node_modules/@opentelemetry/api/build/src/trace/attributes.js.map +0 -1
  1103. package/node_modules/@opentelemetry/api/build/src/trace/context-utils.d.ts +0 -41
  1104. package/node_modules/@opentelemetry/api/build/src/trace/context-utils.js +0 -82
  1105. package/node_modules/@opentelemetry/api/build/src/trace/context-utils.js.map +0 -1
  1106. package/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-impl.d.ts +0 -22
  1107. package/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-impl.js +0 -103
  1108. package/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-impl.js.map +0 -1
  1109. package/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-validators.d.ts +0 -15
  1110. package/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-validators.js +0 -46
  1111. package/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-validators.js.map +0 -1
  1112. package/node_modules/@opentelemetry/api/build/src/trace/internal/utils.d.ts +0 -3
  1113. package/node_modules/@opentelemetry/api/build/src/trace/internal/utils.js +0 -24
  1114. package/node_modules/@opentelemetry/api/build/src/trace/internal/utils.js.map +0 -1
  1115. package/node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.d.ts +0 -5
  1116. package/node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.js +0 -27
  1117. package/node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.js.map +0 -1
  1118. package/node_modules/@opentelemetry/api/build/src/trace/link.d.ts +0 -26
  1119. package/node_modules/@opentelemetry/api/build/src/trace/link.js +0 -18
  1120. package/node_modules/@opentelemetry/api/build/src/trace/link.js.map +0 -1
  1121. package/node_modules/@opentelemetry/api/build/src/trace/span.d.ts +0 -120
  1122. package/node_modules/@opentelemetry/api/build/src/trace/span.js +0 -18
  1123. package/node_modules/@opentelemetry/api/build/src/trace/span.js.map +0 -1
  1124. package/node_modules/@opentelemetry/api/build/src/trace/span_context.d.ts +0 -53
  1125. package/node_modules/@opentelemetry/api/build/src/trace/span_context.js +0 -18
  1126. package/node_modules/@opentelemetry/api/build/src/trace/span_context.js.map +0 -1
  1127. package/node_modules/@opentelemetry/api/build/src/trace/span_kind.d.ts +0 -27
  1128. package/node_modules/@opentelemetry/api/build/src/trace/span_kind.js +0 -46
  1129. package/node_modules/@opentelemetry/api/build/src/trace/span_kind.js.map +0 -1
  1130. package/node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.d.ts +0 -17
  1131. package/node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.js +0 -49
  1132. package/node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.js.map +0 -1
  1133. package/node_modules/@opentelemetry/api/build/src/trace/status.d.ts +0 -25
  1134. package/node_modules/@opentelemetry/api/build/src/trace/status.js +0 -23
  1135. package/node_modules/@opentelemetry/api/build/src/trace/status.js.map +0 -1
  1136. package/node_modules/@opentelemetry/api/build/src/trace/trace_flags.d.ts +0 -7
  1137. package/node_modules/@opentelemetry/api/build/src/trace/trace_flags.js +0 -26
  1138. package/node_modules/@opentelemetry/api/build/src/trace/trace_flags.js.map +0 -1
  1139. package/node_modules/@opentelemetry/api/build/src/trace/trace_state.d.ts +0 -38
  1140. package/node_modules/@opentelemetry/api/build/src/trace/trace_state.js +0 -18
  1141. package/node_modules/@opentelemetry/api/build/src/trace/trace_state.js.map +0 -1
  1142. package/node_modules/@opentelemetry/api/build/src/trace/tracer.d.ts +0 -71
  1143. package/node_modules/@opentelemetry/api/build/src/trace/tracer.js +0 -18
  1144. package/node_modules/@opentelemetry/api/build/src/trace/tracer.js.map +0 -1
  1145. package/node_modules/@opentelemetry/api/build/src/trace/tracer_options.d.ts +0 -10
  1146. package/node_modules/@opentelemetry/api/build/src/trace/tracer_options.js +0 -18
  1147. package/node_modules/@opentelemetry/api/build/src/trace/tracer_options.js.map +0 -1
  1148. package/node_modules/@opentelemetry/api/build/src/trace/tracer_provider.d.ts +0 -21
  1149. package/node_modules/@opentelemetry/api/build/src/trace/tracer_provider.js +0 -18
  1150. package/node_modules/@opentelemetry/api/build/src/trace/tracer_provider.js.map +0 -1
  1151. package/node_modules/@opentelemetry/api/build/src/trace-api.d.ts +0 -4
  1152. package/node_modules/@opentelemetry/api/build/src/trace-api.js +0 -24
  1153. package/node_modules/@opentelemetry/api/build/src/trace-api.js.map +0 -1
  1154. package/node_modules/@opentelemetry/api/build/src/version.d.ts +0 -2
  1155. package/node_modules/@opentelemetry/api/build/src/version.js +0 -21
  1156. package/node_modules/@opentelemetry/api/build/src/version.js.map +0 -1
  1157. package/node_modules/@opentelemetry/api/package.json +0 -113
  1158. package/node_modules/glob/LICENSE.md +0 -63
  1159. package/node_modules/glob/README.md +0 -1203
  1160. package/node_modules/glob/dist/commonjs/glob.d.ts +0 -396
  1161. package/node_modules/glob/dist/commonjs/glob.d.ts.map +0 -1
  1162. package/node_modules/glob/dist/commonjs/glob.js +0 -248
  1163. package/node_modules/glob/dist/commonjs/glob.js.map +0 -1
  1164. package/node_modules/glob/dist/commonjs/has-magic.d.ts +0 -14
  1165. package/node_modules/glob/dist/commonjs/has-magic.d.ts.map +0 -1
  1166. package/node_modules/glob/dist/commonjs/has-magic.js +0 -27
  1167. package/node_modules/glob/dist/commonjs/has-magic.js.map +0 -1
  1168. package/node_modules/glob/dist/commonjs/ignore.d.ts +0 -24
  1169. package/node_modules/glob/dist/commonjs/ignore.d.ts.map +0 -1
  1170. package/node_modules/glob/dist/commonjs/ignore.js +0 -119
  1171. package/node_modules/glob/dist/commonjs/ignore.js.map +0 -1
  1172. package/node_modules/glob/dist/commonjs/index.d.ts +0 -97
  1173. package/node_modules/glob/dist/commonjs/index.d.ts.map +0 -1
  1174. package/node_modules/glob/dist/commonjs/index.js +0 -68
  1175. package/node_modules/glob/dist/commonjs/index.js.map +0 -1
  1176. package/node_modules/glob/dist/commonjs/index.min.js +0 -4
  1177. package/node_modules/glob/dist/commonjs/index.min.js.map +0 -7
  1178. package/node_modules/glob/dist/commonjs/package.json +0 -3
  1179. package/node_modules/glob/dist/commonjs/pattern.d.ts +0 -79
  1180. package/node_modules/glob/dist/commonjs/pattern.d.ts.map +0 -1
  1181. package/node_modules/glob/dist/commonjs/pattern.js +0 -223
  1182. package/node_modules/glob/dist/commonjs/pattern.js.map +0 -1
  1183. package/node_modules/glob/dist/commonjs/processor.d.ts +0 -59
  1184. package/node_modules/glob/dist/commonjs/processor.d.ts.map +0 -1
  1185. package/node_modules/glob/dist/commonjs/processor.js +0 -301
  1186. package/node_modules/glob/dist/commonjs/processor.js.map +0 -1
  1187. package/node_modules/glob/dist/commonjs/walker.d.ts +0 -97
  1188. package/node_modules/glob/dist/commonjs/walker.d.ts.map +0 -1
  1189. package/node_modules/glob/dist/commonjs/walker.js +0 -387
  1190. package/node_modules/glob/dist/commonjs/walker.js.map +0 -1
  1191. package/node_modules/glob/dist/esm/glob.d.ts +0 -396
  1192. package/node_modules/glob/dist/esm/glob.d.ts.map +0 -1
  1193. package/node_modules/glob/dist/esm/glob.js +0 -244
  1194. package/node_modules/glob/dist/esm/glob.js.map +0 -1
  1195. package/node_modules/glob/dist/esm/has-magic.d.ts +0 -14
  1196. package/node_modules/glob/dist/esm/has-magic.d.ts.map +0 -1
  1197. package/node_modules/glob/dist/esm/has-magic.js +0 -23
  1198. package/node_modules/glob/dist/esm/has-magic.js.map +0 -1
  1199. package/node_modules/glob/dist/esm/ignore.d.ts +0 -24
  1200. package/node_modules/glob/dist/esm/ignore.d.ts.map +0 -1
  1201. package/node_modules/glob/dist/esm/ignore.js +0 -115
  1202. package/node_modules/glob/dist/esm/ignore.js.map +0 -1
  1203. package/node_modules/glob/dist/esm/index.d.ts +0 -97
  1204. package/node_modules/glob/dist/esm/index.d.ts.map +0 -1
  1205. package/node_modules/glob/dist/esm/index.js +0 -55
  1206. package/node_modules/glob/dist/esm/index.js.map +0 -1
  1207. package/node_modules/glob/dist/esm/index.min.js +0 -4
  1208. package/node_modules/glob/dist/esm/index.min.js.map +0 -7
  1209. package/node_modules/glob/dist/esm/package.json +0 -3
  1210. package/node_modules/glob/dist/esm/pattern.d.ts +0 -79
  1211. package/node_modules/glob/dist/esm/pattern.d.ts.map +0 -1
  1212. package/node_modules/glob/dist/esm/pattern.js +0 -219
  1213. package/node_modules/glob/dist/esm/pattern.js.map +0 -1
  1214. package/node_modules/glob/dist/esm/processor.d.ts +0 -59
  1215. package/node_modules/glob/dist/esm/processor.d.ts.map +0 -1
  1216. package/node_modules/glob/dist/esm/processor.js +0 -294
  1217. package/node_modules/glob/dist/esm/processor.js.map +0 -1
  1218. package/node_modules/glob/dist/esm/walker.d.ts +0 -97
  1219. package/node_modules/glob/dist/esm/walker.d.ts.map +0 -1
  1220. package/node_modules/glob/dist/esm/walker.js +0 -381
  1221. package/node_modules/glob/dist/esm/walker.js.map +0 -1
  1222. package/node_modules/glob/package.json +0 -98
  1223. package/node_modules/minipass/LICENSE.md +0 -55
  1224. package/node_modules/minipass/README.md +0 -825
  1225. package/node_modules/minipass/dist/commonjs/index.d.ts +0 -545
  1226. package/node_modules/minipass/dist/commonjs/index.d.ts.map +0 -1
  1227. package/node_modules/minipass/dist/commonjs/index.js +0 -1038
  1228. package/node_modules/minipass/dist/commonjs/index.js.map +0 -1
  1229. package/node_modules/minipass/dist/commonjs/package.json +0 -3
  1230. package/node_modules/minipass/dist/esm/index.d.ts +0 -545
  1231. package/node_modules/minipass/dist/esm/index.d.ts.map +0 -1
  1232. package/node_modules/minipass/dist/esm/index.js +0 -1020
  1233. package/node_modules/minipass/dist/esm/index.js.map +0 -1
  1234. package/node_modules/minipass/dist/esm/package.json +0 -3
  1235. package/node_modules/minipass/package.json +0 -77
  1236. package/node_modules/path-scurry/LICENSE.md +0 -55
  1237. package/node_modules/path-scurry/README.md +0 -636
  1238. package/node_modules/path-scurry/dist/commonjs/index.d.ts +0 -1115
  1239. package/node_modules/path-scurry/dist/commonjs/index.d.ts.map +0 -1
  1240. package/node_modules/path-scurry/dist/commonjs/index.js +0 -2018
  1241. package/node_modules/path-scurry/dist/commonjs/index.js.map +0 -1
  1242. package/node_modules/path-scurry/dist/commonjs/package.json +0 -3
  1243. package/node_modules/path-scurry/dist/esm/index.d.ts +0 -1115
  1244. package/node_modules/path-scurry/dist/esm/index.d.ts.map +0 -1
  1245. package/node_modules/path-scurry/dist/esm/index.js +0 -1983
  1246. package/node_modules/path-scurry/dist/esm/index.js.map +0 -1
  1247. package/node_modules/path-scurry/dist/esm/package.json +0 -3
  1248. package/node_modules/path-scurry/package.json +0 -72
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/core/extensions/runner.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Extension runner - executes extensions and manages their lifecycle.\n */\n\nimport type { AgentMessage } from \"@earendil-works/pi-agent-core\";\nimport type { ImageContent, Model, Provider, ProviderHeaders } from \"@earendil-works/pi-ai\";\nimport type { KeyId } from \"@earendil-works/pi-tui\";\nimport { type Theme, theme } from \"../../modes/interactive/theme/theme.ts\";\nimport type { ResourceDiagnostic } from \"../diagnostics.ts\";\nimport type { KeybindingsConfig } from \"../keybindings.ts\";\nimport type { ModelRegistry } from \"../model-registry.ts\";\nimport type { ScopedModel } from \"../model-resolver.ts\";\nimport type { SessionManager } from \"../session-manager.ts\";\nimport type { BuildSystemPromptOptions } from \"../system-prompt.ts\";\nimport type {\n\tBeforeAgentStartEvent,\n\tBeforeAgentStartEventResult,\n\tBeforeProviderHeadersEvent,\n\tBeforeProviderRequestEvent,\n\tCompactOptions,\n\tContextEvent,\n\tContextEventResult,\n\tContextUsage,\n\tEntryRenderer,\n\tExtension,\n\tExtensionActions,\n\tExtensionCommandContext,\n\tExtensionCommandContextActions,\n\tExtensionContext,\n\tExtensionContextActions,\n\tExtensionError,\n\tExtensionEvent,\n\tExtensionFlag,\n\tExtensionMode,\n\tExtensionRuntime,\n\tExtensionShortcut,\n\tExtensionUIContext,\n\tInputEvent,\n\tInputEventResult,\n\tInputSource,\n\tLoadExtensionsResult,\n\tMarkdownTransformer,\n\tMessageEndEvent,\n\tMessageEndEventResult,\n\tMessageRenderer,\n\tProjectTrustContext,\n\tProjectTrustEvent,\n\tProjectTrustEventResult,\n\tProviderConfig,\n\tRegisteredCommand,\n\tRegisteredTool,\n\tReplacedSessionContext,\n\tResolvedCommand,\n\tResourcesDiscoverEvent,\n\tResourcesDiscoverResult,\n\tSessionBeforeCompactResult,\n\tSessionBeforeForkResult,\n\tSessionBeforeSwitchResult,\n\tSessionBeforeTreeResult,\n\tSessionShutdownEvent,\n\tToolCallEvent,\n\tToolCallEventResult,\n\tToolResultEvent,\n\tToolResultEventResult,\n\tUserBashEvent,\n\tUserBashEventResult,\n} from \"./types.ts\";\n\n// Extension shortcuts compete with canonical keybinding ids from keybindings.json.\n// Only editor-global shortcuts are reserved here. Picker-specific bindings are not.\nconst RESERVED_KEYBINDINGS_FOR_EXTENSION_CONFLICTS = [\n\t\"app.interrupt\",\n\t\"app.clear\",\n\t\"app.exit\",\n\t\"app.suspend\",\n\t\"app.thinking.cycle\",\n\t\"app.model.cycleForward\",\n\t\"app.model.cycleBackward\",\n\t\"app.model.select\",\n\t\"app.tools.expand\",\n\t\"app.thinking.toggle\",\n\t\"app.editor.external\",\n\t\"app.message.copy\",\n\t\"app.message.followUp\",\n\t\"tui.input.submit\",\n\t\"tui.select.confirm\",\n\t\"tui.select.cancel\",\n\t\"tui.input.copy\",\n\t\"tui.editor.deleteToLineEnd\",\n] as const;\n\ntype BuiltInKeyBindings = Partial<Record<KeyId, { keybinding: string; restrictOverride: boolean }>>;\n\nconst buildBuiltinKeybindings = (resolvedKeybindings: KeybindingsConfig): BuiltInKeyBindings => {\n\tconst builtinKeybindings = {} as BuiltInKeyBindings;\n\tfor (const [keybinding, keys] of Object.entries(resolvedKeybindings)) {\n\t\tif (keys === undefined) continue;\n\t\tconst keyList = Array.isArray(keys) ? keys : [keys];\n\t\tconst restrictOverride = (RESERVED_KEYBINDINGS_FOR_EXTENSION_CONFLICTS as readonly string[]).includes(keybinding);\n\t\tfor (const key of keyList) {\n\t\t\tconst normalizedKey = key.toLowerCase() as KeyId;\n\t\t\t// If multiple actions bind the same key, the reserved action wins so extensions\n\t\t\t// remain blocked by reserved shortcuts regardless of iteration order.\n\t\t\tconst existing = builtinKeybindings[normalizedKey];\n\t\t\tif (existing?.restrictOverride && !restrictOverride) continue;\n\t\t\tbuiltinKeybindings[normalizedKey] = {\n\t\t\t\tkeybinding,\n\t\t\t\trestrictOverride,\n\t\t\t};\n\t\t}\n\t}\n\treturn builtinKeybindings;\n};\n\n/** Combined result from all before_agent_start handlers */\ninterface BeforeAgentStartCombinedResult {\n\tmessages?: NonNullable<BeforeAgentStartEventResult[\"message\"]>[];\n\tsystemPrompt?: string;\n}\n\n/**\n * Events handled by the generic emit() method.\n * Events with dedicated emitXxx() methods are excluded for stronger type safety.\n */\ntype RunnerEmitEvent = Exclude<\n\tExtensionEvent,\n\t| ToolCallEvent\n\t| ProjectTrustEvent\n\t| ToolResultEvent\n\t| UserBashEvent\n\t| ContextEvent\n\t| BeforeProviderRequestEvent\n\t| BeforeProviderHeadersEvent\n\t| BeforeAgentStartEvent\n\t| MessageEndEvent\n\t| ResourcesDiscoverEvent\n\t| InputEvent\n>;\n\ntype SessionBeforeEvent = Extract<\n\tRunnerEmitEvent,\n\t{ type: \"session_before_switch\" | \"session_before_fork\" | \"session_before_compact\" | \"session_before_tree\" }\n>;\n\ntype SessionBeforeEventResult =\n\t| SessionBeforeSwitchResult\n\t| SessionBeforeForkResult\n\t| SessionBeforeCompactResult\n\t| SessionBeforeTreeResult;\n\ntype RunnerEmitResult<TEvent extends RunnerEmitEvent> = TEvent extends { type: \"session_before_switch\" }\n\t? SessionBeforeSwitchResult | undefined\n\t: TEvent extends { type: \"session_before_fork\" }\n\t\t? SessionBeforeForkResult | undefined\n\t\t: TEvent extends { type: \"session_before_compact\" }\n\t\t\t? SessionBeforeCompactResult | undefined\n\t\t\t: TEvent extends { type: \"session_before_tree\" }\n\t\t\t\t? SessionBeforeTreeResult | undefined\n\t\t\t\t: undefined;\n\nexport type ExtensionErrorListener = (error: ExtensionError) => void;\n\nexport type NewSessionHandler = (options?: {\n\tparentSession?: string;\n\tsetup?: (sessionManager: SessionManager) => Promise<void>;\n\twithSession?: (ctx: ReplacedSessionContext) => Promise<void>;\n}) => Promise<{ cancelled: boolean }>;\n\nexport type ForkHandler = (\n\tentryId: string,\n\toptions?: { position?: \"before\" | \"at\"; withSession?: (ctx: ReplacedSessionContext) => Promise<void> },\n) => Promise<{ cancelled: boolean }>;\n\nexport type NavigateTreeHandler = (\n\ttargetId: string,\n\toptions?: { summarize?: boolean; customInstructions?: string; replaceInstructions?: boolean; label?: string },\n) => Promise<{ cancelled: boolean }>;\n\nexport type SwitchSessionHandler = (\n\tsessionPath: string,\n\toptions?: { withSession?: (ctx: ReplacedSessionContext) => Promise<void> },\n) => Promise<{ cancelled: boolean }>;\n\nexport type ReloadHandler = () => Promise<void>;\n\nexport type ShutdownHandler = () => void;\n\n/**\n * Helper function to emit session_shutdown event to extensions.\n * Returns true if the event was emitted, false if there were no handlers.\n */\nexport async function emitSessionShutdownEvent(\n\textensionRunner: ExtensionRunner,\n\tevent: SessionShutdownEvent,\n): Promise<boolean> {\n\tif (extensionRunner.hasHandlers(\"session_shutdown\")) {\n\t\tawait extensionRunner.emit(event);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nexport async function emitProjectTrustEvent(\n\textensionsResult: LoadExtensionsResult,\n\tevent: ProjectTrustEvent,\n\tctx: ProjectTrustContext,\n): Promise<{ result?: ProjectTrustEventResult; errors: ExtensionError[] }> {\n\tconst errors: ExtensionError[] = [];\n\tfor (const ext of extensionsResult.extensions) {\n\t\t// A single extension may register multiple handlers for the same event.\n\t\t// The first project_trust handler that returns yes/no wins; undecided falls through.\n\t\tconst handlers = ext.handlers.get(\"project_trust\");\n\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\tfor (const handler of handlers) {\n\t\t\ttry {\n\t\t\t\tconst handlerResult = (await handler(event, ctx)) as ProjectTrustEventResult;\n\t\t\t\tif (handlerResult.trusted === \"undecided\") {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\treturn { result: handlerResult, errors };\n\t\t\t} catch (error) {\n\t\t\t\terrors.push({\n\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\tevent: event.type,\n\t\t\t\t\terror: error instanceof Error ? error.message : String(error),\n\t\t\t\t\tstack: error instanceof Error ? error.stack : undefined,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\treturn { errors };\n}\n\nconst noOpUIContext: ExtensionUIContext = {\n\tselect: async () => undefined,\n\tconfirm: async () => false,\n\tinput: async () => undefined,\n\tnotify: () => {},\n\tonTerminalInput: () => () => {},\n\tsetStatus: () => {},\n\tsetWorkingMessage: () => {},\n\tsetWorkingVisible: () => {},\n\tsetWorkingIndicator: () => {},\n\tsetHiddenThinkingLabel: () => {},\n\tsetWidget: () => {},\n\tsetFooter: () => {},\n\tsetHeader: () => {},\n\tsetTitle: () => {},\n\tcustom: async () => undefined as never,\n\tpasteToEditor: () => {},\n\tsetEditorText: () => {},\n\tgetEditorText: () => \"\",\n\teditor: async () => undefined,\n\taddAutocompleteProvider: () => {},\n\tsetEditorComponent: () => {},\n\tgetEditorComponent: () => undefined,\n\tget theme() {\n\t\treturn theme;\n\t},\n\tgetAllThemes: () => [],\n\tgetTheme: () => undefined,\n\tsetTheme: (_theme: string | Theme) => ({ success: false, error: \"UI not available\" }),\n\tgetToolsExpanded: () => false,\n\tsetToolsExpanded: () => {},\n};\n\nexport class ExtensionRunner {\n\tprivate extensions: Extension[];\n\tprivate runtime: ExtensionRuntime;\n\tprivate uiContext: ExtensionUIContext;\n\tprivate mode: ExtensionMode = \"print\";\n\tprivate cwd: string;\n\tprivate sessionManager: SessionManager;\n\tprivate modelRegistry: ModelRegistry;\n\tprivate errorListeners: Set<ExtensionErrorListener> = new Set();\n\tprivate getModel: () => Model<any> | undefined = () => undefined;\n\tprivate getScopedModels: () => readonly ScopedModel[] = () => [];\n\tprivate isIdleFn: () => boolean = () => true;\n\tprivate isProjectTrustedFn: () => boolean = () => true;\n\tprivate getSignalFn: () => AbortSignal | undefined = () => undefined;\n\tprivate waitForIdleFn: () => Promise<void> = async () => {};\n\tprivate abortFn: () => void = () => {};\n\tprivate hasPendingMessagesFn: () => boolean = () => false;\n\tprivate getContextUsageFn: () => ContextUsage | undefined = () => undefined;\n\tprivate compactFn: (options?: CompactOptions) => void = () => {};\n\tprivate getSystemPromptFn: () => string = () => \"\";\n\tprivate getSystemPromptOptionsFn: () => BuildSystemPromptOptions = () => ({ cwd: this.cwd });\n\tprivate newSessionHandler: NewSessionHandler = async () => ({ cancelled: false });\n\tprivate forkHandler: ForkHandler = async () => ({ cancelled: false });\n\tprivate navigateTreeHandler: NavigateTreeHandler = async () => ({ cancelled: false });\n\tprivate switchSessionHandler: SwitchSessionHandler = async () => ({ cancelled: false });\n\tprivate reloadHandler: ReloadHandler = async () => {};\n\tprivate shutdownHandler: ShutdownHandler = () => {};\n\tprivate shortcutDiagnostics: ResourceDiagnostic[] = [];\n\tprivate commandDiagnostics: ResourceDiagnostic[] = [];\n\tprivate staleMessage: string | undefined;\n\n\tconstructor(\n\t\textensions: Extension[],\n\t\truntime: ExtensionRuntime,\n\t\tcwd: string,\n\t\tsessionManager: SessionManager,\n\t\tmodelRegistry: ModelRegistry,\n\t) {\n\t\tthis.extensions = extensions;\n\t\tthis.runtime = runtime;\n\t\tthis.uiContext = noOpUIContext;\n\t\tthis.cwd = cwd;\n\t\tthis.sessionManager = sessionManager;\n\t\tthis.modelRegistry = modelRegistry;\n\t}\n\n\tbindCore(\n\t\tactions: ExtensionActions,\n\t\tcontextActions: ExtensionContextActions,\n\t\tproviderActions?: {\n\t\t\tregisterProvider?: (name: string, config: ProviderConfig) => void;\n\t\t\tregisterNativeProvider?: (provider: Provider) => void;\n\t\t\tunregisterProvider?: (name: string) => void;\n\t\t},\n\t): void {\n\t\t// Copy actions into the shared runtime (all extension APIs reference this)\n\t\tthis.runtime.sendMessage = actions.sendMessage;\n\t\tthis.runtime.sendUserMessage = actions.sendUserMessage;\n\t\tthis.runtime.appendEntry = actions.appendEntry;\n\t\tthis.runtime.setSessionName = actions.setSessionName;\n\t\tthis.runtime.getSessionName = actions.getSessionName;\n\t\tthis.runtime.setLabel = actions.setLabel;\n\t\tthis.runtime.getActiveTools = actions.getActiveTools;\n\t\tthis.runtime.getAllTools = actions.getAllTools;\n\t\tthis.runtime.setActiveTools = actions.setActiveTools;\n\t\tthis.runtime.refreshTools = actions.refreshTools;\n\t\tthis.runtime.getCommands = actions.getCommands;\n\t\tthis.runtime.setModel = actions.setModel;\n\t\tthis.runtime.getThinkingLevel = actions.getThinkingLevel;\n\t\tthis.runtime.setThinkingLevel = actions.setThinkingLevel;\n\n\t\t// Context actions (required)\n\t\tthis.getModel = contextActions.getModel;\n\t\tthis.getScopedModels = contextActions.getScopedModels;\n\t\tthis.isIdleFn = contextActions.isIdle;\n\t\tthis.isProjectTrustedFn = contextActions.isProjectTrusted;\n\t\tthis.getSignalFn = contextActions.getSignal;\n\t\tthis.abortFn = contextActions.abort;\n\t\tthis.hasPendingMessagesFn = contextActions.hasPendingMessages;\n\t\tthis.shutdownHandler = contextActions.shutdown;\n\t\tthis.getContextUsageFn = contextActions.getContextUsage;\n\t\tthis.compactFn = contextActions.compact;\n\t\tthis.getSystemPromptFn = contextActions.getSystemPrompt;\n\t\tthis.getSystemPromptOptionsFn = contextActions.getSystemPromptOptions ?? (() => ({ cwd: this.cwd }));\n\n\t\t// Flush provider registrations queued during extension loading\n\t\tfor (const { name, config, extensionPath } of this.runtime.pendingProviderRegistrations) {\n\t\t\ttry {\n\t\t\t\tif (providerActions?.registerProvider) {\n\t\t\t\t\tproviderActions.registerProvider(name, config);\n\t\t\t\t} else {\n\t\t\t\t\tthis.modelRegistry.registerProvider(name, config);\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\tthis.emitError({\n\t\t\t\t\textensionPath,\n\t\t\t\t\tevent: \"register_provider\",\n\t\t\t\t\terror: err instanceof Error ? err.message : String(err),\n\t\t\t\t\tstack: err instanceof Error ? err.stack : undefined,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tthis.runtime.pendingProviderRegistrations = [];\n\t\tfor (const { provider, extensionPath } of this.runtime.pendingNativeProviderRegistrations) {\n\t\t\ttry {\n\t\t\t\tif (providerActions?.registerNativeProvider) {\n\t\t\t\t\tproviderActions.registerNativeProvider(provider);\n\t\t\t\t} else {\n\t\t\t\t\tthis.modelRegistry.registerProvider(provider);\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\tthis.emitError({\n\t\t\t\t\textensionPath,\n\t\t\t\t\tevent: \"register_provider\",\n\t\t\t\t\terror: err instanceof Error ? err.message : String(err),\n\t\t\t\t\tstack: err instanceof Error ? err.stack : undefined,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tthis.runtime.pendingNativeProviderRegistrations = [];\n\n\t\t// From this point on, provider registration/unregistration takes effect immediately\n\t\t// without requiring a /reload.\n\t\tthis.runtime.registerProvider = (name, config) => {\n\t\t\tif (providerActions?.registerProvider) {\n\t\t\t\tproviderActions.registerProvider(name, config);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.modelRegistry.registerProvider(name, config);\n\t\t};\n\t\tthis.runtime.registerNativeProvider = (provider) => {\n\t\t\tif (providerActions?.registerNativeProvider) {\n\t\t\t\tproviderActions.registerNativeProvider(provider);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.modelRegistry.registerProvider(provider);\n\t\t};\n\t\tthis.runtime.unregisterProvider = (name) => {\n\t\t\tif (providerActions?.unregisterProvider) {\n\t\t\t\tproviderActions.unregisterProvider(name);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.modelRegistry.unregisterProvider(name);\n\t\t};\n\t}\n\n\tbindCommandContext(actions?: ExtensionCommandContextActions): void {\n\t\tif (actions) {\n\t\t\tthis.waitForIdleFn = actions.waitForIdle;\n\t\t\tthis.newSessionHandler = actions.newSession;\n\t\t\tthis.forkHandler = actions.fork;\n\t\t\tthis.navigateTreeHandler = actions.navigateTree;\n\t\t\tthis.switchSessionHandler = actions.switchSession;\n\t\t\tthis.reloadHandler = actions.reload;\n\t\t\treturn;\n\t\t}\n\n\t\tthis.waitForIdleFn = async () => {};\n\t\tthis.newSessionHandler = async () => ({ cancelled: false });\n\t\tthis.forkHandler = async () => ({ cancelled: false });\n\t\tthis.navigateTreeHandler = async () => ({ cancelled: false });\n\t\tthis.switchSessionHandler = async () => ({ cancelled: false });\n\t\tthis.reloadHandler = async () => {};\n\t}\n\n\tsetUIContext(uiContext?: ExtensionUIContext, mode: ExtensionMode = \"print\"): void {\n\t\tthis.uiContext = uiContext ?? noOpUIContext;\n\t\tthis.mode = mode;\n\t}\n\n\tgetUIContext(): ExtensionUIContext {\n\t\treturn this.uiContext;\n\t}\n\n\thasUI(): boolean {\n\t\treturn this.uiContext !== noOpUIContext;\n\t}\n\n\tgetExtensionPaths(): string[] {\n\t\treturn this.extensions.map((e) => e.path);\n\t}\n\n\t/** Get all registered tools from all extensions (first registration per name wins). */\n\tgetAllRegisteredTools(): RegisteredTool[] {\n\t\tconst toolsByName = new Map<string, RegisteredTool>();\n\t\tfor (const ext of this.extensions) {\n\t\t\tfor (const tool of ext.tools.values()) {\n\t\t\t\tif (!toolsByName.has(tool.definition.name)) {\n\t\t\t\t\ttoolsByName.set(tool.definition.name, tool);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn Array.from(toolsByName.values());\n\t}\n\n\t/** Get a tool definition by name. Returns undefined if not found. */\n\tgetToolDefinition(toolName: string): RegisteredTool[\"definition\"] | undefined {\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst tool = ext.tools.get(toolName);\n\t\t\tif (tool) {\n\t\t\t\treturn tool.definition;\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tgetFlags(): Map<string, ExtensionFlag> {\n\t\tconst allFlags = new Map<string, ExtensionFlag>();\n\t\tfor (const ext of this.extensions) {\n\t\t\tfor (const [name, flag] of ext.flags) {\n\t\t\t\tif (!allFlags.has(name)) {\n\t\t\t\t\tallFlags.set(name, flag);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn allFlags;\n\t}\n\n\tsetFlagValue(name: string, value: boolean | string): void {\n\t\tthis.runtime.flagValues.set(name, value);\n\t}\n\n\tgetFlagValues(): Map<string, boolean | string> {\n\t\treturn new Map(this.runtime.flagValues);\n\t}\n\n\tgetShortcuts(resolvedKeybindings: KeybindingsConfig): Map<KeyId, ExtensionShortcut> {\n\t\tthis.shortcutDiagnostics = [];\n\t\tconst builtinKeybindings = buildBuiltinKeybindings(resolvedKeybindings);\n\t\tconst extensionShortcuts = new Map<KeyId, ExtensionShortcut>();\n\n\t\tconst addDiagnostic = (message: string, extensionPath: string) => {\n\t\t\tthis.shortcutDiagnostics.push({ type: \"warning\", message, path: extensionPath });\n\t\t\tif (!this.hasUI()) {\n\t\t\t\tconsole.warn(message);\n\t\t\t}\n\t\t};\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tfor (const [key, shortcut] of ext.shortcuts) {\n\t\t\t\tconst normalizedKey = key.toLowerCase() as KeyId;\n\n\t\t\t\tconst builtInKeybinding = builtinKeybindings[normalizedKey];\n\t\t\t\tif (builtInKeybinding?.restrictOverride === true) {\n\t\t\t\t\taddDiagnostic(\n\t\t\t\t\t\t`Extension shortcut '${key}' from ${shortcut.extensionPath} conflicts with built-in shortcut. Skipping.`,\n\t\t\t\t\t\tshortcut.extensionPath,\n\t\t\t\t\t);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (builtInKeybinding?.restrictOverride === false) {\n\t\t\t\t\taddDiagnostic(\n\t\t\t\t\t\t`Extension shortcut conflict: '${key}' is built-in shortcut for ${builtInKeybinding.keybinding} and ${shortcut.extensionPath}. Using ${shortcut.extensionPath}.`,\n\t\t\t\t\t\tshortcut.extensionPath,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst existingExtensionShortcut = extensionShortcuts.get(normalizedKey);\n\t\t\t\tif (existingExtensionShortcut) {\n\t\t\t\t\taddDiagnostic(\n\t\t\t\t\t\t`Extension shortcut conflict: '${key}' registered by both ${existingExtensionShortcut.extensionPath} and ${shortcut.extensionPath}. Using ${shortcut.extensionPath}.`,\n\t\t\t\t\t\tshortcut.extensionPath,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\textensionShortcuts.set(normalizedKey, shortcut);\n\t\t\t}\n\t\t}\n\t\treturn extensionShortcuts;\n\t}\n\n\tgetShortcutDiagnostics(): ResourceDiagnostic[] {\n\t\treturn this.shortcutDiagnostics;\n\t}\n\n\tinvalidate(\n\t\tmessage = \"This extension ctx is stale after session replacement or reload. Do not use a captured pi or command ctx after ctx.newSession(), ctx.fork(), ctx.switchSession(), or ctx.reload(). For newSession, fork, and switchSession, move post-replacement work into withSession and use the ctx passed to withSession. For reload, do not use the old ctx after await ctx.reload().\",\n\t): void {\n\t\tif (!this.staleMessage) {\n\t\t\tthis.staleMessage = message;\n\t\t\tthis.runtime.invalidate(message);\n\t\t}\n\t}\n\n\tprivate assertActive(): void {\n\t\tif (this.staleMessage) {\n\t\t\tthrow new Error(this.staleMessage);\n\t\t}\n\t}\n\n\tonError(listener: ExtensionErrorListener): () => void {\n\t\tthis.errorListeners.add(listener);\n\t\treturn () => this.errorListeners.delete(listener);\n\t}\n\n\temitError(error: ExtensionError): void {\n\t\tfor (const listener of this.errorListeners) {\n\t\t\tlistener(error);\n\t\t}\n\t}\n\n\thasHandlers(eventType: string): boolean {\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(eventType);\n\t\t\tif (handlers && handlers.length > 0) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tgetMessageRenderer(customType: string): MessageRenderer | undefined {\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst renderer = ext.messageRenderers.get(customType);\n\t\t\tif (renderer) {\n\t\t\t\treturn renderer;\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tgetMarkdownTransformers(): MarkdownTransformer[] {\n\t\treturn this.extensions.flatMap((ext) => (ext.markdownTransformer ? [ext.markdownTransformer] : []));\n\t}\n\n\tgetEntryRenderer(customType: string): EntryRenderer | undefined {\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst renderer = ext.entryRenderers?.get(customType);\n\t\t\tif (renderer) {\n\t\t\t\treturn renderer;\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate resolveRegisteredCommands(): ResolvedCommand[] {\n\t\tconst commands: RegisteredCommand[] = [];\n\t\tconst counts = new Map<string, number>();\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tfor (const command of ext.commands.values()) {\n\t\t\t\tcommands.push(command);\n\t\t\t\tcounts.set(command.name, (counts.get(command.name) ?? 0) + 1);\n\t\t\t}\n\t\t}\n\n\t\tconst seen = new Map<string, number>();\n\t\tconst takenInvocationNames = new Set<string>();\n\n\t\treturn commands.map((command) => {\n\t\t\tconst occurrence = (seen.get(command.name) ?? 0) + 1;\n\t\t\tseen.set(command.name, occurrence);\n\n\t\t\tlet invocationName = (counts.get(command.name) ?? 0) > 1 ? `${command.name}:${occurrence}` : command.name;\n\n\t\t\tif (takenInvocationNames.has(invocationName)) {\n\t\t\t\tlet suffix = occurrence;\n\t\t\t\tdo {\n\t\t\t\t\tsuffix++;\n\t\t\t\t\tinvocationName = `${command.name}:${suffix}`;\n\t\t\t\t} while (takenInvocationNames.has(invocationName));\n\t\t\t}\n\n\t\t\ttakenInvocationNames.add(invocationName);\n\t\t\treturn {\n\t\t\t\t...command,\n\t\t\t\tinvocationName,\n\t\t\t};\n\t\t});\n\t}\n\n\tgetModelRegistry(): ModelRegistry {\n\t\treturn this.modelRegistry;\n\t}\n\n\tgetRegisteredCommands(): ResolvedCommand[] {\n\t\tthis.commandDiagnostics = [];\n\t\treturn this.resolveRegisteredCommands();\n\t}\n\n\tgetCommandDiagnostics(): ResourceDiagnostic[] {\n\t\treturn this.commandDiagnostics;\n\t}\n\n\tgetCommand(name: string): ResolvedCommand | undefined {\n\t\treturn this.resolveRegisteredCommands().find((command) => command.invocationName === name);\n\t}\n\n\t/**\n\t * Request a graceful shutdown. Called by extension tools and event handlers.\n\t * The actual shutdown behavior is provided by the mode via bindExtensions().\n\t */\n\tshutdown(): void {\n\t\tthis.shutdownHandler();\n\t}\n\n\tgetActiveTools(): string[] {\n\t\tthis.assertActive();\n\t\treturn this.runtime.getActiveTools();\n\t}\n\n\t/**\n\t * Create an ExtensionContext for use in event handlers and tool execution.\n\t * Context values are resolved at call time, so changes via bindCore/bindUI are reflected.\n\t */\n\tcreateContext(): ExtensionContext {\n\t\tconst runner = this;\n\t\tconst getModel = this.getModel;\n\t\tconst getScopedModels = this.getScopedModels;\n\t\treturn {\n\t\t\tget ui() {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.uiContext;\n\t\t\t},\n\t\t\tget mode() {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.mode;\n\t\t\t},\n\t\t\tget hasUI() {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.hasUI();\n\t\t\t},\n\t\t\tget cwd() {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.cwd;\n\t\t\t},\n\t\t\tget sessionManager() {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.sessionManager;\n\t\t\t},\n\t\t\tget modelRegistry() {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.modelRegistry;\n\t\t\t},\n\t\t\tget model() {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn getModel();\n\t\t\t},\n\t\t\tget scopedModels() {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn getScopedModels();\n\t\t\t},\n\t\t\tget thinkingLevel() {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.runtime.getThinkingLevel();\n\t\t\t},\n\t\t\tisIdle: () => {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.isIdleFn();\n\t\t\t},\n\t\t\tisProjectTrusted: () => {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.isProjectTrustedFn();\n\t\t\t},\n\t\t\tget signal() {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.getSignalFn();\n\t\t\t},\n\t\t\tabort: () => {\n\t\t\t\trunner.assertActive();\n\t\t\t\trunner.abortFn();\n\t\t\t},\n\t\t\thasPendingMessages: () => {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.hasPendingMessagesFn();\n\t\t\t},\n\t\t\tshutdown: () => {\n\t\t\t\trunner.assertActive();\n\t\t\t\trunner.shutdownHandler();\n\t\t\t},\n\t\t\tgetContextUsage: () => {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.getContextUsageFn();\n\t\t\t},\n\t\t\tcompact: (options) => {\n\t\t\t\trunner.assertActive();\n\t\t\t\trunner.compactFn(options);\n\t\t\t},\n\t\t\tgetSystemPrompt: () => {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.getSystemPromptFn();\n\t\t\t},\n\t\t};\n\t}\n\n\tcreateCommandContext(): ExtensionCommandContext {\n\t\t// Use property descriptors instead of object spread so the guarded getters from\n\t\t// createContext() stay lazy. A spread would eagerly read them once and freeze the\n\t\t// old values into the returned object, bypassing stale-instance checks.\n\t\tconst context = Object.defineProperties(\n\t\t\t{},\n\t\t\tObject.getOwnPropertyDescriptors(this.createContext()),\n\t\t) as ExtensionCommandContext;\n\t\tcontext.getSystemPromptOptions = () => {\n\t\t\tthis.assertActive();\n\t\t\treturn this.getSystemPromptOptionsFn();\n\t\t};\n\t\tcontext.waitForIdle = () => {\n\t\t\tthis.assertActive();\n\t\t\treturn this.waitForIdleFn();\n\t\t};\n\t\tcontext.newSession = (options) => {\n\t\t\tthis.assertActive();\n\t\t\treturn this.newSessionHandler(options);\n\t\t};\n\t\tcontext.fork = (entryId, options) => {\n\t\t\tthis.assertActive();\n\t\t\treturn this.forkHandler(entryId, options);\n\t\t};\n\t\tcontext.navigateTree = (targetId, options) => {\n\t\t\tthis.assertActive();\n\t\t\treturn this.navigateTreeHandler(targetId, options);\n\t\t};\n\t\tcontext.switchSession = (sessionPath, options) => {\n\t\t\tthis.assertActive();\n\t\t\treturn this.switchSessionHandler(sessionPath, options);\n\t\t};\n\t\tcontext.reload = () => {\n\t\t\tthis.assertActive();\n\t\t\treturn this.reloadHandler();\n\t\t};\n\t\treturn context;\n\t}\n\n\tprivate isSessionBeforeEvent(event: RunnerEmitEvent): event is SessionBeforeEvent {\n\t\treturn (\n\t\t\tevent.type === \"session_before_switch\" ||\n\t\t\tevent.type === \"session_before_fork\" ||\n\t\t\tevent.type === \"session_before_compact\" ||\n\t\t\tevent.type === \"session_before_tree\"\n\t\t);\n\t}\n\n\tasync emit<TEvent extends RunnerEmitEvent>(event: TEvent): Promise<RunnerEmitResult<TEvent>> {\n\t\tconst ctx = this.createContext();\n\t\tlet result: SessionBeforeEventResult | undefined;\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(event.type);\n\t\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\t\tfor (const handler of handlers) {\n\t\t\t\ttry {\n\t\t\t\t\tconst handlerResult = await handler(event, ctx);\n\n\t\t\t\t\tif (this.isSessionBeforeEvent(event) && handlerResult) {\n\t\t\t\t\t\tresult = handlerResult as SessionBeforeEventResult;\n\t\t\t\t\t\tif (result.cancel) {\n\t\t\t\t\t\t\treturn result as RunnerEmitResult<TEvent>;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\t\t\t\tconst stack = err instanceof Error ? err.stack : undefined;\n\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: event.type,\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t\tstack,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result as RunnerEmitResult<TEvent>;\n\t}\n\n\tasync emitMessageEnd(event: MessageEndEvent): Promise<AgentMessage | undefined> {\n\t\tconst ctx = this.createContext();\n\t\tlet currentMessage = event.message;\n\t\tlet modified = false;\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(\"message_end\");\n\t\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\t\tfor (const handler of handlers) {\n\t\t\t\ttry {\n\t\t\t\t\tconst currentEvent: MessageEndEvent = { ...event, message: currentMessage };\n\t\t\t\t\tconst handlerResult = (await handler(currentEvent, ctx)) as MessageEndEventResult | undefined;\n\t\t\t\t\tif (!handlerResult?.message) continue;\n\n\t\t\t\t\tif (handlerResult.message.role !== currentMessage.role) {\n\t\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\t\tevent: \"message_end\",\n\t\t\t\t\t\t\terror: \"message_end handlers must return a message with the same role\",\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tcurrentMessage = handlerResult.message;\n\t\t\t\t\tmodified = true;\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\t\t\t\tconst stack = err instanceof Error ? err.stack : undefined;\n\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: \"message_end\",\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t\tstack,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn modified ? currentMessage : undefined;\n\t}\n\n\tasync emitToolResult(event: ToolResultEvent): Promise<ToolResultEventResult | undefined> {\n\t\tconst ctx = this.createContext();\n\t\tconst currentEvent: ToolResultEvent = { ...event };\n\t\tlet modified = false;\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(\"tool_result\");\n\t\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\t\tfor (const handler of handlers) {\n\t\t\t\ttry {\n\t\t\t\t\tconst handlerResult = (await handler(currentEvent, ctx)) as ToolResultEventResult | undefined;\n\t\t\t\t\tif (!handlerResult) continue;\n\n\t\t\t\t\tif (handlerResult.content !== undefined) {\n\t\t\t\t\t\tcurrentEvent.content = handlerResult.content;\n\t\t\t\t\t\tmodified = true;\n\t\t\t\t\t}\n\t\t\t\t\tif (handlerResult.details !== undefined) {\n\t\t\t\t\t\tcurrentEvent.details = handlerResult.details;\n\t\t\t\t\t\tmodified = true;\n\t\t\t\t\t}\n\t\t\t\t\tif (handlerResult.isError !== undefined) {\n\t\t\t\t\t\tcurrentEvent.isError = handlerResult.isError;\n\t\t\t\t\t\tmodified = true;\n\t\t\t\t\t}\n\t\t\t\t\tif (handlerResult.usage !== undefined) {\n\t\t\t\t\t\tcurrentEvent.usage = handlerResult.usage;\n\t\t\t\t\t\tmodified = true;\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\t\t\t\tconst stack = err instanceof Error ? err.stack : undefined;\n\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: \"tool_result\",\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t\tstack,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!modified) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn {\n\t\t\tcontent: currentEvent.content,\n\t\t\tdetails: currentEvent.details,\n\t\t\tisError: currentEvent.isError,\n\t\t\tusage: currentEvent.usage,\n\t\t};\n\t}\n\n\tasync emitToolCall(event: ToolCallEvent): Promise<ToolCallEventResult | undefined> {\n\t\tconst ctx = this.createContext();\n\t\tlet result: ToolCallEventResult | undefined;\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(\"tool_call\");\n\t\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\t\tfor (const handler of handlers) {\n\t\t\t\tconst handlerResult = await handler(event, ctx);\n\n\t\t\t\tif (handlerResult) {\n\t\t\t\t\tresult = handlerResult as ToolCallEventResult;\n\t\t\t\t\tif (result.block) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tasync emitUserBash(event: UserBashEvent): Promise<UserBashEventResult | undefined> {\n\t\tconst ctx = this.createContext();\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(\"user_bash\");\n\t\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\t\tfor (const handler of handlers) {\n\t\t\t\ttry {\n\t\t\t\t\tconst handlerResult = await handler(event, ctx);\n\t\t\t\t\tif (handlerResult) {\n\t\t\t\t\t\treturn handlerResult as UserBashEventResult;\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\t\t\t\tconst stack = err instanceof Error ? err.stack : undefined;\n\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: \"user_bash\",\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t\tstack,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tasync emitContext(messages: AgentMessage[]): Promise<AgentMessage[]> {\n\t\tconst ctx = this.createContext();\n\t\tlet currentMessages = structuredClone(messages);\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(\"context\");\n\t\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\t\tfor (const handler of handlers) {\n\t\t\t\ttry {\n\t\t\t\t\tconst event: ContextEvent = { type: \"context\", messages: currentMessages };\n\t\t\t\t\tconst handlerResult = await handler(event, ctx);\n\n\t\t\t\t\tif (handlerResult && (handlerResult as ContextEventResult).messages) {\n\t\t\t\t\t\tcurrentMessages = (handlerResult as ContextEventResult).messages!;\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\t\t\t\tconst stack = err instanceof Error ? err.stack : undefined;\n\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: \"context\",\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t\tstack,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn currentMessages;\n\t}\n\n\tasync emitBeforeProviderRequest(payload: unknown): Promise<unknown> {\n\t\tconst ctx = this.createContext();\n\t\tlet currentPayload = payload;\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(\"before_provider_request\");\n\t\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\t\tfor (const handler of handlers) {\n\t\t\t\ttry {\n\t\t\t\t\tconst event: BeforeProviderRequestEvent = {\n\t\t\t\t\t\ttype: \"before_provider_request\",\n\t\t\t\t\t\tpayload: currentPayload,\n\t\t\t\t\t};\n\t\t\t\t\tconst handlerResult = await handler(event, ctx);\n\t\t\t\t\tif (handlerResult !== undefined) {\n\t\t\t\t\t\tcurrentPayload = handlerResult;\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\t\t\t\tconst stack = err instanceof Error ? err.stack : undefined;\n\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: \"before_provider_request\",\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t\tstack,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn currentPayload;\n\t}\n\n\tasync emitBeforeProviderHeaders(headers: ProviderHeaders): Promise<ProviderHeaders> {\n\t\tconst ctx = this.createContext();\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(\"before_provider_headers\");\n\t\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\t\tfor (const handler of handlers) {\n\t\t\t\ttry {\n\t\t\t\t\t// Handlers mutate `headers` in place; the return value is ignored.\n\t\t\t\t\tconst event: BeforeProviderHeadersEvent = {\n\t\t\t\t\t\ttype: \"before_provider_headers\",\n\t\t\t\t\t\theaders,\n\t\t\t\t\t};\n\t\t\t\t\tawait handler(event, ctx);\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\t\t\t\tconst stack = err instanceof Error ? err.stack : undefined;\n\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: \"before_provider_headers\",\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t\tstack,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn headers;\n\t}\n\n\tasync emitBeforeAgentStart(\n\t\tprompt: string,\n\t\timages: ImageContent[] | undefined,\n\t\tsystemPrompt: string,\n\t\tsystemPromptOptions: BuildSystemPromptOptions,\n\t): Promise<BeforeAgentStartCombinedResult | undefined> {\n\t\tlet currentSystemPrompt = systemPrompt;\n\t\tconst ctx = Object.defineProperties(\n\t\t\t{},\n\t\t\tObject.getOwnPropertyDescriptors(this.createContext()),\n\t\t) as ExtensionContext;\n\t\tctx.getSystemPrompt = () => {\n\t\t\tthis.assertActive();\n\t\t\treturn currentSystemPrompt;\n\t\t};\n\t\tconst messages: NonNullable<BeforeAgentStartEventResult[\"message\"]>[] = [];\n\t\tlet systemPromptModified = false;\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(\"before_agent_start\");\n\t\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\t\tfor (const handler of handlers) {\n\t\t\t\ttry {\n\t\t\t\t\tconst event: BeforeAgentStartEvent = {\n\t\t\t\t\t\ttype: \"before_agent_start\",\n\t\t\t\t\t\tprompt,\n\t\t\t\t\t\timages,\n\t\t\t\t\t\tsystemPrompt: currentSystemPrompt,\n\t\t\t\t\t\tsystemPromptOptions,\n\t\t\t\t\t};\n\t\t\t\t\tconst handlerResult = await handler(event, ctx);\n\n\t\t\t\t\tif (handlerResult) {\n\t\t\t\t\t\tconst result = handlerResult as BeforeAgentStartEventResult;\n\t\t\t\t\t\tif (result.message) {\n\t\t\t\t\t\t\tmessages.push(result.message);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (result.systemPrompt !== undefined) {\n\t\t\t\t\t\t\tcurrentSystemPrompt = result.systemPrompt;\n\t\t\t\t\t\t\tsystemPromptModified = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\t\t\t\tconst stack = err instanceof Error ? err.stack : undefined;\n\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: \"before_agent_start\",\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t\tstack,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (messages.length > 0 || systemPromptModified) {\n\t\t\treturn {\n\t\t\t\tmessages: messages.length > 0 ? messages : undefined,\n\t\t\t\tsystemPrompt: systemPromptModified ? currentSystemPrompt : undefined,\n\t\t\t};\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tasync emitResourcesDiscover(\n\t\tcwd: string,\n\t\treason: ResourcesDiscoverEvent[\"reason\"],\n\t): Promise<{\n\t\tskillPaths: Array<{ path: string; extensionPath: string }>;\n\t\tpromptPaths: Array<{ path: string; extensionPath: string }>;\n\t\tthemePaths: Array<{ path: string; extensionPath: string }>;\n\t}> {\n\t\tconst ctx = this.createContext();\n\t\tconst skillPaths: Array<{ path: string; extensionPath: string }> = [];\n\t\tconst promptPaths: Array<{ path: string; extensionPath: string }> = [];\n\t\tconst themePaths: Array<{ path: string; extensionPath: string }> = [];\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(\"resources_discover\");\n\t\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\t\tfor (const handler of handlers) {\n\t\t\t\ttry {\n\t\t\t\t\tconst event: ResourcesDiscoverEvent = { type: \"resources_discover\", cwd, reason };\n\t\t\t\t\tconst handlerResult = await handler(event, ctx);\n\t\t\t\t\tconst result = handlerResult as ResourcesDiscoverResult | undefined;\n\n\t\t\t\t\tif (result?.skillPaths?.length) {\n\t\t\t\t\t\tskillPaths.push(...result.skillPaths.map((path) => ({ path, extensionPath: ext.path })));\n\t\t\t\t\t}\n\t\t\t\t\tif (result?.promptPaths?.length) {\n\t\t\t\t\t\tpromptPaths.push(...result.promptPaths.map((path) => ({ path, extensionPath: ext.path })));\n\t\t\t\t\t}\n\t\t\t\t\tif (result?.themePaths?.length) {\n\t\t\t\t\t\tthemePaths.push(...result.themePaths.map((path) => ({ path, extensionPath: ext.path })));\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\t\t\t\tconst stack = err instanceof Error ? err.stack : undefined;\n\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: \"resources_discover\",\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t\tstack,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn { skillPaths, promptPaths, themePaths };\n\t}\n\n\t/** Emit input event. Transforms chain, \"handled\" short-circuits. */\n\tasync emitInput(\n\t\ttext: string,\n\t\timages: ImageContent[] | undefined,\n\t\tsource: InputSource,\n\t\tstreamingBehavior?: \"steer\" | \"followUp\",\n\t): Promise<InputEventResult> {\n\t\tconst ctx = this.createContext();\n\t\tlet currentText = text;\n\t\tlet currentImages = images;\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tfor (const handler of ext.handlers.get(\"input\") ?? []) {\n\t\t\t\ttry {\n\t\t\t\t\tconst event: InputEvent = {\n\t\t\t\t\t\ttype: \"input\",\n\t\t\t\t\t\ttext: currentText,\n\t\t\t\t\t\timages: currentImages,\n\t\t\t\t\t\tsource,\n\t\t\t\t\t\tstreamingBehavior,\n\t\t\t\t\t};\n\t\t\t\t\tconst result = (await handler(event, ctx)) as InputEventResult | undefined;\n\t\t\t\t\tif (result?.action === \"handled\") return result;\n\t\t\t\t\tif (result?.action === \"transform\") {\n\t\t\t\t\t\tcurrentText = result.text;\n\t\t\t\t\t\tcurrentImages = result.images ?? currentImages;\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: \"input\",\n\t\t\t\t\t\terror: err instanceof Error ? err.message : String(err),\n\t\t\t\t\t\tstack: err instanceof Error ? err.stack : undefined,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn currentText !== text || currentImages !== images\n\t\t\t? { action: \"transform\", text: currentText, images: currentImages }\n\t\t\t: { action: \"continue\" };\n\t}\n}\n"]}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/core/extensions/runner.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Extension runner - executes extensions and manages their lifecycle.\n */\n\nimport type { AgentMessage } from \"@earendil-works/pi-agent-core\";\nimport type { ImageContent, Model, Provider, ProviderHeaders } from \"@earendil-works/pi-ai\";\nimport type { KeyId } from \"@earendil-works/pi-tui\";\nimport { type Theme, theme } from \"../../modes/interactive/theme/theme.ts\";\nimport type { ResourceDiagnostic } from \"../diagnostics.ts\";\nimport type { KeybindingsConfig } from \"../keybindings.ts\";\nimport type { ModelRegistry } from \"../model-registry.ts\";\nimport type { ScopedModel } from \"../model-resolver.ts\";\nimport type { SessionManager } from \"../session-manager.ts\";\nimport type { BuildSystemPromptOptions } from \"../system-prompt.ts\";\nimport type {\n\tBeforeAgentStartEvent,\n\tBeforeAgentStartEventResult,\n\tBeforeProviderHeadersEvent,\n\tBeforeProviderRequestEvent,\n\tCompactOptions,\n\tContextEvent,\n\tContextEventResult,\n\tContextUsage,\n\tEntryRenderer,\n\tExtension,\n\tExtensionActions,\n\tExtensionCommandContext,\n\tExtensionCommandContextActions,\n\tExtensionContext,\n\tExtensionContextActions,\n\tExtensionError,\n\tExtensionEvent,\n\tExtensionFlag,\n\tExtensionMode,\n\tExtensionRuntime,\n\tExtensionShortcut,\n\tExtensionUIContext,\n\tInputEvent,\n\tInputEventResult,\n\tInputSource,\n\tLoadExtensionsResult,\n\tMarkdownTransformer,\n\tMessageEndEvent,\n\tMessageEndEventResult,\n\tMessageRenderer,\n\tProjectTrustContext,\n\tProjectTrustEvent,\n\tProjectTrustEventResult,\n\tProviderConfig,\n\tRegisteredCommand,\n\tRegisteredTool,\n\tReplacedSessionContext,\n\tResolvedCommand,\n\tResourcesDiscoverEvent,\n\tResourcesDiscoverResult,\n\tSessionBeforeCompactResult,\n\tSessionBeforeForkResult,\n\tSessionBeforeSwitchResult,\n\tSessionBeforeTreeResult,\n\tSessionShutdownEvent,\n\tToolCallEvent,\n\tToolCallEventResult,\n\tToolResultEvent,\n\tToolResultEventResult,\n\tUIPromptKind,\n\tUserBashEvent,\n\tUserBashEventResult,\n} from \"./types.ts\";\n\n// Extension shortcuts compete with canonical keybinding ids from keybindings.json.\n// Only editor-global shortcuts are reserved here. Picker-specific bindings are not.\nconst RESERVED_KEYBINDINGS_FOR_EXTENSION_CONFLICTS = [\n\t\"app.interrupt\",\n\t\"app.clear\",\n\t\"app.exit\",\n\t\"app.suspend\",\n\t\"app.thinking.cycle\",\n\t\"app.model.cycleForward\",\n\t\"app.model.cycleBackward\",\n\t\"app.model.select\",\n\t\"app.tools.expand\",\n\t\"app.thinking.toggle\",\n\t\"app.editor.external\",\n\t\"app.message.copy\",\n\t\"app.message.followUp\",\n\t\"tui.input.submit\",\n\t\"tui.select.confirm\",\n\t\"tui.select.cancel\",\n\t\"tui.input.copy\",\n\t\"tui.editor.deleteToLineEnd\",\n] as const;\n\ntype BuiltInKeyBindings = Partial<Record<KeyId, { keybinding: string; restrictOverride: boolean }>>;\n\nconst buildBuiltinKeybindings = (resolvedKeybindings: KeybindingsConfig): BuiltInKeyBindings => {\n\tconst builtinKeybindings = {} as BuiltInKeyBindings;\n\tfor (const [keybinding, keys] of Object.entries(resolvedKeybindings)) {\n\t\tif (keys === undefined) continue;\n\t\tconst keyList = Array.isArray(keys) ? keys : [keys];\n\t\tconst restrictOverride = (RESERVED_KEYBINDINGS_FOR_EXTENSION_CONFLICTS as readonly string[]).includes(keybinding);\n\t\tfor (const key of keyList) {\n\t\t\tconst normalizedKey = key.toLowerCase() as KeyId;\n\t\t\t// If multiple actions bind the same key, the reserved action wins so extensions\n\t\t\t// remain blocked by reserved shortcuts regardless of iteration order.\n\t\t\tconst existing = builtinKeybindings[normalizedKey];\n\t\t\tif (existing?.restrictOverride && !restrictOverride) continue;\n\t\t\tbuiltinKeybindings[normalizedKey] = {\n\t\t\t\tkeybinding,\n\t\t\t\trestrictOverride,\n\t\t\t};\n\t\t}\n\t}\n\treturn builtinKeybindings;\n};\n\n/** Combined result from all before_agent_start handlers */\ninterface BeforeAgentStartCombinedResult {\n\tmessages?: NonNullable<BeforeAgentStartEventResult[\"message\"]>[];\n\tsystemPrompt?: string;\n}\n\n/**\n * Events handled by the generic emit() method.\n * Events with dedicated emitXxx() methods are excluded for stronger type safety.\n */\ntype RunnerEmitEvent = Exclude<\n\tExtensionEvent,\n\t| ToolCallEvent\n\t| ProjectTrustEvent\n\t| ToolResultEvent\n\t| UserBashEvent\n\t| ContextEvent\n\t| BeforeProviderRequestEvent\n\t| BeforeProviderHeadersEvent\n\t| BeforeAgentStartEvent\n\t| MessageEndEvent\n\t| ResourcesDiscoverEvent\n\t| InputEvent\n>;\n\ntype SessionBeforeEvent = Extract<\n\tRunnerEmitEvent,\n\t{ type: \"session_before_switch\" | \"session_before_fork\" | \"session_before_compact\" | \"session_before_tree\" }\n>;\n\ntype SessionBeforeEventResult =\n\t| SessionBeforeSwitchResult\n\t| SessionBeforeForkResult\n\t| SessionBeforeCompactResult\n\t| SessionBeforeTreeResult;\n\ntype RunnerEmitResult<TEvent extends RunnerEmitEvent> = TEvent extends { type: \"session_before_switch\" }\n\t? SessionBeforeSwitchResult | undefined\n\t: TEvent extends { type: \"session_before_fork\" }\n\t\t? SessionBeforeForkResult | undefined\n\t\t: TEvent extends { type: \"session_before_compact\" }\n\t\t\t? SessionBeforeCompactResult | undefined\n\t\t\t: TEvent extends { type: \"session_before_tree\" }\n\t\t\t\t? SessionBeforeTreeResult | undefined\n\t\t\t\t: undefined;\n\nexport type ExtensionErrorListener = (error: ExtensionError) => void;\n\nexport type NewSessionHandler = (options?: {\n\tparentSession?: string;\n\tsetup?: (sessionManager: SessionManager) => Promise<void>;\n\twithSession?: (ctx: ReplacedSessionContext) => Promise<void>;\n}) => Promise<{ cancelled: boolean }>;\n\nexport type ForkHandler = (\n\tentryId: string,\n\toptions?: { position?: \"before\" | \"at\"; withSession?: (ctx: ReplacedSessionContext) => Promise<void> },\n) => Promise<{ cancelled: boolean }>;\n\nexport type NavigateTreeHandler = (\n\ttargetId: string,\n\toptions?: { summarize?: boolean; customInstructions?: string; replaceInstructions?: boolean; label?: string },\n) => Promise<{ cancelled: boolean }>;\n\nexport type SwitchSessionHandler = (\n\tsessionPath: string,\n\toptions?: { withSession?: (ctx: ReplacedSessionContext) => Promise<void> },\n) => Promise<{ cancelled: boolean }>;\n\nexport type ReloadHandler = () => Promise<void>;\n\nexport type ShutdownHandler = () => void;\n\n/**\n * Helper function to emit session_shutdown event to extensions.\n * Returns true if the event was emitted, false if there were no handlers.\n */\nexport async function emitSessionShutdownEvent(\n\textensionRunner: ExtensionRunner,\n\tevent: SessionShutdownEvent,\n): Promise<boolean> {\n\tif (extensionRunner.hasHandlers(\"session_shutdown\")) {\n\t\tawait extensionRunner.emit(event);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nexport async function emitProjectTrustEvent(\n\textensionsResult: LoadExtensionsResult,\n\tevent: ProjectTrustEvent,\n\tctx: ProjectTrustContext,\n): Promise<{ result?: ProjectTrustEventResult; errors: ExtensionError[] }> {\n\tconst errors: ExtensionError[] = [];\n\tfor (const ext of extensionsResult.extensions) {\n\t\t// A single extension may register multiple handlers for the same event.\n\t\t// The first project_trust handler that returns yes/no wins; undecided falls through.\n\t\tconst handlers = ext.handlers.get(\"project_trust\");\n\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\tfor (const handler of handlers) {\n\t\t\ttry {\n\t\t\t\tconst handlerResult = (await handler(event, ctx)) as ProjectTrustEventResult;\n\t\t\t\tif (handlerResult.trusted === \"undecided\") {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\treturn { result: handlerResult, errors };\n\t\t\t} catch (error) {\n\t\t\t\terrors.push({\n\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\tevent: event.type,\n\t\t\t\t\terror: error instanceof Error ? error.message : String(error),\n\t\t\t\t\tstack: error instanceof Error ? error.stack : undefined,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\treturn { errors };\n}\n\nconst noOpUIContext: ExtensionUIContext = {\n\tselect: async () => undefined,\n\tconfirm: async () => false,\n\tinput: async () => undefined,\n\tnotify: () => {},\n\tonTerminalInput: () => () => {},\n\tsetStatus: () => {},\n\tsetWorkingMessage: () => {},\n\tsetWorkingVisible: () => {},\n\tsetWorkingIndicator: () => {},\n\tsetHiddenThinkingLabel: () => {},\n\tsetWidget: () => {},\n\tsetFooter: () => {},\n\tsetHeader: () => {},\n\tsetTitle: () => {},\n\tcustom: async () => undefined as never,\n\tpasteToEditor: () => {},\n\tsetEditorText: () => {},\n\tgetEditorText: () => \"\",\n\teditor: async () => undefined,\n\taddAutocompleteProvider: () => {},\n\tsetEditorComponent: () => {},\n\tgetEditorComponent: () => undefined,\n\tget theme() {\n\t\treturn theme;\n\t},\n\tgetAllThemes: () => [],\n\tgetTheme: () => undefined,\n\tsetTheme: (_theme: string | Theme) => ({ success: false, error: \"UI not available\" }),\n\tgetToolsExpanded: () => false,\n\tsetToolsExpanded: () => {},\n};\n\nexport class ExtensionRunner {\n\tprivate extensions: Extension[];\n\tprivate runtime: ExtensionRuntime;\n\tprivate uiContext: ExtensionUIContext;\n\tprivate mode: ExtensionMode = \"print\";\n\tprivate cwd: string;\n\tprivate sessionManager: SessionManager;\n\tprivate modelRegistry: ModelRegistry;\n\tprivate errorListeners: Set<ExtensionErrorListener> = new Set();\n\tprivate getModel: () => Model<any> | undefined = () => undefined;\n\tprivate getScopedModels: () => readonly ScopedModel[] = () => [];\n\tprivate isIdleFn: () => boolean = () => true;\n\tprivate isProjectTrustedFn: () => boolean = () => true;\n\tprivate getSignalFn: () => AbortSignal | undefined = () => undefined;\n\tprivate waitForIdleFn: () => Promise<void> = async () => {};\n\tprivate abortFn: () => void = () => {};\n\tprivate hasPendingMessagesFn: () => boolean = () => false;\n\tprivate getContextUsageFn: () => ContextUsage | undefined = () => undefined;\n\tprivate compactFn: (options?: CompactOptions) => void = () => {};\n\tprivate getSystemPromptFn: () => string = () => \"\";\n\tprivate getSystemPromptOptionsFn: () => BuildSystemPromptOptions = () => ({ cwd: this.cwd });\n\tprivate newSessionHandler: NewSessionHandler = async () => ({ cancelled: false });\n\tprivate forkHandler: ForkHandler = async () => ({ cancelled: false });\n\tprivate navigateTreeHandler: NavigateTreeHandler = async () => ({ cancelled: false });\n\tprivate switchSessionHandler: SwitchSessionHandler = async () => ({ cancelled: false });\n\tprivate reloadHandler: ReloadHandler = async () => {};\n\tprivate shutdownHandler: ShutdownHandler = () => {};\n\tprivate shortcutDiagnostics: ResourceDiagnostic[] = [];\n\tprivate commandDiagnostics: ResourceDiagnostic[] = [];\n\tprivate staleMessage: string | undefined;\n\tprivate uiPromptDepth = 0;\n\tprivate activeUIPrompt: { kind: UIPromptKind; title?: string } | undefined;\n\n\tconstructor(\n\t\textensions: Extension[],\n\t\truntime: ExtensionRuntime,\n\t\tcwd: string,\n\t\tsessionManager: SessionManager,\n\t\tmodelRegistry: ModelRegistry,\n\t) {\n\t\tthis.extensions = extensions;\n\t\tthis.runtime = runtime;\n\t\tthis.uiContext = noOpUIContext;\n\t\tthis.cwd = cwd;\n\t\tthis.sessionManager = sessionManager;\n\t\tthis.modelRegistry = modelRegistry;\n\t}\n\n\tbindCore(\n\t\tactions: ExtensionActions,\n\t\tcontextActions: ExtensionContextActions,\n\t\tproviderActions?: {\n\t\t\tregisterProvider?: (name: string, config: ProviderConfig) => void;\n\t\t\tregisterNativeProvider?: (provider: Provider) => void;\n\t\t\tunregisterProvider?: (name: string) => void;\n\t\t},\n\t): void {\n\t\t// Copy actions into the shared runtime (all extension APIs reference this)\n\t\tthis.runtime.sendMessage = actions.sendMessage;\n\t\tthis.runtime.sendUserMessage = actions.sendUserMessage;\n\t\tthis.runtime.appendEntry = actions.appendEntry;\n\t\tthis.runtime.setSessionName = actions.setSessionName;\n\t\tthis.runtime.getSessionName = actions.getSessionName;\n\t\tthis.runtime.setLabel = actions.setLabel;\n\t\tthis.runtime.getActiveTools = actions.getActiveTools;\n\t\tthis.runtime.getAllTools = actions.getAllTools;\n\t\tthis.runtime.setActiveTools = actions.setActiveTools;\n\t\tthis.runtime.refreshTools = actions.refreshTools;\n\t\tthis.runtime.getCommands = actions.getCommands;\n\t\tthis.runtime.setModel = actions.setModel;\n\t\tthis.runtime.getThinkingLevel = actions.getThinkingLevel;\n\t\tthis.runtime.setThinkingLevel = actions.setThinkingLevel;\n\n\t\t// Context actions (required)\n\t\tthis.getModel = contextActions.getModel;\n\t\tthis.getScopedModels = contextActions.getScopedModels;\n\t\tthis.isIdleFn = contextActions.isIdle;\n\t\tthis.isProjectTrustedFn = contextActions.isProjectTrusted;\n\t\tthis.getSignalFn = contextActions.getSignal;\n\t\tthis.abortFn = contextActions.abort;\n\t\tthis.hasPendingMessagesFn = contextActions.hasPendingMessages;\n\t\tthis.shutdownHandler = contextActions.shutdown;\n\t\tthis.getContextUsageFn = contextActions.getContextUsage;\n\t\tthis.compactFn = contextActions.compact;\n\t\tthis.getSystemPromptFn = contextActions.getSystemPrompt;\n\t\tthis.getSystemPromptOptionsFn = contextActions.getSystemPromptOptions ?? (() => ({ cwd: this.cwd }));\n\n\t\t// Flush provider registrations queued during extension loading\n\t\tfor (const { name, config, extensionPath } of this.runtime.pendingProviderRegistrations) {\n\t\t\ttry {\n\t\t\t\tif (providerActions?.registerProvider) {\n\t\t\t\t\tproviderActions.registerProvider(name, config);\n\t\t\t\t} else {\n\t\t\t\t\tthis.modelRegistry.registerProvider(name, config);\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\tthis.emitError({\n\t\t\t\t\textensionPath,\n\t\t\t\t\tevent: \"register_provider\",\n\t\t\t\t\terror: err instanceof Error ? err.message : String(err),\n\t\t\t\t\tstack: err instanceof Error ? err.stack : undefined,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tthis.runtime.pendingProviderRegistrations = [];\n\t\tfor (const { provider, extensionPath } of this.runtime.pendingNativeProviderRegistrations) {\n\t\t\ttry {\n\t\t\t\tif (providerActions?.registerNativeProvider) {\n\t\t\t\t\tproviderActions.registerNativeProvider(provider);\n\t\t\t\t} else {\n\t\t\t\t\tthis.modelRegistry.registerProvider(provider);\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\tthis.emitError({\n\t\t\t\t\textensionPath,\n\t\t\t\t\tevent: \"register_provider\",\n\t\t\t\t\terror: err instanceof Error ? err.message : String(err),\n\t\t\t\t\tstack: err instanceof Error ? err.stack : undefined,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tthis.runtime.pendingNativeProviderRegistrations = [];\n\n\t\t// From this point on, provider registration/unregistration takes effect immediately\n\t\t// without requiring a /reload.\n\t\tthis.runtime.registerProvider = (name, config) => {\n\t\t\tif (providerActions?.registerProvider) {\n\t\t\t\tproviderActions.registerProvider(name, config);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.modelRegistry.registerProvider(name, config);\n\t\t};\n\t\tthis.runtime.registerNativeProvider = (provider) => {\n\t\t\tif (providerActions?.registerNativeProvider) {\n\t\t\t\tproviderActions.registerNativeProvider(provider);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.modelRegistry.registerProvider(provider);\n\t\t};\n\t\tthis.runtime.unregisterProvider = (name) => {\n\t\t\tif (providerActions?.unregisterProvider) {\n\t\t\t\tproviderActions.unregisterProvider(name);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.modelRegistry.unregisterProvider(name);\n\t\t};\n\t}\n\n\tbindCommandContext(actions?: ExtensionCommandContextActions): void {\n\t\tif (actions) {\n\t\t\tthis.waitForIdleFn = actions.waitForIdle;\n\t\t\tthis.newSessionHandler = actions.newSession;\n\t\t\tthis.forkHandler = actions.fork;\n\t\t\tthis.navigateTreeHandler = actions.navigateTree;\n\t\t\tthis.switchSessionHandler = actions.switchSession;\n\t\t\tthis.reloadHandler = actions.reload;\n\t\t\treturn;\n\t\t}\n\n\t\tthis.waitForIdleFn = async () => {};\n\t\tthis.newSessionHandler = async () => ({ cancelled: false });\n\t\tthis.forkHandler = async () => ({ cancelled: false });\n\t\tthis.navigateTreeHandler = async () => ({ cancelled: false });\n\t\tthis.switchSessionHandler = async () => ({ cancelled: false });\n\t\tthis.reloadHandler = async () => {};\n\t}\n\n\tsetUIContext(uiContext?: ExtensionUIContext, mode: ExtensionMode = \"print\"): void {\n\t\tthis.uiContext = uiContext ? this.wrapUIPromptContext(uiContext) : noOpUIContext;\n\t\tthis.mode = mode;\n\t}\n\n\tprivate wrapUIPromptContext(ui: ExtensionUIContext): ExtensionUIContext {\n\t\treturn {\n\t\t\t...ui,\n\t\t\tselect: (title, options, opts) => this.withUIPrompt(\"select\", title, () => ui.select(title, options, opts)),\n\t\t\tconfirm: (title, message, opts) => this.withUIPrompt(\"confirm\", title, () => ui.confirm(title, message, opts)),\n\t\t\tinput: (title, placeholder, opts) =>\n\t\t\t\tthis.withUIPrompt(\"input\", title, () => ui.input(title, placeholder, opts)),\n\t\t\teditor: (title, prefill) => this.withUIPrompt(\"editor\", title, () => ui.editor(title, prefill)),\n\t\t\tcustom: (factory, options) => this.withUIPrompt(\"custom\", undefined, () => ui.custom(factory, options)),\n\t\t};\n\t}\n\n\tprivate withUIPrompt<T>(kind: UIPromptKind, title: string | undefined, run: () => Promise<T>): Promise<T> {\n\t\tconst outerPrompt = this.uiPromptDepth++ === 0;\n\t\tif (outerPrompt) {\n\t\t\tthis.activeUIPrompt = { kind, title };\n\t\t\tthis.emitUIPromptEvent({ type: \"ui_prompt_start\", reason: \"ui_prompt\", kind, ...(title ? { title } : {}) });\n\t\t}\n\n\t\tconst finish = () => {\n\t\t\tif (--this.uiPromptDepth > 0) return;\n\t\t\tthis.uiPromptDepth = 0;\n\n\t\t\tconst prompt = this.activeUIPrompt ?? { kind, title };\n\t\t\tthis.activeUIPrompt = undefined;\n\t\t\tthis.emitUIPromptEvent({\n\t\t\t\ttype: \"ui_prompt_end\",\n\t\t\t\treason: \"ui_prompt\",\n\t\t\t\tkind: prompt.kind,\n\t\t\t\t...(prompt.title ? { title: prompt.title } : {}),\n\t\t\t});\n\t\t};\n\n\t\ttry {\n\t\t\treturn run().finally(finish);\n\t\t} catch (err) {\n\t\t\tfinish();\n\t\t\tthrow err;\n\t\t}\n\t}\n\n\tprivate emitUIPromptEvent(event: Extract<RunnerEmitEvent, { type: \"ui_prompt_start\" | \"ui_prompt_end\" }>): void {\n\t\tqueueMicrotask(() => {\n\t\t\tvoid this.emit(event);\n\t\t});\n\t}\n\n\tgetUIContext(): ExtensionUIContext {\n\t\treturn this.uiContext;\n\t}\n\n\thasUI(): boolean {\n\t\treturn this.uiContext !== noOpUIContext;\n\t}\n\n\tgetExtensionPaths(): string[] {\n\t\treturn this.extensions.map((e) => e.path);\n\t}\n\n\t/** Get all registered tools from all extensions (first registration per name wins). */\n\tgetAllRegisteredTools(): RegisteredTool[] {\n\t\tconst toolsByName = new Map<string, RegisteredTool>();\n\t\tfor (const ext of this.extensions) {\n\t\t\tfor (const tool of ext.tools.values()) {\n\t\t\t\tif (!toolsByName.has(tool.definition.name)) {\n\t\t\t\t\ttoolsByName.set(tool.definition.name, tool);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn Array.from(toolsByName.values());\n\t}\n\n\t/** Get a tool definition by name. Returns undefined if not found. */\n\tgetToolDefinition(toolName: string): RegisteredTool[\"definition\"] | undefined {\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst tool = ext.tools.get(toolName);\n\t\t\tif (tool) {\n\t\t\t\treturn tool.definition;\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tgetFlags(): Map<string, ExtensionFlag> {\n\t\tconst allFlags = new Map<string, ExtensionFlag>();\n\t\tfor (const ext of this.extensions) {\n\t\t\tfor (const [name, flag] of ext.flags) {\n\t\t\t\tif (!allFlags.has(name)) {\n\t\t\t\t\tallFlags.set(name, flag);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn allFlags;\n\t}\n\n\tsetFlagValue(name: string, value: boolean | string): void {\n\t\tthis.runtime.flagValues.set(name, value);\n\t}\n\n\tgetFlagValues(): Map<string, boolean | string> {\n\t\treturn new Map(this.runtime.flagValues);\n\t}\n\n\tgetShortcuts(resolvedKeybindings: KeybindingsConfig): Map<KeyId, ExtensionShortcut> {\n\t\tthis.shortcutDiagnostics = [];\n\t\tconst builtinKeybindings = buildBuiltinKeybindings(resolvedKeybindings);\n\t\tconst extensionShortcuts = new Map<KeyId, ExtensionShortcut>();\n\n\t\tconst addDiagnostic = (message: string, extensionPath: string) => {\n\t\t\tthis.shortcutDiagnostics.push({ type: \"warning\", message, path: extensionPath });\n\t\t\tif (!this.hasUI()) {\n\t\t\t\tconsole.warn(message);\n\t\t\t}\n\t\t};\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tfor (const [key, shortcut] of ext.shortcuts) {\n\t\t\t\tconst normalizedKey = key.toLowerCase() as KeyId;\n\n\t\t\t\tconst builtInKeybinding = builtinKeybindings[normalizedKey];\n\t\t\t\tif (builtInKeybinding?.restrictOverride === true) {\n\t\t\t\t\taddDiagnostic(\n\t\t\t\t\t\t`Extension shortcut '${key}' from ${shortcut.extensionPath} conflicts with built-in shortcut. Skipping.`,\n\t\t\t\t\t\tshortcut.extensionPath,\n\t\t\t\t\t);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (builtInKeybinding?.restrictOverride === false) {\n\t\t\t\t\taddDiagnostic(\n\t\t\t\t\t\t`Extension shortcut conflict: '${key}' is built-in shortcut for ${builtInKeybinding.keybinding} and ${shortcut.extensionPath}. Using ${shortcut.extensionPath}.`,\n\t\t\t\t\t\tshortcut.extensionPath,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst existingExtensionShortcut = extensionShortcuts.get(normalizedKey);\n\t\t\t\tif (existingExtensionShortcut) {\n\t\t\t\t\taddDiagnostic(\n\t\t\t\t\t\t`Extension shortcut conflict: '${key}' registered by both ${existingExtensionShortcut.extensionPath} and ${shortcut.extensionPath}. Using ${shortcut.extensionPath}.`,\n\t\t\t\t\t\tshortcut.extensionPath,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\textensionShortcuts.set(normalizedKey, shortcut);\n\t\t\t}\n\t\t}\n\t\treturn extensionShortcuts;\n\t}\n\n\tgetShortcutDiagnostics(): ResourceDiagnostic[] {\n\t\treturn this.shortcutDiagnostics;\n\t}\n\n\tinvalidate(\n\t\tmessage = \"This extension ctx is stale after session replacement or reload. Do not use a captured pi or command ctx after ctx.newSession(), ctx.fork(), ctx.switchSession(), or ctx.reload(). For newSession, fork, and switchSession, move post-replacement work into withSession and use the ctx passed to withSession. For reload, do not use the old ctx after await ctx.reload().\",\n\t): void {\n\t\tif (!this.staleMessage) {\n\t\t\tthis.staleMessage = message;\n\t\t\tthis.runtime.invalidate(message);\n\t\t}\n\t}\n\n\tprivate assertActive(): void {\n\t\tif (this.staleMessage) {\n\t\t\tthrow new Error(this.staleMessage);\n\t\t}\n\t}\n\n\tonError(listener: ExtensionErrorListener): () => void {\n\t\tthis.errorListeners.add(listener);\n\t\treturn () => this.errorListeners.delete(listener);\n\t}\n\n\temitError(error: ExtensionError): void {\n\t\tfor (const listener of this.errorListeners) {\n\t\t\tlistener(error);\n\t\t}\n\t}\n\n\thasHandlers(eventType: string): boolean {\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(eventType);\n\t\t\tif (handlers && handlers.length > 0) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tgetMessageRenderer(customType: string): MessageRenderer | undefined {\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst renderer = ext.messageRenderers.get(customType);\n\t\t\tif (renderer) {\n\t\t\t\treturn renderer;\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tgetMarkdownTransformers(): MarkdownTransformer[] {\n\t\treturn this.extensions.flatMap((ext) => (ext.markdownTransformer ? [ext.markdownTransformer] : []));\n\t}\n\n\tgetEntryRenderer(customType: string): EntryRenderer | undefined {\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst renderer = ext.entryRenderers?.get(customType);\n\t\t\tif (renderer) {\n\t\t\t\treturn renderer;\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate resolveRegisteredCommands(): ResolvedCommand[] {\n\t\tconst commands: RegisteredCommand[] = [];\n\t\tconst counts = new Map<string, number>();\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tfor (const command of ext.commands.values()) {\n\t\t\t\tcommands.push(command);\n\t\t\t\tcounts.set(command.name, (counts.get(command.name) ?? 0) + 1);\n\t\t\t}\n\t\t}\n\n\t\tconst seen = new Map<string, number>();\n\t\tconst takenInvocationNames = new Set<string>();\n\n\t\treturn commands.map((command) => {\n\t\t\tconst occurrence = (seen.get(command.name) ?? 0) + 1;\n\t\t\tseen.set(command.name, occurrence);\n\n\t\t\tlet invocationName = (counts.get(command.name) ?? 0) > 1 ? `${command.name}:${occurrence}` : command.name;\n\n\t\t\tif (takenInvocationNames.has(invocationName)) {\n\t\t\t\tlet suffix = occurrence;\n\t\t\t\tdo {\n\t\t\t\t\tsuffix++;\n\t\t\t\t\tinvocationName = `${command.name}:${suffix}`;\n\t\t\t\t} while (takenInvocationNames.has(invocationName));\n\t\t\t}\n\n\t\t\ttakenInvocationNames.add(invocationName);\n\t\t\treturn {\n\t\t\t\t...command,\n\t\t\t\tinvocationName,\n\t\t\t};\n\t\t});\n\t}\n\n\tgetModelRegistry(): ModelRegistry {\n\t\treturn this.modelRegistry;\n\t}\n\n\tgetRegisteredCommands(): ResolvedCommand[] {\n\t\tthis.commandDiagnostics = [];\n\t\treturn this.resolveRegisteredCommands();\n\t}\n\n\tgetCommandDiagnostics(): ResourceDiagnostic[] {\n\t\treturn this.commandDiagnostics;\n\t}\n\n\tgetCommand(name: string): ResolvedCommand | undefined {\n\t\treturn this.resolveRegisteredCommands().find((command) => command.invocationName === name);\n\t}\n\n\t/**\n\t * Request a graceful shutdown. Called by extension tools and event handlers.\n\t * The actual shutdown behavior is provided by the mode via bindExtensions().\n\t */\n\tshutdown(): void {\n\t\tthis.shutdownHandler();\n\t}\n\n\tgetActiveTools(): string[] {\n\t\tthis.assertActive();\n\t\treturn this.runtime.getActiveTools();\n\t}\n\n\t/**\n\t * Create an ExtensionContext for use in event handlers and tool execution.\n\t * Context values are resolved at call time, so changes via bindCore/bindUI are reflected.\n\t */\n\tcreateContext(): ExtensionContext {\n\t\tconst runner = this;\n\t\tconst getModel = this.getModel;\n\t\tconst getScopedModels = this.getScopedModels;\n\t\treturn {\n\t\t\tget ui() {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.uiContext;\n\t\t\t},\n\t\t\tget mode() {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.mode;\n\t\t\t},\n\t\t\tget hasUI() {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.hasUI();\n\t\t\t},\n\t\t\tget cwd() {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.cwd;\n\t\t\t},\n\t\t\tget sessionManager() {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.sessionManager;\n\t\t\t},\n\t\t\tget modelRegistry() {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.modelRegistry;\n\t\t\t},\n\t\t\tget model() {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn getModel();\n\t\t\t},\n\t\t\tget scopedModels() {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn getScopedModels();\n\t\t\t},\n\t\t\tget thinkingLevel() {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.runtime.getThinkingLevel();\n\t\t\t},\n\t\t\tisIdle: () => {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.isIdleFn();\n\t\t\t},\n\t\t\tisProjectTrusted: () => {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.isProjectTrustedFn();\n\t\t\t},\n\t\t\tget signal() {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.getSignalFn();\n\t\t\t},\n\t\t\tabort: () => {\n\t\t\t\trunner.assertActive();\n\t\t\t\trunner.abortFn();\n\t\t\t},\n\t\t\thasPendingMessages: () => {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.hasPendingMessagesFn();\n\t\t\t},\n\t\t\tshutdown: () => {\n\t\t\t\trunner.assertActive();\n\t\t\t\trunner.shutdownHandler();\n\t\t\t},\n\t\t\tgetContextUsage: () => {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.getContextUsageFn();\n\t\t\t},\n\t\t\tcompact: (options) => {\n\t\t\t\trunner.assertActive();\n\t\t\t\trunner.compactFn(options);\n\t\t\t},\n\t\t\tgetSystemPrompt: () => {\n\t\t\t\trunner.assertActive();\n\t\t\t\treturn runner.getSystemPromptFn();\n\t\t\t},\n\t\t};\n\t}\n\n\tcreateCommandContext(): ExtensionCommandContext {\n\t\t// Use property descriptors instead of object spread so the guarded getters from\n\t\t// createContext() stay lazy. A spread would eagerly read them once and freeze the\n\t\t// old values into the returned object, bypassing stale-instance checks.\n\t\tconst context = Object.defineProperties(\n\t\t\t{},\n\t\t\tObject.getOwnPropertyDescriptors(this.createContext()),\n\t\t) as ExtensionCommandContext;\n\t\tcontext.getSystemPromptOptions = () => {\n\t\t\tthis.assertActive();\n\t\t\treturn this.getSystemPromptOptionsFn();\n\t\t};\n\t\tcontext.waitForIdle = () => {\n\t\t\tthis.assertActive();\n\t\t\treturn this.waitForIdleFn();\n\t\t};\n\t\tcontext.newSession = (options) => {\n\t\t\tthis.assertActive();\n\t\t\treturn this.newSessionHandler(options);\n\t\t};\n\t\tcontext.fork = (entryId, options) => {\n\t\t\tthis.assertActive();\n\t\t\treturn this.forkHandler(entryId, options);\n\t\t};\n\t\tcontext.navigateTree = (targetId, options) => {\n\t\t\tthis.assertActive();\n\t\t\treturn this.navigateTreeHandler(targetId, options);\n\t\t};\n\t\tcontext.switchSession = (sessionPath, options) => {\n\t\t\tthis.assertActive();\n\t\t\treturn this.switchSessionHandler(sessionPath, options);\n\t\t};\n\t\tcontext.reload = () => {\n\t\t\tthis.assertActive();\n\t\t\treturn this.reloadHandler();\n\t\t};\n\t\treturn context;\n\t}\n\n\tprivate isSessionBeforeEvent(event: RunnerEmitEvent): event is SessionBeforeEvent {\n\t\treturn (\n\t\t\tevent.type === \"session_before_switch\" ||\n\t\t\tevent.type === \"session_before_fork\" ||\n\t\t\tevent.type === \"session_before_compact\" ||\n\t\t\tevent.type === \"session_before_tree\"\n\t\t);\n\t}\n\n\tasync emit<TEvent extends RunnerEmitEvent>(event: TEvent): Promise<RunnerEmitResult<TEvent>> {\n\t\tconst ctx = this.createContext();\n\t\tlet result: SessionBeforeEventResult | undefined;\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(event.type);\n\t\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\t\tfor (const handler of handlers) {\n\t\t\t\ttry {\n\t\t\t\t\tconst handlerResult = await handler(event, ctx);\n\n\t\t\t\t\tif (this.isSessionBeforeEvent(event) && handlerResult) {\n\t\t\t\t\t\tresult = handlerResult as SessionBeforeEventResult;\n\t\t\t\t\t\tif (result.cancel) {\n\t\t\t\t\t\t\treturn result as RunnerEmitResult<TEvent>;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\t\t\t\tconst stack = err instanceof Error ? err.stack : undefined;\n\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: event.type,\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t\tstack,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result as RunnerEmitResult<TEvent>;\n\t}\n\n\tasync emitMessageEnd(event: MessageEndEvent): Promise<AgentMessage | undefined> {\n\t\tconst ctx = this.createContext();\n\t\tlet currentMessage = event.message;\n\t\tlet modified = false;\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(\"message_end\");\n\t\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\t\tfor (const handler of handlers) {\n\t\t\t\ttry {\n\t\t\t\t\tconst currentEvent: MessageEndEvent = { ...event, message: currentMessage };\n\t\t\t\t\tconst handlerResult = (await handler(currentEvent, ctx)) as MessageEndEventResult | undefined;\n\t\t\t\t\tif (!handlerResult?.message) continue;\n\n\t\t\t\t\tif (handlerResult.message.role !== currentMessage.role) {\n\t\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\t\tevent: \"message_end\",\n\t\t\t\t\t\t\terror: \"message_end handlers must return a message with the same role\",\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tcurrentMessage = handlerResult.message;\n\t\t\t\t\tmodified = true;\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\t\t\t\tconst stack = err instanceof Error ? err.stack : undefined;\n\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: \"message_end\",\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t\tstack,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn modified ? currentMessage : undefined;\n\t}\n\n\tasync emitToolResult(event: ToolResultEvent): Promise<ToolResultEventResult | undefined> {\n\t\tconst ctx = this.createContext();\n\t\tconst currentEvent: ToolResultEvent = { ...event };\n\t\tlet modified = false;\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(\"tool_result\");\n\t\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\t\tfor (const handler of handlers) {\n\t\t\t\ttry {\n\t\t\t\t\tconst handlerResult = (await handler(currentEvent, ctx)) as ToolResultEventResult | undefined;\n\t\t\t\t\tif (!handlerResult) continue;\n\n\t\t\t\t\tif (handlerResult.content !== undefined) {\n\t\t\t\t\t\tcurrentEvent.content = handlerResult.content;\n\t\t\t\t\t\tmodified = true;\n\t\t\t\t\t}\n\t\t\t\t\tif (handlerResult.details !== undefined) {\n\t\t\t\t\t\tcurrentEvent.details = handlerResult.details;\n\t\t\t\t\t\tmodified = true;\n\t\t\t\t\t}\n\t\t\t\t\tif (handlerResult.isError !== undefined) {\n\t\t\t\t\t\tcurrentEvent.isError = handlerResult.isError;\n\t\t\t\t\t\tmodified = true;\n\t\t\t\t\t}\n\t\t\t\t\tif (handlerResult.usage !== undefined) {\n\t\t\t\t\t\tcurrentEvent.usage = handlerResult.usage;\n\t\t\t\t\t\tmodified = true;\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\t\t\t\tconst stack = err instanceof Error ? err.stack : undefined;\n\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: \"tool_result\",\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t\tstack,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!modified) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn {\n\t\t\tcontent: currentEvent.content,\n\t\t\tdetails: currentEvent.details,\n\t\t\tisError: currentEvent.isError,\n\t\t\tusage: currentEvent.usage,\n\t\t};\n\t}\n\n\tasync emitToolCall(event: ToolCallEvent): Promise<ToolCallEventResult | undefined> {\n\t\tconst ctx = this.createContext();\n\t\tlet result: ToolCallEventResult | undefined;\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(\"tool_call\");\n\t\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\t\tfor (const handler of handlers) {\n\t\t\t\tconst handlerResult = await handler(event, ctx);\n\n\t\t\t\tif (handlerResult) {\n\t\t\t\t\tresult = handlerResult as ToolCallEventResult;\n\t\t\t\t\tif (result.block) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tasync emitUserBash(event: UserBashEvent): Promise<UserBashEventResult | undefined> {\n\t\tconst ctx = this.createContext();\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(\"user_bash\");\n\t\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\t\tfor (const handler of handlers) {\n\t\t\t\ttry {\n\t\t\t\t\tconst handlerResult = await handler(event, ctx);\n\t\t\t\t\tif (handlerResult) {\n\t\t\t\t\t\treturn handlerResult as UserBashEventResult;\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\t\t\t\tconst stack = err instanceof Error ? err.stack : undefined;\n\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: \"user_bash\",\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t\tstack,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tasync emitContext(messages: AgentMessage[]): Promise<AgentMessage[]> {\n\t\tconst ctx = this.createContext();\n\t\tlet currentMessages = structuredClone(messages);\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(\"context\");\n\t\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\t\tfor (const handler of handlers) {\n\t\t\t\ttry {\n\t\t\t\t\tconst event: ContextEvent = { type: \"context\", messages: currentMessages };\n\t\t\t\t\tconst handlerResult = await handler(event, ctx);\n\n\t\t\t\t\tif (handlerResult && (handlerResult as ContextEventResult).messages) {\n\t\t\t\t\t\tcurrentMessages = (handlerResult as ContextEventResult).messages!;\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\t\t\t\tconst stack = err instanceof Error ? err.stack : undefined;\n\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: \"context\",\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t\tstack,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn currentMessages;\n\t}\n\n\tasync emitBeforeProviderRequest(payload: unknown): Promise<unknown> {\n\t\tconst ctx = this.createContext();\n\t\tlet currentPayload = payload;\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(\"before_provider_request\");\n\t\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\t\tfor (const handler of handlers) {\n\t\t\t\ttry {\n\t\t\t\t\tconst event: BeforeProviderRequestEvent = {\n\t\t\t\t\t\ttype: \"before_provider_request\",\n\t\t\t\t\t\tpayload: currentPayload,\n\t\t\t\t\t};\n\t\t\t\t\tconst handlerResult = await handler(event, ctx);\n\t\t\t\t\tif (handlerResult !== undefined) {\n\t\t\t\t\t\tcurrentPayload = handlerResult;\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\t\t\t\tconst stack = err instanceof Error ? err.stack : undefined;\n\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: \"before_provider_request\",\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t\tstack,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn currentPayload;\n\t}\n\n\tasync emitBeforeProviderHeaders(headers: ProviderHeaders): Promise<ProviderHeaders> {\n\t\tconst ctx = this.createContext();\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(\"before_provider_headers\");\n\t\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\t\tfor (const handler of handlers) {\n\t\t\t\ttry {\n\t\t\t\t\t// Handlers mutate `headers` in place; the return value is ignored.\n\t\t\t\t\tconst event: BeforeProviderHeadersEvent = {\n\t\t\t\t\t\ttype: \"before_provider_headers\",\n\t\t\t\t\t\theaders,\n\t\t\t\t\t};\n\t\t\t\t\tawait handler(event, ctx);\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\t\t\t\tconst stack = err instanceof Error ? err.stack : undefined;\n\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: \"before_provider_headers\",\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t\tstack,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn headers;\n\t}\n\n\tasync emitBeforeAgentStart(\n\t\tprompt: string,\n\t\timages: ImageContent[] | undefined,\n\t\tsystemPrompt: string,\n\t\tsystemPromptOptions: BuildSystemPromptOptions,\n\t): Promise<BeforeAgentStartCombinedResult | undefined> {\n\t\tlet currentSystemPrompt = systemPrompt;\n\t\tconst ctx = Object.defineProperties(\n\t\t\t{},\n\t\t\tObject.getOwnPropertyDescriptors(this.createContext()),\n\t\t) as ExtensionContext;\n\t\tctx.getSystemPrompt = () => {\n\t\t\tthis.assertActive();\n\t\t\treturn currentSystemPrompt;\n\t\t};\n\t\tconst messages: NonNullable<BeforeAgentStartEventResult[\"message\"]>[] = [];\n\t\tlet systemPromptModified = false;\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(\"before_agent_start\");\n\t\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\t\tfor (const handler of handlers) {\n\t\t\t\ttry {\n\t\t\t\t\tconst event: BeforeAgentStartEvent = {\n\t\t\t\t\t\ttype: \"before_agent_start\",\n\t\t\t\t\t\tprompt,\n\t\t\t\t\t\timages,\n\t\t\t\t\t\tsystemPrompt: currentSystemPrompt,\n\t\t\t\t\t\tsystemPromptOptions,\n\t\t\t\t\t};\n\t\t\t\t\tconst handlerResult = await handler(event, ctx);\n\n\t\t\t\t\tif (handlerResult) {\n\t\t\t\t\t\tconst result = handlerResult as BeforeAgentStartEventResult;\n\t\t\t\t\t\tif (result.message) {\n\t\t\t\t\t\t\tmessages.push(result.message);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (result.systemPrompt !== undefined) {\n\t\t\t\t\t\t\tcurrentSystemPrompt = result.systemPrompt;\n\t\t\t\t\t\t\tsystemPromptModified = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\t\t\t\tconst stack = err instanceof Error ? err.stack : undefined;\n\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: \"before_agent_start\",\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t\tstack,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (messages.length > 0 || systemPromptModified) {\n\t\t\treturn {\n\t\t\t\tmessages: messages.length > 0 ? messages : undefined,\n\t\t\t\tsystemPrompt: systemPromptModified ? currentSystemPrompt : undefined,\n\t\t\t};\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tasync emitResourcesDiscover(\n\t\tcwd: string,\n\t\treason: ResourcesDiscoverEvent[\"reason\"],\n\t): Promise<{\n\t\tskillPaths: Array<{ path: string; extensionPath: string }>;\n\t\tpromptPaths: Array<{ path: string; extensionPath: string }>;\n\t\tthemePaths: Array<{ path: string; extensionPath: string }>;\n\t}> {\n\t\tconst ctx = this.createContext();\n\t\tconst skillPaths: Array<{ path: string; extensionPath: string }> = [];\n\t\tconst promptPaths: Array<{ path: string; extensionPath: string }> = [];\n\t\tconst themePaths: Array<{ path: string; extensionPath: string }> = [];\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tconst handlers = ext.handlers.get(\"resources_discover\");\n\t\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\t\tfor (const handler of handlers) {\n\t\t\t\ttry {\n\t\t\t\t\tconst event: ResourcesDiscoverEvent = { type: \"resources_discover\", cwd, reason };\n\t\t\t\t\tconst handlerResult = await handler(event, ctx);\n\t\t\t\t\tconst result = handlerResult as ResourcesDiscoverResult | undefined;\n\n\t\t\t\t\tif (result?.skillPaths?.length) {\n\t\t\t\t\t\tskillPaths.push(...result.skillPaths.map((path) => ({ path, extensionPath: ext.path })));\n\t\t\t\t\t}\n\t\t\t\t\tif (result?.promptPaths?.length) {\n\t\t\t\t\t\tpromptPaths.push(...result.promptPaths.map((path) => ({ path, extensionPath: ext.path })));\n\t\t\t\t\t}\n\t\t\t\t\tif (result?.themePaths?.length) {\n\t\t\t\t\t\tthemePaths.push(...result.themePaths.map((path) => ({ path, extensionPath: ext.path })));\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\t\t\t\tconst stack = err instanceof Error ? err.stack : undefined;\n\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: \"resources_discover\",\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t\tstack,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn { skillPaths, promptPaths, themePaths };\n\t}\n\n\t/** Emit input event. Transforms chain, \"handled\" short-circuits. */\n\tasync emitInput(\n\t\ttext: string,\n\t\timages: ImageContent[] | undefined,\n\t\tsource: InputSource,\n\t\tstreamingBehavior?: \"steer\" | \"followUp\",\n\t): Promise<InputEventResult> {\n\t\tconst ctx = this.createContext();\n\t\tlet currentText = text;\n\t\tlet currentImages = images;\n\n\t\tfor (const ext of this.extensions) {\n\t\t\tfor (const handler of ext.handlers.get(\"input\") ?? []) {\n\t\t\t\ttry {\n\t\t\t\t\tconst event: InputEvent = {\n\t\t\t\t\t\ttype: \"input\",\n\t\t\t\t\t\ttext: currentText,\n\t\t\t\t\t\timages: currentImages,\n\t\t\t\t\t\tsource,\n\t\t\t\t\t\tstreamingBehavior,\n\t\t\t\t\t};\n\t\t\t\t\tconst result = (await handler(event, ctx)) as InputEventResult | undefined;\n\t\t\t\t\tif (result?.action === \"handled\") return result;\n\t\t\t\t\tif (result?.action === \"transform\") {\n\t\t\t\t\t\tcurrentText = result.text;\n\t\t\t\t\t\tcurrentImages = result.images ?? currentImages;\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tthis.emitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: \"input\",\n\t\t\t\t\t\terror: err instanceof Error ? err.message : String(err),\n\t\t\t\t\t\tstack: err instanceof Error ? err.stack : undefined,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn currentText !== text || currentImages !== images\n\t\t\t? { action: \"transform\", text: currentText, images: currentImages }\n\t\t\t: { action: \"continue\" };\n\t}\n}\n"]}
@@ -27,7 +27,7 @@ import type { SourceInfo } from "../source-info.ts";
27
27
  import type { BuildSystemPromptOptions } from "../system-prompt.ts";
28
28
  import type { BashOperations } from "../tools/bash.ts";
29
29
  import type { EditToolDetails } from "../tools/edit.ts";
30
- import type { BashToolDetails, BashToolInput, EditToolInput, FindToolDetails, FindToolInput, GrepToolDetails, GrepToolInput, LsToolDetails, LsToolInput, ReadToolDetails, ReadToolInput, WriteToolInput } from "../tools/index.ts";
30
+ import type { BashToolDetails, BashToolInput, EditToolInput, FindToolDetails, FindToolInput, GrepToolDetails, GrepToolInput, LsToolDetails, LsToolInput, PowerShellToolDetails, PowerShellToolInput, ReadToolDetails, ReadToolInput, WriteToolInput } from "../tools/index.ts";
31
31
  export type { ExecOptions, ExecResult } from "../exec.ts";
32
32
  export type { BuildSystemPromptOptions } from "../system-prompt.ts";
33
33
  export type { AgentToolResult, AgentToolUpdateCallback, ToolExecutionMode };
@@ -101,8 +101,8 @@ export interface ExtensionUIContext {
101
101
  /** Set a custom footer component, or undefined to restore the built-in footer.
102
102
  *
103
103
  * The factory receives a FooterDataProvider for data not otherwise accessible:
104
- * git branch and extension statuses from setStatus(). Token stats, model info,
105
- * etc. are available via ctx.sessionManager and ctx.model.
104
+ * git branch and extension statuses from setStatus(). Context usage is on
105
+ * ctx.getContextUsage(), token stats on ctx.sessionManager.getEntries(), model info on ctx.model.
106
106
  */
107
107
  setFooter(factory: ((tui: TUI, theme: Theme, footerData: ReadonlyFooterDataProvider) => Component & {
108
108
  dispose?(): void;
@@ -450,7 +450,7 @@ export interface SessionBeforeCompactEvent {
450
450
  willRetry: boolean;
451
451
  signal: AbortSignal;
452
452
  }
453
- /** Fired after context compaction */
453
+ /** Fired after context compaction succeeds */
454
454
  export interface SessionCompactEvent {
455
455
  type: "session_compact";
456
456
  compactionEntry: CompactionEntry;
@@ -460,6 +460,20 @@ export interface SessionCompactEvent {
460
460
  /** True when the aborted turn is retried after this compaction (overflow recovery) */
461
461
  willRetry: boolean;
462
462
  }
463
+ /** Fired after context compaction fails or is aborted */
464
+ export interface SessionCompactFailedEvent {
465
+ type: "session_compact_failed";
466
+ /** What triggered the compaction: manual /compact, the context threshold, or context overflow recovery */
467
+ reason: "manual" | "threshold" | "overflow";
468
+ /** Error text when compaction failed for a non-abort reason. */
469
+ errorMessage?: string;
470
+ /** True when compaction was cancelled or aborted. */
471
+ aborted: boolean;
472
+ /** True when the aborted turn would have been retried after this compaction (overflow recovery) */
473
+ willRetry: boolean;
474
+ /** True when the failing compaction content came from a session_before_compact handler. */
475
+ fromExtension: boolean;
476
+ }
463
477
  /** Fired before an extension runtime is torn down due to quit, reload, or session replacement. */
464
478
  export interface SessionShutdownEvent {
465
479
  type: "session_shutdown";
@@ -495,7 +509,7 @@ export interface SessionTreeEvent {
495
509
  summaryEntry?: BranchSummaryEntry;
496
510
  fromExtension?: boolean;
497
511
  }
498
- export type SessionEvent = SessionStartEvent | SessionInfoChangedEvent | SessionBeforeSwitchEvent | SessionBeforeForkEvent | SessionBeforeCompactEvent | SessionCompactEvent | SessionShutdownEvent | SessionBeforeTreeEvent | SessionTreeEvent;
512
+ export type SessionEvent = SessionStartEvent | SessionInfoChangedEvent | SessionBeforeSwitchEvent | SessionBeforeForkEvent | SessionBeforeCompactEvent | SessionCompactEvent | SessionCompactFailedEvent | SessionShutdownEvent | SessionBeforeTreeEvent | SessionTreeEvent;
499
513
  /** Fired before each LLM call. Can modify messages. */
500
514
  export interface ContextEvent {
501
515
  type: "context";
@@ -546,6 +560,21 @@ export interface AgentEndEvent {
546
560
  export interface AgentSettledEvent {
547
561
  type: "agent_settled";
548
562
  }
563
+ export type UIPromptKind = "select" | "confirm" | "input" | "editor" | "custom";
564
+ /** Fired when Pi starts waiting on a blocking user-facing extension UI prompt. */
565
+ export interface UIPromptStartEvent {
566
+ type: "ui_prompt_start";
567
+ reason: "ui_prompt";
568
+ kind: UIPromptKind;
569
+ title?: string;
570
+ }
571
+ /** Fired when Pi is no longer waiting on a blocking user-facing extension UI prompt. */
572
+ export interface UIPromptEndEvent {
573
+ type: "ui_prompt_end";
574
+ reason: "ui_prompt";
575
+ kind: UIPromptKind;
576
+ title?: string;
577
+ }
549
578
  /** Fired at the start of each turn */
550
579
  export interface TurnStartEvent {
551
580
  type: "turn_start";
@@ -654,6 +683,10 @@ export interface BashToolCallEvent extends ToolCallEventBase {
654
683
  toolName: "bash";
655
684
  input: BashToolInput;
656
685
  }
686
+ export interface PowerShellToolCallEvent extends ToolCallEventBase {
687
+ toolName: "powershell";
688
+ input: PowerShellToolInput;
689
+ }
657
690
  export interface ReadToolCallEvent extends ToolCallEventBase {
658
691
  toolName: "read";
659
692
  input: ReadToolInput;
@@ -688,7 +721,7 @@ export interface CustomToolCallEvent extends ToolCallEventBase {
688
721
  * `event.input` is mutable. Mutate it in place to patch tool arguments before execution.
689
722
  * Later `tool_call` handlers see earlier mutations. No re-validation is performed after mutation.
690
723
  */
691
- export type ToolCallEvent = BashToolCallEvent | ReadToolCallEvent | EditToolCallEvent | WriteToolCallEvent | GrepToolCallEvent | FindToolCallEvent | LsToolCallEvent | CustomToolCallEvent;
724
+ export type ToolCallEvent = BashToolCallEvent | PowerShellToolCallEvent | ReadToolCallEvent | EditToolCallEvent | WriteToolCallEvent | GrepToolCallEvent | FindToolCallEvent | LsToolCallEvent | CustomToolCallEvent;
692
725
  interface ToolResultEventBase {
693
726
  type: "tool_result";
694
727
  toolCallId: string;
@@ -702,6 +735,10 @@ export interface BashToolResultEvent extends ToolResultEventBase {
702
735
  toolName: "bash";
703
736
  details: BashToolDetails | undefined;
704
737
  }
738
+ export interface PowerShellToolResultEvent extends ToolResultEventBase {
739
+ toolName: "powershell";
740
+ details: PowerShellToolDetails | undefined;
741
+ }
705
742
  export interface ReadToolResultEvent extends ToolResultEventBase {
706
743
  toolName: "read";
707
744
  details: ReadToolDetails | undefined;
@@ -731,8 +768,9 @@ export interface CustomToolResultEvent extends ToolResultEventBase {
731
768
  details: unknown;
732
769
  }
733
770
  /** Fired after a tool executes. Can modify result. */
734
- export type ToolResultEvent = BashToolResultEvent | ReadToolResultEvent | EditToolResultEvent | WriteToolResultEvent | GrepToolResultEvent | FindToolResultEvent | LsToolResultEvent | CustomToolResultEvent;
771
+ export type ToolResultEvent = BashToolResultEvent | PowerShellToolResultEvent | ReadToolResultEvent | EditToolResultEvent | WriteToolResultEvent | GrepToolResultEvent | FindToolResultEvent | LsToolResultEvent | CustomToolResultEvent;
735
772
  export declare function isBashToolResult(e: ToolResultEvent): e is BashToolResultEvent;
773
+ export declare function isPowerShellToolResult(e: ToolResultEvent): e is PowerShellToolResultEvent;
736
774
  export declare function isReadToolResult(e: ToolResultEvent): e is ReadToolResultEvent;
737
775
  export declare function isEditToolResult(e: ToolResultEvent): e is EditToolResultEvent;
738
776
  export declare function isWriteToolResult(e: ToolResultEvent): e is WriteToolResultEvent;
@@ -760,6 +798,7 @@ export declare function isLsToolResult(e: ToolResultEvent): e is LsToolResultEve
760
798
  * CustomToolCallEvent.toolName is `string` which overlaps with all literals.
761
799
  */
762
800
  export declare function isToolCallEventType(toolName: "bash", event: ToolCallEvent): event is BashToolCallEvent;
801
+ export declare function isToolCallEventType(toolName: "powershell", event: ToolCallEvent): event is PowerShellToolCallEvent;
763
802
  export declare function isToolCallEventType(toolName: "read", event: ToolCallEvent): event is ReadToolCallEvent;
764
803
  export declare function isToolCallEventType(toolName: "edit", event: ToolCallEvent): event is EditToolCallEvent;
765
804
  export declare function isToolCallEventType(toolName: "write", event: ToolCallEvent): event is WriteToolCallEvent;
@@ -771,7 +810,7 @@ export declare function isToolCallEventType<TName extends string, TInput extends
771
810
  input: TInput;
772
811
  };
773
812
  /** Union of all event types */
774
- export type ExtensionEvent = ProjectTrustEvent | ResourcesDiscoverEvent | SessionEvent | ContextEvent | BeforeProviderRequestEvent | BeforeProviderHeadersEvent | AfterProviderResponseEvent | BeforeAgentStartEvent | AgentStartEvent | AgentEndEvent | AgentSettledEvent | TurnStartEvent | TurnEndEvent | MessageStartEvent | MessageUpdateEvent | MessageEndEvent | ToolExecutionStartEvent | ToolExecutionUpdateEvent | ToolExecutionEndEvent | ModelSelectEvent | ThinkingLevelSelectEvent | UserBashEvent | InputEvent | ToolCallEvent | ToolResultEvent;
813
+ export type ExtensionEvent = ProjectTrustEvent | ResourcesDiscoverEvent | SessionEvent | ContextEvent | BeforeProviderRequestEvent | BeforeProviderHeadersEvent | AfterProviderResponseEvent | BeforeAgentStartEvent | AgentStartEvent | AgentEndEvent | AgentSettledEvent | UIPromptStartEvent | UIPromptEndEvent | TurnStartEvent | TurnEndEvent | MessageStartEvent | MessageUpdateEvent | MessageEndEvent | ToolExecutionStartEvent | ToolExecutionUpdateEvent | ToolExecutionEndEvent | ModelSelectEvent | ThinkingLevelSelectEvent | UserBashEvent | InputEvent | ToolCallEvent | ToolResultEvent;
775
814
  export interface ContextEventResult {
776
815
  messages?: AgentMessage[];
777
816
  }
@@ -873,6 +912,7 @@ export interface ExtensionAPI {
873
912
  on(event: "session_before_fork", handler: ExtensionHandler<SessionBeforeForkEvent, SessionBeforeForkResult>): void;
874
913
  on(event: "session_before_compact", handler: ExtensionHandler<SessionBeforeCompactEvent, SessionBeforeCompactResult>): void;
875
914
  on(event: "session_compact", handler: ExtensionHandler<SessionCompactEvent>): void;
915
+ on(event: "session_compact_failed", handler: ExtensionHandler<SessionCompactFailedEvent>): void;
876
916
  on(event: "session_shutdown", handler: ExtensionHandler<SessionShutdownEvent>): void;
877
917
  on(event: "session_before_tree", handler: ExtensionHandler<SessionBeforeTreeEvent, SessionBeforeTreeResult>): void;
878
918
  on(event: "session_tree", handler: ExtensionHandler<SessionTreeEvent>): void;
@@ -884,6 +924,8 @@ export interface ExtensionAPI {
884
924
  on(event: "agent_start", handler: ExtensionHandler<AgentStartEvent>): void;
885
925
  on(event: "agent_end", handler: ExtensionHandler<AgentEndEvent>): void;
886
926
  on(event: "agent_settled", handler: ExtensionHandler<AgentSettledEvent>): void;
927
+ on(event: "ui_prompt_start", handler: ExtensionHandler<UIPromptStartEvent>): void;
928
+ on(event: "ui_prompt_end", handler: ExtensionHandler<UIPromptEndEvent>): void;
887
929
  on(event: "turn_start", handler: ExtensionHandler<TurnStartEvent>): void;
888
930
  on(event: "turn_end", handler: ExtensionHandler<TurnEndEvent>): void;
889
931
  on(event: "message_start", handler: ExtensionHandler<MessageStartEvent>): void;
@@ -910,8 +952,12 @@ export interface ExtensionAPI {
910
952
  /** Register a CLI flag. */
911
953
  registerFlag(name: string, options: {
912
954
  description?: string;
913
- type: "boolean" | "string";
914
- default?: boolean | string;
955
+ type: "boolean";
956
+ default?: boolean;
957
+ } | {
958
+ description?: string;
959
+ type: "string";
960
+ default?: string;
915
961
  }): void;
916
962
  /** Get the value of a registered CLI flag. */
917
963
  getFlag(name: string): boolean | string | undefined;