tryassay 0.13.0 → 0.15.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 (32) hide show
  1. package/dist/api/server.d.ts +4 -0
  2. package/dist/api/server.js +145 -1
  3. package/dist/api/server.js.map +1 -1
  4. package/dist/cli.js +21 -1
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/create.d.ts +18 -0
  7. package/dist/commands/create.js +135 -0
  8. package/dist/commands/create.js.map +1 -0
  9. package/dist/runtime/agents/code-agent.d.ts +1 -1
  10. package/dist/runtime/agents/code-agent.js +17 -7
  11. package/dist/runtime/agents/code-agent.js.map +1 -1
  12. package/dist/runtime/agents/coordinator-agent.js +2 -1
  13. package/dist/runtime/agents/coordinator-agent.js.map +1 -1
  14. package/dist/runtime/agents/planner-agent.d.ts +18 -0
  15. package/dist/runtime/agents/planner-agent.js +201 -0
  16. package/dist/runtime/agents/planner-agent.js.map +1 -0
  17. package/dist/runtime/app-create-orchestrator.d.ts +62 -0
  18. package/dist/runtime/app-create-orchestrator.js +923 -0
  19. package/dist/runtime/app-create-orchestrator.js.map +1 -0
  20. package/dist/runtime/build-verifier.d.ts +32 -0
  21. package/dist/runtime/build-verifier.js +508 -0
  22. package/dist/runtime/build-verifier.js.map +1 -0
  23. package/dist/runtime/composition-verifier.d.ts +46 -0
  24. package/dist/runtime/composition-verifier.js +278 -1
  25. package/dist/runtime/composition-verifier.js.map +1 -1
  26. package/dist/runtime/multi-agent-loop.d.ts +2 -0
  27. package/dist/runtime/multi-agent-loop.js +65 -1
  28. package/dist/runtime/multi-agent-loop.js.map +1 -1
  29. package/dist/runtime/specialized-agent.js +1 -1
  30. package/dist/runtime/specialized-agent.js.map +1 -1
  31. package/dist/runtime/types.d.ts +212 -2
  32. package/package.json +1 -1
