@code-yeongyu/senpi 2026.6.17 → 2026.6.21

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 (2919) hide show
  1. package/CHANGELOG.md +166 -279
  2. package/README.md +46 -45
  3. package/dist/cli/list-models.js +1 -1
  4. package/dist/cli/list-models.js.map +1 -1
  5. package/dist/config.d.ts +6 -2
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js +21 -13
  8. package/dist/config.js.map +1 -1
  9. package/dist/core/agent-session.d.ts.map +1 -1
  10. package/dist/core/agent-session.js +14 -1
  11. package/dist/core/agent-session.js.map +1 -1
  12. package/dist/core/compaction/compaction.d.ts +1 -0
  13. package/dist/core/compaction/compaction.d.ts.map +1 -1
  14. package/dist/core/compaction/compaction.js.map +1 -1
  15. package/dist/core/extensions/builtin/bash-timeout/timeout.js +2 -2
  16. package/dist/core/extensions/builtin/bash-timeout/timeout.js.map +1 -1
  17. package/dist/core/extensions/builtin/nested-agents-md/index.js +1 -1
  18. package/dist/core/extensions/builtin/nested-agents-md/index.js.map +1 -1
  19. package/dist/core/extensions/builtin/prompt-preset/glm-5-2.d.ts +3 -0
  20. package/dist/core/extensions/builtin/prompt-preset/glm-5-2.d.ts.map +1 -0
  21. package/dist/core/extensions/builtin/prompt-preset/glm-5-2.js +14 -0
  22. package/dist/core/extensions/builtin/prompt-preset/glm-5-2.js.map +1 -0
  23. package/dist/core/extensions/builtin/prompt-preset/presets.d.ts.map +1 -1
  24. package/dist/core/extensions/builtin/prompt-preset/presets.js +12 -0
  25. package/dist/core/extensions/builtin/prompt-preset/presets.js.map +1 -1
  26. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts +1 -1
  27. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts.map +1 -1
  28. package/dist/core/extensions/builtin/prompt-preset/settings.js +1 -0
  29. package/dist/core/extensions/builtin/prompt-preset/settings.js.map +1 -1
  30. package/dist/core/extensions/builtin/websearch/websearch/config.js +23 -23
  31. package/dist/core/extensions/builtin/websearch/websearch/config.js.map +1 -1
  32. package/dist/core/extensions/builtin/websearch/websearch/duckduckgo-html.d.ts +3 -0
  33. package/dist/core/extensions/builtin/websearch/websearch/duckduckgo-html.d.ts.map +1 -0
  34. package/dist/core/extensions/builtin/websearch/websearch/duckduckgo-html.js +48 -0
  35. package/dist/core/extensions/builtin/websearch/websearch/duckduckgo-html.js.map +1 -0
  36. package/dist/core/extensions/builtin/websearch/websearch/providers.d.ts +2 -3
  37. package/dist/core/extensions/builtin/websearch/websearch/providers.d.ts.map +1 -1
  38. package/dist/core/extensions/builtin/websearch/websearch/providers.js +2 -463
  39. package/dist/core/extensions/builtin/websearch/websearch/providers.js.map +1 -1
  40. package/dist/core/extensions/builtin/websearch/websearch/request-builder.d.ts +3 -0
  41. package/dist/core/extensions/builtin/websearch/websearch/request-builder.d.ts.map +1 -0
  42. package/dist/core/extensions/builtin/websearch/websearch/request-builder.js +247 -0
  43. package/dist/core/extensions/builtin/websearch/websearch/request-builder.js.map +1 -0
  44. package/dist/core/extensions/builtin/websearch/websearch/response-normalizer.d.ts +3 -0
  45. package/dist/core/extensions/builtin/websearch/websearch/response-normalizer.d.ts.map +1 -0
  46. package/dist/core/extensions/builtin/websearch/websearch/response-normalizer.js +183 -0
  47. package/dist/core/extensions/builtin/websearch/websearch/response-normalizer.js.map +1 -0
  48. package/dist/core/extensions/builtin/websearch/websearch/search-format.d.ts +3 -0
  49. package/dist/core/extensions/builtin/websearch/websearch/search-format.d.ts.map +1 -0
  50. package/dist/core/extensions/builtin/websearch/websearch/search-format.js +31 -0
  51. package/dist/core/extensions/builtin/websearch/websearch/search-format.js.map +1 -0
  52. package/dist/core/extensions/builtin/websearch/websearch/search.d.ts +1 -1
  53. package/dist/core/extensions/builtin/websearch/websearch/search.d.ts.map +1 -1
  54. package/dist/core/extensions/builtin/websearch/websearch/search.js +4 -26
  55. package/dist/core/extensions/builtin/websearch/websearch/search.js.map +1 -1
  56. package/dist/core/extensions/loader.d.ts +2 -3
  57. package/dist/core/extensions/loader.d.ts.map +1 -1
  58. package/dist/core/extensions/loader.js +48 -7
  59. package/dist/core/extensions/loader.js.map +1 -1
  60. package/dist/core/model-registry.d.ts.map +1 -1
  61. package/dist/core/model-registry.js +16 -0
  62. package/dist/core/model-registry.js.map +1 -1
  63. package/dist/core/project-trust.d.ts.map +1 -1
  64. package/dist/core/project-trust.js +2 -1
  65. package/dist/core/project-trust.js.map +1 -1
  66. package/dist/core/resolve-config-value.d.ts.map +1 -1
  67. package/dist/core/resolve-config-value.js +5 -3
  68. package/dist/core/resolve-config-value.js.map +1 -1
  69. package/dist/core/resource-loader.d.ts +1 -0
  70. package/dist/core/resource-loader.d.ts.map +1 -1
  71. package/dist/core/resource-loader.js +6 -1
  72. package/dist/core/resource-loader.js.map +1 -1
  73. package/dist/core/session-manager.d.ts.map +1 -1
  74. package/dist/core/session-manager.js +2 -1
  75. package/dist/core/session-manager.js.map +1 -1
  76. package/dist/core/settings-manager.d.ts +1 -0
  77. package/dist/core/settings-manager.d.ts.map +1 -1
  78. package/dist/core/settings-manager.js +8 -1
  79. package/dist/core/settings-manager.js.map +1 -1
  80. package/dist/core/tools/bash.d.ts.map +1 -1
  81. package/dist/core/tools/bash.js +9 -4
  82. package/dist/core/tools/bash.js.map +1 -1
  83. package/dist/core/tools/edit-diff.d.ts +23 -4
  84. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  85. package/dist/core/tools/edit-diff.js +99 -20
  86. package/dist/core/tools/edit-diff.js.map +1 -1
  87. package/dist/core/tools/edit.js +2 -2
  88. package/dist/core/tools/edit.js.map +1 -1
  89. package/dist/core/tools/write.js +1 -1
  90. package/dist/core/tools/write.js.map +1 -1
  91. package/dist/index.d.ts +2 -1
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/index.js +2 -1
  94. package/dist/index.js.map +1 -1
  95. package/dist/modes/interactive/components/config-selector.js +5 -5
  96. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  97. package/dist/modes/interactive/components/favorite-models-selector.d.ts.map +1 -1
  98. package/dist/modes/interactive/components/favorite-models-selector.js +4 -4
  99. package/dist/modes/interactive/components/favorite-models-selector.js.map +1 -1
  100. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  101. package/dist/modes/interactive/components/model-selector.js +4 -4
  102. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  103. package/dist/modes/interactive/components/settings-selector.d.ts +2 -0
  104. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  105. package/dist/modes/interactive/components/settings-selector.js +165 -15
  106. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  107. package/dist/modes/interactive/components/tool-execution.js +1 -1
  108. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  109. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  110. package/dist/modes/interactive/components/tree-selector.js +44 -4
  111. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  112. package/dist/modes/interactive/interactive-mode.d.ts +4 -6
  113. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  114. package/dist/modes/interactive/interactive-mode.js +31 -63
  115. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  116. package/dist/modes/interactive/model-search.d.ts +12 -0
  117. package/dist/modes/interactive/model-search.d.ts.map +1 -0
  118. package/dist/modes/interactive/model-search.js +15 -0
  119. package/dist/modes/interactive/model-search.js.map +1 -0
  120. package/dist/modes/interactive/theme/theme-controller.d.ts +30 -0
  121. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -0
  122. package/dist/modes/interactive/theme/theme-controller.js +108 -0
  123. package/dist/modes/interactive/theme/theme-controller.js.map +1 -0
  124. package/dist/modes/interactive/theme/theme-schema.json +2 -1
  125. package/dist/modes/interactive/theme/theme.d.ts +5 -0
  126. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  127. package/dist/modes/interactive/theme/theme.js +34 -1
  128. package/dist/modes/interactive/theme/theme.js.map +1 -1
  129. package/dist/modes/rpc/rpc-mode.js +1 -1
  130. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  131. package/dist/package-manager-cli.d.ts.map +1 -1
  132. package/dist/package-manager-cli.js +66 -23
  133. package/dist/package-manager-cli.js.map +1 -1
  134. package/dist/utils/shell.d.ts +1 -0
  135. package/dist/utils/shell.d.ts.map +1 -1
  136. package/dist/utils/shell.js +12 -5
  137. package/dist/utils/shell.js.map +1 -1
  138. package/docs/custom-provider.md +4 -3
  139. package/docs/extensions.md +14 -0
  140. package/docs/models.md +3 -2
  141. package/docs/packages.md +32 -31
  142. package/docs/rpc.md +4 -0
  143. package/docs/sdk.md +2 -1
  144. package/docs/themes.md +1 -1
  145. package/docs/tui.md +1 -1
  146. package/docs/usage.md +62 -54
  147. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  148. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  149. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  150. package/examples/extensions/gondolin/package-lock.json +2 -2
  151. package/examples/extensions/gondolin/package.json +1 -1
  152. package/examples/extensions/preset.ts +4 -4
  153. package/examples/extensions/provider-payload.ts +5 -5
  154. package/examples/extensions/sandbox/index.ts +2 -2
  155. package/examples/extensions/sandbox/package-lock.json +2 -2
  156. package/examples/extensions/sandbox/package.json +1 -1
  157. package/examples/extensions/subagent/agents.ts +126 -0
  158. package/examples/extensions/subagent/index.ts +1015 -0
  159. package/examples/extensions/with-deps/package-lock.json +2 -2
  160. package/examples/extensions/with-deps/package.json +1 -1
  161. package/node_modules/@earendil-works/pi-agent-core/README.md +18 -0
  162. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts +1 -1
  163. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
  164. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +1 -1
  165. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  166. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts +1 -1
  167. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts.map +1 -1
  168. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js +1 -1
  169. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js.map +1 -1
  170. package/node_modules/@earendil-works/pi-agent-core/dist/base.d.ts +20 -0
  171. package/node_modules/@earendil-works/pi-agent-core/dist/base.d.ts.map +1 -0
  172. package/node_modules/@earendil-works/pi-agent-core/dist/base.js +20 -0
  173. package/node_modules/@earendil-works/pi-agent-core/dist/base.js.map +1 -0
  174. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts +1 -1
  175. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts.map +1 -1
  176. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js +1 -1
  177. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js.map +1 -1
  178. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts +1 -1
  179. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts.map +1 -1
  180. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js +1 -1
  181. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js.map +1 -1
  182. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts +1 -1
  183. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts.map +1 -1
  184. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js +1 -1
  185. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js.map +1 -1
  186. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.d.ts +1 -1
  187. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.d.ts.map +1 -1
  188. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.js.map +1 -1
  189. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts.map +1 -1
  190. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js +19 -7
  191. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js.map +1 -1
  192. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.d.ts +1 -1
  193. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.d.ts.map +1 -1
  194. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.js.map +1 -1
  195. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts +1 -1
  196. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts.map +1 -1
  197. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js.map +1 -1
  198. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts +2 -2
  199. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts.map +1 -1
  200. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js.map +1 -1
  201. package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts +2 -19
  202. package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts.map +1 -1
  203. package/node_modules/@earendil-works/pi-agent-core/dist/index.js +4 -24
  204. package/node_modules/@earendil-works/pi-agent-core/dist/index.js.map +1 -1
  205. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.d.ts +1 -1
  206. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.d.ts.map +1 -1
  207. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.js +1 -1
  208. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.js.map +1 -1
  209. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +1 -1
  210. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
  211. package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
  212. package/node_modules/@earendil-works/pi-agent-core/package.json +2 -2
  213. package/node_modules/@earendil-works/pi-ai/README.md +31 -2
  214. package/node_modules/@earendil-works/pi-ai/dist/api-registry.d.ts +1 -0
  215. package/node_modules/@earendil-works/pi-ai/dist/api-registry.d.ts.map +1 -1
  216. package/node_modules/@earendil-works/pi-ai/dist/api-registry.js +3 -0
  217. package/node_modules/@earendil-works/pi-ai/dist/api-registry.js.map +1 -1
  218. package/node_modules/@earendil-works/pi-ai/dist/base.d.ts +30 -0
  219. package/node_modules/@earendil-works/pi-ai/dist/base.d.ts.map +1 -0
  220. package/node_modules/@earendil-works/pi-ai/dist/base.js +18 -0
  221. package/node_modules/@earendil-works/pi-ai/dist/base.js.map +1 -0
  222. package/node_modules/@earendil-works/pi-ai/dist/bedrock-provider.d.ts +2 -0
  223. package/node_modules/@earendil-works/pi-ai/dist/bedrock-provider.d.ts.map +1 -1
  224. package/node_modules/@earendil-works/pi-ai/dist/bedrock-provider.js +2 -1
  225. package/node_modules/@earendil-works/pi-ai/dist/bedrock-provider.js.map +1 -1
  226. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts +30 -0
  227. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts.map +1 -1
  228. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +30 -0
  229. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js.map +1 -1
  230. package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.d.ts +1 -0
  231. package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.d.ts.map +1 -1
  232. package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.js +3 -0
  233. package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.js.map +1 -1
  234. package/node_modules/@earendil-works/pi-ai/dist/images.d.ts +0 -1
  235. package/node_modules/@earendil-works/pi-ai/dist/images.d.ts.map +1 -1
  236. package/node_modules/@earendil-works/pi-ai/dist/images.js +0 -1
  237. package/node_modules/@earendil-works/pi-ai/dist/images.js.map +1 -1
  238. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts +1 -20
  239. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts.map +1 -1
  240. package/node_modules/@earendil-works/pi-ai/dist/index.js +3 -9
  241. package/node_modules/@earendil-works/pi-ai/dist/index.js.map +1 -1
  242. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +134 -100
  243. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  244. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +206 -157
  245. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
  246. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts +1 -0
  247. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts.map +1 -1
  248. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js +8 -0
  249. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js.map +1 -1
  250. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts +1 -0
  251. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
  252. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js +25 -0
  253. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js.map +1 -1
  254. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.d.ts +1 -0
  255. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.d.ts.map +1 -1
  256. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js +8 -0
  257. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js.map +1 -1
  258. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.d.ts +1 -0
  259. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.d.ts.map +1 -1
  260. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js +8 -0
  261. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js.map +1 -1
  262. package/node_modules/@earendil-works/pi-ai/dist/providers/google.d.ts +1 -0
  263. package/node_modules/@earendil-works/pi-ai/dist/providers/google.d.ts.map +1 -1
  264. package/node_modules/@earendil-works/pi-ai/dist/providers/google.js +8 -0
  265. package/node_modules/@earendil-works/pi-ai/dist/providers/google.js.map +1 -1
  266. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.d.ts +1 -0
  267. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.d.ts.map +1 -1
  268. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.js +7 -0
  269. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.js.map +1 -1
  270. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.d.ts +1 -0
  271. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.d.ts.map +1 -1
  272. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.js +33 -4
  273. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.js.map +1 -1
  274. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.d.ts +1 -0
  275. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.d.ts.map +1 -1
  276. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js +8 -0
  277. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js.map +1 -1
  278. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.d.ts +1 -0
  279. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.d.ts.map +1 -1
  280. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js +40 -0
  281. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js.map +1 -1
  282. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.d.ts +1 -0
  283. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.d.ts.map +1 -1
  284. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js +8 -0
  285. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js.map +1 -1
  286. package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.d.ts +5 -3
  287. package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.d.ts.map +1 -1
  288. package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.js +109 -172
  289. package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.js.map +1 -1
  290. package/node_modules/@earendil-works/pi-ai/dist/stream.d.ts +0 -2
  291. package/node_modules/@earendil-works/pi-ai/dist/stream.d.ts.map +1 -1
  292. package/node_modules/@earendil-works/pi-ai/dist/stream.js +0 -2
  293. package/node_modules/@earendil-works/pi-ai/dist/stream.js.map +1 -1
  294. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +8 -2
  295. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  296. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  297. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.d.ts.map +1 -1
  298. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js +66 -7
  299. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js.map +1 -1
  300. package/node_modules/@earendil-works/pi-ai/package.json +16 -3
  301. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts.map +1 -1
  302. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js +23 -0
  303. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js.map +1 -1
  304. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +2 -2
  305. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -1
  306. package/node_modules/@earendil-works/pi-tui/dist/index.js +2 -2
  307. package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -1
  308. package/node_modules/@earendil-works/pi-tui/dist/terminal-colors.d.ts +2 -0
  309. package/node_modules/@earendil-works/pi-tui/dist/terminal-colors.d.ts.map +1 -1
  310. package/node_modules/@earendil-works/pi-tui/dist/terminal-colors.js +8 -0
  311. package/node_modules/@earendil-works/pi-tui/dist/terminal-colors.js.map +1 -1
  312. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts.map +1 -1
  313. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js +4 -0
  314. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js.map +1 -1
  315. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts +14 -1
  316. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -1
  317. package/node_modules/@earendil-works/pi-tui/dist/tui.js +63 -1
  318. package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -1
  319. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  320. package/node_modules/@mistralai/mistralai/FUNCTIONS.md +2 -2
  321. package/node_modules/@mistralai/mistralai/README.md +88 -2
  322. package/node_modules/@mistralai/mistralai/esm/extra/observability/formatting.d.ts +40 -0
  323. package/node_modules/@mistralai/mistralai/esm/extra/observability/formatting.d.ts.map +1 -0
  324. package/node_modules/@mistralai/mistralai/esm/extra/observability/formatting.js +187 -0
  325. package/node_modules/@mistralai/mistralai/esm/extra/observability/formatting.js.map +1 -0
  326. package/node_modules/@mistralai/mistralai/esm/extra/observability/index.d.ts +3 -0
  327. package/node_modules/@mistralai/mistralai/esm/extra/observability/index.d.ts.map +1 -0
  328. package/node_modules/@mistralai/mistralai/esm/extra/observability/index.js +3 -0
  329. package/node_modules/@mistralai/mistralai/esm/extra/observability/index.js.map +1 -0
  330. package/node_modules/@mistralai/mistralai/esm/extra/observability/otel.d.ts +59 -0
  331. package/node_modules/@mistralai/mistralai/esm/extra/observability/otel.d.ts.map +1 -0
  332. package/node_modules/@mistralai/mistralai/esm/extra/observability/otel.js +578 -0
  333. package/node_modules/@mistralai/mistralai/esm/extra/observability/otel.js.map +1 -0
  334. package/node_modules/@mistralai/mistralai/esm/extra/observability/streaming.d.ts +25 -0
  335. package/node_modules/@mistralai/mistralai/esm/extra/observability/streaming.d.ts.map +1 -0
  336. package/node_modules/@mistralai/mistralai/esm/extra/observability/streaming.js +142 -0
  337. package/node_modules/@mistralai/mistralai/esm/extra/observability/streaming.js.map +1 -0
  338. package/node_modules/@mistralai/mistralai/esm/extra/structChat.d.ts.map +1 -1
  339. package/node_modules/@mistralai/mistralai/esm/extra/structChat.js +30 -9
  340. package/node_modules/@mistralai/mistralai/esm/extra/structChat.js.map +1 -1
  341. package/node_modules/@mistralai/mistralai/esm/funcs/agentsComplete.js +1 -1
  342. package/node_modules/@mistralai/mistralai/esm/funcs/agentsStream.js +1 -1
  343. package/node_modules/@mistralai/mistralai/esm/funcs/audioSpeechComplete.js +1 -1
  344. package/node_modules/@mistralai/mistralai/esm/funcs/audioTranscriptionsComplete.js +1 -1
  345. package/node_modules/@mistralai/mistralai/esm/funcs/audioTranscriptionsStream.js +1 -1
  346. package/node_modules/@mistralai/mistralai/esm/funcs/audioVoicesCreate.js +1 -1
  347. package/node_modules/@mistralai/mistralai/esm/funcs/audioVoicesDelete.js +1 -1
  348. package/node_modules/@mistralai/mistralai/esm/funcs/audioVoicesGet.js +1 -1
  349. package/node_modules/@mistralai/mistralai/esm/funcs/audioVoicesGetSampleAudio.js +1 -1
  350. package/node_modules/@mistralai/mistralai/esm/funcs/audioVoicesList.js +1 -1
  351. package/node_modules/@mistralai/mistralai/esm/funcs/audioVoicesUpdate.js +1 -1
  352. package/node_modules/@mistralai/mistralai/esm/funcs/batchJobsCancel.js +1 -1
  353. package/node_modules/@mistralai/mistralai/esm/funcs/batchJobsCreate.js +1 -1
  354. package/node_modules/@mistralai/mistralai/esm/funcs/batchJobsDelete.js +1 -1
  355. package/node_modules/@mistralai/mistralai/esm/funcs/batchJobsGet.js +1 -1
  356. package/node_modules/@mistralai/mistralai/esm/funcs/batchJobsList.js +1 -1
  357. package/node_modules/@mistralai/mistralai/esm/funcs/betaAgentsCreate.js +1 -1
  358. package/node_modules/@mistralai/mistralai/esm/funcs/betaAgentsCreateVersionAlias.js +1 -1
  359. package/node_modules/@mistralai/mistralai/esm/funcs/betaAgentsDelete.js +1 -1
  360. package/node_modules/@mistralai/mistralai/esm/funcs/betaAgentsDeleteVersionAlias.js +1 -1
  361. package/node_modules/@mistralai/mistralai/esm/funcs/betaAgentsGet.js +1 -1
  362. package/node_modules/@mistralai/mistralai/esm/funcs/betaAgentsGetVersion.js +1 -1
  363. package/node_modules/@mistralai/mistralai/esm/funcs/betaAgentsList.js +1 -1
  364. package/node_modules/@mistralai/mistralai/esm/funcs/betaAgentsListVersionAliases.js +1 -1
  365. package/node_modules/@mistralai/mistralai/esm/funcs/betaAgentsListVersions.js +1 -1
  366. package/node_modules/@mistralai/mistralai/esm/funcs/betaAgentsUpdate.js +1 -1
  367. package/node_modules/@mistralai/mistralai/esm/funcs/betaAgentsUpdateVersion.js +1 -1
  368. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsActivateForOrganization.d.ts +19 -0
  369. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsActivateForOrganization.d.ts.map +1 -0
  370. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsActivateForOrganization.js +93 -0
  371. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsActivateForOrganization.js.map +1 -0
  372. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsActivateForUser.d.ts +19 -0
  373. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsActivateForUser.d.ts.map +1 -0
  374. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsActivateForUser.js +93 -0
  375. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsActivateForUser.js.map +1 -0
  376. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsActivateForWorkspace.d.ts +19 -0
  377. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsActivateForWorkspace.d.ts.map +1 -0
  378. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsActivateForWorkspace.js +93 -0
  379. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsActivateForWorkspace.js.map +1 -0
  380. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsCallTool.js +1 -1
  381. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsCreate.js +1 -1
  382. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsCreateOrUpdateOrganizationCredentials.js +1 -1
  383. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsCreateOrUpdateUserCredentials.js +1 -1
  384. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsCreateOrUpdateWorkspaceCredentials.js +1 -1
  385. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsDeactivateForOrganization.d.ts +19 -0
  386. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsDeactivateForOrganization.d.ts.map +1 -0
  387. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsDeactivateForOrganization.js +91 -0
  388. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsDeactivateForOrganization.js.map +1 -0
  389. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsDeactivateForUser.d.ts +19 -0
  390. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsDeactivateForUser.d.ts.map +1 -0
  391. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsDeactivateForUser.js +90 -0
  392. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsDeactivateForUser.js.map +1 -0
  393. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsDeactivateForWorkspace.d.ts +19 -0
  394. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsDeactivateForWorkspace.d.ts.map +1 -0
  395. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsDeactivateForWorkspace.js +90 -0
  396. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsDeactivateForWorkspace.js.map +1 -0
  397. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsDelete.js +1 -1
  398. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsDeleteOrganizationCredentials.js +1 -1
  399. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsDeleteUserCredentials.js +1 -1
  400. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsDeleteWorkspaceCredentials.js +1 -1
  401. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsGet.js +2 -2
  402. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsGet.js.map +1 -1
  403. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsGetAuthUrl.js +3 -1
  404. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsGetAuthUrl.js.map +1 -1
  405. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsGetAuthenticationMethods.js +1 -1
  406. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsList.js +1 -1
  407. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsListOrganizationCredentials.js +1 -1
  408. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsListTools.js +1 -1
  409. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsListUserCredentials.js +1 -1
  410. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsListWorkspaceCredentials.js +1 -1
  411. package/node_modules/@mistralai/mistralai/esm/funcs/betaConnectorsUpdate.js +1 -1
  412. package/node_modules/@mistralai/mistralai/esm/funcs/betaConversationsAppend.js +1 -1
  413. package/node_modules/@mistralai/mistralai/esm/funcs/betaConversationsAppendStream.js +1 -1
  414. package/node_modules/@mistralai/mistralai/esm/funcs/betaConversationsDelete.js +1 -1
  415. package/node_modules/@mistralai/mistralai/esm/funcs/betaConversationsGet.js +1 -1
  416. package/node_modules/@mistralai/mistralai/esm/funcs/betaConversationsGetHistory.js +1 -1
  417. package/node_modules/@mistralai/mistralai/esm/funcs/betaConversationsGetMessages.js +1 -1
  418. package/node_modules/@mistralai/mistralai/esm/funcs/betaConversationsList.js +1 -1
  419. package/node_modules/@mistralai/mistralai/esm/funcs/betaConversationsRestart.js +1 -1
  420. package/node_modules/@mistralai/mistralai/esm/funcs/betaConversationsRestartStream.js +1 -1
  421. package/node_modules/@mistralai/mistralai/esm/funcs/betaConversationsStart.js +1 -1
  422. package/node_modules/@mistralai/mistralai/esm/funcs/betaConversationsStartStream.js +1 -1
  423. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesAccessesDelete.d.ts +1 -1
  424. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesAccessesDelete.js +2 -2
  425. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesAccessesList.js +1 -1
  426. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesAccessesUpdateOrCreate.js +1 -1
  427. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesCreate.js +1 -1
  428. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesDelete.d.ts +1 -1
  429. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesDelete.js +2 -2
  430. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesDocumentsDelete.js +1 -1
  431. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesDocumentsExtractedTextSignedUrl.js +1 -1
  432. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesDocumentsGet.js +1 -1
  433. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesDocumentsGetSignedUrl.js +1 -1
  434. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesDocumentsLibrariesDocumentsUpdateV1.d.ts +21 -0
  435. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesDocumentsLibrariesDocumentsUpdateV1.d.ts.map +1 -0
  436. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesDocumentsLibrariesDocumentsUpdateV1.js +99 -0
  437. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesDocumentsLibrariesDocumentsUpdateV1.js.map +1 -0
  438. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesDocumentsList.js +1 -1
  439. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesDocumentsReprocess.js +1 -1
  440. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesDocumentsStatus.js +1 -1
  441. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesDocumentsTextContent.js +1 -1
  442. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesDocumentsUpdate.d.ts +2 -2
  443. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesDocumentsUpdate.d.ts.map +1 -1
  444. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesDocumentsUpdate.js +5 -5
  445. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesDocumentsUpdate.js.map +1 -1
  446. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesDocumentsUpload.js +1 -1
  447. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesGet.js +1 -1
  448. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesLibrariesUpdateV1.d.ts +21 -0
  449. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesLibrariesUpdateV1.d.ts.map +1 -0
  450. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesLibrariesUpdateV1.js +95 -0
  451. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesLibrariesUpdateV1.js.map +1 -0
  452. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesList.js +1 -1
  453. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesUpdate.d.ts +1 -1
  454. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesUpdate.d.ts.map +1 -1
  455. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesUpdate.js +4 -4
  456. package/node_modules/@mistralai/mistralai/esm/funcs/betaLibrariesUpdate.js.map +1 -1
  457. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityCampaignsCreate.js +1 -1
  458. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityCampaignsDelete.js +1 -1
  459. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityCampaignsFetch.js +1 -1
  460. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityCampaignsFetchStatus.js +1 -1
  461. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityCampaignsList.js +1 -1
  462. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityCampaignsListEvents.js +1 -1
  463. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityChatCompletionEventsFetch.js +1 -1
  464. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityChatCompletionEventsFetchSimilarEvents.js +1 -1
  465. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityChatCompletionEventsFieldsFetchOptionCounts.js +1 -1
  466. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityChatCompletionEventsFieldsFetchOptions.js +1 -1
  467. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityChatCompletionEventsFieldsList.js +1 -1
  468. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityChatCompletionEventsJudge.js +1 -1
  469. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityChatCompletionEventsSearch.js +1 -1
  470. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityChatCompletionEventsSearchIds.js +1 -1
  471. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityDatasetsCreate.js +1 -1
  472. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityDatasetsCreateRecord.js +1 -1
  473. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityDatasetsDelete.js +1 -1
  474. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityDatasetsExportToJsonl.js +1 -1
  475. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityDatasetsFetch.js +1 -1
  476. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityDatasetsFetchTask.js +1 -1
  477. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityDatasetsImportFromCampaign.js +1 -1
  478. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityDatasetsImportFromDatasetRecords.js +1 -1
  479. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityDatasetsImportFromExplorer.js +1 -1
  480. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityDatasetsImportFromFile.js +1 -1
  481. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityDatasetsImportFromPlayground.js +1 -1
  482. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityDatasetsList.js +1 -1
  483. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityDatasetsListRecords.js +1 -1
  484. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityDatasetsListTasks.js +1 -1
  485. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityDatasetsRecordsBulkDelete.js +1 -1
  486. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityDatasetsRecordsDelete.js +1 -1
  487. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityDatasetsRecordsFetch.js +1 -1
  488. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityDatasetsRecordsJudge.js +1 -1
  489. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityDatasetsRecordsUpdatePayload.js +1 -1
  490. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityDatasetsRecordsUpdateProperties.js +1 -1
  491. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityDatasetsUpdate.js +1 -1
  492. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityJudgesCreate.js +1 -1
  493. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityJudgesDelete.js +1 -1
  494. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityJudgesFetch.js +1 -1
  495. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityJudgesJudgeConversation.js +1 -1
  496. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityJudgesList.js +1 -1
  497. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityJudgesUpdate.js +1 -1
  498. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityLogsFetchOptions.d.ts +16 -0
  499. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityLogsFetchOptions.d.ts.map +1 -0
  500. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityLogsFetchOptions.js +94 -0
  501. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityLogsFetchOptions.js.map +1 -0
  502. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityLogsList.d.ts +15 -0
  503. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityLogsList.d.ts.map +1 -0
  504. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityLogsList.js +71 -0
  505. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityLogsList.js.map +1 -0
  506. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityLogsSearch.d.ts +16 -0
  507. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityLogsSearch.d.ts.map +1 -0
  508. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityLogsSearch.js +90 -0
  509. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityLogsSearch.js.map +1 -0
  510. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansFetchSpanEvalFieldOptions.d.ts +16 -0
  511. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansFetchSpanEvalFieldOptions.d.ts.map +1 -0
  512. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansFetchSpanEvalFieldOptions.js +94 -0
  513. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansFetchSpanEvalFieldOptions.js.map +1 -0
  514. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansFetchSpanFieldOptions.d.ts +16 -0
  515. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansFetchSpanFieldOptions.d.ts.map +1 -0
  516. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansFetchSpanFieldOptions.js +94 -0
  517. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansFetchSpanFieldOptions.js.map +1 -0
  518. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansListSpanEvalFields.d.ts +15 -0
  519. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansListSpanEvalFields.d.ts.map +1 -0
  520. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansListSpanEvalFields.js +71 -0
  521. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansListSpanEvalFields.js.map +1 -0
  522. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansListSpanFields.d.ts +15 -0
  523. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansListSpanFields.d.ts.map +1 -0
  524. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansListSpanFields.js +71 -0
  525. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansListSpanFields.js.map +1 -0
  526. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansSearchLatestSpanEvaluations.d.ts +16 -0
  527. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansSearchLatestSpanEvaluations.d.ts.map +1 -0
  528. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansSearchLatestSpanEvaluations.js +93 -0
  529. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansSearchLatestSpanEvaluations.js.map +1 -0
  530. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansSearchSpanEvaluations.d.ts +16 -0
  531. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansSearchSpanEvaluations.d.ts.map +1 -0
  532. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansSearchSpanEvaluations.js +93 -0
  533. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansSearchSpanEvaluations.js.map +1 -0
  534. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansSearchSpans.d.ts +16 -0
  535. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansSearchSpans.d.ts.map +1 -0
  536. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansSearchSpans.js +90 -0
  537. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilitySpansSearchSpans.js.map +1 -0
  538. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesFetchOptions.d.ts +16 -0
  539. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesFetchOptions.d.ts.map +1 -0
  540. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesFetchOptions.js +94 -0
  541. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesFetchOptions.js.map +1 -0
  542. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesGetSpanById.d.ts +16 -0
  543. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesGetSpanById.d.ts.map +1 -0
  544. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesGetSpanById.js +98 -0
  545. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesGetSpanById.js.map +1 -0
  546. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesGetTraceById.d.ts +16 -0
  547. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesGetTraceById.d.ts.map +1 -0
  548. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesGetTraceById.js +89 -0
  549. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesGetTraceById.js.map +1 -0
  550. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesGetTraceFields.d.ts +15 -0
  551. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesGetTraceFields.d.ts.map +1 -0
  552. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesGetTraceFields.js +71 -0
  553. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesGetTraceFields.js.map +1 -0
  554. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesGetTraceSpans.d.ts +16 -0
  555. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesGetTraceSpans.d.ts.map +1 -0
  556. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesGetTraceSpans.js +96 -0
  557. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesGetTraceSpans.js.map +1 -0
  558. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesSearch.d.ts +16 -0
  559. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesSearch.d.ts.map +1 -0
  560. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesSearch.js +91 -0
  561. package/node_modules/@mistralai/mistralai/esm/funcs/betaObservabilityTracesSearch.js.map +1 -0
  562. package/node_modules/@mistralai/mistralai/esm/funcs/betaRagIngestionPipelineConfigurationsList.js +1 -1
  563. package/node_modules/@mistralai/mistralai/esm/funcs/betaRagIngestionPipelineConfigurationsRegister.d.ts +18 -0
  564. package/node_modules/@mistralai/mistralai/esm/funcs/betaRagIngestionPipelineConfigurationsRegister.d.ts.map +1 -0
  565. package/node_modules/@mistralai/mistralai/esm/funcs/betaRagIngestionPipelineConfigurationsRegister.js +85 -0
  566. package/node_modules/@mistralai/mistralai/esm/funcs/betaRagIngestionPipelineConfigurationsRegister.js.map +1 -0
  567. package/node_modules/@mistralai/mistralai/esm/funcs/betaRagIngestionPipelineConfigurationsUpdateRunInfo.d.ts +16 -0
  568. package/node_modules/@mistralai/mistralai/esm/funcs/betaRagIngestionPipelineConfigurationsUpdateRunInfo.d.ts.map +1 -0
  569. package/node_modules/@mistralai/mistralai/esm/funcs/betaRagIngestionPipelineConfigurationsUpdateRunInfo.js +90 -0
  570. package/node_modules/@mistralai/mistralai/esm/funcs/betaRagIngestionPipelineConfigurationsUpdateRunInfo.js.map +1 -0
  571. package/node_modules/@mistralai/mistralai/esm/funcs/betaRagSearchIndexesList.d.ts +14 -0
  572. package/node_modules/@mistralai/mistralai/esm/funcs/betaRagSearchIndexesList.d.ts.map +1 -0
  573. package/node_modules/@mistralai/mistralai/esm/funcs/betaRagSearchIndexesList.js +68 -0
  574. package/node_modules/@mistralai/mistralai/esm/funcs/betaRagSearchIndexesList.js.map +1 -0
  575. package/node_modules/@mistralai/mistralai/esm/funcs/betaRagSearchIndexesRegister.d.ts +15 -0
  576. package/node_modules/@mistralai/mistralai/esm/funcs/betaRagSearchIndexesRegister.d.ts.map +1 -0
  577. package/node_modules/@mistralai/mistralai/esm/funcs/betaRagSearchIndexesRegister.js +81 -0
  578. package/node_modules/@mistralai/mistralai/esm/funcs/betaRagSearchIndexesRegister.js.map +1 -0
  579. package/node_modules/@mistralai/mistralai/esm/funcs/chatComplete.js +1 -1
  580. package/node_modules/@mistralai/mistralai/esm/funcs/chatStream.js +1 -1
  581. package/node_modules/@mistralai/mistralai/esm/funcs/classifiersClassify.js +1 -1
  582. package/node_modules/@mistralai/mistralai/esm/funcs/classifiersClassifyChat.js +1 -1
  583. package/node_modules/@mistralai/mistralai/esm/funcs/classifiersModerate.js +1 -1
  584. package/node_modules/@mistralai/mistralai/esm/funcs/classifiersModerateChat.js +1 -1
  585. package/node_modules/@mistralai/mistralai/esm/funcs/embeddingsCreate.js +1 -1
  586. package/node_modules/@mistralai/mistralai/esm/funcs/eventsGetStreamEvents.js +1 -1
  587. package/node_modules/@mistralai/mistralai/esm/funcs/eventsGetWorkflowEvents.js +1 -1
  588. package/node_modules/@mistralai/mistralai/esm/funcs/filesDelete.js +1 -1
  589. package/node_modules/@mistralai/mistralai/esm/funcs/filesDownload.js +1 -1
  590. package/node_modules/@mistralai/mistralai/esm/funcs/filesGetSignedUrl.js +1 -1
  591. package/node_modules/@mistralai/mistralai/esm/funcs/filesList.js +1 -1
  592. package/node_modules/@mistralai/mistralai/esm/funcs/filesRetrieve.js +1 -1
  593. package/node_modules/@mistralai/mistralai/esm/funcs/filesUpload.js +1 -1
  594. package/node_modules/@mistralai/mistralai/esm/funcs/fimComplete.js +1 -1
  595. package/node_modules/@mistralai/mistralai/esm/funcs/fimStream.js +1 -1
  596. package/node_modules/@mistralai/mistralai/esm/funcs/fineTuningJobsCancel.js +1 -1
  597. package/node_modules/@mistralai/mistralai/esm/funcs/fineTuningJobsCreate.js +1 -1
  598. package/node_modules/@mistralai/mistralai/esm/funcs/fineTuningJobsGet.js +1 -1
  599. package/node_modules/@mistralai/mistralai/esm/funcs/fineTuningJobsList.js +1 -1
  600. package/node_modules/@mistralai/mistralai/esm/funcs/fineTuningJobsStart.js +1 -1
  601. package/node_modules/@mistralai/mistralai/esm/funcs/modelsArchive.js +1 -1
  602. package/node_modules/@mistralai/mistralai/esm/funcs/modelsDelete.js +1 -1
  603. package/node_modules/@mistralai/mistralai/esm/funcs/modelsList.js +1 -1
  604. package/node_modules/@mistralai/mistralai/esm/funcs/modelsRetrieve.js +1 -1
  605. package/node_modules/@mistralai/mistralai/esm/funcs/modelsUnarchive.js +1 -1
  606. package/node_modules/@mistralai/mistralai/esm/funcs/modelsUpdate.js +1 -1
  607. package/node_modules/@mistralai/mistralai/esm/funcs/ocrProcess.js +1 -1
  608. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsArchiveWorkflow.js +1 -1
  609. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsBulkArchiveWorkflows.d.ts +15 -0
  610. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsBulkArchiveWorkflows.d.ts.map +1 -0
  611. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsBulkArchiveWorkflows.js +81 -0
  612. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsBulkArchiveWorkflows.js.map +1 -0
  613. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsBulkUnarchiveWorkflows.d.ts +15 -0
  614. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsBulkUnarchiveWorkflows.d.ts.map +1 -0
  615. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsBulkUnarchiveWorkflows.js +81 -0
  616. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsBulkUnarchiveWorkflows.js.map +1 -0
  617. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsDeploymentsGetDeployment.js +1 -1
  618. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsDeploymentsListDeployments.js +6 -1
  619. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsDeploymentsListDeployments.js.map +1 -1
  620. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecuteWorkflow.js +1 -1
  621. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecuteWorkflowRegistration.js +1 -1
  622. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsBatchCancelWorkflowExecutions.js +1 -1
  623. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsBatchTerminateWorkflowExecutions.js +1 -1
  624. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsCancelWorkflowExecution.js +1 -1
  625. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsGetWorkflowExecution.js +1 -1
  626. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsGetWorkflowExecutionHistory.js +1 -1
  627. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsGetWorkflowExecutionLogs.d.ts +24 -0
  628. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsGetWorkflowExecutionLogs.d.ts.map +1 -0
  629. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsGetWorkflowExecutionLogs.js +105 -0
  630. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsGetWorkflowExecutionLogs.js.map +1 -0
  631. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsGetWorkflowExecutionTraceEvents.js +1 -1
  632. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsGetWorkflowExecutionTraceOtel.js +1 -1
  633. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsGetWorkflowExecutionTraceSummary.js +1 -1
  634. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsQueryWorkflowExecution.js +1 -1
  635. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsResetWorkflow.js +1 -1
  636. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsSignalWorkflowExecution.js +1 -1
  637. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsStream.js +1 -1
  638. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsStreamWorkflowExecutionLogs.d.ts +22 -0
  639. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsStreamWorkflowExecutionLogs.d.ts.map +1 -0
  640. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsStreamWorkflowExecutionLogs.js +110 -0
  641. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsStreamWorkflowExecutionLogs.js.map +1 -0
  642. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsTerminateWorkflowExecution.js +1 -1
  643. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsExecutionsUpdateWorkflowExecution.js +1 -1
  644. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsGetWorkflow.js +1 -1
  645. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsGetWorkflowRegistration.js +1 -1
  646. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsGetWorkflowRegistrations.js +1 -1
  647. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsGetWorkflows.js +7 -1
  648. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsGetWorkflows.js.map +1 -1
  649. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsMetricsGetWorkflowMetrics.js +1 -1
  650. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsRunsGetRun.js +1 -1
  651. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsRunsGetRunHistory.js +1 -1
  652. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsRunsListRuns.js +8 -1
  653. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsRunsListRuns.js.map +1 -1
  654. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesGetSchedule.d.ts +16 -0
  655. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesGetSchedule.d.ts.map +1 -0
  656. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesGetSchedule.js +89 -0
  657. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesGetSchedule.js.map +1 -0
  658. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesGetSchedules.d.ts +6 -2
  659. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesGetSchedules.d.ts.map +1 -1
  660. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesGetSchedules.js +65 -10
  661. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesGetSchedules.js.map +1 -1
  662. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesPauseSchedule.d.ts +15 -0
  663. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesPauseSchedule.d.ts.map +1 -0
  664. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesPauseSchedule.js +92 -0
  665. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesPauseSchedule.js.map +1 -0
  666. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesResumeSchedule.d.ts +15 -0
  667. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesResumeSchedule.d.ts.map +1 -0
  668. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesResumeSchedule.js +92 -0
  669. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesResumeSchedule.js.map +1 -0
  670. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesScheduleWorkflow.js +1 -1
  671. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesTriggerSchedule.d.ts +15 -0
  672. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesTriggerSchedule.d.ts.map +1 -0
  673. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesTriggerSchedule.js +92 -0
  674. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesTriggerSchedule.js.map +1 -0
  675. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesUnscheduleWorkflow.js +1 -1
  676. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesUpdateSchedule.d.ts +16 -0
  677. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesUpdateSchedule.d.ts.map +1 -0
  678. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesUpdateSchedule.js +92 -0
  679. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsSchedulesUpdateSchedule.js.map +1 -0
  680. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsUnarchiveWorkflow.js +1 -1
  681. package/node_modules/@mistralai/mistralai/esm/funcs/workflowsUpdateWorkflow.js +1 -1
  682. package/node_modules/@mistralai/mistralai/esm/hooks/deprecation_warning.d.ts.map +1 -1
  683. package/node_modules/@mistralai/mistralai/esm/hooks/deprecation_warning.js +1 -1
  684. package/node_modules/@mistralai/mistralai/esm/hooks/deprecation_warning.js.map +1 -1
  685. package/node_modules/@mistralai/mistralai/esm/hooks/registration.d.ts.map +1 -1
  686. package/node_modules/@mistralai/mistralai/esm/hooks/registration.js +6 -0
  687. package/node_modules/@mistralai/mistralai/esm/hooks/registration.js.map +1 -1
  688. package/node_modules/@mistralai/mistralai/esm/hooks/tracing.d.ts +21 -0
  689. package/node_modules/@mistralai/mistralai/esm/hooks/tracing.d.ts.map +1 -0
  690. package/node_modules/@mistralai/mistralai/esm/hooks/tracing.js +104 -0
  691. package/node_modules/@mistralai/mistralai/esm/hooks/tracing.js.map +1 -0
  692. package/node_modules/@mistralai/mistralai/esm/lib/config.d.ts +3 -3
  693. package/node_modules/@mistralai/mistralai/esm/lib/config.js +3 -3
  694. package/node_modules/@mistralai/mistralai/esm/lib/config.js.map +1 -1
  695. package/node_modules/@mistralai/mistralai/esm/models/components/activitytaskcompletedattributesresponse.d.ts +2 -0
  696. package/node_modules/@mistralai/mistralai/esm/models/components/activitytaskcompletedattributesresponse.d.ts.map +1 -1
  697. package/node_modules/@mistralai/mistralai/esm/models/components/activitytaskcompletedattributesresponse.js.map +1 -1
  698. package/node_modules/@mistralai/mistralai/esm/models/components/activitytaskstartedattributesresponse.d.ts +2 -0
  699. package/node_modules/@mistralai/mistralai/esm/models/components/activitytaskstartedattributesresponse.d.ts.map +1 -1
  700. package/node_modules/@mistralai/mistralai/esm/models/components/activitytaskstartedattributesresponse.js.map +1 -1
  701. package/node_modules/@mistralai/mistralai/esm/models/components/agentscompletionrequest.d.ts +2 -0
  702. package/node_modules/@mistralai/mistralai/esm/models/components/agentscompletionrequest.d.ts.map +1 -1
  703. package/node_modules/@mistralai/mistralai/esm/models/components/agentscompletionrequest.js +2 -0
  704. package/node_modules/@mistralai/mistralai/esm/models/components/agentscompletionrequest.js.map +1 -1
  705. package/node_modules/@mistralai/mistralai/esm/models/components/agentscompletionstreamrequest.d.ts +2 -0
  706. package/node_modules/@mistralai/mistralai/esm/models/components/agentscompletionstreamrequest.d.ts.map +1 -1
  707. package/node_modules/@mistralai/mistralai/esm/models/components/agentscompletionstreamrequest.js +2 -0
  708. package/node_modules/@mistralai/mistralai/esm/models/components/agentscompletionstreamrequest.js.map +1 -1
  709. package/node_modules/@mistralai/mistralai/esm/models/components/authdata.d.ts +2 -2
  710. package/node_modules/@mistralai/mistralai/esm/models/components/authdata.d.ts.map +1 -1
  711. package/node_modules/@mistralai/mistralai/esm/models/components/authdata.js +1 -1
  712. package/node_modules/@mistralai/mistralai/esm/models/components/authdata.js.map +1 -1
  713. package/node_modules/@mistralai/mistralai/esm/models/components/authenticationconfiguration.d.ts +6 -2
  714. package/node_modules/@mistralai/mistralai/esm/models/components/authenticationconfiguration.d.ts.map +1 -1
  715. package/node_modules/@mistralai/mistralai/esm/models/components/authenticationconfiguration.js +6 -2
  716. package/node_modules/@mistralai/mistralai/esm/models/components/authenticationconfiguration.js.map +1 -1
  717. package/node_modules/@mistralai/mistralai/esm/models/components/authstatus.d.ts +11 -0
  718. package/node_modules/@mistralai/mistralai/esm/models/components/authstatus.d.ts.map +1 -0
  719. package/node_modules/@mistralai/mistralai/esm/models/components/authstatus.js +13 -0
  720. package/node_modules/@mistralai/mistralai/esm/models/components/authstatus.js.map +1 -0
  721. package/node_modules/@mistralai/mistralai/esm/models/components/basefielddefinition.d.ts +8 -8
  722. package/node_modules/@mistralai/mistralai/esm/models/components/basefielddefinition.d.ts.map +1 -1
  723. package/node_modules/@mistralai/mistralai/esm/models/components/basefielddefinition.js +6 -7
  724. package/node_modules/@mistralai/mistralai/esm/models/components/basefielddefinition.js.map +1 -1
  725. package/node_modules/@mistralai/mistralai/esm/models/components/chatcompletionevent.d.ts +6 -2
  726. package/node_modules/@mistralai/mistralai/esm/models/components/chatcompletionevent.d.ts.map +1 -1
  727. package/node_modules/@mistralai/mistralai/esm/models/components/chatcompletionevent.js +2 -0
  728. package/node_modules/@mistralai/mistralai/esm/models/components/chatcompletionevent.js.map +1 -1
  729. package/node_modules/@mistralai/mistralai/esm/models/components/chatcompletioneventpreview.d.ts +6 -2
  730. package/node_modules/@mistralai/mistralai/esm/models/components/chatcompletioneventpreview.d.ts.map +1 -1
  731. package/node_modules/@mistralai/mistralai/esm/models/components/chatcompletioneventpreview.js +2 -0
  732. package/node_modules/@mistralai/mistralai/esm/models/components/chatcompletioneventpreview.js.map +1 -1
  733. package/node_modules/@mistralai/mistralai/esm/models/components/chatcompletionrequest.d.ts +2 -0
  734. package/node_modules/@mistralai/mistralai/esm/models/components/chatcompletionrequest.d.ts.map +1 -1
  735. package/node_modules/@mistralai/mistralai/esm/models/components/chatcompletionrequest.js +2 -0
  736. package/node_modules/@mistralai/mistralai/esm/models/components/chatcompletionrequest.js.map +1 -1
  737. package/node_modules/@mistralai/mistralai/esm/models/components/chatcompletionstreamrequest.d.ts +2 -0
  738. package/node_modules/@mistralai/mistralai/esm/models/components/chatcompletionstreamrequest.d.ts.map +1 -1
  739. package/node_modules/@mistralai/mistralai/esm/models/components/chatcompletionstreamrequest.js +2 -0
  740. package/node_modules/@mistralai/mistralai/esm/models/components/chatcompletionstreamrequest.js.map +1 -1
  741. package/node_modules/@mistralai/mistralai/esm/models/components/classifierfinetuningjob.d.ts +1 -1
  742. package/node_modules/@mistralai/mistralai/esm/models/components/classifierfinetuningjobdetails.d.ts +42 -0
  743. package/node_modules/@mistralai/mistralai/esm/models/components/classifierfinetuningjobdetails.d.ts.map +1 -1
  744. package/node_modules/@mistralai/mistralai/esm/models/components/classifierfinetuningjobdetails.js +3 -0
  745. package/node_modules/@mistralai/mistralai/esm/models/components/classifierfinetuningjobdetails.js.map +1 -1
  746. package/node_modules/@mistralai/mistralai/esm/models/components/classifiertrainingparameters.d.ts +12 -0
  747. package/node_modules/@mistralai/mistralai/esm/models/components/classifiertrainingparameters.d.ts.map +1 -1
  748. package/node_modules/@mistralai/mistralai/esm/models/components/classifiertrainingparameters.js.map +1 -1
  749. package/node_modules/@mistralai/mistralai/esm/models/components/clientcapabilities.d.ts +26 -0
  750. package/node_modules/@mistralai/mistralai/esm/models/components/clientcapabilities.d.ts.map +1 -0
  751. package/node_modules/@mistralai/mistralai/esm/models/components/clientcapabilities.js +23 -0
  752. package/node_modules/@mistralai/mistralai/esm/models/components/clientcapabilities.js.map +1 -0
  753. package/node_modules/@mistralai/mistralai/esm/models/components/clienttaskscapability.d.ts +21 -0
  754. package/node_modules/@mistralai/mistralai/esm/models/components/clienttaskscapability.d.ts.map +1 -0
  755. package/node_modules/@mistralai/mistralai/esm/models/components/clienttaskscapability.js +17 -0
  756. package/node_modules/@mistralai/mistralai/esm/models/components/clienttaskscapability.js.map +1 -0
  757. package/node_modules/@mistralai/mistralai/esm/models/components/clienttasksrequestscapability.d.ts +17 -0
  758. package/node_modules/@mistralai/mistralai/esm/models/components/clienttasksrequestscapability.d.ts.map +1 -0
  759. package/node_modules/@mistralai/mistralai/esm/models/components/clienttasksrequestscapability.js +17 -0
  760. package/node_modules/@mistralai/mistralai/esm/models/components/clienttasksrequestscapability.js.map +1 -0
  761. package/node_modules/@mistralai/mistralai/esm/models/components/completionfinetuningjob.d.ts +1 -1
  762. package/node_modules/@mistralai/mistralai/esm/models/components/completionfinetuningjobdetails.d.ts +42 -0
  763. package/node_modules/@mistralai/mistralai/esm/models/components/completionfinetuningjobdetails.d.ts.map +1 -1
  764. package/node_modules/@mistralai/mistralai/esm/models/components/completionfinetuningjobdetails.js +3 -0
  765. package/node_modules/@mistralai/mistralai/esm/models/components/completionfinetuningjobdetails.js.map +1 -1
  766. package/node_modules/@mistralai/mistralai/esm/models/components/completiontokensdetails.d.ts +13 -0
  767. package/node_modules/@mistralai/mistralai/esm/models/components/completiontokensdetails.d.ts.map +1 -0
  768. package/node_modules/@mistralai/mistralai/esm/models/components/completiontokensdetails.js +19 -0
  769. package/node_modules/@mistralai/mistralai/esm/models/components/completiontokensdetails.js.map +1 -0
  770. package/node_modules/@mistralai/mistralai/esm/models/components/completiontrainingparameters.d.ts +12 -0
  771. package/node_modules/@mistralai/mistralai/esm/models/components/completiontrainingparameters.d.ts.map +1 -1
  772. package/node_modules/@mistralai/mistralai/esm/models/components/completiontrainingparameters.js.map +1 -1
  773. package/node_modules/@mistralai/mistralai/esm/models/components/connectionconfigtype.d.ts +11 -0
  774. package/node_modules/@mistralai/mistralai/esm/models/components/connectionconfigtype.d.ts.map +1 -0
  775. package/node_modules/@mistralai/mistralai/esm/models/components/connectionconfigtype.js +13 -0
  776. package/node_modules/@mistralai/mistralai/esm/models/components/connectionconfigtype.js.map +1 -0
  777. package/node_modules/@mistralai/mistralai/esm/models/components/connectioncredentials.d.ts +2 -0
  778. package/node_modules/@mistralai/mistralai/esm/models/components/connectioncredentials.d.ts.map +1 -1
  779. package/node_modules/@mistralai/mistralai/esm/models/components/connectioncredentials.js +2 -0
  780. package/node_modules/@mistralai/mistralai/esm/models/components/connectioncredentials.js.map +1 -1
  781. package/node_modules/@mistralai/mistralai/esm/models/components/connectionpreference.d.ts +15 -0
  782. package/node_modules/@mistralai/mistralai/esm/models/components/connectionpreference.d.ts.map +1 -0
  783. package/node_modules/@mistralai/mistralai/esm/models/components/connectionpreference.js +26 -0
  784. package/node_modules/@mistralai/mistralai/esm/models/components/connectionpreference.js.map +1 -0
  785. package/node_modules/@mistralai/mistralai/esm/models/components/connector.d.ts +29 -1
  786. package/node_modules/@mistralai/mistralai/esm/models/components/connector.d.ts.map +1 -1
  787. package/node_modules/@mistralai/mistralai/esm/models/components/connector.js +42 -2
  788. package/node_modules/@mistralai/mistralai/esm/models/components/connector.js.map +1 -1
  789. package/node_modules/@mistralai/mistralai/esm/models/components/connectorlocale.d.ts +18 -0
  790. package/node_modules/@mistralai/mistralai/esm/models/components/connectorlocale.d.ts.map +1 -0
  791. package/node_modules/@mistralai/mistralai/esm/models/components/connectorlocale.js +21 -0
  792. package/node_modules/@mistralai/mistralai/esm/models/components/connectorlocale.js.map +1 -0
  793. package/node_modules/@mistralai/mistralai/esm/models/components/connectorprotocol.d.ts +11 -0
  794. package/node_modules/@mistralai/mistralai/esm/models/components/connectorprotocol.d.ts.map +1 -0
  795. package/node_modules/@mistralai/mistralai/esm/models/components/connectorprotocol.js +13 -0
  796. package/node_modules/@mistralai/mistralai/esm/models/components/connectorprotocol.js.map +1 -0
  797. package/node_modules/@mistralai/mistralai/esm/models/components/connectorsqueryfilters.d.ts +0 -5
  798. package/node_modules/@mistralai/mistralai/esm/models/components/connectorsqueryfilters.d.ts.map +1 -1
  799. package/node_modules/@mistralai/mistralai/esm/models/components/connectorsqueryfilters.js +0 -6
  800. package/node_modules/@mistralai/mistralai/esm/models/components/connectorsqueryfilters.js.map +1 -1
  801. package/node_modules/@mistralai/mistralai/esm/models/components/consumertype.d.ts +12 -0
  802. package/node_modules/@mistralai/mistralai/esm/models/components/consumertype.d.ts.map +1 -0
  803. package/node_modules/@mistralai/mistralai/esm/models/components/consumertype.js +14 -0
  804. package/node_modules/@mistralai/mistralai/esm/models/components/consumertype.js.map +1 -0
  805. package/node_modules/@mistralai/mistralai/esm/models/components/createbatchjobrequest.d.ts +8 -1
  806. package/node_modules/@mistralai/mistralai/esm/models/components/createbatchjobrequest.d.ts.map +1 -1
  807. package/node_modules/@mistralai/mistralai/esm/models/components/createbatchjobrequest.js.map +1 -1
  808. package/node_modules/@mistralai/mistralai/esm/models/components/createconnectorrequest.d.ts +18 -0
  809. package/node_modules/@mistralai/mistralai/esm/models/components/createconnectorrequest.d.ts.map +1 -1
  810. package/node_modules/@mistralai/mistralai/esm/models/components/createconnectorrequest.js +8 -0
  811. package/node_modules/@mistralai/mistralai/esm/models/components/createconnectorrequest.js.map +1 -1
  812. package/node_modules/@mistralai/mistralai/esm/models/components/createingestionpipelineconfigurationrequest.d.ts +18 -0
  813. package/node_modules/@mistralai/mistralai/esm/models/components/createingestionpipelineconfigurationrequest.d.ts.map +1 -0
  814. package/node_modules/@mistralai/mistralai/esm/models/components/createingestionpipelineconfigurationrequest.js +20 -0
  815. package/node_modules/@mistralai/mistralai/esm/models/components/createingestionpipelineconfigurationrequest.js.map +1 -0
  816. package/node_modules/@mistralai/mistralai/esm/models/components/createlibraryrequest.d.ts +5 -0
  817. package/node_modules/@mistralai/mistralai/esm/models/components/createlibraryrequest.d.ts.map +1 -1
  818. package/node_modules/@mistralai/mistralai/esm/models/components/createlibraryrequest.js.map +1 -1
  819. package/node_modules/@mistralai/mistralai/esm/models/components/createsearchindexinforequest.d.ts +33 -0
  820. package/node_modules/@mistralai/mistralai/esm/models/components/createsearchindexinforequest.d.ts.map +1 -0
  821. package/node_modules/@mistralai/mistralai/esm/models/components/createsearchindexinforequest.js +33 -0
  822. package/node_modules/@mistralai/mistralai/esm/models/components/createsearchindexinforequest.js.map +1 -0
  823. package/node_modules/@mistralai/mistralai/esm/models/components/createvespaschemarequest.d.ts +14 -0
  824. package/node_modules/@mistralai/mistralai/esm/models/components/createvespaschemarequest.d.ts.map +1 -0
  825. package/node_modules/@mistralai/mistralai/esm/models/components/createvespaschemarequest.js +19 -0
  826. package/node_modules/@mistralai/mistralai/esm/models/components/createvespaschemarequest.js.map +1 -0
  827. package/node_modules/@mistralai/mistralai/esm/models/components/createvespasearchindexinforequest.d.ts +21 -0
  828. package/node_modules/@mistralai/mistralai/esm/models/components/createvespasearchindexinforequest.d.ts.map +1 -0
  829. package/node_modules/@mistralai/mistralai/esm/models/components/createvespasearchindexinforequest.js +25 -0
  830. package/node_modules/@mistralai/mistralai/esm/models/components/createvespasearchindexinforequest.js.map +1 -0
  831. package/node_modules/@mistralai/mistralai/esm/models/components/credentialsresponse.d.ts +2 -2
  832. package/node_modules/@mistralai/mistralai/esm/models/components/credentialsresponse.d.ts.map +1 -1
  833. package/node_modules/@mistralai/mistralai/esm/models/components/credentialsresponse.js +2 -2
  834. package/node_modules/@mistralai/mistralai/esm/models/components/credentialsresponse.js.map +1 -1
  835. package/node_modules/@mistralai/mistralai/esm/models/components/credentialsstatus.d.ts +15 -0
  836. package/node_modules/@mistralai/mistralai/esm/models/components/credentialsstatus.d.ts.map +1 -0
  837. package/node_modules/@mistralai/mistralai/esm/models/components/credentialsstatus.js +27 -0
  838. package/node_modules/@mistralai/mistralai/esm/models/components/credentialsstatus.js.map +1 -0
  839. package/node_modules/@mistralai/mistralai/esm/models/components/customtaskcompletedattributesresponse.d.ts +2 -0
  840. package/node_modules/@mistralai/mistralai/esm/models/components/customtaskcompletedattributesresponse.d.ts.map +1 -1
  841. package/node_modules/@mistralai/mistralai/esm/models/components/customtaskcompletedattributesresponse.js.map +1 -1
  842. package/node_modules/@mistralai/mistralai/esm/models/components/customtaskstartedattributesresponse.d.ts +2 -0
  843. package/node_modules/@mistralai/mistralai/esm/models/components/customtaskstartedattributesresponse.d.ts.map +1 -1
  844. package/node_modules/@mistralai/mistralai/esm/models/components/customtaskstartedattributesresponse.js.map +1 -1
  845. package/node_modules/@mistralai/mistralai/esm/models/components/deletemodelresponse.d.ts +2 -2
  846. package/node_modules/@mistralai/mistralai/esm/models/components/deploymentdetailresponse.d.ts +4 -0
  847. package/node_modules/@mistralai/mistralai/esm/models/components/deploymentdetailresponse.d.ts.map +1 -1
  848. package/node_modules/@mistralai/mistralai/esm/models/components/deploymentdetailresponse.js +2 -0
  849. package/node_modules/@mistralai/mistralai/esm/models/components/deploymentdetailresponse.js.map +1 -1
  850. package/node_modules/@mistralai/mistralai/esm/models/components/deploymentlistresponse.d.ts +8 -0
  851. package/node_modules/@mistralai/mistralai/esm/models/components/deploymentlistresponse.d.ts.map +1 -1
  852. package/node_modules/@mistralai/mistralai/esm/models/components/deploymentlistresponse.js +8 -0
  853. package/node_modules/@mistralai/mistralai/esm/models/components/deploymentlistresponse.js.map +1 -1
  854. package/node_modules/@mistralai/mistralai/esm/models/components/deploymentresponse.d.ts +4 -0
  855. package/node_modules/@mistralai/mistralai/esm/models/components/deploymentresponse.d.ts.map +1 -1
  856. package/node_modules/@mistralai/mistralai/esm/models/components/deploymentresponse.js +2 -0
  857. package/node_modules/@mistralai/mistralai/esm/models/components/deploymentresponse.js.map +1 -1
  858. package/node_modules/@mistralai/mistralai/esm/models/components/document.d.ts +16 -0
  859. package/node_modules/@mistralai/mistralai/esm/models/components/document.d.ts.map +1 -1
  860. package/node_modules/@mistralai/mistralai/esm/models/components/document.js +2 -0
  861. package/node_modules/@mistralai/mistralai/esm/models/components/document.js.map +1 -1
  862. package/node_modules/@mistralai/mistralai/esm/models/components/elicitationcapability.d.ts +23 -0
  863. package/node_modules/@mistralai/mistralai/esm/models/components/elicitationcapability.d.ts.map +1 -0
  864. package/node_modules/@mistralai/mistralai/esm/models/components/elicitationcapability.js +15 -0
  865. package/node_modules/@mistralai/mistralai/esm/models/components/elicitationcapability.js.map +1 -0
  866. package/node_modules/@mistralai/mistralai/esm/models/components/encodedpayloadoptions.d.ts +6 -3
  867. package/node_modules/@mistralai/mistralai/esm/models/components/encodedpayloadoptions.d.ts.map +1 -1
  868. package/node_modules/@mistralai/mistralai/esm/models/components/encodedpayloadoptions.js +5 -2
  869. package/node_modules/@mistralai/mistralai/esm/models/components/encodedpayloadoptions.js.map +1 -1
  870. package/node_modules/@mistralai/mistralai/esm/models/components/encryptedpatchvalue.d.ts +21 -0
  871. package/node_modules/@mistralai/mistralai/esm/models/components/encryptedpatchvalue.d.ts.map +1 -0
  872. package/node_modules/@mistralai/mistralai/esm/models/components/encryptedpatchvalue.js +15 -0
  873. package/node_modules/@mistralai/mistralai/esm/models/components/encryptedpatchvalue.js.map +1 -0
  874. package/node_modules/@mistralai/mistralai/esm/models/components/executionlogrecord.d.ts +17 -0
  875. package/node_modules/@mistralai/mistralai/esm/models/components/executionlogrecord.d.ts.map +1 -0
  876. package/node_modules/@mistralai/mistralai/esm/models/components/executionlogrecord.js +27 -0
  877. package/node_modules/@mistralai/mistralai/esm/models/components/executionlogrecord.js.map +1 -0
  878. package/node_modules/@mistralai/mistralai/esm/models/components/executionlogsearchresponse.d.ts +12 -0
  879. package/node_modules/@mistralai/mistralai/esm/models/components/executionlogsearchresponse.d.ts.map +1 -0
  880. package/node_modules/@mistralai/mistralai/esm/models/components/executionlogsearchresponse.js +21 -0
  881. package/node_modules/@mistralai/mistralai/esm/models/components/executionlogsearchresponse.js.map +1 -0
  882. package/node_modules/@mistralai/mistralai/esm/models/components/extendedoauthservermetadata.d.ts +64 -0
  883. package/node_modules/@mistralai/mistralai/esm/models/components/extendedoauthservermetadata.d.ts.map +1 -0
  884. package/node_modules/@mistralai/mistralai/esm/models/components/extendedoauthservermetadata.js +64 -0
  885. package/node_modules/@mistralai/mistralai/esm/models/components/extendedoauthservermetadata.js.map +1 -0
  886. package/node_modules/@mistralai/mistralai/esm/models/components/feedresultgetlog.d.ts +13 -0
  887. package/node_modules/@mistralai/mistralai/esm/models/components/feedresultgetlog.d.ts.map +1 -0
  888. package/node_modules/@mistralai/mistralai/esm/models/components/feedresultgetlog.js +17 -0
  889. package/node_modules/@mistralai/mistralai/esm/models/components/feedresultgetlog.js.map +1 -0
  890. package/node_modules/@mistralai/mistralai/esm/models/components/feedresultgetspan.d.ts +13 -0
  891. package/node_modules/@mistralai/mistralai/esm/models/components/feedresultgetspan.d.ts.map +1 -0
  892. package/node_modules/@mistralai/mistralai/esm/models/components/feedresultgetspan.js +17 -0
  893. package/node_modules/@mistralai/mistralai/esm/models/components/feedresultgetspan.js.map +1 -0
  894. package/node_modules/@mistralai/mistralai/esm/models/components/feedresultgetspanevaluation.d.ts +13 -0
  895. package/node_modules/@mistralai/mistralai/esm/models/components/feedresultgetspanevaluation.d.ts.map +1 -0
  896. package/node_modules/@mistralai/mistralai/esm/models/components/feedresultgetspanevaluation.js +17 -0
  897. package/node_modules/@mistralai/mistralai/esm/models/components/feedresultgetspanevaluation.js.map +1 -0
  898. package/node_modules/@mistralai/mistralai/esm/models/components/feedresultgettrace.d.ts +13 -0
  899. package/node_modules/@mistralai/mistralai/esm/models/components/feedresultgettrace.d.ts.map +1 -0
  900. package/node_modules/@mistralai/mistralai/esm/models/components/feedresultgettrace.js +17 -0
  901. package/node_modules/@mistralai/mistralai/esm/models/components/feedresultgettrace.js.map +1 -0
  902. package/node_modules/@mistralai/mistralai/esm/models/components/fimcompletionrequest.d.ts +2 -0
  903. package/node_modules/@mistralai/mistralai/esm/models/components/fimcompletionrequest.d.ts.map +1 -1
  904. package/node_modules/@mistralai/mistralai/esm/models/components/fimcompletionrequest.js +2 -0
  905. package/node_modules/@mistralai/mistralai/esm/models/components/fimcompletionrequest.js.map +1 -1
  906. package/node_modules/@mistralai/mistralai/esm/models/components/fimcompletionstreamrequest.d.ts +2 -0
  907. package/node_modules/@mistralai/mistralai/esm/models/components/fimcompletionstreamrequest.d.ts.map +1 -1
  908. package/node_modules/@mistralai/mistralai/esm/models/components/fimcompletionstreamrequest.js +2 -0
  909. package/node_modules/@mistralai/mistralai/esm/models/components/fimcompletionstreamrequest.js.map +1 -1
  910. package/node_modules/@mistralai/mistralai/esm/models/components/getlog.d.ts +35 -0
  911. package/node_modules/@mistralai/mistralai/esm/models/components/getlog.d.ts.map +1 -0
  912. package/node_modules/@mistralai/mistralai/esm/models/components/getlog.js +55 -0
  913. package/node_modules/@mistralai/mistralai/esm/models/components/getlog.js.map +1 -0
  914. package/node_modules/@mistralai/mistralai/esm/models/components/getlogfieldoptions.d.ts +10 -0
  915. package/node_modules/@mistralai/mistralai/esm/models/components/getlogfieldoptions.d.ts.map +1 -0
  916. package/node_modules/@mistralai/mistralai/esm/models/components/getlogfieldoptions.js +14 -0
  917. package/node_modules/@mistralai/mistralai/esm/models/components/getlogfieldoptions.js.map +1 -0
  918. package/node_modules/@mistralai/mistralai/esm/models/components/getlogfields.d.ts +11 -0
  919. package/node_modules/@mistralai/mistralai/esm/models/components/getlogfields.d.ts.map +1 -0
  920. package/node_modules/@mistralai/mistralai/esm/models/components/getlogfields.js +21 -0
  921. package/node_modules/@mistralai/mistralai/esm/models/components/getlogfields.js.map +1 -0
  922. package/node_modules/@mistralai/mistralai/esm/models/components/getlogs.d.ts +11 -0
  923. package/node_modules/@mistralai/mistralai/esm/models/components/getlogs.d.ts.map +1 -0
  924. package/node_modules/@mistralai/mistralai/esm/models/components/getlogs.js +15 -0
  925. package/node_modules/@mistralai/mistralai/esm/models/components/getlogs.js.map +1 -0
  926. package/node_modules/@mistralai/mistralai/esm/models/components/getspan.d.ts +81 -0
  927. package/node_modules/@mistralai/mistralai/esm/models/components/getspan.d.ts.map +1 -0
  928. package/node_modules/@mistralai/mistralai/esm/models/components/getspan.js +143 -0
  929. package/node_modules/@mistralai/mistralai/esm/models/components/getspan.js.map +1 -0
  930. package/node_modules/@mistralai/mistralai/esm/models/components/getspanevaluation.d.ts +25 -0
  931. package/node_modules/@mistralai/mistralai/esm/models/components/getspanevaluation.d.ts.map +1 -0
  932. package/node_modules/@mistralai/mistralai/esm/models/components/getspanevaluation.js +42 -0
  933. package/node_modules/@mistralai/mistralai/esm/models/components/getspanevaluation.js.map +1 -0
  934. package/node_modules/@mistralai/mistralai/esm/models/components/getspanevaluationfieldoptions.d.ts +10 -0
  935. package/node_modules/@mistralai/mistralai/esm/models/components/getspanevaluationfieldoptions.d.ts.map +1 -0
  936. package/node_modules/@mistralai/mistralai/esm/models/components/getspanevaluationfieldoptions.js +14 -0
  937. package/node_modules/@mistralai/mistralai/esm/models/components/getspanevaluationfieldoptions.js.map +1 -0
  938. package/node_modules/@mistralai/mistralai/esm/models/components/getspanevaluationfields.d.ts +11 -0
  939. package/node_modules/@mistralai/mistralai/esm/models/components/getspanevaluationfields.d.ts.map +1 -0
  940. package/node_modules/@mistralai/mistralai/esm/models/components/getspanevaluationfields.js +20 -0
  941. package/node_modules/@mistralai/mistralai/esm/models/components/getspanevaluationfields.js.map +1 -0
  942. package/node_modules/@mistralai/mistralai/esm/models/components/getspanevaluations.d.ts +11 -0
  943. package/node_modules/@mistralai/mistralai/esm/models/components/getspanevaluations.d.ts.map +1 -0
  944. package/node_modules/@mistralai/mistralai/esm/models/components/getspanevaluations.js +20 -0
  945. package/node_modules/@mistralai/mistralai/esm/models/components/getspanevaluations.js.map +1 -0
  946. package/node_modules/@mistralai/mistralai/esm/models/components/getspanfieldoptions.d.ts +10 -0
  947. package/node_modules/@mistralai/mistralai/esm/models/components/getspanfieldoptions.d.ts.map +1 -0
  948. package/node_modules/@mistralai/mistralai/esm/models/components/getspanfieldoptions.js +14 -0
  949. package/node_modules/@mistralai/mistralai/esm/models/components/getspanfieldoptions.js.map +1 -0
  950. package/node_modules/@mistralai/mistralai/esm/models/components/getspanfields.d.ts +11 -0
  951. package/node_modules/@mistralai/mistralai/esm/models/components/getspanfields.d.ts.map +1 -0
  952. package/node_modules/@mistralai/mistralai/esm/models/components/getspanfields.js +21 -0
  953. package/node_modules/@mistralai/mistralai/esm/models/components/getspanfields.js.map +1 -0
  954. package/node_modules/@mistralai/mistralai/esm/models/components/getspans.d.ts +11 -0
  955. package/node_modules/@mistralai/mistralai/esm/models/components/getspans.d.ts.map +1 -0
  956. package/node_modules/@mistralai/mistralai/esm/models/components/getspans.js +15 -0
  957. package/node_modules/@mistralai/mistralai/esm/models/components/getspans.js.map +1 -0
  958. package/node_modules/@mistralai/mistralai/esm/models/components/gettrace.d.ts +51 -0
  959. package/node_modules/@mistralai/mistralai/esm/models/components/gettrace.d.ts.map +1 -0
  960. package/node_modules/@mistralai/mistralai/esm/models/components/gettrace.js +91 -0
  961. package/node_modules/@mistralai/mistralai/esm/models/components/gettrace.js.map +1 -0
  962. package/node_modules/@mistralai/mistralai/esm/models/components/gettracefieldoptions.d.ts +10 -0
  963. package/node_modules/@mistralai/mistralai/esm/models/components/gettracefieldoptions.d.ts.map +1 -0
  964. package/node_modules/@mistralai/mistralai/esm/models/components/gettracefieldoptions.js +14 -0
  965. package/node_modules/@mistralai/mistralai/esm/models/components/gettracefieldoptions.js.map +1 -0
  966. package/node_modules/@mistralai/mistralai/esm/models/components/gettracefields.d.ts +11 -0
  967. package/node_modules/@mistralai/mistralai/esm/models/components/gettracefields.d.ts.map +1 -0
  968. package/node_modules/@mistralai/mistralai/esm/models/components/gettracefields.js +20 -0
  969. package/node_modules/@mistralai/mistralai/esm/models/components/gettracefields.js.map +1 -0
  970. package/node_modules/@mistralai/mistralai/esm/models/components/gettraces.d.ts +11 -0
  971. package/node_modules/@mistralai/mistralai/esm/models/components/gettraces.d.ts.map +1 -0
  972. package/node_modules/@mistralai/mistralai/esm/models/components/gettraces.js +15 -0
  973. package/node_modules/@mistralai/mistralai/esm/models/components/gettraces.js.map +1 -0
  974. package/node_modules/@mistralai/mistralai/esm/models/components/httpstatus.d.ts +112 -0
  975. package/node_modules/@mistralai/mistralai/esm/models/components/httpstatus.d.ts.map +1 -0
  976. package/node_modules/@mistralai/mistralai/esm/models/components/httpstatus.js +93 -0
  977. package/node_modules/@mistralai/mistralai/esm/models/components/httpstatus.js.map +1 -0
  978. package/node_modules/@mistralai/mistralai/esm/models/components/index.d.ts +93 -1
  979. package/node_modules/@mistralai/mistralai/esm/models/components/index.d.ts.map +1 -1
  980. package/node_modules/@mistralai/mistralai/esm/models/components/index.js +93 -1
  981. package/node_modules/@mistralai/mistralai/esm/models/components/index.js.map +1 -1
  982. package/node_modules/@mistralai/mistralai/esm/models/components/ingestionpipelineconfiguration.d.ts +7 -0
  983. package/node_modules/@mistralai/mistralai/esm/models/components/ingestionpipelineconfiguration.d.ts.map +1 -1
  984. package/node_modules/@mistralai/mistralai/esm/models/components/ingestionpipelineconfiguration.js +10 -0
  985. package/node_modules/@mistralai/mistralai/esm/models/components/ingestionpipelineconfiguration.js.map +1 -1
  986. package/node_modules/@mistralai/mistralai/esm/models/components/jobmetadata.d.ts +18 -0
  987. package/node_modules/@mistralai/mistralai/esm/models/components/jobmetadata.d.ts.map +1 -1
  988. package/node_modules/@mistralai/mistralai/esm/models/components/jobmetadata.js.map +1 -1
  989. package/node_modules/@mistralai/mistralai/esm/models/components/jsonpatch.d.ts +13 -0
  990. package/node_modules/@mistralai/mistralai/esm/models/components/jsonpatch.d.ts.map +1 -0
  991. package/node_modules/@mistralai/mistralai/esm/models/components/jsonpatch.js +21 -0
  992. package/node_modules/@mistralai/mistralai/esm/models/components/jsonpatch.js.map +1 -0
  993. package/node_modules/@mistralai/mistralai/esm/models/components/jsonpatchappend.d.ts +10 -2
  994. package/node_modules/@mistralai/mistralai/esm/models/components/jsonpatchappend.d.ts.map +1 -1
  995. package/node_modules/@mistralai/mistralai/esm/models/components/jsonpatchappend.js +8 -1
  996. package/node_modules/@mistralai/mistralai/esm/models/components/jsonpatchappend.js.map +1 -1
  997. package/node_modules/@mistralai/mistralai/esm/models/components/jsonpatchpayloadresponse.d.ts +7 -11
  998. package/node_modules/@mistralai/mistralai/esm/models/components/jsonpatchpayloadresponse.d.ts.map +1 -1
  999. package/node_modules/@mistralai/mistralai/esm/models/components/jsonpatchpayloadresponse.js +10 -21
  1000. package/node_modules/@mistralai/mistralai/esm/models/components/jsonpatchpayloadresponse.js.map +1 -1
  1001. package/node_modules/@mistralai/mistralai/esm/models/components/jsonpatchpayloadvalueresponse.d.ts +9 -0
  1002. package/node_modules/@mistralai/mistralai/esm/models/components/jsonpatchpayloadvalueresponse.d.ts.map +1 -0
  1003. package/node_modules/@mistralai/mistralai/esm/models/components/jsonpatchpayloadvalueresponse.js +14 -0
  1004. package/node_modules/@mistralai/mistralai/esm/models/components/jsonpatchpayloadvalueresponse.js.map +1 -0
  1005. package/node_modules/@mistralai/mistralai/esm/models/components/jsonpayloadresponse.d.ts +8 -1
  1006. package/node_modules/@mistralai/mistralai/esm/models/components/jsonpayloadresponse.d.ts.map +1 -1
  1007. package/node_modules/@mistralai/mistralai/esm/models/components/jsonpayloadresponse.js +8 -0
  1008. package/node_modules/@mistralai/mistralai/esm/models/components/jsonpayloadresponse.js.map +1 -1
  1009. package/node_modules/@mistralai/mistralai/esm/models/components/library.d.ts +17 -0
  1010. package/node_modules/@mistralai/mistralai/esm/models/components/library.d.ts.map +1 -1
  1011. package/node_modules/@mistralai/mistralai/esm/models/components/library.js.map +1 -1
  1012. package/node_modules/@mistralai/mistralai/esm/models/components/logicalexpression.d.ts +39 -0
  1013. package/node_modules/@mistralai/mistralai/esm/models/components/logicalexpression.d.ts.map +1 -0
  1014. package/node_modules/@mistralai/mistralai/esm/models/components/logicalexpression.js +60 -0
  1015. package/node_modules/@mistralai/mistralai/esm/models/components/logicalexpression.js.map +1 -0
  1016. package/node_modules/@mistralai/mistralai/esm/models/components/logsrequest.d.ts +22 -0
  1017. package/node_modules/@mistralai/mistralai/esm/models/components/logsrequest.d.ts.map +1 -0
  1018. package/node_modules/@mistralai/mistralai/esm/models/components/logsrequest.js +25 -0
  1019. package/node_modules/@mistralai/mistralai/esm/models/components/logsrequest.js.map +1 -0
  1020. package/node_modules/@mistralai/mistralai/esm/models/components/mcpprompt.d.ts +20 -0
  1021. package/node_modules/@mistralai/mistralai/esm/models/components/mcpprompt.d.ts.map +1 -0
  1022. package/node_modules/@mistralai/mistralai/esm/models/components/mcpprompt.js +26 -0
  1023. package/node_modules/@mistralai/mistralai/esm/models/components/mcpprompt.js.map +1 -0
  1024. package/node_modules/@mistralai/mistralai/esm/models/components/mcpresource.d.ts +23 -0
  1025. package/node_modules/@mistralai/mistralai/esm/models/components/mcpresource.d.ts.map +1 -0
  1026. package/node_modules/@mistralai/mistralai/esm/models/components/mcpresource.js +30 -0
  1027. package/node_modules/@mistralai/mistralai/esm/models/components/mcpresource.js.map +1 -0
  1028. package/node_modules/@mistralai/mistralai/esm/models/components/mcpserverauthenticationrequirement.d.ts +20 -0
  1029. package/node_modules/@mistralai/mistralai/esm/models/components/mcpserverauthenticationrequirement.d.ts.map +1 -0
  1030. package/node_modules/@mistralai/mistralai/esm/models/components/mcpserverauthenticationrequirement.js +15 -0
  1031. package/node_modules/@mistralai/mistralai/esm/models/components/mcpserverauthenticationrequirement.js.map +1 -0
  1032. package/node_modules/@mistralai/mistralai/esm/models/components/mcpservercard.d.ts +58 -0
  1033. package/node_modules/@mistralai/mistralai/esm/models/components/mcpservercard.d.ts.map +1 -0
  1034. package/node_modules/@mistralai/mistralai/esm/models/components/mcpservercard.js +66 -0
  1035. package/node_modules/@mistralai/mistralai/esm/models/components/mcpservercard.js.map +1 -0
  1036. package/node_modules/@mistralai/mistralai/esm/models/components/mcpservercardmeta.d.ts +19 -0
  1037. package/node_modules/@mistralai/mistralai/esm/models/components/mcpservercardmeta.d.ts.map +1 -0
  1038. package/node_modules/@mistralai/mistralai/esm/models/components/mcpservercardmeta.js +20 -0
  1039. package/node_modules/@mistralai/mistralai/esm/models/components/mcpservercardmeta.js.map +1 -0
  1040. package/node_modules/@mistralai/mistralai/esm/models/components/mcpservercardtool.d.ts +27 -0
  1041. package/node_modules/@mistralai/mistralai/esm/models/components/mcpservercardtool.d.ts.map +1 -0
  1042. package/node_modules/@mistralai/mistralai/esm/models/components/mcpservercardtool.js +31 -0
  1043. package/node_modules/@mistralai/mistralai/esm/models/components/mcpservercardtool.js.map +1 -0
  1044. package/node_modules/@mistralai/mistralai/esm/models/components/mcpserverremote.d.ts +39 -0
  1045. package/node_modules/@mistralai/mistralai/esm/models/components/mcpserverremote.d.ts.map +1 -0
  1046. package/node_modules/@mistralai/mistralai/esm/models/components/mcpserverremote.js +31 -0
  1047. package/node_modules/@mistralai/mistralai/esm/models/components/mcpserverremote.js.map +1 -0
  1048. package/node_modules/@mistralai/mistralai/esm/models/components/mcpserverremoteheader.d.ts +24 -0
  1049. package/node_modules/@mistralai/mistralai/esm/models/components/mcpserverremoteheader.d.ts.map +1 -0
  1050. package/node_modules/@mistralai/mistralai/esm/models/components/mcpserverremoteheader.js +19 -0
  1051. package/node_modules/@mistralai/mistralai/esm/models/components/mcpserverremoteheader.js.map +1 -0
  1052. package/node_modules/@mistralai/mistralai/esm/models/components/mcpserverrepository.d.ts +21 -0
  1053. package/node_modules/@mistralai/mistralai/esm/models/components/mcpserverrepository.d.ts.map +1 -0
  1054. package/node_modules/@mistralai/mistralai/esm/models/components/mcpserverrepository.js +16 -0
  1055. package/node_modules/@mistralai/mistralai/esm/models/components/mcpserverrepository.js.map +1 -0
  1056. package/node_modules/@mistralai/mistralai/esm/models/components/observabilityerrorcode.d.ts +0 -1
  1057. package/node_modules/@mistralai/mistralai/esm/models/components/observabilityerrorcode.d.ts.map +1 -1
  1058. package/node_modules/@mistralai/mistralai/esm/models/components/observabilityerrorcode.js +0 -1
  1059. package/node_modules/@mistralai/mistralai/esm/models/components/observabilityerrorcode.js.map +1 -1
  1060. package/node_modules/@mistralai/mistralai/esm/models/components/ocrrequest.d.ts +0 -2
  1061. package/node_modules/@mistralai/mistralai/esm/models/components/ocrrequest.d.ts.map +1 -1
  1062. package/node_modules/@mistralai/mistralai/esm/models/components/ocrrequest.js +0 -1
  1063. package/node_modules/@mistralai/mistralai/esm/models/components/ocrrequest.js.map +1 -1
  1064. package/node_modules/@mistralai/mistralai/esm/models/components/otelfielddefinition.d.ts +57 -0
  1065. package/node_modules/@mistralai/mistralai/esm/models/components/otelfielddefinition.d.ts.map +1 -0
  1066. package/node_modules/@mistralai/mistralai/esm/models/components/otelfielddefinition.js +64 -0
  1067. package/node_modules/@mistralai/mistralai/esm/models/components/otelfielddefinition.js.map +1 -0
  1068. package/node_modules/@mistralai/mistralai/esm/models/components/outboundauthenticationtype.d.ts +15 -0
  1069. package/node_modules/@mistralai/mistralai/esm/models/components/outboundauthenticationtype.d.ts.map +1 -0
  1070. package/node_modules/@mistralai/mistralai/esm/models/components/outboundauthenticationtype.js +17 -0
  1071. package/node_modules/@mistralai/mistralai/esm/models/components/outboundauthenticationtype.js.map +1 -0
  1072. package/node_modules/@mistralai/mistralai/esm/models/components/partialscheduledefinition.d.ts +78 -0
  1073. package/node_modules/@mistralai/mistralai/esm/models/components/partialscheduledefinition.d.ts.map +1 -0
  1074. package/node_modules/@mistralai/mistralai/esm/models/components/partialscheduledefinition.js +35 -0
  1075. package/node_modules/@mistralai/mistralai/esm/models/components/partialscheduledefinition.js.map +1 -0
  1076. package/node_modules/@mistralai/mistralai/esm/models/components/processingstatus.d.ts +3 -0
  1077. package/node_modules/@mistralai/mistralai/esm/models/components/processingstatus.d.ts.map +1 -1
  1078. package/node_modules/@mistralai/mistralai/esm/models/components/processingstatus.js.map +1 -1
  1079. package/node_modules/@mistralai/mistralai/esm/models/components/promptargument.d.ts +16 -0
  1080. package/node_modules/@mistralai/mistralai/esm/models/components/promptargument.d.ts.map +1 -0
  1081. package/node_modules/@mistralai/mistralai/esm/models/components/promptargument.js +16 -0
  1082. package/node_modules/@mistralai/mistralai/esm/models/components/promptargument.js.map +1 -0
  1083. package/node_modules/@mistralai/mistralai/esm/models/components/promptscapability.d.ts +14 -0
  1084. package/node_modules/@mistralai/mistralai/esm/models/components/promptscapability.d.ts.map +1 -0
  1085. package/node_modules/@mistralai/mistralai/esm/models/components/promptscapability.js +14 -0
  1086. package/node_modules/@mistralai/mistralai/esm/models/components/promptscapability.js.map +1 -0
  1087. package/node_modules/@mistralai/mistralai/esm/models/components/prompttokensdetails.d.ts +1 -0
  1088. package/node_modules/@mistralai/mistralai/esm/models/components/prompttokensdetails.d.ts.map +1 -1
  1089. package/node_modules/@mistralai/mistralai/esm/models/components/prompttokensdetails.js +2 -0
  1090. package/node_modules/@mistralai/mistralai/esm/models/components/prompttokensdetails.js.map +1 -1
  1091. package/node_modules/@mistralai/mistralai/esm/models/components/publicauthenticationmethod.d.ts +3 -2
  1092. package/node_modules/@mistralai/mistralai/esm/models/components/publicauthenticationmethod.d.ts.map +1 -1
  1093. package/node_modules/@mistralai/mistralai/esm/models/components/publicauthenticationmethod.js +4 -2
  1094. package/node_modules/@mistralai/mistralai/esm/models/components/publicauthenticationmethod.js.map +1 -1
  1095. package/node_modules/@mistralai/mistralai/esm/models/components/publicconnectionconfig.d.ts +16 -0
  1096. package/node_modules/@mistralai/mistralai/esm/models/components/publicconnectionconfig.d.ts.map +1 -0
  1097. package/node_modules/@mistralai/mistralai/esm/models/components/publicconnectionconfig.js +23 -0
  1098. package/node_modules/@mistralai/mistralai/esm/models/components/publicconnectionconfig.js.map +1 -0
  1099. package/node_modules/@mistralai/mistralai/esm/models/components/reasoningeffort.d.ts +4 -0
  1100. package/node_modules/@mistralai/mistralai/esm/models/components/reasoningeffort.d.ts.map +1 -1
  1101. package/node_modules/@mistralai/mistralai/esm/models/components/reasoningeffort.js +4 -0
  1102. package/node_modules/@mistralai/mistralai/esm/models/components/reasoningeffort.js.map +1 -1
  1103. package/node_modules/@mistralai/mistralai/esm/models/components/referencechunk.d.ts +4 -4
  1104. package/node_modules/@mistralai/mistralai/esm/models/components/referencechunk.js +4 -4
  1105. package/node_modules/@mistralai/mistralai/esm/models/components/referencechunk.js.map +1 -1
  1106. package/node_modules/@mistralai/mistralai/esm/models/components/resourcescapability.d.ts +15 -0
  1107. package/node_modules/@mistralai/mistralai/esm/models/components/resourcescapability.d.ts.map +1 -0
  1108. package/node_modules/@mistralai/mistralai/esm/models/components/resourcescapability.js +15 -0
  1109. package/node_modules/@mistralai/mistralai/esm/models/components/resourcescapability.js.map +1 -0
  1110. package/node_modules/@mistralai/mistralai/esm/models/components/resourcetype.d.ts +12 -0
  1111. package/node_modules/@mistralai/mistralai/esm/models/components/resourcetype.d.ts.map +1 -0
  1112. package/node_modules/@mistralai/mistralai/esm/models/components/resourcetype.js +14 -0
  1113. package/node_modules/@mistralai/mistralai/esm/models/components/resourcetype.js.map +1 -0
  1114. package/node_modules/@mistralai/mistralai/esm/models/components/rootscapability.d.ts +14 -0
  1115. package/node_modules/@mistralai/mistralai/esm/models/components/rootscapability.d.ts.map +1 -0
  1116. package/node_modules/@mistralai/mistralai/esm/models/components/rootscapability.js +14 -0
  1117. package/node_modules/@mistralai/mistralai/esm/models/components/rootscapability.js.map +1 -0
  1118. package/node_modules/@mistralai/mistralai/esm/models/components/samplingcapability.d.ts +19 -0
  1119. package/node_modules/@mistralai/mistralai/esm/models/components/samplingcapability.d.ts.map +1 -0
  1120. package/node_modules/@mistralai/mistralai/esm/models/components/samplingcapability.js +15 -0
  1121. package/node_modules/@mistralai/mistralai/esm/models/components/samplingcapability.js.map +1 -0
  1122. package/node_modules/@mistralai/mistralai/esm/models/components/scheduledefinition.d.ts +5 -0
  1123. package/node_modules/@mistralai/mistralai/esm/models/components/scheduledefinition.d.ts.map +1 -1
  1124. package/node_modules/@mistralai/mistralai/esm/models/components/scheduledefinition.js +2 -0
  1125. package/node_modules/@mistralai/mistralai/esm/models/components/scheduledefinition.js.map +1 -1
  1126. package/node_modules/@mistralai/mistralai/esm/models/components/scheduledefinitionoutput.d.ts +26 -0
  1127. package/node_modules/@mistralai/mistralai/esm/models/components/scheduledefinitionoutput.d.ts.map +1 -1
  1128. package/node_modules/@mistralai/mistralai/esm/models/components/scheduledefinitionoutput.js +12 -0
  1129. package/node_modules/@mistralai/mistralai/esm/models/components/scheduledefinitionoutput.js.map +1 -1
  1130. package/node_modules/@mistralai/mistralai/esm/models/components/schedulefutureexecution.d.ts +13 -0
  1131. package/node_modules/@mistralai/mistralai/esm/models/components/schedulefutureexecution.d.ts.map +1 -0
  1132. package/node_modules/@mistralai/mistralai/esm/models/components/schedulefutureexecution.js +19 -0
  1133. package/node_modules/@mistralai/mistralai/esm/models/components/schedulefutureexecution.js.map +1 -0
  1134. package/node_modules/@mistralai/mistralai/esm/models/components/schedulerecentexecution.d.ts +21 -0
  1135. package/node_modules/@mistralai/mistralai/esm/models/components/schedulerecentexecution.d.ts.map +1 -0
  1136. package/node_modules/@mistralai/mistralai/esm/models/components/schedulerecentexecution.js +23 -0
  1137. package/node_modules/@mistralai/mistralai/esm/models/components/schedulerecentexecution.js.map +1 -0
  1138. package/node_modules/@mistralai/mistralai/esm/models/components/searchindexresponse.d.ts +30 -0
  1139. package/node_modules/@mistralai/mistralai/esm/models/components/searchindexresponse.d.ts.map +1 -0
  1140. package/node_modules/@mistralai/mistralai/esm/models/components/searchindexresponse.js +42 -0
  1141. package/node_modules/@mistralai/mistralai/esm/models/components/searchindexresponse.js.map +1 -0
  1142. package/node_modules/@mistralai/mistralai/esm/models/components/servercapabilities.d.ts +32 -0
  1143. package/node_modules/@mistralai/mistralai/esm/models/components/servercapabilities.d.ts.map +1 -0
  1144. package/node_modules/@mistralai/mistralai/esm/models/components/servercapabilities.js +25 -0
  1145. package/node_modules/@mistralai/mistralai/esm/models/components/servercapabilities.js.map +1 -0
  1146. package/node_modules/@mistralai/mistralai/esm/models/components/serverlocale.d.ts +24 -0
  1147. package/node_modules/@mistralai/mistralai/esm/models/components/serverlocale.d.ts.map +1 -0
  1148. package/node_modules/@mistralai/mistralai/esm/models/components/serverlocale.js +27 -0
  1149. package/node_modules/@mistralai/mistralai/esm/models/components/serverlocale.js.map +1 -0
  1150. package/node_modules/@mistralai/mistralai/esm/models/components/servertaskscapability.d.ts +21 -0
  1151. package/node_modules/@mistralai/mistralai/esm/models/components/servertaskscapability.d.ts.map +1 -0
  1152. package/node_modules/@mistralai/mistralai/esm/models/components/servertaskscapability.js +17 -0
  1153. package/node_modules/@mistralai/mistralai/esm/models/components/servertaskscapability.js.map +1 -0
  1154. package/node_modules/@mistralai/mistralai/esm/models/components/servertasksrequestscapability.d.ts +15 -0
  1155. package/node_modules/@mistralai/mistralai/esm/models/components/servertasksrequestscapability.d.ts.map +1 -0
  1156. package/node_modules/@mistralai/mistralai/esm/models/components/servertasksrequestscapability.js +15 -0
  1157. package/node_modules/@mistralai/mistralai/esm/models/components/servertasksrequestscapability.js.map +1 -0
  1158. package/node_modules/@mistralai/mistralai/esm/models/components/sharing.d.ts +6 -0
  1159. package/node_modules/@mistralai/mistralai/esm/models/components/sharing.d.ts.map +1 -1
  1160. package/node_modules/@mistralai/mistralai/esm/models/components/sharing.js.map +1 -1
  1161. package/node_modules/@mistralai/mistralai/esm/models/components/sharingdelete.d.ts +3 -0
  1162. package/node_modules/@mistralai/mistralai/esm/models/components/sharingdelete.d.ts.map +1 -1
  1163. package/node_modules/@mistralai/mistralai/esm/models/components/sharingdelete.js.map +1 -1
  1164. package/node_modules/@mistralai/mistralai/esm/models/components/sharingrequest.d.ts +3 -0
  1165. package/node_modules/@mistralai/mistralai/esm/models/components/sharingrequest.d.ts.map +1 -1
  1166. package/node_modules/@mistralai/mistralai/esm/models/components/sharingrequest.js.map +1 -1
  1167. package/node_modules/@mistralai/mistralai/esm/models/components/spanevaluationsrequest.d.ts +12 -0
  1168. package/node_modules/@mistralai/mistralai/esm/models/components/spanevaluationsrequest.d.ts.map +1 -0
  1169. package/node_modules/@mistralai/mistralai/esm/models/components/spanevaluationsrequest.js +18 -0
  1170. package/node_modules/@mistralai/mistralai/esm/models/components/spanevaluationsrequest.js.map +1 -0
  1171. package/node_modules/@mistralai/mistralai/esm/models/components/spansrequest.d.ts +12 -0
  1172. package/node_modules/@mistralai/mistralai/esm/models/components/spansrequest.d.ts.map +1 -0
  1173. package/node_modules/@mistralai/mistralai/esm/models/components/spansrequest.js +18 -0
  1174. package/node_modules/@mistralai/mistralai/esm/models/components/spansrequest.js.map +1 -0
  1175. package/node_modules/@mistralai/mistralai/esm/models/components/streamerror.d.ts +10 -0
  1176. package/node_modules/@mistralai/mistralai/esm/models/components/streamerror.d.ts.map +1 -0
  1177. package/node_modules/@mistralai/mistralai/esm/models/components/streamerror.js +15 -0
  1178. package/node_modules/@mistralai/mistralai/esm/models/components/streamerror.js.map +1 -0
  1179. package/node_modules/@mistralai/mistralai/esm/models/components/taskselicitationcapability.d.ts +16 -0
  1180. package/node_modules/@mistralai/mistralai/esm/models/components/taskselicitationcapability.d.ts.map +1 -0
  1181. package/node_modules/@mistralai/mistralai/esm/models/components/taskselicitationcapability.js +14 -0
  1182. package/node_modules/@mistralai/mistralai/esm/models/components/taskselicitationcapability.js.map +1 -0
  1183. package/node_modules/@mistralai/mistralai/esm/models/components/taskssamplingcapability.d.ts +16 -0
  1184. package/node_modules/@mistralai/mistralai/esm/models/components/taskssamplingcapability.d.ts.map +1 -0
  1185. package/node_modules/@mistralai/mistralai/esm/models/components/taskssamplingcapability.js +14 -0
  1186. package/node_modules/@mistralai/mistralai/esm/models/components/taskssamplingcapability.js.map +1 -0
  1187. package/node_modules/@mistralai/mistralai/esm/models/components/taskstoolscapability.d.ts +16 -0
  1188. package/node_modules/@mistralai/mistralai/esm/models/components/taskstoolscapability.d.ts.map +1 -0
  1189. package/node_modules/@mistralai/mistralai/esm/models/components/taskstoolscapability.js +14 -0
  1190. package/node_modules/@mistralai/mistralai/esm/models/components/taskstoolscapability.js.map +1 -0
  1191. package/node_modules/@mistralai/mistralai/esm/models/components/toolexecutionconfiguration.d.ts +43 -0
  1192. package/node_modules/@mistralai/mistralai/esm/models/components/toolexecutionconfiguration.d.ts.map +1 -0
  1193. package/node_modules/@mistralai/mistralai/esm/models/components/toolexecutionconfiguration.js +93 -0
  1194. package/node_modules/@mistralai/mistralai/esm/models/components/toolexecutionconfiguration.js.map +1 -0
  1195. package/node_modules/@mistralai/mistralai/esm/models/components/toolproperties.d.ts +17 -0
  1196. package/node_modules/@mistralai/mistralai/esm/models/components/toolproperties.d.ts.map +1 -0
  1197. package/node_modules/@mistralai/mistralai/esm/models/components/toolproperties.js +30 -0
  1198. package/node_modules/@mistralai/mistralai/esm/models/components/toolproperties.js.map +1 -0
  1199. package/node_modules/@mistralai/mistralai/esm/models/components/toolscapability.d.ts +14 -0
  1200. package/node_modules/@mistralai/mistralai/esm/models/components/toolscapability.d.ts.map +1 -0
  1201. package/node_modules/@mistralai/mistralai/esm/models/components/toolscapability.js +14 -0
  1202. package/node_modules/@mistralai/mistralai/esm/models/components/toolscapability.js.map +1 -0
  1203. package/node_modules/@mistralai/mistralai/esm/models/components/tracesrequest.d.ts +12 -0
  1204. package/node_modules/@mistralai/mistralai/esm/models/components/tracesrequest.d.ts.map +1 -0
  1205. package/node_modules/@mistralai/mistralai/esm/models/components/tracesrequest.js +18 -0
  1206. package/node_modules/@mistralai/mistralai/esm/models/components/tracesrequest.js.map +1 -0
  1207. package/node_modules/@mistralai/mistralai/esm/models/components/turbinemeta.d.ts +12 -0
  1208. package/node_modules/@mistralai/mistralai/esm/models/components/turbinemeta.d.ts.map +1 -0
  1209. package/node_modules/@mistralai/mistralai/esm/models/components/turbinemeta.js +22 -0
  1210. package/node_modules/@mistralai/mistralai/esm/models/components/turbinemeta.js.map +1 -0
  1211. package/node_modules/@mistralai/mistralai/esm/models/components/updateconnectorrequest.d.ts +7 -0
  1212. package/node_modules/@mistralai/mistralai/esm/models/components/updateconnectorrequest.d.ts.map +1 -1
  1213. package/node_modules/@mistralai/mistralai/esm/models/components/updateconnectorrequest.js +2 -0
  1214. package/node_modules/@mistralai/mistralai/esm/models/components/updateconnectorrequest.js.map +1 -1
  1215. package/node_modules/@mistralai/mistralai/esm/models/components/updatedocumentrequest.d.ts +7 -2
  1216. package/node_modules/@mistralai/mistralai/esm/models/components/updatedocumentrequest.d.ts.map +1 -1
  1217. package/node_modules/@mistralai/mistralai/esm/models/components/updatedocumentrequest.js +7 -1
  1218. package/node_modules/@mistralai/mistralai/esm/models/components/updatedocumentrequest.js.map +1 -1
  1219. package/node_modules/@mistralai/mistralai/esm/models/components/updatelibraryrequest.d.ts +2 -2
  1220. package/node_modules/@mistralai/mistralai/esm/models/components/updatelibraryrequest.d.ts.map +1 -1
  1221. package/node_modules/@mistralai/mistralai/esm/models/components/updatelibraryrequest.js +1 -1
  1222. package/node_modules/@mistralai/mistralai/esm/models/components/updatelibraryrequest.js.map +1 -1
  1223. package/node_modules/@mistralai/mistralai/esm/models/components/updateruninfo.d.ts +14 -0
  1224. package/node_modules/@mistralai/mistralai/esm/models/components/updateruninfo.d.ts.map +1 -0
  1225. package/node_modules/@mistralai/mistralai/esm/models/components/updateruninfo.js +20 -0
  1226. package/node_modules/@mistralai/mistralai/esm/models/components/updateruninfo.js.map +1 -0
  1227. package/node_modules/@mistralai/mistralai/esm/models/components/usageinfodollardefs.d.ts +2 -0
  1228. package/node_modules/@mistralai/mistralai/esm/models/components/usageinfodollardefs.d.ts.map +1 -1
  1229. package/node_modules/@mistralai/mistralai/esm/models/components/usageinfodollardefs.js +4 -0
  1230. package/node_modules/@mistralai/mistralai/esm/models/components/usageinfodollardefs.js.map +1 -1
  1231. package/node_modules/@mistralai/mistralai/esm/models/components/vespaschemaresponse.d.ts +11 -0
  1232. package/node_modules/@mistralai/mistralai/esm/models/components/vespaschemaresponse.d.ts.map +1 -0
  1233. package/node_modules/@mistralai/mistralai/esm/models/components/vespaschemaresponse.js +20 -0
  1234. package/node_modules/@mistralai/mistralai/esm/models/components/vespaschemaresponse.js.map +1 -0
  1235. package/node_modules/@mistralai/mistralai/esm/models/components/vespasearchindexinforesponse.d.ts +15 -0
  1236. package/node_modules/@mistralai/mistralai/esm/models/components/vespasearchindexinforesponse.d.ts.map +1 -0
  1237. package/node_modules/@mistralai/mistralai/esm/models/components/vespasearchindexinforesponse.js +26 -0
  1238. package/node_modules/@mistralai/mistralai/esm/models/components/vespasearchindexinforesponse.js.map +1 -0
  1239. package/node_modules/@mistralai/mistralai/esm/models/components/voicecreaterequest.d.ts +2 -0
  1240. package/node_modules/@mistralai/mistralai/esm/models/components/voicecreaterequest.d.ts.map +1 -1
  1241. package/node_modules/@mistralai/mistralai/esm/models/components/voicecreaterequest.js +1 -0
  1242. package/node_modules/@mistralai/mistralai/esm/models/components/voicecreaterequest.js.map +1 -1
  1243. package/node_modules/@mistralai/mistralai/esm/models/components/voiceresponse.d.ts +2 -0
  1244. package/node_modules/@mistralai/mistralai/esm/models/components/voiceresponse.d.ts.map +1 -1
  1245. package/node_modules/@mistralai/mistralai/esm/models/components/voiceresponse.js +3 -0
  1246. package/node_modules/@mistralai/mistralai/esm/models/components/voiceresponse.js.map +1 -1
  1247. package/node_modules/@mistralai/mistralai/esm/models/components/voiceupdaterequest.d.ts +2 -0
  1248. package/node_modules/@mistralai/mistralai/esm/models/components/voiceupdaterequest.d.ts.map +1 -1
  1249. package/node_modules/@mistralai/mistralai/esm/models/components/voiceupdaterequest.js +1 -0
  1250. package/node_modules/@mistralai/mistralai/esm/models/components/voiceupdaterequest.js.map +1 -1
  1251. package/node_modules/@mistralai/mistralai/esm/models/components/workflow.d.ts +4 -4
  1252. package/node_modules/@mistralai/mistralai/esm/models/components/workflow.d.ts.map +1 -1
  1253. package/node_modules/@mistralai/mistralai/esm/models/components/workflow.js +1 -2
  1254. package/node_modules/@mistralai/mistralai/esm/models/components/workflow.js.map +1 -1
  1255. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbasicdefinition.d.ts +4 -0
  1256. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbasicdefinition.d.ts.map +1 -1
  1257. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbasicdefinition.js +1 -0
  1258. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbasicdefinition.js.map +1 -1
  1259. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbulkarchiverequest.d.ts +15 -0
  1260. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbulkarchiverequest.d.ts.map +1 -0
  1261. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbulkarchiverequest.js +18 -0
  1262. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbulkarchiverequest.js.map +1 -0
  1263. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbulkarchiveresponse.d.ts +19 -0
  1264. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbulkarchiveresponse.d.ts.map +1 -0
  1265. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbulkarchiveresponse.js +17 -0
  1266. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbulkarchiveresponse.js.map +1 -0
  1267. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbulkerror.d.ts +22 -0
  1268. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbulkerror.d.ts.map +1 -0
  1269. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbulkerror.js +22 -0
  1270. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbulkerror.js.map +1 -0
  1271. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbulkunarchiverequest.d.ts +15 -0
  1272. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbulkunarchiverequest.d.ts.map +1 -0
  1273. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbulkunarchiverequest.js +18 -0
  1274. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbulkunarchiverequest.js.map +1 -0
  1275. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbulkunarchiveresponse.d.ts +19 -0
  1276. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbulkunarchiveresponse.d.ts.map +1 -0
  1277. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbulkunarchiveresponse.js +17 -0
  1278. package/node_modules/@mistralai/mistralai/esm/models/components/workflowbulkunarchiveresponse.js.map +1 -0
  1279. package/node_modules/@mistralai/mistralai/esm/models/components/workflowcodedefinition.d.ts +4 -0
  1280. package/node_modules/@mistralai/mistralai/esm/models/components/workflowcodedefinition.d.ts.map +1 -1
  1281. package/node_modules/@mistralai/mistralai/esm/models/components/workflowcodedefinition.js +2 -0
  1282. package/node_modules/@mistralai/mistralai/esm/models/components/workflowcodedefinition.js.map +1 -1
  1283. package/node_modules/@mistralai/mistralai/esm/models/components/workflowexecutioncompletedattributesresponse.d.ts +2 -0
  1284. package/node_modules/@mistralai/mistralai/esm/models/components/workflowexecutioncompletedattributesresponse.d.ts.map +1 -1
  1285. package/node_modules/@mistralai/mistralai/esm/models/components/workflowexecutioncompletedattributesresponse.js.map +1 -1
  1286. package/node_modules/@mistralai/mistralai/esm/models/components/workflowexecutioncontinuedasnewattributesresponse.d.ts +2 -0
  1287. package/node_modules/@mistralai/mistralai/esm/models/components/workflowexecutioncontinuedasnewattributesresponse.d.ts.map +1 -1
  1288. package/node_modules/@mistralai/mistralai/esm/models/components/workflowexecutioncontinuedasnewattributesresponse.js.map +1 -1
  1289. package/node_modules/@mistralai/mistralai/esm/models/components/workflowexecutionrequest.d.ts +0 -6
  1290. package/node_modules/@mistralai/mistralai/esm/models/components/workflowexecutionrequest.d.ts.map +1 -1
  1291. package/node_modules/@mistralai/mistralai/esm/models/components/workflowexecutionrequest.js +0 -3
  1292. package/node_modules/@mistralai/mistralai/esm/models/components/workflowexecutionrequest.js.map +1 -1
  1293. package/node_modules/@mistralai/mistralai/esm/models/components/workflowexecutionstartedattributesresponse.d.ts +2 -0
  1294. package/node_modules/@mistralai/mistralai/esm/models/components/workflowexecutionstartedattributesresponse.d.ts.map +1 -1
  1295. package/node_modules/@mistralai/mistralai/esm/models/components/workflowexecutionstartedattributesresponse.js.map +1 -1
  1296. package/node_modules/@mistralai/mistralai/esm/models/components/workflowschedulelistresponse.d.ts +4 -0
  1297. package/node_modules/@mistralai/mistralai/esm/models/components/workflowschedulelistresponse.d.ts.map +1 -1
  1298. package/node_modules/@mistralai/mistralai/esm/models/components/workflowschedulelistresponse.js +6 -0
  1299. package/node_modules/@mistralai/mistralai/esm/models/components/workflowschedulelistresponse.js.map +1 -1
  1300. package/node_modules/@mistralai/mistralai/esm/models/components/workflowschedulepauserequest.d.ts +15 -0
  1301. package/node_modules/@mistralai/mistralai/esm/models/components/workflowschedulepauserequest.d.ts.map +1 -0
  1302. package/node_modules/@mistralai/mistralai/esm/models/components/workflowschedulepauserequest.js +13 -0
  1303. package/node_modules/@mistralai/mistralai/esm/models/components/workflowschedulepauserequest.js.map +1 -0
  1304. package/node_modules/@mistralai/mistralai/esm/models/components/workflowscheduletriggerrequest.d.ts +16 -0
  1305. package/node_modules/@mistralai/mistralai/esm/models/components/workflowscheduletriggerrequest.d.ts.map +1 -0
  1306. package/node_modules/@mistralai/mistralai/esm/models/components/workflowscheduletriggerrequest.js +14 -0
  1307. package/node_modules/@mistralai/mistralai/esm/models/components/workflowscheduletriggerrequest.js.map +1 -0
  1308. package/node_modules/@mistralai/mistralai/esm/models/components/workflowscheduleupdaterequest.d.ts +21 -0
  1309. package/node_modules/@mistralai/mistralai/esm/models/components/workflowscheduleupdaterequest.d.ts.map +1 -0
  1310. package/node_modules/@mistralai/mistralai/esm/models/components/workflowscheduleupdaterequest.js +14 -0
  1311. package/node_modules/@mistralai/mistralai/esm/models/components/workflowscheduleupdaterequest.js.map +1 -0
  1312. package/node_modules/@mistralai/mistralai/esm/models/components/workflowupdaterequest.d.ts +5 -0
  1313. package/node_modules/@mistralai/mistralai/esm/models/components/workflowupdaterequest.d.ts.map +1 -1
  1314. package/node_modules/@mistralai/mistralai/esm/models/components/workflowupdaterequest.js +1 -0
  1315. package/node_modules/@mistralai/mistralai/esm/models/components/workflowupdaterequest.js.map +1 -1
  1316. package/node_modules/@mistralai/mistralai/esm/models/components/workflowwithworkerstatus.d.ts +4 -4
  1317. package/node_modules/@mistralai/mistralai/esm/models/components/workflowwithworkerstatus.d.ts.map +1 -1
  1318. package/node_modules/@mistralai/mistralai/esm/models/components/workflowwithworkerstatus.js +1 -2
  1319. package/node_modules/@mistralai/mistralai/esm/models/components/workflowwithworkerstatus.js.map +1 -1
  1320. package/node_modules/@mistralai/mistralai/esm/models/operations/connectoractivatefororganizationv1.d.ts +15 -0
  1321. package/node_modules/@mistralai/mistralai/esm/models/operations/connectoractivatefororganizationv1.d.ts.map +1 -0
  1322. package/node_modules/@mistralai/mistralai/esm/models/operations/connectoractivatefororganizationv1.js +21 -0
  1323. package/node_modules/@mistralai/mistralai/esm/models/operations/connectoractivatefororganizationv1.js.map +1 -0
  1324. package/node_modules/@mistralai/mistralai/esm/models/operations/connectoractivateforuserv1.d.ts +15 -0
  1325. package/node_modules/@mistralai/mistralai/esm/models/operations/connectoractivateforuserv1.d.ts.map +1 -0
  1326. package/node_modules/@mistralai/mistralai/esm/models/operations/connectoractivateforuserv1.js +21 -0
  1327. package/node_modules/@mistralai/mistralai/esm/models/operations/connectoractivateforuserv1.js.map +1 -0
  1328. package/node_modules/@mistralai/mistralai/esm/models/operations/connectoractivateforworkspacev1.d.ts +15 -0
  1329. package/node_modules/@mistralai/mistralai/esm/models/operations/connectoractivateforworkspacev1.d.ts.map +1 -0
  1330. package/node_modules/@mistralai/mistralai/esm/models/operations/connectoractivateforworkspacev1.js +21 -0
  1331. package/node_modules/@mistralai/mistralai/esm/models/operations/connectoractivateforworkspacev1.js.map +1 -0
  1332. package/node_modules/@mistralai/mistralai/esm/models/operations/connectordeactivatefororganizationv1.d.ts +12 -0
  1333. package/node_modules/@mistralai/mistralai/esm/models/operations/connectordeactivatefororganizationv1.d.ts.map +1 -0
  1334. package/node_modules/@mistralai/mistralai/esm/models/operations/connectordeactivatefororganizationv1.js +18 -0
  1335. package/node_modules/@mistralai/mistralai/esm/models/operations/connectordeactivatefororganizationv1.js.map +1 -0
  1336. package/node_modules/@mistralai/mistralai/esm/models/operations/connectordeactivateforuserv1.d.ts +12 -0
  1337. package/node_modules/@mistralai/mistralai/esm/models/operations/connectordeactivateforuserv1.d.ts.map +1 -0
  1338. package/node_modules/@mistralai/mistralai/esm/models/operations/connectordeactivateforuserv1.js +18 -0
  1339. package/node_modules/@mistralai/mistralai/esm/models/operations/connectordeactivateforuserv1.js.map +1 -0
  1340. package/node_modules/@mistralai/mistralai/esm/models/operations/connectordeactivateforworkspacev1.d.ts +12 -0
  1341. package/node_modules/@mistralai/mistralai/esm/models/operations/connectordeactivateforworkspacev1.d.ts.map +1 -0
  1342. package/node_modules/@mistralai/mistralai/esm/models/operations/connectordeactivateforworkspacev1.js +18 -0
  1343. package/node_modules/@mistralai/mistralai/esm/models/operations/connectordeactivateforworkspacev1.js.map +1 -0
  1344. package/node_modules/@mistralai/mistralai/esm/models/operations/connectorgetauthurlv1.d.ts +11 -0
  1345. package/node_modules/@mistralai/mistralai/esm/models/operations/connectorgetauthurlv1.d.ts.map +1 -1
  1346. package/node_modules/@mistralai/mistralai/esm/models/operations/connectorgetauthurlv1.js +5 -0
  1347. package/node_modules/@mistralai/mistralai/esm/models/operations/connectorgetauthurlv1.js.map +1 -1
  1348. package/node_modules/@mistralai/mistralai/esm/models/operations/connectorgetv1.d.ts +5 -5
  1349. package/node_modules/@mistralai/mistralai/esm/models/operations/connectorgetv1.d.ts.map +1 -1
  1350. package/node_modules/@mistralai/mistralai/esm/models/operations/connectorgetv1.js +2 -2
  1351. package/node_modules/@mistralai/mistralai/esm/models/operations/connectorgetv1.js.map +1 -1
  1352. package/node_modules/@mistralai/mistralai/esm/models/operations/connectorlistorganizationcredentialsv1.d.ts +1 -1
  1353. package/node_modules/@mistralai/mistralai/esm/models/operations/connectorlistorganizationcredentialsv1.d.ts.map +1 -1
  1354. package/node_modules/@mistralai/mistralai/esm/models/operations/connectorlistorganizationcredentialsv1.js +1 -1
  1355. package/node_modules/@mistralai/mistralai/esm/models/operations/connectorlistorganizationcredentialsv1.js.map +1 -1
  1356. package/node_modules/@mistralai/mistralai/esm/models/operations/connectorlistusercredentialsv1.d.ts +1 -1
  1357. package/node_modules/@mistralai/mistralai/esm/models/operations/connectorlistusercredentialsv1.d.ts.map +1 -1
  1358. package/node_modules/@mistralai/mistralai/esm/models/operations/connectorlistusercredentialsv1.js +2 -1
  1359. package/node_modules/@mistralai/mistralai/esm/models/operations/connectorlistusercredentialsv1.js.map +1 -1
  1360. package/node_modules/@mistralai/mistralai/esm/models/operations/connectorlistworkspacecredentialsv1.d.ts +1 -1
  1361. package/node_modules/@mistralai/mistralai/esm/models/operations/connectorlistworkspacecredentialsv1.d.ts.map +1 -1
  1362. package/node_modules/@mistralai/mistralai/esm/models/operations/connectorlistworkspacecredentialsv1.js +1 -1
  1363. package/node_modules/@mistralai/mistralai/esm/models/operations/connectorlistworkspacecredentialsv1.js.map +1 -1
  1364. package/node_modules/@mistralai/mistralai/esm/models/operations/getlogfieldoptionsv1observabilitylogsfieldsfieldnameoptionsget.d.ts +16 -0
  1365. package/node_modules/@mistralai/mistralai/esm/models/operations/getlogfieldoptionsv1observabilitylogsfieldsfieldnameoptionsget.d.ts.map +1 -0
  1366. package/node_modules/@mistralai/mistralai/esm/models/operations/getlogfieldoptionsv1observabilitylogsfieldsfieldnameoptionsget.js +21 -0
  1367. package/node_modules/@mistralai/mistralai/esm/models/operations/getlogfieldoptionsv1observabilitylogsfieldsfieldnameoptionsget.js.map +1 -0
  1368. package/node_modules/@mistralai/mistralai/esm/models/operations/getschedulesv1workflowsschedulesget.d.ts +58 -0
  1369. package/node_modules/@mistralai/mistralai/esm/models/operations/getschedulesv1workflowsschedulesget.d.ts.map +1 -0
  1370. package/node_modules/@mistralai/mistralai/esm/models/operations/getschedulesv1workflowsschedulesget.js +48 -0
  1371. package/node_modules/@mistralai/mistralai/esm/models/operations/getschedulesv1workflowsschedulesget.js.map +1 -0
  1372. package/node_modules/@mistralai/mistralai/esm/models/operations/getschedulev1workflowsschedulesscheduleidget.d.ts +12 -0
  1373. package/node_modules/@mistralai/mistralai/esm/models/operations/getschedulev1workflowsschedulesscheduleidget.d.ts.map +1 -0
  1374. package/node_modules/@mistralai/mistralai/esm/models/operations/getschedulev1workflowsschedulesscheduleidget.js +18 -0
  1375. package/node_modules/@mistralai/mistralai/esm/models/operations/getschedulev1workflowsschedulesscheduleidget.js.map +1 -0
  1376. package/node_modules/@mistralai/mistralai/esm/models/operations/getspanbyidv1observabilitytracestraceidspansspanidget.d.ts +18 -0
  1377. package/node_modules/@mistralai/mistralai/esm/models/operations/getspanbyidv1observabilitytracestraceidspansspanidget.d.ts.map +1 -0
  1378. package/node_modules/@mistralai/mistralai/esm/models/operations/getspanbyidv1observabilitytracestraceidspansspanidget.js +23 -0
  1379. package/node_modules/@mistralai/mistralai/esm/models/operations/getspanbyidv1observabilitytracestraceidspansspanidget.js.map +1 -0
  1380. package/node_modules/@mistralai/mistralai/esm/models/operations/getspanevaluationfieldoptionsv1observabilityspansevaluationsfieldsfieldnameoptionsget.d.ts +16 -0
  1381. package/node_modules/@mistralai/mistralai/esm/models/operations/getspanevaluationfieldoptionsv1observabilityspansevaluationsfieldsfieldnameoptionsget.d.ts.map +1 -0
  1382. package/node_modules/@mistralai/mistralai/esm/models/operations/getspanevaluationfieldoptionsv1observabilityspansevaluationsfieldsfieldnameoptionsget.js +21 -0
  1383. package/node_modules/@mistralai/mistralai/esm/models/operations/getspanevaluationfieldoptionsv1observabilityspansevaluationsfieldsfieldnameoptionsget.js.map +1 -0
  1384. package/node_modules/@mistralai/mistralai/esm/models/operations/getspanfieldoptionsv1observabilityspansfieldsfieldnameoptionsget.d.ts +16 -0
  1385. package/node_modules/@mistralai/mistralai/esm/models/operations/getspanfieldoptionsv1observabilityspansfieldsfieldnameoptionsget.d.ts.map +1 -0
  1386. package/node_modules/@mistralai/mistralai/esm/models/operations/getspanfieldoptionsv1observabilityspansfieldsfieldnameoptionsget.js +21 -0
  1387. package/node_modules/@mistralai/mistralai/esm/models/operations/getspanfieldoptionsv1observabilityspansfieldsfieldnameoptionsget.js.map +1 -0
  1388. package/node_modules/@mistralai/mistralai/esm/models/operations/gettracebyidv1observabilitytracestraceidget.d.ts +12 -0
  1389. package/node_modules/@mistralai/mistralai/esm/models/operations/gettracebyidv1observabilitytracestraceidget.d.ts.map +1 -0
  1390. package/node_modules/@mistralai/mistralai/esm/models/operations/gettracebyidv1observabilitytracestraceidget.js +18 -0
  1391. package/node_modules/@mistralai/mistralai/esm/models/operations/gettracebyidv1observabilitytracestraceidget.js.map +1 -0
  1392. package/node_modules/@mistralai/mistralai/esm/models/operations/gettracefieldoptionsv1observabilitytracesfieldsfieldnameoptionsget.d.ts +16 -0
  1393. package/node_modules/@mistralai/mistralai/esm/models/operations/gettracefieldoptionsv1observabilitytracesfieldsfieldnameoptionsget.d.ts.map +1 -0
  1394. package/node_modules/@mistralai/mistralai/esm/models/operations/gettracefieldoptionsv1observabilitytracesfieldsfieldnameoptionsget.js +21 -0
  1395. package/node_modules/@mistralai/mistralai/esm/models/operations/gettracefieldoptionsv1observabilitytracesfieldsfieldnameoptionsget.js.map +1 -0
  1396. package/node_modules/@mistralai/mistralai/esm/models/operations/gettracespansv1observabilitytracestraceidspansget.d.ts +20 -0
  1397. package/node_modules/@mistralai/mistralai/esm/models/operations/gettracespansv1observabilitytracestraceidspansget.d.ts.map +1 -0
  1398. package/node_modules/@mistralai/mistralai/esm/models/operations/gettracespansv1observabilitytracestraceidspansget.js +24 -0
  1399. package/node_modules/@mistralai/mistralai/esm/models/operations/gettracespansv1observabilitytracestraceidspansget.js.map +1 -0
  1400. package/node_modules/@mistralai/mistralai/esm/models/operations/getworkflowexecutionlogs.d.ts +61 -0
  1401. package/node_modules/@mistralai/mistralai/esm/models/operations/getworkflowexecutionlogs.d.ts.map +1 -0
  1402. package/node_modules/@mistralai/mistralai/esm/models/operations/getworkflowexecutionlogs.js +36 -0
  1403. package/node_modules/@mistralai/mistralai/esm/models/operations/getworkflowexecutionlogs.js.map +1 -0
  1404. package/node_modules/@mistralai/mistralai/esm/models/operations/getworkflowsv1workflowsget.d.ts +71 -3
  1405. package/node_modules/@mistralai/mistralai/esm/models/operations/getworkflowsv1workflowsget.d.ts.map +1 -1
  1406. package/node_modules/@mistralai/mistralai/esm/models/operations/getworkflowsv1workflowsget.js +41 -2
  1407. package/node_modules/@mistralai/mistralai/esm/models/operations/getworkflowsv1workflowsget.js.map +1 -1
  1408. package/node_modules/@mistralai/mistralai/esm/models/operations/index.d.ts +29 -0
  1409. package/node_modules/@mistralai/mistralai/esm/models/operations/index.d.ts.map +1 -1
  1410. package/node_modules/@mistralai/mistralai/esm/models/operations/index.js +29 -0
  1411. package/node_modules/@mistralai/mistralai/esm/models/operations/index.js.map +1 -1
  1412. package/node_modules/@mistralai/mistralai/esm/models/operations/librariesdocumentslistv1.d.ts +5 -0
  1413. package/node_modules/@mistralai/mistralai/esm/models/operations/librariesdocumentslistv1.d.ts.map +1 -1
  1414. package/node_modules/@mistralai/mistralai/esm/models/operations/librariesdocumentslistv1.js.map +1 -1
  1415. package/node_modules/@mistralai/mistralai/esm/models/operations/librariesdocumentspatchv1.d.ts +17 -0
  1416. package/node_modules/@mistralai/mistralai/esm/models/operations/librariesdocumentspatchv1.d.ts.map +1 -0
  1417. package/node_modules/@mistralai/mistralai/esm/models/operations/librariesdocumentspatchv1.js +23 -0
  1418. package/node_modules/@mistralai/mistralai/esm/models/operations/librariesdocumentspatchv1.js.map +1 -0
  1419. package/node_modules/@mistralai/mistralai/esm/models/operations/librarieslistv1.d.ts +3 -1
  1420. package/node_modules/@mistralai/mistralai/esm/models/operations/librarieslistv1.d.ts.map +1 -1
  1421. package/node_modules/@mistralai/mistralai/esm/models/operations/librarieslistv1.js.map +1 -1
  1422. package/node_modules/@mistralai/mistralai/esm/models/operations/librariespatchv1.d.ts +15 -0
  1423. package/node_modules/@mistralai/mistralai/esm/models/operations/librariespatchv1.d.ts.map +1 -0
  1424. package/node_modules/@mistralai/mistralai/esm/models/operations/librariespatchv1.js +21 -0
  1425. package/node_modules/@mistralai/mistralai/esm/models/operations/librariespatchv1.js.map +1 -0
  1426. package/node_modules/@mistralai/mistralai/esm/models/operations/listdeploymentsv1workflowsdeploymentsget.d.ts +25 -0
  1427. package/node_modules/@mistralai/mistralai/esm/models/operations/listdeploymentsv1workflowsdeploymentsget.d.ts.map +1 -1
  1428. package/node_modules/@mistralai/mistralai/esm/models/operations/listdeploymentsv1workflowsdeploymentsget.js +7 -0
  1429. package/node_modules/@mistralai/mistralai/esm/models/operations/listdeploymentsv1workflowsdeploymentsget.js.map +1 -1
  1430. package/node_modules/@mistralai/mistralai/esm/models/operations/listrunsv1workflowsrunsget.d.ts +63 -1
  1431. package/node_modules/@mistralai/mistralai/esm/models/operations/listrunsv1workflowsrunsget.d.ts.map +1 -1
  1432. package/node_modules/@mistralai/mistralai/esm/models/operations/listrunsv1workflowsrunsget.js +34 -0
  1433. package/node_modules/@mistralai/mistralai/esm/models/operations/listrunsv1workflowsrunsget.js.map +1 -1
  1434. package/node_modules/@mistralai/mistralai/esm/models/operations/pauseschedulev1workflowsschedulesscheduleidpausepost.d.ts +15 -0
  1435. package/node_modules/@mistralai/mistralai/esm/models/operations/pauseschedulev1workflowsschedulesscheduleidpausepost.d.ts.map +1 -0
  1436. package/node_modules/@mistralai/mistralai/esm/models/operations/pauseschedulev1workflowsschedulesscheduleidpausepost.js +22 -0
  1437. package/node_modules/@mistralai/mistralai/esm/models/operations/pauseschedulev1workflowsschedulesscheduleidpausepost.js.map +1 -0
  1438. package/node_modules/@mistralai/mistralai/esm/models/operations/resumeschedulev1workflowsschedulesscheduleidresumepost.d.ts +15 -0
  1439. package/node_modules/@mistralai/mistralai/esm/models/operations/resumeschedulev1workflowsschedulesscheduleidresumepost.d.ts.map +1 -0
  1440. package/node_modules/@mistralai/mistralai/esm/models/operations/resumeschedulev1workflowsschedulesscheduleidresumepost.js +22 -0
  1441. package/node_modules/@mistralai/mistralai/esm/models/operations/resumeschedulev1workflowsschedulesscheduleidresumepost.js.map +1 -0
  1442. package/node_modules/@mistralai/mistralai/esm/models/operations/searchlatestspanevaluationsv1observabilityspansevaluationssearchlatestpost.d.ts +21 -0
  1443. package/node_modules/@mistralai/mistralai/esm/models/operations/searchlatestspanevaluationsv1observabilityspansevaluationssearchlatestpost.d.ts.map +1 -0
  1444. package/node_modules/@mistralai/mistralai/esm/models/operations/searchlatestspanevaluationsv1observabilityspansevaluationssearchlatestpost.js +25 -0
  1445. package/node_modules/@mistralai/mistralai/esm/models/operations/searchlatestspanevaluationsv1observabilityspansevaluationssearchlatestpost.js.map +1 -0
  1446. package/node_modules/@mistralai/mistralai/esm/models/operations/searchlogsv1observabilitylogssearchpost.d.ts +21 -0
  1447. package/node_modules/@mistralai/mistralai/esm/models/operations/searchlogsv1observabilitylogssearchpost.d.ts.map +1 -0
  1448. package/node_modules/@mistralai/mistralai/esm/models/operations/searchlogsv1observabilitylogssearchpost.js +24 -0
  1449. package/node_modules/@mistralai/mistralai/esm/models/operations/searchlogsv1observabilitylogssearchpost.js.map +1 -0
  1450. package/node_modules/@mistralai/mistralai/esm/models/operations/searchspanevaluationsv1observabilityspansevaluationssearchpost.d.ts +21 -0
  1451. package/node_modules/@mistralai/mistralai/esm/models/operations/searchspanevaluationsv1observabilityspansevaluationssearchpost.d.ts.map +1 -0
  1452. package/node_modules/@mistralai/mistralai/esm/models/operations/searchspanevaluationsv1observabilityspansevaluationssearchpost.js +25 -0
  1453. package/node_modules/@mistralai/mistralai/esm/models/operations/searchspanevaluationsv1observabilityspansevaluationssearchpost.js.map +1 -0
  1454. package/node_modules/@mistralai/mistralai/esm/models/operations/searchspansv1observabilityspanssearchpost.d.ts +21 -0
  1455. package/node_modules/@mistralai/mistralai/esm/models/operations/searchspansv1observabilityspanssearchpost.d.ts.map +1 -0
  1456. package/node_modules/@mistralai/mistralai/esm/models/operations/searchspansv1observabilityspanssearchpost.js +24 -0
  1457. package/node_modules/@mistralai/mistralai/esm/models/operations/searchspansv1observabilityspanssearchpost.js.map +1 -0
  1458. package/node_modules/@mistralai/mistralai/esm/models/operations/searchtracesv1observabilitytracessearchpost.d.ts +21 -0
  1459. package/node_modules/@mistralai/mistralai/esm/models/operations/searchtracesv1observabilitytracessearchpost.d.ts.map +1 -0
  1460. package/node_modules/@mistralai/mistralai/esm/models/operations/searchtracesv1observabilitytracessearchpost.js +24 -0
  1461. package/node_modules/@mistralai/mistralai/esm/models/operations/searchtracesv1observabilitytracessearchpost.js.map +1 -0
  1462. package/node_modules/@mistralai/mistralai/esm/models/operations/speechv1audiospeechpost.d.ts +3 -3
  1463. package/node_modules/@mistralai/mistralai/esm/models/operations/speechv1audiospeechpost.d.ts.map +1 -1
  1464. package/node_modules/@mistralai/mistralai/esm/models/operations/speechv1audiospeechpost.js +3 -3
  1465. package/node_modules/@mistralai/mistralai/esm/models/operations/speechv1audiospeechpost.js.map +1 -1
  1466. package/node_modules/@mistralai/mistralai/esm/models/operations/streamworkflowexecutionlogs.d.ts +58 -0
  1467. package/node_modules/@mistralai/mistralai/esm/models/operations/streamworkflowexecutionlogs.d.ts.map +1 -0
  1468. package/node_modules/@mistralai/mistralai/esm/models/operations/streamworkflowexecutionlogs.js +70 -0
  1469. package/node_modules/@mistralai/mistralai/esm/models/operations/streamworkflowexecutionlogs.js.map +1 -0
  1470. package/node_modules/@mistralai/mistralai/esm/models/operations/triggerschedulev1workflowsschedulesscheduleidtriggerpost.d.ts +15 -0
  1471. package/node_modules/@mistralai/mistralai/esm/models/operations/triggerschedulev1workflowsschedulesscheduleidtriggerpost.d.ts.map +1 -0
  1472. package/node_modules/@mistralai/mistralai/esm/models/operations/triggerschedulev1workflowsschedulesscheduleidtriggerpost.js +22 -0
  1473. package/node_modules/@mistralai/mistralai/esm/models/operations/triggerschedulev1workflowsschedulesscheduleidtriggerpost.js.map +1 -0
  1474. package/node_modules/@mistralai/mistralai/esm/models/operations/updateruninfov1ragingestionpipelineconfigurationsidruninfoput.d.ts +15 -0
  1475. package/node_modules/@mistralai/mistralai/esm/models/operations/updateruninfov1ragingestionpipelineconfigurationsidruninfoput.d.ts.map +1 -0
  1476. package/node_modules/@mistralai/mistralai/esm/models/operations/updateruninfov1ragingestionpipelineconfigurationsidruninfoput.js +21 -0
  1477. package/node_modules/@mistralai/mistralai/esm/models/operations/updateruninfov1ragingestionpipelineconfigurationsidruninfoput.js.map +1 -0
  1478. package/node_modules/@mistralai/mistralai/esm/models/operations/updateschedulev1workflowsschedulesscheduleidpatch.d.ts +15 -0
  1479. package/node_modules/@mistralai/mistralai/esm/models/operations/updateschedulev1workflowsschedulesscheduleidpatch.d.ts.map +1 -0
  1480. package/node_modules/@mistralai/mistralai/esm/models/operations/updateschedulev1workflowsschedulesscheduleidpatch.js +22 -0
  1481. package/node_modules/@mistralai/mistralai/esm/models/operations/updateschedulev1workflowsschedulesscheduleidpatch.js.map +1 -0
  1482. package/node_modules/@mistralai/mistralai/esm/sdk/accesses.d.ts +1 -1
  1483. package/node_modules/@mistralai/mistralai/esm/sdk/accesses.js +1 -1
  1484. package/node_modules/@mistralai/mistralai/esm/sdk/connectors.d.ts +42 -0
  1485. package/node_modules/@mistralai/mistralai/esm/sdk/connectors.d.ts.map +1 -1
  1486. package/node_modules/@mistralai/mistralai/esm/sdk/connectors.js +60 -0
  1487. package/node_modules/@mistralai/mistralai/esm/sdk/connectors.js.map +1 -1
  1488. package/node_modules/@mistralai/mistralai/esm/sdk/documents.d.ts +10 -1
  1489. package/node_modules/@mistralai/mistralai/esm/sdk/documents.d.ts.map +1 -1
  1490. package/node_modules/@mistralai/mistralai/esm/sdk/documents.js +13 -1
  1491. package/node_modules/@mistralai/mistralai/esm/sdk/documents.js.map +1 -1
  1492. package/node_modules/@mistralai/mistralai/esm/sdk/executions.d.ts +22 -0
  1493. package/node_modules/@mistralai/mistralai/esm/sdk/executions.d.ts.map +1 -1
  1494. package/node_modules/@mistralai/mistralai/esm/sdk/executions.js +28 -0
  1495. package/node_modules/@mistralai/mistralai/esm/sdk/executions.js.map +1 -1
  1496. package/node_modules/@mistralai/mistralai/esm/sdk/ingestionpipelineconfigurations.d.ts +12 -0
  1497. package/node_modules/@mistralai/mistralai/esm/sdk/ingestionpipelineconfigurations.d.ts.map +1 -1
  1498. package/node_modules/@mistralai/mistralai/esm/sdk/ingestionpipelineconfigurations.js +17 -0
  1499. package/node_modules/@mistralai/mistralai/esm/sdk/ingestionpipelineconfigurations.js.map +1 -1
  1500. package/node_modules/@mistralai/mistralai/esm/sdk/libraries.d.ts +11 -2
  1501. package/node_modules/@mistralai/mistralai/esm/sdk/libraries.d.ts.map +1 -1
  1502. package/node_modules/@mistralai/mistralai/esm/sdk/libraries.js +13 -1
  1503. package/node_modules/@mistralai/mistralai/esm/sdk/libraries.js.map +1 -1
  1504. package/node_modules/@mistralai/mistralai/esm/sdk/logs.d.ts +18 -0
  1505. package/node_modules/@mistralai/mistralai/esm/sdk/logs.d.ts.map +1 -0
  1506. package/node_modules/@mistralai/mistralai/esm/sdk/logs.js +30 -0
  1507. package/node_modules/@mistralai/mistralai/esm/sdk/logs.js.map +1 -0
  1508. package/node_modules/@mistralai/mistralai/esm/sdk/observability.d.ts +9 -0
  1509. package/node_modules/@mistralai/mistralai/esm/sdk/observability.d.ts.map +1 -1
  1510. package/node_modules/@mistralai/mistralai/esm/sdk/observability.js +15 -0
  1511. package/node_modules/@mistralai/mistralai/esm/sdk/observability.js.map +1 -1
  1512. package/node_modules/@mistralai/mistralai/esm/sdk/rag.d.ts +3 -0
  1513. package/node_modules/@mistralai/mistralai/esm/sdk/rag.d.ts.map +1 -1
  1514. package/node_modules/@mistralai/mistralai/esm/sdk/rag.js +5 -0
  1515. package/node_modules/@mistralai/mistralai/esm/sdk/rag.js.map +1 -1
  1516. package/node_modules/@mistralai/mistralai/esm/sdk/schedules.d.ts +24 -1
  1517. package/node_modules/@mistralai/mistralai/esm/sdk/schedules.d.ts.map +1 -1
  1518. package/node_modules/@mistralai/mistralai/esm/sdk/schedules.js +38 -2
  1519. package/node_modules/@mistralai/mistralai/esm/sdk/schedules.js.map +1 -1
  1520. package/node_modules/@mistralai/mistralai/esm/sdk/searchindexes.d.ts +13 -0
  1521. package/node_modules/@mistralai/mistralai/esm/sdk/searchindexes.d.ts.map +1 -0
  1522. package/node_modules/@mistralai/mistralai/esm/sdk/searchindexes.js +23 -0
  1523. package/node_modules/@mistralai/mistralai/esm/sdk/searchindexes.js.map +1 -0
  1524. package/node_modules/@mistralai/mistralai/esm/sdk/spans.d.ts +34 -0
  1525. package/node_modules/@mistralai/mistralai/esm/sdk/spans.d.ts.map +1 -0
  1526. package/node_modules/@mistralai/mistralai/esm/sdk/spans.js +58 -0
  1527. package/node_modules/@mistralai/mistralai/esm/sdk/spans.js.map +1 -0
  1528. package/node_modules/@mistralai/mistralai/esm/sdk/traces.d.ts +30 -0
  1529. package/node_modules/@mistralai/mistralai/esm/sdk/traces.d.ts.map +1 -0
  1530. package/node_modules/@mistralai/mistralai/esm/sdk/traces.js +51 -0
  1531. package/node_modules/@mistralai/mistralai/esm/sdk/traces.js.map +1 -0
  1532. package/node_modules/@mistralai/mistralai/esm/sdk/workflows.d.ts +8 -0
  1533. package/node_modules/@mistralai/mistralai/esm/sdk/workflows.d.ts.map +1 -1
  1534. package/node_modules/@mistralai/mistralai/esm/sdk/workflows.js +14 -0
  1535. package/node_modules/@mistralai/mistralai/esm/sdk/workflows.js.map +1 -1
  1536. package/node_modules/@mistralai/mistralai/esm/types/async.d.ts.map +1 -1
  1537. package/node_modules/@mistralai/mistralai/esm/types/async.js +6 -6
  1538. package/node_modules/@mistralai/mistralai/esm/types/async.js.map +1 -1
  1539. package/node_modules/@mistralai/mistralai/examples/src/reasoning.ts +50 -0
  1540. package/node_modules/@mistralai/mistralai/examples/src/reasoning_multi_turn.ts +77 -0
  1541. package/node_modules/@mistralai/mistralai/examples/src/reasoning_response_shape.ts +33 -0
  1542. package/node_modules/@mistralai/mistralai/examples/src/reasoning_with_streaming.ts +68 -0
  1543. package/node_modules/@mistralai/mistralai/jsr.json +1 -1
  1544. package/node_modules/@mistralai/mistralai/package.json +21 -1
  1545. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/funcs/chatComplete.ts +5 -3
  1546. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/funcs/chatStream.ts +5 -3
  1547. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/funcs/ocrProcess.ts +5 -3
  1548. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/lib/config.ts +3 -3
  1549. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/lib/encodings.ts +32 -4
  1550. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/lib/files.ts +22 -0
  1551. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/lib/sdks.ts +10 -11
  1552. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/lib/security.ts +14 -2
  1553. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/lib/url.ts +16 -14
  1554. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/apikeyauth.ts +30 -0
  1555. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/chatcompletionchoice.ts +5 -2
  1556. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/chatcompletionrequest.ts +136 -15
  1557. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/chatcompletionstreamrequest.ts +138 -15
  1558. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/codeinterpretertool.ts +44 -0
  1559. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/customconnector.ts +82 -0
  1560. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/deltamessage.ts +10 -0
  1561. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/documentlibrarytool.ts +51 -0
  1562. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/guardrailconfig.ts +55 -0
  1563. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/imagegenerationtool.ts +44 -0
  1564. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/imageurlchunk.ts +1 -1
  1565. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/index.ts +18 -1
  1566. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/moderationllmaction.ts +18 -0
  1567. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/moderationllmv1categorythresholds.ts +64 -0
  1568. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/moderationllmv1config.ts +70 -0
  1569. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/moderationllmv2categorythresholds.ts +69 -0
  1570. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/moderationllmv2config.ts +70 -0
  1571. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/oauth2tokenauth.ts +32 -0
  1572. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/ocrconfidencescore.ts +52 -0
  1573. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/ocrpageconfidencescores.ts +66 -0
  1574. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/ocrpageobject.ts +15 -0
  1575. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/ocrrequest.ts +42 -7
  1576. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/ocrtableobject.ts +16 -0
  1577. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/reasoningeffort.ts +17 -0
  1578. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/referencechunk.ts +32 -4
  1579. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/thinkchunk.ts +6 -0
  1580. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/tool.ts +3 -4
  1581. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/toolcall.ts +3 -8
  1582. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/toolchoice.ts +2 -3
  1583. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/toolconfiguration.ts +42 -0
  1584. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/toolreferencechunk.ts +11 -7
  1585. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/websearchpremiumtool.ts +44 -0
  1586. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/websearchtool.ts +40 -0
  1587. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/types/async.ts +8 -7
  1588. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/funcs/chatComplete.ts +5 -3
  1589. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/funcs/chatStream.ts +5 -3
  1590. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/funcs/fimComplete.ts +5 -3
  1591. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/funcs/fimStream.ts +5 -3
  1592. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/lib/config.ts +3 -3
  1593. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/lib/encodings.ts +32 -4
  1594. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/lib/files.ts +22 -0
  1595. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/lib/sdks.ts +10 -11
  1596. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/lib/security.ts +14 -2
  1597. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/lib/url.ts +16 -14
  1598. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/apikeyauth.ts +30 -0
  1599. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/chatcompletionchoice.ts +5 -2
  1600. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/chatcompletionrequest.ts +136 -15
  1601. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/chatcompletionstreamrequest.ts +138 -15
  1602. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/codeinterpretertool.ts +44 -0
  1603. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/customconnector.ts +82 -0
  1604. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/deltamessage.ts +10 -0
  1605. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/documentlibrarytool.ts +51 -0
  1606. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/fimcompletionrequest.ts +6 -6
  1607. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/fimcompletionstreamrequest.ts +6 -6
  1608. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/guardrailconfig.ts +55 -0
  1609. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/imagegenerationtool.ts +44 -0
  1610. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/imageurlchunk.ts +1 -1
  1611. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/index.ts +16 -1
  1612. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/moderationllmaction.ts +18 -0
  1613. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/moderationllmv1categorythresholds.ts +64 -0
  1614. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/moderationllmv1config.ts +70 -0
  1615. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/moderationllmv2categorythresholds.ts +69 -0
  1616. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/moderationllmv2config.ts +70 -0
  1617. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/oauth2tokenauth.ts +32 -0
  1618. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/reasoningeffort.ts +17 -0
  1619. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/referencechunk.ts +32 -4
  1620. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/thinkchunk.ts +6 -0
  1621. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/tool.ts +3 -4
  1622. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/toolcall.ts +3 -8
  1623. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/toolchoice.ts +2 -3
  1624. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/toolconfiguration.ts +42 -0
  1625. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/toolreferencechunk.ts +11 -7
  1626. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/websearchpremiumtool.ts +44 -0
  1627. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/websearchtool.ts +40 -0
  1628. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/errors/httpvalidationerror.ts +1 -1
  1629. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/errors/index.ts +1 -1
  1630. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/errors/responsevalidationerror.ts +1 -1
  1631. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/errors/sdkerror.ts +1 -1
  1632. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/types/async.ts +8 -7
  1633. package/node_modules/@mistralai/mistralai/src/extra/observability/formatting.ts +194 -0
  1634. package/node_modules/@mistralai/mistralai/src/extra/observability/index.ts +2 -0
  1635. package/node_modules/@mistralai/mistralai/src/extra/observability/otel.ts +750 -0
  1636. package/node_modules/@mistralai/mistralai/src/extra/observability/streaming.ts +174 -0
  1637. package/node_modules/@mistralai/mistralai/src/extra/structChat.ts +25 -5
  1638. package/node_modules/@mistralai/mistralai/src/funcs/agentsComplete.ts +1 -1
  1639. package/node_modules/@mistralai/mistralai/src/funcs/agentsStream.ts +1 -1
  1640. package/node_modules/@mistralai/mistralai/src/funcs/audioSpeechComplete.ts +1 -1
  1641. package/node_modules/@mistralai/mistralai/src/funcs/audioTranscriptionsComplete.ts +1 -1
  1642. package/node_modules/@mistralai/mistralai/src/funcs/audioTranscriptionsStream.ts +1 -1
  1643. package/node_modules/@mistralai/mistralai/src/funcs/audioVoicesCreate.ts +1 -1
  1644. package/node_modules/@mistralai/mistralai/src/funcs/audioVoicesDelete.ts +1 -1
  1645. package/node_modules/@mistralai/mistralai/src/funcs/audioVoicesGet.ts +1 -1
  1646. package/node_modules/@mistralai/mistralai/src/funcs/audioVoicesGetSampleAudio.ts +1 -1
  1647. package/node_modules/@mistralai/mistralai/src/funcs/audioVoicesList.ts +1 -1
  1648. package/node_modules/@mistralai/mistralai/src/funcs/audioVoicesUpdate.ts +1 -1
  1649. package/node_modules/@mistralai/mistralai/src/funcs/batchJobsCancel.ts +1 -1
  1650. package/node_modules/@mistralai/mistralai/src/funcs/batchJobsCreate.ts +1 -1
  1651. package/node_modules/@mistralai/mistralai/src/funcs/batchJobsDelete.ts +1 -1
  1652. package/node_modules/@mistralai/mistralai/src/funcs/batchJobsGet.ts +1 -1
  1653. package/node_modules/@mistralai/mistralai/src/funcs/batchJobsList.ts +1 -1
  1654. package/node_modules/@mistralai/mistralai/src/funcs/betaAgentsCreate.ts +1 -1
  1655. package/node_modules/@mistralai/mistralai/src/funcs/betaAgentsCreateVersionAlias.ts +1 -1
  1656. package/node_modules/@mistralai/mistralai/src/funcs/betaAgentsDelete.ts +1 -1
  1657. package/node_modules/@mistralai/mistralai/src/funcs/betaAgentsDeleteVersionAlias.ts +1 -1
  1658. package/node_modules/@mistralai/mistralai/src/funcs/betaAgentsGet.ts +1 -1
  1659. package/node_modules/@mistralai/mistralai/src/funcs/betaAgentsGetVersion.ts +1 -1
  1660. package/node_modules/@mistralai/mistralai/src/funcs/betaAgentsList.ts +1 -1
  1661. package/node_modules/@mistralai/mistralai/src/funcs/betaAgentsListVersionAliases.ts +1 -1
  1662. package/node_modules/@mistralai/mistralai/src/funcs/betaAgentsListVersions.ts +1 -1
  1663. package/node_modules/@mistralai/mistralai/src/funcs/betaAgentsUpdate.ts +1 -1
  1664. package/node_modules/@mistralai/mistralai/src/funcs/betaAgentsUpdateVersion.ts +1 -1
  1665. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsActivateForOrganization.ts +186 -0
  1666. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsActivateForUser.ts +184 -0
  1667. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsActivateForWorkspace.ts +186 -0
  1668. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsCallTool.ts +1 -1
  1669. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsCreate.ts +1 -1
  1670. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsCreateOrUpdateOrganizationCredentials.ts +1 -1
  1671. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsCreateOrUpdateUserCredentials.ts +1 -1
  1672. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsCreateOrUpdateWorkspaceCredentials.ts +1 -1
  1673. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsDeactivateForOrganization.ts +182 -0
  1674. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsDeactivateForUser.ts +183 -0
  1675. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsDeactivateForWorkspace.ts +183 -0
  1676. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsDelete.ts +1 -1
  1677. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsDeleteOrganizationCredentials.ts +1 -1
  1678. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsDeleteUserCredentials.ts +1 -1
  1679. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsDeleteWorkspaceCredentials.ts +1 -1
  1680. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsGet.ts +2 -2
  1681. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsGetAuthUrl.ts +3 -1
  1682. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsGetAuthenticationMethods.ts +1 -1
  1683. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsList.ts +1 -1
  1684. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsListOrganizationCredentials.ts +1 -1
  1685. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsListTools.ts +1 -1
  1686. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsListUserCredentials.ts +1 -1
  1687. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsListWorkspaceCredentials.ts +1 -1
  1688. package/node_modules/@mistralai/mistralai/src/funcs/betaConnectorsUpdate.ts +1 -1
  1689. package/node_modules/@mistralai/mistralai/src/funcs/betaConversationsAppend.ts +1 -1
  1690. package/node_modules/@mistralai/mistralai/src/funcs/betaConversationsAppendStream.ts +1 -1
  1691. package/node_modules/@mistralai/mistralai/src/funcs/betaConversationsDelete.ts +1 -1
  1692. package/node_modules/@mistralai/mistralai/src/funcs/betaConversationsGet.ts +1 -1
  1693. package/node_modules/@mistralai/mistralai/src/funcs/betaConversationsGetHistory.ts +1 -1
  1694. package/node_modules/@mistralai/mistralai/src/funcs/betaConversationsGetMessages.ts +1 -1
  1695. package/node_modules/@mistralai/mistralai/src/funcs/betaConversationsList.ts +1 -1
  1696. package/node_modules/@mistralai/mistralai/src/funcs/betaConversationsRestart.ts +1 -1
  1697. package/node_modules/@mistralai/mistralai/src/funcs/betaConversationsRestartStream.ts +1 -1
  1698. package/node_modules/@mistralai/mistralai/src/funcs/betaConversationsStart.ts +1 -1
  1699. package/node_modules/@mistralai/mistralai/src/funcs/betaConversationsStartStream.ts +1 -1
  1700. package/node_modules/@mistralai/mistralai/src/funcs/betaLibrariesAccessesDelete.ts +2 -2
  1701. package/node_modules/@mistralai/mistralai/src/funcs/betaLibrariesAccessesList.ts +1 -1
  1702. package/node_modules/@mistralai/mistralai/src/funcs/betaLibrariesAccessesUpdateOrCreate.ts +1 -1
  1703. package/node_modules/@mistralai/mistralai/src/funcs/betaLibrariesCreate.ts +1 -1
  1704. package/node_modules/@mistralai/mistralai/src/funcs/betaLibrariesDelete.ts +2 -2
  1705. package/node_modules/@mistralai/mistralai/src/funcs/betaLibrariesDocumentsDelete.ts +1 -1
  1706. package/node_modules/@mistralai/mistralai/src/funcs/betaLibrariesDocumentsExtractedTextSignedUrl.ts +1 -1
  1707. package/node_modules/@mistralai/mistralai/src/funcs/betaLibrariesDocumentsGet.ts +1 -1
  1708. package/node_modules/@mistralai/mistralai/src/funcs/betaLibrariesDocumentsGetSignedUrl.ts +1 -1
  1709. package/node_modules/@mistralai/mistralai/src/funcs/betaLibrariesDocumentsLibrariesDocumentsUpdateV1.ts +190 -0
  1710. package/node_modules/@mistralai/mistralai/src/funcs/betaLibrariesDocumentsList.ts +1 -1
  1711. package/node_modules/@mistralai/mistralai/src/funcs/betaLibrariesDocumentsReprocess.ts +1 -1
  1712. package/node_modules/@mistralai/mistralai/src/funcs/betaLibrariesDocumentsStatus.ts +1 -1
  1713. package/node_modules/@mistralai/mistralai/src/funcs/betaLibrariesDocumentsTextContent.ts +1 -1
  1714. package/node_modules/@mistralai/mistralai/src/funcs/betaLibrariesDocumentsUpdate.ts +7 -7
  1715. package/node_modules/@mistralai/mistralai/src/funcs/betaLibrariesDocumentsUpload.ts +1 -1
  1716. package/node_modules/@mistralai/mistralai/src/funcs/betaLibrariesGet.ts +1 -1
  1717. package/node_modules/@mistralai/mistralai/src/funcs/betaLibrariesLibrariesUpdateV1.ts +183 -0
  1718. package/node_modules/@mistralai/mistralai/src/funcs/betaLibrariesList.ts +1 -1
  1719. package/node_modules/@mistralai/mistralai/src/funcs/betaLibrariesUpdate.ts +6 -6
  1720. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityCampaignsCreate.ts +1 -1
  1721. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityCampaignsDelete.ts +1 -1
  1722. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityCampaignsFetch.ts +1 -1
  1723. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityCampaignsFetchStatus.ts +1 -1
  1724. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityCampaignsList.ts +1 -1
  1725. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityCampaignsListEvents.ts +1 -1
  1726. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityChatCompletionEventsFetch.ts +1 -1
  1727. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityChatCompletionEventsFetchSimilarEvents.ts +1 -1
  1728. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityChatCompletionEventsFieldsFetchOptionCounts.ts +1 -1
  1729. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityChatCompletionEventsFieldsFetchOptions.ts +1 -1
  1730. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityChatCompletionEventsFieldsList.ts +1 -1
  1731. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityChatCompletionEventsJudge.ts +1 -1
  1732. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityChatCompletionEventsSearch.ts +1 -1
  1733. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityChatCompletionEventsSearchIds.ts +1 -1
  1734. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityDatasetsCreate.ts +1 -1
  1735. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityDatasetsCreateRecord.ts +1 -1
  1736. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityDatasetsDelete.ts +1 -1
  1737. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityDatasetsExportToJsonl.ts +1 -1
  1738. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityDatasetsFetch.ts +1 -1
  1739. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityDatasetsFetchTask.ts +1 -1
  1740. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityDatasetsImportFromCampaign.ts +1 -1
  1741. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityDatasetsImportFromDatasetRecords.ts +1 -1
  1742. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityDatasetsImportFromExplorer.ts +1 -1
  1743. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityDatasetsImportFromFile.ts +1 -1
  1744. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityDatasetsImportFromPlayground.ts +1 -1
  1745. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityDatasetsList.ts +1 -1
  1746. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityDatasetsListRecords.ts +1 -1
  1747. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityDatasetsListTasks.ts +1 -1
  1748. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityDatasetsRecordsBulkDelete.ts +1 -1
  1749. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityDatasetsRecordsDelete.ts +1 -1
  1750. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityDatasetsRecordsFetch.ts +1 -1
  1751. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityDatasetsRecordsJudge.ts +1 -1
  1752. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityDatasetsRecordsUpdatePayload.ts +1 -1
  1753. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityDatasetsRecordsUpdateProperties.ts +1 -1
  1754. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityDatasetsUpdate.ts +1 -1
  1755. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityJudgesCreate.ts +1 -1
  1756. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityJudgesDelete.ts +1 -1
  1757. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityJudgesFetch.ts +1 -1
  1758. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityJudgesJudgeConversation.ts +1 -1
  1759. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityJudgesList.ts +1 -1
  1760. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityJudgesUpdate.ts +1 -1
  1761. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityLogsFetchOptions.ts +192 -0
  1762. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityLogsList.ts +154 -0
  1763. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityLogsSearch.ts +183 -0
  1764. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilitySpansFetchSpanEvalFieldOptions.ts +192 -0
  1765. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilitySpansFetchSpanFieldOptions.ts +192 -0
  1766. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilitySpansListSpanEvalFields.ts +155 -0
  1767. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilitySpansListSpanFields.ts +154 -0
  1768. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilitySpansSearchLatestSpanEvaluations.ts +191 -0
  1769. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilitySpansSearchSpanEvaluations.ts +189 -0
  1770. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilitySpansSearchSpans.ts +183 -0
  1771. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityTracesFetchOptions.ts +192 -0
  1772. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityTracesGetSpanById.ts +196 -0
  1773. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityTracesGetTraceById.ts +181 -0
  1774. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityTracesGetTraceFields.ts +154 -0
  1775. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityTracesGetTraceSpans.ts +191 -0
  1776. package/node_modules/@mistralai/mistralai/src/funcs/betaObservabilityTracesSearch.ts +184 -0
  1777. package/node_modules/@mistralai/mistralai/src/funcs/betaRagIngestionPipelineConfigurationsList.ts +1 -1
  1778. package/node_modules/@mistralai/mistralai/src/funcs/betaRagIngestionPipelineConfigurationsRegister.ts +174 -0
  1779. package/node_modules/@mistralai/mistralai/src/funcs/betaRagIngestionPipelineConfigurationsUpdateRunInfo.ts +184 -0
  1780. package/node_modules/@mistralai/mistralai/src/funcs/betaRagSearchIndexesList.ts +143 -0
  1781. package/node_modules/@mistralai/mistralai/src/funcs/betaRagSearchIndexesRegister.ts +170 -0
  1782. package/node_modules/@mistralai/mistralai/src/funcs/chatComplete.ts +1 -1
  1783. package/node_modules/@mistralai/mistralai/src/funcs/chatStream.ts +1 -1
  1784. package/node_modules/@mistralai/mistralai/src/funcs/classifiersClassify.ts +1 -1
  1785. package/node_modules/@mistralai/mistralai/src/funcs/classifiersClassifyChat.ts +1 -1
  1786. package/node_modules/@mistralai/mistralai/src/funcs/classifiersModerate.ts +1 -1
  1787. package/node_modules/@mistralai/mistralai/src/funcs/classifiersModerateChat.ts +1 -1
  1788. package/node_modules/@mistralai/mistralai/src/funcs/embeddingsCreate.ts +1 -1
  1789. package/node_modules/@mistralai/mistralai/src/funcs/eventsGetStreamEvents.ts +1 -1
  1790. package/node_modules/@mistralai/mistralai/src/funcs/eventsGetWorkflowEvents.ts +1 -1
  1791. package/node_modules/@mistralai/mistralai/src/funcs/filesDelete.ts +1 -1
  1792. package/node_modules/@mistralai/mistralai/src/funcs/filesDownload.ts +1 -1
  1793. package/node_modules/@mistralai/mistralai/src/funcs/filesGetSignedUrl.ts +1 -1
  1794. package/node_modules/@mistralai/mistralai/src/funcs/filesList.ts +1 -1
  1795. package/node_modules/@mistralai/mistralai/src/funcs/filesRetrieve.ts +1 -1
  1796. package/node_modules/@mistralai/mistralai/src/funcs/filesUpload.ts +1 -1
  1797. package/node_modules/@mistralai/mistralai/src/funcs/fimComplete.ts +1 -1
  1798. package/node_modules/@mistralai/mistralai/src/funcs/fimStream.ts +1 -1
  1799. package/node_modules/@mistralai/mistralai/src/funcs/fineTuningJobsCancel.ts +1 -1
  1800. package/node_modules/@mistralai/mistralai/src/funcs/fineTuningJobsCreate.ts +1 -1
  1801. package/node_modules/@mistralai/mistralai/src/funcs/fineTuningJobsGet.ts +1 -1
  1802. package/node_modules/@mistralai/mistralai/src/funcs/fineTuningJobsList.ts +1 -1
  1803. package/node_modules/@mistralai/mistralai/src/funcs/fineTuningJobsStart.ts +1 -1
  1804. package/node_modules/@mistralai/mistralai/src/funcs/modelsArchive.ts +1 -1
  1805. package/node_modules/@mistralai/mistralai/src/funcs/modelsDelete.ts +1 -1
  1806. package/node_modules/@mistralai/mistralai/src/funcs/modelsList.ts +1 -1
  1807. package/node_modules/@mistralai/mistralai/src/funcs/modelsRetrieve.ts +1 -1
  1808. package/node_modules/@mistralai/mistralai/src/funcs/modelsUnarchive.ts +1 -1
  1809. package/node_modules/@mistralai/mistralai/src/funcs/modelsUpdate.ts +1 -1
  1810. package/node_modules/@mistralai/mistralai/src/funcs/ocrProcess.ts +1 -1
  1811. package/node_modules/@mistralai/mistralai/src/funcs/workflowsArchiveWorkflow.ts +1 -1
  1812. package/node_modules/@mistralai/mistralai/src/funcs/workflowsBulkArchiveWorkflows.ts +170 -0
  1813. package/node_modules/@mistralai/mistralai/src/funcs/workflowsBulkUnarchiveWorkflows.ts +170 -0
  1814. package/node_modules/@mistralai/mistralai/src/funcs/workflowsDeploymentsGetDeployment.ts +1 -1
  1815. package/node_modules/@mistralai/mistralai/src/funcs/workflowsDeploymentsListDeployments.ts +6 -1
  1816. package/node_modules/@mistralai/mistralai/src/funcs/workflowsExecuteWorkflow.ts +1 -1
  1817. package/node_modules/@mistralai/mistralai/src/funcs/workflowsExecuteWorkflowRegistration.ts +1 -1
  1818. package/node_modules/@mistralai/mistralai/src/funcs/workflowsExecutionsBatchCancelWorkflowExecutions.ts +1 -1
  1819. package/node_modules/@mistralai/mistralai/src/funcs/workflowsExecutionsBatchTerminateWorkflowExecutions.ts +1 -1
  1820. package/node_modules/@mistralai/mistralai/src/funcs/workflowsExecutionsCancelWorkflowExecution.ts +1 -1
  1821. package/node_modules/@mistralai/mistralai/src/funcs/workflowsExecutionsGetWorkflowExecution.ts +1 -1
  1822. package/node_modules/@mistralai/mistralai/src/funcs/workflowsExecutionsGetWorkflowExecutionHistory.ts +1 -1
  1823. package/node_modules/@mistralai/mistralai/src/funcs/workflowsExecutionsGetWorkflowExecutionLogs.ts +197 -0
  1824. package/node_modules/@mistralai/mistralai/src/funcs/workflowsExecutionsGetWorkflowExecutionTraceEvents.ts +1 -1
  1825. package/node_modules/@mistralai/mistralai/src/funcs/workflowsExecutionsGetWorkflowExecutionTraceOtel.ts +1 -1
  1826. package/node_modules/@mistralai/mistralai/src/funcs/workflowsExecutionsGetWorkflowExecutionTraceSummary.ts +1 -1
  1827. package/node_modules/@mistralai/mistralai/src/funcs/workflowsExecutionsQueryWorkflowExecution.ts +1 -1
  1828. package/node_modules/@mistralai/mistralai/src/funcs/workflowsExecutionsResetWorkflow.ts +1 -1
  1829. package/node_modules/@mistralai/mistralai/src/funcs/workflowsExecutionsSignalWorkflowExecution.ts +1 -1
  1830. package/node_modules/@mistralai/mistralai/src/funcs/workflowsExecutionsStream.ts +1 -1
  1831. package/node_modules/@mistralai/mistralai/src/funcs/workflowsExecutionsStreamWorkflowExecutionLogs.ts +207 -0
  1832. package/node_modules/@mistralai/mistralai/src/funcs/workflowsExecutionsTerminateWorkflowExecution.ts +1 -1
  1833. package/node_modules/@mistralai/mistralai/src/funcs/workflowsExecutionsUpdateWorkflowExecution.ts +1 -1
  1834. package/node_modules/@mistralai/mistralai/src/funcs/workflowsGetWorkflow.ts +1 -1
  1835. package/node_modules/@mistralai/mistralai/src/funcs/workflowsGetWorkflowRegistration.ts +1 -1
  1836. package/node_modules/@mistralai/mistralai/src/funcs/workflowsGetWorkflowRegistrations.ts +1 -1
  1837. package/node_modules/@mistralai/mistralai/src/funcs/workflowsGetWorkflows.ts +7 -1
  1838. package/node_modules/@mistralai/mistralai/src/funcs/workflowsMetricsGetWorkflowMetrics.ts +1 -1
  1839. package/node_modules/@mistralai/mistralai/src/funcs/workflowsRunsGetRun.ts +1 -1
  1840. package/node_modules/@mistralai/mistralai/src/funcs/workflowsRunsGetRunHistory.ts +1 -1
  1841. package/node_modules/@mistralai/mistralai/src/funcs/workflowsRunsListRuns.ts +8 -1
  1842. package/node_modules/@mistralai/mistralai/src/funcs/workflowsSchedulesGetSchedule.ts +178 -0
  1843. package/node_modules/@mistralai/mistralai/src/funcs/workflowsSchedulesGetSchedules.ts +141 -30
  1844. package/node_modules/@mistralai/mistralai/src/funcs/workflowsSchedulesPauseSchedule.ts +186 -0
  1845. package/node_modules/@mistralai/mistralai/src/funcs/workflowsSchedulesResumeSchedule.ts +186 -0
  1846. package/node_modules/@mistralai/mistralai/src/funcs/workflowsSchedulesScheduleWorkflow.ts +1 -1
  1847. package/node_modules/@mistralai/mistralai/src/funcs/workflowsSchedulesTriggerSchedule.ts +186 -0
  1848. package/node_modules/@mistralai/mistralai/src/funcs/workflowsSchedulesUnscheduleWorkflow.ts +1 -1
  1849. package/node_modules/@mistralai/mistralai/src/funcs/workflowsSchedulesUpdateSchedule.ts +181 -0
  1850. package/node_modules/@mistralai/mistralai/src/funcs/workflowsUnarchiveWorkflow.ts +1 -1
  1851. package/node_modules/@mistralai/mistralai/src/funcs/workflowsUpdateWorkflow.ts +1 -1
  1852. package/node_modules/@mistralai/mistralai/src/hooks/deprecation_warning.ts +1 -2
  1853. package/node_modules/@mistralai/mistralai/src/hooks/registration.ts +6 -0
  1854. package/node_modules/@mistralai/mistralai/src/hooks/tracing.ts +173 -0
  1855. package/node_modules/@mistralai/mistralai/src/lib/config.ts +3 -3
  1856. package/node_modules/@mistralai/mistralai/src/models/components/activitytaskcompletedattributesresponse.ts +2 -0
  1857. package/node_modules/@mistralai/mistralai/src/models/components/activitytaskstartedattributesresponse.ts +2 -0
  1858. package/node_modules/@mistralai/mistralai/src/models/components/agentscompletionrequest.ts +4 -0
  1859. package/node_modules/@mistralai/mistralai/src/models/components/agentscompletionstreamrequest.ts +4 -0
  1860. package/node_modules/@mistralai/mistralai/src/models/components/authdata.ts +3 -3
  1861. package/node_modules/@mistralai/mistralai/src/models/components/authenticationconfiguration.ts +14 -5
  1862. package/node_modules/@mistralai/mistralai/src/models/components/authstatus.ts +19 -0
  1863. package/node_modules/@mistralai/mistralai/src/models/components/basefielddefinition.ts +19 -13
  1864. package/node_modules/@mistralai/mistralai/src/models/components/chatcompletionevent.ts +7 -9
  1865. package/node_modules/@mistralai/mistralai/src/models/components/chatcompletioneventpreview.ts +7 -9
  1866. package/node_modules/@mistralai/mistralai/src/models/components/chatcompletionrequest.ts +4 -0
  1867. package/node_modules/@mistralai/mistralai/src/models/components/chatcompletionstreamrequest.ts +4 -0
  1868. package/node_modules/@mistralai/mistralai/src/models/components/classifierfinetuningjob.ts +1 -1
  1869. package/node_modules/@mistralai/mistralai/src/models/components/classifierfinetuningjobdetails.ts +42 -0
  1870. package/node_modules/@mistralai/mistralai/src/models/components/classifiertrainingparameters.ts +12 -0
  1871. package/node_modules/@mistralai/mistralai/src/models/components/clientcapabilities.ts +60 -0
  1872. package/node_modules/@mistralai/mistralai/src/models/components/clienttaskscapability.ts +43 -0
  1873. package/node_modules/@mistralai/mistralai/src/models/components/clienttasksrequestscapability.ts +45 -0
  1874. package/node_modules/@mistralai/mistralai/src/models/components/completionfinetuningjob.ts +1 -1
  1875. package/node_modules/@mistralai/mistralai/src/models/components/completionfinetuningjobdetails.ts +42 -0
  1876. package/node_modules/@mistralai/mistralai/src/models/components/completiontokensdetails.ts +39 -0
  1877. package/node_modules/@mistralai/mistralai/src/models/components/completiontrainingparameters.ts +12 -0
  1878. package/node_modules/@mistralai/mistralai/src/models/components/connectionconfigtype.ts +21 -0
  1879. package/node_modules/@mistralai/mistralai/src/models/components/connectioncredentials.ts +4 -0
  1880. package/node_modules/@mistralai/mistralai/src/models/components/connectionpreference.ts +49 -0
  1881. package/node_modules/@mistralai/mistralai/src/models/components/connector.ts +88 -3
  1882. package/node_modules/@mistralai/mistralai/src/models/components/connectorlocale.ts +40 -0
  1883. package/node_modules/@mistralai/mistralai/src/models/components/connectorprotocol.ts +21 -0
  1884. package/node_modules/@mistralai/mistralai/src/models/components/connectorsqueryfilters.ts +0 -11
  1885. package/node_modules/@mistralai/mistralai/src/models/components/consumertype.ts +20 -0
  1886. package/node_modules/@mistralai/mistralai/src/models/components/createbatchjobrequest.ts +8 -1
  1887. package/node_modules/@mistralai/mistralai/src/models/components/createconnectorrequest.ts +32 -0
  1888. package/node_modules/@mistralai/mistralai/src/models/components/createingestionpipelineconfigurationrequest.ts +44 -0
  1889. package/node_modules/@mistralai/mistralai/src/models/components/createlibraryrequest.ts +5 -0
  1890. package/node_modules/@mistralai/mistralai/src/models/components/createsearchindexinforequest.ts +89 -0
  1891. package/node_modules/@mistralai/mistralai/src/models/components/createvespaschemarequest.ts +39 -0
  1892. package/node_modules/@mistralai/mistralai/src/models/components/createvespasearchindexinforequest.ts +57 -0
  1893. package/node_modules/@mistralai/mistralai/src/models/components/credentialsresponse.ts +7 -5
  1894. package/node_modules/@mistralai/mistralai/src/models/components/credentialsstatus.ts +49 -0
  1895. package/node_modules/@mistralai/mistralai/src/models/components/customtaskcompletedattributesresponse.ts +2 -0
  1896. package/node_modules/@mistralai/mistralai/src/models/components/customtaskstartedattributesresponse.ts +2 -0
  1897. package/node_modules/@mistralai/mistralai/src/models/components/deletemodelresponse.ts +2 -2
  1898. package/node_modules/@mistralai/mistralai/src/models/components/deploymentdetailresponse.ts +6 -0
  1899. package/node_modules/@mistralai/mistralai/src/models/components/deploymentlistresponse.ts +16 -0
  1900. package/node_modules/@mistralai/mistralai/src/models/components/deploymentresponse.ts +6 -0
  1901. package/node_modules/@mistralai/mistralai/src/models/components/document.ts +20 -0
  1902. package/node_modules/@mistralai/mistralai/src/models/components/elicitationcapability.ts +41 -0
  1903. package/node_modules/@mistralai/mistralai/src/models/components/encodedpayloadoptions.ts +13 -5
  1904. package/node_modules/@mistralai/mistralai/src/models/components/encryptedpatchvalue.ts +43 -0
  1905. package/node_modules/@mistralai/mistralai/src/models/components/executionlogrecord.ts +49 -0
  1906. package/node_modules/@mistralai/mistralai/src/models/components/executionlogsearchresponse.ts +42 -0
  1907. package/node_modules/@mistralai/mistralai/src/models/components/extendedoauthservermetadata.ts +163 -0
  1908. package/node_modules/@mistralai/mistralai/src/models/components/feedresultgetlog.ts +36 -0
  1909. package/node_modules/@mistralai/mistralai/src/models/components/feedresultgetspan.ts +36 -0
  1910. package/node_modules/@mistralai/mistralai/src/models/components/feedresultgetspanevaluation.ts +39 -0
  1911. package/node_modules/@mistralai/mistralai/src/models/components/feedresultgettrace.ts +36 -0
  1912. package/node_modules/@mistralai/mistralai/src/models/components/fimcompletionrequest.ts +4 -0
  1913. package/node_modules/@mistralai/mistralai/src/models/components/fimcompletionstreamrequest.ts +4 -0
  1914. package/node_modules/@mistralai/mistralai/src/models/components/getlog.ts +88 -0
  1915. package/node_modules/@mistralai/mistralai/src/models/components/getlogfieldoptions.ts +31 -0
  1916. package/node_modules/@mistralai/mistralai/src/models/components/getlogfields.ts +38 -0
  1917. package/node_modules/@mistralai/mistralai/src/models/components/getlogs.ts +32 -0
  1918. package/node_modules/@mistralai/mistralai/src/models/components/getspan.ts +222 -0
  1919. package/node_modules/@mistralai/mistralai/src/models/components/getspanevaluation.ts +72 -0
  1920. package/node_modules/@mistralai/mistralai/src/models/components/getspanevaluationfieldoptions.ts +31 -0
  1921. package/node_modules/@mistralai/mistralai/src/models/components/getspanevaluationfields.ts +40 -0
  1922. package/node_modules/@mistralai/mistralai/src/models/components/getspanevaluations.ts +40 -0
  1923. package/node_modules/@mistralai/mistralai/src/models/components/getspanfieldoptions.ts +31 -0
  1924. package/node_modules/@mistralai/mistralai/src/models/components/getspanfields.ts +38 -0
  1925. package/node_modules/@mistralai/mistralai/src/models/components/getspans.ts +32 -0
  1926. package/node_modules/@mistralai/mistralai/src/models/components/gettrace.ts +145 -0
  1927. package/node_modules/@mistralai/mistralai/src/models/components/gettracefieldoptions.ts +31 -0
  1928. package/node_modules/@mistralai/mistralai/src/models/components/gettracefields.ts +38 -0
  1929. package/node_modules/@mistralai/mistralai/src/models/components/gettraces.ts +32 -0
  1930. package/node_modules/@mistralai/mistralai/src/models/components/httpstatus.ts +120 -0
  1931. package/node_modules/@mistralai/mistralai/src/models/components/index.ts +93 -1
  1932. package/node_modules/@mistralai/mistralai/src/models/components/ingestionpipelineconfiguration.ts +17 -0
  1933. package/node_modules/@mistralai/mistralai/src/models/components/jobmetadata.ts +18 -0
  1934. package/node_modules/@mistralai/mistralai/src/models/components/jsonpatch.ts +50 -0
  1935. package/node_modules/@mistralai/mistralai/src/models/components/jsonpatchappend.ts +29 -3
  1936. package/node_modules/@mistralai/mistralai/src/models/components/jsonpatchpayloadresponse.ts +19 -57
  1937. package/node_modules/@mistralai/mistralai/src/models/components/jsonpatchpayloadvalueresponse.ts +29 -0
  1938. package/node_modules/@mistralai/mistralai/src/models/components/jsonpayloadresponse.ts +18 -1
  1939. package/node_modules/@mistralai/mistralai/src/models/components/library.ts +17 -0
  1940. package/node_modules/@mistralai/mistralai/src/models/components/logicalexpression.ts +132 -0
  1941. package/node_modules/@mistralai/mistralai/src/models/components/logsrequest.ts +45 -0
  1942. package/node_modules/@mistralai/mistralai/src/models/components/mcpprompt.ts +49 -0
  1943. package/node_modules/@mistralai/mistralai/src/models/components/mcpresource.ts +53 -0
  1944. package/node_modules/@mistralai/mistralai/src/models/components/mcpserverauthenticationrequirement.ts +43 -0
  1945. package/node_modules/@mistralai/mistralai/src/models/components/mcpservercard.ts +162 -0
  1946. package/node_modules/@mistralai/mistralai/src/models/components/mcpservercardmeta.ts +45 -0
  1947. package/node_modules/@mistralai/mistralai/src/models/components/mcpservercardtool.ts +60 -0
  1948. package/node_modules/@mistralai/mistralai/src/models/components/mcpserverremote.ts +77 -0
  1949. package/node_modules/@mistralai/mistralai/src/models/components/mcpserverremoteheader.ts +50 -0
  1950. package/node_modules/@mistralai/mistralai/src/models/components/mcpserverrepository.ts +44 -0
  1951. package/node_modules/@mistralai/mistralai/src/models/components/observabilityerrorcode.ts +0 -1
  1952. package/node_modules/@mistralai/mistralai/src/models/components/ocrrequest.ts +0 -3
  1953. package/node_modules/@mistralai/mistralai/src/models/components/otelfielddefinition.ts +102 -0
  1954. package/node_modules/@mistralai/mistralai/src/models/components/outboundauthenticationtype.ts +30 -0
  1955. package/node_modules/@mistralai/mistralai/src/models/components/partialscheduledefinition.ts +128 -0
  1956. package/node_modules/@mistralai/mistralai/src/models/components/processingstatus.ts +3 -0
  1957. package/node_modules/@mistralai/mistralai/src/models/components/promptargument.ts +37 -0
  1958. package/node_modules/@mistralai/mistralai/src/models/components/promptscapability.ts +35 -0
  1959. package/node_modules/@mistralai/mistralai/src/models/components/prompttokensdetails.ts +3 -0
  1960. package/node_modules/@mistralai/mistralai/src/models/components/publicauthenticationmethod.ts +9 -6
  1961. package/node_modules/@mistralai/mistralai/src/models/components/publicconnectionconfig.ts +46 -0
  1962. package/node_modules/@mistralai/mistralai/src/models/components/reasoningeffort.ts +4 -0
  1963. package/node_modules/@mistralai/mistralai/src/models/components/referencechunk.ts +8 -8
  1964. package/node_modules/@mistralai/mistralai/src/models/components/resourcescapability.ts +37 -0
  1965. package/node_modules/@mistralai/mistralai/src/models/components/resourcetype.ts +20 -0
  1966. package/node_modules/@mistralai/mistralai/src/models/components/rootscapability.ts +35 -0
  1967. package/node_modules/@mistralai/mistralai/src/models/components/samplingcapability.ts +37 -0
  1968. package/node_modules/@mistralai/mistralai/src/models/components/scheduledefinition.ts +7 -0
  1969. package/node_modules/@mistralai/mistralai/src/models/components/scheduledefinitionoutput.ts +42 -0
  1970. package/node_modules/@mistralai/mistralai/src/models/components/schedulefutureexecution.ts +39 -0
  1971. package/node_modules/@mistralai/mistralai/src/models/components/schedulerecentexecution.ts +51 -0
  1972. package/node_modules/@mistralai/mistralai/src/models/components/searchindexresponse.ts +91 -0
  1973. package/node_modules/@mistralai/mistralai/src/models/components/servercapabilities.ts +64 -0
  1974. package/node_modules/@mistralai/mistralai/src/models/components/serverlocale.ts +45 -0
  1975. package/node_modules/@mistralai/mistralai/src/models/components/servertaskscapability.ts +43 -0
  1976. package/node_modules/@mistralai/mistralai/src/models/components/servertasksrequestscapability.ts +39 -0
  1977. package/node_modules/@mistralai/mistralai/src/models/components/sharing.ts +6 -0
  1978. package/node_modules/@mistralai/mistralai/src/models/components/sharingdelete.ts +3 -0
  1979. package/node_modules/@mistralai/mistralai/src/models/components/sharingrequest.ts +3 -0
  1980. package/node_modules/@mistralai/mistralai/src/models/components/spanevaluationsrequest.ts +36 -0
  1981. package/node_modules/@mistralai/mistralai/src/models/components/spansrequest.ts +32 -0
  1982. package/node_modules/@mistralai/mistralai/src/models/components/streamerror.ts +29 -0
  1983. package/node_modules/@mistralai/mistralai/src/models/components/taskselicitationcapability.ts +35 -0
  1984. package/node_modules/@mistralai/mistralai/src/models/components/taskssamplingcapability.ts +35 -0
  1985. package/node_modules/@mistralai/mistralai/src/models/components/taskstoolscapability.ts +35 -0
  1986. package/node_modules/@mistralai/mistralai/src/models/components/toolexecutionconfiguration.ts +224 -0
  1987. package/node_modules/@mistralai/mistralai/src/models/components/toolproperties.ts +53 -0
  1988. package/node_modules/@mistralai/mistralai/src/models/components/toolscapability.ts +35 -0
  1989. package/node_modules/@mistralai/mistralai/src/models/components/tracesrequest.ts +32 -0
  1990. package/node_modules/@mistralai/mistralai/src/models/components/turbinemeta.ts +37 -0
  1991. package/node_modules/@mistralai/mistralai/src/models/components/updateconnectorrequest.ts +9 -0
  1992. package/node_modules/@mistralai/mistralai/src/models/components/updatedocumentrequest.ts +14 -3
  1993. package/node_modules/@mistralai/mistralai/src/models/components/updatelibraryrequest.ts +3 -3
  1994. package/node_modules/@mistralai/mistralai/src/models/components/updateruninfo.ts +36 -0
  1995. package/node_modules/@mistralai/mistralai/src/models/components/usageinfodollardefs.ts +8 -0
  1996. package/node_modules/@mistralai/mistralai/src/models/components/vespaschemaresponse.ts +38 -0
  1997. package/node_modules/@mistralai/mistralai/src/models/components/vespasearchindexinforesponse.ts +50 -0
  1998. package/node_modules/@mistralai/mistralai/src/models/components/voicecreaterequest.ts +3 -0
  1999. package/node_modules/@mistralai/mistralai/src/models/components/voiceresponse.ts +5 -0
  2000. package/node_modules/@mistralai/mistralai/src/models/components/voiceupdaterequest.ts +3 -0
  2001. package/node_modules/@mistralai/mistralai/src/models/components/workflow.ts +5 -6
  2002. package/node_modules/@mistralai/mistralai/src/models/components/workflowbasicdefinition.ts +5 -0
  2003. package/node_modules/@mistralai/mistralai/src/models/components/workflowbulkarchiverequest.ts +39 -0
  2004. package/node_modules/@mistralai/mistralai/src/models/components/workflowbulkarchiveresponse.ts +44 -0
  2005. package/node_modules/@mistralai/mistralai/src/models/components/workflowbulkerror.ts +50 -0
  2006. package/node_modules/@mistralai/mistralai/src/models/components/workflowbulkunarchiverequest.ts +41 -0
  2007. package/node_modules/@mistralai/mistralai/src/models/components/workflowbulkunarchiveresponse.ts +44 -0
  2008. package/node_modules/@mistralai/mistralai/src/models/components/workflowcodedefinition.ts +6 -0
  2009. package/node_modules/@mistralai/mistralai/src/models/components/workflowexecutioncompletedattributesresponse.ts +2 -0
  2010. package/node_modules/@mistralai/mistralai/src/models/components/workflowexecutioncontinuedasnewattributesresponse.ts +2 -0
  2011. package/node_modules/@mistralai/mistralai/src/models/components/workflowexecutionrequest.ts +0 -12
  2012. package/node_modules/@mistralai/mistralai/src/models/components/workflowexecutionstartedattributesresponse.ts +2 -0
  2013. package/node_modules/@mistralai/mistralai/src/models/components/workflowschedulelistresponse.ts +10 -0
  2014. package/node_modules/@mistralai/mistralai/src/models/components/workflowschedulepauserequest.ts +36 -0
  2015. package/node_modules/@mistralai/mistralai/src/models/components/workflowscheduletriggerrequest.ts +40 -0
  2016. package/node_modules/@mistralai/mistralai/src/models/components/workflowscheduleupdaterequest.ts +46 -0
  2017. package/node_modules/@mistralai/mistralai/src/models/components/workflowupdaterequest.ts +6 -0
  2018. package/node_modules/@mistralai/mistralai/src/models/components/workflowwithworkerstatus.ts +5 -6
  2019. package/node_modules/@mistralai/mistralai/src/models/operations/connectoractivatefororganizationv1.ts +53 -0
  2020. package/node_modules/@mistralai/mistralai/src/models/operations/connectoractivateforuserv1.ts +51 -0
  2021. package/node_modules/@mistralai/mistralai/src/models/operations/connectoractivateforworkspacev1.ts +52 -0
  2022. package/node_modules/@mistralai/mistralai/src/models/operations/connectordeactivatefororganizationv1.ts +40 -0
  2023. package/node_modules/@mistralai/mistralai/src/models/operations/connectordeactivateforuserv1.ts +38 -0
  2024. package/node_modules/@mistralai/mistralai/src/models/operations/connectordeactivateforworkspacev1.ts +39 -0
  2025. package/node_modules/@mistralai/mistralai/src/models/operations/connectorgetauthurlv1.ts +15 -0
  2026. package/node_modules/@mistralai/mistralai/src/models/operations/connectorgetv1.ts +7 -7
  2027. package/node_modules/@mistralai/mistralai/src/models/operations/connectorlistorganizationcredentialsv1.ts +2 -2
  2028. package/node_modules/@mistralai/mistralai/src/models/operations/connectorlistusercredentialsv1.ts +3 -2
  2029. package/node_modules/@mistralai/mistralai/src/models/operations/connectorlistworkspacecredentialsv1.ts +2 -2
  2030. package/node_modules/@mistralai/mistralai/src/models/operations/getlogfieldoptionsv1observabilitylogsfieldsfieldnameoptionsget.ts +49 -0
  2031. package/node_modules/@mistralai/mistralai/src/models/operations/getschedulesv1workflowsschedulesget.ts +126 -0
  2032. package/node_modules/@mistralai/mistralai/src/models/operations/getschedulev1workflowsschedulesscheduleidget.ts +40 -0
  2033. package/node_modules/@mistralai/mistralai/src/models/operations/getspanbyidv1observabilitytracestraceidspansspanidget.ts +50 -0
  2034. package/node_modules/@mistralai/mistralai/src/models/operations/getspanevaluationfieldoptionsv1observabilityspansevaluationsfieldsfieldnameoptionsget.ts +49 -0
  2035. package/node_modules/@mistralai/mistralai/src/models/operations/getspanfieldoptionsv1observabilityspansfieldsfieldnameoptionsget.ts +49 -0
  2036. package/node_modules/@mistralai/mistralai/src/models/operations/gettracebyidv1observabilitytracestraceidget.ts +40 -0
  2037. package/node_modules/@mistralai/mistralai/src/models/operations/gettracefieldoptionsv1observabilitytracesfieldsfieldnameoptionsget.ts +49 -0
  2038. package/node_modules/@mistralai/mistralai/src/models/operations/gettracespansv1observabilitytracestraceidspansget.ts +53 -0
  2039. package/node_modules/@mistralai/mistralai/src/models/operations/getworkflowexecutionlogs.ts +102 -0
  2040. package/node_modules/@mistralai/mistralai/src/models/operations/getworkflowsv1workflowsget.ts +122 -5
  2041. package/node_modules/@mistralai/mistralai/src/models/operations/index.ts +29 -0
  2042. package/node_modules/@mistralai/mistralai/src/models/operations/librariesdocumentslistv1.ts +5 -0
  2043. package/node_modules/@mistralai/mistralai/src/models/operations/librariesdocumentspatchv1.ts +47 -0
  2044. package/node_modules/@mistralai/mistralai/src/models/operations/librarieslistv1.ts +3 -1
  2045. package/node_modules/@mistralai/mistralai/src/models/operations/librariespatchv1.ts +41 -0
  2046. package/node_modules/@mistralai/mistralai/src/models/operations/listdeploymentsv1workflowsdeploymentsget.ts +32 -0
  2047. package/node_modules/@mistralai/mistralai/src/models/operations/listrunsv1workflowsrunsget.ts +87 -1
  2048. package/node_modules/@mistralai/mistralai/src/models/operations/pauseschedulev1workflowsschedulesscheduleidpausepost.ts +53 -0
  2049. package/node_modules/@mistralai/mistralai/src/models/operations/resumeschedulev1workflowsschedulesscheduleidresumepost.ts +53 -0
  2050. package/node_modules/@mistralai/mistralai/src/models/operations/searchlatestspanevaluationsv1observabilityspansevaluationssearchlatestpost.ts +57 -0
  2051. package/node_modules/@mistralai/mistralai/src/models/operations/searchlogsv1observabilitylogssearchpost.ts +54 -0
  2052. package/node_modules/@mistralai/mistralai/src/models/operations/searchspanevaluationsv1observabilityspansevaluationssearchpost.ts +57 -0
  2053. package/node_modules/@mistralai/mistralai/src/models/operations/searchspansv1observabilityspanssearchpost.ts +54 -0
  2054. package/node_modules/@mistralai/mistralai/src/models/operations/searchtracesv1observabilitytracessearchpost.ts +54 -0
  2055. package/node_modules/@mistralai/mistralai/src/models/operations/speechv1audiospeechpost.ts +12 -12
  2056. package/node_modules/@mistralai/mistralai/src/models/operations/streamworkflowexecutionlogs.ts +157 -0
  2057. package/node_modules/@mistralai/mistralai/src/models/operations/triggerschedulev1workflowsschedulesscheduleidtriggerpost.ts +53 -0
  2058. package/node_modules/@mistralai/mistralai/src/models/operations/updateruninfov1ragingestionpipelineconfigurationsidruninfoput.ts +47 -0
  2059. package/node_modules/@mistralai/mistralai/src/models/operations/updateschedulev1workflowsschedulesscheduleidpatch.ts +47 -0
  2060. package/node_modules/@mistralai/mistralai/src/sdk/accesses.ts +1 -1
  2061. package/node_modules/@mistralai/mistralai/src/sdk/connectors.ts +108 -0
  2062. package/node_modules/@mistralai/mistralai/src/sdk/documents.ts +22 -2
  2063. package/node_modules/@mistralai/mistralai/src/sdk/executions.ts +44 -0
  2064. package/node_modules/@mistralai/mistralai/src/sdk/ingestionpipelineconfigurations.ts +35 -0
  2065. package/node_modules/@mistralai/mistralai/src/sdk/libraries.ts +22 -2
  2066. package/node_modules/@mistralai/mistralai/src/sdk/logs.ts +55 -0
  2067. package/node_modules/@mistralai/mistralai/src/sdk/observability.ts +18 -0
  2068. package/node_modules/@mistralai/mistralai/src/sdk/rag.ts +6 -0
  2069. package/node_modules/@mistralai/mistralai/src/sdk/schedules.ts +89 -2
  2070. package/node_modules/@mistralai/mistralai/src/sdk/searchindexes.ts +38 -0
  2071. package/node_modules/@mistralai/mistralai/src/sdk/spans.ts +116 -0
  2072. package/node_modules/@mistralai/mistralai/src/sdk/traces.ts +102 -0
  2073. package/node_modules/@mistralai/mistralai/src/sdk/workflows.ts +30 -0
  2074. package/node_modules/@mistralai/mistralai/src/types/async.ts +8 -7
  2075. package/node_modules/@mistralai/mistralai/tests/extra/observability/customProvider.test.ts +98 -0
  2076. package/node_modules/@mistralai/mistralai/tests/extra/observability/formatting.test.ts +111 -0
  2077. package/node_modules/@mistralai/mistralai/tests/extra/observability/helpers.ts +62 -0
  2078. package/node_modules/@mistralai/mistralai/tests/extra/observability/otel.test.ts +453 -0
  2079. package/node_modules/@mistralai/mistralai/tests/extra/observability/streaming.test.ts +94 -0
  2080. package/node_modules/@mistralai/mistralai/tests/extra/structChat.test.ts +131 -0
  2081. package/node_modules/@opentelemetry/api/LICENSE +201 -0
  2082. package/node_modules/@opentelemetry/api/README.md +116 -0
  2083. package/node_modules/@opentelemetry/api/build/esm/api/context.d.ts +41 -0
  2084. package/node_modules/@opentelemetry/api/build/esm/api/context.js +110 -0
  2085. package/node_modules/@opentelemetry/api/build/esm/api/context.js.map +1 -0
  2086. package/node_modules/@opentelemetry/api/build/esm/api/diag.d.ts +30 -0
  2087. package/node_modules/@opentelemetry/api/build/esm/api/diag.js +121 -0
  2088. package/node_modules/@opentelemetry/api/build/esm/api/diag.js.map +1 -0
  2089. package/node_modules/@opentelemetry/api/build/esm/api/metrics.d.ts +28 -0
  2090. package/node_modules/@opentelemetry/api/build/esm/api/metrics.js +60 -0
  2091. package/node_modules/@opentelemetry/api/build/esm/api/metrics.js.map +1 -0
  2092. package/node_modules/@opentelemetry/api/build/esm/api/propagation.d.ts +49 -0
  2093. package/node_modules/@opentelemetry/api/build/esm/api/propagation.js +89 -0
  2094. package/node_modules/@opentelemetry/api/build/esm/api/propagation.js.map +1 -0
  2095. package/node_modules/@opentelemetry/api/build/esm/api/trace.d.ts +40 -0
  2096. package/node_modules/@opentelemetry/api/build/esm/api/trace.js +77 -0
  2097. package/node_modules/@opentelemetry/api/build/esm/api/trace.js.map +1 -0
  2098. package/node_modules/@opentelemetry/api/build/esm/baggage/context-helpers.d.ts +29 -0
  2099. package/node_modules/@opentelemetry/api/build/esm/baggage/context-helpers.js +56 -0
  2100. package/node_modules/@opentelemetry/api/build/esm/baggage/context-helpers.js.map +1 -0
  2101. package/node_modules/@opentelemetry/api/build/esm/baggage/internal/baggage-impl.d.ts +12 -0
  2102. package/node_modules/@opentelemetry/api/build/esm/baggage/internal/baggage-impl.js +98 -0
  2103. package/node_modules/@opentelemetry/api/build/esm/baggage/internal/baggage-impl.js.map +1 -0
  2104. package/node_modules/@opentelemetry/api/build/esm/baggage/internal/symbol.d.ts +5 -0
  2105. package/node_modules/@opentelemetry/api/build/esm/baggage/internal/symbol.js +20 -0
  2106. package/node_modules/@opentelemetry/api/build/esm/baggage/internal/symbol.js.map +1 -0
  2107. package/node_modules/@opentelemetry/api/build/esm/baggage/types.d.ts +60 -0
  2108. package/node_modules/@opentelemetry/api/build/esm/baggage/types.js +17 -0
  2109. package/node_modules/@opentelemetry/api/build/esm/baggage/types.js.map +1 -0
  2110. package/node_modules/@opentelemetry/api/build/esm/baggage/utils.d.ts +15 -0
  2111. package/node_modules/@opentelemetry/api/build/esm/baggage/utils.js +47 -0
  2112. package/node_modules/@opentelemetry/api/build/esm/baggage/utils.js.map +1 -0
  2113. package/node_modules/@opentelemetry/api/build/esm/common/Attributes.d.ts +15 -0
  2114. package/node_modules/@opentelemetry/api/build/esm/common/Attributes.js +17 -0
  2115. package/node_modules/@opentelemetry/api/build/esm/common/Attributes.js.map +1 -0
  2116. package/node_modules/@opentelemetry/api/build/esm/common/Exception.d.ts +26 -0
  2117. package/node_modules/@opentelemetry/api/build/esm/common/Exception.js +17 -0
  2118. package/node_modules/@opentelemetry/api/build/esm/common/Exception.js.map +1 -0
  2119. package/node_modules/@opentelemetry/api/build/esm/common/Time.d.ts +20 -0
  2120. package/node_modules/@opentelemetry/api/build/esm/common/Time.js +2 -0
  2121. package/node_modules/@opentelemetry/api/build/esm/common/Time.js.map +1 -0
  2122. package/node_modules/@opentelemetry/api/build/esm/context/NoopContextManager.d.ts +9 -0
  2123. package/node_modules/@opentelemetry/api/build/esm/context/NoopContextManager.js +67 -0
  2124. package/node_modules/@opentelemetry/api/build/esm/context/NoopContextManager.js.map +1 -0
  2125. package/node_modules/@opentelemetry/api/build/esm/context/context.d.ts +6 -0
  2126. package/node_modules/@opentelemetry/api/build/esm/context/context.js +52 -0
  2127. package/node_modules/@opentelemetry/api/build/esm/context/context.js.map +1 -0
  2128. package/node_modules/@opentelemetry/api/build/esm/context/types.d.ts +52 -0
  2129. package/node_modules/@opentelemetry/api/build/esm/context/types.js +17 -0
  2130. package/node_modules/@opentelemetry/api/build/esm/context/types.js.map +1 -0
  2131. package/node_modules/@opentelemetry/api/build/esm/context-api.d.ts +4 -0
  2132. package/node_modules/@opentelemetry/api/build/esm/context-api.js +21 -0
  2133. package/node_modules/@opentelemetry/api/build/esm/context-api.js.map +1 -0
  2134. package/node_modules/@opentelemetry/api/build/esm/diag/ComponentLogger.d.ts +20 -0
  2135. package/node_modules/@opentelemetry/api/build/esm/diag/ComponentLogger.js +102 -0
  2136. package/node_modules/@opentelemetry/api/build/esm/diag/ComponentLogger.js.map +1 -0
  2137. package/node_modules/@opentelemetry/api/build/esm/diag/consoleLogger.d.ts +38 -0
  2138. package/node_modules/@opentelemetry/api/build/esm/diag/consoleLogger.js +59 -0
  2139. package/node_modules/@opentelemetry/api/build/esm/diag/consoleLogger.js.map +1 -0
  2140. package/node_modules/@opentelemetry/api/build/esm/diag/internal/logLevelLogger.d.ts +3 -0
  2141. package/node_modules/@opentelemetry/api/build/esm/diag/internal/logLevelLogger.js +41 -0
  2142. package/node_modules/@opentelemetry/api/build/esm/diag/internal/logLevelLogger.js.map +1 -0
  2143. package/node_modules/@opentelemetry/api/build/esm/diag/internal/noopLogger.d.ts +8 -0
  2144. package/node_modules/@opentelemetry/api/build/esm/diag/internal/noopLogger.js +31 -0
  2145. package/node_modules/@opentelemetry/api/build/esm/diag/internal/noopLogger.js.map +1 -0
  2146. package/node_modules/@opentelemetry/api/build/esm/diag/types.d.ts +100 -0
  2147. package/node_modules/@opentelemetry/api/build/esm/diag/types.js +41 -0
  2148. package/node_modules/@opentelemetry/api/build/esm/diag/types.js.map +1 -0
  2149. package/node_modules/@opentelemetry/api/build/esm/diag-api.d.ts +9 -0
  2150. package/node_modules/@opentelemetry/api/build/esm/diag-api.js +26 -0
  2151. package/node_modules/@opentelemetry/api/build/esm/diag-api.js.map +1 -0
  2152. package/node_modules/@opentelemetry/api/build/esm/experimental/index.d.ts +3 -0
  2153. package/node_modules/@opentelemetry/api/build/esm/experimental/index.js +17 -0
  2154. package/node_modules/@opentelemetry/api/build/esm/experimental/index.js.map +1 -0
  2155. package/node_modules/@opentelemetry/api/build/esm/experimental/trace/SugaredOptions.d.ts +13 -0
  2156. package/node_modules/@opentelemetry/api/build/esm/experimental/trace/SugaredOptions.js +17 -0
  2157. package/node_modules/@opentelemetry/api/build/esm/experimental/trace/SugaredOptions.js.map +1 -0
  2158. package/node_modules/@opentelemetry/api/build/esm/experimental/trace/SugaredTracer.d.ts +64 -0
  2159. package/node_modules/@opentelemetry/api/build/esm/experimental/trace/SugaredTracer.js +92 -0
  2160. package/node_modules/@opentelemetry/api/build/esm/experimental/trace/SugaredTracer.js.map +1 -0
  2161. package/node_modules/@opentelemetry/api/build/esm/index.d.ts +54 -0
  2162. package/node_modules/@opentelemetry/api/build/esm/index.js +53 -0
  2163. package/node_modules/@opentelemetry/api/build/esm/index.js.map +1 -0
  2164. package/node_modules/@opentelemetry/api/build/esm/internal/global-utils.d.ts +18 -0
  2165. package/node_modules/@opentelemetry/api/build/esm/internal/global-utils.js +59 -0
  2166. package/node_modules/@opentelemetry/api/build/esm/internal/global-utils.js.map +1 -0
  2167. package/node_modules/@opentelemetry/api/build/esm/internal/semver.d.ts +34 -0
  2168. package/node_modules/@opentelemetry/api/build/esm/internal/semver.js +118 -0
  2169. package/node_modules/@opentelemetry/api/build/esm/internal/semver.js.map +1 -0
  2170. package/node_modules/@opentelemetry/api/build/esm/metrics/Meter.d.ts +110 -0
  2171. package/node_modules/@opentelemetry/api/build/esm/metrics/Meter.js +17 -0
  2172. package/node_modules/@opentelemetry/api/build/esm/metrics/Meter.js.map +1 -0
  2173. package/node_modules/@opentelemetry/api/build/esm/metrics/MeterProvider.d.ts +17 -0
  2174. package/node_modules/@opentelemetry/api/build/esm/metrics/MeterProvider.js +17 -0
  2175. package/node_modules/@opentelemetry/api/build/esm/metrics/MeterProvider.js.map +1 -0
  2176. package/node_modules/@opentelemetry/api/build/esm/metrics/Metric.d.ts +115 -0
  2177. package/node_modules/@opentelemetry/api/build/esm/metrics/Metric.js +22 -0
  2178. package/node_modules/@opentelemetry/api/build/esm/metrics/Metric.js.map +1 -0
  2179. package/node_modules/@opentelemetry/api/build/esm/metrics/NoopMeter.d.ts +82 -0
  2180. package/node_modules/@opentelemetry/api/build/esm/metrics/NoopMeter.js +181 -0
  2181. package/node_modules/@opentelemetry/api/build/esm/metrics/NoopMeter.js.map +1 -0
  2182. package/node_modules/@opentelemetry/api/build/esm/metrics/NoopMeterProvider.d.ts +11 -0
  2183. package/node_modules/@opentelemetry/api/build/esm/metrics/NoopMeterProvider.js +31 -0
  2184. package/node_modules/@opentelemetry/api/build/esm/metrics/NoopMeterProvider.js.map +1 -0
  2185. package/node_modules/@opentelemetry/api/build/esm/metrics/ObservableResult.d.ts +31 -0
  2186. package/node_modules/@opentelemetry/api/build/esm/metrics/ObservableResult.js +17 -0
  2187. package/node_modules/@opentelemetry/api/build/esm/metrics/ObservableResult.js.map +1 -0
  2188. package/node_modules/@opentelemetry/api/build/esm/metrics-api.d.ts +4 -0
  2189. package/node_modules/@opentelemetry/api/build/esm/metrics-api.js +21 -0
  2190. package/node_modules/@opentelemetry/api/build/esm/metrics-api.js.map +1 -0
  2191. package/node_modules/@opentelemetry/api/build/esm/platform/browser/globalThis.d.ts +10 -0
  2192. package/node_modules/@opentelemetry/api/build/esm/platform/browser/globalThis.js +35 -0
  2193. package/node_modules/@opentelemetry/api/build/esm/platform/browser/globalThis.js.map +1 -0
  2194. package/node_modules/@opentelemetry/api/build/esm/platform/browser/index.d.ts +2 -0
  2195. package/node_modules/@opentelemetry/api/build/esm/platform/browser/index.js +17 -0
  2196. package/node_modules/@opentelemetry/api/build/esm/platform/browser/index.js.map +1 -0
  2197. package/node_modules/@opentelemetry/api/build/esm/platform/index.d.ts +2 -0
  2198. package/node_modules/@opentelemetry/api/build/esm/platform/index.js +17 -0
  2199. package/node_modules/@opentelemetry/api/build/esm/platform/index.js.map +1 -0
  2200. package/node_modules/@opentelemetry/api/build/esm/platform/node/globalThis.d.ts +3 -0
  2201. package/node_modules/@opentelemetry/api/build/esm/platform/node/globalThis.js +19 -0
  2202. package/node_modules/@opentelemetry/api/build/esm/platform/node/globalThis.js.map +1 -0
  2203. package/node_modules/@opentelemetry/api/build/esm/platform/node/index.d.ts +2 -0
  2204. package/node_modules/@opentelemetry/api/build/esm/platform/node/index.js +17 -0
  2205. package/node_modules/@opentelemetry/api/build/esm/platform/node/index.js.map +1 -0
  2206. package/node_modules/@opentelemetry/api/build/esm/propagation/NoopTextMapPropagator.d.ts +13 -0
  2207. package/node_modules/@opentelemetry/api/build/esm/propagation/NoopTextMapPropagator.js +34 -0
  2208. package/node_modules/@opentelemetry/api/build/esm/propagation/NoopTextMapPropagator.js.map +1 -0
  2209. package/node_modules/@opentelemetry/api/build/esm/propagation/TextMapPropagator.d.ts +84 -0
  2210. package/node_modules/@opentelemetry/api/build/esm/propagation/TextMapPropagator.js +38 -0
  2211. package/node_modules/@opentelemetry/api/build/esm/propagation/TextMapPropagator.js.map +1 -0
  2212. package/node_modules/@opentelemetry/api/build/esm/propagation-api.d.ts +4 -0
  2213. package/node_modules/@opentelemetry/api/build/esm/propagation-api.js +21 -0
  2214. package/node_modules/@opentelemetry/api/build/esm/propagation-api.js.map +1 -0
  2215. package/node_modules/@opentelemetry/api/build/esm/trace/NonRecordingSpan.d.ts +28 -0
  2216. package/node_modules/@opentelemetry/api/build/esm/trace/NonRecordingSpan.js +68 -0
  2217. package/node_modules/@opentelemetry/api/build/esm/trace/NonRecordingSpan.js.map +1 -0
  2218. package/node_modules/@opentelemetry/api/build/esm/trace/NoopTracer.d.ts +14 -0
  2219. package/node_modules/@opentelemetry/api/build/esm/trace/NoopTracer.js +76 -0
  2220. package/node_modules/@opentelemetry/api/build/esm/trace/NoopTracer.js.map +1 -0
  2221. package/node_modules/@opentelemetry/api/build/esm/trace/NoopTracerProvider.d.ts +13 -0
  2222. package/node_modules/@opentelemetry/api/build/esm/trace/NoopTracerProvider.js +32 -0
  2223. package/node_modules/@opentelemetry/api/build/esm/trace/NoopTracerProvider.js.map +1 -0
  2224. package/node_modules/@opentelemetry/api/build/esm/trace/ProxyTracer.d.ts +27 -0
  2225. package/node_modules/@opentelemetry/api/build/esm/trace/ProxyTracer.js +53 -0
  2226. package/node_modules/@opentelemetry/api/build/esm/trace/ProxyTracer.js.map +1 -0
  2227. package/node_modules/@opentelemetry/api/build/esm/trace/ProxyTracerProvider.d.ts +25 -0
  2228. package/node_modules/@opentelemetry/api/build/esm/trace/ProxyTracerProvider.js +54 -0
  2229. package/node_modules/@opentelemetry/api/build/esm/trace/ProxyTracerProvider.js.map +1 -0
  2230. package/node_modules/@opentelemetry/api/build/esm/trace/Sampler.d.ts +31 -0
  2231. package/node_modules/@opentelemetry/api/build/esm/trace/Sampler.js +17 -0
  2232. package/node_modules/@opentelemetry/api/build/esm/trace/Sampler.js.map +1 -0
  2233. package/node_modules/@opentelemetry/api/build/esm/trace/SamplingResult.d.ts +49 -0
  2234. package/node_modules/@opentelemetry/api/build/esm/trace/SamplingResult.js +39 -0
  2235. package/node_modules/@opentelemetry/api/build/esm/trace/SamplingResult.js.map +1 -0
  2236. package/node_modules/@opentelemetry/api/build/esm/trace/SpanOptions.d.ts +23 -0
  2237. package/node_modules/@opentelemetry/api/build/esm/trace/SpanOptions.js +17 -0
  2238. package/node_modules/@opentelemetry/api/build/esm/trace/SpanOptions.js.map +1 -0
  2239. package/node_modules/@opentelemetry/api/build/esm/trace/attributes.d.ts +10 -0
  2240. package/node_modules/@opentelemetry/api/build/esm/trace/attributes.js +17 -0
  2241. package/node_modules/@opentelemetry/api/build/esm/trace/attributes.js.map +1 -0
  2242. package/node_modules/@opentelemetry/api/build/esm/trace/context-utils.d.ts +41 -0
  2243. package/node_modules/@opentelemetry/api/build/esm/trace/context-utils.js +73 -0
  2244. package/node_modules/@opentelemetry/api/build/esm/trace/context-utils.js.map +1 -0
  2245. package/node_modules/@opentelemetry/api/build/esm/trace/internal/tracestate-impl.d.ts +22 -0
  2246. package/node_modules/@opentelemetry/api/build/esm/trace/internal/tracestate-impl.js +102 -0
  2247. package/node_modules/@opentelemetry/api/build/esm/trace/internal/tracestate-impl.js.map +1 -0
  2248. package/node_modules/@opentelemetry/api/build/esm/trace/internal/tracestate-validators.d.ts +15 -0
  2249. package/node_modules/@opentelemetry/api/build/esm/trace/internal/tracestate-validators.js +41 -0
  2250. package/node_modules/@opentelemetry/api/build/esm/trace/internal/tracestate-validators.js.map +1 -0
  2251. package/node_modules/@opentelemetry/api/build/esm/trace/internal/utils.d.ts +3 -0
  2252. package/node_modules/@opentelemetry/api/build/esm/trace/internal/utils.js +20 -0
  2253. package/node_modules/@opentelemetry/api/build/esm/trace/internal/utils.js.map +1 -0
  2254. package/node_modules/@opentelemetry/api/build/esm/trace/invalid-span-constants.d.ts +5 -0
  2255. package/node_modules/@opentelemetry/api/build/esm/trace/invalid-span-constants.js +24 -0
  2256. package/node_modules/@opentelemetry/api/build/esm/trace/invalid-span-constants.js.map +1 -0
  2257. package/node_modules/@opentelemetry/api/build/esm/trace/link.d.ts +26 -0
  2258. package/node_modules/@opentelemetry/api/build/esm/trace/link.js +17 -0
  2259. package/node_modules/@opentelemetry/api/build/esm/trace/link.js.map +1 -0
  2260. package/node_modules/@opentelemetry/api/build/esm/trace/span.d.ts +120 -0
  2261. package/node_modules/@opentelemetry/api/build/esm/trace/span.js +17 -0
  2262. package/node_modules/@opentelemetry/api/build/esm/trace/span.js.map +1 -0
  2263. package/node_modules/@opentelemetry/api/build/esm/trace/span_context.d.ts +53 -0
  2264. package/node_modules/@opentelemetry/api/build/esm/trace/span_context.js +17 -0
  2265. package/node_modules/@opentelemetry/api/build/esm/trace/span_context.js.map +1 -0
  2266. package/node_modules/@opentelemetry/api/build/esm/trace/span_kind.d.ts +27 -0
  2267. package/node_modules/@opentelemetry/api/build/esm/trace/span_kind.js +43 -0
  2268. package/node_modules/@opentelemetry/api/build/esm/trace/span_kind.js.map +1 -0
  2269. package/node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.d.ts +17 -0
  2270. package/node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.js +42 -0
  2271. package/node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.js.map +1 -0
  2272. package/node_modules/@opentelemetry/api/build/esm/trace/status.d.ts +25 -0
  2273. package/node_modules/@opentelemetry/api/build/esm/trace/status.js +20 -0
  2274. package/node_modules/@opentelemetry/api/build/esm/trace/status.js.map +1 -0
  2275. package/node_modules/@opentelemetry/api/build/esm/trace/trace_flags.d.ts +7 -0
  2276. package/node_modules/@opentelemetry/api/build/esm/trace/trace_flags.js +23 -0
  2277. package/node_modules/@opentelemetry/api/build/esm/trace/trace_flags.js.map +1 -0
  2278. package/node_modules/@opentelemetry/api/build/esm/trace/trace_state.d.ts +38 -0
  2279. package/node_modules/@opentelemetry/api/build/esm/trace/trace_state.js +17 -0
  2280. package/node_modules/@opentelemetry/api/build/esm/trace/trace_state.js.map +1 -0
  2281. package/node_modules/@opentelemetry/api/build/esm/trace/tracer.d.ts +71 -0
  2282. package/node_modules/@opentelemetry/api/build/esm/trace/tracer.js +17 -0
  2283. package/node_modules/@opentelemetry/api/build/esm/trace/tracer.js.map +1 -0
  2284. package/node_modules/@opentelemetry/api/build/esm/trace/tracer_options.d.ts +10 -0
  2285. package/node_modules/@opentelemetry/api/build/esm/trace/tracer_options.js +17 -0
  2286. package/node_modules/@opentelemetry/api/build/esm/trace/tracer_options.js.map +1 -0
  2287. package/node_modules/@opentelemetry/api/build/esm/trace/tracer_provider.d.ts +21 -0
  2288. package/node_modules/@opentelemetry/api/build/esm/trace/tracer_provider.js +17 -0
  2289. package/node_modules/@opentelemetry/api/build/esm/trace/tracer_provider.js.map +1 -0
  2290. package/node_modules/@opentelemetry/api/build/esm/trace-api.d.ts +4 -0
  2291. package/node_modules/@opentelemetry/api/build/esm/trace-api.js +21 -0
  2292. package/node_modules/@opentelemetry/api/build/esm/trace-api.js.map +1 -0
  2293. package/node_modules/@opentelemetry/api/build/esm/version.d.ts +2 -0
  2294. package/node_modules/@opentelemetry/api/build/esm/version.js +18 -0
  2295. package/node_modules/@opentelemetry/api/build/esm/version.js.map +1 -0
  2296. package/node_modules/@opentelemetry/api/build/esnext/api/context.d.ts +41 -0
  2297. package/node_modules/@opentelemetry/api/build/esnext/api/context.js +77 -0
  2298. package/node_modules/@opentelemetry/api/build/esnext/api/context.js.map +1 -0
  2299. package/node_modules/@opentelemetry/api/build/esnext/api/diag.d.ts +30 -0
  2300. package/node_modules/@opentelemetry/api/build/esnext/api/diag.js +89 -0
  2301. package/node_modules/@opentelemetry/api/build/esnext/api/diag.js.map +1 -0
  2302. package/node_modules/@opentelemetry/api/build/esnext/api/metrics.d.ts +28 -0
  2303. package/node_modules/@opentelemetry/api/build/esnext/api/metrics.js +57 -0
  2304. package/node_modules/@opentelemetry/api/build/esnext/api/metrics.js.map +1 -0
  2305. package/node_modules/@opentelemetry/api/build/esnext/api/propagation.d.ts +49 -0
  2306. package/node_modules/@opentelemetry/api/build/esnext/api/propagation.js +85 -0
  2307. package/node_modules/@opentelemetry/api/build/esnext/api/propagation.js.map +1 -0
  2308. package/node_modules/@opentelemetry/api/build/esnext/api/trace.d.ts +40 -0
  2309. package/node_modules/@opentelemetry/api/build/esnext/api/trace.js +75 -0
  2310. package/node_modules/@opentelemetry/api/build/esnext/api/trace.js.map +1 -0
  2311. package/node_modules/@opentelemetry/api/build/esnext/baggage/context-helpers.d.ts +29 -0
  2312. package/node_modules/@opentelemetry/api/build/esnext/baggage/context-helpers.js +56 -0
  2313. package/node_modules/@opentelemetry/api/build/esnext/baggage/context-helpers.js.map +1 -0
  2314. package/node_modules/@opentelemetry/api/build/esnext/baggage/internal/baggage-impl.d.ts +12 -0
  2315. package/node_modules/@opentelemetry/api/build/esnext/baggage/internal/baggage-impl.js +51 -0
  2316. package/node_modules/@opentelemetry/api/build/esnext/baggage/internal/baggage-impl.js.map +1 -0
  2317. package/node_modules/@opentelemetry/api/build/esnext/baggage/internal/symbol.d.ts +5 -0
  2318. package/node_modules/@opentelemetry/api/build/esnext/baggage/internal/symbol.js +20 -0
  2319. package/node_modules/@opentelemetry/api/build/esnext/baggage/internal/symbol.js.map +1 -0
  2320. package/node_modules/@opentelemetry/api/build/esnext/baggage/types.d.ts +60 -0
  2321. package/node_modules/@opentelemetry/api/build/esnext/baggage/types.js +17 -0
  2322. package/node_modules/@opentelemetry/api/build/esnext/baggage/types.js.map +1 -0
  2323. package/node_modules/@opentelemetry/api/build/esnext/baggage/utils.d.ts +15 -0
  2324. package/node_modules/@opentelemetry/api/build/esnext/baggage/utils.js +46 -0
  2325. package/node_modules/@opentelemetry/api/build/esnext/baggage/utils.js.map +1 -0
  2326. package/node_modules/@opentelemetry/api/build/esnext/common/Attributes.d.ts +15 -0
  2327. package/node_modules/@opentelemetry/api/build/esnext/common/Attributes.js +17 -0
  2328. package/node_modules/@opentelemetry/api/build/esnext/common/Attributes.js.map +1 -0
  2329. package/node_modules/@opentelemetry/api/build/esnext/common/Exception.d.ts +26 -0
  2330. package/node_modules/@opentelemetry/api/build/esnext/common/Exception.js +17 -0
  2331. package/node_modules/@opentelemetry/api/build/esnext/common/Exception.js.map +1 -0
  2332. package/node_modules/@opentelemetry/api/build/esnext/common/Time.d.ts +20 -0
  2333. package/node_modules/@opentelemetry/api/build/esnext/common/Time.js +2 -0
  2334. package/node_modules/@opentelemetry/api/build/esnext/common/Time.js.map +1 -0
  2335. package/node_modules/@opentelemetry/api/build/esnext/context/NoopContextManager.d.ts +9 -0
  2336. package/node_modules/@opentelemetry/api/build/esnext/context/NoopContextManager.js +34 -0
  2337. package/node_modules/@opentelemetry/api/build/esnext/context/NoopContextManager.js.map +1 -0
  2338. package/node_modules/@opentelemetry/api/build/esnext/context/context.d.ts +6 -0
  2339. package/node_modules/@opentelemetry/api/build/esnext/context/context.js +51 -0
  2340. package/node_modules/@opentelemetry/api/build/esnext/context/context.js.map +1 -0
  2341. package/node_modules/@opentelemetry/api/build/esnext/context/types.d.ts +52 -0
  2342. package/node_modules/@opentelemetry/api/build/esnext/context/types.js +17 -0
  2343. package/node_modules/@opentelemetry/api/build/esnext/context/types.js.map +1 -0
  2344. package/node_modules/@opentelemetry/api/build/esnext/context-api.d.ts +4 -0
  2345. package/node_modules/@opentelemetry/api/build/esnext/context-api.js +21 -0
  2346. package/node_modules/@opentelemetry/api/build/esnext/context-api.js.map +1 -0
  2347. package/node_modules/@opentelemetry/api/build/esnext/diag/ComponentLogger.d.ts +20 -0
  2348. package/node_modules/@opentelemetry/api/build/esnext/diag/ComponentLogger.js +55 -0
  2349. package/node_modules/@opentelemetry/api/build/esnext/diag/ComponentLogger.js.map +1 -0
  2350. package/node_modules/@opentelemetry/api/build/esnext/diag/consoleLogger.d.ts +38 -0
  2351. package/node_modules/@opentelemetry/api/build/esnext/diag/consoleLogger.js +53 -0
  2352. package/node_modules/@opentelemetry/api/build/esnext/diag/consoleLogger.js.map +1 -0
  2353. package/node_modules/@opentelemetry/api/build/esnext/diag/internal/logLevelLogger.d.ts +3 -0
  2354. package/node_modules/@opentelemetry/api/build/esnext/diag/internal/logLevelLogger.js +41 -0
  2355. package/node_modules/@opentelemetry/api/build/esnext/diag/internal/logLevelLogger.js.map +1 -0
  2356. package/node_modules/@opentelemetry/api/build/esnext/diag/internal/noopLogger.d.ts +8 -0
  2357. package/node_modules/@opentelemetry/api/build/esnext/diag/internal/noopLogger.js +31 -0
  2358. package/node_modules/@opentelemetry/api/build/esnext/diag/internal/noopLogger.js.map +1 -0
  2359. package/node_modules/@opentelemetry/api/build/esnext/diag/types.d.ts +100 -0
  2360. package/node_modules/@opentelemetry/api/build/esnext/diag/types.js +41 -0
  2361. package/node_modules/@opentelemetry/api/build/esnext/diag/types.js.map +1 -0
  2362. package/node_modules/@opentelemetry/api/build/esnext/diag-api.d.ts +9 -0
  2363. package/node_modules/@opentelemetry/api/build/esnext/diag-api.js +26 -0
  2364. package/node_modules/@opentelemetry/api/build/esnext/diag-api.js.map +1 -0
  2365. package/node_modules/@opentelemetry/api/build/esnext/experimental/index.d.ts +3 -0
  2366. package/node_modules/@opentelemetry/api/build/esnext/experimental/index.js +17 -0
  2367. package/node_modules/@opentelemetry/api/build/esnext/experimental/index.js.map +1 -0
  2368. package/node_modules/@opentelemetry/api/build/esnext/experimental/trace/SugaredOptions.d.ts +13 -0
  2369. package/node_modules/@opentelemetry/api/build/esnext/experimental/trace/SugaredOptions.js +17 -0
  2370. package/node_modules/@opentelemetry/api/build/esnext/experimental/trace/SugaredOptions.js.map +1 -0
  2371. package/node_modules/@opentelemetry/api/build/esnext/experimental/trace/SugaredTracer.d.ts +64 -0
  2372. package/node_modules/@opentelemetry/api/build/esnext/experimental/trace/SugaredTracer.js +88 -0
  2373. package/node_modules/@opentelemetry/api/build/esnext/experimental/trace/SugaredTracer.js.map +1 -0
  2374. package/node_modules/@opentelemetry/api/build/esnext/index.d.ts +54 -0
  2375. package/node_modules/@opentelemetry/api/build/esnext/index.js +53 -0
  2376. package/node_modules/@opentelemetry/api/build/esnext/index.js.map +1 -0
  2377. package/node_modules/@opentelemetry/api/build/esnext/internal/global-utils.d.ts +18 -0
  2378. package/node_modules/@opentelemetry/api/build/esnext/internal/global-utils.js +58 -0
  2379. package/node_modules/@opentelemetry/api/build/esnext/internal/global-utils.js.map +1 -0
  2380. package/node_modules/@opentelemetry/api/build/esnext/internal/semver.d.ts +34 -0
  2381. package/node_modules/@opentelemetry/api/build/esnext/internal/semver.js +118 -0
  2382. package/node_modules/@opentelemetry/api/build/esnext/internal/semver.js.map +1 -0
  2383. package/node_modules/@opentelemetry/api/build/esnext/metrics/Meter.d.ts +110 -0
  2384. package/node_modules/@opentelemetry/api/build/esnext/metrics/Meter.js +17 -0
  2385. package/node_modules/@opentelemetry/api/build/esnext/metrics/Meter.js.map +1 -0
  2386. package/node_modules/@opentelemetry/api/build/esnext/metrics/MeterProvider.d.ts +17 -0
  2387. package/node_modules/@opentelemetry/api/build/esnext/metrics/MeterProvider.js +17 -0
  2388. package/node_modules/@opentelemetry/api/build/esnext/metrics/MeterProvider.js.map +1 -0
  2389. package/node_modules/@opentelemetry/api/build/esnext/metrics/Metric.d.ts +115 -0
  2390. package/node_modules/@opentelemetry/api/build/esnext/metrics/Metric.js +22 -0
  2391. package/node_modules/@opentelemetry/api/build/esnext/metrics/Metric.js.map +1 -0
  2392. package/node_modules/@opentelemetry/api/build/esnext/metrics/NoopMeter.d.ts +82 -0
  2393. package/node_modules/@opentelemetry/api/build/esnext/metrics/NoopMeter.js +113 -0
  2394. package/node_modules/@opentelemetry/api/build/esnext/metrics/NoopMeter.js.map +1 -0
  2395. package/node_modules/@opentelemetry/api/build/esnext/metrics/NoopMeterProvider.d.ts +11 -0
  2396. package/node_modules/@opentelemetry/api/build/esnext/metrics/NoopMeterProvider.js +27 -0
  2397. package/node_modules/@opentelemetry/api/build/esnext/metrics/NoopMeterProvider.js.map +1 -0
  2398. package/node_modules/@opentelemetry/api/build/esnext/metrics/ObservableResult.d.ts +31 -0
  2399. package/node_modules/@opentelemetry/api/build/esnext/metrics/ObservableResult.js +17 -0
  2400. package/node_modules/@opentelemetry/api/build/esnext/metrics/ObservableResult.js.map +1 -0
  2401. package/node_modules/@opentelemetry/api/build/esnext/metrics-api.d.ts +4 -0
  2402. package/node_modules/@opentelemetry/api/build/esnext/metrics-api.js +21 -0
  2403. package/node_modules/@opentelemetry/api/build/esnext/metrics-api.js.map +1 -0
  2404. package/node_modules/@opentelemetry/api/build/esnext/platform/browser/globalThis.d.ts +10 -0
  2405. package/node_modules/@opentelemetry/api/build/esnext/platform/browser/globalThis.js +35 -0
  2406. package/node_modules/@opentelemetry/api/build/esnext/platform/browser/globalThis.js.map +1 -0
  2407. package/node_modules/@opentelemetry/api/build/esnext/platform/browser/index.d.ts +2 -0
  2408. package/node_modules/@opentelemetry/api/build/esnext/platform/browser/index.js +17 -0
  2409. package/node_modules/@opentelemetry/api/build/esnext/platform/browser/index.js.map +1 -0
  2410. package/node_modules/@opentelemetry/api/build/esnext/platform/index.d.ts +2 -0
  2411. package/node_modules/@opentelemetry/api/build/esnext/platform/index.js +17 -0
  2412. package/node_modules/@opentelemetry/api/build/esnext/platform/index.js.map +1 -0
  2413. package/node_modules/@opentelemetry/api/build/esnext/platform/node/globalThis.d.ts +3 -0
  2414. package/node_modules/@opentelemetry/api/build/esnext/platform/node/globalThis.js +19 -0
  2415. package/node_modules/@opentelemetry/api/build/esnext/platform/node/globalThis.js.map +1 -0
  2416. package/node_modules/@opentelemetry/api/build/esnext/platform/node/index.d.ts +2 -0
  2417. package/node_modules/@opentelemetry/api/build/esnext/platform/node/index.js +17 -0
  2418. package/node_modules/@opentelemetry/api/build/esnext/platform/node/index.js.map +1 -0
  2419. package/node_modules/@opentelemetry/api/build/esnext/propagation/NoopTextMapPropagator.d.ts +13 -0
  2420. package/node_modules/@opentelemetry/api/build/esnext/propagation/NoopTextMapPropagator.js +30 -0
  2421. package/node_modules/@opentelemetry/api/build/esnext/propagation/NoopTextMapPropagator.js.map +1 -0
  2422. package/node_modules/@opentelemetry/api/build/esnext/propagation/TextMapPropagator.d.ts +84 -0
  2423. package/node_modules/@opentelemetry/api/build/esnext/propagation/TextMapPropagator.js +38 -0
  2424. package/node_modules/@opentelemetry/api/build/esnext/propagation/TextMapPropagator.js.map +1 -0
  2425. package/node_modules/@opentelemetry/api/build/esnext/propagation-api.d.ts +4 -0
  2426. package/node_modules/@opentelemetry/api/build/esnext/propagation-api.js +21 -0
  2427. package/node_modules/@opentelemetry/api/build/esnext/propagation-api.js.map +1 -0
  2428. package/node_modules/@opentelemetry/api/build/esnext/trace/NonRecordingSpan.d.ts +28 -0
  2429. package/node_modules/@opentelemetry/api/build/esnext/trace/NonRecordingSpan.js +65 -0
  2430. package/node_modules/@opentelemetry/api/build/esnext/trace/NonRecordingSpan.js.map +1 -0
  2431. package/node_modules/@opentelemetry/api/build/esnext/trace/NoopTracer.d.ts +14 -0
  2432. package/node_modules/@opentelemetry/api/build/esnext/trace/NoopTracer.js +71 -0
  2433. package/node_modules/@opentelemetry/api/build/esnext/trace/NoopTracer.js.map +1 -0
  2434. package/node_modules/@opentelemetry/api/build/esnext/trace/NoopTracerProvider.d.ts +13 -0
  2435. package/node_modules/@opentelemetry/api/build/esnext/trace/NoopTracerProvider.js +28 -0
  2436. package/node_modules/@opentelemetry/api/build/esnext/trace/NoopTracerProvider.js.map +1 -0
  2437. package/node_modules/@opentelemetry/api/build/esnext/trace/ProxyTracer.d.ts +27 -0
  2438. package/node_modules/@opentelemetry/api/build/esnext/trace/ProxyTracer.js +51 -0
  2439. package/node_modules/@opentelemetry/api/build/esnext/trace/ProxyTracer.js.map +1 -0
  2440. package/node_modules/@opentelemetry/api/build/esnext/trace/ProxyTracerProvider.d.ts +25 -0
  2441. package/node_modules/@opentelemetry/api/build/esnext/trace/ProxyTracerProvider.js +50 -0
  2442. package/node_modules/@opentelemetry/api/build/esnext/trace/ProxyTracerProvider.js.map +1 -0
  2443. package/node_modules/@opentelemetry/api/build/esnext/trace/Sampler.d.ts +31 -0
  2444. package/node_modules/@opentelemetry/api/build/esnext/trace/Sampler.js +17 -0
  2445. package/node_modules/@opentelemetry/api/build/esnext/trace/Sampler.js.map +1 -0
  2446. package/node_modules/@opentelemetry/api/build/esnext/trace/SamplingResult.d.ts +49 -0
  2447. package/node_modules/@opentelemetry/api/build/esnext/trace/SamplingResult.js +39 -0
  2448. package/node_modules/@opentelemetry/api/build/esnext/trace/SamplingResult.js.map +1 -0
  2449. package/node_modules/@opentelemetry/api/build/esnext/trace/SpanOptions.d.ts +23 -0
  2450. package/node_modules/@opentelemetry/api/build/esnext/trace/SpanOptions.js +17 -0
  2451. package/node_modules/@opentelemetry/api/build/esnext/trace/SpanOptions.js.map +1 -0
  2452. package/node_modules/@opentelemetry/api/build/esnext/trace/attributes.d.ts +10 -0
  2453. package/node_modules/@opentelemetry/api/build/esnext/trace/attributes.js +17 -0
  2454. package/node_modules/@opentelemetry/api/build/esnext/trace/attributes.js.map +1 -0
  2455. package/node_modules/@opentelemetry/api/build/esnext/trace/context-utils.d.ts +41 -0
  2456. package/node_modules/@opentelemetry/api/build/esnext/trace/context-utils.js +73 -0
  2457. package/node_modules/@opentelemetry/api/build/esnext/trace/context-utils.js.map +1 -0
  2458. package/node_modules/@opentelemetry/api/build/esnext/trace/internal/tracestate-impl.d.ts +22 -0
  2459. package/node_modules/@opentelemetry/api/build/esnext/trace/internal/tracestate-impl.js +99 -0
  2460. package/node_modules/@opentelemetry/api/build/esnext/trace/internal/tracestate-impl.js.map +1 -0
  2461. package/node_modules/@opentelemetry/api/build/esnext/trace/internal/tracestate-validators.d.ts +15 -0
  2462. package/node_modules/@opentelemetry/api/build/esnext/trace/internal/tracestate-validators.js +41 -0
  2463. package/node_modules/@opentelemetry/api/build/esnext/trace/internal/tracestate-validators.js.map +1 -0
  2464. package/node_modules/@opentelemetry/api/build/esnext/trace/internal/utils.d.ts +3 -0
  2465. package/node_modules/@opentelemetry/api/build/esnext/trace/internal/utils.js +20 -0
  2466. package/node_modules/@opentelemetry/api/build/esnext/trace/internal/utils.js.map +1 -0
  2467. package/node_modules/@opentelemetry/api/build/esnext/trace/invalid-span-constants.d.ts +5 -0
  2468. package/node_modules/@opentelemetry/api/build/esnext/trace/invalid-span-constants.js +24 -0
  2469. package/node_modules/@opentelemetry/api/build/esnext/trace/invalid-span-constants.js.map +1 -0
  2470. package/node_modules/@opentelemetry/api/build/esnext/trace/link.d.ts +26 -0
  2471. package/node_modules/@opentelemetry/api/build/esnext/trace/link.js +17 -0
  2472. package/node_modules/@opentelemetry/api/build/esnext/trace/link.js.map +1 -0
  2473. package/node_modules/@opentelemetry/api/build/esnext/trace/span.d.ts +120 -0
  2474. package/node_modules/@opentelemetry/api/build/esnext/trace/span.js +17 -0
  2475. package/node_modules/@opentelemetry/api/build/esnext/trace/span.js.map +1 -0
  2476. package/node_modules/@opentelemetry/api/build/esnext/trace/span_context.d.ts +53 -0
  2477. package/node_modules/@opentelemetry/api/build/esnext/trace/span_context.js +17 -0
  2478. package/node_modules/@opentelemetry/api/build/esnext/trace/span_context.js.map +1 -0
  2479. package/node_modules/@opentelemetry/api/build/esnext/trace/span_kind.d.ts +27 -0
  2480. package/node_modules/@opentelemetry/api/build/esnext/trace/span_kind.js +43 -0
  2481. package/node_modules/@opentelemetry/api/build/esnext/trace/span_kind.js.map +1 -0
  2482. package/node_modules/@opentelemetry/api/build/esnext/trace/spancontext-utils.d.ts +17 -0
  2483. package/node_modules/@opentelemetry/api/build/esnext/trace/spancontext-utils.js +42 -0
  2484. package/node_modules/@opentelemetry/api/build/esnext/trace/spancontext-utils.js.map +1 -0
  2485. package/node_modules/@opentelemetry/api/build/esnext/trace/status.d.ts +25 -0
  2486. package/node_modules/@opentelemetry/api/build/esnext/trace/status.js +20 -0
  2487. package/node_modules/@opentelemetry/api/build/esnext/trace/status.js.map +1 -0
  2488. package/node_modules/@opentelemetry/api/build/esnext/trace/trace_flags.d.ts +7 -0
  2489. package/node_modules/@opentelemetry/api/build/esnext/trace/trace_flags.js +23 -0
  2490. package/node_modules/@opentelemetry/api/build/esnext/trace/trace_flags.js.map +1 -0
  2491. package/node_modules/@opentelemetry/api/build/esnext/trace/trace_state.d.ts +38 -0
  2492. package/node_modules/@opentelemetry/api/build/esnext/trace/trace_state.js +17 -0
  2493. package/node_modules/@opentelemetry/api/build/esnext/trace/trace_state.js.map +1 -0
  2494. package/node_modules/@opentelemetry/api/build/esnext/trace/tracer.d.ts +71 -0
  2495. package/node_modules/@opentelemetry/api/build/esnext/trace/tracer.js +17 -0
  2496. package/node_modules/@opentelemetry/api/build/esnext/trace/tracer.js.map +1 -0
  2497. package/node_modules/@opentelemetry/api/build/esnext/trace/tracer_options.d.ts +10 -0
  2498. package/node_modules/@opentelemetry/api/build/esnext/trace/tracer_options.js +17 -0
  2499. package/node_modules/@opentelemetry/api/build/esnext/trace/tracer_options.js.map +1 -0
  2500. package/node_modules/@opentelemetry/api/build/esnext/trace/tracer_provider.d.ts +21 -0
  2501. package/node_modules/@opentelemetry/api/build/esnext/trace/tracer_provider.js +17 -0
  2502. package/node_modules/@opentelemetry/api/build/esnext/trace/tracer_provider.js.map +1 -0
  2503. package/node_modules/@opentelemetry/api/build/esnext/trace-api.d.ts +4 -0
  2504. package/node_modules/@opentelemetry/api/build/esnext/trace-api.js +21 -0
  2505. package/node_modules/@opentelemetry/api/build/esnext/trace-api.js.map +1 -0
  2506. package/node_modules/@opentelemetry/api/build/esnext/version.d.ts +2 -0
  2507. package/node_modules/@opentelemetry/api/build/esnext/version.js +18 -0
  2508. package/node_modules/@opentelemetry/api/build/esnext/version.js.map +1 -0
  2509. package/node_modules/@opentelemetry/api/build/src/api/context.d.ts +41 -0
  2510. package/node_modules/@opentelemetry/api/build/src/api/context.js +81 -0
  2511. package/node_modules/@opentelemetry/api/build/src/api/context.js.map +1 -0
  2512. package/node_modules/@opentelemetry/api/build/src/api/diag.d.ts +30 -0
  2513. package/node_modules/@opentelemetry/api/build/src/api/diag.js +93 -0
  2514. package/node_modules/@opentelemetry/api/build/src/api/diag.js.map +1 -0
  2515. package/node_modules/@opentelemetry/api/build/src/api/metrics.d.ts +28 -0
  2516. package/node_modules/@opentelemetry/api/build/src/api/metrics.js +61 -0
  2517. package/node_modules/@opentelemetry/api/build/src/api/metrics.js.map +1 -0
  2518. package/node_modules/@opentelemetry/api/build/src/api/propagation.d.ts +49 -0
  2519. package/node_modules/@opentelemetry/api/build/src/api/propagation.js +89 -0
  2520. package/node_modules/@opentelemetry/api/build/src/api/propagation.js.map +1 -0
  2521. package/node_modules/@opentelemetry/api/build/src/api/trace.d.ts +40 -0
  2522. package/node_modules/@opentelemetry/api/build/src/api/trace.js +79 -0
  2523. package/node_modules/@opentelemetry/api/build/src/api/trace.js.map +1 -0
  2524. package/node_modules/@opentelemetry/api/build/src/baggage/context-helpers.d.ts +29 -0
  2525. package/node_modules/@opentelemetry/api/build/src/baggage/context-helpers.js +63 -0
  2526. package/node_modules/@opentelemetry/api/build/src/baggage/context-helpers.js.map +1 -0
  2527. package/node_modules/@opentelemetry/api/build/src/baggage/internal/baggage-impl.d.ts +12 -0
  2528. package/node_modules/@opentelemetry/api/build/src/baggage/internal/baggage-impl.js +55 -0
  2529. package/node_modules/@opentelemetry/api/build/src/baggage/internal/baggage-impl.js.map +1 -0
  2530. package/node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.d.ts +5 -0
  2531. package/node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.js +23 -0
  2532. package/node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.js.map +1 -0
  2533. package/node_modules/@opentelemetry/api/build/src/baggage/types.d.ts +60 -0
  2534. package/node_modules/@opentelemetry/api/build/src/baggage/types.js +18 -0
  2535. package/node_modules/@opentelemetry/api/build/src/baggage/types.js.map +1 -0
  2536. package/node_modules/@opentelemetry/api/build/src/baggage/utils.d.ts +15 -0
  2537. package/node_modules/@opentelemetry/api/build/src/baggage/utils.js +51 -0
  2538. package/node_modules/@opentelemetry/api/build/src/baggage/utils.js.map +1 -0
  2539. package/node_modules/@opentelemetry/api/build/src/common/Attributes.d.ts +15 -0
  2540. package/node_modules/@opentelemetry/api/build/src/common/Attributes.js +18 -0
  2541. package/node_modules/@opentelemetry/api/build/src/common/Attributes.js.map +1 -0
  2542. package/node_modules/@opentelemetry/api/build/src/common/Exception.d.ts +26 -0
  2543. package/node_modules/@opentelemetry/api/build/src/common/Exception.js +18 -0
  2544. package/node_modules/@opentelemetry/api/build/src/common/Exception.js.map +1 -0
  2545. package/node_modules/@opentelemetry/api/build/src/common/Time.d.ts +20 -0
  2546. package/node_modules/@opentelemetry/api/build/src/common/Time.js +3 -0
  2547. package/node_modules/@opentelemetry/api/build/src/common/Time.js.map +1 -0
  2548. package/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.d.ts +9 -0
  2549. package/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js +38 -0
  2550. package/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js.map +1 -0
  2551. package/node_modules/@opentelemetry/api/build/src/context/context.d.ts +6 -0
  2552. package/node_modules/@opentelemetry/api/build/src/context/context.js +55 -0
  2553. package/node_modules/@opentelemetry/api/build/src/context/context.js.map +1 -0
  2554. package/node_modules/@opentelemetry/api/build/src/context/types.d.ts +52 -0
  2555. package/node_modules/@opentelemetry/api/build/src/context/types.js +18 -0
  2556. package/node_modules/@opentelemetry/api/build/src/context/types.js.map +1 -0
  2557. package/node_modules/@opentelemetry/api/build/src/context-api.d.ts +4 -0
  2558. package/node_modules/@opentelemetry/api/build/src/context-api.js +24 -0
  2559. package/node_modules/@opentelemetry/api/build/src/context-api.js.map +1 -0
  2560. package/node_modules/@opentelemetry/api/build/src/diag/ComponentLogger.d.ts +20 -0
  2561. package/node_modules/@opentelemetry/api/build/src/diag/ComponentLogger.js +59 -0
  2562. package/node_modules/@opentelemetry/api/build/src/diag/ComponentLogger.js.map +1 -0
  2563. package/node_modules/@opentelemetry/api/build/src/diag/consoleLogger.d.ts +38 -0
  2564. package/node_modules/@opentelemetry/api/build/src/diag/consoleLogger.js +57 -0
  2565. package/node_modules/@opentelemetry/api/build/src/diag/consoleLogger.js.map +1 -0
  2566. package/node_modules/@opentelemetry/api/build/src/diag/internal/logLevelLogger.d.ts +3 -0
  2567. package/node_modules/@opentelemetry/api/build/src/diag/internal/logLevelLogger.js +45 -0
  2568. package/node_modules/@opentelemetry/api/build/src/diag/internal/logLevelLogger.js.map +1 -0
  2569. package/node_modules/@opentelemetry/api/build/src/diag/internal/noopLogger.d.ts +8 -0
  2570. package/node_modules/@opentelemetry/api/build/src/diag/internal/noopLogger.js +35 -0
  2571. package/node_modules/@opentelemetry/api/build/src/diag/internal/noopLogger.js.map +1 -0
  2572. package/node_modules/@opentelemetry/api/build/src/diag/types.d.ts +100 -0
  2573. package/node_modules/@opentelemetry/api/build/src/diag/types.js +44 -0
  2574. package/node_modules/@opentelemetry/api/build/src/diag/types.js.map +1 -0
  2575. package/node_modules/@opentelemetry/api/build/src/diag-api.d.ts +9 -0
  2576. package/node_modules/@opentelemetry/api/build/src/diag-api.js +29 -0
  2577. package/node_modules/@opentelemetry/api/build/src/diag-api.js.map +1 -0
  2578. package/node_modules/@opentelemetry/api/build/src/experimental/index.d.ts +3 -0
  2579. package/node_modules/@opentelemetry/api/build/src/experimental/index.js +22 -0
  2580. package/node_modules/@opentelemetry/api/build/src/experimental/index.js.map +1 -0
  2581. package/node_modules/@opentelemetry/api/build/src/experimental/trace/SugaredOptions.d.ts +13 -0
  2582. package/node_modules/@opentelemetry/api/build/src/experimental/trace/SugaredOptions.js +18 -0
  2583. package/node_modules/@opentelemetry/api/build/src/experimental/trace/SugaredOptions.js.map +1 -0
  2584. package/node_modules/@opentelemetry/api/build/src/experimental/trace/SugaredTracer.d.ts +64 -0
  2585. package/node_modules/@opentelemetry/api/build/src/experimental/trace/SugaredTracer.js +93 -0
  2586. package/node_modules/@opentelemetry/api/build/src/experimental/trace/SugaredTracer.js.map +1 -0
  2587. package/node_modules/@opentelemetry/api/build/src/index.d.ts +54 -0
  2588. package/node_modules/@opentelemetry/api/build/src/index.js +81 -0
  2589. package/node_modules/@opentelemetry/api/build/src/index.js.map +1 -0
  2590. package/node_modules/@opentelemetry/api/build/src/internal/global-utils.d.ts +18 -0
  2591. package/node_modules/@opentelemetry/api/build/src/internal/global-utils.js +64 -0
  2592. package/node_modules/@opentelemetry/api/build/src/internal/global-utils.js.map +1 -0
  2593. package/node_modules/@opentelemetry/api/build/src/internal/semver.d.ts +34 -0
  2594. package/node_modules/@opentelemetry/api/build/src/internal/semver.js +122 -0
  2595. package/node_modules/@opentelemetry/api/build/src/internal/semver.js.map +1 -0
  2596. package/node_modules/@opentelemetry/api/build/src/metrics/Meter.d.ts +110 -0
  2597. package/node_modules/@opentelemetry/api/build/src/metrics/Meter.js +18 -0
  2598. package/node_modules/@opentelemetry/api/build/src/metrics/Meter.js.map +1 -0
  2599. package/node_modules/@opentelemetry/api/build/src/metrics/MeterProvider.d.ts +17 -0
  2600. package/node_modules/@opentelemetry/api/build/src/metrics/MeterProvider.js +18 -0
  2601. package/node_modules/@opentelemetry/api/build/src/metrics/MeterProvider.js.map +1 -0
  2602. package/node_modules/@opentelemetry/api/build/src/metrics/Metric.d.ts +115 -0
  2603. package/node_modules/@opentelemetry/api/build/src/metrics/Metric.js +25 -0
  2604. package/node_modules/@opentelemetry/api/build/src/metrics/Metric.js.map +1 -0
  2605. package/node_modules/@opentelemetry/api/build/src/metrics/NoopMeter.d.ts +82 -0
  2606. package/node_modules/@opentelemetry/api/build/src/metrics/NoopMeter.js +127 -0
  2607. package/node_modules/@opentelemetry/api/build/src/metrics/NoopMeter.js.map +1 -0
  2608. package/node_modules/@opentelemetry/api/build/src/metrics/NoopMeterProvider.d.ts +11 -0
  2609. package/node_modules/@opentelemetry/api/build/src/metrics/NoopMeterProvider.js +31 -0
  2610. package/node_modules/@opentelemetry/api/build/src/metrics/NoopMeterProvider.js.map +1 -0
  2611. package/node_modules/@opentelemetry/api/build/src/metrics/ObservableResult.d.ts +31 -0
  2612. package/node_modules/@opentelemetry/api/build/src/metrics/ObservableResult.js +18 -0
  2613. package/node_modules/@opentelemetry/api/build/src/metrics/ObservableResult.js.map +1 -0
  2614. package/node_modules/@opentelemetry/api/build/src/metrics-api.d.ts +4 -0
  2615. package/node_modules/@opentelemetry/api/build/src/metrics-api.js +24 -0
  2616. package/node_modules/@opentelemetry/api/build/src/metrics-api.js.map +1 -0
  2617. package/node_modules/@opentelemetry/api/build/src/platform/browser/globalThis.d.ts +10 -0
  2618. package/node_modules/@opentelemetry/api/build/src/platform/browser/globalThis.js +38 -0
  2619. package/node_modules/@opentelemetry/api/build/src/platform/browser/globalThis.js.map +1 -0
  2620. package/node_modules/@opentelemetry/api/build/src/platform/browser/index.d.ts +2 -0
  2621. package/node_modules/@opentelemetry/api/build/src/platform/browser/index.js +29 -0
  2622. package/node_modules/@opentelemetry/api/build/src/platform/browser/index.js.map +1 -0
  2623. package/node_modules/@opentelemetry/api/build/src/platform/index.d.ts +2 -0
  2624. package/node_modules/@opentelemetry/api/build/src/platform/index.js +29 -0
  2625. package/node_modules/@opentelemetry/api/build/src/platform/index.js.map +1 -0
  2626. package/node_modules/@opentelemetry/api/build/src/platform/node/globalThis.d.ts +3 -0
  2627. package/node_modules/@opentelemetry/api/build/src/platform/node/globalThis.js +22 -0
  2628. package/node_modules/@opentelemetry/api/build/src/platform/node/globalThis.js.map +1 -0
  2629. package/node_modules/@opentelemetry/api/build/src/platform/node/index.d.ts +2 -0
  2630. package/node_modules/@opentelemetry/api/build/src/platform/node/index.js +29 -0
  2631. package/node_modules/@opentelemetry/api/build/src/platform/node/index.js.map +1 -0
  2632. package/node_modules/@opentelemetry/api/build/src/propagation/NoopTextMapPropagator.d.ts +13 -0
  2633. package/node_modules/@opentelemetry/api/build/src/propagation/NoopTextMapPropagator.js +34 -0
  2634. package/node_modules/@opentelemetry/api/build/src/propagation/NoopTextMapPropagator.js.map +1 -0
  2635. package/node_modules/@opentelemetry/api/build/src/propagation/TextMapPropagator.d.ts +84 -0
  2636. package/node_modules/@opentelemetry/api/build/src/propagation/TextMapPropagator.js +41 -0
  2637. package/node_modules/@opentelemetry/api/build/src/propagation/TextMapPropagator.js.map +1 -0
  2638. package/node_modules/@opentelemetry/api/build/src/propagation-api.d.ts +4 -0
  2639. package/node_modules/@opentelemetry/api/build/src/propagation-api.js +24 -0
  2640. package/node_modules/@opentelemetry/api/build/src/propagation-api.js.map +1 -0
  2641. package/node_modules/@opentelemetry/api/build/src/trace/NonRecordingSpan.d.ts +28 -0
  2642. package/node_modules/@opentelemetry/api/build/src/trace/NonRecordingSpan.js +69 -0
  2643. package/node_modules/@opentelemetry/api/build/src/trace/NonRecordingSpan.js.map +1 -0
  2644. package/node_modules/@opentelemetry/api/build/src/trace/NoopTracer.d.ts +14 -0
  2645. package/node_modules/@opentelemetry/api/build/src/trace/NoopTracer.js +75 -0
  2646. package/node_modules/@opentelemetry/api/build/src/trace/NoopTracer.js.map +1 -0
  2647. package/node_modules/@opentelemetry/api/build/src/trace/NoopTracerProvider.d.ts +13 -0
  2648. package/node_modules/@opentelemetry/api/build/src/trace/NoopTracerProvider.js +32 -0
  2649. package/node_modules/@opentelemetry/api/build/src/trace/NoopTracerProvider.js.map +1 -0
  2650. package/node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.d.ts +27 -0
  2651. package/node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.js +55 -0
  2652. package/node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.js.map +1 -0
  2653. package/node_modules/@opentelemetry/api/build/src/trace/ProxyTracerProvider.d.ts +25 -0
  2654. package/node_modules/@opentelemetry/api/build/src/trace/ProxyTracerProvider.js +54 -0
  2655. package/node_modules/@opentelemetry/api/build/src/trace/ProxyTracerProvider.js.map +1 -0
  2656. package/node_modules/@opentelemetry/api/build/src/trace/Sampler.d.ts +31 -0
  2657. package/node_modules/@opentelemetry/api/build/src/trace/Sampler.js +18 -0
  2658. package/node_modules/@opentelemetry/api/build/src/trace/Sampler.js.map +1 -0
  2659. package/node_modules/@opentelemetry/api/build/src/trace/SamplingResult.d.ts +49 -0
  2660. package/node_modules/@opentelemetry/api/build/src/trace/SamplingResult.js +42 -0
  2661. package/node_modules/@opentelemetry/api/build/src/trace/SamplingResult.js.map +1 -0
  2662. package/node_modules/@opentelemetry/api/build/src/trace/SpanOptions.d.ts +23 -0
  2663. package/node_modules/@opentelemetry/api/build/src/trace/SpanOptions.js +18 -0
  2664. package/node_modules/@opentelemetry/api/build/src/trace/SpanOptions.js.map +1 -0
  2665. package/node_modules/@opentelemetry/api/build/src/trace/attributes.d.ts +10 -0
  2666. package/node_modules/@opentelemetry/api/build/src/trace/attributes.js +18 -0
  2667. package/node_modules/@opentelemetry/api/build/src/trace/attributes.js.map +1 -0
  2668. package/node_modules/@opentelemetry/api/build/src/trace/context-utils.d.ts +41 -0
  2669. package/node_modules/@opentelemetry/api/build/src/trace/context-utils.js +82 -0
  2670. package/node_modules/@opentelemetry/api/build/src/trace/context-utils.js.map +1 -0
  2671. package/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-impl.d.ts +22 -0
  2672. package/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-impl.js +103 -0
  2673. package/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-impl.js.map +1 -0
  2674. package/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-validators.d.ts +15 -0
  2675. package/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-validators.js +46 -0
  2676. package/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-validators.js.map +1 -0
  2677. package/node_modules/@opentelemetry/api/build/src/trace/internal/utils.d.ts +3 -0
  2678. package/node_modules/@opentelemetry/api/build/src/trace/internal/utils.js +24 -0
  2679. package/node_modules/@opentelemetry/api/build/src/trace/internal/utils.js.map +1 -0
  2680. package/node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.d.ts +5 -0
  2681. package/node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.js +27 -0
  2682. package/node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.js.map +1 -0
  2683. package/node_modules/@opentelemetry/api/build/src/trace/link.d.ts +26 -0
  2684. package/node_modules/@opentelemetry/api/build/src/trace/link.js +18 -0
  2685. package/node_modules/@opentelemetry/api/build/src/trace/link.js.map +1 -0
  2686. package/node_modules/@opentelemetry/api/build/src/trace/span.d.ts +120 -0
  2687. package/node_modules/@opentelemetry/api/build/src/trace/span.js +18 -0
  2688. package/node_modules/@opentelemetry/api/build/src/trace/span.js.map +1 -0
  2689. package/node_modules/@opentelemetry/api/build/src/trace/span_context.d.ts +53 -0
  2690. package/node_modules/@opentelemetry/api/build/src/trace/span_context.js +18 -0
  2691. package/node_modules/@opentelemetry/api/build/src/trace/span_context.js.map +1 -0
  2692. package/node_modules/@opentelemetry/api/build/src/trace/span_kind.d.ts +27 -0
  2693. package/node_modules/@opentelemetry/api/build/src/trace/span_kind.js +46 -0
  2694. package/node_modules/@opentelemetry/api/build/src/trace/span_kind.js.map +1 -0
  2695. package/node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.d.ts +17 -0
  2696. package/node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.js +49 -0
  2697. package/node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.js.map +1 -0
  2698. package/node_modules/@opentelemetry/api/build/src/trace/status.d.ts +25 -0
  2699. package/node_modules/@opentelemetry/api/build/src/trace/status.js +23 -0
  2700. package/node_modules/@opentelemetry/api/build/src/trace/status.js.map +1 -0
  2701. package/node_modules/@opentelemetry/api/build/src/trace/trace_flags.d.ts +7 -0
  2702. package/node_modules/@opentelemetry/api/build/src/trace/trace_flags.js +26 -0
  2703. package/node_modules/@opentelemetry/api/build/src/trace/trace_flags.js.map +1 -0
  2704. package/node_modules/@opentelemetry/api/build/src/trace/trace_state.d.ts +38 -0
  2705. package/node_modules/@opentelemetry/api/build/src/trace/trace_state.js +18 -0
  2706. package/node_modules/@opentelemetry/api/build/src/trace/trace_state.js.map +1 -0
  2707. package/node_modules/@opentelemetry/api/build/src/trace/tracer.d.ts +71 -0
  2708. package/node_modules/@opentelemetry/api/build/src/trace/tracer.js +18 -0
  2709. package/node_modules/@opentelemetry/api/build/src/trace/tracer.js.map +1 -0
  2710. package/node_modules/@opentelemetry/api/build/src/trace/tracer_options.d.ts +10 -0
  2711. package/node_modules/@opentelemetry/api/build/src/trace/tracer_options.js +18 -0
  2712. package/node_modules/@opentelemetry/api/build/src/trace/tracer_options.js.map +1 -0
  2713. package/node_modules/@opentelemetry/api/build/src/trace/tracer_provider.d.ts +21 -0
  2714. package/node_modules/@opentelemetry/api/build/src/trace/tracer_provider.js +18 -0
  2715. package/node_modules/@opentelemetry/api/build/src/trace/tracer_provider.js.map +1 -0
  2716. package/node_modules/@opentelemetry/api/build/src/trace-api.d.ts +4 -0
  2717. package/node_modules/@opentelemetry/api/build/src/trace-api.js +24 -0
  2718. package/node_modules/@opentelemetry/api/build/src/trace-api.js.map +1 -0
  2719. package/node_modules/@opentelemetry/api/build/src/version.d.ts +2 -0
  2720. package/node_modules/@opentelemetry/api/build/src/version.js +21 -0
  2721. package/node_modules/@opentelemetry/api/build/src/version.js.map +1 -0
  2722. package/node_modules/@opentelemetry/api/package.json +113 -0
  2723. package/node_modules/@opentelemetry/semantic-conventions/LICENSE +201 -0
  2724. package/node_modules/@opentelemetry/semantic-conventions/README.md +228 -0
  2725. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_attributes.d.ts +15315 -0
  2726. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_attributes.js +15322 -0
  2727. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_attributes.js.map +1 -0
  2728. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_events.d.ts +265 -0
  2729. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_events.js +272 -0
  2730. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_events.js.map +1 -0
  2731. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_metrics.d.ts +3988 -0
  2732. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_metrics.js +3995 -0
  2733. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_metrics.js.map +1 -0
  2734. package/node_modules/@opentelemetry/semantic-conventions/build/esm/index-incubating.d.ts +7 -0
  2735. package/node_modules/@opentelemetry/semantic-conventions/build/esm/index-incubating.js +13 -0
  2736. package/node_modules/@opentelemetry/semantic-conventions/build/esm/index-incubating.js.map +1 -0
  2737. package/node_modules/@opentelemetry/semantic-conventions/build/esm/index.d.ts +6 -0
  2738. package/node_modules/@opentelemetry/semantic-conventions/build/esm/index.js +16 -0
  2739. package/node_modules/@opentelemetry/semantic-conventions/build/esm/index.js.map +1 -0
  2740. package/node_modules/@opentelemetry/semantic-conventions/build/esm/internal/utils.d.ts +7 -0
  2741. package/node_modules/@opentelemetry/semantic-conventions/build/esm/internal/utils.js +23 -0
  2742. package/node_modules/@opentelemetry/semantic-conventions/build/esm/internal/utils.js.map +1 -0
  2743. package/node_modules/@opentelemetry/semantic-conventions/build/esm/resource/SemanticResourceAttributes.d.ts +1453 -0
  2744. package/node_modules/@opentelemetry/semantic-conventions/build/esm/resource/SemanticResourceAttributes.js +1250 -0
  2745. package/node_modules/@opentelemetry/semantic-conventions/build/esm/resource/SemanticResourceAttributes.js.map +1 -0
  2746. package/node_modules/@opentelemetry/semantic-conventions/build/esm/resource/index.d.ts +2 -0
  2747. package/node_modules/@opentelemetry/semantic-conventions/build/esm/resource/index.js +10 -0
  2748. package/node_modules/@opentelemetry/semantic-conventions/build/esm/resource/index.js.map +1 -0
  2749. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.d.ts +1221 -0
  2750. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js +1228 -0
  2751. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js.map +1 -0
  2752. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_events.d.ts +5 -0
  2753. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_events.js +12 -0
  2754. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_events.js.map +1 -0
  2755. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_metrics.d.ts +308 -0
  2756. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_metrics.js +315 -0
  2757. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_metrics.js.map +1 -0
  2758. package/node_modules/@opentelemetry/semantic-conventions/build/esm/trace/SemanticAttributes.d.ts +2664 -0
  2759. package/node_modules/@opentelemetry/semantic-conventions/build/esm/trace/SemanticAttributes.js +2360 -0
  2760. package/node_modules/@opentelemetry/semantic-conventions/build/esm/trace/SemanticAttributes.js.map +1 -0
  2761. package/node_modules/@opentelemetry/semantic-conventions/build/esm/trace/index.d.ts +2 -0
  2762. package/node_modules/@opentelemetry/semantic-conventions/build/esm/trace/index.js +10 -0
  2763. package/node_modules/@opentelemetry/semantic-conventions/build/esm/trace/index.js.map +1 -0
  2764. package/node_modules/@opentelemetry/semantic-conventions/build/esm/version.d.ts +2 -0
  2765. package/node_modules/@opentelemetry/semantic-conventions/build/esm/version.js +7 -0
  2766. package/node_modules/@opentelemetry/semantic-conventions/build/esm/version.js.map +1 -0
  2767. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_attributes.d.ts +15315 -0
  2768. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_attributes.js +15322 -0
  2769. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_attributes.js.map +1 -0
  2770. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_events.d.ts +265 -0
  2771. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_events.js +272 -0
  2772. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_events.js.map +1 -0
  2773. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_metrics.d.ts +3988 -0
  2774. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_metrics.js +3995 -0
  2775. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_metrics.js.map +1 -0
  2776. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/index-incubating.d.ts +7 -0
  2777. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/index-incubating.js +13 -0
  2778. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/index-incubating.js.map +1 -0
  2779. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/index.d.ts +6 -0
  2780. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/index.js +16 -0
  2781. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/index.js.map +1 -0
  2782. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/internal/utils.d.ts +7 -0
  2783. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/internal/utils.js +23 -0
  2784. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/internal/utils.js.map +1 -0
  2785. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/resource/SemanticResourceAttributes.d.ts +1453 -0
  2786. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/resource/SemanticResourceAttributes.js +1250 -0
  2787. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/resource/SemanticResourceAttributes.js.map +1 -0
  2788. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/resource/index.d.ts +2 -0
  2789. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/resource/index.js +10 -0
  2790. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/resource/index.js.map +1 -0
  2791. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_attributes.d.ts +1221 -0
  2792. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_attributes.js +1228 -0
  2793. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_attributes.js.map +1 -0
  2794. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_events.d.ts +5 -0
  2795. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_events.js +12 -0
  2796. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_events.js.map +1 -0
  2797. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_metrics.d.ts +308 -0
  2798. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_metrics.js +315 -0
  2799. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_metrics.js.map +1 -0
  2800. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/trace/SemanticAttributes.d.ts +2664 -0
  2801. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/trace/SemanticAttributes.js +2360 -0
  2802. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/trace/SemanticAttributes.js.map +1 -0
  2803. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/trace/index.d.ts +2 -0
  2804. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/trace/index.js +10 -0
  2805. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/trace/index.js.map +1 -0
  2806. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/version.d.ts +2 -0
  2807. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/version.js +7 -0
  2808. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/version.js.map +1 -0
  2809. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_attributes.d.ts +15315 -0
  2810. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_attributes.js +15397 -0
  2811. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_attributes.js.map +1 -0
  2812. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_events.d.ts +265 -0
  2813. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_events.js +275 -0
  2814. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_events.js.map +1 -0
  2815. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_metrics.d.ts +3988 -0
  2816. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_metrics.js +4007 -0
  2817. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_metrics.js.map +1 -0
  2818. package/node_modules/@opentelemetry/semantic-conventions/build/src/index-incubating.d.ts +7 -0
  2819. package/node_modules/@opentelemetry/semantic-conventions/build/src/index-incubating.js +29 -0
  2820. package/node_modules/@opentelemetry/semantic-conventions/build/src/index-incubating.js.map +1 -0
  2821. package/node_modules/@opentelemetry/semantic-conventions/build/src/index.d.ts +6 -0
  2822. package/node_modules/@opentelemetry/semantic-conventions/build/src/index.js +32 -0
  2823. package/node_modules/@opentelemetry/semantic-conventions/build/src/index.js.map +1 -0
  2824. package/node_modules/@opentelemetry/semantic-conventions/build/src/internal/utils.d.ts +7 -0
  2825. package/node_modules/@opentelemetry/semantic-conventions/build/src/internal/utils.js +27 -0
  2826. package/node_modules/@opentelemetry/semantic-conventions/build/src/internal/utils.js.map +1 -0
  2827. package/node_modules/@opentelemetry/semantic-conventions/build/src/resource/SemanticResourceAttributes.d.ts +1453 -0
  2828. package/node_modules/@opentelemetry/semantic-conventions/build/src/resource/SemanticResourceAttributes.js +1255 -0
  2829. package/node_modules/@opentelemetry/semantic-conventions/build/src/resource/SemanticResourceAttributes.js.map +1 -0
  2830. package/node_modules/@opentelemetry/semantic-conventions/build/src/resource/index.d.ts +2 -0
  2831. package/node_modules/@opentelemetry/semantic-conventions/build/src/resource/index.js +26 -0
  2832. package/node_modules/@opentelemetry/semantic-conventions/build/src/resource/index.js.map +1 -0
  2833. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.d.ts +1221 -0
  2834. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.js +1235 -0
  2835. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.js.map +1 -0
  2836. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_events.d.ts +5 -0
  2837. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_events.js +15 -0
  2838. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_events.js.map +1 -0
  2839. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_metrics.d.ts +308 -0
  2840. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_metrics.js +319 -0
  2841. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_metrics.js.map +1 -0
  2842. package/node_modules/@opentelemetry/semantic-conventions/build/src/trace/SemanticAttributes.d.ts +2664 -0
  2843. package/node_modules/@opentelemetry/semantic-conventions/build/src/trace/SemanticAttributes.js +2368 -0
  2844. package/node_modules/@opentelemetry/semantic-conventions/build/src/trace/SemanticAttributes.js.map +1 -0
  2845. package/node_modules/@opentelemetry/semantic-conventions/build/src/trace/index.d.ts +2 -0
  2846. package/node_modules/@opentelemetry/semantic-conventions/build/src/trace/index.js +26 -0
  2847. package/node_modules/@opentelemetry/semantic-conventions/build/src/trace/index.js.map +1 -0
  2848. package/node_modules/@opentelemetry/semantic-conventions/build/src/version.d.ts +2 -0
  2849. package/node_modules/@opentelemetry/semantic-conventions/build/src/version.js +10 -0
  2850. package/node_modules/@opentelemetry/semantic-conventions/build/src/version.js.map +1 -0
  2851. package/node_modules/@opentelemetry/semantic-conventions/package.json +82 -0
  2852. package/node_modules/@protobufjs/eventemitter/CHANGELOG.md +8 -0
  2853. package/node_modules/@protobufjs/eventemitter/index.d.ts +10 -8
  2854. package/node_modules/@protobufjs/eventemitter/index.js +17 -7
  2855. package/node_modules/@protobufjs/eventemitter/package.json +2 -2
  2856. package/node_modules/@protobufjs/eventemitter/tests/index.js +39 -3
  2857. package/node_modules/protobufjs/README.md +1 -1
  2858. package/node_modules/protobufjs/dist/light/protobuf.js +294 -274
  2859. package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  2860. package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  2861. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  2862. package/node_modules/protobufjs/dist/minimal/protobuf.js +95 -101
  2863. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  2864. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
  2865. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  2866. package/node_modules/protobufjs/dist/protobuf.js +335 -301
  2867. package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  2868. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  2869. package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  2870. package/node_modules/protobufjs/ext/descriptor/index.js +7 -2
  2871. package/node_modules/protobufjs/index.d.ts +13 -11
  2872. package/node_modules/protobufjs/package.json +4 -5
  2873. package/node_modules/protobufjs/src/converter.js +22 -14
  2874. package/node_modules/protobufjs/src/decoder.js +1 -1
  2875. package/node_modules/protobufjs/src/encoder.js +8 -5
  2876. package/node_modules/protobufjs/src/enum.js +2 -2
  2877. package/node_modules/protobufjs/src/field.js +1 -1
  2878. package/node_modules/protobufjs/src/namespace.js +2 -0
  2879. package/node_modules/protobufjs/src/object.js +6 -6
  2880. package/node_modules/protobufjs/src/parse.js +19 -5
  2881. package/node_modules/protobufjs/src/root.js +14 -8
  2882. package/node_modules/protobufjs/src/roots.js +1 -1
  2883. package/node_modules/protobufjs/src/service.js +5 -7
  2884. package/node_modules/protobufjs/src/type.js +12 -7
  2885. package/node_modules/protobufjs/src/util/minimal.js +33 -11
  2886. package/node_modules/protobufjs/src/util/patterns.js +0 -1
  2887. package/node_modules/protobufjs/src/util.js +4 -3
  2888. package/node_modules/protobufjs/src/verifier.js +1 -1
  2889. package/node_modules/protobufjs/src/wrappers.js +11 -7
  2890. package/node_modules/protobufjs/src/writer.js +11 -9
  2891. package/node_modules/ws/lib/receiver.js +54 -0
  2892. package/node_modules/ws/lib/websocket-server.js +8 -0
  2893. package/node_modules/ws/lib/websocket.js +14 -0
  2894. package/node_modules/ws/package.json +1 -1
  2895. package/npm-shrinkwrap.json +52 -289
  2896. package/package.json +8 -7
  2897. package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.d.ts +0 -4
  2898. package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.d.ts.map +0 -1
  2899. package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.js +0 -34
  2900. package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.js.map +0 -1
  2901. package/node_modules/@mistralai/mistralai/esm/models/components/authenticationtype.d.ts +0 -13
  2902. package/node_modules/@mistralai/mistralai/esm/models/components/authenticationtype.d.ts.map +0 -1
  2903. package/node_modules/@mistralai/mistralai/esm/models/components/authenticationtype.js +0 -15
  2904. package/node_modules/@mistralai/mistralai/esm/models/components/authenticationtype.js.map +0 -1
  2905. package/node_modules/@mistralai/mistralai/packages/mistralai-azure/src/models/components/tooltypes.ts +0 -20
  2906. package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/components/tooltypes.ts +0 -20
  2907. package/node_modules/@mistralai/mistralai/src/models/components/authenticationtype.ts +0 -26
  2908. package/node_modules/@protobufjs/inquire/CHANGELOG.md +0 -8
  2909. package/node_modules/@protobufjs/inquire/LICENSE +0 -26
  2910. package/node_modules/@protobufjs/inquire/README.md +0 -13
  2911. package/node_modules/@protobufjs/inquire/index.d.ts +0 -10
  2912. package/node_modules/@protobufjs/inquire/index.js +0 -38
  2913. package/node_modules/@protobufjs/inquire/package.json +0 -21
  2914. package/node_modules/@protobufjs/inquire/tests/data/array.js +0 -1
  2915. package/node_modules/@protobufjs/inquire/tests/data/emptyArray.js +0 -1
  2916. package/node_modules/@protobufjs/inquire/tests/data/emptyObject.js +0 -1
  2917. package/node_modules/@protobufjs/inquire/tests/data/object.js +0 -1
  2918. package/node_modules/@protobufjs/inquire/tests/index.js +0 -20
  2919. /package/node_modules/@mistralai/mistralai/packages/mistralai-gcp/src/models/errors/{mistralgoogleclouderror.ts → mistralgcperror.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session.js","sourceRoot":"","sources":["../../src/core/agent-session.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * AgentSession - Core abstraction for agent lifecycle and session management.\n *\n * This class is shared between all run modes (interactive, print, rpc).\n * It encapsulates:\n * - Agent state access\n * - Event subscription with automatic session persistence\n * - Model and thinking level management\n * - Compaction (manual and auto)\n * - Bash execution\n * - Session switching and branching\n *\n * Modes use this class and add their own I/O layer on top.\n */\n\nimport { randomUUID } from \"node:crypto\";\nimport { existsSync, mkdirSync, readFileSync, writeFileSync } from \"node:fs\";\nimport { basename, dirname } from \"node:path\";\nimport type {\n\tAgent,\n\tAgentEvent,\n\tAgentMessage,\n\tAgentState,\n\tAgentTool,\n\tThinkingLevel,\n} from \"@earendil-works/pi-agent-core\";\nimport type { AssistantMessage, ImageContent, Message, Model, TextContent } from \"@earendil-works/pi-ai\";\nimport {\n\tcleanupSessionResources,\n\tisContextOverflow,\n\tmodelsAreEqual,\n\tresetApiProviders,\n\tstreamSimple,\n} from \"@earendil-works/pi-ai\";\nimport { getThemeByName, theme } from \"../modes/interactive/theme/theme.ts\";\nimport { stripFrontmatter } from \"../utils/frontmatter.ts\";\nimport { resolvePath } from \"../utils/paths.ts\";\nimport { sleep } from \"../utils/sleep.ts\";\nimport { formatNoApiKeyFoundMessage, formatNoModelSelectedMessage } from \"./auth-guidance.ts\";\nimport { type BashResult, executeBashWithOperations } from \"./bash-executor.ts\";\nimport {\n\ttype CompactionResult,\n\tcalculateContextTokens,\n\tcollectEntriesForBranchSummary,\n\tcompact,\n\testimateContextTokens,\n\testimateTokens,\n\tgenerateBranchSummary,\n\tprepareCompaction,\n\tshouldCompact,\n} from \"./compaction/index.ts\";\nimport { DEFAULT_THINKING_LEVEL } from \"./defaults.ts\";\nimport { type BuildDynamicSystemPromptOptions, buildDynamicSystemPrompt } from \"./dynamic-prompt/index.ts\";\nimport { exportSessionToHtml, type ToolHtmlRenderer } from \"./export-html/index.ts\";\nimport { createToolHtmlRenderer } from \"./export-html/tool-renderer.ts\";\nimport type { ServiceTier } from \"./extensions/builtin/service-tier.ts\";\nimport {\n\ttype ContextUsage,\n\ttype ExtensionCommandContextActions,\n\ttype ExtensionErrorListener,\n\ttype ExtensionMode,\n\tExtensionRunner,\n\ttype ExtensionToolHookLifecycleEvent,\n\ttype ExtensionUIContext,\n\ttype InputSource,\n\ttype MessageEndEvent,\n\ttype MessageStartEvent,\n\ttype MessageUpdateEvent,\n\ttype ReplacedSessionContext,\n\ttype SessionBeforeCompactResult,\n\ttype SessionBeforeTreeResult,\n\ttype SessionStartEvent,\n\ttype ShutdownHandler,\n\ttype SystemPromptChangeEvent,\n\ttype ToolDefinition,\n\ttype ToolExecutionEndEvent,\n\ttype ToolExecutionStartEvent,\n\ttype ToolExecutionUpdateEvent,\n\ttype ToolInfo,\n\ttype TreePreparation,\n\ttype TurnEndEvent,\n\ttype TurnStartEvent,\n\twrapRegisteredTools,\n} from \"./extensions/index.ts\";\nimport { emitSessionShutdownEvent } from \"./extensions/runner.ts\";\nimport type {\n\tApplyCompactionOptions,\n\tApplyCompactionResult,\n\tCompactionReason,\n\tCompactionRejectionCause,\n} from \"./extensions/types.ts\";\nimport { type BashExecutionMessage, type CustomMessage, filterContextExcludedMessages } from \"./messages.ts\";\nimport type { ModelRegistry } from \"./model-registry.ts\";\nimport { getModelNarrowingPatterns, resolveModelScope } from \"./model-resolver.ts\";\nimport { expandPromptTemplate, type PromptTemplate } from \"./prompt-templates.ts\";\nimport type { ResourceExtensionPaths, ResourceLoader } from \"./resource-loader.ts\";\nimport type { BranchSummaryEntry, CompactionEntry, SessionEntry, SessionManager } from \"./session-manager.ts\";\nimport {\n\tbuildSessionContext,\n\tCURRENT_SESSION_VERSION,\n\tgetLatestCompactionEntry,\n\ttype SessionHeader,\n} from \"./session-manager.ts\";\nimport { SessionWorkBarrier } from \"./session-work-barrier.ts\";\nimport type { SettingsManager } from \"./settings-manager.ts\";\nimport type { SlashCommandInfo } from \"./slash-commands.ts\";\nimport { createSyntheticSourceInfo, type SourceInfo } from \"./source-info.ts\";\nimport { getSupportedThinkingLevels, supportsMax, supportsXhigh } from \"./thinking-levels.ts\";\nimport { type BashOperations, createLocalBashOperations } from \"./tools/bash.ts\";\nimport { createAllToolDefinitions } from \"./tools/index.ts\";\nimport { createToolDefinitionFromAgentTool } from \"./tools/tool-definition-wrapper.ts\";\n\n// ============================================================================\n// Skill Block Parsing\n// ============================================================================\n\n/** Parsed skill block from a user message */\nexport interface ParsedSkillBlock {\n\tname: string;\n\tlocation: string;\n\tcontent: string;\n\tuserMessage: string | undefined;\n}\n\n/**\n * Parse a skill block from message text.\n * Returns null if the text doesn't contain a skill block.\n */\nexport function parseSkillBlock(text: string): ParsedSkillBlock | null {\n\tconst match = text.match(/^<skill name=\"([^\"]+)\" location=\"([^\"]+)\">\\n([\\s\\S]*?)\\n<\\/skill>(?:\\n\\n([\\s\\S]+))?$/);\n\tif (!match) return null;\n\treturn {\n\t\tname: match[1],\n\t\tlocation: match[2],\n\t\tcontent: match[3],\n\t\tuserMessage: match[4]?.trim() || undefined,\n\t};\n}\n\n/** Session-specific events that extend the core AgentEvent */\ntype AgentSessionAgentEndEvent = Extract<AgentEvent, { type: \"agent_end\" }> & { willRetry: boolean };\n\nexport type AgentSessionEvent =\n\t| Exclude<AgentEvent, { type: \"agent_end\" }>\n\t| AgentSessionAgentEndEvent\n\t| {\n\t\t\ttype: \"queue_update\";\n\t\t\tsteering: readonly string[];\n\t\t\tfollowUp: readonly string[];\n\t }\n\t| { type: \"compaction_start\"; reason: CompactionReason }\n\t| { type: \"compaction_progress\"; reason: CompactionReason; delta?: string; text?: string }\n\t| { type: \"session_info_changed\"; name: string | undefined }\n\t| ExtensionToolHookLifecycleEvent\n\t| SystemPromptChangeEvent\n\t| { type: \"thinking_level_changed\"; level: ThinkingLevel }\n\t| {\n\t\t\ttype: \"compaction_end\";\n\t\t\treason: CompactionReason;\n\t\t\tresult: CompactionResult | undefined;\n\t\t\taborted: boolean;\n\t\t\twillRetry: boolean;\n\t\t\trequestId?: string;\n\t\t\taccepted?: boolean;\n\t\t\trejectionCause?: CompactionRejectionCause;\n\t\t\terrorMessage?: string;\n\t }\n\t| { type: \"auto_retry_start\"; attempt: number; maxAttempts: number; delayMs: number; errorMessage: string }\n\t| { type: \"auto_retry_end\"; success: boolean; attempt: number; finalError?: string };\n\n/** Listener function for agent session events */\nexport type AgentSessionEventListener = (event: AgentSessionEvent) => void;\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface AgentSessionConfig {\n\tagent: Agent;\n\tsessionManager: SessionManager;\n\tsettingsManager: SettingsManager;\n\tcwd: string;\n\t/** Global model narrowing for selectors and startup model choice (from --models / enabledModels) */\n\tscopedModels?: Array<{ model: Model<any>; thinkingLevel?: ThinkingLevel; serviceTier?: ServiceTier }>;\n\t/** Favorite models to cycle through with Ctrl+P */\n\tfavoriteModels?: Array<{ model: Model<any>; thinkingLevel?: ThinkingLevel; serviceTier?: ServiceTier }>;\n\t/** Resource loader for skills, prompts, themes, context files, system prompt */\n\tresourceLoader: ResourceLoader;\n\t/** SDK custom tools registered outside extensions */\n\tcustomTools?: ToolDefinition[];\n\t/** Model registry for API key resolution and model discovery */\n\tmodelRegistry: ModelRegistry;\n\t/** Initial active built-in tool names. Default: [read, bash, edit, write] */\n\tinitialActiveToolNames?: string[];\n\t/** Optional allowlist of tool names. When provided, only these tool names are exposed. */\n\tallowedToolNames?: string[];\n\t/** Optional denylist of tool names. When provided, these tool names are not exposed. */\n\texcludedToolNames?: string[];\n\t/**\n\t * Override base tools (useful for custom runtimes).\n\t *\n\t * These are synthesized into minimal ToolDefinitions internally so AgentSession can keep\n\t * a definition-first registry even when callers provide plain AgentTool instances.\n\t */\n\tbaseToolsOverride?: Record<string, AgentTool>;\n\t/** Mutable ref used by Agent to access the current ExtensionRunner */\n\textensionRunnerRef?: { current?: ExtensionRunner };\n\t/** Session start event metadata emitted when extensions bind to this runtime. */\n\tsessionStartEvent?: SessionStartEvent;\n}\n\ntype SessionModelEntry = { model: Model<any>; thinkingLevel?: ThinkingLevel; serviceTier?: ServiceTier };\n\ninterface CompactionExecutionRequest {\n\treason: CompactionReason;\n\tcustomInstructions?: string;\n\twillRetry: boolean;\n\tskipAbortedCheck?: boolean;\n\tlastAssistantMessage?: AgentMessage;\n\tprecomputed?: CompactionResult;\n}\n\ntype CompactionExecutionResult =\n\t| {\n\t\t\taccepted: true;\n\t\t\trequestId: string;\n\t\t\tresult: CompactionResult;\n\t\t\tcompactionEntry: CompactionEntry;\n\t\t\tfromExtension: boolean;\n\t }\n\t| {\n\t\t\taccepted: false;\n\t\t\trequestId: string;\n\t\t\trejectionCause: CompactionRejectionCause;\n\t };\n\nclass CompactionRejectedError extends Error {\n\treadonly rejectionCause: CompactionRejectionCause;\n\n\tconstructor(rejectionCause: CompactionRejectionCause) {\n\t\tsuper(rejectionCause === \"cancelled-by-extension\" ? \"Compaction cancelled\" : \"Compaction rejected\");\n\t\tthis.name = \"CompactionRejectedError\";\n\t\tthis.rejectionCause = rejectionCause;\n\t}\n}\n\nexport interface ExtensionBindings {\n\tuiContext?: ExtensionUIContext;\n\tmode?: ExtensionMode;\n\tcommandContextActions?: ExtensionCommandContextActions;\n\tabortHandler?: () => void;\n\tshutdownHandler?: ShutdownHandler;\n\tonError?: ExtensionErrorListener;\n}\n\n/** Options for AgentSession.prompt() */\nexport interface PromptOptions {\n\t/** Whether to expand file-based prompt templates (default: true) */\n\texpandPromptTemplates?: boolean;\n\t/** Image attachments */\n\timages?: ImageContent[];\n\t/** When streaming, how to queue the message: \"steer\" (interrupt) or \"followUp\" (wait). Required if streaming. */\n\tstreamingBehavior?: \"steer\" | \"followUp\";\n\t/** Source of input for extension input event handlers. Defaults to \"interactive\". */\n\tsource?: InputSource;\n\t/** Internal hook used by RPC mode to observe prompt preflight acceptance or rejection. */\n\tpreflightResult?: (success: boolean) => void;\n}\n\n/** Result from cycleModel() */\nexport interface ModelCycleResult {\n\tmodel: Model<any>;\n\tthinkingLevel: ThinkingLevel;\n\t/** Whether cycling used the configured favorite model list */\n\tisScoped: boolean;\n\t/** Present when the model switch also changed the active system prompt. */\n\tsystemPromptChange?: SystemPromptChangeEvent;\n}\n\n/** Session statistics for /session command */\nexport interface SessionStats {\n\tsessionFile: string | undefined;\n\tsessionId: string;\n\tuserMessages: number;\n\tassistantMessages: number;\n\ttoolCalls: number;\n\ttoolResults: number;\n\ttotalMessages: number;\n\ttokens: {\n\t\tinput: number;\n\t\toutput: number;\n\t\tcacheRead: number;\n\t\tcacheWrite: number;\n\t\ttotal: number;\n\t};\n\tcost: number;\n\tcontextUsage?: ContextUsage;\n}\n\ninterface ToolDefinitionEntry {\n\tdefinition: ToolDefinition;\n\tsourceInfo: SourceInfo;\n}\n\n// ============================================================================\n// Constants\n// ============================================================================\n\n/** Thinking levels including native max (Opus 4.6 legacy / Opus 4.7 native). */\nconst THINKING_LEVELS_WITH_MAX: ThinkingLevel[] = [\"off\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\", \"max\"];\n\n// ============================================================================\n// AgentSession Class\n// ============================================================================\n\nexport class AgentSession {\n\treadonly agent: Agent;\n\treadonly sessionManager: SessionManager;\n\treadonly settingsManager: SettingsManager;\n\n\tprivate _scopedModels: SessionModelEntry[];\n\tprivate _favoriteModels: SessionModelEntry[];\n\n\t// Event subscription state\n\tprivate _unsubscribeAgent?: () => void;\n\tprivate _eventListeners: AgentSessionEventListener[] = [];\n\tprivate _agentEventQueue: Promise<void> = Promise.resolve();\n\n\t/** Tracks pending steering messages for UI display. Removed when delivered. */\n\tprivate _steeringMessages: string[] = [];\n\t/** Tracks pending follow-up messages for UI display. Removed when delivered. */\n\tprivate _followUpMessages: string[] = [];\n\t/** Messages queued to be included with the next user prompt as context (\"asides\"). */\n\tprivate _pendingNextTurnMessages: CustomMessage[] = [];\n\n\t// Compaction state\n\tprivate _compactionAbortController: AbortController | undefined = undefined;\n\tprivate _autoCompactionAbortController: AbortController | undefined = undefined;\n\tprivate readonly _sessionWorkBarrier = new SessionWorkBarrier();\n\tprivate _overflowRecoveryAttempted = false;\n\tprivate _messageRevision = 0;\n\n\t// Branch summarization state\n\tprivate _branchSummaryAbortController: AbortController | undefined = undefined;\n\n\t// Retry state\n\tprivate _retryAbortController: AbortController | undefined = undefined;\n\tprivate _retryAttempt = 0;\n\tprivate _retryPromise: Promise<void> | undefined = undefined;\n\tprivate _retryResolve: (() => void) | undefined = undefined;\n\tprivate _userAbortPromise: Promise<void> | undefined = undefined;\n\n\t// Bash execution state\n\tprivate _bashAbortController: AbortController | undefined = undefined;\n\tprivate _pendingBashMessages: BashExecutionMessage[] = [];\n\n\t// Extension system\n\tprivate _extensionRunner!: ExtensionRunner;\n\tprivate _turnIndex = 0;\n\n\tprivate _resourceLoader: ResourceLoader;\n\tprivate _customTools: ToolDefinition[];\n\tprivate _baseToolDefinitions: Map<string, ToolDefinition> = new Map();\n\tprivate _cwd: string;\n\tprivate _extensionRunnerRef?: { current?: ExtensionRunner };\n\tprivate _initialActiveToolNames?: string[];\n\tprivate _allowedToolNames?: Set<string>;\n\tprivate _excludedToolNames?: Set<string>;\n\tprivate _baseToolsOverride?: Record<string, AgentTool>;\n\tprivate _sessionStartEvent: SessionStartEvent;\n\tprivate _extensionUIContext?: ExtensionUIContext;\n\tprivate _extensionMode: ExtensionMode = \"print\";\n\tprivate _extensionCommandContextActions?: ExtensionCommandContextActions;\n\tprivate _extensionAbortHandler?: () => void;\n\tprivate _extensionShutdownHandler?: ShutdownHandler;\n\tprivate _extensionErrorListener?: ExtensionErrorListener;\n\tprivate _extensionErrorUnsubscriber?: () => void;\n\n\t// Model registry for API key resolution\n\tprivate _modelRegistry: ModelRegistry;\n\n\t// Tool registry for extension getTools/setTools\n\tprivate _toolRegistry: Map<string, AgentTool> = new Map();\n\tprivate _toolDefinitions: Map<string, ToolDefinitionEntry> = new Map();\n\tprivate _toolPromptSnippets: Map<string, string> = new Map();\n\tprivate _toolPromptGuidelines: Map<string, string[]> = new Map();\n\n\t// Base system prompt (without extension appends) - used to apply fresh appends each turn\n\tprivate _baseSystemPrompt = \"\";\n\tprivate _currentServiceTier: ServiceTier | undefined = undefined;\n\tprivate _baseSystemPromptOptions!: BuildDynamicSystemPromptOptions;\n\n\tconstructor(config: AgentSessionConfig) {\n\t\tthis.agent = config.agent;\n\t\tthis.sessionManager = config.sessionManager;\n\t\tthis.settingsManager = config.settingsManager;\n\t\tthis._scopedModels = config.scopedModels ?? [];\n\t\tthis._favoriteModels = config.favoriteModels ?? [];\n\t\tthis._resourceLoader = config.resourceLoader;\n\t\tthis._customTools = config.customTools ?? [];\n\t\tthis._cwd = config.cwd;\n\t\tthis._modelRegistry = config.modelRegistry;\n\t\tthis._extensionRunnerRef = config.extensionRunnerRef;\n\t\tthis._initialActiveToolNames = config.initialActiveToolNames;\n\t\tthis._allowedToolNames = config.allowedToolNames ? new Set(config.allowedToolNames) : undefined;\n\t\tthis._excludedToolNames = config.excludedToolNames ? new Set(config.excludedToolNames) : undefined;\n\t\tthis._baseToolsOverride = config.baseToolsOverride;\n\t\tthis._sessionStartEvent = config.sessionStartEvent ?? { type: \"session_start\", reason: \"startup\" };\n\n\t\tconst initialModel = this.agent.state.model;\n\t\tif (initialModel) {\n\t\t\tconst scopedMatch = this._scopedModels.find((sm) => modelsAreEqual(sm.model, initialModel));\n\t\t\tthis._currentServiceTier = scopedMatch?.serviceTier;\n\t\t}\n\n\t\tthis._unsubscribeAgent = this.agent.subscribe(this._handleAgentEvent);\n\t\tthis._installAgentToolHooks();\n\t\tconst previousPrepareNextTurn = this.agent.prepareNextTurn;\n\t\tthis.agent.prepareNextTurn = async (signal) => {\n\t\t\tconst nextTurn = await previousPrepareNextTurn?.(signal);\n\t\t\tconst model = this.agent.state.model;\n\t\t\tif (!model) {\n\t\t\t\treturn nextTurn;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...nextTurn,\n\t\t\t\tmodel,\n\t\t\t\tthinkingLevel: this.agent.state.thinkingLevel,\n\t\t\t};\n\t\t};\n\n\t\tthis._buildRuntime({\n\t\t\tactiveToolNames: this._initialActiveToolNames,\n\t\t\tincludeAllExtensionTools: true,\n\t\t});\n\t}\n\n\t/** Model registry for API key resolution and model discovery */\n\tget modelRegistry(): ModelRegistry {\n\t\treturn this._modelRegistry;\n\t}\n\n\tprivate async _getRequiredRequestAuth(model: Model<any>): Promise<{\n\t\tapiKey: string;\n\t\theaders?: Record<string, string>;\n\t\textraBody?: Record<string, unknown>;\n\t\tenv?: Record<string, string>;\n\t}> {\n\t\tconst result = await this._modelRegistry.getApiKeyAndHeaders(model);\n\t\tif (!result.ok) {\n\t\t\tif (result.error.startsWith(\"No API key found\")) {\n\t\t\t\tthrow new Error(formatNoApiKeyFoundMessage(model.provider));\n\t\t\t}\n\t\t\tthrow new Error(result.error);\n\t\t}\n\t\tif (result.apiKey) {\n\t\t\treturn { apiKey: result.apiKey, headers: result.headers, extraBody: result.extraBody, env: result.env };\n\t\t}\n\n\t\tconst isOAuth = this._modelRegistry.isUsingOAuth(model);\n\t\tif (isOAuth) {\n\t\t\tthrow new Error(\n\t\t\t\t`Authentication failed for \"${model.provider}\". ` +\n\t\t\t\t\t`Credentials may have expired or network is unavailable. ` +\n\t\t\t\t\t`Run '/login ${model.provider}' to re-authenticate.`,\n\t\t\t);\n\t\t}\n\t\tthrow new Error(formatNoApiKeyFoundMessage(model.provider));\n\t}\n\n\tprivate async _getCompactionRequestAuth(model: Model<any>): Promise<{\n\t\tapiKey?: string;\n\t\theaders?: Record<string, string>;\n\t\textraBody?: Record<string, unknown>;\n\t\tenv?: Record<string, string>;\n\t}> {\n\t\tif (this.agent.streamFn === streamSimple) {\n\t\t\treturn this._getRequiredRequestAuth(model);\n\t\t}\n\n\t\tconst result = await this._modelRegistry.getApiKeyAndHeaders(model);\n\t\treturn result.ok\n\t\t\t? { apiKey: result.apiKey, headers: result.headers, extraBody: result.extraBody, env: result.env }\n\t\t\t: {};\n\t}\n\n\t/**\n\t * Install tool hooks once on the Agent instance.\n\t *\n\t * The callbacks read `this._extensionRunner` at execution time, so extension reload swaps in the\n\t * new runner without reinstalling hooks. Extension-specific tool wrappers are still used to adapt\n\t * registered tool execution to the extension context. Tool call and tool result interception now\n\t * happens here instead of in wrappers.\n\t */\n\tprivate _installAgentToolHooks(): void {\n\t\tthis.agent.beforeToolCall = async ({ toolCall, args }) => {\n\t\t\tconst runner = this._extensionRunner;\n\t\t\tif (!runner.hasHandlers(\"tool_call\")) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tawait this._agentEventQueue;\n\n\t\t\ttry {\n\t\t\t\treturn await runner.emitToolCall({\n\t\t\t\t\ttype: \"tool_call\",\n\t\t\t\t\ttoolName: toolCall.name,\n\t\t\t\t\ttoolCallId: toolCall.id,\n\t\t\t\t\tinput: args as Record<string, unknown>,\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\tif (err instanceof Error) {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t\tthrow new Error(`Extension failed, blocking execution: ${String(err)}`);\n\t\t\t}\n\t\t};\n\n\t\tthis.agent.afterToolCall = async ({ toolCall, args, result, isError }) => {\n\t\t\tconst runner = this._extensionRunner;\n\t\t\tif (!runner.hasHandlers(\"tool_result\")) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tconst hookResult = await runner.emitToolResult({\n\t\t\t\ttype: \"tool_result\",\n\t\t\t\ttoolName: toolCall.name,\n\t\t\t\ttoolCallId: toolCall.id,\n\t\t\t\tinput: args as Record<string, unknown>,\n\t\t\t\tcontent: result.content,\n\t\t\t\tdetails: result.details,\n\t\t\t\tisError,\n\t\t\t});\n\n\t\t\tif (!hookResult) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcontent: hookResult.content,\n\t\t\t\tdetails: hookResult.details,\n\t\t\t\tisError: hookResult.isError ?? isError,\n\t\t\t};\n\t\t};\n\t}\n\n\t// =========================================================================\n\t// Event Subscription\n\t// =========================================================================\n\n\t/** Emit an event to all listeners */\n\tprivate _emit(event: AgentSessionEvent): void {\n\t\tfor (const l of this._eventListeners) {\n\t\t\tl(event);\n\t\t}\n\t}\n\n\tprivate _emitQueueUpdate(): void {\n\t\tthis._emit({\n\t\t\ttype: \"queue_update\",\n\t\t\tsteering: [...this._steeringMessages],\n\t\t\tfollowUp: [...this._followUpMessages],\n\t\t});\n\t}\n\n\tprivate _incrementMessageRevision(): void {\n\t\tthis._messageRevision++;\n\t}\n\n\tgetMessageRevision(): number {\n\t\treturn this._messageRevision;\n\t}\n\n\tprivate async _waitForSettledSessionWork(): Promise<void> {\n\t\tawait this._sessionWorkBarrier.waitForSettled(() => this._agentEventQueue);\n\t}\n\n\tprivate _modelSelectionChangesContext(previousModel: Model<any> | undefined, nextModel: Model<any>): boolean {\n\t\tif (!modelsAreEqual(previousModel, nextModel)) return true;\n\t\treturn previousModel?.contextWindow !== nextModel.contextWindow;\n\t}\n\n\tprivate _invalidateCompactionForModelSelection(): void {\n\t\tthis.abortCompaction();\n\t\tthis.abortBranchSummary();\n\t\tthis._incrementMessageRevision();\n\t}\n\n\t// Track last assistant message for auto-compaction check\n\tprivate _lastAssistantMessage: AssistantMessage | undefined = undefined;\n\n\t/** Internal handler for agent events - shared by subscribe and reconnect */\n\tprivate _handleAgentEvent = (event: AgentEvent): void => {\n\t\t// Create retry promise synchronously before queueing async processing.\n\t\t// Agent.emit() calls this handler synchronously, and prompt() calls waitForRetry()\n\t\t// as soon as agent.prompt() resolves. If _retryPromise is created only inside\n\t\t// _processAgentEvent, slow earlier queued events can delay agent_end processing\n\t\t// and waitForRetry() can miss the in-flight retry.\n\t\tthis._createRetryPromiseForAgentEnd(event);\n\n\t\tthis._agentEventQueue = this._agentEventQueue.then(\n\t\t\t() => this._processAgentEvent(event),\n\t\t\t() => this._processAgentEvent(event),\n\t\t);\n\n\t\t// Keep queue alive if an event handler fails\n\t\tthis._agentEventQueue.catch(() => {});\n\t};\n\n\tprivate _createRetryPromiseForAgentEnd(event: AgentEvent): void {\n\t\tif (event.type !== \"agent_end\" || this._retryPromise) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst settings = this.settingsManager.getRetrySettings();\n\t\tif (!settings.enabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst lastAssistant = this._findLastAssistantInMessages(event.messages);\n\t\tif (!lastAssistant || !this._isRetryableError(lastAssistant)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._retryPromise = new Promise((resolve) => {\n\t\t\tthis._retryResolve = resolve;\n\t\t});\n\t}\n\n\tprivate _findLastAssistantInMessages(messages: AgentMessage[]): AssistantMessage | undefined {\n\t\tfor (let i = messages.length - 1; i >= 0; i--) {\n\t\t\tconst message = messages[i];\n\t\t\tif (message.role === \"assistant\") {\n\t\t\t\treturn message as AssistantMessage;\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate _willRetryAfterAgentEnd(messages: AgentMessage[]): boolean {\n\t\tconst settings = this.settingsManager.getRetrySettings();\n\t\tif (!settings.enabled) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst lastAssistant = this._lastAssistantMessage ?? this._findLastAssistantInMessages(messages);\n\t\tif (!lastAssistant || !this._isRetryableError(lastAssistant)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (this._retryAttempt + 1 > settings.maxRetries) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst errorMessage = lastAssistant.errorMessage || \"Unknown error\";\n\t\tconst providerDelayMs = this._getProviderRetryDelayMs(errorMessage);\n\t\tif (providerDelayMs === undefined) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn providerDelayMs <= this.settingsManager.getProviderRetrySettings().maxRetryDelayMs;\n\t}\n\n\tprivate async _processAgentEvent(event: AgentEvent): Promise<void> {\n\t\t// When a user message starts, check if it's from either queue and remove it BEFORE emitting\n\t\t// This ensures the UI sees the updated queue state\n\t\tif (event.type === \"message_start\" && event.message.role === \"user\") {\n\t\t\tthis._overflowRecoveryAttempted = false;\n\t\t\tconst messageText = this._getUserMessageText(event.message);\n\t\t\tif (messageText) {\n\t\t\t\t// Check steering queue first\n\t\t\t\tconst steeringIndex = this._steeringMessages.indexOf(messageText);\n\t\t\t\tif (steeringIndex !== -1) {\n\t\t\t\t\tthis._steeringMessages.splice(steeringIndex, 1);\n\t\t\t\t\tthis._emitQueueUpdate();\n\t\t\t\t} else {\n\t\t\t\t\t// Check follow-up queue\n\t\t\t\t\tconst followUpIndex = this._followUpMessages.indexOf(messageText);\n\t\t\t\t\tif (followUpIndex !== -1) {\n\t\t\t\t\t\tthis._followUpMessages.splice(followUpIndex, 1);\n\t\t\t\t\t\tthis._emitQueueUpdate();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Emit to extensions first\n\t\tawait this._emitExtensionEvent(event);\n\n\t\t// Notify all listeners\n\t\tthis._emit(\n\t\t\tevent.type === \"agent_end\" ? { ...event, willRetry: this._willRetryAfterAgentEnd(event.messages) } : event,\n\t\t);\n\n\t\t// Handle session persistence\n\t\tif (event.type === \"message_end\") {\n\t\t\t// Check if this is a custom message from extensions\n\t\t\tif (event.message.role === \"custom\") {\n\t\t\t\t// Persist as CustomMessageEntry\n\t\t\t\tthis.sessionManager.appendCustomMessageEntry(\n\t\t\t\t\tevent.message.customType,\n\t\t\t\t\tevent.message.content,\n\t\t\t\t\tevent.message.display,\n\t\t\t\t\tevent.message.details,\n\t\t\t\t);\n\t\t\t\tthis._incrementMessageRevision();\n\t\t\t} else if (\n\t\t\t\tevent.message.role === \"user\" ||\n\t\t\t\tevent.message.role === \"assistant\" ||\n\t\t\t\tevent.message.role === \"toolResult\"\n\t\t\t) {\n\t\t\t\t// Regular LLM message - persist as SessionMessageEntry\n\t\t\t\tthis.sessionManager.appendMessage(event.message);\n\t\t\t\tthis._incrementMessageRevision();\n\t\t\t}\n\t\t\t// Other message types (bashExecution, compactionSummary, branchSummary) are persisted elsewhere\n\n\t\t\t// Track assistant message for auto-compaction (checked on agent_end)\n\t\t\tif (event.message.role === \"assistant\") {\n\t\t\t\tthis._lastAssistantMessage = event.message;\n\n\t\t\t\tconst assistantMsg = event.message as AssistantMessage;\n\t\t\t\tif (assistantMsg.stopReason !== \"error\") {\n\t\t\t\t\tthis._overflowRecoveryAttempted = false;\n\t\t\t\t}\n\n\t\t\t\t// Reset retry counter immediately on successful assistant response\n\t\t\t\t// This prevents accumulation across multiple LLM calls within a turn\n\t\t\t\tif (assistantMsg.stopReason !== \"error\" && this._retryAttempt > 0) {\n\t\t\t\t\tthis._emit({\n\t\t\t\t\t\ttype: \"auto_retry_end\",\n\t\t\t\t\t\tsuccess: true,\n\t\t\t\t\t\tattempt: this._retryAttempt,\n\t\t\t\t\t});\n\t\t\t\t\tthis._retryAttempt = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Check auto-retry and auto-compaction after agent completes\n\t\tif (event.type === \"agent_end\" && this._lastAssistantMessage) {\n\t\t\tconst msg = this._lastAssistantMessage;\n\t\t\tthis._lastAssistantMessage = undefined;\n\n\t\t\t// Check for retryable errors first (overloaded, rate limit, server errors)\n\t\t\tif (this._isRetryableError(msg)) {\n\t\t\t\tconst didRetry = await this._handleRetryableError(msg);\n\t\t\t\tif (didRetry) return; // Retry was initiated, don't proceed to compaction\n\t\t\t}\n\n\t\t\tthis._resolveRetry();\n\t\t\tawait this._checkCompaction(msg);\n\t\t}\n\n\t\tif (event.type === \"agent_end\") {\n\t\t\tthis._flushPendingBashMessages();\n\t\t}\n\t}\n\n\t/** Resolve the pending retry promise */\n\tprivate _resolveRetry(): void {\n\t\tif (this._retryResolve) {\n\t\t\tthis._retryResolve();\n\t\t\tthis._retryResolve = undefined;\n\t\t\tthis._retryPromise = undefined;\n\t\t}\n\t}\n\n\t/** Extract text content from a message */\n\tprivate _getUserMessageText(message: Message): string {\n\t\tif (message.role !== \"user\") return \"\";\n\t\tconst content = message.content;\n\t\tif (typeof content === \"string\") return content;\n\t\tconst textBlocks = content.filter((c) => c.type === \"text\");\n\t\treturn textBlocks.map((c) => (c as TextContent).text).join(\"\");\n\t}\n\n\t/** Find the last assistant message in agent state (including aborted ones) */\n\tprivate _findLastAssistantMessage(): AssistantMessage | undefined {\n\t\tconst messages = this.agent.state.messages;\n\t\tfor (let i = messages.length - 1; i >= 0; i--) {\n\t\t\tconst msg = messages[i];\n\t\t\tif (msg.role === \"assistant\") {\n\t\t\t\treturn msg as AssistantMessage;\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate _replaceMessageInPlace(target: AgentMessage, replacement: AgentMessage): void {\n\t\t// Agent-core stores the finalized message object in its state before emitting message_end.\n\t\t// SessionManager persistence happens later in _processAgentEvent() with event.message.\n\t\t// Mutating this object in place keeps agent state, later turn/agent events, listeners,\n\t\t// and the eventual SessionManager.appendMessage(event.message) persistence in sync.\n\t\tif (target === replacement) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor (const key of Object.keys(target)) {\n\t\t\tReflect.deleteProperty(target, key);\n\t\t}\n\t\tObject.assign(target, replacement);\n\t}\n\n\t/** Emit extension events based on agent events */\n\tprivate async _emitExtensionEvent(event: AgentEvent): Promise<void> {\n\t\tif (event.type === \"agent_start\") {\n\t\t\tthis._turnIndex = 0;\n\t\t\tawait this._extensionRunner.emit({ type: \"agent_start\" });\n\t\t} else if (event.type === \"agent_end\") {\n\t\t\tawait this._extensionRunner.emit({ type: \"agent_end\", messages: event.messages });\n\t\t} else if (event.type === \"turn_start\") {\n\t\t\tconst extensionEvent: TurnStartEvent = {\n\t\t\t\ttype: \"turn_start\",\n\t\t\t\tturnIndex: this._turnIndex,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t};\n\t\t\tawait this._extensionRunner.emit(extensionEvent);\n\t\t} else if (event.type === \"turn_end\") {\n\t\t\tconst extensionEvent: TurnEndEvent = {\n\t\t\t\ttype: \"turn_end\",\n\t\t\t\tturnIndex: this._turnIndex,\n\t\t\t\tmessage: event.message,\n\t\t\t\ttoolResults: event.toolResults,\n\t\t\t};\n\t\t\tawait this._extensionRunner.emit(extensionEvent);\n\t\t\tthis._turnIndex++;\n\t\t} else if (event.type === \"message_start\") {\n\t\t\tconst extensionEvent: MessageStartEvent = {\n\t\t\t\ttype: \"message_start\",\n\t\t\t\tmessage: event.message,\n\t\t\t};\n\t\t\tawait this._extensionRunner.emit(extensionEvent);\n\t\t} else if (event.type === \"message_update\") {\n\t\t\tconst extensionEvent: MessageUpdateEvent = {\n\t\t\t\ttype: \"message_update\",\n\t\t\t\tmessage: event.message,\n\t\t\t\tassistantMessageEvent: event.assistantMessageEvent,\n\t\t\t};\n\t\t\tawait this._extensionRunner.emit(extensionEvent);\n\t\t} else if (event.type === \"message_end\") {\n\t\t\tconst extensionEvent: MessageEndEvent = {\n\t\t\t\ttype: \"message_end\",\n\t\t\t\tmessage: event.message,\n\t\t\t};\n\t\t\tconst replacement = await this._extensionRunner.emitMessageEnd(extensionEvent);\n\t\t\tif (replacement) {\n\t\t\t\tthis._replaceMessageInPlace(event.message, replacement);\n\t\t\t}\n\t\t} else if (event.type === \"tool_execution_start\") {\n\t\t\tconst extensionEvent: ToolExecutionStartEvent = {\n\t\t\t\ttype: \"tool_execution_start\",\n\t\t\t\ttoolCallId: event.toolCallId,\n\t\t\t\ttoolName: event.toolName,\n\t\t\t\targs: event.args,\n\t\t\t};\n\t\t\tawait this._extensionRunner.emit(extensionEvent);\n\t\t} else if (event.type === \"tool_execution_update\") {\n\t\t\tconst extensionEvent: ToolExecutionUpdateEvent = {\n\t\t\t\ttype: \"tool_execution_update\",\n\t\t\t\ttoolCallId: event.toolCallId,\n\t\t\t\ttoolName: event.toolName,\n\t\t\t\targs: event.args,\n\t\t\t\tpartialResult: event.partialResult,\n\t\t\t};\n\t\t\tawait this._extensionRunner.emit(extensionEvent);\n\t\t} else if (event.type === \"tool_execution_end\") {\n\t\t\tconst extensionEvent: ToolExecutionEndEvent = {\n\t\t\t\ttype: \"tool_execution_end\",\n\t\t\t\ttoolCallId: event.toolCallId,\n\t\t\t\ttoolName: event.toolName,\n\t\t\t\tresult: event.result,\n\t\t\t\tisError: event.isError,\n\t\t\t};\n\t\t\tawait this._extensionRunner.emit(extensionEvent);\n\t\t}\n\t}\n\n\t/**\n\t * Subscribe to agent events.\n\t * Session persistence is handled internally (saves messages on message_end).\n\t * Multiple listeners can be added. Returns unsubscribe function for this listener.\n\t */\n\tsubscribe(listener: AgentSessionEventListener): () => void {\n\t\tthis._eventListeners.push(listener);\n\n\t\t// Return unsubscribe function for this specific listener\n\t\treturn () => {\n\t\t\tconst index = this._eventListeners.indexOf(listener);\n\t\t\tif (index !== -1) {\n\t\t\t\tthis._eventListeners.splice(index, 1);\n\t\t\t}\n\t\t};\n\t}\n\n\t/**\n\t * Temporarily disconnect from agent events.\n\t * User listeners are preserved and will receive events again after resubscribe().\n\t * Used internally during operations that need to pause event processing.\n\t */\n\tprivate _disconnectFromAgent(): void {\n\t\tif (this._unsubscribeAgent) {\n\t\t\tthis._unsubscribeAgent();\n\t\t\tthis._unsubscribeAgent = undefined;\n\t\t}\n\t}\n\n\t/**\n\t * Reconnect to agent events after _disconnectFromAgent().\n\t * Preserves all existing listeners.\n\t */\n\tprivate _reconnectToAgent(): void {\n\t\tif (this._unsubscribeAgent) return; // Already connected\n\t\tthis._unsubscribeAgent = this.agent.subscribe(this._handleAgentEvent);\n\t}\n\n\t/**\n\t * Remove all listeners and disconnect from agent.\n\t * Call this when completely done with the session.\n\t */\n\tdispose(): void {\n\t\ttry {\n\t\t\tthis.abortRetry();\n\t\t\tthis.abortCompaction();\n\t\t\tthis.abortBranchSummary();\n\t\t\tthis.abortBash();\n\t\t\tthis.agent.abort();\n\t\t} catch {\n\t\t\t// Dispose must succeed even if an abort hook throws.\n\t\t}\n\n\t\tthis._extensionRunner.invalidate(\n\t\t\t\"This extension ctx is stale after session replacement or reload. Do not use a captured pi or command ctx after ctx.newSession(), ctx.fork(), ctx.switchSession(), or ctx.reload(). For newSession, fork, and switchSession, move post-replacement work into withSession and use the ctx passed to withSession. For reload, do not use the old ctx after await ctx.reload().\",\n\t\t);\n\t\tthis._disconnectFromAgent();\n\t\tthis._eventListeners = [];\n\t\tcleanupSessionResources(this.sessionId);\n\t}\n\n\t// =========================================================================\n\t// Read-only State Access\n\t// =========================================================================\n\n\t/** Full agent state */\n\tget state(): AgentState {\n\t\treturn this.agent.state;\n\t}\n\n\t/** Current model (may be undefined if not yet selected) */\n\tget model(): Model<any> | undefined {\n\t\treturn this.agent.state.model;\n\t}\n\n\t/** Current thinking level */\n\tget thinkingLevel(): ThinkingLevel {\n\t\treturn this.agent.state.thinkingLevel;\n\t}\n\n\tget serviceTier(): ServiceTier | undefined {\n\t\treturn this._currentServiceTier;\n\t}\n\n\t/** Whether agent is currently streaming a response */\n\tget isStreaming(): boolean {\n\t\treturn this.agent.state.isStreaming;\n\t}\n\n\t/** Current effective system prompt (includes any per-turn extension modifications) */\n\tget systemPrompt(): string {\n\t\treturn this.agent.state.systemPrompt;\n\t}\n\n\t/** Current retry attempt (0 if not retrying) */\n\tget retryAttempt(): number {\n\t\treturn this._retryAttempt;\n\t}\n\n\t/**\n\t * Get the names of currently active tools.\n\t * Returns the names of tools currently set on the agent.\n\t */\n\tgetActiveToolNames(): string[] {\n\t\treturn this.agent.state.tools.map((t) => t.name);\n\t}\n\n\t/**\n\t * Get all configured tools with name, description, parameter schema, prompt guidelines, and source metadata.\n\t */\n\tgetAllTools(): ToolInfo[] {\n\t\treturn Array.from(this._toolDefinitions.values()).map(({ definition, sourceInfo }) => ({\n\t\t\tname: definition.name,\n\t\t\tdescription: definition.description,\n\t\t\tparameters: definition.parameters,\n\t\t\tpromptGuidelines: definition.promptGuidelines,\n\t\t\tsourceInfo,\n\t\t}));\n\t}\n\n\tgetToolDefinition(name: string): ToolDefinition | undefined {\n\t\treturn this._toolDefinitions.get(name)?.definition;\n\t}\n\n\t/**\n\t * Set active tools by name.\n\t * Only tools in the registry can be enabled. Unknown tool names are ignored.\n\t * Also rebuilds the system prompt to reflect the new tool set.\n\t * Changes take effect on the next agent turn.\n\t */\n\tsetActiveToolsByName(toolNames: string[]): void {\n\t\tconst tools: AgentTool[] = [];\n\t\tconst validToolNames: string[] = [];\n\t\tfor (const name of toolNames) {\n\t\t\tconst tool = this._toolRegistry.get(name);\n\t\t\tif (tool) {\n\t\t\t\ttools.push(tool);\n\t\t\t\tvalidToolNames.push(name);\n\t\t\t}\n\t\t}\n\t\tthis.agent.state.tools = tools;\n\n\t\t// Rebuild base system prompt with new tool set\n\t\tthis._baseSystemPrompt = this._rebuildSystemPrompt(validToolNames);\n\t\tthis.agent.state.systemPrompt = this._baseSystemPrompt;\n\t}\n\n\t/** Whether compaction or branch summarization is currently running */\n\tget isCompacting(): boolean {\n\t\treturn (\n\t\t\tthis._autoCompactionAbortController !== undefined ||\n\t\t\tthis._compactionAbortController !== undefined ||\n\t\t\tthis._branchSummaryAbortController !== undefined\n\t\t);\n\t}\n\n\t/** All messages including custom types like BashExecutionMessage */\n\tget messages(): AgentMessage[] {\n\t\treturn this.agent.state.messages;\n\t}\n\n\t/** Current steering mode */\n\tget steeringMode(): \"all\" | \"one-at-a-time\" {\n\t\treturn this.agent.steeringMode;\n\t}\n\n\t/** Current follow-up mode */\n\tget followUpMode(): \"all\" | \"one-at-a-time\" {\n\t\treturn this.agent.followUpMode;\n\t}\n\n\t/** Current session file path, or undefined if sessions are disabled */\n\tget sessionFile(): string | undefined {\n\t\treturn this.sessionManager.getSessionFile();\n\t}\n\n\t/** Current session ID */\n\tget sessionId(): string {\n\t\treturn this.sessionManager.getSessionId();\n\t}\n\n\t/** Current session display name, if set */\n\tget sessionName(): string | undefined {\n\t\treturn this.sessionManager.getSessionName();\n\t}\n\n\t/** Globally narrowed models (from --models / enabledModels) */\n\tget scopedModels(): ReadonlyArray<{ model: Model<any>; thinkingLevel?: ThinkingLevel; serviceTier?: ServiceTier }> {\n\t\treturn this._scopedModels;\n\t}\n\n\t/** Update global model narrowing */\n\tsetScopedModels(\n\t\tscopedModels: Array<{ model: Model<any>; thinkingLevel?: ThinkingLevel; serviceTier?: ServiceTier }>,\n\t): void {\n\t\tthis._scopedModels = scopedModels;\n\t}\n\n\t/** Favorite models for Ctrl+P cycling */\n\tget favoriteModels(): ReadonlyArray<{\n\t\tmodel: Model<any>;\n\t\tthinkingLevel?: ThinkingLevel;\n\t\tserviceTier?: ServiceTier;\n\t}> {\n\t\treturn this._getCurrentFavoriteModels();\n\t}\n\n\t/** Update favorite models for Ctrl+P cycling */\n\tsetFavoriteModels(\n\t\tfavoriteModels: Array<{ model: Model<any>; thinkingLevel?: ThinkingLevel; serviceTier?: ServiceTier }>,\n\t): void {\n\t\tthis._favoriteModels = favoriteModels;\n\t}\n\n\tprivate _getCurrentFavoriteModels(): SessionModelEntry[] {\n\t\tconst availableById = new Map(\n\t\t\tthis._modelRegistry.getAvailable().map((model) => [`${model.provider}/${model.id}`, model]),\n\t\t);\n\t\tconst narrowedModelIds =\n\t\t\tthis._scopedModels.length > 0\n\t\t\t\t? new Set(this._scopedModels.map((scoped) => `${scoped.model.provider}/${scoped.model.id}`))\n\t\t\t\t: undefined;\n\t\tconst seenModelIds = new Set<string>();\n\t\tconst favoriteModels: SessionModelEntry[] = [];\n\n\t\tfor (const favorite of this._favoriteModels) {\n\t\t\tconst modelId = `${favorite.model.provider}/${favorite.model.id}`;\n\t\t\tif (seenModelIds.has(modelId)) continue;\n\n\t\t\tconst model = availableById.get(modelId);\n\t\t\tif (!model) continue;\n\t\t\tif (narrowedModelIds && !narrowedModelIds.has(modelId)) continue;\n\n\t\t\tseenModelIds.add(modelId);\n\t\t\tfavoriteModels.push({\n\t\t\t\tmodel,\n\t\t\t\tthinkingLevel: favorite.thinkingLevel,\n\t\t\t\tserviceTier: favorite.serviceTier,\n\t\t\t});\n\t\t}\n\n\t\treturn favoriteModels;\n\t}\n\n\t/** File-based prompt templates */\n\tget promptTemplates(): ReadonlyArray<PromptTemplate> {\n\t\treturn this._resourceLoader.getPrompts().prompts;\n\t}\n\n\tprivate _normalizePromptSnippet(text: string | undefined): string | undefined {\n\t\tif (!text) return undefined;\n\t\tconst oneLine = text\n\t\t\t.replace(/[\\r\\n]+/g, \" \")\n\t\t\t.replace(/\\s+/g, \" \")\n\t\t\t.trim();\n\t\treturn oneLine.length > 0 ? oneLine : undefined;\n\t}\n\n\tprivate _normalizePromptGuidelines(guidelines: string[] | undefined): string[] {\n\t\tif (!guidelines || guidelines.length === 0) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst unique = new Set<string>();\n\t\tfor (const guideline of guidelines) {\n\t\t\tconst normalized = guideline.trim();\n\t\t\tif (normalized.length > 0) {\n\t\t\t\tunique.add(normalized);\n\t\t\t}\n\t\t}\n\t\treturn Array.from(unique);\n\t}\n\n\tprivate _rebuildSystemPrompt(toolNames: string[]): string {\n\t\tconst validToolNames = toolNames.filter((name) => this._toolRegistry.has(name));\n\t\tconst toolSnippets: Record<string, string> = {};\n\t\tconst promptGuidelines: string[] = [];\n\t\tfor (const name of validToolNames) {\n\t\t\tconst snippet = this._toolPromptSnippets.get(name);\n\t\t\tif (snippet) {\n\t\t\t\ttoolSnippets[name] = snippet;\n\t\t\t}\n\n\t\t\tconst toolGuidelines = this._toolPromptGuidelines.get(name);\n\t\t\tif (toolGuidelines) {\n\t\t\t\tpromptGuidelines.push(...toolGuidelines);\n\t\t\t}\n\t\t}\n\n\t\tconst loadedSkills = this._resourceLoader.getSkills().skills;\n\t\tconst loadedContextFiles = this._resourceLoader.getAgentsFiles().agentsFiles;\n\n\t\tthis._baseSystemPromptOptions = {\n\t\t\tcwd: this._cwd,\n\t\t\tskills: loadedSkills,\n\t\t\tcontextFiles: loadedContextFiles,\n\t\t\tselectedTools: validToolNames,\n\t\t\ttoolSnippets,\n\t\t\tpromptGuidelines,\n\t\t};\n\t\treturn buildDynamicSystemPrompt(this._baseSystemPromptOptions);\n\t}\n\n\t/**\n\t * Send a prompt to the agent.\n\t * - Handles extension commands (registered via pi.registerCommand) immediately, even during streaming\n\t * - Expands file-based prompt templates by default\n\t * - During streaming, queues via steer() or followUp() based on streamingBehavior option\n\t * - Validates model and API key before sending (when not streaming)\n\t * @throws Error if streaming and no streamingBehavior specified\n\t * @throws Error if no model selected or no API key available (when not streaming)\n\t */\n\tasync prompt(text: string, options?: PromptOptions): Promise<void> {\n\t\tconst userAbortPromise = this._userAbortPromise;\n\t\tif (userAbortPromise) {\n\t\t\tawait userAbortPromise;\n\t\t}\n\t\tconst shouldWaitForSessionWork = options?.source !== \"extension\";\n\t\tif (\n\t\t\tshouldWaitForSessionWork &&\n\t\t\t(!this.isStreaming || this.isCompacting || this._sessionWorkBarrier.hasActiveWork)\n\t\t) {\n\t\t\tawait this._waitForSettledSessionWork();\n\t\t}\n\n\t\tconst expandPromptTemplates = options?.expandPromptTemplates ?? true;\n\t\tconst preflightResult = options?.preflightResult;\n\t\tlet messages: AgentMessage[] | undefined;\n\n\t\ttry {\n\t\t\t// Handle extension commands first (execute immediately, even during streaming)\n\t\t\t// Extension commands manage their own LLM interaction via pi.sendMessage()\n\t\t\tif (expandPromptTemplates && text.startsWith(\"/\")) {\n\t\t\t\tconst handled = await this._tryExecuteExtensionCommand(text);\n\t\t\t\tif (handled) {\n\t\t\t\t\t// Extension command executed, no prompt to send\n\t\t\t\t\tpreflightResult?.(true);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Emit input event for extension interception (before skill/template expansion)\n\t\t\tlet currentText = text;\n\t\t\tlet currentImages = options?.images;\n\t\t\tif (this._extensionRunner.hasHandlers(\"input\")) {\n\t\t\t\tconst inputResult = await this._extensionRunner.emitInput(\n\t\t\t\t\tcurrentText,\n\t\t\t\t\tcurrentImages,\n\t\t\t\t\toptions?.source ?? \"interactive\",\n\t\t\t\t\tthis.isStreaming ? options?.streamingBehavior : undefined,\n\t\t\t\t);\n\t\t\t\tif (inputResult.action === \"handled\") {\n\t\t\t\t\tpreflightResult?.(true);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (inputResult.action === \"transform\") {\n\t\t\t\t\tcurrentText = inputResult.text;\n\t\t\t\t\tcurrentImages = inputResult.images ?? currentImages;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Expand skill commands (/skill:name args) and prompt templates (/template args)\n\t\t\tlet expandedText = currentText;\n\t\t\tif (expandPromptTemplates) {\n\t\t\t\texpandedText = this._expandSkillCommand(expandedText);\n\t\t\t\texpandedText = expandPromptTemplate(expandedText, [...this.promptTemplates]);\n\t\t\t}\n\n\t\t\t// If streaming, queue via steer() or followUp() based on option\n\t\t\tif (this.isStreaming) {\n\t\t\t\tif (!options?.streamingBehavior) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\"Agent is already processing. Specify streamingBehavior ('steer' or 'followUp') to queue the message.\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (options.streamingBehavior === \"followUp\") {\n\t\t\t\t\tawait this._queueFollowUp(expandedText, currentImages);\n\t\t\t\t} else {\n\t\t\t\t\tawait this._queueSteer(expandedText, currentImages);\n\t\t\t\t}\n\t\t\t\tpreflightResult?.(true);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Flush any pending bash messages before the new prompt\n\t\t\tthis._flushPendingBashMessages();\n\n\t\t\t// Validate model\n\t\t\tif (!this.model) {\n\t\t\t\tthrow new Error(formatNoModelSelectedMessage());\n\t\t\t}\n\n\t\t\tif (!this._modelRegistry.hasConfiguredAuth(this.model)) {\n\t\t\t\tconst isOAuth = this._modelRegistry.isUsingOAuth(this.model);\n\t\t\t\tif (isOAuth) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Authentication failed for \"${this.model.provider}\". ` +\n\t\t\t\t\t\t\t`Credentials may have expired or network is unavailable. ` +\n\t\t\t\t\t\t\t`Run '/login ${this.model.provider}' to re-authenticate.`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tthrow new Error(formatNoApiKeyFoundMessage(this.model.provider));\n\t\t\t}\n\n\t\t\t// Check if we need to compact before sending (catches aborted responses)\n\t\t\tconst lastAssistant = this._findLastAssistantMessage();\n\t\t\tif (lastAssistant) {\n\t\t\t\tawait this._checkCompaction(lastAssistant, false, \"pre_prompt\");\n\t\t\t}\n\n\t\t\t// Build messages array (custom message if any, then user message)\n\t\t\tmessages = [];\n\n\t\t\t// Add user message\n\t\t\tconst userContent: (TextContent | ImageContent)[] = [{ type: \"text\", text: expandedText }];\n\t\t\tif (currentImages) {\n\t\t\t\tuserContent.push(...currentImages);\n\t\t\t}\n\t\t\tmessages.push({\n\t\t\t\trole: \"user\",\n\t\t\t\tcontent: userContent,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t});\n\n\t\t\t// Inject any pending \"nextTurn\" messages as context alongside the user message\n\t\t\tfor (const msg of this._pendingNextTurnMessages) {\n\t\t\t\tmessages.push(msg);\n\t\t\t}\n\t\t\tthis._pendingNextTurnMessages = [];\n\n\t\t\t// Emit before_agent_start extension event\n\t\t\tconst result = await this._extensionRunner.emitBeforeAgentStart(\n\t\t\t\texpandedText,\n\t\t\t\tcurrentImages,\n\t\t\t\tthis._baseSystemPrompt,\n\t\t\t\tthis._baseSystemPromptOptions,\n\t\t\t);\n\t\t\t// Add all custom messages from extensions\n\t\t\tif (result?.messages) {\n\t\t\t\tfor (const msg of result.messages) {\n\t\t\t\t\tmessages.push({\n\t\t\t\t\t\trole: \"custom\",\n\t\t\t\t\t\tcustomType: msg.customType,\n\t\t\t\t\t\tcontent: msg.content,\n\t\t\t\t\t\tdisplay: msg.display,\n\t\t\t\t\t\tdetails: msg.details,\n\t\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Apply extension-modified system prompt, or reset to base\n\t\t\tif (result?.systemPrompt) {\n\t\t\t\tthis.agent.state.systemPrompt = result.systemPrompt;\n\t\t\t} else {\n\t\t\t\t// Ensure we're using the base prompt (in case previous turn had modifications)\n\t\t\t\tthis.agent.state.systemPrompt = this._baseSystemPrompt;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tpreflightResult?.(false);\n\t\t\tthrow error;\n\t\t}\n\n\t\tif (!messages) {\n\t\t\treturn;\n\t\t}\n\n\t\tpreflightResult?.(true);\n\t\tawait this.agent.prompt(messages);\n\t\tawait this.waitForRetry();\n\t\tif (shouldWaitForSessionWork) {\n\t\t\tawait this._waitForSettledSessionWork();\n\t\t} else {\n\t\t\tawait this.agent.waitForIdle();\n\t\t}\n\t}\n\n\t/**\n\t * Try to execute an extension command. Returns true if command was found and executed.\n\t */\n\tprivate async _tryExecuteExtensionCommand(text: string): Promise<boolean> {\n\t\t// Parse command name and args\n\t\tconst spaceIndex = text.indexOf(\" \");\n\t\tconst commandName = spaceIndex === -1 ? text.slice(1) : text.slice(1, spaceIndex);\n\t\tconst args = spaceIndex === -1 ? \"\" : text.slice(spaceIndex + 1);\n\n\t\tconst command = this._extensionRunner.getCommand(commandName);\n\t\tif (!command) return false;\n\n\t\t// Get command context from extension runner (includes session control methods)\n\t\tconst ctx = this._extensionRunner.createCommandContext();\n\n\t\ttry {\n\t\t\tawait command.handler(args, ctx);\n\t\t\treturn true;\n\t\t} catch (err) {\n\t\t\t// Emit error via extension runner\n\t\t\tthis._extensionRunner.emitError({\n\t\t\t\textensionPath: `command:${commandName}`,\n\t\t\t\tevent: \"command\",\n\t\t\t\terror: err instanceof Error ? err.message : String(err),\n\t\t\t});\n\t\t\treturn true;\n\t\t}\n\t}\n\n\t/**\n\t * Expand skill commands (/skill:name args) to their full content.\n\t * Returns the expanded text, or the original text if not a skill command or skill not found.\n\t * Emits errors via extension runner if file read fails.\n\t */\n\tprivate _expandSkillCommand(text: string): string {\n\t\tif (!text.startsWith(\"/skill:\")) return text;\n\n\t\tconst spaceIndex = text.indexOf(\" \");\n\t\tconst skillName = spaceIndex === -1 ? text.slice(7) : text.slice(7, spaceIndex);\n\t\tconst args = spaceIndex === -1 ? \"\" : text.slice(spaceIndex + 1).trim();\n\n\t\tconst skill = this.resourceLoader.getSkills().skills.find((s) => s.name === skillName);\n\t\tif (!skill) return text; // Unknown skill, pass through\n\n\t\ttry {\n\t\t\tconst content = readFileSync(skill.filePath, \"utf-8\");\n\t\t\tconst body = stripFrontmatter(content).trim();\n\t\t\tconst skillBlock = `<skill name=\"${skill.name}\" location=\"${skill.filePath}\">\\nReferences are relative to ${skill.baseDir}.\\n\\n${body}\\n</skill>`;\n\t\t\treturn args ? `${skillBlock}\\n\\n${args}` : skillBlock;\n\t\t} catch (err) {\n\t\t\t// Emit error like extension commands do\n\t\t\tthis._extensionRunner.emitError({\n\t\t\t\textensionPath: skill.filePath,\n\t\t\t\tevent: \"skill_expansion\",\n\t\t\t\terror: err instanceof Error ? err.message : String(err),\n\t\t\t});\n\t\t\treturn text; // Return original on error\n\t\t}\n\t}\n\n\t/**\n\t * Queue a steering message while the agent is running.\n\t * Delivered after the current assistant turn finishes executing its tool calls,\n\t * before the next LLM call.\n\t * Expands skill commands and prompt templates. Errors on extension commands.\n\t * @param images Optional image attachments to include with the message\n\t * @throws Error if text is an extension command\n\t */\n\tasync steer(text: string, images?: ImageContent[]): Promise<void> {\n\t\t// Check for extension commands (cannot be queued)\n\t\tif (text.startsWith(\"/\")) {\n\t\t\tthis._throwIfExtensionCommand(text);\n\t\t}\n\n\t\t// Expand skill commands and prompt templates\n\t\tlet expandedText = this._expandSkillCommand(text);\n\t\texpandedText = expandPromptTemplate(expandedText, [...this.promptTemplates]);\n\n\t\tawait this._queueSteer(expandedText, images);\n\t}\n\n\t/**\n\t * Queue a follow-up message to be processed after the agent finishes.\n\t * Delivered only when agent has no more tool calls or steering messages.\n\t * Expands skill commands and prompt templates. Errors on extension commands.\n\t * @param images Optional image attachments to include with the message\n\t * @throws Error if text is an extension command\n\t */\n\tasync followUp(text: string, images?: ImageContent[]): Promise<void> {\n\t\t// Check for extension commands (cannot be queued)\n\t\tif (text.startsWith(\"/\")) {\n\t\t\tthis._throwIfExtensionCommand(text);\n\t\t}\n\n\t\t// Expand skill commands and prompt templates\n\t\tlet expandedText = this._expandSkillCommand(text);\n\t\texpandedText = expandPromptTemplate(expandedText, [...this.promptTemplates]);\n\n\t\tawait this._queueFollowUp(expandedText, images);\n\t}\n\n\t/**\n\t * Internal: Queue a steering message (already expanded, no extension command check).\n\t */\n\tprivate async _queueSteer(text: string, images?: ImageContent[]): Promise<void> {\n\t\tthis._steeringMessages.push(text);\n\t\tthis._emitQueueUpdate();\n\t\tconst content: (TextContent | ImageContent)[] = [{ type: \"text\", text }];\n\t\tif (images) {\n\t\t\tcontent.push(...images);\n\t\t}\n\t\tthis.agent.steer({\n\t\t\trole: \"user\",\n\t\t\tcontent,\n\t\t\ttimestamp: Date.now(),\n\t\t});\n\t}\n\n\t/**\n\t * Internal: Queue a follow-up message (already expanded, no extension command check).\n\t */\n\tprivate async _queueFollowUp(text: string, images?: ImageContent[]): Promise<void> {\n\t\tthis._followUpMessages.push(text);\n\t\tthis._emitQueueUpdate();\n\t\tconst content: (TextContent | ImageContent)[] = [{ type: \"text\", text }];\n\t\tif (images) {\n\t\t\tcontent.push(...images);\n\t\t}\n\t\tthis.agent.followUp({\n\t\t\trole: \"user\",\n\t\t\tcontent,\n\t\t\ttimestamp: Date.now(),\n\t\t});\n\t}\n\n\t/**\n\t * Throw an error if the text is an extension command.\n\t */\n\tprivate _throwIfExtensionCommand(text: string): void {\n\t\tconst spaceIndex = text.indexOf(\" \");\n\t\tconst commandName = spaceIndex === -1 ? text.slice(1) : text.slice(1, spaceIndex);\n\t\tconst command = this._extensionRunner.getCommand(commandName);\n\n\t\tif (command) {\n\t\t\tthrow new Error(\n\t\t\t\t`Extension command \"/${commandName}\" cannot be queued. Use prompt() or execute the command when not streaming.`,\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Send a custom message to the session. Creates a CustomMessageEntry.\n\t *\n\t * Handles three cases:\n\t * - Streaming: queues message, processed when loop pulls from queue\n\t * - Not streaming + triggerTurn: appends to state/session, starts new turn\n\t * - Not streaming + no trigger: appends to state/session, no turn\n\t *\n\t * @param message Custom message with customType, content, display, details\n\t * @param options.triggerTurn If true and not streaming, triggers a new LLM turn\n\t * @param options.deliverAs Delivery mode: \"steer\", \"followUp\", or \"nextTurn\"\n\t */\n\tasync sendCustomMessage<T = unknown>(\n\t\tmessage: Pick<CustomMessage<T>, \"customType\" | \"content\" | \"display\" | \"details\">,\n\t\toptions?: { triggerTurn?: boolean; deliverAs?: \"steer\" | \"followUp\" | \"nextTurn\" },\n\t): Promise<void> {\n\t\tconst appMessage = {\n\t\t\trole: \"custom\" as const,\n\t\t\tcustomType: message.customType,\n\t\t\tcontent: message.content,\n\t\t\tdisplay: message.display,\n\t\t\tdetails: message.details,\n\t\t\ttimestamp: Date.now(),\n\t\t} satisfies CustomMessage<T>;\n\t\tif (options?.deliverAs === \"nextTurn\") {\n\t\t\tthis._pendingNextTurnMessages.push(appMessage);\n\t\t} else if (this.isStreaming) {\n\t\t\tif (options?.deliverAs === \"followUp\") {\n\t\t\t\tthis.agent.followUp(appMessage);\n\t\t\t} else {\n\t\t\t\tthis.agent.steer(appMessage);\n\t\t\t}\n\t\t} else if (options?.triggerTurn) {\n\t\t\tawait this.agent.prompt(appMessage);\n\t\t} else {\n\t\t\tthis.agent.state.messages.push(appMessage);\n\t\t\tthis.sessionManager.appendCustomMessageEntry(\n\t\t\t\tmessage.customType,\n\t\t\t\tmessage.content,\n\t\t\t\tmessage.display,\n\t\t\t\tmessage.details,\n\t\t\t);\n\t\t\tthis._incrementMessageRevision();\n\t\t\tthis._emit({ type: \"message_start\", message: appMessage });\n\t\t\tthis._emit({ type: \"message_end\", message: appMessage });\n\t\t}\n\t}\n\n\t/**\n\t * Send a user message to the agent. Always triggers a turn.\n\t * When the agent is streaming, use deliverAs to specify how to queue the message.\n\t *\n\t * @param content User message content (string or content array)\n\t * @param options.deliverAs Delivery mode when streaming: \"steer\" or \"followUp\"\n\t */\n\tasync sendUserMessage(\n\t\tcontent: string | (TextContent | ImageContent)[],\n\t\toptions?: { deliverAs?: \"steer\" | \"followUp\" },\n\t): Promise<void> {\n\t\t// Normalize content to text string + optional images\n\t\tlet text: string;\n\t\tlet images: ImageContent[] | undefined;\n\n\t\tif (typeof content === \"string\") {\n\t\t\ttext = content;\n\t\t} else {\n\t\t\tconst textParts: string[] = [];\n\t\t\timages = [];\n\t\t\tfor (const part of content) {\n\t\t\t\tif (part.type === \"text\") {\n\t\t\t\t\ttextParts.push(part.text);\n\t\t\t\t} else {\n\t\t\t\t\timages.push(part);\n\t\t\t\t}\n\t\t\t}\n\t\t\ttext = textParts.join(\"\\n\");\n\t\t\tif (images.length === 0) images = undefined;\n\t\t}\n\n\t\t// Use prompt() with expandPromptTemplates: false to skip command handling and template expansion\n\t\tawait this.prompt(text, {\n\t\t\texpandPromptTemplates: false,\n\t\t\tstreamingBehavior: options?.deliverAs,\n\t\t\timages,\n\t\t\tsource: \"extension\",\n\t\t});\n\t}\n\n\t/**\n\t * Clear all queued messages and return them.\n\t * Useful for restoring to editor when user aborts.\n\t * @returns Object with steering and followUp arrays\n\t */\n\tclearQueue(): { steering: string[]; followUp: string[] } {\n\t\tconst steering = [...this._steeringMessages];\n\t\tconst followUp = [...this._followUpMessages];\n\t\tthis._steeringMessages = [];\n\t\tthis._followUpMessages = [];\n\t\tthis.agent.clearAllQueues();\n\t\tthis._emitQueueUpdate();\n\t\treturn { steering, followUp };\n\t}\n\n\t/** Number of pending messages (includes both steering and follow-up) */\n\tget pendingMessageCount(): number {\n\t\treturn this._steeringMessages.length + this._followUpMessages.length;\n\t}\n\n\t/** Get pending steering messages (read-only) */\n\tgetSteeringMessages(): readonly string[] {\n\t\treturn this._steeringMessages;\n\t}\n\n\t/** Get pending follow-up messages (read-only) */\n\tgetFollowUpMessages(): readonly string[] {\n\t\treturn this._followUpMessages;\n\t}\n\n\tget resourceLoader(): ResourceLoader {\n\t\treturn this._resourceLoader;\n\t}\n\n\t/**\n\t * Abort current operation and wait for agent to become idle.\n\t */\n\tasync abort(): Promise<void> {\n\t\tthis.abortRetry();\n\t\tthis.abortCompaction();\n\t\tthis.abortBranchSummary();\n\t\tif (this._userAbortPromise) {\n\t\t\tthis.agent.abort();\n\t\t\tawait this._userAbortPromise;\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortPromise = (async () => {\n\t\t\tthis.agent.abort();\n\t\t\tawait this.agent.waitForIdle();\n\t\t})();\n\t\tthis._userAbortPromise = abortPromise;\n\t\ttry {\n\t\t\tawait abortPromise;\n\t\t} finally {\n\t\t\tif (this._userAbortPromise === abortPromise) {\n\t\t\t\tthis._userAbortPromise = undefined;\n\t\t\t}\n\t\t}\n\t}\n\n\t// =========================================================================\n\t// Model Management\n\t// =========================================================================\n\n\tprivate async _emitModelSelect(\n\t\tnextModel: Model<any>,\n\t\tpreviousModel: Model<any> | undefined,\n\t\tsource: \"set\" | \"cycle\" | \"restore\",\n\t): Promise<SystemPromptChangeEvent | undefined> {\n\t\tif (!this._modelSelectionChangesContext(previousModel, nextModel)) return undefined;\n\t\tconst result = await this._extensionRunner.emitModelSelect({\n\t\t\ttype: \"model_select\",\n\t\t\tmodel: nextModel,\n\t\t\tpreviousModel,\n\t\t\tsource,\n\t\t\tsystemPrompt: this.agent.state.systemPrompt,\n\t\t\tsystemPromptOptions: this._baseSystemPromptOptions,\n\t\t});\n\t\tif (result?.systemPrompt === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst previousSystemPrompt = this.agent.state.systemPrompt;\n\t\tconst systemPrompt = result.systemPrompt ?? this._baseSystemPrompt;\n\t\tif (previousSystemPrompt === systemPrompt) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tthis.agent.state.systemPrompt = systemPrompt;\n\t\tconst event: SystemPromptChangeEvent = {\n\t\t\ttype: \"system_prompt_change\",\n\t\t\tsystemPrompt,\n\t\t\tpreviousSystemPrompt,\n\t\t\tmodel: nextModel,\n\t\t\tpreviousModel,\n\t\t\tsource: \"model_select\",\n\t\t};\n\t\tif (result.systemPromptName) {\n\t\t\tevent.systemPromptName = result.systemPromptName;\n\t\t}\n\t\tawait this._extensionRunner.emit(event);\n\t\tthis._emit(event);\n\t\treturn event;\n\t}\n\n\t/**\n\t * Set model directly.\n\t * Validates that auth is configured, saves to session and settings.\n\t * @throws Error if no auth is configured for the model\n\t */\n\tasync setModel(model: Model<any>): Promise<SystemPromptChangeEvent | undefined> {\n\t\tif (!this._modelRegistry.hasConfiguredAuth(model)) {\n\t\t\tthrow new Error(`No API key for ${model.provider}/${model.id}`);\n\t\t}\n\n\t\tconst previousModel = this.model;\n\t\tconst invalidatesCompaction = this._modelSelectionChangesContext(previousModel, model);\n\t\tif (invalidatesCompaction) {\n\t\t\tthis._invalidateCompactionForModelSelection();\n\t\t}\n\t\tconst thinkingLevel = this._getThinkingLevelForModelSwitch();\n\t\tthis.agent.state.model = model;\n\t\tthis.sessionManager.appendModelChange(model.provider, model.id);\n\t\tthis.settingsManager.setDefaultModelAndProvider(model.provider, model.id);\n\n\t\tconst scopedMatch = this._scopedModels.find((sm) => modelsAreEqual(sm.model, model));\n\t\tthis._currentServiceTier = scopedMatch?.serviceTier;\n\n\t\tthis.setThinkingLevel(thinkingLevel);\n\n\t\treturn await this._emitModelSelect(model, previousModel, \"set\");\n\t}\n\n\t/**\n\t * Cycle to next/previous model.\n\t * Uses favorite models, constrained by any global model narrowing.\n\t * @param direction - \"forward\" (default) or \"backward\"\n\t * @returns The new model info, or undefined if only one model available\n\t */\n\tasync cycleModel(direction: \"forward\" | \"backward\" = \"forward\"): Promise<ModelCycleResult | undefined> {\n\t\tconst favoriteModels = this._getCurrentFavoriteModels();\n\t\tif (favoriteModels.length > 0) {\n\t\t\treturn this._cycleFavoriteModel(direction, favoriteModels);\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate async _cycleFavoriteModel(\n\t\tdirection: \"forward\" | \"backward\",\n\t\tfavoriteModels: SessionModelEntry[],\n\t): Promise<ModelCycleResult | undefined> {\n\t\tif (favoriteModels.length <= 1) return undefined;\n\n\t\tconst currentModel = this.model;\n\t\tconst currentIndex = favoriteModels.findIndex((sm) => modelsAreEqual(sm.model, currentModel));\n\n\t\tlet nextIndex: number;\n\t\tif (currentIndex === -1) {\n\t\t\tnextIndex = direction === \"forward\" ? 0 : favoriteModels.length - 1;\n\t\t} else {\n\t\t\tconst len = favoriteModels.length;\n\t\t\tnextIndex = direction === \"forward\" ? (currentIndex + 1) % len : (currentIndex - 1 + len) % len;\n\t\t}\n\t\tconst next = favoriteModels[nextIndex];\n\t\tconst invalidatesCompaction = this._modelSelectionChangesContext(currentModel, next.model);\n\t\tif (invalidatesCompaction) {\n\t\t\tthis._invalidateCompactionForModelSelection();\n\t\t}\n\t\tconst thinkingLevel = this._getThinkingLevelForModelSwitch(next.thinkingLevel);\n\n\t\tthis.agent.state.model = next.model;\n\t\tthis.sessionManager.appendModelChange(next.model.provider, next.model.id);\n\t\tthis.settingsManager.setDefaultModelAndProvider(next.model.provider, next.model.id);\n\t\tthis._currentServiceTier = next.serviceTier;\n\n\t\t// Apply thinking level.\n\t\t// - Explicit favorite model thinking level overrides current session level\n\t\t// - Undefined favorite model thinking level inherits the current session preference\n\t\t// setThinkingLevel clamps to model capabilities.\n\t\tthis.setThinkingLevel(thinkingLevel);\n\n\t\tconst systemPromptChange = await this._emitModelSelect(next.model, currentModel, \"cycle\");\n\n\t\tconst cycleResult: ModelCycleResult = { model: next.model, thinkingLevel: this.thinkingLevel, isScoped: true };\n\t\tif (systemPromptChange) {\n\t\t\tcycleResult.systemPromptChange = systemPromptChange;\n\t\t}\n\t\treturn cycleResult;\n\t}\n\n\t// =========================================================================\n\t// Thinking Level Management\n\t// =========================================================================\n\n\t/**\n\t * Set thinking level.\n\t * Clamps to model capabilities based on available thinking levels.\n\t * Saves to session and settings only if the level actually changes.\n\t */\n\tsetThinkingLevel(level: ThinkingLevel): void {\n\t\tconst availableLevels = this.getAvailableThinkingLevels();\n\t\tconst effectiveLevel = availableLevels.includes(level) ? level : this._clampThinkingLevel(level, availableLevels);\n\n\t\t// Only persist if actually changing\n\t\tconst previousLevel = this.agent.state.thinkingLevel;\n\t\tconst isChanging = effectiveLevel !== previousLevel;\n\n\t\tthis.agent.state.thinkingLevel = effectiveLevel;\n\n\t\tif (isChanging) {\n\t\t\tthis.sessionManager.appendThinkingLevelChange(effectiveLevel);\n\t\t\tif (this.supportsThinking() || effectiveLevel !== \"off\") {\n\t\t\t\tthis.settingsManager.setDefaultThinkingLevel(effectiveLevel);\n\t\t\t}\n\t\t\tthis._emit({ type: \"thinking_level_changed\", level: effectiveLevel });\n\t\t\tvoid this._extensionRunner.emit({\n\t\t\t\ttype: \"thinking_level_select\",\n\t\t\t\tlevel: effectiveLevel,\n\t\t\t\tpreviousLevel,\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Cycle to next thinking level.\n\t * @returns New level, or undefined if model doesn't support thinking\n\t */\n\tcycleThinkingLevel(): ThinkingLevel | undefined {\n\t\tif (!this.supportsThinking()) return undefined;\n\n\t\tconst levels = this.getAvailableThinkingLevels();\n\t\tconst currentIndex = levels.indexOf(this.thinkingLevel);\n\t\tconst nextIndex = (currentIndex + 1) % levels.length;\n\t\tconst nextLevel = levels[nextIndex];\n\n\t\tthis.setThinkingLevel(nextLevel);\n\t\treturn nextLevel;\n\t}\n\n\t/**\n\t * Get available thinking levels for current model.\n\t * The provider will clamp to what the specific model supports internally.\n\t */\n\tgetAvailableThinkingLevels(): ThinkingLevel[] {\n\t\tconst model = this.model;\n\t\treturn model ? (getSupportedThinkingLevels(model) as ThinkingLevel[]) : [\"off\"];\n\t}\n\n\t/**\n\t * Check if current model supports xhigh thinking level.\n\t */\n\tsupportsXhighThinking(): boolean {\n\t\treturn this.model ? supportsXhigh(this.model) : false;\n\t}\n\n\t/**\n\t * Check if current model exposes the native \"max\" adaptive thinking tier\n\t * (currently Anthropic Opus 4.6 legacy and Opus 4.7 native).\n\t */\n\tsupportsMaxThinking(): boolean {\n\t\treturn this.model ? supportsMax(this.model) : false;\n\t}\n\n\t/**\n\t * Check if current model supports thinking/reasoning.\n\t */\n\tsupportsThinking(): boolean {\n\t\treturn !!this.model?.reasoning;\n\t}\n\n\tprivate _getThinkingLevelForModelSwitch(explicitLevel?: ThinkingLevel): ThinkingLevel {\n\t\tif (explicitLevel !== undefined) {\n\t\t\treturn explicitLevel;\n\t\t}\n\t\tif (!this.supportsThinking()) {\n\t\t\treturn this.settingsManager.getDefaultThinkingLevel() ?? DEFAULT_THINKING_LEVEL;\n\t\t}\n\t\treturn this.thinkingLevel;\n\t}\n\n\tprivate _clampThinkingLevel(level: ThinkingLevel, availableLevels: ThinkingLevel[]): ThinkingLevel {\n\t\tconst available = new Set(availableLevels);\n\t\tconst requestedIndex = THINKING_LEVELS_WITH_MAX.indexOf(level);\n\t\tif (requestedIndex === -1) return availableLevels[0] ?? \"off\";\n\n\t\tfor (let index = requestedIndex; index < THINKING_LEVELS_WITH_MAX.length; index++) {\n\t\t\tconst candidate = THINKING_LEVELS_WITH_MAX[index];\n\t\t\tif (candidate && available.has(candidate)) return candidate;\n\t\t}\n\t\tfor (let index = requestedIndex - 1; index >= 0; index--) {\n\t\t\tconst candidate = THINKING_LEVELS_WITH_MAX[index];\n\t\t\tif (candidate && available.has(candidate)) return candidate;\n\t\t}\n\t\treturn availableLevels[0] ?? \"off\";\n\t}\n\n\t// =========================================================================\n\t// Queue Mode Management\n\t// =========================================================================\n\n\tprivate syncQueueModesFromSettings(): void {\n\t\tthis.agent.steeringMode = this.settingsManager.getSteeringMode();\n\t\tthis.agent.followUpMode = this.settingsManager.getFollowUpMode();\n\t}\n\n\t/**\n\t * Set steering message mode.\n\t * Saves to settings.\n\t */\n\tsetSteeringMode(mode: \"all\" | \"one-at-a-time\"): void {\n\t\tthis.agent.steeringMode = mode;\n\t\tthis.settingsManager.setSteeringMode(mode);\n\t}\n\n\t/**\n\t * Set follow-up message mode.\n\t * Saves to settings.\n\t */\n\tsetFollowUpMode(mode: \"all\" | \"one-at-a-time\"): void {\n\t\tthis.agent.followUpMode = mode;\n\t\tthis.settingsManager.setFollowUpMode(mode);\n\t}\n\n\t// =========================================================================\n\t// Compaction\n\t// =========================================================================\n\n\t/**\n\t * Manually compact the session context.\n\t * Aborts current agent operation first.\n\t * @param customInstructions Optional instructions for the compaction summary\n\t */\n\tasync compact(customInstructions?: string): Promise<CompactionResult> {\n\t\tthis._disconnectFromAgent();\n\t\tawait this.abort();\n\t\tthis._compactionAbortController = new AbortController();\n\t\tthis._emit({ type: \"compaction_start\", reason: \"manual\" });\n\n\t\ttry {\n\t\t\tconst execution = await this._executeCompaction({ reason: \"manual\", customInstructions, willRetry: false });\n\t\t\tif (!execution.accepted) {\n\t\t\t\tthrow new CompactionRejectedError(execution.rejectionCause);\n\t\t\t}\n\t\t\treturn execution.result;\n\t\t} catch (error) {\n\t\t\tif (error instanceof CompactionRejectedError) {\n\t\t\t\tthrow new Error(error.message);\n\t\t\t}\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\tconst aborted = message === \"Compaction cancelled\" || (error instanceof Error && error.name === \"AbortError\");\n\t\t\tthis._emit({\n\t\t\t\ttype: \"compaction_end\",\n\t\t\t\treason: \"manual\",\n\t\t\t\tresult: undefined,\n\t\t\t\taborted,\n\t\t\t\twillRetry: false,\n\t\t\t\terrorMessage: aborted ? undefined : `Compaction failed: ${message}`,\n\t\t\t});\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tthis._compactionAbortController = undefined;\n\t\t\tthis._reconnectToAgent();\n\t\t}\n\t}\n\n\tasync applyCompaction(\n\t\tprecomputed: CompactionResult,\n\t\toptions: ApplyCompactionOptions,\n\t): Promise<ApplyCompactionResult> {\n\t\tif (options.expectedRevision !== undefined && options.expectedRevision !== this._messageRevision) {\n\t\t\treturn { applied: false, reason: \"stale\" };\n\t\t}\n\n\t\tconst ownsController = this._compactionAbortController === undefined;\n\t\tif (ownsController) {\n\t\t\tthis._compactionAbortController = new AbortController();\n\t\t\tthis._emit({ type: \"compaction_start\", reason: options.reason });\n\t\t}\n\n\t\ttry {\n\t\t\tconst execution = await this._executeCompaction({\n\t\t\t\treason: options.reason,\n\t\t\t\twillRetry: false,\n\t\t\t\tprecomputed,\n\t\t\t});\n\t\t\tif (!execution.accepted) {\n\t\t\t\treturn { applied: false, reason: \"rejected\" };\n\t\t\t}\n\t\t\treturn { applied: true, reason: \"ok\" };\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\tconst aborted = message === \"Compaction cancelled\" || (error instanceof Error && error.name === \"AbortError\");\n\t\t\tthis._emit({\n\t\t\t\ttype: \"compaction_end\",\n\t\t\t\treason: options.reason,\n\t\t\t\tresult: undefined,\n\t\t\t\taborted,\n\t\t\t\twillRetry: false,\n\t\t\t\terrorMessage: aborted ? undefined : `Compaction failed: ${message}`,\n\t\t\t});\n\t\t\treturn { applied: false, reason: \"rejected\" };\n\t\t} finally {\n\t\t\tthis._compactionAbortController = undefined;\n\t\t}\n\t}\n\n\tprivate _beginExtensionCompactionFeedback(reason: CompactionReason): AbortSignal {\n\t\tif (!this._compactionAbortController) {\n\t\t\tthis._compactionAbortController = new AbortController();\n\t\t\tthis._emit({ type: \"compaction_start\", reason });\n\t\t}\n\t\treturn this._compactionAbortController.signal;\n\t}\n\n\tprivate _updateExtensionCompactionFeedback(options: {\n\t\treason: CompactionReason;\n\t\tdelta?: string;\n\t\ttext?: string;\n\t}): void {\n\t\tif (!this._compactionAbortController && !this._autoCompactionAbortController) return;\n\t\tthis._emit({\n\t\t\ttype: \"compaction_progress\",\n\t\t\treason: options.reason,\n\t\t\t...(options.delta !== undefined ? { delta: options.delta } : {}),\n\t\t\t...(options.text !== undefined ? { text: options.text } : {}),\n\t\t});\n\t}\n\n\tprivate _endExtensionCompactionFeedback(options: {\n\t\treason: CompactionReason;\n\t\taborted?: boolean;\n\t\terrorMessage?: string;\n\t}): void {\n\t\tconst controller = this._compactionAbortController;\n\t\tif (!controller) return;\n\t\tconst aborted = options.aborted ?? controller.signal.aborted;\n\t\tthis._emit({\n\t\t\ttype: \"compaction_end\",\n\t\t\treason: options.reason,\n\t\t\tresult: undefined,\n\t\t\taborted,\n\t\t\twillRetry: false,\n\t\t\terrorMessage: aborted ? undefined : options.errorMessage,\n\t\t});\n\t\tthis._compactionAbortController = undefined;\n\t}\n\n\tprivate async _executeCompaction(request: CompactionExecutionRequest): Promise<CompactionExecutionResult> {\n\t\tconst finishCompactionWork = this._sessionWorkBarrier.begin();\n\t\ttry {\n\t\t\tif (!this.model) {\n\t\t\t\tthrow new Error(formatNoModelSelectedMessage());\n\t\t\t}\n\n\t\t\tconst requestId = randomUUID();\n\t\t\tconst pathEntries = this.sessionManager.getBranch();\n\t\t\tconst settings = this.settingsManager.getCompactionSettings();\n\n\t\t\tconst signal = this._compactionAbortController?.signal ?? this._autoCompactionAbortController?.signal;\n\t\t\tif (!signal) {\n\t\t\t\tthrow new Error(\"Compaction abort controller unavailable\");\n\t\t\t}\n\n\t\t\tlet compactionResult = request.precomputed;\n\t\t\tlet fromExtension = request.precomputed !== undefined;\n\n\t\t\tif (!compactionResult) {\n\t\t\t\tconst preparation = prepareCompaction(pathEntries, settings);\n\n\t\t\t\tif (!preparation) {\n\t\t\t\t\tconst lastEntry = pathEntries[pathEntries.length - 1];\n\t\t\t\t\tif (lastEntry?.type === \"compaction\") {\n\t\t\t\t\t\tthrow new Error(\"Already compacted\");\n\t\t\t\t\t}\n\t\t\t\t\tthrow new Error(\"Nothing to compact (session too small)\");\n\t\t\t\t}\n\n\t\t\t\tif (this._extensionRunner.hasHandlers(\"session_before_compact\")) {\n\t\t\t\t\tconst extensionResult = (await this._extensionRunner.emit({\n\t\t\t\t\t\ttype: \"session_before_compact\",\n\t\t\t\t\t\treason: request.reason,\n\t\t\t\t\t\twillRetry: request.willRetry,\n\t\t\t\t\t\trequestId,\n\t\t\t\t\t\tpreparation,\n\t\t\t\t\t\tbranchEntries: pathEntries,\n\t\t\t\t\t\tcustomInstructions: request.customInstructions,\n\t\t\t\t\t\tsignal,\n\t\t\t\t\t})) as SessionBeforeCompactResult | undefined;\n\n\t\t\t\t\tif (extensionResult?.cancel) {\n\t\t\t\t\t\treturn await this._rejectCompaction(request, requestId, \"cancelled-by-extension\", true);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (extensionResult?.compaction) {\n\t\t\t\t\t\tcompactionResult = extensionResult.compaction;\n\t\t\t\t\t\tfromExtension = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (!compactionResult) {\n\t\t\t\t\tconst { apiKey, headers, extraBody, env } = await this._getCompactionRequestAuth(this.model);\n\t\t\t\t\tcompactionResult = await compact(\n\t\t\t\t\t\tpreparation,\n\t\t\t\t\t\tthis.model,\n\t\t\t\t\t\tapiKey,\n\t\t\t\t\t\theaders,\n\t\t\t\t\t\trequest.customInstructions,\n\t\t\t\t\t\tsignal,\n\t\t\t\t\t\textraBody,\n\t\t\t\t\t\tthis.thinkingLevel,\n\t\t\t\t\t\tthis.agent.streamFn,\n\t\t\t\t\t\tenv,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (signal.aborted) {\n\t\t\t\tthrow new Error(\"Compaction cancelled\");\n\t\t\t}\n\n\t\t\tif (this._wouldCompactionOverflow(pathEntries, compactionResult, fromExtension)) {\n\t\t\t\treturn await this._rejectCompaction(request, requestId, \"would-overflow\", false);\n\t\t\t}\n\n\t\t\tconst compactionEntryId = this.sessionManager.appendCompaction(\n\t\t\t\tcompactionResult.summary,\n\t\t\t\tcompactionResult.firstKeptEntryId,\n\t\t\t\tcompactionResult.tokensBefore,\n\t\t\t\tcompactionResult.details,\n\t\t\t\tfromExtension,\n\t\t\t);\n\t\t\tconst savedEntry = this.sessionManager.getEntry(compactionEntryId);\n\t\t\tif (savedEntry?.type !== \"compaction\") {\n\t\t\t\tthrow new Error(\"Compaction entry was not saved\");\n\t\t\t}\n\n\t\t\tconst sessionContext = this.sessionManager.buildSessionContext();\n\t\t\tthis.agent.state.messages = sessionContext.messages;\n\t\t\tthis._incrementMessageRevision();\n\n\t\t\tawait this._extensionRunner.emit({\n\t\t\t\ttype: \"session_compact\",\n\t\t\t\treason: request.reason,\n\t\t\t\trequestId,\n\t\t\t\taccepted: true,\n\t\t\t\tcompactionEntry: savedEntry,\n\t\t\t\tfromExtension,\n\t\t\t});\n\n\t\t\tthis._emit({\n\t\t\t\ttype: \"compaction_end\",\n\t\t\t\treason: request.reason,\n\t\t\t\tresult: compactionResult,\n\t\t\t\taborted: false,\n\t\t\t\twillRetry: request.willRetry,\n\t\t\t\trequestId,\n\t\t\t\taccepted: true,\n\t\t\t});\n\n\t\t\treturn { accepted: true, requestId, result: compactionResult, compactionEntry: savedEntry, fromExtension };\n\t\t} finally {\n\t\t\tfinishCompactionWork();\n\t\t}\n\t}\n\n\tprivate _wouldCompactionOverflow(\n\t\tpathEntries: SessionEntry[],\n\t\tcompactionResult: CompactionResult,\n\t\tfromExtension: boolean,\n\t): boolean {\n\t\tconst currentLeaf = pathEntries[pathEntries.length - 1];\n\t\tif (!currentLeaf || !this.model) return false;\n\n\t\tconst simulatedCompactionEntry: CompactionEntry = {\n\t\t\ttype: \"compaction\",\n\t\t\tid: `simulated-${randomUUID()}`,\n\t\t\tparentId: currentLeaf.id,\n\t\t\ttimestamp: new Date().toISOString(),\n\t\t\tsummary: compactionResult.summary,\n\t\t\tfirstKeptEntryId: compactionResult.firstKeptEntryId,\n\t\t\ttokensBefore: compactionResult.tokensBefore,\n\t\t\tdetails: compactionResult.details,\n\t\t\tfromHook: fromExtension,\n\t\t};\n\n\t\tconst simulatedMessages = buildSessionContext(\n\t\t\t[...pathEntries, simulatedCompactionEntry],\n\t\t\tsimulatedCompactionEntry.id,\n\t\t).messages;\n\t\tconst contextTokens = estimateContextTokens(filterContextExcludedMessages(simulatedMessages)).tokens;\n\t\tconst settings = this.settingsManager.getCompactionSettings();\n\t\treturn contextTokens > this.model.contextWindow - settings.reserveTokens;\n\t}\n\n\tprivate async _rejectCompaction(\n\t\trequest: CompactionExecutionRequest,\n\t\trequestId: string,\n\t\trejectionCause: CompactionRejectionCause,\n\t\taborted: boolean,\n\t): Promise<CompactionExecutionResult> {\n\t\tthis._emit({\n\t\t\ttype: \"compaction_end\",\n\t\t\treason: request.reason,\n\t\t\tresult: undefined,\n\t\t\taborted,\n\t\t\twillRetry: false,\n\t\t\trequestId,\n\t\t\taccepted: false,\n\t\t\trejectionCause,\n\t\t});\n\t\treturn { accepted: false, requestId, rejectionCause };\n\t}\n\n\t/**\n\t * Cancel in-progress compaction (manual or auto).\n\t */\n\tabortCompaction(): void {\n\t\tthis._compactionAbortController?.abort();\n\t\tthis._autoCompactionAbortController?.abort();\n\t}\n\n\t/**\n\t * Cancel in-progress branch summarization.\n\t */\n\tabortBranchSummary(): void {\n\t\tthis._branchSummaryAbortController?.abort();\n\t}\n\n\t/**\n\t * Check if compaction is needed and run it.\n\t * Called after agent_end and before prompt submission.\n\t *\n\t * Two cases:\n\t * 1. Overflow: LLM returned context overflow error, remove error message from agent state, compact, auto-retry\n\t * 2. Threshold: Context over threshold, compact, NO auto-retry (user continues manually)\n\t *\n\t * @param assistantMessage The assistant message to check\n\t * @param skipAbortedCheck If false, include aborted messages (for pre-prompt check). Default: true\n\t */\n\tprivate async _checkCompaction(\n\t\tassistantMessage: AssistantMessage,\n\t\tskipAbortedCheck = true,\n\t\trequestReason?: \"pre_prompt\",\n\t): Promise<void> {\n\t\tconst settings = this.settingsManager.getCompactionSettings();\n\t\tif (!settings.enabled) return;\n\n\t\t// Skip if message was aborted (user cancelled) - unless skipAbortedCheck is false\n\t\tif (skipAbortedCheck && assistantMessage.stopReason === \"aborted\") return;\n\n\t\tconst contextWindow = this.model?.contextWindow ?? 0;\n\n\t\t// Skip overflow check if the message came from a different model.\n\t\t// This handles the case where user switched from a smaller-context model (e.g. opus)\n\t\t// to a larger-context model (e.g. codex) - the overflow error from the old model\n\t\t// shouldn't trigger compaction for the new model.\n\t\tconst sameModel =\n\t\t\tthis.model && assistantMessage.provider === this.model.provider && assistantMessage.model === this.model.id;\n\n\t\t// Skip compaction checks if this assistant message is older than the latest\n\t\t// compaction boundary. This prevents a stale pre-compaction usage/error\n\t\t// from retriggering compaction on the first prompt after compaction.\n\t\tconst compactionEntry = getLatestCompactionEntry(this.sessionManager.getBranch());\n\t\tconst assistantIsFromBeforeCompaction =\n\t\t\tcompactionEntry !== null && assistantMessage.timestamp <= new Date(compactionEntry.timestamp).getTime();\n\t\tif (assistantIsFromBeforeCompaction) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Case 1: Overflow - LLM returned context overflow error.\n\t\t// If the saved assistant provider differs from the currently selected provider alias,\n\t\t// still recover as overflow when the current context is also at the compaction limit.\n\t\tconst contextUsage = this.getContextUsage();\n\t\tconst currentContextNeedsCompaction =\n\t\t\tcontextUsage !== undefined &&\n\t\t\tcontextUsage.tokens !== null &&\n\t\t\tshouldCompact(contextUsage.tokens, contextUsage.contextWindow, settings);\n\t\tif (isContextOverflow(assistantMessage, contextWindow) && (sameModel || currentContextNeedsCompaction)) {\n\t\t\tif (this._overflowRecoveryAttempted) {\n\t\t\t\tconst errorMessage =\n\t\t\t\t\t\"Context overflow recovery failed after one compact-and-retry attempt. Try reducing context or switching to a larger-context model.\";\n\t\t\t\tthis._emit({\n\t\t\t\t\ttype: \"compaction_end\",\n\t\t\t\t\treason: \"overflow\",\n\t\t\t\t\tresult: undefined,\n\t\t\t\t\taborted: false,\n\t\t\t\t\twillRetry: false,\n\t\t\t\t\terrorMessage,\n\t\t\t\t});\n\t\t\t\tif (requestReason === \"pre_prompt\") {\n\t\t\t\t\tthrow new Error(errorMessage);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._overflowRecoveryAttempted = true;\n\t\t\t// Remove the error message from agent state (it IS saved to session for history,\n\t\t\t// but we don't want it in context for the retry)\n\t\t\tconst messages = this.agent.state.messages;\n\t\t\tif (messages.length > 0 && messages[messages.length - 1].role === \"assistant\") {\n\t\t\t\tthis.agent.state.messages = messages.slice(0, -1);\n\t\t\t\tthis._incrementMessageRevision();\n\t\t\t}\n\t\t\tif (requestReason) {\n\t\t\t\tawait this._runPrePromptCompaction(assistantMessage, skipAbortedCheck);\n\t\t\t} else {\n\t\t\t\tawait this._runAutoCompaction(\"overflow\", true);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// Case 2: Threshold - context is getting large\n\t\t// For error messages (no usage data), estimate from last successful response.\n\t\t// This ensures sessions that hit persistent API errors (e.g. 529) can still compact.\n\t\tlet contextTokens: number;\n\t\tif (assistantMessage.stopReason === \"error\") {\n\t\t\tconst messages = filterContextExcludedMessages(this.agent.state.messages);\n\t\t\tconst estimate = estimateContextTokens(messages);\n\t\t\tif (estimate.lastUsageIndex === null) return; // No usage data at all\n\t\t\t// Verify the usage source is post-compaction. Kept pre-compaction messages\n\t\t\t// have stale usage reflecting the old (larger) context and would falsely\n\t\t\t// trigger compaction right after one just finished.\n\t\t\tconst usageMsg = messages[estimate.lastUsageIndex];\n\t\t\tif (\n\t\t\t\tcompactionEntry &&\n\t\t\t\tusageMsg.role === \"assistant\" &&\n\t\t\t\t(usageMsg as AssistantMessage).timestamp <= new Date(compactionEntry.timestamp).getTime()\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcontextTokens = estimate.tokens;\n\t\t} else {\n\t\t\tcontextTokens = calculateContextTokens(assistantMessage.usage);\n\t\t}\n\t\tif (shouldCompact(contextTokens, contextWindow, settings)) {\n\t\t\tif (requestReason) {\n\t\t\t\tawait this._runPrePromptCompaction(assistantMessage, skipAbortedCheck);\n\t\t\t} else {\n\t\t\t\tawait this._runAutoCompaction(\"threshold\", false);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async _runPrePromptCompaction(\n\t\tlastAssistantMessage: AssistantMessage,\n\t\tskipAbortedCheck: boolean,\n\t): Promise<void> {\n\t\tthis._emit({ type: \"compaction_start\", reason: \"pre_prompt\" });\n\t\tthis._compactionAbortController = new AbortController();\n\n\t\ttry {\n\t\t\tconst execution = await this._executeCompaction({\n\t\t\t\treason: \"pre_prompt\",\n\t\t\t\twillRetry: false,\n\t\t\t\tlastAssistantMessage,\n\t\t\t\tskipAbortedCheck,\n\t\t\t});\n\t\t\tif (!execution.accepted && isContextOverflow(lastAssistantMessage, this.model?.contextWindow ?? 0)) {\n\t\t\t\tthis._overflowRecoveryAttempted = false;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (isContextOverflow(lastAssistantMessage, this.model?.contextWindow ?? 0)) {\n\t\t\t\tthis._overflowRecoveryAttempted = false;\n\t\t\t}\n\t\t\tconst errorMessage = error instanceof Error ? error.message : \"compaction failed\";\n\t\t\tconst aborted =\n\t\t\t\terrorMessage === \"Compaction cancelled\" || (error instanceof Error && error.name === \"AbortError\");\n\t\t\tthis._emit({\n\t\t\t\ttype: \"compaction_end\",\n\t\t\t\treason: \"pre_prompt\",\n\t\t\t\tresult: undefined,\n\t\t\t\taborted,\n\t\t\t\twillRetry: false,\n\t\t\t\terrorMessage: aborted ? undefined : `Pre-prompt compaction failed: ${errorMessage}`,\n\t\t\t});\n\t\t} finally {\n\t\t\tthis._compactionAbortController = undefined;\n\t\t}\n\t}\n\n\tprivate async _continueAgentAfterCurrentRun(): Promise<boolean> {\n\t\tawait this.agent.waitForIdle();\n\t\ttry {\n\t\t\tawait this.agent.continue();\n\t\t\treturn true;\n\t\t} catch (error) {\n\t\t\tif (error instanceof Error) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\t/**\n\t * Internal: Run auto-compaction with events.\n\t */\n\tprivate async _runAutoCompaction(reason: \"overflow\" | \"threshold\", willRetry: boolean): Promise<boolean> {\n\t\tconst finishCompactionWork = this._sessionWorkBarrier.begin();\n\t\tthis._emit({ type: \"compaction_start\", reason });\n\t\tthis._autoCompactionAbortController = new AbortController();\n\n\t\ttry {\n\t\t\tif (!this.model) {\n\t\t\t\tif (reason === \"overflow\") this._overflowRecoveryAttempted = false;\n\t\t\t\tthis._emit({\n\t\t\t\t\ttype: \"compaction_end\",\n\t\t\t\t\treason,\n\t\t\t\t\tresult: undefined,\n\t\t\t\t\taborted: false,\n\t\t\t\t\twillRetry: false,\n\t\t\t\t});\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst authResult = await this._modelRegistry.getApiKeyAndHeaders(this.model);\n\t\t\tif (this.agent.streamFn === streamSimple && (!authResult.ok || !authResult.apiKey)) {\n\t\t\t\tif (reason === \"overflow\") this._overflowRecoveryAttempted = false;\n\t\t\t\tthis._emit({\n\t\t\t\t\ttype: \"compaction_end\",\n\t\t\t\t\treason,\n\t\t\t\t\tresult: undefined,\n\t\t\t\t\taborted: false,\n\t\t\t\t\twillRetry: false,\n\t\t\t\t});\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst preparation = prepareCompaction(\n\t\t\t\tthis.sessionManager.getBranch(),\n\t\t\t\tthis.settingsManager.getCompactionSettings(),\n\t\t\t);\n\t\t\tif (!preparation) {\n\t\t\t\tif (reason === \"overflow\") this._overflowRecoveryAttempted = false;\n\t\t\t\tthis._emit({\n\t\t\t\t\ttype: \"compaction_end\",\n\t\t\t\t\treason,\n\t\t\t\t\tresult: undefined,\n\t\t\t\t\taborted: false,\n\t\t\t\t\twillRetry: false,\n\t\t\t\t});\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst execution = await this._executeCompaction({ reason, willRetry });\n\t\t\tif (!execution.accepted) {\n\t\t\t\tif (reason === \"overflow\") this._overflowRecoveryAttempted = false;\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (willRetry) {\n\t\t\t\tconst messages = this.agent.state.messages;\n\t\t\t\tconst lastMsg = messages[messages.length - 1];\n\t\t\t\tif (lastMsg?.role === \"assistant\" && (lastMsg as AssistantMessage).stopReason === \"error\") {\n\t\t\t\t\tthis.agent.state.messages = messages.slice(0, -1);\n\t\t\t\t\tthis._incrementMessageRevision();\n\t\t\t\t}\n\n\t\t\t\treturn await this._continueAgentAfterCurrentRun();\n\t\t\t} else if (this.pendingMessageCount > 0) {\n\t\t\t\treturn await this._continueAgentAfterCurrentRun();\n\t\t\t} else if (this.agent.hasQueuedMessages()) {\n\t\t\t\treturn await this._continueAgentAfterCurrentRun();\n\t\t\t}\n\n\t\t\treturn false;\n\t\t} catch (error) {\n\t\t\tif (reason === \"overflow\") this._overflowRecoveryAttempted = false;\n\t\t\tconst errorMessage = error instanceof Error ? error.message : \"compaction failed\";\n\t\t\tconst aborted =\n\t\t\t\terrorMessage === \"Compaction cancelled\" || (error instanceof Error && error.name === \"AbortError\");\n\t\t\tthis._emit({\n\t\t\t\ttype: \"compaction_end\",\n\t\t\t\treason,\n\t\t\t\tresult: undefined,\n\t\t\t\taborted,\n\t\t\t\twillRetry: false,\n\t\t\t\terrorMessage: aborted\n\t\t\t\t\t? undefined\n\t\t\t\t\t: reason === \"overflow\"\n\t\t\t\t\t\t? `Context overflow recovery failed: ${errorMessage}`\n\t\t\t\t\t\t: `Auto-compaction failed: ${errorMessage}`,\n\t\t\t});\n\t\t\treturn false;\n\t\t} finally {\n\t\t\tthis._autoCompactionAbortController = undefined;\n\t\t\tfinishCompactionWork();\n\t\t}\n\t}\n\n\t/**\n\t * Toggle auto-compaction setting.\n\t */\n\tsetAutoCompactionEnabled(enabled: boolean): void {\n\t\tthis.settingsManager.setCompactionEnabled(enabled);\n\t}\n\n\t/** Whether auto-compaction is enabled */\n\tget autoCompactionEnabled(): boolean {\n\t\treturn this.settingsManager.getCompactionEnabled();\n\t}\n\n\tasync bindExtensions(bindings: ExtensionBindings): Promise<void> {\n\t\tif (bindings.uiContext !== undefined) {\n\t\t\tthis._extensionUIContext = bindings.uiContext;\n\t\t}\n\t\tif (bindings.mode !== undefined) {\n\t\t\tthis._extensionMode = bindings.mode;\n\t\t}\n\t\tif (bindings.commandContextActions !== undefined) {\n\t\t\tthis._extensionCommandContextActions = bindings.commandContextActions;\n\t\t}\n\t\tif (bindings.abortHandler !== undefined) {\n\t\t\tthis._extensionAbortHandler = bindings.abortHandler;\n\t\t}\n\t\tif (bindings.shutdownHandler !== undefined) {\n\t\t\tthis._extensionShutdownHandler = bindings.shutdownHandler;\n\t\t}\n\t\tif (bindings.onError !== undefined) {\n\t\t\tthis._extensionErrorListener = bindings.onError;\n\t\t}\n\n\t\tthis._applyExtensionBindings(this._extensionRunner);\n\t\tawait this._extensionRunner.emit(this._sessionStartEvent);\n\t\tawait this.extendResourcesFromExtensions(this._sessionStartEvent.reason === \"reload\" ? \"reload\" : \"startup\");\n\t}\n\n\tprivate async extendResourcesFromExtensions(reason: \"startup\" | \"reload\"): Promise<void> {\n\t\tif (!this._extensionRunner.hasHandlers(\"resources_discover\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { skillPaths, promptPaths, themePaths } = await this._extensionRunner.emitResourcesDiscover(\n\t\t\tthis._cwd,\n\t\t\treason,\n\t\t);\n\n\t\tif (skillPaths.length === 0 && promptPaths.length === 0 && themePaths.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst extensionPaths: ResourceExtensionPaths = {\n\t\t\tskillPaths: this.buildExtensionResourcePaths(skillPaths),\n\t\t\tpromptPaths: this.buildExtensionResourcePaths(promptPaths),\n\t\t\tthemePaths: this.buildExtensionResourcePaths(themePaths),\n\t\t};\n\n\t\tthis._resourceLoader.extendResources(extensionPaths);\n\t\tthis._baseSystemPrompt = this._rebuildSystemPrompt(this.getActiveToolNames());\n\t\tthis.agent.state.systemPrompt = this._baseSystemPrompt;\n\t}\n\n\tprivate buildExtensionResourcePaths(entries: Array<{ path: string; extensionPath: string }>): Array<{\n\t\tpath: string;\n\t\tmetadata: { source: string; scope: \"temporary\"; origin: \"top-level\"; baseDir?: string };\n\t}> {\n\t\treturn entries.map((entry) => {\n\t\t\tconst source = this.getExtensionSourceLabel(entry.extensionPath);\n\t\t\tconst baseDir = entry.extensionPath.startsWith(\"<\") ? undefined : dirname(entry.extensionPath);\n\t\t\treturn {\n\t\t\t\tpath: entry.path,\n\t\t\t\tmetadata: {\n\t\t\t\t\tsource,\n\t\t\t\t\tscope: \"temporary\",\n\t\t\t\t\torigin: \"top-level\",\n\t\t\t\t\tbaseDir,\n\t\t\t\t},\n\t\t\t};\n\t\t});\n\t}\n\n\tprivate getExtensionSourceLabel(extensionPath: string): string {\n\t\tif (extensionPath.startsWith(\"<\")) {\n\t\t\treturn `extension:${extensionPath.replace(/[<>]/g, \"\")}`;\n\t\t}\n\t\tconst base = basename(extensionPath);\n\t\tconst name = base.replace(/\\.(ts|js)$/, \"\");\n\t\treturn `extension:${name}`;\n\t}\n\n\tprivate _applyExtensionBindings(runner: ExtensionRunner): void {\n\t\trunner.setUIContext(this._extensionUIContext, this._extensionMode);\n\t\trunner.setToolHookLifecycleObserver((event) => {\n\t\t\tthis._emit(event);\n\t\t});\n\t\trunner.bindCommandContext(this._extensionCommandContextActions);\n\n\t\tthis._extensionErrorUnsubscriber?.();\n\t\tthis._extensionErrorUnsubscriber = this._extensionErrorListener\n\t\t\t? runner.onError(this._extensionErrorListener)\n\t\t\t: undefined;\n\t}\n\n\tprivate _refreshCurrentModelFromRegistry(): void {\n\t\tconst currentModel = this.model;\n\t\tif (!currentModel) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst refreshedModel = this._modelRegistry.find(currentModel.provider, currentModel.id);\n\t\tif (!refreshedModel || refreshedModel === currentModel) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.agent.state.model = refreshedModel;\n\t}\n\n\tprivate _bindExtensionCore(runner: ExtensionRunner): void {\n\t\tconst getCommands = (): SlashCommandInfo[] => {\n\t\t\tconst extensionCommands: SlashCommandInfo[] = runner.getRegisteredCommands().map((command) => ({\n\t\t\t\tname: command.invocationName,\n\t\t\t\tdescription: command.description,\n\t\t\t\tsource: \"extension\",\n\t\t\t\tsourceInfo: command.sourceInfo,\n\t\t\t}));\n\n\t\t\tconst templates: SlashCommandInfo[] = this.promptTemplates.map((template) => ({\n\t\t\t\tname: template.name,\n\t\t\t\tdescription: template.description,\n\t\t\t\tsource: \"prompt\",\n\t\t\t\tsourceInfo: template.sourceInfo,\n\t\t\t}));\n\n\t\t\tconst skills: SlashCommandInfo[] = this._resourceLoader.getSkills().skills.map((skill) => ({\n\t\t\t\tname: `skill:${skill.name}`,\n\t\t\t\tdescription: skill.description,\n\t\t\t\tsource: \"skill\",\n\t\t\t\tsourceInfo: skill.sourceInfo,\n\t\t\t}));\n\n\t\t\treturn [...extensionCommands, ...templates, ...skills];\n\t\t};\n\n\t\trunner.bindCore(\n\t\t\t{\n\t\t\t\tsendMessage: (message, options) => {\n\t\t\t\t\tthis.sendCustomMessage(message, options).catch((err) => {\n\t\t\t\t\t\trunner.emitError({\n\t\t\t\t\t\t\textensionPath: \"<runtime>\",\n\t\t\t\t\t\t\tevent: \"send_message\",\n\t\t\t\t\t\t\terror: err instanceof Error ? err.message : String(err),\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tsendUserMessage: (content, options) => {\n\t\t\t\t\tthis.sendUserMessage(content, options).catch((err) => {\n\t\t\t\t\t\trunner.emitError({\n\t\t\t\t\t\t\textensionPath: \"<runtime>\",\n\t\t\t\t\t\t\tevent: \"send_user_message\",\n\t\t\t\t\t\t\terror: err instanceof Error ? err.message : String(err),\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tappendEntry: (customType, data) => {\n\t\t\t\t\tthis.sessionManager.appendCustomEntry(customType, data);\n\t\t\t\t},\n\t\t\t\tsetSessionName: (name) => {\n\t\t\t\t\tthis.setSessionName(name);\n\t\t\t\t},\n\t\t\t\tgetSessionName: () => {\n\t\t\t\t\treturn this.sessionManager.getSessionName();\n\t\t\t\t},\n\t\t\t\tsetLabel: (entryId, label) => {\n\t\t\t\t\tthis.sessionManager.appendLabelChange(entryId, label);\n\t\t\t\t},\n\t\t\t\tgetActiveTools: () => this.getActiveToolNames(),\n\t\t\t\tgetAllTools: () => this.getAllTools(),\n\t\t\t\tsetActiveTools: (toolNames) => this.setActiveToolsByName(toolNames),\n\t\t\t\trefreshTools: () => this._refreshToolRegistry(),\n\t\t\t\tgetCommands,\n\t\t\t\tsetModel: async (model) => {\n\t\t\t\t\tif (!this.modelRegistry.hasConfiguredAuth(model)) return false;\n\t\t\t\t\tawait this.setModel(model);\n\t\t\t\t\treturn true;\n\t\t\t\t},\n\t\t\t\tgetThinkingLevel: () => this.thinkingLevel,\n\t\t\t\tsetThinkingLevel: (level) => this.setThinkingLevel(level),\n\t\t\t},\n\t\t\t{\n\t\t\t\tgetModel: () => this.model,\n\t\t\t\tgetServiceTier: () => this.serviceTier,\n\t\t\t\tisIdle: () => !this.isStreaming,\n\t\t\t\tisProjectTrusted: () => this.settingsManager.isProjectTrusted(),\n\t\t\t\tgetSignal: () => this.agent.signal,\n\t\t\t\tabort: () => {\n\t\t\t\t\tif (this._extensionAbortHandler) {\n\t\t\t\t\t\tthis._extensionAbortHandler();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tvoid this.abort();\n\t\t\t\t},\n\t\t\t\thasPendingMessages: () => this.pendingMessageCount > 0,\n\t\t\t\tshutdown: () => {\n\t\t\t\t\tthis._extensionShutdownHandler?.();\n\t\t\t\t},\n\t\t\t\tgetContextUsage: () => this.getContextUsage(),\n\t\t\t\tgetCompactionSettings: () => this.settingsManager.getCompactionSettings(),\n\t\t\t\tcompact: (options) => {\n\t\t\t\t\tvoid (async () => {\n\t\t\t\t\t\tthis._disconnectFromAgent();\n\t\t\t\t\t\tawait this.abort();\n\t\t\t\t\t\tthis._compactionAbortController = new AbortController();\n\t\t\t\t\t\tthis._emit({ type: \"compaction_start\", reason: \"extension\" });\n\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst execution = await this._executeCompaction({\n\t\t\t\t\t\t\t\treason: \"extension\",\n\t\t\t\t\t\t\t\tcustomInstructions: options?.customInstructions,\n\t\t\t\t\t\t\t\twillRetry: false,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (execution.accepted) {\n\t\t\t\t\t\t\t\toptions?.onComplete?.(execution.result);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\toptions?.onError?.(new CompactionRejectedError(execution.rejectionCause));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\t\t\t\t\tconst aborted =\n\t\t\t\t\t\t\t\tmessage === \"Compaction cancelled\" || (error instanceof Error && error.name === \"AbortError\");\n\t\t\t\t\t\t\tthis._emit({\n\t\t\t\t\t\t\t\ttype: \"compaction_end\",\n\t\t\t\t\t\t\t\treason: \"extension\",\n\t\t\t\t\t\t\t\tresult: undefined,\n\t\t\t\t\t\t\t\taborted,\n\t\t\t\t\t\t\t\twillRetry: false,\n\t\t\t\t\t\t\t\terrorMessage: aborted ? undefined : `Compaction failed: ${message}`,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tconst err = error instanceof Error ? error : new Error(String(error));\n\t\t\t\t\t\t\toptions?.onError?.(err);\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tthis._compactionAbortController = undefined;\n\t\t\t\t\t\t\tthis._reconnectToAgent();\n\t\t\t\t\t\t}\n\t\t\t\t\t})();\n\t\t\t\t},\n\t\t\t\tbeginCompaction: (options) => this._beginExtensionCompactionFeedback(options.reason),\n\t\t\t\tupdateCompaction: (options) => this._updateExtensionCompactionFeedback(options),\n\t\t\t\tendCompaction: (options) => this._endExtensionCompactionFeedback(options),\n\t\t\t\tgetMessageRevision: () => this.getMessageRevision(),\n\t\t\t\tapplyCompaction: (precomputed, options) => this.applyCompaction(precomputed, options),\n\t\t\t\tgetSystemPrompt: () => this.systemPrompt,\n\t\t\t\tgetSystemPromptOptions: () => this._baseSystemPromptOptions,\n\t\t\t},\n\t\t\t{\n\t\t\t\tregisterProvider: (name, config) => {\n\t\t\t\t\tthis._modelRegistry.registerProvider(name, config);\n\t\t\t\t\tthis._refreshCurrentModelFromRegistry();\n\t\t\t\t},\n\t\t\t\tunregisterProvider: (name) => {\n\t\t\t\t\tthis._modelRegistry.unregisterProvider(name);\n\t\t\t\t\tthis._refreshCurrentModelFromRegistry();\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t}\n\n\tprivate _refreshToolRegistry(options?: { activeToolNames?: string[]; includeAllExtensionTools?: boolean }): void {\n\t\tconst previousRegistryNames = new Set(this._toolRegistry.keys());\n\t\tconst previousActiveToolNames = this.getActiveToolNames();\n\t\tconst allowedToolNames = this._allowedToolNames;\n\t\tconst excludedToolNames = this._excludedToolNames;\n\t\tconst isAllowedTool = (name: string): boolean =>\n\t\t\t(!allowedToolNames || allowedToolNames.has(name)) && !excludedToolNames?.has(name);\n\n\t\tconst registeredTools = this._extensionRunner.getAllRegisteredTools();\n\t\tconst allCustomTools = [\n\t\t\t...registeredTools,\n\t\t\t...this._customTools.map((definition) => ({\n\t\t\t\tdefinition,\n\t\t\t\tsourceInfo: createSyntheticSourceInfo(`<sdk:${definition.name}>`, { source: \"sdk\" }),\n\t\t\t})),\n\t\t].filter((tool) => isAllowedTool(tool.definition.name));\n\t\tconst definitionRegistry = new Map<string, ToolDefinitionEntry>(\n\t\t\tArray.from(this._baseToolDefinitions.entries())\n\t\t\t\t.filter(([name]) => isAllowedTool(name))\n\t\t\t\t.map(([name, definition]) => [\n\t\t\t\t\tname,\n\t\t\t\t\t{\n\t\t\t\t\t\tdefinition,\n\t\t\t\t\t\tsourceInfo: createSyntheticSourceInfo(`<builtin:${name}>`, { source: \"builtin\" }),\n\t\t\t\t\t},\n\t\t\t\t]),\n\t\t);\n\t\tfor (const tool of allCustomTools) {\n\t\t\tdefinitionRegistry.set(tool.definition.name, {\n\t\t\t\tdefinition: tool.definition,\n\t\t\t\tsourceInfo: tool.sourceInfo,\n\t\t\t});\n\t\t}\n\t\tthis._toolDefinitions = definitionRegistry;\n\t\tthis._toolPromptSnippets = new Map(\n\t\t\tArray.from(definitionRegistry.values())\n\t\t\t\t.map(({ definition }) => {\n\t\t\t\t\tconst snippet = this._normalizePromptSnippet(definition.promptSnippet);\n\t\t\t\t\treturn snippet ? ([definition.name, snippet] as const) : undefined;\n\t\t\t\t})\n\t\t\t\t.filter((entry): entry is readonly [string, string] => entry !== undefined),\n\t\t);\n\t\tthis._toolPromptGuidelines = new Map(\n\t\t\tArray.from(definitionRegistry.values())\n\t\t\t\t.map(({ definition }) => {\n\t\t\t\t\tconst guidelines = this._normalizePromptGuidelines(definition.promptGuidelines);\n\t\t\t\t\treturn guidelines.length > 0 ? ([definition.name, guidelines] as const) : undefined;\n\t\t\t\t})\n\t\t\t\t.filter((entry): entry is readonly [string, string[]] => entry !== undefined),\n\t\t);\n\t\tconst runner = this._extensionRunner;\n\t\tconst wrappedExtensionTools = wrapRegisteredTools(allCustomTools, runner);\n\t\tconst wrappedBuiltInTools = wrapRegisteredTools(\n\t\t\tArray.from(this._baseToolDefinitions.values())\n\t\t\t\t.filter((definition) => isAllowedTool(definition.name))\n\t\t\t\t.map((definition) => ({\n\t\t\t\t\tdefinition,\n\t\t\t\t\tsourceInfo: createSyntheticSourceInfo(`<builtin:${definition.name}>`, { source: \"builtin\" }),\n\t\t\t\t})),\n\t\t\trunner,\n\t\t);\n\n\t\tconst toolRegistry = new Map(wrappedBuiltInTools.map((tool) => [tool.name, tool]));\n\t\tfor (const tool of wrappedExtensionTools as AgentTool[]) {\n\t\t\ttoolRegistry.set(tool.name, tool);\n\t\t}\n\t\tthis._toolRegistry = toolRegistry;\n\n\t\tconst nextActiveToolNames = (\n\t\t\toptions?.activeToolNames ? [...options.activeToolNames] : [...previousActiveToolNames]\n\t\t).filter((name) => isAllowedTool(name));\n\n\t\tif (allowedToolNames) {\n\t\t\tfor (const toolName of this._toolRegistry.keys()) {\n\t\t\t\tif (allowedToolNames.has(toolName)) {\n\t\t\t\t\tnextActiveToolNames.push(toolName);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (options?.includeAllExtensionTools) {\n\t\t\tfor (const tool of wrappedExtensionTools) {\n\t\t\t\tnextActiveToolNames.push(tool.name);\n\t\t\t}\n\t\t} else if (!options?.activeToolNames) {\n\t\t\tfor (const toolName of this._toolRegistry.keys()) {\n\t\t\t\tif (!previousRegistryNames.has(toolName)) {\n\t\t\t\t\tnextActiveToolNames.push(toolName);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.setActiveToolsByName([...new Set(nextActiveToolNames)]);\n\t}\n\n\tprivate _buildRuntime(options: {\n\t\tactiveToolNames?: string[];\n\t\tflagValues?: Map<string, boolean | string>;\n\t\tincludeAllExtensionTools?: boolean;\n\t}): void {\n\t\tconst autoResizeImages = this.settingsManager.getImageAutoResize();\n\t\tconst shellCommandPrefix = this.settingsManager.getShellCommandPrefix();\n\t\tconst shellPath = this.settingsManager.getShellPath();\n\t\tconst baseToolDefinitions = this._baseToolsOverride\n\t\t\t? Object.fromEntries(\n\t\t\t\t\tObject.entries(this._baseToolsOverride).map(([name, tool]) => [\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tcreateToolDefinitionFromAgentTool(tool),\n\t\t\t\t\t]),\n\t\t\t\t)\n\t\t\t: createAllToolDefinitions(this._cwd, {\n\t\t\t\t\tread: { autoResizeImages },\n\t\t\t\t\tbash: { commandPrefix: shellCommandPrefix, shellPath },\n\t\t\t\t});\n\n\t\tthis._baseToolDefinitions = new Map(\n\t\t\tObject.entries(baseToolDefinitions).map(([name, tool]) => [name, tool as ToolDefinition]),\n\t\t);\n\n\t\tconst extensionsResult = this._resourceLoader.getExtensions();\n\t\tif (options.flagValues) {\n\t\t\tfor (const [name, value] of options.flagValues) {\n\t\t\t\textensionsResult.runtime.flagValues.set(name, value);\n\t\t\t}\n\t\t}\n\n\t\tthis._extensionRunner = new ExtensionRunner(\n\t\t\textensionsResult.extensions,\n\t\t\textensionsResult.runtime,\n\t\t\tthis._cwd,\n\t\t\tthis.sessionManager,\n\t\t\tthis._modelRegistry,\n\t\t);\n\t\tif (this._extensionRunnerRef) {\n\t\t\tthis._extensionRunnerRef.current = this._extensionRunner;\n\t\t}\n\t\tthis._bindExtensionCore(this._extensionRunner);\n\t\tthis._applyExtensionBindings(this._extensionRunner);\n\n\t\tconst defaultActiveToolNames = this._baseToolsOverride\n\t\t\t? Object.keys(this._baseToolsOverride)\n\t\t\t: [\"read\", \"bash\", \"edit\", \"write\"];\n\t\tconst baseActiveToolNames = options.activeToolNames ?? defaultActiveToolNames;\n\t\tthis._refreshToolRegistry({\n\t\t\tactiveToolNames: baseActiveToolNames,\n\t\t\tincludeAllExtensionTools: options.includeAllExtensionTools,\n\t\t});\n\t}\n\n\tasync reload(): Promise<void> {\n\t\tconst previousFlagValues = this._extensionRunner.getFlagValues();\n\t\tawait emitSessionShutdownEvent(this._extensionRunner, { type: \"session_shutdown\", reason: \"reload\" });\n\t\tawait this.settingsManager.reload();\n\t\tthis.syncQueueModesFromSettings();\n\t\tresetApiProviders();\n\t\tthis._modelRegistry.refresh();\n\t\tthis.setScopedModels(\n\t\t\tawait resolveModelScope(\n\t\t\t\tgetModelNarrowingPatterns({\n\t\t\t\t\tlegacyEnabledPatterns: this.settingsManager.getEnabledModels(),\n\t\t\t\t}),\n\t\t\t\tthis._modelRegistry,\n\t\t\t),\n\t\t);\n\t\tthis.setFavoriteModels(\n\t\t\tawait resolveModelScope(this.settingsManager.getFavoriteModels() ?? [], this._modelRegistry),\n\t\t);\n\t\tawait this._resourceLoader.reload();\n\t\tthis._buildRuntime({\n\t\t\tactiveToolNames: this.getActiveToolNames(),\n\t\t\tflagValues: previousFlagValues,\n\t\t\tincludeAllExtensionTools: true,\n\t\t});\n\n\t\tconst hasBindings =\n\t\t\tthis._extensionUIContext ||\n\t\t\tthis._extensionCommandContextActions ||\n\t\t\tthis._extensionShutdownHandler ||\n\t\t\tthis._extensionErrorListener;\n\t\tif (hasBindings) {\n\t\t\tawait this._extensionRunner.emit({ type: \"session_start\", reason: \"reload\" });\n\t\t\tawait this.extendResourcesFromExtensions(\"reload\");\n\t\t}\n\t}\n\n\t// =========================================================================\n\t// Auto-Retry\n\t// =========================================================================\n\n\tprivate _isNonRetryableProviderLimitError(errorMessage: string): boolean {\n\t\treturn /GoUsageLimitError|FreeUsageLimitError|Monthly usage limit reached|available balance|insufficient_quota|out of budget|quota exceeded|billing/i.test(\n\t\t\terrorMessage,\n\t\t);\n\t}\n\n\t/**\n\t * Check if an error is retryable (overloaded, rate limit, server errors).\n\t * Context overflow errors are NOT retryable (handled by compaction instead).\n\t */\n\tprivate _isRetryableError(message: AssistantMessage): boolean {\n\t\tif (!message.errorMessage) return false;\n\n\t\t// Context overflow is handled by compaction, not retry\n\t\tconst contextWindow = this.model?.contextWindow ?? 0;\n\t\tif (isContextOverflow(message, contextWindow)) return false;\n\n\t\tconst err = message.errorMessage;\n\t\tif (message.stopReason === \"aborted\") {\n\t\t\treturn /timed? out|timeout/i.test(err);\n\t\t}\n\t\tif (message.stopReason !== \"error\") return false;\n\n\t\tif (this._isNonRetryableProviderLimitError(err)) return false;\n\t\t// Match: overloaded_error, provider returned error, rate limit, 429, 500, 502, 503, 504, service unavailable, network/connection errors (including connection lost), WebSocket transport closes/errors, fetch failed, premature stream endings, HTTP/2 closed before response, terminated, retry delay exceeded\n\t\treturn /overloaded|provider.?returned.?error|rate.?limit|too many requests|429|500|502|503|504|service.?unavailable|server.?error|internal.?error|network.?error|connection.?error|connection.?refused|connection.?lost|websocket.?closed|websocket.?error|other side closed|fetch failed|upstream.?connect|reset before headers|socket hang up|ended without|stream ended before message_stop|http2 request did not get a response|timed? out|timeout|terminated|retry delay/i.test(\n\t\t\terr,\n\t\t);\n\t}\n\n\tprivate _getProviderRetryDelayMs(errorMessage: string): number | undefined {\n\t\tconst retryAfterMsMatch = errorMessage.match(/\\bretry[-_ ]?after[-_ ]?ms\\s*[:=]\\s*(\\d+(?:\\.\\d+)?)/i);\n\t\tif (retryAfterMsMatch) {\n\t\t\tconst delayMs = Math.ceil(Number(retryAfterMsMatch[1]));\n\t\t\treturn Number.isFinite(delayMs) && delayMs > 0 ? delayMs : undefined;\n\t\t}\n\n\t\tconst retryAfterSecondsMatch = errorMessage.match(/\\bretry[-_ ]?after\\s*[:=]\\s*(\\d+(?:\\.\\d+)?)/i);\n\t\tif (retryAfterSecondsMatch) {\n\t\t\tconst delayMs = Math.ceil(Number(retryAfterSecondsMatch[1]) * 1000);\n\t\t\treturn Number.isFinite(delayMs) && delayMs > 0 ? delayMs : undefined;\n\t\t}\n\n\t\tconst retryInMatch = errorMessage.match(\n\t\t\t/\\b(?:retry|try again|wait)\\s+(?:after|in)\\s*(\\d+(?:\\.\\d+)?)\\s*(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m)\\b/i,\n\t\t);\n\t\tif (!retryInMatch) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst value = Number(retryInMatch[1]);\n\t\tif (!Number.isFinite(value) || value <= 0) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst unit = retryInMatch[2].toLowerCase();\n\t\tif (unit === \"m\" || unit.startsWith(\"min\")) {\n\t\t\treturn Math.ceil(value * 60_000);\n\t\t}\n\t\tif (unit.startsWith(\"s\")) {\n\t\t\treturn Math.ceil(value * 1000);\n\t\t}\n\t\treturn Math.ceil(value);\n\t}\n\n\t/**\n\t * Handle retryable errors with exponential backoff.\n\t * @returns true if retry was initiated, false if max retries exceeded or disabled\n\t */\n\tprivate async _handleRetryableError(message: AssistantMessage): Promise<boolean> {\n\t\tconst settings = this.settingsManager.getRetrySettings();\n\t\tif (!settings.enabled) {\n\t\t\tthis._resolveRetry();\n\t\t\treturn false;\n\t\t}\n\n\t\t// Retry promise is created synchronously in _handleAgentEvent for agent_end.\n\t\t// Keep a defensive fallback here in case a future refactor bypasses that path.\n\t\tif (!this._retryPromise) {\n\t\t\tthis._retryPromise = new Promise((resolve) => {\n\t\t\t\tthis._retryResolve = resolve;\n\t\t\t});\n\t\t}\n\n\t\tthis._retryAttempt++;\n\n\t\tif (this._retryAttempt > settings.maxRetries) {\n\t\t\t// Max retries exceeded, emit final failure and reset\n\t\t\tthis._emit({\n\t\t\t\ttype: \"auto_retry_end\",\n\t\t\t\tsuccess: false,\n\t\t\t\tattempt: this._retryAttempt - 1,\n\t\t\t\tfinalError: message.errorMessage,\n\t\t\t});\n\t\t\tthis._retryAttempt = 0;\n\t\t\tthis._resolveRetry(); // Resolve so waitForRetry() completes\n\t\t\treturn false;\n\t\t}\n\n\t\tconst errorMessage = message.errorMessage || \"Unknown error\";\n\t\tconst providerDelayMs = this._getProviderRetryDelayMs(errorMessage);\n\t\tconst maxRetryDelayMs = this.settingsManager.getProviderRetrySettings().maxRetryDelayMs;\n\t\tif (providerDelayMs !== undefined && providerDelayMs > maxRetryDelayMs) {\n\t\t\tthis._emit({\n\t\t\t\ttype: \"auto_retry_end\",\n\t\t\t\tsuccess: false,\n\t\t\t\tattempt: this._retryAttempt,\n\t\t\t\tfinalError: `Provider requested retry delay ${providerDelayMs}ms, exceeding configured maximum ${maxRetryDelayMs}ms`,\n\t\t\t});\n\t\t\tthis._retryAttempt = 0;\n\t\t\tthis._resolveRetry();\n\t\t\treturn false;\n\t\t}\n\n\t\tconst delayMs = providerDelayMs ?? settings.baseDelayMs * 2 ** (this._retryAttempt - 1);\n\n\t\tthis._emit({\n\t\t\ttype: \"auto_retry_start\",\n\t\t\tattempt: this._retryAttempt,\n\t\t\tmaxAttempts: settings.maxRetries,\n\t\t\tdelayMs,\n\t\t\terrorMessage,\n\t\t});\n\n\t\t// Remove error message from agent state (keep in session for history)\n\t\tconst messages = this.agent.state.messages;\n\t\tif (messages.length > 0 && messages[messages.length - 1].role === \"assistant\") {\n\t\t\tthis.agent.state.messages = messages.slice(0, -1);\n\t\t\tthis._incrementMessageRevision();\n\t\t}\n\n\t\t// Wait with exponential backoff (abortable)\n\t\tthis._retryAbortController = new AbortController();\n\t\ttry {\n\t\t\tawait sleep(delayMs, this._retryAbortController.signal);\n\t\t} catch {\n\t\t\t// Aborted during sleep - emit end event so UI can clean up\n\t\t\tconst attempt = this._retryAttempt;\n\t\t\tthis._retryAttempt = 0;\n\t\t\tthis._retryAbortController = undefined;\n\t\t\tthis._emit({\n\t\t\t\ttype: \"auto_retry_end\",\n\t\t\t\tsuccess: false,\n\t\t\t\tattempt,\n\t\t\t\tfinalError: \"Retry cancelled\",\n\t\t\t});\n\t\t\tthis._resolveRetry();\n\t\t\treturn false;\n\t\t}\n\t\tthis._retryAbortController = undefined;\n\n\t\t// Retry via continue() - use setTimeout to break out of event handler chain\n\t\tsetTimeout(() => {\n\t\t\tthis.agent.continue().catch(() => {\n\t\t\t\t// Retry failed - will be caught by next agent_end\n\t\t\t});\n\t\t}, 0);\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Cancel in-progress retry.\n\t */\n\tabortRetry(): void {\n\t\tthis._retryAbortController?.abort();\n\t\t// Note: _retryAttempt is reset in the catch block of _autoRetry\n\t\tthis._resolveRetry();\n\t}\n\n\t/**\n\t * Wait for any in-progress retry to complete.\n\t * Returns immediately if no retry is in progress.\n\t */\n\tprivate async waitForRetry(): Promise<void> {\n\t\tif (!this._retryPromise) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this._retryPromise;\n\t\tawait this.agent.waitForIdle();\n\t}\n\n\t/** Whether auto-retry is currently in progress */\n\tget isRetrying(): boolean {\n\t\treturn this._retryPromise !== undefined;\n\t}\n\n\t/** Whether auto-retry is enabled */\n\tget autoRetryEnabled(): boolean {\n\t\treturn this.settingsManager.getRetryEnabled();\n\t}\n\n\t/**\n\t * Toggle auto-retry setting.\n\t */\n\tsetAutoRetryEnabled(enabled: boolean): void {\n\t\tthis.settingsManager.setRetryEnabled(enabled);\n\t}\n\n\t// =========================================================================\n\t// Bash Execution\n\t// =========================================================================\n\n\t/**\n\t * Execute a bash command.\n\t * Adds result to agent context and session.\n\t * @param command The bash command to execute\n\t * @param onChunk Optional streaming callback for output\n\t * @param options.excludeFromContext If true, command output won't be sent to LLM (!! prefix)\n\t * @param options.operations Custom BashOperations for remote execution\n\t */\n\tasync executeBash(\n\t\tcommand: string,\n\t\tonChunk?: (chunk: string) => void,\n\t\toptions?: { excludeFromContext?: boolean; operations?: BashOperations },\n\t): Promise<BashResult> {\n\t\tthis._bashAbortController = new AbortController();\n\n\t\t// Apply command prefix if configured (e.g., \"shopt -s expand_aliases\" for alias support)\n\t\tconst prefix = this.settingsManager.getShellCommandPrefix();\n\t\tconst shellPath = this.settingsManager.getShellPath();\n\t\tconst resolvedCommand = prefix ? `${prefix}\\n${command}` : command;\n\n\t\ttry {\n\t\t\tconst result = await executeBashWithOperations(\n\t\t\t\tresolvedCommand,\n\t\t\t\tthis.sessionManager.getCwd(),\n\t\t\t\toptions?.operations ?? createLocalBashOperations({ shellPath }),\n\t\t\t\t{\n\t\t\t\t\tonChunk,\n\t\t\t\t\tsignal: this._bashAbortController.signal,\n\t\t\t\t},\n\t\t\t);\n\n\t\t\tthis.recordBashResult(command, result, options);\n\t\t\treturn result;\n\t\t} finally {\n\t\t\tthis._bashAbortController = undefined;\n\t\t}\n\t}\n\n\t/**\n\t * Record a bash execution result in session history.\n\t * Used by executeBash and by extensions that handle bash execution themselves.\n\t */\n\trecordBashResult(command: string, result: BashResult, options?: { excludeFromContext?: boolean }): void {\n\t\tconst bashMessage: BashExecutionMessage = {\n\t\t\trole: \"bashExecution\",\n\t\t\tcommand,\n\t\t\toutput: result.output,\n\t\t\texitCode: result.exitCode,\n\t\t\tcancelled: result.cancelled,\n\t\t\ttruncated: result.truncated,\n\t\t\tfullOutputPath: result.fullOutputPath,\n\t\t\ttimestamp: Date.now(),\n\t\t\texcludeFromContext: options?.excludeFromContext,\n\t\t};\n\n\t\t// If agent is streaming, defer adding to avoid breaking tool_use/tool_result ordering\n\t\tif (this.isStreaming) {\n\t\t\t// Queue for later - will be flushed on agent_end\n\t\t\tthis._pendingBashMessages.push(bashMessage);\n\t\t} else {\n\t\t\t// Add to agent state immediately\n\t\t\tthis.agent.state.messages.push(bashMessage);\n\n\t\t\t// Save to session\n\t\t\tthis.sessionManager.appendMessage(bashMessage);\n\t\t\tthis._incrementMessageRevision();\n\t\t}\n\t}\n\n\t/**\n\t * Cancel running bash command.\n\t */\n\tabortBash(): void {\n\t\tthis._bashAbortController?.abort();\n\t}\n\n\t/** Whether a bash command is currently running */\n\tget isBashRunning(): boolean {\n\t\treturn this._bashAbortController !== undefined;\n\t}\n\n\t/** Whether there are pending bash messages waiting to be flushed */\n\tget hasPendingBashMessages(): boolean {\n\t\treturn this._pendingBashMessages.length > 0;\n\t}\n\n\t/**\n\t * Flush pending bash messages to agent state and session.\n\t * Called after agent turn completes to maintain proper message ordering.\n\t */\n\tprivate _flushPendingBashMessages(): void {\n\t\tif (this._pendingBashMessages.length === 0) return;\n\n\t\tfor (const bashMessage of this._pendingBashMessages) {\n\t\t\t// Add to agent state\n\t\t\tthis.agent.state.messages.push(bashMessage);\n\n\t\t\t// Save to session\n\t\t\tthis.sessionManager.appendMessage(bashMessage);\n\t\t\tthis._incrementMessageRevision();\n\t\t}\n\n\t\tthis._pendingBashMessages = [];\n\t}\n\n\t// =========================================================================\n\t// Session Management\n\t// =========================================================================\n\n\t/**\n\t * Set a display name for the current session.\n\t */\n\tsetSessionName(name: string): void {\n\t\tthis.sessionManager.appendSessionInfo(name);\n\t\tthis._emit({ type: \"session_info_changed\", name: this.sessionManager.getSessionName() });\n\t}\n\n\t// =========================================================================\n\t// Tree Navigation\n\t// =========================================================================\n\n\t/**\n\t * Navigate to a different node in the session tree.\n\t * Unlike fork() which creates a new session file, this stays in the same file.\n\t *\n\t * @param targetId The entry ID to navigate to\n\t * @param options.summarize Whether user wants to summarize abandoned branch\n\t * @param options.customInstructions Custom instructions for summarizer\n\t * @param options.replaceInstructions If true, customInstructions replaces the default prompt\n\t * @param options.label Label to attach to the branch summary entry\n\t * @returns Result with editorText (if user message) and cancelled status\n\t */\n\tasync navigateTree(\n\t\ttargetId: string,\n\t\toptions: { summarize?: boolean; customInstructions?: string; replaceInstructions?: boolean; label?: string } = {},\n\t): Promise<{ editorText?: string; cancelled: boolean; aborted?: boolean; summaryEntry?: BranchSummaryEntry }> {\n\t\tconst oldLeafId = this.sessionManager.getLeafId();\n\n\t\t// No-op if already at target\n\t\tif (targetId === oldLeafId) {\n\t\t\treturn { cancelled: false };\n\t\t}\n\n\t\t// Model required for summarization\n\t\tif (options.summarize && !this.model) {\n\t\t\tthrow new Error(\"No model available for summarization\");\n\t\t}\n\n\t\tconst targetEntry = this.sessionManager.getEntry(targetId);\n\t\tif (!targetEntry) {\n\t\t\tthrow new Error(`Entry ${targetId} not found`);\n\t\t}\n\n\t\t// Collect entries to summarize (from old leaf to common ancestor)\n\t\tconst { entries: entriesToSummarize, commonAncestorId } = collectEntriesForBranchSummary(\n\t\t\tthis.sessionManager,\n\t\t\toldLeafId,\n\t\t\ttargetId,\n\t\t);\n\n\t\t// Prepare event data - mutable so extensions can override\n\t\tlet customInstructions = options.customInstructions;\n\t\tlet replaceInstructions = options.replaceInstructions;\n\t\tlet label = options.label;\n\n\t\tconst preparation: TreePreparation = {\n\t\t\ttargetId,\n\t\t\toldLeafId,\n\t\t\tcommonAncestorId,\n\t\t\tentriesToSummarize,\n\t\t\tuserWantsSummary: options.summarize ?? false,\n\t\t\tcustomInstructions,\n\t\t\treplaceInstructions,\n\t\t\tlabel,\n\t\t};\n\n\t\t// Set up abort controller for summarization\n\t\tthis._branchSummaryAbortController = new AbortController();\n\n\t\ttry {\n\t\t\tlet extensionSummary: { summary: string; details?: unknown } | undefined;\n\t\t\tlet fromExtension = false;\n\n\t\t\t// Emit session_before_tree event\n\t\t\tif (this._extensionRunner.hasHandlers(\"session_before_tree\")) {\n\t\t\t\tconst result = (await this._extensionRunner.emit({\n\t\t\t\t\ttype: \"session_before_tree\",\n\t\t\t\t\tpreparation,\n\t\t\t\t\tsignal: this._branchSummaryAbortController.signal,\n\t\t\t\t})) as SessionBeforeTreeResult | undefined;\n\n\t\t\t\tif (result?.cancel) {\n\t\t\t\t\treturn { cancelled: true };\n\t\t\t\t}\n\n\t\t\t\tif (result?.summary && options.summarize) {\n\t\t\t\t\textensionSummary = result.summary;\n\t\t\t\t\tfromExtension = true;\n\t\t\t\t}\n\n\t\t\t\t// Allow extensions to override instructions and label\n\t\t\t\tif (result?.customInstructions !== undefined) {\n\t\t\t\t\tcustomInstructions = result.customInstructions;\n\t\t\t\t}\n\t\t\t\tif (result?.replaceInstructions !== undefined) {\n\t\t\t\t\treplaceInstructions = result.replaceInstructions;\n\t\t\t\t}\n\t\t\t\tif (result?.label !== undefined) {\n\t\t\t\t\tlabel = result.label;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Run default summarizer if needed\n\t\t\tlet summaryText: string | undefined;\n\t\t\tlet summaryDetails: unknown;\n\t\t\tif (options.summarize && entriesToSummarize.length > 0 && !extensionSummary) {\n\t\t\t\tconst model = this.model!;\n\t\t\t\tconst { apiKey, headers, extraBody, env } = await this._getRequiredRequestAuth(model);\n\t\t\t\tconst branchSummarySettings = this.settingsManager.getBranchSummarySettings();\n\t\t\t\tconst result = await generateBranchSummary(entriesToSummarize, {\n\t\t\t\t\tmodel,\n\t\t\t\t\tapiKey,\n\t\t\t\t\theaders,\n\t\t\t\t\textraBody,\n\t\t\t\t\tenv,\n\t\t\t\t\tsignal: this._branchSummaryAbortController.signal,\n\t\t\t\t\tcustomInstructions,\n\t\t\t\t\treplaceInstructions,\n\t\t\t\t\treserveTokens: branchSummarySettings.reserveTokens,\n\t\t\t\t\tstreamFn: this.agent.streamFn,\n\t\t\t\t});\n\t\t\t\tif (result.aborted) {\n\t\t\t\t\treturn { cancelled: true, aborted: true };\n\t\t\t\t}\n\t\t\t\tif (result.error) {\n\t\t\t\t\tthrow new Error(result.error);\n\t\t\t\t}\n\t\t\t\tsummaryText = result.summary;\n\t\t\t\tsummaryDetails = {\n\t\t\t\t\treadFiles: result.readFiles || [],\n\t\t\t\t\tmodifiedFiles: result.modifiedFiles || [],\n\t\t\t\t};\n\t\t\t} else if (extensionSummary) {\n\t\t\t\tsummaryText = extensionSummary.summary;\n\t\t\t\tsummaryDetails = extensionSummary.details;\n\t\t\t}\n\n\t\t\t// Determine the new leaf position based on target type\n\t\t\tlet newLeafId: string | null;\n\t\t\tlet editorText: string | undefined;\n\n\t\t\tif (targetEntry.type === \"message\" && targetEntry.message.role === \"user\") {\n\t\t\t\t// User message: leaf = parent (null if root), text goes to editor\n\t\t\t\tnewLeafId = targetEntry.parentId;\n\t\t\t\teditorText = this._extractUserMessageText(targetEntry.message.content);\n\t\t\t} else if (targetEntry.type === \"custom_message\") {\n\t\t\t\t// Custom message: leaf = parent (null if root), text goes to editor\n\t\t\t\tnewLeafId = targetEntry.parentId;\n\t\t\t\teditorText =\n\t\t\t\t\ttypeof targetEntry.content === \"string\"\n\t\t\t\t\t\t? targetEntry.content\n\t\t\t\t\t\t: targetEntry.content\n\t\t\t\t\t\t\t\t.filter((c): c is { type: \"text\"; text: string } => c.type === \"text\")\n\t\t\t\t\t\t\t\t.map((c) => c.text)\n\t\t\t\t\t\t\t\t.join(\"\");\n\t\t\t} else {\n\t\t\t\t// Non-user message: leaf = selected node\n\t\t\t\tnewLeafId = targetId;\n\t\t\t}\n\n\t\t\t// Switch leaf (with or without summary)\n\t\t\t// Summary is attached at the navigation target position (newLeafId), not the old branch\n\t\t\tlet summaryEntry: BranchSummaryEntry | undefined;\n\t\t\tif (summaryText) {\n\t\t\t\t// Create summary at target position (can be null for root)\n\t\t\t\tconst summaryId = this.sessionManager.branchWithSummary(\n\t\t\t\t\tnewLeafId,\n\t\t\t\t\tsummaryText,\n\t\t\t\t\tsummaryDetails,\n\t\t\t\t\tfromExtension,\n\t\t\t\t);\n\t\t\t\tsummaryEntry = this.sessionManager.getEntry(summaryId) as BranchSummaryEntry;\n\n\t\t\t\t// Attach label to the summary entry\n\t\t\t\tif (label) {\n\t\t\t\t\tthis.sessionManager.appendLabelChange(summaryId, label);\n\t\t\t\t}\n\t\t\t} else if (newLeafId === null) {\n\t\t\t\t// No summary, navigating to root - reset leaf\n\t\t\t\tthis.sessionManager.resetLeaf();\n\t\t\t} else {\n\t\t\t\t// No summary, navigating to non-root\n\t\t\t\tthis.sessionManager.branch(newLeafId);\n\t\t\t}\n\n\t\t\t// Attach label to target entry when not summarizing (no summary entry to label)\n\t\t\tif (label && !summaryText) {\n\t\t\t\tthis.sessionManager.appendLabelChange(targetId, label);\n\t\t\t}\n\n\t\t\t// Update agent state\n\t\t\tconst sessionContext = this.sessionManager.buildSessionContext();\n\t\t\tthis.agent.state.messages = sessionContext.messages;\n\t\t\tthis._incrementMessageRevision();\n\n\t\t\t// Emit session_tree event\n\t\t\tawait this._extensionRunner.emit({\n\t\t\t\ttype: \"session_tree\",\n\t\t\t\tnewLeafId: this.sessionManager.getLeafId(),\n\t\t\t\toldLeafId,\n\t\t\t\tsummaryEntry,\n\t\t\t\tfromExtension: summaryText ? fromExtension : undefined,\n\t\t\t});\n\n\t\t\t// Emit to custom tools\n\n\t\t\treturn { editorText, cancelled: false, summaryEntry };\n\t\t} finally {\n\t\t\tthis._branchSummaryAbortController = undefined;\n\t\t}\n\t}\n\n\t/**\n\t * Get all user messages from session for fork selector.\n\t */\n\tgetUserMessagesForForking(): Array<{ entryId: string; text: string }> {\n\t\tconst entries = this.sessionManager.getEntries();\n\t\tconst result: Array<{ entryId: string; text: string }> = [];\n\n\t\tfor (const entry of entries) {\n\t\t\tif (entry.type !== \"message\") continue;\n\t\t\tif (entry.message.role !== \"user\") continue;\n\n\t\t\tconst text = this._extractUserMessageText(entry.message.content);\n\t\t\tif (text) {\n\t\t\t\tresult.push({ entryId: entry.id, text });\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprivate _extractUserMessageText(content: string | Array<{ type: string; text?: string }>): string {\n\t\tif (typeof content === \"string\") return content;\n\t\tif (Array.isArray(content)) {\n\t\t\treturn content\n\t\t\t\t.filter((c): c is { type: \"text\"; text: string } => c.type === \"text\")\n\t\t\t\t.map((c) => c.text)\n\t\t\t\t.join(\"\");\n\t\t}\n\t\treturn \"\";\n\t}\n\n\t/**\n\t * Get session statistics.\n\t */\n\tgetSessionStats(): SessionStats {\n\t\tconst state = this.state;\n\t\tconst userMessages = state.messages.filter((m) => m.role === \"user\").length;\n\t\tconst assistantMessages = state.messages.filter((m) => m.role === \"assistant\").length;\n\t\tconst toolResults = state.messages.filter((m) => m.role === \"toolResult\").length;\n\n\t\tlet toolCalls = 0;\n\t\tlet totalInput = 0;\n\t\tlet totalOutput = 0;\n\t\tlet totalCacheRead = 0;\n\t\tlet totalCacheWrite = 0;\n\t\tlet totalCost = 0;\n\n\t\tfor (const message of state.messages) {\n\t\t\tif (message.role === \"assistant\") {\n\t\t\t\tconst assistantMsg = message as AssistantMessage;\n\t\t\t\ttoolCalls += assistantMsg.content.filter((c) => c.type === \"toolCall\").length;\n\t\t\t\ttotalInput += assistantMsg.usage.input;\n\t\t\t\ttotalOutput += assistantMsg.usage.output;\n\t\t\t\ttotalCacheRead += assistantMsg.usage.cacheRead;\n\t\t\t\ttotalCacheWrite += assistantMsg.usage.cacheWrite;\n\t\t\t\ttotalCost += assistantMsg.usage.cost.total;\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tsessionFile: this.sessionFile,\n\t\t\tsessionId: this.sessionId,\n\t\t\tuserMessages,\n\t\t\tassistantMessages,\n\t\t\ttoolCalls,\n\t\t\ttoolResults,\n\t\t\ttotalMessages: state.messages.length,\n\t\t\ttokens: {\n\t\t\t\tinput: totalInput,\n\t\t\t\toutput: totalOutput,\n\t\t\t\tcacheRead: totalCacheRead,\n\t\t\t\tcacheWrite: totalCacheWrite,\n\t\t\t\ttotal: totalInput + totalOutput + totalCacheRead + totalCacheWrite,\n\t\t\t},\n\t\t\tcost: totalCost,\n\t\t\tcontextUsage: this.getContextUsage(),\n\t\t};\n\t}\n\n\tgetContextUsage(): ContextUsage | undefined {\n\t\tconst model = this.model;\n\t\tif (!model) return undefined;\n\n\t\tconst contextWindow = model.contextWindow ?? 0;\n\t\tif (contextWindow <= 0) return undefined;\n\n\t\tconst messages = filterContextExcludedMessages(this.messages);\n\n\t\t// After compaction, kept assistant usage reflects pre-compaction context size.\n\t\t// If no assistant has responded after the boundary yet, fall back to content\n\t\t// estimates so auto-compaction can still see current context pressure.\n\t\tconst branchEntries = this.sessionManager.getBranch();\n\t\tconst latestCompaction = getLatestCompactionEntry(branchEntries);\n\n\t\tif (latestCompaction) {\n\t\t\t// Check if there's a valid assistant usage after the compaction boundary\n\t\t\tconst compactionIndex = branchEntries.lastIndexOf(latestCompaction);\n\t\t\tlet hasPostCompactionUsage = false;\n\t\t\tfor (let i = branchEntries.length - 1; i > compactionIndex; i--) {\n\t\t\t\tconst entry = branchEntries[i];\n\t\t\t\tif (entry.type === \"message\" && entry.message.role === \"assistant\") {\n\t\t\t\t\tconst assistant = entry.message;\n\t\t\t\t\tif (assistant.stopReason !== \"aborted\" && assistant.stopReason !== \"error\") {\n\t\t\t\t\t\tconst contextTokens = calculateContextTokens(assistant.usage);\n\t\t\t\t\t\tif (contextTokens > 0) {\n\t\t\t\t\t\t\thasPostCompactionUsage = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!hasPostCompactionUsage) {\n\t\t\t\tconst tokens = messages.reduce((sum, message) => sum + estimateTokens(message), 0);\n\t\t\t\treturn { tokens, contextWindow, percent: (tokens / contextWindow) * 100 };\n\t\t\t}\n\t\t}\n\n\t\tconst estimate = estimateContextTokens(messages);\n\t\tconst percent = (estimate.tokens / contextWindow) * 100;\n\n\t\treturn {\n\t\t\ttokens: estimate.tokens,\n\t\t\tcontextWindow,\n\t\t\tpercent,\n\t\t};\n\t}\n\n\t/**\n\t * Export session to HTML.\n\t * @param outputPath Optional output path (defaults to session directory)\n\t * @returns Path to exported file\n\t */\n\tasync exportToHtml(outputPath?: string): Promise<string> {\n\t\tconst configuredThemeName = this.settingsManager.getTheme();\n\t\tconst themeName = configuredThemeName && getThemeByName(configuredThemeName) ? configuredThemeName : undefined;\n\n\t\t// Create tool renderer if we have an extension runner (for custom tool HTML rendering)\n\t\tconst toolRenderer: ToolHtmlRenderer = createToolHtmlRenderer({\n\t\t\tgetToolDefinition: (name) => this.getToolDefinition(name),\n\t\t\ttheme,\n\t\t\tcwd: this.sessionManager.getCwd(),\n\t\t});\n\n\t\treturn await exportSessionToHtml(this.sessionManager, this.state, {\n\t\t\toutputPath,\n\t\t\tthemeName,\n\t\t\ttoolRenderer,\n\t\t});\n\t}\n\n\t/**\n\t * Export the current session branch to a JSONL file.\n\t * Writes the session header followed by all entries on the current branch path.\n\t * @param outputPath Target file path. If omitted, generates a timestamped file in cwd.\n\t * @returns The resolved output file path.\n\t */\n\texportToJsonl(outputPath?: string): string {\n\t\tconst filePath = resolvePath(\n\t\t\toutputPath ?? `session-${new Date().toISOString().replace(/[:.]/g, \"-\")}.jsonl`,\n\t\t\tprocess.cwd(),\n\t\t);\n\t\tconst dir = dirname(filePath);\n\t\tif (!existsSync(dir)) {\n\t\t\tmkdirSync(dir, { recursive: true });\n\t\t}\n\n\t\tconst header: SessionHeader = {\n\t\t\ttype: \"session\",\n\t\t\tversion: CURRENT_SESSION_VERSION,\n\t\t\tid: this.sessionManager.getSessionId(),\n\t\t\ttimestamp: new Date().toISOString(),\n\t\t\tcwd: this.sessionManager.getCwd(),\n\t\t};\n\n\t\tconst branchEntries = this.sessionManager.getBranch();\n\t\tconst lines = [JSON.stringify(header)];\n\n\t\t// Re-chain parentIds to form a linear sequence\n\t\tlet prevId: string | null = null;\n\t\tfor (const entry of branchEntries) {\n\t\t\tconst linear = { ...entry, parentId: prevId };\n\t\t\tlines.push(JSON.stringify(linear));\n\t\t\tprevId = entry.id;\n\t\t}\n\n\t\twriteFileSync(filePath, `${lines.join(\"\\n\")}\\n`);\n\t\treturn filePath;\n\t}\n\n\t// =========================================================================\n\t// Utilities\n\t// =========================================================================\n\n\t/**\n\t * Get text content of last assistant message.\n\t * Useful for /copy command.\n\t * @returns Text content, or undefined if no assistant message exists\n\t */\n\tgetLastAssistantText(): string | undefined {\n\t\tconst lastAssistant = this.messages\n\t\t\t.slice()\n\t\t\t.reverse()\n\t\t\t.find((m) => {\n\t\t\t\tif (m.role !== \"assistant\") return false;\n\t\t\t\tconst msg = m as AssistantMessage;\n\t\t\t\t// Skip aborted messages with no content\n\t\t\t\tif (msg.stopReason === \"aborted\" && msg.content.length === 0) return false;\n\t\t\t\treturn true;\n\t\t\t});\n\n\t\tif (!lastAssistant) return undefined;\n\n\t\tlet text = \"\";\n\t\tfor (const content of (lastAssistant as AssistantMessage).content) {\n\t\t\tif (content.type === \"text\") {\n\t\t\t\ttext += content.text;\n\t\t\t}\n\t\t}\n\n\t\treturn text.trim() || undefined;\n\t}\n\n\t// =========================================================================\n\t// Extension System\n\t// =========================================================================\n\n\tcreateReplacedSessionContext(): ReplacedSessionContext {\n\t\tconst context = Object.defineProperties(\n\t\t\t{},\n\t\t\tObject.getOwnPropertyDescriptors(this._extensionRunner.createCommandContext()),\n\t\t) as ReplacedSessionContext;\n\t\tcontext.sendMessage = (message, options) => this.sendCustomMessage(message, options);\n\t\tcontext.sendUserMessage = (content, options) => this.sendUserMessage(content, options);\n\t\treturn context;\n\t}\n\n\t/**\n\t * Check if extensions have handlers for a specific event type.\n\t */\n\thasExtensionHandlers(eventType: string): boolean {\n\t\treturn this._extensionRunner.hasHandlers(eventType);\n\t}\n\n\t/**\n\t * Get the extension runner (for setting UI context and error handlers).\n\t */\n\tget extensionRunner(): ExtensionRunner {\n\t\treturn this._extensionRunner;\n\t}\n}\n"]}
1
+ {"version":3,"file":"agent-session.js","sourceRoot":"","sources":["../../src/core/agent-session.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * AgentSession - Core abstraction for agent lifecycle and session management.\n *\n * This class is shared between all run modes (interactive, print, rpc).\n * It encapsulates:\n * - Agent state access\n * - Event subscription with automatic session persistence\n * - Model and thinking level management\n * - Compaction (manual and auto)\n * - Bash execution\n * - Session switching and branching\n *\n * Modes use this class and add their own I/O layer on top.\n */\n\nimport { randomUUID } from \"node:crypto\";\nimport { existsSync, mkdirSync, readFileSync, writeFileSync } from \"node:fs\";\nimport { basename, dirname } from \"node:path\";\nimport type {\n\tAgent,\n\tAgentEvent,\n\tAgentMessage,\n\tAgentState,\n\tAgentTool,\n\tThinkingLevel,\n} from \"@earendil-works/pi-agent-core\";\nimport type { AssistantMessage, ImageContent, Message, Model, TextContent } from \"@earendil-works/pi-ai\";\nimport {\n\tcleanupSessionResources,\n\tisContextOverflow,\n\tmodelsAreEqual,\n\tresetApiProviders,\n\tstreamSimple,\n} from \"@earendil-works/pi-ai\";\nimport { getThemeByName, theme } from \"../modes/interactive/theme/theme.ts\";\nimport { stripFrontmatter } from \"../utils/frontmatter.ts\";\nimport { resolvePath } from \"../utils/paths.ts\";\nimport { sleep } from \"../utils/sleep.ts\";\nimport { formatNoApiKeyFoundMessage, formatNoModelSelectedMessage } from \"./auth-guidance.ts\";\nimport { type BashResult, executeBashWithOperations } from \"./bash-executor.ts\";\nimport {\n\ttype CompactionResult,\n\tcalculateContextTokens,\n\tcollectEntriesForBranchSummary,\n\tcompact,\n\testimateContextTokens,\n\testimateTokens,\n\tgenerateBranchSummary,\n\tprepareCompaction,\n\tshouldCompact,\n} from \"./compaction/index.ts\";\nimport { DEFAULT_THINKING_LEVEL } from \"./defaults.ts\";\nimport { type BuildDynamicSystemPromptOptions, buildDynamicSystemPrompt } from \"./dynamic-prompt/index.ts\";\nimport { exportSessionToHtml, type ToolHtmlRenderer } from \"./export-html/index.ts\";\nimport { createToolHtmlRenderer } from \"./export-html/tool-renderer.ts\";\nimport type { ServiceTier } from \"./extensions/builtin/service-tier.ts\";\nimport {\n\ttype ContextUsage,\n\ttype ExtensionCommandContextActions,\n\ttype ExtensionErrorListener,\n\ttype ExtensionMode,\n\tExtensionRunner,\n\ttype ExtensionToolHookLifecycleEvent,\n\ttype ExtensionUIContext,\n\ttype InputSource,\n\ttype MessageEndEvent,\n\ttype MessageStartEvent,\n\ttype MessageUpdateEvent,\n\ttype ReplacedSessionContext,\n\ttype SessionBeforeCompactResult,\n\ttype SessionBeforeTreeResult,\n\ttype SessionStartEvent,\n\ttype ShutdownHandler,\n\ttype SystemPromptChangeEvent,\n\ttype ToolDefinition,\n\ttype ToolExecutionEndEvent,\n\ttype ToolExecutionStartEvent,\n\ttype ToolExecutionUpdateEvent,\n\ttype ToolInfo,\n\ttype TreePreparation,\n\ttype TurnEndEvent,\n\ttype TurnStartEvent,\n\twrapRegisteredTools,\n} from \"./extensions/index.ts\";\nimport { emitSessionShutdownEvent } from \"./extensions/runner.ts\";\nimport type {\n\tApplyCompactionOptions,\n\tApplyCompactionResult,\n\tCompactionReason,\n\tCompactionRejectionCause,\n} from \"./extensions/types.ts\";\nimport { type BashExecutionMessage, type CustomMessage, filterContextExcludedMessages } from \"./messages.ts\";\nimport type { ModelRegistry } from \"./model-registry.ts\";\nimport { getModelNarrowingPatterns, resolveModelScope } from \"./model-resolver.ts\";\nimport { expandPromptTemplate, type PromptTemplate } from \"./prompt-templates.ts\";\nimport type { ResourceExtensionPaths, ResourceLoader } from \"./resource-loader.ts\";\nimport type { BranchSummaryEntry, CompactionEntry, SessionEntry, SessionManager } from \"./session-manager.ts\";\nimport {\n\tbuildSessionContext,\n\tCURRENT_SESSION_VERSION,\n\tgetLatestCompactionEntry,\n\ttype SessionHeader,\n} from \"./session-manager.ts\";\nimport { SessionWorkBarrier } from \"./session-work-barrier.ts\";\nimport type { SettingsManager } from \"./settings-manager.ts\";\nimport type { SlashCommandInfo } from \"./slash-commands.ts\";\nimport { createSyntheticSourceInfo, type SourceInfo } from \"./source-info.ts\";\nimport { getSupportedThinkingLevels, supportsMax, supportsXhigh } from \"./thinking-levels.ts\";\nimport { type BashOperations, createLocalBashOperations } from \"./tools/bash.ts\";\nimport { createAllToolDefinitions } from \"./tools/index.ts\";\nimport { createToolDefinitionFromAgentTool } from \"./tools/tool-definition-wrapper.ts\";\n\n// ============================================================================\n// Skill Block Parsing\n// ============================================================================\n\n/** Parsed skill block from a user message */\nexport interface ParsedSkillBlock {\n\tname: string;\n\tlocation: string;\n\tcontent: string;\n\tuserMessage: string | undefined;\n}\n\n/**\n * Parse a skill block from message text.\n * Returns null if the text doesn't contain a skill block.\n */\nexport function parseSkillBlock(text: string): ParsedSkillBlock | null {\n\tconst match = text.match(/^<skill name=\"([^\"]+)\" location=\"([^\"]+)\">\\n([\\s\\S]*?)\\n<\\/skill>(?:\\n\\n([\\s\\S]+))?$/);\n\tif (!match) return null;\n\treturn {\n\t\tname: match[1],\n\t\tlocation: match[2],\n\t\tcontent: match[3],\n\t\tuserMessage: match[4]?.trim() || undefined,\n\t};\n}\n\n/** Session-specific events that extend the core AgentEvent */\ntype AgentSessionAgentEndEvent = Extract<AgentEvent, { type: \"agent_end\" }> & { willRetry: boolean };\n\nexport type AgentSessionEvent =\n\t| Exclude<AgentEvent, { type: \"agent_end\" }>\n\t| AgentSessionAgentEndEvent\n\t| {\n\t\t\ttype: \"queue_update\";\n\t\t\tsteering: readonly string[];\n\t\t\tfollowUp: readonly string[];\n\t }\n\t| { type: \"compaction_start\"; reason: CompactionReason }\n\t| { type: \"compaction_progress\"; reason: CompactionReason; delta?: string; text?: string }\n\t| { type: \"session_info_changed\"; name: string | undefined }\n\t| ExtensionToolHookLifecycleEvent\n\t| SystemPromptChangeEvent\n\t| { type: \"thinking_level_changed\"; level: ThinkingLevel }\n\t| {\n\t\t\ttype: \"compaction_end\";\n\t\t\treason: CompactionReason;\n\t\t\tresult: CompactionResult | undefined;\n\t\t\taborted: boolean;\n\t\t\twillRetry: boolean;\n\t\t\trequestId?: string;\n\t\t\taccepted?: boolean;\n\t\t\trejectionCause?: CompactionRejectionCause;\n\t\t\terrorMessage?: string;\n\t }\n\t| { type: \"auto_retry_start\"; attempt: number; maxAttempts: number; delayMs: number; errorMessage: string }\n\t| { type: \"auto_retry_end\"; success: boolean; attempt: number; finalError?: string };\n\n/** Listener function for agent session events */\nexport type AgentSessionEventListener = (event: AgentSessionEvent) => void;\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface AgentSessionConfig {\n\tagent: Agent;\n\tsessionManager: SessionManager;\n\tsettingsManager: SettingsManager;\n\tcwd: string;\n\t/** Global model narrowing for selectors and startup model choice (from --models / enabledModels) */\n\tscopedModels?: Array<{ model: Model<any>; thinkingLevel?: ThinkingLevel; serviceTier?: ServiceTier }>;\n\t/** Favorite models to cycle through with Ctrl+P */\n\tfavoriteModels?: Array<{ model: Model<any>; thinkingLevel?: ThinkingLevel; serviceTier?: ServiceTier }>;\n\t/** Resource loader for skills, prompts, themes, context files, system prompt */\n\tresourceLoader: ResourceLoader;\n\t/** SDK custom tools registered outside extensions */\n\tcustomTools?: ToolDefinition[];\n\t/** Model registry for API key resolution and model discovery */\n\tmodelRegistry: ModelRegistry;\n\t/** Initial active built-in tool names. Default: [read, bash, edit, write] */\n\tinitialActiveToolNames?: string[];\n\t/** Optional allowlist of tool names. When provided, only these tool names are exposed. */\n\tallowedToolNames?: string[];\n\t/** Optional denylist of tool names. When provided, these tool names are not exposed. */\n\texcludedToolNames?: string[];\n\t/**\n\t * Override base tools (useful for custom runtimes).\n\t *\n\t * These are synthesized into minimal ToolDefinitions internally so AgentSession can keep\n\t * a definition-first registry even when callers provide plain AgentTool instances.\n\t */\n\tbaseToolsOverride?: Record<string, AgentTool>;\n\t/** Mutable ref used by Agent to access the current ExtensionRunner */\n\textensionRunnerRef?: { current?: ExtensionRunner };\n\t/** Session start event metadata emitted when extensions bind to this runtime. */\n\tsessionStartEvent?: SessionStartEvent;\n}\n\ntype SessionModelEntry = { model: Model<any>; thinkingLevel?: ThinkingLevel; serviceTier?: ServiceTier };\n\ninterface CompactionExecutionRequest {\n\treason: CompactionReason;\n\tcustomInstructions?: string;\n\twillRetry: boolean;\n\tskipAbortedCheck?: boolean;\n\tlastAssistantMessage?: AgentMessage;\n\tprecomputed?: CompactionResult;\n}\n\ntype CompactionExecutionResult =\n\t| {\n\t\t\taccepted: true;\n\t\t\trequestId: string;\n\t\t\tresult: CompactionResult;\n\t\t\tcompactionEntry: CompactionEntry;\n\t\t\tfromExtension: boolean;\n\t }\n\t| {\n\t\t\taccepted: false;\n\t\t\trequestId: string;\n\t\t\trejectionCause: CompactionRejectionCause;\n\t };\n\nclass CompactionRejectedError extends Error {\n\treadonly rejectionCause: CompactionRejectionCause;\n\n\tconstructor(rejectionCause: CompactionRejectionCause) {\n\t\tsuper(rejectionCause === \"cancelled-by-extension\" ? \"Compaction cancelled\" : \"Compaction rejected\");\n\t\tthis.name = \"CompactionRejectedError\";\n\t\tthis.rejectionCause = rejectionCause;\n\t}\n}\n\nexport interface ExtensionBindings {\n\tuiContext?: ExtensionUIContext;\n\tmode?: ExtensionMode;\n\tcommandContextActions?: ExtensionCommandContextActions;\n\tabortHandler?: () => void;\n\tshutdownHandler?: ShutdownHandler;\n\tonError?: ExtensionErrorListener;\n}\n\n/** Options for AgentSession.prompt() */\nexport interface PromptOptions {\n\t/** Whether to expand file-based prompt templates (default: true) */\n\texpandPromptTemplates?: boolean;\n\t/** Image attachments */\n\timages?: ImageContent[];\n\t/** When streaming, how to queue the message: \"steer\" (interrupt) or \"followUp\" (wait). Required if streaming. */\n\tstreamingBehavior?: \"steer\" | \"followUp\";\n\t/** Source of input for extension input event handlers. Defaults to \"interactive\". */\n\tsource?: InputSource;\n\t/** Internal hook used by RPC mode to observe prompt preflight acceptance or rejection. */\n\tpreflightResult?: (success: boolean) => void;\n}\n\n/** Result from cycleModel() */\nexport interface ModelCycleResult {\n\tmodel: Model<any>;\n\tthinkingLevel: ThinkingLevel;\n\t/** Whether cycling used the configured favorite model list */\n\tisScoped: boolean;\n\t/** Present when the model switch also changed the active system prompt. */\n\tsystemPromptChange?: SystemPromptChangeEvent;\n}\n\n/** Session statistics for /session command */\nexport interface SessionStats {\n\tsessionFile: string | undefined;\n\tsessionId: string;\n\tuserMessages: number;\n\tassistantMessages: number;\n\ttoolCalls: number;\n\ttoolResults: number;\n\ttotalMessages: number;\n\ttokens: {\n\t\tinput: number;\n\t\toutput: number;\n\t\tcacheRead: number;\n\t\tcacheWrite: number;\n\t\ttotal: number;\n\t};\n\tcost: number;\n\tcontextUsage?: ContextUsage;\n}\n\ninterface ToolDefinitionEntry {\n\tdefinition: ToolDefinition;\n\tsourceInfo: SourceInfo;\n}\n\nfunction estimateMessagesTokens(messages: AgentMessage[]): number {\n\tlet tokens = 0;\n\tfor (const message of messages) {\n\t\ttokens += estimateTokens(message);\n\t}\n\treturn tokens;\n}\n\n// ============================================================================\n// Constants\n// ============================================================================\n\n/** Thinking levels including native max (Opus 4.6 legacy / Opus 4.7 native). */\nconst THINKING_LEVELS_WITH_MAX: ThinkingLevel[] = [\"off\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\", \"max\"];\n\n// ============================================================================\n// AgentSession Class\n// ============================================================================\n\nexport class AgentSession {\n\treadonly agent: Agent;\n\treadonly sessionManager: SessionManager;\n\treadonly settingsManager: SettingsManager;\n\n\tprivate _scopedModels: SessionModelEntry[];\n\tprivate _favoriteModels: SessionModelEntry[];\n\n\t// Event subscription state\n\tprivate _unsubscribeAgent?: () => void;\n\tprivate _eventListeners: AgentSessionEventListener[] = [];\n\tprivate _agentEventQueue: Promise<void> = Promise.resolve();\n\n\t/** Tracks pending steering messages for UI display. Removed when delivered. */\n\tprivate _steeringMessages: string[] = [];\n\t/** Tracks pending follow-up messages for UI display. Removed when delivered. */\n\tprivate _followUpMessages: string[] = [];\n\t/** Messages queued to be included with the next user prompt as context (\"asides\"). */\n\tprivate _pendingNextTurnMessages: CustomMessage[] = [];\n\n\t// Compaction state\n\tprivate _compactionAbortController: AbortController | undefined = undefined;\n\tprivate _autoCompactionAbortController: AbortController | undefined = undefined;\n\tprivate readonly _sessionWorkBarrier = new SessionWorkBarrier();\n\tprivate _overflowRecoveryAttempted = false;\n\tprivate _messageRevision = 0;\n\n\t// Branch summarization state\n\tprivate _branchSummaryAbortController: AbortController | undefined = undefined;\n\n\t// Retry state\n\tprivate _retryAbortController: AbortController | undefined = undefined;\n\tprivate _retryAttempt = 0;\n\tprivate _retryPromise: Promise<void> | undefined = undefined;\n\tprivate _retryResolve: (() => void) | undefined = undefined;\n\tprivate _userAbortPromise: Promise<void> | undefined = undefined;\n\n\t// Bash execution state\n\tprivate _bashAbortController: AbortController | undefined = undefined;\n\tprivate _pendingBashMessages: BashExecutionMessage[] = [];\n\n\t// Extension system\n\tprivate _extensionRunner!: ExtensionRunner;\n\tprivate _turnIndex = 0;\n\n\tprivate _resourceLoader: ResourceLoader;\n\tprivate _customTools: ToolDefinition[];\n\tprivate _baseToolDefinitions: Map<string, ToolDefinition> = new Map();\n\tprivate _cwd: string;\n\tprivate _extensionRunnerRef?: { current?: ExtensionRunner };\n\tprivate _initialActiveToolNames?: string[];\n\tprivate _allowedToolNames?: Set<string>;\n\tprivate _excludedToolNames?: Set<string>;\n\tprivate _baseToolsOverride?: Record<string, AgentTool>;\n\tprivate _sessionStartEvent: SessionStartEvent;\n\tprivate _extensionUIContext?: ExtensionUIContext;\n\tprivate _extensionMode: ExtensionMode = \"print\";\n\tprivate _extensionCommandContextActions?: ExtensionCommandContextActions;\n\tprivate _extensionAbortHandler?: () => void;\n\tprivate _extensionShutdownHandler?: ShutdownHandler;\n\tprivate _extensionErrorListener?: ExtensionErrorListener;\n\tprivate _extensionErrorUnsubscriber?: () => void;\n\n\t// Model registry for API key resolution\n\tprivate _modelRegistry: ModelRegistry;\n\n\t// Tool registry for extension getTools/setTools\n\tprivate _toolRegistry: Map<string, AgentTool> = new Map();\n\tprivate _toolDefinitions: Map<string, ToolDefinitionEntry> = new Map();\n\tprivate _toolPromptSnippets: Map<string, string> = new Map();\n\tprivate _toolPromptGuidelines: Map<string, string[]> = new Map();\n\n\t// Base system prompt (without extension appends) - used to apply fresh appends each turn\n\tprivate _baseSystemPrompt = \"\";\n\tprivate _currentServiceTier: ServiceTier | undefined = undefined;\n\tprivate _baseSystemPromptOptions!: BuildDynamicSystemPromptOptions;\n\n\tconstructor(config: AgentSessionConfig) {\n\t\tthis.agent = config.agent;\n\t\tthis.sessionManager = config.sessionManager;\n\t\tthis.settingsManager = config.settingsManager;\n\t\tthis._scopedModels = config.scopedModels ?? [];\n\t\tthis._favoriteModels = config.favoriteModels ?? [];\n\t\tthis._resourceLoader = config.resourceLoader;\n\t\tthis._customTools = config.customTools ?? [];\n\t\tthis._cwd = config.cwd;\n\t\tthis._modelRegistry = config.modelRegistry;\n\t\tthis._extensionRunnerRef = config.extensionRunnerRef;\n\t\tthis._initialActiveToolNames = config.initialActiveToolNames;\n\t\tthis._allowedToolNames = config.allowedToolNames ? new Set(config.allowedToolNames) : undefined;\n\t\tthis._excludedToolNames = config.excludedToolNames ? new Set(config.excludedToolNames) : undefined;\n\t\tthis._baseToolsOverride = config.baseToolsOverride;\n\t\tthis._sessionStartEvent = config.sessionStartEvent ?? { type: \"session_start\", reason: \"startup\" };\n\n\t\tconst initialModel = this.agent.state.model;\n\t\tif (initialModel) {\n\t\t\tconst scopedMatch = this._scopedModels.find((sm) => modelsAreEqual(sm.model, initialModel));\n\t\t\tthis._currentServiceTier = scopedMatch?.serviceTier;\n\t\t}\n\n\t\tthis._unsubscribeAgent = this.agent.subscribe(this._handleAgentEvent);\n\t\tthis._installAgentToolHooks();\n\t\tconst previousPrepareNextTurn = this.agent.prepareNextTurn;\n\t\tthis.agent.prepareNextTurn = async (signal) => {\n\t\t\tconst nextTurn = await previousPrepareNextTurn?.(signal);\n\t\t\tconst model = this.agent.state.model;\n\t\t\tif (!model) {\n\t\t\t\treturn nextTurn;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...nextTurn,\n\t\t\t\tmodel,\n\t\t\t\tthinkingLevel: this.agent.state.thinkingLevel,\n\t\t\t};\n\t\t};\n\n\t\tthis._buildRuntime({\n\t\t\tactiveToolNames: this._initialActiveToolNames,\n\t\t\tincludeAllExtensionTools: true,\n\t\t});\n\t}\n\n\t/** Model registry for API key resolution and model discovery */\n\tget modelRegistry(): ModelRegistry {\n\t\treturn this._modelRegistry;\n\t}\n\n\tprivate async _getRequiredRequestAuth(model: Model<any>): Promise<{\n\t\tapiKey: string;\n\t\theaders?: Record<string, string>;\n\t\textraBody?: Record<string, unknown>;\n\t\tenv?: Record<string, string>;\n\t}> {\n\t\tconst result = await this._modelRegistry.getApiKeyAndHeaders(model);\n\t\tif (!result.ok) {\n\t\t\tif (result.error.startsWith(\"No API key found\")) {\n\t\t\t\tthrow new Error(formatNoApiKeyFoundMessage(model.provider));\n\t\t\t}\n\t\t\tthrow new Error(result.error);\n\t\t}\n\t\tif (result.apiKey) {\n\t\t\treturn { apiKey: result.apiKey, headers: result.headers, extraBody: result.extraBody, env: result.env };\n\t\t}\n\n\t\tconst isOAuth = this._modelRegistry.isUsingOAuth(model);\n\t\tif (isOAuth) {\n\t\t\tthrow new Error(\n\t\t\t\t`Authentication failed for \"${model.provider}\". ` +\n\t\t\t\t\t`Credentials may have expired or network is unavailable. ` +\n\t\t\t\t\t`Run '/login ${model.provider}' to re-authenticate.`,\n\t\t\t);\n\t\t}\n\t\tthrow new Error(formatNoApiKeyFoundMessage(model.provider));\n\t}\n\n\tprivate async _getCompactionRequestAuth(model: Model<any>): Promise<{\n\t\tapiKey?: string;\n\t\theaders?: Record<string, string>;\n\t\textraBody?: Record<string, unknown>;\n\t\tenv?: Record<string, string>;\n\t}> {\n\t\tif (this.agent.streamFn === streamSimple) {\n\t\t\treturn this._getRequiredRequestAuth(model);\n\t\t}\n\n\t\tconst result = await this._modelRegistry.getApiKeyAndHeaders(model);\n\t\treturn result.ok\n\t\t\t? { apiKey: result.apiKey, headers: result.headers, extraBody: result.extraBody, env: result.env }\n\t\t\t: {};\n\t}\n\n\t/**\n\t * Install tool hooks once on the Agent instance.\n\t *\n\t * The callbacks read `this._extensionRunner` at execution time, so extension reload swaps in the\n\t * new runner without reinstalling hooks. Extension-specific tool wrappers are still used to adapt\n\t * registered tool execution to the extension context. Tool call and tool result interception now\n\t * happens here instead of in wrappers.\n\t */\n\tprivate _installAgentToolHooks(): void {\n\t\tthis.agent.beforeToolCall = async ({ toolCall, args }) => {\n\t\t\tconst runner = this._extensionRunner;\n\t\t\tif (!runner.hasHandlers(\"tool_call\")) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tawait this._agentEventQueue;\n\n\t\t\ttry {\n\t\t\t\treturn await runner.emitToolCall({\n\t\t\t\t\ttype: \"tool_call\",\n\t\t\t\t\ttoolName: toolCall.name,\n\t\t\t\t\ttoolCallId: toolCall.id,\n\t\t\t\t\tinput: args as Record<string, unknown>,\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\tif (err instanceof Error) {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t\tthrow new Error(`Extension failed, blocking execution: ${String(err)}`);\n\t\t\t}\n\t\t};\n\n\t\tthis.agent.afterToolCall = async ({ toolCall, args, result, isError }) => {\n\t\t\tconst runner = this._extensionRunner;\n\t\t\tif (!runner.hasHandlers(\"tool_result\")) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tconst hookResult = await runner.emitToolResult({\n\t\t\t\ttype: \"tool_result\",\n\t\t\t\ttoolName: toolCall.name,\n\t\t\t\ttoolCallId: toolCall.id,\n\t\t\t\tinput: args as Record<string, unknown>,\n\t\t\t\tcontent: result.content,\n\t\t\t\tdetails: result.details,\n\t\t\t\tisError,\n\t\t\t});\n\n\t\t\tif (!hookResult) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcontent: hookResult.content,\n\t\t\t\tdetails: hookResult.details,\n\t\t\t\tisError: hookResult.isError ?? isError,\n\t\t\t};\n\t\t};\n\t}\n\n\t// =========================================================================\n\t// Event Subscription\n\t// =========================================================================\n\n\t/** Emit an event to all listeners */\n\tprivate _emit(event: AgentSessionEvent): void {\n\t\tfor (const l of this._eventListeners) {\n\t\t\tl(event);\n\t\t}\n\t}\n\n\tprivate _emitQueueUpdate(): void {\n\t\tthis._emit({\n\t\t\ttype: \"queue_update\",\n\t\t\tsteering: [...this._steeringMessages],\n\t\t\tfollowUp: [...this._followUpMessages],\n\t\t});\n\t}\n\n\tprivate _incrementMessageRevision(): void {\n\t\tthis._messageRevision++;\n\t}\n\n\tgetMessageRevision(): number {\n\t\treturn this._messageRevision;\n\t}\n\n\tprivate async _waitForSettledSessionWork(): Promise<void> {\n\t\tawait this._sessionWorkBarrier.waitForSettled(() => this._agentEventQueue);\n\t}\n\n\tprivate _modelSelectionChangesContext(previousModel: Model<any> | undefined, nextModel: Model<any>): boolean {\n\t\tif (!modelsAreEqual(previousModel, nextModel)) return true;\n\t\treturn previousModel?.contextWindow !== nextModel.contextWindow;\n\t}\n\n\tprivate _invalidateCompactionForModelSelection(): void {\n\t\tthis.abortCompaction();\n\t\tthis.abortBranchSummary();\n\t\tthis._incrementMessageRevision();\n\t}\n\n\t// Track last assistant message for auto-compaction check\n\tprivate _lastAssistantMessage: AssistantMessage | undefined = undefined;\n\n\t/** Internal handler for agent events - shared by subscribe and reconnect */\n\tprivate _handleAgentEvent = (event: AgentEvent): void => {\n\t\t// Create retry promise synchronously before queueing async processing.\n\t\t// Agent.emit() calls this handler synchronously, and prompt() calls waitForRetry()\n\t\t// as soon as agent.prompt() resolves. If _retryPromise is created only inside\n\t\t// _processAgentEvent, slow earlier queued events can delay agent_end processing\n\t\t// and waitForRetry() can miss the in-flight retry.\n\t\tthis._createRetryPromiseForAgentEnd(event);\n\n\t\tthis._agentEventQueue = this._agentEventQueue.then(\n\t\t\t() => this._processAgentEvent(event),\n\t\t\t() => this._processAgentEvent(event),\n\t\t);\n\n\t\t// Keep queue alive if an event handler fails\n\t\tthis._agentEventQueue.catch(() => {});\n\t};\n\n\tprivate _createRetryPromiseForAgentEnd(event: AgentEvent): void {\n\t\tif (event.type !== \"agent_end\" || this._retryPromise) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst settings = this.settingsManager.getRetrySettings();\n\t\tif (!settings.enabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst lastAssistant = this._findLastAssistantInMessages(event.messages);\n\t\tif (!lastAssistant || !this._isRetryableError(lastAssistant)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._retryPromise = new Promise((resolve) => {\n\t\t\tthis._retryResolve = resolve;\n\t\t});\n\t}\n\n\tprivate _findLastAssistantInMessages(messages: AgentMessage[]): AssistantMessage | undefined {\n\t\tfor (let i = messages.length - 1; i >= 0; i--) {\n\t\t\tconst message = messages[i];\n\t\t\tif (message.role === \"assistant\") {\n\t\t\t\treturn message as AssistantMessage;\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate _willRetryAfterAgentEnd(messages: AgentMessage[]): boolean {\n\t\tconst settings = this.settingsManager.getRetrySettings();\n\t\tif (!settings.enabled) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst lastAssistant = this._lastAssistantMessage ?? this._findLastAssistantInMessages(messages);\n\t\tif (!lastAssistant || !this._isRetryableError(lastAssistant)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (this._retryAttempt + 1 > settings.maxRetries) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst errorMessage = lastAssistant.errorMessage || \"Unknown error\";\n\t\tconst providerDelayMs = this._getProviderRetryDelayMs(errorMessage);\n\t\tif (providerDelayMs === undefined) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn providerDelayMs <= this.settingsManager.getProviderRetrySettings().maxRetryDelayMs;\n\t}\n\n\tprivate async _processAgentEvent(event: AgentEvent): Promise<void> {\n\t\t// When a user message starts, check if it's from either queue and remove it BEFORE emitting\n\t\t// This ensures the UI sees the updated queue state\n\t\tif (event.type === \"message_start\" && event.message.role === \"user\") {\n\t\t\tthis._overflowRecoveryAttempted = false;\n\t\t\tconst messageText = this._getUserMessageText(event.message);\n\t\t\tif (messageText) {\n\t\t\t\t// Check steering queue first\n\t\t\t\tconst steeringIndex = this._steeringMessages.indexOf(messageText);\n\t\t\t\tif (steeringIndex !== -1) {\n\t\t\t\t\tthis._steeringMessages.splice(steeringIndex, 1);\n\t\t\t\t\tthis._emitQueueUpdate();\n\t\t\t\t} else {\n\t\t\t\t\t// Check follow-up queue\n\t\t\t\t\tconst followUpIndex = this._followUpMessages.indexOf(messageText);\n\t\t\t\t\tif (followUpIndex !== -1) {\n\t\t\t\t\t\tthis._followUpMessages.splice(followUpIndex, 1);\n\t\t\t\t\t\tthis._emitQueueUpdate();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Emit to extensions first\n\t\tawait this._emitExtensionEvent(event);\n\n\t\t// Notify all listeners\n\t\tthis._emit(\n\t\t\tevent.type === \"agent_end\" ? { ...event, willRetry: this._willRetryAfterAgentEnd(event.messages) } : event,\n\t\t);\n\n\t\t// Handle session persistence\n\t\tif (event.type === \"message_end\") {\n\t\t\t// Check if this is a custom message from extensions\n\t\t\tif (event.message.role === \"custom\") {\n\t\t\t\t// Persist as CustomMessageEntry\n\t\t\t\tthis.sessionManager.appendCustomMessageEntry(\n\t\t\t\t\tevent.message.customType,\n\t\t\t\t\tevent.message.content,\n\t\t\t\t\tevent.message.display,\n\t\t\t\t\tevent.message.details,\n\t\t\t\t);\n\t\t\t\tthis._incrementMessageRevision();\n\t\t\t} else if (\n\t\t\t\tevent.message.role === \"user\" ||\n\t\t\t\tevent.message.role === \"assistant\" ||\n\t\t\t\tevent.message.role === \"toolResult\"\n\t\t\t) {\n\t\t\t\t// Regular LLM message - persist as SessionMessageEntry\n\t\t\t\tthis.sessionManager.appendMessage(event.message);\n\t\t\t\tthis._incrementMessageRevision();\n\t\t\t}\n\t\t\t// Other message types (bashExecution, compactionSummary, branchSummary) are persisted elsewhere\n\n\t\t\t// Track assistant message for auto-compaction (checked on agent_end)\n\t\t\tif (event.message.role === \"assistant\") {\n\t\t\t\tthis._lastAssistantMessage = event.message;\n\n\t\t\t\tconst assistantMsg = event.message as AssistantMessage;\n\t\t\t\tif (assistantMsg.stopReason !== \"error\") {\n\t\t\t\t\tthis._overflowRecoveryAttempted = false;\n\t\t\t\t}\n\n\t\t\t\t// Reset retry counter immediately on successful assistant response\n\t\t\t\t// This prevents accumulation across multiple LLM calls within a turn\n\t\t\t\tif (assistantMsg.stopReason !== \"error\" && this._retryAttempt > 0) {\n\t\t\t\t\tthis._emit({\n\t\t\t\t\t\ttype: \"auto_retry_end\",\n\t\t\t\t\t\tsuccess: true,\n\t\t\t\t\t\tattempt: this._retryAttempt,\n\t\t\t\t\t});\n\t\t\t\t\tthis._retryAttempt = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Check auto-retry and auto-compaction after agent completes\n\t\tif (event.type === \"agent_end\" && this._lastAssistantMessage) {\n\t\t\tconst msg = this._lastAssistantMessage;\n\t\t\tthis._lastAssistantMessage = undefined;\n\n\t\t\t// Check for retryable errors first (overloaded, rate limit, server errors)\n\t\t\tif (this._isRetryableError(msg)) {\n\t\t\t\tconst didRetry = await this._handleRetryableError(msg);\n\t\t\t\tif (didRetry) return; // Retry was initiated, don't proceed to compaction\n\t\t\t}\n\n\t\t\tthis._resolveRetry();\n\t\t\tawait this._checkCompaction(msg);\n\t\t}\n\n\t\tif (event.type === \"agent_end\") {\n\t\t\tthis._flushPendingBashMessages();\n\t\t}\n\t}\n\n\t/** Resolve the pending retry promise */\n\tprivate _resolveRetry(): void {\n\t\tif (this._retryResolve) {\n\t\t\tthis._retryResolve();\n\t\t\tthis._retryResolve = undefined;\n\t\t\tthis._retryPromise = undefined;\n\t\t}\n\t}\n\n\t/** Extract text content from a message */\n\tprivate _getUserMessageText(message: Message): string {\n\t\tif (message.role !== \"user\") return \"\";\n\t\tconst content = message.content;\n\t\tif (typeof content === \"string\") return content;\n\t\tconst textBlocks = content.filter((c) => c.type === \"text\");\n\t\treturn textBlocks.map((c) => (c as TextContent).text).join(\"\");\n\t}\n\n\t/** Find the last assistant message in agent state (including aborted ones) */\n\tprivate _findLastAssistantMessage(): AssistantMessage | undefined {\n\t\tconst messages = this.agent.state.messages;\n\t\tfor (let i = messages.length - 1; i >= 0; i--) {\n\t\t\tconst msg = messages[i];\n\t\t\tif (msg.role === \"assistant\") {\n\t\t\t\treturn msg as AssistantMessage;\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate _replaceMessageInPlace(target: AgentMessage, replacement: AgentMessage): void {\n\t\t// Agent-core stores the finalized message object in its state before emitting message_end.\n\t\t// SessionManager persistence happens later in _processAgentEvent() with event.message.\n\t\t// Mutating this object in place keeps agent state, later turn/agent events, listeners,\n\t\t// and the eventual SessionManager.appendMessage(event.message) persistence in sync.\n\t\tif (target === replacement) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor (const key of Object.keys(target)) {\n\t\t\tReflect.deleteProperty(target, key);\n\t\t}\n\t\tObject.assign(target, replacement);\n\t}\n\n\t/** Emit extension events based on agent events */\n\tprivate async _emitExtensionEvent(event: AgentEvent): Promise<void> {\n\t\tif (event.type === \"agent_start\") {\n\t\t\tthis._turnIndex = 0;\n\t\t\tawait this._extensionRunner.emit({ type: \"agent_start\" });\n\t\t} else if (event.type === \"agent_end\") {\n\t\t\tawait this._extensionRunner.emit({ type: \"agent_end\", messages: event.messages });\n\t\t} else if (event.type === \"turn_start\") {\n\t\t\tconst extensionEvent: TurnStartEvent = {\n\t\t\t\ttype: \"turn_start\",\n\t\t\t\tturnIndex: this._turnIndex,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t};\n\t\t\tawait this._extensionRunner.emit(extensionEvent);\n\t\t} else if (event.type === \"turn_end\") {\n\t\t\tconst extensionEvent: TurnEndEvent = {\n\t\t\t\ttype: \"turn_end\",\n\t\t\t\tturnIndex: this._turnIndex,\n\t\t\t\tmessage: event.message,\n\t\t\t\ttoolResults: event.toolResults,\n\t\t\t};\n\t\t\tawait this._extensionRunner.emit(extensionEvent);\n\t\t\tthis._turnIndex++;\n\t\t} else if (event.type === \"message_start\") {\n\t\t\tconst extensionEvent: MessageStartEvent = {\n\t\t\t\ttype: \"message_start\",\n\t\t\t\tmessage: event.message,\n\t\t\t};\n\t\t\tawait this._extensionRunner.emit(extensionEvent);\n\t\t} else if (event.type === \"message_update\") {\n\t\t\tconst extensionEvent: MessageUpdateEvent = {\n\t\t\t\ttype: \"message_update\",\n\t\t\t\tmessage: event.message,\n\t\t\t\tassistantMessageEvent: event.assistantMessageEvent,\n\t\t\t};\n\t\t\tawait this._extensionRunner.emit(extensionEvent);\n\t\t} else if (event.type === \"message_end\") {\n\t\t\tconst extensionEvent: MessageEndEvent = {\n\t\t\t\ttype: \"message_end\",\n\t\t\t\tmessage: event.message,\n\t\t\t};\n\t\t\tconst replacement = await this._extensionRunner.emitMessageEnd(extensionEvent);\n\t\t\tif (replacement) {\n\t\t\t\tthis._replaceMessageInPlace(event.message, replacement);\n\t\t\t}\n\t\t} else if (event.type === \"tool_execution_start\") {\n\t\t\tconst extensionEvent: ToolExecutionStartEvent = {\n\t\t\t\ttype: \"tool_execution_start\",\n\t\t\t\ttoolCallId: event.toolCallId,\n\t\t\t\ttoolName: event.toolName,\n\t\t\t\targs: event.args,\n\t\t\t};\n\t\t\tawait this._extensionRunner.emit(extensionEvent);\n\t\t} else if (event.type === \"tool_execution_update\") {\n\t\t\tconst extensionEvent: ToolExecutionUpdateEvent = {\n\t\t\t\ttype: \"tool_execution_update\",\n\t\t\t\ttoolCallId: event.toolCallId,\n\t\t\t\ttoolName: event.toolName,\n\t\t\t\targs: event.args,\n\t\t\t\tpartialResult: event.partialResult,\n\t\t\t};\n\t\t\tawait this._extensionRunner.emit(extensionEvent);\n\t\t} else if (event.type === \"tool_execution_end\") {\n\t\t\tconst extensionEvent: ToolExecutionEndEvent = {\n\t\t\t\ttype: \"tool_execution_end\",\n\t\t\t\ttoolCallId: event.toolCallId,\n\t\t\t\ttoolName: event.toolName,\n\t\t\t\tresult: event.result,\n\t\t\t\tisError: event.isError,\n\t\t\t};\n\t\t\tawait this._extensionRunner.emit(extensionEvent);\n\t\t}\n\t}\n\n\t/**\n\t * Subscribe to agent events.\n\t * Session persistence is handled internally (saves messages on message_end).\n\t * Multiple listeners can be added. Returns unsubscribe function for this listener.\n\t */\n\tsubscribe(listener: AgentSessionEventListener): () => void {\n\t\tthis._eventListeners.push(listener);\n\n\t\t// Return unsubscribe function for this specific listener\n\t\treturn () => {\n\t\t\tconst index = this._eventListeners.indexOf(listener);\n\t\t\tif (index !== -1) {\n\t\t\t\tthis._eventListeners.splice(index, 1);\n\t\t\t}\n\t\t};\n\t}\n\n\t/**\n\t * Temporarily disconnect from agent events.\n\t * User listeners are preserved and will receive events again after resubscribe().\n\t * Used internally during operations that need to pause event processing.\n\t */\n\tprivate _disconnectFromAgent(): void {\n\t\tif (this._unsubscribeAgent) {\n\t\t\tthis._unsubscribeAgent();\n\t\t\tthis._unsubscribeAgent = undefined;\n\t\t}\n\t}\n\n\t/**\n\t * Reconnect to agent events after _disconnectFromAgent().\n\t * Preserves all existing listeners.\n\t */\n\tprivate _reconnectToAgent(): void {\n\t\tif (this._unsubscribeAgent) return; // Already connected\n\t\tthis._unsubscribeAgent = this.agent.subscribe(this._handleAgentEvent);\n\t}\n\n\t/**\n\t * Remove all listeners and disconnect from agent.\n\t * Call this when completely done with the session.\n\t */\n\tdispose(): void {\n\t\ttry {\n\t\t\tthis.abortRetry();\n\t\t\tthis.abortCompaction();\n\t\t\tthis.abortBranchSummary();\n\t\t\tthis.abortBash();\n\t\t\tthis.agent.abort();\n\t\t} catch {\n\t\t\t// Dispose must succeed even if an abort hook throws.\n\t\t}\n\n\t\tthis._extensionRunner.invalidate(\n\t\t\t\"This extension ctx is stale after session replacement or reload. Do not use a captured pi or command ctx after ctx.newSession(), ctx.fork(), ctx.switchSession(), or ctx.reload(). For newSession, fork, and switchSession, move post-replacement work into withSession and use the ctx passed to withSession. For reload, do not use the old ctx after await ctx.reload().\",\n\t\t);\n\t\tthis._disconnectFromAgent();\n\t\tthis._eventListeners = [];\n\t\tcleanupSessionResources(this.sessionId);\n\t}\n\n\t// =========================================================================\n\t// Read-only State Access\n\t// =========================================================================\n\n\t/** Full agent state */\n\tget state(): AgentState {\n\t\treturn this.agent.state;\n\t}\n\n\t/** Current model (may be undefined if not yet selected) */\n\tget model(): Model<any> | undefined {\n\t\treturn this.agent.state.model;\n\t}\n\n\t/** Current thinking level */\n\tget thinkingLevel(): ThinkingLevel {\n\t\treturn this.agent.state.thinkingLevel;\n\t}\n\n\tget serviceTier(): ServiceTier | undefined {\n\t\treturn this._currentServiceTier;\n\t}\n\n\t/** Whether agent is currently streaming a response */\n\tget isStreaming(): boolean {\n\t\treturn this.agent.state.isStreaming;\n\t}\n\n\t/** Current effective system prompt (includes any per-turn extension modifications) */\n\tget systemPrompt(): string {\n\t\treturn this.agent.state.systemPrompt;\n\t}\n\n\t/** Current retry attempt (0 if not retrying) */\n\tget retryAttempt(): number {\n\t\treturn this._retryAttempt;\n\t}\n\n\t/**\n\t * Get the names of currently active tools.\n\t * Returns the names of tools currently set on the agent.\n\t */\n\tgetActiveToolNames(): string[] {\n\t\treturn this.agent.state.tools.map((t) => t.name);\n\t}\n\n\t/**\n\t * Get all configured tools with name, description, parameter schema, prompt guidelines, and source metadata.\n\t */\n\tgetAllTools(): ToolInfo[] {\n\t\treturn Array.from(this._toolDefinitions.values()).map(({ definition, sourceInfo }) => ({\n\t\t\tname: definition.name,\n\t\t\tdescription: definition.description,\n\t\t\tparameters: definition.parameters,\n\t\t\tpromptGuidelines: definition.promptGuidelines,\n\t\t\tsourceInfo,\n\t\t}));\n\t}\n\n\tgetToolDefinition(name: string): ToolDefinition | undefined {\n\t\treturn this._toolDefinitions.get(name)?.definition;\n\t}\n\n\t/**\n\t * Set active tools by name.\n\t * Only tools in the registry can be enabled. Unknown tool names are ignored.\n\t * Also rebuilds the system prompt to reflect the new tool set.\n\t * Changes take effect on the next agent turn.\n\t */\n\tsetActiveToolsByName(toolNames: string[]): void {\n\t\tconst tools: AgentTool[] = [];\n\t\tconst validToolNames: string[] = [];\n\t\tfor (const name of toolNames) {\n\t\t\tconst tool = this._toolRegistry.get(name);\n\t\t\tif (tool) {\n\t\t\t\ttools.push(tool);\n\t\t\t\tvalidToolNames.push(name);\n\t\t\t}\n\t\t}\n\t\tthis.agent.state.tools = tools;\n\n\t\t// Rebuild base system prompt with new tool set\n\t\tthis._baseSystemPrompt = this._rebuildSystemPrompt(validToolNames);\n\t\tthis.agent.state.systemPrompt = this._baseSystemPrompt;\n\t}\n\n\t/** Whether compaction or branch summarization is currently running */\n\tget isCompacting(): boolean {\n\t\treturn (\n\t\t\tthis._autoCompactionAbortController !== undefined ||\n\t\t\tthis._compactionAbortController !== undefined ||\n\t\t\tthis._branchSummaryAbortController !== undefined\n\t\t);\n\t}\n\n\t/** All messages including custom types like BashExecutionMessage */\n\tget messages(): AgentMessage[] {\n\t\treturn this.agent.state.messages;\n\t}\n\n\t/** Current steering mode */\n\tget steeringMode(): \"all\" | \"one-at-a-time\" {\n\t\treturn this.agent.steeringMode;\n\t}\n\n\t/** Current follow-up mode */\n\tget followUpMode(): \"all\" | \"one-at-a-time\" {\n\t\treturn this.agent.followUpMode;\n\t}\n\n\t/** Current session file path, or undefined if sessions are disabled */\n\tget sessionFile(): string | undefined {\n\t\treturn this.sessionManager.getSessionFile();\n\t}\n\n\t/** Current session ID */\n\tget sessionId(): string {\n\t\treturn this.sessionManager.getSessionId();\n\t}\n\n\t/** Current session display name, if set */\n\tget sessionName(): string | undefined {\n\t\treturn this.sessionManager.getSessionName();\n\t}\n\n\t/** Globally narrowed models (from --models / enabledModels) */\n\tget scopedModels(): ReadonlyArray<{ model: Model<any>; thinkingLevel?: ThinkingLevel; serviceTier?: ServiceTier }> {\n\t\treturn this._scopedModels;\n\t}\n\n\t/** Update global model narrowing */\n\tsetScopedModels(\n\t\tscopedModels: Array<{ model: Model<any>; thinkingLevel?: ThinkingLevel; serviceTier?: ServiceTier }>,\n\t): void {\n\t\tthis._scopedModels = scopedModels;\n\t}\n\n\t/** Favorite models for Ctrl+P cycling */\n\tget favoriteModels(): ReadonlyArray<{\n\t\tmodel: Model<any>;\n\t\tthinkingLevel?: ThinkingLevel;\n\t\tserviceTier?: ServiceTier;\n\t}> {\n\t\treturn this._getCurrentFavoriteModels();\n\t}\n\n\t/** Update favorite models for Ctrl+P cycling */\n\tsetFavoriteModels(\n\t\tfavoriteModels: Array<{ model: Model<any>; thinkingLevel?: ThinkingLevel; serviceTier?: ServiceTier }>,\n\t): void {\n\t\tthis._favoriteModels = favoriteModels;\n\t}\n\n\tprivate _getCurrentFavoriteModels(): SessionModelEntry[] {\n\t\tconst availableById = new Map(\n\t\t\tthis._modelRegistry.getAvailable().map((model) => [`${model.provider}/${model.id}`, model]),\n\t\t);\n\t\tconst narrowedModelIds =\n\t\t\tthis._scopedModels.length > 0\n\t\t\t\t? new Set(this._scopedModels.map((scoped) => `${scoped.model.provider}/${scoped.model.id}`))\n\t\t\t\t: undefined;\n\t\tconst seenModelIds = new Set<string>();\n\t\tconst favoriteModels: SessionModelEntry[] = [];\n\n\t\tfor (const favorite of this._favoriteModels) {\n\t\t\tconst modelId = `${favorite.model.provider}/${favorite.model.id}`;\n\t\t\tif (seenModelIds.has(modelId)) continue;\n\n\t\t\tconst model = availableById.get(modelId);\n\t\t\tif (!model) continue;\n\t\t\tif (narrowedModelIds && !narrowedModelIds.has(modelId)) continue;\n\n\t\t\tseenModelIds.add(modelId);\n\t\t\tfavoriteModels.push({\n\t\t\t\tmodel,\n\t\t\t\tthinkingLevel: favorite.thinkingLevel,\n\t\t\t\tserviceTier: favorite.serviceTier,\n\t\t\t});\n\t\t}\n\n\t\treturn favoriteModels;\n\t}\n\n\t/** File-based prompt templates */\n\tget promptTemplates(): ReadonlyArray<PromptTemplate> {\n\t\treturn this._resourceLoader.getPrompts().prompts;\n\t}\n\n\tprivate _normalizePromptSnippet(text: string | undefined): string | undefined {\n\t\tif (!text) return undefined;\n\t\tconst oneLine = text\n\t\t\t.replace(/[\\r\\n]+/g, \" \")\n\t\t\t.replace(/\\s+/g, \" \")\n\t\t\t.trim();\n\t\treturn oneLine.length > 0 ? oneLine : undefined;\n\t}\n\n\tprivate _normalizePromptGuidelines(guidelines: string[] | undefined): string[] {\n\t\tif (!guidelines || guidelines.length === 0) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst unique = new Set<string>();\n\t\tfor (const guideline of guidelines) {\n\t\t\tconst normalized = guideline.trim();\n\t\t\tif (normalized.length > 0) {\n\t\t\t\tunique.add(normalized);\n\t\t\t}\n\t\t}\n\t\treturn Array.from(unique);\n\t}\n\n\tprivate _rebuildSystemPrompt(toolNames: string[]): string {\n\t\tconst validToolNames = toolNames.filter((name) => this._toolRegistry.has(name));\n\t\tconst toolSnippets: Record<string, string> = {};\n\t\tconst promptGuidelines: string[] = [];\n\t\tfor (const name of validToolNames) {\n\t\t\tconst snippet = this._toolPromptSnippets.get(name);\n\t\t\tif (snippet) {\n\t\t\t\ttoolSnippets[name] = snippet;\n\t\t\t}\n\n\t\t\tconst toolGuidelines = this._toolPromptGuidelines.get(name);\n\t\t\tif (toolGuidelines) {\n\t\t\t\tpromptGuidelines.push(...toolGuidelines);\n\t\t\t}\n\t\t}\n\n\t\tconst loadedSkills = this._resourceLoader.getSkills().skills;\n\t\tconst loadedContextFiles = this._resourceLoader.getAgentsFiles().agentsFiles;\n\n\t\tthis._baseSystemPromptOptions = {\n\t\t\tcwd: this._cwd,\n\t\t\tskills: loadedSkills,\n\t\t\tcontextFiles: loadedContextFiles,\n\t\t\tselectedTools: validToolNames,\n\t\t\ttoolSnippets,\n\t\t\tpromptGuidelines,\n\t\t};\n\t\treturn buildDynamicSystemPrompt(this._baseSystemPromptOptions);\n\t}\n\n\t/**\n\t * Send a prompt to the agent.\n\t * - Handles extension commands (registered via pi.registerCommand) immediately, even during streaming\n\t * - Expands file-based prompt templates by default\n\t * - During streaming, queues via steer() or followUp() based on streamingBehavior option\n\t * - Validates model and API key before sending (when not streaming)\n\t * @throws Error if streaming and no streamingBehavior specified\n\t * @throws Error if no model selected or no API key available (when not streaming)\n\t */\n\tasync prompt(text: string, options?: PromptOptions): Promise<void> {\n\t\tconst userAbortPromise = this._userAbortPromise;\n\t\tif (userAbortPromise) {\n\t\t\tawait userAbortPromise;\n\t\t}\n\t\tconst shouldWaitForSessionWork = options?.source !== \"extension\";\n\t\tif (\n\t\t\tshouldWaitForSessionWork &&\n\t\t\t(!this.isStreaming || this.isCompacting || this._sessionWorkBarrier.hasActiveWork)\n\t\t) {\n\t\t\tawait this._waitForSettledSessionWork();\n\t\t}\n\n\t\tconst expandPromptTemplates = options?.expandPromptTemplates ?? true;\n\t\tconst preflightResult = options?.preflightResult;\n\t\tlet messages: AgentMessage[] | undefined;\n\n\t\ttry {\n\t\t\t// Handle extension commands first (execute immediately, even during streaming)\n\t\t\t// Extension commands manage their own LLM interaction via pi.sendMessage()\n\t\t\tif (expandPromptTemplates && text.startsWith(\"/\")) {\n\t\t\t\tconst handled = await this._tryExecuteExtensionCommand(text);\n\t\t\t\tif (handled) {\n\t\t\t\t\t// Extension command executed, no prompt to send\n\t\t\t\t\tpreflightResult?.(true);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Emit input event for extension interception (before skill/template expansion)\n\t\t\tlet currentText = text;\n\t\t\tlet currentImages = options?.images;\n\t\t\tif (this._extensionRunner.hasHandlers(\"input\")) {\n\t\t\t\tconst inputResult = await this._extensionRunner.emitInput(\n\t\t\t\t\tcurrentText,\n\t\t\t\t\tcurrentImages,\n\t\t\t\t\toptions?.source ?? \"interactive\",\n\t\t\t\t\tthis.isStreaming ? options?.streamingBehavior : undefined,\n\t\t\t\t);\n\t\t\t\tif (inputResult.action === \"handled\") {\n\t\t\t\t\tpreflightResult?.(true);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (inputResult.action === \"transform\") {\n\t\t\t\t\tcurrentText = inputResult.text;\n\t\t\t\t\tcurrentImages = inputResult.images ?? currentImages;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Expand skill commands (/skill:name args) and prompt templates (/template args)\n\t\t\tlet expandedText = currentText;\n\t\t\tif (expandPromptTemplates) {\n\t\t\t\texpandedText = this._expandSkillCommand(expandedText);\n\t\t\t\texpandedText = expandPromptTemplate(expandedText, [...this.promptTemplates]);\n\t\t\t}\n\n\t\t\t// If streaming, queue via steer() or followUp() based on option\n\t\t\tif (this.isStreaming) {\n\t\t\t\tif (!options?.streamingBehavior) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\"Agent is already processing. Specify streamingBehavior ('steer' or 'followUp') to queue the message.\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (options.streamingBehavior === \"followUp\") {\n\t\t\t\t\tawait this._queueFollowUp(expandedText, currentImages);\n\t\t\t\t} else {\n\t\t\t\t\tawait this._queueSteer(expandedText, currentImages);\n\t\t\t\t}\n\t\t\t\tpreflightResult?.(true);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Flush any pending bash messages before the new prompt\n\t\t\tthis._flushPendingBashMessages();\n\n\t\t\t// Validate model\n\t\t\tif (!this.model) {\n\t\t\t\tthrow new Error(formatNoModelSelectedMessage());\n\t\t\t}\n\n\t\t\tif (!this._modelRegistry.hasConfiguredAuth(this.model)) {\n\t\t\t\tconst isOAuth = this._modelRegistry.isUsingOAuth(this.model);\n\t\t\t\tif (isOAuth) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Authentication failed for \"${this.model.provider}\". ` +\n\t\t\t\t\t\t\t`Credentials may have expired or network is unavailable. ` +\n\t\t\t\t\t\t\t`Run '/login ${this.model.provider}' to re-authenticate.`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tthrow new Error(formatNoApiKeyFoundMessage(this.model.provider));\n\t\t\t}\n\n\t\t\t// Check if we need to compact before sending (catches aborted responses)\n\t\t\tconst lastAssistant = this._findLastAssistantMessage();\n\t\t\tif (lastAssistant) {\n\t\t\t\tawait this._checkCompaction(lastAssistant, false, \"pre_prompt\");\n\t\t\t}\n\n\t\t\t// Build messages array (custom message if any, then user message)\n\t\t\tmessages = [];\n\n\t\t\t// Add user message\n\t\t\tconst userContent: (TextContent | ImageContent)[] = [{ type: \"text\", text: expandedText }];\n\t\t\tif (currentImages) {\n\t\t\t\tuserContent.push(...currentImages);\n\t\t\t}\n\t\t\tmessages.push({\n\t\t\t\trole: \"user\",\n\t\t\t\tcontent: userContent,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t});\n\n\t\t\t// Inject any pending \"nextTurn\" messages as context alongside the user message\n\t\t\tfor (const msg of this._pendingNextTurnMessages) {\n\t\t\t\tmessages.push(msg);\n\t\t\t}\n\t\t\tthis._pendingNextTurnMessages = [];\n\n\t\t\t// Emit before_agent_start extension event\n\t\t\tconst result = await this._extensionRunner.emitBeforeAgentStart(\n\t\t\t\texpandedText,\n\t\t\t\tcurrentImages,\n\t\t\t\tthis._baseSystemPrompt,\n\t\t\t\tthis._baseSystemPromptOptions,\n\t\t\t);\n\t\t\t// Add all custom messages from extensions\n\t\t\tif (result?.messages) {\n\t\t\t\tfor (const msg of result.messages) {\n\t\t\t\t\tmessages.push({\n\t\t\t\t\t\trole: \"custom\",\n\t\t\t\t\t\tcustomType: msg.customType,\n\t\t\t\t\t\tcontent: msg.content,\n\t\t\t\t\t\tdisplay: msg.display,\n\t\t\t\t\t\tdetails: msg.details,\n\t\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Apply extension-modified system prompt, or reset to base\n\t\t\tif (result?.systemPrompt) {\n\t\t\t\tthis.agent.state.systemPrompt = result.systemPrompt;\n\t\t\t} else {\n\t\t\t\t// Ensure we're using the base prompt (in case previous turn had modifications)\n\t\t\t\tthis.agent.state.systemPrompt = this._baseSystemPrompt;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tpreflightResult?.(false);\n\t\t\tthrow error;\n\t\t}\n\n\t\tif (!messages) {\n\t\t\treturn;\n\t\t}\n\n\t\tpreflightResult?.(true);\n\t\tawait this.agent.prompt(messages);\n\t\tawait this.waitForRetry();\n\t\tif (shouldWaitForSessionWork) {\n\t\t\tawait this._waitForSettledSessionWork();\n\t\t} else {\n\t\t\tawait this.agent.waitForIdle();\n\t\t}\n\t}\n\n\t/**\n\t * Try to execute an extension command. Returns true if command was found and executed.\n\t */\n\tprivate async _tryExecuteExtensionCommand(text: string): Promise<boolean> {\n\t\t// Parse command name and args\n\t\tconst spaceIndex = text.indexOf(\" \");\n\t\tconst commandName = spaceIndex === -1 ? text.slice(1) : text.slice(1, spaceIndex);\n\t\tconst args = spaceIndex === -1 ? \"\" : text.slice(spaceIndex + 1);\n\n\t\tconst command = this._extensionRunner.getCommand(commandName);\n\t\tif (!command) return false;\n\n\t\t// Get command context from extension runner (includes session control methods)\n\t\tconst ctx = this._extensionRunner.createCommandContext();\n\n\t\ttry {\n\t\t\tawait command.handler(args, ctx);\n\t\t\treturn true;\n\t\t} catch (err) {\n\t\t\t// Emit error via extension runner\n\t\t\tthis._extensionRunner.emitError({\n\t\t\t\textensionPath: `command:${commandName}`,\n\t\t\t\tevent: \"command\",\n\t\t\t\terror: err instanceof Error ? err.message : String(err),\n\t\t\t});\n\t\t\treturn true;\n\t\t}\n\t}\n\n\t/**\n\t * Expand skill commands (/skill:name args) to their full content.\n\t * Returns the expanded text, or the original text if not a skill command or skill not found.\n\t * Emits errors via extension runner if file read fails.\n\t */\n\tprivate _expandSkillCommand(text: string): string {\n\t\tif (!text.startsWith(\"/skill:\")) return text;\n\n\t\tconst spaceIndex = text.indexOf(\" \");\n\t\tconst skillName = spaceIndex === -1 ? text.slice(7) : text.slice(7, spaceIndex);\n\t\tconst args = spaceIndex === -1 ? \"\" : text.slice(spaceIndex + 1).trim();\n\n\t\tconst skill = this.resourceLoader.getSkills().skills.find((s) => s.name === skillName);\n\t\tif (!skill) return text; // Unknown skill, pass through\n\n\t\ttry {\n\t\t\tconst content = readFileSync(skill.filePath, \"utf-8\");\n\t\t\tconst body = stripFrontmatter(content).trim();\n\t\t\tconst skillBlock = `<skill name=\"${skill.name}\" location=\"${skill.filePath}\">\\nReferences are relative to ${skill.baseDir}.\\n\\n${body}\\n</skill>`;\n\t\t\treturn args ? `${skillBlock}\\n\\n${args}` : skillBlock;\n\t\t} catch (err) {\n\t\t\t// Emit error like extension commands do\n\t\t\tthis._extensionRunner.emitError({\n\t\t\t\textensionPath: skill.filePath,\n\t\t\t\tevent: \"skill_expansion\",\n\t\t\t\terror: err instanceof Error ? err.message : String(err),\n\t\t\t});\n\t\t\treturn text; // Return original on error\n\t\t}\n\t}\n\n\t/**\n\t * Queue a steering message while the agent is running.\n\t * Delivered after the current assistant turn finishes executing its tool calls,\n\t * before the next LLM call.\n\t * Expands skill commands and prompt templates. Errors on extension commands.\n\t * @param images Optional image attachments to include with the message\n\t * @throws Error if text is an extension command\n\t */\n\tasync steer(text: string, images?: ImageContent[]): Promise<void> {\n\t\t// Check for extension commands (cannot be queued)\n\t\tif (text.startsWith(\"/\")) {\n\t\t\tthis._throwIfExtensionCommand(text);\n\t\t}\n\n\t\t// Expand skill commands and prompt templates\n\t\tlet expandedText = this._expandSkillCommand(text);\n\t\texpandedText = expandPromptTemplate(expandedText, [...this.promptTemplates]);\n\n\t\tawait this._queueSteer(expandedText, images);\n\t}\n\n\t/**\n\t * Queue a follow-up message to be processed after the agent finishes.\n\t * Delivered only when agent has no more tool calls or steering messages.\n\t * Expands skill commands and prompt templates. Errors on extension commands.\n\t * @param images Optional image attachments to include with the message\n\t * @throws Error if text is an extension command\n\t */\n\tasync followUp(text: string, images?: ImageContent[]): Promise<void> {\n\t\t// Check for extension commands (cannot be queued)\n\t\tif (text.startsWith(\"/\")) {\n\t\t\tthis._throwIfExtensionCommand(text);\n\t\t}\n\n\t\t// Expand skill commands and prompt templates\n\t\tlet expandedText = this._expandSkillCommand(text);\n\t\texpandedText = expandPromptTemplate(expandedText, [...this.promptTemplates]);\n\n\t\tawait this._queueFollowUp(expandedText, images);\n\t}\n\n\t/**\n\t * Internal: Queue a steering message (already expanded, no extension command check).\n\t */\n\tprivate async _queueSteer(text: string, images?: ImageContent[]): Promise<void> {\n\t\tthis._steeringMessages.push(text);\n\t\tthis._emitQueueUpdate();\n\t\tconst content: (TextContent | ImageContent)[] = [{ type: \"text\", text }];\n\t\tif (images) {\n\t\t\tcontent.push(...images);\n\t\t}\n\t\tthis.agent.steer({\n\t\t\trole: \"user\",\n\t\t\tcontent,\n\t\t\ttimestamp: Date.now(),\n\t\t});\n\t}\n\n\t/**\n\t * Internal: Queue a follow-up message (already expanded, no extension command check).\n\t */\n\tprivate async _queueFollowUp(text: string, images?: ImageContent[]): Promise<void> {\n\t\tthis._followUpMessages.push(text);\n\t\tthis._emitQueueUpdate();\n\t\tconst content: (TextContent | ImageContent)[] = [{ type: \"text\", text }];\n\t\tif (images) {\n\t\t\tcontent.push(...images);\n\t\t}\n\t\tthis.agent.followUp({\n\t\t\trole: \"user\",\n\t\t\tcontent,\n\t\t\ttimestamp: Date.now(),\n\t\t});\n\t}\n\n\t/**\n\t * Throw an error if the text is an extension command.\n\t */\n\tprivate _throwIfExtensionCommand(text: string): void {\n\t\tconst spaceIndex = text.indexOf(\" \");\n\t\tconst commandName = spaceIndex === -1 ? text.slice(1) : text.slice(1, spaceIndex);\n\t\tconst command = this._extensionRunner.getCommand(commandName);\n\n\t\tif (command) {\n\t\t\tthrow new Error(\n\t\t\t\t`Extension command \"/${commandName}\" cannot be queued. Use prompt() or execute the command when not streaming.`,\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Send a custom message to the session. Creates a CustomMessageEntry.\n\t *\n\t * Handles three cases:\n\t * - Streaming: queues message, processed when loop pulls from queue\n\t * - Not streaming + triggerTurn: appends to state/session, starts new turn\n\t * - Not streaming + no trigger: appends to state/session, no turn\n\t *\n\t * @param message Custom message with customType, content, display, details\n\t * @param options.triggerTurn If true and not streaming, triggers a new LLM turn\n\t * @param options.deliverAs Delivery mode: \"steer\", \"followUp\", or \"nextTurn\"\n\t */\n\tasync sendCustomMessage<T = unknown>(\n\t\tmessage: Pick<CustomMessage<T>, \"customType\" | \"content\" | \"display\" | \"details\">,\n\t\toptions?: { triggerTurn?: boolean; deliverAs?: \"steer\" | \"followUp\" | \"nextTurn\" },\n\t): Promise<void> {\n\t\tconst appMessage = {\n\t\t\trole: \"custom\" as const,\n\t\t\tcustomType: message.customType,\n\t\t\tcontent: message.content,\n\t\t\tdisplay: message.display,\n\t\t\tdetails: message.details,\n\t\t\ttimestamp: Date.now(),\n\t\t} satisfies CustomMessage<T>;\n\t\tif (options?.deliverAs === \"nextTurn\") {\n\t\t\tthis._pendingNextTurnMessages.push(appMessage);\n\t\t} else if (this.isStreaming) {\n\t\t\tif (options?.deliverAs === \"followUp\") {\n\t\t\t\tthis.agent.followUp(appMessage);\n\t\t\t} else {\n\t\t\t\tthis.agent.steer(appMessage);\n\t\t\t}\n\t\t} else if (options?.triggerTurn) {\n\t\t\tawait this.agent.prompt(appMessage);\n\t\t} else {\n\t\t\tthis.agent.state.messages.push(appMessage);\n\t\t\tthis.sessionManager.appendCustomMessageEntry(\n\t\t\t\tmessage.customType,\n\t\t\t\tmessage.content,\n\t\t\t\tmessage.display,\n\t\t\t\tmessage.details,\n\t\t\t);\n\t\t\tthis._incrementMessageRevision();\n\t\t\tthis._emit({ type: \"message_start\", message: appMessage });\n\t\t\tthis._emit({ type: \"message_end\", message: appMessage });\n\t\t}\n\t}\n\n\t/**\n\t * Send a user message to the agent. Always triggers a turn.\n\t * When the agent is streaming, use deliverAs to specify how to queue the message.\n\t *\n\t * @param content User message content (string or content array)\n\t * @param options.deliverAs Delivery mode when streaming: \"steer\" or \"followUp\"\n\t */\n\tasync sendUserMessage(\n\t\tcontent: string | (TextContent | ImageContent)[],\n\t\toptions?: { deliverAs?: \"steer\" | \"followUp\" },\n\t): Promise<void> {\n\t\t// Normalize content to text string + optional images\n\t\tlet text: string;\n\t\tlet images: ImageContent[] | undefined;\n\n\t\tif (typeof content === \"string\") {\n\t\t\ttext = content;\n\t\t} else {\n\t\t\tconst textParts: string[] = [];\n\t\t\timages = [];\n\t\t\tfor (const part of content) {\n\t\t\t\tif (part.type === \"text\") {\n\t\t\t\t\ttextParts.push(part.text);\n\t\t\t\t} else {\n\t\t\t\t\timages.push(part);\n\t\t\t\t}\n\t\t\t}\n\t\t\ttext = textParts.join(\"\\n\");\n\t\t\tif (images.length === 0) images = undefined;\n\t\t}\n\n\t\t// Use prompt() with expandPromptTemplates: false to skip command handling and template expansion\n\t\tawait this.prompt(text, {\n\t\t\texpandPromptTemplates: false,\n\t\t\tstreamingBehavior: options?.deliverAs,\n\t\t\timages,\n\t\t\tsource: \"extension\",\n\t\t});\n\t}\n\n\t/**\n\t * Clear all queued messages and return them.\n\t * Useful for restoring to editor when user aborts.\n\t * @returns Object with steering and followUp arrays\n\t */\n\tclearQueue(): { steering: string[]; followUp: string[] } {\n\t\tconst steering = [...this._steeringMessages];\n\t\tconst followUp = [...this._followUpMessages];\n\t\tthis._steeringMessages = [];\n\t\tthis._followUpMessages = [];\n\t\tthis.agent.clearAllQueues();\n\t\tthis._emitQueueUpdate();\n\t\treturn { steering, followUp };\n\t}\n\n\t/** Number of pending messages (includes both steering and follow-up) */\n\tget pendingMessageCount(): number {\n\t\treturn this._steeringMessages.length + this._followUpMessages.length;\n\t}\n\n\t/** Get pending steering messages (read-only) */\n\tgetSteeringMessages(): readonly string[] {\n\t\treturn this._steeringMessages;\n\t}\n\n\t/** Get pending follow-up messages (read-only) */\n\tgetFollowUpMessages(): readonly string[] {\n\t\treturn this._followUpMessages;\n\t}\n\n\tget resourceLoader(): ResourceLoader {\n\t\treturn this._resourceLoader;\n\t}\n\n\t/**\n\t * Abort current operation and wait for agent to become idle.\n\t */\n\tasync abort(): Promise<void> {\n\t\tthis.abortRetry();\n\t\tthis.abortCompaction();\n\t\tthis.abortBranchSummary();\n\t\tif (this._userAbortPromise) {\n\t\t\tthis.agent.abort();\n\t\t\tawait this._userAbortPromise;\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortPromise = (async () => {\n\t\t\tthis.agent.abort();\n\t\t\tawait this.agent.waitForIdle();\n\t\t})();\n\t\tthis._userAbortPromise = abortPromise;\n\t\ttry {\n\t\t\tawait abortPromise;\n\t\t} finally {\n\t\t\tif (this._userAbortPromise === abortPromise) {\n\t\t\t\tthis._userAbortPromise = undefined;\n\t\t\t}\n\t\t}\n\t}\n\n\t// =========================================================================\n\t// Model Management\n\t// =========================================================================\n\n\tprivate async _emitModelSelect(\n\t\tnextModel: Model<any>,\n\t\tpreviousModel: Model<any> | undefined,\n\t\tsource: \"set\" | \"cycle\" | \"restore\",\n\t): Promise<SystemPromptChangeEvent | undefined> {\n\t\tif (!this._modelSelectionChangesContext(previousModel, nextModel)) return undefined;\n\t\tconst result = await this._extensionRunner.emitModelSelect({\n\t\t\ttype: \"model_select\",\n\t\t\tmodel: nextModel,\n\t\t\tpreviousModel,\n\t\t\tsource,\n\t\t\tsystemPrompt: this.agent.state.systemPrompt,\n\t\t\tsystemPromptOptions: this._baseSystemPromptOptions,\n\t\t});\n\t\tif (result?.systemPrompt === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst previousSystemPrompt = this.agent.state.systemPrompt;\n\t\tconst systemPrompt = result.systemPrompt ?? this._baseSystemPrompt;\n\t\tif (previousSystemPrompt === systemPrompt) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tthis.agent.state.systemPrompt = systemPrompt;\n\t\tconst event: SystemPromptChangeEvent = {\n\t\t\ttype: \"system_prompt_change\",\n\t\t\tsystemPrompt,\n\t\t\tpreviousSystemPrompt,\n\t\t\tmodel: nextModel,\n\t\t\tpreviousModel,\n\t\t\tsource: \"model_select\",\n\t\t};\n\t\tif (result.systemPromptName) {\n\t\t\tevent.systemPromptName = result.systemPromptName;\n\t\t}\n\t\tawait this._extensionRunner.emit(event);\n\t\tthis._emit(event);\n\t\treturn event;\n\t}\n\n\t/**\n\t * Set model directly.\n\t * Validates that auth is configured, saves to session and settings.\n\t * @throws Error if no auth is configured for the model\n\t */\n\tasync setModel(model: Model<any>): Promise<SystemPromptChangeEvent | undefined> {\n\t\tif (!this._modelRegistry.hasConfiguredAuth(model)) {\n\t\t\tthrow new Error(`No API key for ${model.provider}/${model.id}`);\n\t\t}\n\n\t\tconst previousModel = this.model;\n\t\tconst invalidatesCompaction = this._modelSelectionChangesContext(previousModel, model);\n\t\tif (invalidatesCompaction) {\n\t\t\tthis._invalidateCompactionForModelSelection();\n\t\t}\n\t\tconst thinkingLevel = this._getThinkingLevelForModelSwitch();\n\t\tthis.agent.state.model = model;\n\t\tthis.sessionManager.appendModelChange(model.provider, model.id);\n\t\tthis.settingsManager.setDefaultModelAndProvider(model.provider, model.id);\n\n\t\tconst scopedMatch = this._scopedModels.find((sm) => modelsAreEqual(sm.model, model));\n\t\tthis._currentServiceTier = scopedMatch?.serviceTier;\n\n\t\tthis.setThinkingLevel(thinkingLevel);\n\n\t\treturn await this._emitModelSelect(model, previousModel, \"set\");\n\t}\n\n\t/**\n\t * Cycle to next/previous model.\n\t * Uses favorite models, constrained by any global model narrowing.\n\t * @param direction - \"forward\" (default) or \"backward\"\n\t * @returns The new model info, or undefined if only one model available\n\t */\n\tasync cycleModel(direction: \"forward\" | \"backward\" = \"forward\"): Promise<ModelCycleResult | undefined> {\n\t\tconst favoriteModels = this._getCurrentFavoriteModels();\n\t\tif (favoriteModels.length > 0) {\n\t\t\treturn this._cycleFavoriteModel(direction, favoriteModels);\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate async _cycleFavoriteModel(\n\t\tdirection: \"forward\" | \"backward\",\n\t\tfavoriteModels: SessionModelEntry[],\n\t): Promise<ModelCycleResult | undefined> {\n\t\tif (favoriteModels.length <= 1) return undefined;\n\n\t\tconst currentModel = this.model;\n\t\tconst currentIndex = favoriteModels.findIndex((sm) => modelsAreEqual(sm.model, currentModel));\n\n\t\tlet nextIndex: number;\n\t\tif (currentIndex === -1) {\n\t\t\tnextIndex = direction === \"forward\" ? 0 : favoriteModels.length - 1;\n\t\t} else {\n\t\t\tconst len = favoriteModels.length;\n\t\t\tnextIndex = direction === \"forward\" ? (currentIndex + 1) % len : (currentIndex - 1 + len) % len;\n\t\t}\n\t\tconst next = favoriteModels[nextIndex];\n\t\tconst invalidatesCompaction = this._modelSelectionChangesContext(currentModel, next.model);\n\t\tif (invalidatesCompaction) {\n\t\t\tthis._invalidateCompactionForModelSelection();\n\t\t}\n\t\tconst thinkingLevel = this._getThinkingLevelForModelSwitch(next.thinkingLevel);\n\n\t\tthis.agent.state.model = next.model;\n\t\tthis.sessionManager.appendModelChange(next.model.provider, next.model.id);\n\t\tthis.settingsManager.setDefaultModelAndProvider(next.model.provider, next.model.id);\n\t\tthis._currentServiceTier = next.serviceTier;\n\n\t\t// Apply thinking level.\n\t\t// - Explicit favorite model thinking level overrides current session level\n\t\t// - Undefined favorite model thinking level inherits the current session preference\n\t\t// setThinkingLevel clamps to model capabilities.\n\t\tthis.setThinkingLevel(thinkingLevel);\n\n\t\tconst systemPromptChange = await this._emitModelSelect(next.model, currentModel, \"cycle\");\n\n\t\tconst cycleResult: ModelCycleResult = { model: next.model, thinkingLevel: this.thinkingLevel, isScoped: true };\n\t\tif (systemPromptChange) {\n\t\t\tcycleResult.systemPromptChange = systemPromptChange;\n\t\t}\n\t\treturn cycleResult;\n\t}\n\n\t// =========================================================================\n\t// Thinking Level Management\n\t// =========================================================================\n\n\t/**\n\t * Set thinking level.\n\t * Clamps to model capabilities based on available thinking levels.\n\t * Saves to session and settings only if the level actually changes.\n\t */\n\tsetThinkingLevel(level: ThinkingLevel): void {\n\t\tconst availableLevels = this.getAvailableThinkingLevels();\n\t\tconst effectiveLevel = availableLevels.includes(level) ? level : this._clampThinkingLevel(level, availableLevels);\n\n\t\t// Only persist if actually changing\n\t\tconst previousLevel = this.agent.state.thinkingLevel;\n\t\tconst isChanging = effectiveLevel !== previousLevel;\n\n\t\tthis.agent.state.thinkingLevel = effectiveLevel;\n\n\t\tif (isChanging) {\n\t\t\tthis.sessionManager.appendThinkingLevelChange(effectiveLevel);\n\t\t\tif (this.supportsThinking() || effectiveLevel !== \"off\") {\n\t\t\t\tthis.settingsManager.setDefaultThinkingLevel(effectiveLevel);\n\t\t\t}\n\t\t\tthis._emit({ type: \"thinking_level_changed\", level: effectiveLevel });\n\t\t\tvoid this._extensionRunner.emit({\n\t\t\t\ttype: \"thinking_level_select\",\n\t\t\t\tlevel: effectiveLevel,\n\t\t\t\tpreviousLevel,\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Cycle to next thinking level.\n\t * @returns New level, or undefined if model doesn't support thinking\n\t */\n\tcycleThinkingLevel(): ThinkingLevel | undefined {\n\t\tif (!this.supportsThinking()) return undefined;\n\n\t\tconst levels = this.getAvailableThinkingLevels();\n\t\tconst currentIndex = levels.indexOf(this.thinkingLevel);\n\t\tconst nextIndex = (currentIndex + 1) % levels.length;\n\t\tconst nextLevel = levels[nextIndex];\n\n\t\tthis.setThinkingLevel(nextLevel);\n\t\treturn nextLevel;\n\t}\n\n\t/**\n\t * Get available thinking levels for current model.\n\t * The provider will clamp to what the specific model supports internally.\n\t */\n\tgetAvailableThinkingLevels(): ThinkingLevel[] {\n\t\tconst model = this.model;\n\t\treturn model ? (getSupportedThinkingLevels(model) as ThinkingLevel[]) : [\"off\"];\n\t}\n\n\t/**\n\t * Check if current model supports xhigh thinking level.\n\t */\n\tsupportsXhighThinking(): boolean {\n\t\treturn this.model ? supportsXhigh(this.model) : false;\n\t}\n\n\t/**\n\t * Check if current model exposes the native \"max\" adaptive thinking tier\n\t * (currently Anthropic Opus 4.6 legacy and Opus 4.7 native).\n\t */\n\tsupportsMaxThinking(): boolean {\n\t\treturn this.model ? supportsMax(this.model) : false;\n\t}\n\n\t/**\n\t * Check if current model supports thinking/reasoning.\n\t */\n\tsupportsThinking(): boolean {\n\t\treturn !!this.model?.reasoning;\n\t}\n\n\tprivate _getThinkingLevelForModelSwitch(explicitLevel?: ThinkingLevel): ThinkingLevel {\n\t\tif (explicitLevel !== undefined) {\n\t\t\treturn explicitLevel;\n\t\t}\n\t\tif (!this.supportsThinking()) {\n\t\t\treturn this.settingsManager.getDefaultThinkingLevel() ?? DEFAULT_THINKING_LEVEL;\n\t\t}\n\t\treturn this.thinkingLevel;\n\t}\n\n\tprivate _clampThinkingLevel(level: ThinkingLevel, availableLevels: ThinkingLevel[]): ThinkingLevel {\n\t\tconst available = new Set(availableLevels);\n\t\tconst requestedIndex = THINKING_LEVELS_WITH_MAX.indexOf(level);\n\t\tif (requestedIndex === -1) return availableLevels[0] ?? \"off\";\n\n\t\tfor (let index = requestedIndex; index < THINKING_LEVELS_WITH_MAX.length; index++) {\n\t\t\tconst candidate = THINKING_LEVELS_WITH_MAX[index];\n\t\t\tif (candidate && available.has(candidate)) return candidate;\n\t\t}\n\t\tfor (let index = requestedIndex - 1; index >= 0; index--) {\n\t\t\tconst candidate = THINKING_LEVELS_WITH_MAX[index];\n\t\t\tif (candidate && available.has(candidate)) return candidate;\n\t\t}\n\t\treturn availableLevels[0] ?? \"off\";\n\t}\n\n\t// =========================================================================\n\t// Queue Mode Management\n\t// =========================================================================\n\n\tprivate syncQueueModesFromSettings(): void {\n\t\tthis.agent.steeringMode = this.settingsManager.getSteeringMode();\n\t\tthis.agent.followUpMode = this.settingsManager.getFollowUpMode();\n\t}\n\n\t/**\n\t * Set steering message mode.\n\t * Saves to settings.\n\t */\n\tsetSteeringMode(mode: \"all\" | \"one-at-a-time\"): void {\n\t\tthis.agent.steeringMode = mode;\n\t\tthis.settingsManager.setSteeringMode(mode);\n\t}\n\n\t/**\n\t * Set follow-up message mode.\n\t * Saves to settings.\n\t */\n\tsetFollowUpMode(mode: \"all\" | \"one-at-a-time\"): void {\n\t\tthis.agent.followUpMode = mode;\n\t\tthis.settingsManager.setFollowUpMode(mode);\n\t}\n\n\t// =========================================================================\n\t// Compaction\n\t// =========================================================================\n\n\t/**\n\t * Manually compact the session context.\n\t * Aborts current agent operation first.\n\t * @param customInstructions Optional instructions for the compaction summary\n\t */\n\tasync compact(customInstructions?: string): Promise<CompactionResult> {\n\t\tthis._disconnectFromAgent();\n\t\tawait this.abort();\n\t\tthis._compactionAbortController = new AbortController();\n\t\tthis._emit({ type: \"compaction_start\", reason: \"manual\" });\n\n\t\ttry {\n\t\t\tconst execution = await this._executeCompaction({ reason: \"manual\", customInstructions, willRetry: false });\n\t\t\tif (!execution.accepted) {\n\t\t\t\tthrow new CompactionRejectedError(execution.rejectionCause);\n\t\t\t}\n\t\t\treturn execution.result;\n\t\t} catch (error) {\n\t\t\tif (error instanceof CompactionRejectedError) {\n\t\t\t\tthrow new Error(error.message);\n\t\t\t}\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\tconst aborted = message === \"Compaction cancelled\" || (error instanceof Error && error.name === \"AbortError\");\n\t\t\tthis._emit({\n\t\t\t\ttype: \"compaction_end\",\n\t\t\t\treason: \"manual\",\n\t\t\t\tresult: undefined,\n\t\t\t\taborted,\n\t\t\t\twillRetry: false,\n\t\t\t\terrorMessage: aborted ? undefined : `Compaction failed: ${message}`,\n\t\t\t});\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tthis._compactionAbortController = undefined;\n\t\t\tthis._reconnectToAgent();\n\t\t}\n\t}\n\n\tasync applyCompaction(\n\t\tprecomputed: CompactionResult,\n\t\toptions: ApplyCompactionOptions,\n\t): Promise<ApplyCompactionResult> {\n\t\tif (options.expectedRevision !== undefined && options.expectedRevision !== this._messageRevision) {\n\t\t\treturn { applied: false, reason: \"stale\" };\n\t\t}\n\n\t\tconst ownsController = this._compactionAbortController === undefined;\n\t\tif (ownsController) {\n\t\t\tthis._compactionAbortController = new AbortController();\n\t\t\tthis._emit({ type: \"compaction_start\", reason: options.reason });\n\t\t}\n\n\t\ttry {\n\t\t\tconst execution = await this._executeCompaction({\n\t\t\t\treason: options.reason,\n\t\t\t\twillRetry: false,\n\t\t\t\tprecomputed,\n\t\t\t});\n\t\t\tif (!execution.accepted) {\n\t\t\t\treturn { applied: false, reason: \"rejected\" };\n\t\t\t}\n\t\t\treturn { applied: true, reason: \"ok\" };\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\tconst aborted = message === \"Compaction cancelled\" || (error instanceof Error && error.name === \"AbortError\");\n\t\t\tthis._emit({\n\t\t\t\ttype: \"compaction_end\",\n\t\t\t\treason: options.reason,\n\t\t\t\tresult: undefined,\n\t\t\t\taborted,\n\t\t\t\twillRetry: false,\n\t\t\t\terrorMessage: aborted ? undefined : `Compaction failed: ${message}`,\n\t\t\t});\n\t\t\treturn { applied: false, reason: \"rejected\" };\n\t\t} finally {\n\t\t\tthis._compactionAbortController = undefined;\n\t\t}\n\t}\n\n\tprivate _beginExtensionCompactionFeedback(reason: CompactionReason): AbortSignal {\n\t\tif (!this._compactionAbortController) {\n\t\t\tthis._compactionAbortController = new AbortController();\n\t\t\tthis._emit({ type: \"compaction_start\", reason });\n\t\t}\n\t\treturn this._compactionAbortController.signal;\n\t}\n\n\tprivate _updateExtensionCompactionFeedback(options: {\n\t\treason: CompactionReason;\n\t\tdelta?: string;\n\t\ttext?: string;\n\t}): void {\n\t\tif (!this._compactionAbortController && !this._autoCompactionAbortController) return;\n\t\tthis._emit({\n\t\t\ttype: \"compaction_progress\",\n\t\t\treason: options.reason,\n\t\t\t...(options.delta !== undefined ? { delta: options.delta } : {}),\n\t\t\t...(options.text !== undefined ? { text: options.text } : {}),\n\t\t});\n\t}\n\n\tprivate _endExtensionCompactionFeedback(options: {\n\t\treason: CompactionReason;\n\t\taborted?: boolean;\n\t\terrorMessage?: string;\n\t}): void {\n\t\tconst controller = this._compactionAbortController;\n\t\tif (!controller) return;\n\t\tconst aborted = options.aborted ?? controller.signal.aborted;\n\t\tthis._emit({\n\t\t\ttype: \"compaction_end\",\n\t\t\treason: options.reason,\n\t\t\tresult: undefined,\n\t\t\taborted,\n\t\t\twillRetry: false,\n\t\t\terrorMessage: aborted ? undefined : options.errorMessage,\n\t\t});\n\t\tthis._compactionAbortController = undefined;\n\t}\n\n\tprivate async _executeCompaction(request: CompactionExecutionRequest): Promise<CompactionExecutionResult> {\n\t\tconst finishCompactionWork = this._sessionWorkBarrier.begin();\n\t\ttry {\n\t\t\tif (!this.model) {\n\t\t\t\tthrow new Error(formatNoModelSelectedMessage());\n\t\t\t}\n\n\t\t\tconst requestId = randomUUID();\n\t\t\tconst pathEntries = this.sessionManager.getBranch();\n\t\t\tconst settings = this.settingsManager.getCompactionSettings();\n\n\t\t\tconst signal = this._compactionAbortController?.signal ?? this._autoCompactionAbortController?.signal;\n\t\t\tif (!signal) {\n\t\t\t\tthrow new Error(\"Compaction abort controller unavailable\");\n\t\t\t}\n\n\t\t\tlet compactionResult = request.precomputed;\n\t\t\tlet fromExtension = request.precomputed !== undefined;\n\n\t\t\tif (!compactionResult) {\n\t\t\t\tconst preparation = prepareCompaction(pathEntries, settings);\n\n\t\t\t\tif (!preparation) {\n\t\t\t\t\tconst lastEntry = pathEntries[pathEntries.length - 1];\n\t\t\t\t\tif (lastEntry?.type === \"compaction\") {\n\t\t\t\t\t\tthrow new Error(\"Already compacted\");\n\t\t\t\t\t}\n\t\t\t\t\tthrow new Error(\"Nothing to compact (session too small)\");\n\t\t\t\t}\n\n\t\t\t\tif (this._extensionRunner.hasHandlers(\"session_before_compact\")) {\n\t\t\t\t\tconst extensionResult = (await this._extensionRunner.emit({\n\t\t\t\t\t\ttype: \"session_before_compact\",\n\t\t\t\t\t\treason: request.reason,\n\t\t\t\t\t\twillRetry: request.willRetry,\n\t\t\t\t\t\trequestId,\n\t\t\t\t\t\tpreparation,\n\t\t\t\t\t\tbranchEntries: pathEntries,\n\t\t\t\t\t\tcustomInstructions: request.customInstructions,\n\t\t\t\t\t\tsignal,\n\t\t\t\t\t})) as SessionBeforeCompactResult | undefined;\n\n\t\t\t\t\tif (extensionResult?.cancel) {\n\t\t\t\t\t\treturn await this._rejectCompaction(request, requestId, \"cancelled-by-extension\", true);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (extensionResult?.compaction) {\n\t\t\t\t\t\tcompactionResult = extensionResult.compaction;\n\t\t\t\t\t\tfromExtension = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (!compactionResult) {\n\t\t\t\t\tconst { apiKey, headers, extraBody, env } = await this._getCompactionRequestAuth(this.model);\n\t\t\t\t\tcompactionResult = await compact(\n\t\t\t\t\t\tpreparation,\n\t\t\t\t\t\tthis.model,\n\t\t\t\t\t\tapiKey,\n\t\t\t\t\t\theaders,\n\t\t\t\t\t\trequest.customInstructions,\n\t\t\t\t\t\tsignal,\n\t\t\t\t\t\textraBody,\n\t\t\t\t\t\tthis.thinkingLevel,\n\t\t\t\t\t\tthis.agent.streamFn,\n\t\t\t\t\t\tenv,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (signal.aborted) {\n\t\t\t\tthrow new Error(\"Compaction cancelled\");\n\t\t\t}\n\n\t\t\tif (this._wouldCompactionOverflow(pathEntries, compactionResult, fromExtension)) {\n\t\t\t\treturn await this._rejectCompaction(request, requestId, \"would-overflow\", false);\n\t\t\t}\n\n\t\t\tconst compactionEntryId = this.sessionManager.appendCompaction(\n\t\t\t\tcompactionResult.summary,\n\t\t\t\tcompactionResult.firstKeptEntryId,\n\t\t\t\tcompactionResult.tokensBefore,\n\t\t\t\tcompactionResult.details,\n\t\t\t\tfromExtension,\n\t\t\t);\n\t\t\tconst savedEntry = this.sessionManager.getEntry(compactionEntryId);\n\t\t\tif (savedEntry?.type !== \"compaction\") {\n\t\t\t\tthrow new Error(\"Compaction entry was not saved\");\n\t\t\t}\n\n\t\t\tconst sessionContext = this.sessionManager.buildSessionContext();\n\t\t\tthis.agent.state.messages = sessionContext.messages;\n\t\t\tcompactionResult.estimatedTokensAfter = estimateMessagesTokens(sessionContext.messages);\n\t\t\tthis._incrementMessageRevision();\n\n\t\t\tawait this._extensionRunner.emit({\n\t\t\t\ttype: \"session_compact\",\n\t\t\t\treason: request.reason,\n\t\t\t\trequestId,\n\t\t\t\taccepted: true,\n\t\t\t\tcompactionEntry: savedEntry,\n\t\t\t\tfromExtension,\n\t\t\t});\n\n\t\t\tthis._emit({\n\t\t\t\ttype: \"compaction_end\",\n\t\t\t\treason: request.reason,\n\t\t\t\tresult: compactionResult,\n\t\t\t\taborted: false,\n\t\t\t\twillRetry: request.willRetry,\n\t\t\t\trequestId,\n\t\t\t\taccepted: true,\n\t\t\t});\n\n\t\t\treturn { accepted: true, requestId, result: compactionResult, compactionEntry: savedEntry, fromExtension };\n\t\t} finally {\n\t\t\tfinishCompactionWork();\n\t\t}\n\t}\n\n\tprivate _wouldCompactionOverflow(\n\t\tpathEntries: SessionEntry[],\n\t\tcompactionResult: CompactionResult,\n\t\tfromExtension: boolean,\n\t): boolean {\n\t\tconst currentLeaf = pathEntries[pathEntries.length - 1];\n\t\tif (!currentLeaf || !this.model) return false;\n\n\t\tconst simulatedCompactionEntry: CompactionEntry = {\n\t\t\ttype: \"compaction\",\n\t\t\tid: `simulated-${randomUUID()}`,\n\t\t\tparentId: currentLeaf.id,\n\t\t\ttimestamp: new Date().toISOString(),\n\t\t\tsummary: compactionResult.summary,\n\t\t\tfirstKeptEntryId: compactionResult.firstKeptEntryId,\n\t\t\ttokensBefore: compactionResult.tokensBefore,\n\t\t\tdetails: compactionResult.details,\n\t\t\tfromHook: fromExtension,\n\t\t};\n\n\t\tconst simulatedMessages = buildSessionContext(\n\t\t\t[...pathEntries, simulatedCompactionEntry],\n\t\t\tsimulatedCompactionEntry.id,\n\t\t).messages;\n\t\tconst contextTokens = estimateContextTokens(filterContextExcludedMessages(simulatedMessages)).tokens;\n\t\tconst settings = this.settingsManager.getCompactionSettings();\n\t\treturn contextTokens > this.model.contextWindow - settings.reserveTokens;\n\t}\n\n\tprivate async _rejectCompaction(\n\t\trequest: CompactionExecutionRequest,\n\t\trequestId: string,\n\t\trejectionCause: CompactionRejectionCause,\n\t\taborted: boolean,\n\t): Promise<CompactionExecutionResult> {\n\t\tthis._emit({\n\t\t\ttype: \"compaction_end\",\n\t\t\treason: request.reason,\n\t\t\tresult: undefined,\n\t\t\taborted,\n\t\t\twillRetry: false,\n\t\t\trequestId,\n\t\t\taccepted: false,\n\t\t\trejectionCause,\n\t\t});\n\t\treturn { accepted: false, requestId, rejectionCause };\n\t}\n\n\t/**\n\t * Cancel in-progress compaction (manual or auto).\n\t */\n\tabortCompaction(): void {\n\t\tthis._compactionAbortController?.abort();\n\t\tthis._autoCompactionAbortController?.abort();\n\t}\n\n\t/**\n\t * Cancel in-progress branch summarization.\n\t */\n\tabortBranchSummary(): void {\n\t\tthis._branchSummaryAbortController?.abort();\n\t}\n\n\t/**\n\t * Check if compaction is needed and run it.\n\t * Called after agent_end and before prompt submission.\n\t *\n\t * Two cases:\n\t * 1. Overflow: LLM returned context overflow error, remove error message from agent state, compact, auto-retry\n\t * 2. Threshold: Context over threshold, compact, NO auto-retry (user continues manually)\n\t *\n\t * @param assistantMessage The assistant message to check\n\t * @param skipAbortedCheck If false, include aborted messages (for pre-prompt check). Default: true\n\t */\n\tprivate async _checkCompaction(\n\t\tassistantMessage: AssistantMessage,\n\t\tskipAbortedCheck = true,\n\t\trequestReason?: \"pre_prompt\",\n\t): Promise<void> {\n\t\tconst settings = this.settingsManager.getCompactionSettings();\n\t\tif (!settings.enabled) return;\n\n\t\t// Skip if message was aborted (user cancelled) - unless skipAbortedCheck is false\n\t\tif (skipAbortedCheck && assistantMessage.stopReason === \"aborted\") return;\n\n\t\tconst contextWindow = this.model?.contextWindow ?? 0;\n\n\t\t// Skip overflow check if the message came from a different model.\n\t\t// This handles the case where user switched from a smaller-context model (e.g. opus)\n\t\t// to a larger-context model (e.g. codex) - the overflow error from the old model\n\t\t// shouldn't trigger compaction for the new model.\n\t\tconst sameModel =\n\t\t\tthis.model && assistantMessage.provider === this.model.provider && assistantMessage.model === this.model.id;\n\n\t\t// Skip compaction checks if this assistant message is older than the latest\n\t\t// compaction boundary. This prevents a stale pre-compaction usage/error\n\t\t// from retriggering compaction on the first prompt after compaction.\n\t\tconst compactionEntry = getLatestCompactionEntry(this.sessionManager.getBranch());\n\t\tconst assistantIsFromBeforeCompaction =\n\t\t\tcompactionEntry !== null && assistantMessage.timestamp <= new Date(compactionEntry.timestamp).getTime();\n\t\tif (assistantIsFromBeforeCompaction) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Case 1: Overflow - LLM returned context overflow error.\n\t\t// If the saved assistant provider differs from the currently selected provider alias,\n\t\t// still recover as overflow when the current context is also at the compaction limit.\n\t\tconst contextUsage = this.getContextUsage();\n\t\tconst currentContextNeedsCompaction =\n\t\t\tcontextUsage !== undefined &&\n\t\t\tcontextUsage.tokens !== null &&\n\t\t\tshouldCompact(contextUsage.tokens, contextUsage.contextWindow, settings);\n\t\tif (isContextOverflow(assistantMessage, contextWindow) && (sameModel || currentContextNeedsCompaction)) {\n\t\t\tconst willRetry = assistantMessage.stopReason !== \"stop\";\n\n\t\t\tif (!willRetry) {\n\t\t\t\tawait this._runAutoCompaction(\"overflow\", false);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (this._overflowRecoveryAttempted) {\n\t\t\t\tconst errorMessage =\n\t\t\t\t\t\"Context overflow recovery failed after one compact-and-retry attempt. Try reducing context or switching to a larger-context model.\";\n\t\t\t\tthis._emit({\n\t\t\t\t\ttype: \"compaction_end\",\n\t\t\t\t\treason: \"overflow\",\n\t\t\t\t\tresult: undefined,\n\t\t\t\t\taborted: false,\n\t\t\t\t\twillRetry: false,\n\t\t\t\t\terrorMessage,\n\t\t\t\t});\n\t\t\t\tif (requestReason === \"pre_prompt\") {\n\t\t\t\t\tthrow new Error(errorMessage);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._overflowRecoveryAttempted = true;\n\t\t\t// Remove the error message from agent state (it IS saved to session for history,\n\t\t\t// but we don't want it in context for the retry)\n\t\t\tconst messages = this.agent.state.messages;\n\t\t\tif (messages.length > 0 && messages[messages.length - 1].role === \"assistant\") {\n\t\t\t\tthis.agent.state.messages = messages.slice(0, -1);\n\t\t\t\tthis._incrementMessageRevision();\n\t\t\t}\n\t\t\tif (requestReason) {\n\t\t\t\tawait this._runPrePromptCompaction(assistantMessage, skipAbortedCheck);\n\t\t\t} else {\n\t\t\t\tawait this._runAutoCompaction(\"overflow\", willRetry);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// Case 2: Threshold - context is getting large\n\t\t// For error messages (no usage data), estimate from last successful response.\n\t\t// This ensures sessions that hit persistent API errors (e.g. 529) can still compact.\n\t\tlet contextTokens: number;\n\t\tif (assistantMessage.stopReason === \"error\") {\n\t\t\tconst messages = filterContextExcludedMessages(this.agent.state.messages);\n\t\t\tconst estimate = estimateContextTokens(messages);\n\t\t\tif (estimate.lastUsageIndex === null) return; // No usage data at all\n\t\t\t// Verify the usage source is post-compaction. Kept pre-compaction messages\n\t\t\t// have stale usage reflecting the old (larger) context and would falsely\n\t\t\t// trigger compaction right after one just finished.\n\t\t\tconst usageMsg = messages[estimate.lastUsageIndex];\n\t\t\tif (\n\t\t\t\tcompactionEntry &&\n\t\t\t\tusageMsg.role === \"assistant\" &&\n\t\t\t\t(usageMsg as AssistantMessage).timestamp <= new Date(compactionEntry.timestamp).getTime()\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcontextTokens = estimate.tokens;\n\t\t} else {\n\t\t\tcontextTokens = calculateContextTokens(assistantMessage.usage);\n\t\t}\n\t\tif (shouldCompact(contextTokens, contextWindow, settings)) {\n\t\t\tif (requestReason) {\n\t\t\t\tawait this._runPrePromptCompaction(assistantMessage, skipAbortedCheck);\n\t\t\t} else {\n\t\t\t\tawait this._runAutoCompaction(\"threshold\", false);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async _runPrePromptCompaction(\n\t\tlastAssistantMessage: AssistantMessage,\n\t\tskipAbortedCheck: boolean,\n\t): Promise<void> {\n\t\tthis._emit({ type: \"compaction_start\", reason: \"pre_prompt\" });\n\t\tthis._compactionAbortController = new AbortController();\n\n\t\ttry {\n\t\t\tconst execution = await this._executeCompaction({\n\t\t\t\treason: \"pre_prompt\",\n\t\t\t\twillRetry: false,\n\t\t\t\tlastAssistantMessage,\n\t\t\t\tskipAbortedCheck,\n\t\t\t});\n\t\t\tif (!execution.accepted && isContextOverflow(lastAssistantMessage, this.model?.contextWindow ?? 0)) {\n\t\t\t\tthis._overflowRecoveryAttempted = false;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (isContextOverflow(lastAssistantMessage, this.model?.contextWindow ?? 0)) {\n\t\t\t\tthis._overflowRecoveryAttempted = false;\n\t\t\t}\n\t\t\tconst errorMessage = error instanceof Error ? error.message : \"compaction failed\";\n\t\t\tconst aborted =\n\t\t\t\terrorMessage === \"Compaction cancelled\" || (error instanceof Error && error.name === \"AbortError\");\n\t\t\tthis._emit({\n\t\t\t\ttype: \"compaction_end\",\n\t\t\t\treason: \"pre_prompt\",\n\t\t\t\tresult: undefined,\n\t\t\t\taborted,\n\t\t\t\twillRetry: false,\n\t\t\t\terrorMessage: aborted ? undefined : `Pre-prompt compaction failed: ${errorMessage}`,\n\t\t\t});\n\t\t} finally {\n\t\t\tthis._compactionAbortController = undefined;\n\t\t}\n\t}\n\n\tprivate async _continueAgentAfterCurrentRun(): Promise<boolean> {\n\t\tawait this.agent.waitForIdle();\n\t\ttry {\n\t\t\tawait this.agent.continue();\n\t\t\treturn true;\n\t\t} catch (error) {\n\t\t\tif (error instanceof Error) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\t/**\n\t * Internal: Run auto-compaction with events.\n\t */\n\tprivate async _runAutoCompaction(reason: \"overflow\" | \"threshold\", willRetry: boolean): Promise<boolean> {\n\t\tconst finishCompactionWork = this._sessionWorkBarrier.begin();\n\t\tthis._emit({ type: \"compaction_start\", reason });\n\t\tthis._autoCompactionAbortController = new AbortController();\n\n\t\ttry {\n\t\t\tif (!this.model) {\n\t\t\t\tif (reason === \"overflow\") this._overflowRecoveryAttempted = false;\n\t\t\t\tthis._emit({\n\t\t\t\t\ttype: \"compaction_end\",\n\t\t\t\t\treason,\n\t\t\t\t\tresult: undefined,\n\t\t\t\t\taborted: false,\n\t\t\t\t\twillRetry: false,\n\t\t\t\t});\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst authResult = await this._modelRegistry.getApiKeyAndHeaders(this.model);\n\t\t\tif (this.agent.streamFn === streamSimple && (!authResult.ok || !authResult.apiKey)) {\n\t\t\t\tif (reason === \"overflow\") this._overflowRecoveryAttempted = false;\n\t\t\t\tthis._emit({\n\t\t\t\t\ttype: \"compaction_end\",\n\t\t\t\t\treason,\n\t\t\t\t\tresult: undefined,\n\t\t\t\t\taborted: false,\n\t\t\t\t\twillRetry: false,\n\t\t\t\t});\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst preparation = prepareCompaction(\n\t\t\t\tthis.sessionManager.getBranch(),\n\t\t\t\tthis.settingsManager.getCompactionSettings(),\n\t\t\t);\n\t\t\tif (!preparation) {\n\t\t\t\tif (reason === \"overflow\") this._overflowRecoveryAttempted = false;\n\t\t\t\tthis._emit({\n\t\t\t\t\ttype: \"compaction_end\",\n\t\t\t\t\treason,\n\t\t\t\t\tresult: undefined,\n\t\t\t\t\taborted: false,\n\t\t\t\t\twillRetry: false,\n\t\t\t\t});\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst execution = await this._executeCompaction({ reason, willRetry });\n\t\t\tif (!execution.accepted) {\n\t\t\t\tif (reason === \"overflow\") this._overflowRecoveryAttempted = false;\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (willRetry) {\n\t\t\t\tconst messages = this.agent.state.messages;\n\t\t\t\tconst lastMsg = messages[messages.length - 1];\n\t\t\t\tif (lastMsg?.role === \"assistant\" && (lastMsg as AssistantMessage).stopReason === \"error\") {\n\t\t\t\t\tthis.agent.state.messages = messages.slice(0, -1);\n\t\t\t\t\tthis._incrementMessageRevision();\n\t\t\t\t}\n\n\t\t\t\treturn await this._continueAgentAfterCurrentRun();\n\t\t\t} else if (this.pendingMessageCount > 0) {\n\t\t\t\treturn await this._continueAgentAfterCurrentRun();\n\t\t\t} else if (this.agent.hasQueuedMessages()) {\n\t\t\t\treturn await this._continueAgentAfterCurrentRun();\n\t\t\t}\n\n\t\t\treturn false;\n\t\t} catch (error) {\n\t\t\tif (reason === \"overflow\") this._overflowRecoveryAttempted = false;\n\t\t\tconst errorMessage = error instanceof Error ? error.message : \"compaction failed\";\n\t\t\tconst aborted =\n\t\t\t\terrorMessage === \"Compaction cancelled\" || (error instanceof Error && error.name === \"AbortError\");\n\t\t\tthis._emit({\n\t\t\t\ttype: \"compaction_end\",\n\t\t\t\treason,\n\t\t\t\tresult: undefined,\n\t\t\t\taborted,\n\t\t\t\twillRetry: false,\n\t\t\t\terrorMessage: aborted\n\t\t\t\t\t? undefined\n\t\t\t\t\t: reason === \"overflow\"\n\t\t\t\t\t\t? `Context overflow recovery failed: ${errorMessage}`\n\t\t\t\t\t\t: `Auto-compaction failed: ${errorMessage}`,\n\t\t\t});\n\t\t\treturn false;\n\t\t} finally {\n\t\t\tthis._autoCompactionAbortController = undefined;\n\t\t\tfinishCompactionWork();\n\t\t}\n\t}\n\n\t/**\n\t * Toggle auto-compaction setting.\n\t */\n\tsetAutoCompactionEnabled(enabled: boolean): void {\n\t\tthis.settingsManager.setCompactionEnabled(enabled);\n\t}\n\n\t/** Whether auto-compaction is enabled */\n\tget autoCompactionEnabled(): boolean {\n\t\treturn this.settingsManager.getCompactionEnabled();\n\t}\n\n\tasync bindExtensions(bindings: ExtensionBindings): Promise<void> {\n\t\tif (bindings.uiContext !== undefined) {\n\t\t\tthis._extensionUIContext = bindings.uiContext;\n\t\t}\n\t\tif (bindings.mode !== undefined) {\n\t\t\tthis._extensionMode = bindings.mode;\n\t\t}\n\t\tif (bindings.commandContextActions !== undefined) {\n\t\t\tthis._extensionCommandContextActions = bindings.commandContextActions;\n\t\t}\n\t\tif (bindings.abortHandler !== undefined) {\n\t\t\tthis._extensionAbortHandler = bindings.abortHandler;\n\t\t}\n\t\tif (bindings.shutdownHandler !== undefined) {\n\t\t\tthis._extensionShutdownHandler = bindings.shutdownHandler;\n\t\t}\n\t\tif (bindings.onError !== undefined) {\n\t\t\tthis._extensionErrorListener = bindings.onError;\n\t\t}\n\n\t\tthis._applyExtensionBindings(this._extensionRunner);\n\t\tawait this._extensionRunner.emit(this._sessionStartEvent);\n\t\tawait this.extendResourcesFromExtensions(this._sessionStartEvent.reason === \"reload\" ? \"reload\" : \"startup\");\n\t}\n\n\tprivate async extendResourcesFromExtensions(reason: \"startup\" | \"reload\"): Promise<void> {\n\t\tif (!this._extensionRunner.hasHandlers(\"resources_discover\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { skillPaths, promptPaths, themePaths } = await this._extensionRunner.emitResourcesDiscover(\n\t\t\tthis._cwd,\n\t\t\treason,\n\t\t);\n\n\t\tif (skillPaths.length === 0 && promptPaths.length === 0 && themePaths.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst extensionPaths: ResourceExtensionPaths = {\n\t\t\tskillPaths: this.buildExtensionResourcePaths(skillPaths),\n\t\t\tpromptPaths: this.buildExtensionResourcePaths(promptPaths),\n\t\t\tthemePaths: this.buildExtensionResourcePaths(themePaths),\n\t\t};\n\n\t\tthis._resourceLoader.extendResources(extensionPaths);\n\t\tthis._baseSystemPrompt = this._rebuildSystemPrompt(this.getActiveToolNames());\n\t\tthis.agent.state.systemPrompt = this._baseSystemPrompt;\n\t}\n\n\tprivate buildExtensionResourcePaths(entries: Array<{ path: string; extensionPath: string }>): Array<{\n\t\tpath: string;\n\t\tmetadata: { source: string; scope: \"temporary\"; origin: \"top-level\"; baseDir?: string };\n\t}> {\n\t\treturn entries.map((entry) => {\n\t\t\tconst source = this.getExtensionSourceLabel(entry.extensionPath);\n\t\t\tconst baseDir = entry.extensionPath.startsWith(\"<\") ? undefined : dirname(entry.extensionPath);\n\t\t\treturn {\n\t\t\t\tpath: entry.path,\n\t\t\t\tmetadata: {\n\t\t\t\t\tsource,\n\t\t\t\t\tscope: \"temporary\",\n\t\t\t\t\torigin: \"top-level\",\n\t\t\t\t\tbaseDir,\n\t\t\t\t},\n\t\t\t};\n\t\t});\n\t}\n\n\tprivate getExtensionSourceLabel(extensionPath: string): string {\n\t\tif (extensionPath.startsWith(\"<\")) {\n\t\t\treturn `extension:${extensionPath.replace(/[<>]/g, \"\")}`;\n\t\t}\n\t\tconst base = basename(extensionPath);\n\t\tconst name = base.replace(/\\.(ts|js)$/, \"\");\n\t\treturn `extension:${name}`;\n\t}\n\n\tprivate _applyExtensionBindings(runner: ExtensionRunner): void {\n\t\trunner.setUIContext(this._extensionUIContext, this._extensionMode);\n\t\trunner.setToolHookLifecycleObserver((event) => {\n\t\t\tthis._emit(event);\n\t\t});\n\t\trunner.bindCommandContext(this._extensionCommandContextActions);\n\n\t\tthis._extensionErrorUnsubscriber?.();\n\t\tthis._extensionErrorUnsubscriber = this._extensionErrorListener\n\t\t\t? runner.onError(this._extensionErrorListener)\n\t\t\t: undefined;\n\t}\n\n\tprivate _refreshCurrentModelFromRegistry(): void {\n\t\tconst currentModel = this.model;\n\t\tif (!currentModel) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst refreshedModel = this._modelRegistry.find(currentModel.provider, currentModel.id);\n\t\tif (!refreshedModel || refreshedModel === currentModel) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.agent.state.model = refreshedModel;\n\t}\n\n\tprivate _bindExtensionCore(runner: ExtensionRunner): void {\n\t\tconst getCommands = (): SlashCommandInfo[] => {\n\t\t\tconst extensionCommands: SlashCommandInfo[] = runner.getRegisteredCommands().map((command) => ({\n\t\t\t\tname: command.invocationName,\n\t\t\t\tdescription: command.description,\n\t\t\t\tsource: \"extension\",\n\t\t\t\tsourceInfo: command.sourceInfo,\n\t\t\t}));\n\n\t\t\tconst templates: SlashCommandInfo[] = this.promptTemplates.map((template) => ({\n\t\t\t\tname: template.name,\n\t\t\t\tdescription: template.description,\n\t\t\t\tsource: \"prompt\",\n\t\t\t\tsourceInfo: template.sourceInfo,\n\t\t\t}));\n\n\t\t\tconst skills: SlashCommandInfo[] = this._resourceLoader.getSkills().skills.map((skill) => ({\n\t\t\t\tname: `skill:${skill.name}`,\n\t\t\t\tdescription: skill.description,\n\t\t\t\tsource: \"skill\",\n\t\t\t\tsourceInfo: skill.sourceInfo,\n\t\t\t}));\n\n\t\t\treturn [...extensionCommands, ...templates, ...skills];\n\t\t};\n\n\t\trunner.bindCore(\n\t\t\t{\n\t\t\t\tsendMessage: (message, options) => {\n\t\t\t\t\tthis.sendCustomMessage(message, options).catch((err) => {\n\t\t\t\t\t\trunner.emitError({\n\t\t\t\t\t\t\textensionPath: \"<runtime>\",\n\t\t\t\t\t\t\tevent: \"send_message\",\n\t\t\t\t\t\t\terror: err instanceof Error ? err.message : String(err),\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tsendUserMessage: (content, options) => {\n\t\t\t\t\tthis.sendUserMessage(content, options).catch((err) => {\n\t\t\t\t\t\trunner.emitError({\n\t\t\t\t\t\t\textensionPath: \"<runtime>\",\n\t\t\t\t\t\t\tevent: \"send_user_message\",\n\t\t\t\t\t\t\terror: err instanceof Error ? err.message : String(err),\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tappendEntry: (customType, data) => {\n\t\t\t\t\tthis.sessionManager.appendCustomEntry(customType, data);\n\t\t\t\t},\n\t\t\t\tsetSessionName: (name) => {\n\t\t\t\t\tthis.setSessionName(name);\n\t\t\t\t},\n\t\t\t\tgetSessionName: () => {\n\t\t\t\t\treturn this.sessionManager.getSessionName();\n\t\t\t\t},\n\t\t\t\tsetLabel: (entryId, label) => {\n\t\t\t\t\tthis.sessionManager.appendLabelChange(entryId, label);\n\t\t\t\t},\n\t\t\t\tgetActiveTools: () => this.getActiveToolNames(),\n\t\t\t\tgetAllTools: () => this.getAllTools(),\n\t\t\t\tsetActiveTools: (toolNames) => this.setActiveToolsByName(toolNames),\n\t\t\t\trefreshTools: () => this._refreshToolRegistry(),\n\t\t\t\tgetCommands,\n\t\t\t\tsetModel: async (model) => {\n\t\t\t\t\tif (!this.modelRegistry.hasConfiguredAuth(model)) return false;\n\t\t\t\t\tawait this.setModel(model);\n\t\t\t\t\treturn true;\n\t\t\t\t},\n\t\t\t\tgetThinkingLevel: () => this.thinkingLevel,\n\t\t\t\tsetThinkingLevel: (level) => this.setThinkingLevel(level),\n\t\t\t},\n\t\t\t{\n\t\t\t\tgetModel: () => this.model,\n\t\t\t\tgetServiceTier: () => this.serviceTier,\n\t\t\t\tisIdle: () => !this.isStreaming,\n\t\t\t\tisProjectTrusted: () => this.settingsManager.isProjectTrusted(),\n\t\t\t\tgetSignal: () => this.agent.signal,\n\t\t\t\tabort: () => {\n\t\t\t\t\tif (this._extensionAbortHandler) {\n\t\t\t\t\t\tthis._extensionAbortHandler();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tvoid this.abort();\n\t\t\t\t},\n\t\t\t\thasPendingMessages: () => this.pendingMessageCount > 0,\n\t\t\t\tshutdown: () => {\n\t\t\t\t\tthis._extensionShutdownHandler?.();\n\t\t\t\t},\n\t\t\t\tgetContextUsage: () => this.getContextUsage(),\n\t\t\t\tgetCompactionSettings: () => this.settingsManager.getCompactionSettings(),\n\t\t\t\tcompact: (options) => {\n\t\t\t\t\tvoid (async () => {\n\t\t\t\t\t\tthis._disconnectFromAgent();\n\t\t\t\t\t\tawait this.abort();\n\t\t\t\t\t\tthis._compactionAbortController = new AbortController();\n\t\t\t\t\t\tthis._emit({ type: \"compaction_start\", reason: \"extension\" });\n\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst execution = await this._executeCompaction({\n\t\t\t\t\t\t\t\treason: \"extension\",\n\t\t\t\t\t\t\t\tcustomInstructions: options?.customInstructions,\n\t\t\t\t\t\t\t\twillRetry: false,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (execution.accepted) {\n\t\t\t\t\t\t\t\toptions?.onComplete?.(execution.result);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\toptions?.onError?.(new CompactionRejectedError(execution.rejectionCause));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\t\t\t\t\tconst aborted =\n\t\t\t\t\t\t\t\tmessage === \"Compaction cancelled\" || (error instanceof Error && error.name === \"AbortError\");\n\t\t\t\t\t\t\tthis._emit({\n\t\t\t\t\t\t\t\ttype: \"compaction_end\",\n\t\t\t\t\t\t\t\treason: \"extension\",\n\t\t\t\t\t\t\t\tresult: undefined,\n\t\t\t\t\t\t\t\taborted,\n\t\t\t\t\t\t\t\twillRetry: false,\n\t\t\t\t\t\t\t\terrorMessage: aborted ? undefined : `Compaction failed: ${message}`,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tconst err = error instanceof Error ? error : new Error(String(error));\n\t\t\t\t\t\t\toptions?.onError?.(err);\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tthis._compactionAbortController = undefined;\n\t\t\t\t\t\t\tthis._reconnectToAgent();\n\t\t\t\t\t\t}\n\t\t\t\t\t})();\n\t\t\t\t},\n\t\t\t\tbeginCompaction: (options) => this._beginExtensionCompactionFeedback(options.reason),\n\t\t\t\tupdateCompaction: (options) => this._updateExtensionCompactionFeedback(options),\n\t\t\t\tendCompaction: (options) => this._endExtensionCompactionFeedback(options),\n\t\t\t\tgetMessageRevision: () => this.getMessageRevision(),\n\t\t\t\tapplyCompaction: (precomputed, options) => this.applyCompaction(precomputed, options),\n\t\t\t\tgetSystemPrompt: () => this.systemPrompt,\n\t\t\t\tgetSystemPromptOptions: () => this._baseSystemPromptOptions,\n\t\t\t},\n\t\t\t{\n\t\t\t\tregisterProvider: (name, config) => {\n\t\t\t\t\tthis._modelRegistry.registerProvider(name, config);\n\t\t\t\t\tthis._refreshCurrentModelFromRegistry();\n\t\t\t\t},\n\t\t\t\tunregisterProvider: (name) => {\n\t\t\t\t\tthis._modelRegistry.unregisterProvider(name);\n\t\t\t\t\tthis._refreshCurrentModelFromRegistry();\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t}\n\n\tprivate _refreshToolRegistry(options?: { activeToolNames?: string[]; includeAllExtensionTools?: boolean }): void {\n\t\tconst previousRegistryNames = new Set(this._toolRegistry.keys());\n\t\tconst previousActiveToolNames = this.getActiveToolNames();\n\t\tconst allowedToolNames = this._allowedToolNames;\n\t\tconst excludedToolNames = this._excludedToolNames;\n\t\tconst isAllowedTool = (name: string): boolean =>\n\t\t\t(!allowedToolNames || allowedToolNames.has(name)) && !excludedToolNames?.has(name);\n\n\t\tconst registeredTools = this._extensionRunner.getAllRegisteredTools();\n\t\tconst allCustomTools = [\n\t\t\t...registeredTools,\n\t\t\t...this._customTools.map((definition) => ({\n\t\t\t\tdefinition,\n\t\t\t\tsourceInfo: createSyntheticSourceInfo(`<sdk:${definition.name}>`, { source: \"sdk\" }),\n\t\t\t})),\n\t\t].filter((tool) => isAllowedTool(tool.definition.name));\n\t\tconst definitionRegistry = new Map<string, ToolDefinitionEntry>(\n\t\t\tArray.from(this._baseToolDefinitions.entries())\n\t\t\t\t.filter(([name]) => isAllowedTool(name))\n\t\t\t\t.map(([name, definition]) => [\n\t\t\t\t\tname,\n\t\t\t\t\t{\n\t\t\t\t\t\tdefinition,\n\t\t\t\t\t\tsourceInfo: createSyntheticSourceInfo(`<builtin:${name}>`, { source: \"builtin\" }),\n\t\t\t\t\t},\n\t\t\t\t]),\n\t\t);\n\t\tfor (const tool of allCustomTools) {\n\t\t\tdefinitionRegistry.set(tool.definition.name, {\n\t\t\t\tdefinition: tool.definition,\n\t\t\t\tsourceInfo: tool.sourceInfo,\n\t\t\t});\n\t\t}\n\t\tthis._toolDefinitions = definitionRegistry;\n\t\tthis._toolPromptSnippets = new Map(\n\t\t\tArray.from(definitionRegistry.values())\n\t\t\t\t.map(({ definition }) => {\n\t\t\t\t\tconst snippet = this._normalizePromptSnippet(definition.promptSnippet);\n\t\t\t\t\treturn snippet ? ([definition.name, snippet] as const) : undefined;\n\t\t\t\t})\n\t\t\t\t.filter((entry): entry is readonly [string, string] => entry !== undefined),\n\t\t);\n\t\tthis._toolPromptGuidelines = new Map(\n\t\t\tArray.from(definitionRegistry.values())\n\t\t\t\t.map(({ definition }) => {\n\t\t\t\t\tconst guidelines = this._normalizePromptGuidelines(definition.promptGuidelines);\n\t\t\t\t\treturn guidelines.length > 0 ? ([definition.name, guidelines] as const) : undefined;\n\t\t\t\t})\n\t\t\t\t.filter((entry): entry is readonly [string, string[]] => entry !== undefined),\n\t\t);\n\t\tconst runner = this._extensionRunner;\n\t\tconst wrappedExtensionTools = wrapRegisteredTools(allCustomTools, runner);\n\t\tconst wrappedBuiltInTools = wrapRegisteredTools(\n\t\t\tArray.from(this._baseToolDefinitions.values())\n\t\t\t\t.filter((definition) => isAllowedTool(definition.name))\n\t\t\t\t.map((definition) => ({\n\t\t\t\t\tdefinition,\n\t\t\t\t\tsourceInfo: createSyntheticSourceInfo(`<builtin:${definition.name}>`, { source: \"builtin\" }),\n\t\t\t\t})),\n\t\t\trunner,\n\t\t);\n\n\t\tconst toolRegistry = new Map(wrappedBuiltInTools.map((tool) => [tool.name, tool]));\n\t\tfor (const tool of wrappedExtensionTools as AgentTool[]) {\n\t\t\ttoolRegistry.set(tool.name, tool);\n\t\t}\n\t\tthis._toolRegistry = toolRegistry;\n\n\t\tconst nextActiveToolNames = (\n\t\t\toptions?.activeToolNames ? [...options.activeToolNames] : [...previousActiveToolNames]\n\t\t).filter((name) => isAllowedTool(name));\n\n\t\tif (allowedToolNames) {\n\t\t\tfor (const toolName of this._toolRegistry.keys()) {\n\t\t\t\tif (allowedToolNames.has(toolName)) {\n\t\t\t\t\tnextActiveToolNames.push(toolName);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (options?.includeAllExtensionTools) {\n\t\t\tfor (const tool of wrappedExtensionTools) {\n\t\t\t\tnextActiveToolNames.push(tool.name);\n\t\t\t}\n\t\t} else if (!options?.activeToolNames) {\n\t\t\tfor (const toolName of this._toolRegistry.keys()) {\n\t\t\t\tif (!previousRegistryNames.has(toolName)) {\n\t\t\t\t\tnextActiveToolNames.push(toolName);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.setActiveToolsByName([...new Set(nextActiveToolNames)]);\n\t}\n\n\tprivate _buildRuntime(options: {\n\t\tactiveToolNames?: string[];\n\t\tflagValues?: Map<string, boolean | string>;\n\t\tincludeAllExtensionTools?: boolean;\n\t}): void {\n\t\tconst autoResizeImages = this.settingsManager.getImageAutoResize();\n\t\tconst shellCommandPrefix = this.settingsManager.getShellCommandPrefix();\n\t\tconst shellPath = this.settingsManager.getShellPath();\n\t\tconst baseToolDefinitions = this._baseToolsOverride\n\t\t\t? Object.fromEntries(\n\t\t\t\t\tObject.entries(this._baseToolsOverride).map(([name, tool]) => [\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tcreateToolDefinitionFromAgentTool(tool),\n\t\t\t\t\t]),\n\t\t\t\t)\n\t\t\t: createAllToolDefinitions(this._cwd, {\n\t\t\t\t\tread: { autoResizeImages },\n\t\t\t\t\tbash: { commandPrefix: shellCommandPrefix, shellPath },\n\t\t\t\t});\n\n\t\tthis._baseToolDefinitions = new Map(\n\t\t\tObject.entries(baseToolDefinitions).map(([name, tool]) => [name, tool as ToolDefinition]),\n\t\t);\n\n\t\tconst extensionsResult = this._resourceLoader.getExtensions();\n\t\tif (options.flagValues) {\n\t\t\tfor (const [name, value] of options.flagValues) {\n\t\t\t\textensionsResult.runtime.flagValues.set(name, value);\n\t\t\t}\n\t\t}\n\n\t\tthis._extensionRunner = new ExtensionRunner(\n\t\t\textensionsResult.extensions,\n\t\t\textensionsResult.runtime,\n\t\t\tthis._cwd,\n\t\t\tthis.sessionManager,\n\t\t\tthis._modelRegistry,\n\t\t);\n\t\tif (this._extensionRunnerRef) {\n\t\t\tthis._extensionRunnerRef.current = this._extensionRunner;\n\t\t}\n\t\tthis._bindExtensionCore(this._extensionRunner);\n\t\tthis._applyExtensionBindings(this._extensionRunner);\n\n\t\tconst defaultActiveToolNames = this._baseToolsOverride\n\t\t\t? Object.keys(this._baseToolsOverride)\n\t\t\t: [\"read\", \"bash\", \"edit\", \"write\"];\n\t\tconst baseActiveToolNames = options.activeToolNames ?? defaultActiveToolNames;\n\t\tthis._refreshToolRegistry({\n\t\t\tactiveToolNames: baseActiveToolNames,\n\t\t\tincludeAllExtensionTools: options.includeAllExtensionTools,\n\t\t});\n\t}\n\n\tasync reload(): Promise<void> {\n\t\tconst previousFlagValues = this._extensionRunner.getFlagValues();\n\t\tawait emitSessionShutdownEvent(this._extensionRunner, { type: \"session_shutdown\", reason: \"reload\" });\n\t\tawait this.settingsManager.reload();\n\t\tthis.syncQueueModesFromSettings();\n\t\tresetApiProviders();\n\t\tthis._modelRegistry.refresh();\n\t\tthis.setScopedModels(\n\t\t\tawait resolveModelScope(\n\t\t\t\tgetModelNarrowingPatterns({\n\t\t\t\t\tlegacyEnabledPatterns: this.settingsManager.getEnabledModels(),\n\t\t\t\t}),\n\t\t\t\tthis._modelRegistry,\n\t\t\t),\n\t\t);\n\t\tthis.setFavoriteModels(\n\t\t\tawait resolveModelScope(this.settingsManager.getFavoriteModels() ?? [], this._modelRegistry),\n\t\t);\n\t\tawait this._resourceLoader.reload();\n\t\tthis._buildRuntime({\n\t\t\tactiveToolNames: this.getActiveToolNames(),\n\t\t\tflagValues: previousFlagValues,\n\t\t\tincludeAllExtensionTools: true,\n\t\t});\n\n\t\tconst hasBindings =\n\t\t\tthis._extensionUIContext ||\n\t\t\tthis._extensionCommandContextActions ||\n\t\t\tthis._extensionShutdownHandler ||\n\t\t\tthis._extensionErrorListener;\n\t\tif (hasBindings) {\n\t\t\tawait this._extensionRunner.emit({ type: \"session_start\", reason: \"reload\" });\n\t\t\tawait this.extendResourcesFromExtensions(\"reload\");\n\t\t}\n\t}\n\n\t// =========================================================================\n\t// Auto-Retry\n\t// =========================================================================\n\n\tprivate _isNonRetryableProviderLimitError(errorMessage: string): boolean {\n\t\treturn /GoUsageLimitError|FreeUsageLimitError|Monthly usage limit reached|available balance|insufficient_quota|out of budget|quota exceeded|billing/i.test(\n\t\t\terrorMessage,\n\t\t);\n\t}\n\n\t/**\n\t * Check if an error is retryable (overloaded, rate limit, server errors).\n\t * Context overflow errors are NOT retryable (handled by compaction instead).\n\t */\n\tprivate _isRetryableError(message: AssistantMessage): boolean {\n\t\tif (!message.errorMessage) return false;\n\n\t\t// Context overflow is handled by compaction, not retry\n\t\tconst contextWindow = this.model?.contextWindow ?? 0;\n\t\tif (isContextOverflow(message, contextWindow)) return false;\n\n\t\tconst err = message.errorMessage;\n\t\tif (message.stopReason === \"aborted\") {\n\t\t\treturn /timed? out|timeout/i.test(err);\n\t\t}\n\t\tif (message.stopReason !== \"error\") return false;\n\n\t\tif (this._isNonRetryableProviderLimitError(err)) return false;\n\t\t// Match: overloaded_error, provider returned error, rate limit, 429, 500, 502, 503, 504, service unavailable, network/connection errors (including connection lost), WebSocket transport closes/errors, fetch failed, premature stream endings, HTTP/2 closed before response, terminated, retry delay exceeded\n\t\treturn /overloaded|provider.?returned.?error|rate.?limit|too many requests|429|500|502|503|504|service.?unavailable|server.?error|internal.?error|network.?error|connection.?error|connection.?refused|connection.?lost|websocket.?closed|websocket.?error|other side closed|fetch failed|upstream.?connect|reset before headers|socket hang up|ended without|stream ended before message_stop|http2 request did not get a response|timed? out|timeout|terminated|retry delay/i.test(\n\t\t\terr,\n\t\t);\n\t}\n\n\tprivate _getProviderRetryDelayMs(errorMessage: string): number | undefined {\n\t\tconst retryAfterMsMatch = errorMessage.match(/\\bretry[-_ ]?after[-_ ]?ms\\s*[:=]\\s*(\\d+(?:\\.\\d+)?)/i);\n\t\tif (retryAfterMsMatch) {\n\t\t\tconst delayMs = Math.ceil(Number(retryAfterMsMatch[1]));\n\t\t\treturn Number.isFinite(delayMs) && delayMs > 0 ? delayMs : undefined;\n\t\t}\n\n\t\tconst retryAfterSecondsMatch = errorMessage.match(/\\bretry[-_ ]?after\\s*[:=]\\s*(\\d+(?:\\.\\d+)?)/i);\n\t\tif (retryAfterSecondsMatch) {\n\t\t\tconst delayMs = Math.ceil(Number(retryAfterSecondsMatch[1]) * 1000);\n\t\t\treturn Number.isFinite(delayMs) && delayMs > 0 ? delayMs : undefined;\n\t\t}\n\n\t\tconst retryInMatch = errorMessage.match(\n\t\t\t/\\b(?:retry|try again|wait)\\s+(?:after|in)\\s*(\\d+(?:\\.\\d+)?)\\s*(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m)\\b/i,\n\t\t);\n\t\tif (!retryInMatch) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst value = Number(retryInMatch[1]);\n\t\tif (!Number.isFinite(value) || value <= 0) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst unit = retryInMatch[2].toLowerCase();\n\t\tif (unit === \"m\" || unit.startsWith(\"min\")) {\n\t\t\treturn Math.ceil(value * 60_000);\n\t\t}\n\t\tif (unit.startsWith(\"s\")) {\n\t\t\treturn Math.ceil(value * 1000);\n\t\t}\n\t\treturn Math.ceil(value);\n\t}\n\n\t/**\n\t * Handle retryable errors with exponential backoff.\n\t * @returns true if retry was initiated, false if max retries exceeded or disabled\n\t */\n\tprivate async _handleRetryableError(message: AssistantMessage): Promise<boolean> {\n\t\tconst settings = this.settingsManager.getRetrySettings();\n\t\tif (!settings.enabled) {\n\t\t\tthis._resolveRetry();\n\t\t\treturn false;\n\t\t}\n\n\t\t// Retry promise is created synchronously in _handleAgentEvent for agent_end.\n\t\t// Keep a defensive fallback here in case a future refactor bypasses that path.\n\t\tif (!this._retryPromise) {\n\t\t\tthis._retryPromise = new Promise((resolve) => {\n\t\t\t\tthis._retryResolve = resolve;\n\t\t\t});\n\t\t}\n\n\t\tthis._retryAttempt++;\n\n\t\tif (this._retryAttempt > settings.maxRetries) {\n\t\t\t// Max retries exceeded, emit final failure and reset\n\t\t\tthis._emit({\n\t\t\t\ttype: \"auto_retry_end\",\n\t\t\t\tsuccess: false,\n\t\t\t\tattempt: this._retryAttempt - 1,\n\t\t\t\tfinalError: message.errorMessage,\n\t\t\t});\n\t\t\tthis._retryAttempt = 0;\n\t\t\tthis._resolveRetry(); // Resolve so waitForRetry() completes\n\t\t\treturn false;\n\t\t}\n\n\t\tconst errorMessage = message.errorMessage || \"Unknown error\";\n\t\tconst providerDelayMs = this._getProviderRetryDelayMs(errorMessage);\n\t\tconst maxRetryDelayMs = this.settingsManager.getProviderRetrySettings().maxRetryDelayMs;\n\t\tif (providerDelayMs !== undefined && providerDelayMs > maxRetryDelayMs) {\n\t\t\tthis._emit({\n\t\t\t\ttype: \"auto_retry_end\",\n\t\t\t\tsuccess: false,\n\t\t\t\tattempt: this._retryAttempt,\n\t\t\t\tfinalError: `Provider requested retry delay ${providerDelayMs}ms, exceeding configured maximum ${maxRetryDelayMs}ms`,\n\t\t\t});\n\t\t\tthis._retryAttempt = 0;\n\t\t\tthis._resolveRetry();\n\t\t\treturn false;\n\t\t}\n\n\t\tconst delayMs = providerDelayMs ?? settings.baseDelayMs * 2 ** (this._retryAttempt - 1);\n\n\t\tthis._emit({\n\t\t\ttype: \"auto_retry_start\",\n\t\t\tattempt: this._retryAttempt,\n\t\t\tmaxAttempts: settings.maxRetries,\n\t\t\tdelayMs,\n\t\t\terrorMessage,\n\t\t});\n\n\t\t// Remove error message from agent state (keep in session for history)\n\t\tconst messages = this.agent.state.messages;\n\t\tif (messages.length > 0 && messages[messages.length - 1].role === \"assistant\") {\n\t\t\tthis.agent.state.messages = messages.slice(0, -1);\n\t\t\tthis._incrementMessageRevision();\n\t\t}\n\n\t\t// Wait with exponential backoff (abortable)\n\t\tthis._retryAbortController = new AbortController();\n\t\ttry {\n\t\t\tawait sleep(delayMs, this._retryAbortController.signal);\n\t\t} catch {\n\t\t\t// Aborted during sleep - emit end event so UI can clean up\n\t\t\tconst attempt = this._retryAttempt;\n\t\t\tthis._retryAttempt = 0;\n\t\t\tthis._retryAbortController = undefined;\n\t\t\tthis._emit({\n\t\t\t\ttype: \"auto_retry_end\",\n\t\t\t\tsuccess: false,\n\t\t\t\tattempt,\n\t\t\t\tfinalError: \"Retry cancelled\",\n\t\t\t});\n\t\t\tthis._resolveRetry();\n\t\t\treturn false;\n\t\t}\n\t\tthis._retryAbortController = undefined;\n\n\t\t// Retry via continue() - use setTimeout to break out of event handler chain\n\t\tsetTimeout(() => {\n\t\t\tthis.agent.continue().catch(() => {\n\t\t\t\t// Retry failed - will be caught by next agent_end\n\t\t\t});\n\t\t}, 0);\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Cancel in-progress retry.\n\t */\n\tabortRetry(): void {\n\t\tthis._retryAbortController?.abort();\n\t\t// Note: _retryAttempt is reset in the catch block of _autoRetry\n\t\tthis._resolveRetry();\n\t}\n\n\t/**\n\t * Wait for any in-progress retry to complete.\n\t * Returns immediately if no retry is in progress.\n\t */\n\tprivate async waitForRetry(): Promise<void> {\n\t\tif (!this._retryPromise) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this._retryPromise;\n\t\tawait this.agent.waitForIdle();\n\t}\n\n\t/** Whether auto-retry is currently in progress */\n\tget isRetrying(): boolean {\n\t\treturn this._retryPromise !== undefined;\n\t}\n\n\t/** Whether auto-retry is enabled */\n\tget autoRetryEnabled(): boolean {\n\t\treturn this.settingsManager.getRetryEnabled();\n\t}\n\n\t/**\n\t * Toggle auto-retry setting.\n\t */\n\tsetAutoRetryEnabled(enabled: boolean): void {\n\t\tthis.settingsManager.setRetryEnabled(enabled);\n\t}\n\n\t// =========================================================================\n\t// Bash Execution\n\t// =========================================================================\n\n\t/**\n\t * Execute a bash command.\n\t * Adds result to agent context and session.\n\t * @param command The bash command to execute\n\t * @param onChunk Optional streaming callback for output\n\t * @param options.excludeFromContext If true, command output won't be sent to LLM (!! prefix)\n\t * @param options.operations Custom BashOperations for remote execution\n\t */\n\tasync executeBash(\n\t\tcommand: string,\n\t\tonChunk?: (chunk: string) => void,\n\t\toptions?: { excludeFromContext?: boolean; operations?: BashOperations },\n\t): Promise<BashResult> {\n\t\tthis._bashAbortController = new AbortController();\n\n\t\t// Apply command prefix if configured (e.g., \"shopt -s expand_aliases\" for alias support)\n\t\tconst prefix = this.settingsManager.getShellCommandPrefix();\n\t\tconst shellPath = this.settingsManager.getShellPath();\n\t\tconst resolvedCommand = prefix ? `${prefix}\\n${command}` : command;\n\n\t\ttry {\n\t\t\tconst result = await executeBashWithOperations(\n\t\t\t\tresolvedCommand,\n\t\t\t\tthis.sessionManager.getCwd(),\n\t\t\t\toptions?.operations ?? createLocalBashOperations({ shellPath }),\n\t\t\t\t{\n\t\t\t\t\tonChunk,\n\t\t\t\t\tsignal: this._bashAbortController.signal,\n\t\t\t\t},\n\t\t\t);\n\n\t\t\tthis.recordBashResult(command, result, options);\n\t\t\treturn result;\n\t\t} finally {\n\t\t\tthis._bashAbortController = undefined;\n\t\t}\n\t}\n\n\t/**\n\t * Record a bash execution result in session history.\n\t * Used by executeBash and by extensions that handle bash execution themselves.\n\t */\n\trecordBashResult(command: string, result: BashResult, options?: { excludeFromContext?: boolean }): void {\n\t\tconst bashMessage: BashExecutionMessage = {\n\t\t\trole: \"bashExecution\",\n\t\t\tcommand,\n\t\t\toutput: result.output,\n\t\t\texitCode: result.exitCode,\n\t\t\tcancelled: result.cancelled,\n\t\t\ttruncated: result.truncated,\n\t\t\tfullOutputPath: result.fullOutputPath,\n\t\t\ttimestamp: Date.now(),\n\t\t\texcludeFromContext: options?.excludeFromContext,\n\t\t};\n\n\t\t// If agent is streaming, defer adding to avoid breaking tool_use/tool_result ordering\n\t\tif (this.isStreaming) {\n\t\t\t// Queue for later - will be flushed on agent_end\n\t\t\tthis._pendingBashMessages.push(bashMessage);\n\t\t} else {\n\t\t\t// Add to agent state immediately\n\t\t\tthis.agent.state.messages.push(bashMessage);\n\n\t\t\t// Save to session\n\t\t\tthis.sessionManager.appendMessage(bashMessage);\n\t\t\tthis._incrementMessageRevision();\n\t\t}\n\t}\n\n\t/**\n\t * Cancel running bash command.\n\t */\n\tabortBash(): void {\n\t\tthis._bashAbortController?.abort();\n\t}\n\n\t/** Whether a bash command is currently running */\n\tget isBashRunning(): boolean {\n\t\treturn this._bashAbortController !== undefined;\n\t}\n\n\t/** Whether there are pending bash messages waiting to be flushed */\n\tget hasPendingBashMessages(): boolean {\n\t\treturn this._pendingBashMessages.length > 0;\n\t}\n\n\t/**\n\t * Flush pending bash messages to agent state and session.\n\t * Called after agent turn completes to maintain proper message ordering.\n\t */\n\tprivate _flushPendingBashMessages(): void {\n\t\tif (this._pendingBashMessages.length === 0) return;\n\n\t\tfor (const bashMessage of this._pendingBashMessages) {\n\t\t\t// Add to agent state\n\t\t\tthis.agent.state.messages.push(bashMessage);\n\n\t\t\t// Save to session\n\t\t\tthis.sessionManager.appendMessage(bashMessage);\n\t\t\tthis._incrementMessageRevision();\n\t\t}\n\n\t\tthis._pendingBashMessages = [];\n\t}\n\n\t// =========================================================================\n\t// Session Management\n\t// =========================================================================\n\n\t/**\n\t * Set a display name for the current session.\n\t */\n\tsetSessionName(name: string): void {\n\t\tthis.sessionManager.appendSessionInfo(name);\n\t\tthis._emit({ type: \"session_info_changed\", name: this.sessionManager.getSessionName() });\n\t}\n\n\t// =========================================================================\n\t// Tree Navigation\n\t// =========================================================================\n\n\t/**\n\t * Navigate to a different node in the session tree.\n\t * Unlike fork() which creates a new session file, this stays in the same file.\n\t *\n\t * @param targetId The entry ID to navigate to\n\t * @param options.summarize Whether user wants to summarize abandoned branch\n\t * @param options.customInstructions Custom instructions for summarizer\n\t * @param options.replaceInstructions If true, customInstructions replaces the default prompt\n\t * @param options.label Label to attach to the branch summary entry\n\t * @returns Result with editorText (if user message) and cancelled status\n\t */\n\tasync navigateTree(\n\t\ttargetId: string,\n\t\toptions: { summarize?: boolean; customInstructions?: string; replaceInstructions?: boolean; label?: string } = {},\n\t): Promise<{ editorText?: string; cancelled: boolean; aborted?: boolean; summaryEntry?: BranchSummaryEntry }> {\n\t\tconst oldLeafId = this.sessionManager.getLeafId();\n\n\t\t// No-op if already at target\n\t\tif (targetId === oldLeafId) {\n\t\t\treturn { cancelled: false };\n\t\t}\n\n\t\t// Model required for summarization\n\t\tif (options.summarize && !this.model) {\n\t\t\tthrow new Error(\"No model available for summarization\");\n\t\t}\n\n\t\tconst targetEntry = this.sessionManager.getEntry(targetId);\n\t\tif (!targetEntry) {\n\t\t\tthrow new Error(`Entry ${targetId} not found`);\n\t\t}\n\n\t\t// Collect entries to summarize (from old leaf to common ancestor)\n\t\tconst { entries: entriesToSummarize, commonAncestorId } = collectEntriesForBranchSummary(\n\t\t\tthis.sessionManager,\n\t\t\toldLeafId,\n\t\t\ttargetId,\n\t\t);\n\n\t\t// Prepare event data - mutable so extensions can override\n\t\tlet customInstructions = options.customInstructions;\n\t\tlet replaceInstructions = options.replaceInstructions;\n\t\tlet label = options.label;\n\n\t\tconst preparation: TreePreparation = {\n\t\t\ttargetId,\n\t\t\toldLeafId,\n\t\t\tcommonAncestorId,\n\t\t\tentriesToSummarize,\n\t\t\tuserWantsSummary: options.summarize ?? false,\n\t\t\tcustomInstructions,\n\t\t\treplaceInstructions,\n\t\t\tlabel,\n\t\t};\n\n\t\t// Set up abort controller for summarization\n\t\tthis._branchSummaryAbortController = new AbortController();\n\n\t\ttry {\n\t\t\tlet extensionSummary: { summary: string; details?: unknown } | undefined;\n\t\t\tlet fromExtension = false;\n\n\t\t\t// Emit session_before_tree event\n\t\t\tif (this._extensionRunner.hasHandlers(\"session_before_tree\")) {\n\t\t\t\tconst result = (await this._extensionRunner.emit({\n\t\t\t\t\ttype: \"session_before_tree\",\n\t\t\t\t\tpreparation,\n\t\t\t\t\tsignal: this._branchSummaryAbortController.signal,\n\t\t\t\t})) as SessionBeforeTreeResult | undefined;\n\n\t\t\t\tif (result?.cancel) {\n\t\t\t\t\treturn { cancelled: true };\n\t\t\t\t}\n\n\t\t\t\tif (result?.summary && options.summarize) {\n\t\t\t\t\textensionSummary = result.summary;\n\t\t\t\t\tfromExtension = true;\n\t\t\t\t}\n\n\t\t\t\t// Allow extensions to override instructions and label\n\t\t\t\tif (result?.customInstructions !== undefined) {\n\t\t\t\t\tcustomInstructions = result.customInstructions;\n\t\t\t\t}\n\t\t\t\tif (result?.replaceInstructions !== undefined) {\n\t\t\t\t\treplaceInstructions = result.replaceInstructions;\n\t\t\t\t}\n\t\t\t\tif (result?.label !== undefined) {\n\t\t\t\t\tlabel = result.label;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Run default summarizer if needed\n\t\t\tlet summaryText: string | undefined;\n\t\t\tlet summaryDetails: unknown;\n\t\t\tif (options.summarize && entriesToSummarize.length > 0 && !extensionSummary) {\n\t\t\t\tconst model = this.model!;\n\t\t\t\tconst { apiKey, headers, extraBody, env } = await this._getRequiredRequestAuth(model);\n\t\t\t\tconst branchSummarySettings = this.settingsManager.getBranchSummarySettings();\n\t\t\t\tconst result = await generateBranchSummary(entriesToSummarize, {\n\t\t\t\t\tmodel,\n\t\t\t\t\tapiKey,\n\t\t\t\t\theaders,\n\t\t\t\t\textraBody,\n\t\t\t\t\tenv,\n\t\t\t\t\tsignal: this._branchSummaryAbortController.signal,\n\t\t\t\t\tcustomInstructions,\n\t\t\t\t\treplaceInstructions,\n\t\t\t\t\treserveTokens: branchSummarySettings.reserveTokens,\n\t\t\t\t\tstreamFn: this.agent.streamFn,\n\t\t\t\t});\n\t\t\t\tif (result.aborted) {\n\t\t\t\t\treturn { cancelled: true, aborted: true };\n\t\t\t\t}\n\t\t\t\tif (result.error) {\n\t\t\t\t\tthrow new Error(result.error);\n\t\t\t\t}\n\t\t\t\tsummaryText = result.summary;\n\t\t\t\tsummaryDetails = {\n\t\t\t\t\treadFiles: result.readFiles || [],\n\t\t\t\t\tmodifiedFiles: result.modifiedFiles || [],\n\t\t\t\t};\n\t\t\t} else if (extensionSummary) {\n\t\t\t\tsummaryText = extensionSummary.summary;\n\t\t\t\tsummaryDetails = extensionSummary.details;\n\t\t\t}\n\n\t\t\t// Determine the new leaf position based on target type\n\t\t\tlet newLeafId: string | null;\n\t\t\tlet editorText: string | undefined;\n\n\t\t\tif (targetEntry.type === \"message\" && targetEntry.message.role === \"user\") {\n\t\t\t\t// User message: leaf = parent (null if root), text goes to editor\n\t\t\t\tnewLeafId = targetEntry.parentId;\n\t\t\t\teditorText = this._extractUserMessageText(targetEntry.message.content);\n\t\t\t} else if (targetEntry.type === \"custom_message\") {\n\t\t\t\t// Custom message: leaf = parent (null if root), text goes to editor\n\t\t\t\tnewLeafId = targetEntry.parentId;\n\t\t\t\teditorText =\n\t\t\t\t\ttypeof targetEntry.content === \"string\"\n\t\t\t\t\t\t? targetEntry.content\n\t\t\t\t\t\t: targetEntry.content\n\t\t\t\t\t\t\t\t.filter((c): c is { type: \"text\"; text: string } => c.type === \"text\")\n\t\t\t\t\t\t\t\t.map((c) => c.text)\n\t\t\t\t\t\t\t\t.join(\"\");\n\t\t\t} else {\n\t\t\t\t// Non-user message: leaf = selected node\n\t\t\t\tnewLeafId = targetId;\n\t\t\t}\n\n\t\t\t// Switch leaf (with or without summary)\n\t\t\t// Summary is attached at the navigation target position (newLeafId), not the old branch\n\t\t\tlet summaryEntry: BranchSummaryEntry | undefined;\n\t\t\tif (summaryText) {\n\t\t\t\t// Create summary at target position (can be null for root)\n\t\t\t\tconst summaryId = this.sessionManager.branchWithSummary(\n\t\t\t\t\tnewLeafId,\n\t\t\t\t\tsummaryText,\n\t\t\t\t\tsummaryDetails,\n\t\t\t\t\tfromExtension,\n\t\t\t\t);\n\t\t\t\tsummaryEntry = this.sessionManager.getEntry(summaryId) as BranchSummaryEntry;\n\n\t\t\t\t// Attach label to the summary entry\n\t\t\t\tif (label) {\n\t\t\t\t\tthis.sessionManager.appendLabelChange(summaryId, label);\n\t\t\t\t}\n\t\t\t} else if (newLeafId === null) {\n\t\t\t\t// No summary, navigating to root - reset leaf\n\t\t\t\tthis.sessionManager.resetLeaf();\n\t\t\t} else {\n\t\t\t\t// No summary, navigating to non-root\n\t\t\t\tthis.sessionManager.branch(newLeafId);\n\t\t\t}\n\n\t\t\t// Attach label to target entry when not summarizing (no summary entry to label)\n\t\t\tif (label && !summaryText) {\n\t\t\t\tthis.sessionManager.appendLabelChange(targetId, label);\n\t\t\t}\n\n\t\t\t// Update agent state\n\t\t\tconst sessionContext = this.sessionManager.buildSessionContext();\n\t\t\tthis.agent.state.messages = sessionContext.messages;\n\t\t\tthis._incrementMessageRevision();\n\n\t\t\t// Emit session_tree event\n\t\t\tawait this._extensionRunner.emit({\n\t\t\t\ttype: \"session_tree\",\n\t\t\t\tnewLeafId: this.sessionManager.getLeafId(),\n\t\t\t\toldLeafId,\n\t\t\t\tsummaryEntry,\n\t\t\t\tfromExtension: summaryText ? fromExtension : undefined,\n\t\t\t});\n\n\t\t\t// Emit to custom tools\n\n\t\t\treturn { editorText, cancelled: false, summaryEntry };\n\t\t} finally {\n\t\t\tthis._branchSummaryAbortController = undefined;\n\t\t}\n\t}\n\n\t/**\n\t * Get all user messages from session for fork selector.\n\t */\n\tgetUserMessagesForForking(): Array<{ entryId: string; text: string }> {\n\t\tconst entries = this.sessionManager.getEntries();\n\t\tconst result: Array<{ entryId: string; text: string }> = [];\n\n\t\tfor (const entry of entries) {\n\t\t\tif (entry.type !== \"message\") continue;\n\t\t\tif (entry.message.role !== \"user\") continue;\n\n\t\t\tconst text = this._extractUserMessageText(entry.message.content);\n\t\t\tif (text) {\n\t\t\t\tresult.push({ entryId: entry.id, text });\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprivate _extractUserMessageText(content: string | Array<{ type: string; text?: string }>): string {\n\t\tif (typeof content === \"string\") return content;\n\t\tif (Array.isArray(content)) {\n\t\t\treturn content\n\t\t\t\t.filter((c): c is { type: \"text\"; text: string } => c.type === \"text\")\n\t\t\t\t.map((c) => c.text)\n\t\t\t\t.join(\"\");\n\t\t}\n\t\treturn \"\";\n\t}\n\n\t/**\n\t * Get session statistics.\n\t */\n\tgetSessionStats(): SessionStats {\n\t\tconst state = this.state;\n\t\tconst userMessages = state.messages.filter((m) => m.role === \"user\").length;\n\t\tconst assistantMessages = state.messages.filter((m) => m.role === \"assistant\").length;\n\t\tconst toolResults = state.messages.filter((m) => m.role === \"toolResult\").length;\n\n\t\tlet toolCalls = 0;\n\t\tlet totalInput = 0;\n\t\tlet totalOutput = 0;\n\t\tlet totalCacheRead = 0;\n\t\tlet totalCacheWrite = 0;\n\t\tlet totalCost = 0;\n\n\t\tfor (const message of state.messages) {\n\t\t\tif (message.role === \"assistant\") {\n\t\t\t\tconst assistantMsg = message as AssistantMessage;\n\t\t\t\ttoolCalls += assistantMsg.content.filter((c) => c.type === \"toolCall\").length;\n\t\t\t\ttotalInput += assistantMsg.usage.input;\n\t\t\t\ttotalOutput += assistantMsg.usage.output;\n\t\t\t\ttotalCacheRead += assistantMsg.usage.cacheRead;\n\t\t\t\ttotalCacheWrite += assistantMsg.usage.cacheWrite;\n\t\t\t\ttotalCost += assistantMsg.usage.cost.total;\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tsessionFile: this.sessionFile,\n\t\t\tsessionId: this.sessionId,\n\t\t\tuserMessages,\n\t\t\tassistantMessages,\n\t\t\ttoolCalls,\n\t\t\ttoolResults,\n\t\t\ttotalMessages: state.messages.length,\n\t\t\ttokens: {\n\t\t\t\tinput: totalInput,\n\t\t\t\toutput: totalOutput,\n\t\t\t\tcacheRead: totalCacheRead,\n\t\t\t\tcacheWrite: totalCacheWrite,\n\t\t\t\ttotal: totalInput + totalOutput + totalCacheRead + totalCacheWrite,\n\t\t\t},\n\t\t\tcost: totalCost,\n\t\t\tcontextUsage: this.getContextUsage(),\n\t\t};\n\t}\n\n\tgetContextUsage(): ContextUsage | undefined {\n\t\tconst model = this.model;\n\t\tif (!model) return undefined;\n\n\t\tconst contextWindow = model.contextWindow ?? 0;\n\t\tif (contextWindow <= 0) return undefined;\n\n\t\tconst messages = filterContextExcludedMessages(this.messages);\n\n\t\t// After compaction, kept assistant usage reflects pre-compaction context size.\n\t\t// If no assistant has responded after the boundary yet, fall back to content\n\t\t// estimates so auto-compaction can still see current context pressure.\n\t\tconst branchEntries = this.sessionManager.getBranch();\n\t\tconst latestCompaction = getLatestCompactionEntry(branchEntries);\n\n\t\tif (latestCompaction) {\n\t\t\t// Check if there's a valid assistant usage after the compaction boundary\n\t\t\tconst compactionIndex = branchEntries.lastIndexOf(latestCompaction);\n\t\t\tlet hasPostCompactionUsage = false;\n\t\t\tfor (let i = branchEntries.length - 1; i > compactionIndex; i--) {\n\t\t\t\tconst entry = branchEntries[i];\n\t\t\t\tif (entry.type === \"message\" && entry.message.role === \"assistant\") {\n\t\t\t\t\tconst assistant = entry.message;\n\t\t\t\t\tif (assistant.stopReason !== \"aborted\" && assistant.stopReason !== \"error\") {\n\t\t\t\t\t\tconst contextTokens = calculateContextTokens(assistant.usage);\n\t\t\t\t\t\tif (contextTokens > 0) {\n\t\t\t\t\t\t\thasPostCompactionUsage = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!hasPostCompactionUsage) {\n\t\t\t\tconst tokens = messages.reduce((sum, message) => sum + estimateTokens(message), 0);\n\t\t\t\treturn { tokens, contextWindow, percent: (tokens / contextWindow) * 100 };\n\t\t\t}\n\t\t}\n\n\t\tconst estimate = estimateContextTokens(messages);\n\t\tconst percent = (estimate.tokens / contextWindow) * 100;\n\n\t\treturn {\n\t\t\ttokens: estimate.tokens,\n\t\t\tcontextWindow,\n\t\t\tpercent,\n\t\t};\n\t}\n\n\t/**\n\t * Export session to HTML.\n\t * @param outputPath Optional output path (defaults to session directory)\n\t * @returns Path to exported file\n\t */\n\tasync exportToHtml(outputPath?: string): Promise<string> {\n\t\tconst configuredThemeName = this.settingsManager.getTheme();\n\t\tconst themeName = configuredThemeName && getThemeByName(configuredThemeName) ? configuredThemeName : undefined;\n\n\t\t// Create tool renderer if we have an extension runner (for custom tool HTML rendering)\n\t\tconst toolRenderer: ToolHtmlRenderer = createToolHtmlRenderer({\n\t\t\tgetToolDefinition: (name) => this.getToolDefinition(name),\n\t\t\ttheme,\n\t\t\tcwd: this.sessionManager.getCwd(),\n\t\t});\n\n\t\treturn await exportSessionToHtml(this.sessionManager, this.state, {\n\t\t\toutputPath,\n\t\t\tthemeName,\n\t\t\ttoolRenderer,\n\t\t});\n\t}\n\n\t/**\n\t * Export the current session branch to a JSONL file.\n\t * Writes the session header followed by all entries on the current branch path.\n\t * @param outputPath Target file path. If omitted, generates a timestamped file in cwd.\n\t * @returns The resolved output file path.\n\t */\n\texportToJsonl(outputPath?: string): string {\n\t\tconst filePath = resolvePath(\n\t\t\toutputPath ?? `session-${new Date().toISOString().replace(/[:.]/g, \"-\")}.jsonl`,\n\t\t\tprocess.cwd(),\n\t\t);\n\t\tconst dir = dirname(filePath);\n\t\tif (!existsSync(dir)) {\n\t\t\tmkdirSync(dir, { recursive: true });\n\t\t}\n\n\t\tconst header: SessionHeader = {\n\t\t\ttype: \"session\",\n\t\t\tversion: CURRENT_SESSION_VERSION,\n\t\t\tid: this.sessionManager.getSessionId(),\n\t\t\ttimestamp: new Date().toISOString(),\n\t\t\tcwd: this.sessionManager.getCwd(),\n\t\t};\n\n\t\tconst branchEntries = this.sessionManager.getBranch();\n\t\tconst lines = [JSON.stringify(header)];\n\n\t\t// Re-chain parentIds to form a linear sequence\n\t\tlet prevId: string | null = null;\n\t\tfor (const entry of branchEntries) {\n\t\t\tconst linear = { ...entry, parentId: prevId };\n\t\t\tlines.push(JSON.stringify(linear));\n\t\t\tprevId = entry.id;\n\t\t}\n\n\t\twriteFileSync(filePath, `${lines.join(\"\\n\")}\\n`);\n\t\treturn filePath;\n\t}\n\n\t// =========================================================================\n\t// Utilities\n\t// =========================================================================\n\n\t/**\n\t * Get text content of last assistant message.\n\t * Useful for /copy command.\n\t * @returns Text content, or undefined if no assistant message exists\n\t */\n\tgetLastAssistantText(): string | undefined {\n\t\tconst lastAssistant = this.messages\n\t\t\t.slice()\n\t\t\t.reverse()\n\t\t\t.find((m) => {\n\t\t\t\tif (m.role !== \"assistant\") return false;\n\t\t\t\tconst msg = m as AssistantMessage;\n\t\t\t\t// Skip aborted messages with no content\n\t\t\t\tif (msg.stopReason === \"aborted\" && msg.content.length === 0) return false;\n\t\t\t\treturn true;\n\t\t\t});\n\n\t\tif (!lastAssistant) return undefined;\n\n\t\tlet text = \"\";\n\t\tfor (const content of (lastAssistant as AssistantMessage).content) {\n\t\t\tif (content.type === \"text\") {\n\t\t\t\ttext += content.text;\n\t\t\t}\n\t\t}\n\n\t\treturn text.trim() || undefined;\n\t}\n\n\t// =========================================================================\n\t// Extension System\n\t// =========================================================================\n\n\tcreateReplacedSessionContext(): ReplacedSessionContext {\n\t\tconst context = Object.defineProperties(\n\t\t\t{},\n\t\t\tObject.getOwnPropertyDescriptors(this._extensionRunner.createCommandContext()),\n\t\t) as ReplacedSessionContext;\n\t\tcontext.sendMessage = (message, options) => this.sendCustomMessage(message, options);\n\t\tcontext.sendUserMessage = (content, options) => this.sendUserMessage(content, options);\n\t\treturn context;\n\t}\n\n\t/**\n\t * Check if extensions have handlers for a specific event type.\n\t */\n\thasExtensionHandlers(eventType: string): boolean {\n\t\treturn this._extensionRunner.hasHandlers(eventType);\n\t}\n\n\t/**\n\t * Get the extension runner (for setting UI context and error handlers).\n\t */\n\tget extensionRunner(): ExtensionRunner {\n\t\treturn this._extensionRunner;\n\t}\n}\n"]}