@roj-ai/sdk 0.1.3 → 0.1.4

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 (493) hide show
  1. package/dist/bootstrap.js +191 -0
  2. package/dist/bootstrap.js.map +1 -0
  3. package/dist/builtin-events.js +8 -0
  4. package/dist/builtin-events.js.map +1 -0
  5. package/dist/bun-platform/fs.js +39 -0
  6. package/dist/bun-platform/fs.js.map +1 -0
  7. package/dist/bun-platform/index.js +18 -0
  8. package/dist/bun-platform/index.js.map +1 -0
  9. package/dist/bun-platform/process.js +21 -0
  10. package/dist/bun-platform/process.js.map +1 -0
  11. package/dist/config.js +54 -0
  12. package/dist/config.js.map +1 -0
  13. package/dist/config.test.js +155 -0
  14. package/dist/config.test.js.map +1 -0
  15. package/dist/core/agent-loop.integration.test.js +414 -0
  16. package/dist/core/agent-loop.integration.test.js.map +1 -0
  17. package/dist/core/agents/agent-config.test.js +194 -0
  18. package/dist/core/agents/agent-config.test.js.map +1 -0
  19. package/dist/core/agents/agent-roles.js +25 -0
  20. package/dist/core/agents/agent-roles.js.map +1 -0
  21. package/dist/core/agents/agent-shutdown.test.js +180 -0
  22. package/dist/core/agents/agent-shutdown.test.js.map +1 -0
  23. package/dist/core/agents/agent.js +1205 -0
  24. package/dist/core/agents/agent.js.map +1 -0
  25. package/dist/core/agents/agent.test.js +313 -0
  26. package/dist/core/agents/agent.test.js.map +1 -0
  27. package/dist/core/agents/communicator.js +13 -0
  28. package/dist/core/agents/communicator.js.map +1 -0
  29. package/dist/core/agents/config.js +5 -0
  30. package/dist/core/agents/config.js.map +1 -0
  31. package/dist/core/agents/context.js +2 -0
  32. package/dist/core/agents/context.js.map +1 -0
  33. package/dist/core/agents/debounce.js +74 -0
  34. package/dist/core/agents/debounce.js.map +1 -0
  35. package/dist/core/agents/handler-events.test.js +115 -0
  36. package/dist/core/agents/handler-events.test.js.map +1 -0
  37. package/dist/core/agents/index.js +2 -0
  38. package/dist/core/agents/index.js.map +1 -0
  39. package/dist/core/agents/response-sanitizer.js +46 -0
  40. package/dist/core/agents/response-sanitizer.js.map +1 -0
  41. package/dist/core/agents/response-sanitizer.test.js +101 -0
  42. package/dist/core/agents/response-sanitizer.test.js.map +1 -0
  43. package/dist/core/agents/retry.js +105 -0
  44. package/dist/core/agents/retry.js.map +1 -0
  45. package/dist/core/agents/schema.js +39 -0
  46. package/dist/core/agents/schema.js.map +1 -0
  47. package/dist/core/agents/state.js +90 -0
  48. package/dist/core/agents/state.js.map +1 -0
  49. package/dist/core/context/state.js +23 -0
  50. package/dist/core/context/state.js.map +1 -0
  51. package/dist/core/errors.js +38 -0
  52. package/dist/core/errors.js.map +1 -0
  53. package/dist/core/event-sourcing.integration.test.js +154 -0
  54. package/dist/core/event-sourcing.integration.test.js.map +1 -0
  55. package/dist/core/events/base-event-store.js +201 -0
  56. package/dist/core/events/base-event-store.js.map +1 -0
  57. package/dist/core/events/event-store.js +26 -0
  58. package/dist/core/events/event-store.js.map +1 -0
  59. package/dist/core/events/file.js +320 -0
  60. package/dist/core/events/file.js.map +1 -0
  61. package/dist/core/events/file.test.js +284 -0
  62. package/dist/core/events/file.test.js.map +1 -0
  63. package/dist/core/events/index.js +3 -0
  64. package/dist/core/events/index.js.map +1 -0
  65. package/dist/core/events/memory.js +101 -0
  66. package/dist/core/events/memory.js.map +1 -0
  67. package/dist/core/events/memory.test.js +502 -0
  68. package/dist/core/events/memory.test.js.map +1 -0
  69. package/dist/core/events/metadata-utils.js +107 -0
  70. package/dist/core/events/metadata-utils.js.map +1 -0
  71. package/dist/core/events/test-helpers.js +15 -0
  72. package/dist/core/events/test-helpers.js.map +1 -0
  73. package/dist/core/events/types.js +21 -0
  74. package/dist/core/events/types.js.map +1 -0
  75. package/dist/core/file-store/file-store.js +250 -0
  76. package/dist/core/file-store/file-store.js.map +1 -0
  77. package/dist/core/file-store/types.js +7 -0
  78. package/dist/core/file-store/types.js.map +1 -0
  79. package/dist/core/image/image-processor.js +106 -0
  80. package/dist/core/image/image-processor.js.map +1 -0
  81. package/dist/core/image/image-processor.test.js +171 -0
  82. package/dist/core/image/image-processor.test.js.map +1 -0
  83. package/dist/core/image/index.js +4 -0
  84. package/dist/core/image/index.js.map +1 -0
  85. package/dist/core/image/noop-resizer.js +6 -0
  86. package/dist/core/image/noop-resizer.js.map +1 -0
  87. package/dist/core/image/types.js +2 -0
  88. package/dist/core/image/types.js.map +1 -0
  89. package/dist/core/image/vips-resizer.js +100 -0
  90. package/dist/core/image/vips-resizer.js.map +1 -0
  91. package/dist/core/image/vips-resizer.test.js +324 -0
  92. package/dist/core/image/vips-resizer.test.js.map +1 -0
  93. package/dist/core/llm/anthropic.js +396 -0
  94. package/dist/core/llm/anthropic.js.map +1 -0
  95. package/dist/core/llm/anthropic.test.js +434 -0
  96. package/dist/core/llm/anthropic.test.js.map +1 -0
  97. package/dist/core/llm/cache-breakpoints.js +37 -0
  98. package/dist/core/llm/cache-breakpoints.js.map +1 -0
  99. package/dist/core/llm/cache-live.test.js +137 -0
  100. package/dist/core/llm/cache-live.test.js.map +1 -0
  101. package/dist/core/llm/index.js +9 -0
  102. package/dist/core/llm/index.js.map +1 -0
  103. package/dist/core/llm/llm-log-types.js +12 -0
  104. package/dist/core/llm/llm-log-types.js.map +1 -0
  105. package/dist/core/llm/logger.js +241 -0
  106. package/dist/core/llm/logger.js.map +1 -0
  107. package/dist/core/llm/logger.test.js +228 -0
  108. package/dist/core/llm/logger.test.js.map +1 -0
  109. package/dist/core/llm/logging-provider.js +49 -0
  110. package/dist/core/llm/logging-provider.js.map +1 -0
  111. package/dist/core/llm/middleware.js +114 -0
  112. package/dist/core/llm/middleware.js.map +1 -0
  113. package/dist/core/llm/mock.js +186 -0
  114. package/dist/core/llm/mock.js.map +1 -0
  115. package/dist/core/llm/mock.test.js +318 -0
  116. package/dist/core/llm/mock.test.js.map +1 -0
  117. package/dist/core/llm/openrouter-mapping.test.js +125 -0
  118. package/dist/core/llm/openrouter-mapping.test.js.map +1 -0
  119. package/dist/core/llm/openrouter.js +298 -0
  120. package/dist/core/llm/openrouter.js.map +1 -0
  121. package/dist/core/llm/openrouter.test.js +377 -0
  122. package/dist/core/llm/openrouter.test.js.map +1 -0
  123. package/dist/core/llm/provider-integration.test.js +350 -0
  124. package/dist/core/llm/provider-integration.test.js.map +1 -0
  125. package/dist/core/llm/provider.js +18 -0
  126. package/dist/core/llm/provider.js.map +1 -0
  127. package/dist/core/llm/routing-provider.js +52 -0
  128. package/dist/core/llm/routing-provider.js.map +1 -0
  129. package/dist/core/llm/routing-provider.test.js +94 -0
  130. package/dist/core/llm/routing-provider.test.js.map +1 -0
  131. package/dist/core/llm/schema.js +31 -0
  132. package/dist/core/llm/schema.js.map +1 -0
  133. package/dist/core/llm/snapshot-fetch.js +122 -0
  134. package/dist/core/llm/snapshot-fetch.js.map +1 -0
  135. package/dist/core/llm/snapshot-middleware.js +142 -0
  136. package/dist/core/llm/snapshot-middleware.js.map +1 -0
  137. package/dist/core/llm/snapshot-middleware.test.js +144 -0
  138. package/dist/core/llm/snapshot-middleware.test.js.map +1 -0
  139. package/dist/core/llm/state.js +48 -0
  140. package/dist/core/llm/state.js.map +1 -0
  141. package/dist/core/llm/tokens.js +40 -0
  142. package/dist/core/llm/tokens.js.map +1 -0
  143. package/dist/core/multi-agent.integration.test.js +298 -0
  144. package/dist/core/multi-agent.integration.test.js.map +1 -0
  145. package/dist/core/plugin-hooks.integration.test.js +344 -0
  146. package/dist/core/plugin-hooks.integration.test.js.map +1 -0
  147. package/dist/core/plugins/hook-types.js +5 -0
  148. package/dist/core/plugins/hook-types.js.map +1 -0
  149. package/dist/core/plugins/index.js +5 -0
  150. package/dist/core/plugins/index.js.map +1 -0
  151. package/dist/core/plugins/plugin-builder.js +321 -0
  152. package/dist/core/plugins/plugin-builder.js.map +1 -0
  153. package/dist/core/preset/config.js +54 -0
  154. package/dist/core/preset/config.js.map +1 -0
  155. package/dist/core/preset/index.js +6 -0
  156. package/dist/core/preset/index.js.map +1 -0
  157. package/dist/core/preset/preset-builder.js +63 -0
  158. package/dist/core/preset/preset-builder.js.map +1 -0
  159. package/dist/core/session-lifecycle.integration.test.js +159 -0
  160. package/dist/core/session-lifecycle.integration.test.js.map +1 -0
  161. package/dist/core/sessions/apply-event.js +41 -0
  162. package/dist/core/sessions/apply-event.js.map +1 -0
  163. package/dist/core/sessions/context.js +2 -0
  164. package/dist/core/sessions/context.js.map +1 -0
  165. package/dist/core/sessions/fork-utils.js +42 -0
  166. package/dist/core/sessions/fork-utils.js.map +1 -0
  167. package/dist/core/sessions/fork-utils.test.js +129 -0
  168. package/dist/core/sessions/fork-utils.test.js.map +1 -0
  169. package/dist/core/sessions/reducer.js +55 -0
  170. package/dist/core/sessions/reducer.js.map +1 -0
  171. package/dist/core/sessions/schema.js +66 -0
  172. package/dist/core/sessions/schema.js.map +1 -0
  173. package/dist/core/sessions/session-environment.js +2 -0
  174. package/dist/core/sessions/session-environment.js.map +1 -0
  175. package/dist/core/sessions/session-manager.js +650 -0
  176. package/dist/core/sessions/session-manager.js.map +1 -0
  177. package/dist/core/sessions/session-store.js +118 -0
  178. package/dist/core/sessions/session-store.js.map +1 -0
  179. package/dist/core/sessions/session.js +675 -0
  180. package/dist/core/sessions/session.js.map +1 -0
  181. package/dist/core/sessions/session.test.js +1095 -0
  182. package/dist/core/sessions/session.test.js.map +1 -0
  183. package/dist/core/sessions/state.js +377 -0
  184. package/dist/core/sessions/state.js.map +1 -0
  185. package/dist/core/system.js +66 -0
  186. package/dist/core/system.js.map +1 -0
  187. package/dist/core/tools/context.js +2 -0
  188. package/dist/core/tools/context.js.map +1 -0
  189. package/dist/core/tools/definition.js +4 -0
  190. package/dist/core/tools/definition.js.map +1 -0
  191. package/dist/core/tools/executor.js +82 -0
  192. package/dist/core/tools/executor.js.map +1 -0
  193. package/dist/core/tools/executor.test.js +143 -0
  194. package/dist/core/tools/executor.test.js.map +1 -0
  195. package/dist/core/tools/index.js +4 -0
  196. package/dist/core/tools/index.js.map +1 -0
  197. package/dist/core/tools/schema.js +20 -0
  198. package/dist/core/tools/schema.js.map +1 -0
  199. package/dist/core/tools/state.js +29 -0
  200. package/dist/core/tools/state.js.map +1 -0
  201. package/dist/index.js +70 -0
  202. package/dist/index.js.map +1 -0
  203. package/dist/lib/json/index.js +5 -0
  204. package/dist/lib/json/index.js.map +1 -0
  205. package/dist/lib/logger/console.js +147 -0
  206. package/dist/lib/logger/console.js.map +1 -0
  207. package/dist/lib/logger/console.test.js +258 -0
  208. package/dist/lib/logger/console.test.js.map +1 -0
  209. package/dist/lib/logger/file.js +54 -0
  210. package/dist/lib/logger/file.js.map +1 -0
  211. package/dist/lib/logger/index.js +4 -0
  212. package/dist/lib/logger/index.js.map +1 -0
  213. package/dist/lib/logger/logger.js +28 -0
  214. package/dist/lib/logger/logger.js.map +1 -0
  215. package/dist/lib/logger/ring-buffer.js +61 -0
  216. package/dist/lib/logger/ring-buffer.js.map +1 -0
  217. package/dist/lib/logger/tee.js +43 -0
  218. package/dist/lib/logger/tee.js.map +1 -0
  219. package/dist/lib/mime.js +22 -0
  220. package/dist/lib/mime.js.map +1 -0
  221. package/dist/lib/never.js +4 -0
  222. package/dist/lib/never.js.map +1 -0
  223. package/dist/lib/utils/hash.js +35 -0
  224. package/dist/lib/utils/hash.js.map +1 -0
  225. package/dist/lib/utils/result.js +21 -0
  226. package/dist/lib/utils/result.js.map +1 -0
  227. package/dist/platform/fs.js +8 -0
  228. package/dist/platform/fs.js.map +1 -0
  229. package/dist/platform/index.js +9 -0
  230. package/dist/platform/index.js.map +1 -0
  231. package/dist/platform/process.js +8 -0
  232. package/dist/platform/process.js.map +1 -0
  233. package/dist/plugins/agent-status/plugin.js +77 -0
  234. package/dist/plugins/agent-status/plugin.js.map +1 -0
  235. package/dist/plugins/agents/agents.integration.test.js +683 -0
  236. package/dist/plugins/agents/agents.integration.test.js.map +1 -0
  237. package/dist/plugins/agents/index.js +2 -0
  238. package/dist/plugins/agents/index.js.map +1 -0
  239. package/dist/plugins/agents/plugin.js +199 -0
  240. package/dist/plugins/agents/plugin.js.map +1 -0
  241. package/dist/plugins/context-compact/context-compact.integration.test.js +174 -0
  242. package/dist/plugins/context-compact/context-compact.integration.test.js.map +1 -0
  243. package/dist/plugins/context-compact/context-compactor.js +238 -0
  244. package/dist/plugins/context-compact/context-compactor.js.map +1 -0
  245. package/dist/plugins/context-compact/context-compactor.test.js +763 -0
  246. package/dist/plugins/context-compact/context-compactor.test.js.map +1 -0
  247. package/dist/plugins/context-compact/history-offloader.js +42 -0
  248. package/dist/plugins/context-compact/history-offloader.js.map +1 -0
  249. package/dist/plugins/context-compact/history-offloader.test.js +77 -0
  250. package/dist/plugins/context-compact/history-offloader.test.js.map +1 -0
  251. package/dist/plugins/context-compact/index.js +4 -0
  252. package/dist/plugins/context-compact/index.js.map +1 -0
  253. package/dist/plugins/context-compact/plugin.js +37 -0
  254. package/dist/plugins/context-compact/plugin.js.map +1 -0
  255. package/dist/plugins/filesystem/filesystem.integration.test.js +411 -0
  256. package/dist/plugins/filesystem/filesystem.integration.test.js.map +1 -0
  257. package/dist/plugins/filesystem/helpers.js +170 -0
  258. package/dist/plugins/filesystem/helpers.js.map +1 -0
  259. package/dist/plugins/filesystem/index.js +3 -0
  260. package/dist/plugins/filesystem/index.js.map +1 -0
  261. package/dist/plugins/filesystem/listing.js +247 -0
  262. package/dist/plugins/filesystem/listing.js.map +1 -0
  263. package/dist/plugins/filesystem/plugin.js +364 -0
  264. package/dist/plugins/filesystem/plugin.js.map +1 -0
  265. package/dist/plugins/filesystem/schema.js +2 -0
  266. package/dist/plugins/filesystem/schema.js.map +1 -0
  267. package/dist/plugins/git-status/index.js +2 -0
  268. package/dist/plugins/git-status/index.js.map +1 -0
  269. package/dist/plugins/git-status/plugin.js +144 -0
  270. package/dist/plugins/git-status/plugin.js.map +1 -0
  271. package/dist/plugins/limits-guard/config.js +5 -0
  272. package/dist/plugins/limits-guard/config.js.map +1 -0
  273. package/dist/plugins/limits-guard/index.js +3 -0
  274. package/dist/plugins/limits-guard/index.js.map +1 -0
  275. package/dist/plugins/limits-guard/limit-guard.js +125 -0
  276. package/dist/plugins/limits-guard/limit-guard.js.map +1 -0
  277. package/dist/plugins/limits-guard/limit-guard.test.js +121 -0
  278. package/dist/plugins/limits-guard/limit-guard.test.js.map +1 -0
  279. package/dist/plugins/limits-guard/limits-guard.integration.test.js +378 -0
  280. package/dist/plugins/limits-guard/limits-guard.integration.test.js.map +1 -0
  281. package/dist/plugins/limits-guard/plugin.js +240 -0
  282. package/dist/plugins/limits-guard/plugin.js.map +1 -0
  283. package/dist/plugins/llm-debug/index.js +2 -0
  284. package/dist/plugins/llm-debug/index.js.map +1 -0
  285. package/dist/plugins/llm-debug/llm-debug.integration.test.js +157 -0
  286. package/dist/plugins/llm-debug/llm-debug.integration.test.js.map +1 -0
  287. package/dist/plugins/llm-debug/plugin.js +148 -0
  288. package/dist/plugins/llm-debug/plugin.js.map +1 -0
  289. package/dist/plugins/logs/index.js +2 -0
  290. package/dist/plugins/logs/index.js.map +1 -0
  291. package/dist/plugins/logs/plugin.js +38 -0
  292. package/dist/plugins/logs/plugin.js.map +1 -0
  293. package/dist/plugins/mailbox/helpers.js +66 -0
  294. package/dist/plugins/mailbox/helpers.js.map +1 -0
  295. package/dist/plugins/mailbox/index.js +9 -0
  296. package/dist/plugins/mailbox/index.js.map +1 -0
  297. package/dist/plugins/mailbox/mailbox.integration.test.js +605 -0
  298. package/dist/plugins/mailbox/mailbox.integration.test.js.map +1 -0
  299. package/dist/plugins/mailbox/plugin.js +204 -0
  300. package/dist/plugins/mailbox/plugin.js.map +1 -0
  301. package/dist/plugins/mailbox/prompts.js +93 -0
  302. package/dist/plugins/mailbox/prompts.js.map +1 -0
  303. package/dist/plugins/mailbox/query.js +38 -0
  304. package/dist/plugins/mailbox/query.js.map +1 -0
  305. package/dist/plugins/mailbox/schema.js +32 -0
  306. package/dist/plugins/mailbox/schema.js.map +1 -0
  307. package/dist/plugins/mailbox/state.js +41 -0
  308. package/dist/plugins/mailbox/state.js.map +1 -0
  309. package/dist/plugins/resources/index.js +4 -0
  310. package/dist/plugins/resources/index.js.map +1 -0
  311. package/dist/plugins/resources/manifest.js +20 -0
  312. package/dist/plugins/resources/manifest.js.map +1 -0
  313. package/dist/plugins/resources/plugin.js +171 -0
  314. package/dist/plugins/resources/plugin.js.map +1 -0
  315. package/dist/plugins/resources/post-inject.js +32 -0
  316. package/dist/plugins/resources/post-inject.js.map +1 -0
  317. package/dist/plugins/resources/state.js +16 -0
  318. package/dist/plugins/resources/state.js.map +1 -0
  319. package/dist/plugins/result-eviction/index.js +2 -0
  320. package/dist/plugins/result-eviction/index.js.map +1 -0
  321. package/dist/plugins/result-eviction/plugin.js +43 -0
  322. package/dist/plugins/result-eviction/plugin.js.map +1 -0
  323. package/dist/plugins/result-eviction/result-eviction.integration.test.js +217 -0
  324. package/dist/plugins/result-eviction/result-eviction.integration.test.js.map +1 -0
  325. package/dist/plugins/services/plugin.js +453 -0
  326. package/dist/plugins/services/plugin.js.map +1 -0
  327. package/dist/plugins/services/port-pool.js +70 -0
  328. package/dist/plugins/services/port-pool.js.map +1 -0
  329. package/dist/plugins/services/prompt.js +40 -0
  330. package/dist/plugins/services/prompt.js.map +1 -0
  331. package/dist/plugins/services/schema.js +9 -0
  332. package/dist/plugins/services/schema.js.map +1 -0
  333. package/dist/plugins/services/service.js +470 -0
  334. package/dist/plugins/services/service.js.map +1 -0
  335. package/dist/plugins/services/services.integration.test.js +485 -0
  336. package/dist/plugins/services/services.integration.test.js.map +1 -0
  337. package/dist/plugins/session-lifecycle/index.js +2 -0
  338. package/dist/plugins/session-lifecycle/index.js.map +1 -0
  339. package/dist/plugins/session-lifecycle/plugin.js +273 -0
  340. package/dist/plugins/session-lifecycle/plugin.js.map +1 -0
  341. package/dist/plugins/session-lifecycle/session-lifecycle.integration.test.js +498 -0
  342. package/dist/plugins/session-lifecycle/session-lifecycle.integration.test.js.map +1 -0
  343. package/dist/plugins/session-state/plugin.js +159 -0
  344. package/dist/plugins/session-state/plugin.js.map +1 -0
  345. package/dist/plugins/session-stats/index.js +3 -0
  346. package/dist/plugins/session-stats/index.js.map +1 -0
  347. package/dist/plugins/session-stats/plugin.js +81 -0
  348. package/dist/plugins/session-stats/plugin.js.map +1 -0
  349. package/dist/plugins/shell/executor.js +339 -0
  350. package/dist/plugins/shell/executor.js.map +1 -0
  351. package/dist/plugins/shell/index.js +6 -0
  352. package/dist/plugins/shell/index.js.map +1 -0
  353. package/dist/plugins/shell/plugin.js +66 -0
  354. package/dist/plugins/shell/plugin.js.map +1 -0
  355. package/dist/plugins/shell/shell.integration.test.js +234 -0
  356. package/dist/plugins/shell/shell.integration.test.js.map +1 -0
  357. package/dist/plugins/shell/shell.test.js +236 -0
  358. package/dist/plugins/shell/shell.test.js.map +1 -0
  359. package/dist/plugins/skills/discovery.js +205 -0
  360. package/dist/plugins/skills/discovery.js.map +1 -0
  361. package/dist/plugins/skills/discovery.test.js +312 -0
  362. package/dist/plugins/skills/discovery.test.js.map +1 -0
  363. package/dist/plugins/skills/index.js +12 -0
  364. package/dist/plugins/skills/index.js.map +1 -0
  365. package/dist/plugins/skills/plugin.js +293 -0
  366. package/dist/plugins/skills/plugin.js.map +1 -0
  367. package/dist/plugins/skills/prompts.js +70 -0
  368. package/dist/plugins/skills/prompts.js.map +1 -0
  369. package/dist/plugins/skills/schema.js +18 -0
  370. package/dist/plugins/skills/schema.js.map +1 -0
  371. package/dist/plugins/skills/skills.integration.test.js +475 -0
  372. package/dist/plugins/skills/skills.integration.test.js.map +1 -0
  373. package/dist/plugins/snapshotting/index.js +3 -0
  374. package/dist/plugins/snapshotting/index.js.map +1 -0
  375. package/dist/plugins/snapshotting/jj-snapshotter.js +106 -0
  376. package/dist/plugins/snapshotting/jj-snapshotter.js.map +1 -0
  377. package/dist/plugins/snapshotting/plugin.js +28 -0
  378. package/dist/plugins/snapshotting/plugin.js.map +1 -0
  379. package/dist/plugins/snapshotting/snapshotter.js +2 -0
  380. package/dist/plugins/snapshotting/snapshotter.js.map +1 -0
  381. package/dist/plugins/todo/index.js +7 -0
  382. package/dist/plugins/todo/index.js.map +1 -0
  383. package/dist/plugins/todo/plugin.js +319 -0
  384. package/dist/plugins/todo/plugin.js.map +1 -0
  385. package/dist/plugins/todo/prompts.js +54 -0
  386. package/dist/plugins/todo/prompts.js.map +1 -0
  387. package/dist/plugins/todo/schema.js +18 -0
  388. package/dist/plugins/todo/schema.js.map +1 -0
  389. package/dist/plugins/todo/todo.integration.test.js +605 -0
  390. package/dist/plugins/todo/todo.integration.test.js.map +1 -0
  391. package/dist/plugins/uploads/index.js +8 -0
  392. package/dist/plugins/uploads/index.js.map +1 -0
  393. package/dist/plugins/uploads/plugin.js +346 -0
  394. package/dist/plugins/uploads/plugin.js.map +1 -0
  395. package/dist/plugins/uploads/preprocessor.js +44 -0
  396. package/dist/plugins/uploads/preprocessor.js.map +1 -0
  397. package/dist/plugins/uploads/preprocessors/image-classifier.js +127 -0
  398. package/dist/plugins/uploads/preprocessors/image-classifier.js.map +1 -0
  399. package/dist/plugins/uploads/preprocessors/index.js +7 -0
  400. package/dist/plugins/uploads/preprocessors/index.js.map +1 -0
  401. package/dist/plugins/uploads/preprocessors/markitdown-preprocessor.js +204 -0
  402. package/dist/plugins/uploads/preprocessors/markitdown-preprocessor.js.map +1 -0
  403. package/dist/plugins/uploads/preprocessors/zip-preprocessor.js +172 -0
  404. package/dist/plugins/uploads/preprocessors/zip-preprocessor.js.map +1 -0
  405. package/dist/plugins/uploads/schema.js +20 -0
  406. package/dist/plugins/uploads/schema.js.map +1 -0
  407. package/dist/plugins/uploads/state.js +22 -0
  408. package/dist/plugins/uploads/state.js.map +1 -0
  409. package/dist/plugins/uploads/uploads.integration.test.js +496 -0
  410. package/dist/plugins/uploads/uploads.integration.test.js.map +1 -0
  411. package/dist/plugins/user-chat/index.js +5 -0
  412. package/dist/plugins/user-chat/index.js.map +1 -0
  413. package/dist/plugins/user-chat/plugin.js +544 -0
  414. package/dist/plugins/user-chat/plugin.js.map +1 -0
  415. package/dist/plugins/user-chat/prompts.js +29 -0
  416. package/dist/plugins/user-chat/prompts.js.map +1 -0
  417. package/dist/plugins/user-chat/schema.js +46 -0
  418. package/dist/plugins/user-chat/schema.js.map +1 -0
  419. package/dist/plugins/user-chat/user-chat.integration.test.js +668 -0
  420. package/dist/plugins/user-chat/user-chat.integration.test.js.map +1 -0
  421. package/dist/plugins/workers/context.js +143 -0
  422. package/dist/plugins/workers/context.js.map +1 -0
  423. package/dist/plugins/workers/definition.js +30 -0
  424. package/dist/plugins/workers/definition.js.map +1 -0
  425. package/dist/plugins/workers/index.js +7 -0
  426. package/dist/plugins/workers/index.js.map +1 -0
  427. package/dist/plugins/workers/plugin.js +578 -0
  428. package/dist/plugins/workers/plugin.js.map +1 -0
  429. package/dist/plugins/workers/worker.js +18 -0
  430. package/dist/plugins/workers/worker.js.map +1 -0
  431. package/dist/plugins/workers/workers.integration.test.js +629 -0
  432. package/dist/plugins/workers/workers.integration.test.js.map +1 -0
  433. package/dist/prompts/base.js +239 -0
  434. package/dist/prompts/base.js.map +1 -0
  435. package/dist/prompts/builder.js +131 -0
  436. package/dist/prompts/builder.js.map +1 -0
  437. package/dist/prompts/index.js +20 -0
  438. package/dist/prompts/index.js.map +1 -0
  439. package/dist/prompts/macros.js +26 -0
  440. package/dist/prompts/macros.js.map +1 -0
  441. package/dist/prompts/macros.test.js +80 -0
  442. package/dist/prompts/macros.test.js.map +1 -0
  443. package/dist/testing/bootstrap-for-testing.js +28 -0
  444. package/dist/testing/bootstrap-for-testing.js.map +1 -0
  445. package/dist/testing/index.js +7 -0
  446. package/dist/testing/index.js.map +1 -0
  447. package/dist/testing/node-platform.js +65 -0
  448. package/dist/testing/node-platform.js.map +1 -0
  449. package/dist/testing/notification-collector.js +82 -0
  450. package/dist/testing/notification-collector.js.map +1 -0
  451. package/dist/testing/preset-helpers.js +37 -0
  452. package/dist/testing/preset-helpers.js.map +1 -0
  453. package/dist/testing/test-harness.js +226 -0
  454. package/dist/testing/test-harness.js.map +1 -0
  455. package/dist/testing/test-harness.test.js +51 -0
  456. package/dist/testing/test-harness.test.js.map +1 -0
  457. package/dist/testing/wait-helpers.js +64 -0
  458. package/dist/testing/wait-helpers.js.map +1 -0
  459. package/dist/transport/adapter/client-adapter.js +64 -0
  460. package/dist/transport/adapter/client-adapter.js.map +1 -0
  461. package/dist/transport/adapter/index.js +24 -0
  462. package/dist/transport/adapter/index.js.map +1 -0
  463. package/dist/transport/adapter/server-adapter.js +73 -0
  464. package/dist/transport/adapter/server-adapter.js.map +1 -0
  465. package/dist/transport/adapter/types.js +8 -0
  466. package/dist/transport/adapter/types.js.map +1 -0
  467. package/dist/transport/http/app.js +86 -0
  468. package/dist/transport/http/app.js.map +1 -0
  469. package/dist/transport/http/index.js +6 -0
  470. package/dist/transport/http/index.js.map +1 -0
  471. package/dist/transport/http/middleware/bearer-auth.js +33 -0
  472. package/dist/transport/http/middleware/bearer-auth.js.map +1 -0
  473. package/dist/transport/http/middleware/error-handler.js +56 -0
  474. package/dist/transport/http/middleware/error-handler.js.map +1 -0
  475. package/dist/transport/http/routes/files.js +237 -0
  476. package/dist/transport/http/routes/files.js.map +1 -0
  477. package/dist/transport/http/routes/resources.js +77 -0
  478. package/dist/transport/http/routes/resources.js.map +1 -0
  479. package/dist/transport/http/routes/rpc.integration.test.js +189 -0
  480. package/dist/transport/http/routes/rpc.integration.test.js.map +1 -0
  481. package/dist/transport/http/routes/rpc.js +110 -0
  482. package/dist/transport/http/routes/rpc.js.map +1 -0
  483. package/dist/transport/http/routes/rpc.test.js +316 -0
  484. package/dist/transport/http/routes/rpc.test.js.map +1 -0
  485. package/dist/transport/http/routes/upload.js +205 -0
  486. package/dist/transport/http/routes/upload.js.map +1 -0
  487. package/dist/transport/rpc/index.js +7 -0
  488. package/dist/transport/rpc/index.js.map +1 -0
  489. package/dist/transport/rpc/methods.js +8 -0
  490. package/dist/transport/rpc/methods.js.map +1 -0
  491. package/dist/user-config.js +14 -0
  492. package/dist/user-config.js.map +1 -0
  493. package/package.json +47 -57
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workers.integration.test.js","sourceRoot":"","sources":["../../../src/plugins/workers/workers.integration.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,239 @@
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
+ // Agent Briefings
9
+ // ============================================================================
10
+ /**
11
+ * Base system briefing for all agents.
12
+ * Explains the message format and that text output goes to debug buffer.
13
+ */
14
+ export const AGENT_BASE_BRIEFING = `# System Overview
15
+
16
+ You are an agent in a multi-agent system.
17
+
18
+ ## Critical Rules
19
+
20
+ 1. **Your text output is NOT visible to anyone** - it goes to a debug buffer only
21
+ 2. **You MUST use tools to communicate** - all communication happens through tool calls
22
+ 3. **NEVER generate \`<message\` tags** - these are system-generated only, never write them yourself
23
+
24
+ ## Message Format
25
+
26
+ You receive messages in this format:
27
+ <message from="user">
28
+ User's message here
29
+ </message>
30
+
31
+ <message from="agent_abc123">
32
+ Message from another agent
33
+ </message>
34
+
35
+ These tags are system-generated.
36
+
37
+ ## Communication Tools
38
+
39
+ All communication happens through tool calls. See your role briefing below for the specific tools available to you.
40
+
41
+ ## Efficiency: Parallel Tool Calls
42
+
43
+ **You can and SHOULD call multiple tools in a single response when they are independent.**
44
+ - If you need to spawn an agent AND send a message, do both in one response — don't wait between them.
45
+ - If you need to perform multiple independent tool operations, call them all at once.
46
+ - When spawning multiple independent agents, spawn them all in one response.
47
+ - When informing a user/communicator about an action, combine the notification with the action itself.
48
+ - Only wait (sequential calls) when one tool's result is needed as input for another.
49
+
50
+ ## Waiting Protocol
51
+
52
+ After sending a message (to another agent or user), if you have no other work to do, output **only** the word:
53
+ WAITING
54
+
55
+ This 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.
56
+
57
+ ### Incorrect Behavior (NEVER do these)
58
+
59
+ ❌ WRONG - Never continue with text after WAITING
60
+ ❌ WRONG - Never generate fake responses after WAITING
61
+
62
+ ## Communication Style
63
+
64
+ - Match the user's formality level
65
+ - Avoid unnecessary filler phrases
66
+ - Speak in the same language as the user (see <message from="user">)`;
67
+ /**
68
+ * Shared section for agents that can ask users questions (entry + communicator).
69
+ */
70
+ const ASKING_QUESTIONS_SECTION = `## Asking Users Questions
71
+
72
+ When 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.
73
+
74
+ Only ask questions sequentially when a later question depends on the answer to an earlier one.
75
+
76
+ ### Prefer Structured Input Types
77
+
78
+ When 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.`;
79
+ /**
80
+ * Briefing for entry agents (orchestrator without communicator).
81
+ * Entry agents can communicate directly with users and orchestrate children.
82
+ */
83
+ export const ENTRY_AGENT_BRIEFING = `## Your Role: Entry Agent (Orchestrator)
84
+
85
+ You are the entry point for user communication AND you orchestrate child agents. See your available tools for capabilities.
86
+
87
+ ## User Communication (MANDATORY)
88
+
89
+ **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.
90
+
91
+ - **Direct response**: If you can answer immediately, call \`tell_user\`.
92
+ - **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…"). Once the work is done, call \`tell_user\` again with the results.
93
+ - **Need more info**: If you need clarification, call \`ask_user\`.
94
+
95
+ **Never stop without calling \`tell_user\` or \`ask_user\`.** Silent processing leaves the user with no feedback.
96
+
97
+ ${ASKING_QUESTIONS_SECTION}`;
98
+ /**
99
+ * Briefing for child agents (spawned by parent).
100
+ * Child agents cannot communicate with users directly.
101
+ */
102
+ export const CHILD_AGENT_BRIEFING = `## Your Role: Child Agent
103
+
104
+ You were spawned by a parent agent to handle a specific task. You CANNOT communicate with users directly. See your available tools for capabilities.
105
+
106
+ Focus on completing your assigned task.
107
+
108
+ ## Reporting (MANDATORY)
109
+
110
+ **You MUST always report back to your parent via \`send_message\` with \`to: "parent"\` before stopping.** This is the most important rule — your parent is waiting for your response and cannot proceed without it.
111
+
112
+ - **Task completed**: Call \`send_message\` with \`to: "parent"\` and a structured final result summarizing what you accomplished and any relevant outputs.
113
+ - **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.
114
+ - **Progress updates**: For long-running tasks, report progress to your parent periodically via \`send_message\` with \`to: "parent"\`.
115
+
116
+ **Never stop without calling \`send_message\` with \`to: "parent"\`.** Silent termination leaves your parent stuck waiting indefinitely.`;
117
+ /**
118
+ * Briefing for orchestrator agents (when there's a communicator).
119
+ * Orchestrators coordinate work and spawn child agents, but don't talk to users directly.
120
+ */
121
+ export const ORCHESTRATOR_BRIEFING = `## Your Role: Orchestrator
122
+
123
+ You coordinate work and spawn child agents to complete tasks. You do NOT communicate directly with users. See your available tools for capabilities.
124
+
125
+ You receive tasks from the communicator via \`send_message\`. The communicator's agent ID is in the \`from\` field of the message you receive.
126
+
127
+ ## Reporting (MANDATORY)
128
+
129
+ **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.
130
+
131
+ - **Task completed**: Send a structured result summarizing what was accomplished.
132
+ - **Task failed / blocked**: If you cannot complete the task, you MUST still send a message explaining what went wrong.
133
+ - **Progress updates**: For long-running tasks, report progress to the communicator periodically.
134
+
135
+ **Never stop without sending a message to the communicator.** Silent termination leaves the communicator and user stuck waiting indefinitely.`;
136
+ /**
137
+ * Briefing for communicator agents.
138
+ * Communicators handle user communication and relay to orchestrator.
139
+ */
140
+ export const COMMUNICATOR_BRIEFING = `## Your Role: Communicator
141
+
142
+ You handle user communication and relay messages to/from the orchestrator. See your available tools for capabilities.
143
+
144
+ ## User Communication (MANDATORY)
145
+
146
+ **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.
147
+
148
+ - **Direct response**: If you can answer immediately (e.g. relaying orchestrator results), call \`tell_user\`.
149
+ - **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.
150
+ - **Need more info**: If you need clarification from the user, call \`ask_user\`.
151
+
152
+ **Never stop without calling \`tell_user\` or \`ask_user\`.** Silent processing leaves the user with no feedback.
153
+
154
+ ## Message Flow
155
+
156
+ - User messages arrive to you first
157
+ - Forward tasks to the orchestrator via \`send_message\` (use the orchestrator's agent ID from messages)
158
+ - When the orchestrator reports back, format and relay the results to the user via \`tell_user\`
159
+
160
+ ${ASKING_QUESTIONS_SECTION}`;
161
+ // ============================================================================
162
+ // Context Compaction Prompts
163
+ // ============================================================================
164
+ /**
165
+ * Default system prompt for conversation summarization.
166
+ * Used by the context compactor when summarizing older messages.
167
+ */
168
+ export const CONTEXT_SUMMARY_PROMPT = `You are a conversation summarizer. Summarize the following conversation history concisely while preserving:
169
+ 1. Key decisions and conclusions
170
+ 2. Important context and facts
171
+ 3. Current state of any ongoing tasks
172
+ 4. Relevant technical details
173
+
174
+ Keep the summary focused and actionable. Do not include pleasantries or redundant information.`;
175
+ /**
176
+ * Template for wrapping a summary in context markers.
177
+ * The {summary} placeholder will be replaced with the actual summary.
178
+ */
179
+ export const CONTEXT_SUMMARY_WRAPPER = `[CONVERSATION SUMMARY]
180
+ The following is a summary of earlier conversation:
181
+
182
+ {summary}
183
+
184
+ [END SUMMARY]`;
185
+ // ============================================================================
186
+ // Response Format Instructions
187
+ // ============================================================================
188
+ /**
189
+ * Tone instruction templates.
190
+ */
191
+ export const TONE_INSTRUCTIONS = {
192
+ formal: 'Use a formal tone.',
193
+ casual: 'Use a casual tone.',
194
+ friendly: 'Use a friendly tone.',
195
+ professional: 'Use a professional tone.',
196
+ };
197
+ /**
198
+ * Reasoning visibility instructions.
199
+ */
200
+ export const REASONING_INSTRUCTIONS = {
201
+ show: 'Include your reasoning when appropriate.',
202
+ hide: 'Focus on clear, actionable responses without excessive explanation.',
203
+ };
204
+ /**
205
+ * Instructions for XML-based user communication.
206
+ * Used when userCommunication is 'xml' or 'both'.
207
+ */
208
+ export const XML_USER_COMMUNICATION_INSTRUCTIONS = `## User Communication (XML Mode)
209
+
210
+ To send a message to the user, wrap it in <user> tags:
211
+ <user>Your message here</user>
212
+
213
+ The content between <user> tags will be displayed to the user.
214
+
215
+ For questions requiring structured input (multiple choice, file input, etc.), use the \`ask_user\` tool instead.
216
+
217
+ Example:
218
+ <user>I've completed the task. Here are the results:</user>`;
219
+ /**
220
+ * Get user communication instructions based on mode.
221
+ * Returns appropriate instructions to append to agent prompts.
222
+ *
223
+ * @param mode - The user communication mode
224
+ * @param isEntryAgent - Whether this is an entry agent (can communicate with users)
225
+ */
226
+ export function getUserCommunicationInstructions(mode, isEntryAgent) {
227
+ if (!isEntryAgent) {
228
+ return ''; // Non-entry agents cannot communicate with users
229
+ }
230
+ switch (mode) {
231
+ case 'xml':
232
+ return `\n\n${XML_USER_COMMUNICATION_INSTRUCTIONS}`;
233
+ case 'both':
234
+ return `\n\n${XML_USER_COMMUNICATION_INSTRUCTIONS}\n\nYou can also use the \`tell_user\` tool for simple messages.`;
235
+ default:
236
+ return ''; // Default tool-based communication is already documented
237
+ }
238
+ }
239
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/prompts/base.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEAoDkC,CAAA;AAErE;;GAEG;AACH,MAAM,wBAAwB,GAAG;;;;;;;;4RAQ2P,CAAA;AAE5R;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;EAclC,wBAAwB,EAAE,CAAA;AAE5B;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;yIAcqG,CAAA;AAEzI;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;8IAcyG,CAAA;AAE9I;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;EAoBnC,wBAAwB,EAAE,CAAA;AAE5B,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;+FAMyD,CAAA;AAE/F;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;cAKzB,CAAA;AAEd,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC,MAAM,EAAE,oBAAoB;IAC5B,MAAM,EAAE,oBAAoB;IAC5B,QAAQ,EAAE,sBAAsB;IAChC,YAAY,EAAE,0BAA0B;CAC/B,CAAA;AAEV;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACrC,IAAI,EAAE,0CAA0C;IAChD,IAAI,EAAE,qEAAqE;CAClE,CAAA;AAWV;;;GAGG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG;;;;;;;;;;4DAUS,CAAA;AAE5D;;;;;;GAMG;AACH,MAAM,UAAU,gCAAgC,CAC/C,IAAuC,EACvC,YAAqB;IAErB,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,OAAO,EAAE,CAAA,CAAC,iDAAiD;IAC5D,CAAC;IAED,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,KAAK;YACT,OAAO,OAAO,mCAAmC,EAAE,CAAA;QACpD,KAAK,MAAM;YACV,OAAO,OAAO,mCAAmC,kEAAkE,CAAA;QACpH;YACC,OAAO,EAAE,CAAA,CAAC,yDAAyD;IACrE,CAAC;AACF,CAAC"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Prompt builder pattern for constructing system prompts dynamically.
3
+ */
4
+ import { AGENT_BASE_BRIEFING, CHILD_AGENT_BRIEFING, COMMUNICATOR_BRIEFING, CONTEXT_SUMMARY_WRAPPER, ENTRY_AGENT_BRIEFING, ORCHESTRATOR_BRIEFING, } from './base.js';
5
+ // ============================================================================
6
+ // Prompt Builder
7
+ // ============================================================================
8
+ /**
9
+ * Builder for constructing prompts with various sections.
10
+ */
11
+ export class PromptBuilder {
12
+ sections = [];
13
+ /**
14
+ * Add a section to the prompt.
15
+ */
16
+ add(content) {
17
+ if (content) {
18
+ this.sections.push(content);
19
+ }
20
+ return this;
21
+ }
22
+ /**
23
+ * Add a section only if a condition is met.
24
+ */
25
+ addIf(condition, content) {
26
+ if (condition) {
27
+ this.sections.push(content);
28
+ }
29
+ return this;
30
+ }
31
+ /**
32
+ * Add multiple sections at once, filtering out empty values.
33
+ */
34
+ addAll(...contents) {
35
+ for (const content of contents) {
36
+ this.add(content);
37
+ }
38
+ return this;
39
+ }
40
+ /**
41
+ * Build the final prompt by joining sections with double newlines.
42
+ */
43
+ build() {
44
+ return this.sections.filter(Boolean).join('\n\n').trim();
45
+ }
46
+ /**
47
+ * Reset the builder for reuse.
48
+ */
49
+ reset() {
50
+ this.sections = [];
51
+ return this;
52
+ }
53
+ }
54
+ /**
55
+ * Build environment section for system prompt.
56
+ */
57
+ export function buildEnvironmentSection(env) {
58
+ const lines = ['## Working Environment', ''];
59
+ lines.push('You have access to the following directories:');
60
+ lines.push('');
61
+ lines.push(`- \`${env.sessionPath}\` — Your session directory. Use this for plans, notes, temporary files, scripts, and any artifacts you create.`);
62
+ if (env.workspacePath) {
63
+ lines.push(`- \`${env.workspacePath}\` — The workspace directory. This contains the project files. Your final outputs (code, assets) should be written here.`);
64
+ }
65
+ else {
66
+ lines.push('');
67
+ lines.push('No workspace directory is configured for this session.');
68
+ }
69
+ lines.push('');
70
+ lines.push('Use these paths consistently across all tools (file operations, shell commands, etc.).');
71
+ return lines.join('\n');
72
+ }
73
+ /**
74
+ * Build a complete system prompt for an agent.
75
+ *
76
+ * Structure:
77
+ * 1. BASE BRIEFING - For all agents, technical minimum
78
+ * 2. ROLE BRIEFING - Entry agent vs Child agent vs Communicator
79
+ * 3. ENVIRONMENT - Working directories
80
+ * 4. CUSTOM PROMPT - From preset, purely role/tasks without tech details
81
+ *
82
+ * @param role - Agent role: "entry", "child", or "communicator"
83
+ * @param customPrompt - Custom prompt from preset (role/tasks only)
84
+ * @param environment - Optional environment info for directory roots
85
+ */
86
+ export function buildSystemPrompt(role, customPrompt, environment) {
87
+ const builder = new PromptBuilder();
88
+ builder.add(AGENT_BASE_BRIEFING);
89
+ switch (role) {
90
+ case 'entry':
91
+ builder.add(ENTRY_AGENT_BRIEFING);
92
+ break;
93
+ case 'orchestrator':
94
+ builder.add(ORCHESTRATOR_BRIEFING);
95
+ break;
96
+ case 'child':
97
+ builder.add(CHILD_AGENT_BRIEFING);
98
+ break;
99
+ case 'communicator':
100
+ builder.add(COMMUNICATOR_BRIEFING);
101
+ break;
102
+ }
103
+ if (environment) {
104
+ builder.add(buildEnvironmentSection(environment));
105
+ }
106
+ builder.add(customPrompt);
107
+ let result = builder.build();
108
+ // Replace template variables with actual paths
109
+ if (environment) {
110
+ result = result.replaceAll('{{sessionDir}}', environment.sessionPath);
111
+ if (environment.workspacePath) {
112
+ result = result.replaceAll('{{workspaceDir}}', environment.workspacePath);
113
+ }
114
+ }
115
+ return result;
116
+ }
117
+ // ============================================================================
118
+ // Context Summary Builder
119
+ // ============================================================================
120
+ /**
121
+ * Wrap a summary in the standard context summary format.
122
+ * @param summary - The summary text
123
+ * @param historyPath - Optional path to offloaded full history
124
+ */
125
+ export function wrapContextSummary(summary, historyPath) {
126
+ const historyNote = historyPath
127
+ ? `The full conversation history has been saved to ${historyPath} if you need details.\n\n`
128
+ : '';
129
+ return CONTEXT_SUMMARY_WRAPPER.replace('{summary}', historyNote + summary);
130
+ }
131
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/prompts/builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Prompts module - centralized location for base prompts and prompt builders.
3
+ *
4
+ * This module consolidates prompt templates that are used across the codebase.
5
+ * Preset-specific prompts remain in their respective preset files.
6
+ */
7
+ export {
8
+ // Agent briefings
9
+ AGENT_BASE_BRIEFING, CHILD_AGENT_BRIEFING, COMMUNICATOR_BRIEFING,
10
+ // Context compaction prompts
11
+ CONTEXT_SUMMARY_PROMPT, CONTEXT_SUMMARY_WRAPPER, ENTRY_AGENT_BRIEFING, ORCHESTRATOR_BRIEFING, REASONING_INSTRUCTIONS,
12
+ // Response format instructions
13
+ TONE_INSTRUCTIONS, } from './base.js';
14
+ export {
15
+ // Factory functions
16
+ buildEnvironmentSection, buildSystemPrompt,
17
+ // Builder
18
+ PromptBuilder, wrapContextSummary, } from './builder.js';
19
+ export { agentVars, processPromptMacros } from './macros.js';
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO;AACN,kBAAkB;AAClB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB;AACrB,6BAA6B;AAC7B,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB;AACtB,+BAA+B;AAC/B,iBAAiB,GACjB,MAAM,WAAW,CAAA;AAElB,OAAO;AAEN,oBAAoB;AACpB,uBAAuB,EACvB,iBAAiB;AACjB,UAAU;AACV,aAAa,EAIb,kBAAkB,GAClB,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,26 @@
1
+ const BLOCK_RE = /\{\{#if ([\w:.-]+)\}\}([\s\S]*?)\{\{\/if\}\}/g;
2
+ /**
3
+ * Process simple conditional macros in prompt templates.
4
+ *
5
+ * Syntax: `{{#if varName}}...content...{{/if}}`
6
+ * - If `vars[varName]` is `true`, the content is kept (tags removed).
7
+ * - Otherwise the entire block (including tags) is stripped.
8
+ */
9
+ export function processPromptMacros(prompt, vars) {
10
+ return prompt.replace(BLOCK_RE, (_, name, content) => {
11
+ return vars[name] ? content : '';
12
+ });
13
+ }
14
+ /**
15
+ * Convert an array of agent names into macro variables.
16
+ *
17
+ * `['design-tokens', 'common-blocks']` → `{ 'agent:design-tokens': true, 'agent:common-blocks': true }`
18
+ */
19
+ export function agentVars(agents) {
20
+ const vars = {};
21
+ for (const agent of agents) {
22
+ vars[`agent:${agent}`] = true;
23
+ }
24
+ return vars;
25
+ }
26
+ //# sourceMappingURL=macros.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"macros.js","sourceRoot":"","sources":["../../src/prompts/macros.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,+CAA+C,CAAA;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,IAA6B;IAChF,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAY,EAAE,OAAe,EAAE,EAAE;QACpE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;IACjC,CAAC,CAAC,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,MAAyB;IAClD,MAAM,IAAI,GAA4B,EAAE,CAAA;IACxC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,GAAG,IAAI,CAAA;IAC9B,CAAC;IACD,OAAO,IAAI,CAAA;AACZ,CAAC"}
@@ -0,0 +1,80 @@
1
+ import { describe, expect, test } from 'bun:test';
2
+ import { agentVars, processPromptMacros } from './macros.js';
3
+ describe('processPromptMacros', () => {
4
+ test('includes content when variable is true', () => {
5
+ const result = processPromptMacros('before {{#if foo}}visible{{/if}} after', { foo: true });
6
+ expect(result).toBe('before visible after');
7
+ });
8
+ test('strips content when variable is false', () => {
9
+ const result = processPromptMacros('before {{#if foo}}hidden{{/if}} after', { foo: false });
10
+ expect(result).toBe('before after');
11
+ });
12
+ test('strips content when variable is missing', () => {
13
+ const result = processPromptMacros('before {{#if foo}}hidden{{/if}} after', {});
14
+ expect(result).toBe('before after');
15
+ });
16
+ test('handles multiple blocks', () => {
17
+ const result = processPromptMacros('{{#if a}}A{{/if}} mid {{#if b}}B{{/if}}', { a: true, b: false });
18
+ expect(result).toBe('A mid ');
19
+ });
20
+ test('handles multiline block content', () => {
21
+ const input = `Header
22
+
23
+ {{#if feature}}
24
+ ## Feature Section
25
+
26
+ Some details here.
27
+ {{/if}}
28
+
29
+ Footer`;
30
+ const result = processPromptMacros(input, { feature: true });
31
+ expect(result).toBe(`Header
32
+
33
+
34
+ ## Feature Section
35
+
36
+ Some details here.
37
+
38
+
39
+ Footer`);
40
+ });
41
+ test('strips multiline block when false', () => {
42
+ const input = `Header
43
+
44
+ {{#if feature}}
45
+ ## Feature Section
46
+
47
+ Some details here.
48
+ {{/if}}
49
+
50
+ Footer`;
51
+ const result = processPromptMacros(input, {});
52
+ expect(result).toBe(`Header
53
+
54
+
55
+
56
+ Footer`);
57
+ });
58
+ test('handles inline usage', () => {
59
+ const result = processPromptMacros('items: apples{{#if bananas}}, bananas{{/if}}, cherries', { bananas: true });
60
+ expect(result).toBe('items: apples, bananas, cherries');
61
+ });
62
+ test('preserves non-conditional content', () => {
63
+ const input = 'No macros here, just plain text.';
64
+ expect(processPromptMacros(input, { foo: true })).toBe(input);
65
+ });
66
+ test('handles colon-separated variable names', () => {
67
+ const result = processPromptMacros('{{#if agent:design-tokens}}tokens{{/if}}', { 'agent:design-tokens': true });
68
+ expect(result).toBe('tokens');
69
+ });
70
+ });
71
+ describe('agentVars', () => {
72
+ test('converts agent names to prefixed vars', () => {
73
+ const result = agentVars(['design-tokens', 'common-blocks']);
74
+ expect(result).toEqual({
75
+ 'agent:design-tokens': true,
76
+ 'agent:common-blocks': true,
77
+ });
78
+ });
79
+ });
80
+ //# sourceMappingURL=macros.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"macros.test.js","sourceRoot":"","sources":["../../src/prompts/macros.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Test-only bootstrap helper: wires memory persistence, mock LLM, and a
3
+ * node-backed Platform so integration tests don't need a runtime package.
4
+ *
5
+ * Production callers should use `bootstrap()` directly and pass a Platform
6
+ * from their runtime package (e.g. `@roj-ai/sdk/bun-platform`).
7
+ */
8
+ import { bootstrap } from '../bootstrap.js';
9
+ import { MockLLMProvider } from '../core/llm/mock.js';
10
+ import { createNodePlatform } from './node-platform.js';
11
+ export function bootstrapForTesting(mockHandler, presets) {
12
+ const defaultHandler = () => ({
13
+ content: 'Mock response',
14
+ toolCalls: [],
15
+ finishReason: 'stop',
16
+ metrics: MockLLMProvider.defaultMetrics(),
17
+ });
18
+ return bootstrap({
19
+ port: 0,
20
+ host: 'localhost',
21
+ dataPath: '',
22
+ persistence: 'memory',
23
+ logLevel: 'error',
24
+ logFormat: 'console',
25
+ llmMock: mockHandler ?? defaultHandler,
26
+ }, { presets: presets ?? [] }, createNodePlatform());
27
+ }
28
+ //# sourceMappingURL=bootstrap-for-testing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap-for-testing.js","sourceRoot":"","sources":["../../src/testing/bootstrap-for-testing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAiB,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,UAAU,mBAAmB,CAClC,WAAkC,EAClC,OAAkB;IAElB,MAAM,cAAc,GAAyB,GAAG,EAAE,CAAC,CAAC;QACnD,OAAO,EAAE,eAAe;QACxB,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,MAAM;QACpB,OAAO,EAAE,eAAe,CAAC,cAAc,EAAE;KACzC,CAAC,CAAA;IAEF,OAAO,SAAS,CACf;QACC,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,QAAQ;QACrB,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,WAAW,IAAI,cAAc;KACtC,EACD,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,EAC1B,kBAAkB,EAAE,CACpB,CAAA;AACF,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { bootstrapForTesting } from './bootstrap-for-testing.js';
2
+ export { createNodeFileSystem, createNodePlatform, createNodeProcessRunner } from './node-platform.js';
3
+ export { NotificationCollector } from './notification-collector.js';
4
+ export { createMultiAgentPreset, createTestPreset } from './preset-helpers.js';
5
+ export { TestHarness, TestSession } from './test-harness.js';
6
+ export { waitForAgentIdle, waitForAllAgentsIdle } from './wait-helpers.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AACtG,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAE9E,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA"}