indusagi 0.12.13 → 0.12.16

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 (344) hide show
  1. package/dist/agent/agent-session.d.ts +352 -0
  2. package/dist/agent/agent-session.d.ts.map +1 -0
  3. package/dist/agent/agent-session.js +870 -0
  4. package/dist/agent/agent-session.js.map +1 -0
  5. package/dist/agent/agent-session.test.d.ts +5 -0
  6. package/dist/agent/agent-session.test.d.ts.map +1 -0
  7. package/dist/agent/agent-session.test.js +129 -0
  8. package/dist/agent/agent-session.test.js.map +1 -0
  9. package/dist/agent/agent.d.ts +108 -2
  10. package/dist/agent/agent.d.ts.map +1 -1
  11. package/dist/agent/agent.js +210 -17
  12. package/dist/agent/agent.js.map +1 -1
  13. package/dist/agent/bash-executor.d.ts +33 -0
  14. package/dist/agent/bash-executor.d.ts.map +1 -0
  15. package/dist/agent/bash-executor.js +197 -0
  16. package/dist/agent/bash-executor.js.map +1 -0
  17. package/dist/agent/compaction/compaction.d.ts +87 -0
  18. package/dist/agent/compaction/compaction.d.ts.map +1 -0
  19. package/dist/agent/compaction/compaction.js +598 -0
  20. package/dist/agent/compaction/compaction.js.map +1 -0
  21. package/dist/agent/compaction/index.d.ts +6 -0
  22. package/dist/agent/compaction/index.d.ts.map +1 -0
  23. package/dist/agent/compaction/index.js +6 -0
  24. package/dist/agent/compaction/index.js.map +1 -0
  25. package/dist/agent/compaction/utils.d.ts +41 -0
  26. package/dist/agent/compaction/utils.d.ts.map +1 -0
  27. package/dist/agent/compaction/utils.js +240 -0
  28. package/dist/agent/compaction/utils.js.map +1 -0
  29. package/dist/agent/event-bus.js +1 -3
  30. package/dist/agent/event-bus.js.map +1 -1
  31. package/dist/agent/index.d.ts +11 -5
  32. package/dist/agent/index.d.ts.map +1 -1
  33. package/dist/agent/index.js +19 -8
  34. package/dist/agent/index.js.map +1 -1
  35. package/dist/agent/messages.d.ts +2 -48
  36. package/dist/agent/messages.d.ts.map +1 -1
  37. package/dist/agent/messages.js.map +1 -1
  38. package/dist/agent/proxy.js.map +1 -1
  39. package/dist/agent/session-manager.d.ts +2 -3
  40. package/dist/agent/session-manager.d.ts.map +1 -1
  41. package/dist/agent/session-manager.js +10 -6
  42. package/dist/agent/session-manager.js.map +1 -1
  43. package/dist/agent/settings-manager.d.ts +204 -0
  44. package/dist/agent/settings-manager.d.ts.map +1 -0
  45. package/dist/agent/settings-manager.js +594 -0
  46. package/dist/agent/settings-manager.js.map +1 -0
  47. package/dist/agent/state-manager.js +1 -0
  48. package/dist/agent/state-manager.js.map +1 -1
  49. package/dist/agent/telemetry.js +1 -3
  50. package/dist/agent/telemetry.js.map +1 -1
  51. package/dist/agent/tools/bash.js +1 -0
  52. package/dist/agent/tools/bash.js.map +1 -1
  53. package/dist/agent/tools/edit.test.d.ts +6 -0
  54. package/dist/agent/tools/edit.test.d.ts.map +1 -0
  55. package/dist/agent/tools/edit.test.js +196 -0
  56. package/dist/agent/tools/edit.test.js.map +1 -0
  57. package/dist/agent/tools/index.d.ts +26 -26
  58. package/dist/agent/tools/registry.d.ts +1 -1
  59. package/dist/agent/tools/registry.d.ts.map +1 -1
  60. package/dist/agent/tools/registry.js +2 -4
  61. package/dist/agent/tools/registry.js.map +1 -1
  62. package/dist/agent/tools/todo-store.js +2 -1
  63. package/dist/agent/tools/todo-store.js.map +1 -1
  64. package/dist/agent/tools/utils/hook-runner.js +1 -3
  65. package/dist/agent/tools/utils/hook-runner.js.map +1 -1
  66. package/dist/agent/types.d.ts +139 -1
  67. package/dist/agent/types.d.ts.map +1 -1
  68. package/dist/agent/types.js.map +1 -1
  69. package/dist/ai/api-registry.js +1 -3
  70. package/dist/ai/api-registry.js.map +1 -1
  71. package/dist/ai/models.generated.d.ts +621 -53
  72. package/dist/ai/models.generated.d.ts.map +1 -1
  73. package/dist/ai/models.generated.js +548 -0
  74. package/dist/ai/models.generated.js.map +1 -1
  75. package/dist/ai/models.js +1 -0
  76. package/dist/ai/models.js.map +1 -1
  77. package/dist/ai/providers/amazon-bedrock.d.ts +6 -0
  78. package/dist/ai/providers/amazon-bedrock.d.ts.map +1 -1
  79. package/dist/ai/providers/amazon-bedrock.js +47 -9
  80. package/dist/ai/providers/amazon-bedrock.js.map +1 -1
  81. package/dist/ai/providers/anthropic.d.ts +8 -0
  82. package/dist/ai/providers/anthropic.d.ts.map +1 -1
  83. package/dist/ai/providers/anthropic.js +28 -12
  84. package/dist/ai/providers/anthropic.js.map +1 -1
  85. package/dist/ai/providers/azure-openai-responses.js +1 -0
  86. package/dist/ai/providers/azure-openai-responses.js.map +1 -1
  87. package/dist/ai/providers/github-copilot-headers.d.ts +33 -0
  88. package/dist/ai/providers/github-copilot-headers.d.ts.map +1 -0
  89. package/dist/ai/providers/github-copilot-headers.js +51 -0
  90. package/dist/ai/providers/github-copilot-headers.js.map +1 -0
  91. package/dist/ai/providers/google-shared.d.ts.map +1 -1
  92. package/dist/ai/providers/google-shared.js +16 -22
  93. package/dist/ai/providers/google-shared.js.map +1 -1
  94. package/dist/ai/providers/google-vertex.d.ts.map +1 -1
  95. package/dist/ai/providers/google-vertex.js +28 -5
  96. package/dist/ai/providers/google-vertex.js.map +1 -1
  97. package/dist/ai/providers/google.js +1 -0
  98. package/dist/ai/providers/google.js.map +1 -1
  99. package/dist/ai/providers/kimi.js +1 -0
  100. package/dist/ai/providers/kimi.js.map +1 -1
  101. package/dist/ai/providers/mistral.d.ts +22 -0
  102. package/dist/ai/providers/mistral.d.ts.map +1 -0
  103. package/dist/ai/providers/mistral.js +497 -0
  104. package/dist/ai/providers/mistral.js.map +1 -0
  105. package/dist/ai/providers/openai-codex-responses.js +1 -0
  106. package/dist/ai/providers/openai-codex-responses.js.map +1 -1
  107. package/dist/ai/providers/openai-completions.js +2 -0
  108. package/dist/ai/providers/openai-completions.js.map +1 -1
  109. package/dist/ai/providers/openai-responses.d.ts.map +1 -1
  110. package/dist/ai/providers/openai-responses.js +30 -0
  111. package/dist/ai/providers/openai-responses.js.map +1 -1
  112. package/dist/ai/providers/register-builtins.d.ts.map +1 -1
  113. package/dist/ai/providers/register-builtins.js +6 -0
  114. package/dist/ai/providers/register-builtins.js.map +1 -1
  115. package/dist/ai/providers/simple-options.js +2 -0
  116. package/dist/ai/providers/simple-options.js.map +1 -1
  117. package/dist/ai/providers/transform-messages.js +3 -9
  118. package/dist/ai/providers/transform-messages.js.map +1 -1
  119. package/dist/ai/stream.js +1 -3
  120. package/dist/ai/stream.js.map +1 -1
  121. package/dist/ai/types.d.ts +34 -0
  122. package/dist/ai/types.d.ts.map +1 -1
  123. package/dist/ai/types.js.map +1 -1
  124. package/dist/ai/utils/base-stream-handler.js +1 -0
  125. package/dist/ai/utils/base-stream-handler.js.map +1 -1
  126. package/dist/ai/utils/event-stream.js +9 -4
  127. package/dist/ai/utils/event-stream.js.map +1 -1
  128. package/dist/ai/utils/hash.d.ts +6 -0
  129. package/dist/ai/utils/hash.d.ts.map +1 -0
  130. package/dist/ai/utils/hash.js +17 -0
  131. package/dist/ai/utils/hash.js.map +1 -0
  132. package/dist/ai/utils/index.d.ts +1 -0
  133. package/dist/ai/utils/index.d.ts.map +1 -1
  134. package/dist/ai/utils/index.js +1 -0
  135. package/dist/ai/utils/index.js.map +1 -1
  136. package/dist/ai/utils/oauth/github-copilot.d.ts.map +1 -1
  137. package/dist/ai/utils/oauth/github-copilot.js +19 -8
  138. package/dist/ai/utils/oauth/github-copilot.js.map +1 -1
  139. package/dist/ai/utils/overflow.d.ts.map +1 -1
  140. package/dist/ai/utils/overflow.js +4 -0
  141. package/dist/ai/utils/overflow.js.map +1 -1
  142. package/dist/ai/utils/provider-adapter.js +9 -0
  143. package/dist/ai/utils/provider-adapter.js.map +1 -1
  144. package/dist/ai/utils/provider-client-builder.js +1 -1
  145. package/dist/ai/utils/provider-client-builder.js.map +1 -1
  146. package/dist/ai/utils/provider-errors.js +2 -0
  147. package/dist/ai/utils/provider-errors.js.map +1 -1
  148. package/dist/ai/utils/stream-event-helper.js +3 -0
  149. package/dist/ai/utils/stream-event-helper.js.map +1 -1
  150. package/dist/ai/utils/stream-handler-types.js +5 -0
  151. package/dist/ai/utils/stream-handler-types.js.map +1 -1
  152. package/dist/ai/utils/streaming-state-manager.js +4 -2
  153. package/dist/ai/utils/streaming-state-manager.js.map +1 -1
  154. package/dist/index.d.ts +1 -0
  155. package/dist/index.d.ts.map +1 -1
  156. package/dist/index.js +1 -0
  157. package/dist/index.js.map +1 -1
  158. package/dist/mcp/client-pool.d.ts +106 -0
  159. package/dist/mcp/client-pool.d.ts.map +1 -0
  160. package/dist/mcp/client-pool.js +234 -0
  161. package/dist/mcp/client-pool.js.map +1 -0
  162. package/dist/mcp/client.d.ts +158 -0
  163. package/dist/mcp/client.d.ts.map +1 -0
  164. package/dist/mcp/client.js +599 -0
  165. package/dist/mcp/client.js.map +1 -0
  166. package/dist/mcp/config.d.ts +61 -0
  167. package/dist/mcp/config.d.ts.map +1 -0
  168. package/dist/mcp/config.js +250 -0
  169. package/dist/mcp/config.js.map +1 -0
  170. package/dist/mcp/errors.d.ts +104 -0
  171. package/dist/mcp/errors.d.ts.map +1 -0
  172. package/dist/mcp/errors.js +146 -0
  173. package/dist/mcp/errors.js.map +1 -0
  174. package/dist/mcp/index.d.ts +56 -0
  175. package/dist/mcp/index.d.ts.map +1 -0
  176. package/dist/mcp/index.js +83 -0
  177. package/dist/mcp/index.js.map +1 -0
  178. package/dist/mcp/schema-converter.d.ts +68 -0
  179. package/dist/mcp/schema-converter.d.ts.map +1 -0
  180. package/dist/mcp/schema-converter.js +230 -0
  181. package/dist/mcp/schema-converter.js.map +1 -0
  182. package/dist/mcp/server.d.ts +111 -0
  183. package/dist/mcp/server.d.ts.map +1 -0
  184. package/dist/mcp/server.js +305 -0
  185. package/dist/mcp/server.js.map +1 -0
  186. package/dist/mcp/tool-factory.d.ts +63 -0
  187. package/dist/mcp/tool-factory.d.ts.map +1 -0
  188. package/dist/mcp/tool-factory.js +228 -0
  189. package/dist/mcp/tool-factory.js.map +1 -0
  190. package/dist/mcp/types.d.ts +289 -0
  191. package/dist/mcp/types.d.ts.map +1 -0
  192. package/dist/mcp/types.js +8 -0
  193. package/dist/mcp/types.js.map +1 -0
  194. package/dist/mcp.d.ts +6 -0
  195. package/dist/mcp.d.ts.map +1 -0
  196. package/dist/mcp.js +6 -0
  197. package/dist/mcp.js.map +1 -0
  198. package/dist/memory/embedder/base.d.ts +41 -0
  199. package/dist/memory/embedder/base.d.ts.map +1 -0
  200. package/dist/memory/embedder/base.js +10 -0
  201. package/dist/memory/embedder/base.js.map +1 -0
  202. package/dist/memory/embedder/index.d.ts +8 -0
  203. package/dist/memory/embedder/index.d.ts.map +1 -0
  204. package/dist/memory/embedder/index.js +6 -0
  205. package/dist/memory/embedder/index.js.map +1 -0
  206. package/dist/memory/embedder/openai.d.ts +35 -0
  207. package/dist/memory/embedder/openai.d.ts.map +1 -0
  208. package/dist/memory/embedder/openai.js +109 -0
  209. package/dist/memory/embedder/openai.js.map +1 -0
  210. package/dist/memory/index.d.ts +33 -0
  211. package/dist/memory/index.d.ts.map +1 -0
  212. package/dist/memory/index.js +31 -0
  213. package/dist/memory/index.js.map +1 -0
  214. package/dist/memory/memory.d.ts +126 -0
  215. package/dist/memory/memory.d.ts.map +1 -0
  216. package/dist/memory/memory.js +285 -0
  217. package/dist/memory/memory.js.map +1 -0
  218. package/dist/memory/processors/base.d.ts +42 -0
  219. package/dist/memory/processors/base.d.ts.map +1 -0
  220. package/dist/memory/processors/base.js +6 -0
  221. package/dist/memory/processors/base.js.map +1 -0
  222. package/dist/memory/processors/index.d.ts +16 -0
  223. package/dist/memory/processors/index.d.ts.map +1 -0
  224. package/dist/memory/processors/index.js +18 -0
  225. package/dist/memory/processors/index.js.map +1 -0
  226. package/dist/memory/processors/message-history.d.ts +35 -0
  227. package/dist/memory/processors/message-history.d.ts.map +1 -0
  228. package/dist/memory/processors/message-history.js +53 -0
  229. package/dist/memory/processors/message-history.js.map +1 -0
  230. package/dist/memory/processors/observational-memory/index.d.ts +82 -0
  231. package/dist/memory/processors/observational-memory/index.d.ts.map +1 -0
  232. package/dist/memory/processors/observational-memory/index.js +239 -0
  233. package/dist/memory/processors/observational-memory/index.js.map +1 -0
  234. package/dist/memory/processors/observational-memory/observer-agent.d.ts +64 -0
  235. package/dist/memory/processors/observational-memory/observer-agent.d.ts.map +1 -0
  236. package/dist/memory/processors/observational-memory/observer-agent.js +362 -0
  237. package/dist/memory/processors/observational-memory/observer-agent.js.map +1 -0
  238. package/dist/memory/processors/observational-memory/reflector-agent.d.ts +38 -0
  239. package/dist/memory/processors/observational-memory/reflector-agent.d.ts.map +1 -0
  240. package/dist/memory/processors/observational-memory/reflector-agent.js +213 -0
  241. package/dist/memory/processors/observational-memory/reflector-agent.js.map +1 -0
  242. package/dist/memory/processors/observational-memory/token-counter.d.ts +35 -0
  243. package/dist/memory/processors/observational-memory/token-counter.d.ts.map +1 -0
  244. package/dist/memory/processors/observational-memory/token-counter.js +90 -0
  245. package/dist/memory/processors/observational-memory/token-counter.js.map +1 -0
  246. package/dist/memory/processors/semantic-recall.d.ts +55 -0
  247. package/dist/memory/processors/semantic-recall.d.ts.map +1 -0
  248. package/dist/memory/processors/semantic-recall.js +152 -0
  249. package/dist/memory/processors/semantic-recall.js.map +1 -0
  250. package/dist/memory/processors/working-memory.d.ts +41 -0
  251. package/dist/memory/processors/working-memory.d.ts.map +1 -0
  252. package/dist/memory/processors/working-memory.js +87 -0
  253. package/dist/memory/processors/working-memory.js.map +1 -0
  254. package/dist/memory/storage/base.d.ts +288 -0
  255. package/dist/memory/storage/base.d.ts.map +1 -0
  256. package/dist/memory/storage/base.js +209 -0
  257. package/dist/memory/storage/base.js.map +1 -0
  258. package/dist/memory/storage/index.d.ts +9 -0
  259. package/dist/memory/storage/index.d.ts.map +1 -0
  260. package/dist/memory/storage/index.js +7 -0
  261. package/dist/memory/storage/index.js.map +1 -0
  262. package/dist/memory/storage/inmemory.d.ts +93 -0
  263. package/dist/memory/storage/inmemory.d.ts.map +1 -0
  264. package/dist/memory/storage/inmemory.js +647 -0
  265. package/dist/memory/storage/inmemory.js.map +1 -0
  266. package/dist/memory/tools/working-memory.d.ts +100 -0
  267. package/dist/memory/tools/working-memory.d.ts.map +1 -0
  268. package/dist/memory/tools/working-memory.js +237 -0
  269. package/dist/memory/tools/working-memory.js.map +1 -0
  270. package/dist/memory/types.d.ts +386 -0
  271. package/dist/memory/types.d.ts.map +1 -0
  272. package/dist/memory/types.js +58 -0
  273. package/dist/memory/types.js.map +1 -0
  274. package/dist/memory/vector/base.d.ts +145 -0
  275. package/dist/memory/vector/base.d.ts.map +1 -0
  276. package/dist/memory/vector/base.js +81 -0
  277. package/dist/memory/vector/base.js.map +1 -0
  278. package/dist/memory/vector/index.d.ts +8 -0
  279. package/dist/memory/vector/index.d.ts.map +1 -0
  280. package/dist/memory/vector/index.js +7 -0
  281. package/dist/memory/vector/index.js.map +1 -0
  282. package/dist/memory/vector/inmemory.d.ts +47 -0
  283. package/dist/memory/vector/inmemory.d.ts.map +1 -0
  284. package/dist/memory/vector/inmemory.js +231 -0
  285. package/dist/memory/vector/inmemory.js.map +1 -0
  286. package/dist/tui/autocomplete.js +5 -1
  287. package/dist/tui/autocomplete.js.map +1 -1
  288. package/dist/tui/components/box.js +9 -1
  289. package/dist/tui/components/box.js.map +1 -1
  290. package/dist/tui/components/cancellable-loader.js +3 -4
  291. package/dist/tui/components/cancellable-loader.js.map +1 -1
  292. package/dist/tui/components/editor.d.ts +39 -3
  293. package/dist/tui/components/editor.d.ts.map +1 -1
  294. package/dist/tui/components/editor.js +162 -133
  295. package/dist/tui/components/editor.js.map +1 -1
  296. package/dist/tui/components/image.js +8 -0
  297. package/dist/tui/components/image.js.map +1 -1
  298. package/dist/tui/components/input.js +10 -11
  299. package/dist/tui/components/input.js.map +1 -1
  300. package/dist/tui/components/loader.js +7 -4
  301. package/dist/tui/components/loader.js.map +1 -1
  302. package/dist/tui/components/markdown.js +10 -0
  303. package/dist/tui/components/markdown.js.map +1 -1
  304. package/dist/tui/components/select-list.js +8 -4
  305. package/dist/tui/components/select-list.js.map +1 -1
  306. package/dist/tui/components/settings-list.js +12 -4
  307. package/dist/tui/components/settings-list.js.map +1 -1
  308. package/dist/tui/components/spacer.js +1 -0
  309. package/dist/tui/components/spacer.js.map +1 -1
  310. package/dist/tui/components/text.js +5 -0
  311. package/dist/tui/components/text.js.map +1 -1
  312. package/dist/tui/components/truncated-text.js +3 -0
  313. package/dist/tui/components/truncated-text.js.map +1 -1
  314. package/dist/tui/fuzzy.js +4 -1
  315. package/dist/tui/fuzzy.js.map +1 -1
  316. package/dist/tui/keybindings.js +3 -2
  317. package/dist/tui/keybindings.js.map +1 -1
  318. package/dist/tui/keys.d.ts +17 -1
  319. package/dist/tui/keys.d.ts.map +1 -1
  320. package/dist/tui/keys.js +56 -0
  321. package/dist/tui/keys.js.map +1 -1
  322. package/dist/tui/kill-ring.d.ts +28 -0
  323. package/dist/tui/kill-ring.d.ts.map +1 -0
  324. package/dist/tui/kill-ring.js +44 -0
  325. package/dist/tui/kill-ring.js.map +1 -0
  326. package/dist/tui/stdin-buffer.js +6 -5
  327. package/dist/tui/stdin-buffer.js.map +1 -1
  328. package/dist/tui/terminal-image.js +1 -3
  329. package/dist/tui/terminal-image.js.map +1 -1
  330. package/dist/tui/terminal.d.ts +13 -0
  331. package/dist/tui/terminal.d.ts.map +1 -1
  332. package/dist/tui/terminal.js +70 -7
  333. package/dist/tui/terminal.js.map +1 -1
  334. package/dist/tui/tui.d.ts +36 -0
  335. package/dist/tui/tui.d.ts.map +1 -1
  336. package/dist/tui/tui.js +101 -29
  337. package/dist/tui/tui.js.map +1 -1
  338. package/dist/tui/undo-stack.d.ts +17 -0
  339. package/dist/tui/undo-stack.d.ts.map +1 -0
  340. package/dist/tui/undo-stack.js +25 -0
  341. package/dist/tui/undo-stack.js.map +1 -0
  342. package/dist/tui/utils.js +12 -16
  343. package/dist/tui/utils.js.map +1 -1
  344. package/package.json +32 -2
