@rubytech/create-maxy-code 0.1.279 → 0.1.280

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 (122) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/plugins/admin/PLUGIN.md +1 -0
  3. package/payload/platform/plugins/admin/hooks/__tests__/prompt-optimiser-directive.test.sh +42 -0
  4. package/payload/platform/plugins/admin/hooks/prompt-optimiser-directive.sh +60 -15
  5. package/payload/platform/plugins/admin/mcp/dist/__tests__/e-sign-discoverable.test.d.ts +2 -0
  6. package/payload/platform/plugins/admin/mcp/dist/__tests__/e-sign-discoverable.test.d.ts.map +1 -0
  7. package/payload/platform/plugins/admin/mcp/dist/__tests__/e-sign-discoverable.test.js +54 -0
  8. package/payload/platform/plugins/admin/mcp/dist/__tests__/e-sign-discoverable.test.js.map +1 -0
  9. package/payload/platform/plugins/admin/mcp/dist/content-producer-authoring-skills.d.ts +2 -0
  10. package/payload/platform/plugins/admin/mcp/dist/content-producer-authoring-skills.d.ts.map +1 -0
  11. package/payload/platform/plugins/admin/mcp/dist/content-producer-authoring-skills.js +19 -0
  12. package/payload/platform/plugins/admin/mcp/dist/content-producer-authoring-skills.js.map +1 -0
  13. package/payload/platform/plugins/admin/mcp/dist/skill-resolution.d.ts.map +1 -1
  14. package/payload/platform/plugins/admin/mcp/dist/skill-resolution.js +2 -5
  15. package/payload/platform/plugins/admin/mcp/dist/skill-resolution.js.map +1 -1
  16. package/payload/platform/plugins/admin/skills/a4-print-documents/SKILL.md +2 -0
  17. package/payload/platform/plugins/admin/skills/access-manager/SKILL.md +2 -0
  18. package/payload/platform/plugins/admin/skills/admin-user-management/SKILL.md +2 -0
  19. package/payload/platform/plugins/admin/skills/business-profile/SKILL.md +2 -0
  20. package/payload/platform/plugins/admin/skills/capabilities-here/SKILL.md +2 -0
  21. package/payload/platform/plugins/admin/skills/datetime/SKILL.md +2 -0
  22. package/payload/platform/plugins/admin/skills/deck-pages/SKILL.md +2 -0
  23. package/payload/platform/plugins/admin/skills/file-presentation/SKILL.md +2 -0
  24. package/payload/platform/plugins/admin/skills/investigate/SKILL.md +2 -0
  25. package/payload/platform/plugins/admin/skills/plainly/SKILL.md +2 -0
  26. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +2 -0
  27. package/payload/platform/plugins/admin/skills/plugin-management/SKILL.md +2 -0
  28. package/payload/platform/plugins/admin/skills/professional-document/SKILL.md +2 -0
  29. package/payload/platform/plugins/admin/skills/public-agent-manager/SKILL.md +2 -0
  30. package/payload/platform/plugins/admin/skills/qr-code/SKILL.md +2 -0
  31. package/payload/platform/plugins/admin/skills/session-management/SKILL.md +2 -0
  32. package/payload/platform/plugins/admin/skills/skill-builder/SKILL.md +2 -0
  33. package/payload/platform/plugins/admin/skills/specialist-management/SKILL.md +2 -0
  34. package/payload/platform/plugins/admin/skills/stream-log-review/SKILL.md +2 -0
  35. package/payload/platform/plugins/admin/skills/superpowers-sprint/SKILL.md +2 -0
  36. package/payload/platform/plugins/admin/skills/task/SKILL.md +2 -0
  37. package/payload/platform/plugins/admin/skills/update-knowledge/SKILL.md +2 -0
  38. package/payload/platform/plugins/admin/skills/upgrade/SKILL.md +2 -0
  39. package/payload/platform/plugins/aeo/skills/structured-answer/SKILL.md +2 -0
  40. package/payload/platform/plugins/business-assistant/PLUGIN.md +2 -1
  41. package/payload/platform/plugins/business-assistant/{references/e-sign.md → skills/e-sign/SKILL.md} +9 -2
  42. package/payload/platform/plugins/cloudflare/skills/cloudflare/SKILL.md +2 -0
  43. package/payload/platform/plugins/deep-research/skills/academic-verify/SKILL.md +2 -0
  44. package/payload/platform/plugins/deep-research/skills/book-mirror/SKILL.md +2 -0
  45. package/payload/platform/plugins/deep-research/skills/data-research/SKILL.md +2 -0
  46. package/payload/platform/plugins/deep-research/skills/deep-research/SKILL.md +2 -0
  47. package/payload/platform/plugins/deep-research/skills/strategic-reading/SKILL.md +2 -0
  48. package/payload/platform/plugins/email/PLUGIN.md +2 -0
  49. package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts +42 -11
  50. package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts.map +1 -1
  51. package/payload/platform/plugins/email/mcp/dist/lib/imap.js +123 -57
  52. package/payload/platform/plugins/email/mcp/dist/lib/imap.js.map +1 -1
  53. package/payload/platform/plugins/email/mcp/dist/tools/email-otp-extract.d.ts.map +1 -1
  54. package/payload/platform/plugins/email/mcp/dist/tools/email-otp-extract.js +4 -2
  55. package/payload/platform/plugins/email/mcp/dist/tools/email-otp-extract.js.map +1 -1
  56. package/payload/platform/plugins/email/mcp/dist/tools/email-read.d.ts.map +1 -1
  57. package/payload/platform/plugins/email/mcp/dist/tools/email-read.js +18 -8
  58. package/payload/platform/plugins/email/mcp/dist/tools/email-read.js.map +1 -1
  59. package/payload/platform/plugins/email/mcp/dist/tools/email-search.d.ts.map +1 -1
  60. package/payload/platform/plugins/email/mcp/dist/tools/email-search.js +18 -8
  61. package/payload/platform/plugins/email/mcp/dist/tools/email-search.js.map +1 -1
  62. package/payload/platform/plugins/email/skills/email-composition/SKILL.md +2 -0
  63. package/payload/platform/plugins/email/skills/email-ingest/SKILL.md +2 -0
  64. package/payload/platform/plugins/graph-viewer/skills/render-graph/SKILL.md +2 -0
  65. package/payload/platform/plugins/linkedin-extension/skills/linkedin-extension/SKILL.md +2 -0
  66. package/payload/platform/plugins/memory/skills/archive-crawler/SKILL.md +2 -0
  67. package/payload/platform/plugins/memory/skills/challenge/SKILL.md +2 -0
  68. package/payload/platform/plugins/memory/skills/concept-synthesis/SKILL.md +2 -0
  69. package/payload/platform/plugins/memory/skills/connect/SKILL.md +2 -0
  70. package/payload/platform/plugins/memory/skills/conversational-memory/SKILL.md +2 -0
  71. package/payload/platform/plugins/memory/skills/emerge/SKILL.md +2 -0
  72. package/payload/platform/plugins/outlook/skills/outlook/SKILL.md +2 -0
  73. package/payload/platform/plugins/prompt-optimiser/skills/prompt-optimiser/SKILL.md +3 -1
  74. package/payload/platform/plugins/prompt-optimiser/skills/prompt-optimiser/__tests__/restatement-ladder.test.sh +21 -0
  75. package/payload/platform/plugins/scheduling/skills/briefing/SKILL.md +2 -0
  76. package/payload/platform/plugins/scheduling/skills/daily-prep/SKILL.md +2 -0
  77. package/payload/platform/plugins/slides/skills/deck-system/SKILL.md +2 -0
  78. package/payload/platform/plugins/whatsapp/skills/connect-whatsapp/SKILL.md +2 -0
  79. package/payload/platform/plugins/whatsapp/skills/manage-whatsapp-config/SKILL.md +2 -0
  80. package/payload/platform/plugins/work/skills/execute-task/SKILL.md +2 -0
  81. package/payload/platform/plugins/workflows/skills/workflow-manager/SKILL.md +2 -0
  82. package/payload/platform/scripts/lib/__tests__/admin-skills-bootstrap.test.sh +64 -0
  83. package/payload/platform/scripts/lib/admin-skills-bootstrap.sh +109 -0
  84. package/payload/platform/scripts/setup-account.sh +8 -0
  85. package/payload/platform/services/claude-session-manager/dist/fs-watcher.d.ts.map +1 -1
  86. package/payload/platform/services/claude-session-manager/dist/fs-watcher.js +43 -11
  87. package/payload/platform/services/claude-session-manager/dist/fs-watcher.js.map +1 -1
  88. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  89. package/payload/platform/services/claude-session-manager/dist/http-server.js +74 -1
  90. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  91. package/payload/platform/services/claude-session-manager/dist/index.js +48 -2
  92. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  93. package/payload/platform/services/claude-session-manager/dist/liveness-divergence.d.ts +19 -0
  94. package/payload/platform/services/claude-session-manager/dist/liveness-divergence.d.ts.map +1 -0
  95. package/payload/platform/services/claude-session-manager/dist/liveness-divergence.js +38 -0
  96. package/payload/platform/services/claude-session-manager/dist/liveness-divergence.js.map +1 -0
  97. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +8 -0
  98. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  99. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +12 -0
  100. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  101. package/payload/platform/services/claude-session-manager/dist/scope-record.d.ts +11 -0
  102. package/payload/platform/services/claude-session-manager/dist/scope-record.d.ts.map +1 -0
  103. package/payload/platform/services/claude-session-manager/dist/scope-record.js +81 -0
  104. package/payload/platform/services/claude-session-manager/dist/scope-record.js.map +1 -0
  105. package/payload/platform/services/whatsapp-channel/dist/notification.d.ts +10 -7
  106. package/payload/platform/services/whatsapp-channel/dist/notification.d.ts.map +1 -1
  107. package/payload/platform/services/whatsapp-channel/dist/notification.js +14 -14
  108. package/payload/platform/services/whatsapp-channel/dist/notification.js.map +1 -1
  109. package/payload/platform/templates/agents/admin/IDENTITY.md +2 -6
  110. package/payload/server/public/assets/AdminShell-C6_5h1cC.js +1 -0
  111. package/payload/server/public/assets/{admin-xRCXEFNW.js → admin-BpnsTEa3.js} +1 -1
  112. package/payload/server/public/assets/{browser-DT2XfRpL.js → browser-fgBRZ5gK.js} +1 -1
  113. package/payload/server/public/assets/{data-Dr7XUvAx.js → data-Cuynp6Y6.js} +1 -1
  114. package/payload/server/public/assets/{graph-DOEjjQHD.js → graph-Ddg24bjy.js} +1 -1
  115. package/payload/server/public/assets/{whatsapp-cDxgZkbM.js → whatsapp-BE79pNh8.js} +1 -1
  116. package/payload/server/public/browser.html +2 -2
  117. package/payload/server/public/data.html +2 -2
  118. package/payload/server/public/graph.html +2 -2
  119. package/payload/server/public/index.html +2 -2
  120. package/payload/server/public/whatsapp.html +2 -2
  121. package/payload/server/server.js +338 -461
  122. package/payload/server/public/assets/AdminShell-DnH3kou-.js +0 -1
