@nocobase/app-plugin-agents 0.1.0-beta.11 → 0.1.0-beta.13

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 (330) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/README.md +22 -2
  3. package/dist/client/api/client.d.ts +9 -4
  4. package/dist/client/api/client.d.ts.map +1 -1
  5. package/dist/client/api/client.js +9 -0
  6. package/dist/client/api/client.js.map +1 -1
  7. package/dist/client/api/keys.d.ts +3 -0
  8. package/dist/client/api/keys.d.ts.map +1 -1
  9. package/dist/client/api/keys.js +3 -0
  10. package/dist/client/api/keys.js.map +1 -1
  11. package/dist/client/api/runners.d.ts +8 -4
  12. package/dist/client/api/runners.d.ts.map +1 -1
  13. package/dist/client/api/runners.js +9 -0
  14. package/dist/client/api/runners.js.map +1 -1
  15. package/dist/client/chat/keys.d.ts.map +1 -1
  16. package/dist/client/chat/keys.js +2 -1
  17. package/dist/client/chat/keys.js.map +1 -1
  18. package/dist/client/chat/use-chat.d.ts.map +1 -1
  19. package/dist/client/chat/use-chat.js +8 -1
  20. package/dist/client/chat/use-chat.js.map +1 -1
  21. package/dist/client/components/quota-status.d.ts +16 -0
  22. package/dist/client/components/quota-status.d.ts.map +1 -0
  23. package/dist/client/components/quota-status.js +39 -0
  24. package/dist/client/components/quota-status.js.map +1 -0
  25. package/dist/client/components/runners-refresh.d.ts.map +1 -1
  26. package/dist/client/components/runners-refresh.js +1 -0
  27. package/dist/client/components/runners-refresh.js.map +1 -1
  28. package/dist/client/components/variables/variable-dialogs.d.ts.map +1 -1
  29. package/dist/client/components/variables/variable-dialogs.js +7 -7
  30. package/dist/client/components/variables/variable-dialogs.js.map +1 -1
  31. package/dist/client/config.d.ts +2 -0
  32. package/dist/client/config.d.ts.map +1 -1
  33. package/dist/client/config.js +2 -0
  34. package/dist/client/config.js.map +1 -1
  35. package/dist/client/hooks/use-quota-expiry.d.ts +7 -0
  36. package/dist/client/hooks/use-quota-expiry.d.ts.map +1 -0
  37. package/dist/client/hooks/use-quota-expiry.js +92 -0
  38. package/dist/client/hooks/use-quota-expiry.js.map +1 -0
  39. package/dist/client/kit.d.ts +5 -0
  40. package/dist/client/kit.d.ts.map +1 -1
  41. package/dist/client/kit.js +25 -0
  42. package/dist/client/kit.js.map +1 -1
  43. package/dist/client/lib/agents.d.ts +1 -1
  44. package/dist/client/lib/agents.d.ts.map +1 -1
  45. package/dist/client/lib/agents.js +2 -1
  46. package/dist/client/lib/agents.js.map +1 -1
  47. package/dist/client/lib/format.d.ts +3 -1
  48. package/dist/client/lib/format.d.ts.map +1 -1
  49. package/dist/client/lib/format.js +25 -0
  50. package/dist/client/lib/format.js.map +1 -1
  51. package/dist/client/lib/skill-settings-context.d.ts +9 -0
  52. package/dist/client/lib/skill-settings-context.d.ts.map +1 -0
  53. package/dist/client/lib/skill-settings-context.js +4 -0
  54. package/dist/client/lib/skill-settings-context.js.map +1 -0
  55. package/dist/client/lib/skill-settings.d.ts +12 -0
  56. package/dist/client/lib/skill-settings.d.ts.map +1 -0
  57. package/dist/client/lib/skill-settings.js +37 -0
  58. package/dist/client/lib/skill-settings.js.map +1 -0
  59. package/dist/client/locales/en-US.d.ts +1 -0
  60. package/dist/client/locales/en-US.d.ts.map +1 -1
  61. package/dist/client/locales/en-US.js +1 -0
  62. package/dist/client/locales/en-US.js.map +1 -1
  63. package/dist/client/locales/runtimes.en-US.d.ts +72 -0
  64. package/dist/client/locales/runtimes.en-US.d.ts.map +1 -1
  65. package/dist/client/locales/runtimes.en-US.js +73 -1
  66. package/dist/client/locales/runtimes.en-US.js.map +1 -1
  67. package/dist/client/locales/runtimes.zh-CN.d.ts.map +1 -1
  68. package/dist/client/locales/runtimes.zh-CN.js +72 -0
  69. package/dist/client/locales/runtimes.zh-CN.js.map +1 -1
  70. package/dist/client/locales/skills.en-US.d.ts +6 -0
  71. package/dist/client/locales/skills.en-US.d.ts.map +1 -1
  72. package/dist/client/locales/skills.en-US.js +6 -0
  73. package/dist/client/locales/skills.en-US.js.map +1 -1
  74. package/dist/client/locales/skills.zh-CN.d.ts.map +1 -1
  75. package/dist/client/locales/skills.zh-CN.js +6 -0
  76. package/dist/client/locales/skills.zh-CN.js.map +1 -1
  77. package/dist/client/locales/zh-CN.d.ts.map +1 -1
  78. package/dist/client/locales/zh-CN.js +1 -0
  79. package/dist/client/locales/zh-CN.js.map +1 -1
  80. package/dist/client/pages/agents/agent-dialog.d.ts.map +1 -1
  81. package/dist/client/pages/agents/agent-dialog.js +4 -4
  82. package/dist/client/pages/agents/agent-dialog.js.map +1 -1
  83. package/dist/client/pages/agents/runner-agents.d.ts.map +1 -1
  84. package/dist/client/pages/agents/runner-agents.js +23 -10
  85. package/dist/client/pages/agents/runner-agents.js.map +1 -1
  86. package/dist/client/pages/runtimes/connect.js.map +1 -1
  87. package/dist/client/pages/runtimes/index.d.ts.map +1 -1
  88. package/dist/client/pages/runtimes/index.js +1 -1
  89. package/dist/client/pages/runtimes/index.js.map +1 -1
  90. package/dist/client/pages/runtimes/quota-targets.d.ts +4 -0
  91. package/dist/client/pages/runtimes/quota-targets.d.ts.map +1 -0
  92. package/dist/client/pages/runtimes/quota-targets.js +18 -0
  93. package/dist/client/pages/runtimes/quota-targets.js.map +1 -0
  94. package/dist/client/pages/runtimes/quota.d.ts +17 -0
  95. package/dist/client/pages/runtimes/quota.d.ts.map +1 -0
  96. package/dist/client/pages/runtimes/quota.js +48 -0
  97. package/dist/client/pages/runtimes/quota.js.map +1 -0
  98. package/dist/client/pages/runtimes/runner-cells.d.ts +11 -4
  99. package/dist/client/pages/runtimes/runner-cells.d.ts.map +1 -1
  100. package/dist/client/pages/runtimes/runner-cells.js +2 -2
  101. package/dist/client/pages/runtimes/runner-cells.js.map +1 -1
  102. package/dist/client/pages/runtimes/runner-overview.d.ts +9 -0
  103. package/dist/client/pages/runtimes/runner-overview.d.ts.map +1 -0
  104. package/dist/client/pages/runtimes/runner-overview.js +109 -0
  105. package/dist/client/pages/runtimes/runner-overview.js.map +1 -0
  106. package/dist/client/pages/runtimes/runner-runs.d.ts +5 -0
  107. package/dist/client/pages/runtimes/runner-runs.d.ts.map +1 -0
  108. package/dist/client/pages/runtimes/runner-runs.js +35 -0
  109. package/dist/client/pages/runtimes/runner-runs.js.map +1 -0
  110. package/dist/client/pages/runtimes/runner-sheet.d.ts +2 -3
  111. package/dist/client/pages/runtimes/runner-sheet.d.ts.map +1 -1
  112. package/dist/client/pages/runtimes/runner-sheet.js +43 -171
  113. package/dist/client/pages/runtimes/runner-sheet.js.map +1 -1
  114. package/dist/client/pages/runtimes/runner-tools.d.ts +17 -0
  115. package/dist/client/pages/runtimes/runner-tools.d.ts.map +1 -0
  116. package/dist/client/pages/runtimes/runner-tools.js +75 -0
  117. package/dist/client/pages/runtimes/runner-tools.js.map +1 -0
  118. package/dist/client/pages/runtimes/runner-workspaces.d.ts +6 -0
  119. package/dist/client/pages/runtimes/runner-workspaces.d.ts.map +1 -0
  120. package/dist/client/pages/runtimes/runner-workspaces.js +37 -0
  121. package/dist/client/pages/runtimes/runner-workspaces.js.map +1 -0
  122. package/dist/client/pages/runtimes/tool-slots-fields.js +1 -1
  123. package/dist/client/pages/runtimes/tool-slots-fields.js.map +1 -1
  124. package/dist/client/pages/runtimes/workspace-diagnostics.d.ts +6 -4
  125. package/dist/client/pages/runtimes/workspace-diagnostics.d.ts.map +1 -1
  126. package/dist/client/pages/runtimes/workspace-diagnostics.js +61 -37
  127. package/dist/client/pages/runtimes/workspace-diagnostics.js.map +1 -1
  128. package/dist/client/pages/skills/detail/index.d.ts.map +1 -1
  129. package/dist/client/pages/skills/detail/index.js +11 -12
  130. package/dist/client/pages/skills/detail/index.js.map +1 -1
  131. package/dist/database/migrations/.manifest.json +4 -0
  132. package/dist/database/migrations/202610170001_ag_runner_quota.d.ts +4 -0
  133. package/dist/database/migrations/202610170001_ag_runner_quota.d.ts.map +1 -0
  134. package/dist/database/migrations/202610170001_ag_runner_quota.js +19 -0
  135. package/dist/database/migrations/202610170001_ag_runner_quota.js.map +1 -0
  136. package/dist/package.json +1 -1
  137. package/dist/server/cli/surface.d.ts.map +1 -1
  138. package/dist/server/cli/surface.js +4 -1
  139. package/dist/server/cli/surface.js.map +1 -1
  140. package/dist/server/composition.d.ts +2 -0
  141. package/dist/server/composition.d.ts.map +1 -1
  142. package/dist/server/composition.js +15 -4
  143. package/dist/server/composition.js.map +1 -1
  144. package/dist/server/core/agents/agent.service.d.ts.map +1 -1
  145. package/dist/server/core/agents/agent.service.js +5 -1
  146. package/dist/server/core/agents/agent.service.js.map +1 -1
  147. package/dist/server/core/agents/agent.store.d.ts +2 -0
  148. package/dist/server/core/agents/agent.store.d.ts.map +1 -1
  149. package/dist/server/core/agents/agent.store.js +10 -0
  150. package/dist/server/core/agents/agent.store.js.map +1 -1
  151. package/dist/server/core/agents/agent.views.d.ts.map +1 -1
  152. package/dist/server/core/agents/agent.views.js +2 -0
  153. package/dist/server/core/agents/agent.views.js.map +1 -1
  154. package/dist/server/core/agents/index.d.ts +1 -1
  155. package/dist/server/core/agents/index.d.ts.map +1 -1
  156. package/dist/server/core/agents/index.js +1 -1
  157. package/dist/server/core/agents/index.js.map +1 -1
  158. package/dist/server/core/brief/brief.js +2 -2
  159. package/dist/server/core/brief/brief.js.map +1 -1
  160. package/dist/server/core/callers/index.d.ts +9 -0
  161. package/dist/server/core/callers/index.d.ts.map +1 -1
  162. package/dist/server/core/callers/index.js +15 -0
  163. package/dist/server/core/callers/index.js.map +1 -1
  164. package/dist/server/core/conversations/chat-settings.d.ts.map +1 -1
  165. package/dist/server/core/conversations/chat-settings.js +12 -2
  166. package/dist/server/core/conversations/chat-settings.js.map +1 -1
  167. package/dist/server/core/conversations/conversation.service.d.ts +1 -1
  168. package/dist/server/core/conversations/conversation.service.d.ts.map +1 -1
  169. package/dist/server/core/conversations/conversation.service.js +32 -4
  170. package/dist/server/core/conversations/conversation.service.js.map +1 -1
  171. package/dist/server/core/reports/model-usage.d.ts.map +1 -1
  172. package/dist/server/core/reports/model-usage.js +42 -44
  173. package/dist/server/core/reports/model-usage.js.map +1 -1
  174. package/dist/server/core/reports/prices.d.ts.map +1 -1
  175. package/dist/server/core/reports/prices.js +29 -5
  176. package/dist/server/core/reports/prices.js.map +1 -1
  177. package/dist/server/core/reports/report.service.d.ts +4 -2
  178. package/dist/server/core/reports/report.service.d.ts.map +1 -1
  179. package/dist/server/core/reports/report.service.js +147 -68
  180. package/dist/server/core/reports/report.service.js.map +1 -1
  181. package/dist/server/core/runs/availability.d.ts +5 -1
  182. package/dist/server/core/runs/availability.d.ts.map +1 -1
  183. package/dist/server/core/runs/availability.js +8 -2
  184. package/dist/server/core/runs/availability.js.map +1 -1
  185. package/dist/server/core/runs/claim.d.ts +7 -48
  186. package/dist/server/core/runs/claim.d.ts.map +1 -1
  187. package/dist/server/core/runs/claim.js +93 -71
  188. package/dist/server/core/runs/claim.js.map +1 -1
  189. package/dist/server/core/runs/eligibility.d.ts +11 -1
  190. package/dist/server/core/runs/eligibility.d.ts.map +1 -1
  191. package/dist/server/core/runs/eligibility.js +38 -7
  192. package/dist/server/core/runs/eligibility.js.map +1 -1
  193. package/dist/server/core/runs/execution-view.d.ts +8 -0
  194. package/dist/server/core/runs/execution-view.d.ts.map +1 -1
  195. package/dist/server/core/runs/execution-view.js +9 -0
  196. package/dist/server/core/runs/execution-view.js.map +1 -1
  197. package/dist/server/core/runs/execution.d.ts +1 -1
  198. package/dist/server/core/runs/execution.d.ts.map +1 -1
  199. package/dist/server/core/runs/execution.js +8 -2
  200. package/dist/server/core/runs/execution.js.map +1 -1
  201. package/dist/server/core/runs/index.d.ts +3 -3
  202. package/dist/server/core/runs/index.d.ts.map +1 -1
  203. package/dist/server/core/runs/index.js +3 -3
  204. package/dist/server/core/runs/index.js.map +1 -1
  205. package/dist/server/core/runs/lifecycle.d.ts +9 -0
  206. package/dist/server/core/runs/lifecycle.d.ts.map +1 -1
  207. package/dist/server/core/runs/lifecycle.js +102 -18
  208. package/dist/server/core/runs/lifecycle.js.map +1 -1
  209. package/dist/server/core/runs/policy.d.ts +9 -2
  210. package/dist/server/core/runs/policy.d.ts.map +1 -1
  211. package/dist/server/core/runs/policy.js +17 -8
  212. package/dist/server/core/runs/policy.js.map +1 -1
  213. package/dist/server/core/runs/run.service.d.ts +11 -1
  214. package/dist/server/core/runs/run.service.d.ts.map +1 -1
  215. package/dist/server/core/runs/run.service.js +32 -2
  216. package/dist/server/core/runs/run.service.js.map +1 -1
  217. package/dist/server/core/runs/run.store.d.ts +5 -0
  218. package/dist/server/core/runs/run.store.d.ts.map +1 -1
  219. package/dist/server/core/runs/run.store.js +35 -11
  220. package/dist/server/core/runs/run.store.js.map +1 -1
  221. package/dist/server/core/runs/runner-view.d.ts +11 -1
  222. package/dist/server/core/runs/runner-view.d.ts.map +1 -1
  223. package/dist/server/core/runs/runner-view.js +51 -6
  224. package/dist/server/core/runs/runner-view.js.map +1 -1
  225. package/dist/server/core/runs/sweeper.d.ts.map +1 -1
  226. package/dist/server/core/runs/sweeper.js +12 -8
  227. package/dist/server/core/runs/sweeper.js.map +1 -1
  228. package/dist/server/core/runs/transitions.d.ts +5 -1
  229. package/dist/server/core/runs/transitions.d.ts.map +1 -1
  230. package/dist/server/core/runs/transitions.js +31 -11
  231. package/dist/server/core/runs/transitions.js.map +1 -1
  232. package/dist/server/core/runs/workload.d.ts +17 -6
  233. package/dist/server/core/runs/workload.d.ts.map +1 -1
  234. package/dist/server/core/runs/workload.js +186 -129
  235. package/dist/server/core/runs/workload.js.map +1 -1
  236. package/dist/server/core/skills/skill.service.d.ts.map +1 -1
  237. package/dist/server/core/skills/skill.service.js +44 -8
  238. package/dist/server/core/skills/skill.service.js.map +1 -1
  239. package/dist/server/core/transaction-read.d.ts +4 -0
  240. package/dist/server/core/transaction-read.d.ts.map +1 -0
  241. package/dist/server/core/transaction-read.js +30 -0
  242. package/dist/server/core/transaction-read.js.map +1 -0
  243. package/dist/server/core/variables/index.d.ts +1 -1
  244. package/dist/server/core/variables/index.d.ts.map +1 -1
  245. package/dist/server/core/variables/index.js.map +1 -1
  246. package/dist/server/core/variables/variable.service.d.ts +18 -0
  247. package/dist/server/core/variables/variable.service.d.ts.map +1 -1
  248. package/dist/server/core/variables/variable.service.js +95 -20
  249. package/dist/server/core/variables/variable.service.js.map +1 -1
  250. package/dist/server/index.d.ts +2 -0
  251. package/dist/server/index.d.ts.map +1 -1
  252. package/dist/server/index.js +2 -0
  253. package/dist/server/index.js.map +1 -1
  254. package/dist/server/kernel/events.d.ts +4 -2
  255. package/dist/server/kernel/events.d.ts.map +1 -1
  256. package/dist/server/kernel/events.js.map +1 -1
  257. package/dist/server/kernel/scopes.d.ts +6 -0
  258. package/dist/server/kernel/scopes.d.ts.map +1 -1
  259. package/dist/server/kernel/scopes.js.map +1 -1
  260. package/dist/server/online/services.d.ts.map +1 -1
  261. package/dist/server/online/services.js +101 -24
  262. package/dist/server/online/services.js.map +1 -1
  263. package/dist/server/providers/agents.d.ts +9 -1
  264. package/dist/server/providers/agents.d.ts.map +1 -1
  265. package/dist/server/providers/agents.js +3 -0
  266. package/dist/server/providers/agents.js.map +1 -1
  267. package/dist/server/providers/runners.d.ts +3 -1
  268. package/dist/server/providers/runners.d.ts.map +1 -1
  269. package/dist/server/providers/runners.js +12 -3
  270. package/dist/server/providers/runners.js.map +1 -1
  271. package/dist/server/routes/admin.d.ts +2 -0
  272. package/dist/server/routes/admin.d.ts.map +1 -1
  273. package/dist/server/routes/admin.js +18 -5
  274. package/dist/server/routes/admin.js.map +1 -1
  275. package/dist/server/routes/chat.d.ts.map +1 -1
  276. package/dist/server/routes/chat.js +27 -6
  277. package/dist/server/routes/chat.js.map +1 -1
  278. package/dist/server/routes/index.d.ts.map +1 -1
  279. package/dist/server/routes/index.js +3 -0
  280. package/dist/server/routes/index.js.map +1 -1
  281. package/dist/server/routes/runners/admin.d.ts.map +1 -1
  282. package/dist/server/routes/runners/admin.js +219 -25
  283. package/dist/server/routes/runners/admin.js.map +1 -1
  284. package/dist/server/routes/runners/install.d.ts.map +1 -1
  285. package/dist/server/routes/runners/install.js +7 -2
  286. package/dist/server/routes/runners/install.js.map +1 -1
  287. package/dist/server/routes/schemas.d.ts +13 -6
  288. package/dist/server/routes/schemas.d.ts.map +1 -1
  289. package/dist/server/routes/schemas.js +350 -66
  290. package/dist/server/routes/schemas.js.map +1 -1
  291. package/dist/server/runners/runner.service.d.ts +27 -3
  292. package/dist/server/runners/runner.service.d.ts.map +1 -1
  293. package/dist/server/runners/runner.service.js +336 -83
  294. package/dist/server/runners/runner.service.js.map +1 -1
  295. package/dist/server/runners/runner.store.d.ts +4 -2
  296. package/dist/server/runners/runner.store.d.ts.map +1 -1
  297. package/dist/server/runners/runner.store.js +24 -5
  298. package/dist/server/runners/runner.store.js.map +1 -1
  299. package/dist/server/runners/slots.d.ts +5 -2
  300. package/dist/server/runners/slots.d.ts.map +1 -1
  301. package/dist/server/runners/slots.js +3 -4
  302. package/dist/server/runners/slots.js.map +1 -1
  303. package/dist/shared/agents.d.ts +3 -0
  304. package/dist/shared/agents.d.ts.map +1 -1
  305. package/dist/shared/agents.js +0 -15
  306. package/dist/shared/agents.js.map +1 -1
  307. package/dist/shared/conversations.d.ts +6 -0
  308. package/dist/shared/conversations.d.ts.map +1 -1
  309. package/dist/shared/conversations.js.map +1 -1
  310. package/dist/shared/model-catalog.d.ts +5 -0
  311. package/dist/shared/model-catalog.d.ts.map +1 -1
  312. package/dist/shared/model-catalog.js +35 -1
  313. package/dist/shared/model-catalog.js.map +1 -1
  314. package/dist/shared/quota.d.ts +15 -0
  315. package/dist/shared/quota.d.ts.map +1 -0
  316. package/dist/shared/quota.js +2 -0
  317. package/dist/shared/quota.js.map +1 -0
  318. package/dist/shared/runners.d.ts +88 -5
  319. package/dist/shared/runners.d.ts.map +1 -1
  320. package/dist/shared/runners.js +126 -8
  321. package/dist/shared/runners.js.map +1 -1
  322. package/dist/shared/runs.d.ts +10 -0
  323. package/dist/shared/runs.d.ts.map +1 -1
  324. package/dist/shared/runs.js +22 -0
  325. package/dist/shared/runs.js.map +1 -1
  326. package/dist/shared/skills.d.ts +3 -1
  327. package/dist/shared/skills.d.ts.map +1 -1
  328. package/dist/shared/skills.js.map +1 -1
  329. package/package.json +14 -14
  330. package/skills/nocobase-app-plugin-agents/references/runners.md +12 -0
