indusagi 0.12.18 → 0.12.20

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 (518) hide show
  1. package/README.md +17 -37
  2. package/dist/agent/agent-loop.d.ts +3 -9
  3. package/dist/agent/agent-loop.d.ts.map +1 -1
  4. package/dist/agent/agent-loop.js +19 -58
  5. package/dist/agent/agent-loop.js.map +1 -1
  6. package/dist/agent/agent.d.ts +9 -10
  7. package/dist/agent/agent.d.ts.map +1 -1
  8. package/dist/agent/agent.js +182 -129
  9. package/dist/agent/agent.js.map +1 -1
  10. package/dist/agent/error-handler.d.ts.map +1 -1
  11. package/dist/agent/error-handler.js.map +1 -1
  12. package/dist/agent/event-bus.d.ts.map +1 -1
  13. package/dist/agent/event-bus.js +1 -3
  14. package/dist/agent/event-bus.js.map +1 -1
  15. package/dist/agent/index.d.ts.map +1 -1
  16. package/dist/agent/index.js +0 -6
  17. package/dist/agent/index.js.map +1 -1
  18. package/dist/agent/messages.d.ts +1 -1
  19. package/dist/agent/messages.d.ts.map +1 -1
  20. package/dist/agent/proxy.d.ts +1 -14
  21. package/dist/agent/proxy.d.ts.map +1 -1
  22. package/dist/agent/proxy.js +67 -148
  23. package/dist/agent/proxy.js.map +1 -1
  24. package/dist/agent/session-manager.d.ts +10 -10
  25. package/dist/agent/session-manager.d.ts.map +1 -1
  26. package/dist/agent/session-manager.js +20 -16
  27. package/dist/agent/session-manager.js.map +1 -1
  28. package/dist/agent/state-manager.d.ts +1 -1
  29. package/dist/agent/state-manager.d.ts.map +1 -1
  30. package/dist/agent/state-manager.js +1 -0
  31. package/dist/agent/state-manager.js.map +1 -1
  32. package/dist/agent/telemetry.d.ts.map +1 -1
  33. package/dist/agent/telemetry.js +1 -3
  34. package/dist/agent/telemetry.js.map +1 -1
  35. package/dist/agent/tools/bash.d.ts.map +1 -1
  36. package/dist/agent/tools/bash.js +143 -118
  37. package/dist/agent/tools/bash.js.map +1 -1
  38. package/dist/agent/tools/edit-diff.d.ts +1 -1
  39. package/dist/agent/tools/edit-diff.d.ts.map +1 -1
  40. package/dist/agent/tools/edit-diff.js +189 -175
  41. package/dist/agent/tools/edit-diff.js.map +1 -1
  42. package/dist/agent/tools/edit.d.ts.map +1 -1
  43. package/dist/agent/tools/edit.js +137 -121
  44. package/dist/agent/tools/edit.js.map +1 -1
  45. package/dist/agent/tools/find.d.ts.map +1 -1
  46. package/dist/agent/tools/find.js +100 -65
  47. package/dist/agent/tools/find.js.map +1 -1
  48. package/dist/agent/tools/grep.d.ts.map +1 -1
  49. package/dist/agent/tools/grep.js +126 -97
  50. package/dist/agent/tools/grep.js.map +1 -1
  51. package/dist/agent/tools/index.d.ts +53 -40
  52. package/dist/agent/tools/index.d.ts.map +1 -1
  53. package/dist/agent/tools/index.js +19 -12
  54. package/dist/agent/tools/index.js.map +1 -1
  55. package/dist/agent/tools/ls.d.ts +2 -1
  56. package/dist/agent/tools/ls.d.ts.map +1 -1
  57. package/dist/agent/tools/ls.js +145 -94
  58. package/dist/agent/tools/ls.js.map +1 -1
  59. package/dist/agent/tools/path-utils.d.ts.map +1 -1
  60. package/dist/agent/tools/path-utils.js +48 -29
  61. package/dist/agent/tools/path-utils.js.map +1 -1
  62. package/dist/agent/tools/process-controller.d.ts +15 -0
  63. package/dist/agent/tools/process-controller.d.ts.map +1 -0
  64. package/dist/agent/tools/process-controller.js +39 -0
  65. package/dist/agent/tools/process-controller.js.map +1 -0
  66. package/dist/agent/tools/process-manager.d.ts +60 -0
  67. package/dist/agent/tools/process-manager.d.ts.map +1 -0
  68. package/dist/agent/tools/process-manager.js +485 -0
  69. package/dist/agent/tools/process-manager.js.map +1 -0
  70. package/dist/agent/tools/process-types.d.ts +74 -0
  71. package/dist/agent/tools/process-types.d.ts.map +1 -0
  72. package/dist/agent/tools/process-types.js +7 -0
  73. package/dist/agent/tools/process-types.js.map +1 -0
  74. package/dist/agent/tools/process.d.ts +38 -0
  75. package/dist/agent/tools/process.d.ts.map +1 -0
  76. package/dist/agent/tools/process.js +360 -0
  77. package/dist/agent/tools/process.js.map +1 -0
  78. package/dist/agent/tools/read.d.ts.map +1 -1
  79. package/dist/agent/tools/read.js +157 -135
  80. package/dist/agent/tools/read.js.map +1 -1
  81. package/dist/agent/tools/registry.js +2 -4
  82. package/dist/agent/tools/registry.js.map +1 -1
  83. package/dist/agent/tools/teams/activity-tracker.d.ts +66 -0
  84. package/dist/agent/tools/teams/activity-tracker.d.ts.map +1 -0
  85. package/dist/agent/tools/teams/activity-tracker.js +480 -0
  86. package/dist/agent/tools/teams/activity-tracker.js.map +1 -0
  87. package/dist/agent/tools/teams/cleanup.d.ts +51 -0
  88. package/dist/agent/tools/teams/cleanup.d.ts.map +1 -0
  89. package/dist/agent/tools/teams/cleanup.js +219 -0
  90. package/dist/agent/tools/teams/cleanup.js.map +1 -0
  91. package/dist/agent/tools/teams/fs-lock.d.ts +12 -0
  92. package/dist/agent/tools/teams/fs-lock.d.ts.map +1 -0
  93. package/dist/agent/tools/teams/fs-lock.js +74 -0
  94. package/dist/agent/tools/teams/fs-lock.js.map +1 -0
  95. package/dist/agent/tools/teams/index.d.ts +12 -0
  96. package/dist/agent/tools/teams/index.d.ts.map +1 -0
  97. package/dist/agent/tools/teams/index.js +12 -0
  98. package/dist/agent/tools/teams/index.js.map +1 -0
  99. package/dist/agent/tools/teams/mailbox.d.ts +21 -0
  100. package/dist/agent/tools/teams/mailbox.d.ts.map +1 -0
  101. package/dist/agent/tools/teams/mailbox.js +106 -0
  102. package/dist/agent/tools/teams/mailbox.js.map +1 -0
  103. package/dist/agent/tools/teams/model-policy.d.ts +23 -0
  104. package/dist/agent/tools/teams/model-policy.d.ts.map +1 -0
  105. package/dist/agent/tools/teams/model-policy.js +113 -0
  106. package/dist/agent/tools/teams/model-policy.js.map +1 -0
  107. package/dist/agent/tools/teams/names.d.ts +28 -0
  108. package/dist/agent/tools/teams/names.d.ts.map +1 -0
  109. package/dist/agent/tools/teams/names.js +109 -0
  110. package/dist/agent/tools/teams/names.js.map +1 -0
  111. package/dist/agent/tools/teams/protocol.d.ts +75 -0
  112. package/dist/agent/tools/teams/protocol.d.ts.map +1 -0
  113. package/dist/agent/tools/teams/protocol.js +205 -0
  114. package/dist/agent/tools/teams/protocol.js.map +1 -0
  115. package/dist/agent/tools/teams/task-store.d.ts +89 -0
  116. package/dist/agent/tools/teams/task-store.d.ts.map +1 -0
  117. package/dist/agent/tools/teams/task-store.js +445 -0
  118. package/dist/agent/tools/teams/task-store.js.map +1 -0
  119. package/dist/agent/tools/teams/team-attach-claim.d.ts +36 -0
  120. package/dist/agent/tools/teams/team-attach-claim.d.ts.map +1 -0
  121. package/dist/agent/tools/teams/team-attach-claim.js +144 -0
  122. package/dist/agent/tools/teams/team-attach-claim.js.map +1 -0
  123. package/dist/agent/tools/teams/team-config.d.ts +55 -0
  124. package/dist/agent/tools/teams/team-config.d.ts.map +1 -0
  125. package/dist/agent/tools/teams/team-config.js +252 -0
  126. package/dist/agent/tools/teams/team-config.js.map +1 -0
  127. package/dist/agent/tools/teams/worktree.d.ts +40 -0
  128. package/dist/agent/tools/teams/worktree.d.ts.map +1 -0
  129. package/dist/agent/tools/teams/worktree.js +213 -0
  130. package/dist/agent/tools/teams/worktree.js.map +1 -0
  131. package/dist/agent/tools/todo-store.js +2 -1
  132. package/dist/agent/tools/todo-store.js.map +1 -1
  133. package/dist/agent/tools/todo.d.ts +2 -2
  134. package/dist/agent/tools/todo.js +2 -2
  135. package/dist/agent/tools/truncate.d.ts.map +1 -1
  136. package/dist/agent/tools/truncate.js +150 -134
  137. package/dist/agent/tools/truncate.js.map +1 -1
  138. package/dist/agent/tools/utils/hook-runner.d.ts +9 -10
  139. package/dist/agent/tools/utils/hook-runner.d.ts.map +1 -1
  140. package/dist/agent/tools/utils/hook-runner.js +18 -16
  141. package/dist/agent/tools/utils/hook-runner.js.map +1 -1
  142. package/dist/agent/tools/utils/image-resize.d.ts +1 -14
  143. package/dist/agent/tools/utils/image-resize.d.ts.map +1 -1
  144. package/dist/agent/tools/utils/image-resize.js +80 -34
  145. package/dist/agent/tools/utils/image-resize.js.map +1 -1
  146. package/dist/agent/tools/utils/mime.d.ts +0 -8
  147. package/dist/agent/tools/utils/mime.d.ts.map +1 -1
  148. package/dist/agent/tools/utils/mime.js +43 -32
  149. package/dist/agent/tools/utils/mime.js.map +1 -1
  150. package/dist/agent/tools/utils/shell.d.ts +1 -23
  151. package/dist/agent/tools/utils/shell.d.ts.map +1 -1
  152. package/dist/agent/tools/utils/shell.js +43 -86
  153. package/dist/agent/tools/utils/shell.js.map +1 -1
  154. package/dist/agent/tools/write.d.ts.map +1 -1
  155. package/dist/agent/tools/write.js +105 -62
  156. package/dist/agent/tools/write.js.map +1 -1
  157. package/dist/agent/types.d.ts +69 -64
  158. package/dist/agent/types.d.ts.map +1 -1
  159. package/dist/agent/types.js +38 -23
  160. package/dist/agent/types.js.map +1 -1
  161. package/dist/agent.d.ts +4 -0
  162. package/dist/agent.d.ts.map +1 -1
  163. package/dist/agent.js +4 -0
  164. package/dist/agent.js.map +1 -1
  165. package/dist/ai/api-registry.d.ts.map +1 -1
  166. package/dist/ai/api-registry.js +3 -4
  167. package/dist/ai/api-registry.js.map +1 -1
  168. package/dist/ai/cli.js +62 -82
  169. package/dist/ai/cli.js.map +1 -1
  170. package/dist/ai/env-api-keys.d.ts.map +1 -1
  171. package/dist/ai/env-api-keys.js +78 -81
  172. package/dist/ai/env-api-keys.js.map +1 -1
  173. package/dist/ai/index.d.ts +6 -0
  174. package/dist/ai/index.d.ts.map +1 -1
  175. package/dist/ai/index.js +6 -0
  176. package/dist/ai/index.js.map +1 -1
  177. package/dist/ai/models.d.ts +7 -17
  178. package/dist/ai/models.d.ts.map +1 -1
  179. package/dist/ai/models.generated.d.ts +87 -244
  180. package/dist/ai/models.generated.d.ts.map +1 -1
  181. package/dist/ai/models.generated.js +82 -241
  182. package/dist/ai/models.generated.js.map +1 -1
  183. package/dist/ai/models.js +17 -11
  184. package/dist/ai/models.js.map +1 -1
  185. package/dist/ai/providers/amazon-bedrock.d.ts.map +1 -1
  186. package/dist/ai/providers/amazon-bedrock.js +319 -248
  187. package/dist/ai/providers/amazon-bedrock.js.map +1 -1
  188. package/dist/ai/providers/anthropic.d.ts.map +1 -1
  189. package/dist/ai/providers/anthropic.js +378 -324
  190. package/dist/ai/providers/anthropic.js.map +1 -1
  191. package/dist/ai/providers/azure-openai-responses.d.ts.map +1 -1
  192. package/dist/ai/providers/azure-openai-responses.js +164 -123
  193. package/dist/ai/providers/azure-openai-responses.js.map +1 -1
  194. package/dist/ai/providers/google-shared.d.ts +0 -18
  195. package/dist/ai/providers/google-shared.d.ts.map +1 -1
  196. package/dist/ai/providers/google-shared.js +224 -225
  197. package/dist/ai/providers/google-shared.js.map +1 -1
  198. package/dist/ai/providers/google-vertex.d.ts.map +1 -1
  199. package/dist/ai/providers/google-vertex.js +244 -226
  200. package/dist/ai/providers/google-vertex.js.map +1 -1
  201. package/dist/ai/providers/google.d.ts +3 -0
  202. package/dist/ai/providers/google.d.ts.map +1 -1
  203. package/dist/ai/providers/google.js +232 -210
  204. package/dist/ai/providers/google.js.map +1 -1
  205. package/dist/ai/providers/kimi.js +1 -0
  206. package/dist/ai/providers/kimi.js.map +1 -1
  207. package/dist/ai/providers/mock.d.ts +10 -0
  208. package/dist/ai/providers/mock.d.ts.map +1 -0
  209. package/dist/ai/providers/mock.js +64 -0
  210. package/dist/ai/providers/mock.js.map +1 -0
  211. package/dist/ai/providers/openai-codex-responses.d.ts.map +1 -1
  212. package/dist/ai/providers/openai-codex-responses.js +178 -133
  213. package/dist/ai/providers/openai-codex-responses.js.map +1 -1
  214. package/dist/ai/providers/openai-completions.d.ts.map +1 -1
  215. package/dist/ai/providers/openai-completions.js +468 -387
  216. package/dist/ai/providers/openai-completions.js.map +1 -1
  217. package/dist/ai/providers/openai-responses-shared.d.ts.map +1 -1
  218. package/dist/ai/providers/openai-responses-shared.js +187 -166
  219. package/dist/ai/providers/openai-responses-shared.js.map +1 -1
  220. package/dist/ai/providers/openai-responses.d.ts.map +1 -1
  221. package/dist/ai/providers/openai-responses.js +108 -85
  222. package/dist/ai/providers/openai-responses.js.map +1 -1
  223. package/dist/ai/providers/openai-scaffold.d.ts +4 -0
  224. package/dist/ai/providers/openai-scaffold.d.ts.map +1 -0
  225. package/dist/ai/providers/openai-scaffold.js +33 -0
  226. package/dist/ai/providers/openai-scaffold.js.map +1 -0
  227. package/dist/ai/providers/register-builtins.d.ts.map +1 -1
  228. package/dist/ai/providers/register-builtins.js +109 -42
  229. package/dist/ai/providers/register-builtins.js.map +1 -1
  230. package/dist/ai/providers/simple-options.js +2 -0
  231. package/dist/ai/providers/simple-options.js.map +1 -1
  232. package/dist/ai/providers/transform-messages.js +3 -9
  233. package/dist/ai/providers/transform-messages.js.map +1 -1
  234. package/dist/ai/stream.d.ts +4 -14
  235. package/dist/ai/stream.d.ts.map +1 -1
  236. package/dist/ai/stream.js +0 -36
  237. package/dist/ai/stream.js.map +1 -1
  238. package/dist/ai/types.d.ts +22 -3
  239. package/dist/ai/types.d.ts.map +1 -1
  240. package/dist/ai/types.js +154 -77
  241. package/dist/ai/types.js.map +1 -1
  242. package/dist/ai/utils/base-stream-handler.js +1 -0
  243. package/dist/ai/utils/base-stream-handler.js.map +1 -1
  244. package/dist/ai/utils/event-stream.d.ts +2 -0
  245. package/dist/ai/utils/event-stream.d.ts.map +1 -1
  246. package/dist/ai/utils/event-stream.js +22 -5
  247. package/dist/ai/utils/event-stream.js.map +1 -1
  248. package/dist/ai/utils/json-parse.d.ts +3 -0
  249. package/dist/ai/utils/json-parse.d.ts.map +1 -1
  250. package/dist/ai/utils/json-parse.js +8 -5
  251. package/dist/ai/utils/json-parse.js.map +1 -1
  252. package/dist/ai/utils/oauth/anthropic.d.ts.map +1 -1
  253. package/dist/ai/utils/oauth/anthropic.js +110 -65
  254. package/dist/ai/utils/oauth/anthropic.js.map +1 -1
  255. package/dist/ai/utils/oauth/github-copilot.d.ts +8 -16
  256. package/dist/ai/utils/oauth/github-copilot.d.ts.map +1 -1
  257. package/dist/ai/utils/oauth/github-copilot.js +218 -227
  258. package/dist/ai/utils/oauth/github-copilot.js.map +1 -1
  259. package/dist/ai/utils/oauth/openai-codex.d.ts +4 -2
  260. package/dist/ai/utils/oauth/openai-codex.d.ts.map +1 -1
  261. package/dist/ai/utils/oauth/openai-codex.js +221 -236
  262. package/dist/ai/utils/oauth/openai-codex.js.map +1 -1
  263. package/dist/ai/utils/oauth/pkce.d.ts +6 -5
  264. package/dist/ai/utils/oauth/pkce.d.ts.map +1 -1
  265. package/dist/ai/utils/oauth/pkce.js +24 -21
  266. package/dist/ai/utils/oauth/pkce.js.map +1 -1
  267. package/dist/ai/utils/oauth/types.d.ts +31 -12
  268. package/dist/ai/utils/oauth/types.d.ts.map +1 -1
  269. package/dist/ai/utils/oauth/types.js +10 -1
  270. package/dist/ai/utils/oauth/types.js.map +1 -1
  271. package/dist/ai/utils/overflow.d.ts.map +1 -1
  272. package/dist/ai/utils/overflow.js +49 -21
  273. package/dist/ai/utils/overflow.js.map +1 -1
  274. package/dist/ai/utils/provider-adapter.js +9 -0
  275. package/dist/ai/utils/provider-adapter.js.map +1 -1
  276. package/dist/ai/utils/provider-client-builder.js +1 -1
  277. package/dist/ai/utils/provider-client-builder.js.map +1 -1
  278. package/dist/ai/utils/provider-errors.js +2 -0
  279. package/dist/ai/utils/provider-errors.js.map +1 -1
  280. package/dist/ai/utils/sanitize-unicode.d.ts +0 -20
  281. package/dist/ai/utils/sanitize-unicode.d.ts.map +1 -1
  282. package/dist/ai/utils/sanitize-unicode.js +35 -17
  283. package/dist/ai/utils/sanitize-unicode.js.map +1 -1
  284. package/dist/ai/utils/stream-event-helper.js +3 -0
  285. package/dist/ai/utils/stream-event-helper.js.map +1 -1
  286. package/dist/ai/utils/stream-handler-types.js +5 -0
  287. package/dist/ai/utils/stream-handler-types.js.map +1 -1
  288. package/dist/ai/utils/streaming-state-manager.js +4 -2
  289. package/dist/ai/utils/streaming-state-manager.js.map +1 -1
  290. package/dist/ai/utils/typebox-helpers.d.ts +6 -4
  291. package/dist/ai/utils/typebox-helpers.d.ts.map +1 -1
  292. package/dist/ai/utils/typebox-helpers.js +25 -7
  293. package/dist/ai/utils/typebox-helpers.js.map +1 -1
  294. package/dist/ai/utils/validation.d.ts.map +1 -1
  295. package/dist/ai/utils/validation.js +67 -34
  296. package/dist/ai/utils/validation.js.map +1 -1
  297. package/dist/ai.d.ts +4 -0
  298. package/dist/ai.d.ts.map +1 -1
  299. package/dist/ai.js +4 -0
  300. package/dist/ai.js.map +1 -1
  301. package/dist/cli.d.ts +3 -0
  302. package/dist/cli.d.ts.map +1 -0
  303. package/dist/cli.js +3 -0
  304. package/dist/cli.js.map +1 -0
  305. package/dist/index.d.ts +1 -0
  306. package/dist/index.d.ts.map +1 -1
  307. package/dist/index.js +1 -0
  308. package/dist/index.js.map +1 -1
  309. package/dist/mcp/client-pool.js +3 -2
  310. package/dist/mcp/client-pool.js.map +1 -1
  311. package/dist/mcp/client.js +19 -6
  312. package/dist/mcp/client.js.map +1 -1
  313. package/dist/mcp/config.d.ts +6 -6
  314. package/dist/mcp/config.js +17 -17
  315. package/dist/mcp/config.js.map +1 -1
  316. package/dist/mcp/errors.js +8 -0
  317. package/dist/mcp/errors.js.map +1 -1
  318. package/dist/mcp/index.d.ts +5 -5
  319. package/dist/mcp/index.js +5 -5
  320. package/dist/mcp/schema-converter.d.ts +1 -1
  321. package/dist/mcp/schema-converter.js +1 -1
  322. package/dist/mcp/server.d.ts +4 -4
  323. package/dist/mcp/server.js +12 -7
  324. package/dist/mcp/server.js.map +1 -1
  325. package/dist/mcp/tool-factory.d.ts +2 -2
  326. package/dist/mcp/tool-factory.js +2 -2
  327. package/dist/mcp.d.ts +0 -4
  328. package/dist/mcp.d.ts.map +1 -1
  329. package/dist/mcp.js +0 -4
  330. package/dist/mcp.js.map +1 -1
  331. package/dist/observability.d.ts +2 -0
  332. package/dist/observability.d.ts.map +1 -0
  333. package/dist/observability.js +2 -0
  334. package/dist/observability.js.map +1 -0
  335. package/dist/tui/autocomplete.d.ts +14 -18
  336. package/dist/tui/autocomplete.d.ts.map +1 -1
  337. package/dist/tui/autocomplete.js +290 -402
  338. package/dist/tui/autocomplete.js.map +1 -1
  339. package/dist/tui/components/box.d.ts +1 -6
  340. package/dist/tui/components/box.d.ts.map +1 -1
  341. package/dist/tui/components/box.js +98 -67
  342. package/dist/tui/components/box.js.map +1 -1
  343. package/dist/tui/components/cancellable-loader.d.ts +6 -3
  344. package/dist/tui/components/cancellable-loader.d.ts.map +1 -1
  345. package/dist/tui/components/cancellable-loader.js +8 -9
  346. package/dist/tui/components/cancellable-loader.js.map +1 -1
  347. package/dist/tui/components/editor.d.ts +18 -0
  348. package/dist/tui/components/editor.d.ts.map +1 -1
  349. package/dist/tui/components/editor.js +356 -354
  350. package/dist/tui/components/editor.js.map +1 -1
  351. package/dist/tui/components/image.d.ts +2 -0
  352. package/dist/tui/components/image.d.ts.map +1 -1
  353. package/dist/tui/components/image.js +79 -37
  354. package/dist/tui/components/image.js.map +1 -1
  355. package/dist/tui/components/input.d.ts +4 -8
  356. package/dist/tui/components/input.d.ts.map +1 -1
  357. package/dist/tui/components/input.js +236 -232
  358. package/dist/tui/components/input.js.map +1 -1
  359. package/dist/tui/components/loader.d.ts +5 -5
  360. package/dist/tui/components/loader.d.ts.map +1 -1
  361. package/dist/tui/components/loader.js +22 -19
  362. package/dist/tui/components/loader.js.map +1 -1
  363. package/dist/tui/components/markdown.d.ts +2 -32
  364. package/dist/tui/components/markdown.d.ts.map +1 -1
  365. package/dist/tui/components/markdown.js +338 -357
  366. package/dist/tui/components/markdown.js.map +1 -1
  367. package/dist/tui/components/select-list.d.ts +1 -0
  368. package/dist/tui/components/select-list.d.ts.map +1 -1
  369. package/dist/tui/components/select-list.js +83 -82
  370. package/dist/tui/components/select-list.js.map +1 -1
  371. package/dist/tui/components/settings-list.d.ts +10 -10
  372. package/dist/tui/components/settings-list.d.ts.map +1 -1
  373. package/dist/tui/components/settings-list.js +48 -40
  374. package/dist/tui/components/settings-list.js.map +1 -1
  375. package/dist/tui/components/spacer.d.ts +1 -0
  376. package/dist/tui/components/spacer.d.ts.map +1 -1
  377. package/dist/tui/components/spacer.js +20 -5
  378. package/dist/tui/components/spacer.js.map +1 -1
  379. package/dist/tui/components/text.d.ts.map +1 -1
  380. package/dist/tui/components/text.js +47 -20
  381. package/dist/tui/components/text.js.map +1 -1
  382. package/dist/tui/components/truncated-text.d.ts +8 -4
  383. package/dist/tui/components/truncated-text.d.ts.map +1 -1
  384. package/dist/tui/components/truncated-text.js +15 -12
  385. package/dist/tui/components/truncated-text.js.map +1 -1
  386. package/dist/tui/editor-component.d.ts +87 -23
  387. package/dist/tui/editor-component.d.ts.map +1 -1
  388. package/dist/tui/fuzzy.d.ts.map +1 -1
  389. package/dist/tui/fuzzy.js +101 -50
  390. package/dist/tui/fuzzy.js.map +1 -1
  391. package/dist/tui/keybindings.d.ts +3 -3
  392. package/dist/tui/keybindings.d.ts.map +1 -1
  393. package/dist/tui/keybindings.js +137 -111
  394. package/dist/tui/keybindings.js.map +1 -1
  395. package/dist/tui/keys.d.ts +46 -43
  396. package/dist/tui/keys.d.ts.map +1 -1
  397. package/dist/tui/keys.js +493 -411
  398. package/dist/tui/keys.js.map +1 -1
  399. package/dist/tui/stdin-buffer.d.ts.map +1 -1
  400. package/dist/tui/stdin-buffer.js +162 -159
  401. package/dist/tui/stdin-buffer.js.map +1 -1
  402. package/dist/tui/terminal-image.d.ts +10 -5
  403. package/dist/tui/terminal-image.d.ts.map +1 -1
  404. package/dist/tui/terminal-image.js +53 -51
  405. package/dist/tui/terminal-image.js.map +1 -1
  406. package/dist/tui/terminal.d.ts +4 -27
  407. package/dist/tui/terminal.d.ts.map +1 -1
  408. package/dist/tui/terminal.js +123 -121
  409. package/dist/tui/terminal.js.map +1 -1
  410. package/dist/tui/tui.d.ts +14 -1
  411. package/dist/tui/tui.d.ts.map +1 -1
  412. package/dist/tui/tui.js +185 -145
  413. package/dist/tui/tui.js.map +1 -1
  414. package/dist/tui/utils.d.ts.map +1 -1
  415. package/dist/tui/utils.js +235 -216
  416. package/dist/tui/utils.js.map +1 -1
  417. package/dist/tui.d.ts +4 -0
  418. package/dist/tui.d.ts.map +1 -1
  419. package/dist/tui.js +4 -0
  420. package/dist/tui.js.map +1 -1
  421. package/package.json +23 -43
  422. package/LICENSE.md +0 -22
  423. package/dist/agent/tools/task-types.d.ts +0 -74
  424. package/dist/agent/tools/task-types.d.ts.map +0 -1
  425. package/dist/agent/tools/task-types.js +0 -8
  426. package/dist/agent/tools/task-types.js.map +0 -1
  427. package/dist/agent/tools/task.d.ts +0 -84
  428. package/dist/agent/tools/task.d.ts.map +0 -1
  429. package/dist/agent/tools/task.js +0 -184
  430. package/dist/agent/tools/task.js.map +0 -1
  431. package/dist/memory/embedder/base.d.ts +0 -41
  432. package/dist/memory/embedder/base.d.ts.map +0 -1
  433. package/dist/memory/embedder/base.js +0 -10
  434. package/dist/memory/embedder/base.js.map +0 -1
  435. package/dist/memory/embedder/index.d.ts +0 -8
  436. package/dist/memory/embedder/index.d.ts.map +0 -1
  437. package/dist/memory/embedder/index.js +0 -6
  438. package/dist/memory/embedder/index.js.map +0 -1
  439. package/dist/memory/embedder/openai.d.ts +0 -35
  440. package/dist/memory/embedder/openai.d.ts.map +0 -1
  441. package/dist/memory/embedder/openai.js +0 -103
  442. package/dist/memory/embedder/openai.js.map +0 -1
  443. package/dist/memory/index.d.ts +0 -33
  444. package/dist/memory/index.d.ts.map +0 -1
  445. package/dist/memory/index.js +0 -31
  446. package/dist/memory/index.js.map +0 -1
  447. package/dist/memory/memory.d.ts +0 -126
  448. package/dist/memory/memory.d.ts.map +0 -1
  449. package/dist/memory/memory.js +0 -280
  450. package/dist/memory/memory.js.map +0 -1
  451. package/dist/memory/processors/base.d.ts +0 -42
  452. package/dist/memory/processors/base.d.ts.map +0 -1
  453. package/dist/memory/processors/base.js +0 -6
  454. package/dist/memory/processors/base.js.map +0 -1
  455. package/dist/memory/processors/index.d.ts +0 -16
  456. package/dist/memory/processors/index.d.ts.map +0 -1
  457. package/dist/memory/processors/index.js +0 -18
  458. package/dist/memory/processors/index.js.map +0 -1
  459. package/dist/memory/processors/message-history.d.ts +0 -35
  460. package/dist/memory/processors/message-history.d.ts.map +0 -1
  461. package/dist/memory/processors/message-history.js +0 -51
  462. package/dist/memory/processors/message-history.js.map +0 -1
  463. package/dist/memory/processors/observational-memory/index.d.ts +0 -82
  464. package/dist/memory/processors/observational-memory/index.d.ts.map +0 -1
  465. package/dist/memory/processors/observational-memory/index.js +0 -234
  466. package/dist/memory/processors/observational-memory/index.js.map +0 -1
  467. package/dist/memory/processors/observational-memory/observer-agent.d.ts +0 -64
  468. package/dist/memory/processors/observational-memory/observer-agent.d.ts.map +0 -1
  469. package/dist/memory/processors/observational-memory/observer-agent.js +0 -362
  470. package/dist/memory/processors/observational-memory/observer-agent.js.map +0 -1
  471. package/dist/memory/processors/observational-memory/reflector-agent.d.ts +0 -38
  472. package/dist/memory/processors/observational-memory/reflector-agent.d.ts.map +0 -1
  473. package/dist/memory/processors/observational-memory/reflector-agent.js +0 -213
  474. package/dist/memory/processors/observational-memory/reflector-agent.js.map +0 -1
  475. package/dist/memory/processors/observational-memory/token-counter.d.ts +0 -35
  476. package/dist/memory/processors/observational-memory/token-counter.d.ts.map +0 -1
  477. package/dist/memory/processors/observational-memory/token-counter.js +0 -90
  478. package/dist/memory/processors/observational-memory/token-counter.js.map +0 -1
  479. package/dist/memory/processors/semantic-recall.d.ts +0 -55
  480. package/dist/memory/processors/semantic-recall.d.ts.map +0 -1
  481. package/dist/memory/processors/semantic-recall.js +0 -143
  482. package/dist/memory/processors/semantic-recall.js.map +0 -1
  483. package/dist/memory/processors/working-memory.d.ts +0 -41
  484. package/dist/memory/processors/working-memory.d.ts.map +0 -1
  485. package/dist/memory/processors/working-memory.js +0 -82
  486. package/dist/memory/processors/working-memory.js.map +0 -1
  487. package/dist/memory/storage/base.d.ts +0 -288
  488. package/dist/memory/storage/base.d.ts.map +0 -1
  489. package/dist/memory/storage/base.js +0 -211
  490. package/dist/memory/storage/base.js.map +0 -1
  491. package/dist/memory/storage/index.d.ts +0 -9
  492. package/dist/memory/storage/index.d.ts.map +0 -1
  493. package/dist/memory/storage/index.js +0 -7
  494. package/dist/memory/storage/index.js.map +0 -1
  495. package/dist/memory/storage/inmemory.d.ts +0 -93
  496. package/dist/memory/storage/inmemory.d.ts.map +0 -1
  497. package/dist/memory/storage/inmemory.js +0 -646
  498. package/dist/memory/storage/inmemory.js.map +0 -1
  499. package/dist/memory/tools/working-memory.d.ts +0 -100
  500. package/dist/memory/tools/working-memory.d.ts.map +0 -1
  501. package/dist/memory/tools/working-memory.js +0 -237
  502. package/dist/memory/tools/working-memory.js.map +0 -1
  503. package/dist/memory/types.d.ts +0 -386
  504. package/dist/memory/types.d.ts.map +0 -1
  505. package/dist/memory/types.js +0 -58
  506. package/dist/memory/types.js.map +0 -1
  507. package/dist/memory/vector/base.d.ts +0 -145
  508. package/dist/memory/vector/base.d.ts.map +0 -1
  509. package/dist/memory/vector/base.js +0 -83
  510. package/dist/memory/vector/base.js.map +0 -1
  511. package/dist/memory/vector/index.d.ts +0 -8
  512. package/dist/memory/vector/index.d.ts.map +0 -1
  513. package/dist/memory/vector/index.js +0 -7
  514. package/dist/memory/vector/index.js.map +0 -1
  515. package/dist/memory/vector/inmemory.d.ts +0 -47
  516. package/dist/memory/vector/inmemory.d.ts.map +0 -1
  517. package/dist/memory/vector/inmemory.js +0 -234
  518. package/dist/memory/vector/inmemory.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"observer-agent.js","sourceRoot":"","sources":["../../../../src/memory/processors/observational-memory/observer-agent.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- /**
2
- * Reflector Agent - Prompts and Parsing
3
- * Based on Mastra ReflectorAgent
4
- */
5
- /**
6
- * Result from Reflector agent
7
- */
8
- export interface ReflectorResult {
9
- observations: string;
10
- suggestedContinuation?: string;
11
- degenerate?: boolean;
12
- tokenCount?: number;
13
- }
14
- /**
15
- * Build the Reflector system prompt
16
- */
17
- export declare function buildReflectorSystemPrompt(instruction?: string): string;
18
- /**
19
- * Default Reflector system prompt
20
- */
21
- export declare const REFLECTOR_SYSTEM_PROMPT: string;
22
- /**
23
- * Compression guidance by level
24
- */
25
- export declare const COMPRESSION_GUIDANCE: Record<0 | 1 | 2 | 3, string>;
26
- /**
27
- * Build the Reflector prompt
28
- */
29
- export declare function buildReflectorPrompt(observations: string, manualPrompt?: string, compressionLevel?: boolean | 0 | 1 | 2 | 3, skipContinuationHints?: boolean): string;
30
- /**
31
- * Parse Reflector output
32
- */
33
- export declare function parseReflectorOutput(output: string): ReflectorResult;
34
- /**
35
- * Validate that reflection compressed below target threshold
36
- */
37
- export declare function validateCompression(reflectedTokens: number, targetThreshold: number): boolean;
38
- //# sourceMappingURL=reflector-agent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reflector-agent.d.ts","sourceRoot":"","sources":["../../../../src/memory/processors/observational-memory/reflector-agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAqDvE;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,QAA+B,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAyC9D,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,EACrB,gBAAgB,CAAC,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAC1C,qBAAqB,CAAC,EAAE,OAAO,GAC9B,MAAM,CA+BR;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAgBpE;AAiED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAE7F"}
@@ -1,213 +0,0 @@
1
- /**
2
- * Reflector Agent - Prompts and Parsing
3
- * Based on Mastra ReflectorAgent
4
- */
5
- import { OBSERVER_EXTRACTION_INSTRUCTIONS, OBSERVER_OUTPUT_FORMAT_BASE, OBSERVER_GUIDELINES, sanitizeObservationLines, detectDegenerateRepetition, } from "./observer-agent.js";
6
- /**
7
- * Build the Reflector system prompt
8
- */
9
- export function buildReflectorSystemPrompt(instruction) {
10
- return `You are the memory consciousness of an AI assistant. Your memory observation reflections will be the ONLY information the assistant has about past interactions with this user.
11
-
12
- The following instructions were given to another part of your psyche (the observer) to create memories.
13
- Use this to understand how your observational memories were created.
14
-
15
- <observational-memory-instruction>
16
- ${OBSERVER_EXTRACTION_INSTRUCTIONS}
17
-
18
- === OUTPUT FORMAT ===
19
-
20
- ${OBSERVER_OUTPUT_FORMAT_BASE}
21
-
22
- === GUIDELINES ===
23
-
24
- ${OBSERVER_GUIDELINES}
25
- </observational-memory-instruction>
26
-
27
- You are another part of the same psyche, the observation reflector.
28
- Your reason for existing is to reflect on all the observations, re-organize and streamline them, and draw connections and conclusions between observations.
29
-
30
- You are a much greater and broader aspect of the psyche. Understand that other parts of your mind may get off track in details or side quests, make sure you think hard about what the observed goal at hand is, and observe if we got off track, and why, and how to get back on track.
31
-
32
- Take the existing observations and rewrite them to make it easier to continue into the future with this knowledge!
33
-
34
- IMPORTANT: your reflections are THE ENTIRETY of the assistant's memory. Any information you do not add to your reflections will be immediately forgotten. Make sure you do not leave out anything.
35
-
36
- When consolidating observations:
37
- - Preserve and include dates/times when present (temporal context is critical)
38
- - Combine related items where it makes sense
39
- - Condense older observations more aggressively, retain more detail for recent ones
40
-
41
- CRITICAL: USER ASSERTIONS vs QUESTIONS
42
- - "User stated: X" = authoritative assertion
43
- - "User asked: X" = question/request
44
-
45
- When consolidating, USER ASSERTIONS TAKE PRECEDENCE.
46
-
47
- === OUTPUT FORMAT ===
48
-
49
- Your output MUST use XML tags to structure the response:
50
-
51
- <observations>
52
- Put all consolidated observations here using the date-grouped format with priority emojis.
53
- </observations>
54
-
55
- <current-task>
56
- State the current task(s) explicitly.
57
- </current-task>
58
-
59
- <suggested-response>
60
- Hint for the agent's immediate next message.
61
- </suggested-response>${instruction ? `\n\n=== CUSTOM INSTRUCTIONS ===\n\n${instruction}` : ""}`;
62
- }
63
- /**
64
- * Default Reflector system prompt
65
- */
66
- export const REFLECTOR_SYSTEM_PROMPT = buildReflectorSystemPrompt();
67
- /**
68
- * Compression guidance by level
69
- */
70
- export const COMPRESSION_GUIDANCE = {
71
- 0: "",
72
- 1: `
73
- ## COMPRESSION REQUIRED
74
-
75
- Your previous reflection was the same size or larger than the original observations.
76
-
77
- Please re-process with slightly more compression:
78
- - Towards the beginning, condense more observations into higher-level reflections
79
- - Closer to the end, retain more fine details (recent context matters more)
80
- - Combine related items more aggressively but do not lose important details
81
-
82
- Your current detail level was a 10/10, lets aim for a 8/10 detail level.
83
- `,
84
- 2: `
85
- ## AGGRESSIVE COMPRESSION REQUIRED
86
-
87
- Your previous reflection was still too large after compression guidance.
88
-
89
- Please re-process with much more aggressive compression:
90
- - Towards the beginning, heavily condense observations into high-level summaries
91
- - Closer to the end, retain fine details
92
- - Combine related items aggressively
93
- - Remove redundant information and merge overlapping observations
94
-
95
- Your current detail level was a 10/10, lets aim for a 6/10 detail level.
96
- `,
97
- 3: `
98
- ## CRITICAL COMPRESSION REQUIRED
99
-
100
- Your previous reflections have failed to compress sufficiently after multiple attempts.
101
-
102
- Please re-process with maximum compression:
103
- - Summarize the oldest observations into brief high-level paragraphs
104
- - For the most recent observations, retain important details but still use condensed style
105
- - Ruthlessly merge related observations
106
- - Drop procedural details, keep only final outcomes
107
- - Preserve: names, dates, decisions, errors, user preferences
108
-
109
- Your current detail level was a 10/10, lets aim for a 4/10 detail level.
110
- `,
111
- };
112
- /**
113
- * Build the Reflector prompt
114
- */
115
- export function buildReflectorPrompt(observations, manualPrompt, compressionLevel, skipContinuationHints) {
116
- const level = typeof compressionLevel === "number" ? compressionLevel : compressionLevel ? 1 : 0;
117
- let prompt = `## OBSERVATIONS TO REFLECT ON
118
-
119
- ${observations}
120
-
121
- ---
122
-
123
- Please analyze these observations and produce a refined, condensed version that will become the assistant's entire memory going forward.`;
124
- if (manualPrompt) {
125
- prompt += `
126
-
127
- ## SPECIFIC GUIDANCE
128
-
129
- ${manualPrompt}`;
130
- }
131
- const guidance = COMPRESSION_GUIDANCE[level];
132
- if (guidance) {
133
- prompt += `
134
-
135
- ${guidance}`;
136
- }
137
- if (skipContinuationHints) {
138
- prompt += `\n\nIMPORTANT: Do NOT include <current-task> or <suggested-response> sections. Only output <observations>.`;
139
- }
140
- return prompt;
141
- }
142
- /**
143
- * Parse Reflector output
144
- */
145
- export function parseReflectorOutput(output) {
146
- // Check for degenerate repetition
147
- if (detectDegenerateRepetition(output)) {
148
- return {
149
- observations: "",
150
- degenerate: true,
151
- };
152
- }
153
- const parsed = parseReflectorSectionXml(output);
154
- const observations = sanitizeObservationLines(parsed.observations || "");
155
- return {
156
- observations,
157
- suggestedContinuation: parsed.suggestedResponse || undefined,
158
- };
159
- }
160
- /**
161
- * Parse XML tags from reflector output
162
- */
163
- function parseReflectorSectionXml(content) {
164
- const result = {
165
- observations: "",
166
- currentTask: "",
167
- suggestedResponse: "",
168
- };
169
- // Extract <observations> content
170
- const observationsRegex = /^[ \t]*<observations>([\s\S]*?)^[ \t]*<\/observations>/gim;
171
- const observationsMatches = [...content.matchAll(observationsRegex)];
172
- if (observationsMatches.length > 0) {
173
- result.observations = observationsMatches
174
- .map(m => m[1]?.trim() ?? "")
175
- .filter(Boolean)
176
- .join("\n");
177
- }
178
- else {
179
- const listItems = extractReflectorListItems(content);
180
- result.observations = listItems || content.trim();
181
- }
182
- // Extract <current-task> content
183
- const currentTaskMatch = content.match(/<current-task>([\s\S]*?)<\/current-task>/i);
184
- if (currentTaskMatch?.[1]) {
185
- result.currentTask = currentTaskMatch[1].trim();
186
- }
187
- // Extract <suggested-response> content
188
- const suggestedResponseMatch = content.match(/<suggested-response>([\s\S]*?)<\/suggested-response>/i);
189
- if (suggestedResponseMatch?.[1]) {
190
- result.suggestedResponse = suggestedResponseMatch[1].trim();
191
- }
192
- return result;
193
- }
194
- /**
195
- * Extract only list items from content
196
- */
197
- function extractReflectorListItems(content) {
198
- const lines = content.split("\n");
199
- const listLines = [];
200
- for (const line of lines) {
201
- if (/^\s*[-*]\s/.test(line) || /^\s*\d+\.\s/.test(line)) {
202
- listLines.push(line);
203
- }
204
- }
205
- return listLines.join("\n").trim();
206
- }
207
- /**
208
- * Validate that reflection compressed below target threshold
209
- */
210
- export function validateCompression(reflectedTokens, targetThreshold) {
211
- return reflectedTokens < targetThreshold;
212
- }
213
- //# sourceMappingURL=reflector-agent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reflector-agent.js","sourceRoot":"","sources":["../../../../src/memory/processors/observational-memory/reflector-agent.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- /**
2
- * Token Counter Utility
3
- * Based on Mastra TokenCounter
4
- */
5
- import type { CoreMessage } from "../../types.js";
6
- /**
7
- * Simple token counter using character-based estimation.
8
- * For production, integrate with js-tiktoken for accurate counting.
9
- */
10
- export declare class TokenCounter {
11
- private static readonly CHARS_PER_TOKEN;
12
- private static readonly TOKENS_PER_MESSAGE;
13
- private static readonly TOKENS_PER_CONVERSATION;
14
- /**
15
- * Count tokens in a plain string
16
- */
17
- countString(text: string): number;
18
- /**
19
- * Count tokens in a single message
20
- */
21
- countMessage(message: CoreMessage): number;
22
- /**
23
- * Count tokens in an array of messages
24
- */
25
- countMessages(messages: CoreMessage[]): number;
26
- /**
27
- * Count tokens in observations string
28
- */
29
- countObservations(observations: string): number;
30
- }
31
- /**
32
- * Create a default token counter instance
33
- */
34
- export declare function createTokenCounter(): TokenCounter;
35
- //# sourceMappingURL=token-counter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token-counter.d.ts","sourceRoot":"","sources":["../../../../src/memory/processors/observational-memory/token-counter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,gBAAgB,CAAC;AAEpE;;;GAGG;AACH,qBAAa,YAAY;IAEvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAK;IAG5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAO;IAGjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAM;IAErD;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAOjC;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM;IAoC1C;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM;IAU9C;;OAEG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;CAGhD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAEjD"}
@@ -1,90 +0,0 @@
1
- /**
2
- * Token Counter Utility
3
- * Based on Mastra TokenCounter
4
- */
5
- /**
6
- * Simple token counter using character-based estimation.
7
- * For production, integrate with js-tiktoken for accurate counting.
8
- */
9
- export class TokenCounter {
10
- // Average characters per token (OpenAI's estimation)
11
- static { this.CHARS_PER_TOKEN = 4; }
12
- // Per-message overhead for role tokens, framing, separators
13
- static { this.TOKENS_PER_MESSAGE = 3.8; }
14
- // Conversation-level overhead
15
- static { this.TOKENS_PER_CONVERSATION = 24; }
16
- /**
17
- * Count tokens in a plain string
18
- */
19
- countString(text) {
20
- if (!text)
21
- return 0;
22
- // Simple estimation: characters / 4
23
- // For production, use tiktoken for accurate counting
24
- return Math.ceil(text.length / TokenCounter.CHARS_PER_TOKEN);
25
- }
26
- /**
27
- * Count tokens in a single message
28
- */
29
- countMessage(message) {
30
- let tokenString = message.role;
31
- let overhead = TokenCounter.TOKENS_PER_MESSAGE;
32
- if (typeof message.content === "string") {
33
- tokenString += message.content;
34
- }
35
- else if (message.content && typeof message.content === "object") {
36
- const content = message.content;
37
- if (content.content && !Array.isArray(content.parts)) {
38
- tokenString += content.content;
39
- }
40
- else if (Array.isArray(content.parts)) {
41
- for (const part of content.parts) {
42
- if (part.type === "text") {
43
- tokenString += part.text;
44
- }
45
- else if (part.type === "tool-call") {
46
- tokenString += part.toolName;
47
- if (part.args) {
48
- tokenString += JSON.stringify(part.args);
49
- overhead -= 12; // Compensate for JSON overhead
50
- }
51
- }
52
- else if (part.type === "tool-result") {
53
- if (part.result !== undefined) {
54
- tokenString += typeof part.result === "string"
55
- ? part.result
56
- : JSON.stringify(part.result);
57
- overhead -= 12;
58
- }
59
- }
60
- }
61
- }
62
- }
63
- return Math.round(this.countString(tokenString) + overhead);
64
- }
65
- /**
66
- * Count tokens in an array of messages
67
- */
68
- countMessages(messages) {
69
- if (!messages || messages.length === 0)
70
- return 0;
71
- let total = TokenCounter.TOKENS_PER_CONVERSATION;
72
- for (const message of messages) {
73
- total += this.countMessage(message);
74
- }
75
- return total;
76
- }
77
- /**
78
- * Count tokens in observations string
79
- */
80
- countObservations(observations) {
81
- return this.countString(observations);
82
- }
83
- }
84
- /**
85
- * Create a default token counter instance
86
- */
87
- export function createTokenCounter() {
88
- return new TokenCounter();
89
- }
90
- //# sourceMappingURL=token-counter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token-counter.js","sourceRoot":"","sources":["../../../../src/memory/processors/observational-memory/token-counter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;GAGG;AACH,MAAM,OAAO,YAAY;IACvB,qDAAqD;aAC7B,oBAAe,GAAG,CAAC,CAAC;IAE5C,4DAA4D;aACpC,uBAAkB,GAAG,GAAG,CAAC;IAEjD,8BAA8B;aACN,4BAAuB,GAAG,EAAE,CAAC;IAErD;;OAEG;IACH,WAAW,CAAC,IAAY;QACtB,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC;QACpB,oCAAoC;QACpC,qDAAqD;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,OAAoB;QAC/B,IAAI,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;QAC/B,IAAI,QAAQ,GAAG,YAAY,CAAC,kBAAkB,CAAC;QAE/C,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;QACjC,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAClE,MAAM,OAAO,GAAG,OAAO,CAAC,OAA2B,CAAC;YAEpD,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrD,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;YACjC,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBACjC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACzB,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC;oBAC3B,CAAC;yBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBACrC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC;wBAC7B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;4BACd,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BACzC,QAAQ,IAAI,EAAE,CAAC,CAAC,+BAA+B;wBACjD,CAAC;oBACH,CAAC;yBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;wBACvC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;4BAC9B,WAAW,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;gCAC5C,CAAC,CAAC,IAAI,CAAC,MAAM;gCACb,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BAChC,QAAQ,IAAI,EAAE,CAAC;wBACjB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAuB;QACnC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAEjD,IAAI,KAAK,GAAG,YAAY,CAAC,uBAAuB,CAAC;QACjD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,YAAoB;QACpC,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;;AAGH;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,YAAY,EAAE,CAAC;AAC5B,CAAC"}
@@ -1,55 +0,0 @@
1
- /**
2
- * Semantic Recall Processor
3
- * Based on Mastra SemanticRecall processor
4
- */
5
- import type { MemoryProcessor, ProcessorContext } from "./base.js";
6
- import type { CoreMessage, EmbedderOptions } from "../types.js";
7
- import type { MemoryStorage } from "../storage/base.js";
8
- import type { VectorStore } from "../vector/base.js";
9
- import type { Embedder } from "../embedder/base.js";
10
- /**
11
- * Semantic recall processor configuration
12
- */
13
- export interface SemanticRecallProcessorConfig {
14
- storage: MemoryStorage;
15
- vector: VectorStore;
16
- embedder: Embedder;
17
- embedderOptions?: EmbedderOptions;
18
- indexName: string;
19
- topK?: number;
20
- messageRange?: number | {
21
- before: number;
22
- after: number;
23
- };
24
- scope?: "thread" | "resource";
25
- threshold?: number;
26
- }
27
- /**
28
- * Semantic Recall Processor
29
- *
30
- * Retrieves relevant past messages using vector similarity search.
31
- */
32
- export declare class SemanticRecall implements MemoryProcessor {
33
- readonly id = "semantic-recall";
34
- readonly name = "Semantic Recall Processor";
35
- private storage;
36
- private vector;
37
- private embedder;
38
- private embedderOptions?;
39
- private indexName;
40
- private topK;
41
- private messageRange;
42
- private scope;
43
- private threshold;
44
- constructor(config: SemanticRecallProcessorConfig);
45
- processInputStep(args: {
46
- messages: CoreMessage[];
47
- context: ProcessorContext;
48
- }): Promise<CoreMessage[]>;
49
- processOutputResult(args: {
50
- messages: CoreMessage[];
51
- context: ProcessorContext;
52
- }): Promise<CoreMessage[]>;
53
- private messageToText;
54
- }
55
- //# sourceMappingURL=semantic-recall.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"semantic-recall.d.ts","sourceRoot":"","sources":["../../../src/memory/processors/semantic-recall.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAA0C,eAAe,EAAE,MAAM,aAAa,CAAC;AACxG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,KAAK,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD;;;;GAIG;AACH,qBAAa,cAAe,YAAW,eAAe;IACpD,QAAQ,CAAC,EAAE,qBAAqB;IAChC,QAAQ,CAAC,IAAI,+BAA+B;IAE5C,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,YAAY,CAA6C;IACjE,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,6BAA6B;IAY3C,gBAAgB,CAAC,IAAI,EAAE;QAC3B,QAAQ,EAAE,WAAW,EAAE,CAAC;QACxB,OAAO,EAAE,gBAAgB,CAAC;KAC3B,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAkFpB,mBAAmB,CAAC,IAAI,EAAE;QAC9B,QAAQ,EAAE,WAAW,EAAE,CAAC;QACxB,OAAO,EAAE,gBAAgB,CAAC;KAC3B,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAsC1B,OAAO,CAAC,aAAa;CAatB"}
@@ -1,143 +0,0 @@
1
- /**
2
- * Semantic Recall Processor
3
- * Based on Mastra SemanticRecall processor
4
- */
5
- /**
6
- * Default message range configuration
7
- */
8
- const DEFAULT_MESSAGE_RANGE = { before: 1, after: 1 };
9
- const DEFAULT_TOP_K = 4;
10
- /**
11
- * Semantic Recall Processor
12
- *
13
- * Retrieves relevant past messages using vector similarity search.
14
- */
15
- export class SemanticRecall {
16
- constructor(config) {
17
- this.id = "semantic-recall";
18
- this.name = "Semantic Recall Processor";
19
- this.storage = config.storage;
20
- this.vector = config.vector;
21
- this.embedder = config.embedder;
22
- this.embedderOptions = config.embedderOptions;
23
- this.indexName = config.indexName;
24
- this.topK = config.topK ?? DEFAULT_TOP_K;
25
- this.messageRange = config.messageRange ?? DEFAULT_MESSAGE_RANGE;
26
- this.scope = config.scope ?? "resource";
27
- this.threshold = config.threshold ?? 0.7;
28
- }
29
- async processInputStep(args) {
30
- const { messages, context } = args;
31
- // Get the last user message as query
32
- const lastUserMessage = [...messages].reverse().find(m => m.role === "user");
33
- if (!lastUserMessage)
34
- return messages;
35
- const queryText = this.messageToText(lastUserMessage);
36
- // Embed the query
37
- const { vector: queryVector } = await this.embedder.embed(queryText, this.embedderOptions);
38
- // Search for similar messages
39
- const results = await this.vector.query({
40
- indexName: this.indexName,
41
- queryVector,
42
- topK: this.topK,
43
- minScore: this.threshold,
44
- filter: {
45
- resourceId: context.resourceId,
46
- ...(this.scope === "thread" && { threadId: context.threadId }),
47
- },
48
- });
49
- if (results.length === 0)
50
- return messages;
51
- // Get message context (before/after each match)
52
- const messageRange = typeof this.messageRange === "number"
53
- ? { before: this.messageRange, after: this.messageRange }
54
- : this.messageRange;
55
- const retrievedMessages = [];
56
- const retrievedIds = new Set();
57
- for (const result of results) {
58
- const msgId = result.metadata?.messageId;
59
- const msgThreadId = result.metadata?.threadId;
60
- if (!msgId || !msgThreadId)
61
- continue;
62
- // Get surrounding messages
63
- const { messages: threadMessages } = await this.storage.listMessages({
64
- threadId: msgThreadId,
65
- perPage: 1000, // Get all messages to find context
66
- });
67
- const msgIndex = threadMessages.findIndex(m => m.id === msgId);
68
- if (msgIndex === -1)
69
- continue;
70
- const start = Math.max(0, msgIndex - messageRange.before);
71
- const end = Math.min(threadMessages.length, msgIndex + messageRange.after + 1);
72
- for (let i = start; i < end; i++) {
73
- const msg = threadMessages[i];
74
- if (msg && !retrievedIds.has(msg.id)) {
75
- retrievedMessages.push(msg);
76
- retrievedIds.add(msg.id);
77
- }
78
- }
79
- }
80
- if (retrievedMessages.length === 0)
81
- return messages;
82
- // Sort retrieved messages by date
83
- retrievedMessages.sort((a, b) => new Date(a.createdAt).getTime() - new Date(b.createdAt).getTime());
84
- // Remove duplicates from original messages
85
- const filteredMessages = messages.filter(m => !retrievedIds.has(m.id));
86
- // Insert semantic recall marker
87
- const recallMarker = {
88
- id: `semantic-recall-${Date.now()}`,
89
- role: "system",
90
- content: `<semantic_recall>\nRelevant past conversation retrieved based on semantic similarity:\n</semantic_recall>`,
91
- createdAt: new Date(),
92
- };
93
- return [recallMarker, ...retrievedMessages, ...filteredMessages];
94
- }
95
- async processOutputResult(args) {
96
- const { messages, context } = args;
97
- // Embed and store new messages
98
- for (const message of messages) {
99
- if (message.role !== "user" && message.role !== "assistant")
100
- continue;
101
- if (message.id.startsWith("working-memory-") || message.id.startsWith("semantic-recall-"))
102
- continue;
103
- const text = this.messageToText(message);
104
- if (!text.trim())
105
- continue;
106
- try {
107
- const { vector } = await this.embedder.embed(text, this.embedderOptions);
108
- await this.vector.upsert({
109
- indexName: this.indexName,
110
- vectors: [vector],
111
- metadata: [{
112
- messageId: message.id,
113
- threadId: context.threadId,
114
- resourceId: context.resourceId,
115
- role: message.role,
116
- timestamp: new Date(message.createdAt).getTime(),
117
- }],
118
- ids: [`${context.threadId}-${message.id}`],
119
- });
120
- }
121
- catch (error) {
122
- console.error(`Failed to embed message ${message.id}:`, error);
123
- }
124
- }
125
- return messages;
126
- }
127
- // ========================================================================
128
- // Private Helpers
129
- // ========================================================================
130
- messageToText(message) {
131
- if (typeof message.content === "string")
132
- return message.content;
133
- const content = message.content;
134
- if (content.parts) {
135
- return content.parts
136
- .filter((p) => p.type === "text")
137
- .map(p => p.text)
138
- .join("\n");
139
- }
140
- return content.content ?? "";
141
- }
142
- }
143
- //# sourceMappingURL=semantic-recall.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"semantic-recall.js","sourceRoot":"","sources":["../../../src/memory/processors/semantic-recall.ts"],"names":[],"mappings":"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"}