dino-spec 17.4.3 → 17.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/dist/commands/init.d.ts.map +1 -1
  2. package/dist/commands/init.js +10 -0
  3. package/dist/commands/init.js.map +1 -1
  4. package/dist/core/agents/__tests__/confidence-gate.test.d.ts +5 -0
  5. package/dist/core/agents/__tests__/confidence-gate.test.d.ts.map +1 -0
  6. package/dist/core/agents/__tests__/confidence-gate.test.js +329 -0
  7. package/dist/core/agents/__tests__/confidence-gate.test.js.map +1 -0
  8. package/dist/core/agents/__tests__/gap-detector.test.d.ts +5 -0
  9. package/dist/core/agents/__tests__/gap-detector.test.d.ts.map +1 -0
  10. package/dist/core/agents/__tests__/gap-detector.test.js +609 -0
  11. package/dist/core/agents/__tests__/gap-detector.test.js.map +1 -0
  12. package/dist/core/agents/__tests__/learning-loop.test.d.ts +5 -0
  13. package/dist/core/agents/__tests__/learning-loop.test.d.ts.map +1 -0
  14. package/dist/core/agents/__tests__/learning-loop.test.js +663 -0
  15. package/dist/core/agents/__tests__/learning-loop.test.js.map +1 -0
  16. package/dist/core/agents/__tests__/parallel-executor.test.d.ts +5 -0
  17. package/dist/core/agents/__tests__/parallel-executor.test.d.ts.map +1 -0
  18. package/dist/core/agents/__tests__/parallel-executor.test.js +610 -0
  19. package/dist/core/agents/__tests__/parallel-executor.test.js.map +1 -0
  20. package/dist/core/agents/__tests__/research-validator.test.js +5 -5
  21. package/dist/core/agents/__tests__/research-validator.test.js.map +1 -1
  22. package/dist/core/agents/__tests__/skill-creator.test.d.ts +5 -0
  23. package/dist/core/agents/__tests__/skill-creator.test.d.ts.map +1 -0
  24. package/dist/core/agents/__tests__/skill-creator.test.js +443 -0
  25. package/dist/core/agents/__tests__/skill-creator.test.js.map +1 -0
  26. package/dist/core/agents/__tests__/state-persistence.test.d.ts +2 -0
  27. package/dist/core/agents/__tests__/state-persistence.test.d.ts.map +1 -0
  28. package/dist/core/agents/__tests__/state-persistence.test.js +270 -0
  29. package/dist/core/agents/__tests__/state-persistence.test.js.map +1 -0
  30. package/dist/core/agents/__tests__/validation-cache.test.d.ts +2 -0
  31. package/dist/core/agents/__tests__/validation-cache.test.d.ts.map +1 -0
  32. package/dist/core/agents/__tests__/validation-cache.test.js +181 -0
  33. package/dist/core/agents/__tests__/validation-cache.test.js.map +1 -0
  34. package/dist/core/agents/blackboard.d.ts +22 -3
  35. package/dist/core/agents/blackboard.d.ts.map +1 -1
  36. package/dist/core/agents/blackboard.js +52 -2
  37. package/dist/core/agents/blackboard.js.map +1 -1
  38. package/dist/core/agents/circuit-breaker.d.ts +79 -1
  39. package/dist/core/agents/circuit-breaker.d.ts.map +1 -1
  40. package/dist/core/agents/circuit-breaker.js +175 -1
  41. package/dist/core/agents/circuit-breaker.js.map +1 -1
  42. package/dist/core/agents/clarification-phase.d.ts +128 -0
  43. package/dist/core/agents/clarification-phase.d.ts.map +1 -0
  44. package/dist/core/agents/clarification-phase.js +375 -0
  45. package/dist/core/agents/clarification-phase.js.map +1 -0
  46. package/dist/core/agents/confidence-gate.d.ts +116 -3
  47. package/dist/core/agents/confidence-gate.d.ts.map +1 -1
  48. package/dist/core/agents/confidence-gate.js +363 -3
  49. package/dist/core/agents/confidence-gate.js.map +1 -1
  50. package/dist/core/agents/correction-tracker.d.ts +197 -0
  51. package/dist/core/agents/correction-tracker.d.ts.map +1 -0
  52. package/dist/core/agents/correction-tracker.js +366 -0
  53. package/dist/core/agents/correction-tracker.js.map +1 -0
  54. package/dist/core/agents/dependency-graph.d.ts +193 -0
  55. package/dist/core/agents/dependency-graph.d.ts.map +1 -0
  56. package/dist/core/agents/dependency-graph.js +462 -0
  57. package/dist/core/agents/dependency-graph.js.map +1 -0
  58. package/dist/core/agents/gap-detector.d.ts +277 -0
  59. package/dist/core/agents/gap-detector.d.ts.map +1 -0
  60. package/dist/core/agents/gap-detector.js +540 -0
  61. package/dist/core/agents/gap-detector.js.map +1 -0
  62. package/dist/core/agents/index.d.ts +14 -1
  63. package/dist/core/agents/index.d.ts.map +1 -1
  64. package/dist/core/agents/index.js +26 -1
  65. package/dist/core/agents/index.js.map +1 -1
  66. package/dist/core/agents/message-protocol.d.ts +13 -2
  67. package/dist/core/agents/message-protocol.d.ts.map +1 -1
  68. package/dist/core/agents/message-protocol.js +20 -1
  69. package/dist/core/agents/message-protocol.js.map +1 -1
  70. package/dist/core/agents/parallel-executor.d.ts +182 -0
  71. package/dist/core/agents/parallel-executor.d.ts.map +1 -0
  72. package/dist/core/agents/parallel-executor.js +474 -0
  73. package/dist/core/agents/parallel-executor.js.map +1 -0
  74. package/dist/core/agents/pattern-detector.d.ts +157 -0
  75. package/dist/core/agents/pattern-detector.d.ts.map +1 -0
  76. package/dist/core/agents/pattern-detector.js +370 -0
  77. package/dist/core/agents/pattern-detector.js.map +1 -0
  78. package/dist/core/agents/registry-client.d.ts +6 -0
  79. package/dist/core/agents/registry-client.d.ts.map +1 -1
  80. package/dist/core/agents/registry-client.js +3 -0
  81. package/dist/core/agents/registry-client.js.map +1 -1
  82. package/dist/core/agents/research-phase.d.ts +114 -0
  83. package/dist/core/agents/research-phase.d.ts.map +1 -0
  84. package/dist/core/agents/research-phase.js +355 -0
  85. package/dist/core/agents/research-phase.js.map +1 -0
  86. package/dist/core/agents/research-validator.d.ts +13 -2
  87. package/dist/core/agents/research-validator.d.ts.map +1 -1
  88. package/dist/core/agents/research-validator.js +63 -31
  89. package/dist/core/agents/research-validator.js.map +1 -1
  90. package/dist/core/agents/skill-creator.d.ts +174 -0
  91. package/dist/core/agents/skill-creator.d.ts.map +1 -0
  92. package/dist/core/agents/skill-creator.js +570 -0
  93. package/dist/core/agents/skill-creator.js.map +1 -0
  94. package/dist/core/agents/state-persistence.d.ts +184 -0
  95. package/dist/core/agents/state-persistence.d.ts.map +1 -0
  96. package/dist/core/agents/state-persistence.js +394 -0
  97. package/dist/core/agents/state-persistence.js.map +1 -0
  98. package/dist/core/agents/validation-cache.d.ts +122 -0
  99. package/dist/core/agents/validation-cache.d.ts.map +1 -0
  100. package/dist/core/agents/validation-cache.js +280 -0
  101. package/dist/core/agents/validation-cache.js.map +1 -0
  102. package/dist/core/agents/validators/__tests__/validators.test.d.ts +5 -0
  103. package/dist/core/agents/validators/__tests__/validators.test.d.ts.map +1 -0
  104. package/dist/core/agents/validators/__tests__/validators.test.js +321 -0
  105. package/dist/core/agents/validators/__tests__/validators.test.js.map +1 -0
  106. package/dist/core/agents/validators/base-validator.d.ts +191 -0
  107. package/dist/core/agents/validators/base-validator.d.ts.map +1 -0
  108. package/dist/core/agents/validators/base-validator.js +192 -0
  109. package/dist/core/agents/validators/base-validator.js.map +1 -0
  110. package/dist/core/agents/validators/index.d.ts +7 -0
  111. package/dist/core/agents/validators/index.d.ts.map +1 -0
  112. package/dist/core/agents/validators/index.js +7 -0
  113. package/dist/core/agents/validators/index.js.map +1 -0
  114. package/dist/core/agents/validators/npm-validator.d.ts +50 -0
  115. package/dist/core/agents/validators/npm-validator.d.ts.map +1 -0
  116. package/dist/core/agents/validators/npm-validator.js +211 -0
  117. package/dist/core/agents/validators/npm-validator.js.map +1 -0
  118. package/dist/core/agents/validators/pip-validator.d.ts +49 -0
  119. package/dist/core/agents/validators/pip-validator.d.ts.map +1 -0
  120. package/dist/core/agents/validators/pip-validator.js +191 -0
  121. package/dist/core/agents/validators/pip-validator.js.map +1 -0
  122. package/dist/core/agents/validators/validator-registry.d.ts +122 -0
  123. package/dist/core/agents/validators/validator-registry.d.ts.map +1 -0
  124. package/dist/core/agents/validators/validator-registry.js +321 -0
  125. package/dist/core/agents/validators/validator-registry.js.map +1 -0
  126. package/dist/core/context-repl/types.d.ts +4 -4
  127. package/dist/core/memory/index.d.ts +1 -0
  128. package/dist/core/memory/index.d.ts.map +1 -1
  129. package/dist/core/memory/index.js +2 -0
  130. package/dist/core/memory/index.js.map +1 -1
  131. package/dist/core/memory/learning-store.d.ts +222 -0
  132. package/dist/core/memory/learning-store.d.ts.map +1 -0
  133. package/dist/core/memory/learning-store.js +477 -0
  134. package/dist/core/memory/learning-store.js.map +1 -0
  135. package/dist/core/spec-analyzer/__tests__/ambiguity-detector.test.d.ts +5 -0
  136. package/dist/core/spec-analyzer/__tests__/ambiguity-detector.test.d.ts.map +1 -0
  137. package/dist/core/spec-analyzer/__tests__/ambiguity-detector.test.js +401 -0
  138. package/dist/core/spec-analyzer/__tests__/ambiguity-detector.test.js.map +1 -0
  139. package/dist/core/spec-analyzer/ambiguity-detector.d.ts +99 -0
  140. package/dist/core/spec-analyzer/ambiguity-detector.d.ts.map +1 -0
  141. package/dist/core/spec-analyzer/ambiguity-detector.js +250 -0
  142. package/dist/core/spec-analyzer/ambiguity-detector.js.map +1 -0
  143. package/dist/core/spec-analyzer/clarification-generator.d.ts +76 -0
  144. package/dist/core/spec-analyzer/clarification-generator.d.ts.map +1 -0
  145. package/dist/core/spec-analyzer/clarification-generator.js +257 -0
  146. package/dist/core/spec-analyzer/clarification-generator.js.map +1 -0
  147. package/dist/core/spec-analyzer/index.d.ts +10 -1
  148. package/dist/core/spec-analyzer/index.d.ts.map +1 -1
  149. package/dist/core/spec-analyzer/index.js +13 -1
  150. package/dist/core/spec-analyzer/index.js.map +1 -1
  151. package/dist/core/spec-analyzer/patterns.d.ts +73 -0
  152. package/dist/core/spec-analyzer/patterns.d.ts.map +1 -0
  153. package/dist/core/spec-analyzer/patterns.js +412 -0
  154. package/dist/core/spec-analyzer/patterns.js.map +1 -0
  155. package/dist/hooks/__tests__/dynamic-generator.test.d.ts +5 -0
  156. package/dist/hooks/__tests__/dynamic-generator.test.d.ts.map +1 -0
  157. package/dist/hooks/__tests__/dynamic-generator.test.js +425 -0
  158. package/dist/hooks/__tests__/dynamic-generator.test.js.map +1 -0
  159. package/dist/hooks/__tests__/hook-agent-bridge.test.d.ts +5 -0
  160. package/dist/hooks/__tests__/hook-agent-bridge.test.d.ts.map +1 -0
  161. package/dist/hooks/__tests__/hook-agent-bridge.test.js +315 -0
  162. package/dist/hooks/__tests__/hook-agent-bridge.test.js.map +1 -0
  163. package/dist/hooks/dynamic-generator.d.ts +158 -0
  164. package/dist/hooks/dynamic-generator.d.ts.map +1 -0
  165. package/dist/hooks/dynamic-generator.js +448 -0
  166. package/dist/hooks/dynamic-generator.js.map +1 -0
  167. package/dist/hooks/hook-agent-bridge.d.ts +252 -0
  168. package/dist/hooks/hook-agent-bridge.d.ts.map +1 -0
  169. package/dist/hooks/hook-agent-bridge.js +489 -0
  170. package/dist/hooks/hook-agent-bridge.js.map +1 -0
  171. package/dist/hooks/index.d.ts +3 -1
  172. package/dist/hooks/index.d.ts.map +1 -1
  173. package/dist/hooks/index.js +5 -1
  174. package/dist/hooks/index.js.map +1 -1
  175. package/dist/mcp/tool-catalog.d.ts.map +1 -1
  176. package/dist/mcp/tool-catalog.js +47 -0
  177. package/dist/mcp/tool-catalog.js.map +1 -1
  178. package/dist/mcp/tool-tiers.d.ts.map +1 -1
  179. package/dist/mcp/tool-tiers.js +4 -0
  180. package/dist/mcp/tool-tiers.js.map +1 -1
  181. package/dist/mcp/tools/index.d.ts +2 -1
  182. package/dist/mcp/tools/index.d.ts.map +1 -1
  183. package/dist/mcp/tools/index.js +15 -1
  184. package/dist/mcp/tools/index.js.map +1 -1
  185. package/dist/mcp/tools/learning-store.d.ts +30 -0
  186. package/dist/mcp/tools/learning-store.d.ts.map +1 -0
  187. package/dist/mcp/tools/learning-store.js +286 -0
  188. package/dist/mcp/tools/learning-store.js.map +1 -0
  189. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAkCH;;GAEG;AACH,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AA+HD;;;;;;;;;;;;;;GAcG;AAEH,wBAAsB,WAAW,CAC/B,UAAU,GAAE,MAAY,EACxB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAkbf;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CA2BtD;AAID;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,OAAO,CAAC,IAAI,CAAC,CAwPf"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAwCH;;GAEG;AACH,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AA+HD;;;;;;;;;;;;;;GAcG;AAEH,wBAAsB,WAAW,CAC/B,UAAU,GAAE,MAAY,EACxB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAqcf;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CA2BtD;AAID;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,OAAO,CAAC,IAAI,CAAC,CAwPf"}
