@promptwheel/core 0.7.22 → 0.7.34

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 (91) hide show
  1. package/dist/codebase-index/ast-analysis.d.ts +33 -2
  2. package/dist/codebase-index/ast-analysis.d.ts.map +1 -1
  3. package/dist/codebase-index/ast-analysis.js +457 -2
  4. package/dist/codebase-index/ast-analysis.js.map +1 -1
  5. package/dist/codebase-index/ast-cache.d.ts +9 -1
  6. package/dist/codebase-index/ast-cache.d.ts.map +1 -1
  7. package/dist/codebase-index/ast-cache.js.map +1 -1
  8. package/dist/codebase-index/ast-patterns.d.ts +24 -4
  9. package/dist/codebase-index/ast-patterns.d.ts.map +1 -1
  10. package/dist/codebase-index/ast-patterns.js +274 -10
  11. package/dist/codebase-index/ast-patterns.js.map +1 -1
  12. package/dist/codebase-index/dead-code.d.ts +37 -4
  13. package/dist/codebase-index/dead-code.d.ts.map +1 -1
  14. package/dist/codebase-index/dead-code.js +152 -17
  15. package/dist/codebase-index/dead-code.js.map +1 -1
  16. package/dist/codebase-index/index.d.ts +4 -2
  17. package/dist/codebase-index/index.d.ts.map +1 -1
  18. package/dist/codebase-index/index.js +129 -14
  19. package/dist/codebase-index/index.js.map +1 -1
  20. package/dist/codebase-index/shared.d.ts +31 -0
  21. package/dist/codebase-index/shared.d.ts.map +1 -1
  22. package/dist/codebase-index/shared.js +50 -0
  23. package/dist/codebase-index/shared.js.map +1 -1
  24. package/dist/dedup/shared.d.ts +14 -0
  25. package/dist/dedup/shared.d.ts.map +1 -1
  26. package/dist/dedup/shared.js +40 -0
  27. package/dist/dedup/shared.js.map +1 -1
  28. package/dist/learnings/shared.d.ts +1 -1
  29. package/dist/learnings/shared.d.ts.map +1 -1
  30. package/dist/learnings/shared.js.map +1 -1
  31. package/dist/proposals/blueprint.d.ts +68 -0
  32. package/dist/proposals/blueprint.d.ts.map +1 -0
  33. package/dist/proposals/blueprint.js +292 -0
  34. package/dist/proposals/blueprint.js.map +1 -0
  35. package/dist/proposals/shared.d.ts +30 -2
  36. package/dist/proposals/shared.d.ts.map +1 -1
  37. package/dist/proposals/shared.js +58 -11
  38. package/dist/proposals/shared.js.map +1 -1
  39. package/dist/proposals/step-classifier.d.ts +32 -0
  40. package/dist/proposals/step-classifier.d.ts.map +1 -0
  41. package/dist/proposals/step-classifier.js +49 -0
  42. package/dist/proposals/step-classifier.js.map +1 -0
  43. package/dist/proposals/trajectory-critic.d.ts +35 -0
  44. package/dist/proposals/trajectory-critic.d.ts.map +1 -0
  45. package/dist/proposals/trajectory-critic.js +211 -0
  46. package/dist/proposals/trajectory-critic.js.map +1 -0
  47. package/dist/repos/tickets.d.ts +2 -0
  48. package/dist/repos/tickets.d.ts.map +1 -1
  49. package/dist/repos/tickets.js.map +1 -1
  50. package/dist/scout/index.d.ts.map +1 -1
  51. package/dist/scout/index.js +10 -1
  52. package/dist/scout/index.js.map +1 -1
  53. package/dist/scout/prompt.d.ts.map +1 -1
  54. package/dist/scout/prompt.js +7 -1
  55. package/dist/scout/prompt.js.map +1 -1
  56. package/dist/scout/runner.d.ts.map +1 -1
  57. package/dist/scout/runner.js +1 -0
  58. package/dist/scout/runner.js.map +1 -1
  59. package/dist/scout/types.d.ts +20 -1
  60. package/dist/scout/types.d.ts.map +1 -1
  61. package/dist/scout/types.js +4 -2
  62. package/dist/scout/types.js.map +1 -1
  63. package/dist/sectors/shared.d.ts +17 -0
  64. package/dist/sectors/shared.d.ts.map +1 -1
  65. package/dist/sectors/shared.js +65 -0
  66. package/dist/sectors/shared.js.map +1 -1
  67. package/dist/services/scout.d.ts +2 -0
  68. package/dist/services/scout.d.ts.map +1 -1
  69. package/dist/services/scout.js +1 -0
  70. package/dist/services/scout.js.map +1 -1
  71. package/dist/trajectory/io.d.ts +32 -0
  72. package/dist/trajectory/io.d.ts.map +1 -0
  73. package/dist/trajectory/io.js +201 -0
  74. package/dist/trajectory/io.js.map +1 -0
  75. package/dist/trajectory/shared.d.ts +50 -0
  76. package/dist/trajectory/shared.d.ts.map +1 -1
  77. package/dist/trajectory/shared.js +178 -0
  78. package/dist/trajectory/shared.js.map +1 -1
  79. package/dist/waves/conflict.d.ts +130 -0
  80. package/dist/waves/conflict.d.ts.map +1 -0
  81. package/dist/waves/conflict.js +400 -0
  82. package/dist/waves/conflict.js.map +1 -0
  83. package/dist/waves/merge.d.ts +75 -0
  84. package/dist/waves/merge.d.ts.map +1 -0
  85. package/dist/waves/merge.js +305 -0
  86. package/dist/waves/merge.js.map +1 -0
  87. package/dist/waves/shared.d.ts +6 -102
  88. package/dist/waves/shared.d.ts.map +1 -1
  89. package/dist/waves/shared.js +16 -346
  90. package/dist/waves/shared.js.map +1 -1
  91. package/package.json +17 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"io.js","sourceRoot":"","sources":["../../src/trajectory/io.ts"],"names":[],"mappings":"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"}
