@roj-ai/sdk 0.0.2

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 (763) hide show
  1. package/dist/bootstrap.d.ts +453 -0
  2. package/dist/bootstrap.d.ts.map +1 -0
  3. package/dist/builtin-events.d.ts +16 -0
  4. package/dist/builtin-events.d.ts.map +1 -0
  5. package/dist/bun-platform/fs.d.ts +9 -0
  6. package/dist/bun-platform/fs.d.ts.map +1 -0
  7. package/dist/bun-platform/index.d.ts +12 -0
  8. package/dist/bun-platform/index.d.ts.map +1 -0
  9. package/dist/bun-platform/process.d.ts +6 -0
  10. package/dist/bun-platform/process.d.ts.map +1 -0
  11. package/dist/config.d.ts +38 -0
  12. package/dist/config.d.ts.map +1 -0
  13. package/dist/config.test.d.ts +2 -0
  14. package/dist/config.test.d.ts.map +1 -0
  15. package/dist/core/agent-loop.integration.test.d.ts +2 -0
  16. package/dist/core/agent-loop.integration.test.d.ts.map +1 -0
  17. package/dist/core/agents/agent-config.test.d.ts +2 -0
  18. package/dist/core/agents/agent-config.test.d.ts.map +1 -0
  19. package/dist/core/agents/agent-roles.d.ts +33 -0
  20. package/dist/core/agents/agent-roles.d.ts.map +1 -0
  21. package/dist/core/agents/agent-shutdown.test.d.ts +6 -0
  22. package/dist/core/agents/agent-shutdown.test.d.ts.map +1 -0
  23. package/dist/core/agents/agent.d.ts +234 -0
  24. package/dist/core/agents/agent.d.ts.map +1 -0
  25. package/dist/core/agents/agent.test.d.ts +2 -0
  26. package/dist/core/agents/agent.test.d.ts.map +1 -0
  27. package/dist/core/agents/communicator.d.ts +3 -0
  28. package/dist/core/agents/communicator.d.ts.map +1 -0
  29. package/dist/core/agents/config.d.ts +84 -0
  30. package/dist/core/agents/config.d.ts.map +1 -0
  31. package/dist/core/agents/context.d.ts +16 -0
  32. package/dist/core/agents/context.d.ts.map +1 -0
  33. package/dist/core/agents/debounce.d.ts +52 -0
  34. package/dist/core/agents/debounce.d.ts.map +1 -0
  35. package/dist/core/agents/handler-events.test.d.ts +5 -0
  36. package/dist/core/agents/handler-events.test.d.ts.map +1 -0
  37. package/dist/core/agents/index.d.ts +2 -0
  38. package/dist/core/agents/index.d.ts.map +1 -0
  39. package/dist/core/agents/response-sanitizer.d.ts +25 -0
  40. package/dist/core/agents/response-sanitizer.d.ts.map +1 -0
  41. package/dist/core/agents/response-sanitizer.test.d.ts +2 -0
  42. package/dist/core/agents/response-sanitizer.test.d.ts.map +1 -0
  43. package/dist/core/agents/retry.d.ts +40 -0
  44. package/dist/core/agents/retry.d.ts.map +1 -0
  45. package/dist/core/agents/schema.d.ts +57 -0
  46. package/dist/core/agents/schema.d.ts.map +1 -0
  47. package/dist/core/agents/state.d.ts +255 -0
  48. package/dist/core/agents/state.d.ts.map +1 -0
  49. package/dist/core/context/state.d.ts +28 -0
  50. package/dist/core/context/state.d.ts.map +1 -0
  51. package/dist/core/errors.d.ts +29 -0
  52. package/dist/core/errors.d.ts.map +1 -0
  53. package/dist/core/event-sourcing.integration.test.d.ts +2 -0
  54. package/dist/core/event-sourcing.integration.test.d.ts.map +1 -0
  55. package/dist/core/events/base-event-store.d.ts +55 -0
  56. package/dist/core/events/base-event-store.d.ts.map +1 -0
  57. package/dist/core/events/event-store.d.ts +108 -0
  58. package/dist/core/events/event-store.d.ts.map +1 -0
  59. package/dist/core/events/file.d.ts +50 -0
  60. package/dist/core/events/file.d.ts.map +1 -0
  61. package/dist/core/events/file.test.d.ts +2 -0
  62. package/dist/core/events/file.test.d.ts.map +1 -0
  63. package/dist/core/events/index.d.ts +4 -0
  64. package/dist/core/events/index.d.ts.map +1 -0
  65. package/dist/core/events/memory.d.ts +43 -0
  66. package/dist/core/events/memory.d.ts.map +1 -0
  67. package/dist/core/events/memory.test.d.ts +2 -0
  68. package/dist/core/events/memory.test.d.ts.map +1 -0
  69. package/dist/core/events/metadata-utils.d.ts +27 -0
  70. package/dist/core/events/metadata-utils.d.ts.map +1 -0
  71. package/dist/core/events/test-helpers.d.ts +28 -0
  72. package/dist/core/events/test-helpers.d.ts.map +1 -0
  73. package/dist/core/events/types.d.ts +46 -0
  74. package/dist/core/events/types.d.ts.map +1 -0
  75. package/dist/core/file-store/file-store.d.ts +56 -0
  76. package/dist/core/file-store/file-store.d.ts.map +1 -0
  77. package/dist/core/file-store/types.d.ts +50 -0
  78. package/dist/core/file-store/types.d.ts.map +1 -0
  79. package/dist/core/image/image-processor.d.ts +15 -0
  80. package/dist/core/image/image-processor.d.ts.map +1 -0
  81. package/dist/core/image/image-processor.test.d.ts +2 -0
  82. package/dist/core/image/image-processor.test.d.ts.map +1 -0
  83. package/dist/core/image/index.d.ts +5 -0
  84. package/dist/core/image/index.d.ts.map +1 -0
  85. package/dist/core/image/noop-resizer.d.ts +5 -0
  86. package/dist/core/image/noop-resizer.d.ts.map +1 -0
  87. package/dist/core/image/types.d.ts +20 -0
  88. package/dist/core/image/types.d.ts.map +1 -0
  89. package/dist/core/image/vips-resizer.d.ts +21 -0
  90. package/dist/core/image/vips-resizer.d.ts.map +1 -0
  91. package/dist/core/image/vips-resizer.test.d.ts +2 -0
  92. package/dist/core/image/vips-resizer.test.d.ts.map +1 -0
  93. package/dist/core/llm/anthropic.d.ts +51 -0
  94. package/dist/core/llm/anthropic.d.ts.map +1 -0
  95. package/dist/core/llm/anthropic.test.d.ts +2 -0
  96. package/dist/core/llm/anthropic.test.d.ts.map +1 -0
  97. package/dist/core/llm/cache-breakpoints.d.ts +17 -0
  98. package/dist/core/llm/cache-breakpoints.d.ts.map +1 -0
  99. package/dist/core/llm/cache-live.test.d.ts +16 -0
  100. package/dist/core/llm/cache-live.test.d.ts.map +1 -0
  101. package/dist/core/llm/index.d.ts +16 -0
  102. package/dist/core/llm/index.d.ts.map +1 -0
  103. package/dist/core/llm/llm-log-types.d.ts +148 -0
  104. package/dist/core/llm/llm-log-types.d.ts.map +1 -0
  105. package/dist/core/llm/logger.d.ts +74 -0
  106. package/dist/core/llm/logger.d.ts.map +1 -0
  107. package/dist/core/llm/logger.test.d.ts +7 -0
  108. package/dist/core/llm/logger.test.d.ts.map +1 -0
  109. package/dist/core/llm/logging-provider.d.ts +20 -0
  110. package/dist/core/llm/logging-provider.d.ts.map +1 -0
  111. package/dist/core/llm/middleware.d.ts +79 -0
  112. package/dist/core/llm/middleware.d.ts.map +1 -0
  113. package/dist/core/llm/mock.d.ts +79 -0
  114. package/dist/core/llm/mock.d.ts.map +1 -0
  115. package/dist/core/llm/mock.test.d.ts +2 -0
  116. package/dist/core/llm/mock.test.d.ts.map +1 -0
  117. package/dist/core/llm/openrouter-mapping.test.d.ts +2 -0
  118. package/dist/core/llm/openrouter-mapping.test.d.ts.map +1 -0
  119. package/dist/core/llm/openrouter.d.ts +37 -0
  120. package/dist/core/llm/openrouter.d.ts.map +1 -0
  121. package/dist/core/llm/openrouter.test.d.ts +2 -0
  122. package/dist/core/llm/openrouter.test.d.ts.map +1 -0
  123. package/dist/core/llm/provider-integration.test.d.ts +12 -0
  124. package/dist/core/llm/provider-integration.test.d.ts.map +1 -0
  125. package/dist/core/llm/provider.d.ts +175 -0
  126. package/dist/core/llm/provider.d.ts.map +1 -0
  127. package/dist/core/llm/routing-provider.d.ts +31 -0
  128. package/dist/core/llm/routing-provider.d.ts.map +1 -0
  129. package/dist/core/llm/routing-provider.test.d.ts +2 -0
  130. package/dist/core/llm/routing-provider.test.d.ts.map +1 -0
  131. package/dist/core/llm/schema.d.ts +24 -0
  132. package/dist/core/llm/schema.d.ts.map +1 -0
  133. package/dist/core/llm/snapshot-fetch.d.ts +21 -0
  134. package/dist/core/llm/snapshot-fetch.d.ts.map +1 -0
  135. package/dist/core/llm/snapshot-middleware.d.ts +71 -0
  136. package/dist/core/llm/snapshot-middleware.d.ts.map +1 -0
  137. package/dist/core/llm/snapshot-middleware.test.d.ts +2 -0
  138. package/dist/core/llm/snapshot-middleware.test.d.ts.map +1 -0
  139. package/dist/core/llm/state.d.ts +73 -0
  140. package/dist/core/llm/state.d.ts.map +1 -0
  141. package/dist/core/llm/tokens.d.ts +36 -0
  142. package/dist/core/llm/tokens.d.ts.map +1 -0
  143. package/dist/core/multi-agent.integration.test.d.ts +2 -0
  144. package/dist/core/multi-agent.integration.test.d.ts.map +1 -0
  145. package/dist/core/plugin-hooks.integration.test.d.ts +2 -0
  146. package/dist/core/plugin-hooks.integration.test.d.ts.map +1 -0
  147. package/dist/core/plugins/hook-types.d.ts +55 -0
  148. package/dist/core/plugins/hook-types.d.ts.map +1 -0
  149. package/dist/core/plugins/index.d.ts +23 -0
  150. package/dist/core/plugins/index.d.ts.map +1 -0
  151. package/dist/core/plugins/plugin-builder.d.ts +474 -0
  152. package/dist/core/plugins/plugin-builder.d.ts.map +1 -0
  153. package/dist/core/preset/config.d.ts +55 -0
  154. package/dist/core/preset/config.d.ts.map +1 -0
  155. package/dist/core/preset/index.d.ts +8 -0
  156. package/dist/core/preset/index.d.ts.map +1 -0
  157. package/dist/core/preset/preset-builder.d.ts +44 -0
  158. package/dist/core/preset/preset-builder.d.ts.map +1 -0
  159. package/dist/core/session-lifecycle.integration.test.d.ts +2 -0
  160. package/dist/core/session-lifecycle.integration.test.d.ts.map +1 -0
  161. package/dist/core/sessions/apply-event.d.ts +19 -0
  162. package/dist/core/sessions/apply-event.d.ts.map +1 -0
  163. package/dist/core/sessions/context.d.ts +34 -0
  164. package/dist/core/sessions/context.d.ts.map +1 -0
  165. package/dist/core/sessions/fork-utils.d.ts +20 -0
  166. package/dist/core/sessions/fork-utils.d.ts.map +1 -0
  167. package/dist/core/sessions/fork-utils.test.d.ts +2 -0
  168. package/dist/core/sessions/fork-utils.test.d.ts.map +1 -0
  169. package/dist/core/sessions/reducer.d.ts +50 -0
  170. package/dist/core/sessions/reducer.d.ts.map +1 -0
  171. package/dist/core/sessions/schema.d.ts +82 -0
  172. package/dist/core/sessions/schema.d.ts.map +1 -0
  173. package/dist/core/sessions/session-environment.d.ts +13 -0
  174. package/dist/core/sessions/session-environment.d.ts.map +1 -0
  175. package/dist/core/sessions/session-manager.d.ts +183 -0
  176. package/dist/core/sessions/session-manager.d.ts.map +1 -0
  177. package/dist/core/sessions/session-store.d.ts +69 -0
  178. package/dist/core/sessions/session-store.d.ts.map +1 -0
  179. package/dist/core/sessions/session.d.ts +212 -0
  180. package/dist/core/sessions/session.d.ts.map +1 -0
  181. package/dist/core/sessions/session.test.d.ts +2 -0
  182. package/dist/core/sessions/session.test.d.ts.map +1 -0
  183. package/dist/core/sessions/state.d.ts +110 -0
  184. package/dist/core/sessions/state.d.ts.map +1 -0
  185. package/dist/core/system.d.ts +97 -0
  186. package/dist/core/system.d.ts.map +1 -0
  187. package/dist/core/tools/context.d.ts +3 -0
  188. package/dist/core/tools/context.d.ts.map +1 -0
  189. package/dist/core/tools/definition.d.ts +10 -0
  190. package/dist/core/tools/definition.d.ts.map +1 -0
  191. package/dist/core/tools/executor.d.ts +28 -0
  192. package/dist/core/tools/executor.d.ts.map +1 -0
  193. package/dist/core/tools/executor.test.d.ts +2 -0
  194. package/dist/core/tools/executor.test.d.ts.map +1 -0
  195. package/dist/core/tools/index.d.ts +4 -0
  196. package/dist/core/tools/index.d.ts.map +1 -0
  197. package/dist/core/tools/schema.d.ts +61 -0
  198. package/dist/core/tools/schema.d.ts.map +1 -0
  199. package/dist/core/tools/state.d.ts +28 -0
  200. package/dist/core/tools/state.d.ts.map +1 -0
  201. package/dist/index.d.ts +111 -0
  202. package/dist/index.d.ts.map +1 -0
  203. package/dist/lib/json/index.d.ts +17 -0
  204. package/dist/lib/json/index.d.ts.map +1 -0
  205. package/dist/lib/logger/console.d.ts +35 -0
  206. package/dist/lib/logger/console.d.ts.map +1 -0
  207. package/dist/lib/logger/console.test.d.ts +2 -0
  208. package/dist/lib/logger/console.test.d.ts.map +1 -0
  209. package/dist/lib/logger/file.d.ts +20 -0
  210. package/dist/lib/logger/file.d.ts.map +1 -0
  211. package/dist/lib/logger/index.d.ts +5 -0
  212. package/dist/lib/logger/index.d.ts.map +1 -0
  213. package/dist/lib/logger/logger.d.ts +87 -0
  214. package/dist/lib/logger/logger.d.ts.map +1 -0
  215. package/dist/lib/logger/ring-buffer.d.ts +33 -0
  216. package/dist/lib/logger/ring-buffer.d.ts.map +1 -0
  217. package/dist/lib/logger/tee.d.ts +15 -0
  218. package/dist/lib/logger/tee.d.ts.map +1 -0
  219. package/dist/lib/mime.d.ts +9 -0
  220. package/dist/lib/mime.d.ts.map +1 -0
  221. package/dist/lib/never.d.ts +2 -0
  222. package/dist/lib/never.d.ts.map +1 -0
  223. package/dist/lib/utils/hash.d.ts +19 -0
  224. package/dist/lib/utils/hash.d.ts.map +1 -0
  225. package/dist/lib/utils/result.d.ts +26 -0
  226. package/dist/lib/utils/result.d.ts.map +1 -0
  227. package/dist/platform/fs.d.ts +39 -0
  228. package/dist/platform/fs.d.ts.map +1 -0
  229. package/dist/platform/index.d.ts +21 -0
  230. package/dist/platform/index.d.ts.map +1 -0
  231. package/dist/platform/process.d.ts +24 -0
  232. package/dist/platform/process.d.ts.map +1 -0
  233. package/dist/plugins/agent-status/plugin.d.ts +8 -0
  234. package/dist/plugins/agent-status/plugin.d.ts.map +1 -0
  235. package/dist/plugins/agents/agents.integration.test.d.ts +2 -0
  236. package/dist/plugins/agents/agents.integration.test.d.ts.map +1 -0
  237. package/dist/plugins/agents/index.d.ts +3 -0
  238. package/dist/plugins/agents/index.d.ts.map +1 -0
  239. package/dist/plugins/agents/plugin.d.ts +57 -0
  240. package/dist/plugins/agents/plugin.d.ts.map +1 -0
  241. package/dist/plugins/context-compact/context-compact.integration.test.d.ts +2 -0
  242. package/dist/plugins/context-compact/context-compact.integration.test.d.ts.map +1 -0
  243. package/dist/plugins/context-compact/context-compactor.d.ts +88 -0
  244. package/dist/plugins/context-compact/context-compactor.d.ts.map +1 -0
  245. package/dist/plugins/context-compact/context-compactor.test.d.ts +2 -0
  246. package/dist/plugins/context-compact/context-compactor.test.d.ts.map +1 -0
  247. package/dist/plugins/context-compact/history-offloader.d.ts +17 -0
  248. package/dist/plugins/context-compact/history-offloader.d.ts.map +1 -0
  249. package/dist/plugins/context-compact/history-offloader.test.d.ts +2 -0
  250. package/dist/plugins/context-compact/history-offloader.test.d.ts.map +1 -0
  251. package/dist/plugins/context-compact/index.d.ts +4 -0
  252. package/dist/plugins/context-compact/index.d.ts.map +1 -0
  253. package/dist/plugins/context-compact/plugin.d.ts +15 -0
  254. package/dist/plugins/context-compact/plugin.d.ts.map +1 -0
  255. package/dist/plugins/filesystem/filesystem.integration.test.d.ts +2 -0
  256. package/dist/plugins/filesystem/filesystem.integration.test.d.ts.map +1 -0
  257. package/dist/plugins/filesystem/helpers.d.ts +34 -0
  258. package/dist/plugins/filesystem/helpers.d.ts.map +1 -0
  259. package/dist/plugins/filesystem/index.d.ts +5 -0
  260. package/dist/plugins/filesystem/index.d.ts.map +1 -0
  261. package/dist/plugins/filesystem/listing.d.ts +38 -0
  262. package/dist/plugins/filesystem/listing.d.ts.map +1 -0
  263. package/dist/plugins/filesystem/plugin.d.ts +53 -0
  264. package/dist/plugins/filesystem/plugin.d.ts.map +1 -0
  265. package/dist/plugins/filesystem/schema.d.ts +7 -0
  266. package/dist/plugins/filesystem/schema.d.ts.map +1 -0
  267. package/dist/plugins/git-status/index.d.ts +2 -0
  268. package/dist/plugins/git-status/index.d.ts.map +1 -0
  269. package/dist/plugins/git-status/plugin.d.ts +12 -0
  270. package/dist/plugins/git-status/plugin.d.ts.map +1 -0
  271. package/dist/plugins/limits-guard/config.d.ts +23 -0
  272. package/dist/plugins/limits-guard/config.d.ts.map +1 -0
  273. package/dist/plugins/limits-guard/index.d.ts +5 -0
  274. package/dist/plugins/limits-guard/index.d.ts.map +1 -0
  275. package/dist/plugins/limits-guard/limit-guard.d.ts +40 -0
  276. package/dist/plugins/limits-guard/limit-guard.d.ts.map +1 -0
  277. package/dist/plugins/limits-guard/limit-guard.test.d.ts +2 -0
  278. package/dist/plugins/limits-guard/limit-guard.test.d.ts.map +1 -0
  279. package/dist/plugins/limits-guard/limits-guard.integration.test.d.ts +2 -0
  280. package/dist/plugins/limits-guard/limits-guard.integration.test.d.ts.map +1 -0
  281. package/dist/plugins/limits-guard/plugin.d.ts +39 -0
  282. package/dist/plugins/limits-guard/plugin.d.ts.map +1 -0
  283. package/dist/plugins/llm-debug/index.d.ts +2 -0
  284. package/dist/plugins/llm-debug/index.d.ts.map +1 -0
  285. package/dist/plugins/llm-debug/llm-debug.integration.test.d.ts +2 -0
  286. package/dist/plugins/llm-debug/llm-debug.integration.test.d.ts.map +1 -0
  287. package/dist/plugins/llm-debug/plugin.d.ts +31 -0
  288. package/dist/plugins/llm-debug/plugin.d.ts.map +1 -0
  289. package/dist/plugins/logs/index.d.ts +2 -0
  290. package/dist/plugins/logs/index.d.ts.map +1 -0
  291. package/dist/plugins/logs/plugin.d.ts +10 -0
  292. package/dist/plugins/logs/plugin.d.ts.map +1 -0
  293. package/dist/plugins/mailbox/helpers.d.ts +20 -0
  294. package/dist/plugins/mailbox/helpers.d.ts.map +1 -0
  295. package/dist/plugins/mailbox/index.d.ts +9 -0
  296. package/dist/plugins/mailbox/index.d.ts.map +1 -0
  297. package/dist/plugins/mailbox/mailbox.integration.test.d.ts +2 -0
  298. package/dist/plugins/mailbox/mailbox.integration.test.d.ts.map +1 -0
  299. package/dist/plugins/mailbox/plugin.d.ts +31 -0
  300. package/dist/plugins/mailbox/plugin.d.ts.map +1 -0
  301. package/dist/plugins/mailbox/prompts.d.ts +21 -0
  302. package/dist/plugins/mailbox/prompts.d.ts.map +1 -0
  303. package/dist/plugins/mailbox/query.d.ts +33 -0
  304. package/dist/plugins/mailbox/query.d.ts.map +1 -0
  305. package/dist/plugins/mailbox/schema.d.ts +54 -0
  306. package/dist/plugins/mailbox/schema.d.ts.map +1 -0
  307. package/dist/plugins/mailbox/state.d.ts +40 -0
  308. package/dist/plugins/mailbox/state.d.ts.map +1 -0
  309. package/dist/plugins/resources/index.d.ts +7 -0
  310. package/dist/plugins/resources/index.d.ts.map +1 -0
  311. package/dist/plugins/resources/manifest.d.ts +23 -0
  312. package/dist/plugins/resources/manifest.d.ts.map +1 -0
  313. package/dist/plugins/resources/plugin.d.ts +28 -0
  314. package/dist/plugins/resources/plugin.d.ts.map +1 -0
  315. package/dist/plugins/resources/post-inject.d.ts +39 -0
  316. package/dist/plugins/resources/post-inject.d.ts.map +1 -0
  317. package/dist/plugins/resources/state.d.ts +25 -0
  318. package/dist/plugins/resources/state.d.ts.map +1 -0
  319. package/dist/plugins/result-eviction/index.d.ts +3 -0
  320. package/dist/plugins/result-eviction/index.d.ts.map +1 -0
  321. package/dist/plugins/result-eviction/plugin.d.ts +19 -0
  322. package/dist/plugins/result-eviction/plugin.d.ts.map +1 -0
  323. package/dist/plugins/result-eviction/result-eviction.integration.test.d.ts +2 -0
  324. package/dist/plugins/result-eviction/result-eviction.integration.test.d.ts.map +1 -0
  325. package/dist/plugins/services/plugin.d.ts +85 -0
  326. package/dist/plugins/services/plugin.d.ts.map +1 -0
  327. package/dist/plugins/services/port-pool.d.ts +32 -0
  328. package/dist/plugins/services/port-pool.d.ts.map +1 -0
  329. package/dist/plugins/services/prompt.d.ts +13 -0
  330. package/dist/plugins/services/prompt.d.ts.map +1 -0
  331. package/dist/plugins/services/schema.d.ts +70 -0
  332. package/dist/plugins/services/schema.d.ts.map +1 -0
  333. package/dist/plugins/services/service.d.ts +86 -0
  334. package/dist/plugins/services/service.d.ts.map +1 -0
  335. package/dist/plugins/services/services.integration.test.d.ts +2 -0
  336. package/dist/plugins/services/services.integration.test.d.ts.map +1 -0
  337. package/dist/plugins/session-lifecycle/index.d.ts +2 -0
  338. package/dist/plugins/session-lifecycle/index.d.ts.map +1 -0
  339. package/dist/plugins/session-lifecycle/plugin.d.ts +97 -0
  340. package/dist/plugins/session-lifecycle/plugin.d.ts.map +1 -0
  341. package/dist/plugins/session-lifecycle/session-lifecycle.integration.test.d.ts +2 -0
  342. package/dist/plugins/session-lifecycle/session-lifecycle.integration.test.d.ts.map +1 -0
  343. package/dist/plugins/session-state/plugin.d.ts +48 -0
  344. package/dist/plugins/session-state/plugin.d.ts.map +1 -0
  345. package/dist/plugins/session-stats/index.d.ts +4 -0
  346. package/dist/plugins/session-stats/index.d.ts.map +1 -0
  347. package/dist/plugins/session-stats/plugin.d.ts +29 -0
  348. package/dist/plugins/session-stats/plugin.d.ts.map +1 -0
  349. package/dist/plugins/shell/executor.d.ts +78 -0
  350. package/dist/plugins/shell/executor.d.ts.map +1 -0
  351. package/dist/plugins/shell/index.d.ts +6 -0
  352. package/dist/plugins/shell/index.d.ts.map +1 -0
  353. package/dist/plugins/shell/plugin.d.ts +51 -0
  354. package/dist/plugins/shell/plugin.d.ts.map +1 -0
  355. package/dist/plugins/shell/shell.integration.test.d.ts +2 -0
  356. package/dist/plugins/shell/shell.integration.test.d.ts.map +1 -0
  357. package/dist/plugins/shell/shell.test.d.ts +2 -0
  358. package/dist/plugins/shell/shell.test.d.ts.map +1 -0
  359. package/dist/plugins/skills/discovery.d.ts +69 -0
  360. package/dist/plugins/skills/discovery.d.ts.map +1 -0
  361. package/dist/plugins/skills/discovery.test.d.ts +2 -0
  362. package/dist/plugins/skills/discovery.test.d.ts.map +1 -0
  363. package/dist/plugins/skills/index.d.ts +11 -0
  364. package/dist/plugins/skills/index.d.ts.map +1 -0
  365. package/dist/plugins/skills/plugin.d.ts +94 -0
  366. package/dist/plugins/skills/plugin.d.ts.map +1 -0
  367. package/dist/plugins/skills/prompts.d.ts +29 -0
  368. package/dist/plugins/skills/prompts.d.ts.map +1 -0
  369. package/dist/plugins/skills/schema.d.ts +64 -0
  370. package/dist/plugins/skills/schema.d.ts.map +1 -0
  371. package/dist/plugins/skills/skills.integration.test.d.ts +2 -0
  372. package/dist/plugins/skills/skills.integration.test.d.ts.map +1 -0
  373. package/dist/plugins/snapshotting/index.d.ts +4 -0
  374. package/dist/plugins/snapshotting/index.d.ts.map +1 -0
  375. package/dist/plugins/snapshotting/jj-snapshotter.d.ts +27 -0
  376. package/dist/plugins/snapshotting/jj-snapshotter.d.ts.map +1 -0
  377. package/dist/plugins/snapshotting/plugin.d.ts +15 -0
  378. package/dist/plugins/snapshotting/plugin.d.ts.map +1 -0
  379. package/dist/plugins/snapshotting/snapshotter.d.ts +19 -0
  380. package/dist/plugins/snapshotting/snapshotter.d.ts.map +1 -0
  381. package/dist/plugins/todo/index.d.ts +7 -0
  382. package/dist/plugins/todo/index.d.ts.map +1 -0
  383. package/dist/plugins/todo/plugin.d.ts +95 -0
  384. package/dist/plugins/todo/plugin.d.ts.map +1 -0
  385. package/dist/plugins/todo/prompts.d.ts +13 -0
  386. package/dist/plugins/todo/prompts.d.ts.map +1 -0
  387. package/dist/plugins/todo/schema.d.ts +44 -0
  388. package/dist/plugins/todo/schema.d.ts.map +1 -0
  389. package/dist/plugins/todo/todo.integration.test.d.ts +2 -0
  390. package/dist/plugins/todo/todo.integration.test.d.ts.map +1 -0
  391. package/dist/plugins/uploads/index.d.ts +9 -0
  392. package/dist/plugins/uploads/index.d.ts.map +1 -0
  393. package/dist/plugins/uploads/plugin.d.ts +56 -0
  394. package/dist/plugins/uploads/plugin.d.ts.map +1 -0
  395. package/dist/plugins/uploads/preprocessor.d.ts +70 -0
  396. package/dist/plugins/uploads/preprocessor.d.ts.map +1 -0
  397. package/dist/plugins/uploads/preprocessors/image-classifier.d.ts +49 -0
  398. package/dist/plugins/uploads/preprocessors/image-classifier.d.ts.map +1 -0
  399. package/dist/plugins/uploads/preprocessors/index.d.ts +7 -0
  400. package/dist/plugins/uploads/preprocessors/index.d.ts.map +1 -0
  401. package/dist/plugins/uploads/preprocessors/markitdown-preprocessor.d.ts +43 -0
  402. package/dist/plugins/uploads/preprocessors/markitdown-preprocessor.d.ts.map +1 -0
  403. package/dist/plugins/uploads/preprocessors/zip-preprocessor.d.ts +30 -0
  404. package/dist/plugins/uploads/preprocessors/zip-preprocessor.d.ts.map +1 -0
  405. package/dist/plugins/uploads/schema.d.ts +72 -0
  406. package/dist/plugins/uploads/schema.d.ts.map +1 -0
  407. package/dist/plugins/uploads/state.d.ts +38 -0
  408. package/dist/plugins/uploads/state.d.ts.map +1 -0
  409. package/dist/plugins/uploads/uploads.integration.test.d.ts +2 -0
  410. package/dist/plugins/uploads/uploads.integration.test.d.ts.map +1 -0
  411. package/dist/plugins/user-chat/index.d.ts +7 -0
  412. package/dist/plugins/user-chat/index.d.ts.map +1 -0
  413. package/dist/plugins/user-chat/plugin.d.ts +221 -0
  414. package/dist/plugins/user-chat/plugin.d.ts.map +1 -0
  415. package/dist/plugins/user-chat/prompts.d.ts +13 -0
  416. package/dist/plugins/user-chat/prompts.d.ts.map +1 -0
  417. package/dist/plugins/user-chat/schema.d.ts +82 -0
  418. package/dist/plugins/user-chat/schema.d.ts.map +1 -0
  419. package/dist/plugins/user-chat/user-chat.integration.test.d.ts +2 -0
  420. package/dist/plugins/user-chat/user-chat.integration.test.d.ts.map +1 -0
  421. package/dist/plugins/workers/context.d.ts +159 -0
  422. package/dist/plugins/workers/context.d.ts.map +1 -0
  423. package/dist/plugins/workers/definition.d.ts +118 -0
  424. package/dist/plugins/workers/definition.d.ts.map +1 -0
  425. package/dist/plugins/workers/index.d.ts +11 -0
  426. package/dist/plugins/workers/index.d.ts.map +1 -0
  427. package/dist/plugins/workers/plugin.d.ts +125 -0
  428. package/dist/plugins/workers/plugin.d.ts.map +1 -0
  429. package/dist/plugins/workers/worker.d.ts +76 -0
  430. package/dist/plugins/workers/worker.d.ts.map +1 -0
  431. package/dist/plugins/workers/workers.integration.test.d.ts +2 -0
  432. package/dist/plugins/workers/workers.integration.test.d.ts.map +1 -0
  433. package/dist/prompts/base.d.ts +75 -0
  434. package/dist/prompts/base.d.ts.map +1 -0
  435. package/dist/prompts/builder.d.ts +73 -0
  436. package/dist/prompts/builder.d.ts.map +1 -0
  437. package/dist/prompts/index.d.ts +10 -0
  438. package/dist/prompts/index.d.ts.map +1 -0
  439. package/dist/prompts/macros.d.ts +15 -0
  440. package/dist/prompts/macros.d.ts.map +1 -0
  441. package/dist/prompts/macros.test.d.ts +2 -0
  442. package/dist/prompts/macros.test.d.ts.map +1 -0
  443. package/dist/testing/bootstrap-for-testing.d.ts +12 -0
  444. package/dist/testing/bootstrap-for-testing.d.ts.map +1 -0
  445. package/dist/testing/index.d.ts +8 -0
  446. package/dist/testing/index.d.ts.map +1 -0
  447. package/dist/testing/node-platform.d.ts +12 -0
  448. package/dist/testing/node-platform.d.ts.map +1 -0
  449. package/dist/testing/notification-collector.d.ts +46 -0
  450. package/dist/testing/notification-collector.d.ts.map +1 -0
  451. package/dist/testing/preset-helpers.d.ts +28 -0
  452. package/dist/testing/preset-helpers.d.ts.map +1 -0
  453. package/dist/testing/test-harness.d.ts +117 -0
  454. package/dist/testing/test-harness.d.ts.map +1 -0
  455. package/dist/testing/test-harness.test.d.ts +2 -0
  456. package/dist/testing/test-harness.test.d.ts.map +1 -0
  457. package/dist/testing/wait-helpers.d.ts +17 -0
  458. package/dist/testing/wait-helpers.d.ts.map +1 -0
  459. package/dist/transport/adapter/client-adapter.d.ts +32 -0
  460. package/dist/transport/adapter/client-adapter.d.ts.map +1 -0
  461. package/dist/transport/adapter/index.d.ts +23 -0
  462. package/dist/transport/adapter/index.d.ts.map +1 -0
  463. package/dist/transport/adapter/server-adapter.d.ts +29 -0
  464. package/dist/transport/adapter/server-adapter.d.ts.map +1 -0
  465. package/dist/transport/adapter/types.d.ts +14 -0
  466. package/dist/transport/adapter/types.d.ts.map +1 -0
  467. package/dist/transport/http/app.d.ts +41 -0
  468. package/dist/transport/http/app.d.ts.map +1 -0
  469. package/dist/transport/http/index.d.ts +7 -0
  470. package/dist/transport/http/index.d.ts.map +1 -0
  471. package/dist/transport/http/middleware/bearer-auth.d.ts +16 -0
  472. package/dist/transport/http/middleware/bearer-auth.d.ts.map +1 -0
  473. package/dist/transport/http/middleware/error-handler.d.ts +21 -0
  474. package/dist/transport/http/middleware/error-handler.d.ts.map +1 -0
  475. package/dist/transport/http/routes/files.d.ts +16 -0
  476. package/dist/transport/http/routes/files.d.ts.map +1 -0
  477. package/dist/transport/http/routes/resources.d.ts +12 -0
  478. package/dist/transport/http/routes/resources.d.ts.map +1 -0
  479. package/dist/transport/http/routes/rpc.d.ts +22 -0
  480. package/dist/transport/http/routes/rpc.d.ts.map +1 -0
  481. package/dist/transport/http/routes/rpc.integration.test.d.ts +2 -0
  482. package/dist/transport/http/routes/rpc.integration.test.d.ts.map +1 -0
  483. package/dist/transport/http/routes/rpc.test.d.ts +2 -0
  484. package/dist/transport/http/routes/rpc.test.d.ts.map +1 -0
  485. package/dist/transport/http/routes/upload.d.ts +14 -0
  486. package/dist/transport/http/routes/upload.d.ts.map +1 -0
  487. package/dist/transport/rpc/index.d.ts +8 -0
  488. package/dist/transport/rpc/index.d.ts.map +1 -0
  489. package/dist/transport/rpc/methods.d.ts +25 -0
  490. package/dist/transport/rpc/methods.d.ts.map +1 -0
  491. package/dist/user-config.d.ts +29 -0
  492. package/dist/user-config.d.ts.map +1 -0
  493. package/package.json +154 -0
  494. package/src/bootstrap.ts +268 -0
  495. package/src/builtin-events.ts +25 -0
  496. package/src/bun-platform/fs.ts +50 -0
  497. package/src/bun-platform/index.ts +21 -0
  498. package/src/bun-platform/process.ts +25 -0
  499. package/src/config.test.ts +174 -0
  500. package/src/config.ts +103 -0
  501. package/src/core/agent-loop.integration.test.ts +503 -0
  502. package/src/core/agents/agent-config.test.ts +240 -0
  503. package/src/core/agents/agent-roles.ts +41 -0
  504. package/src/core/agents/agent-shutdown.test.ts +236 -0
  505. package/src/core/agents/agent.test.ts +387 -0
  506. package/src/core/agents/agent.ts +1472 -0
  507. package/src/core/agents/communicator.ts +16 -0
  508. package/src/core/agents/config.ts +98 -0
  509. package/src/core/agents/context.ts +19 -0
  510. package/src/core/agents/debounce.ts +116 -0
  511. package/src/core/agents/handler-events.test.ts +167 -0
  512. package/src/core/agents/index.ts +1 -0
  513. package/src/core/agents/response-sanitizer.test.ts +137 -0
  514. package/src/core/agents/response-sanitizer.ts +67 -0
  515. package/src/core/agents/retry.ts +164 -0
  516. package/src/core/agents/schema.ts +75 -0
  517. package/src/core/agents/state.ts +272 -0
  518. package/src/core/context/state.ts +38 -0
  519. package/src/core/errors.ts +55 -0
  520. package/src/core/event-sourcing.integration.test.ts +191 -0
  521. package/src/core/events/base-event-store.ts +264 -0
  522. package/src/core/events/event-store.ts +143 -0
  523. package/src/core/events/file.test.ts +436 -0
  524. package/src/core/events/file.ts +372 -0
  525. package/src/core/events/index.ts +3 -0
  526. package/src/core/events/memory.test.ts +741 -0
  527. package/src/core/events/memory.ts +131 -0
  528. package/src/core/events/metadata-utils.ts +133 -0
  529. package/src/core/events/test-helpers.ts +31 -0
  530. package/src/core/events/types.ts +64 -0
  531. package/src/core/file-store/file-store.ts +275 -0
  532. package/src/core/file-store/types.ts +52 -0
  533. package/src/core/image/image-processor.test.ts +218 -0
  534. package/src/core/image/image-processor.ts +127 -0
  535. package/src/core/image/index.ts +4 -0
  536. package/src/core/image/noop-resizer.ts +7 -0
  537. package/src/core/image/types.ts +24 -0
  538. package/src/core/image/vips-resizer.test.ts +377 -0
  539. package/src/core/image/vips-resizer.ts +124 -0
  540. package/src/core/llm/__snapshots__/anthropic-assistant-text-with-tool-calls.json +156 -0
  541. package/src/core/llm/__snapshots__/anthropic-consecutive-tool-results.json +152 -0
  542. package/src/core/llm/__snapshots__/anthropic-image-data-url.json +105 -0
  543. package/src/core/llm/__snapshots__/anthropic-image-http-url.json +104 -0
  544. package/src/core/llm/__snapshots__/anthropic-multiple-images.json +113 -0
  545. package/src/core/llm/__snapshots__/anthropic-multiple-tool-calls-requested.json +151 -0
  546. package/src/core/llm/__snapshots__/anthropic-simple-user-message.json +97 -0
  547. package/src/core/llm/__snapshots__/anthropic-system-message-in-conversation.json +119 -0
  548. package/src/core/llm/__snapshots__/anthropic-tool-call.json +123 -0
  549. package/src/core/llm/__snapshots__/anthropic-tool-error-result.json +139 -0
  550. package/src/core/llm/__snapshots__/anthropic-tool-result-with-image.json +152 -0
  551. package/src/core/llm/__snapshots__/anthropic-tool-roundtrip.json +139 -0
  552. package/src/core/llm/__snapshots__/openrouter-assistant-text-with-tool-calls.json +150 -0
  553. package/src/core/llm/__snapshots__/openrouter-consecutive-tool-results.json +150 -0
  554. package/src/core/llm/__snapshots__/openrouter-image-data-url.json +107 -0
  555. package/src/core/llm/__snapshots__/openrouter-image-http-url.json +107 -0
  556. package/src/core/llm/__snapshots__/openrouter-multiple-images.json +113 -0
  557. package/src/core/llm/__snapshots__/openrouter-multiple-tool-calls-requested.json +158 -0
  558. package/src/core/llm/__snapshots__/openrouter-simple-user-message.json +96 -0
  559. package/src/core/llm/__snapshots__/openrouter-system-message-in-conversation.json +108 -0
  560. package/src/core/llm/__snapshots__/openrouter-tool-call.json +129 -0
  561. package/src/core/llm/__snapshots__/openrouter-tool-error-result.json +137 -0
  562. package/src/core/llm/__snapshots__/openrouter-tool-result-with-image.json +148 -0
  563. package/src/core/llm/__snapshots__/openrouter-tool-roundtrip.json +137 -0
  564. package/src/core/llm/anthropic.test.ts +509 -0
  565. package/src/core/llm/anthropic.ts +578 -0
  566. package/src/core/llm/cache-breakpoints.ts +38 -0
  567. package/src/core/llm/cache-live.test.ts +155 -0
  568. package/src/core/llm/index.ts +30 -0
  569. package/src/core/llm/llm-log-types.ts +167 -0
  570. package/src/core/llm/logger.test.ts +270 -0
  571. package/src/core/llm/logger.ts +306 -0
  572. package/src/core/llm/logging-provider.ts +73 -0
  573. package/src/core/llm/middleware.ts +172 -0
  574. package/src/core/llm/mock.test.ts +402 -0
  575. package/src/core/llm/mock.ts +234 -0
  576. package/src/core/llm/openrouter-mapping.test.ts +153 -0
  577. package/src/core/llm/openrouter.test.ts +499 -0
  578. package/src/core/llm/openrouter.ts +458 -0
  579. package/src/core/llm/provider-integration.test.ts +408 -0
  580. package/src/core/llm/provider.ts +238 -0
  581. package/src/core/llm/routing-provider.test.ts +113 -0
  582. package/src/core/llm/routing-provider.ts +86 -0
  583. package/src/core/llm/schema.ts +47 -0
  584. package/src/core/llm/snapshot-fetch.ts +158 -0
  585. package/src/core/llm/snapshot-middleware.test.ts +168 -0
  586. package/src/core/llm/snapshot-middleware.ts +185 -0
  587. package/src/core/llm/state.ts +92 -0
  588. package/src/core/llm/tokens.ts +61 -0
  589. package/src/core/multi-agent.integration.test.ts +340 -0
  590. package/src/core/plugin-hooks.integration.test.ts +428 -0
  591. package/src/core/plugins/hook-types.ts +49 -0
  592. package/src/core/plugins/index.ts +52 -0
  593. package/src/core/plugins/plugin-builder.ts +967 -0
  594. package/src/core/preset/config.ts +110 -0
  595. package/src/core/preset/index.ts +11 -0
  596. package/src/core/preset/preset-builder.ts +111 -0
  597. package/src/core/session-lifecycle.integration.test.ts +202 -0
  598. package/src/core/sessions/apply-event.ts +46 -0
  599. package/src/core/sessions/context.ts +36 -0
  600. package/src/core/sessions/fork-utils.test.ts +158 -0
  601. package/src/core/sessions/fork-utils.ts +71 -0
  602. package/src/core/sessions/reducer.ts +95 -0
  603. package/src/core/sessions/schema.ts +91 -0
  604. package/src/core/sessions/session-environment.ts +12 -0
  605. package/src/core/sessions/session-manager.ts +883 -0
  606. package/src/core/sessions/session-store.ts +141 -0
  607. package/src/core/sessions/session.test.ts +1730 -0
  608. package/src/core/sessions/session.ts +833 -0
  609. package/src/core/sessions/state.ts +520 -0
  610. package/src/core/system.ts +206 -0
  611. package/src/core/tools/context.ts +3 -0
  612. package/src/core/tools/definition.ts +15 -0
  613. package/src/core/tools/executor.test.ts +160 -0
  614. package/src/core/tools/executor.ts +117 -0
  615. package/src/core/tools/index.ts +3 -0
  616. package/src/core/tools/schema.ts +80 -0
  617. package/src/core/tools/state.ts +34 -0
  618. package/src/index.ts +165 -0
  619. package/src/lib/json/index.ts +20 -0
  620. package/src/lib/logger/console.test.ts +348 -0
  621. package/src/lib/logger/console.ts +185 -0
  622. package/src/lib/logger/file.ts +65 -0
  623. package/src/lib/logger/index.ts +4 -0
  624. package/src/lib/logger/logger.ts +114 -0
  625. package/src/lib/logger/ring-buffer.ts +65 -0
  626. package/src/lib/logger/tee.ts +51 -0
  627. package/src/lib/mime.ts +23 -0
  628. package/src/lib/never.ts +3 -0
  629. package/src/lib/utils/hash.ts +38 -0
  630. package/src/lib/utils/result.ts +35 -0
  631. package/src/platform/fs.ts +38 -0
  632. package/src/platform/index.ts +23 -0
  633. package/src/platform/process.ts +28 -0
  634. package/src/plugins/agent-status/plugin.ts +77 -0
  635. package/src/plugins/agents/agents.integration.test.ts +808 -0
  636. package/src/plugins/agents/index.ts +2 -0
  637. package/src/plugins/agents/plugin.ts +242 -0
  638. package/src/plugins/context-compact/context-compact.integration.test.ts +207 -0
  639. package/src/plugins/context-compact/context-compactor.test.ts +923 -0
  640. package/src/plugins/context-compact/context-compactor.ts +343 -0
  641. package/src/plugins/context-compact/history-offloader.test.ts +100 -0
  642. package/src/plugins/context-compact/history-offloader.ts +47 -0
  643. package/src/plugins/context-compact/index.ts +3 -0
  644. package/src/plugins/context-compact/plugin.ts +62 -0
  645. package/src/plugins/filesystem/filesystem.integration.test.ts +485 -0
  646. package/src/plugins/filesystem/helpers.ts +216 -0
  647. package/src/plugins/filesystem/index.ts +4 -0
  648. package/src/plugins/filesystem/listing.ts +276 -0
  649. package/src/plugins/filesystem/plugin.ts +468 -0
  650. package/src/plugins/filesystem/schema.ts +6 -0
  651. package/src/plugins/git-status/index.ts +1 -0
  652. package/src/plugins/git-status/plugin.ts +166 -0
  653. package/src/plugins/limits-guard/config.ts +26 -0
  654. package/src/plugins/limits-guard/index.ts +4 -0
  655. package/src/plugins/limits-guard/limit-guard.test.ts +161 -0
  656. package/src/plugins/limits-guard/limit-guard.ts +164 -0
  657. package/src/plugins/limits-guard/limits-guard.integration.test.ts +437 -0
  658. package/src/plugins/limits-guard/plugin.ts +306 -0
  659. package/src/plugins/llm-debug/index.ts +1 -0
  660. package/src/plugins/llm-debug/llm-debug.integration.test.ts +192 -0
  661. package/src/plugins/llm-debug/plugin.ts +172 -0
  662. package/src/plugins/logs/index.ts +1 -0
  663. package/src/plugins/logs/plugin.ts +39 -0
  664. package/src/plugins/mailbox/helpers.ts +83 -0
  665. package/src/plugins/mailbox/index.ts +13 -0
  666. package/src/plugins/mailbox/mailbox.integration.test.ts +705 -0
  667. package/src/plugins/mailbox/plugin.ts +270 -0
  668. package/src/plugins/mailbox/prompts.ts +104 -0
  669. package/src/plugins/mailbox/query.ts +53 -0
  670. package/src/plugins/mailbox/schema.ts +81 -0
  671. package/src/plugins/mailbox/state.ts +52 -0
  672. package/src/plugins/resources/index.ts +11 -0
  673. package/src/plugins/resources/manifest.ts +25 -0
  674. package/src/plugins/resources/plugin.ts +201 -0
  675. package/src/plugins/resources/post-inject.ts +74 -0
  676. package/src/plugins/resources/state.ts +30 -0
  677. package/src/plugins/result-eviction/index.ts +2 -0
  678. package/src/plugins/result-eviction/plugin.ts +65 -0
  679. package/src/plugins/result-eviction/result-eviction.integration.test.ts +244 -0
  680. package/src/plugins/services/plugin.ts +485 -0
  681. package/src/plugins/services/port-pool.ts +73 -0
  682. package/src/plugins/services/prompt.ts +53 -0
  683. package/src/plugins/services/schema.ts +83 -0
  684. package/src/plugins/services/service.ts +578 -0
  685. package/src/plugins/services/services.integration.test.ts +595 -0
  686. package/src/plugins/session-lifecycle/index.ts +1 -0
  687. package/src/plugins/session-lifecycle/plugin.ts +302 -0
  688. package/src/plugins/session-lifecycle/session-lifecycle.integration.test.ts +639 -0
  689. package/src/plugins/session-state/plugin.ts +179 -0
  690. package/src/plugins/session-stats/index.ts +3 -0
  691. package/src/plugins/session-stats/plugin.ts +120 -0
  692. package/src/plugins/shell/executor.ts +462 -0
  693. package/src/plugins/shell/index.ts +23 -0
  694. package/src/plugins/shell/plugin.ts +118 -0
  695. package/src/plugins/shell/shell.integration.test.ts +273 -0
  696. package/src/plugins/shell/shell.test.ts +314 -0
  697. package/src/plugins/skills/discovery.test.ts +395 -0
  698. package/src/plugins/skills/discovery.ts +276 -0
  699. package/src/plugins/skills/index.ts +32 -0
  700. package/src/plugins/skills/plugin.ts +381 -0
  701. package/src/plugins/skills/prompts.ts +84 -0
  702. package/src/plugins/skills/schema.ts +88 -0
  703. package/src/plugins/skills/skills.integration.test.ts +580 -0
  704. package/src/plugins/snapshotting/index.ts +3 -0
  705. package/src/plugins/snapshotting/jj-snapshotter.ts +122 -0
  706. package/src/plugins/snapshotting/plugin.ts +36 -0
  707. package/src/plugins/snapshotting/snapshotter.ts +20 -0
  708. package/src/plugins/todo/index.ts +11 -0
  709. package/src/plugins/todo/plugin.ts +363 -0
  710. package/src/plugins/todo/prompts.ts +63 -0
  711. package/src/plugins/todo/schema.ts +71 -0
  712. package/src/plugins/todo/todo.integration.test.ts +687 -0
  713. package/src/plugins/uploads/index.ts +13 -0
  714. package/src/plugins/uploads/plugin.ts +406 -0
  715. package/src/plugins/uploads/preprocessor.ts +111 -0
  716. package/src/plugins/uploads/preprocessors/image-classifier.ts +176 -0
  717. package/src/plugins/uploads/preprocessors/index.ts +7 -0
  718. package/src/plugins/uploads/preprocessors/markitdown-preprocessor.ts +262 -0
  719. package/src/plugins/uploads/preprocessors/zip-preprocessor.ts +210 -0
  720. package/src/plugins/uploads/schema.ts +92 -0
  721. package/src/plugins/uploads/state.ts +42 -0
  722. package/src/plugins/uploads/uploads.integration.test.ts +654 -0
  723. package/src/plugins/user-chat/index.ts +17 -0
  724. package/src/plugins/user-chat/plugin.ts +728 -0
  725. package/src/plugins/user-chat/prompts.ts +30 -0
  726. package/src/plugins/user-chat/schema.ts +80 -0
  727. package/src/plugins/user-chat/user-chat.integration.test.ts +794 -0
  728. package/src/plugins/workers/context.ts +251 -0
  729. package/src/plugins/workers/definition.ts +169 -0
  730. package/src/plugins/workers/index.ts +21 -0
  731. package/src/plugins/workers/plugin.ts +722 -0
  732. package/src/plugins/workers/worker.ts +115 -0
  733. package/src/plugins/workers/workers.integration.test.ts +778 -0
  734. package/src/prompts/base.ts +266 -0
  735. package/src/prompts/builder.ts +194 -0
  736. package/src/prompts/index.ts +36 -0
  737. package/src/prompts/macros.test.ts +107 -0
  738. package/src/prompts/macros.ts +27 -0
  739. package/src/testing/bootstrap-for-testing.ts +39 -0
  740. package/src/testing/index.ts +7 -0
  741. package/src/testing/node-platform.ts +80 -0
  742. package/src/testing/notification-collector.ts +100 -0
  743. package/src/testing/preset-helpers.ts +57 -0
  744. package/src/testing/test-harness.test.ts +63 -0
  745. package/src/testing/test-harness.ts +279 -0
  746. package/src/testing/wait-helpers.ts +84 -0
  747. package/src/transport/adapter/client-adapter.ts +81 -0
  748. package/src/transport/adapter/index.ts +42 -0
  749. package/src/transport/adapter/server-adapter.ts +93 -0
  750. package/src/transport/adapter/types.ts +20 -0
  751. package/src/transport/http/app.ts +129 -0
  752. package/src/transport/http/index.ts +7 -0
  753. package/src/transport/http/middleware/bearer-auth.ts +40 -0
  754. package/src/transport/http/middleware/error-handler.ts +76 -0
  755. package/src/transport/http/routes/files.ts +274 -0
  756. package/src/transport/http/routes/resources.ts +115 -0
  757. package/src/transport/http/routes/rpc.integration.test.ts +243 -0
  758. package/src/transport/http/routes/rpc.test.ts +372 -0
  759. package/src/transport/http/routes/rpc.ts +156 -0
  760. package/src/transport/http/routes/upload.ts +286 -0
  761. package/src/transport/rpc/index.ts +11 -0
  762. package/src/transport/rpc/methods.ts +38 -0
  763. package/src/user-config.ts +33 -0
