@cluesmith/codev 3.0.7 → 3.1.1

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 (110) hide show
  1. package/dashboard-dist/assets/{index-DUQ8fmjX.js → index-CM6A5r59.js} +39 -39
  2. package/dashboard-dist/assets/index-CM6A5r59.js.map +1 -0
  3. package/dashboard-dist/assets/index-Cl5tt1AP.css +32 -0
  4. package/dashboard-dist/index.html +2 -2
  5. package/dist/agent-farm/cli.d.ts.map +1 -1
  6. package/dist/agent-farm/cli.js +14 -0
  7. package/dist/agent-farm/cli.js.map +1 -1
  8. package/dist/agent-farm/commands/send.d.ts +13 -2
  9. package/dist/agent-farm/commands/send.d.ts.map +1 -1
  10. package/dist/agent-farm/commands/send.js +49 -14
  11. package/dist/agent-farm/commands/send.js.map +1 -1
  12. package/dist/agent-farm/commands/status.d.ts.map +1 -1
  13. package/dist/agent-farm/commands/status.js +41 -13
  14. package/dist/agent-farm/commands/status.js.map +1 -1
  15. package/dist/agent-farm/commands/stop.d.ts.map +1 -1
  16. package/dist/agent-farm/commands/stop.js +9 -5
  17. package/dist/agent-farm/commands/stop.js.map +1 -1
  18. package/dist/agent-farm/commands/workspace-remove-architect.d.ts +16 -0
  19. package/dist/agent-farm/commands/workspace-remove-architect.d.ts.map +1 -0
  20. package/dist/agent-farm/commands/workspace-remove-architect.js +40 -0
  21. package/dist/agent-farm/commands/workspace-remove-architect.js.map +1 -0
  22. package/dist/agent-farm/servers/overview.d.ts +26 -0
  23. package/dist/agent-farm/servers/overview.d.ts.map +1 -1
  24. package/dist/agent-farm/servers/overview.js +31 -12
  25. package/dist/agent-farm/servers/overview.js.map +1 -1
  26. package/dist/agent-farm/servers/tower-instances.d.ts +25 -0
  27. package/dist/agent-farm/servers/tower-instances.d.ts.map +1 -1
  28. package/dist/agent-farm/servers/tower-instances.js +298 -45
  29. package/dist/agent-farm/servers/tower-instances.js.map +1 -1
  30. package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
  31. package/dist/agent-farm/servers/tower-routes.js +240 -6
  32. package/dist/agent-farm/servers/tower-routes.js.map +1 -1
  33. package/dist/agent-farm/servers/tower-server.js +8 -0
  34. package/dist/agent-farm/servers/tower-server.js.map +1 -1
  35. package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -1
  36. package/dist/agent-farm/servers/tower-terminals.js +76 -12
  37. package/dist/agent-farm/servers/tower-terminals.js.map +1 -1
  38. package/dist/agent-farm/servers/tower-types.d.ts +24 -0
  39. package/dist/agent-farm/servers/tower-types.d.ts.map +1 -1
  40. package/dist/agent-farm/servers/worktree-config-watcher.d.ts +36 -0
  41. package/dist/agent-farm/servers/worktree-config-watcher.d.ts.map +1 -0
  42. package/dist/agent-farm/servers/worktree-config-watcher.js +80 -0
  43. package/dist/agent-farm/servers/worktree-config-watcher.js.map +1 -0
  44. package/dist/agent-farm/state.d.ts +29 -5
  45. package/dist/agent-farm/state.d.ts.map +1 -1
  46. package/dist/agent-farm/state.js +54 -12
  47. package/dist/agent-farm/state.js.map +1 -1
  48. package/dist/agent-farm/types.d.ts +23 -0
  49. package/dist/agent-farm/types.d.ts.map +1 -1
  50. package/dist/agent-farm/utils/architect-name.d.ts +5 -0
  51. package/dist/agent-farm/utils/architect-name.d.ts.map +1 -1
  52. package/dist/agent-farm/utils/architect-name.js +8 -0
  53. package/dist/agent-farm/utils/architect-name.js.map +1 -1
  54. package/dist/agent-farm/utils/config.d.ts +2 -12
  55. package/dist/agent-farm/utils/config.d.ts.map +1 -1
  56. package/dist/agent-farm/utils/config.js +20 -0
  57. package/dist/agent-farm/utils/config.js.map +1 -1
  58. package/dist/cli.d.ts.map +1 -1
  59. package/dist/cli.js +2 -0
  60. package/dist/cli.js.map +1 -1
  61. package/dist/commands/consult/index.d.ts +4 -0
  62. package/dist/commands/consult/index.d.ts.map +1 -1
  63. package/dist/commands/consult/index.js +160 -31
  64. package/dist/commands/consult/index.js.map +1 -1
  65. package/dist/commands/porch/artifacts.d.ts +32 -0
  66. package/dist/commands/porch/artifacts.d.ts.map +1 -1
  67. package/dist/commands/porch/artifacts.js +129 -0
  68. package/dist/commands/porch/artifacts.js.map +1 -1
  69. package/dist/lib/config.d.ts +17 -2
  70. package/dist/lib/config.d.ts.map +1 -1
  71. package/dist/lib/config.js +30 -2
  72. package/dist/lib/config.js.map +1 -1
  73. package/dist/lib/default-branch.d.ts +11 -0
  74. package/dist/lib/default-branch.d.ts.map +1 -0
  75. package/dist/lib/default-branch.js +23 -0
  76. package/dist/lib/default-branch.js.map +1 -0
  77. package/dist/terminal/pty-session.d.ts.map +1 -1
  78. package/dist/terminal/pty-session.js +5 -0
  79. package/dist/terminal/pty-session.js.map +1 -1
  80. package/dist/terminal/shellper-client.d.ts +15 -0
  81. package/dist/terminal/shellper-client.d.ts.map +1 -1
  82. package/dist/terminal/shellper-client.js +37 -0
  83. package/dist/terminal/shellper-client.js.map +1 -1
  84. package/dist/terminal/shellper-process.d.ts +1 -0
  85. package/dist/terminal/shellper-process.d.ts.map +1 -1
  86. package/dist/terminal/shellper-process.js +8 -0
  87. package/dist/terminal/shellper-process.js.map +1 -1
  88. package/dist/terminal/shellper-protocol.d.ts +12 -0
  89. package/dist/terminal/shellper-protocol.d.ts.map +1 -1
  90. package/dist/terminal/shellper-protocol.js.map +1 -1
  91. package/package.json +3 -3
  92. package/scripts/forge/github/pr-search.sh +2 -2
  93. package/skeleton/protocols/air/consult-types/pr-review.md +5 -1
  94. package/skeleton/protocols/aspir/builder-prompt.md +3 -3
  95. package/skeleton/protocols/aspir/consult-types/pr-review.md +5 -1
  96. package/skeleton/protocols/bugfix/consult-types/pr-review.md +2 -1
  97. package/skeleton/protocols/maintain/consult-types/pr-review.md +5 -1
  98. package/skeleton/protocols/pir/builder-prompt.md +2 -2
  99. package/skeleton/protocols/pir/consult-types/pr-review.md +3 -2
  100. package/skeleton/protocols/pir/prompts/implement.md +15 -7
  101. package/skeleton/protocols/pir/prompts/review.md +27 -21
  102. package/skeleton/protocols/pir/protocol.json +1 -1
  103. package/skeleton/protocols/pir/protocol.md +4 -6
  104. package/skeleton/protocols/spir/builder-prompt.md +3 -3
  105. package/skeleton/protocols/spir/consult-types/pr-review.md +5 -1
  106. package/skeleton/roles/builder.md +21 -0
  107. package/skeleton/templates/AGENTS.md +20 -0
  108. package/skeleton/templates/CLAUDE.md +20 -0
  109. package/dashboard-dist/assets/index-0yEACH2F.css +0 -32
  110. package/dashboard-dist/assets/index-DUQ8fmjX.js.map +0 -1
