@roj-ai/sdk 0.1.35 → 0.2.1

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 (908) hide show
  1. package/dist/bootstrap.d.ts +420 -26
  2. package/dist/bootstrap.d.ts.map +1 -1
  3. package/dist/bootstrap.js +55 -24
  4. package/dist/bootstrap.js.map +1 -1
  5. package/dist/bun-platform/fs.d.ts.map +1 -1
  6. package/dist/bun-platform/fs.js +1 -0
  7. package/dist/bun-platform/fs.js.map +1 -1
  8. package/dist/bun-platform/index.d.ts +4 -1
  9. package/dist/bun-platform/index.d.ts.map +1 -1
  10. package/dist/bun-platform/index.js +7 -1
  11. package/dist/bun-platform/index.js.map +1 -1
  12. package/dist/bun-platform/server-lifecycle.d.ts +30 -0
  13. package/dist/bun-platform/server-lifecycle.d.ts.map +1 -0
  14. package/dist/bun-platform/server-lifecycle.js +182 -0
  15. package/dist/bun-platform/server-lifecycle.js.map +1 -0
  16. package/dist/bun-platform/shell.d.ts +33 -0
  17. package/dist/bun-platform/shell.d.ts.map +1 -0
  18. package/dist/bun-platform/shell.js +322 -0
  19. package/dist/bun-platform/shell.js.map +1 -0
  20. package/dist/config.d.ts +34 -0
  21. package/dist/config.d.ts.map +1 -1
  22. package/dist/config.js +97 -0
  23. package/dist/config.js.map +1 -1
  24. package/dist/core/agents/agent.d.ts +42 -7
  25. package/dist/core/agents/agent.d.ts.map +1 -1
  26. package/dist/core/agents/agent.js +209 -90
  27. package/dist/core/agents/agent.js.map +1 -1
  28. package/dist/core/agents/config.d.ts +8 -1
  29. package/dist/core/agents/config.d.ts.map +1 -1
  30. package/dist/core/agents/config.js +5 -1
  31. package/dist/core/agents/config.js.map +1 -1
  32. package/dist/core/agents/retry.d.ts +1 -1
  33. package/dist/core/agents/retry.d.ts.map +1 -1
  34. package/dist/core/agents/retry.js +14 -16
  35. package/dist/core/agents/retry.js.map +1 -1
  36. package/dist/core/agents/state.d.ts +27 -1
  37. package/dist/core/agents/state.d.ts.map +1 -1
  38. package/dist/core/agents/state.js +1 -1
  39. package/dist/core/agents/state.js.map +1 -1
  40. package/dist/core/context/state.d.ts +3 -3
  41. package/dist/core/context/state.d.ts.map +1 -1
  42. package/dist/core/context/state.js +6 -2
  43. package/dist/core/context/state.js.map +1 -1
  44. package/dist/core/events/base-event-store.d.ts.map +1 -1
  45. package/dist/core/events/base-event-store.js +22 -14
  46. package/dist/core/events/base-event-store.js.map +1 -1
  47. package/dist/core/events/file.d.ts +39 -1
  48. package/dist/core/events/file.d.ts.map +1 -1
  49. package/dist/core/events/file.js +159 -20
  50. package/dist/core/events/file.js.map +1 -1
  51. package/dist/core/events/types.d.ts +1 -1
  52. package/dist/core/file-store/containment.d.ts +19 -0
  53. package/dist/core/file-store/containment.d.ts.map +1 -0
  54. package/dist/core/file-store/containment.js +62 -0
  55. package/dist/core/file-store/containment.js.map +1 -0
  56. package/dist/core/file-store/file-store.d.ts +22 -2
  57. package/dist/core/file-store/file-store.d.ts.map +1 -1
  58. package/dist/core/file-store/file-store.js +88 -20
  59. package/dist/core/file-store/file-store.js.map +1 -1
  60. package/dist/core/file-store/types.d.ts +13 -1
  61. package/dist/core/file-store/types.d.ts.map +1 -1
  62. package/dist/core/image/image-processor.d.ts.map +1 -1
  63. package/dist/core/image/image-processor.js +3 -1
  64. package/dist/core/image/image-processor.js.map +1 -1
  65. package/dist/core/image/types.d.ts +2 -0
  66. package/dist/core/image/types.d.ts.map +1 -1
  67. package/dist/core/image/vips-resizer.d.ts.map +1 -1
  68. package/dist/core/image/vips-resizer.js +81 -33
  69. package/dist/core/image/vips-resizer.js.map +1 -1
  70. package/dist/core/llm/anthropic.d.ts +0 -1
  71. package/dist/core/llm/anthropic.d.ts.map +1 -1
  72. package/dist/core/llm/anthropic.js +101 -74
  73. package/dist/core/llm/anthropic.js.map +1 -1
  74. package/dist/core/llm/logger.d.ts +14 -2
  75. package/dist/core/llm/logger.d.ts.map +1 -1
  76. package/dist/core/llm/logger.js +161 -36
  77. package/dist/core/llm/logger.js.map +1 -1
  78. package/dist/core/llm/openrouter.d.ts +0 -1
  79. package/dist/core/llm/openrouter.d.ts.map +1 -1
  80. package/dist/core/llm/openrouter.js +70 -74
  81. package/dist/core/llm/openrouter.js.map +1 -1
  82. package/dist/core/llm/provider-request.d.ts +10 -0
  83. package/dist/core/llm/provider-request.d.ts.map +1 -0
  84. package/dist/core/llm/provider-request.js +41 -0
  85. package/dist/core/llm/provider-request.js.map +1 -0
  86. package/dist/core/llm/provider.d.ts +45 -3
  87. package/dist/core/llm/provider.d.ts.map +1 -1
  88. package/dist/core/llm/provider.js +26 -0
  89. package/dist/core/llm/provider.js.map +1 -1
  90. package/dist/core/llm/state.d.ts +4 -2
  91. package/dist/core/llm/state.d.ts.map +1 -1
  92. package/dist/core/llm/state.js +15 -4
  93. package/dist/core/llm/state.js.map +1 -1
  94. package/dist/core/plugins/plugin-builder.d.ts +57 -3
  95. package/dist/core/plugins/plugin-builder.d.ts.map +1 -1
  96. package/dist/core/plugins/plugin-builder.js +68 -14
  97. package/dist/core/plugins/plugin-builder.js.map +1 -1
  98. package/dist/core/preset/preset-builder.d.ts +3 -2
  99. package/dist/core/preset/preset-builder.d.ts.map +1 -1
  100. package/dist/core/preset/preset-builder.js +7 -16
  101. package/dist/core/preset/preset-builder.js.map +1 -1
  102. package/dist/core/sessions/context.d.ts +23 -5
  103. package/dist/core/sessions/context.d.ts.map +1 -1
  104. package/dist/core/sessions/runtime-activity.d.ts +33 -0
  105. package/dist/core/sessions/runtime-activity.d.ts.map +1 -0
  106. package/dist/core/sessions/runtime-activity.js +55 -0
  107. package/dist/core/sessions/runtime-activity.js.map +1 -0
  108. package/dist/core/sessions/schema.d.ts +23 -2
  109. package/dist/core/sessions/schema.d.ts.map +1 -1
  110. package/dist/core/sessions/schema.js +24 -3
  111. package/dist/core/sessions/schema.js.map +1 -1
  112. package/dist/core/sessions/session-manager.d.ts +83 -6
  113. package/dist/core/sessions/session-manager.d.ts.map +1 -1
  114. package/dist/core/sessions/session-manager.js +517 -118
  115. package/dist/core/sessions/session-manager.js.map +1 -1
  116. package/dist/core/sessions/session-store.d.ts +18 -0
  117. package/dist/core/sessions/session-store.d.ts.map +1 -1
  118. package/dist/core/sessions/session-store.js +33 -0
  119. package/dist/core/sessions/session-store.js.map +1 -1
  120. package/dist/core/sessions/session.d.ts +42 -6
  121. package/dist/core/sessions/session.d.ts.map +1 -1
  122. package/dist/core/sessions/session.js +176 -44
  123. package/dist/core/sessions/session.js.map +1 -1
  124. package/dist/core/sessions/state.d.ts +10 -1
  125. package/dist/core/sessions/state.d.ts.map +1 -1
  126. package/dist/core/sessions/state.js +16 -1
  127. package/dist/core/sessions/state.js.map +1 -1
  128. package/dist/core/system.d.ts +9 -0
  129. package/dist/core/system.d.ts.map +1 -1
  130. package/dist/core/system.js +4 -1
  131. package/dist/core/system.js.map +1 -1
  132. package/dist/core/tools/executor.d.ts +1 -1
  133. package/dist/core/wake-key.d.ts +34 -0
  134. package/dist/core/wake-key.d.ts.map +1 -0
  135. package/dist/core/wake-key.js +51 -0
  136. package/dist/core/wake-key.js.map +1 -0
  137. package/dist/index.d.ts +24 -13
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +22 -8
  140. package/dist/index.js.map +1 -1
  141. package/dist/lib/archive/archive-inspection.d.ts +48 -0
  142. package/dist/lib/archive/archive-inspection.d.ts.map +1 -0
  143. package/dist/lib/archive/archive-inspection.fixtures.d.ts +7 -0
  144. package/dist/lib/archive/archive-inspection.fixtures.d.ts.map +1 -0
  145. package/dist/lib/archive/archive-inspection.fixtures.js +134 -0
  146. package/dist/lib/archive/archive-inspection.fixtures.js.map +1 -0
  147. package/dist/lib/archive/archive-inspection.js +253 -0
  148. package/dist/lib/archive/archive-inspection.js.map +1 -0
  149. package/dist/lib/archive/index.d.ts +3 -0
  150. package/dist/lib/archive/index.d.ts.map +1 -0
  151. package/dist/lib/archive/index.js +2 -0
  152. package/dist/lib/archive/index.js.map +1 -0
  153. package/dist/lib/logger/console.d.ts +5 -12
  154. package/dist/lib/logger/console.d.ts.map +1 -1
  155. package/dist/lib/logger/console.js +5 -47
  156. package/dist/lib/logger/console.js.map +1 -1
  157. package/dist/lib/logger/file.d.ts +8 -11
  158. package/dist/lib/logger/file.d.ts.map +1 -1
  159. package/dist/lib/logger/file.js +26 -37
  160. package/dist/lib/logger/file.js.map +1 -1
  161. package/dist/lib/logger/index.d.ts +3 -1
  162. package/dist/lib/logger/index.d.ts.map +1 -1
  163. package/dist/lib/logger/index.js +3 -1
  164. package/dist/lib/logger/index.js.map +1 -1
  165. package/dist/lib/logger/jsonl.d.ts +21 -0
  166. package/dist/lib/logger/jsonl.d.ts.map +1 -0
  167. package/dist/lib/logger/jsonl.js +29 -0
  168. package/dist/lib/logger/jsonl.js.map +1 -0
  169. package/dist/lib/logger/logger.d.ts +22 -0
  170. package/dist/lib/logger/logger.d.ts.map +1 -1
  171. package/dist/lib/logger/logger.js +37 -0
  172. package/dist/lib/logger/logger.js.map +1 -1
  173. package/dist/lib/logger/session-log.d.ts +21 -0
  174. package/dist/lib/logger/session-log.d.ts.map +1 -0
  175. package/dist/lib/logger/session-log.js +37 -0
  176. package/dist/lib/logger/session-log.js.map +1 -0
  177. package/dist/lib/utils/concurrency.d.ts +1 -1
  178. package/dist/lib/utils/concurrency.d.ts.map +1 -1
  179. package/dist/lib/utils/concurrency.js +30 -7
  180. package/dist/lib/utils/concurrency.js.map +1 -1
  181. package/dist/lib/utils/fs-batch.d.ts +17 -0
  182. package/dist/lib/utils/fs-batch.d.ts.map +1 -0
  183. package/dist/lib/utils/fs-batch.js +38 -0
  184. package/dist/lib/utils/fs-batch.js.map +1 -0
  185. package/dist/lib/utils/result.d.ts +7 -22
  186. package/dist/lib/utils/result.d.ts.map +1 -1
  187. package/dist/lib/utils/result.js +6 -17
  188. package/dist/lib/utils/result.js.map +1 -1
  189. package/dist/lib/utils/sleep.d.ts +10 -0
  190. package/dist/lib/utils/sleep.d.ts.map +1 -0
  191. package/dist/lib/utils/sleep.js +26 -0
  192. package/dist/lib/utils/sleep.js.map +1 -0
  193. package/dist/platform/fs-revision.d.ts +21 -0
  194. package/dist/platform/fs-revision.d.ts.map +1 -0
  195. package/dist/platform/fs-revision.js +9 -0
  196. package/dist/platform/fs-revision.js.map +1 -0
  197. package/dist/platform/fs.d.ts +104 -1
  198. package/dist/platform/fs.d.ts.map +1 -1
  199. package/dist/platform/git.d.ts +59 -0
  200. package/dist/platform/git.d.ts.map +1 -0
  201. package/dist/platform/git.js +8 -0
  202. package/dist/platform/git.js.map +1 -0
  203. package/dist/platform/index.d.ts +40 -1
  204. package/dist/platform/index.d.ts.map +1 -1
  205. package/dist/platform/index.js +1 -1
  206. package/dist/platform/index.js.map +1 -1
  207. package/dist/platform/llm-call-log.d.ts +80 -0
  208. package/dist/platform/llm-call-log.d.ts.map +1 -0
  209. package/dist/platform/llm-call-log.js +12 -0
  210. package/dist/platform/llm-call-log.js.map +1 -0
  211. package/dist/platform/scheduler.d.ts +32 -0
  212. package/dist/platform/scheduler.d.ts.map +1 -0
  213. package/dist/platform/scheduler.js +46 -0
  214. package/dist/platform/scheduler.js.map +1 -0
  215. package/dist/platform/session-log.d.ts +36 -0
  216. package/dist/platform/session-log.d.ts.map +1 -0
  217. package/dist/platform/session-log.js +12 -0
  218. package/dist/platform/session-log.js.map +1 -0
  219. package/dist/platform/shell.d.ts +83 -0
  220. package/dist/platform/shell.d.ts.map +1 -0
  221. package/dist/platform/shell.js +13 -0
  222. package/dist/platform/shell.js.map +1 -0
  223. package/dist/plugins/agent-status/plugin.d.ts.map +1 -1
  224. package/dist/plugins/agent-status/plugin.js +1 -0
  225. package/dist/plugins/agent-status/plugin.js.map +1 -1
  226. package/dist/plugins/agents/plugin.d.ts.map +1 -1
  227. package/dist/plugins/agents/plugin.js +129 -62
  228. package/dist/plugins/agents/plugin.js.map +1 -1
  229. package/dist/plugins/filesystem/listing.d.ts +3 -0
  230. package/dist/plugins/filesystem/listing.d.ts.map +1 -1
  231. package/dist/plugins/filesystem/listing.js +66 -10
  232. package/dist/plugins/filesystem/listing.js.map +1 -1
  233. package/dist/plugins/filesystem/plugin.d.ts.map +1 -1
  234. package/dist/plugins/filesystem/plugin.js +8 -6
  235. package/dist/plugins/filesystem/plugin.js.map +1 -1
  236. package/dist/plugins/git-status/plugin.d.ts +34 -7
  237. package/dist/plugins/git-status/plugin.d.ts.map +1 -1
  238. package/dist/plugins/git-status/plugin.js +168 -64
  239. package/dist/plugins/git-status/plugin.js.map +1 -1
  240. package/dist/plugins/llm-debug/plugin.d.ts.map +1 -1
  241. package/dist/plugins/llm-debug/plugin.js +1 -0
  242. package/dist/plugins/llm-debug/plugin.js.map +1 -1
  243. package/dist/plugins/logs/plugin.d.ts +1 -4
  244. package/dist/plugins/logs/plugin.d.ts.map +1 -1
  245. package/dist/plugins/logs/plugin.js +7 -0
  246. package/dist/plugins/logs/plugin.js.map +1 -1
  247. package/dist/plugins/mailbox/helpers.d.ts +2 -2
  248. package/dist/plugins/mailbox/helpers.js +1 -1
  249. package/dist/plugins/mailbox/plugin.d.ts.map +1 -1
  250. package/dist/plugins/mailbox/plugin.js +38 -43
  251. package/dist/plugins/mailbox/plugin.js.map +1 -1
  252. package/dist/plugins/mailbox/query.d.ts +7 -2
  253. package/dist/plugins/mailbox/query.d.ts.map +1 -1
  254. package/dist/plugins/mailbox/query.js +14 -7
  255. package/dist/plugins/mailbox/query.js.map +1 -1
  256. package/dist/plugins/mailbox/state.d.ts +5 -4
  257. package/dist/plugins/mailbox/state.d.ts.map +1 -1
  258. package/dist/plugins/mailbox/state.js +6 -5
  259. package/dist/plugins/mailbox/state.js.map +1 -1
  260. package/dist/plugins/resources/filename.d.ts +4 -0
  261. package/dist/plugins/resources/filename.d.ts.map +1 -0
  262. package/dist/plugins/resources/filename.js +18 -0
  263. package/dist/plugins/resources/filename.js.map +1 -0
  264. package/dist/plugins/resources/plugin.d.ts +3 -0
  265. package/dist/plugins/resources/plugin.d.ts.map +1 -1
  266. package/dist/plugins/resources/plugin.js +97 -60
  267. package/dist/plugins/resources/plugin.js.map +1 -1
  268. package/dist/plugins/resources/state.d.ts +1 -1
  269. package/dist/plugins/resources/state.js +1 -1
  270. package/dist/plugins/result-eviction/plugin.d.ts.map +1 -1
  271. package/dist/plugins/result-eviction/plugin.js +6 -1
  272. package/dist/plugins/result-eviction/plugin.js.map +1 -1
  273. package/dist/plugins/services/plugin.d.ts +4 -1
  274. package/dist/plugins/services/plugin.d.ts.map +1 -1
  275. package/dist/plugins/services/plugin.js +251 -100
  276. package/dist/plugins/services/plugin.js.map +1 -1
  277. package/dist/plugins/services/prompt.d.ts.map +1 -1
  278. package/dist/plugins/services/prompt.js +1 -4
  279. package/dist/plugins/services/prompt.js.map +1 -1
  280. package/dist/plugins/services/schema.d.ts +15 -5
  281. package/dist/plugins/services/schema.d.ts.map +1 -1
  282. package/dist/plugins/services/service.d.ts +100 -18
  283. package/dist/plugins/services/service.d.ts.map +1 -1
  284. package/dist/plugins/services/service.js +680 -230
  285. package/dist/plugins/services/service.js.map +1 -1
  286. package/dist/plugins/session-lifecycle/plugin.d.ts +21 -1
  287. package/dist/plugins/session-lifecycle/plugin.d.ts.map +1 -1
  288. package/dist/plugins/session-lifecycle/plugin.js +53 -40
  289. package/dist/plugins/session-lifecycle/plugin.js.map +1 -1
  290. package/dist/plugins/session-state/plugin.d.ts +21 -13
  291. package/dist/plugins/session-state/plugin.d.ts.map +1 -1
  292. package/dist/plugins/session-state/plugin.js +214 -79
  293. package/dist/plugins/session-state/plugin.js.map +1 -1
  294. package/dist/plugins/session-stats/plugin.d.ts.map +1 -1
  295. package/dist/plugins/session-stats/plugin.js +1 -0
  296. package/dist/plugins/session-stats/plugin.js.map +1 -1
  297. package/dist/plugins/shell/executor.d.ts +17 -15
  298. package/dist/plugins/shell/executor.d.ts.map +1 -1
  299. package/dist/plugins/shell/executor.js +130 -195
  300. package/dist/plugins/shell/executor.js.map +1 -1
  301. package/dist/plugins/shell/index.d.ts +2 -2
  302. package/dist/plugins/shell/index.d.ts.map +1 -1
  303. package/dist/plugins/shell/index.js +2 -2
  304. package/dist/plugins/shell/index.js.map +1 -1
  305. package/dist/plugins/shell/plugin.d.ts +5 -4
  306. package/dist/plugins/shell/plugin.d.ts.map +1 -1
  307. package/dist/plugins/shell/plugin.js +4 -8
  308. package/dist/plugins/shell/plugin.js.map +1 -1
  309. package/dist/plugins/skills/discovery.d.ts.map +1 -1
  310. package/dist/plugins/skills/discovery.js +10 -8
  311. package/dist/plugins/skills/discovery.js.map +1 -1
  312. package/dist/plugins/skills/index.d.ts +1 -1
  313. package/dist/plugins/skills/index.d.ts.map +1 -1
  314. package/dist/plugins/skills/plugin.d.ts +1 -1
  315. package/dist/plugins/skills/plugin.d.ts.map +1 -1
  316. package/dist/plugins/skills/plugin.js +23 -30
  317. package/dist/plugins/skills/plugin.js.map +1 -1
  318. package/dist/plugins/skills/prompts.d.ts +3 -3
  319. package/dist/plugins/skills/prompts.d.ts.map +1 -1
  320. package/dist/plugins/skills/prompts.js.map +1 -1
  321. package/dist/plugins/skills/schema.d.ts +4 -2
  322. package/dist/plugins/skills/schema.d.ts.map +1 -1
  323. package/dist/plugins/todo/schema.d.ts +1 -1
  324. package/dist/plugins/uploads/plugin.d.ts +11 -4
  325. package/dist/plugins/uploads/plugin.d.ts.map +1 -1
  326. package/dist/plugins/uploads/plugin.js +891 -225
  327. package/dist/plugins/uploads/plugin.js.map +1 -1
  328. package/dist/plugins/uploads/preprocessor.d.ts +14 -0
  329. package/dist/plugins/uploads/preprocessor.d.ts.map +1 -1
  330. package/dist/plugins/uploads/preprocessor.js +11 -0
  331. package/dist/plugins/uploads/preprocessor.js.map +1 -1
  332. package/dist/plugins/uploads/preprocessors/image-classifier.d.ts +1 -1
  333. package/dist/plugins/uploads/preprocessors/image-classifier.d.ts.map +1 -1
  334. package/dist/plugins/uploads/preprocessors/image-classifier.js +51 -26
  335. package/dist/plugins/uploads/preprocessors/image-classifier.js.map +1 -1
  336. package/dist/plugins/uploads/preprocessors/markitdown-preprocessor.d.ts +2 -2
  337. package/dist/plugins/uploads/preprocessors/markitdown-preprocessor.d.ts.map +1 -1
  338. package/dist/plugins/uploads/preprocessors/markitdown-preprocessor.js +41 -16
  339. package/dist/plugins/uploads/preprocessors/markitdown-preprocessor.js.map +1 -1
  340. package/dist/plugins/uploads/preprocessors/pdf-preprocessor.d.ts +1 -1
  341. package/dist/plugins/uploads/preprocessors/pdf-preprocessor.d.ts.map +1 -1
  342. package/dist/plugins/uploads/preprocessors/pdf-preprocessor.js +29 -14
  343. package/dist/plugins/uploads/preprocessors/pdf-preprocessor.js.map +1 -1
  344. package/dist/plugins/uploads/preprocessors/zip-preprocessor.d.ts +1 -1
  345. package/dist/plugins/uploads/preprocessors/zip-preprocessor.d.ts.map +1 -1
  346. package/dist/plugins/uploads/preprocessors/zip-preprocessor.js +62 -34
  347. package/dist/plugins/uploads/preprocessors/zip-preprocessor.js.map +1 -1
  348. package/dist/plugins/uploads/schema.d.ts +25 -2
  349. package/dist/plugins/uploads/schema.d.ts.map +1 -1
  350. package/dist/plugins/uploads/schema.js +24 -3
  351. package/dist/plugins/uploads/schema.js.map +1 -1
  352. package/dist/plugins/uploads/state.d.ts +13 -1
  353. package/dist/plugins/uploads/state.d.ts.map +1 -1
  354. package/dist/plugins/uploads/state.js +4 -1
  355. package/dist/plugins/uploads/state.js.map +1 -1
  356. package/dist/plugins/user-chat/plugin.d.ts +12 -5
  357. package/dist/plugins/user-chat/plugin.d.ts.map +1 -1
  358. package/dist/plugins/user-chat/plugin.js +141 -32
  359. package/dist/plugins/user-chat/plugin.js.map +1 -1
  360. package/dist/plugins/workers/context.d.ts +35 -13
  361. package/dist/plugins/workers/context.d.ts.map +1 -1
  362. package/dist/plugins/workers/context.js +82 -32
  363. package/dist/plugins/workers/context.js.map +1 -1
  364. package/dist/plugins/workers/definition.d.ts +7 -0
  365. package/dist/plugins/workers/definition.d.ts.map +1 -1
  366. package/dist/plugins/workers/definition.js.map +1 -1
  367. package/dist/plugins/workers/index.d.ts +4 -4
  368. package/dist/plugins/workers/index.d.ts.map +1 -1
  369. package/dist/plugins/workers/index.js +2 -2
  370. package/dist/plugins/workers/index.js.map +1 -1
  371. package/dist/plugins/workers/plugin.d.ts +10 -57
  372. package/dist/plugins/workers/plugin.d.ts.map +1 -1
  373. package/dist/plugins/workers/plugin.js +385 -123
  374. package/dist/plugins/workers/plugin.js.map +1 -1
  375. package/dist/plugins/workers/state.d.ts +69 -0
  376. package/dist/plugins/workers/state.d.ts.map +1 -0
  377. package/dist/plugins/workers/state.js +52 -0
  378. package/dist/plugins/workers/state.js.map +1 -0
  379. package/dist/plugins/workers/worker.d.ts +15 -4
  380. package/dist/plugins/workers/worker.d.ts.map +1 -1
  381. package/dist/testing/conformance.d.ts +106 -0
  382. package/dist/testing/conformance.d.ts.map +1 -0
  383. package/dist/testing/conformance.js +1463 -0
  384. package/dist/testing/conformance.js.map +1 -0
  385. package/dist/testing/node-platform.d.ts.map +1 -1
  386. package/dist/testing/node-platform.js +5 -0
  387. package/dist/testing/node-platform.js.map +1 -1
  388. package/dist/testing/test-harness.d.ts +11 -1
  389. package/dist/testing/test-harness.d.ts.map +1 -1
  390. package/dist/testing/test-harness.js +17 -37
  391. package/dist/testing/test-harness.js.map +1 -1
  392. package/dist/testing/wait-helpers.d.ts.map +1 -1
  393. package/dist/testing/wait-helpers.js +1 -3
  394. package/dist/testing/wait-helpers.js.map +1 -1
  395. package/dist/transport/adapter/client-adapter.d.ts +6 -0
  396. package/dist/transport/adapter/client-adapter.d.ts.map +1 -1
  397. package/dist/transport/adapter/client-adapter.js +50 -3
  398. package/dist/transport/adapter/client-adapter.js.map +1 -1
  399. package/dist/transport/adapter/heartbeat.d.ts +16 -0
  400. package/dist/transport/adapter/heartbeat.d.ts.map +1 -0
  401. package/dist/transport/adapter/heartbeat.js +41 -0
  402. package/dist/transport/adapter/heartbeat.js.map +1 -0
  403. package/dist/transport/adapter/server-adapter.d.ts.map +1 -1
  404. package/dist/transport/adapter/server-adapter.js +6 -0
  405. package/dist/transport/adapter/server-adapter.js.map +1 -1
  406. package/dist/transport/http/app.d.ts +3 -30
  407. package/dist/transport/http/app.d.ts.map +1 -1
  408. package/dist/transport/http/app.js +3 -7
  409. package/dist/transport/http/app.js.map +1 -1
  410. package/dist/transport/http/context.d.ts +40 -0
  411. package/dist/transport/http/context.d.ts.map +1 -0
  412. package/dist/transport/http/context.js +17 -0
  413. package/dist/transport/http/context.js.map +1 -0
  414. package/dist/transport/http/fetch-guard.d.ts +49 -0
  415. package/dist/transport/http/fetch-guard.d.ts.map +1 -0
  416. package/dist/transport/http/fetch-guard.js +312 -0
  417. package/dist/transport/http/fetch-guard.js.map +1 -0
  418. package/dist/transport/http/index.d.ts +1 -1
  419. package/dist/transport/http/index.d.ts.map +1 -1
  420. package/dist/transport/http/middleware/bearer-auth.d.ts +1 -1
  421. package/dist/transport/http/middleware/bearer-auth.d.ts.map +1 -1
  422. package/dist/transport/http/middleware/error-handler.d.ts +2 -2
  423. package/dist/transport/http/middleware/error-handler.d.ts.map +1 -1
  424. package/dist/transport/http/path-containment.d.ts +20 -0
  425. package/dist/transport/http/path-containment.d.ts.map +1 -0
  426. package/dist/transport/http/path-containment.js +31 -0
  427. package/dist/transport/http/path-containment.js.map +1 -0
  428. package/dist/transport/http/responses.d.ts +30 -0
  429. package/dist/transport/http/responses.d.ts.map +1 -0
  430. package/dist/transport/http/responses.js +5 -0
  431. package/dist/transport/http/responses.js.map +1 -0
  432. package/dist/transport/http/routes/files.d.ts +1 -1
  433. package/dist/transport/http/routes/files.d.ts.map +1 -1
  434. package/dist/transport/http/routes/files.js +54 -155
  435. package/dist/transport/http/routes/files.js.map +1 -1
  436. package/dist/transport/http/routes/resources.d.ts +1 -1
  437. package/dist/transport/http/routes/resources.d.ts.map +1 -1
  438. package/dist/transport/http/routes/resources.js +92 -57
  439. package/dist/transport/http/routes/resources.js.map +1 -1
  440. package/dist/transport/http/routes/rpc.d.ts +6 -1
  441. package/dist/transport/http/routes/rpc.d.ts.map +1 -1
  442. package/dist/transport/http/routes/rpc.js +51 -21
  443. package/dist/transport/http/routes/rpc.js.map +1 -1
  444. package/dist/transport/http/routes/upload.d.ts +1 -1
  445. package/dist/transport/http/routes/upload.d.ts.map +1 -1
  446. package/dist/transport/http/routes/upload.js +256 -169
  447. package/dist/transport/http/routes/upload.js.map +1 -1
  448. package/dist/user-config.d.ts +34 -7
  449. package/dist/user-config.d.ts.map +1 -1
  450. package/dist/user-config.js +71 -0
  451. package/dist/user-config.js.map +1 -1
  452. package/package.json +18 -8
  453. package/src/bootstrap.ts +119 -35
  454. package/src/bun-platform/fs.ts +1 -0
  455. package/src/bun-platform/index.ts +18 -1
  456. package/src/bun-platform/server-lifecycle.ts +218 -0
  457. package/src/bun-platform/shell.ts +362 -0
  458. package/src/config.ts +130 -0
  459. package/src/core/agents/agent.ts +219 -95
  460. package/src/core/agents/config.ts +8 -0
  461. package/src/core/agents/retry.ts +16 -17
  462. package/src/core/agents/state.ts +28 -0
  463. package/src/core/context/state.ts +4 -0
  464. package/src/core/events/base-event-store.ts +24 -16
  465. package/src/core/events/file.ts +198 -22
  466. package/src/core/file-store/containment.ts +75 -0
  467. package/src/core/file-store/file-store.ts +106 -25
  468. package/src/core/file-store/types.ts +14 -1
  469. package/src/core/image/image-processor.ts +3 -1
  470. package/src/core/image/types.ts +2 -0
  471. package/src/core/image/vips-resizer.ts +102 -37
  472. package/src/core/llm/anthropic.ts +127 -82
  473. package/src/core/llm/logger.ts +175 -37
  474. package/src/core/llm/openrouter.ts +82 -81
  475. package/src/core/llm/provider-request.ts +40 -0
  476. package/src/core/llm/provider.ts +72 -3
  477. package/src/core/llm/state.ts +12 -0
  478. package/src/core/plugins/plugin-builder.ts +106 -14
  479. package/src/core/preset/preset-builder.ts +12 -22
  480. package/src/core/sessions/context.ts +18 -0
  481. package/src/core/sessions/runtime-activity.ts +78 -0
  482. package/src/core/sessions/schema.ts +29 -3
  483. package/src/core/sessions/session-manager.ts +560 -140
  484. package/src/core/sessions/session-store.ts +38 -0
  485. package/src/core/sessions/session.ts +187 -47
  486. package/src/core/sessions/state.ts +16 -0
  487. package/src/core/system.ts +15 -0
  488. package/src/core/wake-key.ts +65 -0
  489. package/src/index.ts +31 -12
  490. package/src/lib/archive/archive-inspection.fixtures.ts +138 -0
  491. package/src/lib/archive/archive-inspection.ts +359 -0
  492. package/src/lib/archive/index.ts +17 -0
  493. package/src/lib/logger/console.ts +7 -57
  494. package/src/lib/logger/file.ts +28 -50
  495. package/src/lib/logger/index.ts +3 -1
  496. package/src/lib/logger/jsonl.ts +36 -0
  497. package/src/lib/logger/logger.ts +48 -0
  498. package/src/lib/logger/session-log.ts +42 -0
  499. package/src/lib/utils/concurrency.ts +37 -8
  500. package/src/lib/utils/fs-batch.ts +49 -0
  501. package/src/lib/utils/result.ts +7 -31
  502. package/src/lib/utils/sleep.ts +23 -0
  503. package/src/platform/fs-revision.ts +21 -0
  504. package/src/platform/fs.ts +109 -1
  505. package/src/platform/git.ts +67 -0
  506. package/src/platform/index.ts +51 -1
  507. package/src/platform/llm-call-log.ts +86 -0
  508. package/src/platform/scheduler.ts +71 -0
  509. package/src/platform/session-log.ts +39 -0
  510. package/src/platform/shell.ts +89 -0
  511. package/src/plugins/agent-status/plugin.ts +1 -0
  512. package/src/plugins/agents/plugin.ts +134 -81
  513. package/src/plugins/filesystem/listing.ts +70 -12
  514. package/src/plugins/filesystem/plugin.ts +8 -6
  515. package/src/plugins/git-status/plugin.ts +204 -77
  516. package/src/plugins/llm-debug/plugin.ts +1 -0
  517. package/src/plugins/logs/plugin.ts +9 -0
  518. package/src/plugins/mailbox/plugin.ts +46 -64
  519. package/src/plugins/mailbox/query.ts +15 -7
  520. package/src/plugins/mailbox/state.ts +1 -0
  521. package/src/plugins/resources/filename.ts +19 -0
  522. package/src/plugins/resources/plugin.ts +111 -59
  523. package/src/plugins/result-eviction/plugin.ts +6 -1
  524. package/src/plugins/services/plugin.ts +254 -98
  525. package/src/plugins/services/prompt.ts +1 -6
  526. package/src/plugins/services/schema.ts +17 -3
  527. package/src/plugins/services/service.ts +702 -252
  528. package/src/plugins/session-lifecycle/plugin.ts +56 -41
  529. package/src/plugins/session-state/plugin.ts +242 -88
  530. package/src/plugins/session-stats/plugin.ts +1 -0
  531. package/src/plugins/shell/executor.ts +144 -226
  532. package/src/plugins/shell/index.ts +1 -4
  533. package/src/plugins/shell/plugin.ts +7 -9
  534. package/src/plugins/skills/discovery.ts +10 -8
  535. package/src/plugins/skills/index.ts +1 -1
  536. package/src/plugins/skills/plugin.ts +19 -27
  537. package/src/plugins/skills/prompts.ts +3 -3
  538. package/src/plugins/skills/schema.ts +5 -2
  539. package/src/plugins/uploads/plugin.ts +991 -273
  540. package/src/plugins/uploads/preprocessor.ts +25 -0
  541. package/src/plugins/uploads/preprocessors/image-classifier.ts +56 -25
  542. package/src/plugins/uploads/preprocessors/markitdown-preprocessor.ts +41 -15
  543. package/src/plugins/uploads/preprocessors/pdf-preprocessor.ts +32 -16
  544. package/src/plugins/uploads/preprocessors/zip-preprocessor.ts +67 -38
  545. package/src/plugins/uploads/schema.ts +30 -3
  546. package/src/plugins/uploads/state.ts +12 -0
  547. package/src/plugins/user-chat/plugin.ts +196 -40
  548. package/src/plugins/workers/context.ts +102 -39
  549. package/src/plugins/workers/definition.ts +7 -0
  550. package/src/plugins/workers/index.ts +4 -4
  551. package/src/plugins/workers/plugin.ts +461 -151
  552. package/src/plugins/workers/state.ts +64 -0
  553. package/src/plugins/workers/worker.ts +15 -4
  554. package/src/testing/conformance.ts +1751 -0
  555. package/src/testing/node-platform.ts +5 -0
  556. package/src/testing/test-harness.ts +21 -38
  557. package/src/testing/wait-helpers.ts +1 -4
  558. package/src/transport/adapter/client-adapter.ts +60 -3
  559. package/src/transport/adapter/heartbeat.ts +50 -0
  560. package/src/transport/adapter/server-adapter.ts +6 -0
  561. package/src/transport/http/app.ts +7 -35
  562. package/src/transport/http/context.ts +46 -0
  563. package/src/transport/http/fetch-guard.ts +318 -0
  564. package/src/transport/http/index.ts +1 -1
  565. package/src/transport/http/middleware/bearer-auth.ts +1 -1
  566. package/src/transport/http/middleware/error-handler.ts +1 -1
  567. package/src/transport/http/path-containment.ts +44 -0
  568. package/src/transport/http/responses.ts +20 -0
  569. package/src/transport/http/routes/files.ts +69 -159
  570. package/src/transport/http/routes/resources.ts +124 -93
  571. package/src/transport/http/routes/rpc.ts +63 -26
  572. package/src/transport/http/routes/upload.ts +327 -258
  573. package/src/user-config.ts +93 -7
  574. package/dist/config.test.d.ts +0 -2
  575. package/dist/config.test.d.ts.map +0 -1
  576. package/dist/config.test.js +0 -155
  577. package/dist/config.test.js.map +0 -1
  578. package/dist/core/agent-loop.integration.test.d.ts +0 -2
  579. package/dist/core/agent-loop.integration.test.d.ts.map +0 -1
  580. package/dist/core/agent-loop.integration.test.js +0 -414
  581. package/dist/core/agent-loop.integration.test.js.map +0 -1
  582. package/dist/core/agents/agent-config.test.d.ts +0 -2
  583. package/dist/core/agents/agent-config.test.d.ts.map +0 -1
  584. package/dist/core/agents/agent-config.test.js +0 -194
  585. package/dist/core/agents/agent-config.test.js.map +0 -1
  586. package/dist/core/agents/agent-shutdown.test.d.ts +0 -6
  587. package/dist/core/agents/agent-shutdown.test.d.ts.map +0 -1
  588. package/dist/core/agents/agent-shutdown.test.js +0 -180
  589. package/dist/core/agents/agent-shutdown.test.js.map +0 -1
  590. package/dist/core/agents/agent.test.d.ts +0 -2
  591. package/dist/core/agents/agent.test.d.ts.map +0 -1
  592. package/dist/core/agents/agent.test.js +0 -313
  593. package/dist/core/agents/agent.test.js.map +0 -1
  594. package/dist/core/agents/communicator.d.ts +0 -3
  595. package/dist/core/agents/communicator.d.ts.map +0 -1
  596. package/dist/core/agents/communicator.js +0 -13
  597. package/dist/core/agents/communicator.js.map +0 -1
  598. package/dist/core/agents/handler-events.test.d.ts +0 -5
  599. package/dist/core/agents/handler-events.test.d.ts.map +0 -1
  600. package/dist/core/agents/handler-events.test.js +0 -115
  601. package/dist/core/agents/handler-events.test.js.map +0 -1
  602. package/dist/core/agents/response-sanitizer.test.d.ts +0 -2
  603. package/dist/core/agents/response-sanitizer.test.d.ts.map +0 -1
  604. package/dist/core/agents/response-sanitizer.test.js +0 -101
  605. package/dist/core/agents/response-sanitizer.test.js.map +0 -1
  606. package/dist/core/error-recovery.integration.test.d.ts +0 -2
  607. package/dist/core/error-recovery.integration.test.d.ts.map +0 -1
  608. package/dist/core/error-recovery.integration.test.js +0 -288
  609. package/dist/core/error-recovery.integration.test.js.map +0 -1
  610. package/dist/core/event-sourcing.integration.test.d.ts +0 -2
  611. package/dist/core/event-sourcing.integration.test.d.ts.map +0 -1
  612. package/dist/core/event-sourcing.integration.test.js +0 -154
  613. package/dist/core/event-sourcing.integration.test.js.map +0 -1
  614. package/dist/core/events/file.test.d.ts +0 -2
  615. package/dist/core/events/file.test.d.ts.map +0 -1
  616. package/dist/core/events/file.test.js +0 -284
  617. package/dist/core/events/file.test.js.map +0 -1
  618. package/dist/core/events/memory.test.d.ts +0 -2
  619. package/dist/core/events/memory.test.d.ts.map +0 -1
  620. package/dist/core/events/memory.test.js +0 -502
  621. package/dist/core/events/memory.test.js.map +0 -1
  622. package/dist/core/image/image-processor.test.d.ts +0 -2
  623. package/dist/core/image/image-processor.test.d.ts.map +0 -1
  624. package/dist/core/image/image-processor.test.js +0 -171
  625. package/dist/core/image/image-processor.test.js.map +0 -1
  626. package/dist/core/image/vips-resizer.test.d.ts +0 -2
  627. package/dist/core/image/vips-resizer.test.d.ts.map +0 -1
  628. package/dist/core/image/vips-resizer.test.js +0 -336
  629. package/dist/core/image/vips-resizer.test.js.map +0 -1
  630. package/dist/core/llm/anthropic.test.d.ts +0 -2
  631. package/dist/core/llm/anthropic.test.d.ts.map +0 -1
  632. package/dist/core/llm/anthropic.test.js +0 -464
  633. package/dist/core/llm/anthropic.test.js.map +0 -1
  634. package/dist/core/llm/cache-breakpoints.test.d.ts +0 -2
  635. package/dist/core/llm/cache-breakpoints.test.d.ts.map +0 -1
  636. package/dist/core/llm/cache-breakpoints.test.js +0 -69
  637. package/dist/core/llm/cache-breakpoints.test.js.map +0 -1
  638. package/dist/core/llm/cache-live.test.d.ts +0 -16
  639. package/dist/core/llm/cache-live.test.d.ts.map +0 -1
  640. package/dist/core/llm/cache-live.test.js +0 -137
  641. package/dist/core/llm/cache-live.test.js.map +0 -1
  642. package/dist/core/llm/logger.test.d.ts +0 -7
  643. package/dist/core/llm/logger.test.d.ts.map +0 -1
  644. package/dist/core/llm/logger.test.js +0 -228
  645. package/dist/core/llm/logger.test.js.map +0 -1
  646. package/dist/core/llm/message-sanitization.test.d.ts +0 -2
  647. package/dist/core/llm/message-sanitization.test.d.ts.map +0 -1
  648. package/dist/core/llm/message-sanitization.test.js +0 -181
  649. package/dist/core/llm/message-sanitization.test.js.map +0 -1
  650. package/dist/core/llm/mock.test.d.ts +0 -2
  651. package/dist/core/llm/mock.test.d.ts.map +0 -1
  652. package/dist/core/llm/mock.test.js +0 -318
  653. package/dist/core/llm/mock.test.js.map +0 -1
  654. package/dist/core/llm/openrouter-mapping.test.d.ts +0 -2
  655. package/dist/core/llm/openrouter-mapping.test.d.ts.map +0 -1
  656. package/dist/core/llm/openrouter-mapping.test.js +0 -172
  657. package/dist/core/llm/openrouter-mapping.test.js.map +0 -1
  658. package/dist/core/llm/openrouter.test.d.ts +0 -2
  659. package/dist/core/llm/openrouter.test.d.ts.map +0 -1
  660. package/dist/core/llm/openrouter.test.js +0 -377
  661. package/dist/core/llm/openrouter.test.js.map +0 -1
  662. package/dist/core/llm/provider-integration.test.d.ts +0 -12
  663. package/dist/core/llm/provider-integration.test.d.ts.map +0 -1
  664. package/dist/core/llm/provider-integration.test.js +0 -350
  665. package/dist/core/llm/provider-integration.test.js.map +0 -1
  666. package/dist/core/llm/routing-provider.test.d.ts +0 -2
  667. package/dist/core/llm/routing-provider.test.d.ts.map +0 -1
  668. package/dist/core/llm/routing-provider.test.js +0 -94
  669. package/dist/core/llm/routing-provider.test.js.map +0 -1
  670. package/dist/core/llm/snapshot-middleware.test.d.ts +0 -2
  671. package/dist/core/llm/snapshot-middleware.test.d.ts.map +0 -1
  672. package/dist/core/llm/snapshot-middleware.test.js +0 -144
  673. package/dist/core/llm/snapshot-middleware.test.js.map +0 -1
  674. package/dist/core/multi-agent.integration.test.d.ts +0 -2
  675. package/dist/core/multi-agent.integration.test.d.ts.map +0 -1
  676. package/dist/core/multi-agent.integration.test.js +0 -298
  677. package/dist/core/multi-agent.integration.test.js.map +0 -1
  678. package/dist/core/plugin-hooks.integration.test.d.ts +0 -2
  679. package/dist/core/plugin-hooks.integration.test.d.ts.map +0 -1
  680. package/dist/core/plugin-hooks.integration.test.js +0 -458
  681. package/dist/core/plugin-hooks.integration.test.js.map +0 -1
  682. package/dist/core/session-lifecycle.integration.test.d.ts +0 -2
  683. package/dist/core/session-lifecycle.integration.test.d.ts.map +0 -1
  684. package/dist/core/session-lifecycle.integration.test.js +0 -159
  685. package/dist/core/session-lifecycle.integration.test.js.map +0 -1
  686. package/dist/core/sessions/fork-utils.test.d.ts +0 -2
  687. package/dist/core/sessions/fork-utils.test.d.ts.map +0 -1
  688. package/dist/core/sessions/fork-utils.test.js +0 -129
  689. package/dist/core/sessions/fork-utils.test.js.map +0 -1
  690. package/dist/core/sessions/session-overrides.integration.test.d.ts +0 -2
  691. package/dist/core/sessions/session-overrides.integration.test.d.ts.map +0 -1
  692. package/dist/core/sessions/session-overrides.integration.test.js +0 -154
  693. package/dist/core/sessions/session-overrides.integration.test.js.map +0 -1
  694. package/dist/core/sessions/session.test.d.ts +0 -2
  695. package/dist/core/sessions/session.test.d.ts.map +0 -1
  696. package/dist/core/sessions/session.test.js +0 -1100
  697. package/dist/core/sessions/session.test.js.map +0 -1
  698. package/dist/core/tools/executor.test.d.ts +0 -2
  699. package/dist/core/tools/executor.test.d.ts.map +0 -1
  700. package/dist/core/tools/executor.test.js +0 -144
  701. package/dist/core/tools/executor.test.js.map +0 -1
  702. package/dist/lib/logger/console.test.d.ts +0 -2
  703. package/dist/lib/logger/console.test.d.ts.map +0 -1
  704. package/dist/lib/logger/console.test.js +0 -258
  705. package/dist/lib/logger/console.test.js.map +0 -1
  706. package/dist/lib/never.d.ts +0 -2
  707. package/dist/lib/never.d.ts.map +0 -1
  708. package/dist/lib/never.js +0 -4
  709. package/dist/lib/never.js.map +0 -1
  710. package/dist/lib/utils/concurrency.test.d.ts +0 -2
  711. package/dist/lib/utils/concurrency.test.d.ts.map +0 -1
  712. package/dist/lib/utils/concurrency.test.js +0 -135
  713. package/dist/lib/utils/concurrency.test.js.map +0 -1
  714. package/dist/plugins/agent-status/agent-status.test.d.ts +0 -2
  715. package/dist/plugins/agent-status/agent-status.test.d.ts.map +0 -1
  716. package/dist/plugins/agent-status/agent-status.test.js +0 -136
  717. package/dist/plugins/agent-status/agent-status.test.js.map +0 -1
  718. package/dist/plugins/agents/agents.integration.test.d.ts +0 -2
  719. package/dist/plugins/agents/agents.integration.test.d.ts.map +0 -1
  720. package/dist/plugins/agents/agents.integration.test.js +0 -830
  721. package/dist/plugins/agents/agents.integration.test.js.map +0 -1
  722. package/dist/plugins/agents/supervision.integration.test.d.ts +0 -2
  723. package/dist/plugins/agents/supervision.integration.test.d.ts.map +0 -1
  724. package/dist/plugins/agents/supervision.integration.test.js +0 -215
  725. package/dist/plugins/agents/supervision.integration.test.js.map +0 -1
  726. package/dist/plugins/context-compact/compaction-live.test.d.ts +0 -17
  727. package/dist/plugins/context-compact/compaction-live.test.d.ts.map +0 -1
  728. package/dist/plugins/context-compact/compaction-live.test.js +0 -177
  729. package/dist/plugins/context-compact/compaction-live.test.js.map +0 -1
  730. package/dist/plugins/context-compact/context-compact.integration.test.d.ts +0 -2
  731. package/dist/plugins/context-compact/context-compact.integration.test.d.ts.map +0 -1
  732. package/dist/plugins/context-compact/context-compact.integration.test.js +0 -364
  733. package/dist/plugins/context-compact/context-compact.integration.test.js.map +0 -1
  734. package/dist/plugins/context-compact/context-compactor.test.d.ts +0 -2
  735. package/dist/plugins/context-compact/context-compactor.test.d.ts.map +0 -1
  736. package/dist/plugins/context-compact/context-compactor.test.js +0 -858
  737. package/dist/plugins/context-compact/context-compactor.test.js.map +0 -1
  738. package/dist/plugins/context-compact/history-offloader.test.d.ts +0 -2
  739. package/dist/plugins/context-compact/history-offloader.test.d.ts.map +0 -1
  740. package/dist/plugins/context-compact/history-offloader.test.js +0 -77
  741. package/dist/plugins/context-compact/history-offloader.test.js.map +0 -1
  742. package/dist/plugins/filesystem/filesystem.integration.test.d.ts +0 -2
  743. package/dist/plugins/filesystem/filesystem.integration.test.d.ts.map +0 -1
  744. package/dist/plugins/filesystem/filesystem.integration.test.js +0 -447
  745. package/dist/plugins/filesystem/filesystem.integration.test.js.map +0 -1
  746. package/dist/plugins/filesystem/schema.d.ts +0 -7
  747. package/dist/plugins/filesystem/schema.d.ts.map +0 -1
  748. package/dist/plugins/filesystem/schema.js +0 -2
  749. package/dist/plugins/filesystem/schema.js.map +0 -1
  750. package/dist/plugins/limits-guard/limit-guard.test.d.ts +0 -2
  751. package/dist/plugins/limits-guard/limit-guard.test.d.ts.map +0 -1
  752. package/dist/plugins/limits-guard/limit-guard.test.js +0 -194
  753. package/dist/plugins/limits-guard/limit-guard.test.js.map +0 -1
  754. package/dist/plugins/limits-guard/limits-guard.integration.test.d.ts +0 -2
  755. package/dist/plugins/limits-guard/limits-guard.integration.test.d.ts.map +0 -1
  756. package/dist/plugins/limits-guard/limits-guard.integration.test.js +0 -887
  757. package/dist/plugins/limits-guard/limits-guard.integration.test.js.map +0 -1
  758. package/dist/plugins/llm-debug/llm-debug.integration.test.d.ts +0 -2
  759. package/dist/plugins/llm-debug/llm-debug.integration.test.d.ts.map +0 -1
  760. package/dist/plugins/llm-debug/llm-debug.integration.test.js +0 -157
  761. package/dist/plugins/llm-debug/llm-debug.integration.test.js.map +0 -1
  762. package/dist/plugins/mailbox/mailbox.integration.test.d.ts +0 -2
  763. package/dist/plugins/mailbox/mailbox.integration.test.d.ts.map +0 -1
  764. package/dist/plugins/mailbox/mailbox.integration.test.js +0 -678
  765. package/dist/plugins/mailbox/mailbox.integration.test.js.map +0 -1
  766. package/dist/plugins/resources/resources.integration.test.d.ts +0 -2
  767. package/dist/plugins/resources/resources.integration.test.d.ts.map +0 -1
  768. package/dist/plugins/resources/resources.integration.test.js +0 -62
  769. package/dist/plugins/resources/resources.integration.test.js.map +0 -1
  770. package/dist/plugins/result-eviction/result-eviction.integration.test.d.ts +0 -2
  771. package/dist/plugins/result-eviction/result-eviction.integration.test.d.ts.map +0 -1
  772. package/dist/plugins/result-eviction/result-eviction.integration.test.js +0 -294
  773. package/dist/plugins/result-eviction/result-eviction.integration.test.js.map +0 -1
  774. package/dist/plugins/services/pid-registry.test.d.ts +0 -2
  775. package/dist/plugins/services/pid-registry.test.d.ts.map +0 -1
  776. package/dist/plugins/services/pid-registry.test.js +0 -161
  777. package/dist/plugins/services/pid-registry.test.js.map +0 -1
  778. package/dist/plugins/services/services.integration.test.d.ts +0 -2
  779. package/dist/plugins/services/services.integration.test.d.ts.map +0 -1
  780. package/dist/plugins/services/services.integration.test.js +0 -1057
  781. package/dist/plugins/services/services.integration.test.js.map +0 -1
  782. package/dist/plugins/session-lifecycle/session-lifecycle.integration.test.d.ts +0 -2
  783. package/dist/plugins/session-lifecycle/session-lifecycle.integration.test.d.ts.map +0 -1
  784. package/dist/plugins/session-lifecycle/session-lifecycle.integration.test.js +0 -498
  785. package/dist/plugins/session-lifecycle/session-lifecycle.integration.test.js.map +0 -1
  786. package/dist/plugins/session-stats/plugin.test.d.ts +0 -2
  787. package/dist/plugins/session-stats/plugin.test.d.ts.map +0 -1
  788. package/dist/plugins/session-stats/plugin.test.js +0 -145
  789. package/dist/plugins/session-stats/plugin.test.js.map +0 -1
  790. package/dist/plugins/shell/shell.integration.test.d.ts +0 -2
  791. package/dist/plugins/shell/shell.integration.test.d.ts.map +0 -1
  792. package/dist/plugins/shell/shell.integration.test.js +0 -234
  793. package/dist/plugins/shell/shell.integration.test.js.map +0 -1
  794. package/dist/plugins/shell/shell.test.d.ts +0 -2
  795. package/dist/plugins/shell/shell.test.d.ts.map +0 -1
  796. package/dist/plugins/shell/shell.test.js +0 -236
  797. package/dist/plugins/shell/shell.test.js.map +0 -1
  798. package/dist/plugins/skills/discovery.test.d.ts +0 -2
  799. package/dist/plugins/skills/discovery.test.d.ts.map +0 -1
  800. package/dist/plugins/skills/discovery.test.js +0 -312
  801. package/dist/plugins/skills/discovery.test.js.map +0 -1
  802. package/dist/plugins/skills/skills.integration.test.d.ts +0 -2
  803. package/dist/plugins/skills/skills.integration.test.d.ts.map +0 -1
  804. package/dist/plugins/skills/skills.integration.test.js +0 -475
  805. package/dist/plugins/skills/skills.integration.test.js.map +0 -1
  806. package/dist/plugins/todo/todo.integration.test.d.ts +0 -2
  807. package/dist/plugins/todo/todo.integration.test.d.ts.map +0 -1
  808. package/dist/plugins/todo/todo.integration.test.js +0 -605
  809. package/dist/plugins/todo/todo.integration.test.js.map +0 -1
  810. package/dist/plugins/uploads/preprocessors/image-classifier.test.d.ts +0 -2
  811. package/dist/plugins/uploads/preprocessors/image-classifier.test.d.ts.map +0 -1
  812. package/dist/plugins/uploads/preprocessors/image-classifier.test.js +0 -113
  813. package/dist/plugins/uploads/preprocessors/image-classifier.test.js.map +0 -1
  814. package/dist/plugins/uploads/uploads.integration.test.d.ts +0 -2
  815. package/dist/plugins/uploads/uploads.integration.test.d.ts.map +0 -1
  816. package/dist/plugins/uploads/uploads.integration.test.js +0 -639
  817. package/dist/plugins/uploads/uploads.integration.test.js.map +0 -1
  818. package/dist/plugins/user-chat/user-chat.integration.test.d.ts +0 -2
  819. package/dist/plugins/user-chat/user-chat.integration.test.d.ts.map +0 -1
  820. package/dist/plugins/user-chat/user-chat.integration.test.js +0 -754
  821. package/dist/plugins/user-chat/user-chat.integration.test.js.map +0 -1
  822. package/dist/plugins/workers/workers.integration.test.d.ts +0 -2
  823. package/dist/plugins/workers/workers.integration.test.d.ts.map +0 -1
  824. package/dist/plugins/workers/workers.integration.test.js +0 -629
  825. package/dist/plugins/workers/workers.integration.test.js.map +0 -1
  826. package/dist/prompts/macros.test.d.ts +0 -2
  827. package/dist/prompts/macros.test.d.ts.map +0 -1
  828. package/dist/prompts/macros.test.js +0 -80
  829. package/dist/prompts/macros.test.js.map +0 -1
  830. package/dist/testing/test-harness.test.d.ts +0 -2
  831. package/dist/testing/test-harness.test.d.ts.map +0 -1
  832. package/dist/testing/test-harness.test.js +0 -92
  833. package/dist/testing/test-harness.test.js.map +0 -1
  834. package/dist/transport/http/routes/rpc.integration.test.d.ts +0 -2
  835. package/dist/transport/http/routes/rpc.integration.test.d.ts.map +0 -1
  836. package/dist/transport/http/routes/rpc.integration.test.js +0 -189
  837. package/dist/transport/http/routes/rpc.integration.test.js.map +0 -1
  838. package/dist/transport/http/routes/rpc.test.d.ts +0 -2
  839. package/dist/transport/http/routes/rpc.test.d.ts.map +0 -1
  840. package/dist/transport/http/routes/rpc.test.js +0 -316
  841. package/dist/transport/http/routes/rpc.test.js.map +0 -1
  842. package/src/config.test.ts +0 -174
  843. package/src/core/agent-loop.integration.test.ts +0 -503
  844. package/src/core/agents/agent-config.test.ts +0 -240
  845. package/src/core/agents/agent-shutdown.test.ts +0 -236
  846. package/src/core/agents/agent.test.ts +0 -387
  847. package/src/core/agents/communicator.ts +0 -16
  848. package/src/core/agents/handler-events.test.ts +0 -167
  849. package/src/core/agents/response-sanitizer.test.ts +0 -137
  850. package/src/core/error-recovery.integration.test.ts +0 -343
  851. package/src/core/event-sourcing.integration.test.ts +0 -191
  852. package/src/core/events/file.test.ts +0 -436
  853. package/src/core/events/memory.test.ts +0 -741
  854. package/src/core/image/image-processor.test.ts +0 -218
  855. package/src/core/image/vips-resizer.test.ts +0 -388
  856. package/src/core/llm/anthropic.test.ts +0 -546
  857. package/src/core/llm/cache-breakpoints.test.ts +0 -85
  858. package/src/core/llm/cache-live.test.ts +0 -155
  859. package/src/core/llm/logger.test.ts +0 -270
  860. package/src/core/llm/message-sanitization.test.ts +0 -217
  861. package/src/core/llm/mock.test.ts +0 -402
  862. package/src/core/llm/openrouter-mapping.test.ts +0 -210
  863. package/src/core/llm/openrouter.test.ts +0 -499
  864. package/src/core/llm/provider-integration.test.ts +0 -408
  865. package/src/core/llm/routing-provider.test.ts +0 -113
  866. package/src/core/llm/snapshot-middleware.test.ts +0 -168
  867. package/src/core/multi-agent.integration.test.ts +0 -340
  868. package/src/core/plugin-hooks.integration.test.ts +0 -568
  869. package/src/core/session-lifecycle.integration.test.ts +0 -202
  870. package/src/core/sessions/fork-utils.test.ts +0 -158
  871. package/src/core/sessions/session-overrides.integration.test.ts +0 -210
  872. package/src/core/sessions/session.test.ts +0 -1736
  873. package/src/core/tools/executor.test.ts +0 -161
  874. package/src/lib/logger/console.test.ts +0 -348
  875. package/src/lib/never.ts +0 -3
  876. package/src/lib/utils/concurrency.test.ts +0 -169
  877. package/src/plugins/agent-status/agent-status.test.ts +0 -164
  878. package/src/plugins/agents/agents.integration.test.ts +0 -976
  879. package/src/plugins/agents/supervision.integration.test.ts +0 -249
  880. package/src/plugins/context-compact/compaction-live.test.ts +0 -221
  881. package/src/plugins/context-compact/context-compact.integration.test.ts +0 -418
  882. package/src/plugins/context-compact/context-compactor.test.ts +0 -1036
  883. package/src/plugins/context-compact/history-offloader.test.ts +0 -100
  884. package/src/plugins/filesystem/filesystem.integration.test.ts +0 -529
  885. package/src/plugins/filesystem/schema.ts +0 -6
  886. package/src/plugins/limits-guard/limit-guard.test.ts +0 -253
  887. package/src/plugins/limits-guard/limits-guard.integration.test.ts +0 -1012
  888. package/src/plugins/llm-debug/llm-debug.integration.test.ts +0 -192
  889. package/src/plugins/mailbox/mailbox.integration.test.ts +0 -794
  890. package/src/plugins/resources/resources.integration.test.ts +0 -68
  891. package/src/plugins/result-eviction/result-eviction.integration.test.ts +0 -332
  892. package/src/plugins/services/pid-registry.test.ts +0 -180
  893. package/src/plugins/services/services.integration.test.ts +0 -1223
  894. package/src/plugins/session-lifecycle/session-lifecycle.integration.test.ts +0 -639
  895. package/src/plugins/session-stats/plugin.test.ts +0 -160
  896. package/src/plugins/shell/shell.integration.test.ts +0 -273
  897. package/src/plugins/shell/shell.test.ts +0 -314
  898. package/src/plugins/skills/discovery.test.ts +0 -395
  899. package/src/plugins/skills/skills.integration.test.ts +0 -580
  900. package/src/plugins/todo/todo.integration.test.ts +0 -687
  901. package/src/plugins/uploads/preprocessors/image-classifier.test.ts +0 -142
  902. package/src/plugins/uploads/uploads.integration.test.ts +0 -831
  903. package/src/plugins/user-chat/user-chat.integration.test.ts +0 -893
  904. package/src/plugins/workers/workers.integration.test.ts +0 -778
  905. package/src/prompts/macros.test.ts +0 -107
  906. package/src/testing/test-harness.test.ts +0 -114
  907. package/src/transport/http/routes/rpc.integration.test.ts +0 -243
  908. package/src/transport/http/routes/rpc.test.ts +0 -372