@@ -55,12 +55,14 @@ export interface StepState {
55
55
  lastOutput?: string;
56
56
  }>;
57
57
  }
58
+ export type TrajectoryStatus = 'active' | 'completed' | 'abandoned';
58
59
  export interface TrajectoryState {
59
60
  trajectoryName: string;
60
61
  startedAt: number;
61
62
  stepStates: Record<string, StepState>;
62
63
  currentStepId: string | null;
63
64
  paused: boolean;
65
+ status?: TrajectoryStatus;
64
66
  }
65
67
  /** Can this step start? All dependencies must be resolved (completed, skipped, or failed). */
66
68
  export declare function stepReady(step: TrajectoryStep, states: Record<string, StepState>): boolean;
@@ -95,6 +97,54 @@ export declare function formatTrajectoryForPrompt(trajectory: Trajectory, states
95
97
  export declare function parseTrajectoryYaml(content: string): Trajectory;
96
98
  /** Detect cycles in step dependency graph. Returns cycle node IDs or null. */
97
99
  export declare function detectCycle(steps: TrajectoryStep[]): string[] | null;
100
+ /**
101
+ * Post-process a trajectory to enforce dependency graph ordering.
102
+ *
103
+ * For each pair of steps (A, B), if A's scope touches a module that is imported
104
+ * by a module in B's scope, and B doesn't already depend on A, add A as a
105
+ * dependency of B. Skips the edge if it would introduce a cycle.
106
+ *
107
+ * This is a pure function — returns a new Trajectory with updated depends_on.
108
+ */
109
+ export declare function enforceGraphOrdering(trajectory: Trajectory, edges: Record<string, string[]>): Trajectory;
110
+ export interface SkipStepResult {
111
+ skipped: boolean;
112
+ error?: string;
113
+ nextStep: {
114
+ id: string;
115
+ title: string;
116
+ } | null;
117
+ }
118
+ /**
119
+ * Mark a step as skipped and advance to the next eligible step.
120
+ * Shared logic used by trajectory_skip tool, heal_trajectory skip action,
121
+ * and CLI `solo trajectory skip` command.
122
+ *
123
+ * Returns the result with next step info. Does NOT persist state — caller
124
+ * must call saveTrajectoryState() after.
125
+ */
126
+ export declare function skipStep(trajectory: Trajectory, state: TrajectoryState, stepId: string): SkipStepResult;
127
+ export interface CommandResult {
128
+ exitCode: number;
129
+ timedOut: boolean;
130
+ output: string;
131
+ }
132
+ export type CommandExecutor = (cmd: string, cwd: string) => CommandResult;
133
+ export interface PreVerifyResult {
134
+ advanced: number;
135
+ completedSteps: Array<{
136
+ id: string;
137
+ title: string;
138
+ }>;
139
+ }
140
+ /**
141
+ * Loop through trajectory steps, auto-completing any whose verification
142
+ * commands already pass. Shared between CLI and MCP so both code paths
143
+ * catch stale state before wasting a scout cycle.
144
+ *
145
+ * Returns the count and details of steps advanced.
146
+ */
147
+ export declare function preVerifyAndAdvanceSteps(trajectory: Trajectory, state: TrajectoryState, cwd: string, exec: CommandExecutor): PreVerifyResult;
98
148
  /** Create initial step states for a trajectory. */
99
149
  export declare function createInitialStepStates(trajectory: Trajectory): Record<string, StepState>;
100
150
  /** Serialize a Trajectory to YAML that parseTrajectoryYaml can round-trip. */
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/trajectory/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/trajectory/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QACR,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEnF,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,0EAA0E;IAC1E,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sEAAsE;IACtE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,eAAe,CAAC,EAAE,KAAK,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAED,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;AAEpE,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACtC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAQD,8FAA8F;AAC9F,wBAAgB,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,OAAO,CAM1F;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,cAAc,GAAG,IAAI,CAe5G;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,cAAc,EAAE,CAWzG;AAED,qEAAqE;AACrE,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,OAAO,CAOrG;AAED,4FAA4F;AAC5F,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,OAAO,CAO3G;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,UAAU,GAAE,MAA4B,EACxC,KAAK,CAAC,EAAE,cAAc,EAAE,GACvB,MAAM,GAAG,IAAI,CAgBf;AAED,4DAA4D;AAC5D,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,WAAW,EAAE,cAAc,GAC1B,MAAM,CAiFR;AAMD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CA+K/D;AAiBD,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CA+BpE;AA8BD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAC9B,UAAU,CAuEZ;AAMD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAChD;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,MAAM,GACb,cAAc,CAwBhB;AAMD,MAAM,WAAW,aAAa;IAAG,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACtF,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,aAAa,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtD;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,eAAe,GACpB,eAAe,CAkCjB;AAMD,mDAAmD;AACnD,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAWzF;AAiBD,8EAA8E;AAC9E,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAyCxE"}
@@ -414,6 +414,184 @@ export function detectCycle(steps) {
414
414
  return steps.filter(s => (inDegree.get(s.id) ?? 0) > 0).map(s => s.id);
415
415
  }
416
416
  // ---------------------------------------------------------------------------
417
+ // Graph-based ordering
418
+ // ---------------------------------------------------------------------------
419
+ /**
420
+ * Collect all unique module paths from the dependency graph (keys + values).
421
+ */
422
+ function allModules(edges) {
423
+ const set = new Set();
424
+ for (const [source, targets] of Object.entries(edges)) {
425
+ set.add(source);
426
+ for (const t of targets)
427
+ set.add(t);
428
+ }
429
+ return [...set];
430
+ }
431
+ /**
432
+ * Resolve a scope glob or file path to the set of modules it matches
433
+ * in the dependency graph. Matches on prefix (directory scope) or exact key.
434
+ */
435
+ function resolveToModules(scope, edges) {
436
+ if (!scope)
437
+ return [];
438
+ const modules = allModules(edges);
439
+ // Trim trailing glob stars: "packages/cli/**" → "packages/cli/"
440
+ const prefix = scope.replace(/\*+$/, '');
441
+ return modules.filter(m => m === scope || m.startsWith(prefix));
442
+ }
443
+ /**
444
+ * Post-process a trajectory to enforce dependency graph ordering.
445
+ *
446
+ * For each pair of steps (A, B), if A's scope touches a module that is imported
447
+ * by a module in B's scope, and B doesn't already depend on A, add A as a
448
+ * dependency of B. Skips the edge if it would introduce a cycle.
449
+ *
450
+ * This is a pure function — returns a new Trajectory with updated depends_on.
451
+ */
452
+ export function enforceGraphOrdering(trajectory, edges) {
453
+ if (!edges || Object.keys(edges).length === 0)
454
+ return trajectory;
455
+ // Pre-compute modules for each step
456
+ const stepModules = new Map();
457
+ for (const step of trajectory.steps) {
458
+ stepModules.set(step.id, new Set(resolveToModules(step.scope, edges)));
459
+ }
460
+ // Build reverse edge map: module → set of modules that import it
461
+ const importedBy = new Map();
462
+ for (const [source, targets] of Object.entries(edges)) {
463
+ for (const target of targets) {
464
+ let set = importedBy.get(target);
465
+ if (!set) {
466
+ set = new Set();
467
+ importedBy.set(target, set);
468
+ }
469
+ set.add(source);
470
+ }
471
+ }
472
+ // Clone steps with mutable depends_on
473
+ const newSteps = trajectory.steps.map(s => ({
474
+ ...s,
475
+ depends_on: [...s.depends_on],
476
+ }));
477
+ const stepById = new Map(newSteps.map(s => [s.id, s]));
478
+ // For each pair (A, B), check if A's modules are imported by B's modules
479
+ for (const stepA of newSteps) {
480
+ const modsA = stepModules.get(stepA.id);
481
+ if (modsA.size === 0)
482
+ continue;
483
+ for (const stepB of newSteps) {
484
+ if (stepA.id === stepB.id)
485
+ continue;
486
+ if (stepB.depends_on.includes(stepA.id))
487
+ continue; // already depends
488
+ const modsB = stepModules.get(stepB.id);
489
+ if (modsB.size === 0)
490
+ continue;
491
+ // Check: does any module in B import any module in A?
492
+ let bImportsA = false;
493
+ for (const modA of modsA) {
494
+ const importers = importedBy.get(modA);
495
+ if (!importers)
496
+ continue;
497
+ for (const modB of modsB) {
498
+ if (importers.has(modB)) {
499
+ bImportsA = true;
500
+ break;
501
+ }
502
+ }
503
+ if (bImportsA)
504
+ break;
505
+ }
506
+ if (!bImportsA)
507
+ continue;
508
+ // Tentatively add the edge and check for cycles
509
+ stepB.depends_on.push(stepA.id);
510
+ if (detectCycle(newSteps)) {
511
+ // Would create a cycle — revert
512
+ stepB.depends_on.pop();
513
+ }
514
+ }
515
+ }
516
+ return {
517
+ ...trajectory,
518
+ steps: newSteps,
519
+ };
520
+ }
521
+ /**
522
+ * Mark a step as skipped and advance to the next eligible step.
523
+ * Shared logic used by trajectory_skip tool, heal_trajectory skip action,
524
+ * and CLI `solo trajectory skip` command.
525
+ *
526
+ * Returns the result with next step info. Does NOT persist state — caller
527
+ * must call saveTrajectoryState() after.
528
+ */
529
+ export function skipStep(trajectory, state, stepId) {
530
+ const stepState = state.stepStates[stepId];
531
+ if (!stepState) {
532
+ return { skipped: false, error: `Step "${stepId}" not found in trajectory`, nextStep: null };
533
+ }
534
+ if (stepState.status === 'completed' || stepState.status === 'skipped') {
535
+ return { skipped: false, error: `Step "${stepId}" is already ${stepState.status}`, nextStep: null };
536
+ }
537
+ stepState.status = 'skipped';
538
+ stepState.completedAt = Date.now();
539
+ const next = getNextStep(trajectory, state.stepStates);
540
+ if (next) {
541
+ state.stepStates[next.id].status = 'active';
542
+ state.currentStepId = next.id;
543
+ }
544
+ else {
545
+ state.currentStepId = null;
546
+ }
547
+ return {
548
+ skipped: true,
549
+ nextStep: next ? { id: next.id, title: next.title } : null,
550
+ };
551
+ }
552
+ /**
553
+ * Loop through trajectory steps, auto-completing any whose verification
554
+ * commands already pass. Shared between CLI and MCP so both code paths
555
+ * catch stale state before wasting a scout cycle.
556
+ *
557
+ * Returns the count and details of steps advanced.
558
+ */
559
+ export function preVerifyAndAdvanceSteps(trajectory, state, cwd, exec) {
560
+ const completedSteps = [];
561
+ const maxIterations = trajectory.steps.length;
562
+ for (let i = 0; i < maxIterations; i++) {
563
+ const step = getNextStep(trajectory, state.stepStates);
564
+ if (!step || step.verification_commands.length === 0)
565
+ break;
566
+ let allPass = true;
567
+ for (const cmd of step.verification_commands) {
568
+ const r = exec(cmd, cwd);
569
+ // Git-context resilience: skip commands that fail due to missing git repo
570
+ if (r.exitCode !== 0 && !r.timedOut && r.output.includes('not a git repository')) {
571
+ continue;
572
+ }
573
+ if (r.exitCode !== 0 || r.timedOut) {
574
+ allPass = false;
575
+ break;
576
+ }
577
+ }
578
+ if (!allPass)
579
+ break;
580
+ const ss = state.stepStates[step.id];
581
+ if (!ss)
582
+ break;
583
+ ss.status = 'completed';
584
+ ss.completedAt = Date.now();
585
+ completedSteps.push({ id: step.id, title: step.title });
586
+ const next = getNextStep(trajectory, state.stepStates);
587
+ state.currentStepId = next?.id ?? null;
588
+ if (next && state.stepStates[next.id]) {
589
+ state.stepStates[next.id].status = 'active';
590
+ }
591
+ }
592
+ return { advanced: completedSteps.length, completedSteps };
593
+ }
594
+ // ---------------------------------------------------------------------------
417
595
  // State initialization
418
596
  // ---------------------------------------------------------------------------
419
597
  /** Create initial step states for a trajectory. */
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/trajectory/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA+DH,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B,8FAA8F;AAC9F,MAAM,UAAU,SAAS,CAAC,IAAoB,EAAE,MAAiC;IAC/E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,WAAW,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;IAChH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,UAAsB,EAAE,MAAiC;IACnF,IAAI,IAAI,GAA0B,IAAI,CAAC;IACvC,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;IACtB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;YAAE,SAAS;QACtG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;YAAE,SAAS;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QAChC,IAAI,IAAI,GAAG,YAAY,EAAE,CAAC;YACxB,IAAI,GAAG,IAAI,CAAC;YACZ,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,UAAsB,EAAE,MAAiC;IACrF,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;YAAE,SAAS;QACtG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;YAAE,SAAS;QACvC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,8CAA8C;IAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,kBAAkB,CAAC,UAAsB,EAAE,MAAiC;IAC1F,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;IAC5G,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,wBAAwB,CAAC,UAAsB,EAAE,MAAiC;IAChG,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;IAC/E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAiC,EACjC,aAAqB,mBAAmB,EACxC,KAAwB;IAExB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACrD,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,IAAI,UAAU,CAAC;YAC9D,iDAAiD;YACjD,IAAI,KAAK,CAAC,eAAe,IAAI,KAAK,EAAE,CAAC;gBACnC,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,mFAAmF;YACnF,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC5D,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,yBAAyB,CACvC,UAAsB,EACtB,MAAiC,EACjC,WAA2B;IAE3B,MAAM,KAAK,GAAa;QACtB,cAAc;QACd,kBAAkB,UAAU,CAAC,IAAI,EAAE;QACnC,UAAU,CAAC,WAAW;QACtB,EAAE;KACH,CAAC;IAEF,kBAAkB;IAClB,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,WAAW,CAAC,CAAC;IACrF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,2BAA2B;IAC3B,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,WAAW,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACvC,KAAK,MAAM,EAAE,IAAI,WAAW,CAAC,mBAAmB,EAAE,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,gBAAgB,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC,mBAAmB,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,uBAAuB,KAAK,KAAK,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACzC,IAAI,SAAS,IAAI,SAAS,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,IAAI,mBAAmB,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,iBAAiB,SAAS,CAAC,eAAe,IAAI,KAAK,WAAW,CAAC,CAAC;QAC3E,IAAI,SAAS,CAAC,sBAAsB,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,SAAS,CAAC,mBAAmB,IAAI,SAAS,CAAC,mBAAmB,IAAI,CAAC,EAAE,CAAC;YACxE,KAAK,CAAC,IAAI,CAAC,qCAAqC,SAAS,CAAC,mBAAmB,+CAA+C,CAAC,CAAC;QAChI,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,SAAS,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC;QACtH,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,uBAAuB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,kBAAkB;IAClB,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QAC5C,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK,WAAW,IAAI,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC;IAC/F,CAAC,CAAC,CAAC;IACH,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE;gBAAE,SAAS;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACzF,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;IAC5F,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAE5B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,8EAA8E;AAC9E,iDAAiD;AACjD,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,IAAI,WAAW,GAAmC,IAAI,CAAC;IACvD,IAAI,cAAc,GAAkB,IAAI,CAAC;IACzC,IAAI,WAAW,GAAa,EAAE,CAAC;IAC/B,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,UAAU,GAAiE,EAAE,CAAC;IAElF,SAAS,SAAS;QAChB,IAAI,WAAW,IAAI,cAAc,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3D,WAAmB,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;QAC1D,CAAC;QACD,cAAc,GAAG,IAAI,CAAC;QACtB,WAAW,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,SAAS,YAAY;QACnB,IAAI,WAAW,IAAI,SAAS,IAAI,UAAU,CAAC,GAAG,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YACxH,WAAW,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC;QAC5G,CAAC;QACD,SAAS,GAAG,KAAK,CAAC;QAClB,UAAU,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,SAAS,SAAS;QAChB,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,CAAC;QACf,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC;gBACnB,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,WAAW,CAAC,EAAE;oBAClB,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,EAAE;oBAC9B,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,EAAE;oBAC1C,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,UAAU,EAAE,WAAW,CAAC,UAAU;oBAClC,mBAAmB,EAAE,WAAW,CAAC,mBAAmB,IAAI,EAAE;oBAC1D,qBAAqB,EAAE,WAAW,CAAC,qBAAqB,IAAI,EAAE;oBAC9D,UAAU,EAAE,WAAW,CAAC,UAAU,IAAI,EAAE;oBACxC,WAAW,EAAE,WAAW,CAAC,WAAW;oBACpC,QAAQ,EAAE,WAAW,CAAC,QAAQ;oBAC9B,OAAO,EAAE,WAAW,CAAC,OAAO;iBAC7B,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBAC7B,iEAAiE;gBACjE,OAAO,CAAC,IAAI,CAAC,6BAA6B,WAAW,CAAC,KAAK,wBAAwB,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;QACD,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,6CAA6C;QAC7C,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YAC9C,6CAA6C;YAC7C,IAAI,OAAO,KAAK,EAAE,IAAI,cAAc,EAAE,CAAC;gBACrC,SAAS,EAAE,CAAC;YACd,CAAC;YACD,SAAS;QACX,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,SAAS,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACvD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;gBAC7B,IAAI,GAAG,KAAK,MAAM;oBAAE,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;qBACzC,IAAI,GAAG,KAAK,aAAa;oBAAE,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YACnE,CAAC;YACD,SAAS;QACX,CAAC;QAED,qBAAqB;QACrB,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,SAAS,EAAE,CAAC;YACZ,WAAW,GAAG,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACpD,IAAI,OAAO,EAAE,CAAC;gBACZ,WAAW,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACrC,CAAC;YACD,SAAS;QACX,CAAC;QAED,gBAAgB;QAChB,IAAI,WAAW,EAAE,CAAC;YAChB,+BAA+B;YAC/B,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBACxD,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC;oBAC9B,iEAAiE;oBACjE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;oBACrD,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;wBAChB,IAAI,IAAI,KAAK,KAAK;4BAAE,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;6BACxE,IAAI,IAAI,KAAK,QAAQ;4BAAE,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;6BACnE,IAAI,IAAI,KAAK,WAAW;4BAAE,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,EAAmB,CAAC;wBACnF,SAAS;oBACX,CAAC;yBAAM,CAAC;wBACN,qBAAqB;wBACrB,YAAY,EAAE,CAAC;oBACjB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,YAAY;YACZ,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,IAAI,cAAc,EAAE,CAAC;oBACnB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvB,SAAS;gBACX,CAAC;YACH,CAAC;YAED,2BAA2B;YAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACzD,IAAI,OAAO,EAAE,CAAC;gBACZ,SAAS,EAAE,CAAC;gBACZ,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC;gBAChC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBAE1B,QAAQ,GAAG,EAAE,CAAC;oBACZ,KAAK,OAAO;wBACV,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;wBACrC,MAAM;oBACR,KAAK,aAAa;wBAChB,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;wBAC3C,MAAM;oBACR,KAAK,OAAO;wBACV,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;wBACrC,MAAM;oBACR,KAAK,YAAY;wBACf,WAAW,CAAC,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;wBAC9C,MAAM;oBACR,KAAK,qBAAqB;wBACxB,cAAc,GAAG,qBAAqB,CAAC;wBACvC,WAAW,GAAG,EAAE,CAAC;wBACjB,MAAM;oBACR,KAAK,uBAAuB;wBAC1B,cAAc,GAAG,uBAAuB,CAAC;wBACzC,WAAW,GAAG,EAAE,CAAC;wBACjB,MAAM;oBACR,KAAK,YAAY;wBACf,WAAW,CAAC,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;wBAC9C,MAAM;oBACR,KAAK,aAAa,CAAC,CAAC,CAAC;wBACnB,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBAC5B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;4BAAE,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC;wBACpD,MAAM;oBACR,CAAC;oBACD,KAAK,UAAU,CAAC,CAAC,CAAC;wBAChB,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBAC5B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;4BAAE,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC;wBAC7D,MAAM;oBACR,CAAC;oBACD,KAAK,SAAS;wBACZ,SAAS,GAAG,IAAI,CAAC;wBACjB,UAAU,GAAG,EAAE,CAAC;wBAChB,MAAM;oBACR;wBACE,MAAM;gBACV,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,SAAS,EAAE,CAAC;IAEZ,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AACtC,CAAC;AAED,qEAAqE;AACrE,SAAS,WAAW,CAAC,KAAa;IAChC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC7G,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,qFAAqF;AACrF,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7D,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoB,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACzB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACvB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5B,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;QACjC,IAAI,GAAG,KAAK,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC5B,MAAM,EAAE,CAAC;QACT,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACjD,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC/B,IAAI,MAAM,KAAK,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,IAAI,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,mDAAmD;AACnD,MAAM,UAAU,uBAAuB,CAAC,UAAsB;IAC5D,MAAM,MAAM,GAA8B,EAAE,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;YAChB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,MAAM,EAAE,SAAS;YACjB,eAAe,EAAE,CAAC;YAClB,kBAAkB,EAAE,CAAC;SACtB,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,sDAAsD;AACtD,8EAA8E;AAE9E,mGAAmG;AACnG,SAAS,SAAS,CAAC,KAAa;IAC9B,0GAA0G;IAC1G,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnF,qEAAqE;QACrE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClE,OAAO,IAAI,OAAO,GAAG,CAAC;IACxB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,yBAAyB,CAAC,UAAsB;IAC9D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,KAAK,CAAC,IAAI,CAAC,gBAAgB,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAChE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAErB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,cAAc,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,oBAAoB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACvC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACzC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/trajectory/shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Conflict detection — pure functions that determine whether two proposals
3
+ * can safely execute in parallel or risk merge conflicts.
4
+ *
5
+ * Checks file path overlap, sibling files, directory proximity, import chains,
6
+ * call-graph edges, and monorepo package boundaries.
7
+ *
8
+ * No filesystem, git, or child_process I/O.
9
+ */
10
+ import type { CallEdge } from '../codebase-index/shared.js';
11
+ export type ConflictSensitivity = 'strict' | 'normal' | 'relaxed';
12
+ export interface ConflictDetectionOptions {
13
+ /**
14
+ * Sensitivity level:
15
+ * - 'strict': Any shared directory or package = conflict (safest, most sequential)
16
+ * - 'normal': Sibling files + conflict-prone files + shared dirs (balanced)
17
+ * - 'relaxed': Only direct file overlap + glob overlap (most parallel, riskier)
18
+ */
19
+ sensitivity?: ConflictSensitivity;
20
+ /**
21
+ * Optional dependency graph edges (module → modules it imports).
22
+ * When provided, proposals touching modules connected by import chains
23
+ * are treated as conflicting at normal/strict sensitivity, ensuring the
24
+ * dependency is executed before the consumer.
25
+ */
26
+ edges?: Record<string, string[]>;
27
+ /**
28
+ * Optional call-graph edges from AST analysis.
29
+ * When provided, proposals whose target_symbols are connected by
30
+ * caller→callee relationships are treated as conflicting, even across
31
+ * different files/modules.
32
+ */
33
+ callEdges?: CallEdge[];
34
+ }
35
+ /**
36
+ * Files that frequently cause merge conflicts when multiple tickets
37
+ * touch the same directory. These are "hub" files that re-export or
38
+ * aggregate content from sibling files.
39
+ */
40
+ export declare const CONFLICT_PRONE_FILENAMES: Set<string>;
41
+ /**
42
+ * Directory patterns that indicate shared/common code.
43
+ * Files in these directories are more likely to be touched by multiple tickets.
44
+ */
45
+ export declare const SHARED_DIRECTORY_PATTERNS: RegExp[];
46
+ /** Monorepo top-level directory patterns. */
47
+ export declare const PACKAGE_PATTERN: RegExp;
48
+ /** Default directory overlap threshold for normal mode. */
49
+ export declare const DIRECTORY_OVERLAP_NORMAL = 0.3;
50
+ /** Default directory overlap threshold for strict mode. */
51
+ export declare const DIRECTORY_OVERLAP_STRICT = 0.2;
52
+ /** Extract the directory and filename from a path. */
53
+ export declare function parsePath(filePath: string): {
54
+ dir: string;
55
+ filename: string;
56
+ };
57
+ /**
58
+ * Check if two file paths overlap: exact match, directory containment,
59
+ * or glob pattern overlap.
60
+ */
61
+ export declare function pathsOverlap(pathA: string, pathB: string): boolean;
62
+ /**
63
+ * Check if two sets of file paths share directories above a threshold.
64
+ * Used for semantic conflict detection in wave scheduling.
65
+ */
66
+ export declare function directoriesOverlap(pathsA: string[], pathsB: string[], threshold?: number): boolean;
67
+ /** Check if a file is conflict-prone (index files, configs, etc.) */
68
+ export declare function isConflictProneFile(filePath: string): boolean;
69
+ /** Check if a path is in a shared/common directory. */
70
+ export declare function isInSharedDirectory(filePath: string): boolean;
71
+ /** Get all unique directories from a list of file paths, including parent hierarchy. */
72
+ export declare function getDirectories(files: string[]): Set<string>;
73
+ /**
74
+ * Check if two proposals have sibling files (different files in the same directory).
75
+ */
76
+ export declare function hasSiblingFiles(filesA: string[], filesB: string[]): boolean;
77
+ /**
78
+ * Check if either proposal touches conflict-prone files in overlapping directories.
79
+ */
80
+ export declare function hasConflictProneOverlap(filesA: string[], filesB: string[]): boolean;
81
+ /**
82
+ * Check if proposals share a common parent directory that might have
83
+ * configuration or index files affected by both changes.
84
+ */
85
+ export declare function hasSharedParentConflict(filesA: string[], filesB: string[]): boolean;
86
+ /**
87
+ * Monorepo-aware: check if both proposals touch the same package.
88
+ * Common patterns: packages/*, apps/*, libs/*, modules/*
89
+ */
90
+ export declare function touchesSamePackage(filesA: string[], filesB: string[]): boolean;
91
+ /**
92
+ * Check if two sets of modules are connected by a direct import edge.
93
+ * Returns true if any module in A imports any module in B, or vice versa.
94
+ */
95
+ export declare function hasImportChainConflict(filesA: string[], filesB: string[], edges: Record<string, string[]>): boolean;
96
+ /**
97
+ * Check if two sets of target symbols are connected by a caller→callee edge.
98
+ * Returns true if any symbol in A calls any symbol in B, or vice versa.
99
+ */
100
+ export declare function hasCallGraphConflict(symbolsA: string[], symbolsB: string[], callEdges: CallEdge[]): boolean;
101
+ /**
102
+ * Check if two proposals have a potential conflict based on their file lists.
103
+ *
104
+ * When both proposals provide `target_symbols` and their file paths overlap,
105
+ * an AST-aware escape hatch checks whether the targeted symbols are disjoint.
106
+ * If symbols don't overlap, the proposals can safely run in parallel even
107
+ * though they touch the same file.
108
+ */
109
+ export declare function proposalsConflict<T extends {
110
+ files: string[];
111
+ category?: string;
112
+ target_symbols?: string[];
113
+ }>(a: T, b: T, options?: ConflictDetectionOptions): boolean;
114
+ /**
115
+ * Partition proposals into conflict-free waves.
116
+ * Proposals with overlapping file paths go into separate waves
117
+ * so they run sequentially, avoiding merge conflicts.
118
+ *
119
+ * Uses a greedy first-fit bin-packing algorithm.
120
+ *
121
+ * @param proposals - List of proposals with file paths
122
+ * @param options - Conflict detection options
123
+ * @returns Array of waves, each containing non-conflicting proposals
124
+ */
125
+ export declare function partitionIntoWaves<T extends {
126
+ files: string[];
127
+ category?: string;
128
+ target_symbols?: string[];
129
+ }>(proposals: T[], options?: ConflictDetectionOptions): T[][];
130
+ //# sourceMappingURL=conflict.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conflict.d.ts","sourceRoot":"","sources":["../../src/waves/conflict.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAM5D,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAElE,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB;AAMD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,aAgCnC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,yBAAyB,UAUrC,CAAC;AAEF,6CAA6C;AAC7C,eAAO,MAAM,eAAe,QAA2C,CAAC;AAExE,2DAA2D;AAC3D,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,2DAA2D;AAC3D,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAM5C,sDAAsD;AACtD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAU7E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CA6BlE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,SAAS,SAAM,GAAG,OAAO,CAO/F;AAMD,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAG7D;AAED,uDAAuD;AACvD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED,wFAAwF;AACxF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAY3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAU3E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAanF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAUnF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAkB9E;AAyBD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAC9B,OAAO,CAwBT;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAAE,EAClB,QAAQ,EAAE,MAAM,EAAE,EAClB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAYT;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,EAC3G,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,OAAO,GAAE,wBAA6B,GACrC,OAAO,CA4ET;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,EAC5G,SAAS,EAAE,CAAC,EAAE,EACd,OAAO,GAAE,wBAA6B,GACrC,CAAC,EAAE,EAAE,CAmBP"}