@gencode/agents 0.0.8 → 0.0.10

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 (451) hide show
  1. package/dist/builtin-provider-C0d7-NZt.js +66 -0
  2. package/dist/config/index.d.ts +2 -9
  3. package/dist/config/index.js +1 -9
  4. package/dist/config-DG3Q1aJ6.js +1 -0
  5. package/dist/{index-JD6Ye-N5.d.ts → index-BdfpRxFA.d.ts} +7 -8
  6. package/dist/index.d.ts +1603 -40
  7. package/dist/index.js +504 -35
  8. package/dist/provider-registry-rVbsCDN2.js +1 -0
  9. package/dist/rolldown-runtime-CNxR59P3.js +1 -0
  10. package/package.json +2 -2
  11. package/dist/bootstrap/bootstrap-layout.d.ts +0 -23
  12. package/dist/bootstrap/bootstrap-layout.d.ts.map +0 -1
  13. package/dist/bootstrap/bootstrap-layout.js +0 -151
  14. package/dist/bootstrap/bootstrap-layout.js.map +0 -1
  15. package/dist/bootstrap/bootstrap.d.ts +0 -36
  16. package/dist/bootstrap/bootstrap.d.ts.map +0 -1
  17. package/dist/bootstrap/bootstrap.js +0 -136
  18. package/dist/bootstrap/bootstrap.js.map +0 -1
  19. package/dist/bootstrap/templates/AGENTS_MD.d.ts +0 -2
  20. package/dist/bootstrap/templates/AGENTS_MD.d.ts.map +0 -1
  21. package/dist/bootstrap/templates/AGENTS_MD.js +0 -223
  22. package/dist/bootstrap/templates/AGENTS_MD.js.map +0 -1
  23. package/dist/bootstrap/templates/BOOTSTRAP_MD.d.ts +0 -2
  24. package/dist/bootstrap/templates/BOOTSTRAP_MD.d.ts.map +0 -1
  25. package/dist/bootstrap/templates/BOOTSTRAP_MD.js +0 -66
  26. package/dist/bootstrap/templates/BOOTSTRAP_MD.js.map +0 -1
  27. package/dist/bootstrap/templates/HEARTBEAT_MD.d.ts +0 -2
  28. package/dist/bootstrap/templates/HEARTBEAT_MD.d.ts.map +0 -1
  29. package/dist/bootstrap/templates/HEARTBEAT_MD.js +0 -16
  30. package/dist/bootstrap/templates/HEARTBEAT_MD.js.map +0 -1
  31. package/dist/bootstrap/templates/IDENTITY_MD.d.ts +0 -2
  32. package/dist/bootstrap/templates/IDENTITY_MD.d.ts.map +0 -1
  33. package/dist/bootstrap/templates/IDENTITY_MD.js +0 -31
  34. package/dist/bootstrap/templates/IDENTITY_MD.js.map +0 -1
  35. package/dist/bootstrap/templates/SOUL_MD.d.ts +0 -2
  36. package/dist/bootstrap/templates/SOUL_MD.d.ts.map +0 -1
  37. package/dist/bootstrap/templates/SOUL_MD.js +0 -47
  38. package/dist/bootstrap/templates/SOUL_MD.js.map +0 -1
  39. package/dist/bootstrap/templates/TOOLS_MD.d.ts +0 -2
  40. package/dist/bootstrap/templates/TOOLS_MD.d.ts.map +0 -1
  41. package/dist/bootstrap/templates/TOOLS_MD.js +0 -51
  42. package/dist/bootstrap/templates/TOOLS_MD.js.map +0 -1
  43. package/dist/bootstrap/templates/USER_MD.d.ts +0 -2
  44. package/dist/bootstrap/templates/USER_MD.d.ts.map +0 -1
  45. package/dist/bootstrap/templates/USER_MD.js +0 -27
  46. package/dist/bootstrap/templates/USER_MD.js.map +0 -1
  47. package/dist/bootstrap/templates/index.d.ts +0 -3
  48. package/dist/bootstrap/templates/index.d.ts.map +0 -1
  49. package/dist/bootstrap/templates/index.js +0 -26
  50. package/dist/bootstrap/templates/index.js.map +0 -1
  51. package/dist/commands/compact.d.ts +0 -28
  52. package/dist/commands/compact.d.ts.map +0 -1
  53. package/dist/commands/compact.js +0 -57
  54. package/dist/commands/compact.js.map +0 -1
  55. package/dist/commands/help.d.ts +0 -3
  56. package/dist/commands/help.d.ts.map +0 -1
  57. package/dist/commands/help.js +0 -50
  58. package/dist/commands/help.js.map +0 -1
  59. package/dist/commands/index.d.ts +0 -6
  60. package/dist/commands/index.d.ts.map +0 -1
  61. package/dist/commands/index.js +0 -32
  62. package/dist/commands/index.js.map +0 -1
  63. package/dist/commands/new.d.ts +0 -3
  64. package/dist/commands/new.d.ts.map +0 -1
  65. package/dist/commands/new.js +0 -15
  66. package/dist/commands/new.js.map +0 -1
  67. package/dist/commands/registry.d.ts +0 -11
  68. package/dist/commands/registry.d.ts.map +0 -1
  69. package/dist/commands/registry.js +0 -122
  70. package/dist/commands/registry.js.map +0 -1
  71. package/dist/commands/reset.d.ts +0 -3
  72. package/dist/commands/reset.d.ts.map +0 -1
  73. package/dist/commands/reset.js +0 -4
  74. package/dist/commands/reset.js.map +0 -1
  75. package/dist/commands/skill.d.ts +0 -7
  76. package/dist/commands/skill.d.ts.map +0 -1
  77. package/dist/commands/skill.js +0 -23
  78. package/dist/commands/skill.js.map +0 -1
  79. package/dist/commands/types.d.ts +0 -57
  80. package/dist/commands/types.d.ts.map +0 -1
  81. package/dist/commands/types.js +0 -2
  82. package/dist/commands/types.js.map +0 -1
  83. package/dist/config/agents-config.d.ts +0 -85
  84. package/dist/config/agents-config.d.ts.map +0 -1
  85. package/dist/config/agents-config.js +0 -257
  86. package/dist/config/agents-config.js.map +0 -1
  87. package/dist/config/index.d.ts.map +0 -1
  88. package/dist/config/index.js.map +0 -1
  89. package/dist/config/types.d.ts +0 -87
  90. package/dist/config/types.d.ts.map +0 -1
  91. package/dist/config/types.js +0 -6
  92. package/dist/config/types.js.map +0 -1
  93. package/dist/config-DJX-VM7S.js +0 -198
  94. package/dist/config-DJX-VM7S.js.map +0 -1
  95. package/dist/history/compaction.d.ts +0 -42
  96. package/dist/history/compaction.d.ts.map +0 -1
  97. package/dist/history/compaction.js +0 -135
  98. package/dist/history/compaction.js.map +0 -1
  99. package/dist/history/index.d.ts +0 -57
  100. package/dist/history/index.d.ts.map +0 -1
  101. package/dist/history/index.js +0 -145
  102. package/dist/history/index.js.map +0 -1
  103. package/dist/history/limit.d.ts +0 -13
  104. package/dist/history/limit.d.ts.map +0 -1
  105. package/dist/history/limit.js +0 -32
  106. package/dist/history/limit.js.map +0 -1
  107. package/dist/history/repair.d.ts +0 -13
  108. package/dist/history/repair.d.ts.map +0 -1
  109. package/dist/history/repair.js +0 -25
  110. package/dist/history/repair.js.map +0 -1
  111. package/dist/history/token-estimate.d.ts +0 -22
  112. package/dist/history/token-estimate.d.ts.map +0 -1
  113. package/dist/history/token-estimate.js +0 -38
  114. package/dist/history/token-estimate.js.map +0 -1
  115. package/dist/index-JD6Ye-N5.d.ts.map +0 -1
  116. package/dist/index.d.ts.map +0 -1
  117. package/dist/index.js.map +0 -1
  118. package/dist/llm/client.d.ts +0 -53
  119. package/dist/llm/client.d.ts.map +0 -1
  120. package/dist/llm/client.js +0 -214
  121. package/dist/llm/client.js.map +0 -1
  122. package/dist/llm/openai-completions-compat.d.ts +0 -23
  123. package/dist/llm/openai-completions-compat.d.ts.map +0 -1
  124. package/dist/llm/openai-completions-compat.js +0 -602
  125. package/dist/llm/openai-completions-compat.js.map +0 -1
  126. package/dist/llm/openai-stream-error.d.ts +0 -11
  127. package/dist/llm/openai-stream-error.d.ts.map +0 -1
  128. package/dist/llm/openai-stream-error.js +0 -77
  129. package/dist/llm/openai-stream-error.js.map +0 -1
  130. package/dist/loop-detection/session-state.d.ts +0 -5
  131. package/dist/loop-detection/session-state.d.ts.map +0 -1
  132. package/dist/loop-detection/session-state.js +0 -16
  133. package/dist/loop-detection/session-state.js.map +0 -1
  134. package/dist/loop-detection/tool-loop-detection.d.ts +0 -122
  135. package/dist/loop-detection/tool-loop-detection.d.ts.map +0 -1
  136. package/dist/loop-detection/tool-loop-detection.js +0 -516
  137. package/dist/loop-detection/tool-loop-detection.js.map +0 -1
  138. package/dist/manager-qXa-NP0p.js +0 -1651
  139. package/dist/manager-qXa-NP0p.js.map +0 -1
  140. package/dist/memory/builtin-provider.d.ts +0 -5
  141. package/dist/memory/builtin-provider.d.ts.map +0 -1
  142. package/dist/memory/builtin-provider.js +0 -42
  143. package/dist/memory/builtin-provider.js.map +0 -1
  144. package/dist/memory/config.d.ts +0 -50
  145. package/dist/memory/config.d.ts.map +0 -1
  146. package/dist/memory/config.js +0 -46
  147. package/dist/memory/config.js.map +0 -1
  148. package/dist/memory/embedding-registry.d.ts +0 -37
  149. package/dist/memory/embedding-registry.d.ts.map +0 -1
  150. package/dist/memory/embedding-registry.js +0 -56
  151. package/dist/memory/embedding-registry.js.map +0 -1
  152. package/dist/memory/embeddings.d.ts +0 -11
  153. package/dist/memory/embeddings.d.ts.map +0 -1
  154. package/dist/memory/embeddings.js +0 -40
  155. package/dist/memory/embeddings.js.map +0 -1
  156. package/dist/memory/fs-utils.d.ts +0 -12
  157. package/dist/memory/fs-utils.d.ts.map +0 -1
  158. package/dist/memory/fs-utils.js +0 -24
  159. package/dist/memory/fs-utils.js.map +0 -1
  160. package/dist/memory/hybrid.d.ts +0 -43
  161. package/dist/memory/hybrid.d.ts.map +0 -1
  162. package/dist/memory/hybrid.js +0 -80
  163. package/dist/memory/hybrid.js.map +0 -1
  164. package/dist/memory/internal.d.ts +0 -28
  165. package/dist/memory/internal.d.ts.map +0 -1
  166. package/dist/memory/internal.js +0 -270
  167. package/dist/memory/internal.js.map +0 -1
  168. package/dist/memory/manager-search.d.ts +0 -61
  169. package/dist/memory/manager-search.d.ts.map +0 -1
  170. package/dist/memory/manager-search.js +0 -106
  171. package/dist/memory/manager-search.js.map +0 -1
  172. package/dist/memory/manager.d.ts +0 -126
  173. package/dist/memory/manager.d.ts.map +0 -1
  174. package/dist/memory/manager.js +0 -1006
  175. package/dist/memory/manager.js.map +0 -1
  176. package/dist/memory/memory-schema.d.ts +0 -11
  177. package/dist/memory/memory-schema.d.ts.map +0 -1
  178. package/dist/memory/memory-schema.js +0 -78
  179. package/dist/memory/memory-schema.js.map +0 -1
  180. package/dist/memory/memory.d.ts +0 -46
  181. package/dist/memory/memory.d.ts.map +0 -1
  182. package/dist/memory/memory.js +0 -127
  183. package/dist/memory/memory.js.map +0 -1
  184. package/dist/memory/mmr.d.ts +0 -22
  185. package/dist/memory/mmr.d.ts.map +0 -1
  186. package/dist/memory/mmr.js +0 -112
  187. package/dist/memory/mmr.js.map +0 -1
  188. package/dist/memory/provider-registry.d.ts +0 -29
  189. package/dist/memory/provider-registry.d.ts.map +0 -1
  190. package/dist/memory/provider-registry.js +0 -58
  191. package/dist/memory/provider-registry.js.map +0 -1
  192. package/dist/memory/provider.d.ts +0 -40
  193. package/dist/memory/provider.d.ts.map +0 -1
  194. package/dist/memory/provider.js +0 -2
  195. package/dist/memory/provider.js.map +0 -1
  196. package/dist/memory/session-files.d.ts +0 -13
  197. package/dist/memory/session-files.d.ts.map +0 -1
  198. package/dist/memory/session-files.js +0 -116
  199. package/dist/memory/session-files.js.map +0 -1
  200. package/dist/memory/sqlite-vec.d.ts +0 -10
  201. package/dist/memory/sqlite-vec.d.ts.map +0 -1
  202. package/dist/memory/sqlite-vec.js +0 -20
  203. package/dist/memory/sqlite-vec.js.map +0 -1
  204. package/dist/memory/sqlite.d.ts +0 -2
  205. package/dist/memory/sqlite.d.ts.map +0 -1
  206. package/dist/memory/sqlite.js +0 -12
  207. package/dist/memory/sqlite.js.map +0 -1
  208. package/dist/memory/temporal-decay.d.ts +0 -26
  209. package/dist/memory/temporal-decay.d.ts.map +0 -1
  210. package/dist/memory/temporal-decay.js +0 -119
  211. package/dist/memory/temporal-decay.js.map +0 -1
  212. package/dist/memory/watch-bridge.d.ts +0 -20
  213. package/dist/memory/watch-bridge.d.ts.map +0 -1
  214. package/dist/memory/watch-bridge.js +0 -128
  215. package/dist/memory/watch-bridge.js.map +0 -1
  216. package/dist/message.d.ts +0 -11
  217. package/dist/message.d.ts.map +0 -1
  218. package/dist/message.js +0 -46
  219. package/dist/message.js.map +0 -1
  220. package/dist/plugins/boundary-file-read.d.ts +0 -13
  221. package/dist/plugins/boundary-file-read.d.ts.map +0 -1
  222. package/dist/plugins/boundary-file-read.js +0 -31
  223. package/dist/plugins/boundary-file-read.js.map +0 -1
  224. package/dist/plugins/config-state.d.ts +0 -35
  225. package/dist/plugins/config-state.d.ts.map +0 -1
  226. package/dist/plugins/config-state.js +0 -97
  227. package/dist/plugins/config-state.js.map +0 -1
  228. package/dist/plugins/discovery.d.ts +0 -21
  229. package/dist/plugins/discovery.d.ts.map +0 -1
  230. package/dist/plugins/discovery.js +0 -425
  231. package/dist/plugins/discovery.js.map +0 -1
  232. package/dist/plugins/hooks.d.ts +0 -133
  233. package/dist/plugins/hooks.d.ts.map +0 -1
  234. package/dist/plugins/hooks.js +0 -19
  235. package/dist/plugins/hooks.js.map +0 -1
  236. package/dist/plugins/index.d.ts +0 -20
  237. package/dist/plugins/index.d.ts.map +0 -1
  238. package/dist/plugins/index.js +0 -11
  239. package/dist/plugins/index.js.map +0 -1
  240. package/dist/plugins/loader.d.ts +0 -60
  241. package/dist/plugins/loader.d.ts.map +0 -1
  242. package/dist/plugins/loader.js +0 -224
  243. package/dist/plugins/loader.js.map +0 -1
  244. package/dist/plugins/manager.d.ts +0 -20
  245. package/dist/plugins/manager.d.ts.map +0 -1
  246. package/dist/plugins/manager.js +0 -33
  247. package/dist/plugins/manager.js.map +0 -1
  248. package/dist/plugins/manifest-registry.d.ts +0 -15
  249. package/dist/plugins/manifest-registry.d.ts.map +0 -1
  250. package/dist/plugins/manifest-registry.js +0 -37
  251. package/dist/plugins/manifest-registry.js.map +0 -1
  252. package/dist/plugins/manifest.d.ts +0 -6
  253. package/dist/plugins/manifest.d.ts.map +0 -1
  254. package/dist/plugins/manifest.js +0 -80
  255. package/dist/plugins/manifest.js.map +0 -1
  256. package/dist/plugins/path-safety.d.ts +0 -6
  257. package/dist/plugins/path-safety.d.ts.map +0 -1
  258. package/dist/plugins/path-safety.js +0 -32
  259. package/dist/plugins/path-safety.js.map +0 -1
  260. package/dist/plugins/runtime-context.d.ts +0 -12
  261. package/dist/plugins/runtime-context.d.ts.map +0 -1
  262. package/dist/plugins/runtime-context.js +0 -2
  263. package/dist/plugins/runtime-context.js.map +0 -1
  264. package/dist/plugins/runtime.d.ts +0 -20
  265. package/dist/plugins/runtime.d.ts.map +0 -1
  266. package/dist/plugins/runtime.js +0 -33
  267. package/dist/plugins/runtime.js.map +0 -1
  268. package/dist/plugins/schema-validator.d.ts +0 -17
  269. package/dist/plugins/schema-validator.d.ts.map +0 -1
  270. package/dist/plugins/schema-validator.js +0 -26
  271. package/dist/plugins/schema-validator.js.map +0 -1
  272. package/dist/plugins/tool-hooks.d.ts +0 -4
  273. package/dist/plugins/tool-hooks.d.ts.map +0 -1
  274. package/dist/plugins/tool-hooks.js +0 -63
  275. package/dist/plugins/tool-hooks.js.map +0 -1
  276. package/dist/plugins/tools.d.ts +0 -20
  277. package/dist/plugins/tools.d.ts.map +0 -1
  278. package/dist/plugins/tools.js +0 -42
  279. package/dist/plugins/tools.js.map +0 -1
  280. package/dist/plugins/types.d.ts +0 -61
  281. package/dist/plugins/types.d.ts.map +0 -1
  282. package/dist/plugins/types.js +0 -2
  283. package/dist/plugins/types.js.map +0 -1
  284. package/dist/plugins/utils.d.ts +0 -4
  285. package/dist/plugins/utils.d.ts.map +0 -1
  286. package/dist/plugins/utils.js +0 -22
  287. package/dist/plugins/utils.js.map +0 -1
  288. package/dist/runner/agent-runtime.d.ts +0 -62
  289. package/dist/runner/agent-runtime.d.ts.map +0 -1
  290. package/dist/runner/agent-runtime.js +0 -179
  291. package/dist/runner/agent-runtime.js.map +0 -1
  292. package/dist/runner/announce-loop.d.ts +0 -41
  293. package/dist/runner/announce-loop.d.ts.map +0 -1
  294. package/dist/runner/announce-loop.js +0 -94
  295. package/dist/runner/announce-loop.js.map +0 -1
  296. package/dist/runner/event-dispatcher.d.ts +0 -12
  297. package/dist/runner/event-dispatcher.d.ts.map +0 -1
  298. package/dist/runner/event-dispatcher.js +0 -18
  299. package/dist/runner/event-dispatcher.js.map +0 -1
  300. package/dist/runner/finalizer.d.ts +0 -30
  301. package/dist/runner/finalizer.d.ts.map +0 -1
  302. package/dist/runner/finalizer.js +0 -75
  303. package/dist/runner/finalizer.js.map +0 -1
  304. package/dist/runner/invocation-resolver.d.ts +0 -67
  305. package/dist/runner/invocation-resolver.d.ts.map +0 -1
  306. package/dist/runner/invocation-resolver.js +0 -224
  307. package/dist/runner/invocation-resolver.js.map +0 -1
  308. package/dist/runner/plugin-context.d.ts +0 -18
  309. package/dist/runner/plugin-context.d.ts.map +0 -1
  310. package/dist/runner/plugin-context.js +0 -26
  311. package/dist/runner/plugin-context.js.map +0 -1
  312. package/dist/runner/run-context.d.ts +0 -38
  313. package/dist/runner/run-context.d.ts.map +0 -1
  314. package/dist/runner/run-context.js +0 -159
  315. package/dist/runner/run-context.js.map +0 -1
  316. package/dist/runner/runner-session.d.ts +0 -34
  317. package/dist/runner/runner-session.d.ts.map +0 -1
  318. package/dist/runner/runner-session.js +0 -61
  319. package/dist/runner/runner-session.js.map +0 -1
  320. package/dist/runner/runner.d.ts +0 -13
  321. package/dist/runner/runner.d.ts.map +0 -1
  322. package/dist/runner/runner.js +0 -234
  323. package/dist/runner/runner.js.map +0 -1
  324. package/dist/runner/runtime.d.ts +0 -7
  325. package/dist/runner/runtime.d.ts.map +0 -1
  326. package/dist/runner/runtime.js +0 -21
  327. package/dist/runner/runtime.js.map +0 -1
  328. package/dist/runner/session-lifecycle.d.ts +0 -31
  329. package/dist/runner/session-lifecycle.d.ts.map +0 -1
  330. package/dist/runner/session-lifecycle.js +0 -38
  331. package/dist/runner/session-lifecycle.js.map +0 -1
  332. package/dist/runner/skill-usage.d.ts +0 -29
  333. package/dist/runner/skill-usage.d.ts.map +0 -1
  334. package/dist/runner/skill-usage.js +0 -65
  335. package/dist/runner/skill-usage.js.map +0 -1
  336. package/dist/runner/title.d.ts +0 -3
  337. package/dist/runner/title.d.ts.map +0 -1
  338. package/dist/runner/title.js +0 -6
  339. package/dist/runner/title.js.map +0 -1
  340. package/dist/runner/turn-executor.d.ts +0 -51
  341. package/dist/runner/turn-executor.d.ts.map +0 -1
  342. package/dist/runner/turn-executor.js +0 -294
  343. package/dist/runner/turn-executor.js.map +0 -1
  344. package/dist/security/command-dangerous-rules.d.ts +0 -4
  345. package/dist/security/command-dangerous-rules.d.ts.map +0 -1
  346. package/dist/security/command-dangerous-rules.js +0 -26
  347. package/dist/security/command-dangerous-rules.js.map +0 -1
  348. package/dist/security/command-parser.d.ts +0 -3
  349. package/dist/security/command-parser.d.ts.map +0 -1
  350. package/dist/security/command-parser.js +0 -191
  351. package/dist/security/command-parser.js.map +0 -1
  352. package/dist/security/command-path-guard.d.ts +0 -10
  353. package/dist/security/command-path-guard.d.ts.map +0 -1
  354. package/dist/security/command-path-guard.js +0 -126
  355. package/dist/security/command-path-guard.js.map +0 -1
  356. package/dist/security/command-policy-config.d.ts +0 -5
  357. package/dist/security/command-policy-config.d.ts.map +0 -1
  358. package/dist/security/command-policy-config.js +0 -212
  359. package/dist/security/command-policy-config.js.map +0 -1
  360. package/dist/security/command-policy-engine.d.ts +0 -8
  361. package/dist/security/command-policy-engine.d.ts.map +0 -1
  362. package/dist/security/command-policy-engine.js +0 -122
  363. package/dist/security/command-policy-engine.js.map +0 -1
  364. package/dist/security/command-policy-types.d.ts +0 -67
  365. package/dist/security/command-policy-types.d.ts.map +0 -1
  366. package/dist/security/command-policy-types.js +0 -2
  367. package/dist/security/command-policy-types.js.map +0 -1
  368. package/dist/security/command-safe-bins.d.ts +0 -4
  369. package/dist/security/command-safe-bins.d.ts.map +0 -1
  370. package/dist/security/command-safe-bins.js +0 -84
  371. package/dist/security/command-safe-bins.js.map +0 -1
  372. package/dist/security/command-trusted-executables.d.ts +0 -6
  373. package/dist/security/command-trusted-executables.d.ts.map +0 -1
  374. package/dist/security/command-trusted-executables.js +0 -57
  375. package/dist/security/command-trusted-executables.js.map +0 -1
  376. package/dist/session/session.d.ts +0 -45
  377. package/dist/session/session.d.ts.map +0 -1
  378. package/dist/session/session.js +0 -167
  379. package/dist/session/session.js.map +0 -1
  380. package/dist/skills/skills.d.ts +0 -23
  381. package/dist/skills/skills.d.ts.map +0 -1
  382. package/dist/skills/skills.js +0 -109
  383. package/dist/skills/skills.js.map +0 -1
  384. package/dist/subagent/registry-persist.d.ts +0 -31
  385. package/dist/subagent/registry-persist.d.ts.map +0 -1
  386. package/dist/subagent/registry-persist.js +0 -115
  387. package/dist/subagent/registry-persist.js.map +0 -1
  388. package/dist/subagent/registry.d.ts +0 -52
  389. package/dist/subagent/registry.d.ts.map +0 -1
  390. package/dist/subagent/registry.js +0 -122
  391. package/dist/subagent/registry.js.map +0 -1
  392. package/dist/subagent/types.d.ts +0 -20
  393. package/dist/subagent/types.d.ts.map +0 -1
  394. package/dist/subagent/types.js +0 -2
  395. package/dist/subagent/types.js.map +0 -1
  396. package/dist/system-prompt/builder.d.ts +0 -50
  397. package/dist/system-prompt/builder.d.ts.map +0 -1
  398. package/dist/system-prompt/builder.js +0 -335
  399. package/dist/system-prompt/builder.js.map +0 -1
  400. package/dist/tools/apply-patch.d.ts +0 -15
  401. package/dist/tools/apply-patch.d.ts.map +0 -1
  402. package/dist/tools/apply-patch.js +0 -425
  403. package/dist/tools/apply-patch.js.map +0 -1
  404. package/dist/tools/bash.d.ts +0 -11
  405. package/dist/tools/bash.d.ts.map +0 -1
  406. package/dist/tools/bash.js +0 -13
  407. package/dist/tools/bash.js.map +0 -1
  408. package/dist/tools/cron.d.ts +0 -30
  409. package/dist/tools/cron.d.ts.map +0 -1
  410. package/dist/tools/cron.js +0 -57
  411. package/dist/tools/cron.js.map +0 -1
  412. package/dist/tools/exec.d.ts +0 -18
  413. package/dist/tools/exec.d.ts.map +0 -1
  414. package/dist/tools/exec.js +0 -144
  415. package/dist/tools/exec.js.map +0 -1
  416. package/dist/tools/files.d.ts +0 -37
  417. package/dist/tools/files.d.ts.map +0 -1
  418. package/dist/tools/files.js +0 -191
  419. package/dist/tools/files.js.map +0 -1
  420. package/dist/tools/image.d.ts +0 -14
  421. package/dist/tools/image.d.ts.map +0 -1
  422. package/dist/tools/image.js +0 -26
  423. package/dist/tools/image.js.map +0 -1
  424. package/dist/tools/index.d.ts +0 -35
  425. package/dist/tools/index.d.ts.map +0 -1
  426. package/dist/tools/index.js +0 -53
  427. package/dist/tools/index.js.map +0 -1
  428. package/dist/tools/memory.d.ts +0 -41
  429. package/dist/tools/memory.d.ts.map +0 -1
  430. package/dist/tools/memory.js +0 -114
  431. package/dist/tools/memory.js.map +0 -1
  432. package/dist/tools/process-registry.d.ts +0 -47
  433. package/dist/tools/process-registry.d.ts.map +0 -1
  434. package/dist/tools/process-registry.js +0 -262
  435. package/dist/tools/process-registry.js.map +0 -1
  436. package/dist/tools/process.d.ts +0 -17
  437. package/dist/tools/process.d.ts.map +0 -1
  438. package/dist/tools/process.js +0 -114
  439. package/dist/tools/process.js.map +0 -1
  440. package/dist/tools/subagent-spawn.d.ts +0 -44
  441. package/dist/tools/subagent-spawn.d.ts.map +0 -1
  442. package/dist/tools/subagent-spawn.js +0 -100
  443. package/dist/tools/subagent-spawn.js.map +0 -1
  444. package/dist/tools/subagents.d.ts +0 -30
  445. package/dist/tools/subagents.d.ts.map +0 -1
  446. package/dist/tools/subagents.js +0 -101
  447. package/dist/tools/subagents.js.map +0 -1
  448. package/dist/types.d.ts +0 -153
  449. package/dist/types.d.ts.map +0 -1
  450. package/dist/types.js +0 -6
  451. package/dist/types.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAqB;IAC9C,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAoB;IACrD,OAAO,OAAO;SACX,MAAM,CAAC,UAAU,CAAC;SAClB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,IAAI,CAAC,MAAM,CAAC;SACZ,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAoB;IAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC;YACrF,CAAC,CAAC,UAAU,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,MAAM,IAAI;YACxG,CAAC,CAAC,UAAU,CAAC;QACf,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;IAC3C,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAoB;IACxD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,OAAO,KAAK,EAAE,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAoB,EAAE,IAAY;IACxE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;IACjC,IAAI,KAAK,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAgB;IACjD,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IACD,OAAO,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC"}