@@ -23,6 +23,8 @@ function extractShellperSessionId(socketPath) {
23
23
  return match ? match[1] : null;
24
24
  }
25
25
  import { normalizeWorkspacePath, buildArchitectArgs } from './tower-utils.js';
26
+ import { setArchitectByName } from '../state.js';
27
+ import { isIntentionallyStopping } from './tower-instances.js';
26
28
  // ============================================================================
27
29
  // Module-private state (lifecycle driven by orchestrator)
28
30
  // ============================================================================
@@ -490,6 +492,13 @@ async function _reconcileTerminalSessionsInner() {
490
492
  const cmdParts = architectCmd.split(/\s+/);
491
493
  const cleanEnv = { ...process.env };
492
494
  delete cleanEnv['CLAUDECODE'];
495
+ // Spec 786 Phase 2: preserve architect identity across shellper auto-
496
+ // restart. Without this, the new claude process would inherit Tower's
497
+ // CODEV_ARCHITECT_NAME (or none), and builders spawned by a restarted
498
+ // sibling would lose affinity to the sibling. The `|| 'main'` fallback
499
+ // covers legacy rows where role_id is null (v13 backfill should have
500
+ // populated them; this is belt-and-suspenders).
501
+ cleanEnv['CODEV_ARCHITECT_NAME'] = dbSession.role_id || 'main';
493
502
  try {
494
503
  const { args: architectArgs, env: harnessEnv } = buildArchitectArgs(cmdParts.slice(1), workspacePath);
495
504
  restartOptions = {
@@ -503,7 +512,10 @@ async function _reconcileTerminalSessionsInner() {
503
512
  }
504
513
  catch (err) {
505
514
  _deps.log('WARN', `Harness resolution failed for workspace ${workspacePath}: ${err instanceof Error ? err.message : err}`);
506
- // Fall back to plain command without role injection so the session can still reconnect
515
+ // Fall back to plain command without harness role-prompt args so the
516
+ // session can still reconnect. `cleanEnv` still carries
517
+ // CODEV_ARCHITECT_NAME (set above for Spec 786 Phase 2), so identity
518
+ // is preserved even on harness failure.
507
519
  restartOptions = {
508
520
  command: cmdParts[0],
509
521
  args: cmdParts.slice(1),
@@ -580,16 +592,27 @@ async function _reconcileTerminalSessionsInner() {
580
592
  if (ptySession) {
581
593
  ptySession.on('exit', () => {
582
594
  const currentEntry = getWorkspaceTerminalsEntry(workspacePath);
595
+ let exitedArchitectName = null;
583
596
  if (dbSession.type === 'architect') {
584
597
  // Spec 755: remove the entry whose terminalId matches session.id.
585
598
  for (const [name, tid] of currentEntry.architects) {
586
599
  if (tid === session.id) {
600
+ exitedArchitectName = name;
587
601
  currentEntry.architects.delete(name);
588
602
  break;
589
603
  }
590
604
  }
591
605
  }
592
606
  deleteTerminalSession(session.id);
607
+ // Spec 786 Phase 3 / OQ-B: delete the persisted architect row on
608
+ // permanent exit; preserve on intentional stop. Symmetric with the
609
+ // four exit handlers in tower-instances.ts.
610
+ if (exitedArchitectName && !isIntentionallyStopping(workspacePath)) {
611
+ try {
612
+ setArchitectByName(exitedArchitectName, null);
613
+ }
614
+ catch { /* best-effort cleanup */ }
615
+ }
593
616
  });
594
617
  }
595
618
  matchedSessionIds.add(dbSession.id);
@@ -676,6 +699,9 @@ export async function getTerminalsForWorkspace(workspacePath, proxyUrl) {
676
699
  const cmdParts = architectCmd.split(/\s+/);
677
700
  const cleanEnv = { ...process.env };
678
701
  delete cleanEnv['CLAUDECODE'];
702
+ // Spec 786 Phase 2: preserve architect identity across shellper auto-
703
+ // restart (see matching block in reconcileTerminalSessionsInner above).
704
+ cleanEnv['CODEV_ARCHITECT_NAME'] = dbSession.role_id || 'main';
679
705
  try {
680
706
  const { args: architectArgs, env: harnessEnv } = buildArchitectArgs(cmdParts.slice(1), dbSession.workspace_path);
681
707
  restartOptions = {
@@ -717,16 +743,28 @@ export async function getTerminalsForWorkspace(workspacePath, proxyUrl) {
717
743
  // Clean up on exit (only fires for permanent death when restartOnExit is set)
718
744
  ptySession.on('exit', () => {
719
745
  const currentEntry = getWorkspaceTerminalsEntry(dbSession.workspace_path);
746
+ let exitedArchitectName = null;
720
747
  if (dbSession.type === 'architect') {
721
748
  // Spec 755: remove the entry whose terminalId matches newSession.id.
722
749
  for (const [name, tid] of currentEntry.architects) {
723
750
  if (tid === newSession.id) {
751
+ exitedArchitectName = name;
724
752
  currentEntry.architects.delete(name);
725
753
  break;
726
754
  }
727
755
  }
728
756
  }
729
757
  deleteTerminalSession(newSession.id);
758
+ // Spec 786 Phase 3 / OQ-B: delete the persisted architect row on
759
+ // permanent exit; preserve on intentional stop. Symmetric with
760
+ // the five other exit handlers (4 in tower-instances.ts, 1 in
761
+ // the reconciliation path above).
762
+ if (exitedArchitectName && !isIntentionallyStopping(dbSession.workspace_path)) {
763
+ try {
764
+ setArchitectByName(exitedArchitectName, null);
765
+ }
766
+ catch { /* best-effort cleanup */ }
767
+ }
730
768
  });
731
769
  }
732
770
  const originalSessionId = dbSession.id;
@@ -749,9 +787,11 @@ export async function getTerminalsForWorkspace(workspacePath, proxyUrl) {
749
787
  if (dbSession.type === 'architect') {
750
788
  // Spec 755: role_id stores the architect's name; v13 backfill ensures
751
789
  // legacy null role_ids become 'main' before this point. We register
752
- // every named architect into freshEntry.architects, but emit only one
753
- // Architect terminal entry (after the loop) — the v1 UI contract keeps
754
- // a single architect tab. Multi-architect UI is deferred to issue #2.
790
+ // every named architect into freshEntry.architects; the actual emission
791
+ // of one terminal entry per architect (with tab id `architect` for main
792
+ // and `architect:<name>` for siblings) happens in the dedicated loop
793
+ // after this main pass (Spec 786 Phase 5 — replaces the Spec 755 v1
794
+ // single-entry collapse).
755
795
  const architectName = dbSession.role_id || 'main';
756
796
  freshEntry.architects.set(architectName, dbSession.id);
757
797
  }
@@ -824,17 +864,41 @@ export async function getTerminalsForWorkspace(workspacePath, proxyUrl) {
824
864
  }
825
865
  }
826
866
  }
827
- // Spec 755: emit a single Architect terminal entry when ANY architect is
828
- // registered. The v1 UI contract keeps one architect tab; the underlying
829
- // collection holds all named architects. Multi-architect UI is deferred to
830
- // issue #2.
831
- if (freshEntry.architects.size > 0) {
867
+ // Spec 786 Phase 5: emit ONE entry per registered architect. Replaces the
868
+ // Spec 755 v1 collapse that emitted a single "Architect" entry regardless of
869
+ // how many architects existed. The Spec 761 `architectTabId` convention is
870
+ // preserved: `main` always gets the bare `'architect'` id (for deep-link
871
+ // stability), siblings get `architect:<name>`. Iteration order is `main`
872
+ // first (sorted to handle the case where `launchInstance`'s sibling
873
+ // reconciliation could otherwise insert siblings before main).
874
+ const architectNames = [...freshEntry.architects.keys()].sort((a, b) => {
875
+ if (a === 'main')
876
+ return -1;
877
+ if (b === 'main')
878
+ return 1;
879
+ return 0;
880
+ });
881
+ for (const architectName of architectNames) {
882
+ const terminalId = freshEntry.architects.get(architectName);
883
+ const session = manager.getSession(terminalId);
884
+ if (!session)
885
+ continue;
886
+ const tabId = architectName === 'main' ? 'architect' : `architect:${architectName}`;
832
887
  terminals.push({
833
888
  type: 'architect',
834
- id: 'architect',
835
- label: 'Architect',
836
- url: `${proxyUrl}?tab=architect`,
889
+ id: tabId,
890
+ label: architectName,
891
+ url: `${proxyUrl}?tab=${tabId}`,
837
892
  active: true,
893
+ // Spec 786 Phase 5: extra fields for `afx status` and other enumerators.
894
+ architectName,
895
+ pid: session.pid || undefined,
896
+ // No port assigned to architect terminals today; preserved as an extension
897
+ // point for future per-architect HTTP surfaces.
898
+ // Spec 786 Phase 5: the actual PtySession id (the `id` above is the tab
899
+ // id per Spec 761). Surfaced so `afx status` can show terminal-attach-
900
+ // ready identifiers.
901
+ terminalId,
838
902
  });
839
903
  }
840
904
  // Atomically replace the cache entry
@@ -1 +1 @@
1
- {"version":3,"file":"tower-terminals.js","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-terminals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tower-terminals.js","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-terminals.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACL,WAAW,IAAI,eAAe,EAC9B,aAAa,IAAI,mBAAmB,EACpC,0BAA0B,IAAI,gCAAgC,EAC9D,0BAA0B,IAAI,gCAAgC,EAC9D,wBAAwB,IAAI,kBAAkB,GAC/C,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAEtF;;;GAGG;AACH,SAAS,wBAAwB,CAAC,UAAyB;IACzD,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACvE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAID,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,+EAA+E;AAC/E,0DAA0D;AAC1D,+EAA+E;AAE/E,IAAI,KAAK,GAAwB,IAAI,CAAC;AAEtC,qFAAqF;AACrF,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA8B,CAAC;AAEjE,uDAAuD;AACvD,IAAI,eAAe,GAA2B,IAAI,CAAC;AAEnD,uGAAuG;AACvG,IAAI,YAAY,GAAG,KAAK,CAAC;AAkBzB,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,gEAAgE;AAChE,MAAM,UAAU,aAAa,CAAC,IAAkB;IAC9C,KAAK,GAAG,IAAI,CAAC;AACf,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,aAAa;IAC3B,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,iBAAiB;IAC/B,IAAI,eAAe,EAAE,CAAC;QACpB,eAAe,CAAC,QAAQ,EAAE,CAAC;QAC3B,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC;IACD,KAAK,GAAG,IAAI,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E,uEAAuE;AACvE,MAAM,UAAU,qBAAqB;IACnC,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC;QACjD,eAAe,GAAG,IAAI,eAAe,CAAC;YACpC,aAAa,EAAE,aAAa;YAC5B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC;YACzC,WAAW,EAAE,GAAG;YAChB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,0BAA0B;YAC3C,kBAAkB,EAAE,OAAO;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,aAAqB;IAC9D,IAAI,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,wBAAwB,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7H,kBAAkB,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IACD,sDAAsD;IACtD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;IAC7B,CAAC;IACD,mEAAmE;IACnE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACtB,KAAK,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,aAAqB;IACrE,MAAM,QAAQ,GAAG,cAAc,mBAAmB,CAAC,aAAa,CAAC,GAAG,CAAC;IACrE,MAAM,wBAAwB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACxD,OAAO,0BAA0B,CAAC,aAAa,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,aAAqB;IAClD,MAAM,KAAK,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAC;IACxD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK;YAAE,KAAK,GAAG,GAAG,CAAC;IAC9C,CAAC;IACD,OAAO,SAAS,KAAK,GAAG,CAAC,EAAE,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAkB,EAClB,aAAqB,EACrB,IAAkB,EAClB,MAAqB,EACrB,GAAkB,EAClB,iBAAgC,IAAI,EACpC,cAA6B,IAAI,EACjC,oBAAmC,IAAI,EACvC,QAAuB,IAAI,EAC3B,MAAqB,IAAI;IAEzB,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAE7D,+EAA+E;QAC/E,kEAAkE;QAClE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACtF,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,uDAAuD,aAAa,EAAE,CAAC,CAAC;YAC3F,OAAO;QACT,CAAC;QAED,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACzB,EAAE,CAAC,OAAO,CAAC;;;KAGV,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAClH,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,qCAAqC,UAAU,KAAK,IAAI,SAAS,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACvH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,oCAAqC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB,EAAE,KAAa;IACnE,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACzB,EAAE,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC3F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,oCAAqC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACvD,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,CAAC,UAAU,CAA6B,CAAC;IAChH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,aAAqB,EAAE,SAAkB;IAC5E,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACzB,MAAM,cAAc,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,mHAAmH,CACpH,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAA6B,CAAC;YAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,uGAAuG,CACxG,CAAC,GAAG,CAAC,cAAc,CAA6B,CAAC;QAClD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB,EAAE,OAAmB;IAC1E,OAAO,OAAO,CAAC,cAAc,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACtD,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACzB,EAAE,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,sCAAuC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,UAAkB;IAC3D,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,kBAAkB,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YAC3C,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;gBACvB,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC9C,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;gBACvB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACjC,OAAO;YACT,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAC1C,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;gBACvB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,+BAA+B,CAAC,aAAqB;IACnE,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzB,oEAAoE;QACpE,EAAE,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACzF,IAAI,cAAc,KAAK,aAAa,EAAE,CAAC;YACrC,EAAE,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,iDAAkD,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,+BAA+B,CAAC,aAAqB;IACnE,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC,OAAO,CAAC,0DAA0D,CAAC,CAAC,GAAG,CAAC,cAAc,CAAwB,CAAC;IAC3H,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,EAAU,EAAE,aAAqB,EAAE,QAAgB,EAAE,SAAiB;IAChG,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAC7D,eAAe,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,4BAA6B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,EAAU;IACtC,IAAI,CAAC;QACH,mBAAmB,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,8BAA+B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,aAAqB;IAC9D,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAC7D,gCAAgC,CAAC,WAAW,EAAE,EAAE,cAAc,CAAC,CAAC;QAChE,IAAI,cAAc,KAAK,aAAa,EAAE,CAAC;YACrC,gCAAgC,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAC;QACjE,CAAC;QACD,4BAA4B;QAC5B,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC9F,IAAI,KAAK,EAAE,QAAQ,EAAE,CAAC;YACpB,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,yCAA0C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,UAAkB;IAC3D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,gCAAgC,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,CAAC;QAC5E,6DAA6D;QAC7D,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC;QAC5E,mDAAmD;QACnD,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,kBAAkB,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACvC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;wBACpC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,8CAA+C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3F,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,aAAqB;IAC5D,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAC7D,OAAO,kBAAkB,CAAC,WAAW,EAAE,EAAE,cAAc,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,6BAA8B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,IAAI,GAAG,EAAmB,CAAC;AACpC,CAAC;AAED,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,YAAY,GAAG,IAAI,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,+BAA+B,EAAE,CAAC;IAC1C,CAAC;YAAS,CAAC;QACT,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,+BAA+B;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,2CAA2C;IAC/D,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,8CAA8C;IAC9C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE5C,2CAA2C;IAC3C,IAAI,aAAkC,CAAC;IACvC,IAAI,CAAC;QACH,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,GAAG,EAAyB,CAAC;IAC7F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,qCAAsC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACjF,aAAa,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC;IAC/E,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,gBAAgB,CAAC,MAAM,kDAAkD,CAAC,CAAC;IACxG,CAAC;IAOD,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,SAAS,CAAC,cAAc,CAAC;QAE/C,2EAA2E;QAC3E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAClC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,6BAA6B,SAAS,CAAC,EAAE,uCAAuC,aAAa,EAAE,CAAC,CAAC;YACnH,IAAI,SAAS,CAAC,YAAY,IAAI,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpE,IAAI,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;oBAAC,MAAM,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACjG,CAAC;YACD,EAAE,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC3E,OAAO,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,sBAAsB,CAAC,CAAC;QACjF,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,KAAK,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YAChF,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,6BAA6B,SAAS,CAAC,EAAE,sCAAsC,aAAa,EAAE,CAAC,CAAC;YAClH,IAAI,SAAS,CAAC,YAAY,IAAI,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpE,IAAI,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;oBAAC,MAAM,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACjG,CAAC;YACD,EAAE,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC3E,OAAO,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC3B,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,uDAAuD,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;YACzF,SAAS;QACX,CAAC;QAED,qEAAqE;QACrE,IAAI,cAAmD,CAAC;QACxD,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACnC,IAAI,YAAY,GAAG,QAAQ,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;gBACzC,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC;gBAC/C,IAAI,OAAO,cAAc,KAAK,QAAQ;oBAAE,YAAY,GAAG,cAAc,CAAC;qBACjE,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;oBAAE,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClF,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAC7B,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAA4B,CAAC;YAC9D,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC9B,sEAAsE;YACtE,sEAAsE;YACtE,sEAAsE;YACtE,uEAAuE;YACvE,qEAAqE;YACrE,gDAAgD;YAChD,QAAQ,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC;YAC/D,IAAI,CAAC;gBACH,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;gBACtG,cAAc,GAAG;oBACf,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACpB,IAAI,EAAE,aAAa;oBACnB,GAAG,EAAE,aAAa;oBAClB,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,UAAU,EAAE;oBACnC,YAAY,EAAE,IAAI;oBAClB,WAAW,EAAE,EAAE;iBAChB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,2CAA2C,aAAa,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC3H,qEAAqE;gBACrE,wDAAwD;gBACxD,qEAAqE;gBACrE,wCAAwC;gBACxC,cAAc,GAAG;oBACf,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACpB,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvB,GAAG,EAAE,aAAa;oBAClB,GAAG,EAAE,QAAQ;oBACb,YAAY,EAAE,IAAI;oBAClB,WAAW,EAAE,EAAE;iBAChB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,kFAAkF;IAClF,MAAM,iBAAiB,GAAG,CAAC,CAAC;IAE5B,MAAM,YAAY,GAAkB,EAAE,CAAC;IAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,iBAAiB,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAwB,EAAE;YAC7C,MAAM,MAAM,GAAG,MAAM,KAAM,CAAC,eAAgB,CAAC,gBAAgB,CAC3D,IAAI,CAAC,SAAS,CAAC,EAAE,EACjB,IAAI,CAAC,SAAS,CAAC,eAAgB,EAC/B,IAAI,CAAC,SAAS,CAAC,YAAa,EAC5B,IAAI,CAAC,SAAS,CAAC,mBAAoB,EACnC,IAAI,CAAC,cAAc,CACpB,CAAC;YACF,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpF,CAAC,CAAC,CACH,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,gDAAgD;gBAChD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;gBACxB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,wCAAwC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7H,CAAC;QACH,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,KAAK,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QACjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,oBAAoB,SAAS,CAAC,EAAE,6CAA6C,CAAC,CAAC;YACjG,SAAS,CAAC,gCAAgC;QAC5C,CAAC;QAED,MAAM,aAAa,GAAG,SAAS,CAAC,cAAc,CAAC;QAC/C,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,IAAI,aAAa,CAAC;QAClD,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC;QAEnH,gEAAgE;QAChE,sFAAsF;QACtF,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,cAAc,GAAG,wBAAwB,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC;YAC3F,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,YAAa,EAAE,cAAc,CAAC,CAAC;YACvF,kFAAkF;YAClF,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACnC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;YAClC,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,MAAM,KAAK,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACnC,kEAAkE;YAClE,2DAA2D;YAC3D,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,IAAI,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACxC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACtC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,qCAAqC;QACrC,EAAE,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3E,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,YAAY,EACtG,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,mBAAmB,EAAE,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACjH,KAAK,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAE5C,8EAA8E;QAC9E,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACzB,MAAM,YAAY,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAC;gBAC/D,IAAI,mBAAmB,GAAkB,IAAI,CAAC;gBAC9C,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACnC,kEAAkE;oBAClE,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;wBAClD,IAAI,GAAG,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC;4BACvB,mBAAmB,GAAG,IAAI,CAAC;4BAC3B,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BACrC,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAClC,iEAAiE;gBACjE,mEAAmE;gBACnE,4CAA4C;gBAC5C,IAAI,mBAAmB,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,EAAE,CAAC;oBACnE,IAAI,CAAC;wBACH,kBAAkB,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC;oBAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACpC,mBAAmB,EAAE,CAAC;QACtB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,kCAAkC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC5H,CAAC;IAED,6CAA6C;IAC7C,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QACpC,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,SAAS;QAEhD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ;YAAE,SAAS;QAEvD,wDAAwD;QACxD,IAAI,OAAO,CAAC,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,iCAAiC,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACjI,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBACrC,MAAM,EAAE,CAAC;YACX,CAAC;YAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;QACxC,CAAC;QAED,EAAE,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;IACtD,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAC3C,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,4BAA4B,mBAAmB,cAAc,iBAAiB,YAAY,MAAM,YAAY,OAAO,qBAAqB,CAAC,CAAC;IAC9J,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,mCAAmC,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,aAAqB,EACrB,QAAgB;IAEhB,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,MAAM,SAAS,GAAoB,EAAE,CAAC;IAEtC,8DAA8D;IAC9D,MAAM,UAAU,GAAG,+BAA+B,CAAC,aAAa,CAAC,CAAC;IAElE,4CAA4C;IAC5C,MAAM,cAAc,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAE7D,oEAAoE;IACpE,0EAA0E;IAC1E,yEAAyE;IACzE,4EAA4E;IAC5E,MAAM,UAAU,GAAuB,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;IAE9H,yDAAyD;IACzD,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7D,IAAI,aAAa,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACrD,uEAAuE;QACvE,UAAU,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,QAAQ,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,iEAAiE;QACjE,IAAI,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAE/C,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,eAAe,IAAI,KAAK,EAAE,eAAe,IAAI,CAAC,YAAY,EAAE,CAAC;YACrF,0EAA0E;YAC1E,8EAA8E;YAC9E,oDAAoD;YACpD,IAAI,CAAC;gBACH,+EAA+E;gBAC/E,IAAI,cAAmD,CAAC;gBACxD,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACnC,IAAI,YAAY,GAAG,QAAQ,CAAC;oBAC5B,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;wBACpD,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC;wBAC/C,IAAI,OAAO,cAAc,KAAK,QAAQ;4BAAE,YAAY,GAAG,cAAc,CAAC;6BACjE,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;4BAAE,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAClF,CAAC;oBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;oBAC7B,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC3C,MAAM,QAAQ,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAA4B,CAAC;oBAC9D,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC;oBAC9B,sEAAsE;oBACtE,wEAAwE;oBACxE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC;oBAC/D,IAAI,CAAC;wBACH,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;wBACjH,cAAc,GAAG;4BACf,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;4BACpB,IAAI,EAAE,aAAa;4BACnB,GAAG,EAAE,SAAS,CAAC,cAAc;4BAC7B,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,UAAU,EAAE;4BACnC,YAAY,EAAE,IAAI;4BAClB,WAAW,EAAE,EAAE;yBAChB,CAAC;oBACJ,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,2CAA2C,SAAS,CAAC,cAAc,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;wBACtI,cAAc,GAAG;4BACf,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;4BACpB,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;4BACvB,GAAG,EAAE,SAAS,CAAC,cAAc;4BAC7B,GAAG,EAAE,QAAQ;4BACb,YAAY,EAAE,IAAI;4BAClB,WAAW,EAAE,EAAE;yBAChB,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,qCAAqC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,gBAAgB,CACzD,SAAS,CAAC,EAAE,EACZ,SAAS,CAAC,eAAe,EACzB,SAAS,CAAC,YAAa,EACvB,SAAS,CAAC,mBAAoB,EAC9B,cAAc,CACf,CAAC;gBACF,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC7D,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;oBACtH,sFAAsF;oBACtF,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC;oBACvG,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBACrD,IAAI,UAAU,EAAE,CAAC;wBACf,MAAM,cAAc,GAAG,wBAAwB,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC;wBAC3F,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,YAAa,EAAE,cAAc,CAAC,CAAC;wBACvF,kFAAkF;wBAClF,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;4BACnC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;wBAClC,CAAC;wBAED,8EAA8E;wBAC9E,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;4BACzB,MAAM,YAAY,GAAG,0BAA0B,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;4BAC1E,IAAI,mBAAmB,GAAkB,IAAI,CAAC;4BAC9C,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gCACnC,qEAAqE;gCACrE,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;oCAClD,IAAI,GAAG,KAAK,UAAU,CAAC,EAAE,EAAE,CAAC;wCAC1B,mBAAmB,GAAG,IAAI,CAAC;wCAC3B,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wCACrC,MAAM;oCACR,CAAC;gCACH,CAAC;4BACH,CAAC;4BACD,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;4BACrC,iEAAiE;4BACjE,+DAA+D;4BAC/D,8DAA8D;4BAC9D,kCAAkC;4BAClC,IAAI,mBAAmB,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;gCAC9E,IAAI,CAAC;oCACH,kBAAkB,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;gCAChD,CAAC;gCAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;4BACvC,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM,iBAAiB,GAAG,SAAS,CAAC,EAAE,CAAC;oBACvC,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oBACpC,mBAAmB,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,YAAY,EACpH,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,mBAAmB,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;oBACpH,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;oBAC7B,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBAC5C,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,sCAAsC,iBAAiB,MAAM,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClG,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,mCAAmC,SAAS,CAAC,EAAE,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAClG,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,6CAA6C;YAC7C,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACpC,SAAS;QACX,CAAC;QAED,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACnC,sEAAsE;YACtE,oEAAoE;YACpE,wEAAwE;YACxE,wEAAwE;YACxE,qEAAqE;YACrE,oEAAoE;YACpE,0BAA0B;YAC1B,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC;YAClD,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,EAAE,CAAC;YACpD,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;YACjD,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,SAAS;gBACb,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,GAAG,QAAQ,QAAQ,SAAS,EAAE;gBACnC,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,EAAE,CAAC;YAClD,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;YAC7C,MAAM,UAAU,GAAG,OAAO,EAAE,KAAK,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC;YACjG,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,OAAO;gBACb,EAAE,EAAE,OAAO;gBACX,KAAK,EAAE,UAAU;gBACjB,GAAG,EAAE,GAAG,QAAQ,QAAQ,OAAO,EAAE;gBACjC,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,qEAAqE;IACrE,IAAI,aAAa,EAAE,CAAC;QAClB,qEAAqE;QACrE,qEAAqE;QACrE,qDAAqD;QACrD,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;YAC1D,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC/C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC5C,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC7D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAC/C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC5C,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;oBAC/C,SAAS,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,SAAS;wBACf,EAAE,EAAE,SAAS;wBACb,KAAK,EAAE,SAAS;wBAChB,GAAG,EAAE,GAAG,QAAQ,QAAQ,SAAS,EAAE;wBACnC,MAAM,EAAE,IAAI;qBACb,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YACzD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAC/C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC5C,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;oBAC3C,SAAS,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,OAAO;wBACb,EAAE,EAAE,OAAO;wBACX,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE;wBAChE,GAAG,EAAE,GAAG,QAAQ,QAAQ,OAAO,EAAE;wBACjC,MAAM,EAAE,IAAI;qBACb,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,6EAA6E;IAC7E,2EAA2E;IAC3E,yEAAyE;IACzE,yEAAyE;IACzE,oEAAoE;IACpE,+DAA+D;IAC/D,MAAM,cAAc,GAAG,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACrE,IAAI,CAAC,KAAK,MAAM;YAAE,OAAO,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,MAAM;YAAE,OAAO,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IACH,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,KAAK,GAAG,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,aAAa,EAAE,CAAC;QACpF,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,WAAW;YACjB,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,aAAa;YACpB,GAAG,EAAE,GAAG,QAAQ,QAAQ,KAAK,EAAE;YAC/B,MAAM,EAAE,IAAI;YACZ,yEAAyE;YACzE,aAAa;YACb,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,SAAS;YAC7B,2EAA2E;YAC3E,gDAAgD;YAChD,wEAAwE;YACxE,uEAAuE;YACvE,qBAAqB;YACrB,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,qCAAqC;IACrC,kBAAkB,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAEnD,OAAO,EAAE,SAAS,EAAE,CAAC;AACvB,CAAC"}
@@ -65,6 +65,30 @@ export interface TerminalEntry {
65
65
  label: string;
66
66
  url: string;
67
67
  active: boolean;
68
+ /**
69
+ * Spec 786 Phase 5: when `type === 'architect'`, the architect's stable name
70
+ * (`'main'` or a sibling). Enables consumers like `afx status` to enumerate
71
+ * architects without parsing the `id`. Older clients ignore this field.
72
+ */
73
+ architectName?: string;
74
+ /**
75
+ * Spec 786 Phase 5: live process ID from Tower's in-memory `PtySession`
76
+ * (only meaningful for architect entries; not persisted in `state.db`).
77
+ */
78
+ pid?: number;
79
+ /**
80
+ * Spec 786 Phase 5: port assigned to the architect terminal, if any.
81
+ */
82
+ port?: number;
83
+ /**
84
+ * Spec 786 Phase 5: the actual PtySession id backing this terminal. For
85
+ * builders/shells the `id` field already IS the session id; for architects
86
+ * the `id` field carries the tab identifier (`'architect'` or
87
+ * `'architect:<name>'`) per Spec 761's deep-link convention, so the
88
+ * underlying session id is exposed separately here. `afx status` displays
89
+ * this so users can correlate architect entries with terminal-attach flows.
90
+ */
91
+ terminalId?: string;
68
92
  }
69
93
  /** Instance status returned to tower UI */
70
94
  export interface InstanceStatus {
@@ -1 +1 @@
1
- {"version":3,"file":"tower-types.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tower-types.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Per-workspace file watcher for `.codev/config.json` and
3
+ * `.codev/config.local.json`. Lazily installed by the
4
+ * `/api/worktree-config` route handler on first request, then persists
5
+ * for the Tower process lifetime. On each detected change it fans out
6
+ * a `worktree-config-updated` SSE event so subscribed clients (the
7
+ * VSCode extension, the dashboard) can refetch via the route and
8
+ * re-render.
9
+ *
10
+ * Pattern follows `tower-tunnel.ts:startConfigWatcher` (which watches
11
+ * `~/.codev/cloud.json` for OAuth credential changes) — `node:fs.watch`
12
+ * on the parent directory, filename filter, short debounce to coalesce
13
+ * the multiple events that fire per save.
14
+ */
15
+ type NotifyFn = (notification: {
16
+ type: string;
17
+ title: string;
18
+ body: string;
19
+ workspace?: string;
20
+ }) => void;
21
+ /**
22
+ * Wire the broadcast function once at Tower startup. Subsequent calls
23
+ * to `ensureWorktreeConfigWatcher` will use this notifier when files
24
+ * change.
25
+ */
26
+ export declare function setWorktreeConfigNotifier(fn: NotifyFn): void;
27
+ /**
28
+ * Lazily install (or no-op if already installed) a file watcher for
29
+ * `<workspacePath>/.codev/{config.json,config.local.json}`. Safe to
30
+ * call on every route hit.
31
+ */
32
+ export declare function ensureWorktreeConfigWatcher(workspacePath: string): void;
33
+ /** Test / shutdown helper — close every watcher and clear pending debounces. */
34
+ export declare function stopAllWorktreeConfigWatchers(): void;
35
+ export {};
36
+ //# sourceMappingURL=worktree-config-watcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-config-watcher.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/servers/worktree-config-watcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,KAAK,QAAQ,GAAG,CAAC,YAAY,EAAE;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,KAAK,IAAI,CAAC;AASX;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CA0BvE;AAED,gFAAgF;AAChF,wBAAgB,6BAA6B,IAAI,IAAI,CAKpD"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Per-workspace file watcher for `.codev/config.json` and
3
+ * `.codev/config.local.json`. Lazily installed by the
4
+ * `/api/worktree-config` route handler on first request, then persists
5
+ * for the Tower process lifetime. On each detected change it fans out
6
+ * a `worktree-config-updated` SSE event so subscribed clients (the
7
+ * VSCode extension, the dashboard) can refetch via the route and
8
+ * re-render.
9
+ *
10
+ * Pattern follows `tower-tunnel.ts:startConfigWatcher` (which watches
11
+ * `~/.codev/cloud.json` for OAuth credential changes) — `node:fs.watch`
12
+ * on the parent directory, filename filter, short debounce to coalesce
13
+ * the multiple events that fire per save.
14
+ */
15
+ import * as fs from 'node:fs';
16
+ import * as path from 'node:path';
17
+ const TARGET_FILES = new Set(['config.json', 'config.local.json']);
18
+ const DEBOUNCE_MS = 50;
19
+ const watchers = new Map();
20
+ const debounces = new Map();
21
+ let notify;
22
+ /**
23
+ * Wire the broadcast function once at Tower startup. Subsequent calls
24
+ * to `ensureWorktreeConfigWatcher` will use this notifier when files
25
+ * change.
26
+ */
27
+ export function setWorktreeConfigNotifier(fn) {
28
+ notify = fn;
29
+ }
30
+ /**
31
+ * Lazily install (or no-op if already installed) a file watcher for
32
+ * `<workspacePath>/.codev/{config.json,config.local.json}`. Safe to
33
+ * call on every route hit.
34
+ */
35
+ export function ensureWorktreeConfigWatcher(workspacePath) {
36
+ if (watchers.has(workspacePath)) {
37
+ return;
38
+ }
39
+ const dir = path.join(workspacePath, '.codev');
40
+ try {
41
+ const watcher = fs.watch(dir, { persistent: false }, (_event, filename) => {
42
+ if (!filename || !TARGET_FILES.has(filename)) {
43
+ return;
44
+ }
45
+ const prev = debounces.get(workspacePath);
46
+ if (prev) {
47
+ clearTimeout(prev);
48
+ }
49
+ debounces.set(workspacePath, setTimeout(() => {
50
+ debounces.delete(workspacePath);
51
+ notify?.({
52
+ type: 'worktree-config-updated',
53
+ title: 'Worktree config changed',
54
+ body: JSON.stringify({ workspace: workspacePath }),
55
+ workspace: workspacePath,
56
+ });
57
+ }, DEBOUNCE_MS));
58
+ });
59
+ watcher.on('error', () => { });
60
+ watchers.set(workspacePath, watcher);
61
+ }
62
+ catch {
63
+ // `.codev/` may not exist yet; the next ensure call will retry.
64
+ }
65
+ }
66
+ /** Test / shutdown helper — close every watcher and clear pending debounces. */
67
+ export function stopAllWorktreeConfigWatchers() {
68
+ for (const t of debounces.values()) {
69
+ clearTimeout(t);
70
+ }
71
+ debounces.clear();
72
+ for (const w of watchers.values()) {
73
+ try {
74
+ w.close();
75
+ }
76
+ catch { /* benign */ }
77
+ }
78
+ watchers.clear();
79
+ }
80
+ //# sourceMappingURL=worktree-config-watcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-config-watcher.js","sourceRoot":"","sources":["../../../src/agent-farm/servers/worktree-config-watcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AASlC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC;AACnE,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;AACjD,MAAM,SAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;AACpD,IAAI,MAA4B,CAAC;AAEjC;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,EAAY;IACpD,MAAM,GAAG,EAAE,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,aAAqB;IAC/D,IAAI,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;YACxE,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YACzD,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC1C,IAAI,IAAI,EAAE,CAAC;gBAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;YACjC,SAAS,CAAC,GAAG,CACX,aAAa,EACb,UAAU,CAAC,GAAG,EAAE;gBACd,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAChC,MAAM,EAAE,CAAC;oBACP,IAAI,EAAE,yBAAyB;oBAC/B,KAAK,EAAE,yBAAyB;oBAChC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;oBAClD,SAAS,EAAE,aAAa;iBACzB,CAAC,CAAC;YACL,CAAC,EAAE,WAAW,CAAC,CAChB,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAA+C,CAAC,CAAC,CAAC;QAC3E,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;IAClE,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,6BAA6B;IAC3C,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;QAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IACxD,SAAS,CAAC,KAAK,EAAE,CAAC;IAClB,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QAAC,IAAI,CAAC;YAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAAC,CAAC;IAChF,QAAQ,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC"}
@@ -9,11 +9,12 @@ import { closeDb } from './db/index.js';
9
9
  /**
10
10
  * Load complete state from database
11
11
  *
12
- * Spec 755: `DashboardState.architect` remains a scalar shape in v1. We load
13
- * the architect named 'main' if present, otherwise the first registered
14
- * architect (alphabetical by name). The /api/state contract is preserved so
15
- * the dashboard and VSCode extension see no shape change. Multi-architect UI
16
- * is deferred to issue #2 — see plan codev/plans/755-*.md.
12
+ * Spec 755: `DashboardState.architect` retains its scalar shape for
13
+ * backward-compat — it's a shim pointing at `architects[0]` for legacy callers.
14
+ * Spec 786 Phase 5: `DashboardState.architects` is now populated as a
15
+ * main-first sorted collection so callers like `afx status` (Tower-down mode)
16
+ * can enumerate ALL architects without re-querying. Main is always
17
+ * `architects[0]` when present.
17
18
  */
18
19
  export declare function loadState(): DashboardState;
19
20
  /**
@@ -100,6 +101,29 @@ export declare function getAnnotations(): Annotation[];
100
101
  * Note: This is now synchronous
101
102
  */
102
103
  export declare function clearState(): void;
104
+ /**
105
+ * Spec 786: clear runtime state but preserve the architect registry.
106
+ *
107
+ * Used by `afx workspace stop` so sibling architects survive a graceful stop/
108
+ * start cycle. The `architect` table is the durable registration; `builders`,
109
+ * `utils`, and `annotations` are runtime concerns and get wiped as before.
110
+ *
111
+ * `clearState()` (the full-wipe variant) is preserved for callers that genuinely
112
+ * want everything gone (uninstall / nuke flows / `handleWorkspaceStopAll`).
113
+ */
114
+ export declare function clearRuntime(): void;
115
+ /**
116
+ * Spec 786: remove a single architect by name from `state.db.architect`.
117
+ *
118
+ * Idempotent — no-op if the named row is absent. Used by `remove-architect`
119
+ * (Phase 4) and the permanent-exit handler (Phase 3 / OQ-B).
120
+ *
121
+ * For callsite clarity this is spelled as its own function rather than
122
+ * relying on `setArchitectByName(name, null)`. The two are functionally
123
+ * equivalent today; this function exists so that "remove" reads as "remove"
124
+ * at the call site.
125
+ */
126
+ export declare function removeArchitect(name: string): void;
103
127
  /**
104
128
  * Get architect state (main-only — Spec 755 scalar shim).
105
129
  * Returns the architect named 'main' if present, otherwise the first
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/agent-farm/state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpG,OAAO,EAAS,OAAO,EAAE,MAAM,eAAe,CAAC;AAU/C;;;;;;;;GAQG;AACH,wBAAgB,SAAS,IAAI,cAAc,CA6B1C;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAenE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAiBvF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsCpD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAG9C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAIrD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,EAAE,CAIvC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,EAAE,CAIxE;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAWhD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAUtD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAiB3E;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAG3C;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,YAAY,EAAE,CAIzC;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAIvD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAY1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAGjD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,UAAU,EAAE,CAI7C;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAWjC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,cAAc,GAAG,IAAI,CASpD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,cAAc,EAAE,CAIhD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAItE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,GAAG,IAAI,GAAG,SAAS,CAsB3B;AAGD,OAAO,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/agent-farm/state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpG,OAAO,EAAS,OAAO,EAAE,MAAM,eAAe,CAAC;AAU/C;;;;;;;;;GASG;AACH,wBAAgB,SAAS,IAAI,cAAc,CAsC1C;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAenE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAiBvF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsCpD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAG9C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAIrD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,EAAE,CAIvC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,EAAE,CAIxE;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAWhD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAUtD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAiB3E;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAG3C;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,YAAY,EAAE,CAIzC;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAIvD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAY1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAGjD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,UAAU,EAAE,CAI7C;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAWjC;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAUnC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAGlD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,cAAc,GAAG,IAAI,CASpD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,cAAc,EAAE,CAIhD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAItE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,GAAG,IAAI,GAAG,SAAS,CAsB3B;AAGD,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -13,21 +13,28 @@ import { isPortConflictError } from './db/errors.js';
13
13
  /**
14
14
  * Load complete state from database
15
15
  *
16
- * Spec 755: `DashboardState.architect` remains a scalar shape in v1. We load
17
- * the architect named 'main' if present, otherwise the first registered
18
- * architect (alphabetical by name). The /api/state contract is preserved so
19
- * the dashboard and VSCode extension see no shape change. Multi-architect UI
20
- * is deferred to issue #2 — see plan codev/plans/755-*.md.
16
+ * Spec 755: `DashboardState.architect` retains its scalar shape for
17
+ * backward-compat — it's a shim pointing at `architects[0]` for legacy callers.
18
+ * Spec 786 Phase 5: `DashboardState.architects` is now populated as a
19
+ * main-first sorted collection so callers like `afx status` (Tower-down mode)
20
+ * can enumerate ALL architects without re-querying. Main is always
21
+ * `architects[0]` when present.
21
22
  */
22
23
  export function loadState() {
23
24
  const db = getDb();
24
- // Load architect (Spec 755: scalar shim — prefer 'main', else the
25
- // first-registered architect, ordered by started_at, not lexicographic name).
26
- let architectRow = db.prepare("SELECT * FROM architect WHERE id = 'main'").get();
27
- if (!architectRow) {
28
- architectRow = db.prepare('SELECT * FROM architect ORDER BY started_at LIMIT 1').get();
29
- }
30
- const architect = architectRow ? dbArchitectToArchitectState(architectRow) : null;
25
+ // Spec 786 Phase 5: load ALL architects, ordered `main` first then by
26
+ // started_at (so siblings appear in spawn order). The previous code loaded
27
+ // only the scalar — that left `afx status` blind to siblings in Tower-down
28
+ // fallback mode.
29
+ //
30
+ // The ORDER BY uses `id != 'main'` so that 'main' sorts first
31
+ // (0 < 1 with this expression), then started_at ASC for siblings.
32
+ const architectRows = db.prepare("SELECT * FROM architect ORDER BY (id != 'main'), started_at").all();
33
+ const architects = architectRows.map(dbArchitectToArchitectState);
34
+ // The scalar shim points at architects[0] (which is `main` when present,
35
+ // else the first-registered architect by started_at). Preserves the legacy
36
+ // /api/state contract.
37
+ const architect = architects[0] ?? null;
31
38
  // Load builders
32
39
  const builderRows = db.prepare('SELECT * FROM builders ORDER BY started_at').all();
33
40
  const builders = builderRows.map(dbBuilderToBuilder);
@@ -39,6 +46,7 @@ export function loadState() {
39
46
  const annotations = annotationRows.map(dbAnnotationToAnnotation);
40
47
  return {
41
48
  architect,
49
+ architects,
42
50
  builders,
43
51
  utils,
44
52
  annotations,
@@ -284,6 +292,40 @@ export function clearState() {
284
292
  });
285
293
  clear();
286
294
  }
295
+ /**
296
+ * Spec 786: clear runtime state but preserve the architect registry.
297
+ *
298
+ * Used by `afx workspace stop` so sibling architects survive a graceful stop/
299
+ * start cycle. The `architect` table is the durable registration; `builders`,
300
+ * `utils`, and `annotations` are runtime concerns and get wiped as before.
301
+ *
302
+ * `clearState()` (the full-wipe variant) is preserved for callers that genuinely
303
+ * want everything gone (uninstall / nuke flows / `handleWorkspaceStopAll`).
304
+ */
305
+ export function clearRuntime() {
306
+ const db = getDb();
307
+ const clear = db.transaction(() => {
308
+ db.prepare('DELETE FROM builders').run();
309
+ db.prepare('DELETE FROM utils').run();
310
+ db.prepare('DELETE FROM annotations').run();
311
+ });
312
+ clear();
313
+ }
314
+ /**
315
+ * Spec 786: remove a single architect by name from `state.db.architect`.
316
+ *
317
+ * Idempotent — no-op if the named row is absent. Used by `remove-architect`
318
+ * (Phase 4) and the permanent-exit handler (Phase 3 / OQ-B).
319
+ *
320
+ * For callsite clarity this is spelled as its own function rather than
321
+ * relying on `setArchitectByName(name, null)`. The two are functionally
322
+ * equivalent today; this function exists so that "remove" reads as "remove"
323
+ * at the call site.
324
+ */
325
+ export function removeArchitect(name) {
326
+ const db = getDb();
327
+ db.prepare('DELETE FROM architect WHERE id = ?').run(name);
328
+ }
287
329
  /**
288
330
  * Get architect state (main-only — Spec 755 scalar shim).
289
331
  * Returns the architect named 'main' if present, otherwise the first