@rubytech/create-maxy-code 0.1.198 → 0.1.203

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 (112) hide show
  1. package/package.json +2 -2
  2. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +3736 -0
  3. package/payload/platform/plugins/docs/references/admin-ui.md +3 -1
  4. package/payload/platform/scripts/check-architecture-skill-no-drift.mjs +67 -0
  5. package/payload/platform/scripts/check-no-esm-require.mjs +3 -0
  6. package/payload/platform/scripts/check-specialist-tool-surface.mjs +323 -0
  7. package/payload/platform/services/claude-session-manager/dist/fs-watcher.d.ts.map +1 -1
  8. package/payload/platform/services/claude-session-manager/dist/fs-watcher.js +7 -7
  9. package/payload/platform/services/claude-session-manager/dist/fs-watcher.js.map +1 -1
  10. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts +13 -0
  11. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  12. package/payload/platform/services/claude-session-manager/dist/http-server.js +126 -7
  13. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  14. package/payload/platform/services/claude-session-manager/dist/index.js +9 -1
  15. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  16. package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.d.ts +2 -12
  17. package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.d.ts.map +1 -1
  18. package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.js +14 -67
  19. package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.js.map +1 -1
  20. package/payload/platform/services/claude-session-manager/dist/jsonl-path.d.ts +6 -0
  21. package/payload/platform/services/claude-session-manager/dist/jsonl-path.d.ts.map +1 -1
  22. package/payload/platform/services/claude-session-manager/dist/jsonl-path.js +30 -0
  23. package/payload/platform/services/claude-session-manager/dist/jsonl-path.js.map +1 -1
  24. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  25. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +4 -0
  26. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  27. package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts +33 -3
  28. package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts.map +1 -1
  29. package/payload/platform/services/claude-session-manager/dist/rc-daemon.js +88 -57
  30. package/payload/platform/services/claude-session-manager/dist/rc-daemon.js.map +1 -1
  31. package/payload/platform/services/claude-session-manager/dist/session-sidecar.d.ts +19 -0
  32. package/payload/platform/services/claude-session-manager/dist/session-sidecar.d.ts.map +1 -1
  33. package/payload/platform/services/claude-session-manager/dist/session-sidecar.js +42 -0
  34. package/payload/platform/services/claude-session-manager/dist/session-sidecar.js.map +1 -1
  35. package/payload/platform/services/claude-session-manager/dist/systemd-spawn.d.ts +62 -0
  36. package/payload/platform/services/claude-session-manager/dist/systemd-spawn.d.ts.map +1 -0
  37. package/payload/platform/services/claude-session-manager/dist/systemd-spawn.js +173 -0
  38. package/payload/platform/services/claude-session-manager/dist/systemd-spawn.js.map +1 -0
  39. package/payload/platform/templates/agents/admin/IDENTITY.md +4 -0
  40. package/payload/platform/templates/agents/public/IDENTITY.md +1 -1
  41. package/payload/platform/templates/specialists/agents/coding-assistant.md +73 -0
  42. package/payload/server/public/assets/AdminShell-BcxEZnpu.js +1 -0
  43. package/payload/server/public/assets/{Checkbox-Bh3kwzxP.js → Checkbox-DL-HdT29.js} +1 -1
  44. package/payload/server/public/assets/{admin-BWzKAudL.js → admin-DMo5DWKH.js} +1 -1
  45. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-Boys2mT1.js → architectureDiagram-Q4EWVU46-BoUw4oYz.js} +1 -1
  46. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-CvHqp46r.js → blockDiagram-DXYQGD6D-DOscnO3m.js} +1 -1
  47. package/payload/server/public/assets/{brand-VQtREmts.css → brand-SZW-27T7.css} +1 -1
  48. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-DiNQ95F6.js → c4Diagram-AHTNJAMY-aZ1IuZ_F.js} +1 -1
  49. package/payload/server/public/assets/channel-CzcSNxDm.js +1 -0
  50. package/payload/server/public/assets/{chunk-336JU56O-9nS9-05M.js → chunk-336JU56O-DS3ksXBG.js} +2 -2
  51. package/payload/server/public/assets/{chunk-426QAEUC-B2__9lRY.js → chunk-426QAEUC-BLRn2STO.js} +1 -1
  52. package/payload/server/public/assets/{chunk-4TB4RGXK-R5F8rS0Z.js → chunk-4TB4RGXK-BrhOvJ01.js} +1 -1
  53. package/payload/server/public/assets/{chunk-5FUZZQ4R-B8HhJce-.js → chunk-5FUZZQ4R-BZZwZX5Q.js} +1 -1
  54. package/payload/server/public/assets/{chunk-5PVQY5BW-Bjb08lbL.js → chunk-5PVQY5BW-YXZKnPCz.js} +1 -1
  55. package/payload/server/public/assets/{chunk-EDXVE4YY-he0qCF3s.js → chunk-EDXVE4YY-DAMCJHKQ.js} +1 -1
  56. package/payload/server/public/assets/{chunk-ENJZ2VHE-BTArFW5l.js → chunk-ENJZ2VHE-DsD95Bqn.js} +1 -1
  57. package/payload/server/public/assets/{chunk-ICPOFSXX-CoyIL4q_.js → chunk-ICPOFSXX-DxtrRClx.js} +1 -1
  58. package/payload/server/public/assets/{chunk-OYMX7WX6-DjLEhNFe.js → chunk-OYMX7WX6-CN4kLK-H.js} +1 -1
  59. package/payload/server/public/assets/{chunk-U2HBQHQK-tac2uvW1.js → chunk-U2HBQHQK-BPTv3Oj1.js} +1 -1
  60. package/payload/server/public/assets/{chunk-X2U36JSP-DIWD9i88.js → chunk-X2U36JSP-DxBry33v.js} +1 -1
  61. package/payload/server/public/assets/{chunk-YZCP3GAM-Ac7ogADz.js → chunk-YZCP3GAM-BZ4N75oy.js} +1 -1
  62. package/payload/server/public/assets/{chunk-ZZ45TVLE-QgqDaY9-.js → chunk-ZZ45TVLE-Dqr161Q1.js} +1 -1
  63. package/payload/server/public/assets/classDiagram-6PBFFD2Q-DFOM3vCn.js +1 -0
  64. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-HplDfaL1.js +1 -0
  65. package/payload/server/public/assets/clone-G-2rqnSR.js +1 -0
  66. package/payload/server/public/assets/{dagre-D6qN4nkK.js → dagre-DtZ0wKkH.js} +1 -1
  67. package/payload/server/public/assets/{dagre-KV5264BT-C6TRKOg0.js → dagre-KV5264BT-BPKhT-ZX.js} +1 -1
  68. package/payload/server/public/assets/{data-CaZbNF-j.js → data-D6IQdm0R.js} +1 -1
  69. package/payload/server/public/assets/{diagram-5BDNPKRD-BVk_J8Pt.js → diagram-5BDNPKRD-CATnafi7.js} +1 -1
  70. package/payload/server/public/assets/{diagram-G4DWMVQ6-BdV1IgwS.js → diagram-G4DWMVQ6-ChZYQfji.js} +1 -1
  71. package/payload/server/public/assets/{diagram-MMDJMWI5-OsvBkN6u.js → diagram-MMDJMWI5-DHW6kYd3.js} +1 -1
  72. package/payload/server/public/assets/{diagram-TYMM5635-BQmKPyrb.js → diagram-TYMM5635-CnS4Zci8.js} +1 -1
  73. package/payload/server/public/assets/{erDiagram-SMLLAGMA-ChEx5_3C.js → erDiagram-SMLLAGMA-DKYv2YWp.js} +1 -1
  74. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-B7sf6AG3.js → flowDiagram-DWJPFMVM-BWvoZWlh.js} +1 -1
  75. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-DbpSraax.js → ganttDiagram-T4ZO3ILL-CpCb-xKy.js} +1 -1
  76. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-BnxDElDh.js → gitGraphDiagram-UUTBAWPF-CvHrDKQ-.js} +1 -1
  77. package/payload/server/public/assets/{graph-CBP5yppq.js → graph-PkZKVkWD.js} +1 -1
  78. package/payload/server/public/assets/{graph-labels-BsZNScfa.js → graph-labels-CWJy0O4w.js} +1 -1
  79. package/payload/server/public/assets/{graphlib-Dux06enE.js → graphlib-DjnyHqGy.js} +1 -1
  80. package/payload/server/public/assets/{infoDiagram-42DDH7IO-BLWb6oKx.js → infoDiagram-42DDH7IO-D_MywcVn.js} +1 -1
  81. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-AFiRuE6G.js → ishikawaDiagram-UXIWVN3A-N9m-f-Eb.js} +1 -1
  82. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-CxHBRGGu.js → journeyDiagram-VCZTEJTY-DE0q7uSM.js} +1 -1
  83. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-CGugF0N8.js → kanban-definition-6JOO6SKY-Dj5hb9Bq.js} +1 -1
  84. package/payload/server/public/assets/{line-COFloj-X.js → line-C6ph0i4M.js} +1 -1
  85. package/payload/server/public/assets/{mermaid-parser.core-CxXuCDQf.js → mermaid-parser.core-BrfmEvCA.js} +1 -1
  86. package/payload/server/public/assets/{mermaid.core-BRBNvNup.js → mermaid.core-DYnHKfDv.js} +3 -3
  87. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-DarW5Wwq.js → mindmap-definition-QFDTVHPH-DaSaZfhR.js} +1 -1
  88. package/payload/server/public/assets/{pieDiagram-DEJITSTG-CTokFAkN.js → pieDiagram-DEJITSTG-BAu9Ezbv.js} +1 -1
  89. package/payload/server/public/assets/{public-Bq-eOUu9.js → public-UKgkJxKv.js} +3 -3
  90. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-BNawkg3I.js → quadrantDiagram-34T5L4WZ-DRsbL1Xd.js} +1 -1
  91. package/payload/server/public/assets/{requirementDiagram-MS252O5E-CWnO56oR.js → requirementDiagram-MS252O5E-B9QcsXV6.js} +1 -1
  92. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-D9c-EZfV.js → sankeyDiagram-XADWPNL6-DsZbvIlD.js} +1 -1
  93. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-In5lxCT5.js → sequenceDiagram-FGHM5R23-BlT4O2N8.js} +1 -1
  94. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-CYb5js-u.js → stateDiagram-FHFEXIEX-JFgk1K3Y.js} +1 -1
  95. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-NXz27DaV.js +1 -0
  96. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-Cje-BY9v.js → timeline-definition-GMOUNBTQ-DOsHw1ip.js} +1 -1
  97. package/payload/server/public/assets/{useSelectionMode-B_2EQ2CC.js → useSelectionMode-JDGvwvIk.js} +1 -1
  98. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-BqeuoPr1.js → vennDiagram-DHZGUBPP-CQWIhqZY.js} +1 -1
  99. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-DE7xAnoq.js → wardleyDiagram-NUSXRM2D-D5Fh7YVL.js} +1 -1
  100. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-JE4x8YEZ.js → xychartDiagram-5P7HB3ND-C-tINQEs.js} +1 -1
  101. package/payload/server/public/data.html +5 -5
  102. package/payload/server/public/graph.html +6 -6
  103. package/payload/server/public/index.html +6 -6
  104. package/payload/server/public/public.html +5 -5
  105. package/payload/server/server.js +566 -256
  106. package/payload/server/public/assets/AdminShell-DPk5UgEJ.js +0 -1
  107. package/payload/server/public/assets/channel-BgwH_qhE.js +0 -1
  108. package/payload/server/public/assets/classDiagram-6PBFFD2Q-CwdV1-c8.js +0 -1
  109. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-CS_jtevB.js +0 -1
  110. package/payload/server/public/assets/clone-BTishuSs.js +0 -1
  111. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-z-TVJfRt.js +0 -1
  112. /package/payload/server/public/assets/{brand-CzeO4m4J.js → brand-SzZmKKjz.js} +0 -0
