@edwardlee5423/magi 0.1.0-alpha.0

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 (531) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +184 -0
  3. package/dist/agent/headless-agent.d.ts +15 -0
  4. package/dist/agent/headless-agent.js +105 -0
  5. package/dist/agent/headless-agent.js.map +1 -0
  6. package/dist/agent/local-plan.d.ts +20 -0
  7. package/dist/agent/local-plan.js +30 -0
  8. package/dist/agent/local-plan.js.map +1 -0
  9. package/dist/agent/query-engine.d.ts +71 -0
  10. package/dist/agent/query-engine.js +938 -0
  11. package/dist/agent/query-engine.js.map +1 -0
  12. package/dist/agent/query.d.ts +128 -0
  13. package/dist/agent/query.js +674 -0
  14. package/dist/agent/query.js.map +1 -0
  15. package/dist/agent/system-prompt.d.ts +12 -0
  16. package/dist/agent/system-prompt.js +104 -0
  17. package/dist/agent/system-prompt.js.map +1 -0
  18. package/dist/agent/tools.d.ts +71 -0
  19. package/dist/agent/tools.js +37 -0
  20. package/dist/agent/tools.js.map +1 -0
  21. package/dist/agents/roles.d.ts +9 -0
  22. package/dist/agents/roles.js +18 -0
  23. package/dist/agents/roles.js.map +1 -0
  24. package/dist/agents/task-queue.d.ts +13 -0
  25. package/dist/agents/task-queue.js +50 -0
  26. package/dist/agents/task-queue.js.map +1 -0
  27. package/dist/cli.d.ts +7 -0
  28. package/dist/cli.js +1540 -0
  29. package/dist/cli.js.map +1 -0
  30. package/dist/colors.d.ts +20 -0
  31. package/dist/colors.js +92 -0
  32. package/dist/colors.js.map +1 -0
  33. package/dist/commands/agents.d.ts +9 -0
  34. package/dist/commands/agents.js +37 -0
  35. package/dist/commands/agents.js.map +1 -0
  36. package/dist/commands/clear.d.ts +9 -0
  37. package/dist/commands/clear.js +20 -0
  38. package/dist/commands/clear.js.map +1 -0
  39. package/dist/commands/commit.d.ts +8 -0
  40. package/dist/commands/commit.js +35 -0
  41. package/dist/commands/commit.js.map +1 -0
  42. package/dist/commands/compact.d.ts +8 -0
  43. package/dist/commands/compact.js +29 -0
  44. package/dist/commands/compact.js.map +1 -0
  45. package/dist/commands/copy.d.ts +8 -0
  46. package/dist/commands/copy.js +49 -0
  47. package/dist/commands/copy.js.map +1 -0
  48. package/dist/commands/cost.d.ts +8 -0
  49. package/dist/commands/cost.js +94 -0
  50. package/dist/commands/cost.js.map +1 -0
  51. package/dist/commands/diff.d.ts +8 -0
  52. package/dist/commands/diff.js +38 -0
  53. package/dist/commands/diff.js.map +1 -0
  54. package/dist/commands/doctor.d.ts +8 -0
  55. package/dist/commands/doctor.js +23 -0
  56. package/dist/commands/doctor.js.map +1 -0
  57. package/dist/commands/export.d.ts +8 -0
  58. package/dist/commands/export.js +42 -0
  59. package/dist/commands/export.js.map +1 -0
  60. package/dist/commands/fork.d.ts +8 -0
  61. package/dist/commands/fork.js +20 -0
  62. package/dist/commands/fork.js.map +1 -0
  63. package/dist/commands/goal.d.ts +9 -0
  64. package/dist/commands/goal.js +54 -0
  65. package/dist/commands/goal.js.map +1 -0
  66. package/dist/commands/help.d.ts +8 -0
  67. package/dist/commands/help.js +65 -0
  68. package/dist/commands/help.js.map +1 -0
  69. package/dist/commands/hooks.d.ts +8 -0
  70. package/dist/commands/hooks.js +56 -0
  71. package/dist/commands/hooks.js.map +1 -0
  72. package/dist/commands/image.d.ts +17 -0
  73. package/dist/commands/image.js +74 -0
  74. package/dist/commands/image.js.map +1 -0
  75. package/dist/commands/init.d.ts +26 -0
  76. package/dist/commands/init.js +214 -0
  77. package/dist/commands/init.js.map +1 -0
  78. package/dist/commands/mcp.d.ts +8 -0
  79. package/dist/commands/mcp.js +217 -0
  80. package/dist/commands/mcp.js.map +1 -0
  81. package/dist/commands/memory.d.ts +8 -0
  82. package/dist/commands/memory.js +79 -0
  83. package/dist/commands/memory.js.map +1 -0
  84. package/dist/commands/model.d.ts +8 -0
  85. package/dist/commands/model.js +21 -0
  86. package/dist/commands/model.js.map +1 -0
  87. package/dist/commands/permissions.d.ts +9 -0
  88. package/dist/commands/permissions.js +30 -0
  89. package/dist/commands/permissions.js.map +1 -0
  90. package/dist/commands/proactive.d.ts +9 -0
  91. package/dist/commands/proactive.js +24 -0
  92. package/dist/commands/proactive.js.map +1 -0
  93. package/dist/commands/register-all.d.ts +1 -0
  94. package/dist/commands/register-all.js +68 -0
  95. package/dist/commands/register-all.js.map +1 -0
  96. package/dist/commands/registry.d.ts +64 -0
  97. package/dist/commands/registry.js +235 -0
  98. package/dist/commands/registry.js.map +1 -0
  99. package/dist/commands/rename.d.ts +8 -0
  100. package/dist/commands/rename.js +16 -0
  101. package/dist/commands/rename.js.map +1 -0
  102. package/dist/commands/review.d.ts +8 -0
  103. package/dist/commands/review.js +13 -0
  104. package/dist/commands/review.js.map +1 -0
  105. package/dist/commands/rewind.d.ts +8 -0
  106. package/dist/commands/rewind.js +45 -0
  107. package/dist/commands/rewind.js.map +1 -0
  108. package/dist/commands/route.d.ts +9 -0
  109. package/dist/commands/route.js +83 -0
  110. package/dist/commands/route.js.map +1 -0
  111. package/dist/commands/sessions.d.ts +9 -0
  112. package/dist/commands/sessions.js +25 -0
  113. package/dist/commands/sessions.js.map +1 -0
  114. package/dist/commands/skill.d.ts +9 -0
  115. package/dist/commands/skill.js +46 -0
  116. package/dist/commands/skill.js.map +1 -0
  117. package/dist/commands/status.d.ts +8 -0
  118. package/dist/commands/status.js +41 -0
  119. package/dist/commands/status.js.map +1 -0
  120. package/dist/commands/summary.d.ts +8 -0
  121. package/dist/commands/summary.js +39 -0
  122. package/dist/commands/summary.js.map +1 -0
  123. package/dist/commands/tasks.d.ts +9 -0
  124. package/dist/commands/tasks.js +70 -0
  125. package/dist/commands/tasks.js.map +1 -0
  126. package/dist/commands/todos.d.ts +9 -0
  127. package/dist/commands/todos.js +27 -0
  128. package/dist/commands/todos.js.map +1 -0
  129. package/dist/commands/tutorial.d.ts +8 -0
  130. package/dist/commands/tutorial.js +159 -0
  131. package/dist/commands/tutorial.js.map +1 -0
  132. package/dist/commands/upgrade.d.ts +9 -0
  133. package/dist/commands/upgrade.js +73 -0
  134. package/dist/commands/upgrade.js.map +1 -0
  135. package/dist/commands/usage.d.ts +8 -0
  136. package/dist/commands/usage.js +54 -0
  137. package/dist/commands/usage.js.map +1 -0
  138. package/dist/commands/vim.d.ts +10 -0
  139. package/dist/commands/vim.js +34 -0
  140. package/dist/commands/vim.js.map +1 -0
  141. package/dist/config.d.ts +104 -0
  142. package/dist/config.js +533 -0
  143. package/dist/config.js.map +1 -0
  144. package/dist/context/compaction.d.ts +66 -0
  145. package/dist/context/compaction.js +353 -0
  146. package/dist/context/compaction.js.map +1 -0
  147. package/dist/context/layers.d.ts +32 -0
  148. package/dist/context/layers.js +114 -0
  149. package/dist/context/layers.js.map +1 -0
  150. package/dist/context/token-budget.d.ts +21 -0
  151. package/dist/context/token-budget.js +70 -0
  152. package/dist/context/token-budget.js.map +1 -0
  153. package/dist/control/auth.d.ts +17 -0
  154. package/dist/control/auth.js +31 -0
  155. package/dist/control/auth.js.map +1 -0
  156. package/dist/control/daemon.d.ts +38 -0
  157. package/dist/control/daemon.js +135 -0
  158. package/dist/control/daemon.js.map +1 -0
  159. package/dist/control/mdns.d.ts +51 -0
  160. package/dist/control/mdns.js +344 -0
  161. package/dist/control/mdns.js.map +1 -0
  162. package/dist/control/peer-client.d.ts +49 -0
  163. package/dist/control/peer-client.js +170 -0
  164. package/dist/control/peer-client.js.map +1 -0
  165. package/dist/control/server.d.ts +30 -0
  166. package/dist/control/server.js +887 -0
  167. package/dist/control/server.js.map +1 -0
  168. package/dist/cost.d.ts +23 -0
  169. package/dist/cost.js +80 -0
  170. package/dist/cost.js.map +1 -0
  171. package/dist/doctor.d.ts +8 -0
  172. package/dist/doctor.js +22 -0
  173. package/dist/doctor.js.map +1 -0
  174. package/dist/env.d.ts +7 -0
  175. package/dist/env.js +70 -0
  176. package/dist/env.js.map +1 -0
  177. package/dist/errors.d.ts +6 -0
  178. package/dist/errors.js +13 -0
  179. package/dist/errors.js.map +1 -0
  180. package/dist/events.d.ts +19 -0
  181. package/dist/events.js +236 -0
  182. package/dist/events.js.map +1 -0
  183. package/dist/fs-utils.d.ts +21 -0
  184. package/dist/fs-utils.js +48 -0
  185. package/dist/fs-utils.js.map +1 -0
  186. package/dist/goal.d.ts +32 -0
  187. package/dist/goal.js +172 -0
  188. package/dist/goal.js.map +1 -0
  189. package/dist/headless.d.ts +38 -0
  190. package/dist/headless.js +547 -0
  191. package/dist/headless.js.map +1 -0
  192. package/dist/history.d.ts +8 -0
  193. package/dist/history.js +77 -0
  194. package/dist/history.js.map +1 -0
  195. package/dist/hooks/events.d.ts +14 -0
  196. package/dist/hooks/events.js +37 -0
  197. package/dist/hooks/events.js.map +1 -0
  198. package/dist/hooks/runner.d.ts +73 -0
  199. package/dist/hooks/runner.js +256 -0
  200. package/dist/hooks/runner.js.map +1 -0
  201. package/dist/hooks/trigger.d.ts +9 -0
  202. package/dist/hooks/trigger.js +18 -0
  203. package/dist/hooks/trigger.js.map +1 -0
  204. package/dist/index.d.ts +61 -0
  205. package/dist/index.js +62 -0
  206. package/dist/index.js.map +1 -0
  207. package/dist/interactions.d.ts +102 -0
  208. package/dist/interactions.js +250 -0
  209. package/dist/interactions.js.map +1 -0
  210. package/dist/logger.d.ts +32 -0
  211. package/dist/logger.js +115 -0
  212. package/dist/logger.js.map +1 -0
  213. package/dist/markdown.d.ts +18 -0
  214. package/dist/markdown.js +293 -0
  215. package/dist/markdown.js.map +1 -0
  216. package/dist/mcp/approval.d.ts +9 -0
  217. package/dist/mcp/approval.js +27 -0
  218. package/dist/mcp/approval.js.map +1 -0
  219. package/dist/mcp/client.d.ts +61 -0
  220. package/dist/mcp/client.js +276 -0
  221. package/dist/mcp/client.js.map +1 -0
  222. package/dist/mcp/connection-manager.d.ts +30 -0
  223. package/dist/mcp/connection-manager.js +126 -0
  224. package/dist/mcp/connection-manager.js.map +1 -0
  225. package/dist/mcp/oauth-callback.d.ts +23 -0
  226. package/dist/mcp/oauth-callback.js +108 -0
  227. package/dist/mcp/oauth-callback.js.map +1 -0
  228. package/dist/mcp/oauth-flow.d.ts +45 -0
  229. package/dist/mcp/oauth-flow.js +145 -0
  230. package/dist/mcp/oauth-flow.js.map +1 -0
  231. package/dist/mcp/oauth.d.ts +82 -0
  232. package/dist/mcp/oauth.js +169 -0
  233. package/dist/mcp/oauth.js.map +1 -0
  234. package/dist/mcp/tool-registry.d.ts +29 -0
  235. package/dist/mcp/tool-registry.js +207 -0
  236. package/dist/mcp/tool-registry.js.map +1 -0
  237. package/dist/mcp/transport.d.ts +33 -0
  238. package/dist/mcp/transport.js +493 -0
  239. package/dist/mcp/transport.js.map +1 -0
  240. package/dist/mcp/types.d.ts +57 -0
  241. package/dist/mcp/types.js +2 -0
  242. package/dist/mcp/types.js.map +1 -0
  243. package/dist/memdir.d.ts +58 -0
  244. package/dist/memdir.js +219 -0
  245. package/dist/memdir.js.map +1 -0
  246. package/dist/memory-selection.d.ts +30 -0
  247. package/dist/memory-selection.js +102 -0
  248. package/dist/memory-selection.js.map +1 -0
  249. package/dist/memory.d.ts +85 -0
  250. package/dist/memory.js +259 -0
  251. package/dist/memory.js.map +1 -0
  252. package/dist/paths.d.ts +25 -0
  253. package/dist/paths.js +99 -0
  254. package/dist/paths.js.map +1 -0
  255. package/dist/permissions.d.ts +17 -0
  256. package/dist/permissions.js +72 -0
  257. package/dist/permissions.js.map +1 -0
  258. package/dist/plugins/manifest.d.ts +17 -0
  259. package/dist/plugins/manifest.js +98 -0
  260. package/dist/plugins/manifest.js.map +1 -0
  261. package/dist/plugins/marketplace.d.ts +22 -0
  262. package/dist/plugins/marketplace.js +98 -0
  263. package/dist/plugins/marketplace.js.map +1 -0
  264. package/dist/proactive.d.ts +15 -0
  265. package/dist/proactive.js +49 -0
  266. package/dist/proactive.js.map +1 -0
  267. package/dist/providers/errors.d.ts +14 -0
  268. package/dist/providers/errors.js +66 -0
  269. package/dist/providers/errors.js.map +1 -0
  270. package/dist/providers/format-proxy.d.ts +100 -0
  271. package/dist/providers/format-proxy.js +235 -0
  272. package/dist/providers/format-proxy.js.map +1 -0
  273. package/dist/providers/http.d.ts +4 -0
  274. package/dist/providers/http.js +21 -0
  275. package/dist/providers/http.js.map +1 -0
  276. package/dist/providers/ir.d.ts +84 -0
  277. package/dist/providers/ir.js +76 -0
  278. package/dist/providers/ir.js.map +1 -0
  279. package/dist/providers/messages-compatible.d.ts +19 -0
  280. package/dist/providers/messages-compatible.js +592 -0
  281. package/dist/providers/messages-compatible.js.map +1 -0
  282. package/dist/providers/openai.d.ts +18 -0
  283. package/dist/providers/openai.js +430 -0
  284. package/dist/providers/openai.js.map +1 -0
  285. package/dist/providers/registry.d.ts +10 -0
  286. package/dist/providers/registry.js +16 -0
  287. package/dist/providers/registry.js.map +1 -0
  288. package/dist/providers/sse.d.ts +6 -0
  289. package/dist/providers/sse.js +104 -0
  290. package/dist/providers/sse.js.map +1 -0
  291. package/dist/routing/model-alias.d.ts +8 -0
  292. package/dist/routing/model-alias.js +23 -0
  293. package/dist/routing/model-alias.js.map +1 -0
  294. package/dist/routing/model-router.d.ts +55 -0
  295. package/dist/routing/model-router.js +233 -0
  296. package/dist/routing/model-router.js.map +1 -0
  297. package/dist/routing/router.d.ts +26 -0
  298. package/dist/routing/router.js +63 -0
  299. package/dist/routing/router.js.map +1 -0
  300. package/dist/rules/agents-loader.d.ts +12 -0
  301. package/dist/rules/agents-loader.js +61 -0
  302. package/dist/rules/agents-loader.js.map +1 -0
  303. package/dist/runner/client.d.ts +67 -0
  304. package/dist/runner/client.js +175 -0
  305. package/dist/runner/client.js.map +1 -0
  306. package/dist/session-store.d.ts +250 -0
  307. package/dist/session-store.js +629 -0
  308. package/dist/session-store.js.map +1 -0
  309. package/dist/skills/bundled.d.ts +14 -0
  310. package/dist/skills/bundled.js +148 -0
  311. package/dist/skills/bundled.js.map +1 -0
  312. package/dist/skills/loader.d.ts +11 -0
  313. package/dist/skills/loader.js +73 -0
  314. package/dist/skills/loader.js.map +1 -0
  315. package/dist/slash-menu.d.ts +14 -0
  316. package/dist/slash-menu.js +166 -0
  317. package/dist/slash-menu.js.map +1 -0
  318. package/dist/slash.d.ts +75 -0
  319. package/dist/slash.js +126 -0
  320. package/dist/slash.js.map +1 -0
  321. package/dist/spinner.d.ts +27 -0
  322. package/dist/spinner.js +68 -0
  323. package/dist/spinner.js.map +1 -0
  324. package/dist/ssh/exec.d.ts +20 -0
  325. package/dist/ssh/exec.js +39 -0
  326. package/dist/ssh/exec.js.map +1 -0
  327. package/dist/ssh/file.d.ts +32 -0
  328. package/dist/ssh/file.js +60 -0
  329. package/dist/ssh/file.js.map +1 -0
  330. package/dist/syntax-highlight.d.ts +19 -0
  331. package/dist/syntax-highlight.js +181 -0
  332. package/dist/syntax-highlight.js.map +1 -0
  333. package/dist/tools/agent-tool.d.ts +53 -0
  334. package/dist/tools/agent-tool.js +62 -0
  335. package/dist/tools/agent-tool.js.map +1 -0
  336. package/dist/tools/archive-create.d.ts +35 -0
  337. package/dist/tools/archive-create.js +37 -0
  338. package/dist/tools/archive-create.js.map +1 -0
  339. package/dist/tools/archive-extract.d.ts +28 -0
  340. package/dist/tools/archive-extract.js +36 -0
  341. package/dist/tools/archive-extract.js.map +1 -0
  342. package/dist/tools/base64.d.ts +27 -0
  343. package/dist/tools/base64.js +19 -0
  344. package/dist/tools/base64.js.map +1 -0
  345. package/dist/tools/browser.d.ts +125 -0
  346. package/dist/tools/browser.js +241 -0
  347. package/dist/tools/browser.js.map +1 -0
  348. package/dist/tools/config-tool.d.ts +31 -0
  349. package/dist/tools/config-tool.js +167 -0
  350. package/dist/tools/config-tool.js.map +1 -0
  351. package/dist/tools/cron.d.ts +110 -0
  352. package/dist/tools/cron.js +299 -0
  353. package/dist/tools/cron.js.map +1 -0
  354. package/dist/tools/date.d.ts +24 -0
  355. package/dist/tools/date.js +26 -0
  356. package/dist/tools/date.js.map +1 -0
  357. package/dist/tools/dir-create.d.ts +21 -0
  358. package/dist/tools/dir-create.js +19 -0
  359. package/dist/tools/dir-create.js.map +1 -0
  360. package/dist/tools/dir-list.d.ts +36 -0
  361. package/dist/tools/dir-list.js +47 -0
  362. package/dist/tools/dir-list.js.map +1 -0
  363. package/dist/tools/disk-usage.d.ts +30 -0
  364. package/dist/tools/disk-usage.js +22 -0
  365. package/dist/tools/disk-usage.js.map +1 -0
  366. package/dist/tools/download-file.d.ts +28 -0
  367. package/dist/tools/download-file.js +42 -0
  368. package/dist/tools/download-file.js.map +1 -0
  369. package/dist/tools/environment.d.ts +31 -0
  370. package/dist/tools/environment.js +33 -0
  371. package/dist/tools/environment.js.map +1 -0
  372. package/dist/tools/errors.d.ts +5 -0
  373. package/dist/tools/errors.js +9 -0
  374. package/dist/tools/errors.js.map +1 -0
  375. package/dist/tools/file-copy.d.ts +34 -0
  376. package/dist/tools/file-copy.js +45 -0
  377. package/dist/tools/file-copy.js.map +1 -0
  378. package/dist/tools/file-delete.d.ts +34 -0
  379. package/dist/tools/file-delete.js +42 -0
  380. package/dist/tools/file-delete.js.map +1 -0
  381. package/dist/tools/file-find.d.ts +46 -0
  382. package/dist/tools/file-find.js +33 -0
  383. package/dist/tools/file-find.js.map +1 -0
  384. package/dist/tools/file-move.d.ts +33 -0
  385. package/dist/tools/file-move.js +32 -0
  386. package/dist/tools/file-move.js.map +1 -0
  387. package/dist/tools/files.d.ts +38 -0
  388. package/dist/tools/files.js +123 -0
  389. package/dist/tools/files.js.map +1 -0
  390. package/dist/tools/git-branch-delete.d.ts +27 -0
  391. package/dist/tools/git-branch-delete.js +25 -0
  392. package/dist/tools/git-branch-delete.js.map +1 -0
  393. package/dist/tools/git-reset.d.ts +30 -0
  394. package/dist/tools/git-reset.js +28 -0
  395. package/dist/tools/git-reset.js.map +1 -0
  396. package/dist/tools/git-stash.d.ts +28 -0
  397. package/dist/tools/git-stash.js +24 -0
  398. package/dist/tools/git-stash.js.map +1 -0
  399. package/dist/tools/git.d.ts +77 -0
  400. package/dist/tools/git.js +300 -0
  401. package/dist/tools/git.js.map +1 -0
  402. package/dist/tools/github.d.ts +68 -0
  403. package/dist/tools/github.js +77 -0
  404. package/dist/tools/github.js.map +1 -0
  405. package/dist/tools/head-tail.d.ts +34 -0
  406. package/dist/tools/head-tail.js +23 -0
  407. package/dist/tools/head-tail.js.map +1 -0
  408. package/dist/tools/http-request.d.ts +44 -0
  409. package/dist/tools/http-request.js +57 -0
  410. package/dist/tools/http-request.js.map +1 -0
  411. package/dist/tools/json-query.d.ts +27 -0
  412. package/dist/tools/json-query.js +90 -0
  413. package/dist/tools/json-query.js.map +1 -0
  414. package/dist/tools/kill-process.d.ts +32 -0
  415. package/dist/tools/kill-process.js +51 -0
  416. package/dist/tools/kill-process.js.map +1 -0
  417. package/dist/tools/lsp.d.ts +98 -0
  418. package/dist/tools/lsp.js +398 -0
  419. package/dist/tools/lsp.js.map +1 -0
  420. package/dist/tools/monitor.d.ts +29 -0
  421. package/dist/tools/monitor.js +78 -0
  422. package/dist/tools/monitor.js.map +1 -0
  423. package/dist/tools/network-check.d.ts +34 -0
  424. package/dist/tools/network-check.js +57 -0
  425. package/dist/tools/network-check.js.map +1 -0
  426. package/dist/tools/notebook.d.ts +63 -0
  427. package/dist/tools/notebook.js +158 -0
  428. package/dist/tools/notebook.js.map +1 -0
  429. package/dist/tools/plan-mode.d.ts +48 -0
  430. package/dist/tools/plan-mode.js +57 -0
  431. package/dist/tools/plan-mode.js.map +1 -0
  432. package/dist/tools/process-list.d.ts +35 -0
  433. package/dist/tools/process-list.js +42 -0
  434. package/dist/tools/process-list.js.map +1 -0
  435. package/dist/tools/registry.d.ts +132 -0
  436. package/dist/tools/registry.js +2262 -0
  437. package/dist/tools/registry.js.map +1 -0
  438. package/dist/tools/search.d.ts +38 -0
  439. package/dist/tools/search.js +327 -0
  440. package/dist/tools/search.js.map +1 -0
  441. package/dist/tools/shell.d.ts +18 -0
  442. package/dist/tools/shell.js +249 -0
  443. package/dist/tools/shell.js.map +1 -0
  444. package/dist/tools/skill-tool.d.ts +22 -0
  445. package/dist/tools/skill-tool.js +66 -0
  446. package/dist/tools/skill-tool.js.map +1 -0
  447. package/dist/tools/sleep.d.ts +16 -0
  448. package/dist/tools/sleep.js +24 -0
  449. package/dist/tools/sleep.js.map +1 -0
  450. package/dist/tools/snip.d.ts +26 -0
  451. package/dist/tools/snip.js +95 -0
  452. package/dist/tools/snip.js.map +1 -0
  453. package/dist/tools/system-info.d.ts +17 -0
  454. package/dist/tools/system-info.js +33 -0
  455. package/dist/tools/system-info.js.map +1 -0
  456. package/dist/tools/tasks.d.ts +191 -0
  457. package/dist/tools/tasks.js +348 -0
  458. package/dist/tools/tasks.js.map +1 -0
  459. package/dist/tools/text-stats.d.ts +25 -0
  460. package/dist/tools/text-stats.js +25 -0
  461. package/dist/tools/text-stats.js.map +1 -0
  462. package/dist/tools/todo.d.ts +69 -0
  463. package/dist/tools/todo.js +197 -0
  464. package/dist/tools/todo.js.map +1 -0
  465. package/dist/tools/tool-search.d.ts +29 -0
  466. package/dist/tools/tool-search.js +114 -0
  467. package/dist/tools/tool-search.js.map +1 -0
  468. package/dist/tools/tree-view.d.ts +34 -0
  469. package/dist/tools/tree-view.js +39 -0
  470. package/dist/tools/tree-view.js.map +1 -0
  471. package/dist/tools/user-message.d.ts +39 -0
  472. package/dist/tools/user-message.js +70 -0
  473. package/dist/tools/user-message.js.map +1 -0
  474. package/dist/tools/user-question.d.ts +88 -0
  475. package/dist/tools/user-question.js +236 -0
  476. package/dist/tools/user-question.js.map +1 -0
  477. package/dist/tools/web-browser.d.ts +53 -0
  478. package/dist/tools/web-browser.js +373 -0
  479. package/dist/tools/web-browser.js.map +1 -0
  480. package/dist/tools/web-fetch.d.ts +22 -0
  481. package/dist/tools/web-fetch.js +146 -0
  482. package/dist/tools/web-fetch.js.map +1 -0
  483. package/dist/tools/web-search.d.ts +51 -0
  484. package/dist/tools/web-search.js +198 -0
  485. package/dist/tools/web-search.js.map +1 -0
  486. package/dist/tools/which.d.ts +22 -0
  487. package/dist/tools/which.js +21 -0
  488. package/dist/tools/which.js.map +1 -0
  489. package/dist/tools/whoami.d.ts +17 -0
  490. package/dist/tools/whoami.js +24 -0
  491. package/dist/tools/whoami.js.map +1 -0
  492. package/dist/tools/workspace-diagnostics.d.ts +62 -0
  493. package/dist/tools/workspace-diagnostics.js +421 -0
  494. package/dist/tools/workspace-diagnostics.js.map +1 -0
  495. package/dist/tools/workspace.d.ts +14 -0
  496. package/dist/tools/workspace.js +65 -0
  497. package/dist/tools/workspace.js.map +1 -0
  498. package/dist/tools/worktree.d.ts +70 -0
  499. package/dist/tools/worktree.js +150 -0
  500. package/dist/tools/worktree.js.map +1 -0
  501. package/dist/tui/interactions.d.ts +25 -0
  502. package/dist/tui/interactions.js +232 -0
  503. package/dist/tui/interactions.js.map +1 -0
  504. package/dist/tui/multiline-input.d.ts +14 -0
  505. package/dist/tui/multiline-input.js +550 -0
  506. package/dist/tui/multiline-input.js.map +1 -0
  507. package/dist/tui/paste.d.ts +40 -0
  508. package/dist/tui/paste.js +113 -0
  509. package/dist/tui/paste.js.map +1 -0
  510. package/dist/tui/prompt-reader.d.ts +26 -0
  511. package/dist/tui/prompt-reader.js +553 -0
  512. package/dist/tui/prompt-reader.js.map +1 -0
  513. package/dist/tui/transcript.d.ts +34 -0
  514. package/dist/tui/transcript.js +275 -0
  515. package/dist/tui/transcript.js.map +1 -0
  516. package/dist/tui.d.ts +53 -0
  517. package/dist/tui.js +669 -0
  518. package/dist/tui.js.map +1 -0
  519. package/dist/version.d.ts +1 -0
  520. package/dist/version.js +2 -0
  521. package/dist/version.js.map +1 -0
  522. package/dist/vim/lineEditor.d.ts +18 -0
  523. package/dist/vim/lineEditor.js +420 -0
  524. package/dist/vim/lineEditor.js.map +1 -0
  525. package/dist/web/panel-html.d.ts +1 -0
  526. package/dist/web/panel-html.js +532 -0
  527. package/dist/web/panel-html.js.map +1 -0
  528. package/dist/web/panel.d.ts +4 -0
  529. package/dist/web/panel.js +121 -0
  530. package/dist/web/panel.js.map +1 -0
  531. package/package.json +42 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/agent/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,WAAW,EACX,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAc,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAmB,mBAAmB,EAAE,wBAAwB,EAAsB,MAAM,YAAY,CAAC;AAEhH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AA0E1D,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,aAAa,CAAC,KAAsB;IACzD,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,MAAyD,CAAC;IAC9D,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,IAAI;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACrC,KAAK,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,MAAM,CAAC,KAAK,CAAC;IACrB,CAAC;AACH,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,kBAAkB,CAAC,KAAsB;IACvD,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,KAAK,GAAkB,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IACjE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,GAAG,CAAC;IACvC,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAwB,EAAE,CAAC;IACzC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACrC,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvL,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAChE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;QAEhC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;YAC3C,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,QAA0B,CAAC;YAC/B,IAAI,oBAAoB,GAAG,EAAE,CAAC;YAC9B,OAAO,IAAI,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE;wBAClD,KAAK,EAAE,WAAW,CAAC,KAAK;wBACxB,QAAQ;wBACR,KAAK,EAAE,eAAe;wBACtB,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;wBACtC,MAAM,EAAE,KAAK,CAAC,MAAM;qBACrB,CAAC,CAAC;oBACH,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;oBAC9B,oBAAoB,GAAG,SAAS,CAAC,YAAY,CAAC;oBAC9C,QAAQ,CAAC,IAAI,CAAC;wBACZ,YAAY,EAAE,WAAW,CAAC,YAAY;wBACtC,KAAK,EAAE,WAAW,CAAC,KAAK;wBACxB,EAAE,EAAE,IAAI;qBACT,CAAC,CAAC;oBACH,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;wBAC3B,SAAS,IAAI,SAAS,CAAC,YAAY,CAAC;oBACtC,CAAC;oBACD,MAAM;gBACR,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,SAAS,GAAG,KAAK,YAAY,aAAa,IAAI,KAAK,CAAC,SAAS,CAAC;oBACpE,QAAQ,CAAC,IAAI,CAAC;wBACZ,YAAY,EAAE,WAAW,CAAC,YAAY;wBACtC,KAAK,EAAE,WAAW,CAAC,KAAK;wBACxB,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,KAAK,YAAY,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;qBACnE,CAAC,CAAC;oBAEH,wEAAwE;oBACxE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,YAAY,KAAK,WAAW,CAAC,YAAY,IAAI,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,CAC7F,CAAC,MAAM,CAAC;oBAET,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;oBACzC,MAAM,WAAW,GAAG,SAAS,IAAI,SAAS,KAAK,SAAS,CAAC;oBAEzD,6DAA6D;oBAC7D,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3C,IAAI,SAAS,IAAI,gBAAgB,GAAG,cAAc,EAAE,CAAC;wBACnD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;wBACzE,MAAM;4BACJ,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,gBAAgB,GAAG,CAAC,IAAI,cAAc,GAAG;4BACnK,SAAS,EAAE,IAAI;yBAChB,CAAC;wBACF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;wBAC7D,SAAS;oBACX,CAAC;oBAED,uEAAuE;oBACvE,+DAA+D;oBAC/D,yEAAyE;oBACzE,IAAI,SAAS,IAAI,CAAC,WAAW,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;wBACtD,MAAM,SAAS,GAAG,gBAAgB,GAAG,cAAc,CAAC;wBACpD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;wBAClE,MAAM;4BACJ,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,gBAAgB,GAAG,CAAC,KAAK;4BACrK,SAAS,EAAE,IAAI;yBAChB,CAAC;wBACF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;wBAC7D,SAAS;oBACX,CAAC;oBAED,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;wBAC7B,MAAM,QAAQ,GAAG,WAAW,CAAC;wBAC7B,UAAU,IAAI,CAAC,CAAC;wBAChB,WAAW,GAAG,SAAS,CAAC;wBACxB,MAAM;4BACJ,IAAI,EAAE,mBAAmB;4BACzB,YAAY,EAAE,QAAQ,CAAC,YAAY;4BACnC,SAAS,EAAE,QAAQ,CAAC,KAAK;4BACzB,UAAU,EAAE,WAAW,CAAC,YAAY;4BACpC,OAAO,EAAE,WAAW,CAAC,KAAK;4BAC1B,SAAS,EAAE,KAAK,YAAY,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;yBACnE,CAAC;wBACF,SAAS;oBACX,CAAC;oBACD,MAAM;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC7D,SAAS;qBACV,CAAC;oBACF,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,KAAK,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;gBAChD,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;gBAClD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjD,CAAC;YAED,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,UAAU,GAAG,yBAAyB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACtE,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;YAC/B,IAAI,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;YAEnC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;gBACxG,QAAQ,GAAG,MAAM,uBAAuB,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC9E,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACnB,KAAK,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;oBAChD,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;oBAClD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACjD,CAAC;gBACD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBACzB,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACpD,CAAC;gBACD,UAAU,GAAG,yBAAyB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAClE,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;gBAC/B,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;YACjC,CAAC;YAED,IACE,QAAQ,CAAC,MAAM,KAAK,CAAC;mBAClB,CAAC,oBAAoB;mBACrB,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,EACxE,CAAC;gBACD,QAAQ,GAAG,MAAM,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;gBACnI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACnB,KAAK,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;oBAChD,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;oBAClD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACjD,CAAC;gBACD,UAAU,GAAG,yBAAyB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAClE,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;gBAC/B,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;YACjC,CAAC;YAED,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC3C,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC;gBAC3B,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpD,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;YACtC,CAAC;YACD,MAAM,gBAAgB,GAAgB;gBACpC,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE;oBACP,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1E,GAAG,QAAQ;iBACZ;aACF,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAChC,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;YAE/D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;gBAClD,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,QAAQ;oBACR,KAAK;oBACL,KAAK,EAAE,IAAI,GAAG,CAAC;oBACf,YAAY,EAAE,WAAW,CAAC,YAAY;oBACtC,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,QAAQ;iBACT,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAA8C,EAAE,EAAE;gBAC5F,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC/B,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC/F,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjC,CAAC,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YACjF,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC9C,MAAM,UAAU,CAAC;YACnB,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAC/F,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC/B,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;gBAClH,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjC,CAAC,CAAC,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC;YACrC,MAAM,kBAAkB,GAAkB,EAAE,CAAC;YAC7C,MAAM,YAAY,GAAkB,EAAE,CAAC;YACvC,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;gBACjC,IAAI,MAAM,CAAC,UAAU,EAAE,QAAQ,KAAK,KAAK,EAAE,CAAC;oBAC1C,MAAM;wBACJ,IAAI,EAAE,kBAAkB;wBACxB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,MAAM,CAAC,UAAU,CAAC,IAAI;4BACvE,IAAI,EAAE,UAAU;4BAChB,EAAE,EAAE,MAAM,CAAC,UAAU;4BACrB,IAAI,EAAE,MAAM,CAAC,QAAQ;4BACrB,KAAK,EAAE,EAAE;yBACV;wBACD,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;qBACjC,CAAC;gBACJ,CAAC;gBACD,MAAM;oBACJ,IAAI,EAAE,aAAa;oBACnB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC5B,CAAC;gBACF,kBAAkB,CAAC,IAAI,CAAC;oBACtB,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,aAAa;4BACnB,UAAU,EAAE,MAAM,CAAC,UAAU;4BAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,SAAS,EAAE,MAAM,CAAC,SAAS;yBAC5B,CAAC;iBACH,CAAC,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC;oBACnC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,eAAe;oBACjE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;oBACxB,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,OAAO,EAAE;wBACP,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;wBAChC,GAAG,EAAE,KAAK,CAAC,GAAG;wBACd,cAAc,EAAE,KAAK,CAAC,cAAc;wBACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,SAAS,EAAE,MAAM,CAAC,UAAU;wBAC5B,YAAY,EAAE,MAAM,CAAC,OAAO;wBAC5B,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;qBACnD;oBACD,WAAW;iBACZ,CAAC,CAAC;gBACH,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;oBAC7B,MAAM;wBACJ,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,eAAe;wBACjE,UAAU,EAAE,MAAM,CAAC,UAAU;wBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,MAAM,EAAE,IAAI;qBACb,CAAC;oBACF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;wBAChB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC1E,CAAC;gBACH,CAAC;YACH,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,GAAG,kBAAkB,EAAE,GAAG,YAAY,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,SAAS,IAAI,2DAA2D,CAAC;QACtF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9C,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACvC,OAAO;YACL,IAAI;YACJ,QAAQ;YACR,KAAK;YACL,KAAK,EAAE,QAAQ;YACf,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,QAAQ;SACT,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACjD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QACtG,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,QAAQ,EAAE,KAAK,EAAE,CAAC;IACpB,CAAC;AAEH,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,KAAiB,EACjB,QAAuB,EACvB,MAA+B;IAE/B,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE;YACR,GAAG,QAAQ;YACX,WAAW,CACT,MAAM,EACN,gJAAgJ,CACjJ;SACF;QACD,eAAe,EAAE,IAAI;QACrB,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,KAAiB,EACjB,QAAuB,EACvB,YAAoB,EACpB,eAAqC,EACrC,MAA+B,EAC/B,eAAmC;IAEnC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,aAAa,GAAG,eAAe;SAClC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAChB,sBAAsB;QACtB,SAAS;QACT,UAAU;QACV,MAAM;QACN,MAAM;QACN,UAAU;QACV,WAAW;QACX,YAAY;KACb,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACpB,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE;YACR,GAAG,QAAQ;YACX,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC;YACtC,WAAW,CACT,MAAM,EACN;gBACE,0FAA0F;gBAC1F,mEAAmE;gBACnE,0GAA0G,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACrI,+CAA+C;aAChD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;SACF;QACD,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,CAAC;QACd,eAAe;QACf,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,aAAa,CAAC,KAAiB,EAAE,OAAwB;IAIvE,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO;YACL,QAAQ,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC/C,YAAY,EAAE,EAAE;SACjB,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,IAAI,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IAC/B,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACrC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACtD,CAAC;QACD,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;IAC5B,8EAA8E;IAC9E,uFAAuF;IACvF,IAAI,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC7B,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IACpD,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA+B;IACvD,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;QAC5B,MAAM,MAAM,CAAC;IACf,CAAC;IACD,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;WAC9D,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;AAC7D,CAAC;AAaD,KAAK,UAAU,2BAA2B,CACxC,KAAsB,EACtB,QAA2B,EAC3B,WAA+F;IAE/F,MAAM,OAAO,GAAG,IAAI,KAAK,CAAkB,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAuD,EAAE,CAAC;IACvE,MAAM,WAAW,GAAsB,EAAE,CAAC;IAE1C,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;YAC/B,KAAK,EAAE,cAAc;YACrB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;YACxB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,OAAO,EAAE;gBACP,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;gBAChC,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,QAAQ,EAAE,OAAO,CAAC,IAAI;gBACtB,SAAS,EAAE,OAAO,CAAC,KAAK;gBACxB,SAAS,EAAE,OAAO,CAAC,EAAE;aACtB;YACD,WAAW;SACZ,CAAC,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,cAAc;gBACrB,UAAU,EAAE,OAAO,CAAC,EAAE;gBACtB,QAAQ,EAAE,OAAO,CAAC,IAAI;gBACtB,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,GAAG;gBACf,UAAU,EAAE,OAAO,CAAC,EAAE;gBACtB,QAAQ,EAAE,OAAO,CAAC,IAAI;gBACtB,OAAO,EAAE,oBAAoB,KAAK,CAAC,MAAM,IAAI,yBAAyB,EAAE;gBACxE,OAAO,EAAE,IAAI;aACd,CAAC;YACF,SAAS;QACX,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,KAAsB,EACtB,QAA0B,EAC1B,QAAqC,EACrC,WAAgF;IAEhF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACjC,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3F,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACtF,MAAM,cAAc,GAAG,MAAM,wBAAwB,CAAC;YACpD,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC;YAC/C,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,WAAW;YACX,oBAAoB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACtC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;oBAChC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;gBACpF,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;gBACzD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,MAAM;iBACP,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;oBAClD,SAAS,EAAE,IAAI;oBACf,OAAO,EAAE,aAAa;oBACtB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACtC,CAAC,CAAC,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM;iBACP,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,gBAAgB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;gBAClD,IAAI,UAAU,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;oBAClC,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,OAAO,KAAK,CAAC,gBAAgB,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC;YAC1G,CAAC;YACD,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7D,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;QAC/C,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrC,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;gBACtD,IAAI,KAAK,CAAC,UAAU,EAAE,QAAQ,KAAK,KAAK,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;oBACnE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC5F,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC9F,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACF,MAAM;KACP,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,QAAqC;IAC1E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IACpD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,OAAO;QACL,GAAG,mBAAmB;QACtB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAsB;IAC5D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC;AACpB,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAuC;IAChE,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,EAAE,UAAU;QAChB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;KAC3B,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,yBAAyB,CAChC,QAA0B,EAC1B,eAAqC;IAErC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAChC,CAAC;IACD,MAAM,YAAY,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACvE,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACpC,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE;QACnF,QAAQ,EAAE,YAAY,CAAC,QAAQ;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,QAAuB,EACvB,IAAY,EACZ,eAAqC;IAErC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,QAAQ,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAuB;IAC/C,KAAK,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACtC,OAAO,uEAAuE,CAAC,IAAI,CAAC,IAAI,CAAC;WACpF,gGAAgG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACzH,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACtC,OAAO;QACL,KAAK;QACL,IAAI;QACJ,IAAI;QACJ,MAAM;QACN,MAAM;QACN,SAAS;QACT,WAAW;QACX,wEAAwE;QACxE,mEAAmE;QACnE,qDAAqD;QACrD,6CAA6C;KAC9C,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAY,EACZ,eAAqC;IAErC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAChC,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,4CAA4C,CAAC;IAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,KAAa,EAAE,IAAY,EAAE,EAAE;QACjF,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrF,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,aAAa,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACtC,IAAI;YACJ,KAAK,EAAE,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC7D,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,MAAM,UAAU,GAAG,kCAAkC,CAAC;IACtD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,gBAAgB,GAAG,qDAAqD,CAAC;IAC/E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAChD,SAAS;QACX,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAgB,EAAE,KAA8B;IAC9E,IAAI,CAAC,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,UAAU,CAAC,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAClJ,OAAO,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7C,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAClF,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACrG,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAY,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,IAAY;IACnD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACpF,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,KAAK;SACT,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC;SACxB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,eAAe,CAAC,KAAsB;IAC7C,IAAI,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,MAAM,CAAC;IACtB,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,CAAC;YACN,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI;YACtD,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Magi Next agent system prompt.