@@ -0,0 +1,234 @@
1
+ /**
2
+ * Agent - OOP wrapper for agent orchestration.
3
+ *
4
+ * Responsibilities:
5
+ * - Process mailbox (inference + tool execution loop)
6
+ * - Embedded scheduling with debounce
7
+ * - Spawn child agents
8
+ */
9
+ import z from 'zod/v4';
10
+ import { DebounceCallback } from '../../core/agents/debounce.js';
11
+ import type { AgentId } from '../../core/agents/schema.js';
12
+ import type { AgentState } from '../../core/agents/state.js';
13
+ import type { FileStore } from '../../core/file-store/types.js';
14
+ import type { LLMProvider } from '../../core/llm/provider.js';
15
+ import { ModelId } from '../../core/llm/schema.js';
16
+ import type { AgentPluginConfig, ConfiguredPlugin, PluginMethodCaller, PluginNotification } from '../../core/plugins/plugin-builder.js';
17
+ import type { ToolDefinition } from '../../core/tools/definition.js';
18
+ import type { Logger } from '../../lib/logger/logger.js';
19
+ import type { SessionContext } from '../sessions/context.js';
20
+ import type { SessionStore } from '../sessions/session-store.js';
21
+ import type { SessionEnvironment, ToolExecutor } from '../tools';
22
+ /**
23
+ * Agent configuration - includes both behavior and debounce settings.
24
+ */
25
+ export interface AgentConfig<TInput = unknown> {
26
+ systemPrompt: string;
27
+ model: ModelId;
28
+ spawnableAgents: string[];
29
+ /** Preset-level static tools (merged with plugin tools at runtime) */
30
+ tools?: ToolDefinition<any>[];
31
+ /** Debounce time in ms before processing agent mailbox. Default: 500ms */
32
+ debounceMs?: number;
33
+ /** Optional callback to determine when to process */
34
+ debounceCallback?: DebounceCallback;
35
+ /** Interval in ms for checking debounce callback (default: 100) */
36
+ checkIntervalMs?: number;
37
+ /** Optional Zod schema for typed agent input validation */
38
+ input?: z.ZodType<TInput>;
39
+ /** Per-plugin agent-level configs */
40
+ plugins?: AgentPluginConfig[];
41
+ }
42
+ /**
43
+ * Dependencies for creating an Agent.
44
+ */
45
+ export interface AgentDependencies {
46
+ id: AgentId;
47
+ sessionContext: SessionContext;
48
+ store: SessionStore;
49
+ llmProvider: LLMProvider;
50
+ /** Named provider instances, passed to InferenceContext for middleware routing */
51
+ llmProviders?: ReadonlyMap<string, LLMProvider>;
52
+ toolExecutor: ToolExecutor;
53
+ logger: Logger;
54
+ config: AgentConfig;
55
+ plugins: ConfiguredPlugin[];
56
+ /** Session environment directories for tool context */
57
+ environment: SessionEnvironment;
58
+ /** FileStore for resolving agent-visible file:// paths (used by LLM provider) */
59
+ fileStore: FileStore;
60
+ /** Plugin contexts created by session-level initPluginContexts(), keyed by plugin name */
61
+ pluginContexts?: ReadonlyMap<string, unknown>;
62
+ /** Callback for sending plugin notifications directly to transport */
63
+ sendNotification?: (notification: PluginNotification) => void;
64
+ /** Callback for resolving cross-plugin method calls (delegates to session) */
65
+ pluginMethodCaller?: PluginMethodCaller;
66
+ /** Callback for scheduling this agent for processing */
67
+ schedule?: () => void;
68
+ }
69
+ /**
70
+ * Agent handles mailbox processing, inference, and tool execution.
71
+ *
72
+ * Features:
73
+ * - Debounced processing (timer or callback-based)
74
+ * - LLM inference with retry
75
+ * - Context compaction
76
+ * - Tool execution
77
+ */
78
+ export declare class Agent {
79
+ readonly id: AgentId;
80
+ private readonly config;
81
+ private readonly sessionContext;
82
+ private readonly store;
83
+ private readonly logger;
84
+ private readonly llmProvider;
85
+ private readonly llmProviders;
86
+ private readonly toolExecutor;
87
+ private readonly plugins;
88
+ private readonly environment;
89
+ private readonly fileStore;
90
+ private readonly pluginContexts;
91
+ private readonly sendNotification?;
92
+ private readonly pluginMethodCaller?;
93
+ private readonly scheduleCallback?;
94
+ /** Merged tools map: config tools + plugin tools (plugins override). Rebuilt each processing cycle. */
95
+ private tools;
96
+ private debounceTimer?;
97
+ private processing;
98
+ private scheduled;
99
+ private pendingReschedule;
100
+ private readonly abortController;
101
+ /** Track conversation turn number for handler context */
102
+ private turnNumber;
103
+ constructor(deps: AgentDependencies);
104
+ /**
105
+ * Get the current agent state from store.
106
+ */
107
+ get state(): AgentState | null;
108
+ /**
109
+ * Unified processing entry point - decides what to do next.
110
+ * Safe to call multiple times; skips if already processing.
111
+ */
112
+ continue(): Promise<void>;
113
+ /**
114
+ * Schedule processing with debounce.
115
+ * Use this when receiving new messages or after tool execution.
116
+ */
117
+ scheduleProcessing(): void;
118
+ /**
119
+ * Shutdown the agent - cancel any scheduled processing.
120
+ */
121
+ shutdown(): void;
122
+ /**
123
+ * Check if processing is scheduled.
124
+ */
125
+ isScheduled(): boolean;
126
+ /**
127
+ * Determine the next action based on current agent state.
128
+ */
129
+ private decide;
130
+ private static readonly MAX_INFERENCE_RETRIES;
131
+ /**
132
+ * Run inference on agent's mailbox.
133
+ * Runs when there are unconsumed messages OR pending tool results.
134
+ */
135
+ private runInference;
136
+ /**
137
+ * Emit inference_completed event.
138
+ */
139
+ private emitInferenceCompleted;
140
+ /**
141
+ * Cancel any scheduled processing.
142
+ */
143
+ private cancelSchedule;
144
+ /**
145
+ * Execute a single tool call.
146
+ */
147
+ private executeToolCall;
148
+ /**
149
+ * Emit agent_paused event with reason 'handler'.
150
+ */
151
+ private emitHandlerPause;
152
+ /**
153
+ * Build base AgentContext for handler/hook calls.
154
+ */
155
+ private buildAgentContext;
156
+ /**
157
+ * Build PluginHookContext for a specific plugin.
158
+ * Adds pluginConfig, pluginAgentConfig, pluginContext, pluginState, self.
159
+ */
160
+ private buildPluginHookContext;
161
+ /**
162
+ * Emit handler_completed event.
163
+ *
164
+ * Skipped when the handler produced no action (null result) — those events are
165
+ * pure noise (64%+ of a typical session log). onStart is the one exception: the
166
+ * reducer uses its completion event to flip `onStartCalled`, so we always emit
167
+ * it even with a null result.
168
+ */
169
+ private emitHandlerCompleted;
170
+ /**
171
+ * Execute onStart handler - called once on first inference.
172
+ */
173
+ private executeOnStart;
174
+ /**
175
+ * Execute beforeInference handler.
176
+ */
177
+ private executeBeforeInference;
178
+ /**
179
+ * Execute afterInference handler.
180
+ */
181
+ private executeAfterInference;
182
+ /**
183
+ * Execute beforeToolCall handler.
184
+ */
185
+ private executeBeforeToolCall;
186
+ /**
187
+ * Execute afterToolCall handler.
188
+ */
189
+ private executeAfterToolCall;
190
+ /**
191
+ * Execute onComplete handler.
192
+ */
193
+ private executeOnComplete;
194
+ /**
195
+ * Execute onError handler.
196
+ */
197
+ private executeOnError;
198
+ /**
199
+ * Build pending messages from tool results.
200
+ * Mailbox messages are handled by the mailbox plugin's dequeue mechanism.
201
+ */
202
+ private buildPendingMessages;
203
+ /**
204
+ * Build LLM messages from agent state and pending messages.
205
+ * Order: [preamble, conversation history, pending messages]
206
+ * - Preamble is never compacted (includes skills injected by plugin)
207
+ * - Conversation history may be compacted
208
+ * - Pending messages are ephemeral (for current turn)
209
+ */
210
+ private buildLLMMessages;
211
+ /**
212
+ * Build merged tools map from config (preset-level) and plugin tools.
213
+ * Plugin tools override config tools with the same name.
214
+ */
215
+ private buildToolsMap;
216
+ /**
217
+ * Build composed system prompt from base briefing, plugin sections, environment, and preset prompt.
218
+ */
219
+ private buildSystemPrompt;
220
+ /**
221
+ * Get combined status from all plugins.
222
+ */
223
+ private getPluginStatus;
224
+ /**
225
+ * Check if any plugin has pending messages for this agent.
226
+ */
227
+ private hasPluginPendingMessages;
228
+ /**
229
+ * Collect pending messages from all plugins that have dequeue hooks.
230
+ * Returns array of { plugin, messages, token } for each plugin with pending messages.
231
+ */
232
+ private collectPluginMessages;
233
+ }
234
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/core/agents/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=agent.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.test.d.ts","sourceRoot":"","sources":["../../../src/core/agents/agent.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { AgentDefinition, CommunicatorConfig } from './config.js';
2
+ export declare function createCommunicatorDefinition(config: CommunicatorConfig): AgentDefinition;
3
+ //# sourceMappingURL=communicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"communicator.d.ts","sourceRoot":"","sources":["../../../src/core/agents/communicator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEtE,wBAAgB,4BAA4B,CAC3C,MAAM,EAAE,kBAAkB,GACxB,eAAe,CAWjB"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Agent configuration types for Roj presets
3
+ */
4
+ import z from 'zod/v4';
5
+ import type { DebounceCallback } from '../../core/agents/debounce.js';
6
+ import type { LLMMiddleware } from '../../core/llm/middleware.js';
7
+ import { ModelId } from '../../core/llm/schema.js';
8
+ import type { AgentPluginConfig } from '../../core/plugins/plugin-builder.js';
9
+ import type { ToolDefinition } from '../../core/tools';
10
+ import type { ServiceConfig } from '../../plugins/services/schema.js';
11
+ /**
12
+ * User communication mode for agents.
13
+ * - 'tool': Use tell_user/ask_user tools only (default)
14
+ * - 'xml': Use <user> tags in response content
15
+ * - 'both': Support both tools and <user> tags
16
+ */
17
+ export type UserCommunicationMode = 'tool' | 'xml' | 'both';
18
+ /**
19
+ * Base configuration shared by all agent types.
20
+ */
21
+ export interface BaseAgentConfig<TInput = unknown> {
22
+ /** System prompt for the agent */
23
+ system: string;
24
+ /** LLM model for this agent */
25
+ model: ModelId;
26
+ /** Available tools for the agent */
27
+ tools?: ToolDefinition<any>[];
28
+ /** Names of agents this agent can spawn */
29
+ agents?: string[];
30
+ /** Per-plugin agent-level configs */
31
+ plugins?: AgentPluginConfig[];
32
+ /** Debounce time in ms before processing mailbox. Default: 500ms */
33
+ debounceMs?: number;
34
+ /** Custom debounce callback for dynamic processing decisions */
35
+ debounceCallback?: DebounceCallback;
36
+ /** Interval in ms for checking debounce callback (default: 100) */
37
+ checkIntervalMs?: number;
38
+ /** User communication mode. Default: 'tool' */
39
+ userCommunication?: UserCommunicationMode;
40
+ /** Optional Zod schema for typed agent input validation */
41
+ input?: z.ZodType<TInput>;
42
+ /** Service configurations for this agent (auto-wired to services plugin) */
43
+ services?: ServiceConfig[];
44
+ /** LLM middleware chain applied per-agent (runs after preset-level middleware) */
45
+ llmMiddleware?: LLMMiddleware[];
46
+ }
47
+ /**
48
+ * Agent definition - configuration for a spawnable agent.
49
+ * Extends BaseAgentConfig with a name field.
50
+ */
51
+ export interface AgentDefinition<TInput = unknown> extends BaseAgentConfig<TInput> {
52
+ name: string;
53
+ }
54
+ /**
55
+ * Agent definition for use in Preset arrays.
56
+ * Uses 'any' to allow mixing typed and untyped agents in the same array.
57
+ */
58
+ export type AnyAgentDefinition = AgentDefinition<any>;
59
+ /**
60
+ * Orchestrator configuration - same as BaseAgentConfig.
61
+ */
62
+ export type OrchestratorConfig<TInput = unknown> = BaseAgentConfig<TInput>;
63
+ /**
64
+ * Response format preferences for communicator
65
+ */
66
+ export interface ResponseFormat {
67
+ /** Preferred language */
68
+ language?: string;
69
+ /** Tone (formal, casual, friendly, professional) */
70
+ tone?: 'formal' | 'casual' | 'friendly' | 'professional';
71
+ /** Include thinking/reasoning in responses */
72
+ showReasoning?: boolean;
73
+ /** Maximum response length hint */
74
+ maxLengthHint?: number;
75
+ }
76
+ /**
77
+ * Communicator configuration (optional communication agent).
78
+ * Extends base config with optional tools (defaults provided) and response format.
79
+ */
80
+ export interface CommunicatorConfig extends BaseAgentConfig {
81
+ /** Response format preferences (communicator-specific) */
82
+ responseFormat?: ResponseFormat;
83
+ }
84
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/agents/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,CAAC,MAAM,QAAQ,CAAA;AACtB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAMjE;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;AAE3D;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,MAAM,GAAG,OAAO;IAChD,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,+BAA+B;IAC/B,KAAK,EAAE,OAAO,CAAA;IAGd,oCAAoC;IACpC,KAAK,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAA;IAC7B,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,qCAAqC;IACrC,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC7B,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,qBAAqB,CAAA;IACzC,2DAA2D;IAC3D,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACzB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAA;IAC1B,kFAAkF;IAClF,aAAa,CAAC,EAAE,aAAa,EAAE,CAAA;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe,CAAC,MAAM,GAAG,OAAO,CAAE,SAAQ,eAAe,CAAC,MAAM,CAAC;IACjF,IAAI,EAAE,MAAM,CAAA;CACZ;AAED;;;GAGG;AAEH,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;AAErD;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,MAAM,GAAG,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;AAE1E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oDAAoD;IACpD,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,cAAc,CAAA;IACxD,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IAC1D,0DAA0D;IAC1D,cAAc,CAAC,EAAE,cAAc,CAAA;CAC/B"}
@@ -0,0 +1,16 @@
1
+ import { SessionContext } from '../sessions/context';
2
+ import { AgentConfig } from './agent';
3
+ import { AgentId } from './schema';
4
+ import { AgentState } from './state';
5
+ export type AgentContext<TInput = unknown> = SessionContext & {
6
+ /** The agent's ID */
7
+ agentId: AgentId;
8
+ /** The agent's current state */
9
+ agentState: AgentState;
10
+ agentConfig: AgentConfig;
11
+ /** The typed input if agent has inputSchema, otherwise the task string */
12
+ input: TInput;
13
+ /** The parent agent ID (null for root agents) */
14
+ parentId: AgentId | null;
15
+ };
16
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/core/agents/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,MAAM,MAAM,YAAY,CAAC,MAAM,GAAG,OAAO,IACtC,cAAc,GACd;IACD,qBAAqB;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,gCAAgC;IAChC,UAAU,EAAE,UAAU,CAAA;IAEtB,WAAW,EAAE,WAAW,CAAA;IACxB,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAA;IACb,iDAAiD;IACjD,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAA;CACxB,CAAA"}
@@ -0,0 +1,52 @@
1
+ import { MailboxMessage } from '../../plugins/mailbox/schema';
2
+ import { PendingToolResult } from '../tools/schema';
3
+ /**
4
+ * Context provided to debounce callback for decision making.
5
+ */
6
+ export interface DebounceContext {
7
+ /** Unconsumed messages waiting in the mailbox */
8
+ messages: MailboxMessage[];
9
+ /** How long the oldest message has been waiting (ms) */
10
+ oldestWaitingMs: number;
11
+ /** Total number of pending messages */
12
+ totalPending: number;
13
+ /** Pending tool results awaiting LLM processing */
14
+ pendingToolResults: PendingToolResult[];
15
+ }
16
+ /**
17
+ * Decision returned by debounce callback.
18
+ */
19
+ export type DebounceDecision = 'process_now' | 'wait';
20
+ /**
21
+ * Callback function for dynamic debounce decisions.
22
+ * Called periodically to decide whether to process agent mailbox.
23
+ * Async to allow for external checks (e.g., rate limiting, external state).
24
+ */
25
+ export type DebounceCallback = (context: DebounceContext) => DebounceDecision | Promise<DebounceDecision>;
26
+ /**
27
+ * Default debounce callback - process after 500ms wait.
28
+ */
29
+ export declare const defaultDebounceCallback: DebounceCallback;
30
+ /**
31
+ * Aggressive debounce callback - process quickly after 100ms.
32
+ */
33
+ export declare const aggressiveDebounceCallback: DebounceCallback;
34
+ /**
35
+ * Batching debounce callback - wait for multiple messages or timeout.
36
+ * Processes when 5+ messages accumulated or after 2s wait.
37
+ */
38
+ export declare const batchingDebounceCallback: DebounceCallback;
39
+ /**
40
+ * Wait-for-response debounce callback - waits for response after communication tools.
41
+ * Used by child agents that should wait after sending messages instead of
42
+ * immediately calling LLM with a "WAITING" response.
43
+ *
44
+ * Behavior:
45
+ * - If new mailbox messages arrived, process immediately
46
+ * - If ANY tool result has isError=true, process immediately (error recovery)
47
+ * - If ALL pending tool results are from communication tools (send_message, start_*, etc.),
48
+ * wait up to 60s for a response before processing
49
+ * - If ANY tool result is NOT a communication tool, process immediately
50
+ */
51
+ export declare const waitForResponseDebounceCallback: DebounceCallback;
52
+ //# sourceMappingURL=debounce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../../src/core/agents/debounce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,iDAAiD;IACjD,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,wDAAwD;IACxD,eAAe,EAAE,MAAM,CAAA;IACvB,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAA;IACpB,mDAAmD;IACnD,kBAAkB,EAAE,iBAAiB,EAAE,CAAA;CACvC;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,MAAM,CAAA;AAErD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,eAAe,KAAK,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAMzG;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,gBAKrC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,gBAKxC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,gBAKtC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,+BAA+B,EAAE,gBAuC7C,CAAA"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tests for handler-related event handling in session state
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=handler-events.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler-events.test.d.ts","sourceRoot":"","sources":["../../../src/core/agents/handler-events.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,2 @@
1
+ export * from './schema.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/agents/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Response sanitization utilities for LLM outputs.
3
+ *
4
+ * Prevents hallucination by:
5
+ * - Truncating at <message tags (system-generated only)
6
+ * - Truncating after WAITING signal
7
+ */
8
+ /**
9
+ * Result of sanitizing an LLM response.
10
+ */
11
+ export interface SanitizedResponse {
12
+ /** Sanitized content (truncated at message tags, WAITING) */
13
+ content: string | null;
14
+ /** Whether the response was truncated */
15
+ wasTruncated: boolean;
16
+ }
17
+ /**
18
+ * Sanitize LLM response content to prevent hallucination.
19
+ * - Truncates at any `<message` tag (LLM should not generate these)
20
+ * - Truncates content after `WAITING` signal
21
+ *
22
+ * @param content - Raw LLM response content
23
+ */
24
+ export declare function sanitizeLLMResponse(content: string | null): SanitizedResponse;
25
+ //# sourceMappingURL=response-sanitizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-sanitizer.d.ts","sourceRoot":"","sources":["../../../src/core/agents/response-sanitizer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,6DAA6D;IAC7D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,yCAAyC;IACzC,YAAY,EAAE,OAAO,CAAA;CACrB;AAMD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,MAAM,GAAG,IAAI,GACpB,iBAAiB,CA+BnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=response-sanitizer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-sanitizer.test.d.ts","sourceRoot":"","sources":["../../../src/core/agents/response-sanitizer.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,40 @@
1
+ import type { LLMError } from '../../core/llm/provider.js';
2
+ import type { Result } from '../../lib/utils/result.js';
3
+ import type { Logger } from '../../lib/logger/logger.js';
4
+ export interface RetryOptions {
5
+ maxAttempts?: number;
6
+ baseDelayMs?: number;
7
+ maxDelayMs?: number;
8
+ }
9
+ export declare const DEFAULT_RETRY_OPTIONS: Required<RetryOptions>;
10
+ export interface WithRetryOptions<E> extends RetryOptions {
11
+ isRetryable: (error: E) => boolean;
12
+ getRetryDelay?: (error: E) => number | undefined;
13
+ /** Error to return when aborted before first attempt */
14
+ abortError?: E;
15
+ logger?: Logger;
16
+ context?: string;
17
+ signal?: AbortSignal;
18
+ }
19
+ /**
20
+ * Generic retry wrapper with exponential backoff.
21
+ */
22
+ export declare function withRetry<T, E>(fn: () => Promise<Result<T, E>>, options: WithRetryOptions<E>): Promise<Result<T, E>>;
23
+ /**
24
+ * Determines if an LLM error is retryable.
25
+ * Retryable: rate_limit, server_error, network_error, timeout
26
+ * Non-retryable: invalid_request, context_length (permanent failures)
27
+ */
28
+ export declare function isRetryableLLMError(error: LLMError): boolean;
29
+ /**
30
+ * Gets retry delay from LLM error if available (e.g., rate limit retry-after).
31
+ */
32
+ export declare function getLLMRetryDelay(error: LLMError): number | undefined;
33
+ /**
34
+ * Convenience wrapper for LLM inference with retry.
35
+ */
36
+ export declare function withLLMRetry<T>(fn: () => Promise<Result<T, LLMError>>, options?: RetryOptions & {
37
+ logger?: Logger;
38
+ signal?: AbortSignal;
39
+ }): Promise<Result<T, LLMError>>;
40
+ //# sourceMappingURL=retry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../src/core/agents/retry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAMxD,MAAM,WAAW,YAAY;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,YAAY,CAIxD,CAAA;AAMD,MAAM,WAAW,gBAAgB,CAAC,CAAC,CAAE,SAAQ,YAAY;IACxD,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAA;IAClC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAA;IAChD,wDAAwD;IACxD,UAAU,CAAC,EAAE,CAAC,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,WAAW,CAAA;CACpB;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,CAAC,EACnC,EAAE,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAC/B,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAoDvB;AAsCD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAI5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAEpE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,CAAC,EACnC,EAAE,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EACtC,OAAO,CAAC,EAAE,YAAY,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GAChE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAQ9B"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Agent domain types and schemas
3
+ *
4
+ * Contains all types related to agents:
5
+ * - Branded ID type and constructor
6
+ * - Agent status types (domain and protocol)
7
+ * - Zod schemas for validation
8
+ */
9
+ import z from 'zod/v4';
10
+ /** AgentId schema - validates any string and brands as AgentId. */
11
+ export declare const agentIdSchema: z.core.$ZodBranded<z.ZodString, "AgentId", "out">;
12
+ /** Branded AgentId type */
13
+ export type AgentId = z.infer<typeof agentIdSchema>;
14
+ /** Constructor for AgentId */
15
+ export declare const AgentId: (id: string) => AgentId;
16
+ /**
17
+ * Generate a short agent ID based on definition name and sequence number.
18
+ * Format: {definitionName}_{seq} e.g., "orchestrator_1", "planner_2"
19
+ */
20
+ export declare const generateAgentId: (definitionName: string, seq: number) => AgentId;
21
+ /**
22
+ * Domain agent status - represents the internal state machine.
23
+ * Used by the agent runtime and event sourcing.
24
+ */
25
+ export type AgentStatus = 'pending' | 'inferring' | 'tool_exec' | 'errored' | 'paused';
26
+ /**
27
+ * Zod schema for domain agent status.
28
+ */
29
+ export declare const agentStatusSchema: z.ZodEnum<{
30
+ errored: "errored";
31
+ pending: "pending";
32
+ inferring: "inferring";
33
+ tool_exec: "tool_exec";
34
+ paused: "paused";
35
+ }>;
36
+ /**
37
+ * Protocol agent status - represents the UI-friendly status.
38
+ * Maps from domain status for display in the SPA.
39
+ */
40
+ export type ProtocolAgentStatus = 'idle' | 'thinking' | 'responding' | 'waiting_for_user' | 'error' | 'paused';
41
+ /**
42
+ * Zod schema for protocol agent status.
43
+ */
44
+ export declare const protocolAgentStatusSchema: z.ZodEnum<{
45
+ error: "error";
46
+ paused: "paused";
47
+ idle: "idle";
48
+ thinking: "thinking";
49
+ responding: "responding";
50
+ waiting_for_user: "waiting_for_user";
51
+ }>;
52
+ /**
53
+ * Generate a test agent ID (for tests only).
54
+ * Uses incrementing counter for uniqueness.
55
+ */
56
+ export declare const generateTestAgentId: (definitionName?: string) => AgentId;
57
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/core/agents/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,CAAC,MAAM,QAAQ,CAAA;AAMtB,mEAAmE;AACnE,eAAO,MAAM,aAAa,mDAA8B,CAAA;AAExD,2BAA2B;AAC3B,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAEnD,8BAA8B;AAC9B,eAAO,MAAM,OAAO,GAAI,IAAI,MAAM,KAAG,OAAwB,CAAA;AAE7D;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,gBAAgB,MAAM,EAAE,KAAK,MAAM,KAAG,OAA8C,CAAA;AAUpH;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEtF;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;EAAqE,CAAA;AAMnG;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,kBAAkB,GAAG,OAAO,GAAG,QAAQ,CAAA;AAE9G;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;EAAoF,CAAA;AAQ1H;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,uBAA6B,KAAG,OAAwD,CAAA"}