@@ -0,0 +1,64 @@
1
+ #!/usr/bin/env bash
2
+ # Test for admin-skills-bootstrap.sh (Task 698). Builds a fixture plugins tree
3
+ # and asserts the admin-usable derivation, the fail-safe no-declaration handling,
4
+ # the owned-set guard, robust block-scalar description extraction, and the log.
5
+ set -u
6
+
7
+ GEN="$(cd "$(dirname "$0")/.." && pwd)/admin-skills-bootstrap.sh"
8
+ [ -x "$GEN" ] || { echo "FAIL: $GEN not executable" >&2; exit 1; }
9
+
10
+ TMP=$(mktemp -d); ACC="$TMP/account"; PLUG="$TMP/plugins"
11
+ mkdir -p "$ACC/agents/admin"
12
+
13
+ # mk <plugin> <slug> <description-line> <declaration-paragraph>
14
+ mk() {
15
+ mkdir -p "$PLUG/$1/skills/$2"
16
+ printf -- '---\nname: %s\ndescription: %s\n---\n\n# %s\n\n%s\n' \
17
+ "$2" "$3" "$2" "$4" > "$PLUG/$1/skills/$2/SKILL.md"
18
+ }
19
+
20
+ # admin-usable, single-line quoted description
21
+ mk admin session-management '"reset and list sessions"' "Invoked by the admin agent directly."
22
+ # admin-usable, folded block-scalar description (robust extraction must join lines)
23
+ printf -- '---\nname: datetime\ndescription: >\n resolve the current\n date and time\n---\n\n# datetime\n\nInvoked by the admin agent directly.\n' \
24
+ > "$PLUG/admin/skills/datetime/SKILL.md" 2>/dev/null || { mkdir -p "$PLUG/admin/skills/datetime"; printf -- '---\nname: datetime\ndescription: >\n resolve the current\n date and time\n---\n\n# datetime\n\nInvoked by the admin agent directly.\n' > "$PLUG/admin/skills/datetime/SKILL.md"; }
25
+ # specialist-owned — declaration names a specialist
26
+ mk deep-research deep-research '"multi-source research"' 'Invoked from `specialists:research-assistant`.'
27
+ # content-producer authoring, declaration TAMPERED to admin — owned-set must still exclude
28
+ mk admin professional-document '"author a document"' "Invoked by the admin agent directly."
29
+ # admin-usable whose declaration MENTIONS downstream specialists after a period —
30
+ # must stay admin-usable (the specialists: are routing targets, not the owner).
31
+ mk admin unzip-attachment '"safely extract an attachment"' \
32
+ '**Invoked by the admin agent directly.** Admin forwards the tree to `specialists:content-producer` or `specialists:librarian` downstream.'
33
+ # no declaration — fail-safe: excluded and reported
34
+ mk admin mystery-skill '"does a mystery thing"' "No declaration here at all."
35
+
36
+ OWNED="$TMP/owned.ts"
37
+ cat > "$OWNED" <<'EOF'
38
+ export const CONTENT_PRODUCER_AUTHORING_SKILL_SLUGS = [
39
+ "professional-document",
40
+ "a4-print-documents",
41
+ "publish-site",
42
+ ] as const;
43
+ EOF
44
+
45
+ OUT=$(bash "$GEN" "$ACC" "$PLUG" "$OWNED" 2>&1)
46
+ MD="$ACC/agents/admin/ADMIN-SKILLS.md"
47
+
48
+ PASS=0; FAIL=0
49
+ chk() { if eval "$2"; then echo "PASS: $1"; PASS=$((PASS+1)); else echo "FAIL: $1 (out=$OUT)" >&2; FAIL=$((FAIL+1)); fi; }
50
+
51
+ chk "admin skill included with desc" 'grep -qE "^- session-management: reset and list sessions$" "$MD"'
52
+ chk "block-scalar desc joined" 'grep -qE "^- datetime: resolve the current date and time$" "$MD"'
53
+ chk "downstream-mention stays admin" 'grep -qE "^- unzip-attachment: " "$MD"'
54
+ chk "specialist skill excluded" '! grep -q "deep-research" "$MD"'
55
+ chk "owned-set skill excluded" '! grep -q "professional-document" "$MD"'
56
+ chk "no-decl skill excluded" '! grep -q "mystery-skill" "$MD"'
57
+ chk "no-decl reported" 'echo "$OUT" | grep -q "skill=mystery-skill missing-declaration"'
58
+ chk "scan log shape" 'echo "$OUT" | grep -qE "\[admin-skills\] scanned=6 admin-usable=3 no-declaration=1"'
59
+ chk "list sorted by slug" '[ "$(grep "^- " "$MD" | head -1)" = "- datetime: resolve the current date and time" ]'
60
+
61
+ rm -rf "$TMP"
62
+ echo "----"
63
+ echo "PASS=$PASS FAIL=$FAIL"
64
+ [ "$FAIL" -eq 0 ]
@@ -0,0 +1,109 @@
1
+ #!/usr/bin/env bash
2
+ # Idempotent ADMIN-SKILLS.md bootstrap (Task 698). Sibling of agents-md-bootstrap.sh.
3
+ #
4
+ # Usage: admin-skills-bootstrap.sh <account_dir> <plugins_dir> [<owned_set_ts>]
5
+ #
6
+ # Scans <plugins_dir>/*/skills/*/SKILL.md and writes
7
+ # <account_dir>/agents/admin/ADMIN-SKILLS.md — one `- name: description` line per
8
+ # admin-usable skill, sorted by slug.
9
+ #
10
+ # Admin-usable = the SKILL.md "Invoked by/from" declaration does NOT name a
11
+ # specialist (`specialists:<name>`) AND the slug is not in the content-producer
12
+ # authoring owned-set. A skill with no parseable declaration is excluded
13
+ # (fail-safe — never silently offer a possibly-specialist-owned skill) and
14
+ # reported, so the offender is visible rather than dropped.
15
+ #
16
+ # owned_set_ts defaults to the canonical module in the admin MCP source tree; the
17
+ # quoted slugs between its array brackets are the shared owned-set (one source of
18
+ # truth with the Task 516 runtime gate in skill-resolution.ts).
19
+ #
20
+ # Observability (stdout, two-space indented to match setup-account.sh):
21
+ # [admin-skills] scanned=<N> admin-usable=<M> no-declaration=<K>
22
+ # [admin-skills] skill=<name> missing-declaration (one per offender, when K>0)
23
+ # Failure signature: admin-usable=0 while scanned>0, or any missing-declaration line.
24
+
25
+ set -euo pipefail
26
+
27
+ ACCOUNT_DIR="${1:?Usage: admin-skills-bootstrap.sh <account_dir> <plugins_dir> [owned_set_ts]}"
28
+ PLUGINS_DIR="${2:?Usage: admin-skills-bootstrap.sh <account_dir> <plugins_dir> [owned_set_ts]}"
29
+ OWNED_TS="${3:-$PLUGINS_DIR/admin/mcp/src/content-producer-authoring-skills.ts}"
30
+ OUT="$ACCOUNT_DIR/agents/admin/ADMIN-SKILLS.md"
31
+
32
+ mkdir -p "$(dirname "$OUT")"
33
+
34
+ # Owned-set: quoted slugs inside the canonical array. Missing file -> empty set
35
+ # (the declaration scan still excludes specialist-named skills; the owned-set is
36
+ # only the belt-and-suspenders guard against a declaration regression).
37
+ OWNED=""
38
+ if [ -f "$OWNED_TS" ]; then
39
+ OWNED=$(grep -oE '"[a-z0-9-]+"' "$OWNED_TS" | tr -d '"' || true)
40
+ fi
41
+ is_owned() { printf '%s\n' "$OWNED" | grep -qx "$1"; }
42
+
43
+ # Robust frontmatter description extraction (single-line, folded `>`, literal `|`),
44
+ # mirroring parseSkillFrontmatter in skill-resolution.ts. Block scalars join their
45
+ # indented continuation lines with single spaces.
46
+ extract_desc() {
47
+ python3 - "$1" <<'PY'
48
+ import sys, re
49
+ text = open(sys.argv[1], encoding="utf-8", errors="replace").read()
50
+ m = re.match(r"^---\r?\n(.*?)\r?\n---(?:\r?\n|$)", text, re.S)
51
+ if not m:
52
+ print(""); sys.exit(0)
53
+ lines = m.group(1).split("\n")
54
+ out = ""
55
+ for i, line in enumerate(lines):
56
+ hm = re.match(r"^description:[ \t]*(.*)$", line)
57
+ if not hm:
58
+ continue
59
+ inline = hm.group(1).strip()
60
+ if inline and not re.match(r"^[|>][+-]?[1-9]?[ \t]*(?:#.*)?$", inline):
61
+ if (inline[:1], inline[-1:]) in (('"', '"'), ("'", "'")):
62
+ inline = inline[1:-1]
63
+ out = inline
64
+ else:
65
+ parts = []
66
+ for cont in lines[i + 1:]:
67
+ if re.match(r"^[A-Za-z][\w-]*:", cont):
68
+ break
69
+ t = cont.strip()
70
+ if t:
71
+ parts.append(t)
72
+ out = " ".join(parts)
73
+ break
74
+ print(out)
75
+ PY
76
+ }
77
+
78
+ _scanned=0; _usable=0; _nodecl=0
79
+ TMP=$(mktemp)
80
+ for skill in "$PLUGINS_DIR"/*/skills/*/SKILL.md; do
81
+ [ -f "$skill" ] || continue
82
+ _scanned=$((_scanned + 1))
83
+ slug=$(basename "$(dirname "$skill")")
84
+ decl=$(grep -iE "invoked (by|from)" "$skill" | head -1 || true)
85
+ if [ -z "$decl" ]; then
86
+ _nodecl=$((_nodecl + 1))
87
+ echo " [admin-skills] skill=$slug missing-declaration"
88
+ continue
89
+ fi
90
+ # Specialist-owned iff the invoked clause names a specialist BEFORE its first
91
+ # period: "Invoked from `specialists:<name>`". A later `specialists:` mention
92
+ # after a period is downstream-routing prose, not ownership (e.g. the admin's
93
+ # unzip-attachment names content-producer/librarian as where it forwards to).
94
+ printf '%s' "$decl" | grep -qiE "invoked (by|from)[^.]*specialists:" && continue
95
+ is_owned "$slug" && continue # owned-set guard
96
+ desc=$(extract_desc "$skill")
97
+ printf -- '- %s: %s\n' "$slug" "$desc" >> "$TMP"
98
+ _usable=$((_usable + 1))
99
+ done
100
+
101
+ {
102
+ printf '# Admin-usable skills\n\n'
103
+ printf 'Skills the admin agent may load directly with `skill-load skillName=<name>`.\n'
104
+ printf 'Specialist-owned skills are not listed; dispatch their specialist instead.\n\n'
105
+ sort "$TMP"
106
+ } > "$OUT"
107
+ rm -f "$TMP"
108
+
109
+ echo " [admin-skills] scanned=$_scanned admin-usable=$_usable no-declaration=$_nodecl"
@@ -228,6 +228,14 @@ fi
228
228
  # the same code path runs from the test suite.