3
+ *
4
+ * Defines identity, work principles, output style, tool usage guidance,
5
+ * and behavioral rules that shape the agent's responses.
6
+ */
7
+ export declare function buildSystemInstructions(input: {
8
+ cwd: string;
9
+ platform?: string;
10
+ toolCount?: number;
11
+ modelName?: string;
12
+ }): string;
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Magi Next agent system prompt.
3
+ *
4
+ * Defines identity, work principles, output style, tool usage guidance,
5
+ * and behavioral rules that shape the agent's responses.
6
+ */
7
+ export function buildSystemInstructions(input) {
8
+ return `<identity>
9
+ You are Magi, an AI-powered coding agent for software engineering tasks.
10
+ You work alongside users to exchange ideas, identify problems, and implement solutions.
11
+ You write the code so developers can focus on what matters: designing systems, exploring solutions, and making decisions.
12
+ </identity>
13
+
14
+ <work_principles>
15
+ Six core principles — follow these for every task:
16
+
17
+ 1. First Principles — Start from the raw requirement and the essential problem. Do not blindly follow experience or path dependency. When the goal is unclear, stop and discuss. When the path is suboptimal, proactively suggest a shorter, lower-cost alternative.
18
+ 2. Occam's Razor — Do not add entities without necessity. Cut all redundant actions, excess code, and useless formatting that do not affect core delivery.
19
+ 3. Socratic Questioning — Use continuous questioning to challenge underlying assumptions, identify XY problems, and prevent self-indulgent solutions.
20
+ 4. Do Not Over-Interpret — Everything is based on data. Present what the data shows, nothing more. Do not over-package, elevate, or force extra meaning. When data contradicts expectations, be loyal to data, not expectations.
21
+ 5. Do Not Alter User Requirements — Confirm understanding before acting only when the requested action is ambiguous or risky. Never omit, skip, reduce, or "optimize" the user's requirements. Do what was asked, not what was not asked.
22
+ 6. Strict Execution — Execute precisely as instructed. Confirm before deviating. Do not unilaterally change parameters, IDs, paths, versions, or other critical configuration. Read-only discovery does not require confirmation; inspect first, then ask only if still blocked.
23
+ </work_principles>
24
+
25
+ <output_style>
26
+ - Lead with the answer or action, not the reasoning.
27
+ - Keep responses focused and proportional to the task. Simple questions get short answers.
28
+ - Match response format to the task. Use prose for explanations. Use bullet points for sequences.
29
+ - Skip filler acknowledgments. Respond directly to the substance.
30
+ - If you can say it in one sentence, do not use three.
31
+ - Use plain text for prose. Use markdown code blocks exclusively for code snippets.
32
+ - When referencing code, include file_path:line_number.
33
+ - Correct the user when they are wrong. Honest feedback is more useful than agreement.
34
+ - Do not add features, refactor code, or make "improvements" beyond what was asked.
35
+ - Do not add docstrings, comments, or type annotations to code you did not change.
36
+ - Three similar lines of code is better than a premature abstraction.
37
+ </output_style>
38
+
39
+ <tool_usage>
40
+ - Read code before making claims about it. If the user references a file, read it first.
41
+ - If the user gives a file path, repository path, branch, command output, stack trace, or asks to continue/debug/build/test a project, call read-only inspection tools in the same turn before replying.
42
+ - Do not end a turn with promises like "I will read/check/inspect..." when a read-only tool is available. Use the tool first, then report what you found.
43
+ - Treat read-only discovery as safe: use WorkspaceDiagnostics, DirList, FileRead, Grep, Glob, and git status before asking for confirmation.
44
+ - Use dedicated tools instead of shell commands when available (FileRead not cat, Grep not grep, FileEdit not sed).
45
+ - Make independent tool calls in parallel to increase efficiency.
46
+ - After code changes, run the project's build or test step to verify.
47
+ - Write and run tests when adding features or fixing bugs.
48
+ - For broad codebase exploration, use sub-agents to preserve main context.
49
+ - For simple lookups (specific file/function/pattern), use search tools directly.
50
+ </tool_usage>
51
+
52
+ <planning_behavior>
53
+ - For non-trivial tasks (3+ files, architectural decisions, multiple valid approaches), plan before acting.
54
+ - For simple tasks (typo fix, single function, clear instructions), act immediately.
55
+ - Planning does not mean pausing. For non-trivial tasks, gather read-only evidence first, then present a plan only when approval or a decision is actually needed.
56
+ - For meaningful implementation tasks, use read-only tools (WorkspaceDiagnostics, DirList, FileRead, Grep, Glob, git status) while planning. Request user approval before implementing only when policy, risk, or ambiguity requires it.
57
+ - Do not use planning language to defer basic repository discovery. If the next step is obvious and read-only, do it.
58
+ - After non-trivial implementation work (3+ file edits, backend/API changes, infrastructure changes), invoke a verification sub-agent: Agent({ subagent_type: "verification", description: "Verify implementation", prompt: "<original task> ... <files changed> ... <approach>" }). The verification agent runs build/test/lint and returns a PASS/FAIL/PARTIAL verdict.
59
+ - When the user's intent is unclear, infer the most useful likely action and proceed.
60
+ - If an approach fails twice, diagnose the root cause rather than making incremental patches.
61
+ - Be persistent. Use all available context to accomplish the task autonomously.
62
+ </planning_behavior>
63
+
64
+ <multi_agent_behavior>
65
+ - For tasks that decompose into independent subtasks, call the Agent tool MULTIPLE TIMES IN PARALLEL in the same response. The runtime executes concurrent tool calls in parallel, so this is faster than sequential calls.
66
+ - Use ListPeers to discover Magi daemons running on other machines. Each peer has a name (mDNS instance name) or saved alias.
67
+ - To distribute work across machines, pass target=<peer-name> to Agent. Without target, sub-agents run locally.
68
+ - Good candidates for parallel/distributed sub-agents:
69
+ - Independent file analyses (each agent reads a different module)
70
+ - Multi-source research (each agent investigates a different topic)
71
+ - Build/test on multiple platforms or configurations
72
+ - Cross-codebase comparisons (each peer has different repos)
73
+ - Aggregation pattern: launch N parallel Agents, then synthesize their results in a final response.
74
+ - Example: "compare auth implementations across 3 repos" -- launch 3 parallel Agent calls with target=peerA/peerB/peerC, each pointed at a different repo, then summarize.
75
+ - Don't parallelize tasks that share state, mutate the same files, or have sequential dependencies.
76
+ </multi_agent_behavior>
77
+
78
+ <memory_behavior>
79
+ - Use the Memorize tool to save durable facts that should survive across conversations.
80
+ - Save when: user states a preference, corrects your approach, shares role/context, mentions a project decision, or points to an external system. Always save when the user says "remember" or "记住".
81
+ - Don't save: ephemeral conversation state, code patterns derivable from reading files, debugging solutions (the fix is already in the code).
82
+ - Memory types:
83
+ - user: facts about the user (role, expertise, goals)
84
+ - feedback: corrections/preferences ("Why:" + "How to apply:" structure)
85
+ - project: ongoing work decisions ("Why:" + "How to apply:" structure)
86
+ - reference: pointers to external systems (Linear projects, dashboards, docs)
87
+ - Each memory needs a clear name, one-line description for relevance matching, and a useful body. Quality over quantity — if a memory wouldn't help future-you, don't write it.
88
+ </memory_behavior>
89
+
90
+ <safety>
91
+ - Do not introduce security vulnerabilities (injection, XSS, OWASP top 10).
92
+ - Prefer staging specific files over git add -A.
93
+ - Never force push to main/master without explicit permission.
94
+ - For destructive operations, explain the risk and wait for confirmation.
95
+ - Use parameterized queries, input validation, and proper error handling by default.
96
+ </safety>
97
+
98
+ <environment>
99
+ cwd: ${input.cwd}
100
+ platform: ${input.platform ?? process.platform}
101
+ tools: ${input.toolCount ?? 47} built-in tools available
102
+ </environment>`;
103
+ }
104
+ //# sourceMappingURL=system-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,UAAU,uBAAuB,CAAC,KAKvC;IACC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2FF,KAAK,CAAC,GAAG;YACJ,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ;SACrC,KAAK,CAAC,SAAS,IAAI,EAAE;eACf,CAAC;AAChB,CAAC"}
@@ -0,0 +1,71 @@
1
+ import { MagiMessage, MagiToolDefinition, MagiToolUsePart } from "../providers/ir.js";
2
+ import { WebSearchConfig } from "../config.js";
3
+ import { SubAgentRequest, SubAgentResult, ToolPermissionMode } from "../tools/registry.js";
4
+ import { UserQuestionResolver } from "../tools/user-question.js";
5
+ import { UserMessageSink } from "../tools/user-message.js";
6
+ export interface AgentToolResult {
7
+ toolCallId: string;
8
+ toolName: string;
9
+ content: string;
10
+ isError?: boolean;
11
+ retryable?: boolean;
12
+ permission?: {
13
+ decision: "allow" | "ask" | "deny";
14
+ reason: string;
15
+ diff?: string;
16
+ };
17
+ }
18
+ export type { ToolPermissionMode };
19
+ export declare const BUILTIN_AGENT_TOOLS: MagiToolDefinition[];
20
+ export declare function executeBuiltinAgentTool(input: {
21
+ cwd: string;
22
+ toolUse: MagiToolUsePart;
23
+ env?: NodeJS.ProcessEnv;
24
+ stateRoot?: string;
25
+ sessionId?: string;
26
+ webSearchConfig?: WebSearchConfig;
27
+ permissionMode?: ToolPermissionMode;
28
+ promptModel?: (request: {
29
+ messages: MagiMessage[];
30
+ }) => Promise<{
31
+ text: string;
32
+ }>;
33
+ userQuestionResolver?: UserQuestionResolver;
34
+ userMessageSink?: UserMessageSink;
35
+ spawnSubAgent?: (request: SubAgentRequest) => Promise<SubAgentResult>;
36
+ approvalResolver?: (request: {
37
+ toolUse: MagiToolUsePart;
38
+ permission: {
39
+ decision: "allow" | "ask" | "deny";
40
+ reason: string;
41
+ diff?: string;
42
+ };
43
+ }) => Promise<boolean> | boolean;
44
+ signal?: AbortSignal;
45
+ }): Promise<AgentToolResult>;
46
+ export declare function executeBuiltinAgentTools(input: {
47
+ cwd: string;
48
+ toolUses: MagiToolUsePart[];
49
+ env?: NodeJS.ProcessEnv;
50
+ stateRoot?: string;
51
+ sessionId?: string;
52
+ webSearchConfig?: WebSearchConfig;
53
+ permissionMode?: ToolPermissionMode;
54
+ promptModel?: (request: {
55
+ messages: MagiMessage[];
56
+ }) => Promise<{
57
+ text: string;
58
+ }>;
59
+ userQuestionResolver?: UserQuestionResolver;
60
+ userMessageSink?: UserMessageSink;
61
+ spawnSubAgent?: (request: SubAgentRequest) => Promise<SubAgentResult>;
62
+ approvalResolver?: (request: {
63
+ toolUse: MagiToolUsePart;
64
+ permission: {
65
+ decision: "allow" | "ask" | "deny";
66
+ reason: string;
67
+ diff?: string;
68
+ };
69
+ }) => Promise<boolean> | boolean;
70
+ signal?: AbortSignal;
71
+ }): Promise<AgentToolResult[]>;
@@ -0,0 +1,37 @@
1
+ import { executeRegisteredTool, executeRegisteredTools, getBuiltinToolDefinitions } from "../tools/registry.js";
2
+ export const BUILTIN_AGENT_TOOLS = getBuiltinToolDefinitions();
3
+ export async function executeBuiltinAgentTool(input) {
4
+ return executeRegisteredTool({
5
+ cwd: input.cwd,
6
+ toolUse: input.toolUse,
7
+ env: input.env,
8
+ stateRoot: input.stateRoot,
9
+ sessionId: input.sessionId,
10
+ webSearchConfig: input.webSearchConfig,
11
+ permissionMode: input.permissionMode ?? "acceptEdits",
12
+ promptModel: input.promptModel,
13
+ userQuestionResolver: input.userQuestionResolver,
14
+ userMessageSink: input.userMessageSink,
15
+ spawnSubAgent: input.spawnSubAgent,
16
+ approvalResolver: input.approvalResolver,
17
+ signal: input.signal
18
+ });
19
+ }
20
+ export async function executeBuiltinAgentTools(input) {
21
+ return executeRegisteredTools({
22
+ cwd: input.cwd,
23
+ toolUses: input.toolUses,
24
+ env: input.env,
25
+ stateRoot: input.stateRoot,
26
+ sessionId: input.sessionId,
27
+ webSearchConfig: input.webSearchConfig,
28
+ permissionMode: input.permissionMode ?? "acceptEdits",
29
+ promptModel: input.promptModel,
30
+ userQuestionResolver: input.userQuestionResolver,
31
+ userMessageSink: input.userMessageSink,
32
+ spawnSubAgent: input.spawnSubAgent,
33
+ approvalResolver: input.approvalResolver,
34
+ signal: input.signal
35
+ });
36
+ }
37
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/agent/tools.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EAI1B,MAAM,sBAAsB,CAAC;AAe9B,MAAM,CAAC,MAAM,mBAAmB,GAAyB,yBAAyB,EAAE,CAAC;AAErF,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,KAc7C;IACC,OAAO,qBAAqB,CAAC;QAC3B,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,aAAa;QACrD,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,KAc9C;IACC,OAAO,sBAAsB,CAAC;QAC5B,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,aAAa;QACrD,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { AgentRole } from "../session-store.js";
2
+ export interface AgentRoleSpec {
3
+ role: AgentRole;
4
+ label: string;
5
+ purpose: string;
6
+ canWrite: boolean;
7
+ }
8
+ export declare const AGENT_ROLE_SPECS: Record<AgentRole, AgentRoleSpec>;
9
+ export declare function getAgentRoleSpec(role: AgentRole): AgentRoleSpec;
@@ -0,0 +1,18 @@
1
+ export const AGENT_ROLE_SPECS = {
2
+ explorer: {
3
+ role: "explorer",
4
+ label: "Explorer",
5
+ purpose: "Inspect context, summarize findings, and avoid file writes.",
6
+ canWrite: false
7
+ },
8
+ worker: {
9
+ role: "worker",
10
+ label: "Worker",
11
+ purpose: "Perform a bounded implementation task with explicit write ownership.",
12
+ canWrite: true
13
+ }
14
+ };
15
+ export function getAgentRoleSpec(role) {
16
+ return AGENT_ROLE_SPECS[role];
17
+ }
18
+ //# sourceMappingURL=roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/agents/roles.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,gBAAgB,GAAqC;IAChE,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,6DAA6D;QACtE,QAAQ,EAAE,KAAK;KAChB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,sEAAsE;QAC/E,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,IAAe;IAC9C,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { AgentRole, AgentTaskRecord, SessionStore } from "../session-store.js";
2
+ export interface SpawnAgentTaskInput {
3
+ role: AgentRole;
4
+ prompt: string;
5
+ cwd: string;
6
+ sessionId?: string;
7
+ writeFiles?: string[];
8
+ }
9
+ export declare function spawnAgentTask(store: SessionStore, input: SpawnAgentTaskInput): AgentTaskRecord;
10
+ export declare function startAgentTask(store: SessionStore, taskId: string): AgentTaskRecord;
11
+ export declare function completeAgentTask(store: SessionStore, taskId: string, result: string): AgentTaskRecord;
12
+ export declare function cancelAgentTask(store: SessionStore, taskId: string): AgentTaskRecord;
13
+ export declare function waitAgentTask(store: SessionStore, taskId: string): AgentTaskRecord;
@@ -0,0 +1,50 @@
1
+ import { resolveWorkspacePath } from "../tools/workspace.js";
2
+ import { MagiUsageError } from "../errors.js";
3
+ import { getAgentRoleSpec } from "./roles.js";
4
+ export function spawnAgentTask(store, input) {
5
+ const spec = getAgentRoleSpec(input.role);
6
+ if (!spec.canWrite && input.writeFiles && input.writeFiles.length > 0) {
7
+ throw new MagiUsageError(`${spec.label} tasks cannot claim write files`);
8
+ }
9
+ const taskId = store.createAgentTask({
10
+ role: input.role,
11
+ prompt: input.prompt,
12
+ cwd: input.cwd,
13
+ sessionId: input.sessionId,
14
+ metadata: { writeFiles: input.writeFiles ?? [] }
15
+ });
16
+ for (const filePath of input.writeFiles ?? []) {
17
+ const resolved = resolveWorkspacePath(input.cwd, filePath);
18
+ store.claimWriteFile({ taskId, filePath: resolved.relativePath, ownerRole: input.role });
19
+ }
20
+ return store.getAgentTask(taskId);
21
+ }
22
+ export function startAgentTask(store, taskId) {
23
+ const task = mustGetTask(store, taskId);
24
+ if (task.status === "cancelled") {
25
+ throw new Error(`Cannot start cancelled task ${taskId}`);
26
+ }
27
+ store.updateAgentTask({ id: taskId, status: "running", metadata: task.metadata });
28
+ return mustGetTask(store, taskId);
29
+ }
30
+ export function completeAgentTask(store, taskId, result) {
31
+ const task = mustGetTask(store, taskId);
32
+ store.updateAgentTask({ id: taskId, status: "completed", result, metadata: task.metadata });
33
+ return mustGetTask(store, taskId);
34
+ }
35
+ export function cancelAgentTask(store, taskId) {
36
+ const task = mustGetTask(store, taskId);
37
+ store.updateAgentTask({ id: taskId, status: "cancelled", result: task.result, metadata: task.metadata });
38
+ return mustGetTask(store, taskId);
39
+ }
40
+ export function waitAgentTask(store, taskId) {
41
+ return mustGetTask(store, taskId);
42
+ }
43
+ function mustGetTask(store, taskId) {
44
+ const task = store.getAgentTask(taskId);
45
+ if (!task) {
46
+ throw new MagiUsageError(`Agent task not found: ${taskId}`);
47
+ }
48
+ return task;
49
+ }
50
+ //# sourceMappingURL=task-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-queue.js","sourceRoot":"","sources":["../../src/agents/task-queue.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ export interface CliResult {
3
+ exitCode: number;
4
+ stdout: string;
5
+ stderr: string;
6
+ }
7
+ export declare function runCli(argv: string[], env?: NodeJS.ProcessEnv, cwd?: string): Promise<CliResult>;