@winspan/claude-forge 8.39.0 → 8.50.6

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 (804) hide show
  1. package/.claude/CLAUDE.md +17 -0
  2. package/.eslintrc.js +23 -0
  3. package/.prettierrc +8 -0
  4. package/ARCHITECTURE_ISSUES.md +249 -0
  5. package/CLAUDE.md +265 -0
  6. package/CLAUDE.md.backup +488 -0
  7. package/DEVELOPMENT.md +310 -0
  8. package/dist/claudemd/claudemd-generator.d.ts +38 -3
  9. package/dist/claudemd/claudemd-generator.d.ts.map +1 -1
  10. package/dist/claudemd/claudemd-generator.js +629 -11
  11. package/dist/claudemd/claudemd-generator.js.map +1 -1
  12. package/dist/claudemd/index.d.ts +2 -2
  13. package/dist/claudemd/index.d.ts.map +1 -1
  14. package/dist/claudemd/index.js.map +1 -1
  15. package/dist/claudemd/resume-manager.d.ts.map +1 -1
  16. package/dist/claudemd/resume-manager.js +5 -2
  17. package/dist/claudemd/resume-manager.js.map +1 -1
  18. package/dist/claudemd/tech-detector.d.ts +1 -0
  19. package/dist/claudemd/tech-detector.d.ts.map +1 -1
  20. package/dist/claudemd/tech-detector.js +53 -0
  21. package/dist/claudemd/tech-detector.js.map +1 -1
  22. package/dist/cli/commands/claudemd.js +2 -2
  23. package/dist/cli/commands/claudemd.js.map +1 -1
  24. package/dist/cli/commands/daemon.d.ts +28 -0
  25. package/dist/cli/commands/daemon.d.ts.map +1 -1
  26. package/dist/cli/commands/daemon.js +200 -8
  27. package/dist/cli/commands/daemon.js.map +1 -1
  28. package/dist/cli/commands/init.d.ts.map +1 -1
  29. package/dist/cli/commands/init.js +3 -35
  30. package/dist/cli/commands/init.js.map +1 -1
  31. package/dist/cli/commands/menu.js +10 -10
  32. package/dist/cli/commands/menu.js.map +1 -1
  33. package/dist/cli/commands/skills.d.ts.map +1 -1
  34. package/dist/cli/commands/skills.js +8 -2
  35. package/dist/cli/commands/skills.js.map +1 -1
  36. package/dist/cli/commands/stats.d.ts.map +1 -1
  37. package/dist/cli/commands/stats.js +0 -17
  38. package/dist/cli/commands/stats.js.map +1 -1
  39. package/dist/cli/commands/trace.d.ts +9 -0
  40. package/dist/cli/commands/trace.d.ts.map +1 -0
  41. package/dist/cli/commands/trace.js +137 -0
  42. package/dist/cli/commands/trace.js.map +1 -0
  43. package/dist/cli/index.js +2 -4
  44. package/dist/cli/index.js.map +1 -1
  45. package/dist/core/ai/provider.d.ts +10 -2
  46. package/dist/core/ai/provider.d.ts.map +1 -1
  47. package/dist/core/ai/provider.js.map +1 -1
  48. package/dist/core/ai/types.d.ts +1 -19
  49. package/dist/core/ai/types.d.ts.map +1 -1
  50. package/dist/core/ai/types.js +1 -1
  51. package/dist/core/config.d.ts +2 -1
  52. package/dist/core/config.d.ts.map +1 -1
  53. package/dist/core/config.js +30 -6
  54. package/dist/core/config.js.map +1 -1
  55. package/dist/core/constants.d.ts +2 -2
  56. package/dist/core/constants.js +2 -2
  57. package/dist/core/constants.js.map +1 -1
  58. package/dist/core/queue/index.d.ts +52 -0
  59. package/dist/core/queue/index.d.ts.map +1 -0
  60. package/dist/core/queue/index.js +176 -0
  61. package/dist/core/queue/index.js.map +1 -0
  62. package/dist/core/storage/base.d.ts +33 -0
  63. package/dist/core/storage/base.d.ts.map +1 -0
  64. package/dist/core/storage/base.js +211 -0
  65. package/dist/core/storage/base.js.map +1 -0
  66. package/dist/core/storage/events.d.ts +52 -0
  67. package/dist/core/storage/events.d.ts.map +1 -0
  68. package/dist/core/storage/events.js +201 -0
  69. package/dist/core/storage/events.js.map +1 -0
  70. package/dist/core/storage/injections.d.ts +27 -0
  71. package/dist/core/storage/injections.d.ts.map +1 -0
  72. package/dist/core/storage/injections.js +51 -0
  73. package/dist/core/storage/injections.js.map +1 -0
  74. package/dist/core/storage/maintenance.d.ts +21 -0
  75. package/dist/core/storage/maintenance.d.ts.map +1 -0
  76. package/dist/core/storage/maintenance.js +52 -0
  77. package/dist/core/storage/maintenance.js.map +1 -0
  78. package/dist/core/storage/routing.d.ts +71 -0
  79. package/dist/core/storage/routing.d.ts.map +1 -0
  80. package/dist/core/storage/routing.js +141 -0
  81. package/dist/core/storage/routing.js.map +1 -0
  82. package/dist/core/storage/rows.d.ts +0 -47
  83. package/dist/core/storage/rows.d.ts.map +1 -1
  84. package/dist/core/storage/schema.sql +74 -136
  85. package/dist/core/storage/sessions.d.ts +34 -0
  86. package/dist/core/storage/sessions.d.ts.map +1 -0
  87. package/dist/core/storage/sessions.js +78 -0
  88. package/dist/core/storage/sessions.js.map +1 -0
  89. package/dist/core/storage/skills.d.ts +40 -0
  90. package/dist/core/storage/skills.d.ts.map +1 -0
  91. package/dist/core/storage/skills.js +107 -0
  92. package/dist/core/storage/skills.js.map +1 -0
  93. package/dist/core/storage/sqlite.d.ts +63 -265
  94. package/dist/core/storage/sqlite.d.ts.map +1 -1
  95. package/dist/core/storage/sqlite.js +102 -759
  96. package/dist/core/storage/sqlite.js.map +1 -1
  97. package/dist/core/storage/tasks.d.ts +64 -0
  98. package/dist/core/storage/tasks.d.ts.map +1 -0
  99. package/dist/core/storage/tasks.js +134 -0
  100. package/dist/core/storage/tasks.js.map +1 -0
  101. package/dist/core/storage/token-usage.d.ts +36 -0
  102. package/dist/core/storage/token-usage.d.ts.map +1 -0
  103. package/dist/core/storage/token-usage.js +59 -0
  104. package/dist/core/storage/token-usage.js.map +1 -0
  105. package/dist/core/types.d.ts +70 -4
  106. package/dist/core/types.d.ts.map +1 -1
  107. package/dist/core/types.js +24 -1
  108. package/dist/core/types.js.map +1 -1
  109. package/dist/core/utils/format.d.ts +28 -0
  110. package/dist/core/utils/format.d.ts.map +1 -0
  111. package/dist/core/utils/format.js +68 -0
  112. package/dist/core/utils/format.js.map +1 -0
  113. package/dist/core/utils/logger.d.ts +6 -1
  114. package/dist/core/utils/logger.d.ts.map +1 -1
  115. package/dist/core/utils/logger.js +72 -2
  116. package/dist/core/utils/logger.js.map +1 -1
  117. package/dist/core/utils/session.d.ts +16 -0
  118. package/dist/core/utils/session.d.ts.map +1 -0
  119. package/dist/core/utils/session.js +25 -0
  120. package/dist/core/utils/session.js.map +1 -0
  121. package/dist/core/utils/time.d.ts +22 -0
  122. package/dist/core/utils/time.d.ts.map +1 -0
  123. package/dist/core/utils/time.js +38 -0
  124. package/dist/core/utils/time.js.map +1 -0
  125. package/dist/daemon/handlers/history-exporter.d.ts.map +1 -1
  126. package/dist/daemon/handlers/history-exporter.js +6 -4
  127. package/dist/daemon/handlers/history-exporter.js.map +1 -1
  128. package/dist/daemon/handlers/post-tool-use.d.ts +5 -12
  129. package/dist/daemon/handlers/post-tool-use.d.ts.map +1 -1
  130. package/dist/daemon/handlers/post-tool-use.js +21 -79
  131. package/dist/daemon/handlers/post-tool-use.js.map +1 -1
  132. package/dist/daemon/handlers/stop.d.ts +24 -12
  133. package/dist/daemon/handlers/stop.d.ts.map +1 -1
  134. package/dist/daemon/handlers/stop.js +141 -42
  135. package/dist/daemon/handlers/stop.js.map +1 -1
  136. package/dist/daemon/handlers/user-prompt.d.ts +18 -19
  137. package/dist/daemon/handlers/user-prompt.d.ts.map +1 -1
  138. package/dist/daemon/handlers/user-prompt.js +103 -227
  139. package/dist/daemon/handlers/user-prompt.js.map +1 -1
  140. package/dist/daemon/index.d.ts +6 -2
  141. package/dist/daemon/index.d.ts.map +1 -1
  142. package/dist/daemon/index.js +76 -120
  143. package/dist/daemon/index.js.map +1 -1
  144. package/dist/daemon/launchd/com.claude-forge.daemon.plist.template +47 -0
  145. package/dist/daemon/launchd-installer.d.ts +61 -0
  146. package/dist/daemon/launchd-installer.d.ts.map +1 -0
  147. package/dist/daemon/launchd-installer.js +182 -0
  148. package/dist/daemon/launchd-installer.js.map +1 -0
  149. package/dist/daemon/lifecycle.d.ts +11 -0
  150. package/dist/daemon/lifecycle.d.ts.map +1 -1
  151. package/dist/daemon/lifecycle.js +44 -0
  152. package/dist/daemon/lifecycle.js.map +1 -1
  153. package/dist/daemon/router.d.ts +9 -2
  154. package/dist/daemon/router.d.ts.map +1 -1
  155. package/dist/daemon/router.js +27 -3
  156. package/dist/daemon/router.js.map +1 -1
  157. package/dist/daemon/server.d.ts.map +1 -1
  158. package/dist/daemon/server.js +6 -5
  159. package/dist/daemon/server.js.map +1 -1
  160. package/dist/daemon/services/anti-pattern-detector.d.ts +50 -0
  161. package/dist/daemon/services/anti-pattern-detector.d.ts.map +1 -0
  162. package/dist/daemon/services/anti-pattern-detector.js +357 -0
  163. package/dist/daemon/services/anti-pattern-detector.js.map +1 -0
  164. package/dist/daemon/services/drift-detector.d.ts +64 -0
  165. package/dist/daemon/services/drift-detector.d.ts.map +1 -0
  166. package/dist/daemon/services/drift-detector.js +201 -0
  167. package/dist/daemon/services/drift-detector.js.map +1 -0
  168. package/dist/{intelligence → daemon/services}/task-segmenter.d.ts +7 -1
  169. package/dist/daemon/services/task-segmenter.d.ts.map +1 -0
  170. package/dist/{intelligence → daemon/services}/task-segmenter.js +29 -6
  171. package/dist/daemon/services/task-segmenter.js.map +1 -0
  172. package/dist/daemon/services/weekly-report.d.ts +91 -0
  173. package/dist/daemon/services/weekly-report.d.ts.map +1 -0
  174. package/dist/daemon/services/weekly-report.js +327 -0
  175. package/dist/daemon/services/weekly-report.js.map +1 -0
  176. package/dist/hooks/hook-lib.sh +81 -0
  177. package/dist/hooks/notification.sh +7 -3
  178. package/dist/hooks/post-tool-use.sh +8 -4
  179. package/dist/hooks/pre-tool-use.sh +7 -4
  180. package/dist/hooks/stop.sh +1 -1
  181. package/dist/hooks/user-prompt-submit.sh +8 -9
  182. package/dist/mcp/server.d.ts +2 -2
  183. package/dist/mcp/server.d.ts.map +1 -1
  184. package/dist/mcp/server.js +71 -11
  185. package/dist/mcp/server.js.map +1 -1
  186. package/dist/skills/invocation-guard.d.ts +20 -0
  187. package/dist/skills/invocation-guard.d.ts.map +1 -1
  188. package/dist/skills/invocation-guard.js +63 -0
  189. package/dist/skills/invocation-guard.js.map +1 -1
  190. package/dist/skills/matcher.d.ts.map +1 -1
  191. package/dist/skills/matcher.js +12 -3
  192. package/dist/skills/matcher.js.map +1 -1
  193. package/dist/skills/official/code-simplifier.md +16 -0
  194. package/dist/skills/official/find-skills.md +23 -0
  195. package/dist/skills/official/official-api-design.md +17 -0
  196. package/dist/skills/official/official-architecture-decision.md +20 -0
  197. package/dist/skills/official/official-bmad.md +118 -0
  198. package/dist/skills/official/official-db-schema-design.md +16 -0
  199. package/dist/skills/official/official-debug.md +17 -0
  200. package/dist/skills/official/official-doc-driven.md +31 -0
  201. package/dist/skills/official/official-harness-engineering.md +108 -0
  202. package/dist/skills/official/official-performance-optimization.md +30 -0
  203. package/dist/skills/official/official-pr-review.md +35 -0
  204. package/dist/skills/official/official-release-checklist.md +30 -0
  205. package/dist/skills/official/official-security-hardening.md +26 -0
  206. package/dist/skills/official/official-spec-driven-design.md +31 -0
  207. package/dist/skills/official/planning-with-files.md +37 -0
  208. package/dist/skills/official/ui-ux-pro-max.md +18 -0
  209. package/dist/skills/official/webapp-testing.md +12 -0
  210. package/dist/skills/official-skills.d.ts +8 -4
  211. package/dist/skills/official-skills.d.ts.map +1 -1
  212. package/dist/skills/official-skills.js +48 -704
  213. package/dist/skills/official-skills.js.map +1 -1
  214. package/dist/skills/registry.d.ts +5 -0
  215. package/dist/skills/registry.d.ts.map +1 -1
  216. package/dist/skills/registry.js +48 -15
  217. package/dist/skills/registry.js.map +1 -1
  218. package/dist/skills/tools/pipeline-suggest.d.ts +30 -0
  219. package/dist/skills/tools/pipeline-suggest.d.ts.map +1 -0
  220. package/dist/skills/tools/pipeline-suggest.js +178 -0
  221. package/dist/skills/tools/pipeline-suggest.js.map +1 -0
  222. package/dist/skills/tools/skill-invoke.d.ts +2 -0
  223. package/dist/skills/tools/skill-invoke.d.ts.map +1 -1
  224. package/dist/skills/tools/skill-invoke.js +5 -2
  225. package/dist/skills/tools/skill-invoke.js.map +1 -1
  226. package/dist/web/routes/ai.d.ts.map +1 -1
  227. package/dist/web/routes/ai.js +16 -22
  228. package/dist/web/routes/ai.js.map +1 -1
  229. package/dist/web/routes/drift.d.ts +10 -0
  230. package/dist/web/routes/drift.d.ts.map +1 -0
  231. package/dist/web/routes/drift.js +21 -0
  232. package/dist/web/routes/drift.js.map +1 -0
  233. package/dist/web/routes/error-handler.d.ts +43 -0
  234. package/dist/web/routes/error-handler.d.ts.map +1 -0
  235. package/dist/web/routes/error-handler.js +99 -0
  236. package/dist/web/routes/error-handler.js.map +1 -0
  237. package/dist/web/routes/insights.d.ts +9 -0
  238. package/dist/web/routes/insights.d.ts.map +1 -0
  239. package/dist/web/routes/insights.js +34 -0
  240. package/dist/web/routes/insights.js.map +1 -0
  241. package/dist/web/routes/patch.js +2 -2
  242. package/dist/web/routes/patch.js.map +1 -1
  243. package/dist/web/routes/reports.d.ts +10 -0
  244. package/dist/web/routes/reports.d.ts.map +1 -0
  245. package/dist/web/routes/reports.js +27 -0
  246. package/dist/web/routes/reports.js.map +1 -0
  247. package/dist/web/routes/rules.d.ts +10 -3
  248. package/dist/web/routes/rules.d.ts.map +1 -1
  249. package/dist/web/routes/rules.js +80 -95
  250. package/dist/web/routes/rules.js.map +1 -1
  251. package/dist/web/routes/sessions.d.ts +1 -2
  252. package/dist/web/routes/sessions.d.ts.map +1 -1
  253. package/dist/web/routes/sessions.js +27 -39
  254. package/dist/web/routes/sessions.js.map +1 -1
  255. package/dist/web/routes/skill-stats.d.ts.map +1 -1
  256. package/dist/web/routes/skill-stats.js +38 -0
  257. package/dist/web/routes/skill-stats.js.map +1 -1
  258. package/dist/web/routes/skills.d.ts.map +1 -1
  259. package/dist/web/routes/skills.js +34 -0
  260. package/dist/web/routes/skills.js.map +1 -1
  261. package/dist/web/routes/stats.d.ts +7 -0
  262. package/dist/web/routes/stats.d.ts.map +1 -0
  263. package/dist/web/routes/stats.js +44 -0
  264. package/dist/web/routes/stats.js.map +1 -0
  265. package/dist/web/routes/status.js +1 -1
  266. package/dist/web/routes/status.js.map +1 -1
  267. package/dist/web/routes/tasks.d.ts +4 -0
  268. package/dist/web/routes/tasks.d.ts.map +1 -0
  269. package/dist/web/routes/tasks.js +181 -0
  270. package/dist/web/routes/tasks.js.map +1 -0
  271. package/dist/web/routes/trace.d.ts +10 -0
  272. package/dist/web/routes/trace.d.ts.map +1 -0
  273. package/dist/web/routes/trace.js +123 -0
  274. package/dist/web/routes/trace.js.map +1 -0
  275. package/dist/web/routes/types.d.ts +1 -14
  276. package/dist/web/routes/types.d.ts.map +1 -1
  277. package/dist/web/routes/types.js +8 -17
  278. package/dist/web/routes/types.js.map +1 -1
  279. package/dist/web/server.d.ts +1 -9
  280. package/dist/web/server.d.ts.map +1 -1
  281. package/dist/web/server.js +28 -28
  282. package/dist/web/server.js.map +1 -1
  283. package/dist/web/static/assets/AIConfig-BQCAQE9D.js +2 -0
  284. package/dist/web/static/assets/AIConfig-BQCAQE9D.js.map +1 -0
  285. package/dist/web/static/assets/Dashboard-D7Bo6Kan.js +2 -0
  286. package/dist/web/static/assets/Dashboard-D7Bo6Kan.js.map +1 -0
  287. package/dist/web/static/assets/{Drawer-DcU3ln98.js → Drawer-BeHRQxUS.js} +2 -2
  288. package/dist/web/static/assets/{Drawer-DcU3ln98.js.map → Drawer-BeHRQxUS.js.map} +1 -1
  289. package/dist/web/static/assets/Events-K_tCY2ti.js +2 -0
  290. package/dist/web/static/assets/Events-K_tCY2ti.js.map +1 -0
  291. package/dist/web/static/assets/Reports-BJCmBnc_.js +2 -0
  292. package/dist/web/static/assets/Reports-BJCmBnc_.js.map +1 -0
  293. package/dist/web/static/assets/SearchInput-BX2KhMkw.js +2 -0
  294. package/dist/web/static/assets/SearchInput-BX2KhMkw.js.map +1 -0
  295. package/dist/web/static/assets/SessionDetail-Bkr-kC7V.js +2 -0
  296. package/dist/web/static/assets/SessionDetail-Bkr-kC7V.js.map +1 -0
  297. package/dist/web/static/assets/Sessions-Chx9OCLH.js +2 -0
  298. package/dist/web/static/assets/Sessions-Chx9OCLH.js.map +1 -0
  299. package/dist/web/static/assets/Skills-O0GT1i7m.js +2 -0
  300. package/dist/web/static/assets/Skills-O0GT1i7m.js.map +1 -0
  301. package/dist/web/static/assets/TaskDetail-5SR8zGzv.js +2 -0
  302. package/dist/web/static/assets/TaskDetail-5SR8zGzv.js.map +1 -0
  303. package/dist/web/static/assets/Tasks-DCgDqvOZ.js +2 -0
  304. package/dist/web/static/assets/Tasks-DCgDqvOZ.js.map +1 -0
  305. package/dist/web/static/assets/export-L_VBD2p1.js +4 -0
  306. package/dist/web/static/assets/export-L_VBD2p1.js.map +1 -0
  307. package/dist/web/static/assets/index-D8AKj26b.css +1 -0
  308. package/dist/web/static/assets/index-DxIbmNmr.js +3 -0
  309. package/dist/web/static/assets/index-DxIbmNmr.js.map +1 -0
  310. package/dist/web/static/assets/{lucide-53bR2rki.js → lucide-fJlPI3H7.js} +68 -38
  311. package/dist/web/static/assets/lucide-fJlPI3H7.js.map +1 -0
  312. package/dist/web/static/assets/time-Bxuk0M-C.js +2 -0
  313. package/dist/web/static/assets/time-Bxuk0M-C.js.map +1 -0
  314. package/dist/web/static/index.html +3 -3
  315. package/docs/concurrent-agents.md +129 -0
  316. package/docs/design/architecture-review-20260516.md +232 -0
  317. package/docs/design/fix-skills-data-and-set-leak-spec-20260516-1300.md +219 -0
  318. package/docs/design/hook-failure-queue-spec-20260516-1530.md +204 -0
  319. package/docs/design/refactor-phase1-spec-20260515-1600.md +543 -0
  320. package/docs/design/refactor-phase2-spec-20260515-1700.md +424 -0
  321. package/docs/design/tasks-list-filter-pagination-spec-20260518-0930.md +208 -0
  322. package/docs/implementation/fix-skills-data-and-set-leak-changelog-20260516-1300.md +104 -0
  323. package/docs/implementation/hook-failure-queue-changelog-20260516-1530.md +196 -0
  324. package/docs/implementation/hotfix-daemon-event-reject-20260516-1430.md +56 -0
  325. package/docs/implementation/refactor-phase1-changelog-20260515-1630.md +354 -0
  326. package/docs/implementation/refactor-phase2-changelog-20260515-1705.md +421 -0
  327. package/docs/implementation/tasks-list-filter-pagination-changelog-20260518-0930.md +72 -0
  328. package/docs/reviews/claudemd-template-sync.md +54 -0
  329. package/docs/reviews/tasks-filter-pagination.md +80 -0
  330. package/docs/ruflo-learning-strategy.md +322 -0
  331. package/docs/skills-deduplication-analysis.md +83 -0
  332. package/docs/skills-multiformat-support.md +177 -0
  333. package/docs/skills-third-party.md +183 -0
  334. package/docs/testing/tasks-filter-pagination-test-report.md +86 -0
  335. package/forge +321 -0
  336. package/package.json +28 -62
  337. package/playwright.config.ts +40 -0
  338. package/scripts/demo-v2.ts +91 -0
  339. package/scripts/dev-daemon.sh +232 -0
  340. package/scripts/dev-web.ts +109 -0
  341. package/scripts/e2e-mcp-link.ts +423 -0
  342. package/scripts/e2e-methodology-quality.ts +253 -0
  343. package/scripts/e2e-routing.ts +456 -0
  344. package/scripts/e2e-user-methodology.ts +326 -0
  345. package/scripts/e2e-web-workflows.ts +299 -0
  346. package/scripts/migrate-legacy-to-dynamic.sql +108 -0
  347. package/scripts/regenerate-execution-docs.ts +116 -0
  348. package/scripts/sync-agent-skills.ts +193 -0
  349. package/scripts/test-hook.sh +71 -0
  350. package/scripts/verify-skill-loading.ts +62 -0
  351. package/src/claudemd/claudemd-generator.ts +777 -0
  352. package/src/claudemd/convention-extractor.ts +69 -0
  353. package/src/claudemd/index.ts +35 -0
  354. package/src/claudemd/persona-manager.ts +88 -0
  355. package/src/claudemd/resume-manager.ts +236 -0
  356. package/src/claudemd/tech-detector.ts +220 -0
  357. package/src/cli/commands/claudemd.ts +84 -0
  358. package/src/cli/commands/config.ts +46 -0
  359. package/src/cli/commands/daemon.ts +310 -0
  360. package/src/cli/commands/executions.ts +114 -0
  361. package/src/cli/commands/init.ts +204 -0
  362. package/src/cli/commands/logs.ts +181 -0
  363. package/src/cli/commands/mcp.ts +244 -0
  364. package/src/cli/commands/menu.ts +356 -0
  365. package/src/cli/commands/skills.ts +185 -0
  366. package/src/cli/commands/stats.ts +74 -0
  367. package/src/cli/commands/status.ts +69 -0
  368. package/src/cli/commands/template.ts +77 -0
  369. package/src/cli/commands/trace.ts +164 -0
  370. package/src/cli/index.ts +42 -0
  371. package/src/cli/init/hook-manager.ts +132 -0
  372. package/src/core/ai/provider.ts +308 -0
  373. package/src/core/ai/types.ts +51 -0
  374. package/src/core/config.ts +124 -0
  375. package/src/core/constants.ts +45 -0
  376. package/src/core/queue/index.ts +193 -0
  377. package/src/core/storage/base.ts +226 -0
  378. package/src/core/storage/events.ts +255 -0
  379. package/src/core/storage/injections.ts +78 -0
  380. package/src/core/storage/maintenance.ts +59 -0
  381. package/src/core/storage/migrations/002_add_skill_tracking.sql +6 -0
  382. package/src/core/storage/migrations/003_add_skill_invocations.sql +23 -0
  383. package/src/core/storage/performance-indexes.sql +23 -0
  384. package/src/core/storage/routing.ts +194 -0
  385. package/src/core/storage/rows.ts +112 -0
  386. package/src/core/storage/schema.sql +214 -0
  387. package/src/core/storage/sessions.ts +104 -0
  388. package/src/core/storage/skills.ts +164 -0
  389. package/src/core/storage/sqlite.ts +194 -0
  390. package/src/core/storage/tasks.ts +170 -0
  391. package/src/core/storage/token-usage.ts +93 -0
  392. package/src/core/types.ts +154 -0
  393. package/src/core/utils/error-handler.ts +256 -0
  394. package/src/core/utils/forge-resume-block.ts +74 -0
  395. package/src/core/utils/format.ts +69 -0
  396. package/src/core/utils/logger.ts +119 -0
  397. package/src/core/utils/lru-cache.ts +50 -0
  398. package/src/core/utils/path.ts +19 -0
  399. package/src/core/utils/session.ts +26 -0
  400. package/src/core/utils/time.ts +37 -0
  401. package/src/core/utils/token-tracker.ts +97 -0
  402. package/src/daemon/event-parser.ts +35 -0
  403. package/src/daemon/handlers/history-exporter.ts +117 -0
  404. package/src/daemon/handlers/post-tool-use.ts +50 -0
  405. package/src/daemon/handlers/stop.ts +215 -0
  406. package/src/daemon/handlers/user-prompt.ts +188 -0
  407. package/src/daemon/index.ts +278 -0
  408. package/src/daemon/launchd/com.claude-forge.daemon.plist.template +47 -0
  409. package/src/daemon/launchd-installer.ts +260 -0
  410. package/src/daemon/lifecycle.ts +128 -0
  411. package/src/daemon/router.ts +40 -0
  412. package/src/daemon/server.ts +209 -0
  413. package/src/daemon/services/anti-pattern-detector.ts +412 -0
  414. package/src/daemon/services/drift-detector.ts +232 -0
  415. package/src/daemon/services/task-segmenter.ts +112 -0
  416. package/src/daemon/services/weekly-report.ts +454 -0
  417. package/src/hooks/hook-lib.sh +81 -0
  418. package/src/hooks/notification.sh +35 -0
  419. package/src/hooks/post-tool-use.sh +61 -0
  420. package/src/hooks/pre-tool-use.sh +63 -0
  421. package/src/hooks/stop.sh +40 -0
  422. package/src/hooks/user-prompt-submit.sh +69 -0
  423. package/src/mcp/server.ts +322 -0
  424. package/src/skills/index.ts +2 -0
  425. package/src/skills/invocation-guard.ts +177 -0
  426. package/src/skills/matcher.ts +148 -0
  427. package/src/skills/official/code-simplifier.md +16 -0
  428. package/src/skills/official/find-skills.md +23 -0
  429. package/src/skills/official/official-api-design.md +17 -0
  430. package/src/skills/official/official-architecture-decision.md +20 -0
  431. package/src/skills/official/official-bmad.md +118 -0
  432. package/src/skills/official/official-db-schema-design.md +16 -0
  433. package/src/skills/official/official-debug.md +17 -0
  434. package/src/skills/official/official-doc-driven.md +31 -0
  435. package/src/skills/official/official-harness-engineering.md +108 -0
  436. package/src/skills/official/official-performance-optimization.md +30 -0
  437. package/src/skills/official/official-pr-review.md +35 -0
  438. package/src/skills/official/official-release-checklist.md +30 -0
  439. package/src/skills/official/official-security-hardening.md +26 -0
  440. package/src/skills/official/official-spec-driven-design.md +31 -0
  441. package/src/skills/official/planning-with-files.md +37 -0
  442. package/src/skills/official/ui-ux-pro-max.md +18 -0
  443. package/src/skills/official/webapp-testing.md +12 -0
  444. package/src/skills/official-skills.ts +89 -0
  445. package/src/skills/registry.ts +355 -0
  446. package/src/skills/semantic-matcher.ts +231 -0
  447. package/src/skills/tools/pipeline-suggest.ts +226 -0
  448. package/src/skills/tools/skill-invoke.ts +168 -0
  449. package/src/skills/tools/skill-list.ts +59 -0
  450. package/src/templates/go.yaml +53 -0
  451. package/src/templates/python.yaml +59 -0
  452. package/src/templates/react.yaml +55 -0
  453. package/src/templates/template-manager.ts +170 -0
  454. package/src/web/auth-middleware.ts +55 -0
  455. package/src/web/routes/ai.ts +204 -0
  456. package/src/web/routes/auth.ts +22 -0
  457. package/src/web/routes/drift.ts +25 -0
  458. package/src/web/routes/error-handler.ts +120 -0
  459. package/src/web/routes/events.ts +47 -0
  460. package/src/web/routes/insights.ts +43 -0
  461. package/src/web/routes/patch.ts +117 -0
  462. package/src/web/routes/reports.ts +34 -0
  463. package/src/web/routes/rules.ts +101 -0
  464. package/src/web/routes/sessions.ts +262 -0
  465. package/src/web/routes/skill-stats.ts +132 -0
  466. package/src/web/routes/skills.ts +349 -0
  467. package/src/web/routes/static.ts +67 -0
  468. package/src/web/routes/stats.ts +60 -0
  469. package/src/web/routes/status.ts +30 -0
  470. package/src/web/routes/tasks.ts +218 -0
  471. package/src/web/routes/token-usage.ts +20 -0
  472. package/src/web/routes/trace.ts +138 -0
  473. package/src/web/routes/types.ts +56 -0
  474. package/src/web/server.ts +134 -0
  475. package/src/web/ssrf-guard.ts +112 -0
  476. package/src/web/static/index.html +3251 -0
  477. package/src/web/static/vendor/chart.umd.min.js +20 -0
  478. package/tests/e2e/dashboard.spec.ts +205 -0
  479. package/tests/e2e/routing-skill-e2e.test.ts +39 -0
  480. package/tests/helpers/mock-ai.ts +92 -0
  481. package/tests/helpers/mock-storage.ts +159 -0
  482. package/tests/integration/queue-replay.integration.test.ts +193 -0
  483. package/tests/integration/tasks-filter.integration.test.ts +154 -0
  484. package/tests/performance/database.benchmark.ts +161 -0
  485. package/tests/semantic-matcher.test.ts +99 -0
  486. package/tests/skill-matcher.test.ts +110 -0
  487. package/tests/unit/ai-provider-retry.test.ts +194 -0
  488. package/tests/unit/ai-provider-vision.test.ts +224 -0
  489. package/tests/unit/claudemd-generator.test.ts +68 -0
  490. package/tests/unit/cli-mcp.test.ts +141 -0
  491. package/tests/unit/handlers.test.ts +171 -0
  492. package/tests/unit/invocation-guard.test.ts +125 -0
  493. package/tests/unit/queue.test.ts +272 -0
  494. package/tests/unit/router.test.ts +138 -0
  495. package/tests/unit/security.test.ts +128 -0
  496. package/tests/unit/skill-invocations-workflow.test.ts +495 -0
  497. package/tests/unit/skill-registry.test.ts +94 -0
  498. package/tests/unit/skills/invocation-guard-ttl.test.ts +211 -0
  499. package/tests/unit/skills/official-skills-loader.test.ts +126 -0
  500. package/tests/unit/skills/registry-multiformat.test.ts +92 -0
  501. package/tests/unit/storage/sessions-aggregate.test.ts +435 -0
  502. package/tests/unit/storage/sqlite-refactor-harness.test.ts +314 -0
  503. package/tests/unit/storage.test.ts +172 -0
  504. package/tests/unit/token-usage.test.ts +144 -0
  505. package/tests/unit/type-guards.test.ts +201 -0
  506. package/tests/unit/utils/format.test.ts +189 -0
  507. package/tests/unit/utils/session.test.ts +89 -0
  508. package/tests/unit/utils/time.test.ts +112 -0
  509. package/tests/unit/web/routes-auth.test.ts +93 -0
  510. package/tests/unit/web/routes-events.test.ts +101 -0
  511. package/tests/unit/web/routes-sessions.test.ts +181 -0
  512. package/tests/unit/web/routes-skill-stats.test.ts +179 -0
  513. package/tests/unit/web/routes-stats.test.ts +92 -0
  514. package/tests/unit/web/routes-tasks.test.ts +351 -0
  515. package/tsconfig.json +22 -0
  516. package/vitest.config.ts +21 -0
  517. package/vitest.integration.config.ts +16 -0
  518. package/web/CLAUDE.md +20 -0
  519. package/web/index.html +13 -0
  520. package/web/package-lock.json +4854 -0
  521. package/web/package.json +35 -0
  522. package/web/postcss.config.js +6 -0
  523. package/web/src/App.tsx +110 -0
  524. package/web/src/components/CodeBlock.tsx +31 -0
  525. package/web/src/components/Confirm.tsx +96 -0
  526. package/web/src/components/Drawer.tsx +60 -0
  527. package/web/src/components/Layout.tsx +145 -0
  528. package/web/src/components/MarkdownRenderer.tsx +77 -0
  529. package/web/src/components/SearchInput.tsx +31 -0
  530. package/web/src/components/SessionDetailContent.tsx +157 -0
  531. package/web/src/components/Toast.tsx +92 -0
  532. package/web/src/index.css +19 -0
  533. package/web/src/main.tsx +31 -0
  534. package/web/src/pages/AIConfig.tsx +233 -0
  535. package/web/src/pages/Dashboard.tsx +572 -0
  536. package/web/src/pages/Events.tsx +271 -0
  537. package/web/src/pages/Reports.tsx +428 -0
  538. package/web/src/pages/SessionDetail.tsx +162 -0
  539. package/web/src/pages/Sessions.tsx +205 -0
  540. package/web/src/pages/Skills.tsx +180 -0
  541. package/web/src/pages/TaskDetail.tsx +511 -0
  542. package/web/src/pages/Tasks.tsx +150 -0
  543. package/web/src/utils/auth.ts +59 -0
  544. package/web/src/utils/export.ts +54 -0
  545. package/web/src/utils/time.ts +13 -0
  546. package/web/tailwind.config.js +11 -0
  547. package/web/tsconfig.json +21 -0
  548. package/web/tsconfig.node.json +10 -0
  549. package/web/vite.config.ts +76 -0
  550. package/winspan-claude-forge-8.43.0.tgz +0 -0
  551. package/dist/agents/definition.d.ts +0 -62
  552. package/dist/agents/definition.d.ts.map +0 -1
  553. package/dist/agents/definition.js +0 -27
  554. package/dist/agents/definition.js.map +0 -1
  555. package/dist/agents/distributor.d.ts +0 -23
  556. package/dist/agents/distributor.d.ts.map +0 -1
  557. package/dist/agents/distributor.js +0 -85
  558. package/dist/agents/distributor.js.map +0 -1
  559. package/dist/agents/index.d.ts +0 -5
  560. package/dist/agents/index.d.ts.map +0 -1
  561. package/dist/agents/index.js +0 -5
  562. package/dist/agents/index.js.map +0 -1
  563. package/dist/agents/methodologies/agent-builder.d.ts +0 -21
  564. package/dist/agents/methodologies/agent-builder.d.ts.map +0 -1
  565. package/dist/agents/methodologies/agent-builder.js +0 -124
  566. package/dist/agents/methodologies/agent-builder.js.map +0 -1
  567. package/dist/agents/methodologies/phases/bmad/analyze.d.ts +0 -3
  568. package/dist/agents/methodologies/phases/bmad/analyze.d.ts.map +0 -1
  569. package/dist/agents/methodologies/phases/bmad/analyze.js +0 -18
  570. package/dist/agents/methodologies/phases/bmad/analyze.js.map +0 -1
  571. package/dist/agents/methodologies/phases/bmad/design.d.ts +0 -3
  572. package/dist/agents/methodologies/phases/bmad/design.d.ts.map +0 -1
  573. package/dist/agents/methodologies/phases/bmad/design.js +0 -17
  574. package/dist/agents/methodologies/phases/bmad/design.js.map +0 -1
  575. package/dist/agents/methodologies/phases/bmad/implement.d.ts +0 -3
  576. package/dist/agents/methodologies/phases/bmad/implement.d.ts.map +0 -1
  577. package/dist/agents/methodologies/phases/bmad/implement.js +0 -16
  578. package/dist/agents/methodologies/phases/bmad/implement.js.map +0 -1
  579. package/dist/agents/methodologies/phases/bmad/index.d.ts +0 -6
  580. package/dist/agents/methodologies/phases/bmad/index.d.ts.map +0 -1
  581. package/dist/agents/methodologies/phases/bmad/index.js +0 -6
  582. package/dist/agents/methodologies/phases/bmad/index.js.map +0 -1
  583. package/dist/agents/methodologies/phases/bmad/review.d.ts +0 -3
  584. package/dist/agents/methodologies/phases/bmad/review.d.ts.map +0 -1
  585. package/dist/agents/methodologies/phases/bmad/review.js +0 -16
  586. package/dist/agents/methodologies/phases/bmad/review.js.map +0 -1
  587. package/dist/agents/methodologies/phases/bmad/test.d.ts +0 -3
  588. package/dist/agents/methodologies/phases/bmad/test.d.ts.map +0 -1
  589. package/dist/agents/methodologies/phases/bmad/test.js +0 -20
  590. package/dist/agents/methodologies/phases/bmad/test.js.map +0 -1
  591. package/dist/agents/methodologies/phases/harness/fix.d.ts +0 -3
  592. package/dist/agents/methodologies/phases/harness/fix.d.ts.map +0 -1
  593. package/dist/agents/methodologies/phases/harness/fix.js +0 -16
  594. package/dist/agents/methodologies/phases/harness/fix.js.map +0 -1
  595. package/dist/agents/methodologies/phases/harness/index.d.ts +0 -6
  596. package/dist/agents/methodologies/phases/harness/index.d.ts.map +0 -1
  597. package/dist/agents/methodologies/phases/harness/index.js +0 -6
  598. package/dist/agents/methodologies/phases/harness/index.js.map +0 -1
  599. package/dist/agents/methodologies/phases/harness/reproduce.d.ts +0 -3
  600. package/dist/agents/methodologies/phases/harness/reproduce.d.ts.map +0 -1
  601. package/dist/agents/methodologies/phases/harness/reproduce.js +0 -19
  602. package/dist/agents/methodologies/phases/harness/reproduce.js.map +0 -1
  603. package/dist/agents/methodologies/phases/harness/root-cause.d.ts +0 -3
  604. package/dist/agents/methodologies/phases/harness/root-cause.d.ts.map +0 -1
  605. package/dist/agents/methodologies/phases/harness/root-cause.js +0 -20
  606. package/dist/agents/methodologies/phases/harness/root-cause.js.map +0 -1
  607. package/dist/agents/methodologies/phases/harness/safety-net.d.ts +0 -3
  608. package/dist/agents/methodologies/phases/harness/safety-net.d.ts.map +0 -1
  609. package/dist/agents/methodologies/phases/harness/safety-net.js +0 -16
  610. package/dist/agents/methodologies/phases/harness/safety-net.js.map +0 -1
  611. package/dist/agents/methodologies/phases/harness/verify.d.ts +0 -3
  612. package/dist/agents/methodologies/phases/harness/verify.d.ts.map +0 -1
  613. package/dist/agents/methodologies/phases/harness/verify.js +0 -21
  614. package/dist/agents/methodologies/phases/harness/verify.js.map +0 -1
  615. package/dist/agents/methodologies/presets.d.ts +0 -10
  616. package/dist/agents/methodologies/presets.d.ts.map +0 -1
  617. package/dist/agents/methodologies/presets.js +0 -79
  618. package/dist/agents/methodologies/presets.js.map +0 -1
  619. package/dist/agents/methodologies/types.d.ts +0 -43
  620. package/dist/agents/methodologies/types.d.ts.map +0 -1
  621. package/dist/agents/methodologies/types.js +0 -10
  622. package/dist/agents/methodologies/types.js.map +0 -1
  623. package/dist/agents/methodologies/user-config-loader.d.ts +0 -30
  624. package/dist/agents/methodologies/user-config-loader.d.ts.map +0 -1
  625. package/dist/agents/methodologies/user-config-loader.js +0 -159
  626. package/dist/agents/methodologies/user-config-loader.js.map +0 -1
  627. package/dist/agents/official-agents.d.ts +0 -4
  628. package/dist/agents/official-agents.d.ts.map +0 -1
  629. package/dist/agents/official-agents.js +0 -559
  630. package/dist/agents/official-agents.js.map +0 -1
  631. package/dist/agents/registry.d.ts +0 -57
  632. package/dist/agents/registry.d.ts.map +0 -1
  633. package/dist/agents/registry.js +0 -271
  634. package/dist/agents/registry.js.map +0 -1
  635. package/dist/capability/index.d.ts +0 -10
  636. package/dist/capability/index.d.ts.map +0 -1
  637. package/dist/capability/index.js +0 -10
  638. package/dist/capability/index.js.map +0 -1
  639. package/dist/capability/types.d.ts +0 -10
  640. package/dist/capability/types.d.ts.map +0 -1
  641. package/dist/capability/types.js +0 -10
  642. package/dist/capability/types.js.map +0 -1
  643. package/dist/cli/commands/agents.d.ts +0 -3
  644. package/dist/cli/commands/agents.d.ts.map +0 -1
  645. package/dist/cli/commands/agents.js +0 -62
  646. package/dist/cli/commands/agents.js.map +0 -1
  647. package/dist/cli/commands/rules.d.ts +0 -8
  648. package/dist/cli/commands/rules.d.ts.map +0 -1
  649. package/dist/cli/commands/rules.js +0 -89
  650. package/dist/cli/commands/rules.js.map +0 -1
  651. package/dist/daemon/auto-disable-scheduler.d.ts +0 -53
  652. package/dist/daemon/auto-disable-scheduler.d.ts.map +0 -1
  653. package/dist/daemon/auto-disable-scheduler.js +0 -114
  654. package/dist/daemon/auto-disable-scheduler.js.map +0 -1
  655. package/dist/daemon/handlers/pre-tool-use.d.ts +0 -30
  656. package/dist/daemon/handlers/pre-tool-use.d.ts.map +0 -1
  657. package/dist/daemon/handlers/pre-tool-use.js +0 -173
  658. package/dist/daemon/handlers/pre-tool-use.js.map +0 -1
  659. package/dist/daemon/routing-observer.d.ts +0 -42
  660. package/dist/daemon/routing-observer.d.ts.map +0 -1
  661. package/dist/daemon/routing-observer.js +0 -264
  662. package/dist/daemon/routing-observer.js.map +0 -1
  663. package/dist/daemon/routing-state.d.ts +0 -63
  664. package/dist/daemon/routing-state.d.ts.map +0 -1
  665. package/dist/daemon/routing-state.js +0 -223
  666. package/dist/daemon/routing-state.js.map +0 -1
  667. package/dist/engine/agent-router.d.ts +0 -142
  668. package/dist/engine/agent-router.d.ts.map +0 -1
  669. package/dist/engine/agent-router.js +0 -276
  670. package/dist/engine/agent-router.js.map +0 -1
  671. package/dist/engine/context-builder.d.ts +0 -23
  672. package/dist/engine/context-builder.d.ts.map +0 -1
  673. package/dist/engine/context-builder.js +0 -63
  674. package/dist/engine/context-builder.js.map +0 -1
  675. package/dist/engine/conventions/basic-security.yaml +0 -109
  676. package/dist/engine/conventions/code-quality.yaml +0 -123
  677. package/dist/engine/conventions/database-safety.yaml +0 -74
  678. package/dist/engine/conventions/dependency-safety.yaml +0 -132
  679. package/dist/engine/conventions/docker-safety.yaml +0 -69
  680. package/dist/engine/conventions/git-safety.yaml +0 -118
  681. package/dist/engine/conventions/go-best-practices.yaml +0 -84
  682. package/dist/engine/conventions/python-best-practices.yaml +0 -96
  683. package/dist/engine/conventions/react-best-practices.yaml +0 -96
  684. package/dist/engine/conventions/routing.yaml +0 -378
  685. package/dist/engine/conventions/strict-security.yaml +0 -30
  686. package/dist/engine/conventions/ts-quality.yaml +0 -49
  687. package/dist/engine/dsl/compiler.d.ts +0 -34
  688. package/dist/engine/dsl/compiler.d.ts.map +0 -1
  689. package/dist/engine/dsl/compiler.js +0 -702
  690. package/dist/engine/dsl/compiler.js.map +0 -1
  691. package/dist/engine/dsl/parser.d.ts +0 -25
  692. package/dist/engine/dsl/parser.d.ts.map +0 -1
  693. package/dist/engine/dsl/parser.js +0 -208
  694. package/dist/engine/dsl/parser.js.map +0 -1
  695. package/dist/engine/dsl/runtime.d.ts +0 -46
  696. package/dist/engine/dsl/runtime.d.ts.map +0 -1
  697. package/dist/engine/dsl/runtime.js +0 -173
  698. package/dist/engine/dsl/runtime.js.map +0 -1
  699. package/dist/engine/dsl/types.d.ts +0 -139
  700. package/dist/engine/dsl/types.d.ts.map +0 -1
  701. package/dist/engine/dsl/types.js +0 -11
  702. package/dist/engine/dsl/types.js.map +0 -1
  703. package/dist/engine/evidence-store.d.ts +0 -44
  704. package/dist/engine/evidence-store.d.ts.map +0 -1
  705. package/dist/engine/evidence-store.js +0 -109
  706. package/dist/engine/evidence-store.js.map +0 -1
  707. package/dist/engine/experiment-router.d.ts +0 -102
  708. package/dist/engine/experiment-router.d.ts.map +0 -1
  709. package/dist/engine/experiment-router.js +0 -289
  710. package/dist/engine/experiment-router.js.map +0 -1
  711. package/dist/engine/recommender.d.ts +0 -52
  712. package/dist/engine/recommender.d.ts.map +0 -1
  713. package/dist/engine/recommender.js +0 -162
  714. package/dist/engine/recommender.js.map +0 -1
  715. package/dist/engine/rule-engine.d.ts +0 -33
  716. package/dist/engine/rule-engine.d.ts.map +0 -1
  717. package/dist/engine/rule-engine.js +0 -250
  718. package/dist/engine/rule-engine.js.map +0 -1
  719. package/dist/intelligence/classifier.d.ts +0 -75
  720. package/dist/intelligence/classifier.d.ts.map +0 -1
  721. package/dist/intelligence/classifier.js +0 -352
  722. package/dist/intelligence/classifier.js.map +0 -1
  723. package/dist/intelligence/context-gatherer.d.ts +0 -101
  724. package/dist/intelligence/context-gatherer.d.ts.map +0 -1
  725. package/dist/intelligence/context-gatherer.js +0 -417
  726. package/dist/intelligence/context-gatherer.js.map +0 -1
  727. package/dist/intelligence/cot-classifier.d.ts +0 -95
  728. package/dist/intelligence/cot-classifier.d.ts.map +0 -1
  729. package/dist/intelligence/cot-classifier.js +0 -391
  730. package/dist/intelligence/cot-classifier.js.map +0 -1
  731. package/dist/intelligence/distiller.d.ts +0 -22
  732. package/dist/intelligence/distiller.d.ts.map +0 -1
  733. package/dist/intelligence/distiller.js +0 -108
  734. package/dist/intelligence/distiller.js.map +0 -1
  735. package/dist/intelligence/execution-doc-builder.d.ts +0 -151
  736. package/dist/intelligence/execution-doc-builder.d.ts.map +0 -1
  737. package/dist/intelligence/execution-doc-builder.js +0 -1018
  738. package/dist/intelligence/execution-doc-builder.js.map +0 -1
  739. package/dist/intelligence/intent-types.d.ts +0 -13
  740. package/dist/intelligence/intent-types.d.ts.map +0 -1
  741. package/dist/intelligence/intent-types.js +0 -19
  742. package/dist/intelligence/intent-types.js.map +0 -1
  743. package/dist/intelligence/multimodal-parser.d.ts +0 -105
  744. package/dist/intelligence/multimodal-parser.d.ts.map +0 -1
  745. package/dist/intelligence/multimodal-parser.js +0 -425
  746. package/dist/intelligence/multimodal-parser.js.map +0 -1
  747. package/dist/intelligence/quality-gate.d.ts +0 -45
  748. package/dist/intelligence/quality-gate.d.ts.map +0 -1
  749. package/dist/intelligence/quality-gate.js +0 -193
  750. package/dist/intelligence/quality-gate.js.map +0 -1
  751. package/dist/intelligence/task-segmenter.d.ts.map +0 -1
  752. package/dist/intelligence/task-segmenter.js.map +0 -1
  753. package/dist/web/routes/agents.d.ts +0 -7
  754. package/dist/web/routes/agents.d.ts.map +0 -1
  755. package/dist/web/routes/agents.js +0 -209
  756. package/dist/web/routes/agents.js.map +0 -1
  757. package/dist/web/routes/execution-trace.d.ts +0 -21
  758. package/dist/web/routes/execution-trace.d.ts.map +0 -1
  759. package/dist/web/routes/execution-trace.js +0 -353
  760. package/dist/web/routes/execution-trace.js.map +0 -1
  761. package/dist/web/routes/experiments.d.ts +0 -15
  762. package/dist/web/routes/experiments.d.ts.map +0 -1
  763. package/dist/web/routes/experiments.js +0 -187
  764. package/dist/web/routes/experiments.js.map +0 -1
  765. package/dist/web/routes/routing.d.ts +0 -17
  766. package/dist/web/routes/routing.d.ts.map +0 -1
  767. package/dist/web/routes/routing.js +0 -592
  768. package/dist/web/routes/routing.js.map +0 -1
  769. package/dist/web/routes/workflows.d.ts +0 -19
  770. package/dist/web/routes/workflows.d.ts.map +0 -1
  771. package/dist/web/routes/workflows.js +0 -86
  772. package/dist/web/routes/workflows.js.map +0 -1
  773. package/dist/web/static/assets/AIConfig-R5wZ3ZKT.js +0 -2
  774. package/dist/web/static/assets/AIConfig-R5wZ3ZKT.js.map +0 -1
  775. package/dist/web/static/assets/Agents-Beg34V1g.js +0 -2
  776. package/dist/web/static/assets/Agents-Beg34V1g.js.map +0 -1
  777. package/dist/web/static/assets/CodeBlock--H53gk46.js +0 -2
  778. package/dist/web/static/assets/CodeBlock--H53gk46.js.map +0 -1
  779. package/dist/web/static/assets/Dashboard-Cy1xsj1J.js +0 -2
  780. package/dist/web/static/assets/Dashboard-Cy1xsj1J.js.map +0 -1
  781. package/dist/web/static/assets/Events-mFhXl4zI.js +0 -2
  782. package/dist/web/static/assets/Events-mFhXl4zI.js.map +0 -1
  783. package/dist/web/static/assets/ExecutionTrace-DG901hLR.js +0 -3
  784. package/dist/web/static/assets/ExecutionTrace-DG901hLR.js.map +0 -1
  785. package/dist/web/static/assets/MarkdownRenderer-CCIz1MOz.js +0 -2
  786. package/dist/web/static/assets/MarkdownRenderer-CCIz1MOz.js.map +0 -1
  787. package/dist/web/static/assets/Routing-B7BFLfjh.js +0 -2
  788. package/dist/web/static/assets/Routing-B7BFLfjh.js.map +0 -1
  789. package/dist/web/static/assets/SessionDetail-BT0l4RrK.js +0 -2
  790. package/dist/web/static/assets/SessionDetail-BT0l4RrK.js.map +0 -1
  791. package/dist/web/static/assets/Sessions-C6J_HQ_u.js +0 -2
  792. package/dist/web/static/assets/Sessions-C6J_HQ_u.js.map +0 -1
  793. package/dist/web/static/assets/Skills-4DQWLaTv.js +0 -2
  794. package/dist/web/static/assets/Skills-4DQWLaTv.js.map +0 -1
  795. package/dist/web/static/assets/WorkflowDetail-zhNqUkBE.js +0 -2
  796. package/dist/web/static/assets/WorkflowDetail-zhNqUkBE.js.map +0 -1
  797. package/dist/web/static/assets/Workflows-Btvi-lGw.js +0 -2
  798. package/dist/web/static/assets/Workflows-Btvi-lGw.js.map +0 -1
  799. package/dist/web/static/assets/export-BQQZLaHV.js +0 -4
  800. package/dist/web/static/assets/export-BQQZLaHV.js.map +0 -1
  801. package/dist/web/static/assets/index-Cgr9qMtq.js +0 -3
  802. package/dist/web/static/assets/index-Cgr9qMtq.js.map +0 -1
  803. package/dist/web/static/assets/index-CngWb5gC.css +0 -1
  804. package/dist/web/static/assets/lucide-53bR2rki.js.map +0 -1