@@ -1,14 +1,15 @@
1
- import { resolve } from 'node:path';
1
+ import { isAbsolute, resolve } from 'node:path';
2
2
  import { Err, Ok } from '../../lib/utils/result.js';
3
3
  // ============================================================================
4
4
  // Constants
5
5
  // ============================================================================
6
6
  const VIRTUAL_SESSION = '/home/user/session';
7
7
  const VIRTUAL_WORKSPACE = '/home/user/workspace';
8
- /** Maximum output size per stream in bytes (1 MB) */
9
- const MAX_OUTPUT_BYTES = 1_048_576;
10
- /** Grace period before SIGKILL after SIGTERM (ms) */
11
- const GRACEFUL_KILL_DELAY_MS = 5000;
8
+ /** The sandbox covers these with a tmpfs, so only what a grant mounts back exists under them. */
9
+ const HIDDEN_ROOTS = ['/home', '/root'];
10
+ function isWithin(path, root) {
11
+ return path === root || path.startsWith(root + '/');
12
+ }
12
13
  // ============================================================================
13
14
  // Shell escaping
14
15
  // ============================================================================
@@ -95,73 +96,14 @@ async function resolveAgentPath(fs, agentPath, sessionDir, workspaceDir, sandbox
95
96
  }
96
97
  return Ok(absolutePath);