@@ -0,0 +1,352 @@
1
+ /**
2
+ * AgentSession - Core orchestration layer for agent lifecycle and session management.
3
+ *
4
+ * This is the main entry point for agent operations, providing:
5
+ * - Event subscription and emission
6
+ * - Model and thinking level management
7
+ * - Compaction and retry logic
8
+ * - Extension system integration
9
+ * - Bash execution
10
+ * - Session management (fork, navigate, export)
11
+ *
12
+ * Adapted from PI-MONO coding-agent (3,044 lines).
13
+ */
14
+ import { Agent } from "./agent.js";
15
+ import type { AgentMessage, AgentTool, ThinkingLevel, AgentState } from "./types.js";
16
+ import type { BranchSummaryEntry } from "./session-manager.js";
17
+ import type { Model } from "../ai/types.js";
18
+ import { SessionManager } from "./session-manager.js";
19
+ import { SettingsManager } from "./settings-manager.js";
20
+ import { AgentEventBus } from "./event-bus.js";
21
+ import { type CompactionResult } from "./compaction/index.js";
22
+ import { type BashResult } from "./bash-executor.js";
23
+ import type { BashOperations } from "./tools/bash.js";
24
+ export interface AgentSessionConfig {
25
+ /** Working directory */
26
+ cwd: string;
27
+ /** Session file path (optional, defaults to auto-generated) */
28
+ sessionFile?: string;
29
+ /** Initial model (optional) */
30
+ model?: Model<any>;
31
+ /** Initial thinking level */
32
+ thinkingLevel?: ThinkingLevel;
33
+ /** Custom tools (overrides defaults) */
34
+ tools?: Record<string, AgentTool<any>>;
35
+ /** Session manager (optional, creates new if not provided) */
36
+ sessionManager?: SessionManager;
37
+ /** Settings manager (optional, creates new if not provided) */
38
+ settingsManager?: SettingsManager;
39
+ /** Event bus (optional, creates new if not provided) */
40
+ eventBus?: AgentEventBus;
41
+ /** Enable auto-compaction */
42
+ autoCompact?: boolean;
43
+ /** Enable auto-retry */
44
+ autoRetry?: boolean;
45
+ }
46
+ export interface SessionStats {
47
+ sessionFile: string | undefined;
48
+ sessionId: string;
49
+ userMessages: number;
50
+ assistantMessages: number;
51
+ toolCalls: number;
52
+ toolResults: number;
53
+ totalMessages: number;
54
+ tokens: {
55
+ input: number;
56
+ output: number;
57
+ cacheRead: number;
58
+ cacheWrite: number;
59
+ total: number;
60
+ };
61
+ cost: number;
62
+ }
63
+ export interface ContextUsage {
64
+ tokens: number | null;
65
+ contextWindow: number;
66
+ percent: number | null;
67
+ }
68
+ export type SessionEvent = {
69
+ type: "model_select";
70
+ model: Model<any>;
71
+ previousModel: Model<any> | undefined;
72
+ source: "set" | "cycle" | "restore";
73
+ } | {
74
+ type: "thinking_level_change";
75
+ level: ThinkingLevel;
76
+ previousLevel: ThinkingLevel;
77
+ } | {
78
+ type: "auto_compaction_start";
79
+ reason: "overflow" | "threshold";
80
+ } | {
81
+ type: "auto_compaction_end";
82
+ result: CompactionResult | undefined;
83
+ aborted: boolean;
84
+ willRetry: boolean;
85
+ errorMessage?: string;
86
+ } | {
87
+ type: "auto_retry_start";
88
+ attempt: number;
89
+ maxAttempts: number;
90
+ delayMs: number;
91
+ errorMessage: string;
92
+ } | {
93
+ type: "auto_retry_end";
94
+ success: boolean;
95
+ attempt: number;
96
+ finalError?: string;
97
+ } | {
98
+ type: "session_switch";
99
+ reason: "new" | "resume";
100
+ previousSessionFile?: string;
101
+ } | {
102
+ type: "session_fork";
103
+ previousSessionFile?: string;
104
+ } | {
105
+ type: "session_tree";
106
+ newLeafId: string | null;
107
+ oldLeafId: string | null;
108
+ summaryEntry?: BranchSummaryEntry;
109
+ } | {
110
+ type: "tools_changed";
111
+ activeTools: string[];
112
+ } | {
113
+ type: "bash_start";
114
+ command: string;
115
+ } | {
116
+ type: "bash_end";
117
+ result: BashResult;
118
+ };
119
+ export type SessionEventCallback = (event: SessionEvent) => void;
120
+ export declare class AgentSession {
121
+ private _agent;
122
+ private _sessionManager;
123
+ private _settingsManager;
124
+ private _eventBus;
125
+ private _cwd;
126
+ private _sessionEventListeners;
127
+ private _agentEventUnsubscribe;
128
+ private _isStreaming;
129
+ private _model;
130
+ private _compactionAbortController;
131
+ private _autoCompactionAbortController;
132
+ private _overflowRecoveryAttempted;
133
+ private _retryAbortController;
134
+ private _retryPromise;
135
+ private _retryResolve;
136
+ private _retryAttempt;
137
+ private _bashAbortController;
138
+ private _pendingBashMessages;
139
+ private _steeringMessages;
140
+ private _followUpMessages;
141
+ private _pendingNextTurnMessages;
142
+ private _activeToolNames;
143
+ private _toolRegistry;
144
+ private _baseToolsOverride;
145
+ constructor(config: AgentSessionConfig);
146
+ get agent(): Agent;
147
+ get sessionManager(): SessionManager;
148
+ get settingsManager(): SettingsManager;
149
+ get eventBus(): AgentEventBus;
150
+ get cwd(): string;
151
+ get sessionFile(): string | undefined;
152
+ get sessionId(): string;
153
+ get model(): Model<any> | undefined;
154
+ get messages(): AgentMessage[];
155
+ get state(): AgentState;
156
+ get isStreaming(): boolean;
157
+ get thinkingLevel(): ThinkingLevel;
158
+ get pendingMessageCount(): number;
159
+ /**
160
+ * Subscribe to session events.
161
+ */
162
+ subscribe(callback: SessionEventCallback): () => void;
163
+ /**
164
+ * Emit a session event to all listeners.
165
+ */
166
+ private _emit;
167
+ /**
168
+ * Connect to agent events.
169
+ */
170
+ private _reconnectToAgent;
171
+ /**
172
+ * Disconnect from agent events.
173
+ */
174
+ private _disconnectFromAgent;
175
+ /**
176
+ * Handle agent events.
177
+ */
178
+ private _handleAgentEvent;
179
+ /**
180
+ * Set the current model.
181
+ */
182
+ setModel(model: Model<any>): Promise<void>;
183
+ /**
184
+ * Set thinking level.
185
+ */
186
+ setThinkingLevel(level: ThinkingLevel): void;
187
+ /**
188
+ * Get available thinking levels for current model.
189
+ */
190
+ getAvailableThinkingLevels(): ThinkingLevel[];
191
+ /**
192
+ * Cycle to next thinking level.
193
+ */
194
+ cycleThinkingLevel(): void;
195
+ /**
196
+ * Check if model supports thinking.
197
+ */
198
+ supportsThinking(): boolean;
199
+ /**
200
+ * Clamp thinking level to available levels.
201
+ */
202
+ private _clampThinkingLevel;
203
+ /**
204
+ * Set steering message mode.
205
+ */
206
+ setSteeringMode(mode: "all" | "one-at-a-time"): void;
207
+ /**
208
+ * Set follow-up message mode.
209
+ */
210
+ setFollowUpMode(mode: "all" | "one-at-a-time"): void;
211
+ /**
212
+ * Manually compact the session context.
213
+ */
214
+ compact(customInstructions?: string): Promise<CompactionResult>;
215
+ /**
216
+ * Cancel in-progress compaction.
217
+ */
218
+ abortCompaction(): void;
219
+ /**
220
+ * Check if compaction is needed and run it.
221
+ */
222
+ private _checkCompaction;
223
+ /**
224
+ * Run auto-compaction with events.
225
+ */
226
+ private _runAutoCompaction;
227
+ /**
228
+ * Toggle auto-compaction setting.
229
+ */
230
+ setAutoCompactionEnabled(enabled: boolean): void;
231
+ get autoCompactionEnabled(): boolean;
232
+ /**
233
+ * Check if an error is retryable.
234
+ */
235
+ private _isRetryableError;
236
+ /**
237
+ * Handle retryable errors with exponential backoff.
238
+ */
239
+ private _handleRetryableError;
240
+ /**
241
+ * Cancel in-progress retry.
242
+ */
243
+ abortRetry(): void;
244
+ /**
245
+ * Resolve retry promise.
246
+ */
247
+ private _resolveRetry;
248
+ get isRetrying(): boolean;
249
+ get autoRetryEnabled(): boolean;
250
+ setAutoRetryEnabled(enabled: boolean): void;
251
+ /**
252
+ * Execute a bash command.
253
+ */
254
+ executeBash(command: string, onChunk?: (chunk: string) => void, options?: {
255
+ excludeFromContext?: boolean;
256
+ operations?: BashOperations;
257
+ }): Promise<BashResult>;
258
+ /**
259
+ * Record a bash execution result.
260
+ */
261
+ recordBashResult(command: string, result: BashResult, options?: {
262
+ excludeFromContext?: boolean;
263
+ }): void;
264
+ /**
265
+ * Cancel running bash command.
266
+ */
267
+ abortBash(): void;
268
+ get isBashRunning(): boolean;
269
+ /**
270
+ * Flush pending bash messages.
271
+ */
272
+ private _flushPendingBashMessages;
273
+ /**
274
+ * Abort current operation.
275
+ */
276
+ abort(): Promise<void>;
277
+ /**
278
+ * Switch to a different session.
279
+ */
280
+ switchSession(sessionPath: string): Promise<boolean>;
281
+ /**
282
+ * Create a new session.
283
+ */
284
+ newSession(options?: {
285
+ parentSession?: string;
286
+ }): void;
287
+ /**
288
+ * Set session display name.
289
+ */
290
+ setSessionName(name: string): void;
291
+ /**
292
+ * Get session statistics.
293
+ */
294
+ getSessionStats(): SessionStats;
295
+ /**
296
+ * Get context usage.
297
+ */
298
+ getContextUsage(): ContextUsage | undefined;
299
+ /**
300
+ * Send steering message (mid-stream guidance).
301
+ */
302
+ steer(content: string | Array<{
303
+ type: string;
304
+ text?: string;
305
+ }>, options?: any): void;
306
+ /**
307
+ * Send follow-up message (post-stream continuation).
308
+ */
309
+ followUp(content: string | Array<{
310
+ type: string;
311
+ text?: string;
312
+ }>, options?: any): void;
313
+ /**
314
+ * Clear all queued messages.
315
+ */
316
+ clearQueue(): void;
317
+ getSteeringMessages(): Array<{
318
+ content: string | Array<{
319
+ type: string;
320
+ text?: string;
321
+ }>;
322
+ options?: any;
323
+ }>;
324
+ getFollowUpMessages(): Array<{
325
+ content: string | Array<{
326
+ type: string;
327
+ text?: string;
328
+ }>;
329
+ options?: any;
330
+ }>;
331
+ /**
332
+ * Get active tool names.
333
+ */
334
+ getActiveToolNames(): string[];
335
+ /**
336
+ * Get all available tools.
337
+ */
338
+ getAllTools(): Array<{
339
+ name: string;
340
+ description: string;
341
+ }>;
342
+ /**
343
+ * Set active tools by name.
344
+ */
345
+ setActiveToolsByName(toolNames: string[]): void;
346
+ /**
347
+ * Get text content of last assistant message.
348
+ */
349
+ getLastAssistantText(): string | undefined;
350
+ }
351
+ export declare function createAgentSession(config: AgentSessionConfig): AgentSession;
352
+ //# sourceMappingURL=agent-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/agent/agent-session.ts"],"names":[],"mappings":"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"}