@@ -1,9 +1,9 @@
1
- import{r as c}from"./react-vendor-CSp-GLFF.js";/**
1
+ import{r}from"./react-vendor-CSp-GLFF.js";/**
2
2
  * @license lucide-react v0.379.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
5
5
  * See the LICENSE file in the root directory of this source tree.
6
- */const p=a=>a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),o=(...a)=>a.filter((t,y,h)=>!!t&&h.indexOf(t)===y).join(" ");/**
6
+ */const p=a=>a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),l=(...a)=>a.filter((t,y,h)=>!!t&&h.indexOf(t)===y).join(" ");/**
7
7
  * @license lucide-react v0.379.0 - ISC
8
8
  *
9
9
  * This source code is licensed under the ISC license.
@@ -13,42 +13,52 @@ import{r as c}from"./react-vendor-CSp-GLFF.js";/**
13
13
  *
14
14
  * This source code is licensed under the ISC license.
15
15
  * See the LICENSE file in the root directory of this source tree.
16
- */const M=c.forwardRef(({color:a="currentColor",size:t=24,strokeWidth:y=2,absoluteStrokeWidth:h,className:k="",children:r,iconNode:i,...l},n)=>c.createElement("svg",{ref:n,...x,width:t,height:t,stroke:a,strokeWidth:h?Number(y)*24/Number(t):y,className:o("lucide",k),...l},[...i.map(([d,s])=>c.createElement(d,s)),...Array.isArray(r)?r:[r]]));/**
16
+ */const M=r.forwardRef(({color:a="currentColor",size:t=24,strokeWidth:y=2,absoluteStrokeWidth:h,className:n="",children:o,iconNode:s,...c},k)=>r.createElement("svg",{ref:k,...x,width:t,height:t,stroke:a,strokeWidth:h?Number(y)*24/Number(t):y,className:l("lucide",n),...c},[...s.map(([i,d])=>r.createElement(i,d)),...Array.isArray(o)?o:[o]]));/**
17
17
  * @license lucide-react v0.379.0 - ISC
18
18
  *
19
19
  * This source code is licensed under the ISC license.
20
20
  * See the LICENSE file in the root directory of this source tree.
21
- */const e=(a,t)=>{const y=c.forwardRef(({className:h,...k},r)=>c.createElement(M,{ref:r,iconNode:t,className:o(`lucide-${p(a)}`,h),...k}));return y.displayName=`${a}`,y};/**
21
+ */const e=(a,t)=>{const y=r.forwardRef(({className:h,...n},o)=>r.createElement(M,{ref:o,iconNode:t,className:l(`lucide-${p(a)}`,h),...n}));return y.displayName=`${a}`,y};/**
22
22
  * @license lucide-react v0.379.0 - ISC
23
23
  *
24
24
  * This source code is licensed under the ISC license.
25
25
  * See the LICENSE file in the root directory of this source tree.
26
- */const g=e("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/**
26
+ */const v=e("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/**
27
27
  * @license lucide-react v0.379.0 - ISC
28
28
  *
29
29
  * This source code is licensed under the ISC license.
30
30
  * See the LICENSE file in the root directory of this source tree.
31
- */const m=e("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/**
31
+ */const g=e("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/**
32
32
  * @license lucide-react v0.379.0 - ISC
33
33
  *
34
34
  * This source code is licensed under the ISC license.
35
35
  * See the LICENSE file in the root directory of this source tree.
36
- */const f=e("BookOpen",[["path",{d:"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z",key:"vv98re"}],["path",{d:"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z",key:"1cyq3y"}]]);/**
36
+ */const u=e("BookOpen",[["path",{d:"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z",key:"vv98re"}],["path",{d:"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z",key:"1cyq3y"}]]);/**
37
37
  * @license lucide-react v0.379.0 - ISC
38
38
  *
39
39
  * This source code is licensed under the ISC license.
40
40
  * See the LICENSE file in the root directory of this source tree.
41
- */const u=e("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/**
41
+ */const w=e("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/**
42
42
  * @license lucide-react v0.379.0 - ISC
43
43
  *
44
44
  * This source code is licensed under the ISC license.
45
45
  * See the LICENSE file in the root directory of this source tree.
46
- */const w=e("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/**
46
+ */const C=e("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/**
47
47
  * @license lucide-react v0.379.0 - ISC
48
48
  *
49
49
  * This source code is licensed under the ISC license.
50
50
  * See the LICENSE file in the root directory of this source tree.
51
- */const z=e("CircleCheckBig",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/**
51
+ */const f=e("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/**
52
+ * @license lucide-react v0.379.0 - ISC
53
+ *
54
+ * This source code is licensed under the ISC license.
55
+ * See the LICENSE file in the root directory of this source tree.
56
+ */const z=e("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/**
57
+ * @license lucide-react v0.379.0 - ISC
58
+ *
59
+ * This source code is licensed under the ISC license.
60
+ * See the LICENSE file in the root directory of this source tree.
61
+ */const q=e("CircleCheckBig",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/**
52
62
  * @license lucide-react v0.379.0 - ISC
53
63
  *
54
64
  * This source code is licensed under the ISC license.
@@ -58,62 +68,62 @@ import{r as c}from"./react-vendor-CSp-GLFF.js";/**
58
68
  *
59
69
  * This source code is licensed under the ISC license.
60
70
  * See the LICENSE file in the root directory of this source tree.
61
- */const C=e("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/**
71
+ */const A=e("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/**
62
72
  * @license lucide-react v0.379.0 - ISC
63
73
  *
64
74
  * This source code is licensed under the ISC license.
65
75
  * See the LICENSE file in the root directory of this source tree.
66
- */const q=e("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/**
76
+ */const L=e("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/**
67
77
  * @license lucide-react v0.379.0 - ISC
68
78
  *
69
79
  * This source code is licensed under the ISC license.
70
80
  * See the LICENSE file in the root directory of this source tree.
71
- */const A=e("Cpu",[["rect",{width:"16",height:"16",x:"4",y:"4",rx:"2",key:"14l7u7"}],["rect",{width:"6",height:"6",x:"9",y:"9",rx:"1",key:"5aljv4"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]]);/**
81
+ */const H=e("Cpu",[["rect",{width:"16",height:"16",x:"4",y:"4",rx:"2",key:"14l7u7"}],["rect",{width:"6",height:"6",x:"9",y:"9",rx:"1",key:"5aljv4"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]]);/**
72
82
  * @license lucide-react v0.379.0 - ISC
73
83
  *
74
84
  * This source code is licensed under the ISC license.
75
85
  * See the LICENSE file in the root directory of this source tree.
76
- */const H=e("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/**
86
+ */const j=e("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/**
77
87
  * @license lucide-react v0.379.0 - ISC
78
88
  *
79
89
  * This source code is licensed under the ISC license.
80
90
  * See the LICENSE file in the root directory of this source tree.
81
- */const j=e("EyeOff",[["path",{d:"M9.88 9.88a3 3 0 1 0 4.24 4.24",key:"1jxqfv"}],["path",{d:"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68",key:"9wicm4"}],["path",{d:"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61",key:"1jreej"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]);/**
91
+ */const T=e("EyeOff",[["path",{d:"M9.88 9.88a3 3 0 1 0 4.24 4.24",key:"1jxqfv"}],["path",{d:"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68",key:"9wicm4"}],["path",{d:"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61",key:"1jreej"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]);/**
82
92
  * @license lucide-react v0.379.0 - ISC
83
93
  *
84
94
  * This source code is licensed under the ISC license.
85
95
  * See the LICENSE file in the root directory of this source tree.
86
- */const L=e("Eye",[["path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z",key:"rwhkz3"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
96
+ */const S=e("Eye",[["path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z",key:"rwhkz3"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
87
97
  * @license lucide-react v0.379.0 - ISC
88
98
  *
89
99
  * This source code is licensed under the ISC license.
90
100
  * See the LICENSE file in the root directory of this source tree.
91
- */const B=e("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]);/**
101
+ */const B=e("FilePen",[["path",{d:"M12 22h6a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v10",key:"x7tsz2"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10.4 12.6a2 2 0 1 1 3 3L8 21l-4 1 1-4Z",key:"o3xyfb"}]]);/**
92
102
  * @license lucide-react v0.379.0 - ISC
93
103
  *
94
104
  * This source code is licensed under the ISC license.
95
105
  * See the LICENSE file in the root directory of this source tree.
96
- */const E=e("FilePen",[["path",{d:"M12 22h6a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v10",key:"x7tsz2"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10.4 12.6a2 2 0 1 1 3 3L8 21l-4 1 1-4Z",key:"o3xyfb"}]]);/**
106
+ */const D=e("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/**
97
107
  * @license lucide-react v0.379.0 - ISC
98
108
  *
99
109
  * This source code is licensed under the ISC license.
100
110
  * See the LICENSE file in the root directory of this source tree.
101
- */const F=e("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/**
111
+ */const E=e("Filter",[["polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3",key:"1yg77f"}]]);/**
102
112
  * @license lucide-react v0.379.0 - ISC
103
113
  *
104
114
  * This source code is licensed under the ISC license.
105
115
  * See the LICENSE file in the root directory of this source tree.
106
- */const T=e("Filter",[["polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3",key:"1yg77f"}]]);/**
116
+ */const F=e("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);/**
107
117
  * @license lucide-react v0.379.0 - ISC
108
118
  *
109
119
  * This source code is licensed under the ISC license.
110
120
  * See the LICENSE file in the root directory of this source tree.
111
- */const V=e("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/**
121
+ */const V=e("GitCommitHorizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);/**
112
122
  * @license lucide-react v0.379.0 - ISC
113
123
  *
114
124
  * This source code is licensed under the ISC license.
115
125
  * See the LICENSE file in the root directory of this source tree.
116
- */const Z=e("GitCommitHorizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);/**
126
+ */const Z=e("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);/**
117
127
  * @license lucide-react v0.379.0 - ISC
118
128
  *
119
129
  * This source code is licensed under the ISC license.
@@ -123,75 +133,95 @@ import{r as c}from"./react-vendor-CSp-GLFF.js";/**
123
133
  *
124
134
  * This source code is licensed under the ISC license.
125
135
  * See the LICENSE file in the root directory of this source tree.
126
- */const S=e("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);/**
136
+ */const P=e("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);/**
137
+ * @license lucide-react v0.379.0 - ISC
138
+ *
139
+ * This source code is licensed under the ISC license.
140
+ * See the LICENSE file in the root directory of this source tree.
141
+ */const G=e("ListTodo",[["rect",{x:"3",y:"5",width:"6",height:"6",rx:"1",key:"1defrl"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]]);/**
142
+ * @license lucide-react v0.379.0 - ISC
143
+ *
144
+ * This source code is licensed under the ISC license.
145
+ * See the LICENSE file in the root directory of this source tree.
146
+ */const I=e("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/**
147
+ * @license lucide-react v0.379.0 - ISC
148
+ *
149
+ * This source code is licensed under the ISC license.
150
+ * See the LICENSE file in the root directory of this source tree.
151
+ */const R=e("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);/**
152
+ * @license lucide-react v0.379.0 - ISC
153
+ *
154
+ * This source code is licensed under the ISC license.
155
+ * See the LICENSE file in the root directory of this source tree.
156
+ */const W=e("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/**
127
157
  * @license lucide-react v0.379.0 - ISC
128
158
  *
129
159
  * This source code is licensed under the ISC license.
130
160
  * See the LICENSE file in the root directory of this source tree.
131
- */const N=e("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/**
161
+ */const X=e("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);/**
132
162
  * @license lucide-react v0.379.0 - ISC
133
163
  *
134
164
  * This source code is licensed under the ISC license.
135
165
  * See the LICENSE file in the root directory of this source tree.
136
- */const W=e("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);/**
166
+ */const $=e("Pen",[["path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z",key:"5qss01"}]]);/**
137
167
  * @license lucide-react v0.379.0 - ISC
138
168
  *
139
169
  * This source code is licensed under the ISC license.
140
170
  * See the LICENSE file in the root directory of this source tree.
141
- */const D=e("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/**
171
+ */const N=e("Pencil",[["path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z",key:"5qss01"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);/**
142
172
  * @license lucide-react v0.379.0 - ISC
143
173
  *
144
174
  * This source code is licensed under the ISC license.
145
175
  * See the LICENSE file in the root directory of this source tree.
146
- */const G=e("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/**
176
+ */const U=e("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);/**
147
177
  * @license lucide-react v0.379.0 - ISC
148
178
  *
149
179
  * This source code is licensed under the ISC license.
150
180
  * See the LICENSE file in the root directory of this source tree.
151
- */const I=e("Pen",[["path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z",key:"5qss01"}]]);/**
181
+ */const K=e("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/**
152
182
  * @license lucide-react v0.379.0 - ISC
153
183
  *
154
184
  * This source code is licensed under the ISC license.
155
185
  * See the LICENSE file in the root directory of this source tree.
156
- */const P=e("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);/**
186
+ */const J=e("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);/**
157
187
  * @license lucide-react v0.379.0 - ISC
158
188
  *
159
189
  * This source code is licensed under the ISC license.
160
190
  * See the LICENSE file in the root directory of this source tree.
161
- */const X=e("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/**
191
+ */const Q=e("Syringe",[["path",{d:"m18 2 4 4",key:"22kx64"}],["path",{d:"m17 7 3-3",key:"1w1zoj"}],["path",{d:"M19 9 8.7 19.3c-1 1-2.5 1-3.4 0l-.6-.6c-1-1-1-2.5 0-3.4L15 5",key:"1exhtz"}],["path",{d:"m9 11 4 4",key:"rovt3i"}],["path",{d:"m5 19-3 3",key:"59f2uf"}],["path",{d:"m14 4 6 6",key:"yqp9t2"}]]);/**
162
192
  * @license lucide-react v0.379.0 - ISC
163
193
  *
164
194
  * This source code is licensed under the ISC license.
165
195
  * See the LICENSE file in the root directory of this source tree.
166
- */const $=e("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/**
196
+ */const Y=e("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/**
167
197
  * @license lucide-react v0.379.0 - ISC
168
198
  *
169
199
  * This source code is licensed under the ISC license.
170
200
  * See the LICENSE file in the root directory of this source tree.
171
- */const R=e("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]]);/**
201
+ */const _=e("TrendingDown",[["polyline",{points:"22 17 13.5 8.5 8.5 13.5 2 7",key:"1r2t7k"}],["polyline",{points:"16 17 22 17 22 11",key:"11uiuu"}]]);/**
172
202
  * @license lucide-react v0.379.0 - ISC
173
203
  *
174
204
  * This source code is licensed under the ISC license.
175
205
  * See the LICENSE file in the root directory of this source tree.
176
- */const U=e("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
206
+ */const e1=e("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]]);/**
177
207
  * @license lucide-react v0.379.0 - ISC
178
208
  *
179
209
  * This source code is licensed under the ISC license.
180
210
  * See the LICENSE file in the root directory of this source tree.
181
- */const K=e("WifiOff",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/**
211
+ */const a1=e("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
182
212
  * @license lucide-react v0.379.0 - ISC
183
213
  *
184
214
  * This source code is licensed under the ISC license.
185
215
  * See the LICENSE file in the root directory of this source tree.
186
- */const J=e("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);/**
216
+ */const t1=e("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/**
187
217
  * @license lucide-react v0.379.0 - ISC
188
218
  *
189
219
  * This source code is licensed under the ISC license.
190
220
  * See the LICENSE file in the root directory of this source tree.
191
- */const Q=e("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/**
221
+ */const y1=e("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/**
192
222
  * @license lucide-react v0.379.0 - ISC
193
223
  *
194
224
  * This source code is licensed under the ISC license.
195
225
  * See the LICENSE file in the root directory of this source tree.
196
- */const Y=e("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);export{g as A,u as B,A as C,H as D,j as E,E as F,V as G,O as I,S as L,W as M,G as N,I as P,X as S,R as T,J as W,Q as X,Y as Z,D as a,f as b,w as c,C as d,z as e,U as f,q as g,$ as h,Z as i,m as j,T as k,K as l,B as m,P as n,L as o,N as p,b as q,F as r};
197
- //# sourceMappingURL=lucide-53bR2rki.js.map
226
+ */const h1=e("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);export{v as A,u as B,H as C,j as D,T as E,D as F,V as G,O as I,P as L,R as M,$ as P,J as S,a1 as T,t1 as W,y1 as X,h1 as Z,W as a,G as b,z as c,A as d,q as e,w as f,L as g,Y as h,B as i,g as j,E as k,U as l,S as m,I as n,b as o,K as p,Q as q,C as r,f as s,F as t,Z as u,N as v,X as w,e1 as x,_ as y};
227
+ //# sourceMappingURL=lucide-fJlPI3H7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lucide-fJlPI3H7.js","sources":["../../node_modules/lucide-react/dist/esm/shared/src/utils.js","../../node_modules/lucide-react/dist/esm/defaultAttributes.js","../../node_modules/lucide-react/dist/esm/Icon.js","../../node_modules/lucide-react/dist/esm/createLucideIcon.js","../../node_modules/lucide-react/dist/esm/icons/activity.js","../../node_modules/lucide-react/dist/esm/icons/arrow-left.js","../../node_modules/lucide-react/dist/esm/icons/book-open.js","../../node_modules/lucide-react/dist/esm/icons/bot.js","../../node_modules/lucide-react/dist/esm/icons/chevron-down.js","../../node_modules/lucide-react/dist/esm/icons/chevron-right.js","../../node_modules/lucide-react/dist/esm/icons/circle-alert.js","../../node_modules/lucide-react/dist/esm/icons/circle-check-big.js","../../node_modules/lucide-react/dist/esm/icons/circle-check.js","../../node_modules/lucide-react/dist/esm/icons/circle-x.js","../../node_modules/lucide-react/dist/esm/icons/clock.js","../../node_modules/lucide-react/dist/esm/icons/cpu.js","../../node_modules/lucide-react/dist/esm/icons/download.js","../../node_modules/lucide-react/dist/esm/icons/eye-off.js","../../node_modules/lucide-react/dist/esm/icons/eye.js","../../node_modules/lucide-react/dist/esm/icons/file-pen.js","../../node_modules/lucide-react/dist/esm/icons/file-text.js","../../node_modules/lucide-react/dist/esm/icons/filter.js","../../node_modules/lucide-react/dist/esm/icons/folder-open.js","../../node_modules/lucide-react/dist/esm/icons/git-commit-horizontal.js","../../node_modules/lucide-react/dist/esm/icons/globe.js","../../node_modules/lucide-react/dist/esm/icons/info.js","../../node_modules/lucide-react/dist/esm/icons/layout-dashboard.js","../../node_modules/lucide-react/dist/esm/icons/list-todo.js","../../node_modules/lucide-react/dist/esm/icons/loader-circle.js","../../node_modules/lucide-react/dist/esm/icons/menu.js","../../node_modules/lucide-react/dist/esm/icons/message-square.js","../../node_modules/lucide-react/dist/esm/icons/minus.js","../../node_modules/lucide-react/dist/esm/icons/pen.js","../../node_modules/lucide-react/dist/esm/icons/pencil.js","../../node_modules/lucide-react/dist/esm/icons/save.js","../../node_modules/lucide-react/dist/esm/icons/search.js","../../node_modules/lucide-react/dist/esm/icons/shield-alert.js","../../node_modules/lucide-react/dist/esm/icons/syringe.js","../../node_modules/lucide-react/dist/esm/icons/terminal.js","../../node_modules/lucide-react/dist/esm/icons/trending-down.js","../../node_modules/lucide-react/dist/esm/icons/trending-up.js","../../node_modules/lucide-react/dist/esm/icons/triangle-alert.js","../../node_modules/lucide-react/dist/esm/icons/wrench.js","../../node_modules/lucide-react/dist/esm/icons/x.js","../../node_modules/lucide-react/dist/esm/icons/zap.js"],"sourcesContent":["/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nconst toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst mergeClasses = (...classes) => classes.filter((className, index, array) => {\n return Boolean(className) && array.indexOf(className) === index;\n}).join(\" \");\n\nexport { mergeClasses, toKebabCase };\n//# sourceMappingURL=utils.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nvar defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n};\n\nexport { defaultAttributes as default };\n//# sourceMappingURL=defaultAttributes.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport defaultAttributes from './defaultAttributes.js';\nimport { mergeClasses } from './shared/src/utils.js';\n\nconst Icon = forwardRef(\n ({\n color = \"currentColor\",\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = \"\",\n children,\n iconNode,\n ...rest\n }, ref) => {\n return createElement(\n \"svg\",\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,\n className: mergeClasses(\"lucide\", className),\n ...rest\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...Array.isArray(children) ? children : [children]\n ]\n );\n }\n);\n\nexport { Icon as default };\n//# sourceMappingURL=Icon.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport { mergeClasses, toKebabCase } from './shared/src/utils.js';\nimport Icon from './Icon.js';\n\nconst createLucideIcon = (iconName, iconNode) => {\n const Component = forwardRef(\n ({ className, ...props }, ref) => createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className),\n ...props\n })\n );\n Component.displayName = `${iconName}`;\n return Component;\n};\n\nexport { createLucideIcon as default };\n//# sourceMappingURL=createLucideIcon.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Activity = createLucideIcon(\"Activity\", [\n [\n \"path\",\n {\n d: \"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2\",\n key: \"169zse\"\n }\n ]\n]);\n\nexport { Activity as default };\n//# sourceMappingURL=activity.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ArrowLeft = createLucideIcon(\"ArrowLeft\", [\n [\"path\", { d: \"m12 19-7-7 7-7\", key: \"1l729n\" }],\n [\"path\", { d: \"M19 12H5\", key: \"x3x0zl\" }]\n]);\n\nexport { ArrowLeft as default };\n//# sourceMappingURL=arrow-left.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst BookOpen = createLucideIcon(\"BookOpen\", [\n [\"path\", { d: \"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z\", key: \"vv98re\" }],\n [\"path\", { d: \"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z\", key: \"1cyq3y\" }]\n]);\n\nexport { BookOpen as default };\n//# sourceMappingURL=book-open.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Bot = createLucideIcon(\"Bot\", [\n [\"path\", { d: \"M12 8V4H8\", key: \"hb8ula\" }],\n [\"rect\", { width: \"16\", height: \"12\", x: \"4\", y: \"8\", rx: \"2\", key: \"enze0r\" }],\n [\"path\", { d: \"M2 14h2\", key: \"vft8re\" }],\n [\"path\", { d: \"M20 14h2\", key: \"4cs60a\" }],\n [\"path\", { d: \"M15 13v2\", key: \"1xurst\" }],\n [\"path\", { d: \"M9 13v2\", key: \"rq6x2g\" }]\n]);\n\nexport { Bot as default };\n//# sourceMappingURL=bot.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ChevronDown = createLucideIcon(\"ChevronDown\", [\n [\"path\", { d: \"m6 9 6 6 6-6\", key: \"qrunsl\" }]\n]);\n\nexport { ChevronDown as default };\n//# sourceMappingURL=chevron-down.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ChevronRight = createLucideIcon(\"ChevronRight\", [\n [\"path\", { d: \"m9 18 6-6-6-6\", key: \"mthhwq\" }]\n]);\n\nexport { ChevronRight as default };\n//# sourceMappingURL=chevron-right.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst CircleAlert = createLucideIcon(\"CircleAlert\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"8\", y2: \"12\", key: \"1pkeuh\" }],\n [\"line\", { x1: \"12\", x2: \"12.01\", y1: \"16\", y2: \"16\", key: \"4dfq90\" }]\n]);\n\nexport { CircleAlert as default };\n//# sourceMappingURL=circle-alert.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst CircleCheckBig = createLucideIcon(\"CircleCheckBig\", [\n [\"path\", { d: \"M22 11.08V12a10 10 0 1 1-5.93-9.14\", key: \"g774vq\" }],\n [\"path\", { d: \"m9 11 3 3L22 4\", key: \"1pflzl\" }]\n]);\n\nexport { CircleCheckBig as default };\n//# sourceMappingURL=circle-check-big.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst CircleCheck = createLucideIcon(\"CircleCheck\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"m9 12 2 2 4-4\", key: \"dzmm74\" }]\n]);\n\nexport { CircleCheck as default };\n//# sourceMappingURL=circle-check.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst CircleX = createLucideIcon(\"CircleX\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"m15 9-6 6\", key: \"1uzhvr\" }],\n [\"path\", { d: \"m9 9 6 6\", key: \"z0biqf\" }]\n]);\n\nexport { CircleX as default };\n//# sourceMappingURL=circle-x.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Clock = createLucideIcon(\"Clock\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"polyline\", { points: \"12 6 12 12 16 14\", key: \"68esgv\" }]\n]);\n\nexport { Clock as default };\n//# sourceMappingURL=clock.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Cpu = createLucideIcon(\"Cpu\", [\n [\"rect\", { width: \"16\", height: \"16\", x: \"4\", y: \"4\", rx: \"2\", key: \"14l7u7\" }],\n [\"rect\", { width: \"6\", height: \"6\", x: \"9\", y: \"9\", rx: \"1\", key: \"5aljv4\" }],\n [\"path\", { d: \"M15 2v2\", key: \"13l42r\" }],\n [\"path\", { d: \"M15 20v2\", key: \"15mkzm\" }],\n [\"path\", { d: \"M2 15h2\", key: \"1gxd5l\" }],\n [\"path\", { d: \"M2 9h2\", key: \"1bbxkp\" }],\n [\"path\", { d: \"M20 15h2\", key: \"19e6y8\" }],\n [\"path\", { d: \"M20 9h2\", key: \"19tzq7\" }],\n [\"path\", { d: \"M9 2v2\", key: \"165o2o\" }],\n [\"path\", { d: \"M9 20v2\", key: \"i2bqo8\" }]\n]);\n\nexport { Cpu as default };\n//# sourceMappingURL=cpu.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Download = createLucideIcon(\"Download\", [\n [\"path\", { d: \"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\", key: \"ih7n3h\" }],\n [\"polyline\", { points: \"7 10 12 15 17 10\", key: \"2ggqvy\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"15\", y2: \"3\", key: \"1vk2je\" }]\n]);\n\nexport { Download as default };\n//# sourceMappingURL=download.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst EyeOff = createLucideIcon(\"EyeOff\", [\n [\"path\", { d: \"M9.88 9.88a3 3 0 1 0 4.24 4.24\", key: \"1jxqfv\" }],\n [\n \"path\",\n {\n d: \"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68\",\n key: \"9wicm4\"\n }\n ],\n [\n \"path\",\n { d: \"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61\", key: \"1jreej\" }\n ],\n [\"line\", { x1: \"2\", x2: \"22\", y1: \"2\", y2: \"22\", key: \"a6p6uj\" }]\n]);\n\nexport { EyeOff as default };\n//# sourceMappingURL=eye-off.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Eye = createLucideIcon(\"Eye\", [\n [\"path\", { d: \"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z\", key: \"rwhkz3\" }],\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"3\", key: \"1v7zrd\" }]\n]);\n\nexport { Eye as default };\n//# sourceMappingURL=eye.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst FilePen = createLucideIcon(\"FilePen\", [\n [\"path\", { d: \"M12 22h6a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v10\", key: \"x7tsz2\" }],\n [\"path\", { d: \"M14 2v4a2 2 0 0 0 2 2h4\", key: \"tnqrlb\" }],\n [\"path\", { d: \"M10.4 12.6a2 2 0 1 1 3 3L8 21l-4 1 1-4Z\", key: \"o3xyfb\" }]\n]);\n\nexport { FilePen as default };\n//# sourceMappingURL=file-pen.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst FileText = createLucideIcon(\"FileText\", [\n [\"path\", { d: \"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\", key: \"1rqfz7\" }],\n [\"path\", { d: \"M14 2v4a2 2 0 0 0 2 2h4\", key: \"tnqrlb\" }],\n [\"path\", { d: \"M10 9H8\", key: \"b1mrlr\" }],\n [\"path\", { d: \"M16 13H8\", key: \"t4e002\" }],\n [\"path\", { d: \"M16 17H8\", key: \"z1uh3a\" }]\n]);\n\nexport { FileText as default };\n//# sourceMappingURL=file-text.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Filter = createLucideIcon(\"Filter\", [\n [\"polygon\", { points: \"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\", key: \"1yg77f\" }]\n]);\n\nexport { Filter as default };\n//# sourceMappingURL=filter.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst FolderOpen = createLucideIcon(\"FolderOpen\", [\n [\n \"path\",\n {\n d: \"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\",\n key: \"usdka0\"\n }\n ]\n]);\n\nexport { FolderOpen as default };\n//# sourceMappingURL=folder-open.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst GitCommitHorizontal = createLucideIcon(\"GitCommitHorizontal\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"3\", key: \"1v7zrd\" }],\n [\"line\", { x1: \"3\", x2: \"9\", y1: \"12\", y2: \"12\", key: \"1dyftd\" }],\n [\"line\", { x1: \"15\", x2: \"21\", y1: \"12\", y2: \"12\", key: \"oup4p8\" }]\n]);\n\nexport { GitCommitHorizontal as default };\n//# sourceMappingURL=git-commit-horizontal.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Globe = createLucideIcon(\"Globe\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20\", key: \"13o1zl\" }],\n [\"path\", { d: \"M2 12h20\", key: \"9i4pu4\" }]\n]);\n\nexport { Globe as default };\n//# sourceMappingURL=globe.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Info = createLucideIcon(\"Info\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 16v-4\", key: \"1dtifu\" }],\n [\"path\", { d: \"M12 8h.01\", key: \"e9boi3\" }]\n]);\n\nexport { Info as default };\n//# sourceMappingURL=info.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst LayoutDashboard = createLucideIcon(\"LayoutDashboard\", [\n [\"rect\", { width: \"7\", height: \"9\", x: \"3\", y: \"3\", rx: \"1\", key: \"10lvy0\" }],\n [\"rect\", { width: \"7\", height: \"5\", x: \"14\", y: \"3\", rx: \"1\", key: \"16une8\" }],\n [\"rect\", { width: \"7\", height: \"9\", x: \"14\", y: \"12\", rx: \"1\", key: \"1hutg5\" }],\n [\"rect\", { width: \"7\", height: \"5\", x: \"3\", y: \"16\", rx: \"1\", key: \"ldoo1y\" }]\n]);\n\nexport { LayoutDashboard as default };\n//# sourceMappingURL=layout-dashboard.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ListTodo = createLucideIcon(\"ListTodo\", [\n [\"rect\", { x: \"3\", y: \"5\", width: \"6\", height: \"6\", rx: \"1\", key: \"1defrl\" }],\n [\"path\", { d: \"m3 17 2 2 4-4\", key: \"1jhpwq\" }],\n [\"path\", { d: \"M13 6h8\", key: \"15sg57\" }],\n [\"path\", { d: \"M13 12h8\", key: \"h98zly\" }],\n [\"path\", { d: \"M13 18h8\", key: \"oe0vm4\" }]\n]);\n\nexport { ListTodo as default };\n//# sourceMappingURL=list-todo.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst LoaderCircle = createLucideIcon(\"LoaderCircle\", [\n [\"path\", { d: \"M21 12a9 9 0 1 1-6.219-8.56\", key: \"13zald\" }]\n]);\n\nexport { LoaderCircle as default };\n//# sourceMappingURL=loader-circle.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Menu = createLucideIcon(\"Menu\", [\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"12\", y2: \"12\", key: \"1e0a9i\" }],\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"6\", y2: \"6\", key: \"1owob3\" }],\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"18\", y2: \"18\", key: \"yk5zj1\" }]\n]);\n\nexport { Menu as default };\n//# sourceMappingURL=menu.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst MessageSquare = createLucideIcon(\"MessageSquare\", [\n [\"path\", { d: \"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\", key: \"1lielz\" }]\n]);\n\nexport { MessageSquare as default };\n//# sourceMappingURL=message-square.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Minus = createLucideIcon(\"Minus\", [[\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }]]);\n\nexport { Minus as default };\n//# sourceMappingURL=minus.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Pen = createLucideIcon(\"Pen\", [\n [\"path\", { d: \"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z\", key: \"5qss01\" }]\n]);\n\nexport { Pen as default };\n//# sourceMappingURL=pen.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Pencil = createLucideIcon(\"Pencil\", [\n [\"path\", { d: \"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z\", key: \"5qss01\" }],\n [\"path\", { d: \"m15 5 4 4\", key: \"1mk7zo\" }]\n]);\n\nexport { Pencil as default };\n//# sourceMappingURL=pencil.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Save = createLucideIcon(\"Save\", [\n [\n \"path\",\n {\n d: \"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z\",\n key: \"1c8476\"\n }\n ],\n [\"path\", { d: \"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7\", key: \"1ydtos\" }],\n [\"path\", { d: \"M7 3v4a1 1 0 0 0 1 1h7\", key: \"t51u73\" }]\n]);\n\nexport { Save as default };\n//# sourceMappingURL=save.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Search = createLucideIcon(\"Search\", [\n [\"circle\", { cx: \"11\", cy: \"11\", r: \"8\", key: \"4ej97u\" }],\n [\"path\", { d: \"m21 21-4.3-4.3\", key: \"1qie3q\" }]\n]);\n\nexport { Search as default };\n//# sourceMappingURL=search.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ShieldAlert = createLucideIcon(\"ShieldAlert\", [\n [\n \"path\",\n {\n d: \"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\",\n key: \"oel41y\"\n }\n ],\n [\"path\", { d: \"M12 8v4\", key: \"1got3b\" }],\n [\"path\", { d: \"M12 16h.01\", key: \"1drbdi\" }]\n]);\n\nexport { ShieldAlert as default };\n//# sourceMappingURL=shield-alert.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Syringe = createLucideIcon(\"Syringe\", [\n [\"path\", { d: \"m18 2 4 4\", key: \"22kx64\" }],\n [\"path\", { d: \"m17 7 3-3\", key: \"1w1zoj\" }],\n [\"path\", { d: \"M19 9 8.7 19.3c-1 1-2.5 1-3.4 0l-.6-.6c-1-1-1-2.5 0-3.4L15 5\", key: \"1exhtz\" }],\n [\"path\", { d: \"m9 11 4 4\", key: \"rovt3i\" }],\n [\"path\", { d: \"m5 19-3 3\", key: \"59f2uf\" }],\n [\"path\", { d: \"m14 4 6 6\", key: \"yqp9t2\" }]\n]);\n\nexport { Syringe as default };\n//# sourceMappingURL=syringe.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Terminal = createLucideIcon(\"Terminal\", [\n [\"polyline\", { points: \"4 17 10 11 4 5\", key: \"akl6gq\" }],\n [\"line\", { x1: \"12\", x2: \"20\", y1: \"19\", y2: \"19\", key: \"q2wloq\" }]\n]);\n\nexport { Terminal as default };\n//# sourceMappingURL=terminal.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst TrendingDown = createLucideIcon(\"TrendingDown\", [\n [\"polyline\", { points: \"22 17 13.5 8.5 8.5 13.5 2 7\", key: \"1r2t7k\" }],\n [\"polyline\", { points: \"16 17 22 17 22 11\", key: \"11uiuu\" }]\n]);\n\nexport { TrendingDown as default };\n//# sourceMappingURL=trending-down.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst TrendingUp = createLucideIcon(\"TrendingUp\", [\n [\"polyline\", { points: \"22 7 13.5 15.5 8.5 10.5 2 17\", key: \"126l90\" }],\n [\"polyline\", { points: \"16 7 22 7 22 13\", key: \"kwv8wd\" }]\n]);\n\nexport { TrendingUp as default };\n//# sourceMappingURL=trending-up.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst TriangleAlert = createLucideIcon(\"TriangleAlert\", [\n [\n \"path\",\n {\n d: \"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\",\n key: \"wmoenq\"\n }\n ],\n [\"path\", { d: \"M12 9v4\", key: \"juzpu7\" }],\n [\"path\", { d: \"M12 17h.01\", key: \"p32p05\" }]\n]);\n\nexport { TriangleAlert as default };\n//# sourceMappingURL=triangle-alert.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Wrench = createLucideIcon(\"Wrench\", [\n [\n \"path\",\n {\n d: \"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z\",\n key: \"cbrjhi\"\n }\n ]\n]);\n\nexport { Wrench as default };\n//# sourceMappingURL=wrench.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst X = createLucideIcon(\"X\", [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n]);\n\nexport { X as default };\n//# sourceMappingURL=x.js.map\n","/**\n * @license lucide-react v0.379.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Zap = createLucideIcon(\"Zap\", [\n [\n \"path\",\n {\n d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\",\n key: \"1xq2db\"\n }\n ]\n]);\n\nexport { Zap as default };\n//# sourceMappingURL=zap.js.map\n"],"names":["toKebabCase","string","mergeClasses","classes","className","index","array","defaultAttributes","Icon","forwardRef","color","size","strokeWidth","absoluteStrokeWidth","children","iconNode","rest","ref","createElement","tag","attrs","createLucideIcon","iconName","Component","props","Activity","ArrowLeft","BookOpen","Bot","ChevronDown","ChevronRight","CircleAlert","CircleCheckBig","CircleCheck","CircleX","Clock","Cpu","Download","EyeOff","Eye","FilePen","FileText","Filter","FolderOpen","GitCommitHorizontal","Globe","Info","LayoutDashboard","ListTodo","LoaderCircle","Menu","MessageSquare","Minus","Pen","Pencil","Save","Search","ShieldAlert","Syringe","Terminal","TrendingDown","TrendingUp","TriangleAlert","Wrench","X","Zap"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44]}
@@ -0,0 +1,2 @@
1
+ function n(t){if(!t)return new Date(0);const e=t.trim();return e.endsWith("Z")||/[+-]\d{2}:\d{2}$/.test(e)?new Date(e):new Date(e+"Z")}export{n as p};
2
+ //# sourceMappingURL=time-Bxuk0M-C.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-Bxuk0M-C.js","sources":["../../src/utils/time.ts"],"sourcesContent":["/**\n * SQLite stores ISO timestamps without 'Z' suffix.\n * JS `new Date()` treats such strings as local time, causing an offset.\n * This helper ensures the timestamp is always parsed as UTC.\n */\nexport function parseUTC(timestamp: string | null | undefined): Date {\n if (!timestamp) return new Date(0);\n const s = timestamp.trim();\n if (s.endsWith('Z') || /[+-]\\d{2}:\\d{2}$/.test(s)) {\n return new Date(s);\n }\n return new Date(s + 'Z');\n}\n"],"names":["parseUTC","timestamp","s"],"mappings":"AAKO,SAASA,EAASC,EAA4C,CACnE,GAAI,CAACA,EAAW,OAAO,IAAI,KAAK,CAAC,EACjC,MAAMC,EAAID,EAAU,KAAA,EACpB,OAAIC,EAAE,SAAS,GAAG,GAAK,mBAAmB,KAAKA,CAAC,EACvC,IAAI,KAAKA,CAAC,EAEZ,IAAI,KAAKA,EAAI,GAAG,CACzB"}
@@ -5,14 +5,14 @@
5
5
  <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>Claude Forge 管理后台</title>
8
- <script type="module" crossorigin src="/assets/index-Cgr9qMtq.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-DxIbmNmr.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/react-vendor-CSp-GLFF.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/vendor-CMMjVdZs.js">
11
11
  <link rel="modulepreload" crossorigin href="/assets/react-router-I-HqunH7.js">
12
12
  <link rel="modulepreload" crossorigin href="/assets/query-C99w429o.js">
13
13
  <link rel="modulepreload" crossorigin href="/assets/syntax-highlighter-44FakypI.js">
14
- <link rel="modulepreload" crossorigin href="/assets/lucide-53bR2rki.js">
15
- <link rel="stylesheet" crossorigin href="/assets/index-CngWb5gC.css">
14
+ <link rel="modulepreload" crossorigin href="/assets/lucide-fJlPI3H7.js">
15
+ <link rel="stylesheet" crossorigin href="/assets/index-D8AKj26b.css">
16
16
  </head>
17
17
  <body>
18
18
  <div id="root"></div>
@@ -0,0 +1,129 @@
1
+ # 并发 Agent 功能
2
+
3
+ ## 概述
4
+
5
+ 支持一次路由到多个 agent 并发执行,提升吞吐 3-5x。适用于多个独立任务可以并行处理的场景。
6
+
7
+ ## 配置示例
8
+
9
+ 在 `src/engine/conventions/routing.yaml` 或用户覆盖文件 `~/.claude-forge/routing.yaml` 中添加规则:
10
+
11
+ ```yaml
12
+ schemaVersion: "1.0"
13
+ rules:
14
+ - when:
15
+ taskType: multi_domain
16
+ complexity: [moderate, complex]
17
+ action:
18
+ type: route_to_agent_group
19
+ agents:
20
+ - name: coder
21
+ focus: "前端 UI 实现"
22
+ - name: tester
23
+ focus: "单元测试编写"
24
+ - name: doc-reviewer
25
+ focus: "文档审校"
26
+ rationale: "三个任务独立,可并发执行"
27
+
28
+ - when:
29
+ default: true
30
+ action:
31
+ type: route_to_skill
32
+ strategy: best_match
33
+ ```
34
+
35
+ ## 使用方式
36
+
37
+ ### 用户输入
38
+
39
+ ```
40
+ 开启多个 Agent 进行后续任务
41
+ ```
42
+
43
+ ### 系统响应
44
+
45
+ ```
46
+ 根据路由决策,请并发启动以下 agent:
47
+
48
+ 1. **coder** — 前端 UI 实现
49
+ 2. **tester** — 单元测试编写
50
+ 3. **doc-reviewer** — 文档审校
51
+
52
+ 在同一个回答里发起所有 Task 调用。
53
+ ```
54
+
55
+ ### 实际执行
56
+
57
+ 系统会在同一个响应中并发调用多个 Agent 工具:
58
+
59
+ ```typescript
60
+ // 伪代码示例
61
+ Agent({ subagent_type: "coder", prompt: "实现前端 UI", run_in_background: true });
62
+ Agent({ subagent_type: "tester", prompt: "编写单元测试", run_in_background: true });
63
+ Agent({ subagent_type: "doc-reviewer", prompt: "审校文档", run_in_background: true });
64
+ ```
65
+
66
+ ## 限制
67
+
68
+ - **最多并发 5 个 agent**:避免资源争抢和上下文混乱
69
+ - **任务必须独立**:agent 之间不能有依赖关系(如 A 的输出是 B 的输入)
70
+ - **每个 agent 必须设置 `run_in_background=true`**:确保并发执行而非串行等待
71
+
72
+ ## 监控
73
+
74
+ RoutingObserver 会检查:
75
+
76
+ - 是否调用了推荐的 agent
77
+ - 是否设置了 `run_in_background=true`
78
+ - 部分遵守(推荐 3 个调用 2 个)不算 refusal
79
+
80
+ ## 适用场景
81
+
82
+ ✅ **适合并发**:
83
+ - 前端 + 后端 + 测试独立开发
84
+ - 多个模块的文档审校
85
+ - 不同子系统的性能优化
86
+
87
+ ❌ **不适合并发**:
88
+ - 需要先设计架构再实现代码(有依赖)
89
+ - 需要先修复 bug 再编写测试(有顺序)
90
+ - 需要先重构再优化性能(有前置条件)
91
+
92
+ ## 配置验证
93
+
94
+ 验证规则是否正确加载:
95
+
96
+ ```bash
97
+ # 查看当前加载的路由规则
98
+ npx tsx scripts/demo-routing.ts
99
+
100
+ # 或通过 Web UI 查看
101
+ # 访问 http://localhost:3000/routing
102
+ ```
103
+
104
+ ## 故障排查
105
+
106
+ ### 问题:agent 没有并发执行
107
+
108
+ **原因**:可能是 `run_in_background` 未设置或路由决策未生效。
109
+
110
+ **解决**:
111
+ 1. 检查 `routing.yaml` 中的 `when` 条件是否匹配
112
+ 2. 确认 RoutingObserver 日志中是否有 "route_to_agent_group" 决策
113
+ 3. 验证 Agent 调用时是否传递了 `run_in_background: true`
114
+
115
+ ### 问题:部分 agent 被跳过
116
+
117
+ **原因**:可能是某些 agent 被自动禁用(auto-disable)。
118
+
119
+ **解决**:
120
+ 1. 检查 `~/.claude-forge/auto-disable.json` 中的禁用记录
121
+ 2. 通过 Web UI 手动启用被禁用的 agent
122
+ 3. 调整 auto-disable 阈值(默认连续 3 次拒绝后禁用)
123
+
124
+ ## 相关文件
125
+
126
+ - `src/engine/agent-router.ts` — 路由决策核心逻辑
127
+ - `src/engine/conventions/routing.yaml` — 默认路由规则
128
+ - `tests/unit/agent-router-concurrent.test.ts` — 并发路由单元测试
129
+ - `src/daemon/handlers/routing-observer.ts` — 路由遵守度监控