97
98
  }
98
- // ============================================================================
99
- // Environment
100
- // ============================================================================
101
- /** Safe environment variables that can be passed to child processes */
102
- const SAFE_ENV_VARS = ['PATH', 'HOME', 'USER', 'SHELL', 'TERM', 'LANG', 'LC_ALL', 'TZ'];
103
- function getSafeEnv() {
104
- return Object.fromEntries(SAFE_ENV_VARS
105
- .filter(key => process.env[key])
106
- .map(key => [key, process.env[key]]));
107
- }
108
- export function buildBwrapArgs(opts) {
109
- const { command, cwd, sandbox, extraBinds } = opts;
110
- const sessionDir = opts.sessionDir ? resolve(opts.sessionDir) : undefined;
111
- const workspaceDir = opts.workspaceDir ? resolve(opts.workspaceDir) : undefined;
112
- const args = [
113
- '--ro-bind',
114
- '/',
115
- '/',
116
- '--dev',
117
- '/dev',
118
- '--proc',
119
- '/proc',
120
- '--tmpfs',
121
- '/tmp',
122
- ];
123
- // Hide sensitive directories with tmpfs overlays
124
- // (overrides --ro-bind / / for these paths, preventing access to user home dirs and root)
125
- args.push('--tmpfs', '/home');
126
- args.push('--tmpfs', '/root');
127
- if (sessionDir) {
128
- // Map real session dir to /home/user/session (read-write)
129
- args.push('--bind', sessionDir, VIRTUAL_SESSION);
130
- }
131
- if (workspaceDir) {
132
- // Map real workspace dir to /home/user/workspace (read-write)
133
- args.push('--bind', workspaceDir, VIRTUAL_WORKSPACE);
134
- }
135
- // Extra bind mounts (e.g. git project dir for worktree support, .gitconfig)
136
- for (const bind of extraBinds ?? []) {
137
- args.push(bind.mode === 'ro' ? '--ro-bind' : '--bind', bind.path, bind.destPath ?? bind.path);
138
- }
139
- // Additional writable paths (legacy support)
140
- for (const p of sandbox.writablePaths ?? []) {
141
- args.push('--bind', p, p);
142
- }
143
- // If no sessionDir/workspaceDir mapping, fall back to making cwd writable
144
- if (!sessionDir && !workspaceDir) {
145
- args.push('--bind', cwd, cwd);
146
- }
147
- args.push('--unshare-all');
148
- if (sandbox.network) {
149
- args.push('--share-net');
150
- }
151
- args.push('--die-with-parent');
152
- // Set working directory inside the namespace
153
- args.push('--chdir', cwd);
154
- args.push('/bin/sh', '-c', command);
155
- return args;
156
- }
157
99
  export class ShellExecutor {
158
100
  config;
159
101
  fs;
160
- process;
102
+ shell;
161
103
  constructor(config, deps) {
162
104
  this.config = config;
163
105
  this.fs = deps.fs;
164
- this.process = deps.process;
106
+ this.shell = deps.shell;
165
107
  }
166
108
  async execute(input, environment) {
167
109
  const args = typeof input.args === 'string' ? [input.args] : input.args;
@@ -175,16 +117,30 @@ export class ShellExecutor {
175
117
  const workspaceDir = environment.workspaceDir;
176
118
  // Determine sandbox mode from config
177
119
  const sandboxEnabled = this.config.sandboxed && this.config.sandbox?.enabled !== false;
178
- // Resolve cwd based on sandbox mode:
179
- // - bwrap enabled: use virtual path (bwrap handles mapping)
180
- // - sandboxed but no bwrap: agent sends virtual paths, resolve to real paths
181
- // - not sandboxed: agent sends real paths, use as-is
120
+ const shell = this.shell;
121
+ if (!shell) {
122
+ return Err({
123
+ message: 'This host cannot run shell commands: it has no shell.',
124
+ recoverable: false,
125
+ });
126
+ }
127
+ if (sandboxEnabled && shell.confinement === 'none') {
128
+ return Err({
129
+ message: 'This session runs commands sandboxed, but the host shell cannot confine them.',
130
+ recoverable: false,
131
+ });
132
+ }
133
+ // A `host` shell needs no grants: its filesystem holds nothing but this session.
134
+ const confineByPaths = sandboxEnabled && shell.confinement === 'paths';
135
+ // A sandboxed agent sends virtual paths: the shell presents them, or we resolve them here.
182
136
  let cwd;
183
137
  if (sandboxEnabled) {
184
- cwd = input.cwd ?? VIRTUAL_SESSION;
138
+ const cwdResult = await this.resolveSandboxCwd(input.cwd ?? VIRTUAL_SESSION, sessionDir, workspaceDir);
139
+ if (!cwdResult.ok)
140
+ return cwdResult;
141
+ cwd = cwdResult.value;
185
142
  }
186
143
  else if (this.config.sandboxed && input.cwd) {
187
- // Sandboxed env but bwrap disabled — resolve virtual paths to real paths
188
144
  const cwdResult = await resolveAgentPath(this.fs, input.cwd, sessionDir, workspaceDir, this.config.sandboxed);
189
145
  if (!cwdResult.ok)
190
146
  return cwdResult;
@@ -208,132 +164,111 @@ export class ShellExecutor {
208
164
  });
209
165
  }
210
166
  }
211
- return new Promise((resolve) => {
212
- let stdout = '';
213
- let stderr = '';
214
- let timedOut = false;
215
- let child;
216
- if (sandboxEnabled) {
217
- // Apply resource limits inside the sandbox
218
- const timeoutSeconds = Math.ceil(timeout / 1000);
219
- const sandboxCommand = `ulimit -v 524288 -f 204800 -u 64 -t ${timeoutSeconds} 2>/dev/null; ${fullCommand}`;
220
- const bwrapArgs = buildBwrapArgs({
221
- command: sandboxCommand,
222
- cwd,
223
- sandbox: this.config.sandbox ?? { enabled: true },
224
- sessionDir,
225
- workspaceDir,
226
- extraBinds: this.config.extraBinds,
227
- });
228
- child = this.process.spawn('bwrap', bwrapArgs, {
229
- cwd: sessionDir ?? this.config.cwd,
230
- env: { ...getSafeEnv(), ...this.config.env },
231
- detached: true,
232
- });
233
- }
234
- else {
235
- const shell = this.config.shell ?? (process.platform === 'win32' ? 'cmd.exe' : '/bin/sh');
236
- const shellFlag = process.platform === 'win32' ? '/c' : '-c';
237
- child = this.process.spawn(shell, [shellFlag, fullCommand], {
238
- cwd,
239
- env: { ...getSafeEnv(), ...this.config.env },
240
- detached: true,
241
- });
242
- }
243
- // Handle stdin
244
- if (input.stdin) {
245
- child.stdin?.write(input.stdin);
246
- child.stdin?.end();
247
- }
248
- else {
249
- child.stdin?.end();
250
- }
251
- // Collect stdout with size cap
252
- let stdoutBytes = 0;
253
- let stdoutTruncated = false;
254
- child.stdout?.on('data', (data) => {
255
- if (stdoutTruncated)
256
- return;
257
- const remaining = MAX_OUTPUT_BYTES - stdoutBytes;
258
- if (data.length > remaining) {
259
- stdout += data.toString('utf-8', 0, remaining);
260
- stdoutBytes = MAX_OUTPUT_BYTES;
261
- stdoutTruncated = true;
262
- stdout += '\n[stdout truncated at 1 MB]';
263
- }
264
- else {
265
- stdout += data.toString();
266
- stdoutBytes += data.length;
267
- }
268
- });
269
- // Collect stderr with size cap
270
- let stderrBytes = 0;
271
- let stderrTruncated = false;
272
- child.stderr?.on('data', (data) => {
273
- if (stderrTruncated)
274
- return;
275
- const remaining = MAX_OUTPUT_BYTES - stderrBytes;
276
- if (data.length > remaining) {
277
- stderr += data.toString('utf-8', 0, remaining);
278
- stderrBytes = MAX_OUTPUT_BYTES;
279
- stderrTruncated = true;
280
- stderr += '\n[stderr truncated at 1 MB]';
281
- }
282
- else {
283
- stderr += data.toString();
284
- stderrBytes += data.length;
285
- }
167
+ const runOptions = {
168
+ command: fullCommand,
169
+ cwd,
170
+ env: this.config.env,
171
+ stdin: input.stdin,
172
+ timeoutMs: timeout,
173
+ shell: this.config.shell,
174
+ };
175
+ if (confineByPaths) {
176
+ runOptions.grants = this.grants(cwd, sessionDir, workspaceDir);
177
+ runOptions.network = this.config.sandbox?.network;
178
+ runOptions.limits = this.config.sandbox?.limits;
179
+ }
180
+ try {
181
+ const result = await shell.run(runOptions);
182
+ return Ok({
183
+ stdout: result.stdout,
184
+ stderr: result.stderr,
185
+ exitCode: result.exitCode,
186
+ signal: result.signal,
187
+ timedOut: result.timedOut,
188
+ durationMs: Date.now() - startTime,
286
189
  });
287
- // Timeout handler — SIGTERM first, then SIGKILL after grace period
288
- let killTimeoutId;
289
- const timeoutId = setTimeout(() => {
290
- timedOut = true;
291
- try {
292
- process.kill(-child.pid, 'SIGTERM');
293
- }
294
- catch {
295
- child.kill('SIGTERM');
296
- }
297
- killTimeoutId = setTimeout(() => {
298
- try {
299
- process.kill(-child.pid, 'SIGKILL');
300
- }
301
- catch {
302
- try {
303
- child.kill('SIGKILL');
304
- }
305
- catch { /* already dead */ }
306
- }
307
- }, GRACEFUL_KILL_DELAY_MS);
308
- }, timeout);
309
- // Process exit
310
- child.on('close', (code, signal) => {
311
- clearTimeout(timeoutId);
312
- if (killTimeoutId)
313
- clearTimeout(killTimeoutId);
314
- const durationMs = Date.now() - startTime;
315
- resolve(Ok({
316
- stdout: stdout.trim(),
317
- stderr: stderr.trim(),
318
- exitCode: code ?? -1,
319
- signal: signal ?? undefined,
320
- timedOut,
321
- durationMs,
322
- }));
190
+ }
191
+ catch (error) {
192
+ const durationMs = Date.now() - startTime;
193
+ const message = error instanceof Error ? error.message : String(error);
194
+ return Err({
195
+ message,
196
+ recoverable: false,
197
+ details: error instanceof Error && 'details' in error ? error.details : { durationMs },
323
198
  });
324
- // Process error
325
- child.on('error', (error) => {
326
- clearTimeout(timeoutId);
327
- if (killTimeoutId)
328
- clearTimeout(killTimeoutId);
329
- const durationMs = Date.now() - startTime;
330
- resolve(Err({
331
- message: `Failed to execute command: ${error.message}`,
332
- recoverable: false,
333
- details: { durationMs },
334
- }));
199
+ }
200
+ }
201
+ /**
202
+ * Keep the working directory inside what the sandbox mounts, before the host chdirs into it.
203
+ * Paths under the hidden home roots exist only where a grant mounts them back; the rest of
204
+ * the tree the sandbox binds read-only, so a directory there grants nothing.
205
+ */
206
+ async resolveSandboxCwd(agentCwd, sessionDir, workspaceDir) {
207
+ if (!isAbsolute(agentCwd)) {
208
+ return Err({ message: `Working directory '${agentCwd}' must be an absolute path`, recoverable: false });
209
+ }
210
+ const normalized = resolve(agentCwd);
211
+ if (isWithin(normalized, VIRTUAL_SESSION) || isWithin(normalized, VIRTUAL_WORKSPACE)) {
212
+ const contained = await resolveAgentPath(this.fs, normalized, sessionDir, workspaceDir, true);
213
+ if (!contained.ok)
214
+ return contained;
215
+ return this.requireExists(contained.value, agentCwd, normalized);
216
+ }
217
+ for (const root of this.boundRoots()) {
218
+ if (!isWithin(normalized, root.seen))
219
+ continue;
220
+ const hostPath = resolve(root.host + normalized.slice(root.seen.length));
221
+ if (await checkSymlinkEscape(this.fs, hostPath, root.host)) {
222
+ return Err({ message: `Path '${agentCwd}' resolves outside its bind mount via symlink`, recoverable: false });
223
+ }
224
+ return this.requireExists(hostPath, agentCwd, normalized);
225
+ }
226
+ if (HIDDEN_ROOTS.some((root) => isWithin(normalized, root))) {
227
+ const mounted = [
228
+ VIRTUAL_SESSION,
229
+ ...(workspaceDir ? [VIRTUAL_WORKSPACE] : []),
230
+ ...this.boundRoots().map((root) => root.seen),
231
+ ];
232
+ return Err({
233
+ message: `Path '${agentCwd}' is not mounted in this sandbox. Mounted roots: ${mounted.join(', ')}`,
234
+ recoverable: false,
335
235
  });
336
- });
236
+ }
237
+ return Ok(normalized);
238
+ }
239
+ async requireExists(hostPath, agentCwd, seen) {
240
+ if (await this.fs.exists(hostPath))
241
+ return Ok(seen);
242
+ return Err({ message: `Working directory '${agentCwd}' does not exist`, recoverable: false });
243
+ }
244
+ /** Granted roots beyond the session and workspace, as the command sees them and where the host keeps them. */
245
+ boundRoots() {
246
+ return [
247
+ ...(this.config.extraBinds ?? []).map((bind) => ({ seen: resolve(bind.destPath ?? bind.path), host: resolve(bind.path) })),
248
+ ...(this.config.sandbox?.writablePaths ?? []).map((path) => ({ seen: resolve(path), host: resolve(path) })),
249
+ ];
250
+ }
251
+ /** Session and workspace keep their agent-visible names; everything else stays where it is. */
252
+ grants(cwd, sessionDir, workspaceDir) {
253
+ const grants = [];
254
+ if (sessionDir) {
255
+ grants.push({ path: VIRTUAL_SESSION, source: sessionDir, mode: 'rw' });
256
+ }
257
+ if (workspaceDir) {
258
+ grants.push({ path: VIRTUAL_WORKSPACE, source: workspaceDir, mode: 'rw' });
259
+ }
260
+ // Extra binds (e.g. git project dir for worktree support, .gitconfig)
261
+ for (const bind of this.config.extraBinds ?? []) {
262
+ grants.push({ path: bind.destPath ?? bind.path, source: bind.path, mode: bind.mode });
263
+ }
264
+ // Additional writable paths (legacy support)
265
+ for (const path of this.config.sandbox?.writablePaths ?? []) {
266
+ grants.push({ path, mode: 'rw' });
267
+ }
268
+ if (!sessionDir && !workspaceDir) {
269
+ grants.push({ path: cwd, mode: 'rw' });
270
+ }
271
+ return grants;
337
272
  }
338
273
  }
339
274
  //# sourceMappingURL=executor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/plugins/shell/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/plugins/shell/executor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Shell plugin - command execution with sandbox support
3
3
  */
4
- export { createRestrictedShellConfig, createSafeShellConfig, type ExtraBind as ShellExtraBind, type ShellAgentConfig, shellPlugin, type ShellPresetConfig, } from './plugin.js';
5
- export { buildBwrapArgs, type BwrapOptions, type ExtraBind, type RunCommandInput, type SandboxConfig, type ShellConfig, ShellExecutor, type ShellResult, } from './executor.js';
4
+ export { createSandboxedShellConfig, type ExtraBind as ShellExtraBind, type ShellAgentConfig, shellPlugin, type ShellPresetConfig, } from './plugin.js';
5
+ export { type ExtraBind, type RunCommandInput, type SandboxConfig, type ShellConfig, ShellExecutor, type ShellResult, } from './executor.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/shell/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,2BAA2B,EAC3B,qBAAqB,EACrB,KAAK,SAAS,IAAI,cAAc,EAChC,KAAK,gBAAgB,EACrB,WAAW,EACX,KAAK,iBAAiB,GACtB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACN,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,aAAa,EACb,KAAK,WAAW,GAChB,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/shell/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,0BAA0B,EAC1B,KAAK,SAAS,IAAI,cAAc,EAChC,KAAK,gBAAgB,EACrB,WAAW,EACX,KAAK,iBAAiB,GACtB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACN,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,aAAa,EACb,KAAK,WAAW,GAChB,MAAM,eAAe,CAAA"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Shell plugin - command execution with sandbox support
3
3
  */
4
- export { createRestrictedShellConfig, createSafeShellConfig, shellPlugin, } from './plugin.js';
5
- export { buildBwrapArgs, ShellExecutor, } from './executor.js';
4
+ export { createSandboxedShellConfig, shellPlugin, } from './plugin.js';
5
+ export { ShellExecutor, } from './executor.js';
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/shell/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,2BAA2B,EAC3B,qBAAqB,EAGrB,WAAW,GAEX,MAAM,aAAa,CAAA;AAEpB,OAAO,EACN,cAAc,EAMd,aAAa,GAEb,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/shell/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,0BAA0B,EAG1B,WAAW,GAEX,MAAM,aAAa,CAAA;AAEpB,OAAO,EAKN,aAAa,GAEb,MAAM,eAAe,CAAA"}
@@ -1,3 +1,4 @@
1
+ import type { ShellLimits } from '../../platform/shell.js';
1
2
  /**
2
3
  * Extra path to bind-mount inside bwrap sandbox.
3
4
  */
@@ -32,6 +33,8 @@ export interface ShellPresetConfig {
32
33
  network?: boolean;
33
34
  /** Paths with read-write access (default: [cwd]) */
34
35
  writablePaths?: string[];
36
+ /** Resource caps for the confined command; a `null` field asks for no cap. */
37
+ limits?: ShellLimits;
35
38
  };
36
39
  /** Default enabled state for agents (default: true). Agents can override via ShellAgentConfig.enabled. */
37
40
  defaultEnabled?: boolean;
@@ -44,8 +47,6 @@ export interface ShellAgentConfig {
44
47
  enabled?: boolean;
45
48
  }
46
49
  export declare const shellPlugin: import("../../core/plugins/plugin-builder.js").PluginDefinition<"shell", ShellPresetConfig, ShellAgentConfig, {}, {}>;
47
- /** Safe shell config for typical development tasks */
48
- export declare function createSafeShellConfig(cwd: string): ShellPresetConfig;
49
- /** Restrictive shell config for untrusted agents */
50
- export declare function createRestrictedShellConfig(cwd: string): ShellPresetConfig;
50
+ /** Sandboxed shell config; the command timeout is the only knob it sets. */
51
+ export declare function createSandboxedShellConfig(cwd: string, timeout?: number): ShellPresetConfig;
51
52
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/shell/plugin.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,WAAW,SAAS;IACzB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAA;IACZ,0DAA0D;IAC1D,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;IACjB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,oFAAoF;IACpF,GAAG,EAAE,MAAM,CAAA;IACX,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gCAAgC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,qDAAqD;IACrD,UAAU,CAAC,EAAE,SAAS,EAAE,CAAA;IACxB,mDAAmD;IACnD,OAAO,CAAC,EAAE;QACT,OAAO,EAAE,OAAO,CAAA;QAChB,4CAA4C;QAC5C,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,oDAAoD;QACpD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;KACxB,CAAA;IACD,0GAA0G;IAC1G,cAAc,CAAC,EAAE,OAAO,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB;AAcD,eAAO,MAAM,WAAW,mHAyCf,CAAA;AAET,sDAAsD;AACtD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAEpE;AAED,oDAAoD;AACpD,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAE1E"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/shell/plugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAGtD;;GAEG;AACH,MAAM,WAAW,SAAS;IACzB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAA;IACZ,0DAA0D;IAC1D,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;IACjB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,oFAAoF;IACpF,GAAG,EAAE,MAAM,CAAA;IACX,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gCAAgC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,qDAAqD;IACrD,UAAU,CAAC,EAAE,SAAS,EAAE,CAAA;IACxB,mDAAmD;IACnD,OAAO,CAAC,EAAE;QACT,OAAO,EAAE,OAAO,CAAA;QAChB,4CAA4C;QAC5C,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,oDAAoD;QACpD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;QACxB,8EAA8E;QAC9E,MAAM,CAAC,EAAE,WAAW,CAAA;KACpB,CAAA;IACD,0GAA0G;IAC1G,cAAc,CAAC,EAAE,OAAO,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB;AAcD,eAAO,MAAM,WAAW,mHAyCf,CAAA;AAET,4EAA4E;AAC5E,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,SAAQ,GAAG,iBAAiB,CAE1F"}
@@ -26,7 +26,7 @@ export const shellPlugin = definePlugin('shell')
26
26
  extraBinds: pluginConfig.extraBinds,
27
27
  sandbox: pluginConfig.sandbox,
28
28
  };
29
- const executor = new ShellExecutor(shellConfig, { fs: ctx.platform.fs, process: ctx.platform.process });
29
+ const executor = new ShellExecutor(shellConfig, { fs: ctx.platform.fs, shell: ctx.platform.shell });
30
30
  return { executor };
31
31
  })
32
32
  .agentConfig()
@@ -55,12 +55,8 @@ export const shellPlugin = definePlugin('shell')
55
55
  ];