@@ -32,6 +32,7 @@ import { join } from 'node:path';
32
32
  import chalk from 'chalk';
33
33
  import ora from 'ora';
34
34
  import { createAgents } from '../agents/index.js';
35
+ import { blackboard, createPersistenceHooks, initializePersistence, messageBus, } from '../core/agents/index.js';
35
36
  import { runBootstrap } from '../core/agents/initializer.js';
36
37
  import { analyzeCodebase } from '../core/analyzer/index.js';
37
38
  import { DINO_DIR_NAME, VERSION } from '../core/config.js';
@@ -225,10 +226,18 @@ export async function initCommand(targetPath = '.', options = {}) {
225
226
  await FileSystem.createDirectory(join(dinoDir, 'handoff'));
226
227
  await FileSystem.createDirectory(join(dinoDir, 'research'));
227
228
  await FileSystem.createDirectory(join(dinoDir, 'plans'));
229
+ // v12.6.0: Agent state persistence directory
230
+ await FileSystem.createDirectory(join(dinoDir, 'agent-state'));
228
231
  // v6.3.0: Persistent memory directory
229
232
  spinner.text = 'Initializing persistent memory...';
230
233
  await initializeMemories(projectDir);
231
234
  created.push('memories/');
235
+ // v12.6.0: Initialize agent state persistence
236
+ spinner.text = 'Initializing agent state persistence...';
237
+ await initializePersistence({ claims: blackboard.claims, state: blackboard.state }, { messageHistory: messageBus.messageHistory });
238
+ const persistenceHooks = createPersistenceHooks({ claims: blackboard.claims, state: blackboard.state }, { messageHistory: messageBus.messageHistory });
239
+ blackboard.setPersistenceCallbacks(persistenceHooks.onClaimChange, persistenceHooks.onStateChange);
240
+ created.push('agent-state/');
232
241
  // 2b. Update .gitignore with dino patterns (v9.1.1)
233
242
  spinner.text = 'Updating .gitignore...';
234
243
  const gitignoreResult = await updateGitignore(projectDir);
@@ -433,6 +442,7 @@ export async function initCommand(targetPath = '.', options = {}) {
433
442
  console.log(chalk.dim(' .dino/handoff/ # Session handoffs'));
434
443
  console.log(chalk.dim(' .dino/research/ # Saved research'));
435
444
  console.log(chalk.dim(' .dino/plans/ # Implementation plans'));
445
+ console.log(chalk.dim(' .dino/agent-state/ # Agent state persistence'));
436
446
  console.log(chalk.dim(' .dino/config.json # Settings'));
437
447
  // Show rules
438
448
  if (rulesResult.created.length > 0 || rulesResult.updated.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAuB,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChF,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,kBAAkB,GACnB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AA8B5C;;GAEG;AACH,SAAS,kBAAkB;IACzB,MAAM,OAAO,GAAyB,EAAE,CAAA;IAExC,kEAAkE;IAClE,MAAM,UAAU,GAAI,OAAO,CAAC,QAAmC,CAAC,GAAG,CAAA;IACnE,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAC9D,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,QAAQ,IAAI,CAAC;YACjB,OAAO,EAAE,IAAI,UAAU,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE;YAC9D,QAAQ,EAAE,IAAI;SACf,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAA;QACzC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAChE,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,SAAS,IAAI,EAAE;YACnB,OAAO,EAAE,IAAI,WAAW,GAAG,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE;YAClE,QAAQ,EAAE,IAAI;SACf,CAAC,CAAA;IACJ,CAAC;IAED,mBAAmB;IACnB,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,aAAa,GAAG,WAAW,CAAA;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE;YAClD,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,IAAI;SACnB,CAAC,CAAA;QACF,IAAI,MAAM,EAAE,CAAC;YACX,QAAQ,GAAG,IAAI,CAAA;YACf,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAA;QACtD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,aAAa,GAAG,oCAAoC,CAAA;IACtD,CAAC;IACD,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,YAAY;QAClB,EAAE,EAAE,QAAQ;QACZ,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAA;IAEF,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IAIlD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;IAE/C,MAAM,MAAM,GAAwB;QAClC;YACE,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC3D,OAAO,EAAE,uBAAuB;SACjC;QACD;YACE,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAC5D,OAAO,EAAE,uBAAuB;SACjC;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,eAAe,EAAE;YAC1C,OAAO,EAAE,oBAAoB;SAC9B;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;YACtF,OAAO,EAAE,gCAAgC;SAC1C;QACD;YACE,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5E,OAAO,EAAE,+BAA+B;SACzC;KACF,CAAA;IAED,MAAM,OAAO,GAAuD,EAAE,CAAA;IACtE,IAAI,SAAS,GAAG,IAAI,CAAA;IAEpB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;YAClC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YACpF,IAAI,CAAC,MAAM;gBAAE,SAAS,GAAG,KAAK,CAAA;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YACtE,SAAS,GAAG,KAAK,CAAA;QACnB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;AACvC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,aAAqB,GAAG,EACxB,UAAuB,EAAE;IAEzB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,IAAI,GAAG,CAAC,CAAA;IACzD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;IAE/C,+BAA+B;IAC/B,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAA;IACpC,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACjE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAA;QACtD,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QACzD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,2BAA2B;IAC3B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAC3C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACxD,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QACjE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAEf,+BAA+B;IAC/B,MAAM,kBAAkB,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC3D,MAAM,YAAY,GAAG,kBAAkB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA;IAEzD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAA;IACpE,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAA;IAElG,IAAI,CAAC;QACH,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,MAAM,OAAO,GAAa,EAAE,CAAA;QAE5B,0DAA0D;QAC1D,IAAI,QAAwB,CAAA;QAC5B,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;QAE3D,IAAI,YAAY,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC;YACnE,6DAA6D;YAC7D,OAAO,CAAC,IAAI,GAAG,4BAA4B,CAAA;YAC3C,IAAI,CAAC;gBACH,QAAQ,GAAG,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAmB,CAAA;YAC/E,CAAC;YAAC,MAAM,CAAC;gBACP,4CAA4C;gBAC5C,OAAO,CAAC,IAAI,GAAG,uBAAuB,CAAA;gBACtC,QAAQ,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAA;YAC9C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,GAAG,uBAAuB,CAAA;YACtC,QAAQ,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAA;QAC9C,CAAC;QAED,+CAA+C;QAC/C,OAAO,CAAC,IAAI,GAAG,6BAA6B,CAAA;QAC5C,MAAM,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QACzC,MAAM,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;QAC1D,sCAAsC;QACtC,MAAM,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;QACxD,MAAM,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAA;QAC9D,MAAM,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;QAC1D,MAAM,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;QAC3D,MAAM,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;QACxD,sCAAsC;QACtC,OAAO,CAAC,IAAI,GAAG,mCAAmC,CAAA;QAClD,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAA;QACpC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAEzB,oDAAoD;QACpD,OAAO,CAAC,IAAI,GAAG,wBAAwB,CAAA;QACvC,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAA;QAEzD,kCAAkC;QAClC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO;YAC5B,CAAC,CAAC,uDAAuD;YACzD,CAAC,CAAC,yBAAyB,CAAA;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;QAClD,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAE5D,2CAA2C;QAC3C,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,gBAAgB,CAAA;QAEpF,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,eAAe,GAAG,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAA;YAC3E,IAAI,eAAe,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACxD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAClB,uCAAuC;oBACvC,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;oBAC5C,MAAM,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;oBACpD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBAC3B,CAAC;qBAAM,IAAI,YAAY,IAAI,eAAe,CAAC,eAAe,CAAC,EAAE,CAAC;oBAC5D,sEAAsE;oBACtE,OAAO,CAAC,IAAI,GAAG,qCAAqC,CAAA;oBACpD,MAAM,cAAc,GAAG,kBAAkB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;oBACpE,IAAI,cAAc,KAAK,eAAe,EAAE,CAAC;wBACvC,MAAM,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;wBACxD,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;oBAC3C,CAAC;gBACH,CAAC;gBACD,gCAAgC;YAClC,CAAC;iBAAM,CAAC;gBACN,kEAAkE;gBAClE,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;gBAC5C,iEAAiE;gBACjE,MAAM,qBAAqB,GAAG,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;gBAC7E,MAAM,aAAa,GAAG,GAAG,UAAU,YAAY,qBAAqB,EAAE,CAAA;gBACtE,MAAM,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;gBACvD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,uBAAuB;YACvB,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;YAC5C,MAAM,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;YACpD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC3B,CAAC;QAED,uBAAuB;QACvB,mFAAmF;QACnF,OAAO,CAAC,IAAI,GAAG,wBAAwB,CAAA;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QAC/C,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAC1D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,uCAAuC;YACvC,MAAM,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAA;YAC5D,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAC5B,CAAC;aAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACzB,uDAAuD;YACvD,MAAM,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAA;YAC5D,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAC5B,CAAC;QACD,wEAAwE;QAExE,yBAAyB;QACzB,OAAO,CAAC,IAAI,GAAG,oBAAoB,CAAA;QACnC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;QACrD,MAAM,UAAU,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QACnD,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAE9B,yDAAyD;QACzD,mFAAmF;QACnF,OAAO,CAAC,IAAI,GAAG,6BAA6B,CAAA;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;QACnD,MAAM,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAA;QACxE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAE7B,wBAAwB;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;QAC/C,MAAM,UAAU,CAAC,SAAS,CAAC,UAAU,EAAE;YACrC,OAAO,EAAE,OAAO;YAChB,YAAY,EAAE,QAAQ,CAAC,UAAU;YACjC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;SAClC,CAAC,CAAA;QACF,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAE3B,mBAAmB;QACnB,OAAO,CAAC,IAAI,GAAG,qBAAqB,CAAA;QACpC,MAAM,WAAW,GAAG,MAAM,eAAe,EAAE,CAAA;QAE3C,kBAAkB;QAClB,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAA;QAClC,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QAE3E,mBAAmB;QACnB,OAAO,CAAC,IAAI,GAAG,oBAAoB,CAAA;QACnC,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QAE7E,oBAAoB;QACpB,OAAO,CAAC,IAAI,GAAG,oBAAoB,CAAA;QACnC,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QAE7E,+BAA+B;QAC/B,OAAO,CAAC,IAAI,GAAG,yBAAyB,CAAA;QACxC,MAAM,qBAAqB,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QAEjE,wEAAwE;QACxE,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAA;QAClC,MAAM,iBAAiB,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAE/D,qDAAqD;QACrD,OAAO,CAAC,IAAI,GAAG,2BAA2B,CAAA;QAC1C,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAA;QAE5C,qBAAqB;QACrB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACvB,+DAA+D;YAC/D,MAAM,YAAY,GAChB,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;gBACvC,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;YAE/E,IAAI,YAAY,EAAE,CAAC;gBACjB,+DAA+D;gBAC/D,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;gBACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;gBAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC,CAAA;gBACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;iBAAM,CAAC;gBACN,oEAAoE;gBACpE,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAA;YACzD,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,eAAe,GAA4D,IAAI,CAAA;QACnF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,GAAG,sBAAsB,CAAA;YACrC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAA;gBAC9C,eAAe,GAAG;oBAChB,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;iBACvC,CAAA;gBACD,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;YACjC,CAAC;YAAC,OAAO,IAAI,EAAE,CAAC;gBACd,8CAA8C;YAChD,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,OAAO,CAAC,IAAI,GAAG,iCAAiC,CAAA;QAChD,MAAM,iBAAiB,GAAG,MAAM,sBAAsB,CAAC,UAAU,CAAC,CAAA;QAElE,OAAO,CAAC,OAAO,CAAC,SAAS,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAA;QAEhF,uBAAuB;QACvB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,OAAO,SAAS,CAAC,CAAC,CAAA;QAEtD,eAAe;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;QACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAC5D,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;QACxE,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAA;QACnF,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAC9D,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/D,CAAC;QACD,IAAI,iBAAiB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,iBAAiB,CAAC,OAAO,CAAC,MAAM,mBAAmB,CAAC,CAAC,CAAA;QAC3F,CAAC;QACD,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,eAAe,CAAC,aAAa,iBAAiB,CAAC,CAAC,CAAA;QAC1F,CAAC;aAAM,IAAI,eAAe,CAAC,cAAc,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAA;QAC3D,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;QACnC,IAAI,WAAW,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAChF,CAAC;aAAM,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,WAAW,CAAC,YAAY,SAAS,CAAC,CAAC,CAAA;QACtF,CAAC;QACD,oCAAoC;QACpC,IAAI,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,WAAW,CAAC,MAAM,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAA;YACpF,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC/D,CAAC;QACH,CAAC;QACD,IAAI,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAA;YACnD,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAA;QACvC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,0EAA0E,CAAC,CACtF,CAAA;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC,CAAA;QAC7F,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC,CAAA;QACxF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAA;QAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC,CAAA;QACxF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC,CAAA;QAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC,CAAA;QAC1E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC,CAAA;QAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC,CAAA;QAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAA;QAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC,CAAA;QACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC,CAAA;QAErE,aAAa;QACb,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;YACnC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,sCAAsC,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,aAAa,CAC3G,CACF,CAAA;QACH,CAAC;QAED,cAAc;QACd,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;YACpC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,sCAAsC,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,eAAe,CAC/G,CACF,CAAA;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC,CAAA;QAC5E,CAAC;QAED,cAAc;QACd,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;YACpC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,sCAAsC,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,qBAAqB,CACrH,CACF,CAAA;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC,CAAA;QACtF,CAAC;QAED,uEAAuE;QACvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAA;QACxC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAA;YAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,SAAS,CAAC,SAAS,kBAAkB,CAAC,CAAC,CAAA;YAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,SAAS,CAAC,aAAa,sBAAsB,CAAC,CAAC,CAAA;YACvF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAA;QACjE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,wDAAwD,CAAC,CAAC,CAAA;YACnF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC,CAAA;YAC/D,oCAAoC;YACpC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAA;YAC1C,MAAM,GAAG,GAAG,KAAK;gBACf,CAAC,CAAC,mFAAmF;gBACrF,CAAC,CAAC,oDAAoD,CAAA;YACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAA;YACrC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAA;QACtD,CAAC;QAED,4BAA4B;QAC5B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;QACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC,CAAA;QAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC,CAAA;QAEhE,iCAAiC;QACjC,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAA;YACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAA;YAClF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,aAAa,eAAe,CAAC,WAAW,KAAK,eAAe,CAAC,aAAa,YAAY,CACvF,CACF,CAAA;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAA;QAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAA;QAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC,CAAA;QACxE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAA;QAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC,CAAA;QACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC,CAAA;QAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAA;QACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC,CAAA;QAExE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAA;QACtC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC3B,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CACxE,CAAA;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAA;QACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAA;QACjF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,0CAA0C,CAAC,CACrF,CAAA;QAED,kCAAkC;QAClC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAA;QAC1C,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAA;QACzD,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACjE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC/E,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC,CAAA;YAClC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YACrD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC,CAAA;QACvE,CAAC;QAED,wDAAwD;QACxD,gBAAgB,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACtC,+BAA+B;QACjC,CAAC,CAAC,CAAA;QAEF,+CAA+C;QAC/C,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAA;YAC1D,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;gBACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC,CAAA;YACxE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,4CAA4C;QAC9C,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACjB,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;IAE/C,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAA;IAEnD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAA;QAC9C,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAA;QAEtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAA;QACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QAC7D,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;QAC/D,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAClE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACjB,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC;AAED,oGAAoG;AAEpG;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAkB,EAClB,UAAkD,EAAE;IAEpD,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;IAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;IAE7C,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM;QAC9B,CAAC,CAAC,OAAO,CAAC,MAAM;YACd,CAAC,CAAC,+BAA+B;YACjC,CAAC,CAAC,qBAAqB;QACzB,CAAC,CAAC,YAAY,CAAA;IAChB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC,CAAA;IACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC,CAAA;IAE5E,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,MAAM,MAAM,GAA2E,EAAE,CAAA;IAEzF,kCAAkC;IAClC,IAAI,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC1D,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,qBAAqB;SAC/B,CAAC,CAAA;QACF,SAAS,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,6BAA6B;IAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IAC/C,IAAI,MAAM,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACrD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,qBAAqB;SAC/B,CAAC,CAAA;QACF,SAAS,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,8BAA8B;IAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;IAC/C,IAAI,MAAM,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACtD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,yBAAyB;SACnC,CAAC,CAAA;IACJ,CAAC;IAED,kEAAkE;IAClE,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;IACrD,IAAI,MAAM,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1C,MAAM,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAC/D,+BAA+B,CAChC,CAAA;QACD,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAA;QAErF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,YAAY,CAAC,CAAA;QAEnD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM,CAAA;YACjF,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,sBAAsB;oBAC5B,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,GAAG,YAAY,aAAa;iBACtC,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;YAC/D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAA;YAE7E,kCAAkC;YAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAA;YACxD,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAA;YAChD,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;YACvC,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAEf,0BAA0B;YAC1B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE;oBACpD,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM;oBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB,CAAC,CAAA;gBAEF,IAAI,YAAY,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAA;oBAChD,MAAM,eAAe,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAA;oBACxD,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;oBACvC,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;oBAEf,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9D,2BAA2B;wBAC3B,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAAC,YAAY,CAAC,CAAA;wBAC7D,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;4BAC3B,MAAM,CAAC,IAAI,CAAC;gCACV,IAAI,EAAE,sBAAsB;gCAC5B,MAAM,EAAE,MAAM;gCACd,OAAO,EAAE,aAAa,YAAY,CAAC,cAAc,CAAC,MAAM,OAAO,YAAY,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG;6BACvH,CAAC,CAAA;4BACF,wCAAwC;wBAC1C,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,IAAI,CAAC;gCACV,IAAI,EAAE,sBAAsB;gCAC5B,MAAM,EAAE,MAAM;gCACd,OAAO,EAAE,uBAAuB,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,YAAY;6BACjH,CAAC,CAAA;wBACJ,CAAC;oBACH,CAAC;yBAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;wBAC1B,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,sBAAsB;4BAC5B,MAAM,EAAE,MAAM;4BACd,OAAO,EAAE,GAAG,UAAU,cAAc,YAAY,CAAC,gBAAgB,CAAC,MAAM,aAAa;yBACtF,CAAC,CAAA;wBACF,SAAS,GAAG,IAAI,CAAA;oBAClB,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,sBAAsB;4BAC5B,MAAM,EAAE,MAAM;4BACd,OAAO,EAAE,GAAG,UAAU,iCAAiC;yBACxD,CAAC,CAAA;wBACF,SAAS,GAAG,IAAI,CAAA;oBAClB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,sBAAsB;wBAC5B,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,GAAG,UAAU,sCAAsC;qBAC7D,CAAC,CAAA;oBACF,SAAS,GAAG,IAAI,CAAA;gBAClB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,sDAAsD;gBACtD,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;gBACvE,IAAI,YAAY,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7C,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,sBAAsB;wBAC5B,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,GAAG,UAAU,qCAAqC;qBAC5D,CAAC,CAAA;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,sBAAsB;wBAC5B,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,GAAG,UAAU,WAAW;qBAClC,CAAC,CAAA;gBACJ,CAAC;gBACD,SAAS,GAAG,IAAI,CAAA;YAClB,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,wBAAwB;SAClC,CAAC,CAAA;IACJ,CAAC;IAED,0BAA0B;IAC1B,MAAM,aAAa,GAAG,MAAM,eAAe,EAAE,CAAA;IAC7C,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACzD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,oBAAoB;SAC9B,CAAC,CAAA;IACJ,CAAC;IAED,mCAAmC;IACnC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAA;IAC5D,IAAI,MAAM,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC3D,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,gCAAgC;SAC1C,CAAC,CAAA;QACF,SAAS,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,kCAAkC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IACjD,IAAI,MAAM,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC1D,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,+BAA+B;SACzC,CAAC,CAAA;QACF,SAAS,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,iBAAiB;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAA;IAChD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,IAAY,CAAA;QAChB,IAAI,SAAgC,CAAA;QACpC,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;YACrB,KAAK,MAAM;gBACT,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACvB,SAAS,GAAG,KAAK,CAAC,GAAG,CAAA;gBACrB,MAAK;YACP,KAAK,MAAM;gBACT,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACxB,SAAS,GAAG,KAAK,CAAC,MAAM,CAAA;gBACxB,MAAK;YACP,KAAK,MAAM;gBACT,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACrB,SAAS,GAAG,KAAK,CAAC,GAAG,CAAA;gBACrB,MAAK;QACT,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACrE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,UAAU;IACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAA;IAClE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAA;IAClE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAA;IAElE,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,SAAS,cAAc,SAAS,aAAa,CAAC,CAAC,CAAA;QAC7F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAA;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;SAAM,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4BAA4B,SAAS,aAAa,CAAC,CAAC,CAAA;QAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAA;QAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,SAAS,gBAAgB,CAAC,CAAC,CAAA;QAC/E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAA;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tests for confidence-gate module (v17.5.0)
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=confidence-gate.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confidence-gate.test.d.ts","sourceRoot":"","sources":["../../../../src/core/agents/__tests__/confidence-gate.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,329 @@
1
+ /**
2
+ * Tests for confidence-gate module (v17.5.0)
3
+ */
4
+ import { describe, expect, it } from 'vitest';
5
+ import { CONFIDENCE_TIERS, checkConfidence, createConfidenceTracking, createProgressiveGateState, formatConfidenceForSession, formatGateResult, formatProgressiveGateForSession, generateClarificationQuestions, getConfidenceTier, getTieredAction, hasExceededMaxRounds, markStateUserValidated, recordConfidenceRound, updateConfidenceFromAnswers, updateStateAfterClarification, updateStateAfterResearch, } from '../confidence-gate.js';
6
+ describe('confidence-gate', () => {
7
+ describe('CONFIDENCE_TIERS', () => {
8
+ it('should have correct tier thresholds', () => {
9
+ expect(CONFIDENCE_TIERS.BLOCK).toBe(0.3);
10
+ expect(CONFIDENCE_TIERS.RESEARCH).toBe(0.5);
11
+ expect(CONFIDENCE_TIERS.CLARIFY).toBe(0.7);
12
+ expect(CONFIDENCE_TIERS.PROCEED).toBe(0.8);
13
+ expect(CONFIDENCE_TIERS.RALPH).toBe(0.9);
14
+ });
15
+ });
16
+ describe('getConfidenceTier', () => {
17
+ it('should return blocked for < 30%', () => {
18
+ expect(getConfidenceTier(0.1)).toBe('blocked');
19
+ expect(getConfidenceTier(0.25)).toBe('blocked');
20
+ expect(getConfidenceTier(0.29)).toBe('blocked');
21
+ });
22
+ it('should return research for 30-50%', () => {
23
+ expect(getConfidenceTier(0.3)).toBe('research');
24
+ expect(getConfidenceTier(0.4)).toBe('research');
25
+ expect(getConfidenceTier(0.49)).toBe('research');
26
+ });
27
+ it('should return clarify for 50-70%', () => {
28
+ expect(getConfidenceTier(0.5)).toBe('clarify');
29
+ expect(getConfidenceTier(0.6)).toBe('clarify');
30
+ expect(getConfidenceTier(0.69)).toBe('clarify');
31
+ });
32
+ it('should return proceed for 70%+ (standard)', () => {
33
+ expect(getConfidenceTier(0.7)).toBe('proceed');
34
+ expect(getConfidenceTier(0.8)).toBe('proceed');
35
+ expect(getConfidenceTier(0.9)).toBe('proceed');
36
+ });
37
+ it('should use higher threshold for Ralph-eligible tasks', () => {
38
+ // At 85%, normal tasks proceed but Ralph-eligible need more
39
+ expect(getConfidenceTier(0.85, false)).toBe('proceed');
40
+ expect(getConfidenceTier(0.85, true)).toBe('clarify');
41
+ // At 90%+, both proceed
42
+ expect(getConfidenceTier(0.9, true)).toBe('proceed');
43
+ expect(getConfidenceTier(0.95, true)).toBe('proceed');
44
+ });
45
+ });
46
+ describe('getTieredAction', () => {
47
+ it('should map tiers to actions', () => {
48
+ expect(getTieredAction(0.1)).toBe('block');
49
+ expect(getTieredAction(0.4)).toBe('research');
50
+ expect(getTieredAction(0.6)).toBe('clarify');
51
+ expect(getTieredAction(0.8)).toBe('proceed');
52
+ });
53
+ });
54
+ describe('createProgressiveGateState', () => {
55
+ it('should create initial state from prompt', () => {
56
+ const state = createProgressiveGateState('Add a login button');
57
+ expect(state.confidence).toBeGreaterThanOrEqual(0);
58
+ expect(state.confidence).toBeLessThanOrEqual(1);
59
+ expect(state.requiredConfidence).toBe(0.8); // Standard threshold
60
+ expect(state.researchRounds).toBe(0);
61
+ expect(state.clarificationRounds).toBe(0);
62
+ expect(state.userValidated).toBe(false);
63
+ expect(state.history).toHaveLength(0);
64
+ });
65
+ it('should set tier based on initial confidence', () => {
66
+ // Clear prompt should have higher confidence (may still need clarification)
67
+ const clearState = createProgressiveGateState('Add validateEmail function to src/utils/validators.ts that returns true for valid emails');
68
+ // Clear prompts typically get proceed or clarify tier
69
+ expect(['proceed', 'clarify', 'research']).toContain(clearState.tier);
70
+ // For vague prompts, verify the tier is valid (actual confidence depends on analyzePrompt)
71
+ const vagueState = createProgressiveGateState('Improve things somehow maybe');
72
+ // The state should have a valid tier, regardless of what analyzePrompt returns
73
+ expect(['blocked', 'research', 'clarify', 'proceed']).toContain(vagueState.tier);
74
+ // Verify the tier matches the confidence level
75
+ expect(vagueState.tier).toBe(getConfidenceTier(vagueState.confidence));
76
+ });
77
+ });
78
+ describe('updateStateAfterResearch', () => {
79
+ it('should update confidence and increment research rounds', () => {
80
+ const initial = createProgressiveGateState('Add feature');
81
+ const updated = updateStateAfterResearch(initial, initial.confidence + 0.2, 'Found patterns');
82
+ expect(updated.confidence).toBe(initial.confidence + 0.2);
83
+ expect(updated.researchRounds).toBe(1);
84
+ expect(updated.history).toHaveLength(1);
85
+ expect(updated.history[0].action).toBe('research');
86
+ });
87
+ it('should update tier based on new confidence', () => {
88
+ const initial = createProgressiveGateState('Improve something');
89
+ // Force low confidence in research tier (30-50%)
90
+ const state = { ...initial, confidence: 0.35, tier: 'research' };
91
+ // Research improves to clarify tier (50-70%)
92
+ const updated = updateStateAfterResearch(state, 0.55, 'Research improved confidence');
93
+ expect(updated.tier).toBe('clarify');
94
+ });
95
+ });
96
+ describe('updateStateAfterClarification', () => {
97
+ it('should update confidence and increment clarification rounds', () => {
98
+ const initial = createProgressiveGateState('Add feature');
99
+ const updated = updateStateAfterClarification(initial, initial.confidence + 0.15, 'User clarified scope');
100
+ expect(updated.confidence).toBe(initial.confidence + 0.15);
101
+ expect(updated.clarificationRounds).toBe(1);
102
+ expect(updated.history).toHaveLength(1);
103
+ expect(updated.history[0].action).toBe('clarification');
104
+ });
105
+ });
106
+ describe('markStateUserValidated', () => {
107
+ it('should mark state as validated and set confidence to required', () => {
108
+ const initial = createProgressiveGateState('Add feature');
109
+ const state = { ...initial, confidence: 0.5, tier: 'clarify' };
110
+ const validated = markStateUserValidated(state);
111
+ expect(validated.userValidated).toBe(true);
112
+ expect(validated.confidence).toBe(state.requiredConfidence);
113
+ expect(validated.tier).toBe('proceed');
114
+ expect(validated.history).toHaveLength(1);
115
+ expect(validated.history[0].action).toBe('user-input');
116
+ });
117
+ });
118
+ describe('generateClarificationQuestions', () => {
119
+ it('should generate questions for vague prompts', async () => {
120
+ const { analyzePrompt } = await import('../../spec-analyzer/index.js');
121
+ const analysis = analyzePrompt('Improve the system');
122
+ const questions = generateClarificationQuestions(analysis);
123
+ expect(questions.length).toBeGreaterThan(0);
124
+ expect(questions[0]).toHaveProperty('id');
125
+ expect(questions[0]).toHaveProperty('question');
126
+ expect(questions[0]).toHaveProperty('priority');
127
+ });
128
+ it('should generate blocking questions for missing target', async () => {
129
+ const { analyzePrompt } = await import('../../spec-analyzer/index.js');
130
+ const analysis = analyzePrompt('Fix the bug');
131
+ const questions = generateClarificationQuestions(analysis);
132
+ const blocking = questions.filter((q) => q.priority === 'blocking');
133
+ expect(blocking.length).toBeGreaterThan(0);
134
+ });
135
+ });
136
+ describe('updateConfidenceFromAnswers', () => {
137
+ it('should increase confidence based on answered questions', () => {
138
+ const questions = [
139
+ { id: 'q1', question: 'Test?', priority: 'blocking', type: 'scope' },
140
+ { id: 'q2', question: 'Test2?', priority: 'important', type: 'success' },
141
+ ];
142
+ const newConfidence = updateConfidenceFromAnswers(0.5, questions, 2);
143
+ // Blocking worth 0.15, important worth 0.10
144
+ expect(newConfidence).toBeCloseTo(0.75, 2);
145
+ });
146
+ it('should not exceed 1.0', () => {
147
+ const questions = [
148
+ { id: 'q1', question: 'Test?', priority: 'blocking', type: 'scope' },
149
+ { id: 'q2', question: 'Test?', priority: 'blocking', type: 'scope' },
150
+ { id: 'q3', question: 'Test?', priority: 'blocking', type: 'scope' },
151
+ ];
152
+ const newConfidence = updateConfidenceFromAnswers(0.9, questions, 3);
153
+ expect(newConfidence).toBe(1.0);
154
+ });
155
+ });
156
+ describe('createConfidenceTracking', () => {
157
+ it('should create tracking from prompt', () => {
158
+ const tracking = createConfidenceTracking('Add a feature');
159
+ expect(tracking.currentConfidence).toBeGreaterThanOrEqual(0);
160
+ expect(tracking.targetConfidence).toBeGreaterThanOrEqual(0.8);
161
+ expect(tracking.rounds).toHaveLength(0);
162
+ expect(tracking.status).toBe('pending');
163
+ });
164
+ });
165
+ describe('recordConfidenceRound', () => {
166
+ it('should add round to tracking', () => {
167
+ const tracking = createConfidenceTracking('Add feature');
168
+ const updated = recordConfidenceRound(tracking, 'research', tracking.currentConfidence + 0.1, 'Found patterns');
169
+ expect(updated.rounds).toHaveLength(1);
170
+ expect(updated.rounds[0].action).toBe('research');
171
+ expect(updated.currentConfidence).toBe(tracking.currentConfidence + 0.1);
172
+ });
173
+ it('should update status to ready when threshold met', () => {
174
+ const tracking = createConfidenceTracking('Add feature');
175
+ const updated = recordConfidenceRound(tracking, 'clarification', tracking.targetConfidence, 'User clarified');
176
+ expect(updated.status).toBe('ready');
177
+ });
178
+ });
179
+ describe('hasExceededMaxRounds', () => {
180
+ it('should return false when under limits', () => {
181
+ const tracking = createConfidenceTracking('Add feature');
182
+ expect(hasExceededMaxRounds(tracking)).toBe(false);
183
+ });
184
+ it('should return true when research rounds exceeded', () => {
185
+ let tracking = createConfidenceTracking('Add feature');
186
+ tracking = recordConfidenceRound(tracking, 'research', 0.5, 'Round 1');
187
+ tracking = recordConfidenceRound(tracking, 'research', 0.6, 'Round 2');
188
+ expect(hasExceededMaxRounds(tracking)).toBe(true);
189
+ });
190
+ it('should return true when clarification rounds exceeded', () => {
191
+ let tracking = createConfidenceTracking('Add feature');
192
+ for (let i = 0; i < 5; i++) {
193
+ tracking = recordConfidenceRound(tracking, 'clarification', 0.5 + i * 0.05, `Round ${i + 1}`);
194
+ }
195
+ expect(hasExceededMaxRounds(tracking)).toBe(true);
196
+ });
197
+ });
198
+ describe('formatConfidenceForSession', () => {
199
+ it('should format tracking as markdown', () => {
200
+ let tracking = createConfidenceTracking('Add feature');
201
+ tracking = recordConfidenceRound(tracking, 'research', tracking.currentConfidence + 0.1, 'Found patterns');
202
+ const markdown = formatConfidenceForSession(tracking);
203
+ expect(markdown).toContain('## Confidence');
204
+ expect(markdown).toContain('Current:');
205
+ expect(markdown).toContain('Target:');
206
+ expect(markdown).toContain('### History');
207
+ expect(markdown).toContain('research');
208
+ });
209
+ });
210
+ describe('formatGateResult', () => {
211
+ it('should format passed gate', () => {
212
+ const result = {
213
+ proceed: true,
214
+ confidence: 0.85,
215
+ requiredConfidence: 0.8,
216
+ action: 'proceed',
217
+ reason: 'Confidence met',
218
+ };
219
+ const markdown = formatGateResult(result);
220
+ expect(markdown).toContain('PASSED');
221
+ expect(markdown).toContain('85%');
222
+ expect(markdown).toContain('80%');
223
+ });
224
+ it('should format blocked gate with questions', () => {
225
+ const result = {
226
+ proceed: false,
227
+ confidence: 0.5,
228
+ requiredConfidence: 0.8,
229
+ action: 'clarify',
230
+ reason: 'Below threshold',
231
+ questions: [
232
+ {
233
+ id: 'q1',
234
+ question: 'Which file?',
235
+ priority: 'blocking',
236
+ type: 'scope',
237
+ },
238
+ ],
239
+ };
240
+ const markdown = formatGateResult(result);
241
+ expect(markdown).toContain('BLOCKED');
242
+ expect(markdown).toContain('Clarification Questions');
243
+ expect(markdown).toContain('Which file?');
244
+ });
245
+ });
246
+ describe('formatProgressiveGateForSession', () => {
247
+ it('should format progressive state with tiers', () => {
248
+ const state = createProgressiveGateState('Add feature');
249
+ const markdown = formatProgressiveGateForSession(state);
250
+ expect(markdown).toContain('## Confidence Gate (Progressive)');
251
+ expect(markdown).toContain('### Thresholds');
252
+ expect(markdown).toContain('Proceed');
253
+ expect(markdown).toContain('Clarify');
254
+ expect(markdown).toContain('Research');
255
+ expect(markdown).toContain('Blocked');
256
+ expect(markdown).toContain('### Rounds');
257
+ });
258
+ it('should show user validated status', () => {
259
+ let state = createProgressiveGateState('Add feature');
260
+ state = markStateUserValidated(state);
261
+ const markdown = formatProgressiveGateForSession(state);
262
+ expect(markdown).toContain('User Validated');
263
+ });
264
+ });
265
+ describe('checkConfidence', () => {
266
+ it('should return proceed for high confidence prompts', async () => {
267
+ const result = await checkConfidence('Add validateEmail function to src/utils/validators.ts that returns true if email matches RFC 5322');
268
+ // Clear prompt should have high confidence
269
+ expect(result.confidence).toBeGreaterThan(0.5);
270
+ });
271
+ it('should return clarify for low confidence prompts', async () => {
272
+ const result = await checkConfidence('Fix the thing', {
273
+ threshold: 0.8,
274
+ ralphThreshold: 0.9,
275
+ maxResearchRounds: 2,
276
+ maxClarificationRounds: 5,
277
+ enableAutoResearch: false, // Disable for test speed
278
+ });
279
+ // The result depends on analyzePrompt confidence - verify structure is correct
280
+ expect(result).toHaveProperty('proceed');
281
+ expect(result).toHaveProperty('confidence');
282
+ expect(result).toHaveProperty('requiredConfidence');
283
+ expect(result).toHaveProperty('action');
284
+ expect(['proceed', 'research', 'clarify']).toContain(result.action);
285
+ // If not proceeding, should have questions
286
+ if (!result.proceed) {
287
+ expect(result.questions).toBeDefined();
288
+ }
289
+ });
290
+ });
291
+ });
292
+ describe('Integration: Progressive Confidence Flow', () => {
293
+ it('should flow from blocked to proceed through rounds', () => {
294
+ // Start with vague prompt
295
+ let state = createProgressiveGateState('Maybe improve something');
296
+ // Simulate low confidence (force for test)
297
+ state = { ...state, confidence: 0.25, tier: 'blocked' };
298
+ expect(state.tier).toBe('blocked');
299
+ // User provides some clarification - moves to research tier (30-50%)
300
+ state = updateStateAfterClarification(state, 0.35, 'User specified target file');
301
+ expect(state.tier).toBe('research');
302
+ // Research improves further - moves to clarify tier (50-70%)
303
+ state = updateStateAfterResearch(state, 0.55, 'Found similar patterns');
304
+ expect(state.tier).toBe('clarify');
305
+ // More clarification - moves to proceed tier (70%+)
306
+ state = updateStateAfterClarification(state, 0.75, 'User confirmed approach');
307
+ expect(state.tier).toBe('proceed');
308
+ });
309
+ it('should require validation when max rounds reached', () => {
310
+ let state = createProgressiveGateState('Add feature');
311
+ state = { ...state, confidence: 0.55, tier: 'clarify' };
312
+ // Use up all research rounds
313
+ state = updateStateAfterResearch(state, 0.58, 'Round 1');
314
+ state = updateStateAfterResearch(state, 0.62, 'Round 2');
315
+ // Use up all clarification rounds (staying in clarify tier 50-70%)
316
+ for (let i = 0; i < 5; i++) {
317
+ state = updateStateAfterClarification(state, 0.62 + i * 0.01, `Clarify ${i + 1}`);
318
+ }
319
+ expect(state.researchRounds).toBe(2);
320
+ expect(state.clarificationRounds).toBe(5);
321
+ // Still in clarify tier (0.66 < 0.7), need user validation
322
+ expect(state.tier).toBe('clarify');
323
+ // User validates
324
+ state = markStateUserValidated(state);
325
+ expect(state.tier).toBe('proceed');
326
+ expect(state.userValidated).toBe(true);
327
+ });
328
+ });
329
+ //# sourceMappingURL=confidence-gate.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confidence-gate.test.js","sourceRoot":"","sources":["../../../../src/core/agents/__tests__/confidence-gate.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tests for gap-detector module (v17.5.0)
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=gap-detector.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gap-detector.test.d.ts","sourceRoot":"","sources":["../../../../src/core/agents/__tests__/gap-detector.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}