229
229
  bash "$SCRIPT_DIR/lib/agents-md-bootstrap.sh" "$ACCOUNT_DIR"
230
230
 
231
+ # ADMIN-SKILLS.md — admin-usable skills list (Task 698). Derived from every
232
+ # installed SKILL.md "Invoked by/from" declaration: a declaration naming a
233
+ # specialist excludes the skill; no parseable declaration excludes it and is
234
+ # reported (fail-safe). The per-turn routing-ladder hook re-emits this list each
235
+ # turn. Regenerated on every (re-)seed; a plugin add/remove since the last seed
236
+ # leaves the list stale until the next setup run.
237
+ bash "$SCRIPT_DIR/lib/admin-skills-bootstrap.sh" "$ACCOUNT_DIR" "$PROJECT_DIR/plugins"
238
+
231
239
  # ------------------------------------------------------------------
232
240
  # 4. Create / backfill account.json
233
241
  # ------------------------------------------------------------------
@@ -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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"}
@@ -36,6 +36,7 @@
36
36
  import { existsSync, mkdirSync, openSync, closeSync, readSync, readFileSync, readdirSync, statSync, watch } from 'node:fs';
37
37
  import { dirname, join } from 'node:path';
38
38
  import { readSidecar } from './session-sidecar.js';
39
+ import { readAllScopeRecords, removeScopeRecord } from './scope-record.js';
39
40
  import { defaultProcessSignals, defaultSystemctlRunner, getScopeMainPid, listSurvivingScopes, stopScopeUnit, } from './systemd-scope.js';
