@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,159 @@
1
+ /**
2
+ * WorkerContext - context provided to workers during execution.
3
+ *
4
+ * Provides:
5
+ * - State management (event-sourced)
6
+ * - File storage via FileStore
7
+ * - Execution control (pause, cancel)
8
+ * - Communication with owning agent
9
+ */
10
+ import type { AgentId } from '../../core/agents/schema.js';
11
+ import type { FileStore } from '../../core/file-store/types.js';
12
+ import type { SessionId } from '../../core/sessions/schema.js';
13
+ import type { SessionState } from '../../core/sessions/state.js';
14
+ import type { Logger } from '../../lib/logger/logger.js';
15
+ import type { WorkerSubEvent } from './definition.js';
16
+ import type { EmitEvent } from './plugin.js';
17
+ import { WorkerId } from './worker.js';
18
+ /**
19
+ * Context provided to workers during execution.
20
+ *
21
+ * @template TState - Worker state type
22
+ * @template TSubEvent - Worker event type
23
+ */
24
+ export interface WorkerContext<TState, TSubEvent extends WorkerSubEvent> {
25
+ /** Session ID */
26
+ readonly sessionId: SessionId;
27
+ /** Worker ID */
28
+ readonly workerId: WorkerId;
29
+ /** Owning agent ID */
30
+ readonly agentId: AgentId;
31
+ /** Logger for debugging */
32
+ readonly logger: Logger;
33
+ /** File store for reading/writing files */
34
+ readonly files: FileStore;
35
+ /**
36
+ * Get current worker state (reconstructed from events).
37
+ */
38
+ getState(): TState;
39
+ /**
40
+ * Emit a worker-specific event.
41
+ * The event is persisted and applied to state.
42
+ */
43
+ emit(event: TSubEvent): Promise<void>;
44
+ /**
45
+ * Check if worker should continue execution.
46
+ * Returns false if cancelled or session closed.
47
+ */
48
+ shouldContinue(): boolean;
49
+ /**
50
+ * Check if worker is paused.
51
+ * Workers should pause their work when this returns true.
52
+ */
53
+ isPaused(): boolean;
54
+ /**
55
+ * Notify the owning agent with a message.
56
+ * Sends a mailbox message to the agent.
57
+ */
58
+ notifyAgent(message: string): Promise<void>;
59
+ /**
60
+ * Get current session state.
61
+ * Workers can read session metadata via getSessionState().metadata.
62
+ */
63
+ getSessionState(): SessionState;
64
+ /**
65
+ * Get an AbortSignal that is aborted when the worker is cancelled.
66
+ * Use this to abort long-running operations like fetch() when the worker is cancelled.
67
+ */
68
+ getAbortSignal(): AbortSignal;
69
+ }
70
+ /**
71
+ * Implementation of WorkerContext.
72
+ */
73
+ export declare class WorkerContextImpl<TState, TSubEvent extends WorkerSubEvent> implements WorkerContext<TState, TSubEvent> {
74
+ readonly sessionId: SessionId;
75
+ readonly workerId: WorkerId;
76
+ readonly agentId: AgentId;
77
+ readonly logger: Logger;
78
+ readonly files: FileStore;
79
+ private readonly workerType;
80
+ private readonly emitEvent;
81
+ private readonly getSessionStateCallback;
82
+ private readonly reducer;
83
+ private localState;
84
+ /**
85
+ * Local cancellation flag - provides immediate signal before event is persisted.
86
+ * This is set by cancel() and checked by shouldContinue() for fast response.
87
+ */
88
+ private _cancelled;
89
+ /**
90
+ * Local pause flag - provides immediate signal before event is persisted.
91
+ * This is set by pause() and checked by isPaused() for fast response.
92
+ */
93
+ private _paused;
94
+ /**
95
+ * AbortController for cancelling long-running operations.
96
+ * Aborted when cancel() is called.
97
+ */
98
+ private readonly abortController;
99
+ private readonly scheduleCallback?;
100
+ constructor(params: {
101
+ sessionId: SessionId;
102
+ workerId: WorkerId;
103
+ agentId: AgentId;
104
+ workerType: string;
105
+ files: FileStore;
106
+ emitEvent: EmitEvent;
107
+ getSessionState: () => SessionState;
108
+ reducer: (state: TState, event: TSubEvent) => TState;
109
+ initialState: TState;
110
+ logger: Logger;
111
+ schedule?: () => void;
112
+ });
113
+ /**
114
+ * Get current worker state (tracked locally).
115
+ */
116
+ getState(): TState;
117
+ /**
118
+ * Emit a worker-specific event.
119
+ * Applies the event to local state before persisting.
120
+ */
121
+ emit(event: TSubEvent): Promise<void>;
122
+ /**
123
+ * Check if worker should continue execution.
124
+ * Returns false if cancelled.
125
+ */
126
+ shouldContinue(): boolean;
127
+ /**
128
+ * Check if worker is paused.
129
+ * Workers should check this in their main loop and wait when paused.
130
+ */
131
+ isPaused(): boolean;
132
+ /**
133
+ * Notify the owning agent.
134
+ * NOTE: Uses direct mailbox event emission because mailbox.send() only accepts AgentId
135
+ * as sender, but workers need to send as WorkerId. Migrate when mailbox.send supports WorkerId.
136
+ */
137
+ notifyAgent(message: string): Promise<void>;
138
+ /**
139
+ * Get current session state.
140
+ */
141
+ getSessionState(): SessionState;
142
+ /**
143
+ * Get AbortSignal for cancelling long-running operations.
144
+ */
145
+ getAbortSignal(): AbortSignal;
146
+ /**
147
+ * Mark worker as cancelled and abort any pending operations.
148
+ */
149
+ cancel(): void;
150
+ /**
151
+ * Mark worker as paused.
152
+ */
153
+ pause(): void;
154
+ /**
155
+ * Resume worker.
156
+ */
157
+ resume(): void;
158
+ }
159
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/plugins/workers/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * WorkerDefinition - defines the interface for worker types.
3
+ *
4
+ * Each worker type defines:
5
+ * 1. State shape - worker-specific state structure
6
+ * 2. Event types - worker-specific events
7
+ * 3. Reducer - how events change state
8
+ * 4. Execute - main worker logic
9
+ * 5. Commands - optional command definitions for typed tools
10
+ */
11
+ import type z from 'zod/v4';
12
+ import type { ToolResultContent } from '../../core/llm/llm-log-types.js';
13
+ import type { Result } from '../../lib/utils/result.js';
14
+ import type { WorkerContext } from './context.js';
15
+ import { WorkerCommand, WorkerError, WorkerResult } from './worker.js';
16
+ /**
17
+ * Base worker configuration.
18
+ * Describes a worker type's metadata and state management.
19
+ * Agent-server's WorkerDefinition adds typed generics and execution logic.
20
+ */
21
+ export interface WorkerConfig {
22
+ /** Unique worker type identifier */
23
+ type: string;
24
+ /** Human-readable description */
25
+ description: string;
26
+ /** Zod schema for config validation */
27
+ configSchema: z.ZodType<unknown>;
28
+ /** Optional command definitions for typed tools */
29
+ commands?: Record<string, WorkerCommandConfig>;
30
+ /** Create initial state from config (method syntax for bivariance) */
31
+ initialState(config: unknown): unknown;
32
+ /** Reducer for worker-specific events (method syntax for bivariance) */
33
+ reduce(state: unknown, event: {
34
+ type: string;
35
+ [key: string]: unknown;
36
+ }): unknown;
37
+ }
38
+ /**
39
+ * Configuration for a worker command.
40
+ * Used to generate typed tools for worker control.
41
+ */
42
+ export interface WorkerCommandConfig {
43
+ description: string;
44
+ schema: z.ZodType<unknown>;
45
+ }
46
+ /**
47
+ * Definition for a worker command.
48
+ * Used to generate typed tools for worker control.
49
+ * Extends WorkerCommandConfig from shared.
50
+ */
51
+ export interface WorkerCommandDefinition<TArgs = unknown> extends WorkerCommandConfig {
52
+ /** Zod schema for command arguments validation */
53
+ schema: z.ZodType<TArgs>;
54
+ }
55
+ /**
56
+ * Base sub-event type that all worker-specific events must extend.
57
+ */
58
+ export interface WorkerSubEvent {
59
+ type: string;
60
+ [key: string]: unknown;
61
+ }
62
+ /**
63
+ * Worker definition - describes a worker type's behavior.
64
+ * Structurally compatible with WorkerConfig from shared (when default type params are used).
65
+ * Adds typed generics and execution logic.
66
+ *
67
+ * @template TConfig - Worker configuration type
68
+ * @template TState - Worker state type
69
+ * @template TSubEvent - Worker-specific event type
70
+ */
71
+ export interface WorkerDefinition<TConfig = unknown, TState = unknown, TSubEvent extends WorkerSubEvent = WorkerSubEvent> {
72
+ /** Unique worker type identifier */
73
+ type: string;
74
+ /** Human-readable description */
75
+ description: string;
76
+ /** Zod schema for config validation */
77
+ configSchema: z.ZodType<TConfig>;
78
+ /** Optional command definitions for generating typed tools */
79
+ commands?: Record<string, WorkerCommandDefinition>;
80
+ /** Create initial state from config */
81
+ initialState(config: TConfig): TState;
82
+ /** Reducer for worker-specific events */
83
+ reduce(state: TState, event: TSubEvent): TState;
84
+ /**
85
+ * Main execution logic.
86
+ * The worker runs until completion, failure, or cancellation.
87
+ */
88
+ execute(config: TConfig, context: WorkerContext<TState, TSubEvent>): Promise<Result<WorkerResult, WorkerError>>;
89
+ /**
90
+ * Optional: handle commands from agent.
91
+ * Commands allow agents to control running workers.
92
+ * Returns ToolResultContent for the agent to receive.
93
+ */
94
+ handleCommand?(command: WorkerCommand, context: WorkerContext<TState, TSubEvent>): Promise<Result<ToolResultContent, WorkerError>>;
95
+ /**
96
+ * Optional: summarize state for status reporting.
97
+ * When provided, worker_status tool returns this summary instead of the full state.
98
+ * Use this to avoid sending large state objects (e.g. full crawl results) into LLM context.
99
+ */
100
+ summarizeState?(state: TState): unknown;
101
+ }
102
+ /**
103
+ * Create a worker definition with proper typing.
104
+ *
105
+ * @param type - Unique worker type identifier
106
+ * @param description - Human-readable description
107
+ * @param configSchema - Zod schema for config validation
108
+ * @param definition - Worker behavior definition
109
+ */
110
+ export declare function createWorkerDefinition<TConfig, TState, TSubEvent extends WorkerSubEvent>(type: string, description: string, configSchema: z.ZodType<TConfig>, definition: {
111
+ commands?: Record<string, WorkerCommandDefinition>;
112
+ initialState: (config: TConfig) => TState;
113
+ reduce: (state: TState, event: TSubEvent) => TState;
114
+ execute: (config: TConfig, ctx: WorkerContext<TState, TSubEvent>) => Promise<Result<WorkerResult, WorkerError>>;
115
+ handleCommand?: (cmd: WorkerCommand, ctx: WorkerContext<TState, TSubEvent>) => Promise<Result<ToolResultContent, WorkerError>>;
116
+ summarizeState?: (state: TState) => unknown;
117
+ }): WorkerDefinition<TConfig, TState, TSubEvent>;
118
+ //# sourceMappingURL=definition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../src/plugins/workers/definition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export { workerPlugin } from './plugin.js';
2
+ export type { WorkerAgentConfig, WorkerPresetConfig } from './plugin.js';
3
+ export { workerEvents } from './plugin.js';
4
+ export type { WorkerCompletedEvent, WorkerFailedEvent, WorkerStartedEvent, WorkerStatusChangedEvent, WorkerSubEventEmittedEvent } from './plugin.js';
5
+ export type { WorkerDefinition, WorkerSubEvent } from './definition.js';
6
+ export { createWorkerDefinition } from './definition.js';
7
+ export type { WorkerContext } from './context.js';
8
+ export { WorkerContextImpl } from './context.js';
9
+ export type { WorkerError, WorkerResult } from './worker.js';
10
+ export type { EmitEvent } from './plugin.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/workers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAGxE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAGpJ,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAGxD,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAGhD,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG5D,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,125 @@
1
+ import z from 'zod/v4';
2
+ import type { BaseEvent } from '../../core/events/types.js';
3
+ import type { WorkerDefinition } from './definition.js';
4
+ export declare const workerEvents: import("../../core/events/types.js").EventsFactory<{
5
+ worker_started: z.ZodObject<{
6
+ workerId: z.core.$ZodBranded<z.ZodString, "WorkerId", "out">;
7
+ agentId: z.core.$ZodBranded<z.ZodString, "AgentId", "out">;
8
+ workerType: z.ZodString;
9
+ config: z.ZodUnknown;
10
+ }, z.core.$strip>;
11
+ worker_sub_event: z.ZodObject<{
12
+ workerId: z.core.$ZodBranded<z.ZodString, "WorkerId", "out">;
13
+ workerType: z.ZodString;
14
+ subEvent: z.ZodIntersection<z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodObject<{
15
+ type: z.ZodString;
16
+ }, z.core.$strip>>;
17
+ }, z.core.$strip>;
18
+ worker_status_changed: z.ZodObject<{
19
+ workerId: z.core.$ZodBranded<z.ZodString, "WorkerId", "out">;
20
+ fromStatus: z.ZodEnum<{
21
+ running: "running";
22
+ paused: "paused";
23
+ failed: "failed";
24
+ completed: "completed";
25
+ cancelled: "cancelled";
26
+ }>;
27
+ toStatus: z.ZodEnum<{
28
+ running: "running";
29
+ paused: "paused";
30
+ failed: "failed";
31
+ completed: "completed";
32
+ cancelled: "cancelled";
33
+ }>;
34
+ reason: z.ZodOptional<z.ZodString>;
35
+ }, z.core.$strip>;
36
+ worker_completed: z.ZodObject<{
37
+ workerId: z.core.$ZodBranded<z.ZodString, "WorkerId", "out">;
38
+ result: z.ZodObject<{
39
+ status: z.ZodString;
40
+ resultsPath: z.ZodOptional<z.ZodString>;
41
+ summary: z.ZodString;
42
+ data: z.ZodOptional<z.ZodUnknown>;
43
+ }, z.core.$strip>;
44
+ }, z.core.$strip>;
45
+ worker_failed: z.ZodObject<{
46
+ workerId: z.core.$ZodBranded<z.ZodString, "WorkerId", "out">;
47
+ error: z.ZodString;
48
+ resumable: z.ZodBoolean;
49
+ }, z.core.$strip>;
50
+ }>;
51
+ export type WorkerStartedEvent = (typeof workerEvents)['Events']['worker_started'];
52
+ export type WorkerSubEventEmittedEvent = (typeof workerEvents)['Events']['worker_sub_event'];
53
+ export type WorkerStatusChangedEvent = (typeof workerEvents)['Events']['worker_status_changed'];
54
+ export type WorkerCompletedEvent = (typeof workerEvents)['Events']['worker_completed'];
55
+ export type WorkerFailedEvent = (typeof workerEvents)['Events']['worker_failed'];
56
+ /**
57
+ * Session-wide worker configuration.
58
+ */
59
+ export interface WorkerPresetConfig {
60
+ /** Available worker definitions */
61
+ workers: WorkerDefinition[];
62
+ }
63
+ /**
64
+ * Agent-specific worker configuration.
65
+ */
66
+ export interface WorkerAgentConfig {
67
+ /** Worker types this agent can spawn (empty = all) */
68
+ workers?: string[];
69
+ }
70
+ /**
71
+ * Event emitter callback - emits events without sessionId (added automatically).
72
+ */
73
+ export type EmitEvent = (event: Omit<BaseEvent<string>, 'sessionId'>) => Promise<void>;
74
+ export declare const workerPlugin: import("../../core/plugins/plugin-builder.js").PluginDefinition<"workers", WorkerPresetConfig, WorkerAgentConfig, {}, Record<"spawn", {
75
+ input: {
76
+ sessionId: string;
77
+ agentId: string & z.core.$brand<"AgentId">;
78
+ workerType: string;
79
+ config: unknown;
80
+ };
81
+ output: {
82
+ workerId: string;
83
+ };
84
+ }> & Record<"getStatus", {
85
+ input: {
86
+ sessionId: string;
87
+ agentId: string & z.core.$brand<"AgentId">;
88
+ workerId: string & z.core.$brand<"WorkerId">;
89
+ };
90
+ output: {
91
+ status: string;
92
+ state?: unknown;
93
+ };
94
+ }> & Record<"sendCommand", {
95
+ input: {
96
+ sessionId: string;
97
+ agentId: string & z.core.$brand<"AgentId">;
98
+ workerId: string & z.core.$brand<"WorkerId">;
99
+ command: string;
100
+ data?: unknown;
101
+ };
102
+ output: {};
103
+ }> & Record<"cancel", {
104
+ input: {
105
+ sessionId: string;
106
+ agentId: string & z.core.$brand<"AgentId">;
107
+ workerId: string & z.core.$brand<"WorkerId">;
108
+ };
109
+ output: {};
110
+ }> & Record<"pause", {
111
+ input: {
112
+ sessionId: string;
113
+ agentId: string & z.core.$brand<"AgentId">;
114
+ workerId: string & z.core.$brand<"WorkerId">;
115
+ };
116
+ output: {};
117
+ }> & Record<"resume", {
118
+ input: {
119
+ sessionId: string;
120
+ agentId: string & z.core.$brand<"AgentId">;
121
+ workerId: string & z.core.$brand<"WorkerId">;
122
+ };
123
+ output: {};
124
+ }>>;
125
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/workers/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AAItB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAMvD,OAAO,KAAK,EAA2B,gBAAgB,EAAkB,MAAM,iBAAiB,CAAA;AAGhG,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCvB,CAAA;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAA;AAClF,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAC5F,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,uBAAuB,CAAC,CAAA;AAC/F,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAA;AACtF,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAA;AAEhF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,mCAAmC;IACnC,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAMD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAyEtF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwjBhB,CAAA"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Worker domain types and schemas
3
+ *
4
+ * Workers are long-running background processes (side-cars) that agents can spawn
5
+ * and control. Each worker type has its own state slice, reducer, and emits sub-events.
6
+ */
7
+ import z from 'zod/v4';
8
+ import type { AgentId } from '../../core/agents/schema.js';
9
+ /** WorkerId schema - validates any string and brands as WorkerId. */
10
+ export declare const workerIdSchema: z.core.$ZodBranded<z.ZodString, "WorkerId", "out">;
11
+ /** Branded WorkerId type */
12
+ export type WorkerId = z.infer<typeof workerIdSchema>;
13
+ /** Constructor for WorkerId */
14
+ export declare const WorkerId: (id: string) => WorkerId;
15
+ /** Generate a new WorkerId (UUIDv7) */
16
+ export declare const generateWorkerId: () => WorkerId;
17
+ /**
18
+ * Worker execution status.
19
+ */
20
+ export type WorkerStatus = 'running' | 'paused' | 'completed' | 'failed' | 'cancelled';
21
+ /**
22
+ * Worker entry in session state.
23
+ * Tracks the worker's status and worker-specific state.
24
+ */
25
+ export interface WorkerEntry {
26
+ /** Worker instance ID */
27
+ id: WorkerId;
28
+ /** Owning agent */
29
+ agentId: AgentId;
30
+ /** Worker type (matches WorkerDefinition.type) */
31
+ workerType: string;
32
+ /** Common status */
33
+ status: WorkerStatus;
34
+ /** Worker-specific state (managed by worker's reducer) */
35
+ state: unknown;
36
+ /** Configuration passed when starting the worker */
37
+ config: unknown;
38
+ /** Timestamps */
39
+ createdAt: number;
40
+ updatedAt: number;
41
+ }
42
+ /**
43
+ * Result returned when a worker completes successfully.
44
+ */
45
+ export interface WorkerResult {
46
+ /** Completion status description */
47
+ status: string;
48
+ /** Path to results file (if any) */
49
+ resultsPath?: string;
50
+ /** Human-readable summary */
51
+ summary: string;
52
+ /** Additional data */
53
+ data?: unknown;
54
+ }
55
+ /**
56
+ * Error returned when a worker fails.
57
+ */
58
+ export interface WorkerError {
59
+ /** Error message */
60
+ message: string;
61
+ /** Whether the worker can be resumed */
62
+ resumable: boolean;
63
+ /** Additional error details */
64
+ details?: unknown;
65
+ }
66
+ /**
67
+ * Command sent from agent to worker.
68
+ * Workers can optionally handle commands to receive instructions during execution.
69
+ */
70
+ export interface WorkerCommand {
71
+ /** Command name */
72
+ command: string;
73
+ /** Command data */
74
+ data?: unknown;
75
+ }
76
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/plugins/workers/worker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,CAAC,MAAM,QAAQ,CAAA;AACtB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAM1D,qEAAqE;AACrE,eAAO,MAAM,cAAc,oDAA+B,CAAA;AAE1D,4BAA4B;AAC5B,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAErD,+BAA+B;AAC/B,eAAO,MAAM,QAAQ,GAAI,IAAI,MAAM,KAAG,QAA0B,CAAA;AAEhE,uCAAuC;AACvC,eAAO,MAAM,gBAAgB,QAAO,QAA8B,CAAA;AAUlE;;GAEG;AACH,MAAM,MAAM,YAAY,GACrB,SAAS,GACT,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,WAAW,CAAA;AAMd;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B,yBAAyB;IACzB,EAAE,EAAE,QAAQ,CAAA;IACZ,mBAAmB;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAA;IAClB,oBAAoB;IACpB,MAAM,EAAE,YAAY,CAAA;IACpB,0DAA0D;IAC1D,KAAK,EAAE,OAAO,CAAA;IACd,oDAAoD;IACpD,MAAM,EAAE,OAAO,CAAA;IACf,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CACjB;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,sBAAsB;IACtB,IAAI,CAAC,EAAE,OAAO,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAA;IAClB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB;AAMD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC7B,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,mBAAmB;IACnB,IAAI,CAAC,EAAE,OAAO,CAAA;CACd"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=workers.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workers.integration.test.d.ts","sourceRoot":"","sources":["../../../src/plugins/workers/workers.integration.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Base prompt templates for the agent system.
3
+ *
4
+ * All reusable prompts should be defined here rather than scattered
5
+ * throughout the codebase. Preset-specific prompts remain in their preset files.
6
+ */
7
+ /**
8
+ * Base system briefing for all agents.
9
+ * Explains the message format and that text output goes to debug buffer.
10
+ */
11
+ export declare const AGENT_BASE_BRIEFING = "# System Overview\n\nYou are an agent in a multi-agent system.\n\n## Critical Rules\n\n1. **Your text output is NOT visible to anyone** - it goes to a debug buffer only\n2. **You MUST use tools to communicate** - all communication happens through tool calls\n3. **NEVER generate `<message` tags** - these are system-generated only, never write them yourself\n\n## Message Format\n\nYou receive messages in this format:\n<message from=\"user\">\nUser's message here\n</message>\n\n<message from=\"agent_abc123\">\nMessage from another agent\n</message>\n\nThese tags are system-generated.\n\n## Communication Tools\n\nAll communication happens through tool calls. See your role briefing below for the specific tools available to you.\n\n## Efficiency: Parallel Tool Calls\n\n**You can and SHOULD call multiple tools in a single response when they are independent.**\n- If you need to spawn an agent AND send a message, do both in one response \u2014 don't wait between them.\n- If you need to perform multiple independent tool operations, call them all at once.\n- When spawning multiple independent agents, spawn them all in one response.\n- When informing a user/communicator about an action, combine the notification with the action itself.\n- Only wait (sequential calls) when one tool's result is needed as input for another.\n\n## Waiting Protocol\n\nAfter sending a message (to another agent or user), if you have no other work to do, output **only** the word:\nWAITING\n\nThis must be the sole text content of your response (no tool calls alongside it). It is a system signal read by the runtime indicating you are waiting for a response before continuing.\n\n### Incorrect Behavior (NEVER do these)\n\n\u274C WRONG - Never continue with text after WAITING\n\u274C WRONG - Never generate fake responses after WAITING\n\n## Communication Style\n\n- Match the user's formality level\n- Avoid unnecessary filler phrases\n- Speak in the same language as the user (see <message from=\"user\">)";
12
+ /**
13
+ * Briefing for entry agents (orchestrator without communicator).
14
+ * Entry agents can communicate directly with users and orchestrate children.
15
+ */
16
+ export declare const ENTRY_AGENT_BRIEFING = "## Your Role: Entry Agent (Orchestrator)\n\nYou are the entry point for user communication AND you orchestrate child agents. See your available tools for capabilities.\n\n## User Communication (MANDATORY)\n\n**Every time you receive a user message, you MUST respond to the user via `tell_user` or `ask_user` before stopping.** The user is waiting for a response and will see nothing unless you explicitly call a communication tool.\n\n- **Direct response**: If you can answer immediately, call `tell_user`.\n- **Delegating work**: If you spawn child agents or start background work, call `tell_user` to inform the user what is happening (e.g. \"I'm starting work on your request\u2026\"). Once the work is done, call `tell_user` again with the results.\n- **Need more info**: If you need clarification, call `ask_user`.\n\n**Never stop without calling `tell_user` or `ask_user`.** Silent processing leaves the user with no feedback.\n\n## Asking Users Questions\n\nWhen you need to ask the user multiple questions, **call `ask_user` multiple times in a single response** rather than asking one question at a time. The user will receive all questions as a single questionnaire, which is much better UX than being asked one-by-one.\n\nOnly ask questions sequentially when a later question depends on the answer to an earlier one.\n\n### Prefer Structured Input Types\n\nWhen asking questions, prefer `single_choice`, `multi_choice`, or `confirm` over free-text `text` input whenever the possible answers are known. Only use `text` when the answer is truly open-ended. Structured inputs are faster for users and produce more consistent answers.";
17
+ /**
18
+ * Briefing for child agents (spawned by parent).
19
+ * Child agents cannot communicate with users directly.
20
+ */
21
+ export declare const CHILD_AGENT_BRIEFING = "## Your Role: Child Agent\n\nYou were spawned by a parent agent to handle a specific task. You CANNOT communicate with users directly. See your available tools for capabilities.\n\nFocus on completing your assigned task.\n\n## Reporting (MANDATORY)\n\n**You MUST always report back to your parent via `send_message` with `to: \"parent\"` before stopping.** This is the most important rule \u2014 your parent is waiting for your response and cannot proceed without it.\n\n- **Task completed**: Call `send_message` with `to: \"parent\"` and a structured final result summarizing what you accomplished and any relevant outputs.\n- **Task failed / blocked**: If you encounter an error, are blocked, or cannot complete the task for any reason, you MUST still call `send_message` with `to: \"parent\"` explaining what went wrong and what you attempted.\n- **Progress updates**: For long-running tasks, report progress to your parent periodically via `send_message` with `to: \"parent\"`.\n\n**Never stop without calling `send_message` with `to: \"parent\"`.** Silent termination leaves your parent stuck waiting indefinitely.";
22
+ /**
23
+ * Briefing for orchestrator agents (when there's a communicator).
24
+ * Orchestrators coordinate work and spawn child agents, but don't talk to users directly.
25
+ */
26
+ export declare const ORCHESTRATOR_BRIEFING = "## Your Role: Orchestrator\n\nYou coordinate work and spawn child agents to complete tasks. You do NOT communicate directly with users. See your available tools for capabilities.\n\nYou receive tasks from the communicator via `send_message`. The communicator's agent ID is in the `from` field of the message you receive.\n\n## Reporting (MANDATORY)\n\n**You MUST always report back to the communicator via `send_message` before stopping.** The communicator is waiting for your response and cannot update the user without it.\n\n- **Task completed**: Send a structured result summarizing what was accomplished.\n- **Task failed / blocked**: If you cannot complete the task, you MUST still send a message explaining what went wrong.\n- **Progress updates**: For long-running tasks, report progress to the communicator periodically.\n\n**Never stop without sending a message to the communicator.** Silent termination leaves the communicator and user stuck waiting indefinitely.";
27
+ /**
28
+ * Briefing for communicator agents.
29
+ * Communicators handle user communication and relay to orchestrator.
30
+ */
31
+ export declare const COMMUNICATOR_BRIEFING = "## Your Role: Communicator\n\nYou handle user communication and relay messages to/from the orchestrator. See your available tools for capabilities.\n\n## User Communication (MANDATORY)\n\n**Every time you receive a user message, you MUST respond to the user via `tell_user` or `ask_user` before stopping.** The user is waiting for a response and will see nothing unless you explicitly call a communication tool.\n\n- **Direct response**: If you can answer immediately (e.g. relaying orchestrator results), call `tell_user`.\n- **Forwarding to orchestrator**: When you forward a task to the orchestrator, call `tell_user` to inform the user what is happening. Once the orchestrator reports back, call `tell_user` again with the results.\n- **Need more info**: If you need clarification from the user, call `ask_user`.\n\n**Never stop without calling `tell_user` or `ask_user`.** Silent processing leaves the user with no feedback.\n\n## Message Flow\n\n- User messages arrive to you first\n- Forward tasks to the orchestrator via `send_message` (use the orchestrator's agent ID from messages)\n- When the orchestrator reports back, format and relay the results to the user via `tell_user`\n\n## Asking Users Questions\n\nWhen you need to ask the user multiple questions, **call `ask_user` multiple times in a single response** rather than asking one question at a time. The user will receive all questions as a single questionnaire, which is much better UX than being asked one-by-one.\n\nOnly ask questions sequentially when a later question depends on the answer to an earlier one.\n\n### Prefer Structured Input Types\n\nWhen asking questions, prefer `single_choice`, `multi_choice`, or `confirm` over free-text `text` input whenever the possible answers are known. Only use `text` when the answer is truly open-ended. Structured inputs are faster for users and produce more consistent answers.";
32
+ /**
33
+ * Default system prompt for conversation summarization.
34
+ * Used by the context compactor when summarizing older messages.
35
+ */
36
+ export declare const CONTEXT_SUMMARY_PROMPT = "You are a conversation summarizer. Summarize the following conversation history concisely while preserving:\n1. Key decisions and conclusions\n2. Important context and facts\n3. Current state of any ongoing tasks\n4. Relevant technical details\n\nKeep the summary focused and actionable. Do not include pleasantries or redundant information.";
37
+ /**
38
+ * Template for wrapping a summary in context markers.
39
+ * The {summary} placeholder will be replaced with the actual summary.
40
+ */
41
+ export declare const CONTEXT_SUMMARY_WRAPPER = "[CONVERSATION SUMMARY]\nThe following is a summary of earlier conversation:\n\n{summary}\n\n[END SUMMARY]";
42
+ /**
43
+ * Tone instruction templates.
44
+ */
45
+ export declare const TONE_INSTRUCTIONS: {
46
+ readonly formal: "Use a formal tone.";
47
+ readonly casual: "Use a casual tone.";
48
+ readonly friendly: "Use a friendly tone.";
49
+ readonly professional: "Use a professional tone.";
50
+ };
51
+ /**
52
+ * Reasoning visibility instructions.
53
+ */
54
+ export declare const REASONING_INSTRUCTIONS: {
55
+ readonly show: "Include your reasoning when appropriate.";
56
+ readonly hide: "Focus on clear, actionable responses without excessive explanation.";
57
+ };
58
+ /**
59
+ * User communication mode types (matching agent-config.ts)
60
+ */
61
+ export type UserCommunicationMode = 'tool' | 'xml' | 'both';
62
+ /**
63
+ * Instructions for XML-based user communication.
64
+ * Used when userCommunication is 'xml' or 'both'.
65
+ */
66
+ export declare const XML_USER_COMMUNICATION_INSTRUCTIONS = "## User Communication (XML Mode)\n\nTo send a message to the user, wrap it in <user> tags:\n<user>Your message here</user>\n\nThe content between <user> tags will be displayed to the user.\n\nFor questions requiring structured input (multiple choice, file input, etc.), use the `ask_user` tool instead.\n\nExample:\n<user>I've completed the task. Here are the results:</user>";
67
+ /**
68
+ * Get user communication instructions based on mode.
69
+ * Returns appropriate instructions to append to agent prompts.
70
+ *
71
+ * @param mode - The user communication mode
72
+ * @param isEntryAgent - Whether this is an entry agent (can communicate with users)
73
+ */
74
+ export declare function getUserCommunicationInstructions(mode: UserCommunicationMode | undefined, isEntryAgent: boolean): string;
75
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/prompts/base.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;GAGG;AACH,eAAO,MAAM,mBAAmB,g9DAoDqC,CAAA;AAerE;;;GAGG;AACH,eAAO,MAAM,oBAAoB,8mDAcL,CAAA;AAE5B;;;GAGG;AACH,eAAO,MAAM,oBAAoB,omCAcwG,CAAA;AAEzI;;;GAGG;AACH,eAAO,MAAM,qBAAqB,m9BAc4G,CAAA;AAE9I;;;GAGG;AACH,eAAO,MAAM,qBAAqB,62DAoBN,CAAA;AAM5B;;;GAGG;AACH,eAAO,MAAM,sBAAsB,0VAM4D,CAAA;AAE/F;;;GAGG;AACH,eAAO,MAAM,uBAAuB,8GAKtB,CAAA;AAMd;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;CAKpB,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;CAGzB,CAAA;AAMV;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;AAE3D;;;GAGG;AACH,eAAO,MAAM,mCAAmC,4XAUY,CAAA;AAE5D;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC/C,IAAI,EAAE,qBAAqB,GAAG,SAAS,EACvC,YAAY,EAAE,OAAO,GACnB,MAAM,CAaR"}