@synergenius/flow-weaver-pack-weaver 0.8.3 → 0.9.3

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 (265) hide show
  1. package/dist/bot/ai-client.d.ts +22 -2
  2. package/dist/bot/ai-client.d.ts.map +1 -1
  3. package/dist/bot/ai-client.js +168 -20
  4. package/dist/bot/ai-client.js.map +1 -1
  5. package/dist/bot/assistant-core.d.ts +25 -0
  6. package/dist/bot/assistant-core.d.ts.map +1 -0
  7. package/dist/bot/assistant-core.js +265 -0
  8. package/dist/bot/assistant-core.js.map +1 -0
  9. package/dist/bot/assistant-tools.d.ts +9 -0
  10. package/dist/bot/assistant-tools.d.ts.map +1 -0
  11. package/dist/bot/assistant-tools.js +602 -0
  12. package/dist/bot/assistant-tools.js.map +1 -0
  13. package/dist/bot/audit-logger.d.ts.map +1 -1
  14. package/dist/bot/audit-logger.js +9 -5
  15. package/dist/bot/audit-logger.js.map +1 -1
  16. package/dist/bot/audit-store.d.ts.map +1 -1
  17. package/dist/bot/audit-store.js +3 -11
  18. package/dist/bot/audit-store.js.map +1 -1
  19. package/dist/bot/bot-manager.d.ts +49 -0
  20. package/dist/bot/bot-manager.d.ts.map +1 -0
  21. package/dist/bot/bot-manager.js +279 -0
  22. package/dist/bot/bot-manager.js.map +1 -0
  23. package/dist/bot/child-process-tracker.d.ts +6 -0
  24. package/dist/bot/child-process-tracker.d.ts.map +1 -0
  25. package/dist/bot/child-process-tracker.js +35 -0
  26. package/dist/bot/child-process-tracker.js.map +1 -0
  27. package/dist/bot/cli-provider.d.ts.map +1 -1
  28. package/dist/bot/cli-provider.js +13 -8
  29. package/dist/bot/cli-provider.js.map +1 -1
  30. package/dist/bot/conversation-store.d.ts +40 -0
  31. package/dist/bot/conversation-store.d.ts.map +1 -0
  32. package/dist/bot/conversation-store.js +182 -0
  33. package/dist/bot/conversation-store.js.map +1 -0
  34. package/dist/bot/cost-store.d.ts.map +1 -1
  35. package/dist/bot/cost-store.js +10 -14
  36. package/dist/bot/cost-store.js.map +1 -1
  37. package/dist/bot/error-guide.d.ts +10 -0
  38. package/dist/bot/error-guide.d.ts.map +1 -0
  39. package/dist/bot/error-guide.js +34 -0
  40. package/dist/bot/error-guide.js.map +1 -0
  41. package/dist/bot/genesis-store.d.ts.map +1 -1
  42. package/dist/bot/genesis-store.js +11 -20
  43. package/dist/bot/genesis-store.js.map +1 -1
  44. package/dist/bot/index.d.ts +3 -0
  45. package/dist/bot/index.d.ts.map +1 -1
  46. package/dist/bot/index.js +3 -0
  47. package/dist/bot/index.js.map +1 -1
  48. package/dist/bot/knowledge-store.d.ts +17 -0
  49. package/dist/bot/knowledge-store.d.ts.map +1 -0
  50. package/dist/bot/knowledge-store.js +53 -0
  51. package/dist/bot/knowledge-store.js.map +1 -0
  52. package/dist/bot/pipeline-runner.d.ts.map +1 -1
  53. package/dist/bot/pipeline-runner.js +8 -1
  54. package/dist/bot/pipeline-runner.js.map +1 -1
  55. package/dist/bot/retry-utils.d.ts +19 -0
  56. package/dist/bot/retry-utils.d.ts.map +1 -0
  57. package/dist/bot/retry-utils.js +64 -0
  58. package/dist/bot/retry-utils.js.map +1 -0
  59. package/dist/bot/run-store.d.ts.map +1 -1
  60. package/dist/bot/run-store.js +2 -10
  61. package/dist/bot/run-store.js.map +1 -1
  62. package/dist/bot/runner.d.ts.map +1 -1
  63. package/dist/bot/runner.js +24 -3
  64. package/dist/bot/runner.js.map +1 -1
  65. package/dist/bot/safe-json.d.ts +32 -0
  66. package/dist/bot/safe-json.d.ts.map +1 -0
  67. package/dist/bot/safe-json.js +56 -0
  68. package/dist/bot/safe-json.js.map +1 -0
  69. package/dist/bot/safe-path.d.ts +18 -0
  70. package/dist/bot/safe-path.d.ts.map +1 -0
  71. package/dist/bot/safe-path.js +40 -0
  72. package/dist/bot/safe-path.js.map +1 -0
  73. package/dist/bot/session-state.d.ts.map +1 -1
  74. package/dist/bot/session-state.js +3 -1
  75. package/dist/bot/session-state.js.map +1 -1
  76. package/dist/bot/steering.js +1 -1
  77. package/dist/bot/steering.js.map +1 -1
  78. package/dist/bot/step-executor.d.ts +10 -5
  79. package/dist/bot/step-executor.d.ts.map +1 -1
  80. package/dist/bot/step-executor.js +252 -3
  81. package/dist/bot/step-executor.js.map +1 -1
  82. package/dist/bot/system-prompt.d.ts +1 -1
  83. package/dist/bot/system-prompt.d.ts.map +1 -1
  84. package/dist/bot/system-prompt.js +69 -43
  85. package/dist/bot/system-prompt.js.map +1 -1
  86. package/dist/bot/task-decomposer.d.ts +24 -0
  87. package/dist/bot/task-decomposer.d.ts.map +1 -0
  88. package/dist/bot/task-decomposer.js +75 -0
  89. package/dist/bot/task-decomposer.js.map +1 -0
  90. package/dist/bot/task-queue.d.ts +17 -4
  91. package/dist/bot/task-queue.d.ts.map +1 -1
  92. package/dist/bot/task-queue.js +102 -14
  93. package/dist/bot/task-queue.js.map +1 -1
  94. package/dist/bot/terminal-renderer.d.ts +60 -0
  95. package/dist/bot/terminal-renderer.d.ts.map +1 -0
  96. package/dist/bot/terminal-renderer.js +205 -0
  97. package/dist/bot/terminal-renderer.js.map +1 -0
  98. package/dist/bot/types.d.ts +7 -0
  99. package/dist/bot/types.d.ts.map +1 -1
  100. package/dist/bot/weaver-tools.d.ts +18 -0
  101. package/dist/bot/weaver-tools.d.ts.map +1 -0
  102. package/dist/bot/weaver-tools.js +215 -0
  103. package/dist/bot/weaver-tools.js.map +1 -0
  104. package/dist/cli-bridge.d.ts.map +1 -1
  105. package/dist/cli-bridge.js +10 -3
  106. package/dist/cli-bridge.js.map +1 -1
  107. package/dist/cli-handlers.d.ts +15 -1
  108. package/dist/cli-handlers.d.ts.map +1 -1
  109. package/dist/cli-handlers.js +742 -28
  110. package/dist/cli-handlers.js.map +1 -1
  111. package/dist/handlers/on-bot-completed.d.ts +21 -0
  112. package/dist/handlers/on-bot-completed.d.ts.map +1 -0
  113. package/dist/handlers/on-bot-completed.js +28 -0
  114. package/dist/handlers/on-bot-completed.js.map +1 -0
  115. package/dist/handlers/on-execution-failure.d.ts +23 -0
  116. package/dist/handlers/on-execution-failure.d.ts.map +1 -0
  117. package/dist/handlers/on-execution-failure.js +28 -0
  118. package/dist/handlers/on-execution-failure.js.map +1 -0
  119. package/dist/handlers/scheduled-run.d.ts +24 -0
  120. package/dist/handlers/scheduled-run.d.ts.map +1 -0
  121. package/dist/handlers/scheduled-run.js +25 -0
  122. package/dist/handlers/scheduled-run.js.map +1 -0
  123. package/dist/index.d.ts +3 -0
  124. package/dist/index.d.ts.map +1 -1
  125. package/dist/index.js +4 -0
  126. package/dist/index.js.map +1 -1
  127. package/dist/mcp-tools.js +2 -2
  128. package/dist/mcp-tools.js.map +1 -1
  129. package/dist/node-types/abort-task.d.ts.map +1 -1
  130. package/dist/node-types/abort-task.js +4 -3
  131. package/dist/node-types/abort-task.js.map +1 -1
  132. package/dist/node-types/agent-execute.d.ts +38 -0
  133. package/dist/node-types/agent-execute.d.ts.map +1 -0
  134. package/dist/node-types/agent-execute.js +256 -0
  135. package/dist/node-types/agent-execute.js.map +1 -0
  136. package/dist/node-types/bot-report.d.ts +5 -3
  137. package/dist/node-types/bot-report.d.ts.map +1 -1
  138. package/dist/node-types/bot-report.js +39 -7
  139. package/dist/node-types/bot-report.js.map +1 -1
  140. package/dist/node-types/build-context.d.ts +3 -3
  141. package/dist/node-types/build-context.d.ts.map +1 -1
  142. package/dist/node-types/build-context.js +108 -24
  143. package/dist/node-types/build-context.js.map +1 -1
  144. package/dist/node-types/detect-provider.d.ts +2 -2
  145. package/dist/node-types/detect-provider.d.ts.map +1 -1
  146. package/dist/node-types/detect-provider.js +3 -1
  147. package/dist/node-types/detect-provider.js.map +1 -1
  148. package/dist/node-types/exec-validate-retry.d.ts.map +1 -1
  149. package/dist/node-types/exec-validate-retry.js +43 -6
  150. package/dist/node-types/exec-validate-retry.js.map +1 -1
  151. package/dist/node-types/execute-plan.d.ts.map +1 -1
  152. package/dist/node-types/execute-plan.js +31 -8
  153. package/dist/node-types/execute-plan.js.map +1 -1
  154. package/dist/node-types/execute-target.d.ts.map +1 -1
  155. package/dist/node-types/execute-target.js +3 -1
  156. package/dist/node-types/execute-target.js.map +1 -1
  157. package/dist/node-types/fix-errors.d.ts.map +1 -1
  158. package/dist/node-types/fix-errors.js +21 -5
  159. package/dist/node-types/fix-errors.js.map +1 -1
  160. package/dist/node-types/genesis-observe.d.ts.map +1 -1
  161. package/dist/node-types/genesis-observe.js +3 -1
  162. package/dist/node-types/genesis-observe.js.map +1 -1
  163. package/dist/node-types/genesis-report.js +4 -1
  164. package/dist/node-types/genesis-report.js.map +1 -1
  165. package/dist/node-types/git-ops.d.ts.map +1 -1
  166. package/dist/node-types/git-ops.js +98 -4
  167. package/dist/node-types/git-ops.js.map +1 -1
  168. package/dist/node-types/index.d.ts +2 -0
  169. package/dist/node-types/index.d.ts.map +1 -1
  170. package/dist/node-types/index.js +2 -0
  171. package/dist/node-types/index.js.map +1 -1
  172. package/dist/node-types/load-config.d.ts +2 -2
  173. package/dist/node-types/load-config.d.ts.map +1 -1
  174. package/dist/node-types/load-config.js.map +1 -1
  175. package/dist/node-types/plan-task.d.ts.map +1 -1
  176. package/dist/node-types/plan-task.js +14 -2
  177. package/dist/node-types/plan-task.js.map +1 -1
  178. package/dist/node-types/read-workflow.js +8 -2
  179. package/dist/node-types/read-workflow.js.map +1 -1
  180. package/dist/node-types/receive-task.d.ts.map +1 -1
  181. package/dist/node-types/receive-task.js +35 -26
  182. package/dist/node-types/receive-task.js.map +1 -1
  183. package/dist/node-types/send-notify.js +2 -1
  184. package/dist/node-types/send-notify.js.map +1 -1
  185. package/dist/node-types/validate-gate.d.ts +18 -0
  186. package/dist/node-types/validate-gate.d.ts.map +1 -0
  187. package/dist/node-types/validate-gate.js +96 -0
  188. package/dist/node-types/validate-gate.js.map +1 -0
  189. package/dist/workflows/genesis-task.d.ts +20 -12
  190. package/dist/workflows/genesis-task.d.ts.map +1 -1
  191. package/dist/workflows/genesis-task.js +20 -12
  192. package/dist/workflows/genesis-task.js.map +1 -1
  193. package/dist/workflows/weaver-agent.d.ts +35 -0
  194. package/dist/workflows/weaver-agent.d.ts.map +1 -0
  195. package/dist/workflows/weaver-agent.js +777 -0
  196. package/dist/workflows/weaver-agent.js.map +1 -0
  197. package/dist/workflows/weaver-bot-batch.d.ts +19 -26
  198. package/dist/workflows/weaver-bot-batch.d.ts.map +1 -1
  199. package/dist/workflows/weaver-bot-batch.js +1043 -27
  200. package/dist/workflows/weaver-bot-batch.js.map +1 -1
  201. package/dist/workflows/weaver-bot.d.ts +21 -35
  202. package/dist/workflows/weaver-bot.d.ts.map +1 -1
  203. package/dist/workflows/weaver-bot.js +1119 -36
  204. package/dist/workflows/weaver-bot.js.map +1 -1
  205. package/flowweaver.manifest.json +113 -2
  206. package/package.json +5 -2
  207. package/src/bot/ai-client.ts +180 -19
  208. package/src/bot/assistant-core.ts +306 -0
  209. package/src/bot/assistant-tools.ts +605 -0
  210. package/src/bot/audit-logger.ts +6 -5
  211. package/src/bot/audit-store.ts +3 -12
  212. package/src/bot/bot-manager.ts +293 -0
  213. package/src/bot/child-process-tracker.ts +40 -0
  214. package/src/bot/cli-provider.ts +13 -8
  215. package/src/bot/conversation-store.ts +222 -0
  216. package/src/bot/cost-store.ts +11 -12
  217. package/src/bot/error-guide.ts +34 -0
  218. package/src/bot/genesis-store.ts +11 -17
  219. package/src/bot/index.ts +5 -0
  220. package/src/bot/knowledge-store.ts +59 -0
  221. package/src/bot/pipeline-runner.ts +7 -1
  222. package/src/bot/retry-utils.ts +76 -0
  223. package/src/bot/run-store.ts +2 -11
  224. package/src/bot/runner.ts +26 -3
  225. package/src/bot/safe-json.ts +76 -0
  226. package/src/bot/safe-path.ts +44 -0
  227. package/src/bot/session-state.ts +2 -1
  228. package/src/bot/steering.ts +1 -1
  229. package/src/bot/step-executor.ts +313 -5
  230. package/src/bot/system-prompt.ts +70 -47
  231. package/src/bot/task-decomposer.ts +100 -0
  232. package/src/bot/task-queue.ts +119 -15
  233. package/src/bot/terminal-renderer.ts +241 -0
  234. package/src/bot/types.ts +8 -0
  235. package/src/bot/weaver-tools.ts +225 -0
  236. package/src/cli-bridge.ts +14 -3
  237. package/src/cli-handlers.ts +760 -29
  238. package/src/handlers/on-bot-completed.ts +48 -0
  239. package/src/handlers/on-execution-failure.ts +42 -0
  240. package/src/handlers/scheduled-run.ts +42 -0
  241. package/src/index.ts +5 -0
  242. package/src/mcp-tools.ts +2 -2
  243. package/src/node-types/abort-task.ts +5 -4
  244. package/src/node-types/agent-execute.ts +306 -0
  245. package/src/node-types/bot-report.ts +40 -9
  246. package/src/node-types/build-context.ts +112 -25
  247. package/src/node-types/detect-provider.ts +4 -3
  248. package/src/node-types/exec-validate-retry.ts +47 -8
  249. package/src/node-types/execute-plan.ts +32 -8
  250. package/src/node-types/execute-target.ts +2 -1
  251. package/src/node-types/fix-errors.ts +20 -5
  252. package/src/node-types/genesis-observe.ts +2 -1
  253. package/src/node-types/genesis-report.ts +1 -1
  254. package/src/node-types/git-ops.ts +93 -4
  255. package/src/node-types/index.ts +2 -0
  256. package/src/node-types/load-config.ts +3 -3
  257. package/src/node-types/plan-task.ts +15 -3
  258. package/src/node-types/read-workflow.ts +2 -2
  259. package/src/node-types/receive-task.ts +31 -26
  260. package/src/node-types/send-notify.ts +1 -1
  261. package/src/node-types/validate-gate.ts +112 -0
  262. package/src/workflows/genesis-task.ts +20 -12
  263. package/src/workflows/weaver-agent.ts +799 -0
  264. package/src/workflows/weaver-bot-batch.ts +1049 -27
  265. package/src/workflows/weaver-bot.ts +1123 -36