40
41
  const DEBOUNCE_MS = 200;
41
42
  // First `agent-setting` record sits near the JSONL head (Claude Code writes
@@ -602,10 +603,22 @@ export function createFsWatcher(opts) {
602
603
  seeded = true;
603
604
  const totalJsonl = topJsonlCount + archiveJsonlCount;
604
605
  logger(`[fs-watcher] boot-seed sessions-dir=${pidCount} projects-dir-top=${topJsonlCount} projects-dir-archive=${archiveJsonlCount} sidecars=${sidecarCount} rows=${rowsBySessionId.size} jsonl-total=${totalJsonl}`);
606
+ // Task 702 — apply rc-spawn scope records onto rows before reconcile.
607
+ // /rc-spawn writes no sidecar, so a survivor's row carries no
608
+ // scopeUnitToken; the record supplies it, letting reconcileSurvivingScopes
609
+ // match via the existing token path. Records for sessions with no row on
610
+ // disk are ignored here and pruned after reconcile. Read once and thread
611
+ // the array into reconcile so the prune does not re-scan the dir.
612
+ const scopeRecords = readAllScopeRecords(sessionsDir, logger);
613
+ for (const rec of scopeRecords) {
614
+ const row = rowsBySessionId.get(rec.sessionId);
615
+ if (row && !row.scopeUnitToken)
616
+ row.scopeUnitToken = rec.scopeUnitToken;
617
+ }
605
618
  // Task 250 — second pass: reconcile surviving `claude-session-*.scope`
606
619
  // units with the rows just built. A surviving scope without a row is
607
620
  // an orphan; a surviving scope with a row reattaches as `detached`.
608
- reconcileSurvivingScopes();
621
+ reconcileSurvivingScopes(scopeRecords);
609
622
  }
