@lumenflow/cli 2.12.0 → 2.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +105 -105
- package/dist/gates-graceful-degradation.js +151 -0
- package/dist/gates-graceful-degradation.js.map +1 -0
- package/dist/gates.js +90 -5
- package/dist/gates.js.map +1 -1
- package/dist/hooks/enforcement-checks.js +104 -37
- package/dist/hooks/enforcement-checks.js.map +1 -1
- package/dist/hooks/enforcement-generator.js +229 -28
- package/dist/hooks/enforcement-generator.js.map +1 -1
- package/dist/hooks/enforcement-sync.js +4 -1
- package/dist/hooks/enforcement-sync.js.map +1 -1
- package/dist/init.js +160 -13
- package/dist/init.js.map +1 -1
- package/dist/initiative-edit.js +3 -2
- package/dist/initiative-edit.js.map +1 -1
- package/dist/lifecycle-regression-harness.js +179 -0
- package/dist/lifecycle-regression-harness.js.map +1 -0
- package/dist/mem-recover.js +0 -0
- package/dist/public-manifest.js +7 -0
- package/dist/public-manifest.js.map +1 -1
- package/dist/wu-claim-mode.js +80 -0
- package/dist/wu-claim-mode.js.map +1 -0
- package/dist/wu-claim.js +163 -9
- package/dist/wu-claim.js.map +1 -1
- package/dist/wu-create.js +5 -1
- package/dist/wu-create.js.map +1 -1
- package/dist/wu-delete.js +196 -60
- package/dist/wu-delete.js.map +1 -1
- package/dist/wu-done.js +99 -17
- package/dist/wu-done.js.map +1 -1
- package/dist/wu-edit.js +5 -4
- package/dist/wu-edit.js.map +1 -1
- package/dist/wu-prep.js +122 -27
- package/dist/wu-prep.js.map +1 -1
- package/package.json +7 -6
- package/templates/vendors/claude/.claude/hooks/enforce-worktree.sh +78 -17
- package/templates/vendors/claude/.claude/hooks/session-start-recovery.sh +30 -0
|
@@ -58,18 +58,17 @@ export function generateEnforcementHooks(config) {
|
|
|
58
58
|
];
|
|
59
59
|
}
|
|
60
60
|
// WU-1471: Generate PostToolUse and SubagentStop hooks for auto-checkpoint
|
|
61
|
+
const postToolUseHooks = [];
|
|
61
62
|
if (config.auto_checkpoint?.enabled) {
|
|
62
63
|
const autoCheckpointHook = {
|
|
63
64
|
type: 'command',
|
|
64
65
|
command: getHookCommand(HOOK_SCRIPTS.AUTO_CHECKPOINT),
|
|
65
66
|
};
|
|
66
67
|
// PostToolUse: fires after every tool call, counter tracks interval
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
},
|
|
72
|
-
];
|
|
68
|
+
postToolUseHooks.push({
|
|
69
|
+
matcher: CLAUDE_HOOKS.MATCHERS.ALL,
|
|
70
|
+
hooks: [autoCheckpointHook],
|
|
71
|
+
});
|
|
73
72
|
// SubagentStop: fires when a sub-agent finishes, always checkpoint
|
|
74
73
|
hooks.subagentStop = [
|
|
75
74
|
{
|
|
@@ -78,6 +77,18 @@ export function generateEnforcementHooks(config) {
|
|
|
78
77
|
},
|
|
79
78
|
];
|
|
80
79
|
}
|
|
80
|
+
// WU-1502: Always add PostToolUse Bash dirty-main warning hook
|
|
81
|
+
// Detects file modifications on main after Bash commands and emits a warning
|
|
82
|
+
postToolUseHooks.push({
|
|
83
|
+
matcher: CLAUDE_HOOKS.MATCHERS.BASH,
|
|
84
|
+
hooks: [
|
|
85
|
+
{
|
|
86
|
+
type: 'command',
|
|
87
|
+
command: getHookCommand(HOOK_SCRIPTS.WARN_DIRTY_MAIN),
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
});
|
|
91
|
+
hooks.postToolUse = postToolUseHooks;
|
|
81
92
|
// Always generate PreCompact and SessionStart recovery hooks (WU-1394)
|
|
82
93
|
// These enable durable context recovery after compaction
|
|
83
94
|
hooks.preCompact = [
|
|
@@ -125,19 +136,24 @@ export function generateEnforcementHooks(config) {
|
|
|
125
136
|
/**
|
|
126
137
|
* Generate the enforce-worktree.sh hook script content.
|
|
127
138
|
*
|
|
128
|
-
*
|
|
129
|
-
*
|
|
130
|
-
*
|
|
139
|
+
* WU-1501: Fail-closed on main. Blocks Write/Edit when no active claim context.
|
|
140
|
+
* Graceful degradation only when LumenFlow is NOT configured.
|
|
141
|
+
* Allowlist: docs/04-operations/tasks/wu/, .lumenflow/, .claude/, plan/
|
|
142
|
+
* Branch-PR claimed_mode remains writable from main checkout.
|
|
131
143
|
*/
|
|
132
144
|
export function generateEnforceWorktreeScript() {
|
|
133
145
|
// Note: Shell variable escapes (\$, \") are intentional for the generated bash script
|
|
134
146
|
/* eslint-disable no-useless-escape */
|
|
135
147
|
return `#!/bin/bash
|
|
136
148
|
#
|
|
137
|
-
# enforce-worktree.sh (WU-1367)
|
|
149
|
+
# enforce-worktree.sh (WU-1367, WU-1501)
|
|
138
150
|
#
|
|
139
|
-
# PreToolUse hook that blocks Write/Edit
|
|
140
|
-
#
|
|
151
|
+
# PreToolUse hook that blocks Write/Edit on main checkout.
|
|
152
|
+
# WU-1501: Fail-closed - blocks even when no worktrees exist.
|
|
153
|
+
# Graceful degradation only when LumenFlow is NOT configured.
|
|
154
|
+
#
|
|
155
|
+
# Allowlist: docs/04-operations/tasks/wu/, .lumenflow/, .claude/, plan/
|
|
156
|
+
# Branch-PR claimed_mode permits writes from main checkout.
|
|
141
157
|
#
|
|
142
158
|
# Exit codes:
|
|
143
159
|
# 0 = Allow operation
|
|
@@ -151,8 +167,6 @@ SCRIPT_DIR="$(cd "$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
|
|
|
151
167
|
# Graceful degradation: if we can't determine state, allow the operation
|
|
152
168
|
graceful_allow() {
|
|
153
169
|
local reason="\$1"
|
|
154
|
-
# Optionally log for debugging
|
|
155
|
-
# echo "[enforce-worktree] Graceful allow: \$reason" >&2
|
|
156
170
|
exit 0
|
|
157
171
|
}
|
|
158
172
|
|
|
@@ -221,26 +235,27 @@ if [[ -z "\$FILE_PATH" ]]; then
|
|
|
221
235
|
graceful_allow "No file_path in input"
|
|
222
236
|
fi
|
|
223
237
|
|
|
224
|
-
# Check if any worktrees exist
|
|
225
|
-
if [[ ! -d "\$WORKTREES_DIR" ]]; then
|
|
226
|
-
exit 0 # No worktrees = no enforcement needed
|
|
227
|
-
fi
|
|
228
|
-
|
|
229
|
-
WORKTREE_COUNT=\$(find "\$WORKTREES_DIR" -mindepth 1 -maxdepth 1 -type d 2>/dev/null | wc -l)
|
|
230
|
-
if [[ "\$WORKTREE_COUNT" -eq 0 ]]; then
|
|
231
|
-
exit 0 # No active worktrees
|
|
232
|
-
fi
|
|
233
|
-
|
|
234
238
|
# Resolve the file path
|
|
235
239
|
RESOLVED_PATH=\$(realpath -m "\$FILE_PATH" 2>/dev/null || echo "\$FILE_PATH")
|
|
236
240
|
|
|
241
|
+
# Allow if path is outside repo entirely
|
|
242
|
+
if [[ "\$RESOLVED_PATH" != "\${MAIN_REPO_PATH}/"* && "\$RESOLVED_PATH" != "\${MAIN_REPO_PATH}" ]]; then
|
|
243
|
+
exit 0
|
|
244
|
+
fi
|
|
245
|
+
|
|
237
246
|
# Allow if path is inside a worktree
|
|
238
247
|
if [[ "\$RESOLVED_PATH" == "\${WORKTREES_DIR}/"* ]]; then
|
|
239
248
|
exit 0
|
|
240
249
|
fi
|
|
241
250
|
|
|
242
|
-
#
|
|
243
|
-
|
|
251
|
+
# Check if any active worktrees exist
|
|
252
|
+
WORKTREE_COUNT=0
|
|
253
|
+
if [[ -d "\$WORKTREES_DIR" ]]; then
|
|
254
|
+
WORKTREE_COUNT=\$(find "\$WORKTREES_DIR" -mindepth 1 -maxdepth 1 -type d 2>/dev/null | wc -l)
|
|
255
|
+
fi
|
|
256
|
+
|
|
257
|
+
# If worktrees exist, block writes to main repo (original behavior)
|
|
258
|
+
if [[ "\$WORKTREE_COUNT" -gt 0 ]]; then
|
|
244
259
|
ACTIVE_WORKTREES=\$(find "\$WORKTREES_DIR" -mindepth 1 -maxdepth 1 -type d -printf '%f\\n' 2>/dev/null | head -5 | tr '\\n' ', ' | sed 's/,\$//')
|
|
245
260
|
|
|
246
261
|
echo "" >&2
|
|
@@ -259,8 +274,43 @@ if [[ "\$RESOLVED_PATH" == "\${MAIN_REPO_PATH}/"* || "\$RESOLVED_PATH" == "\${MA
|
|
|
259
274
|
exit 2
|
|
260
275
|
fi
|
|
261
276
|
|
|
262
|
-
#
|
|
263
|
-
|
|
277
|
+
# WU-1501: Fail-closed on main when no active worktrees exist
|
|
278
|
+
# Check allowlist: paths that are always safe to write on main
|
|
279
|
+
RELATIVE_PATH="\${RESOLVED_PATH#\${MAIN_REPO_PATH}/}"
|
|
280
|
+
|
|
281
|
+
case "\$RELATIVE_PATH" in
|
|
282
|
+
docs/04-operations/tasks/wu/*) exit 0 ;; # WU YAML specs
|
|
283
|
+
.lumenflow/*) exit 0 ;; # LumenFlow state/config
|
|
284
|
+
.claude/*) exit 0 ;; # Claude Code config
|
|
285
|
+
plan/*) exit 0 ;; # Plan/spec scaffolds
|
|
286
|
+
esac
|
|
287
|
+
|
|
288
|
+
# Check for branch-pr claimed_mode (allows main writes without worktree)
|
|
289
|
+
STATE_FILE="\${LUMENFLOW_DIR}/state/wu-events.jsonl"
|
|
290
|
+
if [[ -f "\$STATE_FILE" ]]; then
|
|
291
|
+
if grep -q '"claimed_mode":"branch-pr"' "\$STATE_FILE" 2>/dev/null; then
|
|
292
|
+
if grep -q '"status":"in_progress"' "\$STATE_FILE" 2>/dev/null; then
|
|
293
|
+
exit 0 # Branch-PR WU active - allow main writes
|
|
294
|
+
fi
|
|
295
|
+
fi
|
|
296
|
+
fi
|
|
297
|
+
|
|
298
|
+
# WU-1501: Fail-closed - no active claim context, block the write
|
|
299
|
+
echo "" >&2
|
|
300
|
+
echo "=== Worktree Enforcement ===" >&2
|
|
301
|
+
echo "" >&2
|
|
302
|
+
echo "BLOCKED: \$TOOL_NAME on main (no active WU claim)" >&2
|
|
303
|
+
echo "" >&2
|
|
304
|
+
echo "No worktrees exist and no branch-pr WU is in progress." >&2
|
|
305
|
+
echo "" >&2
|
|
306
|
+
echo "WHAT TO DO:" >&2
|
|
307
|
+
echo " 1. Claim a WU: pnpm wu:claim --id WU-XXXX --lane \\"<Lane>\\"" >&2
|
|
308
|
+
echo " 2. cd worktrees/<lane>-wu-xxxx" >&2
|
|
309
|
+
echo " 3. Make your edits in the worktree" >&2
|
|
310
|
+
echo "" >&2
|
|
311
|
+
echo "See: LUMENFLOW.md for worktree discipline" >&2
|
|
312
|
+
echo "==============================" >&2
|
|
313
|
+
exit 2
|
|
264
314
|
`;
|
|
265
315
|
/* eslint-enable no-useless-escape */
|
|
266
316
|
}
|
|
@@ -426,6 +476,127 @@ echo "" >&2
|
|
|
426
476
|
echo "If work is incomplete, it will be preserved in the worktree." >&2
|
|
427
477
|
echo "====================================" >&2
|
|
428
478
|
|
|
479
|
+
exit 0
|
|
480
|
+
`;
|
|
481
|
+
/* eslint-enable no-useless-escape */
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* WU-1502: Generate the warn-dirty-main.sh hook script content.
|
|
485
|
+
*
|
|
486
|
+
* PostToolUse hook for the Bash tool that detects file modifications on main
|
|
487
|
+
* checkout and emits a high-signal warning with changed paths.
|
|
488
|
+
*
|
|
489
|
+
* Design:
|
|
490
|
+
* - No-op inside worktrees (only fires on main checkout)
|
|
491
|
+
* - Uses `git status --porcelain` to detect dirty state
|
|
492
|
+
* - Always exits 0 (warning only, never blocks Bash execution)
|
|
493
|
+
* - Reads stdin JSON to confirm tool_name is "Bash"
|
|
494
|
+
* - Clean working tree overhead target: <50ms
|
|
495
|
+
*
|
|
496
|
+
* This is a vendor-agnostic detector: the script is generated by the shared
|
|
497
|
+
* enforcement generator and placed as a thin wrapper by vendor integrations.
|
|
498
|
+
*/
|
|
499
|
+
export function generateWarnDirtyMainScript() {
|
|
500
|
+
// Note: Shell variable escapes (\$, \") are intentional for the generated bash script
|
|
501
|
+
/* eslint-disable no-useless-escape */
|
|
502
|
+
return `#!/bin/bash
|
|
503
|
+
#
|
|
504
|
+
# warn-dirty-main.sh (WU-1502)
|
|
505
|
+
#
|
|
506
|
+
# PostToolUse hook for the Bash tool.
|
|
507
|
+
# Detects file modifications on main checkout after Bash commands
|
|
508
|
+
# and emits a high-signal warning listing changed paths.
|
|
509
|
+
#
|
|
510
|
+
# No-op inside worktrees. Always exits 0 (warning only, never blocks).
|
|
511
|
+
# Clean working tree overhead: <50ms (single git status call).
|
|
512
|
+
#
|
|
513
|
+
# Performance: fast-path checks (worktree, branch) run before stdin
|
|
514
|
+
# reading to avoid Python overhead in the common no-op case.
|
|
515
|
+
#
|
|
516
|
+
# Exit codes:
|
|
517
|
+
# 0 = Always (warnings only, never blocks)
|
|
518
|
+
#
|
|
519
|
+
|
|
520
|
+
# Fail-open: errors must never block Bash execution
|
|
521
|
+
set +e
|
|
522
|
+
|
|
523
|
+
# Derive repo paths
|
|
524
|
+
if [[ -z "\\\${CLAUDE_PROJECT_DIR:-}" ]]; then
|
|
525
|
+
exit 0
|
|
526
|
+
fi
|
|
527
|
+
|
|
528
|
+
REPO_PATH="\\\$CLAUDE_PROJECT_DIR"
|
|
529
|
+
WORKTREES_DIR="\\\${REPO_PATH}/worktrees"
|
|
530
|
+
LUMENFLOW_DIR="\\\${REPO_PATH}/.lumenflow"
|
|
531
|
+
|
|
532
|
+
# No-op if LumenFlow is not configured
|
|
533
|
+
if [[ ! -d "\\\$LUMENFLOW_DIR" ]]; then
|
|
534
|
+
exit 0
|
|
535
|
+
fi
|
|
536
|
+
|
|
537
|
+
# Fast-path: no-op inside worktrees (avoids stdin/Python overhead)
|
|
538
|
+
CWD=\\\$(pwd 2>/dev/null || echo "")
|
|
539
|
+
if [[ "\\\$CWD" == "\\\${WORKTREES_DIR}/"* ]]; then
|
|
540
|
+
# Drain stdin to prevent broken pipe
|
|
541
|
+
cat > /dev/null 2>/dev/null || true
|
|
542
|
+
exit 0
|
|
543
|
+
fi
|
|
544
|
+
|
|
545
|
+
# Fast-path: only warn on main branch (avoids stdin/Python overhead)
|
|
546
|
+
CURRENT_BRANCH=\\\$(git -C "\\\$REPO_PATH" rev-parse --abbrev-ref HEAD 2>/dev/null || echo "")
|
|
547
|
+
if [[ "\\\$CURRENT_BRANCH" != "main" ]]; then
|
|
548
|
+
# Drain stdin to prevent broken pipe
|
|
549
|
+
cat > /dev/null 2>/dev/null || true
|
|
550
|
+
exit 0
|
|
551
|
+
fi
|
|
552
|
+
|
|
553
|
+
# Read JSON input from stdin (PostToolUse provides tool_name + tool_input)
|
|
554
|
+
INPUT=\\\$(cat 2>/dev/null || true)
|
|
555
|
+
|
|
556
|
+
# Verify this is a Bash tool call (defensive: matcher should already filter)
|
|
557
|
+
if [[ -n "\\\$INPUT" ]]; then
|
|
558
|
+
TOOL_NAME=\\\$(echo "\\\$INPUT" | python3 -c "
|
|
559
|
+
import json, sys
|
|
560
|
+
try:
|
|
561
|
+
data = json.load(sys.stdin)
|
|
562
|
+
print(data.get('tool_name', ''))
|
|
563
|
+
except:
|
|
564
|
+
print('')
|
|
565
|
+
" 2>/dev/null || echo "")
|
|
566
|
+
|
|
567
|
+
if [[ "\\\$TOOL_NAME" != "Bash" ]]; then
|
|
568
|
+
exit 0
|
|
569
|
+
fi
|
|
570
|
+
fi
|
|
571
|
+
|
|
572
|
+
# Check for dirty working tree (modified/untracked files)
|
|
573
|
+
DIRTY_LINES=\\\$(git -C "\\\$REPO_PATH" status --porcelain --untracked-files=all 2>/dev/null || true)
|
|
574
|
+
if [[ -z "\\\$DIRTY_LINES" ]]; then
|
|
575
|
+
exit 0
|
|
576
|
+
fi
|
|
577
|
+
|
|
578
|
+
# Emit warning with changed paths
|
|
579
|
+
echo "" >&2
|
|
580
|
+
echo "=== Dirty Main Warning (WU-1502) ===" >&2
|
|
581
|
+
echo "" >&2
|
|
582
|
+
echo "WARNING: Bash command modified files on main checkout." >&2
|
|
583
|
+
echo "" >&2
|
|
584
|
+
echo "Modified paths:" >&2
|
|
585
|
+
echo "\\\$DIRTY_LINES" | head -20 | sed 's/^/ /' >&2
|
|
586
|
+
LINE_COUNT=\\\$(echo "\\\$DIRTY_LINES" | wc -l | tr -d ' ')
|
|
587
|
+
if [[ \\\$LINE_COUNT -gt 20 ]]; then
|
|
588
|
+
echo " ... (\\\$LINE_COUNT total, showing first 20)" >&2
|
|
589
|
+
fi
|
|
590
|
+
echo "" >&2
|
|
591
|
+
echo "WHAT TO DO:" >&2
|
|
592
|
+
echo " 1. If intentional: claim a WU and move changes to a worktree" >&2
|
|
593
|
+
echo " pnpm wu:claim --id WU-XXXX --lane \\"<Lane>\\"" >&2
|
|
594
|
+
echo " 2. If accidental: discard the changes" >&2
|
|
595
|
+
echo " git checkout -- . && git clean -fd" >&2
|
|
596
|
+
echo "" >&2
|
|
597
|
+
echo "Main should stay clean. See: LUMENFLOW.md" >&2
|
|
598
|
+
echo "=======================================" >&2
|
|
599
|
+
|
|
429
600
|
exit 0
|
|
430
601
|
`;
|
|
431
602
|
/* eslint-enable no-useless-escape */
|
|
@@ -599,6 +770,36 @@ else
|
|
|
599
770
|
fi
|
|
600
771
|
fi
|
|
601
772
|
|
|
773
|
+
# WU-1505: Early warning for dirty main checkout at SessionStart.
|
|
774
|
+
# Informational only (never blocks), helps agents catch polluted main state
|
|
775
|
+
# before any work begins.
|
|
776
|
+
CWD=\$(pwd)
|
|
777
|
+
WORKTREES_DIR="\${REPO_PATH}/worktrees"
|
|
778
|
+
CURRENT_BRANCH=\$(git -C "\$REPO_PATH" rev-parse --abbrev-ref HEAD 2>/dev/null || echo "")
|
|
779
|
+
|
|
780
|
+
# No-op in worktrees and non-main branches.
|
|
781
|
+
if [[ "\$CWD" != "\${WORKTREES_DIR}/"* ]] && [[ "\$CURRENT_BRANCH" == "main" ]]; then
|
|
782
|
+
DIRTY_LINES=\$(git -C "\$REPO_PATH" status --porcelain --untracked-files=all 2>/dev/null || true)
|
|
783
|
+
if [[ -n "\$DIRTY_LINES" ]]; then
|
|
784
|
+
echo "" >&2
|
|
785
|
+
echo "═══════════════════════════════════════════════════════" >&2
|
|
786
|
+
echo "⚠️ DIRTY MAIN CHECKOUT DETECTED" >&2
|
|
787
|
+
echo "═══════════════════════════════════════════════════════" >&2
|
|
788
|
+
echo "" >&2
|
|
789
|
+
echo "Uncommitted files in main checkout:" >&2
|
|
790
|
+
echo "\$DIRTY_LINES" | head -20 | sed 's/^/ /' >&2
|
|
791
|
+
if [[ \$(echo "\$DIRTY_LINES" | wc -l | tr -d ' ') -gt 20 ]]; then
|
|
792
|
+
echo " ... (truncated)" >&2
|
|
793
|
+
fi
|
|
794
|
+
echo "" >&2
|
|
795
|
+
echo "Recommended next steps:" >&2
|
|
796
|
+
echo " 1. Inspect: git status --short" >&2
|
|
797
|
+
echo " 2. Move changes into a WU worktree or commit/discard intentionally" >&2
|
|
798
|
+
echo " 3. Keep main clean before starting new work" >&2
|
|
799
|
+
echo "" >&2
|
|
800
|
+
fi
|
|
801
|
+
fi
|
|
802
|
+
|
|
602
803
|
RECOVERY_DIR="\${REPO_PATH}/.lumenflow/state"
|
|
603
804
|
|
|
604
805
|
# Check if recovery directory exists
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enforcement-generator.js","sourceRoot":"","sources":["../../src/hooks/enforcement-generator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAE3F,kDAAkD;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC;AAiDjD;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAyB;IAChE,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,eAAe,GAAgB,EAAE,CAAC;IAExC,sDAAsD;IACtD,IAAI,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;QACjE,MAAM,cAAc,GAAqB,EAAE,CAAC;QAE5C,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;YAClC,cAAc,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,cAAc,CAAC,YAAY,CAAC,gBAAgB,CAAC;aACvD,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAChC,cAAc,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC;aACjD,CAAC,CAAC;QACL,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,eAAe,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,UAAU;gBACzC,KAAK,EAAE,cAAc;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,UAAU,GAAG,eAAe,CAAC;IACrC,CAAC;IAED,oDAAoD;IACpD,IAAI,MAAM,CAAC,4BAA4B,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,GAAG;YACX;gBACE,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG;gBAClC,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,cAAc,CAAC,YAAY,CAAC,eAAe,CAAC;qBACtD;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,IAAI,MAAM,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC;QACpC,MAAM,kBAAkB,GAAmB;YACzC,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,cAAc,CAAC,YAAY,CAAC,eAAe,CAAC;SACtD,CAAC;QAEF,oEAAoE;QACpE,
|
|
1
|
+
{"version":3,"file":"enforcement-generator.js","sourceRoot":"","sources":["../../src/hooks/enforcement-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
import * as fs from 'node:fs';
|
|
11
11
|
import * as path from 'node:path';
|
|
12
12
|
import * as yaml from 'yaml';
|
|
13
|
-
import { generateEnforcementHooks, generateEnforceWorktreeScript, generateRequireWuScript, generateWarnIncompleteScript, generatePreCompactCheckpointScript, generateSessionStartRecoveryScript, generateAutoCheckpointScript, HOOK_SCRIPTS, } from './enforcement-generator.js';
|
|
13
|
+
import { generateEnforcementHooks, generateEnforceWorktreeScript, generateRequireWuScript, generateWarnIncompleteScript, generateWarnDirtyMainScript, generatePreCompactCheckpointScript, generateSessionStartRecoveryScript, generateAutoCheckpointScript, HOOK_SCRIPTS, } from './enforcement-generator.js';
|
|
14
14
|
import { checkAutoCheckpointWarning } from './auto-checkpoint-utils.js';
|
|
15
15
|
/**
|
|
16
16
|
* Read LumenFlow configuration from .lumenflow.config.yaml
|
|
@@ -310,6 +310,9 @@ export async function syncEnforcementHooks(projectDir) {
|
|
|
310
310
|
if (enforcement.auto_checkpoint?.enabled) {
|
|
311
311
|
writeHookScript(projectDir, HOOK_SCRIPTS.AUTO_CHECKPOINT, generateAutoCheckpointScript(enforcement.auto_checkpoint.interval_tool_calls));
|
|
312
312
|
}
|
|
313
|
+
// WU-1502: Always write dirty-main warning hook when enforcement.hooks is enabled
|
|
314
|
+
// Detects file modifications on main after Bash commands
|
|
315
|
+
writeHookScript(projectDir, HOOK_SCRIPTS.WARN_DIRTY_MAIN, generateWarnDirtyMainScript());
|
|
313
316
|
// Always write recovery hook scripts when enforcement.hooks is enabled (WU-1394)
|
|
314
317
|
// These enable durable context recovery after compaction
|
|
315
318
|
writeHookScript(projectDir, HOOK_SCRIPTS.PRE_COMPACT_CHECKPOINT, generatePreCompactCheckpointScript());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enforcement-sync.js","sourceRoot":"","sources":["../../src/hooks/enforcement-sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"enforcement-sync.js","sourceRoot":"","sources":["../../src/hooks/enforcement-sync.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,wEAAwE;AAExE,wEAAwE;AAExE,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,6BAA6B,EAC7B,uBAAuB,EACvB,4BAA4B,EAC5B,2BAA2B,EAC3B,kCAAkC,EAClC,kCAAkC,EAClC,4BAA4B,EAC5B,YAAY,GAEb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AA6DxE;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,UAAkB;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;IAEnE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAoB,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,MAA8B;IAW1D,MAAM,WAAW,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC;IAE1E,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kEAAkE;IAClE,MAAM,iBAAiB,GAAG,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC;IACtD,MAAM,cAAc,GAAG,iBAAiB,EAAE,eAAe,CAAC;IAE1D,OAAO;QACL,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,KAAK;QACjC,sBAAsB,EAAE,WAAW,CAAC,sBAAsB,IAAI,KAAK;QACnE,oBAAoB,EAAE,WAAW,CAAC,oBAAoB,IAAI,KAAK;QAC/D,4BAA4B,EAAE,WAAW,CAAC,4BAA4B,IAAI,KAAK;QAC/E,eAAe,EAAE,cAAc,EAAE,OAAO;YACtC,CAAC,CAAC;gBACE,OAAO,EAAE,IAAI;gBACb,mBAAmB,EAAE,cAAc,CAAC,mBAAmB,IAAI,EAAE;aAC9D;YACH,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAEvE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO;YACL,OAAO,EAAE,wDAAwD;YACjE,WAAW,EAAE;gBACX,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;aACzC;SACF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,OAAO,EAAE,wDAAwD;SAClE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,UAAkB,EAAE,QAAwB;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAE3D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACpF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,UAAkB,EAAE,QAAgB,EAAE,OAAe;IAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAE3D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjD,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;GAMG;AACH,oFAAoF;AACpF,wDAAwD;AACxD,SAAS,sBAAsB,CAC7B,QAAwB,EACxB,SAAyB;IAEzB,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE/B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,yBAAyB;IACzB,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;QAC/B,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YAC3C,wCAAwC;YACxC,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;YAE9F,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;gBACvB,uDAAuD;gBACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;gBACxD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC3E,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;QACzB,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;YAExF,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAClD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC3E,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;QAC/B,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YAC3C,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;YAE9F,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;gBACxD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC3E,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;QACjC,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CACvD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CACrC,CAAC;YAEF,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC1D,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC3E,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;QAChC,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CACtD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CACrC,CAAC;YAEF,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBACzD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC3E,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;QACjC,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CACvD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CACrC,CAAC;YAEF,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC1D,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC3E,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAAkB;IAC3D,wBAAwB;IACxB,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAEjD,kCAAkC;IAClC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,4DAA4D;IAC5D,2EAA2E;IAC3E,+DAA+D;IAC/D,MAAM,iBAAiB,GAAG,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC;IACtD,MAAM,qBAAqB,GAAG,iBAAiB,EAAE,eAAe,EAAE,OAAO,IAAI,KAAK,CAAC;IAEnF,MAAM,aAAa,GAAG,0BAA0B,CAAC;QAC/C,YAAY,EAAE,WAAW,CAAC,KAAK;QAC/B,qBAAqB;KACtB,CAAC,CAAC;IACH,IAAI,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,sBAAsB,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,iCAAiC;IACjC,MAAM,cAAc,GAAG,wBAAwB,CAAC;QAC9C,sBAAsB,EAAE,WAAW,CAAC,sBAAsB;QAC1D,oBAAoB,EAAE,WAAW,CAAC,oBAAoB;QACtD,4BAA4B,EAAE,WAAW,CAAC,4BAA4B;QACtE,eAAe,EAAE,WAAW,CAAC,eAAe;KAC7C,CAAC,CAAC;IAEH,qBAAqB;IACrB,IAAI,WAAW,CAAC,sBAAsB,EAAE,CAAC;QACvC,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,gBAAgB,EAAE,6BAA6B,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,WAAW,CAAC,oBAAoB,EAAE,CAAC;QACrC,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,WAAW,CAAC,4BAA4B,EAAE,CAAC;QAC7C,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,eAAe,EAAE,4BAA4B,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,0DAA0D;IAC1D,IAAI,WAAW,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC;QACzC,eAAe,CACb,UAAU,EACV,YAAY,CAAC,eAAe,EAC5B,4BAA4B,CAAC,WAAW,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAC9E,CAAC;IACJ,CAAC;IAED,kFAAkF;IAClF,yDAAyD;IACzD,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,eAAe,EAAE,2BAA2B,EAAE,CAAC,CAAC;IAEzF,iFAAiF;IACjF,yDAAyD;IACzD,eAAe,CACb,UAAU,EACV,YAAY,CAAC,sBAAsB,EACnC,kCAAkC,EAAE,CACrC,CAAC;IACF,eAAe,CACb,UAAU,EACV,YAAY,CAAC,sBAAsB,EACnC,kCAAkC,EAAE,CACrC,CAAC;IAEF,uBAAuB;IACvB,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,sBAAsB,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IACjF,mBAAmB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAEjD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,UAAkB;IAC7D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAEhD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IAED,yEAAyE;IACzE,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAExD,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAC9B,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACpE,GAAG,KAAK;YACR,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;SAC9F,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE9C,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;QACnC,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACxB,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACxD,GAAG,KAAK;YACR,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;SAC9F,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE9C,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAC/B,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACtE,GAAG,KAAK;YACR,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;SAC9F,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE9C,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,OAAO,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;QACpC,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAChC,QAAQ,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACxE,GAAG,KAAK;YACR,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;SAC9F,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE9C,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;QACrC,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,QAAQ,CAAC,KAAK,CAAC;IACxB,CAAC;IAED,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC5C,CAAC"}
|