plumbbob 0.9.3 → 0.9.5
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/.claude-plugin/plugin.json +1 -1
- package/README.md +15 -13
- package/dist/cli-core.js +19 -2
- package/dist/lib/check.js +46 -13
- package/dist/lib/intent.js +1 -1
- package/dist/lib/latch.js +3 -3
- package/dist/lib/reentry.js +70 -0
- package/dist/verbs/agent.js +2 -2
- package/dist/verbs/doctor.js +4 -4
- package/dist/verbs/finish.js +1 -1
- package/dist/verbs/recover.js +297 -0
- package/dist/verbs/revert.js +2 -2
- package/dist/verbs/spike.js +8 -2
- package/hooks/post-edit.sh +4 -4
- package/hooks/pre-bash-commit.sh +3 -3
- package/node_modules/checkride/.claude-plugin/plugin.json +11 -0
- package/node_modules/checkride/CHANGELOG.md +1003 -0
- package/node_modules/checkride/LICENSE +201 -21
- package/node_modules/checkride/README.md +171 -30
- package/node_modules/checkride/dist/__tests__/fixtures/released-stanzas.d.ts +15 -0
- package/node_modules/checkride/dist/__tests__/fixtures/released-stanzas.d.ts.map +1 -0
- package/node_modules/checkride/dist/__tests__/fixtures/released-stanzas.js +17 -0
- package/node_modules/checkride/dist/__tests__/fixtures/released-stanzas.js.map +1 -0
- package/node_modules/checkride/dist/adapters.d.ts +18 -6
- package/node_modules/checkride/dist/adapters.d.ts.map +1 -1
- package/node_modules/checkride/dist/adapters.js +42 -23
- package/node_modules/checkride/dist/adapters.js.map +1 -1
- package/node_modules/checkride/dist/agent-setup/claude.d.ts +88 -0
- package/node_modules/checkride/dist/agent-setup/claude.d.ts.map +1 -0
- package/node_modules/checkride/dist/agent-setup/claude.js +305 -0
- package/node_modules/checkride/dist/agent-setup/claude.js.map +1 -0
- package/node_modules/checkride/dist/agent-setup/command.d.ts +43 -0
- package/node_modules/checkride/dist/agent-setup/command.d.ts.map +1 -0
- package/node_modules/checkride/dist/agent-setup/command.js +77 -0
- package/node_modules/checkride/dist/agent-setup/command.js.map +1 -0
- package/node_modules/checkride/dist/agent-setup/cursor.d.ts +61 -0
- package/node_modules/checkride/dist/agent-setup/cursor.d.ts.map +1 -0
- package/node_modules/checkride/dist/agent-setup/cursor.js +189 -0
- package/node_modules/checkride/dist/agent-setup/cursor.js.map +1 -0
- package/node_modules/checkride/dist/agent-setup/files.d.ts +50 -0
- package/node_modules/checkride/dist/agent-setup/files.d.ts.map +1 -0
- package/node_modules/checkride/dist/agent-setup/files.js +80 -0
- package/node_modules/checkride/dist/agent-setup/files.js.map +1 -0
- package/node_modules/checkride/dist/agent-setup/harness.d.ts +101 -0
- package/node_modules/checkride/dist/agent-setup/harness.d.ts.map +1 -0
- package/node_modules/checkride/dist/agent-setup/harness.js +84 -0
- package/node_modules/checkride/dist/agent-setup/harness.js.map +1 -0
- package/node_modules/checkride/dist/agent-setup/hook.d.ts +45 -52
- package/node_modules/checkride/dist/agent-setup/hook.d.ts.map +1 -1
- package/node_modules/checkride/dist/agent-setup/hook.js +64 -95
- package/node_modules/checkride/dist/agent-setup/hook.js.map +1 -1
- package/node_modules/checkride/dist/agent-setup/index.d.ts +10 -4
- package/node_modules/checkride/dist/agent-setup/index.d.ts.map +1 -1
- package/node_modules/checkride/dist/agent-setup/index.js +9 -4
- package/node_modules/checkride/dist/agent-setup/index.js.map +1 -1
- package/node_modules/checkride/dist/agent-setup/scripts.d.ts +58 -0
- package/node_modules/checkride/dist/agent-setup/scripts.d.ts.map +1 -0
- package/node_modules/checkride/dist/agent-setup/scripts.js +299 -0
- package/node_modules/checkride/dist/agent-setup/scripts.js.map +1 -0
- package/node_modules/checkride/dist/agent-setup/skills.d.ts +31 -0
- package/node_modules/checkride/dist/agent-setup/skills.d.ts.map +1 -0
- package/node_modules/checkride/dist/agent-setup/skills.js +56 -0
- package/node_modules/checkride/dist/agent-setup/skills.js.map +1 -0
- package/node_modules/checkride/dist/artifacts/configured.d.ts +30 -0
- package/node_modules/checkride/dist/artifacts/configured.d.ts.map +1 -0
- package/node_modules/checkride/dist/artifacts/configured.js +45 -0
- package/node_modules/checkride/dist/artifacts/configured.js.map +1 -0
- package/node_modules/checkride/dist/artifacts/format.d.ts +33 -0
- package/node_modules/checkride/dist/artifacts/format.d.ts.map +1 -0
- package/node_modules/checkride/dist/artifacts/format.js +56 -0
- package/node_modules/checkride/dist/artifacts/format.js.map +1 -0
- package/node_modules/checkride/dist/artifacts/freshness.d.ts +32 -0
- package/node_modules/checkride/dist/artifacts/freshness.d.ts.map +1 -0
- package/node_modules/checkride/dist/artifacts/freshness.js +37 -0
- package/node_modules/checkride/dist/artifacts/freshness.js.map +1 -0
- package/node_modules/checkride/dist/artifacts/index.d.ts +22 -0
- package/node_modules/checkride/dist/artifacts/index.d.ts.map +1 -0
- package/node_modules/checkride/dist/artifacts/index.js +19 -0
- package/node_modules/checkride/dist/artifacts/index.js.map +1 -0
- package/node_modules/checkride/dist/artifacts/json.d.ts +31 -0
- package/node_modules/checkride/dist/artifacts/json.d.ts.map +1 -0
- package/node_modules/checkride/dist/artifacts/json.js +47 -0
- package/node_modules/checkride/dist/artifacts/json.js.map +1 -0
- package/node_modules/checkride/dist/artifacts/raw.d.ts +60 -0
- package/node_modules/checkride/dist/artifacts/raw.d.ts.map +1 -0
- package/node_modules/checkride/dist/artifacts/raw.js +91 -0
- package/node_modules/checkride/dist/artifacts/raw.js.map +1 -0
- package/node_modules/checkride/dist/artifacts/summary.d.ts +69 -0
- package/node_modules/checkride/dist/artifacts/summary.d.ts.map +1 -0
- package/node_modules/checkride/dist/artifacts/summary.js +108 -0
- package/node_modules/checkride/dist/artifacts/summary.js.map +1 -0
- package/node_modules/checkride/dist/atomic.d.ts +16 -1
- package/node_modules/checkride/dist/atomic.d.ts.map +1 -1
- package/node_modules/checkride/dist/atomic.js +25 -3
- package/node_modules/checkride/dist/atomic.js.map +1 -1
- package/node_modules/checkride/dist/baseline/fallow.d.ts +9 -5
- package/node_modules/checkride/dist/baseline/fallow.d.ts.map +1 -1
- package/node_modules/checkride/dist/baseline/fallow.js +161 -58
- package/node_modules/checkride/dist/baseline/fallow.js.map +1 -1
- package/node_modules/checkride/dist/baseline/fingerprint.d.ts +7 -7
- package/node_modules/checkride/dist/baseline/fingerprint.d.ts.map +1 -1
- package/node_modules/checkride/dist/baseline/fingerprint.js +16 -19
- package/node_modules/checkride/dist/baseline/fingerprint.js.map +1 -1
- package/node_modules/checkride/dist/baseline/index.d.ts +4 -4
- package/node_modules/checkride/dist/baseline/index.d.ts.map +1 -1
- package/node_modules/checkride/dist/baseline/index.js +4 -4
- package/node_modules/checkride/dist/baseline/index.js.map +1 -1
- package/node_modules/checkride/dist/baseline/store.d.ts +12 -4
- package/node_modules/checkride/dist/baseline/store.d.ts.map +1 -1
- package/node_modules/checkride/dist/baseline/store.js +16 -9
- package/node_modules/checkride/dist/baseline/store.js.map +1 -1
- package/node_modules/checkride/dist/baseline-command.d.ts +5 -5
- package/node_modules/checkride/dist/baseline-command.js +7 -7
- package/node_modules/checkride/dist/baseline-command.js.map +1 -1
- package/node_modules/checkride/dist/cli.d.ts +17 -4
- package/node_modules/checkride/dist/cli.d.ts.map +1 -1
- package/node_modules/checkride/dist/cli.js +259 -18
- package/node_modules/checkride/dist/cli.js.map +1 -1
- package/node_modules/checkride/dist/config.d.ts +84 -8
- package/node_modules/checkride/dist/config.d.ts.map +1 -1
- package/node_modules/checkride/dist/config.js +122 -18
- package/node_modules/checkride/dist/config.js.map +1 -1
- package/node_modules/checkride/dist/digest/digest.d.ts +5 -5
- package/node_modules/checkride/dist/digest/digest.js +5 -5
- package/node_modules/checkride/dist/digest/index.d.ts +2 -2
- package/node_modules/checkride/dist/digest/index.js +2 -2
- package/node_modules/checkride/dist/doctor.d.ts +25 -6
- package/node_modules/checkride/dist/doctor.d.ts.map +1 -1
- package/node_modules/checkride/dist/doctor.js +193 -27
- package/node_modules/checkride/dist/doctor.js.map +1 -1
- package/node_modules/checkride/dist/gate.d.ts +135 -0
- package/node_modules/checkride/dist/gate.d.ts.map +1 -0
- package/node_modules/checkride/dist/gate.js +490 -0
- package/node_modules/checkride/dist/gate.js.map +1 -0
- package/node_modules/checkride/dist/init.d.ts +72 -12
- package/node_modules/checkride/dist/init.d.ts.map +1 -1
- package/node_modules/checkride/dist/init.js +324 -81
- package/node_modules/checkride/dist/init.js.map +1 -1
- package/node_modules/checkride/dist/json.d.ts +21 -0
- package/node_modules/checkride/dist/json.d.ts.map +1 -0
- package/node_modules/checkride/dist/json.js +21 -0
- package/node_modules/checkride/dist/json.js.map +1 -0
- package/node_modules/checkride/dist/links.d.ts +31 -5
- package/node_modules/checkride/dist/links.d.ts.map +1 -1
- package/node_modules/checkride/dist/links.js +141 -32
- package/node_modules/checkride/dist/links.js.map +1 -1
- package/node_modules/checkride/dist/node-pin.d.ts +129 -0
- package/node_modules/checkride/dist/node-pin.d.ts.map +1 -0
- package/node_modules/checkride/dist/node-pin.js +211 -0
- package/node_modules/checkride/dist/node-pin.js.map +1 -0
- package/node_modules/checkride/dist/orchestrator.d.ts +40 -10
- package/node_modules/checkride/dist/orchestrator.d.ts.map +1 -1
- package/node_modules/checkride/dist/orchestrator.js +196 -102
- package/node_modules/checkride/dist/orchestrator.js.map +1 -1
- package/node_modules/checkride/dist/pack.d.ts +8 -9
- package/node_modules/checkride/dist/pack.d.ts.map +1 -1
- package/node_modules/checkride/dist/pack.js +53 -17
- package/node_modules/checkride/dist/pack.js.map +1 -1
- package/node_modules/checkride/dist/pm/detect.d.ts +6 -1
- package/node_modules/checkride/dist/pm/detect.d.ts.map +1 -1
- package/node_modules/checkride/dist/pm/detect.js +6 -1
- package/node_modules/checkride/dist/pm/detect.js.map +1 -1
- package/node_modules/checkride/dist/pm/index.d.ts +6 -2
- package/node_modules/checkride/dist/pm/index.d.ts.map +1 -1
- package/node_modules/checkride/dist/pm/index.js +6 -2
- package/node_modules/checkride/dist/pm/index.js.map +1 -1
- package/node_modules/checkride/dist/pm/launch.d.ts +51 -0
- package/node_modules/checkride/dist/pm/launch.d.ts.map +1 -0
- package/node_modules/checkride/dist/pm/launch.js +92 -0
- package/node_modules/checkride/dist/pm/launch.js.map +1 -0
- package/node_modules/checkride/dist/pm/tools.d.ts +73 -0
- package/node_modules/checkride/dist/pm/tools.d.ts.map +1 -0
- package/node_modules/checkride/dist/pm/tools.js +124 -0
- package/node_modules/checkride/dist/pm/tools.js.map +1 -0
- package/node_modules/checkride/dist/pm/translate.d.ts +35 -9
- package/node_modules/checkride/dist/pm/translate.d.ts.map +1 -1
- package/node_modules/checkride/dist/pm/translate.js +78 -18
- package/node_modules/checkride/dist/pm/translate.js.map +1 -1
- package/node_modules/checkride/dist/proc.d.ts +30 -0
- package/node_modules/checkride/dist/proc.d.ts.map +1 -0
- package/node_modules/checkride/dist/proc.js +42 -0
- package/node_modules/checkride/dist/proc.js.map +1 -0
- package/node_modules/checkride/dist/qa/cli.d.ts +20 -0
- package/node_modules/checkride/dist/qa/cli.d.ts.map +1 -0
- package/node_modules/checkride/dist/qa/cli.js +24 -0
- package/node_modules/checkride/dist/qa/cli.js.map +1 -0
- package/node_modules/checkride/dist/qa/dead.d.ts +39 -0
- package/node_modules/checkride/dist/qa/dead.d.ts.map +1 -0
- package/node_modules/checkride/dist/qa/dead.js +88 -0
- package/node_modules/checkride/dist/qa/dead.js.map +1 -0
- package/node_modules/checkride/dist/qa/dupes.d.ts +45 -0
- package/node_modules/checkride/dist/qa/dupes.d.ts.map +1 -0
- package/node_modules/checkride/dist/qa/dupes.js +62 -0
- package/node_modules/checkride/dist/qa/dupes.js.map +1 -0
- package/node_modules/checkride/dist/qa/health.d.ts +85 -0
- package/node_modules/checkride/dist/qa/health.d.ts.map +1 -0
- package/node_modules/checkride/dist/qa/health.js +109 -0
- package/node_modules/checkride/dist/qa/health.js.map +1 -0
- package/node_modules/checkride/dist/qa/index.d.ts +23 -0
- package/node_modules/checkride/dist/qa/index.d.ts.map +1 -0
- package/node_modules/checkride/dist/qa/index.js +22 -0
- package/node_modules/checkride/dist/qa/index.js.map +1 -0
- package/node_modules/checkride/dist/qa/mutation.d.ts +80 -0
- package/node_modules/checkride/dist/qa/mutation.d.ts.map +1 -0
- package/node_modules/checkride/dist/qa/mutation.js +195 -0
- package/node_modules/checkride/dist/qa/mutation.js.map +1 -0
- package/node_modules/checkride/dist/qa/qa.d.ts +71 -0
- package/node_modules/checkride/dist/qa/qa.d.ts.map +1 -0
- package/node_modules/checkride/dist/qa/qa.js +158 -0
- package/node_modules/checkride/dist/qa/qa.js.map +1 -0
- package/node_modules/checkride/dist/qa/read.d.ts +40 -0
- package/node_modules/checkride/dist/qa/read.d.ts.map +1 -0
- package/node_modules/checkride/dist/qa/read.js +47 -0
- package/node_modules/checkride/dist/qa/read.js.map +1 -0
- package/node_modules/checkride/dist/qa/render.d.ts +26 -0
- package/node_modules/checkride/dist/qa/render.d.ts.map +1 -0
- package/node_modules/checkride/dist/qa/render.js +310 -0
- package/node_modules/checkride/dist/qa/render.js.map +1 -0
- package/node_modules/checkride/dist/security.d.ts +45 -0
- package/node_modules/checkride/dist/security.d.ts.map +1 -0
- package/node_modules/checkride/dist/security.js +86 -0
- package/node_modules/checkride/dist/security.js.map +1 -0
- package/node_modules/checkride/dist/smoke.d.ts +5 -5
- package/node_modules/checkride/dist/smoke.js +5 -5
- package/node_modules/checkride/dist/snippets.d.ts +26 -29
- package/node_modules/checkride/dist/snippets.d.ts.map +1 -1
- package/node_modules/checkride/dist/snippets.js +26 -30
- package/node_modules/checkride/dist/snippets.js.map +1 -1
- package/node_modules/checkride/dist/tool-json.d.ts +33 -0
- package/node_modules/checkride/dist/tool-json.d.ts.map +1 -0
- package/node_modules/checkride/dist/tool-json.js +58 -0
- package/node_modules/checkride/dist/tool-json.js.map +1 -0
- package/node_modules/checkride/dist/triage/cli.d.ts +21 -0
- package/node_modules/checkride/dist/triage/cli.d.ts.map +1 -0
- package/node_modules/checkride/dist/triage/cli.js +26 -0
- package/node_modules/checkride/dist/triage/cli.js.map +1 -0
- package/node_modules/checkride/dist/triage/doctor-fold.d.ts +51 -0
- package/node_modules/checkride/dist/triage/doctor-fold.d.ts.map +1 -0
- package/node_modules/checkride/dist/triage/doctor-fold.js +88 -0
- package/node_modules/checkride/dist/triage/doctor-fold.js.map +1 -0
- package/node_modules/checkride/dist/triage/env.d.ts +54 -0
- package/node_modules/checkride/dist/triage/env.d.ts.map +1 -0
- package/node_modules/checkride/dist/triage/env.js +81 -0
- package/node_modules/checkride/dist/triage/env.js.map +1 -0
- package/node_modules/checkride/dist/triage/gate.d.ts +61 -0
- package/node_modules/checkride/dist/triage/gate.d.ts.map +1 -0
- package/node_modules/checkride/dist/triage/gate.js +121 -0
- package/node_modules/checkride/dist/triage/gate.js.map +1 -0
- package/node_modules/checkride/dist/triage/index.d.ts +22 -0
- package/node_modules/checkride/dist/triage/index.d.ts.map +1 -0
- package/node_modules/checkride/dist/triage/index.js +20 -0
- package/node_modules/checkride/dist/triage/index.js.map +1 -0
- package/node_modules/checkride/dist/triage/render.d.ts +19 -0
- package/node_modules/checkride/dist/triage/render.d.ts.map +1 -0
- package/node_modules/checkride/dist/triage/render.js +419 -0
- package/node_modules/checkride/dist/triage/render.js.map +1 -0
- package/node_modules/checkride/dist/triage/triage.d.ts +83 -0
- package/node_modules/checkride/dist/triage/triage.d.ts.map +1 -0
- package/node_modules/checkride/dist/triage/triage.js +131 -0
- package/node_modules/checkride/dist/triage/triage.js.map +1 -0
- package/node_modules/checkride/package.json +17 -15
- package/node_modules/checkride/schema/checkride.config.schema.json +62 -5
- package/node_modules/checkride/schema/checkride.summary.schema.json +1 -1
- package/node_modules/checkride/skills/check/SKILL.md +257 -0
- package/node_modules/checkride/skills/qa/SKILL.md +231 -0
- package/node_modules/checkride/templates/shared/cspell.json +1 -0
- package/node_modules/checkride/templates/shared/oxlintrc.json +1 -1
- package/package.json +2 -2
- package/skills/build/SKILL.md +23 -19
- package/skills/finish/SKILL.md +3 -1
- package/skills/harvest/SKILL.md +2 -1
- package/skills/plan/SKILL.md +8 -7
- package/skills/recover/SKILL.md +28 -0
- package/skills/refine/SKILL.md +5 -4
- package/skills/spike/SKILL.md +1 -1
- package/skills/step/SKILL.md +4 -4
- package/skills/verify/SKILL.md +19 -14
- package/templates/intent.md +8 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,4EAA4E;AAC5E,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;AACzE,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,WAAW,CAAC;AAEzC,8BAA8B;AAC9B,MAAM,MAAM,IAAI,GAAG;IACjB,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,OAAO,GAAG;IACpB,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,
|
|
1
|
+
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,4EAA4E;AAC5E,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;AACzE,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,WAAW,CAAC;AAEzC,8BAA8B;AAC9B,MAAM,MAAM,IAAI,GAAG;IACjB,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,OAAO,GAAG;IACpB,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,qFAAqF;IACrF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,oIAAoI;IACpI,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,SAAS,IAAI,EAoBhC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,SAAS,OAAO,EA6WtC,CAAC"}
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
* data only: no logic lives here. Resolution (config vs detection) lives in
|
|
7
7
|
* `../config`, and execution lives in `../orchestrator`.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
* security, and the library-publishing
|
|
11
|
-
* knip, eslint, jest)
|
|
9
|
+
* The catalogue covers the blessed defaults, the opt-in slots (format,
|
|
10
|
+
* mutation, security, and the library-publishing checks), and alternate
|
|
11
|
+
* adapters (biome, knip, eslint, jest) that fill a slot when detected.
|
|
12
12
|
*/
|
|
13
13
|
/** The aggregate-report schema version written to `.check/summary.json`. */
|
|
14
14
|
export const SCHEMA_VERSION = 1;
|
|
@@ -54,7 +54,7 @@ export const ADAPTERS = [
|
|
|
54
54
|
command: 'pnpm',
|
|
55
55
|
args: ['exec', 'tsc', '--build'],
|
|
56
56
|
outputFile: null,
|
|
57
|
-
devDeps: { typescript: '6.0.3', '@types/node': '22.20.
|
|
57
|
+
devDeps: { typescript: '6.0.3', '@types/node': '22.20.1' },
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
60
|
name: 'prettier',
|
|
@@ -80,7 +80,7 @@ export const ADAPTERS = [
|
|
|
80
80
|
args: ['exec', 'prettier', '--check', '.'],
|
|
81
81
|
outputFile: null,
|
|
82
82
|
fixArgs: ['exec', 'prettier', '--write', '.'],
|
|
83
|
-
devDeps: { prettier: '3.6
|
|
83
|
+
devDeps: { prettier: '3.9.6' },
|
|
84
84
|
},
|
|
85
85
|
{
|
|
86
86
|
name: 'biome-format',
|
|
@@ -91,7 +91,7 @@ export const ADAPTERS = [
|
|
|
91
91
|
args: ['exec', 'biome', 'format', '.'],
|
|
92
92
|
outputFile: null,
|
|
93
93
|
fixArgs: ['exec', 'biome', 'format', '--write', '.'],
|
|
94
|
-
devDeps: { '@biomejs/biome': '2.
|
|
94
|
+
devDeps: { '@biomejs/biome': '2.5.6' },
|
|
95
95
|
},
|
|
96
96
|
{
|
|
97
97
|
name: 'oxlint',
|
|
@@ -103,7 +103,7 @@ export const ADAPTERS = [
|
|
|
103
103
|
args: ['exec', 'oxlint', '--type-aware', '--format=json'],
|
|
104
104
|
outputFile: 'lint.json',
|
|
105
105
|
fixArgs: ['exec', 'oxlint', '--type-aware', '--fix'],
|
|
106
|
-
devDeps: { oxlint: '1.
|
|
106
|
+
devDeps: { oxlint: '1.74.0', 'oxlint-tsgolint': '0.25.0' },
|
|
107
107
|
},
|
|
108
108
|
{
|
|
109
109
|
name: 'biome',
|
|
@@ -114,7 +114,7 @@ export const ADAPTERS = [
|
|
|
114
114
|
args: ['exec', 'biome', 'check', '--reporter=json'],
|
|
115
115
|
outputFile: 'lint.json',
|
|
116
116
|
fixArgs: ['exec', 'biome', 'check', '--write'],
|
|
117
|
-
devDeps: { '@biomejs/biome': '2.
|
|
117
|
+
devDeps: { '@biomejs/biome': '2.5.6' },
|
|
118
118
|
},
|
|
119
119
|
{
|
|
120
120
|
name: 'eslint',
|
|
@@ -133,6 +133,10 @@ export const ADAPTERS = [
|
|
|
133
133
|
args: ['exec', 'eslint', '.', '--format', 'json'],
|
|
134
134
|
outputFile: 'lint.json',
|
|
135
135
|
fixArgs: ['exec', 'eslint', '.', '--fix'],
|
|
136
|
+
// Held at 9.x deliberately: eslint 10 is a major and nothing in this repo
|
|
137
|
+
// exercises the eslint adapter, so bumping it would ship a pin no run has
|
|
138
|
+
// ever executed. Needs a fixture project proving this command line and
|
|
139
|
+
// `--format json` still hold before it moves.
|
|
136
140
|
devDeps: { eslint: '9.36.0' },
|
|
137
141
|
},
|
|
138
142
|
{
|
|
@@ -143,7 +147,7 @@ export const ADAPTERS = [
|
|
|
143
147
|
command: 'pnpm',
|
|
144
148
|
args: ['exec', 'ast-grep', 'scan', '--json=compact'],
|
|
145
149
|
outputFile: 'struct.json',
|
|
146
|
-
devDeps: { '@ast-grep/cli': '0.
|
|
150
|
+
devDeps: { '@ast-grep/cli': '0.45.0' },
|
|
147
151
|
},
|
|
148
152
|
{
|
|
149
153
|
name: 'fallow',
|
|
@@ -158,7 +162,7 @@ export const ADAPTERS = [
|
|
|
158
162
|
outputFile: 'dead.json',
|
|
159
163
|
gate: 'fallow',
|
|
160
164
|
fixArgs: ['exec', 'fallow', 'fix'],
|
|
161
|
-
devDeps: { fallow: '3.
|
|
165
|
+
devDeps: { fallow: '3.9.1' },
|
|
162
166
|
},
|
|
163
167
|
{
|
|
164
168
|
name: 'knip',
|
|
@@ -170,6 +174,9 @@ export const ADAPTERS = [
|
|
|
170
174
|
args: ['exec', 'knip', '--reporter', 'json'],
|
|
171
175
|
outputFile: 'dead.json',
|
|
172
176
|
fixArgs: ['exec', 'knip', '--fix'],
|
|
177
|
+
// Held at 5.x deliberately, for the same reason as eslint above: knip 6 is
|
|
178
|
+
// a major, the knip adapter is unexercised here, and `--reporter json` is
|
|
179
|
+
// exactly the kind of surface a major rearranges.
|
|
173
180
|
devDeps: { knip: '5.64.0' },
|
|
174
181
|
},
|
|
175
182
|
{
|
|
@@ -181,7 +188,7 @@ export const ADAPTERS = [
|
|
|
181
188
|
args: ['exec', 'fallow', 'dupes', '--format', 'json', '--quiet'],
|
|
182
189
|
outputFile: 'dupes.json',
|
|
183
190
|
gate: 'fallow',
|
|
184
|
-
devDeps: { fallow: '3.
|
|
191
|
+
devDeps: { fallow: '3.9.1' },
|
|
185
192
|
},
|
|
186
193
|
{
|
|
187
194
|
name: 'fallow',
|
|
@@ -192,7 +199,7 @@ export const ADAPTERS = [
|
|
|
192
199
|
args: ['exec', 'fallow', 'health', '--format', 'json', '--quiet'],
|
|
193
200
|
outputFile: 'health.json',
|
|
194
201
|
gate: 'fallow',
|
|
195
|
-
devDeps: { fallow: '3.
|
|
202
|
+
devDeps: { fallow: '3.9.1' },
|
|
196
203
|
},
|
|
197
204
|
{
|
|
198
205
|
name: 'vitest',
|
|
@@ -210,7 +217,7 @@ export const ADAPTERS = [
|
|
|
210
217
|
],
|
|
211
218
|
outputFile: null,
|
|
212
219
|
changedArgs: ['--changed', 'origin/main'],
|
|
213
|
-
devDeps: { vitest: '4.1.
|
|
220
|
+
devDeps: { vitest: '4.1.10', '@vitest/coverage-v8': '4.1.10' },
|
|
214
221
|
},
|
|
215
222
|
{
|
|
216
223
|
name: 'jest',
|
|
@@ -227,7 +234,7 @@ export const ADAPTERS = [
|
|
|
227
234
|
args: ['exec', 'jest', '--ci', '--json', '--outputFile=.check/test.json'],
|
|
228
235
|
outputFile: null,
|
|
229
236
|
changedArgs: ['--changedSince', 'origin/main'],
|
|
230
|
-
devDeps: { jest: '30.
|
|
237
|
+
devDeps: { jest: '30.4.2' },
|
|
231
238
|
},
|
|
232
239
|
{
|
|
233
240
|
name: 'markdownlint-cli2',
|
|
@@ -244,7 +251,7 @@ export const ADAPTERS = [
|
|
|
244
251
|
args: ['exec', 'markdownlint-cli2'],
|
|
245
252
|
outputFile: null,
|
|
246
253
|
fixArgs: ['exec', 'markdownlint-cli2', '--fix'],
|
|
247
|
-
devDeps: { 'markdownlint-cli2': '0.
|
|
254
|
+
devDeps: { 'markdownlint-cli2': '0.23.1' },
|
|
248
255
|
},
|
|
249
256
|
{
|
|
250
257
|
name: 'links',
|
|
@@ -273,7 +280,7 @@ export const ADAPTERS = [
|
|
|
273
280
|
command: 'pnpm',
|
|
274
281
|
args: ['exec', 'cspell', '--no-progress', '--no-summary', '--reporter=default'],
|
|
275
282
|
outputFile: null,
|
|
276
|
-
devDeps: { cspell: '10.0.
|
|
283
|
+
devDeps: { cspell: '10.0.1' },
|
|
277
284
|
},
|
|
278
285
|
{
|
|
279
286
|
name: 'stryker',
|
|
@@ -298,15 +305,20 @@ export const ADAPTERS = [
|
|
|
298
305
|
description: 'Dependency audit (pnpm audit)',
|
|
299
306
|
detect: [],
|
|
300
307
|
command: 'pnpm',
|
|
308
|
+
// Unlike the other built-ins, the security evaluator DOES run these args:
|
|
309
|
+
// they are the audit invocation, and `--audit-level=<l>` doubles as the
|
|
310
|
+
// gate threshold it enforces itself — pnpm's JSON-mode exit code ignores
|
|
311
|
+
// the level, so trusting it gated at zero advisories of any severity.
|
|
301
312
|
args: ['audit', '--audit-level=high', '--json'],
|
|
302
313
|
outputFile: 'security.json',
|
|
314
|
+
builtin: 'security',
|
|
303
315
|
devDeps: {},
|
|
304
316
|
},
|
|
305
317
|
{
|
|
306
318
|
name: 'build',
|
|
307
319
|
slot: 'build',
|
|
308
320
|
description: "Build the package (runs the consumer's build script)",
|
|
309
|
-
// No config file to detect — availability rides on `scripts.build
|
|
321
|
+
// No config file to detect — availability rides on `scripts.build`.
|
|
310
322
|
detect: [],
|
|
311
323
|
detectScript: 'build',
|
|
312
324
|
command: 'pnpm',
|
|
@@ -318,21 +330,28 @@ export const ADAPTERS = [
|
|
|
318
330
|
name: 'publint',
|
|
319
331
|
slot: 'publint',
|
|
320
332
|
description: 'publint: package.json publishing correctness',
|
|
333
|
+
// Gated on the installed tool (not "always available"): pulled in by --all on
|
|
334
|
+
// a repo that never installed publint, the slot stands down as a skip rather
|
|
335
|
+
// than hard-failing with `Command "publint" not found`. Naming it in config
|
|
336
|
+
// still forces it (that's an explicit ask to run it).
|
|
321
337
|
detect: [],
|
|
338
|
+
detectDeps: ['publint'],
|
|
322
339
|
command: 'pnpm',
|
|
323
340
|
args: ['exec', 'publint'],
|
|
324
341
|
outputFile: null,
|
|
325
|
-
devDeps: { publint: '0.3.
|
|
342
|
+
devDeps: { publint: '0.3.22' },
|
|
326
343
|
},
|
|
327
344
|
{
|
|
328
345
|
name: 'attw',
|
|
329
346
|
slot: 'attw',
|
|
330
347
|
description: 'Are the types wrong? (type resolution across module systems)',
|
|
348
|
+
// Gated on the installed tool for the same reason as publint above.
|
|
331
349
|
detect: [],
|
|
350
|
+
detectDeps: ['@arethetypeswrong/cli'],
|
|
332
351
|
command: 'pnpm',
|
|
333
352
|
args: ['exec', 'attw', '--pack', '.', '--format', 'json'],
|
|
334
353
|
outputFile: 'attw.json',
|
|
335
|
-
devDeps: { '@arethetypeswrong/cli': '0.18.
|
|
354
|
+
devDeps: { '@arethetypeswrong/cli': '0.18.5' },
|
|
336
355
|
},
|
|
337
356
|
{
|
|
338
357
|
name: 'pack',
|
|
@@ -340,7 +359,7 @@ export const ADAPTERS = [
|
|
|
340
359
|
description: 'Pack dry-run: the tarball ships the required files and none of the forbidden ones',
|
|
341
360
|
detect: [],
|
|
342
361
|
// `command`/`args` are the availability signature (`isAvailableUnder` gates
|
|
343
|
-
// pack to npm/pnpm, mirroring the pnpm-only `security` slot
|
|
362
|
+
// pack to npm/pnpm, mirroring the pnpm-only `security` slot). The real
|
|
344
363
|
// per-PM invocation — including the manager-specific ignore-scripts flag —
|
|
345
364
|
// lives in `pack.ts`'s `packInvocation`, since this is a built-in.
|
|
346
365
|
command: 'pnpm',
|
|
@@ -354,7 +373,7 @@ export const ADAPTERS = [
|
|
|
354
373
|
slot: 'smoke',
|
|
355
374
|
description: 'Smoke import: the built package loads and its declared value exports are live',
|
|
356
375
|
detect: [],
|
|
357
|
-
// Built-in liveness probe
|
|
376
|
+
// Built-in liveness probe. Like `links`, it spawns a plain `node` — no
|
|
358
377
|
// package manager, no checked tool — so it is available under every PM. The
|
|
359
378
|
// real work (enumerate `exports`, scan the dist `.d.ts`, spawn the probe)
|
|
360
379
|
// lives in `smoke.ts`.
|
|
@@ -369,9 +388,9 @@ export const ADAPTERS = [
|
|
|
369
388
|
slot: 'snippets',
|
|
370
389
|
description: 'Doc snippet typecheck: tagged fences typecheck against package source',
|
|
371
390
|
detect: [],
|
|
372
|
-
// Built-in
|
|
391
|
+
// Built-in; `command`/`args` are the availability signature only — the
|
|
373
392
|
// real invocation (translated per PM) and the src-mode `paths` derivation
|
|
374
|
-
//
|
|
393
|
+
// live in `snippets.ts`. First adapter for the slot, so it is the
|
|
375
394
|
// blessed default (config names `snippets-dist` to opt into the other mode).
|
|
376
395
|
command: 'pnpm',
|
|
377
396
|
args: ['exec', 'tsc', '--noEmit', '-p', '.check/doc-snippets/tsconfig.json'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,4EAA4E;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Claude Code hook writer — `.claude/settings.json`, and the one script its
|
|
3
|
+
* entries still invoke.
|
|
4
|
+
*
|
|
5
|
+
* Merging is surgical: each hook is identified by a per-hook sentinel substring
|
|
6
|
+
* in its command (legacy forms included, so repos carrying an older spelling are
|
|
7
|
+
* migrated rather than duplicated). Unrelated hooks, sibling groups, and every
|
|
8
|
+
* other settings key are preserved, and re-applying is a no-op.
|
|
9
|
+
*
|
|
10
|
+
* Claude Code's schema nests: an event maps to a list of *groups*, each with an
|
|
11
|
+
* optional tool `matcher` and its own list of `{type, command}` hooks. Cursor's
|
|
12
|
+
* is flat, which is why the two writers do not share a merge (see `./cursor.ts`).
|
|
13
|
+
*
|
|
14
|
+
* **Two of the three hooks are configuration here, not code.** `protect` is a
|
|
15
|
+
* pair of `permissions.deny` rules and `dirty` is an inline one-liner, so
|
|
16
|
+
* neither puts a file in the consumer's repo. Only the gate keeps a script, and
|
|
17
|
+
* only because it has a branch config cannot express — see {@link GATE_SCRIPT_FILE}.
|
|
18
|
+
*/
|
|
19
|
+
import type { PackageManager } from '../pm/index.js';
|
|
20
|
+
import type { WriteOptions } from './harness.js';
|
|
21
|
+
import type { HookFile } from './files.js';
|
|
22
|
+
/** Project-shared Claude Code settings (committed), relative to the repo root. */
|
|
23
|
+
export declare const CLAUDE_SETTINGS_FILE = ".claude/settings.json";
|
|
24
|
+
/**
|
|
25
|
+
* The checkride-owned Stop-hook gate script, relative to the repo root — the
|
|
26
|
+
* only file checkride still generates for Claude Code.
|
|
27
|
+
*
|
|
28
|
+
* It survives the move to configuration because it carries a branch nothing in
|
|
29
|
+
* settings.json can: when `checkride gate` never runs at all — not installed, a
|
|
30
|
+
* launcher that died — the command exits with neither of the gate's two codes,
|
|
31
|
+
* and Claude Code reads a plain non-zero hook as *hook failed, carry on*. The
|
|
32
|
+
* script is what turns that into a block. Inlining it would mean a `sh -c` of a
|
|
33
|
+
* dozen lines in a settings file, which is configuration only in the sense that
|
|
34
|
+
* it is JSON.
|
|
35
|
+
*/
|
|
36
|
+
export declare const GATE_SCRIPT_FILE = ".claude/hooks/checkride-gate.sh";
|
|
37
|
+
export declare const PROTECT_SCRIPT_FILE = ".claude/hooks/checkride-protect.cjs";
|
|
38
|
+
/** The settings events checkride writes hooks under. */
|
|
39
|
+
type HookEvent = 'Stop' | 'PostToolUse' | 'PreToolUse';
|
|
40
|
+
/**
|
|
41
|
+
* A single Claude Code command hook (fields optional — settings.json is
|
|
42
|
+
* untrusted). Unknown keys pass through untouched, so a hand-added `if` or
|
|
43
|
+
* `once` on a checkride entry survives a refresh.
|
|
44
|
+
*/
|
|
45
|
+
type CommandHook = {
|
|
46
|
+
type?: string;
|
|
47
|
+
command?: string;
|
|
48
|
+
timeout?: number;
|
|
49
|
+
statusMessage?: string;
|
|
50
|
+
} & Record<string, unknown>;
|
|
51
|
+
/** A hook group. Tool events carry a `matcher`; Stop groups don't. Other keys pass through. */
|
|
52
|
+
type HookGroup = {
|
|
53
|
+
matcher?: string;
|
|
54
|
+
hooks?: CommandHook[];
|
|
55
|
+
} & Record<string, unknown>;
|
|
56
|
+
/** Claude Code's permission rules. Only `deny` is checkride's business. */
|
|
57
|
+
type Permissions = {
|
|
58
|
+
deny?: string[];
|
|
59
|
+
} & Record<string, unknown>;
|
|
60
|
+
/** The subset of `.claude/settings.json` we touch; every other key is preserved. */
|
|
61
|
+
export type ClaudeSettings = {
|
|
62
|
+
hooks?: Partial<Record<HookEvent, HookGroup[]>> & Record<string, unknown>;
|
|
63
|
+
permissions?: Permissions;
|
|
64
|
+
} & Record<string, unknown>;
|
|
65
|
+
/**
|
|
66
|
+
* Merge the selected hooks into parsed settings (see {@link applyHook}). `pm`
|
|
67
|
+
* only reaches the gate's spinner text, so it defaults to the near-universal
|
|
68
|
+
* `pnpm` for callers (tests, the removal path) that have no repo to detect one from.
|
|
69
|
+
*
|
|
70
|
+
* `protect` takes the other branch: it is a permission rule, not a hook, so it
|
|
71
|
+
* lands in `permissions.deny` and takes the retired hook entry away with it.
|
|
72
|
+
* Claude Code evaluates deny rules regardless of what a `PreToolUse` hook
|
|
73
|
+
* returns, so this is enforcement at a lower level than the script it replaces,
|
|
74
|
+
* at no cost per tool call.
|
|
75
|
+
*/
|
|
76
|
+
export declare function applyHooks(settings?: ClaudeSettings, names?: readonly string[], pm?: PackageManager): ClaudeSettings;
|
|
77
|
+
/**
|
|
78
|
+
* Remove the named hooks from parsed settings — the inverse of
|
|
79
|
+
* {@link applyHooks}, and idempotent in the same way. The package manager is
|
|
80
|
+
* irrelevant here: entries are matched by sentinel, never by their rendered
|
|
81
|
+
* fields, so a repo whose gate was written under a different launcher still has
|
|
82
|
+
* its gate found and removed.
|
|
83
|
+
*/
|
|
84
|
+
export declare function removeHooks(settings?: ClaudeSettings, names?: readonly string[]): ClaudeSettings;
|
|
85
|
+
/** Write or refresh the selected Claude Code hooks in `cwd`. */
|
|
86
|
+
export declare function writeClaudeHooks(cwd: string, opts: WriteOptions): Promise<HookFile[]>;
|
|
87
|
+
export {};
|
|
88
|
+
//# sourceMappingURL=claude.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/agent-setup/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,cAAc,CAAC;AAE9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,kFAAkF;AAClF,eAAO,MAAM,oBAAoB,0BAA0B,CAAC;AAE5D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,oCAAoC,CAAC;AAIlE,eAAO,MAAM,mBAAmB,wCAAwC,CAAC;AA0CzE,wDAAwD;AACxD,KAAK,SAAS,GAAG,MAAM,GAAG,aAAa,GAAG,YAAY,CAAC;AAEvD;;;;GAIG;AACH,KAAK,WAAW,GAAG;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5B,+FAA+F;AAC/F,KAAK,SAAS,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACvF,2EAA2E;AAC3E,KAAK,WAAW,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACjE,oFAAoF;AACpF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1E,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA6L5B;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACxB,QAAQ,GAAE,cAAmB,EAC7B,KAAK,GAAE,SAAS,MAAM,EAAe,EACrC,EAAE,GAAE,cAAuB,GAC1B,cAAc,CAKhB;AA2BD;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,QAAQ,GAAE,cAAmB,EAC7B,KAAK,GAAE,SAAS,MAAM,EAAe,GACpC,cAAc,CAOhB;AAWD,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAErF"}
|