610
623
  /** Task 250 — boot-seed extension. Lists `claude-session-*.scope` units
611
624
  * owned by the user manager; for each, queries MainPID and looks up the
@@ -627,7 +640,7 @@ export function createFsWatcher(opts) {
627
640
  * Emits `[boot-seed] survived-scopes=N reattached=N orphaned=N
628
641
  * orphaned-stopped=N` even when every count is zero so the operator
629
642
  * can confirm the reconciliation ran. */
630
- function reconcileSurvivingScopes() {
643
+ function reconcileSurvivingScopes(scopeRecords) {
631
644
  const { scopes, result } = listSurvivingScopes(runSystemctl);
632
645
  if (result.exitCode !== 0) {
633
646
  logger(`[boot-seed] systemctl-list-units-failed exit-code=${result.exitCode} stderr=${JSON.stringify(result.stderr.slice(-200))} survived-scopes=0 reattached=0 orphaned=0 orphaned-stopped=0`);
@@ -636,11 +649,13 @@ export function createFsWatcher(opts) {
636
649
  let reattached = 0;
637
650
  let orphaned = 0;
638
651
  let orphanedStopped = 0;
652
+ const reattachedSessionIds = [];
639
653
  for (const scope of scopes) {
640
654
  const decision = classifyScope(scope);
641
655
  if (decision.match === 'reattach') {
642
- reattach(scope, decision.row);
656
+ reattach(scope, decision.row, decision.pid);
643
657
  reattached += 1;
658
+ reattachedSessionIds.push(decision.row.sessionId);
644
659
  continue;
645
660
  }
646
661
  orphaned += 1;
@@ -668,6 +683,20 @@ export function createFsWatcher(opts) {
668
683
  });
669
684
  }
670
685
  logger(`[boot-seed] survived-scopes=${scopes.length} reattached=${reattached} orphaned=${orphaned} orphaned-stopped=${orphanedStopped}`);
686
+ // Task 702 — prune scope records whose session did not reattach this boot
687
+ // (its scope is gone). Bounds accumulation across restarts and stops a
688
+ // stale record from leaving a misleading scopeUnitToken on a dead row.
689
+ const reattachedIds = new Set(reattachedSessionIds);
690
+ for (const rec of scopeRecords) {
691
+ if (!reattachedIds.has(rec.sessionId))
692
+ removeScopeRecord(sessionsDir, rec.sessionId, logger);
693
+ }
694
+ // Task 702 — a boot that both reattached and orphaned scopes means a live
695
+ // matching row was nonetheless orphan-killed somewhere: drift to alert on,
696
+ // not a routine line.
697
+ if (orphaned > 0 && reattached > 0) {
698
+ logger(`[boot-seed] ALERT orphaned=${orphaned} alongside reattached=${reattached} — investigate scope/row drift`);
699
+ }
671
700
  }
672
701
  function classifyScope(scope) {
673
702
  // Resolve the row two ways:
@@ -693,26 +722,29 @@ export function createFsWatcher(opts) {
693
722
  logger(`[boot-seed] scope-classify unit=${scope.unitName} sessionId=${sessionId} match=orphan reason=no-row-on-disk`);
694
723
  return { match: 'orphan', reason: 'no-row-on-disk' };
695
724
  }
696
- // Task 451 — only reattach when the row's pid is still alive. Without
697
- // this check we would mark a row `detached` for a process that has
698
- // already exited, and the operator's End click would route to the
699
- // row-scope branch and stop a unit whose pid is long dead.
700
- if (row.pid === null || !processSignals.isAlive(row.pid)) {
725
+ // Task 451/702 — only reattach when a live pid backs the scope. The row's
726
+ // pid comes from a pid file; newer Claude Code stops writing those, so an
727
+ // rc-spawn survivor's row has pid=null. Fall back to the scope's MainPID,
728
+ // and adopt that pid onto the row so the operator's End and the standing
729
+ // reconciler have a real process to act on.
730
+ const effectivePid = row.pid ?? getScopeMainPid(runSystemctl, scope.unitToken);
731
+ if (effectivePid === null || !processSignals.isAlive(effectivePid)) {
701
732
  logger(`[boot-seed] scope-classify unit=${scope.unitName} sessionId=${sessionId.slice(0, 8)} match=orphan-pid-dead reason=pid-already-dead`);
702
733
  return { match: 'orphan-pid-dead', reason: 'pid-already-dead' };
703
734
  }
704
735
  logger(`[boot-seed] scope-classify unit=${scope.unitName} sessionId=${sessionId.slice(0, 8)} match=reattach reason=row-on-disk`);
705
- return { match: 'reattach', row, reason: 'row-on-disk' };
736
+ return { match: 'reattach', row, reason: 'row-on-disk', pid: effectivePid };
706
737
  }
707
- function reattach(scope, row) {
738
+ function reattach(scope, row, pid) {
708
739
  // unindex/indexRow keeps the reverse indexes consistent (sessionId
709
740
  // and pid keys are unchanged; the re-index is defensive against
710
741
  // future field-change ordering).
711
742
  unindexRow(row);
712
743
  row.status = 'detached';
713
744
  row.scopeUnitToken = scope.unitToken;
745
+ row.pid = pid;
714
746
  indexRow(row);
715
- logger(`[boot-seed] reattached sessionId=${row.sessionId} unit=${scope.unitName} pid=${row.pid ?? 'unknown'}`);
747
+ logger(`[boot-seed] reattached sessionId=${row.sessionId} unit=${scope.unitName} pid=${pid}`);
716
748
  }
717
749
  function arm() {
718
750
  if (armed)
@@ -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;AAwKD,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;;;;;kDAK8C;IAC9C,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,+DAA+D;QAC/D,iEAAiE;QACjE,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,4DAA4D;QAC5D,oEAAoE;QACpE,oEAAoE;QACpE,kDAAkD;QAClD,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 +1 @@
1
- {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAS3B,OAAO,EAeL,KAAK,SAAS,EAEf,MAAM,kBAAkB,CAAA;AAkBzB,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAA;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAgFtD,eAAO,MAAM,kBAAkB,QAA2B,CAAA;AAS1D,eAAO,MAAM,4BAA4B,QAAS,CAAA;AAIlD,MAAM,WAAW,QAAS,SAAQ,IAAI,CAAC,SAAS,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC7E;;qEAEiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,SAAS,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,WAAW,CAAA;IAC/B,eAAe,EAAE,aAAa,CAAA;IAC9B;kFAC8E;IAC9E,cAAc,EAAE,cAAc,CAAA;IAC9B;;gFAE4E;IAC5E,cAAc,EAAE,cAAc,CAAA;IAC9B;;gFAE4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AA+MD;;;kEAGkE;AAClE,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG;IAC3B,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACpD;;;+CAG2C;IAC3C,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAChD,CAAA;AAmBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAsuDpD"}
1
+ {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAS3B,OAAO,EAgBL,KAAK,SAAS,EAEf,MAAM,kBAAkB,CAAA;AAoBzB,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAA;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAgFtD,eAAO,MAAM,kBAAkB,QAA2B,CAAA;AAS1D,eAAO,MAAM,4BAA4B,QAAS,CAAA;AAIlD,MAAM,WAAW,QAAS,SAAQ,IAAI,CAAC,SAAS,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC7E;;qEAEiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,SAAS,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,WAAW,CAAA;IAC/B,eAAe,EAAE,aAAa,CAAA;IAC9B;kFAC8E;IAC9E,cAAc,EAAE,cAAc,CAAA;IAC9B;;gFAE4E;IAC5E,cAAc,EAAE,cAAc,CAAA;IAC9B;;gFAE4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AA+MD;;;kEAGkE;AAClE,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG;IAC3B,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACpD;;;+CAG2C;IAC3C,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAChD,CAAA;AAmBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAgzDpD"}
@@ -27,7 +27,9 @@ import { buildWaChannelMcpServers, buildWaChannelArgv, waChannelMcpConfigPath, i
27
27
  import { randomUUID } from 'node:crypto';
28
28
  import { execFileSync } from 'node:child_process';
29
29
  import { buildRcChildEnv } from './rc-daemon.js';
30
- import { spawnClaudeSession, stopSession, writeInputToPty, isLive, onPtyExit, livePtyCount, getPtyTrackerForTests, livePidForSession, priorExitedCountForSession, PERMISSION_MODES, openFdCount, registerRcSpawnPty, } from './pty-spawner.js';
30
+ import { spawnClaudeSession, stopSession, writeInputToPty, isLive, onPtyExit, livePtyCount, liveSessionIds, getPtyTrackerForTests, livePidForSession, priorExitedCountForSession, PERMISSION_MODES, openFdCount, registerRcSpawnPty, } from './pty-spawner.js';
31
+ import { writeScopeRecord, removeScopeRecord } from './scope-record.js';
32
+ import { getScopeMainPid, defaultProcessSignals, defaultSystemctlRunner } from './systemd-scope.js';
31
33
  import { readSidecar, updateSidecar, appendBridgeId } from './session-sidecar.js';
32
34
  import { emitRcLife } from './rc-life.js';
33
35
  import { readJsonlSession } from './jsonl-enumerator.js';
@@ -304,6 +306,8 @@ function detectCliVersion(claudeBin) {
304
306
  }
305
307
  export function buildHttpApp(deps) {
306
308
  const app = new Hono();
309
+ // Task 702 — the dir holding pid files and rc-spawn scope records.
310
+ const sessionsDir = join(deps.claudeConfigDir, 'sessions');
307
311
  // Task 189 — process-local fan-out from `url-capture` to every connected
308
312
  // `/events` client. The pty-spawner mutates `StoredSession.url` in place
309
313
  // when the `/remote-control is active · <url>` banner lands; this
@@ -1230,6 +1234,8 @@ export function buildHttpApp(deps) {
1230
1234
  // request is idempotent "already stopped"; nothing was signalled. The
1231
1235
  // UI logger sees the same 204 it does for the live happy path, which
1232
1236
  // is correct — both cases describe "nothing live remains".
1237
+ // Task 702 — the process is stopped; its reattach hint is now stale.
1238
+ removeScopeRecord(sessionsDir, sessionId, deps.logger);
1233
1239
  if (outcome.path === 'row-scope') {
1234
1240
  timed(deps.logger, 'POST', `/${sessionId}/stop`, 200, Date.now() - start);
1235
1241
  return c.json({ ok: true, path: outcome.path, outcome: outcome.scopeOutcome }, 200);
@@ -1299,6 +1305,8 @@ export function buildHttpApp(deps) {
1299
1305
  // doesn't accrete orphans and a recreated session can't inherit a stale
1300
1306
  // binding. Best-effort; the store logs its own failure.
1301
1307
  deps.waChannelStore.remove(sessionId);
1308
+ // Task 702 — the transcript is gone; its reattach hint must go too.
1309
+ removeScopeRecord(sessionsDir, sessionId, deps.logger);
1302
1310
  deps.logger(`purge sessionId=${sessionId.slice(0, 8)} bytes=${bytes}`);
1303
1311
  timed(deps.logger, 'DELETE', `/${id}`, 204, Date.now() - start);
1304
1312
  return c.body(null, 204);
@@ -1519,6 +1527,33 @@ export function buildHttpApp(deps) {
1519
1527
  });
1520
1528
  });
1521
1529
  app.get('/healthz', (c) => c.json({ ok: true, sessions: livePtyCount() }));
1530
+ // Task 702 — process-truth liveness. The union of owned live PTYs and
1531
+ // reattached survivor scopes (status=detached). The dashboard dot, the
1532
+ // /rc-spawn reconcile, and the standing reconciler all read this instead of
1533
+ // scanning disk pid files (stale on newer Claude Code).
1534
+ app.get('/live-sessions', (c) => {
1535
+ const seen = new Map();
1536
+ for (const { sessionId, pid } of liveSessionIds())
1537
+ seen.set(sessionId, pid);
1538
+ // A reattached survivor (status=detached) is a live process the manager no
1539
+ // longer owns the fd for — but only while its scope is actually running. A
1540
+ // Stop kills the scope yet keeps the JSONL (so the row lingers), and a
1541
+ // survivor can crash on its own; in both cases reporting it live would be
1542
+ // a false-green dot (the bug this task removes). Verify the scope's MainPID
1543
+ // is alive before trusting a detached row. Detached rows are rare (only
1544
+ // after a manager restart with survivors), so the per-row systemctl cost is
1545
+ // bounded and zero in the common case.
1546
+ const runSystemctl = deps.runSystemctl ?? defaultSystemctlRunner;
1547
+ for (const row of deps.watcher.all()) {
1548
+ if (row.status !== 'detached' || seen.has(row.sessionId) || !row.scopeUnitToken)
1549
+ continue;
1550
+ const mainPid = getScopeMainPid(runSystemctl, row.scopeUnitToken);
1551
+ if (mainPid !== null && defaultProcessSignals.isAlive(mainPid))
1552
+ seen.set(row.sessionId, mainPid);
1553
+ }
1554
+ const sessions = [...seen.entries()].map(([sessionId, pid]) => ({ sessionId, pid }));
1555
+ return c.json({ sessions });
1556
+ });
1522
1557
  // Task 543 — fire-and-forget `claude --remote-control [name] [--session-id <sid>]`
1523
1558
  // spawn for the admin sessions pane. The new PTY registers itself in
1524
1559
  // claude.ai/code as its own Remote Control entry; reconciliation with the
@@ -1581,6 +1616,38 @@ export function buildHttpApp(deps) {
1581
1616
  timed(deps.logger, 'POST', '/rc-spawn', 400, Date.now() - start);
1582
1617
  return c.json({ error: 'sessionId must be a v4 UUID' }, 400);
1583
1618
  }
1619
+ // Task 702 — never run two processes on one sessionId. If we already own a
1620
+ // live PTY for this id, the spawn is a no-op (a bridge that lost its
1621
+ // in-memory index after a restart re-asks; the live PTY takes the next
1622
+ // /input). If a reattached survivor scope holds the id (status=detached, a
1623
+ // process this manager cannot own after its own restart and cannot feed
1624
+ // via /input), stop that scope first so the fresh --resume below is the
1625
+ // only process.
1626
+ if (sessionId) {
1627
+ if (isLive(sessionId)) {
1628
+ // Idempotent: no second process. The operator's Resume click still
1629
+ // needs to navigate to the running session, so return the same
1630
+ // navigable shape as a fresh spawn — the live session's bridgeSessionId
1631
+ // is its claude.ai/code slug. Without this the UI sees a 200 with no
1632
+ // slug and renders a spurious resume-failed modal.
1633
+ const liveRow = deps.watcher.getBySessionId(sessionId);
1634
+ const bridgeSessionId = liveRow?.bridgeSessionId ?? `session_${sessionId}`;
1635
+ deps.logger(`[rc-spawn] op=reconcile-idempotent sessionId=${sessionId.slice(0, 8)} reason=already-live slug=${bridgeSessionId}`);
1636
+ timed(deps.logger, 'POST', '/rc-spawn', 200, Date.now() - start);
1637
+ return c.json({ spawnedPid: liveRow?.pid ?? null, sessionId, bridgeSessionId, slug: bridgeSessionId, outcome: 'bound', reason: null, reused: true }, 200);
1638
+ }
1639
+ const detached = deps.watcher.getBySessionId(sessionId);
1640
+ if (detached && detached.status === 'detached' && detached.scopeUnitToken) {
1641
+ deps.logger(`[rc-spawn] op=reconcile-stop-survivor sessionId=${sessionId.slice(0, 8)} unitToken=${detached.scopeUnitToken}`);
1642
+ await stopSession({
1643
+ killGraceMs: deps.killGraceMs,
1644
+ logger: deps.logger,
1645
+ runSystemctl: deps.runSystemctl,
1646
+ rowScopeUnitToken: detached.scopeUnitToken,
1647
+ rowPid: detached.pid,
1648
+ }, sessionId);
1649
+ }
1650
+ }
1584
1651
  // Task 547 — when a JSONL already exists for the requested sessionId,
1585
1652
  // resume the existing conversation instead of forking a fresh one
1586
1653
  // under the same id. `--session-id` is claude's fresh-spawn flag;
@@ -1739,6 +1806,12 @@ export function buildHttpApp(deps) {
1739
1806
  // pid file. Both keys are equally good for fd-ownership purposes.
1740
1807
  const trackerKey = sessionId ?? `rc-${unitToken}`;
1741
1808
  const tracker = registerRcSpawnPty({ logger: deps.logger }, trackerKey, pty, unitToken);
1809
+ // Task 702 — persist the reattach hint so a manager restart adopts this
1810
+ // scope instead of orphan-killing it. /spawn persists this via its sidecar;
1811
+ // /rc-spawn writes no sidecar, so it writes the record here. Only resumable
1812
+ // sessions (a caller-supplied sessionId) have a stable id worth reattaching.
1813
+ if (sessionId)
1814
+ writeScopeRecord(sessionsDir, sessionId, unitToken, deps.logger);
1742
1815
  // Task 626 — one-shot job (LinkedIn ingest, public session-end review):
1743
1816
  // stop the PTY once its single assistant turn lands `end_turn`. closeAfterTurn
1744
1817
  // implies a sessionId (validated above), so trackerKey === sessionId and the