@@ -47,7 +47,7 @@ export function explainWait(run, context) {
47
47
  let fitting = context.runners;
48
48
  if (fitting.length === 0)
49
49
  return wait('noRunnerOnline');
50
- fitting = fitting.filter((runner) => agent.modelEntries.some((entry) => runsEntry(runner, entry)));
50
+ fitting = fitting.filter((runner) => agent.modelEntries.some((entry) => runsEntry(runner, entry, context.now.getTime())));
51
51
  if (fitting.length === 0)
52
52
  return wait('toolUnavailable', {
53
53
  tool,
@@ -93,7 +93,8 @@ export function explainWait(run, context) {
93
93
  // A tool has room on a runner below its limit here and while the runner last said it could take more of it.
94
94
  const hasRoom = (runner, each) => (context.runnerToolUsed?.get(runner.id)?.[each] ?? 0) <
95
95
  toolLimit(runner, each) && (runner.toolLoad?.[each]?.free ?? 1) > 0;
96
- if (free.every((runner) => !agent.modelEntries.some((entry) => runsEntry(runner, entry) && hasRoom(runner, entry.tool)))) {
96
+ if (free.every((runner) => !agent.modelEntries.some((entry) => runsEntry(runner, entry, context.now.getTime()) &&
97
+ hasRoom(runner, entry.tool)))) {
97
98
  const full = tools.find((each) => free.some((runner) => runsTool(runner, each))) ??
98
99
  null;
99
100
  // The runner that runs it with the fewest of its slots taken: the one closest to room.
@@ -152,19 +153,9 @@ function cut(text) {
152
153
  ? `${line.slice(0, RUN_ACTIVITY_TEXT_MAX - 1)}…`
153
154
  : line;
154
155
  }
155
- export async function readWorkload(conn, clock, runnerSource, query, diagnose) {
156
+ /** The queue as the claim sees it, in a fixed number of reads. */
157
+ async function readQueueState(conn, clock, runnerSource) {
156
158
  const now = clock.now();
157
- const limit = Math.min(Math.max(query.limit ?? DEFAULT_LIMIT, 1), MAX_LIMIT);
158
- const open = await runsRepo(conn).findMany({
159
- filter: (f) => f.and([
160
- f.string('subjectKind').eq(query.subjectKind),
161
- f.or(['queued', ...ACTIVE].map((status) => f.string('status').eq(status))),
162
- ]),
163
- sort: (sort) => [sort.field('createdAt').asc(), sort.field('id').asc()],
164
- limit: limit + 1,
165
- });
166
- const truncated = open.length > limit;
167
- const mine = open.slice(0, limit);
168
159
  const queued = (await runsRepo(conn).findMany({
169
160
  filter: { status: 'queued' },
170
161
  limit: QUEUE_SCAN,
@@ -209,6 +200,155 @@ export async function readWorkload(conn, clock, runnerSource, query, diagnose) {
209
200
  agentQueued.set(run.agentId, count);
210
201
  agentPosition.set(run.id, count);
211
202
  }
203
+ return {
204
+ now,
205
+ queued,
206
+ runners,
207
+ online,
208
+ agents,
209
+ agentById,
210
+ runnerUsed,
211
+ runnerToolUsed,
212
+ agentActive,
213
+ busyKeys,
214
+ position,
215
+ agentPosition,
216
+ agentQueued,
217
+ };
218
+ }
219
+ /** Why a queued run waits by the claim's rules alone, without reading anything more (`explainWait`). */
220
+ function quickWait(record, requires, state) {
221
+ return explainWait({ ...record, requires }, {
222
+ now: state.now,
223
+ agent: state.agentById.get(record.agentId) ?? null,
224
+ runners: state.online,
225
+ runnerUsed: state.runnerUsed,
226
+ runnerToolUsed: state.runnerToolUsed,
227
+ agentActive: state.agentActive.get(record.agentId) ?? 0,
228
+ sameWorkActive: state.busyKeys.has(keyOf(record)),
229
+ });
230
+ }
231
+ const DIAGNOSTIC_CODES = {
232
+ ready: 'next',
233
+ busy: 'runnersBusy',
234
+ updatePending: 'updatePending',
235
+ pruning: 'pruning',
236
+ offline: 'noRunnerOnline',
237
+ incompatible: 'incompatible',
238
+ restricted: 'restricted',
239
+ concurrencyFull: 'concurrencyFull',
240
+ sameWorkActive: 'sameWorkActive',
241
+ delayed: 'delayed',
242
+ toolUnavailable: 'toolUnavailable',
243
+ toolNotInstalled: 'toolNotInstalled',
244
+ noSharedRunner: 'noSharedRunner',
245
+ unknown: 'unknown',
246
+ };
247
+ /** The quick explanation refined by the claim's own read-only diagnosis of the run's candidates. */
248
+ function refineWait(record, previous, diagnostic, state) {
249
+ // Keep the established identity and protected-variable explanation, including its precise parameters.
250
+ const detailed = [
251
+ 'secretsNotAllowed',
252
+ 'delayed',
253
+ 'agentArchived',
254
+ 'setupRetrying',
255
+ ].includes(previous.reason);
256
+ const entry = diagnostic?.entries.find((entry) => entry.reason === 'ready') ??
257
+ diagnostic?.entries[0];
258
+ if (!entry || detailed)
259
+ return previous;
260
+ const agent = state.agentById.get(record.agentId);
261
+ const active = state.agentActive.get(record.agentId) ?? 0;
262
+ const loads = entry.runners.filter((runner) => runner.reason === undefined ||
263
+ runner.reason === 'ready' ||
264
+ runner.reason === 'busy');
265
+ const toolFull = entry.reason === 'busy' &&
266
+ loads.some((runner) => (runner.used ?? 0) < (runner.limit ?? 0)) &&
267
+ loads.every((runner) => (runner.toolUsed ?? 0) >= (runner.toolLimit ?? 0) ||
268
+ runner.reportedFree === 0);
269
+ return {
270
+ ...previous,
271
+ reason: entry.reason === 'ready' && Number(record.claimFailures) > 0
272
+ ? 'setupRetrying'
273
+ : toolFull
274
+ ? 'toolSlotsFull'
275
+ : DIAGNOSTIC_CODES[entry.reason],
276
+ params: {
277
+ blockers: (entry.blockers ?? [])
278
+ .filter((reason) => reason !== entry.reason)
279
+ .map((reason) => DIAGNOSTIC_CODES[reason]),
280
+ tool: entry.tool,
281
+ ...(entry.reason === 'concurrencyFull'
282
+ ? { active, limit: agent.maxConcurrentRuns }
283
+ : entry.reason === 'busy'
284
+ ? {
285
+ used: loads.reduce((n, runner) => n + (toolFull ? (runner.toolUsed ?? 0) : (runner.used ?? 0)), 0),
286
+ limit: loads.reduce((n, runner) => n +
287
+ (toolFull ? (runner.toolLimit ?? 0) : (runner.limit ?? 0)), 0),
288
+ runners: loads.length,
289
+ reportedFree: loads.map((runner) => String(runner.reportedTotalFree ?? '—')),
290
+ detail: loads
291
+ .map((runner) => `${entry.tool} ${runner.toolUsed}/${runner.toolLimit}${runner.reportedTotalFree === 0 ? '; global free 0' : ''}`)
292
+ .join('; '),
293
+ }
294
+ : {}),
295
+ },
296
+ };
297
+ }
298
+ /** The newest activity of each of `runIds` in two reads: the newest sequence of each, then those events. */
299
+ async function newestActivities(conn, runIds) {
300
+ const activity = new Map();
301
+ if (runIds.length === 0)
302
+ return activity;
303
+ const newest = await eventsRepo(conn).groupBy({
304
+ by: ['runId'],
305
+ aggregate: (aggregate) => ({ seq: aggregate.max('seq') }),
306
+ filter: (f) => f.and([
307
+ f.or(runIds.map((id) => f.string('runId').eq(id))),
308
+ f.or(ACTIVITY_TYPES.map((type) => f.string('type').eq(type))),
309
+ ]),
310
+ });
311
+ const pairs = newest.flatMap((group) => group.seq === null || group.seq === undefined
312
+ ? []
313
+ : [{ runId: String(group.runId), seq: Number(group.seq) }]);
314
+ if (pairs.length === 0)
315
+ return activity;
316
+ const events = await eventsRepo(conn).findMany({
317
+ filter: (f) => f.and([
318
+ f.or(pairs.map((pair) => f.and([
319
+ f.string('runId').eq(pair.runId),
320
+ f.number('seq').eq(pair.seq),
321
+ ]))),
322
+ f.or(ACTIVITY_TYPES.map((type) => f.string('type').eq(type))),
323
+ ]),
324
+ });
325
+ for (const event of events)
326
+ activity.set(event.runId, {
327
+ at: iso(event.at) ?? event.at,
328
+ type: event.type,
329
+ tool: event.tool,
330
+ text: cut(event.content ?? event.output),
331
+ });
332
+ return activity;
333
+ }
334
+ /**
335
+ * The open runs on one kind of subject, in a fixed number of reads whatever their number. A queued run says why it
336
+ * waits by the claim's rules alone (`explainWait`); `readQueueWait` gives one run's exact reason.
337
+ */
338
+ export async function readWorkload(conn, clock, runnerSource, query) {
339
+ const limit = Math.min(Math.max(query.limit ?? DEFAULT_LIMIT, 1), MAX_LIMIT);
340
+ const open = await runsRepo(conn).findMany({
341
+ filter: (f) => f.and([
342
+ f.string('subjectKind').eq(query.subjectKind),
343
+ f.or(['queued', ...ACTIVE].map((status) => f.string('status').eq(status))),
344
+ ]),
345
+ sort: (sort) => [sort.field('createdAt').asc(), sort.field('id').asc()],
346
+ limit: limit + 1,
347
+ });
348
+ const truncated = open.length > limit;
349
+ const mine = open.slice(0, limit);
350
+ const state = await readQueueState(conn, clock, runnerSource);
351
+ const { queued, runners, online, agents, runnerUsed, agentActive } = state;
212
352
  // The newest input's trigger, per open run.
213
353
  const ids = mine.map((run) => run.id);
214
354
  const triggers = new Map();
@@ -225,129 +365,25 @@ export async function readWorkload(conn, clock, runnerSource, query, diagnose) {
225
365
  triggers.set(input.runId, trigger);
226
366
  }
227
367
  }
228
- // The newest activity of each held run: at most one per runner slot.
229
- const activity = new Map();
230
- for (const run of mine) {
231
- if (!ACTIVE.includes(run.status))
232
- continue;
233
- const event = await eventsRepo(conn).findOne({
234
- filter: (f) => f.and([
235
- f.string('runId').eq(run.id),
236
- f.or(ACTIVITY_TYPES.map((type) => f.string('type').eq(type))),
237
- ]),
238
- sort: (sort) => sort.field('seq').desc(),
239
- });
240
- if (event)
241
- activity.set(run.id, {
242
- at: iso(event.at) ?? event.at,
243
- type: event.type,
244
- tool: event.tool,
245
- text: cut(event.content ?? event.output),
246
- });
247
- }
368
+ // The newest activity of each held run.
369
+ const activity = await newestActivities(conn, mine.filter((run) => ACTIVE.includes(run.status)).map((run) => run.id));
248
370
  const runnerName = new Map(runners.map((runner) => [runner.id, runner.name]));
249
- const runs = await Promise.all(mine.map(async (record) => {
371
+ const runs = mine.map((record) => {
250
372
  const run = toRun(record);
251
- const isQueued = record.status === 'queued';
252
- const candidateAgent = agentById.get(run.agentId);
253
- const diagnostic = isQueued && candidateAgent?.status === 'enabled' && diagnose
254
- ? await diagnose(conn, run, candidateAgent)
255
- : null;
256
- const previous = explainWait({ ...record, requires: run.requires }, {
257
- now,
258
- agent: candidateAgent ?? null,
259
- runners: online,
260
- runnerUsed,
261
- runnerToolUsed,
262
- agentActive: agentActive.get(run.agentId) ?? 0,
263
- sameWorkActive: busyKeys.has(keyOf(record)),
264
- });
265
- // Keep the established identity and protected-variable explanation, including its precise parameters.
266
- const detailed = [
267
- 'secretsNotAllowed',
268
- 'delayed',
269
- 'agentArchived',
270
- 'setupRetrying',
271
- ].includes(previous.reason);
272
- const entry = diagnostic?.entries.find((entry) => entry.reason === 'ready') ??
273
- diagnostic?.entries[0];
274
- const codes = {
275
- ready: 'next',
276
- busy: 'runnersBusy',
277
- updatePending: 'updatePending',
278
- pruning: 'pruning',
279
- offline: 'noRunnerOnline',
280
- incompatible: 'incompatible',
281
- restricted: 'restricted',
282
- concurrencyFull: 'concurrencyFull',
283
- sameWorkActive: 'sameWorkActive',
284
- delayed: 'delayed',
285
- toolUnavailable: 'toolUnavailable',
286
- toolNotInstalled: 'toolNotInstalled',
287
- noSharedRunner: 'noSharedRunner',
288
- unknown: 'unknown',
289
- };
290
- const loads = entry?.runners.filter((runner) => runner.reason === undefined ||
291
- runner.reason === 'ready' ||
292
- runner.reason === 'busy') ?? [];
293
- const toolFull = entry?.reason === 'busy' &&
294
- loads.some((runner) => (runner.used ?? 0) < (runner.limit ?? 0)) &&
295
- loads.every((runner) => (runner.toolUsed ?? 0) >= (runner.toolLimit ?? 0) ||
296
- runner.reportedFree === 0);
297
373
  return {
298
374
  ...run,
299
375
  trigger: triggers.get(run.id) ?? null,
300
- runnerName: run.runnerId
301
- ? (runnerName.get(run.runnerId) ?? null)
302
- : null,
376
+ runnerName: run.runnerId ? (runnerName.get(run.runnerId) ?? null) : null,
303
377
  lastActivity: activity.get(run.id) ?? null,
304
- wait: isQueued
378
+ wait: record.status === 'queued'
305
379
  ? {
306
- ...previous,
307
- ...(entry && !detailed
308
- ? {
309
- reason: entry.reason === 'ready' &&
310
- Number(record.claimFailures) > 0
311
- ? 'setupRetrying'
312
- : toolFull
313
- ? 'toolSlotsFull'
314
- : codes[entry.reason],
315
- params: {
316
- blockers: (entry.blockers ?? [])
317
- .filter((reason) => reason !== entry.reason)
318
- .map((reason) => codes[reason]),
319
- tool: entry.tool,
320
- ...(entry.reason === 'concurrencyFull'
321
- ? {
322
- active: agentActive.get(run.agentId) ?? 0,
323
- limit: candidateAgent.maxConcurrentRuns,
324
- }
325
- : entry.reason === 'busy'
326
- ? {
327
- used: loads.reduce((n, runner) => n +
328
- (toolFull
329
- ? (runner.toolUsed ?? 0)
330
- : (runner.used ?? 0)), 0),
331
- limit: loads.reduce((n, runner) => n +
332
- (toolFull
333
- ? (runner.toolLimit ?? 0)
334
- : (runner.limit ?? 0)), 0),
335
- runners: loads.length,
336
- reportedFree: loads.map((runner) => String(runner.reportedTotalFree ?? '—')),
337
- detail: loads
338
- .map((runner) => `${entry.tool} ${runner.toolUsed}/${runner.toolLimit}${runner.reportedTotalFree === 0 ? '; global free 0' : ''}`)
339
- .join('; '),
340
- }
341
- : {}),
342
- },
343
- }
344
- : {}),
345
- position: position.get(run.id) ?? null,
346
- agentPosition: agentPosition.get(run.id) ?? 1,
380
+ ...quickWait(record, run.requires, state),
381
+ position: state.position.get(run.id) ?? null,
382
+ agentPosition: state.agentPosition.get(run.id) ?? 1,
347
383
  }
348
384
  : null,
349
385
  };
350
- }));
386
+ });
351
387
  // Held runs first, the longest-running first; then queued ones in claim order.
352
388
  const order = new Map(queued.map((run, index) => [run.id, index]));
353
389
  runs.sort((a, b) => {
@@ -368,10 +404,10 @@ export async function readWorkload(conn, clock, runnerSource, query, diagnose) {
368
404
  loads.push({
369
405
  agentId: agent.id,
370
406
  active: agentActive.get(agent.id) ?? 0,
371
- queued: agentQueued.get(agent.id) ?? 0,
407
+ queued: state.agentQueued.get(agent.id) ?? 0,
372
408
  maxConcurrentRuns: agent.maxConcurrentRuns,
373
409
  online: agent.status === 'enabled' &&
374
- online.some((runner) => agent.modelEntries.some((entry) => runsEntry(runner, entry))),
410
+ online.some((runner) => agent.modelEntries.some((entry) => runsEntry(runner, entry, state.now.getTime()))),
375
411
  });
376
412
  }
377
413
  return {
@@ -387,4 +423,25 @@ export async function readWorkload(conn, clock, runnerSource, query, diagnose) {
387
423
  },
388
424
  };
389
425
  }
426
+ /**
427
+ * Exactly why one queued run waits: the claim's rules refined by its read-only diagnosis of the run's candidate
428
+ * runners (`ClaimService.diagnose`). Null when the run does not exist or is not queued.
429
+ */
430
+ export async function readQueueWait(conn, clock, runnerSource, runId, diagnose) {
431
+ const record = await runsRepo(conn).findOne({ filter: { id: runId } });
432
+ if (!record || record.status !== 'queued')
433
+ return null;
434
+ const state = await readQueueState(conn, clock, runnerSource);
435
+ const run = toRun(record);
436
+ const agent = state.agentById.get(run.agentId);
437
+ const previous = quickWait(record, run.requires, state);
438
+ const diagnostic = agent?.status === 'enabled' && diagnose
439
+ ? await diagnose(conn, run, agent)
440
+ : null;
441
+ return {
442
+ ...refineWait(record, previous, diagnostic, state),
443
+ position: state.position.get(run.id) ?? null,
444
+ agentPosition: state.agentPosition.get(run.id) ?? 1,
445
+ };
446
+ }
390
447
  //# sourceMappingURL=workload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workload.js","sourceRoot":"","sources":["../../../../server/core/runs/workload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workload.js","sourceRoot":"","sources":["../../../../server/core/runs/workload.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,UAAU,EAAc,MAAM,2BAA2B,CAAC;AACnE,OAAO,EACL,SAAS,EACT,QAAQ,EACR,SAAS,GAEV,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,qBAAqB,GAQtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,MAAM,EACN,UAAU,EACV,UAAU,EACV,QAAQ,EACR,KAAK,GAEN,MAAM,gBAAgB,CAAC;AAExB,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,SAAS,GAAG,IAAI,CAAC;AACvB,2DAA2D;AAC3D,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,yDAAyD;AACzD,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAEvE,MAAM,IAAI,GAAG,CAAC,KAA2B,EAAiB,EAAE,CAC1D,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;AAEpD,MAAM,GAAG,GAAG,CAAC,KAA2B,EAAiB,EAAE,CACzD,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AAExD,uEAAuE;AACvE,MAAM,UAAU,UAAU,CACxB,CAAmD,EACnD,CAAmD;IAEnD,OAAO,CACL,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QACvC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CACzB,CAAC;AACJ,CAAC;AA6BD,MAAM,IAAI,GAAG,CACX,MAAyB,EACzB,QAAyE,EAAE,EAC9B,EAAE,CAAC,CAAC;IACjD,MAAM;IACN,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,EAAE;IACb,GAAG,KAAK;CACT,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,GAAc,EACd,OAAoB;IAEpB,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC1C,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QAChE,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC;IACnD,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACxD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAClC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAChC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAChD,CACF,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QACtB,OAAO,IAAI,CAAC,iBAAiB,EAAE;YAC7B,IAAI;YACJ,MAAM,EAAE;gBACN,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5B;SACF,CAAC,CAAC;IACL,OAAO,GAAG,OAAO,CAAC,MAAM,CACtB,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,KAAK,KAAK,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,GAAG,CAAC,WAAW,CACpE,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAC7C,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CACtC,CAAC;IACF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,mGAAmG;IACnG,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACrD,MAAM,OAAO,GACX,QAAQ,CAAC,MAAM,GAAG,CAAC;QACjB,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC;QAC1D,CAAC,CAAC,YAAY,CAAC;IACnB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QACtB,OAAO,IAAI,CAAC,mBAAmB,EAAE;YAC/B,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;SACvE,CAAC,CAAC;IACL,IAAI,OAAO,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1D,IAAI,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC,iBAAiB;QAChD,OAAO,IAAI,CAAC,iBAAiB,EAAE;YAC7B,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,iBAAiB,EAAE;SACxE,CAAC,CAAC;IACL,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC5C,OAAO,IAAI,CACT,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,eAAe,CAAC;YAC3D,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,SAAS,CACd,CAAC;IACJ,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CACzB,CAAC,MAAM,EAAE,EAAE,CACT,CAAC,MAAM,CAAC,QAAQ;QAChB,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC;QAC5B,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAC1D,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtE,4GAA4G;IAC5G,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,IAAe,EAAW,EAAE,CAC3D,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACxE,IACE,IAAI,CAAC,KAAK,CACR,CAAC,MAAM,EAAE,EAAE,CACT,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CACtB,CAAC,KAAK,EAAE,EAAE,CACR,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC/C,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAC9B,CACJ,EACD,CAAC;QACD,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC;QACP,uFAAuF;QACvF,MAAM,OAAO,GAAG,IAAI;YAClB,CAAC,CAAC,IAAI;iBACD,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;iBAC1C,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAChB,IAAI,EAAE,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzD,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;aAC/B,CAAC,CAAC;iBACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,IAAI,CAAC,eAAe,EAAE;YAC3B,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;SAChE,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC;QAC/B,OAAO,IAAI,CAAC,eAAe,EAAE;YAC3B,MAAM,EAAE,GAAG,CAAC,aAAa;YACzB,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE;SAC/D,CAAC,CAAC;IACL,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,KAAK,GAAG,CACZ,GAA6E,EACrE,EAAE,CACV,IAAI,CAAC,SAAS,CAAC;IACb,GAAG,CAAC,OAAO;IACX,GAAG,CAAC,WAAW;IACf,GAAG,CAAC,SAAS;IACb,GAAG,CAAC,WAAW;CAChB,CAAC,CAAC;AAEL,SAAS,SAAS,CAAC,OAAgB;IACjC,MAAM,KAAK,GACT,OAAO,OAAO,KAAK,QAAQ;QACzB,CAAC,CAAC,CAAC,GAAG,EAAE;YACJ,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC,EAAE;QACN,CAAC,CAAC,OAAO,CAAC;IACd,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,OAAO,GAAI,KAAiC,CAAC,OAAO,CAAC;QAC3D,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,EAAE;YAAE,OAAO,OAAO,CAAC;IACpE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,GAAG,CAAC,IAAmB;IAC9B,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO,IAAI,CAAC,MAAM,GAAG,qBAAqB;QACxC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,GAAG,CAAC,CAAC,GAAG;QAChD,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AA6BD,kEAAkE;AAClE,KAAK,UAAU,cAAc,CAC3B,IAAwB,EACxB,KAAY,EACZ,YAA6B;IAE7B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;IACxB,MAAM,MAAM,GAAG,CACb,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;QAC5B,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC5B,KAAK,EAAE,UAAU;KAClB,CAAC,CACH,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;QACzC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;KAC3E,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAEpE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,EAA8C,CAAC;IAC7E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAwB,CAAC;YAC1C,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACtD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACvC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI;QAClC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAEpE,+FAA+F;IAC/F,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjC,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE;YACpC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACtD,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACpC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,OAAO;QACL,GAAG;QACH,MAAM;QACN,OAAO;QACP,MAAM;QACN,MAAM;QACN,SAAS;QACT,UAAU;QACV,cAAc;QACd,WAAW;QACX,QAAQ;QACR,QAAQ;QACR,aAAa;QACb,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,wGAAwG;AACxG,SAAS,SAAS,CAChB,MAAiB,EACjB,QAAkC,EAClC,KAAiB;IAEjB,OAAO,WAAW,CAChB,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,EACvB;QACE,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;QAClD,OAAO,EAAE,KAAK,CAAC,MAAM;QACrB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QACvD,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAClD,CACF,CAAC;AACJ,CAAC;AAED,MAAM,gBAAgB,GAAgD;IACpE,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,aAAa;IACnB,aAAa,EAAE,eAAe;IAC9B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,gBAAgB;IACzB,YAAY,EAAE,cAAc;IAC5B,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,iBAAiB;IAClC,cAAc,EAAE,gBAAgB;IAChC,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,iBAAiB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,cAAc,EAAE,gBAAgB;IAChC,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,oGAAoG;AACpG,SAAS,UAAU,CACjB,MAAiB,EACjB,QAAqD,EACrD,UAAqC,EACrC,KAAiB;IAEjB,sGAAsG;IACtG,MAAM,QAAQ,GAAG;QACf,mBAAmB;QACnB,SAAS;QACT,eAAe;QACf,eAAe;KAChB,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,KAAK,GACT,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC;QAC7D,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,CAAC,KAAK,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAChC,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,MAAM,KAAK,SAAS;QAC3B,MAAM,CAAC,MAAM,KAAK,OAAO;QACzB,MAAM,CAAC,MAAM,KAAK,MAAM,CAC3B,CAAC;IACF,MAAM,QAAQ,GACZ,KAAK,CAAC,MAAM,KAAK,MAAM;QACvB,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;QAChE,KAAK,CAAC,KAAK,CACT,CAAC,MAAM,EAAE,EAAE,CACT,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;YACjD,MAAM,CAAC,YAAY,KAAK,CAAC,CAC5B,CAAC;IACJ,OAAO;QACL,GAAG,QAAQ;QACX,MAAM,EACJ,KAAK,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC;YAC1D,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,QAAQ;gBACR,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC;QACtC,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;iBAC7B,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;iBAC3C,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,iBAAiB;gBACpC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAM,CAAC,iBAAiB,EAAE;gBAC7C,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM;oBACvB,CAAC,CAAC;wBACE,IAAI,EAAE,KAAK,CAAC,MAAM,CAChB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CACZ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAC9D,CAAC,CACF;wBACD,KAAK,EAAE,KAAK,CAAC,MAAM,CACjB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CACZ,CAAC;4BACD,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAC5D,CAAC,CACF;wBACD,OAAO,EAAE,KAAK,CAAC,MAAM;wBACrB,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACjC,MAAM,CAAC,MAAM,CAAC,iBAAiB,IAAI,GAAG,CAAC,CACxC;wBACD,MAAM,EAAE,KAAK;6BACV,GAAG,CACF,CAAC,MAAM,EAAE,EAAE,CACT,GAAG,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CACnH;6BACA,IAAI,CAAC,IAAI,CAAC;qBACd;oBACH,CAAC,CAAC,EAAE,CAAC;SACV;KACF,CAAC;AACJ,CAAC;AAED,4GAA4G;AAC5G,KAAK,UAAU,gBAAgB,CAC7B,IAAwB,EACxB,MAAyB;IAEzB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IAChD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;QAC5C,EAAE,EAAE,CAAC,OAAO,CAAC;QACb,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CACZ,CAAC,CAAC,GAAG,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;SAC9D,CAAC;KACL,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACrC,KAAK,CAAC,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS;QAC3C,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAC7D,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;QAC7C,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CACZ,CAAC,CAAC,GAAG,CAAC;YACJ,CAAC,CAAC,EAAE,CACF,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjB,CAAC,CAAC,GAAG,CAAC;gBACJ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBAChC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;aAC7B,CAAC,CACH,CACF;YACD,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;SAC9D,CAAC;KACL,CAAC,CAAC;IACH,KAAK,MAAM,KAAK,IAAI,MAAM;QACxB,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;YACxB,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,EAAE;YAC7B,IAAI,EAAE,KAAK,CAAC,IAA2B;YACvC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC;SACzC,CAAC,CAAC;IACL,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAwB,EACxB,KAAY,EACZ,YAA6B,EAC7B,KAAoB;IAEpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;QACzC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CACZ,CAAC,CAAC,GAAG,CAAC;YACJ,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;YAC7C,CAAC,CAAC,EAAE,CACF,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CACrE;SACF,CAAC;QACJ,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;QACvE,KAAK,EAAE,KAAK,GAAG,CAAC;KACjB,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC9D,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAE3E,4CAA4C;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;YAC7C,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9D,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;SAC1E,CAAC,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;gBAAE,SAAS;YACxC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,OAAO;gBAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CACrC,IAAI,EACJ,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CACvE,CAAC;IAEF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAkB,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO;YACL,GAAG,GAAG;YACN,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI;YACrC,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YACxE,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI;YAC1C,IAAI,EACF,MAAM,CAAC,MAAM,KAAK,QAAQ;gBACxB,CAAC,CAAC;oBACE,GAAG,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC;oBACzC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI;oBAC5C,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;iBACpD;gBACH,CAAC,CAAC,IAAI;SACX,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,+EAA+E;IAC/E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACjB,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;QACtC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;QACtC,IAAI,OAAO,KAAK,OAAO;YAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,OAAO;YACT,OAAO,CACL,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC;gBAC5C,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAC7C,CAAC;QACJ,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,SAAS;QAC1E,KAAK,CAAC,IAAI,CAAC;YACT,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC;YACtC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC;YAC5C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,MAAM,EACJ,KAAK,CAAC,MAAM,KAAK,SAAS;gBAC1B,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACrB,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAChC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAC9C,CACF;SACJ,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,IAAI;QACJ,SAAS;QACT,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;iBAClE,MAAM;YACT,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5D,IAAI,EAAE,MAAM,CAAC,MAAM,CACjB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CACd,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,EAC9D,CAAC,CACF;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAwB,EACxB,KAAY,EACZ,YAA6B,EAC7B,KAAa,EACb,QAAwD;IAExD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACvE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxD,MAAM,UAAU,GACd,KAAK,EAAE,MAAM,KAAK,SAAS,IAAI,QAAQ;QACrC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC;QAClC,CAAC,CAAC,IAAI,CAAC;IACX,OAAO;QACL,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC;QAClD,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI;QAC5C,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;KACpD,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"skill.service.d.ts","sourceRoot":"","sources":["../../../../server/core/skills/skill.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill.service.d.ts","sourceRoot":"","sources":["../../../../server/core/skills/skill.service.ts"],"names":[],"mappings":"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"}
@@ -36,24 +36,60 @@ const contentField = z.string().meta({
36
36
  });
37
37
  export const SkillInputSchema = z.strictObject({
38
38
  content: contentField,
39
- files: z.array(FileSchema).optional(),
39
+ files: z
40
+ .array(FileSchema)
41
+ .optional()
42
+ .describe('The files to include, with their relative paths and content.'),
40
43
  });
41
44
  function revisionConflict(current) {
42
45
  return new ProtocolError('REVISION_CONFLICT', 'The skill was changed by someone else since you opened it. Reload it to see what changed, then make your change again.', { revision: current });
43
46
  }
44
47
  export const SkillSaveSchema = z.strictObject({
45
48
  content: contentField,
46
- files: z.array(FileSchema),
47
- note: z.string().trim().max(500).nullable().optional(),
48
- expectedRevision: z.number().int().min(1),
49
+ files: z
50
+ .array(FileSchema)
51
+ .describe('The files to include, with their relative paths and content.'),
52
+ note: z
53
+ .string()
54
+ .trim()
55
+ .max(500)
56
+ .nullable()
57
+ .optional()
58
+ .describe('A note explaining this change.'),
59
+ expectedRevision: z
60
+ .number()
61
+ .int()
62
+ .min(1)
63
+ .describe('The revision last read; reject if the record has changed.'),
49
64
  });
50
65
  export const SkillImportSchema = z.strictObject({
51
66
  archive: z.string().regex(HASH),
52
- skillId: z.string().min(1).max(64).optional(),
53
- expectedRevision: z.number().int().min(1).optional(),
54
- note: z.string().trim().max(500).nullable().optional(),
67
+ skillId: z
68
+ .string()
69
+ .min(1)
70
+ .max(64)
71
+ .optional()
72
+ .describe('The skill identifier.'),
73
+ expectedRevision: z
74
+ .number()
75
+ .int()
76
+ .min(1)
77
+ .optional()
78
+ .describe('The revision last read; reject if the record has changed.'),
79
+ note: z
80
+ .string()
81
+ .trim()
82
+ .max(500)
83
+ .nullable()
84
+ .optional()
85
+ .describe('A note explaining this change.'),
86
+ });
87
+ export const SkillIdsSchema = z.strictObject({
88
+ skillIds: z
89
+ .array(z.string().min(1).max(64))
90
+ .max(100)
91
+ .describe('Skill identifiers to attach.'),
55
92
  });
56
- export const SkillIdsSchema = z.strictObject({ skillIds: z.array(z.string().min(1).max(64)).max(100) });
57
93
  const ManifestSchema = z.array(z.object({
58
94
  path: z.string(),
59
95
  blobHash: z.string(),