56
56
  })
57
57
  .build();
58
- /** Safe shell config for typical development tasks */
59
- export function createSafeShellConfig(cwd) {
60
- return { cwd, timeout: 60000, sandbox: { enabled: true } };
61
- }
62
- /** Restrictive shell config for untrusted agents */
63
- export function createRestrictedShellConfig(cwd) {
64
- return { cwd, timeout: 30000, sandbox: { enabled: true } };
58
+ /** Sandboxed shell config; the command timeout is the only knob it sets. */
59
+ export function createSandboxedShellConfig(cwd, timeout = 60000) {
60
+ return { cwd, timeout, sandbox: { enabled: true } };
65
61
  }
66
62
  //# sourceMappingURL=plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/plugins/shell/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/plugins/shell/plugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/plugins/skills/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAO/D,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,iBAAiB,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,qBAAqB;IACrC,IAAI,EAAE,mBAAmB,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,eAAe;IAC/B,WAAW,EAAE,iBAAiB,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAA;CACf;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,MAAM,GACb,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAkElD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC7B,WAAW,EAAE,MAAM,GACjB,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAchD;AAMD;;;GAGG;AACH,wBAAsB,cAAc,CACnC,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAwEvD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACrC,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAqB9C"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/plugins/skills/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAO/D,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,iBAAiB,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,qBAAqB;IACrC,IAAI,EAAE,mBAAmB,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,eAAe;IAC/B,WAAW,EAAE,iBAAiB,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAA;CACf;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,MAAM,GACb,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAkElD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC7B,WAAW,EAAE,MAAM,GACjB,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAchD;AAMD;;;GAGG;AACH,wBAAsB,cAAc,CACnC,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAyEvD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACrC,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAqB9C"}
@@ -20,6 +20,7 @@
20
20
  * ...
21
21
  */
22
22
  import * as path from 'node:path';
23
+ import { readTextFilesOrUndefined } from '../../lib/utils/fs-batch.js';
23
24
  import { Err, Ok } from '../../lib/utils/result.js';
24
25
  import { SkillId } from '../../plugins/skills/schema.js';
25
26
  // ============================================================================
@@ -141,15 +142,16 @@ export async function discoverSkills(fs, sources, basePath) {
141
142
  }
142
143
  // Scan for subdirectories containing SKILL.md
143
144
  const entries = await fs.readdir(sourcePath, { withFileTypes: true });
144
- for (const entry of entries) {
145
- if (!entry.isDirectory())
145
+ // One read for every candidate, and no separate probe: a directory with no
146
+ // SKILL.md comes back with nothing rather than being asked about twice.
147
+ const candidates = entries
148
+ .filter((entry) => entry.isDirectory())
149
+ .map((entry) => path.join(sourcePath, entry.name, 'SKILL.md'));
150
+ const contents = await readTextFilesOrUndefined(fs, candidates);
151
+ for (const [index, skillFile] of candidates.entries()) {
152
+ const content = contents[index];
153
+ if (content === undefined)
146
154
  continue;
147
- const skillDir = path.join(sourcePath, entry.name);
148
- const skillFile = path.join(skillDir, 'SKILL.md');
149
- if (!(await fs.exists(skillFile)))
150
- continue;
151
- // Read and parse the skill file
152
- const content = await fs.readFile(skillFile, 'utf-8');
153
155
  const parseResult = parseSkillFrontmatter(content);
154
156
  if (!parseResult.ok) {
155
157
  return Err({
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/plugins/skills/discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/plugins/skills/discovery.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  export { skillsPlugin } from './plugin.js';
5
5
  export type { PresetSkill, SkillsAgentConfig, SkillsPluginConfig as SkillsPresetConfig, SkillsPluginContext, } from './plugin.js';
6
6
  export { SkillId, skillIdSchema } from './schema.js';
7
- export type { LoadedSkill, SkillMetadata } from './schema.js';
7
+ export type { LoadedSkill, LoadedSkillContent, SkillMetadata } from './schema.js';
8
8
  export { skillEvents } from './plugin.js';
9
9
  export type { SkillLoadedEvent } from './plugin.js';
10
10
  export { discoverSkills, type FrontmatterParseError, loadSkillContent, type ParsedFrontmatter, type ParsedSkillFile, parseSkillFile, parseSkillFrontmatter, type SkillDiscoveryError, } from './discovery.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/skills/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,YAAY,EACX,WAAW,EACX,iBAAiB,EACjB,kBAAkB,IAAI,kBAAkB,EACxC,mBAAmB,GACnB,MAAM,aAAa,CAAA;AAGpB,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACpD,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAG7D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAGnD,OAAO,EACN,cAAc,EACd,KAAK,qBAAqB,EAC1B,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,cAAc,EACd,qBAAqB,EACrB,KAAK,mBAAmB,GACxB,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/skills/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,YAAY,EACX,WAAW,EACX,iBAAiB,EACjB,kBAAkB,IAAI,kBAAkB,EACxC,mBAAmB,GACnB,MAAM,aAAa,CAAA;AAGpB,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACpD,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGjF,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAGnD,OAAO,EACN,cAAc,EACd,KAAK,qBAAqB,EAC1B,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,cAAc,EACd,qBAAqB,EACrB,KAAK,mBAAmB,GACxB,MAAM,gBAAgB,CAAA"}
@@ -63,7 +63,7 @@ export declare const skillEvents: import("../../core/events/types.js").EventsFac
63
63
  agentId: z.core.$ZodBranded<z.ZodString, "AgentId", "out">;
64
64
  skillId: z.core.$ZodBranded<z.ZodString, "SkillId", "out">;
65
65
  skillName: z.ZodString;
66
- content: z.ZodString;
66
+ content: z.ZodOptional<z.ZodString>;
67
67
  }, z.core.$strip>;
68
68
  }>;
69
69
  export type SkillLoadedEvent = (typeof skillEvents)['Events']['skill_loaded'];