@@ -8,6 +8,52 @@ export declare class CompositionVerifier {
8
8
  * Returns a VerifiedHandoff with the verification result and handoff decision.
9
9
  */
10
10
  verifyHandoff(sourceAgent: AgentIdentity, targetAgent: AgentIdentity, artifact: BoundaryArtifact): Promise<VerifiedHandoff>;
11
+ /**
12
+ * Lightweight verification — regex-only, zero LLM calls.
13
+ * Checks for common code quality issues using deterministic patterns.
14
+ * Returns PARTIAL (not FAIL) on issues — lenient treatment for simple code.
15
+ */
16
+ verifyHandoffLightweight(sourceAgent: AgentIdentity, targetAgent: AgentIdentity, artifact: BoundaryArtifact): Promise<VerifiedHandoff>;
17
+ /**
18
+ * Fast verification — single LLM call that extracts AND verifies claims together.
19
+ * Replaces the 3-call pipeline (extract → file-select → verify) with one combined call.
20
+ */
21
+ verifyHandoffFast(sourceAgent: AgentIdentity, targetAgent: AgentIdentity, artifact: BoundaryArtifact): Promise<VerifiedHandoff>;
22
+ /**
23
+ * Combined claim extraction + verification in a single LLM call.
24
+ * Reads top key files from the codebase index for context, then asks one
25
+ * LLM call to both extract implicit claims and verify each against the codebase.
26
+ */
27
+ private extractAndVerifyClaims;
28
+ /**
29
+ * Extract a JSON array from LLM response (handles markdown fences).
30
+ */
31
+ private extractJsonArray;
32
+ /**
33
+ * Verify cross-feature consistency: check that the architecture plan's
34
+ * declared routes, pages, and schema entities exist in the actual codebase.
35
+ */
36
+ verifyCrossFeature(plan: {
37
+ apiRoutes: readonly {
38
+ method: string;
39
+ path: string;
40
+ }[];
41
+ pages: readonly {
42
+ path: string;
43
+ }[];
44
+ schema: readonly {
45
+ name: string;
46
+ }[];
47
+ }): Promise<{
48
+ checks: {
49
+ type: string;
50
+ description: string;
51
+ verdict: 'PASS' | 'FAIL';
52
+ evidence: string;
53
+ }[];
54
+ passedCount: number;
55
+ failedCount: number;
56
+ }>;
11
57
  /** Invalidate cached codebase index after code changes. */
12
58
  invalidateIndex(): void;
13
59
  private extractBoundaryClaims;
@@ -4,8 +4,11 @@
4
4
  // No artifact moves between agents without passing this gate.
5
5
  // ============================================================
6
6
  import { randomUUID } from 'node:crypto';
7
+ import { readFile } from 'node:fs/promises';
8
+ import { join } from 'node:path';
7
9
  import { extractClaims } from '../lib/claim-extractor.js';
8
10
  import { verifyClaims } from '../lib/code-verifier.js';
11
+ import { getClient, MODEL } from '../lib/anthropic.js';
9
12
  import { indexCodebase } from '../lib/codebase-indexer.js';
10
13
  const TRUST_POLICIES = {
11
14
  untrusted: { verifyAll: true, sampleRate: 1.0, requireFormalForCritical: true },
@@ -62,6 +65,280 @@ export class CompositionVerifier {
62
65
  timestamp: new Date().toISOString(),
63
66
  };
64
67
  }
68
+ /**
69
+ * Lightweight verification — regex-only, zero LLM calls.
70
+ * Checks for common code quality issues using deterministic patterns.
71
+ * Returns PARTIAL (not FAIL) on issues — lenient treatment for simple code.
72
+ */
73
+ async verifyHandoffLightweight(sourceAgent, targetAgent, artifact) {
74
+ const boundaryId = randomUUID();
75
+ const start = Date.now();
76
+ const content = artifact.content;
77
+ const claims = [];
78
+ let claimIndex = 0;
79
+ const addClaim = (text, verdict, evidence, category = 'correctness') => {
80
+ claims.push({
81
+ id: `${boundaryId.slice(0, 8)}-LW-${String(++claimIndex).padStart(3, '0')}`,
82
+ text,
83
+ category,
84
+ severity: 'medium',
85
+ source: 'implicit',
86
+ verificationMethod: 'formal',
87
+ verdict,
88
+ evidence,
89
+ });
90
+ };
91
+ // Check: No TODO/FIXME stubs
92
+ const todoMatches = content.match(/\/\/\s*(TODO|FIXME|HACK|XXX)/gi);
93
+ if (todoMatches) {
94
+ addClaim('Code has no TODO/FIXME stubs', 'PARTIAL', `Found ${todoMatches.length} TODO/FIXME comments`, 'completeness');
95
+ }
96
+ else {
97
+ addClaim('Code has no TODO/FIXME stubs', 'PASS', 'No TODO/FIXME found');
98
+ }
99
+ // Check: Functions exist (not empty bodies)
100
+ const emptyFunctions = content.match(/(?:function|=>)\s*\{[\s]*\}/g);
101
+ if (emptyFunctions) {
102
+ addClaim('No empty function bodies', 'PARTIAL', `Found ${emptyFunctions.length} empty function bodies`, 'completeness');
103
+ }
104
+ else {
105
+ addClaim('No empty function bodies', 'PASS', 'No empty function bodies found');
106
+ }
107
+ // Check: Basic error handling present
108
+ if (content.includes('async ') && !content.includes('catch') && !content.includes('try')) {
109
+ addClaim('Async code has error handling', 'PARTIAL', 'Async code without try/catch', 'error-handling');
110
+ }
111
+ // Check: No hardcoded secrets
112
+ const secretPatterns = /(?:password|secret|api_key|apikey|token)\s*[:=]\s*['"][^'"]{8,}['"]/gi;
113
+ const secretMatches = content.match(secretPatterns);
114
+ if (secretMatches) {
115
+ addClaim('No hardcoded secrets', 'FAIL', `Found ${secretMatches.length} potential hardcoded secrets`, 'security');
116
+ }
117
+ // Check: SQL parameterization (if SQL present)
118
+ if (content.includes('sql') || content.includes('query') || content.includes('SELECT')) {
119
+ const templateLiteral = content.match(/`[^`]*\$\{[^}]*\}[^`]*(?:SELECT|INSERT|UPDATE|DELETE)/gi);
120
+ if (templateLiteral) {
121
+ addClaim('SQL queries use parameterized inputs', 'PARTIAL', 'Possible string interpolation in SQL', 'security');
122
+ }
123
+ }
124
+ // Check: Type annotations present (TypeScript)
125
+ if (artifact.language === 'typescript' || artifact.path?.endsWith('.ts') || artifact.path?.endsWith('.tsx')) {
126
+ const anyCount = (content.match(/:\s*any\b/g) || []).length;
127
+ if (anyCount > 3) {
128
+ addClaim('Minimal use of any type', 'PARTIAL', `Found ${anyCount} uses of 'any' type`, 'type-safety');
129
+ }
130
+ }
131
+ const passed = claims.filter(c => c.verdict === 'PASS').length;
132
+ const failed = claims.filter(c => c.verdict === 'FAIL').length;
133
+ const partial = claims.filter(c => c.verdict === 'PARTIAL').length;
134
+ const verdict = failed > 0 ? 'FAIL' : partial > 0 ? 'PARTIAL' : 'PASS';
135
+ const result = {
136
+ boundaryId,
137
+ passed,
138
+ failed,
139
+ partial,
140
+ total: claims.length,
141
+ formalStats: { formallyVerified: claims.length, llmVerified: 0, disagreements: 0, formalOverrides: 0 },
142
+ verdict,
143
+ blockers: claims.filter(c => c.verdict === 'FAIL' && (c.severity === 'critical' || c.severity === 'high')),
144
+ durationMs: Date.now() - start,
145
+ };
146
+ return this.makeHandoff(boundaryId, sourceAgent, targetAgent, artifact, result);
147
+ }
148
+ /**
149
+ * Fast verification — single LLM call that extracts AND verifies claims together.
150
+ * Replaces the 3-call pipeline (extract → file-select → verify) with one combined call.
151
+ */
152
+ async verifyHandoffFast(sourceAgent, targetAgent, artifact) {
153
+ const boundaryId = randomUUID();
154
+ const start = Date.now();
155
+ // Formal agents skip verification
156
+ if (sourceAgent.trustLevel === 'formal') {
157
+ const passResult = this.makePassResult(boundaryId, start);
158
+ return this.makeHandoff(boundaryId, sourceAgent, targetAgent, artifact, passResult);
159
+ }
160
+ try {
161
+ const claims = await this.extractAndVerifyClaims(artifact);
162
+ if (claims.length === 0) {
163
+ const passResult = this.makePassResult(boundaryId, start);
164
+ return this.makeHandoff(boundaryId, sourceAgent, targetAgent, artifact, passResult);
165
+ }
166
+ const passed = claims.filter(c => c.verdict === 'PASS').length;
167
+ const failed = claims.filter(c => c.verdict === 'FAIL').length;
168
+ const partial = claims.filter(c => c.verdict === 'PARTIAL').length;
169
+ const formallyVerified = claims.filter(c => c.verificationMethod === 'formal').length;
170
+ const verdict = failed > 0 ? 'FAIL' : partial > 0 ? 'PARTIAL' : 'PASS';
171
+ const result = {
172
+ boundaryId,
173
+ passed,
174
+ failed,
175
+ partial,
176
+ total: claims.length,
177
+ formalStats: { formallyVerified, llmVerified: claims.length - formallyVerified, disagreements: 0, formalOverrides: 0 },
178
+ verdict,
179
+ blockers: claims.filter(c => c.verdict === 'FAIL' && (c.severity === 'critical' || c.severity === 'high')),
180
+ durationMs: Date.now() - start,
181
+ };
182
+ const decision = this.makeDecision(result, artifact.type);
183
+ const boundary = {
184
+ id: boundaryId,
185
+ sourceAgent: sourceAgent.id,
186
+ targetAgent: targetAgent.id,
187
+ artifact,
188
+ extractedClaims: claims,
189
+ verificationResult: result,
190
+ timestamp: new Date().toISOString(),
191
+ };
192
+ return {
193
+ id: randomUUID(),
194
+ boundary,
195
+ artifact,
196
+ verificationResult: result,
197
+ decision,
198
+ timestamp: new Date().toISOString(),
199
+ };
200
+ }
201
+ catch {
202
+ // Fallback to pass on error — fast mode is best-effort
203
+ const passResult = this.makePassResult(boundaryId, start);
204
+ return this.makeHandoff(boundaryId, sourceAgent, targetAgent, artifact, passResult);
205
+ }
206
+ }
207
+ /**
208
+ * Combined claim extraction + verification in a single LLM call.
209
+ * Reads top key files from the codebase index for context, then asks one
210
+ * LLM call to both extract implicit claims and verify each against the codebase.
211
+ */
212
+ async extractAndVerifyClaims(artifact) {
213
+ const index = await this.getCodebaseIndex();
214
+ const document = this.artifactToDocument(artifact);
215
+ // Read up to 10 key files for context (best-effort)
216
+ const contextChunks = [];
217
+ const keyFiles = (index.keyFiles ?? []).slice(0, 10);
218
+ for (const kf of keyFiles) {
219
+ try {
220
+ const content = await readFile(join(this.codebaseRoot, kf.path), 'utf-8');
221
+ contextChunks.push(`--- ${kf.path} (${kf.reason}) ---\n${content.slice(0, 2000)}`);
222
+ }
223
+ catch {
224
+ // Skip unreadable files
225
+ }
226
+ }
227
+ const fileTree = (index.fileTree ?? []).slice(0, 500).join('\n');
228
+ const contextStr = contextChunks.join('\n\n');
229
+ const client = getClient();
230
+ const stream = client.messages.stream({
231
+ model: MODEL,
232
+ max_tokens: 8_000,
233
+ system: `You are a code verification agent. Given code and its codebase context, you must:
234
+ 1. Extract all implicit claims the code makes (e.g., "handles null input", "validates email format", "returns 404 on missing resource")
235
+ 2. Verify each claim against the provided codebase context
236
+ 3. Return JSON array of objects: { "text": "claim text", "verdict": "PASS"|"FAIL"|"PARTIAL", "severity": "critical"|"high"|"medium"|"low", "category": "correctness"|"security"|"error-handling"|"type-safety"|"completeness"|"edge-case"|"performance"|"test-quality", "evidence": "brief evidence" }
237
+ Return ONLY the JSON array, no other text.`,
238
+ messages: [{
239
+ role: 'user',
240
+ content: `CODE TO VERIFY:\n${document}\n\nFILE TREE:\n${fileTree}\n\nKEY FILES:\n${contextStr}\n\nExtract and verify all claims.`,
241
+ }],
242
+ });
243
+ let rawText = '';
244
+ stream.on('text', (text) => { rawText += text; });
245
+ await stream.finalMessage();
246
+ // Parse the combined result
247
+ try {
248
+ const parsed = this.extractJsonArray(rawText);
249
+ if (!Array.isArray(parsed))
250
+ return [];
251
+ return parsed.map((item, i) => ({
252
+ id: `${randomUUID().slice(0, 8)}-FV-${String(i + 1).padStart(3, '0')}`,
253
+ text: typeof item.text === 'string' ? item.text : `Claim ${i + 1}`,
254
+ category: this.inferCategory(typeof item.text === 'string' ? item.text : ''),
255
+ severity: this.inferSeverity(typeof item.text === 'string' ? item.text : ''),
256
+ source: 'implicit',
257
+ verificationMethod: 'llm',
258
+ verdict: (['PASS', 'FAIL', 'PARTIAL', 'N/A'].includes(item.verdict) ? item.verdict : 'PARTIAL'),
259
+ evidence: typeof item.evidence === 'string' ? item.evidence : '',
260
+ }));
261
+ }
262
+ catch {
263
+ return [];
264
+ }
265
+ }
266
+ /**
267
+ * Extract a JSON array from LLM response (handles markdown fences).
268
+ */
269
+ extractJsonArray(raw) {
270
+ const cleaned = raw.trim();
271
+ // Direct parse
272
+ try {
273
+ return JSON.parse(cleaned);
274
+ }
275
+ catch { /* continue */ }
276
+ // Strip markdown fences
277
+ if (cleaned.startsWith('```')) {
278
+ const firstNewline = cleaned.indexOf('\n');
279
+ const lastFence = cleaned.lastIndexOf('```');
280
+ if (firstNewline > 0 && lastFence > firstNewline) {
281
+ const inner = cleaned.slice(firstNewline + 1, lastFence).trim();
282
+ try {
283
+ return JSON.parse(inner);
284
+ }
285
+ catch { /* continue */ }
286
+ }
287
+ }
288
+ // Find first [ to last ]
289
+ const firstBracket = cleaned.indexOf('[');
290
+ const lastBracket = cleaned.lastIndexOf(']');
291
+ if (firstBracket >= 0 && lastBracket > firstBracket) {
292
+ try {
293
+ return JSON.parse(cleaned.slice(firstBracket, lastBracket + 1));
294
+ }
295
+ catch { /* continue */ }
296
+ }
297
+ return null;
298
+ }
299
+ /**
300
+ * Verify cross-feature consistency: check that the architecture plan's
301
+ * declared routes, pages, and schema entities exist in the actual codebase.
302
+ */
303
+ async verifyCrossFeature(plan) {
304
+ const checks = [];
305
+ const index = await this.getCodebaseIndex();
306
+ const fileSet = new Set(index.fileTree ?? []);
307
+ // Check API routes have corresponding files
308
+ for (const route of plan.apiRoutes) {
309
+ const candidatePaths = [
310
+ `src/app${route.path}/route.ts`,
311
+ `src/routes${route.path.replace(/^\/api/, '')}.ts`,
312
+ `src/api${route.path}.ts`,
313
+ ];
314
+ const found = candidatePaths.some(p => fileSet.has(p));
315
+ checks.push({
316
+ type: 'api_route_exists',
317
+ description: `${route.method} ${route.path}`,
318
+ verdict: found ? 'PASS' : 'FAIL',
319
+ evidence: found ? 'Handler file exists' : `No file found for route ${route.path}`,
320
+ });
321
+ }
322
+ // Check pages have corresponding files
323
+ for (const page of plan.pages) {
324
+ const normalized = page.path === '/' ? '' : page.path;
325
+ const candidatePaths = [
326
+ `src/app${normalized}/page.tsx`,
327
+ `src/app${normalized}/page.ts`,
328
+ `src/pages${normalized || '/index'}.tsx`,
329
+ ];
330
+ const found = candidatePaths.some(p => fileSet.has(p));
331
+ checks.push({
332
+ type: 'page_references_valid',
333
+ description: `Page ${page.path}`,
334
+ verdict: found ? 'PASS' : 'FAIL',
335
+ evidence: found ? 'Page file exists' : `No file found for page ${page.path}`,
336
+ });
337
+ }
338
+ const passedCount = checks.filter(c => c.verdict === 'PASS').length;
339
+ const failedCount = checks.filter(c => c.verdict === 'FAIL').length;
340
+ return { checks, passedCount, failedCount };
341
+ }
65
342
  /** Invalidate cached codebase index after code changes. */
66
343
  invalidateIndex() {
67
344
  this.cachedIndex = null;
@@ -174,7 +451,7 @@ export class CompositionVerifier {
174
451
  // Review reports and research findings are advisory — individual claim
175
452
  // inaccuracies shouldn't block the entire artifact. Only reject if the
176
453
  // majority of claims fail (indicating a fundamentally flawed review).
177
- const isAdvisory = artifactType === 'review_report' || artifactType === 'research_finding';
454
+ const isAdvisory = artifactType === 'review_report' || artifactType === 'research_finding' || artifactType === 'architecture_plan';
178
455
  if (isAdvisory) {
179
456
  // Only reject advisory artifacts if >50% of claims fail
180
457
  if (result.total > 0 && result.failed > result.total * 0.5) {
@@ -1 +1 @@
1
- {"version":3,"file":"composition-verifier.js","sourceRoot":"","sources":["../../src/runtime/composition-verifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composition-verifier.js","sourceRoot":"","sources":["../../src/runtime/composition-verifier.ts"],"names":[],"mappings":"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"}
@@ -47,5 +47,7 @@ export declare class MultiAgentLoop extends EventEmitter {
47
47
  * Remove previously written artifacts from disk (rollback on rejection).
48
48
  */
49
49
  private removeArtifactsFromDisk;
50
+ /** Create an auto-pass handoff (for skip verification tier). */
51
+ private makeAutoPassHandoff;
50
52
  private audit;
51
53
  }
@@ -18,6 +18,7 @@ import { ReviewAgent } from './agents/review-agent.js';
18
18
  import { TestAgent } from './agents/test-agent.js';
19
19
  import { ResearchAgent } from './agents/research-agent.js';
20
20
  import { OpsAgent } from './agents/ops-agent.js';
21
+ import { PlannerAgent } from './agents/planner-agent.js';
21
22
  // ── Default safety policy ───────────────────────────────────
22
23
  const DEFAULT_SAFETY = {
23
24
  formalOverridesConsensus: true,
@@ -39,6 +40,7 @@ function createAgent(spec, messageBus, model) {
39
40
  case 'test': return new TestAgent(messageBus, { model });
40
41
  case 'research': return new ResearchAgent(messageBus, { model });
41
42
  case 'ops': return new OpsAgent(messageBus, { model });
43
+ case 'planner': return new PlannerAgent(messageBus, { model });
42
44
  }
43
45
  }
44
46
  // ── Multi-Agent Loop ───────────────────────────────────────
@@ -272,7 +274,21 @@ export class MultiAgentLoop extends EventEmitter {
272
274
  task.status = 'in_review';
273
275
  const targetSpec = this.getReviewTarget(task.specialization);
274
276
  const targetAgent = this.agents.get(targetSpec) ?? this.agents.get('coordinator');
275
- const handoffPromises = result.artifacts.map(artifact => this.compositionVerifier.verifyHandoff(agent.getIdentity(), targetAgent.getIdentity(), artifact));
277
+ const tier = this.config.verificationTier ?? 'full';
278
+ const useFast = this.config.useFastVerification ?? false;
279
+ const handoffPromises = result.artifacts.map(artifact => {
280
+ if (tier === 'skip') {
281
+ // Skip verification entirely — return auto-pass
282
+ return Promise.resolve(this.makeAutoPassHandoff(agent.getIdentity(), targetAgent.getIdentity(), artifact));
283
+ }
284
+ if (tier === 'lightweight') {
285
+ return this.compositionVerifier.verifyHandoffLightweight(agent.getIdentity(), targetAgent.getIdentity(), artifact);
286
+ }
287
+ if (useFast) {
288
+ return this.compositionVerifier.verifyHandoffFast(agent.getIdentity(), targetAgent.getIdentity(), artifact);
289
+ }
290
+ return this.compositionVerifier.verifyHandoff(agent.getIdentity(), targetAgent.getIdentity(), artifact);
291
+ });
276
292
  const handoffs = await Promise.all(handoffPromises);
277
293
  let allPassed = true;
278
294
  for (const handoff of handoffs) {
@@ -366,6 +382,7 @@ export class MultiAgentLoop extends EventEmitter {
366
382
  case 'research': return 'review';
367
383
  case 'ops': return 'review';
368
384
  case 'coordinator': return 'review';
385
+ case 'planner': return 'review';
369
386
  }
370
387
  }
371
388
  buildContextRefs(task, allTasks) {
@@ -468,6 +485,19 @@ export class MultiAgentLoop extends EventEmitter {
468
485
  async writeArtifactsToDisk(artifacts) {
469
486
  const written = [];
470
487
  for (const artifact of artifacts) {
488
+ if (artifact.type === 'architecture_plan') {
489
+ // Write architecture plans to .assay/ directory
490
+ const planPath = join(this.codebaseRoot, '.assay', 'architecture-plan.json');
491
+ try {
492
+ await mkdir(join(this.codebaseRoot, '.assay'), { recursive: true });
493
+ await writeFile(planPath, artifact.content, 'utf-8');
494
+ written.push(planPath);
495
+ }
496
+ catch {
497
+ // Best-effort write
498
+ }
499
+ continue;
500
+ }
471
501
  if (!artifact.path)
472
502
  continue;
473
503
  if (artifact.type !== 'code_patch' && artifact.type !== 'test_file')
@@ -497,6 +527,40 @@ export class MultiAgentLoop extends EventEmitter {
497
527
  }
498
528
  }
499
529
  }
530
+ /** Create an auto-pass handoff (for skip verification tier). */
531
+ makeAutoPassHandoff(source, target, artifact) {
532
+ const boundaryId = randomUUID();
533
+ return {
534
+ id: randomUUID(),
535
+ boundary: {
536
+ id: boundaryId,
537
+ sourceAgent: source.id,
538
+ targetAgent: target.id,
539
+ artifact: artifact,
540
+ extractedClaims: [],
541
+ verificationResult: {
542
+ boundaryId,
543
+ passed: 0, failed: 0, partial: 0, total: 0,
544
+ formalStats: { formallyVerified: 0, llmVerified: 0, disagreements: 0, formalOverrides: 0 },
545
+ verdict: 'PASS',
546
+ blockers: [],
547
+ durationMs: 0,
548
+ },
549
+ timestamp: new Date().toISOString(),
550
+ },
551
+ artifact: artifact,
552
+ verificationResult: {
553
+ boundaryId,
554
+ passed: 0, failed: 0, partial: 0, total: 0,
555
+ formalStats: { formallyVerified: 0, llmVerified: 0, disagreements: 0, formalOverrides: 0 },
556
+ verdict: 'PASS',
557
+ blockers: [],
558
+ durationMs: 0,
559
+ },
560
+ decision: { action: 'pass' },
561
+ timestamp: new Date().toISOString(),
562
+ };
563
+ }
500
564
  audit(eventType, details) {
501
565
  const entry = {
502
566
  id: randomUUID(),
@@ -1 +1 @@
1
- {"version":3,"file":"multi-agent-loop.js","sourceRoot":"","sources":["../../src/runtime/multi-agent-loop.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,kDAAkD;AAClD,mEAAmE;AACnE,6DAA6D;AAC7D,+DAA+D;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAkBjD,+DAA+D;AAE/D,MAAM,cAAc,GAAiB;IACnC,wBAAwB,EAAE,IAAI;IAC9B,kBAAkB,EAAE,IAAI;IACxB,2BAA2B,EAAE,IAAI;IACjC,eAAe,EAAE;QACf,4BAA4B,EAAE,CAAC;QAC/B,iBAAiB,EAAE,CAAC;QACpB,sBAAsB,EAAE,CAAC;KAC1B;IACD,oBAAoB,EAAE,KAAK;CAC5B,CAAC;AAEF,8DAA8D;AAE9D,SAAS,WAAW,CAClB,IAAyB,EACzB,UAAsB,EACtB,KAAc;IAEd,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,aAAa,CAAC,CAAC,OAAO,IAAI,gBAAgB,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,KAAK,MAAM,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,KAAK,QAAQ,CAAC,CAAC,OAAO,IAAI,WAAW,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,KAAK,MAAM,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,KAAK,UAAU,CAAC,CAAC,OAAO,IAAI,aAAa,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,KAAK,KAAK,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAqBD,8DAA8D;AAE9D,MAAM,OAAO,cAAe,SAAQ,YAAY;IACtC,UAAU,CAAa;IACvB,mBAAmB,CAAsB;IACzC,YAAY,CAAe;IAC3B,YAAY,CAAoB;IAChC,aAAa,CAAgB;IAC7B,MAAM,GAA+C,IAAI,GAAG,EAAE,CAAC;IAC/D,UAAU,GAAiB,EAAE,CAAC;IAC9B,MAAM,CAAa;IACnB,YAAY,CAAS;IAE7B,YAAY,YAAoB,EAAE,MAAkB;QAClD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAEzC,yBAAyB;QACzB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC5F,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,GAAG;QACP,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAEzF,0CAA0C;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC;QACpD,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC;QACjF,MAAM,mBAAmB,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC;YACxD,MAAM,EAAE,GAAG,MAAM,YAAY;YAC7B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,WAAW,EAAE;gBACX,qBAAqB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,mEAAmE;aACnH;YACD,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,EAAE;SAChB,CAAC,CAAC;QAEH,IAAI,mBAAmB,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,sBAAsB,EAAE,KAAK,EAAE,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC;YACnI,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;QACvF,CAAC;QAED,0DAA0D;QAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;QACnE,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;YACtF,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE;YAC/B,MAAM;YACN,MAAM,EAAE,WAAW;YACnB,YAAY,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM;YAC3C,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,qBAAqB,CAAC,MAAM;SAClE,CAAC,CAAC;QAEH,uCAAuC;QACvC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,wBAAwB,aAAa,CAAC,QAAQ,CAAC,MAAM,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE;YAChI,IAAI,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC;YAC/B,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;QAEH,4CAA4C;QAC5C,KAAK,MAAM,SAAS,IAAI,aAAa,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC;YACxE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,0BAA0B,SAAS,EAAE,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE;gBACvG,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;gBACrB,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;QAED,8CAA8C;QAC9C,MAAM,SAAS,GAAsB,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtE,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,cAAc,EAAE,GAAG,CAAC,UAAU;YAC9B,MAAM,EAAE,SAAiC;YACzC,YAAY,EAAE,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;YACrE,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,CAAC;YACX,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,sBAAsB;YAC5E,QAAQ,EAAE,UAAU,EAAE;YACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC,CAAC;QAEJ,MAAM,WAAW,GAAsB,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAkB,EAAE,CAAC;QAEpC,4CAA4C;QAC5C,IAAI,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACjD,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,OAAO,UAAU,GAAG,aAAa,EAAE,CAAC;YAClC,UAAU,EAAE,CAAC;YAEb,gEAAgE;YAChE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAEjC,iDAAiD;YACjD,MAAM,UAAU,GAAG,SAAS;iBACzB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC;iBACjC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAE5C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,oDAAoD;gBACpD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;gBACxF,IAAI,OAAO;oBAAE,MAAM;gBAEnB,mBAAmB;gBACnB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBAChE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAClF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;oBAC1B,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;oBAEtH,6DAA6D;oBAC7D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC;wBACxD,IAAI,IAAI,IAAI,KAAK,CAAC,eAAe,KAAK,OAAO,EAAE,CAAC;4BAC9C,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;wBACzB,CAAC;6BAAM,IAAI,IAAI,IAAI,KAAK,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;4BACxD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;wBACzB,CAAC;oBACH,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,kEAAkE;gBAClE,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;gBAC/F,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,6EAA6E;oBAC7E,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;oBACzF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvB,4EAA4E;wBAC5E,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;4BACxB,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC;4BACpB,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,oCAAoC,EAAE,CAAC,CAAC;wBACrH,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;oBAChE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;oBACjE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;gBACvF,CAAC;gBAED,gFAAgF;gBAChF,MAAM;YACR,CAAC;YAED,8DAA8D;YAC9D,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACzC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC,CACrG,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAEvD,iDAAiD;YACjD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;oBACxC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,4BAA4B;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QAElE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACxF,CAAC;IAED,mCAAmC;IACnC,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,mCAAmC;IACnC,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,2DAA2D;IAE3D;;;OAGG;IACK,KAAK,CAAC,oBAAoB,CAChC,IAAqB,EACrB,SAA4B,EAC5B,WAA8B,EAC9B,MAAc,EACd,aAAgC,EAChC,SAAiB,EACjB,SAAwB;QAExB,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;QAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YACvH,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtI,yDAAyD;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAE3D,iEAAiE;QACjE,oDAAoD;QACpD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,WAAW,CAAC,IAAI,CAAC;gBACf,OAAO,EAAE,mCAAmC,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE;gBAC/D,OAAO,EAAE,IAAI,CAAC,iBAAiB;aAChC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAA0B;YACzC,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACjF,WAAW;SACZ,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAEpD,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;YACxE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACnG,OAAO,IAAI,CAAC;QACd,CAAC;QAED,8DAA8D;QAC9D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,uDAAuD;QACvD,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC;QAEnF,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CACtD,IAAI,CAAC,mBAAmB,CAAC,aAAa,CACpC,KAAK,CAAC,WAAW,EAAE,EACnB,WAAW,CAAC,WAAW,EAAE,EACzB,QAAQ,CACT,CACF,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAEpD,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE7B,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC7B,QAAQ,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,OAAO,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;gBAC5E,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,OAAO;gBAC3C,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,KAAK;gBACxC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,MAAM;gBACzC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,MAAM;aAC1C,CAAC,CAAC;YAEH,eAAe;YACf,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAC/C,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,EACtB,OAAO,CAAC,kBAAkB,CAC3B,CAAC;YACF,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;YAClG,CAAC;YACD,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,0BAA0B,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClG,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBAChE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YACxF,CAAC;YAED,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzC,SAAS,GAAG,KAAK,CAAC;gBAClB,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;YAE3E,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE;gBACpE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC;gBACpC,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,sCAAsC;YACtC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;gBACjD,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAC;gBAC3C,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YAChF,CAAC;YAED,wEAAwE;YACxE,MAAM,YAAY,GAAG,QAAQ;iBAC1B,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;iBACxC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;YACrC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,iBAAiB,GAAG,sCAAsC,IAAI,CAAC,QAAQ,gDAAgD;oBAC1H,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBAChI,sFAAsF,CAAC;YAC3F,CAAC;YAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;YACxE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAC3G,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2DAA2D;IAEnD,gBAAgB,CAAC,KAAwB;QAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,4EAA4E;YAC5E,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;gBAAE,SAAS;YAEtE,iEAAiE;YACjE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YACxE,MAAM,mBAAmB,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACnD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnD,OAAO,OAAO,EAAE,MAAM,KAAK,WAAW,CAAC;YACzC,CAAC,CAAC,CAAC;YAEH,2DAA2D;YAC3D,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnD,OAAO,OAAO,EAAE,MAAM,KAAK,QAAQ,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,IAAI,gBAAgB,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;gBACvB,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACvG,CAAC;iBAAM,IAAI,mBAAmB,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,UAA+B;QACrD,iEAAiE;QACjE,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,MAAM,CAAC,CAAC,OAAO,QAAQ,CAAC;YAC7B,KAAK,QAAQ,CAAC,CAAC,OAAO,MAAM,CAAC;YAC7B,KAAK,MAAM,CAAC,CAAC,OAAO,QAAQ,CAAC;YAC7B,KAAK,UAAU,CAAC,CAAC,OAAO,QAAQ,CAAC;YACjC,KAAK,KAAK,CAAC,CAAC,OAAO,QAAQ,CAAC;YAC5B,KAAK,aAAa,CAAC,CAAC,OAAO,QAAQ,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,gBAAgB,CACtB,IAAqB,EACrB,QAA2B;QAE3B,MAAM,IAAI,GAAiD,EAAE,CAAC;QAE9D,gDAAgD;QAChD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAC9C,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBACxC,IAAI,CAAC,IAAI,CAAC;wBACR,OAAO,EAAE,eAAe,OAAO,CAAC,cAAc,iBAAiB,OAAO,CAAC,IAAI,GAAG;wBAC9E,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO;qBAClC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3D,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,kBAAkB,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACxE,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,kBAAkB,CAAC,MAAqD;QAC9E,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,qBAAqB,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,CAAC;QACrK,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO;gBACL,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBAC9B,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;gBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;gBACvC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,qBAAqB,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE;aAC9G,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,qBAAqB,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,CAAC;QACrK,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,MAAc,EAAE,KAAwB,EAAE,aAAgC;QAC3F,MAAM,WAAW,GAAe,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9C,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,cAAc,EAAE,CAAC,CAAC,cAAc;YAChC,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,WAAW,EAAE,CAAC,CAAC,WAAW;SAC3B,CAAC,CAAC,CAAC;QAEJ,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,WAAoB,CAAC,CAAC;YACvD,SAAS,CAAC,CAAC,CAAC,QAAiB,CAAC,CAAC,CAAC,WAAoB,CAAC;QAEvD,OAAO;YACL,MAAM;YACN,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YAC9B,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,aAAa,CAAC,YAAY;YACjC,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC1D,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;SACjE,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,MAAc;QACnC,OAAO;YACL,MAAM;YACN,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YAC9B,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;IACJ,CAAC;IAEO,UAAU,CAChB,MAAc,EACd,MAA4B,EAC5B,KAAgB,EAChB,QAA2B,EAC3B,SAAiB,EACjB,SAAwB,EAAE;QAE1B,OAAO;YACL,MAAM;YACN,MAAM;YACN,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,QAAQ;YACnB,oBAAoB,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;YACvD,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACvC,MAAM;SACP,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,oBAAoB,CAChC,SAAsE;QAEtE,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,CAAC,IAAI;gBAAE,SAAS;YAC7B,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW;gBAAE,SAAS;YAE9E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnD,MAAM,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACpD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,uDAAuD;YACzD,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CAAC,KAAe;QACnD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAkC,EAAE,OAAgC;QAChF,MAAM,KAAK,GAAe;YACxB,EAAE,EAAE,UAAU,EAAE;YAChB,SAAS,EAAE,SAA2B;YACtC,SAAS,EAAE,kBAAkB;YAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,OAAO;YACP,UAAU,EAAE,EAAE;SACf,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;CACF"}
1
+ {"version":3,"file":"multi-agent-loop.js","sourceRoot":"","sources":["../../src/runtime/multi-agent-loop.ts"],"names":[],"mappings":"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"}