@@ -1,13 +0,0 @@
1
- export type BoundaryFileOpenResult = {
2
- ok: true;
3
- fd: number;
4
- } | {
5
- ok: false;
6
- reason: "path" | "unsafe" | "hardlink" | "stat";
7
- };
8
- export declare function openBoundaryFileSync(params: {
9
- absolutePath: string;
10
- rootPath: string;
11
- rejectHardlinks?: boolean;
12
- }): BoundaryFileOpenResult;
13
- //# sourceMappingURL=boundary-file-read.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"boundary-file-read.d.ts","sourceRoot":"","sources":["../../src/plugins/boundary-file-read.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,sBAAsB,GAC9B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACxB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAA;CAAE,CAAC;AAEnE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GAAG,sBAAsB,CAyBzB"}
@@ -1,31 +0,0 @@
1
- import fs from "node:fs";
2
- import { isPathInside, safeRealpathSync } from "./path-safety.js";
3
- export function openBoundaryFileSync(params) {
4
- const rejectHardlinks = params.rejectHardlinks ?? true;
5
- const rootRealPath = safeRealpathSync(params.rootPath);
6
- const fileRealPath = safeRealpathSync(params.absolutePath);
7
- if (!rootRealPath || !fileRealPath) {
8
- return { ok: false, reason: "path" };
9
- }
10
- if (!isPathInside(rootRealPath, fileRealPath)) {
11
- return { ok: false, reason: "unsafe" };
12
- }
13
- let stat;
14
- try {
15
- stat = fs.lstatSync(fileRealPath);
16
- }
17
- catch {
18
- return { ok: false, reason: "stat" };
19
- }
20
- if (rejectHardlinks && typeof stat.nlink === "number" && stat.nlink > 1) {
21
- return { ok: false, reason: "hardlink" };
22
- }
23
- try {
24
- const fd = fs.openSync(fileRealPath, "r");
25
- return { ok: true, fd };
26
- }
27
- catch {
28
- return { ok: false, reason: "path" };
29
- }
30
- }
31
- //# sourceMappingURL=boundary-file-read.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"boundary-file-read.js","sourceRoot":"","sources":["../../src/plugins/boundary-file-read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAMlE,MAAM,UAAU,oBAAoB,CAAC,MAIpC;IACC,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC;IACvD,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC3D,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC;QAC9C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACzC,CAAC;IACD,IAAI,IAAc,CAAC;IACnB,IAAI,CAAC;QACH,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACvC,CAAC;IACD,IAAI,eAAe,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACxE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC3C,CAAC;IACD,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAC1C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACvC,CAAC;AACH,CAAC"}
@@ -1,35 +0,0 @@
1
- import type { PluginDiagnostic, PluginKind } from "./types.js";
2
- import type { PluginManifestRegistry } from "./manifest-registry.js";
3
- export type PluginEntryConfig = {
4
- enabled?: boolean;
5
- config?: Record<string, unknown>;
6
- };
7
- export type PluginsConfig = {
8
- enabled?: boolean;
9
- allow?: string[];
10
- deny?: string[];
11
- llmAllowlist?: string[];
12
- load?: {
13
- paths?: string[];
14
- };
15
- entries?: Record<string, PluginEntryConfig>;
16
- slots?: Partial<Record<PluginKind, string>>;
17
- };
18
- export type NormalizedPluginsConfig = {
19
- enabled: boolean;
20
- allow: string[];
21
- deny: string[];
22
- loadPaths: string[];
23
- entries: Record<string, PluginEntryConfig>;
24
- slots: Partial<Record<PluginKind, string>>;
25
- };
26
- export type PluginsConfigValidationResult = {
27
- ok: boolean;
28
- diagnostics: PluginDiagnostic[];
29
- };
30
- export declare function normalizePluginsConfig(input?: PluginsConfig): NormalizedPluginsConfig;
31
- export declare function validatePluginsConfig(params: {
32
- config: NormalizedPluginsConfig;
33
- registry: PluginManifestRegistry;
34
- }): PluginsConfigValidationResult;
35
- //# sourceMappingURL=config-state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-state.d.ts","sourceRoot":"","sources":["../../src/plugins/config-state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC3C,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,gBAAgB,EAAE,CAAC;CACjC,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,uBAAuB,CAcrF;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC5C,MAAM,EAAE,uBAAuB,CAAC;IAChC,QAAQ,EAAE,sBAAsB,CAAC;CAClC,GAAG,6BAA6B,CAoFhC"}
@@ -1,97 +0,0 @@
1
- import { normalizeStringList } from "./utils.js";
2
- import { validateJsonSchemaValue } from "./schema-validator.js";
3
- export function normalizePluginsConfig(input) {
4
- const allow = normalizeStringList(input?.allow);
5
- const deny = normalizeStringList(input?.deny);
6
- const loadPaths = normalizeStringList(input?.load?.paths);
7
- const entries = input?.entries ?? {};
8
- const slots = input?.slots ?? {};
9
- return {
10
- enabled: input?.enabled ?? true,
11
- allow: Array.from(new Set(allow)),
12
- deny: Array.from(new Set(deny)),
13
- loadPaths: Array.from(new Set(loadPaths)),
14
- entries,
15
- slots,
16
- };
17
- }
18
- export function validatePluginsConfig(params) {
19
- const diagnostics = [];
20
- const { config, registry } = params;
21
- const knownIds = new Set(registry.manifests.keys());
22
- const checkKnown = (id, source) => {
23
- if (!knownIds.has(id)) {
24
- diagnostics.push({
25
- level: "error",
26
- message: `unknown plugin id in ${source}: ${id}`,
27
- pluginId: id,
28
- });
29
- return false;
30
- }
31
- return true;
32
- };
33
- for (const id of config.allow) {
34
- checkKnown(id, "plugins.allow");
35
- }
36
- for (const id of config.deny) {
37
- checkKnown(id, "plugins.deny");
38
- }
39
- for (const id of Object.keys(config.entries)) {
40
- checkKnown(id, "plugins.entries");
41
- }
42
- const slots = config.slots ?? {};
43
- for (const [kind, selected] of Object.entries(slots)) {
44
- if (!selected || selected === "none") {
45
- continue;
46
- }
47
- if (!checkKnown(selected, `plugins.slots.${kind}`)) {
48
- continue;
49
- }
50
- const record = registry.manifests.get(selected);
51
- if (!record?.manifest.kind) {
52
- diagnostics.push({
53
- level: "error",
54
- message: `plugin ${selected} does not declare kind ${kind}`,
55
- pluginId: selected,
56
- });
57
- }
58
- else if (record.manifest.kind !== kind) {
59
- diagnostics.push({
60
- level: "error",
61
- message: `plugin ${selected} does not declare kind ${kind}`,
62
- pluginId: selected,
63
- });
64
- }
65
- }
66
- for (const [id, entry] of Object.entries(config.entries)) {
67
- const record = registry.manifests.get(id);
68
- if (!record) {
69
- continue;
70
- }
71
- const schema = record.manifest.configSchema;
72
- const result = validateJsonSchemaValue({
73
- schema,
74
- cacheKey: `${id}:${record.manifestPath}`,
75
- value: entry?.config ?? {},
76
- });
77
- if (!result.ok) {
78
- for (const error of result.errors) {
79
- diagnostics.push({
80
- level: "error",
81
- message: `plugin config invalid (${id}) at ${error.path}: ${error.message}`,
82
- pluginId: id,
83
- });
84
- }
85
- }
86
- if (entry?.enabled === false && entry?.config) {
87
- diagnostics.push({
88
- level: "warn",
89
- message: `plugin config set while disabled: ${id}`,
90
- pluginId: id,
91
- });
92
- }
93
- }
94
- const ok = diagnostics.every((diag) => diag.level !== "error");
95
- return { ok, diagnostics };
96
- }
97
- //# sourceMappingURL=config-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-state.js","sourceRoot":"","sources":["../../src/plugins/config-state.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import type { PluginDiscoveryResult } from "./types.js";
2
- export type PluginDiscoveryOptions = {
3
- dataDir?: string;
4
- workspaceDir?: string;
5
- extraPaths?: string[];
6
- bundledDir?: string;
7
- ownershipUid?: number | null;
8
- };
9
- export type PackageExtensionResolution = {
10
- status: "ok";
11
- entries: string[];
12
- } | {
13
- status: "missing";
14
- entries: [];
15
- } | {
16
- status: "empty";
17
- entries: [];
18
- };
19
- export type CandidateBlockReason = "source_escapes_root" | "path_stat_failed" | "path_world_writable" | "path_suspicious_ownership";
20
- export declare function discoverAIMaxPlugins(options?: PluginDiscoveryOptions): PluginDiscoveryResult;
21
- //# sourceMappingURL=discovery.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/plugins/discovery.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAKV,qBAAqB,EAEtB,MAAM,YAAY,CAAC;AAapB,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAClC;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GACnC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,EAAE,CAAA;CAAE,GAClC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,EAAE,CAAA;CAAE,CAAC;AA+CrC,MAAM,MAAM,oBAAoB,GAC5B,qBAAqB,GACrB,kBAAkB,GAClB,qBAAqB,GACrB,2BAA2B,CAAC;AA0VhC,wBAAgB,oBAAoB,CAClC,OAAO,GAAE,sBAA2B,GACnC,qBAAqB,CAgHvB"}
@@ -1,425 +0,0 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- import { formatPosixMode, isPathInside, safeRealpathSync, safeStatSync } from "./path-safety.js";
4
- import { isRecord, resolveUserPath } from "./utils.js";
5
- const EXTENSION_EXTS = new Set([".ts", ".js", ".mts", ".cts", ".mjs", ".cjs"]);
6
- const DEFAULT_ENTRY_CANDIDATES = [
7
- "index.ts",
8
- "index.js",
9
- "index.mts",
10
- "index.cts",
11
- "index.mjs",
12
- "index.cjs",
13
- ];
14
- function readPackageManifest(packageDir) {
15
- const manifestPath = path.join(packageDir, "package.json");
16
- if (!fs.existsSync(manifestPath)) {
17
- return undefined;
18
- }
19
- try {
20
- const raw = JSON.parse(fs.readFileSync(manifestPath, "utf-8"));
21
- if (!isRecord(raw)) {
22
- return undefined;
23
- }
24
- return raw;
25
- }
26
- catch {
27
- return undefined;
28
- }
29
- }
30
- function resolvePackageExtensionEntries(manifest) {
31
- const raw = manifest?.aimax?.extensions;
32
- if (!Array.isArray(raw)) {
33
- return { status: "missing", entries: [] };
34
- }
35
- const entries = raw
36
- .map((entry) => (typeof entry === "string" ? entry.trim() : ""))
37
- .filter(Boolean);
38
- if (entries.length === 0) {
39
- return { status: "empty", entries: [] };
40
- }
41
- return { status: "ok", entries };
42
- }
43
- function currentUid(overrideUid) {
44
- if (overrideUid !== undefined) {
45
- return overrideUid;
46
- }
47
- if (process.platform === "win32") {
48
- return null;
49
- }
50
- if (typeof process.getuid !== "function") {
51
- return null;
52
- }
53
- return process.getuid();
54
- }
55
- function checkSourceEscapesRoot(params) {
56
- const sourceRealPath = safeRealpathSync(params.source);
57
- const rootRealPath = safeRealpathSync(params.rootDir);
58
- if (!sourceRealPath || !rootRealPath) {
59
- return null;
60
- }
61
- if (isPathInside(rootRealPath, sourceRealPath)) {
62
- return null;
63
- }
64
- return {
65
- reason: "source_escapes_root",
66
- sourcePath: params.source,
67
- rootPath: params.rootDir,
68
- targetPath: params.source,
69
- sourceRealPath,
70
- rootRealPath,
71
- };
72
- }
73
- function checkPathStatAndPermissions(params) {
74
- if (process.platform === "win32") {
75
- return null;
76
- }
77
- const pathsToCheck = [params.rootDir, params.source];
78
- const seen = new Set();
79
- for (const targetPath of pathsToCheck) {
80
- const normalized = path.resolve(targetPath);
81
- if (seen.has(normalized)) {
82
- continue;
83
- }
84
- seen.add(normalized);
85
- const stat = safeStatSync(targetPath);
86
- if (!stat) {
87
- return {
88
- reason: "path_stat_failed",
89
- sourcePath: params.source,
90
- rootPath: params.rootDir,
91
- targetPath,
92
- };
93
- }
94
- const modeBits = stat.mode & 0o777;
95
- if ((modeBits & 0o002) !== 0) {
96
- return {
97
- reason: "path_world_writable",
98
- sourcePath: params.source,
99
- rootPath: params.rootDir,
100
- targetPath,
101
- modeBits,
102
- };
103
- }
104
- if (params.origin !== "bundled" &&
105
- params.uid !== null &&
106
- typeof stat.uid === "number" &&
107
- stat.uid !== params.uid &&
108
- stat.uid !== 0) {
109
- return {
110
- reason: "path_suspicious_ownership",
111
- sourcePath: params.source,
112
- rootPath: params.rootDir,
113
- targetPath,
114
- foundUid: stat.uid,
115
- expectedUid: params.uid,
116
- };
117
- }
118
- }
119
- return null;
120
- }
121
- function findCandidateBlockIssue(params) {
122
- const escaped = checkSourceEscapesRoot({
123
- source: params.source,
124
- rootDir: params.rootDir,
125
- });
126
- if (escaped) {
127
- return escaped;
128
- }
129
- return checkPathStatAndPermissions({
130
- source: params.source,
131
- rootDir: params.rootDir,
132
- origin: params.origin,
133
- uid: currentUid(params.ownershipUid),
134
- });
135
- }
136
- function formatCandidateBlockMessage(issue) {
137
- if (issue.reason === "source_escapes_root") {
138
- return `blocked plugin candidate: source escapes plugin root (${issue.sourcePath} -> ${issue.sourceRealPath}; root=${issue.rootRealPath})`;
139
- }
140
- if (issue.reason === "path_stat_failed") {
141
- return `blocked plugin candidate: cannot stat path (${issue.targetPath})`;
142
- }
143
- if (issue.reason === "path_world_writable") {
144
- return `blocked plugin candidate: world-writable path (${issue.targetPath}, mode=${formatPosixMode(issue.modeBits ?? 0)})`;
145
- }
146
- return `blocked plugin candidate: suspicious ownership (${issue.targetPath}, uid=${issue.foundUid}, expected uid=${issue.expectedUid} or root)`;
147
- }
148
- function isUnsafePluginCandidate(params) {
149
- const issue = findCandidateBlockIssue({
150
- source: params.source,
151
- rootDir: params.rootDir,
152
- origin: params.origin,
153
- ownershipUid: params.ownershipUid,
154
- });
155
- if (!issue) {
156
- return false;
157
- }
158
- params.diagnostics.push({
159
- level: "warn",
160
- message: formatCandidateBlockMessage(issue),
161
- source: params.source,
162
- });
163
- return true;
164
- }
165
- function candidateIdFromFile(filePath) {
166
- return path.basename(filePath, path.extname(filePath));
167
- }
168
- function buildCandidate(params) {
169
- return {
170
- idHint: params.idHint,
171
- source: params.source,
172
- rootDir: params.rootDir,
173
- origin: params.origin,
174
- workspaceDir: params.workspaceDir,
175
- packageName: params.packageName,
176
- packageVersion: params.packageVersion,
177
- packageDescription: params.packageDescription,
178
- packageDir: params.packageDir,
179
- packageManifest: params.packageManifest,
180
- };
181
- }
182
- function resolveEntryCandidate(rootDir) {
183
- for (const candidate of DEFAULT_ENTRY_CANDIDATES) {
184
- const full = path.join(rootDir, candidate);
185
- if (fs.existsSync(full)) {
186
- return full;
187
- }
188
- }
189
- return null;
190
- }
191
- function discoverFromExtensionsRoot(params) {
192
- let entries;
193
- try {
194
- entries = fs.readdirSync(params.rootDir, { withFileTypes: true });
195
- }
196
- catch {
197
- return;
198
- }
199
- for (const entry of entries) {
200
- const fullPath = path.join(params.rootDir, entry.name);
201
- if (entry.isFile()) {
202
- if (!EXTENSION_EXTS.has(path.extname(entry.name))) {
203
- continue;
204
- }
205
- const rootDir = path.dirname(fullPath);
206
- if (isUnsafePluginCandidate({
207
- source: fullPath,
208
- rootDir,
209
- origin: params.origin,
210
- diagnostics: params.diagnostics,
211
- ownershipUid: params.ownershipUid,
212
- })) {
213
- continue;
214
- }
215
- params.candidates.push(buildCandidate({
216
- idHint: candidateIdFromFile(fullPath),
217
- source: fullPath,
218
- rootDir,
219
- origin: params.origin,
220
- workspaceDir: params.workspaceDir,
221
- }));
222
- continue;
223
- }
224
- if (!entry.isDirectory()) {
225
- continue;
226
- }
227
- const packageManifest = readPackageManifest(fullPath);
228
- const packageEntries = resolvePackageExtensionEntries(packageManifest);
229
- if (packageEntries.status === "ok") {
230
- for (const entryPath of packageEntries.entries) {
231
- const resolvedPath = path.resolve(fullPath, entryPath);
232
- if (!isPathInside(fullPath, resolvedPath)) {
233
- params.diagnostics.push({
234
- level: "warn",
235
- message: `blocked plugin candidate: package entry escapes package root (${entryPath})`,
236
- source: resolvedPath,
237
- });
238
- continue;
239
- }
240
- if (!fs.existsSync(resolvedPath)) {
241
- params.diagnostics.push({
242
- level: "warn",
243
- message: `plugin entry missing: ${resolvedPath}`,
244
- source: resolvedPath,
245
- });
246
- continue;
247
- }
248
- if (!EXTENSION_EXTS.has(path.extname(resolvedPath))) {
249
- params.diagnostics.push({
250
- level: "warn",
251
- message: `plugin entry not a supported extension: ${resolvedPath}`,
252
- source: resolvedPath,
253
- });
254
- continue;
255
- }
256
- if (isUnsafePluginCandidate({
257
- source: resolvedPath,
258
- rootDir: fullPath,
259
- origin: params.origin,
260
- diagnostics: params.diagnostics,
261
- ownershipUid: params.ownershipUid,
262
- })) {
263
- continue;
264
- }
265
- const packageName = packageManifest?.name?.trim();
266
- const idHint = packageName
267
- ? `${packageName}/${candidateIdFromFile(resolvedPath)}`
268
- : candidateIdFromFile(resolvedPath);
269
- params.candidates.push(buildCandidate({
270
- idHint,
271
- source: resolvedPath,
272
- rootDir: fullPath,
273
- origin: params.origin,
274
- workspaceDir: params.workspaceDir,
275
- packageName: packageManifest?.name,
276
- packageVersion: packageManifest?.version,
277
- packageDescription: packageManifest?.description,
278
- packageDir: fullPath,
279
- packageManifest: packageManifest?.aimax,
280
- }));
281
- }
282
- continue;
283
- }
284
- const entryCandidate = resolveEntryCandidate(fullPath);
285
- if (!entryCandidate) {
286
- continue;
287
- }
288
- if (isUnsafePluginCandidate({
289
- source: entryCandidate,
290
- rootDir: fullPath,
291
- origin: params.origin,
292
- diagnostics: params.diagnostics,
293
- ownershipUid: params.ownershipUid,
294
- })) {
295
- continue;
296
- }
297
- params.candidates.push(buildCandidate({
298
- idHint: path.basename(fullPath),
299
- source: entryCandidate,
300
- rootDir: fullPath,
301
- origin: params.origin,
302
- workspaceDir: params.workspaceDir,
303
- }));
304
- }
305
- }
306
- function resolveConfigPaths(extraPaths) {
307
- if (!extraPaths) {
308
- return [];
309
- }
310
- return extraPaths.map(resolveUserPath);
311
- }
312
- function resolveGlobalExtensionsRoot() {
313
- return path.join(resolveUserPath("~"), ".aimax", "extensions");
314
- }
315
- function resolveDataDirExtensionsRoot(dataDir) {
316
- return path.join(dataDir, ".aimax", "extensions");
317
- }
318
- function resolveWorkspaceExtensionsRoot(workspaceDir) {
319
- return path.join(workspaceDir, ".aimax", "extensions");
320
- }
321
- export function discoverAIMaxPlugins(options = {}) {
322
- const candidates = [];
323
- const diagnostics = [];
324
- const extraPaths = resolveConfigPaths(options.extraPaths);
325
- for (const input of extraPaths) {
326
- if (!fs.existsSync(input)) {
327
- diagnostics.push({
328
- level: "warn",
329
- message: `plugin path not found: ${input}`,
330
- source: input,
331
- });
332
- continue;
333
- }
334
- const stat = safeStatSync(input);
335
- if (!stat) {
336
- diagnostics.push({
337
- level: "warn",
338
- message: `plugin path not readable: ${input}`,
339
- source: input,
340
- });
341
- continue;
342
- }
343
- if (stat.isFile()) {
344
- if (!EXTENSION_EXTS.has(path.extname(input))) {
345
- diagnostics.push({
346
- level: "warn",
347
- message: `plugin file has unsupported extension: ${input}`,
348
- source: input,
349
- });
350
- continue;
351
- }
352
- const rootDir = path.dirname(input);
353
- if (isUnsafePluginCandidate({
354
- source: input,
355
- rootDir,
356
- origin: "config",
357
- diagnostics,
358
- ownershipUid: options.ownershipUid,
359
- })) {
360
- continue;
361
- }
362
- candidates.push(buildCandidate({
363
- idHint: candidateIdFromFile(input),
364
- source: input,
365
- rootDir,
366
- origin: "config",
367
- workspaceDir: options.workspaceDir,
368
- }));
369
- continue;
370
- }
371
- if (stat.isDirectory()) {
372
- discoverFromExtensionsRoot({
373
- rootDir: input,
374
- origin: "config",
375
- workspaceDir: options.workspaceDir,
376
- diagnostics,
377
- candidates,
378
- ownershipUid: options.ownershipUid,
379
- });
380
- }
381
- }
382
- if (options.dataDir) {
383
- const workspaceRoot = resolveDataDirExtensionsRoot(options.dataDir);
384
- discoverFromExtensionsRoot({
385
- rootDir: workspaceRoot,
386
- origin: "workspace",
387
- workspaceDir: options.workspaceDir,
388
- diagnostics,
389
- candidates,
390
- ownershipUid: options.ownershipUid,
391
- });
392
- }
393
- else if (options.workspaceDir) {
394
- const workspaceRoot = resolveWorkspaceExtensionsRoot(options.workspaceDir);
395
- discoverFromExtensionsRoot({
396
- rootDir: workspaceRoot,
397
- origin: "workspace",
398
- workspaceDir: options.workspaceDir,
399
- diagnostics,
400
- candidates,
401
- ownershipUid: options.ownershipUid,
402
- });
403
- }
404
- const globalRoot = resolveGlobalExtensionsRoot();
405
- discoverFromExtensionsRoot({
406
- rootDir: globalRoot,
407
- origin: "global",
408
- workspaceDir: options.workspaceDir,
409
- diagnostics,
410
- candidates,
411
- ownershipUid: options.ownershipUid,
412
- });
413
- if (options.bundledDir) {
414
- discoverFromExtensionsRoot({
415
- rootDir: options.bundledDir,
416
- origin: "bundled",
417
- workspaceDir: options.workspaceDir,
418
- diagnostics,
419
- candidates,
420
- ownershipUid: options.ownershipUid,
421
- });
422
- }
423
- return { candidates, diagnostics };
424
- }
425
- //# sourceMappingURL=discovery.js.map