@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,5 +1,5 @@
1
1
  import { existsSync } from "node:fs";
2
- import { delimiter } from "node:path";
2
+ import { delimiter, join } from "node:path";
3
3
  import { spawn, spawnSync } from "child_process";
4
4
  import { getBinDir } from "../config.js";
5
5
  /**
@@ -12,11 +12,11 @@ function isLegacyWslBashPath(path) {
12
12
  function getBashShellConfig(shell) {
13
13
  return isLegacyWslBashPath(shell) ? { shell, args: ["-s"], commandTransport: "stdin" } : { shell, args: ["-c"] };
14
14
  }
15
- function findBashOnPath() {
15
+ function findExecutableOnPath(executable) {
16
16
  if (process.platform === "win32") {
17
17
  // Windows: Use 'where' and verify file exists (where can return non-existent paths)
18
18
  try {
19
- const result = spawnSync("where", ["bash.exe"], {
19
+ const result = spawnSync("where", [executable], {
20
20
  encoding: "utf-8",
21
21
  timeout: 5000,
22
22
  windowsHide: true,
@@ -35,7 +35,7 @@ function findBashOnPath() {
35
35
  }
36
36
  // Unix: Use 'which' and trust its output (handles Termux and special filesystems)
37
37
  try {
38
- const result = spawnSync("which", ["bash"], { encoding: "utf-8", timeout: 5000 });
38
+ const result = spawnSync("which", [executable], { encoding: "utf-8", timeout: 5000 });
39
39
  if (result.status === 0 && result.stdout) {
40
40
  const firstMatch = result.stdout.trim().split(/\r?\n/)[0];
41
41
  if (firstMatch) {
@@ -80,7 +80,7 @@ export function getShellConfig(customShellPath) {
80
80
  }
81
81
  }
82
82
  // 3. Fallback: search bash.exe on PATH (Cygwin, MSYS2, WSL, etc.)
83
- const bashOnPath = findBashOnPath();
83
+ const bashOnPath = findExecutableOnPath("bash.exe");
84
84
  if (bashOnPath) {
85
85
  return getBashShellConfig(bashOnPath);
86
86
  }
@@ -94,12 +94,24 @@ export function getShellConfig(customShellPath) {
94
94
  if (existsSync("/bin/bash")) {
95
95
  return getBashShellConfig("/bin/bash");
96
96
  }
97
- const bashOnPath = findBashOnPath();
97
+ const bashOnPath = findExecutableOnPath("bash");
98
98
  if (bashOnPath) {
99
99
  return getBashShellConfig(bashOnPath);
100
100
  }
101
101
  return { shell: "sh", args: ["-c"] };
102
102
  }
103
+ export const POWERSHELL_ARGS = ["-NoProfile", "-NonInteractive", "-ExecutionPolicy", "Bypass", "-Command"];
104
+ /** Resolve PowerShell on Windows, preferring PowerShell 7 when available. */
105
+ export function getPowerShellConfig() {
106
+ if (process.platform !== "win32") {
107
+ throw new Error("The powershell tool is only available on Windows.");
108
+ }
109
+ const shell = findExecutableOnPath("pwsh.exe") ?? findExecutableOnPath("powershell.exe");
110
+ if (!shell) {
111
+ throw new Error("No PowerShell executable found. Install PowerShell or add powershell.exe/pwsh.exe to PATH.");
112
+ }
113
+ return { shell, args: [...POWERSHELL_ARGS] };
114
+ }
103
115
  export function getShellEnv() {
104
116
  const binDir = getBinDir();
105
117
  const pathKey = Object.keys(process.env).find((key) => key.toLowerCase() === "path") ?? "PATH";
@@ -171,16 +183,18 @@ export function killTrackedDetachedChildren() {
171
183
  */
172
184
  export function killProcessTree(pid) {
173
185
  if (process.platform === "win32") {
174
- // Use taskkill on Windows to kill process tree
186
+ // Use the trusted System32 executable so cleanup does not depend on PATH.
175
187
  try {
176
- spawn("taskkill", ["/F", "/T", "/PID", String(pid)], {
188
+ const child = spawn(join(process.env.SystemRoot ?? "C:\\Windows", "System32", "taskkill.exe"), ["/F", "/T", "/PID", String(pid)], {
177
189
  stdio: "ignore",
178
190
  detached: true,
179
191
  windowsHide: true,
180
192
  });
193
+ // A failed spawn emits "error" asynchronously; consume it to avoid crashing Node.
194
+ child.once("error", () => { });
181
195
  }
182
196
  catch {
183
- // Ignore errors if taskkill fails
197
+ // Ignore errors if taskkill fails.
184
198
  }
185
199
  }
186
200
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"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","sourcesContent":["import { existsSync } from \"node:fs\";\nimport { delimiter } from \"node:path\";\nimport { spawn, spawnSync } from \"child_process\";\nimport { getBinDir } from \"../config.ts\";\n\nexport interface ShellConfig {\n\tshell: string;\n\targs: string[];\n\tcommandTransport?: \"argv\" | \"stdin\";\n}\n\n/**\n * Find bash executable on PATH (cross-platform)\n */\nfunction isLegacyWslBashPath(path: string): boolean {\n\tconst normalized = path.replace(/\\//g, \"\\\\\").toLowerCase();\n\treturn /^[a-z]:\\\\windows\\\\(?:system32|sysnative)\\\\bash\\.exe$/.test(normalized);\n}\n\nfunction getBashShellConfig(shell: string): ShellConfig {\n\treturn isLegacyWslBashPath(shell) ? { shell, args: [\"-s\"], commandTransport: \"stdin\" } : { shell, args: [\"-c\"] };\n}\n\nfunction findBashOnPath(): string | null {\n\tif (process.platform === \"win32\") {\n\t\t// Windows: Use 'where' and verify file exists (where can return non-existent paths)\n\t\ttry {\n\t\t\tconst result = spawnSync(\"where\", [\"bash.exe\"], {\n\t\t\t\tencoding: \"utf-8\",\n\t\t\t\ttimeout: 5000,\n\t\t\t\twindowsHide: true,\n\t\t\t});\n\t\t\tif (result.status === 0 && result.stdout) {\n\t\t\t\tconst firstMatch = result.stdout.trim().split(/\\r?\\n/)[0];\n\t\t\t\tif (firstMatch && existsSync(firstMatch)) {\n\t\t\t\t\treturn firstMatch;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch {\n\t\t\t// Ignore errors\n\t\t}\n\t\treturn null;\n\t}\n\n\t// Unix: Use 'which' and trust its output (handles Termux and special filesystems)\n\ttry {\n\t\tconst result = spawnSync(\"which\", [\"bash\"], { encoding: \"utf-8\", timeout: 5000 });\n\t\tif (result.status === 0 && result.stdout) {\n\t\t\tconst firstMatch = result.stdout.trim().split(/\\r?\\n/)[0];\n\t\t\tif (firstMatch) {\n\t\t\t\treturn firstMatch;\n\t\t\t}\n\t\t}\n\t} catch {\n\t\t// Ignore errors\n\t}\n\treturn null;\n}\n\n/**\n * Resolve shell configuration based on platform and an optional explicit shell path.\n * Resolution order:\n * 1. User-specified shellPath\n * 2. On Windows: Git Bash in known locations, then bash on PATH\n * 3. On Unix: /bin/bash, then bash on PATH, then fallback to sh\n */\nexport function getShellConfig(customShellPath?: string): ShellConfig {\n\t// 1. Check user-specified shell path\n\tif (customShellPath) {\n\t\tif (existsSync(customShellPath)) {\n\t\t\treturn getBashShellConfig(customShellPath);\n\t\t}\n\t\tthrow new Error(`Custom shell path not found: ${customShellPath}`);\n\t}\n\n\tif (process.platform === \"win32\") {\n\t\t// 2. Try Git Bash in known locations\n\t\tconst paths: string[] = [];\n\t\tconst programFiles = process.env.ProgramFiles;\n\t\tif (programFiles) {\n\t\t\tpaths.push(`${programFiles}\\\\Git\\\\bin\\\\bash.exe`);\n\t\t}\n\t\tconst programFilesX86 = process.env[\"ProgramFiles(x86)\"];\n\t\tif (programFilesX86) {\n\t\t\tpaths.push(`${programFilesX86}\\\\Git\\\\bin\\\\bash.exe`);\n\t\t}\n\n\t\tfor (const path of paths) {\n\t\t\tif (existsSync(path)) {\n\t\t\t\treturn getBashShellConfig(path);\n\t\t\t}\n\t\t}\n\n\t\t// 3. Fallback: search bash.exe on PATH (Cygwin, MSYS2, WSL, etc.)\n\t\tconst bashOnPath = findBashOnPath();\n\t\tif (bashOnPath) {\n\t\t\treturn getBashShellConfig(bashOnPath);\n\t\t}\n\n\t\tthrow new Error(\n\t\t\t`No bash shell found. Options:\\n` +\n\t\t\t\t` 1. Install Git for Windows: https://git-scm.com/download/win\\n` +\n\t\t\t\t` 2. Add your bash to PATH (Cygwin, MSYS2, etc.)\\n` +\n\t\t\t\t\" 3. Set shellPath in settings.json\\n\\n\" +\n\t\t\t\t`Searched Git Bash in:\\n${paths.map((p) => ` ${p}`).join(\"\\n\")}`,\n\t\t);\n\t}\n\n\t// Unix: try /bin/bash, then bash on PATH, then fallback to sh\n\tif (existsSync(\"/bin/bash\")) {\n\t\treturn getBashShellConfig(\"/bin/bash\");\n\t}\n\n\tconst bashOnPath = findBashOnPath();\n\tif (bashOnPath) {\n\t\treturn getBashShellConfig(bashOnPath);\n\t}\n\n\treturn { shell: \"sh\", args: [\"-c\"] };\n}\n\nexport function getShellEnv(): NodeJS.ProcessEnv {\n\tconst binDir = getBinDir();\n\tconst pathKey = Object.keys(process.env).find((key) => key.toLowerCase() === \"path\") ?? \"PATH\";\n\tconst currentPath = process.env[pathKey] ?? \"\";\n\tconst pathEntries = currentPath.split(delimiter).filter(Boolean);\n\tconst hasBinDir = pathEntries.includes(binDir);\n\tconst updatedPath = hasBinDir ? currentPath : [binDir, currentPath].filter(Boolean).join(delimiter);\n\n\treturn {\n\t\t...process.env,\n\t\t[pathKey]: updatedPath,\n\t};\n}\n\n/**\n * Sanitize binary output for display/storage.\n * Removes characters that crash string-width or cause display issues:\n * - Control characters (except tab, newline, carriage return)\n * - Lone surrogates\n * - Unicode Format characters (crash string-width due to a bug)\n * - Characters with undefined code points\n */\nexport function sanitizeBinaryOutput(str: string): string {\n\t// Use Array.from to properly iterate over code points (not code units)\n\t// This handles surrogate pairs correctly and catches edge cases where\n\t// codePointAt() might return undefined\n\treturn Array.from(str)\n\t\t.filter((char) => {\n\t\t\t// Filter out characters that cause string-width to crash\n\t\t\t// This includes:\n\t\t\t// - Unicode format characters\n\t\t\t// - Lone surrogates (already filtered by Array.from)\n\t\t\t// - Control chars except \\t \\n \\r\n\t\t\t// - Characters with undefined code points\n\n\t\t\tconst code = char.codePointAt(0);\n\n\t\t\t// Skip if code point is undefined (edge case with invalid strings)\n\t\t\tif (code === undefined) return false;\n\n\t\t\t// Allow tab, newline, carriage return\n\t\t\tif (code === 0x09 || code === 0x0a || code === 0x0d) return true;\n\n\t\t\t// Filter out control characters (0x00-0x1F, except 0x09, 0x0a, 0x0x0d)\n\t\t\tif (code <= 0x1f) return false;\n\n\t\t\t// Filter out Unicode format characters\n\t\t\tif (code >= 0xfff9 && code <= 0xfffb) return false;\n\n\t\t\treturn true;\n\t\t})\n\t\t.join(\"\");\n}\n\n/**\n * Detached child processes must be tracked so they can be killed on parent\n * shutdown signals (SIGHUP/SIGTERM).\n */\nconst trackedDetachedChildPids = new Set<number>();\n\nexport function trackDetachedChildPid(pid: number): void {\n\ttrackedDetachedChildPids.add(pid);\n}\n\nexport function untrackDetachedChildPid(pid: number): void {\n\ttrackedDetachedChildPids.delete(pid);\n}\n\nexport function killTrackedDetachedChildren(): void {\n\tfor (const pid of trackedDetachedChildPids) {\n\t\tkillProcessTree(pid);\n\t}\n\ttrackedDetachedChildPids.clear();\n}\n\n/**\n * Kill a process and all its children (cross-platform)\n */\nexport function killProcessTree(pid: number): void {\n\tif (process.platform === \"win32\") {\n\t\t// Use taskkill on Windows to kill process tree\n\t\ttry {\n\t\t\tspawn(\"taskkill\", [\"/F\", \"/T\", \"/PID\", String(pid)], {\n\t\t\t\tstdio: \"ignore\",\n\t\t\t\tdetached: true,\n\t\t\t\twindowsHide: true,\n\t\t\t});\n\t\t} catch {\n\t\t\t// Ignore errors if taskkill fails\n\t\t}\n\t} else {\n\t\t// Use SIGKILL on Unix/Linux/Mac\n\t\ttry {\n\t\t\tprocess.kill(-pid, \"SIGKILL\");\n\t\t} catch {\n\t\t\t// Fallback to killing just the child if process group kill fails\n\t\t\ttry {\n\t\t\t\tprocess.kill(pid, \"SIGKILL\");\n\t\t\t} catch {\n\t\t\t\t// Process already dead\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"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","sourcesContent":["import { existsSync } from \"node:fs\";\nimport { delimiter, join } from \"node:path\";\nimport { spawn, spawnSync } from \"child_process\";\nimport { getBinDir } from \"../config.ts\";\n\nexport interface ShellConfig {\n\tshell: string;\n\targs: string[];\n\tcommandTransport?: \"argv\" | \"stdin\";\n}\n\n/**\n * Find bash executable on PATH (cross-platform)\n */\nfunction isLegacyWslBashPath(path: string): boolean {\n\tconst normalized = path.replace(/\\//g, \"\\\\\").toLowerCase();\n\treturn /^[a-z]:\\\\windows\\\\(?:system32|sysnative)\\\\bash\\.exe$/.test(normalized);\n}\n\nfunction getBashShellConfig(shell: string): ShellConfig {\n\treturn isLegacyWslBashPath(shell) ? { shell, args: [\"-s\"], commandTransport: \"stdin\" } : { shell, args: [\"-c\"] };\n}\n\nfunction findExecutableOnPath(executable: string): string | null {\n\tif (process.platform === \"win32\") {\n\t\t// Windows: Use 'where' and verify file exists (where can return non-existent paths)\n\t\ttry {\n\t\t\tconst result = spawnSync(\"where\", [executable], {\n\t\t\t\tencoding: \"utf-8\",\n\t\t\t\ttimeout: 5000,\n\t\t\t\twindowsHide: true,\n\t\t\t});\n\t\t\tif (result.status === 0 && result.stdout) {\n\t\t\t\tconst firstMatch = result.stdout.trim().split(/\\r?\\n/)[0];\n\t\t\t\tif (firstMatch && existsSync(firstMatch)) {\n\t\t\t\t\treturn firstMatch;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch {\n\t\t\t// Ignore errors\n\t\t}\n\t\treturn null;\n\t}\n\n\t// Unix: Use 'which' and trust its output (handles Termux and special filesystems)\n\ttry {\n\t\tconst result = spawnSync(\"which\", [executable], { encoding: \"utf-8\", timeout: 5000 });\n\t\tif (result.status === 0 && result.stdout) {\n\t\t\tconst firstMatch = result.stdout.trim().split(/\\r?\\n/)[0];\n\t\t\tif (firstMatch) {\n\t\t\t\treturn firstMatch;\n\t\t\t}\n\t\t}\n\t} catch {\n\t\t// Ignore errors\n\t}\n\treturn null;\n}\n\n/**\n * Resolve shell configuration based on platform and an optional explicit shell path.\n * Resolution order:\n * 1. User-specified shellPath\n * 2. On Windows: Git Bash in known locations, then bash on PATH\n * 3. On Unix: /bin/bash, then bash on PATH, then fallback to sh\n */\nexport function getShellConfig(customShellPath?: string): ShellConfig {\n\t// 1. Check user-specified shell path\n\tif (customShellPath) {\n\t\tif (existsSync(customShellPath)) {\n\t\t\treturn getBashShellConfig(customShellPath);\n\t\t}\n\t\tthrow new Error(`Custom shell path not found: ${customShellPath}`);\n\t}\n\n\tif (process.platform === \"win32\") {\n\t\t// 2. Try Git Bash in known locations\n\t\tconst paths: string[] = [];\n\t\tconst programFiles = process.env.ProgramFiles;\n\t\tif (programFiles) {\n\t\t\tpaths.push(`${programFiles}\\\\Git\\\\bin\\\\bash.exe`);\n\t\t}\n\t\tconst programFilesX86 = process.env[\"ProgramFiles(x86)\"];\n\t\tif (programFilesX86) {\n\t\t\tpaths.push(`${programFilesX86}\\\\Git\\\\bin\\\\bash.exe`);\n\t\t}\n\n\t\tfor (const path of paths) {\n\t\t\tif (existsSync(path)) {\n\t\t\t\treturn getBashShellConfig(path);\n\t\t\t}\n\t\t}\n\n\t\t// 3. Fallback: search bash.exe on PATH (Cygwin, MSYS2, WSL, etc.)\n\t\tconst bashOnPath = findExecutableOnPath(\"bash.exe\");\n\t\tif (bashOnPath) {\n\t\t\treturn getBashShellConfig(bashOnPath);\n\t\t}\n\n\t\tthrow new Error(\n\t\t\t`No bash shell found. Options:\\n` +\n\t\t\t\t` 1. Install Git for Windows: https://git-scm.com/download/win\\n` +\n\t\t\t\t` 2. Add your bash to PATH (Cygwin, MSYS2, etc.)\\n` +\n\t\t\t\t\" 3. Set shellPath in settings.json\\n\\n\" +\n\t\t\t\t`Searched Git Bash in:\\n${paths.map((p) => ` ${p}`).join(\"\\n\")}`,\n\t\t);\n\t}\n\n\t// Unix: try /bin/bash, then bash on PATH, then fallback to sh\n\tif (existsSync(\"/bin/bash\")) {\n\t\treturn getBashShellConfig(\"/bin/bash\");\n\t}\n\n\tconst bashOnPath = findExecutableOnPath(\"bash\");\n\tif (bashOnPath) {\n\t\treturn getBashShellConfig(bashOnPath);\n\t}\n\n\treturn { shell: \"sh\", args: [\"-c\"] };\n}\n\nexport const POWERSHELL_ARGS = [\"-NoProfile\", \"-NonInteractive\", \"-ExecutionPolicy\", \"Bypass\", \"-Command\"] as const;\n\n/** Resolve PowerShell on Windows, preferring PowerShell 7 when available. */\nexport function getPowerShellConfig(): ShellConfig {\n\tif (process.platform !== \"win32\") {\n\t\tthrow new Error(\"The powershell tool is only available on Windows.\");\n\t}\n\n\tconst shell = findExecutableOnPath(\"pwsh.exe\") ?? findExecutableOnPath(\"powershell.exe\");\n\tif (!shell) {\n\t\tthrow new Error(\"No PowerShell executable found. Install PowerShell or add powershell.exe/pwsh.exe to PATH.\");\n\t}\n\n\treturn { shell, args: [...POWERSHELL_ARGS] };\n}\n\nexport function getShellEnv(): NodeJS.ProcessEnv {\n\tconst binDir = getBinDir();\n\tconst pathKey = Object.keys(process.env).find((key) => key.toLowerCase() === \"path\") ?? \"PATH\";\n\tconst currentPath = process.env[pathKey] ?? \"\";\n\tconst pathEntries = currentPath.split(delimiter).filter(Boolean);\n\tconst hasBinDir = pathEntries.includes(binDir);\n\tconst updatedPath = hasBinDir ? currentPath : [binDir, currentPath].filter(Boolean).join(delimiter);\n\n\treturn {\n\t\t...process.env,\n\t\t[pathKey]: updatedPath,\n\t};\n}\n\n/**\n * Sanitize binary output for display/storage.\n * Removes characters that crash string-width or cause display issues:\n * - Control characters (except tab, newline, carriage return)\n * - Lone surrogates\n * - Unicode Format characters (crash string-width due to a bug)\n * - Characters with undefined code points\n */\nexport function sanitizeBinaryOutput(str: string): string {\n\t// Use Array.from to properly iterate over code points (not code units)\n\t// This handles surrogate pairs correctly and catches edge cases where\n\t// codePointAt() might return undefined\n\treturn Array.from(str)\n\t\t.filter((char) => {\n\t\t\t// Filter out characters that cause string-width to crash\n\t\t\t// This includes:\n\t\t\t// - Unicode format characters\n\t\t\t// - Lone surrogates (already filtered by Array.from)\n\t\t\t// - Control chars except \\t \\n \\r\n\t\t\t// - Characters with undefined code points\n\n\t\t\tconst code = char.codePointAt(0);\n\n\t\t\t// Skip if code point is undefined (edge case with invalid strings)\n\t\t\tif (code === undefined) return false;\n\n\t\t\t// Allow tab, newline, carriage return\n\t\t\tif (code === 0x09 || code === 0x0a || code === 0x0d) return true;\n\n\t\t\t// Filter out control characters (0x00-0x1F, except 0x09, 0x0a, 0x0x0d)\n\t\t\tif (code <= 0x1f) return false;\n\n\t\t\t// Filter out Unicode format characters\n\t\t\tif (code >= 0xfff9 && code <= 0xfffb) return false;\n\n\t\t\treturn true;\n\t\t})\n\t\t.join(\"\");\n}\n\n/**\n * Detached child processes must be tracked so they can be killed on parent\n * shutdown signals (SIGHUP/SIGTERM).\n */\nconst trackedDetachedChildPids = new Set<number>();\n\nexport function trackDetachedChildPid(pid: number): void {\n\ttrackedDetachedChildPids.add(pid);\n}\n\nexport function untrackDetachedChildPid(pid: number): void {\n\ttrackedDetachedChildPids.delete(pid);\n}\n\nexport function killTrackedDetachedChildren(): void {\n\tfor (const pid of trackedDetachedChildPids) {\n\t\tkillProcessTree(pid);\n\t}\n\ttrackedDetachedChildPids.clear();\n}\n\n/**\n * Kill a process and all its children (cross-platform)\n */\nexport function killProcessTree(pid: number): void {\n\tif (process.platform === \"win32\") {\n\t\t// Use the trusted System32 executable so cleanup does not depend on PATH.\n\t\ttry {\n\t\t\tconst child = spawn(\n\t\t\t\tjoin(process.env.SystemRoot ?? \"C:\\\\Windows\", \"System32\", \"taskkill.exe\"),\n\t\t\t\t[\"/F\", \"/T\", \"/PID\", String(pid)],\n\t\t\t\t{\n\t\t\t\t\tstdio: \"ignore\",\n\t\t\t\t\tdetached: true,\n\t\t\t\t\twindowsHide: true,\n\t\t\t\t},\n\t\t\t);\n\t\t\t// A failed spawn emits \"error\" asynchronously; consume it to avoid crashing Node.\n\t\t\tchild.once(\"error\", () => {});\n\t\t} catch {\n\t\t\t// Ignore errors if taskkill fails.\n\t\t}\n\t} else {\n\t\t// Use SIGKILL on Unix/Linux/Mac\n\t\ttry {\n\t\t\tprocess.kill(-pid, \"SIGKILL\");\n\t\t} catch {\n\t\t\t// Fallback to killing just the child if process group kill fails\n\t\t\ttry {\n\t\t\t\tprocess.kill(pid, \"SIGKILL\");\n\t\t\t} catch {\n\t\t\t\t// Process already dead\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -1,3 +1,4 @@
1
+ export declare function loadAllHighlightLanguages(): Promise<void>;
1
2
  export type HighlightFormatter = (text: string) => string;
2
3
  export type HighlightTheme = Partial<Record<string, HighlightFormatter>>;
3
4
  export interface HighlightOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"syntax-highlight.d.ts","sourceRoot":"","sources":["../../src/utils/syntax-highlight.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAEzE,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,cAAc,CAAC;CACvB;AAoED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,cAAmB,GAAG,MAAM,CAoDtF;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAQ9E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD","sourcesContent":["import hljs from \"highlight.js/lib/index.js\";\nimport { decodeHtmlEntityAt } from \"./html.ts\";\n\nexport type HighlightFormatter = (text: string) => string;\nexport type HighlightTheme = Partial<Record<string, HighlightFormatter>>;\n\nexport interface HighlightOptions {\n\tlanguage?: string;\n\tignoreIllegals?: boolean;\n\tlanguageSubset?: string[];\n\ttheme?: HighlightTheme;\n}\n\nconst SPAN_CLOSE = \"</span>\";\nconst HIGHLIGHT_CLASS_PREFIX = \"hljs-\";\n\nfunction getScopeFromSpanTag(tag: string): string | undefined {\n\tconst match = /\\sclass\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)')/.exec(tag);\n\tconst classValue = match?.[1] ?? match?.[2];\n\tif (!classValue) {\n\t\treturn undefined;\n\t}\n\n\tfor (const className of classValue.split(/\\s+/)) {\n\t\tif (className.startsWith(HIGHLIGHT_CLASS_PREFIX)) {\n\t\t\treturn className.slice(HIGHLIGHT_CLASS_PREFIX.length);\n\t\t}\n\t}\n\n\treturn undefined;\n}\n\nfunction getScopeFormatter(scope: string, theme: HighlightTheme): HighlightFormatter | undefined {\n\tconst exact = theme[scope];\n\tif (exact) {\n\t\treturn exact;\n\t}\n\n\tconst dotIndex = scope.indexOf(\".\");\n\tif (dotIndex !== -1) {\n\t\tconst prefixFormatter = theme[scope.slice(0, dotIndex)];\n\t\tif (prefixFormatter) {\n\t\t\treturn prefixFormatter;\n\t\t}\n\t}\n\n\tconst dashIndex = scope.indexOf(\"-\");\n\tif (dashIndex !== -1) {\n\t\tconst prefixFormatter = theme[scope.slice(0, dashIndex)];\n\t\tif (prefixFormatter) {\n\t\t\treturn prefixFormatter;\n\t\t}\n\t}\n\n\treturn undefined;\n}\n\nfunction getActiveFormatter(scopes: Array<string | undefined>, theme: HighlightTheme): HighlightFormatter | undefined {\n\tfor (let i = scopes.length - 1; i >= 0; i--) {\n\t\tconst scope = scopes[i];\n\t\tif (!scope) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst formatter = getScopeFormatter(scope, theme);\n\t\tif (formatter) {\n\t\t\treturn formatter;\n\t\t}\n\t}\n\treturn theme.default;\n}\n\nfunction isSpanOpenTagStart(html: string, index: number): boolean {\n\tif (!html.startsWith(\"<span\", index)) {\n\t\treturn false;\n\t}\n\tconst nextChar = html[index + \"<span\".length];\n\treturn nextChar === \">\" || nextChar === \" \" || nextChar === \"\\t\" || nextChar === \"\\n\" || nextChar === \"\\r\";\n}\n\nexport function renderHighlightedHtml(html: string, theme: HighlightTheme = {}): string {\n\tlet output = \"\";\n\tlet textBuffer = \"\";\n\tconst scopes: Array<string | undefined> = [];\n\n\tconst flushText = () => {\n\t\tif (!textBuffer) {\n\t\t\treturn;\n\t\t}\n\t\tconst formatter = getActiveFormatter(scopes, theme);\n\t\toutput += formatter ? formatter(textBuffer) : textBuffer;\n\t\ttextBuffer = \"\";\n\t};\n\n\tlet index = 0;\n\twhile (index < html.length) {\n\t\tif (isSpanOpenTagStart(html, index)) {\n\t\t\tconst tagEndIndex = html.indexOf(\">\", index + 5);\n\t\t\tif (tagEndIndex !== -1) {\n\t\t\t\tflushText();\n\t\t\t\tconst tag = html.slice(index, tagEndIndex + 1);\n\t\t\t\tconst scope = getScopeFromSpanTag(tag);\n\t\t\t\tscopes.push(scope);\n\t\t\t\tindex = tagEndIndex + 1;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tif (html.startsWith(SPAN_CLOSE, index)) {\n\t\t\tflushText();\n\t\t\tif (scopes.length > 0) {\n\t\t\t\tscopes.pop();\n\t\t\t}\n\t\t\tindex += SPAN_CLOSE.length;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (html[index] === \"&\") {\n\t\t\tconst decoded = decodeHtmlEntityAt(html, index);\n\t\t\tif (decoded) {\n\t\t\t\ttextBuffer += decoded.text;\n\t\t\t\tindex += decoded.length;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\ttextBuffer += html[index];\n\t\tindex++;\n\t}\n\n\tflushText();\n\treturn output;\n}\n\nexport function highlight(code: string, options: HighlightOptions = {}): string {\n\tconst html = options.language\n\t\t? hljs.highlight(code, {\n\t\t\t\tlanguage: options.language,\n\t\t\t\tignoreIllegals: options.ignoreIllegals,\n\t\t\t}).value\n\t\t: hljs.highlightAuto(code, options.languageSubset).value;\n\treturn renderHighlightedHtml(html, options.theme);\n}\n\nexport function supportsLanguage(name: string): boolean {\n\treturn hljs.getLanguage(name) !== undefined;\n}\n"]}
1
+ {"version":3,"file":"syntax-highlight.d.ts","sourceRoot":"","sources":["../../src/utils/syntax-highlight.ts"],"names":[],"mappings":"AAoDA,wBAAgB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAezD;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAEzE,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,cAAc,CAAC;CACvB;AAoED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,cAAmB,GAAG,MAAM,CAoDtF;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAQ9E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD","sourcesContent":["import hljs from \"highlight.js/lib/core.js\";\nimport bash from \"highlight.js/lib/languages/bash.js\";\nimport c from \"highlight.js/lib/languages/c.js\";\nimport cpp from \"highlight.js/lib/languages/cpp.js\";\nimport csharp from \"highlight.js/lib/languages/csharp.js\";\nimport dart from \"highlight.js/lib/languages/dart.js\";\nimport go from \"highlight.js/lib/languages/go.js\";\nimport groovy from \"highlight.js/lib/languages/groovy.js\";\nimport java from \"highlight.js/lib/languages/java.js\";\nimport javascript from \"highlight.js/lib/languages/javascript.js\";\nimport kotlin from \"highlight.js/lib/languages/kotlin.js\";\nimport lua from \"highlight.js/lib/languages/lua.js\";\nimport nix from \"highlight.js/lib/languages/nix.js\";\nimport perl from \"highlight.js/lib/languages/perl.js\";\nimport php from \"highlight.js/lib/languages/php.js\";\nimport python from \"highlight.js/lib/languages/python.js\";\nimport ruby from \"highlight.js/lib/languages/ruby.js\";\nimport rust from \"highlight.js/lib/languages/rust.js\";\nimport scala from \"highlight.js/lib/languages/scala.js\";\nimport swift from \"highlight.js/lib/languages/swift.js\";\nimport typescript from \"highlight.js/lib/languages/typescript.js\";\nimport { decodeHtmlEntityAt } from \"./html.ts\";\n\nconst eagerLanguages = {\n\tpython,\n\tjava,\n\tgo,\n\tjavascript,\n\tcpp,\n\ttypescript,\n\tphp,\n\truby,\n\tc,\n\tcsharp,\n\tnix,\n\tbash,\n\trust,\n\tscala,\n\tkotlin,\n\tswift,\n\tdart,\n\tgroovy,\n\tperl,\n\tlua,\n};\n\nfor (const [name, language] of Object.entries(eagerLanguages)) {\n\thljs.registerLanguage(name, language);\n}\n\nlet allLanguagesPromise: Promise<void> | undefined;\n\nexport function loadAllHighlightLanguages(): Promise<void> {\n\tif (!allLanguagesPromise) {\n\t\tallLanguagesPromise = new Promise((resolve) => {\n\t\t\tsetImmediate(() => {\n\t\t\t\tvoid import(\"highlight.js/lib/index.js\").then(\n\t\t\t\t\t() => resolve(),\n\t\t\t\t\t() => {\n\t\t\t\t\t\t// Eager languages and plaintext fallback remain available.\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t}\n\treturn allLanguagesPromise;\n}\n\nexport type HighlightFormatter = (text: string) => string;\nexport type HighlightTheme = Partial<Record<string, HighlightFormatter>>;\n\nexport interface HighlightOptions {\n\tlanguage?: string;\n\tignoreIllegals?: boolean;\n\tlanguageSubset?: string[];\n\ttheme?: HighlightTheme;\n}\n\nconst SPAN_CLOSE = \"</span>\";\nconst HIGHLIGHT_CLASS_PREFIX = \"hljs-\";\n\nfunction getScopeFromSpanTag(tag: string): string | undefined {\n\tconst match = /\\sclass\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)')/.exec(tag);\n\tconst classValue = match?.[1] ?? match?.[2];\n\tif (!classValue) {\n\t\treturn undefined;\n\t}\n\n\tfor (const className of classValue.split(/\\s+/)) {\n\t\tif (className.startsWith(HIGHLIGHT_CLASS_PREFIX)) {\n\t\t\treturn className.slice(HIGHLIGHT_CLASS_PREFIX.length);\n\t\t}\n\t}\n\n\treturn undefined;\n}\n\nfunction getScopeFormatter(scope: string, theme: HighlightTheme): HighlightFormatter | undefined {\n\tconst exact = theme[scope];\n\tif (exact) {\n\t\treturn exact;\n\t}\n\n\tconst dotIndex = scope.indexOf(\".\");\n\tif (dotIndex !== -1) {\n\t\tconst prefixFormatter = theme[scope.slice(0, dotIndex)];\n\t\tif (prefixFormatter) {\n\t\t\treturn prefixFormatter;\n\t\t}\n\t}\n\n\tconst dashIndex = scope.indexOf(\"-\");\n\tif (dashIndex !== -1) {\n\t\tconst prefixFormatter = theme[scope.slice(0, dashIndex)];\n\t\tif (prefixFormatter) {\n\t\t\treturn prefixFormatter;\n\t\t}\n\t}\n\n\treturn undefined;\n}\n\nfunction getActiveFormatter(scopes: Array<string | undefined>, theme: HighlightTheme): HighlightFormatter | undefined {\n\tfor (let i = scopes.length - 1; i >= 0; i--) {\n\t\tconst scope = scopes[i];\n\t\tif (!scope) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst formatter = getScopeFormatter(scope, theme);\n\t\tif (formatter) {\n\t\t\treturn formatter;\n\t\t}\n\t}\n\treturn theme.default;\n}\n\nfunction isSpanOpenTagStart(html: string, index: number): boolean {\n\tif (!html.startsWith(\"<span\", index)) {\n\t\treturn false;\n\t}\n\tconst nextChar = html[index + \"<span\".length];\n\treturn nextChar === \">\" || nextChar === \" \" || nextChar === \"\\t\" || nextChar === \"\\n\" || nextChar === \"\\r\";\n}\n\nexport function renderHighlightedHtml(html: string, theme: HighlightTheme = {}): string {\n\tlet output = \"\";\n\tlet textBuffer = \"\";\n\tconst scopes: Array<string | undefined> = [];\n\n\tconst flushText = () => {\n\t\tif (!textBuffer) {\n\t\t\treturn;\n\t\t}\n\t\tconst formatter = getActiveFormatter(scopes, theme);\n\t\toutput += formatter ? formatter(textBuffer) : textBuffer;\n\t\ttextBuffer = \"\";\n\t};\n\n\tlet index = 0;\n\twhile (index < html.length) {\n\t\tif (isSpanOpenTagStart(html, index)) {\n\t\t\tconst tagEndIndex = html.indexOf(\">\", index + 5);\n\t\t\tif (tagEndIndex !== -1) {\n\t\t\t\tflushText();\n\t\t\t\tconst tag = html.slice(index, tagEndIndex + 1);\n\t\t\t\tconst scope = getScopeFromSpanTag(tag);\n\t\t\t\tscopes.push(scope);\n\t\t\t\tindex = tagEndIndex + 1;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tif (html.startsWith(SPAN_CLOSE, index)) {\n\t\t\tflushText();\n\t\t\tif (scopes.length > 0) {\n\t\t\t\tscopes.pop();\n\t\t\t}\n\t\t\tindex += SPAN_CLOSE.length;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (html[index] === \"&\") {\n\t\t\tconst decoded = decodeHtmlEntityAt(html, index);\n\t\t\tif (decoded) {\n\t\t\t\ttextBuffer += decoded.text;\n\t\t\t\tindex += decoded.length;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\ttextBuffer += html[index];\n\t\tindex++;\n\t}\n\n\tflushText();\n\treturn output;\n}\n\nexport function highlight(code: string, options: HighlightOptions = {}): string {\n\tconst html = options.language\n\t\t? hljs.highlight(code, {\n\t\t\t\tlanguage: options.language,\n\t\t\t\tignoreIllegals: options.ignoreIllegals,\n\t\t\t}).value\n\t\t: hljs.highlightAuto(code, options.languageSubset).value;\n\treturn renderHighlightedHtml(html, options.theme);\n}\n\nexport function supportsLanguage(name: string): boolean {\n\treturn hljs.getLanguage(name) !== undefined;\n}\n"]}
@@ -1,5 +1,64 @@
1
- import hljs from "highlight.js/lib/index.js";
1
+ import hljs from "highlight.js/lib/core.js";
2
+ import bash from "highlight.js/lib/languages/bash.js";
3
+ import c from "highlight.js/lib/languages/c.js";
4
+ import cpp from "highlight.js/lib/languages/cpp.js";
5
+ import csharp from "highlight.js/lib/languages/csharp.js";
6
+ import dart from "highlight.js/lib/languages/dart.js";
7
+ import go from "highlight.js/lib/languages/go.js";
8
+ import groovy from "highlight.js/lib/languages/groovy.js";
9
+ import java from "highlight.js/lib/languages/java.js";
10
+ import javascript from "highlight.js/lib/languages/javascript.js";
11
+ import kotlin from "highlight.js/lib/languages/kotlin.js";
12
+ import lua from "highlight.js/lib/languages/lua.js";
13
+ import nix from "highlight.js/lib/languages/nix.js";
14
+ import perl from "highlight.js/lib/languages/perl.js";
15
+ import php from "highlight.js/lib/languages/php.js";
16
+ import python from "highlight.js/lib/languages/python.js";
17
+ import ruby from "highlight.js/lib/languages/ruby.js";
18
+ import rust from "highlight.js/lib/languages/rust.js";
19
+ import scala from "highlight.js/lib/languages/scala.js";
20
+ import swift from "highlight.js/lib/languages/swift.js";
21
+ import typescript from "highlight.js/lib/languages/typescript.js";
2
22
  import { decodeHtmlEntityAt } from "./html.js";
23
+ const eagerLanguages = {
24
+ python,
25
+ java,
26
+ go,
27
+ javascript,
28
+ cpp,
29
+ typescript,
30
+ php,
31
+ ruby,
32
+ c,
33
+ csharp,
34
+ nix,
35
+ bash,
36
+ rust,
37
+ scala,
38
+ kotlin,
39
+ swift,
40
+ dart,
41
+ groovy,
42
+ perl,
43
+ lua,
44
+ };
45
+ for (const [name, language] of Object.entries(eagerLanguages)) {
46
+ hljs.registerLanguage(name, language);
47
+ }
48
+ let allLanguagesPromise;
49
+ export function loadAllHighlightLanguages() {
50
+ if (!allLanguagesPromise) {
51
+ allLanguagesPromise = new Promise((resolve) => {
52
+ setImmediate(() => {
53
+ void import("highlight.js/lib/index.js").then(() => resolve(), () => {
54
+ // Eager languages and plaintext fallback remain available.
55
+ resolve();
56
+ });
57
+ });
58
+ });
59
+ }
60
+ return allLanguagesPromise;
61
+ }
3
62
  const SPAN_CLOSE = "</span>";
4
63
  const HIGHLIGHT_CLASS_PREFIX = "hljs-";
5
64
  function getScopeFromSpanTag(tag) {
@@ -1 +1 @@
1
- {"version":3,"file":"syntax-highlight.js","sourceRoot":"","sources":["../../src/utils/syntax-highlight.ts"],"names":[],"mappings":"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","sourcesContent":["import hljs from \"highlight.js/lib/index.js\";\nimport { decodeHtmlEntityAt } from \"./html.ts\";\n\nexport type HighlightFormatter = (text: string) => string;\nexport type HighlightTheme = Partial<Record<string, HighlightFormatter>>;\n\nexport interface HighlightOptions {\n\tlanguage?: string;\n\tignoreIllegals?: boolean;\n\tlanguageSubset?: string[];\n\ttheme?: HighlightTheme;\n}\n\nconst SPAN_CLOSE = \"</span>\";\nconst HIGHLIGHT_CLASS_PREFIX = \"hljs-\";\n\nfunction getScopeFromSpanTag(tag: string): string | undefined {\n\tconst match = /\\sclass\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)')/.exec(tag);\n\tconst classValue = match?.[1] ?? match?.[2];\n\tif (!classValue) {\n\t\treturn undefined;\n\t}\n\n\tfor (const className of classValue.split(/\\s+/)) {\n\t\tif (className.startsWith(HIGHLIGHT_CLASS_PREFIX)) {\n\t\t\treturn className.slice(HIGHLIGHT_CLASS_PREFIX.length);\n\t\t}\n\t}\n\n\treturn undefined;\n}\n\nfunction getScopeFormatter(scope: string, theme: HighlightTheme): HighlightFormatter | undefined {\n\tconst exact = theme[scope];\n\tif (exact) {\n\t\treturn exact;\n\t}\n\n\tconst dotIndex = scope.indexOf(\".\");\n\tif (dotIndex !== -1) {\n\t\tconst prefixFormatter = theme[scope.slice(0, dotIndex)];\n\t\tif (prefixFormatter) {\n\t\t\treturn prefixFormatter;\n\t\t}\n\t}\n\n\tconst dashIndex = scope.indexOf(\"-\");\n\tif (dashIndex !== -1) {\n\t\tconst prefixFormatter = theme[scope.slice(0, dashIndex)];\n\t\tif (prefixFormatter) {\n\t\t\treturn prefixFormatter;\n\t\t}\n\t}\n\n\treturn undefined;\n}\n\nfunction getActiveFormatter(scopes: Array<string | undefined>, theme: HighlightTheme): HighlightFormatter | undefined {\n\tfor (let i = scopes.length - 1; i >= 0; i--) {\n\t\tconst scope = scopes[i];\n\t\tif (!scope) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst formatter = getScopeFormatter(scope, theme);\n\t\tif (formatter) {\n\t\t\treturn formatter;\n\t\t}\n\t}\n\treturn theme.default;\n}\n\nfunction isSpanOpenTagStart(html: string, index: number): boolean {\n\tif (!html.startsWith(\"<span\", index)) {\n\t\treturn false;\n\t}\n\tconst nextChar = html[index + \"<span\".length];\n\treturn nextChar === \">\" || nextChar === \" \" || nextChar === \"\\t\" || nextChar === \"\\n\" || nextChar === \"\\r\";\n}\n\nexport function renderHighlightedHtml(html: string, theme: HighlightTheme = {}): string {\n\tlet output = \"\";\n\tlet textBuffer = \"\";\n\tconst scopes: Array<string | undefined> = [];\n\n\tconst flushText = () => {\n\t\tif (!textBuffer) {\n\t\t\treturn;\n\t\t}\n\t\tconst formatter = getActiveFormatter(scopes, theme);\n\t\toutput += formatter ? formatter(textBuffer) : textBuffer;\n\t\ttextBuffer = \"\";\n\t};\n\n\tlet index = 0;\n\twhile (index < html.length) {\n\t\tif (isSpanOpenTagStart(html, index)) {\n\t\t\tconst tagEndIndex = html.indexOf(\">\", index + 5);\n\t\t\tif (tagEndIndex !== -1) {\n\t\t\t\tflushText();\n\t\t\t\tconst tag = html.slice(index, tagEndIndex + 1);\n\t\t\t\tconst scope = getScopeFromSpanTag(tag);\n\t\t\t\tscopes.push(scope);\n\t\t\t\tindex = tagEndIndex + 1;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tif (html.startsWith(SPAN_CLOSE, index)) {\n\t\t\tflushText();\n\t\t\tif (scopes.length > 0) {\n\t\t\t\tscopes.pop();\n\t\t\t}\n\t\t\tindex += SPAN_CLOSE.length;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (html[index] === \"&\") {\n\t\t\tconst decoded = decodeHtmlEntityAt(html, index);\n\t\t\tif (decoded) {\n\t\t\t\ttextBuffer += decoded.text;\n\t\t\t\tindex += decoded.length;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\ttextBuffer += html[index];\n\t\tindex++;\n\t}\n\n\tflushText();\n\treturn output;\n}\n\nexport function highlight(code: string, options: HighlightOptions = {}): string {\n\tconst html = options.language\n\t\t? hljs.highlight(code, {\n\t\t\t\tlanguage: options.language,\n\t\t\t\tignoreIllegals: options.ignoreIllegals,\n\t\t\t}).value\n\t\t: hljs.highlightAuto(code, options.languageSubset).value;\n\treturn renderHighlightedHtml(html, options.theme);\n}\n\nexport function supportsLanguage(name: string): boolean {\n\treturn hljs.getLanguage(name) !== undefined;\n}\n"]}
1
+ {"version":3,"file":"syntax-highlight.js","sourceRoot":"","sources":["../../src/utils/syntax-highlight.ts"],"names":[],"mappings":"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","sourcesContent":["import hljs from \"highlight.js/lib/core.js\";\nimport bash from \"highlight.js/lib/languages/bash.js\";\nimport c from \"highlight.js/lib/languages/c.js\";\nimport cpp from \"highlight.js/lib/languages/cpp.js\";\nimport csharp from \"highlight.js/lib/languages/csharp.js\";\nimport dart from \"highlight.js/lib/languages/dart.js\";\nimport go from \"highlight.js/lib/languages/go.js\";\nimport groovy from \"highlight.js/lib/languages/groovy.js\";\nimport java from \"highlight.js/lib/languages/java.js\";\nimport javascript from \"highlight.js/lib/languages/javascript.js\";\nimport kotlin from \"highlight.js/lib/languages/kotlin.js\";\nimport lua from \"highlight.js/lib/languages/lua.js\";\nimport nix from \"highlight.js/lib/languages/nix.js\";\nimport perl from \"highlight.js/lib/languages/perl.js\";\nimport php from \"highlight.js/lib/languages/php.js\";\nimport python from \"highlight.js/lib/languages/python.js\";\nimport ruby from \"highlight.js/lib/languages/ruby.js\";\nimport rust from \"highlight.js/lib/languages/rust.js\";\nimport scala from \"highlight.js/lib/languages/scala.js\";\nimport swift from \"highlight.js/lib/languages/swift.js\";\nimport typescript from \"highlight.js/lib/languages/typescript.js\";\nimport { decodeHtmlEntityAt } from \"./html.ts\";\n\nconst eagerLanguages = {\n\tpython,\n\tjava,\n\tgo,\n\tjavascript,\n\tcpp,\n\ttypescript,\n\tphp,\n\truby,\n\tc,\n\tcsharp,\n\tnix,\n\tbash,\n\trust,\n\tscala,\n\tkotlin,\n\tswift,\n\tdart,\n\tgroovy,\n\tperl,\n\tlua,\n};\n\nfor (const [name, language] of Object.entries(eagerLanguages)) {\n\thljs.registerLanguage(name, language);\n}\n\nlet allLanguagesPromise: Promise<void> | undefined;\n\nexport function loadAllHighlightLanguages(): Promise<void> {\n\tif (!allLanguagesPromise) {\n\t\tallLanguagesPromise = new Promise((resolve) => {\n\t\t\tsetImmediate(() => {\n\t\t\t\tvoid import(\"highlight.js/lib/index.js\").then(\n\t\t\t\t\t() => resolve(),\n\t\t\t\t\t() => {\n\t\t\t\t\t\t// Eager languages and plaintext fallback remain available.\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t}\n\treturn allLanguagesPromise;\n}\n\nexport type HighlightFormatter = (text: string) => string;\nexport type HighlightTheme = Partial<Record<string, HighlightFormatter>>;\n\nexport interface HighlightOptions {\n\tlanguage?: string;\n\tignoreIllegals?: boolean;\n\tlanguageSubset?: string[];\n\ttheme?: HighlightTheme;\n}\n\nconst SPAN_CLOSE = \"</span>\";\nconst HIGHLIGHT_CLASS_PREFIX = \"hljs-\";\n\nfunction getScopeFromSpanTag(tag: string): string | undefined {\n\tconst match = /\\sclass\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)')/.exec(tag);\n\tconst classValue = match?.[1] ?? match?.[2];\n\tif (!classValue) {\n\t\treturn undefined;\n\t}\n\n\tfor (const className of classValue.split(/\\s+/)) {\n\t\tif (className.startsWith(HIGHLIGHT_CLASS_PREFIX)) {\n\t\t\treturn className.slice(HIGHLIGHT_CLASS_PREFIX.length);\n\t\t}\n\t}\n\n\treturn undefined;\n}\n\nfunction getScopeFormatter(scope: string, theme: HighlightTheme): HighlightFormatter | undefined {\n\tconst exact = theme[scope];\n\tif (exact) {\n\t\treturn exact;\n\t}\n\n\tconst dotIndex = scope.indexOf(\".\");\n\tif (dotIndex !== -1) {\n\t\tconst prefixFormatter = theme[scope.slice(0, dotIndex)];\n\t\tif (prefixFormatter) {\n\t\t\treturn prefixFormatter;\n\t\t}\n\t}\n\n\tconst dashIndex = scope.indexOf(\"-\");\n\tif (dashIndex !== -1) {\n\t\tconst prefixFormatter = theme[scope.slice(0, dashIndex)];\n\t\tif (prefixFormatter) {\n\t\t\treturn prefixFormatter;\n\t\t}\n\t}\n\n\treturn undefined;\n}\n\nfunction getActiveFormatter(scopes: Array<string | undefined>, theme: HighlightTheme): HighlightFormatter | undefined {\n\tfor (let i = scopes.length - 1; i >= 0; i--) {\n\t\tconst scope = scopes[i];\n\t\tif (!scope) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst formatter = getScopeFormatter(scope, theme);\n\t\tif (formatter) {\n\t\t\treturn formatter;\n\t\t}\n\t}\n\treturn theme.default;\n}\n\nfunction isSpanOpenTagStart(html: string, index: number): boolean {\n\tif (!html.startsWith(\"<span\", index)) {\n\t\treturn false;\n\t}\n\tconst nextChar = html[index + \"<span\".length];\n\treturn nextChar === \">\" || nextChar === \" \" || nextChar === \"\\t\" || nextChar === \"\\n\" || nextChar === \"\\r\";\n}\n\nexport function renderHighlightedHtml(html: string, theme: HighlightTheme = {}): string {\n\tlet output = \"\";\n\tlet textBuffer = \"\";\n\tconst scopes: Array<string | undefined> = [];\n\n\tconst flushText = () => {\n\t\tif (!textBuffer) {\n\t\t\treturn;\n\t\t}\n\t\tconst formatter = getActiveFormatter(scopes, theme);\n\t\toutput += formatter ? formatter(textBuffer) : textBuffer;\n\t\ttextBuffer = \"\";\n\t};\n\n\tlet index = 0;\n\twhile (index < html.length) {\n\t\tif (isSpanOpenTagStart(html, index)) {\n\t\t\tconst tagEndIndex = html.indexOf(\">\", index + 5);\n\t\t\tif (tagEndIndex !== -1) {\n\t\t\t\tflushText();\n\t\t\t\tconst tag = html.slice(index, tagEndIndex + 1);\n\t\t\t\tconst scope = getScopeFromSpanTag(tag);\n\t\t\t\tscopes.push(scope);\n\t\t\t\tindex = tagEndIndex + 1;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tif (html.startsWith(SPAN_CLOSE, index)) {\n\t\t\tflushText();\n\t\t\tif (scopes.length > 0) {\n\t\t\t\tscopes.pop();\n\t\t\t}\n\t\t\tindex += SPAN_CLOSE.length;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (html[index] === \"&\") {\n\t\t\tconst decoded = decodeHtmlEntityAt(html, index);\n\t\t\tif (decoded) {\n\t\t\t\ttextBuffer += decoded.text;\n\t\t\t\tindex += decoded.length;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\ttextBuffer += html[index];\n\t\tindex++;\n\t}\n\n\tflushText();\n\treturn output;\n}\n\nexport function highlight(code: string, options: HighlightOptions = {}): string {\n\tconst html = options.language\n\t\t? hljs.highlight(code, {\n\t\t\t\tlanguage: options.language,\n\t\t\t\tignoreIllegals: options.ignoreIllegals,\n\t\t\t}).value\n\t\t: hljs.highlightAuto(code, options.languageSubset).value;\n\treturn renderHighlightedHtml(html, options.theme);\n}\n\nexport function supportsLanguage(name: string): boolean {\n\treturn hljs.getLanguage(name) !== undefined;\n}\n"]}
@@ -0,0 +1,8 @@
1
+ /** Split a leading UTF-8 byte order mark from decoded text. */
2
+ export declare function splitBom(content: string): {
3
+ bom: string;
4
+ text: string;
5
+ };
6
+ /** Remove a leading UTF-8 byte order mark from decoded text. */
7
+ export declare function stripBom(content: string): string;
8
+ //# sourceMappingURL=text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/utils/text.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAEvE;AAED,gEAAgE;AAChE,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhD","sourcesContent":["/** Split a leading UTF-8 byte order mark from decoded text. */\nexport function splitBom(content: string): { bom: string; text: string } {\n\treturn content.startsWith(\"\\uFEFF\") ? { bom: \"\\uFEFF\", text: content.slice(1) } : { bom: \"\", text: content };\n}\n\n/** Remove a leading UTF-8 byte order mark from decoded text. */\nexport function stripBom(content: string): string {\n\treturn splitBom(content).text;\n}\n"]}
@@ -0,0 +1,9 @@
1
+ /** Split a leading UTF-8 byte order mark from decoded text. */
2
+ export function splitBom(content) {
3
+ return content.startsWith("\uFEFF") ? { bom: "\uFEFF", text: content.slice(1) } : { bom: "", text: content };
4
+ }
5
+ /** Remove a leading UTF-8 byte order mark from decoded text. */
6
+ export function stripBom(content) {
7
+ return splitBom(content).text;
8
+ }
9
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/utils/text.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAiC;IACxE,OAAO,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAAA,CAC7G;AAED,gEAAgE;AAChE,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAU;IACjD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;AAAA,CAC9B","sourcesContent":["/** Split a leading UTF-8 byte order mark from decoded text. */\nexport function splitBom(content: string): { bom: string; text: string } {\n\treturn content.startsWith(\"\\uFEFF\") ? { bom: \"\\uFEFF\", text: content.slice(1) } : { bom: \"\", text: content };\n}\n\n/** Remove a leading UTF-8 byte order mark from decoded text. */\nexport function stripBom(content: string): string {\n\treturn splitBom(content).text;\n}\n"]}
@@ -34,6 +34,8 @@ contextTokens > contextWindow - reserveTokens
34
34
 
35
35
  By default, `reserveTokens` is 16384 tokens (configurable in `~/.pi/agent/settings.json` or `<project-dir>/.pi/settings.json`). This leaves room for the LLM's response.
36
36
 
37
+ During a multi-turn agent run, Pi checks this threshold after tools finish and their results are appended, before starting the next assistant response. If the threshold is crossed, Pi compacts inside the same agent run and resumes with the summary and retained messages. It skips this between-turn check when the completed tool batch terminates the run and no queued message requires another response. Pi also checks the threshold before a new user prompt and after a low-level agent run ends.
38
+
37
39
  You can also trigger manually with `/compact [instructions]`, where optional instructions focus the summary.
38
40
 
39
41
  ### How It Works
@@ -346,6 +348,21 @@ pi.on("session_before_compact", async (event, ctx) => {
346
348
 
347
349
  See [custom-compaction.ts](../examples/extensions/custom-compaction.ts) for a complete example using a different model.
348
350
 
351
+ ### session_compact_failed
352
+
353
+ Fired when manual or automatic compaction fails or is aborted. This is useful for telemetry extensions that need to pair `session_before_compact` attempts with terminal outcomes.
354
+
355
+ ```typescript
356
+ pi.on("session_compact_failed", async (event, ctx) => {
357
+ const { reason, errorMessage, aborted, willRetry, fromExtension } = event;
358
+ // reason - "manual" (/compact), "threshold", or "overflow"
359
+ // errorMessage - present for non-abort failures
360
+ // aborted - true for cancelled/aborted compactions
361
+ // willRetry - whether the aborted turn would have retried after compaction
362
+ // fromExtension - whether extension-provided compaction content was being used
363
+ });
364
+ ```
365
+
349
366
  ### session_before_tree
350
367
 
351
368
  Fired before `/tree` navigation. Always fires regardless of whether user chose to summarize. Can cancel navigation or provide custom summary.
@@ -394,15 +394,15 @@ interface OAuthCredentials {
394
394
 
395
395
  ## Custom Streaming API
396
396
 
397
- For providers with non-standard APIs, implement `streamSimple`. Study the existing provider implementations before writing your own:
397
+ For providers with non-standard APIs, implement `streamSimple`. Study the existing API implementations before writing your own:
398
398
 
399
399
  **Reference implementations:**
400
- - [anthropic.ts](https://github.com/earendil-works/pi-mono/blob/main/packages/ai/src/providers/anthropic.ts) - Anthropic Messages API
401
- - [mistral.ts](https://github.com/earendil-works/pi-mono/blob/main/packages/ai/src/providers/mistral.ts) - Mistral Conversations API
402
- - [openai-completions.ts](https://github.com/earendil-works/pi-mono/blob/main/packages/ai/src/providers/openai-completions.ts) - OpenAI Chat Completions
403
- - [openai-responses.ts](https://github.com/earendil-works/pi-mono/blob/main/packages/ai/src/providers/openai-responses.ts) - OpenAI Responses API
404
- - [google.ts](https://github.com/earendil-works/pi-mono/blob/main/packages/ai/src/providers/google.ts) - Google Generative AI
405
- - [amazon-bedrock.ts](https://github.com/earendil-works/pi-mono/blob/main/packages/ai/src/providers/amazon-bedrock.ts) - AWS Bedrock
400
+ - [anthropic-messages.ts](https://github.com/earendil-works/pi-mono/blob/main/packages/ai/src/api/anthropic-messages.ts) - Anthropic Messages API
401
+ - [mistral-conversations.ts](https://github.com/earendil-works/pi-mono/blob/main/packages/ai/src/api/mistral-conversations.ts) - Mistral Conversations API
402
+ - [openai-completions.ts](https://github.com/earendil-works/pi-mono/blob/main/packages/ai/src/api/openai-completions.ts) - OpenAI Chat Completions
403
+ - [openai-responses.ts](https://github.com/earendil-works/pi-mono/blob/main/packages/ai/src/api/openai-responses.ts) - OpenAI Responses API
404
+ - [google-generative-ai.ts](https://github.com/earendil-works/pi-mono/blob/main/packages/ai/src/api/google-generative-ai.ts) - Google Generative AI
405
+ - [bedrock-converse-stream.ts](https://github.com/earendil-works/pi-mono/blob/main/packages/ai/src/api/bedrock-converse-stream.ts) - AWS Bedrock
406
406
 
407
407
  ### Stream Pattern
408
408
 
@@ -752,8 +752,10 @@ interface ProviderModelConfig {
752
752
  requiresThinkingAsText?: boolean;
753
753
  requiresReasoningContentOnAssistantMessages?: boolean;
754
754
  thinkingFormat?: "openai" | "openrouter" | "deepseek" | "together" | "baseten" | "zai" | "qwen" | "chat-template" | "qwen-chat-template" | "string-thinking" | "ant-ling";
755
- chatTemplateKwargs?: Record<string, string | number | boolean | null | { "$var": "thinking.enabled" | "thinking.effort"; omitWhenOff?: boolean }>;
756
- chatTemplateArgs?: Record<string, string | number | boolean | null | { "$var": "thinking.enabled" | "thinking.effort"; omitWhenOff?: boolean }>;
755
+ chatTemplateKwargs?: Record<string, string | number | boolean | null | { "$var": "thinking.enabled" | "thinking.effort" | "thinking.budget"; omitWhenOff?: boolean }>;
756
+ chatTemplateArgs?: Record<string, string | number | boolean | null | { "$var": "thinking.enabled" | "thinking.effort" | "thinking.budget"; omitWhenOff?: boolean }>;
757
+ thinkingTokenBudgetField?: "thinking_token_budget" | "thinking_budget" | "thinking_budget_tokens";
758
+ supportsThinkingTokenBudget?: boolean;
757
759
  cacheControlFormat?: "anthropic";
758
760
  sessionAffinityFormat?: "openai" | "openai-nosession" | "openrouter";
759
761
  sendSessionAffinityHeaders?: boolean;
@@ -771,4 +773,5 @@ interface ProviderModelConfig {
771
773
  ```
772
774
 
773
775
  `openrouter` sends `reasoning: { effort }`. `deepseek` sends `thinking: { type: "enabled" | "disabled" }` and `reasoning_effort` when enabled. `together` sends `reasoning: { enabled }` and also `reasoning_effort` when `supportsReasoningEffort` is enabled. `qwen` is for DashScope-style top-level `enable_thinking`. Use `qwen-chat-template` for local Qwen-compatible servers that read `chat_template_kwargs.enable_thinking` and need `preserve_thinking`. Use `chat-template` for configurable `chat_template_kwargs`, for example DeepSeek V3.x behind vLLM with `chatTemplateKwargs: { "thinking": { "$var": "thinking.enabled" } }`. Use `thinkingFormat: "baseten"` with `chatTemplateArgs` when the provider expects toggle values under `chat_template_args` and optionally supports top-level `reasoning_effort`.
776
+ `thinkingTokenBudgetField` sends a clamped per-level thinking budget as a top-level request field (`thinking_token_budget` on vLLM, `thinking_budget` on Qwen/SGLang, `thinking_budget_tokens` on llama.cpp). `supportsThinkingTokenBudget: true` is an alias for the vLLM field name. Do not combine it with `reasoning_effort` on DashScope Qwen models.
774
777
  `cacheControlFormat: "anthropic"` applies Anthropic-style `cache_control` markers to the system prompt, last tool definition, and last user, assistant, or tool-result text content.
@@ -4,7 +4,7 @@ Pi uses environment variables in three ways:
4
4
 
5
5
  - Variables such as `PI_OFFLINE` configure the Pi process.
6
6
  - Pi sets process markers so child processes can identify Pi as the launching agent.
7
- - Commands run by the LLM-callable bash tool receive `PI_*` variables describing the current session.
7
+ - Commands run by the LLM-callable shell tools receive `PI_*` variables describing the current session.
8
8
 
9
9
  Provider API-key variables are documented separately in [Providers](providers.md#environment-variables-or-auth-file).
10
10
 
@@ -17,9 +17,9 @@ The CLI and RPC entry points set two process markers:
17
17
 
18
18
  Child processes inherit both markers. They are not session-specific and are not set automatically when Pi is embedded through the SDK.
19
19
 
20
- ## Bash Tool Session Environment
20
+ ## Shell Tool Session Environment
21
21
 
22
- Commands run by the bash tool receive the current Pi session state:
22
+ Commands run by the `bash` and `powershell` tools receive the current Pi session state:
23
23
 
24
24
  | Variable | Description |
25
25
  |----------|-------------|
@@ -29,7 +29,7 @@ Commands run by the bash tool receive the current Pi session state:
29
29
  | `PI_MODEL` | Currently selected model ID |
30
30
  | `PI_REASONING_LEVEL` | Current effective reasoning level: `off`, `minimal`, `low`, `medium`, `high`, `xhigh`, or `max` |
31
31
 
32
- The values are resolved when each command starts. Switching models or changing the reasoning level therefore affects the next bash command without restarting Pi. `PI_PROVIDER` and `PI_MODEL` identify the selected Pi model, not a different upstream model that a router may choose internally.
32
+ The values are resolved when each command starts. Switching models or changing the reasoning level therefore affects the next shell command without restarting Pi. `PI_PROVIDER` and `PI_MODEL` identify the selected Pi model, not a different upstream model that a router may choose internally.
33
33
 
34
34
  When asked which model or provider is running, inspect these variables instead of inferring the answer from the system prompt:
35
35
 
@@ -46,11 +46,11 @@ if [ -n "$PI_SESSION_FILE" ]; then
46
46
  fi
47
47
  ```
48
48
 
49
- These variables are injected into the LLM-callable bash tool. They are not injected into user-entered `!` or `!!` commands.
49
+ These variables are injected into the LLM-callable `bash` and `powershell` tools. They are not injected into user-entered `!` or `!!` commands.
50
50
 
51
- ### Custom Bash Tools
51
+ ### Custom Shell Tools
52
52
 
53
- Bash tools created with `createBashTool()` expose the session environment by default when registered with Pi. Injection happens before `spawnHook`, so a hook receives the variables in `ctx.env`:
53
+ Tools created with `createBashTool()` or `createPowerShellTool()` expose the session environment by default when registered with Pi. Injection happens before `spawnHook`, so a hook receives the variables in `ctx.env`:
54
54
 
55
55
  ```typescript
56
56
  const bashTool = createBashTool(cwd, {
@@ -64,7 +64,7 @@ const bashTool = createBashTool(cwd, {
64
64
  Disable session metadata independently of the spawn hook:
65
65
 
66
66
  ```typescript
67
- const bashTool = createBashTool(cwd, {
67
+ const powershellTool = createPowerShellTool(cwd, {
68
68
  exposeSessionEnvironment: false,
69
69
  spawnHook: (ctx) => ctx,
70
70
  });
@@ -87,6 +87,9 @@ These variables are read by Pi itself:
87
87
  | `PI_CACHE_RETENTION` | Set to `long` for extended provider prompt caching where supported |
88
88
  | `PI_SHARE_VIEWER_URL` | Override the base URL used by `/share` |
89
89
  | `PI_HARDWARE_CURSOR` | Set to `1` to show the hardware cursor; see [Terminal setup](terminal-setup.md) |
90
+ | `PI_HYPERLINKS` | Override OSC 8 hyperlink detection with `1`, `0`, or `auto` |
91
+ | `PI_IMAGE_PROTOCOL` | Override inline image detection with `kitty`, `iterm2`, `none`, or `auto` |
92
+ | `PI_TRUE_COLOR` | Override truecolor detection with `1`, `0`, or `auto` |
90
93
  | `PI_TUI_ESC_TIMEOUT` | How long to wait after a lone ESC before treating it as Escape, in milliseconds; defaults to `100` over SSH and `10` otherwise. Increase if Alt-key input is misread as Escape |
91
94
  | `VISUAL`, `EDITOR` | External editor fallback when `externalEditor` is unset |
92
95
  | `HTTP_PROXY`, `HTTPS_PROXY` | Proxy outbound HTTP requests |
@@ -330,7 +330,8 @@ user sends another prompt ◄─────────────────
330
330
 
331
331
  /compact or auto-compaction
332
332
  ├─► session_before_compact (can cancel or customize)
333
- └─► session_compact
333
+ ├─► session_compact (success)
334
+ └─► session_compact_failed (failure or abort)
334
335
 
335
336
  /tree navigation
336
337
  ├─► session_before_tree (can cancel or customize)
@@ -448,7 +449,7 @@ pi.on("session_before_fork", async (event, ctx) => {
448
449
  After a successful fork or clone, pi emits `session_shutdown` for the old extension instance, reloads and rebinds extensions for the new session, then emits `session_start` with `reason: "fork"` and `previousSessionFile`.
449
450
  Do cleanup work in `session_shutdown`, then reestablish any in-memory state in `session_start`.
450
451
 
451
- #### session_before_compact / session_compact
452
+ #### session_before_compact / session_compact / session_compact_failed
452
453
 
453
454
  Fired on compaction. See [compaction.md](compaction.md) for details.
454
455
 
@@ -479,6 +480,14 @@ pi.on("session_compact", async (event, ctx) => {
479
480
  // event.reason - "manual" (/compact), "threshold", or "overflow"
480
481
  // event.willRetry - whether the aborted turn is retried after compaction (overflow recovery)
481
482
  });
483
+
484
+ pi.on("session_compact_failed", async (event, ctx) => {
485
+ // event.reason - "manual" (/compact), "threshold", or "overflow"
486
+ // event.errorMessage - present for non-abort failures
487
+ // event.aborted - true for cancelled/aborted compactions
488
+ // event.willRetry - whether the aborted turn would have retried after compaction
489
+ // event.fromExtension - whether extension-provided compaction content was being used
490
+ });
482
491
  ```
483
492
 
484
493
  #### session_before_tree / session_tree
@@ -571,6 +580,24 @@ pi.on("agent_settled", async (_event, ctx) => {
571
580
  });
572
581
  ```
573
582
 
583
+ #### ui_prompt_start / ui_prompt_end
584
+
585
+ Notification-only lifecycle events for blocking user-facing extension UI prompts. They fire around `ctx.ui.select()`, `ctx.ui.confirm()`, `ctx.ui.input()`, `ctx.ui.editor()`, and `ctx.ui.custom()` so host/status integrations can report "waiting for user" instead of just "running".
586
+
587
+ Nested or overlapping prompts are coalesced into one outer waiting span. Handlers are invoked best-effort and are not awaited before showing or closing the prompt.
588
+
589
+ ```typescript
590
+ pi.on("ui_prompt_start", async (event, ctx) => {
591
+ // event.reason === "ui_prompt"
592
+ // event.kind: "select" | "confirm" | "input" | "editor" | "custom"
593
+ // event.title: prompt title when available
594
+ });
595
+
596
+ pi.on("ui_prompt_end", async (event, ctx) => {
597
+ // Pi is no longer waiting on that UI prompt span.
598
+ });
599
+ ```
600
+
574
601
  #### turn_start / turn_end
575
602
 
576
603
  Fired for each turn (one LLM response + tool calls).
@@ -2050,7 +2077,7 @@ pi.registerTool({
2050
2077
 
2051
2078
  ### Overriding Built-in Tools
2052
2079
 
2053
- Extensions can override built-in tools (`read`, `bash`, `edit`, `write`, `grep`, `find`, `ls`) by registering a tool with the same name. Interactive mode displays a warning when this happens.
2080
+ Extensions can override built-in tools (`read`, `bash`, `powershell`, `edit`, `write`, `grep`, `find`, `ls`) by registering a tool with the same name. Interactive mode displays a warning when this happens.
2054
2081
 
2055
2082
  ```bash
2056
2083
  # Extension's read tool replaces built-in read
@@ -2074,6 +2101,7 @@ See [examples/extensions/tool-override.ts](../examples/extensions/tool-override.
2074
2101
  Built-in tool implementations:
2075
2102
  - [read.ts](https://github.com/earendil-works/pi-mono/blob/main/packages/coding-agent/src/core/tools/read.ts) - `ReadToolDetails`
2076
2103
  - [bash.ts](https://github.com/earendil-works/pi-mono/blob/main/packages/coding-agent/src/core/tools/bash.ts) - `BashToolDetails`
2104
+ - [powershell.ts](https://github.com/earendil-works/pi-mono/blob/main/packages/coding-agent/src/core/tools/powershell.ts) - `PowerShellToolDetails`
2077
2105
  - [edit.ts](https://github.com/earendil-works/pi-mono/blob/main/packages/coding-agent/src/core/tools/edit.ts)
2078
2106
  - [write.ts](https://github.com/earendil-works/pi-mono/blob/main/packages/coding-agent/src/core/tools/write.ts)
2079
2107
  - [grep.ts](https://github.com/earendil-works/pi-mono/blob/main/packages/coding-agent/src/core/tools/grep.ts) - `GrepToolDetails`
@@ -2109,11 +2137,11 @@ pi.registerTool({
2109
2137
  });
2110
2138
  ```
2111
2139
 
2112
- **Operations interfaces:** `ReadOperations`, `WriteOperations`, `EditOperations`, `BashOperations`, `LsOperations`, `GrepOperations`, `FindOperations`
2140
+ **Operations interfaces:** `ReadOperations`, `WriteOperations`, `EditOperations`, `BashOperations`, `PowerShellOperations`, `LsOperations`, `GrepOperations`, `FindOperations`
2113
2141
 
2114
2142
  For `user_bash`, extensions can reuse pi's local shell backend via `createLocalBashOperations()` instead of reimplementing local process spawning, shell resolution, and process-tree termination.
2115
2143
 
2116
- The bash tool also supports a spawn hook to adjust the command, cwd, or env before execution:
2144
+ The `bash` and `powershell` tools also support a spawn hook to adjust the command, cwd, or env before execution:
2117
2145
 
2118
2146
  ```typescript
2119
2147
  import { createBashTool } from "@earendil-works/pi-coding-agent";
@@ -2127,7 +2155,7 @@ const bashTool = createBashTool(cwd, {
2127
2155
  });
2128
2156
  ```
2129
2157
 
2130
- `createBashTool()` exposes the current session to commands through `PI_SESSION_ID`, `PI_SESSION_FILE`, `PI_PROVIDER`, `PI_MODEL`, and `PI_REASONING_LEVEL`. Injection happens before `spawnHook`, so hooks receive these values in `env` and preserve them when they spread the existing environment as above. Set `exposeSessionEnvironment: false` to disable them:
2158
+ `createBashTool()` and `createPowerShellTool()` expose the current session to commands through `PI_SESSION_ID`, `PI_SESSION_FILE`, `PI_PROVIDER`, `PI_MODEL`, and `PI_REASONING_LEVEL`. Injection happens before `spawnHook`, so hooks receive these values in `env` and preserve them when they spread the existing environment as above. Set `exposeSessionEnvironment: false` to disable them:
2131
2159
 
2132
2160
  ```typescript
2133
2161
  const bashTool = createBashTool(cwd, {
@@ -2135,7 +2163,7 @@ const bashTool = createBashTool(cwd, {
2135
2163
  });
2136
2164
  ```
2137
2165
 
2138
- See [Bash tool session environment](environment-variables.md#bash-tool-session-environment) for variable semantics. See [examples/extensions/ssh.ts](../examples/extensions/ssh.ts) for a complete SSH example with `--ssh` flag.
2166
+ See [Shell tool session environment](environment-variables.md#shell-tool-session-environment) for variable semantics. See [examples/extensions/ssh.ts](../examples/extensions/ssh.ts) for a complete SSH example with `--ssh` flag.
2139
2167
 
2140
2168
  ### Output Truncation
2141
2169
 
@@ -15,12 +15,16 @@ except that streaming message updates omit cumulative snapshots:
15
15
  ```typescript
16
16
  type WithoutPartial<T> = T extends { partial: unknown } ? Omit<T, "partial"> : T;
17
17
 
18
+ type JsonAssistantMessageEvent<T> = T extends { type: "toolcall_start"; partial: unknown }
19
+ ? WithoutPartial<T> & { id: string; toolName: string }
20
+ : WithoutPartial<T>;
21
+
18
22
  type JsonAgentSessionEvent =
19
23
  | Exclude<AgentSessionEvent, { type: "message_update" }>
20
24
  | {
21
25
  type: "message_update";
22
26
  usage: Usage;
23
- assistantMessageEvent: WithoutPartial<AssistantMessageEvent>;
27
+ assistantMessageEvent: JsonAssistantMessageEvent<AssistantMessageEvent>;
24
28
  };
25
29
  ```
26
30
 
@@ -84,7 +88,8 @@ Followed by events as they occur:
84
88
  `assistantMessageEvent.partial` to keep stream size linear. The top-level `usage` field contains
85
89
  the latest cumulative provider-reported usage and may remain zero when a provider only reports
86
90
  usage at completion. Use `contentIndex` and `delta` to assemble live text, thinking, or tool-call
87
- arguments if needed. `message_end` contains the final authoritative message.
91
+ arguments if needed. A `toolcall_start` event also includes the constant-sized `id` and `toolName`
92
+ fields. `message_end` contains the final authoritative message.
88
93
 
89
94
  ## Example
90
95