@@ -0,0 +1,96 @@
1
+ import { execFileSync } from 'node:child_process';
2
+ import * as path from 'node:path';
3
+ /**
4
+ * Post-agent validation gate. Runs `flow-weaver validate` on all modified files
5
+ * and fails the task if any have errors. Don't trust the AI's self-assessment.
6
+ *
7
+ * @flowWeaver nodeType
8
+ * @expression
9
+ * @label Validate Gate
10
+ * @input ctx [order:0] - Weaver context (JSON)
11
+ * @output ctx [order:0] - Weaver context with validation result (JSON)
12
+ * @output onSuccess [order:-2] - All files valid
13
+ * @output onFailure [order:-1] [hidden] - Validation failed
14
+ */
15
+ export function weaverValidateGate(ctx) {
16
+ const context = JSON.parse(ctx);
17
+ const { projectDir } = context.env;
18
+ const files = context.filesModified ? JSON.parse(context.filesModified) : [];
19
+ if (files.length === 0) {
20
+ context.validationResultJson = JSON.stringify({ skipped: true, reason: 'no files modified' });
21
+ return { ctx: JSON.stringify(context), onSuccess: true, onFailure: false };
22
+ }
23
+ // Only validate .ts files that look like workflows or node types
24
+ const toValidate = files.filter(f => f.endsWith('.ts'));
25
+ if (toValidate.length === 0) {
26
+ context.validationResultJson = JSON.stringify({ skipped: true, reason: 'no .ts files' });
27
+ return { ctx: JSON.stringify(context), onSuccess: true, onFailure: false };
28
+ }
29
+ const errors = [];
30
+ let allValid = true;
31
+ for (const file of toValidate) {
32
+ const absPath = path.isAbsolute(file) ? file : path.resolve(projectDir, file);
33
+ try {
34
+ const output = execFileSync('npx', ['flow-weaver', 'validate', absPath, '--json'], { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'], timeout: 30_000, cwd: projectDir }).trim();
35
+ // Parse JSON output — look for errors (not warnings)
36
+ let result;
37
+ try {
38
+ result = JSON.parse(output);
39
+ }
40
+ catch {
41
+ // Non-JSON output — try to detect errors from text
42
+ const hasErrors = output.includes('error') && !output.includes('0 error');
43
+ if (hasErrors) {
44
+ errors.push({ file, errorCount: 1, errors: [output.slice(0, 200)] });
45
+ allValid = false;
46
+ }
47
+ continue;
48
+ }
49
+ const errorCount = result.errorCount ?? result.errors?.length ?? 0;
50
+ if (errorCount > 0) {
51
+ allValid = false;
52
+ errors.push({
53
+ file,
54
+ errorCount,
55
+ errors: (result.errors ?? []).map(e => e.message).slice(0, 5),
56
+ });
57
+ }
58
+ }
59
+ catch (err) {
60
+ // validate command failed — could be a parse error, treat as validation failure
61
+ const msg = err instanceof Error ? err.message : String(err);
62
+ // But don't fail on "not a workflow" — only on actual errors
63
+ if (!msg.includes('No @flowWeaver annotation') && !msg.includes('not a workflow')) {
64
+ errors.push({ file, errorCount: 1, errors: [msg.slice(0, 200)] });
65
+ allValid = false;
66
+ }
67
+ }
68
+ }
69
+ // Also run tsc --noEmit if any .ts files were modified (catches type errors FW validate misses)
70
+ if (allValid && toValidate.length > 0) {
71
+ try {
72
+ execFileSync('npx', ['tsc', '--noEmit', '--pretty'], {
73
+ cwd: projectDir, encoding: 'utf-8', timeout: 60_000, stdio: ['pipe', 'pipe', 'pipe'],
74
+ });
75
+ }
76
+ catch (err) {
77
+ const tscOutput = err.stdout ?? (err instanceof Error ? err.message : '');
78
+ if (tscOutput.includes('error TS')) {
79
+ allValid = false;
80
+ errors.push({ file: '(tsc)', errorCount: 1, errors: [tscOutput.slice(0, 500)] });
81
+ }
82
+ }
83
+ }
84
+ context.validationResultJson = JSON.stringify({ errors, allValid });
85
+ context.allValid = allValid;
86
+ if (!allValid && process.env.WEAVER_VERBOSE) {
87
+ for (const e of errors) {
88
+ process.stderr.write(`\x1b[31m ✗ ${e.file}: ${e.errorCount} error(s)\x1b[0m\n`);
89
+ for (const msg of e.errors) {
90
+ process.stderr.write(`\x1b[31m ${msg}\x1b[0m\n`);
91
+ }
92
+ }
93
+ }
94
+ return { ctx: JSON.stringify(context), onSuccess: allValid, onFailure: !allValid };
95
+ }
96
+ //# sourceMappingURL=validate-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-gate.js","sourceRoot":"","sources":["../../src/node-types/validate-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAK5C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;IACjD,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IACnC,MAAM,KAAK,GAAa,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC9F,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC7E,CAAC;IAED,iEAAiE;IACjE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;QACzF,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC7E,CAAC;IAED,MAAM,MAAM,GAAkE,EAAE,CAAC;IACjF,IAAI,QAAQ,GAAG,IAAI,CAAC;IAEpB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC9E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,YAAY,CACzB,KAAK,EACL,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,EAC9C,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,CACzF,CAAC,IAAI,EAAE,CAAC;YAET,qDAAqD;YACrD,IAAI,MAAoE,CAAC;YACzE,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,mDAAmD;gBACnD,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC1E,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;oBACrE,QAAQ,GAAG,KAAK,CAAC;gBACnB,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;YACnE,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,QAAQ,GAAG,KAAK,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,UAAU;oBACV,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC9D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,gFAAgF;YAChF,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,6DAA6D;YAC7D,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAClF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;gBAClE,QAAQ,GAAG,KAAK,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,gGAAgG;IAChG,IAAI,QAAQ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE;gBACnD,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aACrF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,SAAS,GAAI,GAA2B,CAAC,MAAM,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnG,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnC,QAAQ,GAAG,KAAK,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAE5B,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,oBAAoB,CAAC,CAAC;YACjF,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,WAAW,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC;AACrF,CAAC"}
@@ -6,40 +6,48 @@
6
6
  * @flowWeaver workflow
7
7
  *
8
8
  * @node cfg weaverLoadConfig [color: "teal"] [icon: "settings"] [position: 200 200]
9
- * @node detect weaverDetectProvider [color: "cyan"] [icon: "search"] [position: 400 200]
9
+ * @node detect weaverDetectProvider [color: "cyan"] [icon: "search"] [position: 400 200] [suppress: "OBJECT_TYPE_MISMATCH", "ANNOTATION_SIGNATURE_TYPE_MISMATCH"]
10
10
  * @node gCfg genesisLoadConfig [color: "purple"] [icon: "settings"] [position: 600 200]
11
- * @node escRecover genesisEscrowRecover [color: "yellow"] [icon: "healing"] [position: 750 200]
11
+ * @node escRecover genesisEscrowRecover [color: "yellow"] [icon: "healthAndSafety"] [position: 750 200]
12
12
  * @node observe genesisObserve [color: "blue"] [icon: "visibility"] [position: 900 200]
13
- * @node diffFp genesisDiffFingerprint [color: "cyan"] [icon: "compare"] [position: 1100 200]
13
+ * @node diffFp genesisDiffFingerprint [color: "cyan"] [icon: "assessment"] [position: 1100 200]
14
14
  * @node stabilize genesisCheckStabilize [color: "orange"] [icon: "lock"] [position: 1300 200]
15
15
  * @node propose genesisPropose [color: "blue"] [icon: "psychology"] [position: 1500 200]
16
- * @node validate genesisValidateProposal [color: "teal"] [icon: "check"] [position: 1700 200]
16
+ * @node validate genesisValidateProposal [color: "teal"] [icon: "checkCircle"] [position: 1700 200]
17
17
  * @node snapshot genesisSnapshot [color: "cyan"] [icon: "backup"] [position: 1900 200]
18
- * @node applyRetry genesisApplyRetry [color: "purple"] [icon: "replay"] [position: 2100 200] [size: 300 200]
19
- * @node tryApply genesisTryApply applyRetry.attempt [position: 2150 230]
20
- * @node diffWf genesisDiffWorkflow [color: "cyan"] [icon: "compare"] [position: 2440 200]
18
+ * @node applyRetry genesisApplyRetry [color: "purple"] [icon: "repeat"] [position: 2100 200] [size: 300 200] [suppress: "DESIGN_UNBOUNDED_RETRY"]
19
+ * @node tryApply genesisTryApply applyRetry.attempt [position: 2150 230] [suppress: "DESIGN_PULL_CANDIDATE"]
20
+ * @node diffWf genesisDiffWorkflow [color: "cyan"] [icon: "altRoute"] [position: 2440 200]
21
21
  * @node threshold genesisCheckThreshold [color: "orange"] [icon: "tune"] [position: 2640 200]
22
22
  * @node approve genesisApprove [color: "orange"] [icon: "send"] [position: 2840 200]
23
23
  * @node commit genesisCommit [color: "green"] [icon: "save"] [position: 3040 200]
24
- * @node escStage genesisEscrowStage [color: "yellow"] [icon: "archive"] [position: 3240 400]
24
+ * @node escStage genesisEscrowStage [color: "yellow"] [icon: "storage"] [position: 3240 400]
25
25
  * @node escVal genesisEscrowValidate [color: "yellow"] [icon: "verified"] [position: 3440 400]
26
- * @node escMig genesisEscrowMigrate [color: "yellow"] [icon: "swap_horiz"] [position: 3640 400]
27
- * @node history genesisUpdateHistory [color: "teal"] [icon: "history"] [position: 3840 200]
26
+ * @node escMig genesisEscrowMigrate [color: "yellow"] [icon: "sync"] [position: 3640 400]
27
+ * @node history genesisUpdateHistory [color: "teal"] [icon: "receipt"] [position: 3840 200]
28
28
  * @node escGrace genesisEscrowGrace [color: "yellow"] [icon: "timer"] [position: 4040 200]
29
29
  * @node report genesisReport [color: "green"] [icon: "description"] [position: 4240 200]
30
30
  *
31
31
  * @path Start -> cfg -> detect -> gCfg -> escRecover -> observe -> diffFp -> stabilize -> propose -> validate -> snapshot -> applyRetry -> diffWf -> threshold -> approve -> commit -> escStage -> escVal -> escMig -> history -> escGrace -> report -> Exit
32
32
  *
33
33
  * @path applyRetry:fail -> report
34
+ * @path observe:fail -> report
35
+ * @path propose:fail -> report
36
+ * @path approve:fail -> report
37
+ * @path commit:fail -> report
34
38
  * @path escStage:fail -> report
35
39
  * @path escVal:fail -> report
36
40
  * @path escMig:fail -> report
37
41
  *
38
42
  * @connect applyRetry.attemptCtx:attempt -> tryApply.ctx
39
43
  * @connect tryApply.ctx -> applyRetry.attemptCtx:attempt
44
+ * @connect tryApply.onSuccess -> applyRetry.success:attempt
45
+ * @connect tryApply.onFailure -> applyRetry.failure:attempt
40
46
  *
41
- * @connect history.ctx -> report.successCtx
47
+ * @connect escGrace.ctx -> report.successCtx
42
48
  * @connect applyRetry.ctx -> report.failCtx
49
+ * @connect propose.ctx -> report.proposeFailCtx
50
+ * @connect commit.ctx -> report.commitFailCtx
43
51
  *
44
52
  * @connect report.summary -> Exit.summary
45
53
  *
@@ -47,7 +55,7 @@
47
55
  * @position Exit 4440 200
48
56
  *
49
57
  * @param execute [order:-1] - Execute
50
- * @param projectDir [order:0] [optional] - Project directory
58
+ * @param [projectDir] [order:0] - Project directory
51
59
  * @returns onSuccess [order:-2] - On Success
52
60
  * @returns onFailure [order:-1] [hidden] - On Failure
53
61
  * @returns summary [order:0] - Summary text
@@ -1 +1 @@
1
- {"version":3,"file":"genesis-task.d.ts","sourceRoot":"","sources":["../../src/workflows/genesis-task.ts"],"names":[],"mappings":"AA2BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,EAChB,MAAM,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,EACpC,eAAe,CAAC,EAAE,WAAW,GAC5B,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAK7E"}
1
+ {"version":3,"file":"genesis-task.d.ts","sourceRoot":"","sources":["../../src/workflows/genesis-task.ts"],"names":[],"mappings":"AA2BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,EAChB,MAAM,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,EACpC,eAAe,CAAC,EAAE,WAAW,GAC5B,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAK7E"}
@@ -9,40 +9,48 @@
9
9
  * @flowWeaver workflow
10
10
  *
11
11
  * @node cfg weaverLoadConfig [color: "teal"] [icon: "settings"] [position: 200 200]
12
- * @node detect weaverDetectProvider [color: "cyan"] [icon: "search"] [position: 400 200]
12
+ * @node detect weaverDetectProvider [color: "cyan"] [icon: "search"] [position: 400 200] [suppress: "OBJECT_TYPE_MISMATCH", "ANNOTATION_SIGNATURE_TYPE_MISMATCH"]
13
13
  * @node gCfg genesisLoadConfig [color: "purple"] [icon: "settings"] [position: 600 200]
14
- * @node escRecover genesisEscrowRecover [color: "yellow"] [icon: "healing"] [position: 750 200]
14
+ * @node escRecover genesisEscrowRecover [color: "yellow"] [icon: "healthAndSafety"] [position: 750 200]
15
15
  * @node observe genesisObserve [color: "blue"] [icon: "visibility"] [position: 900 200]
16
- * @node diffFp genesisDiffFingerprint [color: "cyan"] [icon: "compare"] [position: 1100 200]
16
+ * @node diffFp genesisDiffFingerprint [color: "cyan"] [icon: "assessment"] [position: 1100 200]
17
17
  * @node stabilize genesisCheckStabilize [color: "orange"] [icon: "lock"] [position: 1300 200]
18
18
  * @node propose genesisPropose [color: "blue"] [icon: "psychology"] [position: 1500 200]
19
- * @node validate genesisValidateProposal [color: "teal"] [icon: "check"] [position: 1700 200]
19
+ * @node validate genesisValidateProposal [color: "teal"] [icon: "checkCircle"] [position: 1700 200]
20
20
  * @node snapshot genesisSnapshot [color: "cyan"] [icon: "backup"] [position: 1900 200]
21
- * @node applyRetry genesisApplyRetry [color: "purple"] [icon: "replay"] [position: 2100 200] [size: 300 200]
22
- * @node tryApply genesisTryApply applyRetry.attempt [position: 2150 230]
23
- * @node diffWf genesisDiffWorkflow [color: "cyan"] [icon: "compare"] [position: 2440 200]
21
+ * @node applyRetry genesisApplyRetry [color: "purple"] [icon: "repeat"] [position: 2100 200] [size: 300 200] [suppress: "DESIGN_UNBOUNDED_RETRY"]
22
+ * @node tryApply genesisTryApply applyRetry.attempt [position: 2150 230] [suppress: "DESIGN_PULL_CANDIDATE"]
23
+ * @node diffWf genesisDiffWorkflow [color: "cyan"] [icon: "altRoute"] [position: 2440 200]
24
24
  * @node threshold genesisCheckThreshold [color: "orange"] [icon: "tune"] [position: 2640 200]
25
25
  * @node approve genesisApprove [color: "orange"] [icon: "send"] [position: 2840 200]
26
26
  * @node commit genesisCommit [color: "green"] [icon: "save"] [position: 3040 200]
27
- * @node escStage genesisEscrowStage [color: "yellow"] [icon: "archive"] [position: 3240 400]
27
+ * @node escStage genesisEscrowStage [color: "yellow"] [icon: "storage"] [position: 3240 400]
28
28
  * @node escVal genesisEscrowValidate [color: "yellow"] [icon: "verified"] [position: 3440 400]
29
- * @node escMig genesisEscrowMigrate [color: "yellow"] [icon: "swap_horiz"] [position: 3640 400]
30
- * @node history genesisUpdateHistory [color: "teal"] [icon: "history"] [position: 3840 200]
29
+ * @node escMig genesisEscrowMigrate [color: "yellow"] [icon: "sync"] [position: 3640 400]
30
+ * @node history genesisUpdateHistory [color: "teal"] [icon: "receipt"] [position: 3840 200]
31
31
  * @node escGrace genesisEscrowGrace [color: "yellow"] [icon: "timer"] [position: 4040 200]
32
32
  * @node report genesisReport [color: "green"] [icon: "description"] [position: 4240 200]
33
33
  *
34
34
  * @path Start -> cfg -> detect -> gCfg -> escRecover -> observe -> diffFp -> stabilize -> propose -> validate -> snapshot -> applyRetry -> diffWf -> threshold -> approve -> commit -> escStage -> escVal -> escMig -> history -> escGrace -> report -> Exit
35
35
  *
36
36
  * @path applyRetry:fail -> report
37
+ * @path observe:fail -> report
38
+ * @path propose:fail -> report
39
+ * @path approve:fail -> report
40
+ * @path commit:fail -> report
37
41
  * @path escStage:fail -> report
38
42
  * @path escVal:fail -> report
39
43
  * @path escMig:fail -> report
40
44
  *
41
45
  * @connect applyRetry.attemptCtx:attempt -> tryApply.ctx
42
46
  * @connect tryApply.ctx -> applyRetry.attemptCtx:attempt
47
+ * @connect tryApply.onSuccess -> applyRetry.success:attempt
48
+ * @connect tryApply.onFailure -> applyRetry.failure:attempt
43
49
  *
44
- * @connect history.ctx -> report.successCtx
50
+ * @connect escGrace.ctx -> report.successCtx
45
51
  * @connect applyRetry.ctx -> report.failCtx
52
+ * @connect propose.ctx -> report.proposeFailCtx
53
+ * @connect commit.ctx -> report.commitFailCtx
46
54
  *
47
55
  * @connect report.summary -> Exit.summary
48
56
  *
@@ -50,7 +58,7 @@
50
58
  * @position Exit 4440 200
51
59
  *
52
60
  * @param execute [order:-1] - Execute
53
- * @param projectDir [order:0] [optional] - Project directory
61
+ * @param [projectDir] [order:0] - Project directory
54
62
  * @returns onSuccess [order:-2] - On Success
55
63
  * @returns onFailure [order:-1] [hidden] - On Failure
56
64
  * @returns summary [order:0] - Summary text
@@ -1 +1 @@
1
- {"version":3,"file":"genesis-task.js","sourceRoot":"","sources":["../../src/workflows/genesis-task.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,wEAAwE;AACxE,cAAc;AAyBd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAgB,EAChB,SAAkC,EAAE,EACpC,eAA6B;IAE7B,0BAA0B;IAC1B,+BAA+B;IAC/B,wBAAwB;IACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"genesis-task.js","sourceRoot":"","sources":["../../src/workflows/genesis-task.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,wEAAwE;AACxE,cAAc;AAyBd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAgB,EAChB,SAAkC,EAAE,EACpC,eAA6B;IAE7B,0BAA0B;IAC1B,+BAA+B;IAC/B,wBAAwB;IACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC9D,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @flowWeaver workflow
3
+ * @node cfg weaverLoadConfig [color: "teal"] [icon: "settings"] [position: 200 200]
4
+ * @node detect weaverDetectProvider [color: "cyan"] [icon: "search"] [position: 400 200] [suppress: "OBJECT_TYPE_MISMATCH", "ANNOTATION_SIGNATURE_TYPE_MISMATCH"]
5
+ * @node receive weaverReceiveTask [color: "blue"] [icon: "send"] [position: 600 200]
6
+ * @node context weaverBuildContext [color: "teal"] [icon: "code"] [position: 800 200]
7
+ * @node agent weaverAgentExecute [color: "purple"] [icon: "psychology"] [position: 1000 200]
8
+ * @node gitOps weaverGitOps [color: "green"] [icon: "code"] [position: 1200 100]
9
+ * @node notify weaverSendNotify [color: "yellow"] [icon: "send"] [position: 1200 300] [suppress: "UNUSED_OUTPUT_PORT"]
10
+ * @node report weaverBotReport [color: "green"] [icon: "description"] [position: 1400 200] [suppress: "UNUSED_OUTPUT_PORT", "DESIGN_ASYNC_NO_ERROR_PATH"]
11
+ * @path Start -> cfg -> detect -> receive -> context -> agent -> gitOps -> report -> Exit
12
+ * @path agent -> notify
13
+ * @path receive:fail -> report
14
+ * @path agent:fail -> report
15
+ * @position Start 0 200
16
+ * @position Exit 1600 200
17
+ * @connect gitOps.ctx -> report.mainCtx
18
+ * @connect notify.onSuccess -> report.execute
19
+ * @connect report.summary -> Exit.summary
20
+ * @param execute [order:-1] - Execute
21
+ * @param taskJson [order:0] - TaskJson
22
+ * @param projectDir [order:1] - ProjectDir
23
+ * @returns onSuccess [order:-2] - On Success
24
+ * @returns onFailure [order:-1] - On Failure
25
+ * @returns summary [order:0] - Summary text
26
+ */
27
+ export declare function weaverAgent(execute: boolean, params: {
28
+ taskJson?: string;
29
+ projectDir?: string;
30
+ }, __abortSignal__?: AbortSignal): Promise<{
31
+ onSuccess: boolean;
32
+ onFailure: boolean;
33
+ summary: string | null;
34
+ }>;
35
+ //# sourceMappingURL=weaver-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"weaver-agent.d.ts","sourceRoot":"","sources":["../../src/workflows/weaver-agent.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAClD,eAAe,CAAC,EAAE,WAAW,GAC5B,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAyuB7E"}