@@ -44,7 +44,9 @@ either is a regression.
44
44
  |---|---|---|
45
45
  | `/session` | Admin cookie session: PIN-gated mint, validate, rotate. | `GET /`, `POST /` |
46
46
  | `/sessions` | Legacy admin-server conversation routes. No UI consumer remains after the ConversationsModal was retired; the surviving handlers are deletion candidates and not described here. | (legacy, no live caller) |
47
- | `/sidebar-sessions` | Sole data path for the sidebar Sessions list (Task 538). One JSONL on disk equals one row; deleting the JSONL is the only way a row disappears. Each row carries `sessionId`, `title` (first user turn, falling back to a short UUID prefix), `startedAt` (file mtime ISO string), `live: boolean` (PID-file cross-reference), `isSubagent: boolean` (path matches `*/subagents/*`), and an optional `rcUrl` extracted from the JSONL body when a `claude.ai/code/session_<slug>` banner is present. The five-rule contract JSONL on disk equals a row, subagents tagged and hidden by default, PID match paints the dot, in-body RC URL paints the external-link icon, anything else dead lives in [`.tasks/archive/538-sessions-list-equals-jsonl-on-disk.md`](../../../.tasks/archive/538-sessions-list-equals-jsonl-on-disk.md). | `GET /` |
47
+ | `/sidebar-sessions` | Sole data path for the sidebar Sessions list (Tasks 538 + 543). One JSONL on disk equals one row. The row's delete button (Task 543) is the only way a row disappears. Each row carries `sessionId`, `title`, `startedAt`, `live`, `isSubagent`, `pid: number \| null` (basename of the matched `sessions/<pid>.json`), and `projectDir` (the directory holding the JSONL consumed by the delete route). The payload also carries top-level `accountId` so the pane renders the full UUID label whose first ~8 chars prefix-match the truncated Remote Control daemon entry in claude.ai/code. The legacy `rcUrl` field is gone (Task 543) the row's external-link affordance now POSTs `/session-rc-spawn` to start a fresh local `claude --remote-control <name> --session-id <sid>` PTY on every click. | `GET /` |
48
+ | `/session-delete` | POST `{ sessionId, projectDir }` (Task 543). Best-effort SIGTERM of the live PID (resolved from `sessions/<pid>.json` body match) then unlink the JSONL + `<sid>.meta.json` sidecar. Absent PID file is not an error. Containment: `projectDir` must live under `<CLAUDE_CONFIG_DIR>/projects/`. | `POST /` |
49
+ | `/session-rc-spawn` | POST `{ sessionId?, name? }` (Task 543). Fire-and-forget `claude --remote-control [name] [--session-id <sid>]`. Present `sessionId` resumes; absent starts a fresh session (also used by the sidebar's "New session" button — it no longer opens claude.ai/code directly). Proxies to the manager's `/rc-spawn`. The new process registers itself as its own Remote Control entry in claude.ai/code. | `POST /` |
48
50
  | `/claude-sessions` | **Spawn surface only** (Task 500). The single `POST /` is shared by three callers: the public/visitor bridge, `linkedin-ingest`, and the turn-completed-graph-write Stop-hook recorder. The former UI-facing handlers (SSE row feed, list, resume, stop, rename, archive, delete, `/:id/meta`, `/:id/input`, `/:id/log`) were removed — the maxy dashboard no longer manages or displays sessions. | `POST /` |
49
51
 
50
52
  Task 500 — **admin session management moved entirely to claude's own interfaces** (claude.ai/code, claude desktop). A manager-owned per-account `claude rc --spawn same-dir` daemon registers the device as a Remote Control target there; the composer creates / resumes / stops / renames / archives / deletes sessions, with model + permission-mode applied at inception. The model lever is `account.json.adminModel` → `CLAUDE_CONFIG_DIR/settings.json "model"`, written by the daemon supervisor at boot. The maxy admin UI keeps a single "New session" link (`https://claude.ai/code`, opens in a new tab) and no session list, viewer, controls, or model/mode picker. The daemon supervisor lives at [`platform/services/claude-session-manager/src/rc-daemon.ts`](../../../services/claude-session-manager/src/rc-daemon.ts). The `/session-defaults` route and `SpawnPreference` node were deleted with the picker. `/new-session-failure`, `/new-session-submit`, and `/claude-capabilities` are now orphaned (consumed only by the deleted NewSessionModal) — see [`.tasks/501`](../../../.tasks/) for their removal.
@@ -0,0 +1,67 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * check-architecture-skill-no-drift.mjs — prepublishOnly gate.
4
+ *
5
+ * The platform-architecture skill at
6
+ * maxy-code/platform/plugins/admin/skills/platform-architecture/SKILL.md
7
+ * is a generated artefact. Its body is the verbatim content of
8
+ * `docs/public/llms-full.txt`, wrapped in a short header that carries a
9
+ * sha256 of the body. The generator lives at
10
+ * maxy-code/scripts/assemble-architecture-skill.mjs
11
+ *
12
+ * This gate runs the generator against the current tree (after first
13
+ * regenerating `docs/public/llms-full.txt` via `docs/scripts/copy-docs.mjs`
14
+ * so the source is fresh) and asserts the bytes match the checked-in
15
+ * SKILL.md. Fails if someone hand-edited the SKILL.md or updated the
16
+ * source docs without re-running the release flow.
17
+ */
18
+
19
+ import { readFileSync, existsSync } from 'node:fs';
20
+ import { dirname, resolve } from 'node:path';
21
+ import { fileURLToPath } from 'node:url';
22
+ import { execFileSync } from 'node:child_process';
23
+ import { assemble } from '../../scripts/assemble-architecture-skill.mjs';
24
+
25
+ const __dirname = dirname(fileURLToPath(import.meta.url));
26
+ const MAXY_CODE_ROOT = resolve(__dirname, '..', '..');
27
+ const REPO_ROOT = resolve(MAXY_CODE_ROOT, '..');
28
+ const LLMS_FULL = resolve(REPO_ROOT, 'docs/public/llms-full.txt');
29
+ const COPY_DOCS = resolve(REPO_ROOT, 'docs/scripts/copy-docs.mjs');
30
+ const SKILL_PATH = resolve(
31
+ MAXY_CODE_ROOT,
32
+ 'platform/plugins/admin/skills/platform-architecture/SKILL.md',
33
+ );
34
+
35
+ function fail(msg) {
36
+ console.error(`[check-architecture-skill-no-drift] ERROR: ${msg}`);
37
+ process.exit(1);
38
+ }
39
+
40
+ if (!existsSync(COPY_DOCS)) {
41
+ fail(`docs mirror script missing: ${COPY_DOCS}`);
42
+ }
43
+
44
+ // Regenerate the docs corpus so the comparison runs against current sources.
45
+ execFileSync('node', [COPY_DOCS], { stdio: 'pipe' });
46
+
47
+ if (!existsSync(LLMS_FULL)) {
48
+ fail(`expected ${LLMS_FULL} after running copy-docs.mjs`);
49
+ }
50
+ if (!existsSync(SKILL_PATH)) {
51
+ fail(`expected ${SKILL_PATH} (run scripts/assemble-architecture-skill.mjs)`);
52
+ }
53
+
54
+ const body = readFileSync(LLMS_FULL, 'utf8');
55
+ const expected = assemble(body);
56
+ const actual = readFileSync(SKILL_PATH, 'utf8');
57
+
58
+ if (expected !== actual) {
59
+ fail(
60
+ `${SKILL_PATH} is out of sync with docs/public/llms-full.txt. ` +
61
+ `Run \`node maxy-code/scripts/assemble-architecture-skill.mjs\` and commit the result.`,
62
+ );
63
+ }
64
+
65
+ console.log(
66
+ `[check-architecture-skill-no-drift] ok (${actual.length} bytes match)`,
67
+ );
@@ -38,6 +38,9 @@ const ALLOWLIST = new Set([
38
38
  // resolved; `vi.hoisted` runs in CJS context where `require` is the only
39
39
  // available loader. The module under test is pure ESM.
40
40
  'platform/ui/server/routes/admin/__tests__/files-delete-cascade.test.ts',
41
+ // Same vi.hoisted pattern: Task 549's sidebar-sessions test pre-builds a
42
+ // tmpdir before the module-under-test's ACCOUNTS_DIR mock is wired.
43
+ 'platform/ui/server/routes/admin/__tests__/sidebar-sessions.test.ts',
41
44
  ])
42
45
 
43
46
  const REQUIRE_CALL_RE = /\brequire\s*\(/
@@ -0,0 +1,323 @@
1
+ #!/usr/bin/env node
2
+ // Build-time mirror of the runtime specialist drift assertion (Task 546).
3
+ //
4
+ // The runtime gate lives in
5
+ // platform/services/claude-session-manager/src/specialist-drift.ts and fires
6
+ // at manager boot on the Pi. By then the broken payload has already shipped,
7
+ // so a specialist `tools:` typo or stale-rename surfaces as a refused boot
8
+ // on the device — Task 544 was caught only after 1,311 cascading boot
9
+ // refusals on realagent-code. This script is the matching laptop-side gate:
10
+ // it walks every brand the installer can publish, builds the brand-effective
11
+ // tool surface (platform plugins minus `plugins.excluded`, plus premium
12
+ // bundles allowed by `shipsPremiumBundles`), and classifies every specialist
13
+ // `.md tools:` entry with the same rules `assertSpecialistDrift` uses.
14
+ //
15
+ // Defects classified `brand-excluded-plugin` do not fail — they are the
16
+ // runtime strip-list-eligible path the spawn already handles. Anything else
17
+ // (`unknown-plugin-namespace`, `unknown-tool-in-plugin`, `malformed-name`)
18
+ // exits non-zero with one defect line per `(brand, specialist, tool, reason)`
19
+ // in the same log shape the runtime emits, so the same grep substrings work
20
+ // on both surfaces.
21
+ //
22
+ // PURE-JS port of the TS classifier rather than a dynamic import: this gate
23
+ // runs in `prepublishOnly` *before* `npm run build`/`npm run bundle`, so the
24
+ // compiled session-manager dist is not yet available. The parity test at
25
+ // platform/services/claude-session-manager/src/__tests__/check-specialist-tool-surface.test.ts
26
+ // exercises identical fixtures through both this script and the live
27
+ // `assertSpecialistDrift` and asserts the defect lists agree; a future
28
+ // classifier change that lands in only one path fails CI there.
29
+
30
+ import { readFileSync, readdirSync, statSync, existsSync } from 'node:fs';
31
+ import { join, resolve, basename, dirname } from 'node:path';
32
+ import { fileURLToPath } from 'node:url';
33
+ import {
34
+ normalisePremiumGate,
35
+ partitionBundles,
36
+ } from '../../packages/create-maxy-code/scripts/premium-bundle-gate.mjs';
37
+
38
+ const SCRIPT_DIR = dirname(fileURLToPath(import.meta.url));
39
+ const DEFAULT_MAXY_CODE_ROOT = resolve(SCRIPT_DIR, '..', '..');
40
+
41
+ function rootsFor(maxyCodeRoot) {
42
+ return {
43
+ PLATFORM_PLUGINS: join(maxyCodeRoot, 'platform', 'plugins'),
44
+ PREMIUM_ROOT: join(maxyCodeRoot, 'premium-plugins'),
45
+ SPECIALIST_TEMPLATES_DIR: join(maxyCodeRoot, 'platform', 'templates', 'specialists', 'agents'),
46
+ BRANDS_DIR: join(maxyCodeRoot, 'brands'),
47
+ };
48
+ }
49
+
50
+ // Mirrors CC_NATIVE_TOOLS in specialist-drift.ts. Listed exhaustively so a
51
+ // new CC-native tool forces an explicit ledger update in both surfaces.
52
+ const CC_NATIVE_TOOLS = new Set([
53
+ 'Read', 'Write', 'Edit', 'Glob', 'Grep', 'Bash', 'BashOutput', 'KillShell',
54
+ 'Skill', 'WebSearch', 'WebFetch', 'Task', 'TodoWrite', 'NotebookEdit',
55
+ 'NotebookRead', 'AskUserQuestion',
56
+ ]);
57
+
58
+ const PLUGIN_BRIDGE_PREFIX = 'mcp__plugin_';
59
+ const SKIP_AGENT_BASENAMES = new Set(['IDENTITY', 'SOUL', 'AGENTS', 'LEARNINGS']);
60
+
61
+ // Canonical long-prefix name constructor — mirrors canonicalToolName().
62
+ function canonicalToolName(plugin, tool) {
63
+ return `mcp__plugin_${plugin}_${plugin}__${tool}`;
64
+ }
65
+ function qualifyShortToolName(plugin, tool) {
66
+ return `mcp__${plugin}__${tool}`;
67
+ }
68
+
69
+ // Frontmatter walker for PLUGIN.md tools: + hidden: blocks. Returns
70
+ // {tools: [string], hidden: [string], hasTools: boolean}. Names only;
71
+ // the gate does not consult allowlist booleans because every declared
72
+ // tool contributes to the `all` surface.
73
+ function parsePluginManifest(rawManifest) {
74
+ const fmMatch = rawManifest.match(/^---\r?\n([\s\S]*?)\r?\n---/);
75
+ if (!fmMatch) return { tools: [], hidden: [], hasTools: false };
76
+ const lines = fmMatch[1].split(/\r?\n/);
77
+ const tools = [];
78
+ const hidden = [];
79
+ let mode = null; // 'tools' | 'hidden' | null
80
+ let hasTools = false;
81
+ for (const line of lines) {
82
+ if (/^tools:\s*\[\s*\]\s*$/.test(line)) { mode = null; continue; }
83
+ if (/^tools:\s*$/.test(line)) { mode = 'tools'; hasTools = true; continue; }
84
+ if (/^hidden:\s*$/.test(line)) { mode = 'hidden'; continue; }
85
+ if (/^[A-Za-z_]/.test(line)) { mode = null; continue; }
86
+ if (mode === 'tools') {
87
+ const nameLine = line.match(/^\s+-\s+name:\s*(.+?)\s*$/);
88
+ if (nameLine) { tools.push(nameLine[1]); continue; }
89
+ }
90
+ if (mode === 'hidden') {
91
+ const item = line.match(/^\s+-\s+(.+?)\s*$/);
92
+ if (item) hidden.push(item[1]);
93
+ }
94
+ }
95
+ return { tools, hidden, hasTools };
96
+ }
97
+
98
+ // Per-brand tool surface: walk platform/plugins (minus excludedPlugins) +
99
+ // allowed premium bundle PLUGIN.md (and any nested plugins/<sub>/PLUGIN.md)
100
+ // for the brand's shipsPremiumBundles allowlist. Returns:
101
+ // { all: Set<string>, maxyPluginSet: Set<string> }
102
+ // `maxyPluginSet` is every plugin directory that registered any tool — the
103
+ // gate uses it to decide whether `mcp__plugin_<x>_<x>__` is a maxy tool
104
+ // (validate against `all`) or an upstream bridge (pass).
105
+ export function loadBrandToolSurface(maxyCodeRoot, excludedPlugins, shippedPremiumBundles) {
106
+ const { PLATFORM_PLUGINS, PREMIUM_ROOT } = rootsFor(maxyCodeRoot);
107
+ const all = new Set();
108
+ const maxyPluginSet = new Set();
109
+ const visit = (root, name) => {
110
+ if (excludedPlugins.has(name)) return;
111
+ const manifestPath = join(root, name, 'PLUGIN.md');
112
+ if (!existsSync(manifestPath)) return;
113
+ const { tools, hidden, hasTools } = parsePluginManifest(readFileSync(manifestPath, 'utf-8'));
114
+ if (!hasTools && hidden.length === 0) return;
115
+ maxyPluginSet.add(name);
116
+ for (const t of tools) all.add(canonicalToolName(name, t));
117
+ for (const h of hidden) all.add(canonicalToolName(name, h));
118
+ };
119
+ if (existsSync(PLATFORM_PLUGINS)) {
120
+ for (const name of readdirSync(PLATFORM_PLUGINS).sort()) {
121
+ try { if (!statSync(join(PLATFORM_PLUGINS, name)).isDirectory()) continue; } catch { continue; }
122
+ visit(PLATFORM_PLUGINS, name);
123
+ }
124
+ }
125
+ if (existsSync(PREMIUM_ROOT)) {
126
+ for (const bundle of readdirSync(PREMIUM_ROOT).sort()) {
127
+ if (!shippedPremiumBundles.has(bundle)) continue;
128
+ try { if (!statSync(join(PREMIUM_ROOT, bundle)).isDirectory()) continue; } catch { continue; }
129
+ visit(PREMIUM_ROOT, bundle);
130
+ const subPluginsDir = join(PREMIUM_ROOT, bundle, 'plugins');
131
+ try { if (!statSync(subPluginsDir).isDirectory()) continue; } catch { continue; }
132
+ for (const sub of readdirSync(subPluginsDir).sort()) {
133
+ try { if (!statSync(join(subPluginsDir, sub)).isDirectory()) continue; } catch { continue; }
134
+ visit(subPluginsDir, sub);
135
+ }
136
+ }
137
+ }
138
+ return { all, maxyPluginSet };
139
+ }
140
+
141
+ // Per-brand specialist-agent dirs: platform templates ship with every brand;
142
+ // premium bundles' agents ship only when the bundle is allowlisted. Mirrors
143
+ // the runtime walker in claude-session-manager src/index.ts.
144
+ export function collectSpecialistDirs(maxyCodeRoot, shippedPremiumBundles) {
145
+ const { PREMIUM_ROOT, SPECIALIST_TEMPLATES_DIR } = rootsFor(maxyCodeRoot);
146
+ const dirs = [];
147
+ if (existsSync(SPECIALIST_TEMPLATES_DIR)) dirs.push(SPECIALIST_TEMPLATES_DIR);
148
+ if (existsSync(PREMIUM_ROOT)) {
149
+ for (const bundle of readdirSync(PREMIUM_ROOT).sort()) {
150
+ if (!shippedPremiumBundles.has(bundle)) continue;
151
+ const bundleAgents = join(PREMIUM_ROOT, bundle, 'agents');
152
+ try { if (statSync(bundleAgents).isDirectory()) dirs.push(bundleAgents); } catch { /* skip */ }
153
+ const subPluginsDir = join(PREMIUM_ROOT, bundle, 'plugins');
154
+ try {
155
+ if (statSync(subPluginsDir).isDirectory()) {
156
+ for (const sub of readdirSync(subPluginsDir).sort()) {
157
+ const subAgents = join(subPluginsDir, sub, 'agents');
158
+ try { if (statSync(subAgents).isDirectory()) dirs.push(subAgents); } catch { /* skip */ }
159
+ }
160
+ }
161
+ } catch { /* skip */ }
162
+ }
163
+ }
164
+ return dirs;
165
+ }
166
+
167
+ // Classifier — mirrors classifyTool() in specialist-drift.ts.
168
+ // Returns 'ok' or one of the SpecialistDriftDefect['reason'] strings.
169
+ function classifyTool(tool, allSet, maxyPluginSet, excludedPlugins) {
170
+ if (CC_NATIVE_TOOLS.has(tool)) return 'ok';
171
+ if (tool.startsWith(PLUGIN_BRIDGE_PREFIX)) {
172
+ const m = tool.match(/^mcp__plugin_([A-Za-z0-9-]+)_([A-Za-z0-9-]+)__/);
173
+ const plugin = m ? m[1] : null;
174
+ if (plugin && maxyPluginSet.has(plugin)) {
175
+ if (allSet.has(tool)) return 'ok';
176
+ let hasNamespace = false;
177
+ for (const t of allSet) {
178
+ if (t.startsWith(`mcp__plugin_${plugin}_${plugin}__`)) { hasNamespace = true; break; }
179
+ }
180
+ if (hasNamespace) return 'unknown-tool-in-plugin';
181
+ if (excludedPlugins.has(plugin)) return 'brand-excluded-plugin';
182
+ return 'unknown-plugin-namespace';
183
+ }
184
+ // Plugin segment not present in the maxy set. Two cases:
185
+ // - The plugin exists on disk but is excluded for this brand
186
+ // (telegram on realagent-code) — strip-list-eligible.
187
+ // - True third-party bridge (Playwright) — upstream-owned, pass.
188
+ if (plugin && excludedPlugins.has(plugin)) return 'brand-excluded-plugin';
189
+ return 'ok';
190
+ }
191
+ if (allSet.has(tool)) return 'ok';
192
+ const mcpMatch = tool.match(/^mcp__([^_]+(?:_[^_]+)*)__/);
193
+ if (!mcpMatch) return 'malformed-name';
194
+ const ns = mcpMatch[1];
195
+ if (excludedPlugins.has(ns)) return 'brand-excluded-plugin';
196
+ return 'unknown-plugin-namespace';
197
+ }
198
+
199
+ function parseSpecialistToolsLine(frontmatter) {
200
+ const m = frontmatter.match(/^tools:\s*(.+)$/m);
201
+ if (!m) return null;
202
+ return m[1].trim();
203
+ }
204
+
205
+ function splitToolList(raw) {
206
+ return raw.split(',').map(t => t.trim()).filter(t => t.length > 0);
207
+ }
208
+
209
+ // Mirrors assertSpecialistDrift(): walks the given dirs, returns
210
+ // {defects, inspected}. excludedPlugins gates the brand-excluded
211
+ // classification path; everything else fails.
212
+ export function assertSpecialistDrift(agentDirs, allSet, maxyPluginSet, excludedPlugins) {
213
+ const defects = [];
214
+ let inspected = 0;
215
+ for (const dir of agentDirs) {
216
+ let entries;
217
+ try { entries = readdirSync(dir); } catch { continue; }
218
+ for (const entry of entries.sort()) {
219
+ const fullPath = join(dir, entry);
220
+ let st;
221
+ try { st = statSync(fullPath); } catch { continue; }
222
+ if (!st.isFile() || !entry.endsWith('.md')) continue;
223
+ const upperBase = basename(entry, '.md').toUpperCase();
224
+ if (SKIP_AGENT_BASENAMES.has(upperBase)) continue;
225
+ const raw = readFileSync(fullPath, 'utf-8');
226
+ const fmMatch = raw.match(/^---\r?\n([\s\S]*?)\r?\n---/);
227
+ if (!fmMatch) continue;
228
+ const toolsLine = parseSpecialistToolsLine(fmMatch[1]);
229
+ if (!toolsLine) continue;
230
+ inspected += 1;
231
+ const specialistName = basename(entry, '.md');
232
+ for (const tool of splitToolList(toolsLine)) {
233
+ const verdict = classifyTool(tool, allSet, maxyPluginSet, excludedPlugins);
234
+ if (verdict === 'ok') continue;
235
+ defects.push({ specialistPath: fullPath, specialistName, tool, reason: verdict });
236
+ }
237
+ }
238
+ }
239
+ return { defects, inspected };
240
+ }
241
+
242
+ export function listBrands(maxyCodeRoot) {
243
+ const { BRANDS_DIR } = rootsFor(maxyCodeRoot);
244
+ if (!existsSync(BRANDS_DIR)) return [];
245
+ return readdirSync(BRANDS_DIR).sort().filter(name => {
246
+ try { return statSync(join(BRANDS_DIR, name, 'brand.json')).isFile(); } catch { return false; }
247
+ });
248
+ }
249
+
250
+ export function listPremiumBundlesOnDisk(maxyCodeRoot) {
251
+ const { PREMIUM_ROOT } = rootsFor(maxyCodeRoot);
252
+ if (!existsSync(PREMIUM_ROOT)) return [];
253
+ return readdirSync(PREMIUM_ROOT).filter(name => {
254
+ if (name.startsWith('.')) return false;
255
+ try { return statSync(join(PREMIUM_ROOT, name)).isDirectory(); } catch { return false; }
256
+ });
257
+ }
258
+
259
+ // Pure-data run for a single brand. Returns
260
+ // {blocking: SpecialistDriftDefect[], stripList: SpecialistDriftDefect[], inspected: number}.
261
+ // The CLI wrapper turns blocking into stderr lines + exit-1; tests assert on
262
+ // the returned arrays directly.
263
+ export function runForBrand(maxyCodeRoot, brandName) {
264
+ const { BRANDS_DIR } = rootsFor(maxyCodeRoot);
265
+ const brandManifestPath = join(BRANDS_DIR, brandName, 'brand.json');
266
+ const brand = JSON.parse(readFileSync(brandManifestPath, 'utf-8'));
267
+ const excludedPlugins = new Set(brand.plugins?.excluded ?? []);
268
+ const gate = normalisePremiumGate(brand.shipsPremiumBundles, brandManifestPath);
269
+ const onDiskPremium = listPremiumBundlesOnDisk(maxyCodeRoot);
270
+ const { shipped, missing } = partitionBundles(gate, onDiskPremium);
271
+ if (missing.length > 0) {
272
+ const err = new Error(`brand=${brandName} shipsPremiumBundles names missing on-disk bundles: ${missing.join(', ')}`);
273
+ err.code = 'BRAND_MISSING_BUNDLE';
274
+ throw err;
275
+ }
276
+ const shippedSet = new Set(shipped);
277
+ const { all, maxyPluginSet } = loadBrandToolSurface(maxyCodeRoot, excludedPlugins, shippedSet);
278
+ const agentDirs = collectSpecialistDirs(maxyCodeRoot, shippedSet);
279
+ const { defects, inspected } = assertSpecialistDrift(agentDirs, all, maxyPluginSet, excludedPlugins);
280
+ const blocking = defects.filter(d => d.reason !== 'brand-excluded-plugin');
281
+ const stripList = defects.filter(d => d.reason === 'brand-excluded-plugin');
282
+ return { blocking, stripList, inspected };
283
+ }
284
+
285
+ function main(maxyCodeRoot) {
286
+ const brands = listBrands(maxyCodeRoot);
287
+ if (brands.length === 0) {
288
+ console.error('[specialist-tool-surface] no brands found under brands/');
289
+ process.exit(1);
290
+ }
291
+ let totalBlocking = 0;
292
+ for (const brandName of brands) {
293
+ let result;
294
+ try {
295
+ result = runForBrand(maxyCodeRoot, brandName);
296
+ } catch (err) {
297
+ console.error(`[specialist-tool-surface] ${err.message}`);
298
+ process.exit(1);
299
+ }
300
+ for (const d of result.blocking) {
301
+ const rel = d.specialistPath.startsWith(maxyCodeRoot + '/')
302
+ ? d.specialistPath.slice(maxyCodeRoot.length + 1)
303
+ : d.specialistPath;
304
+ console.error(`[specialist-tool-surface] specialist=${rel} tool=${d.tool} reason=${d.reason} brand=${brandName}`);
305
+ }
306
+ totalBlocking += result.blocking.length;
307
+ if (result.blocking.length === 0) {
308
+ console.log(`[specialist-tool-surface] ok brand=${brandName} inspected=${result.inspected}`);
309
+ }
310
+ }
311
+ if (totalBlocking > 0) {
312
+ console.error(`[specialist-tool-surface] FAIL: ${totalBlocking} defect(s) across ${brands.length} brand(s).`);
313
+ console.error(` Rename the tool in the listed file to a registered namespace, or move the plugin off the brand's plugins.excluded list.`);
314
+ process.exit(1);
315
+ }
316
+ }
317
+
318
+ // CLI entrypoint when invoked as `node check-specialist-tool-surface.mjs`.
319
+ // Tests import the module's exports directly and skip this branch.
320
+ if (process.argv[1] && resolve(process.argv[1]) === fileURLToPath(import.meta.url)) {
321
+ const override = process.env.MAXY_CODE_ROOT;
322
+ main(override ? resolve(override) : DEFAULT_MAXY_CODE_ROOT);
323
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"fs-watcher.d.ts","sourceRoot":"","sources":["../src/fs-watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fs-watcher.d.ts","sourceRoot":"","sources":["../src/fs-watcher.ts"],"names":[],"mappings":"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"}
@@ -187,9 +187,9 @@ export function createFsWatcher(opts) {
187
187
  /** Read the sidecar that should live next to `<sessionId>.jsonl` for
188
188
  * the given location. Missing or malformed sidecars yield a record
189
189
  * with seven null fields and `hidden: false` — the row is still
190
- * indexed; the operator-facing /list filter hides it unless
191
- * `includeHidden=1`. The watcher logs every read via `readSidecar`'s
192
- * own log lines. */
190
+ * indexed; downstream consumers (toPayload, rowToPayload) treat the
191
+ * null fields as "no spawn metadata captured". The watcher logs every
192
+ * read via `readSidecar`'s own log lines. */
193
193
  function readSidecarForLocation(sessionId, location) {
194
194
  const path = sidecarPathForLocation(sessionId, location);
195
195
  const result = readSidecar(path, logger);
@@ -274,8 +274,8 @@ export function createFsWatcher(opts) {
274
274
  // (the JSONL hasn't been archived yet). A pre-first-turn live spawn
275
275
  // without a sidecar should never happen post-Task-260 because the
276
276
  // pty-spawner writes the sidecar BEFORE the PID-file event resolves
277
- // — but if it does, the row indexes with null spawn fields and the
278
- // /list filter hides it unless includeHidden=1.
277
+ // — but if it does, the row indexes with null spawn fields and
278
+ // downstream payload builders surface those as null on the wire.
279
279
  const { sidecar } = readSidecarForLocation(pidContent.sessionId, 'top');
280
280
  return applySidecarToRow(base, sidecar);
281
281
  }
@@ -591,10 +591,10 @@ export function createFsWatcher(opts) {
591
591
  // sessionsDir absent — fine. Watcher creates it via mkdir at arm time.
592
592
  }
593
593
  // Count rows whose sidecar populated `senderId` — the load-bearing
594
- // signal that a row is fully addressable in /list. `sidecarCount <
594
+ // signal that a row carries spawn metadata. `sidecarCount <
595
595
  // topJsonlCount + archiveJsonlCount` flags pre-Task-260 JSONLs that
596
596
  // landed before the sidecar writer existed: they index normally but
597
- // /list filters them out unless includeHidden=1.
597
+ // surface null senderId/role/channel on the wire.
598
598
  for (const row of rowsBySessionId.values()) {
599
599
  if (row.senderId !== null)
600
600
  sidecarCount += 1;
@@ -1 +1 @@
1
- {"version":3,"file":"fs-watcher.js","sourceRoot":"","sources":["../src/fs-watcher.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,4CAA4C;AAC5C,EAAE;AACF,+EAA+E;AAC/E,sEAAsE;AACtE,6EAA6E;AAC7E,sDAAsD;AACtD,EAAE;AACF,4EAA4E;AAC5E,oEAAoE;AACpE,kBAAkB;AAClB,EAAE;AACF,qBAAqB;AACrB,2EAA2E;AAC3E,2CAA2C;AAC3C,wEAAwE;AACxE,qEAAqE;AACrE,yEAAyE;AACzE,+DAA+D;AAC/D,sEAAsE;AACtE,0EAA0E;AAC1E,EAAE;AACF,oEAAoE;AACpE,2EAA2E;AAC3E,yEAAyE;AACzE,wEAAwE;AACxE,yEAAyE;AACzE,0EAA0E;AAC1E,8DAA8D;AAC9D,EAAE;AACF,4EAA4E;AAC5E,wEAAwE;AACxE,sEAAsE;AACtE,sDAAsD;AAEtD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAkB,MAAM,SAAS,CAAA;AAC1I,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEzC,OAAO,EAAE,WAAW,EAAuB,MAAM,sBAAsB,CAAA;AACvE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,aAAa,GAId,MAAM,oBAAoB,CAAA;AAE3B,MAAM,WAAW,GAAG,GAAG,CAAA;AACvB,4EAA4E;AAC5E,4EAA4E;AAC5E,4BAA4B;AAC5B,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAA;AAEvC;;;iCAGiC;AACjC,SAAS,yBAAyB,CAAC,IAAY;IAC7C,IAAI,EAAU,CAAA;IACd,IAAI,CAAC;QAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAA;IAAC,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QAC/C,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAA;QACxD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QACzC,MAAM,SAAS,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;QACtE,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBAAE,SAAQ;YAC/C,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA+C,CAAA;gBAC1E,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe;oBAAE,SAAQ;gBAC1C,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAQ;gBACnF,OAAO,GAAG,CAAC,YAAY,CAAA;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,kCAAkC;YACpC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAuKD,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,GAAW,CAAA;IACf,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,IAAI,MAAuB,CAAA;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAA;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9E,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;IAC9D,IAAI,CAAC,SAAS,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC3C,MAAM,eAAe,GAAG,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAA;IAClG,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACtF,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;IACpE,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;IAC9D,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;IACxE,MAAM,MAAM,GAAc,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;IAChE,MAAM,SAAS,GACb,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;QAClC,CAAC,CAAC,MAAM,CAAC,SAAS;QAClB,CAAC,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;YACpC,CAAC,CAAC,MAAM,CAAC,SAAS;YAClB,CAAC,CAAC,CAAC,CAAA;IACT,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;AAC5G,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAkB/B;IACC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IACjD,MAAM,YAAY,GAAoB,IAAI,CAAC,YAAY,IAAI,sBAAsB,CAAA;IACjF,MAAM,cAAc,GAAmB,IAAI,CAAC,cAAc,IAAI,qBAAqB,CAAA;IACnF,MAAM,WAAW,GAAW,IAAI,CAAC,WAAW,IAAI,KAAK,CAAA;IAErD,sEAAsE;IACtE,yEAAyE;IACzE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAsB,CAAA;IACrD,4EAA4E;IAC5E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAA;IAChD,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEzD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAc,CAAA;IACzC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAuG,CAAA;IAEjI,MAAM,cAAc,GAAG,IAAI,GAAG,EAA0B,CAAA;IACxD,IAAI,UAAU,GAAqB,IAAI,CAAA;IACvC,IAAI,YAAY,GAAqB,IAAI,CAAA;IACzC,IAAI,cAAc,GAAqB,IAAI,CAAA;IAC3C,IAAI,KAAK,GAAG,KAAK,CAAA;IACjB,IAAI,MAAM,GAAG,KAAK,CAAA;IAElB,SAAS,IAAI,CAAC,KAAmB;QAC/B,MAAM,CACJ,sBAAsB,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,MAAM,cAAc,KAAK,CAAC,SAAS,UAAU,KAAK,CAAC,GAAG,EAAE,KAAK,IAAI,MAAM,GAAG;YACvH,UAAU,KAAK,CAAC,GAAG,EAAE,MAAM,IAAI,MAAM,SAAS,KAAK,CAAC,GAAG,EAAE,WAAW,IAAI,SAAS,EAAE,CACtF,CAAA;QACD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC;gBAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAAC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBAC9B,MAAM,CAAC,yCAAyC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACrG,CAAC;QACH,CAAC;QACD,kDAAkD;QAClD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;YACnE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC5C,IAAI,MAAM,EAAE,CAAC;gBACX,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC1B,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAChC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,QAAQ,CAAC,GAAe;QAC/B,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;QACvC,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI;YAAE,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QAChE,IAAI,GAAG,CAAC,YAAY;YAAE,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;IACpF,CAAC;IAED,SAAS,UAAU,CAAC,GAAe;QACjC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACrC,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI;YAAE,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACpD,IAAI,GAAG,CAAC,YAAY;YAAE,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACxE,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IAE/C,SAAS,YAAY,CAAC,SAAiB;QACrC,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,SAAS,QAAQ,CAAC,CAAA;IAChD,CAAC;IAED,SAAS,mBAAmB,CAAC,SAAiB;QAC5C,OAAO,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAED,SAAS,sBAAsB,CAAC,SAAiB,EAAE,QAA2B;QAC5E,OAAO,QAAQ,KAAK,SAAS;YAC3B,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,YAAY,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,SAAS,YAAY,CAAC,CAAA;IACjD,CAAC;IAED;;;;;yBAKqB;IACrB,SAAS,sBAAsB,CAC7B,SAAiB,EACjB,QAA2B;QAE3B,MAAM,IAAI,GAAG,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACxD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACxC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAA;IACtE,CAAC;IAED,SAAS,iBAAiB,CAAC,GAAe,EAAE,OAA8B;QACxE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,GAAG,GAAG;gBACN,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,IAAI;gBACb,GAAG,EAAE,IAAI;gBACT,SAAS,EAAE,IAAI;gBACf,cAAc,EAAE,IAAI;gBACpB,uBAAuB,EAAE,IAAI;gBAC7B,MAAM,EAAE,KAAK;gBACb,iBAAiB,EAAE,IAAI;aACxB,CAAA;QACH,CAAC;QACD,OAAO;YACL,GAAG,GAAG;YACN,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;YACxD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,iBAAiB,EAAE,OAAO,CAAC,UAAU;YACrC,oEAAoE;YACpE,kEAAkE;YAClE,oEAAoE;YACpE,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,GAAG,CAAC,cAAc;SAC7D,CAAA;IACH,CAAC;IAED;;;mCAG+B;IAC/B,SAAS,uBAAuB,CAAC,SAAiB;QAChD,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBACtE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAAE,SAAQ;gBAC9D,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC1D,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;oBAAE,OAAO,MAAM,CAAA;YAC7D,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,YAAY,CAAC,UAAyB;QAC7C,MAAM,IAAI,GAAe;YACvB,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,eAAe,EAAE,UAAU,CAAC,eAAe;YAC3C,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,kBAAkB,EAAE,IAAI;YACxB,GAAG,EAAE,UAAU,CAAC,GAAG;YACnB,GAAG,EAAE,UAAU,CAAC,GAAG;YACnB,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;YACb,GAAG,EAAE,IAAI;YACT,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,IAAI;YACpB,uBAAuB,EAAE,IAAI;YAC7B,MAAM,EAAE,KAAK;YACb,iBAAiB,EAAE,IAAI;SACxB,CAAA;QACD,oEAAoE;QACpE,oEAAoE;QACpE,kEAAkE;QAClE,oEAAoE;QACpE,mEAAmE;QACnE,gDAAgD;QAChD,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QACvE,OAAO,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACzC,CAAC;IAED,SAAS,gBAAgB,CAAC,SAAiB,EAAE,SAAiB;QAC5D,mEAAmE;QACnE,gEAAgE;QAChE,kCAAkC;QAClC,MAAM,QAAQ,GAAsB,OAAO,CAAC,SAAS,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;QACzF,MAAM,IAAI,GAAe;YACvB,SAAS;YACT,eAAe,EAAE,IAAI;YACrB,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,IAAI;YACX,kBAAkB,EAAE,yBAAyB,CAAC,SAAS,CAAC;YACxD,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;YACT,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;YACpD,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,CAAC,GAAG,EAAE;gBACf,IAAI,CAAC;oBAAC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAA;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,CAAC,CAAA;gBAAC,CAAC;YAC/D,CAAC,CAAC,EAAE;YACJ,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;YACb,GAAG,EAAE,IAAI;YACT,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,IAAI;YACpB,uBAAuB,EAAE,IAAI;YAC7B,MAAM,EAAE,KAAK;YACb,iBAAiB,EAAE,IAAI;SACxB,CAAA;QACD,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC/D,OAAO,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACzC,CAAC;IAED;;iEAE6D;IAC7D,SAAS,gBAAgB,CAAC,IAAY;QACpC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;YACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;YAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YACxD,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAM;YACxB,MAAM,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC9C,IAAI,CAAC,cAAc;gBAAE,OAAM;YAC3B,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YACjD,IAAI,CAAC,KAAK;gBAAE,OAAM;YAClB,iEAAiE;YACjE,iEAAiE;YACjE,kEAAkE;YAClE,+DAA+D;YAC/D,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YAC9C,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YAC1D,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;YACnC,MAAM,WAAW,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;YAC7C,IAAI,MAAM,IAAI,WAAW,EAAE,CAAC;gBAC1B,8DAA8D;gBAC9D,kEAAkE;gBAClE,gEAAgE;gBAChE,oBAAoB;gBACpB,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAA;gBACtD,MAAM,eAAe,GAAsB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;gBACrE,MAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB;uBAC9C,yBAAyB,CAAC,YAAY,CAAC,CAAA;gBAC5C,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;gBAC5E,MAAM,OAAO,GAAe,iBAAiB,CAAC;oBAC5C,GAAG,KAAK;oBACR,GAAG,EAAE,IAAI;oBACT,WAAW,EAAE,IAAI;oBACjB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;oBACzC,MAAM,EAAE,MAAM;oBACd,kBAAkB;iBACnB,EAAE,OAAO,CAAC,CAAA;gBACX,UAAU,CAAC,KAAK,CAAC,CAAA;gBACjB,QAAQ,CAAC,OAAO,CAAC,CAAA;gBACjB,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;gBACnF,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;gBACrF,OAAM;YACR,CAAC;YACD,UAAU,CAAC,KAAK,CAAC,CAAA;YACjB,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAA;YAC9E,OAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,MAAM;YAAE,OAAM;QACnB,kEAAkE;QAClE,8DAA8D;QAC9D,iEAAiE;QACjE,uBAAuB;QACvB,MAAM,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACtD,IAAI,eAAe,IAAI,eAAe,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;YAClD,IAAI,KAAK,EAAE,CAAC;gBACV,UAAU,CAAC,KAAK,CAAC,CAAA;gBACjB,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAA;YAChF,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACnD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QACnC,IAAI,KAAK,EAAE,CAAC;YACV,+DAA+D;YAC/D,sEAAsE;YACtE,MAAM,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAA;YACjF,UAAU,CAAC,KAAK,CAAC,CAAA;YACjB,QAAQ,CAAC,MAAM,CAAC,CAAA;YAChB,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;YACjF,OAAM;QACR,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,CAAA;QAChB,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;IACnF,CAAC;IAED,sEAAsE;IACtE,0EAA0E;IAC1E,wEAAwE;IACxE,sEAAsE;IACtE,mBAAmB;IACnB,EAAE;IACF,uEAAuE;IACvE,wEAAwE;IACxE,wEAAwE;IACxE,oEAAoE;IACpE,kEAAkE;IAClE,2DAA2D;IAC3D,EAAE;IACF,wEAAwE;IACxE,oEAAoE;IACpE,oEAAoE;IACpE,qEAAqE;IACrE,gEAAgE;IAChE,oEAAoE;IACpE,qDAAqD;IACrD,SAAS,kBAAkB,CAAC,IAAY;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QACtD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAM;QACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACrD,MAAM,QAAQ,GAAsB,OAAO,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;QACpF,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC5C,MAAM,WAAW,GAAG,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QACjG,MAAM,aAAa,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;QAE7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,uCAAuC;YACvC,IAAI,CAAC,KAAK;gBAAE,OAAM;YAClB,IAAI,aAAa,EAAE,CAAC;gBAClB,6DAA6D;gBAC7D,8DAA8D;gBAC9D,+DAA+D;gBAC/D,6DAA6D;gBAC7D,gEAAgE;gBAChE,2DAA2D;gBAC3D,MAAM,WAAW,GAAsB,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;gBAC7E,MAAM,UAAU,GAAG,uBAAuB,CAAC,SAAS,CAAC,KAAK,IAAI,CAAA;gBAC9D,MAAM,QAAQ,GAAa,UAAU;oBACnC,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAA;gBAChD,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;gBAClE,MAAM,OAAO,GAAe,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAA;gBACrF,UAAU,CAAC,KAAK,CAAC,CAAA;gBACjB,QAAQ,CAAC,OAAO,CAAC,CAAA;gBACjB,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;gBAClE,MAAM,CACJ,yCAAyC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,QAAQ,KAAK,WAAW,cAAc,QAAQ,EAAE,CAC7H,CAAA;gBACD,OAAM;YACR,CAAC;YACD,gEAAgE;YAChE,gEAAgE;YAChE,8CAA8C;YAC9C,IAAI,KAAK,CAAC,WAAW,IAAI,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;gBAChE,OAAM;YACR,CAAC;YACD,UAAU,CAAC,KAAK,CAAC,CAAA;YACjB,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;YAC/D,OAAM;QACR,CAAC;QAED,gDAAgD;QAChD,mEAAmE;QACnE,wEAAwE;QACxE,+DAA+D;QAC/D,MAAM,gBAAgB,GACpB,CAAC,KAAK,EAAE,WAAW,IAAI,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;eAClD,uBAAuB,CAAC,SAAS,CAAC,KAAK,IAAI,CAAA;QAChD,MAAM,YAAY,GAAa,gBAAgB,IAAI,QAAQ,KAAK,KAAK;YACnE,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAA;QAC7C,IAAI,KAAK,EAAE,CAAC;YACV,+DAA+D;YAC/D,8DAA8D;YAC9D,gEAAgE;YAChE,iEAAiE;YACjE,uBAAuB;YACvB,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YAC/D,MAAM,OAAO,GAAe,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,OAAO,CAAC,CAAA;YACzF,iEAAiE;YACjE,2CAA2C;YAC3C,UAAU,CAAC,KAAK,CAAC,CAAA;YACjB,QAAQ,CAAC,OAAO,CAAC,CAAA;YACjB,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;YAClE,OAAM;QACR,CAAC;QACD,mEAAmE;QACnE,kEAAkE;QAClE,oEAAoE;QACpE,+DAA+D;QAC/D,mEAAmE;QACnE,wDAAwD;QACxD,MAAM,WAAW,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAA;QACtD,IAAI,WAAW,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,CAAC,CAAA;YACrC,QAAQ,CAAC,GAAG,CAAC,CAAA;YACb,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAA;YACzD,OAAM;QACR,CAAC;QACD,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAC7C,QAAQ,CAAC,GAAG,CAAC,CAAA;QACb,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,SAAS,QAAQ,CAAC,IAAY,EAAE,SAA8B;QAC5D,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,IAAI;YAAE,YAAY,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;YACxB,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC3B,IAAI,CAAC;gBAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAAC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACnC,MAAM,CAAC,qCAAqC,IAAI,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACjH,CAAC;QACH,CAAC,EAAE,WAAW,CAAC,CAAA;QACf,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC7B,CAAC;IAED,SAAS,QAAQ;QACf,IAAI,MAAM;YAAE,OAAM;QAClB,sEAAsE;QACtE,+DAA+D;QAC/D,4DAA4D;QAC5D,oEAAoE;QACpE,2CAA2C;QAC3C,IAAI,aAAa,GAAG,CAAC,CAAA;QACrB,IAAI,iBAAiB,GAAG,CAAC,CAAA;QACzB,IAAI,YAAY,GAAG,CAAC,CAAA;QACpB,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBACtE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAAE,SAAQ;gBAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;gBACvD,IAAI,CAAC,SAAS;oBAAE,SAAQ;gBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC/C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACpC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;gBAClD,CAAC;gBACD,aAAa,IAAI,CAAC,CAAA;YACpB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qEAAqE;YACrE,yEAAyE;QAC3E,CAAC;QACD,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBACrE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAAE,SAAQ;gBAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;gBACvD,IAAI,CAAC,SAAS;oBAAE,SAAQ;gBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC9C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACpC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;gBAClD,CAAC;gBACD,iBAAiB,IAAI,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;QACjE,CAAC;QACD,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBACtE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAAE,SAAQ;gBAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC1C,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;gBACjC,IAAI,CAAC,MAAM;oBAAE,SAAQ;gBACrB,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;gBACnD,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;gBAChC,IAAI,KAAK,EAAE,CAAC;oBACV,qEAAqE;oBACrE,GAAG,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,IAAI,GAAG,CAAC,kBAAkB,CAAA;oBAC3E,UAAU,CAAC,KAAK,CAAC,CAAA;gBACnB,CAAC;gBACD,QAAQ,CAAC,GAAG,CAAC,CAAA;gBACb,QAAQ,IAAI,CAAC,CAAA;YACf,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;QACzE,CAAC;QACD,mEAAmE;QACnE,mEAAmE;QACnE,oEAAoE;QACpE,oEAAoE;QACpE,iDAAiD;QACjD,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI;gBAAE,YAAY,IAAI,CAAC,CAAA;QAC9C,CAAC;QACD,MAAM,GAAG,IAAI,CAAA;QACb,MAAM,UAAU,GAAG,aAAa,GAAG,iBAAiB,CAAA;QACpD,MAAM,CACJ,uCAAuC,QAAQ,qBAAqB,aAAa,yBAAyB,iBAAiB,aAAa,YAAY,SAAS,eAAe,CAAC,IAAI,gBAAgB,UAAU,EAAE,CAC9M,CAAA;QACD,uEAAuE;QACvE,qEAAqE;QACrE,oEAAoE;QACpE,wBAAwB,EAAE,CAAA;IAC5B,CAAC;IAED;;;;;;;;;;;;;;;;;;;8CAmB0C;IAC1C,SAAS,wBAAwB;QAC/B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAA;QAC5D,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,CACJ,qDAAqD,MAAM,CAAC,QAAQ,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,+DAA+D,CACxL,CAAA;YACD,OAAM;QACR,CAAC;QACD,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,IAAI,eAAe,GAAG,CAAC,CAAA;QACvB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;YACrC,IAAI,QAAQ,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAClC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAA;gBAC7B,UAAU,IAAI,CAAC,CAAA;gBACf,SAAQ;YACV,CAAC;YACD,QAAQ,IAAI,CAAC,CAAA;YACb,mEAAmE;YACnE,kEAAkE;YAClE,sEAAsE;YACtE,mEAAmE;YACnE,qEAAqE;YACrE,sEAAsE;YACtE,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,KAAK,iBAAiB;gBACrD,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;YAClD,eAAe,IAAI,CAAC,CAAA;YACpB,KAAK,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,EAAE;gBAChD,GAAG,EAAE,UAAU;gBACf,WAAW;gBACX,OAAO,EAAE,cAAc;aACxB,CAAC;iBACC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACb,MAAM,CACJ,gCAAgC,KAAK,CAAC,QAAQ,YAAY,IAAI,CAAC,OAAO,cAAc,IAAI,CAAC,QAAQ,EAAE,CACpG,CAAA;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAC5D,MAAM,CAAC,sCAAsC,KAAK,CAAC,QAAQ,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC3F,CAAC,CAAC,CAAA;QACN,CAAC;QACD,MAAM,CACJ,+BAA+B,MAAM,CAAC,MAAM,eAAe,UAAU,aAAa,QAAQ,qBAAqB,eAAe,EAAE,CACjI,CAAA;IACH,CAAC;IAWD,SAAS,aAAa,CAAC,KAAqB;QAC1C,4BAA4B;QAC5B,mEAAmE;QACnE,0DAA0D;QAC1D,mEAAmE;QACnE,gEAAgE;QAChE,8BAA8B;QAC9B,kEAAkE;QAClE,mEAAmE;QACnE,wDAAwD;QACxD,IAAI,GAAG,GAAsB,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,CAAA;QACzE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,KAAK,MAAM,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;gBACzC,IAAI,CAAC,CAAC,cAAc,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;oBACzC,GAAG,GAAG,CAAC,CAAA;oBACP,MAAK;gBACP,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,GAAG,EAAE,SAAS,IAAI,MAAM,CAAA;QAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,CACJ,mCAAmC,KAAK,CAAC,QAAQ,cAAc,SAAS,qCAAqC,CAC9G,CAAA;YACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAA;QACtD,CAAC;QACD,sEAAsE;QACtE,mEAAmE;QACnE,kEAAkE;QAClE,2DAA2D;QAC3D,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACzD,MAAM,CACJ,mCAAmC,KAAK,CAAC,QAAQ,cAAc,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,gDAAgD,CACrI,CAAA;YACD,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAA;QACjE,CAAC;QACD,MAAM,CACJ,mCAAmC,KAAK,CAAC,QAAQ,cAAc,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,oCAAoC,CACzH,CAAA;QACD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;IAC1D,CAAC;IAED,SAAS,QAAQ,CAAC,KAAqB,EAAE,GAAe;QACtD,mEAAmE;QACnE,gEAAgE;QAChE,iCAAiC;QACjC,UAAU,CAAC,GAAG,CAAC,CAAA;QACf,GAAG,CAAC,MAAM,GAAG,UAAU,CAAA;QACvB,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC,SAAS,CAAA;QACpC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACb,MAAM,CACJ,oCAAoC,GAAG,CAAC,SAAS,SAAS,KAAK,CAAC,QAAQ,QAAQ,GAAG,CAAC,GAAG,IAAI,SAAS,EAAE,CACvG,CAAA;IACH,CAAC;IAED,SAAS,GAAG;QACV,IAAI,KAAK;YAAE,OAAM;QACjB,IAAI,CAAC,MAAM;YAAE,QAAQ,EAAE,CAAA;QACvB,IAAI,CAAC;YAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/E,IAAI,CAAC;YAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/E,iEAAiE;QACjE,gEAAgE;QAChE,gCAAgC;QAChC,IAAI,CAAC;YAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC9E,IAAI,CAAC;YACH,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBAC1E,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAAE,OAAM;gBACpD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;gBACxC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;YAClC,CAAC,CAAC,CAAA;YACF,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC7B,MAAM,CAAC,gCAAgC,WAAW,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACnH,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,sCAAsC,WAAW,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACzH,CAAC;QACD,IAAI,CAAC;YACH,YAAY,GAAG,KAAK,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBAC5E,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAAE,OAAM;gBACrD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;gBACxC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;YACpC,CAAC,CAAC,CAAA;YACF,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC/B,MAAM,CAAC,gCAAgC,WAAW,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACnH,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,sCAAsC,WAAW,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACzH,CAAC;QACD,mEAAmE;QACnE,qEAAqE;QACrE,qEAAqE;QACrE,2DAA2D;QAC3D,mEAAmE;QACnE,IAAI,CAAC;YACH,cAAc,GAAG,KAAK,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBAC7E,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAAE,OAAM;gBACrD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;gBACvC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;YACpC,CAAC,CAAC,CAAA;YACF,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACjC,MAAM,CAAC,gCAAgC,UAAU,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAClH,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,sCAAsC,UAAU,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACxH,CAAC;QACD,KAAK,GAAG,IAAI,CAAA;QACZ,MAAM,CAAC,mCAAmC,WAAW,iBAAiB,WAAW,gBAAgB,UAAU,EAAE,CAAC,CAAA;IAChH,CAAC;IAED,SAAS,SAAS,CAAC,GAAe;QAChC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACpB,OAAO,GAAG,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,SAAS,cAAc,CAAC,EAAU;QAChC,OAAO,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAChC,CAAC;IAED,SAAS,oBAAoB,CAAC,EAAU;QACtC,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QAC1C,MAAM,SAAS,GAAG,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACrD,OAAO,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/D,CAAC;IAED,SAAS,iBAAiB,CAAC,MAAc;QACvC,MAAM,SAAS,GAAG,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACrD,OAAO,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/D,CAAC;IAED,SAAS,QAAQ,CAAC,GAAW;QAC3B,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACzC,OAAO,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/D,CAAC;IAED,SAAS,GAAG;QACV,OAAO,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,CAAA;IACtC,CAAC;IAED,SAAS,UAAU,CAAC,GAAW,EAAE,SAAiB;QAChD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC9B,IAAI,QAAQ;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,uCAAuC,GAAG,OAAO,SAAS,EAAE,CAAC,CAAC,CAAA;YACjF,CAAC,EAAE,SAAS,CAAC,CAAA;YACb,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,SAAS,cAAc,CAAC,SAAiB;QACvC,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC5C,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QACxB,iEAAiE;QACjE,+DAA+D;QAC/D,kEAAkE;QAClE,gEAAgE;QAChE,oCAAoC;QACpC,MAAM,UAAU,GAAG,sBAAsB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAC3D,MAAM,cAAc,GAAG,sBAAsB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QACnE,MAAM,QAAQ,GAAsB,UAAU,CAAC,UAAU,CAAC;YACxD,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAC7F,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC/D,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACjD,UAAU,CAAC,KAAK,CAAC,CAAA;QACjB,QAAQ,CAAC,OAAO,CAAC,CAAA;QACjB,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;QAClE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,KAAK;QACZ,IAAI,UAAU,EAAE,CAAC;YAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAAC,UAAU,GAAG,IAAI,CAAA;QAAC,CAAC;QACzD,IAAI,YAAY,EAAE,CAAC;YAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAAC,YAAY,GAAG,IAAI,CAAA;QAAC,CAAC;QAC/D,IAAI,cAAc,EAAE,CAAC;YAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAAC,cAAc,GAAG,IAAI,CAAA;QAAC,CAAC;QACrE,KAAK,MAAM,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE;YAAE,YAAY,CAAC,CAAC,CAAC,CAAA;QACxD,cAAc,CAAC,KAAK,EAAE,CAAA;QACtB,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACpC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACrB,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAA;QAC1C,CAAC;QACD,UAAU,CAAC,KAAK,EAAE,CAAA;QAClB,WAAW,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;IAED,OAAO;QACL,QAAQ;QACR,GAAG;QACH,SAAS;QACT,cAAc;QACd,oBAAoB;QACpB,iBAAiB;QACjB,QAAQ;QACR,GAAG;QACH,UAAU;QACV,cAAc;QACd,KAAK;QACL,UAAU,EAAE,EAAE,gBAAgB,EAAE,kBAAkB,EAAE;KACrD,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"fs-watcher.js","sourceRoot":"","sources":["../src/fs-watcher.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Hono } from 'hono';
2
2
  import { type SpawnDeps } from './pty-spawner.js';
3
+ import { type SystemdScopeHandle } from './systemd-spawn.js';
3
4
  import type { FsWatcher } from './fs-watcher.js';
4
5
  import type { RateLimiter } from './spawn-rate-limiter.js';
5
6
  import type { AuditRegistry } from './public-tool-audit.js';
@@ -14,6 +15,18 @@ export interface HttpDeps extends Omit<SpawnDeps, 'onSessionReady' | 'watcher'>
14
15
  /** Task 253 — operator-stamped title override store. Reads merge into
15
16
  * every displayName resolution site; the /:sessionId/rename route writes. */
16
17
  userTitleStore: UserTitleStore;
18
+ /** Task 552 — non-PTY spawn primitive used by /rc-spawn. Allocates zero
19
+ * file descriptors in the manager, supersedes Task 545's pty.destroy()
20
+ * band-aid for the fire-and-forget path. Channel-bridge spawns keep
21
+ * `spawnPty` (inherited from SpawnDeps) because they need bidirectional
22
+ * IO. Tests inject a stub returning a fake handle. */
23
+ systemdSpawn: (params: {
24
+ claudeBin: string;
25
+ claudeArgs: readonly string[];
26
+ env: Readonly<Record<string, string>>;
27
+ cwd: string;
28
+ unitToken: string;
29
+ }) => Promise<SystemdScopeHandle>;
17
30
  }
18
31
  /** Task 189 — Hono instance with the test-only fan-out trigger attached.
19
32
  * The vitest fixture for the `/events` url-capture re-emit drives this