@deftai/directive-runtime 0.129.1 → 0.129.3

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 (73) hide show
  1. package/.githooks/_directive-run.sh +9 -12
  2. package/.githooks/pre-push +1 -5
  3. package/dist/doctor-diagnose.js +6 -3
  4. package/dist/pre-pr-run.js +9 -2
  5. package/dist/setup-wiring.js +64 -41
  6. package/package.json +1 -1
  7. package/tasks/engine-invoke.cjs +37 -2
  8. package/tasks/engine-invoke.test.cjs +14 -0
  9. package/tasks/engine.yml +5 -0
  10. package/vendor/directive-content/.githooks/_directive-run.sh +9 -12
  11. package/vendor/directive-content/.githooks/pre-push +1 -5
  12. package/vendor/directive-content/tasks/engine-invoke.cjs +37 -2
  13. package/vendor/directive-content/tasks/engine-invoke.test.cjs +14 -0
  14. package/vendor/directive-content/tasks/engine.yml +5 -0
  15. package/vendor/directive-core/dist/.tsbuildinfo +1 -1
  16. package/vendor/directive-core/dist/class-checks/evaluate.d.ts.map +1 -1
  17. package/vendor/directive-core/dist/class-checks/evaluate.js +21 -4
  18. package/vendor/directive-core/dist/class-checks/evaluate.js.map +1 -1
  19. package/vendor/directive-core/dist/coverage-applicability/evaluate.d.ts.map +1 -1
  20. package/vendor/directive-core/dist/coverage-applicability/evaluate.js +134 -6
  21. package/vendor/directive-core/dist/coverage-applicability/evaluate.js.map +1 -1
  22. package/vendor/directive-core/dist/coverage-hotspots/evaluate.d.ts +2 -0
  23. package/vendor/directive-core/dist/coverage-hotspots/evaluate.d.ts.map +1 -1
  24. package/vendor/directive-core/dist/coverage-hotspots/evaluate.js +19 -6
  25. package/vendor/directive-core/dist/coverage-hotspots/evaluate.js.map +1 -1
  26. package/vendor/directive-core/dist/fs/contained-write.d.ts +12 -0
  27. package/vendor/directive-core/dist/fs/contained-write.d.ts.map +1 -1
  28. package/vendor/directive-core/dist/fs/contained-write.js +35 -1
  29. package/vendor/directive-core/dist/fs/contained-write.js.map +1 -1
  30. package/vendor/directive-core/dist/init-deposit/agent-hooks.d.ts +1 -0
  31. package/vendor/directive-core/dist/init-deposit/agent-hooks.d.ts.map +1 -1
  32. package/vendor/directive-core/dist/init-deposit/agent-hooks.js +75 -72
  33. package/vendor/directive-core/dist/init-deposit/agent-hooks.js.map +1 -1
  34. package/vendor/directive-core/dist/init-deposit/host-hook-outer.d.ts +26 -0
  35. package/vendor/directive-core/dist/init-deposit/host-hook-outer.d.ts.map +1 -0
  36. package/vendor/directive-core/dist/init-deposit/host-hook-outer.js +158 -0
  37. package/vendor/directive-core/dist/init-deposit/host-hook-outer.js.map +1 -0
  38. package/vendor/directive-core/dist/init-deposit/hygiene.d.ts.map +1 -1
  39. package/vendor/directive-core/dist/init-deposit/hygiene.js +29 -1
  40. package/vendor/directive-core/dist/init-deposit/hygiene.js.map +1 -1
  41. package/vendor/directive-core/dist/install-health/wiring.d.ts.map +1 -1
  42. package/vendor/directive-core/dist/install-health/wiring.js +30 -1
  43. package/vendor/directive-core/dist/install-health/wiring.js.map +1 -1
  44. package/vendor/directive-core/dist/pr-closing-keywords/gh.d.ts.map +1 -1
  45. package/vendor/directive-core/dist/pr-closing-keywords/gh.js +3 -0
  46. package/vendor/directive-core/dist/pr-closing-keywords/gh.js.map +1 -1
  47. package/vendor/directive-core/dist/pr-merge-readiness/gh.d.ts.map +1 -1
  48. package/vendor/directive-core/dist/pr-merge-readiness/gh.js +3 -0
  49. package/vendor/directive-core/dist/pr-merge-readiness/gh.js.map +1 -1
  50. package/vendor/directive-core/dist/pr-protected-issues/gh.d.ts.map +1 -1
  51. package/vendor/directive-core/dist/pr-protected-issues/gh.js +3 -0
  52. package/vendor/directive-core/dist/pr-protected-issues/gh.js.map +1 -1
  53. package/vendor/directive-core/dist/pre-pr-controller/controller.d.ts +1 -1
  54. package/vendor/directive-core/dist/pre-pr-controller/controller.d.ts.map +1 -1
  55. package/vendor/directive-core/dist/pre-pr-controller/controller.js +43 -15
  56. package/vendor/directive-core/dist/pre-pr-controller/controller.js.map +1 -1
  57. package/vendor/directive-core/dist/pre-pr-controller/coverage-report.d.ts +22 -0
  58. package/vendor/directive-core/dist/pre-pr-controller/coverage-report.d.ts.map +1 -0
  59. package/vendor/directive-core/dist/pre-pr-controller/coverage-report.js +48 -0
  60. package/vendor/directive-core/dist/pre-pr-controller/coverage-report.js.map +1 -0
  61. package/vendor/directive-core/dist/pre-pr-controller/types.d.ts +7 -0
  62. package/vendor/directive-core/dist/pre-pr-controller/types.d.ts.map +1 -1
  63. package/vendor/directive-core/dist/pre-pr-controller/types.js.map +1 -1
  64. package/vendor/directive-core/dist/scm/call.d.ts.map +1 -1
  65. package/vendor/directive-core/dist/scm/call.js +5 -1
  66. package/vendor/directive-core/dist/scm/call.js.map +1 -1
  67. package/vendor/directive-core/dist/scm/gh-rest.d.ts.map +1 -1
  68. package/vendor/directive-core/dist/scm/gh-rest.js +3 -1
  69. package/vendor/directive-core/dist/scm/gh-rest.js.map +1 -1
  70. package/vendor/directive-core/dist/subprocess/plain-gh-env.d.ts +2 -0
  71. package/vendor/directive-core/dist/subprocess/plain-gh-env.d.ts.map +1 -0
  72. package/vendor/directive-core/dist/subprocess/plain-gh-env.js +25 -0
  73. package/vendor/directive-core/dist/subprocess/plain-gh-env.js.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"agent-hooks.d.ts","sourceRoot":"","sources":["../../src/init-deposit/agent-hooks.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAa,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAUlE,OAAO,EAEL,KAAK,eAAe,EAGrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,KAAK,sBAAsB,EAA4B,MAAM,0BAA0B,CAAC;AAEjG,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,2FAA2F;AAC3F,eAAO,MAAM,wBAAwB,cAAc,CAAC;AACpD,eAAO,MAAM,+BAA+B,uBAAuB,CAAC;AACpE,+EAA+E;AAC/E,eAAO,MAAM,yBAAyB,iEAC0B,CAAC;AAEjE;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAUtE;AAED,eAAO,MAAM,gBAAgB,wGAKnB,CAAC;AAEX;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gCAAgC,2CAA2C,CAAC;AACzF,eAAO,MAAM,8BAA8B,+BAA+B,CAAC;AAC3E,2EAA2E;AAC3E,eAAO,MAAM,+BAA+B,iCAAwC,CAAC;AAErF,wEAAwE;AACxE,eAAO,MAAM,4BAA4B,4DACkB,CAAC;AAE5D,eAAO,MAAM,yBAAyB,QAKwC,CAAC;AAE/E,eAAO,MAAM,6BAA6B,QAGb,CAAC;AAE9B,gFAAgF;AAChF,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAAC,KAAK,EAAE;IAC1D,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,GAAG,kBAAkB,CAwBrB;AAED,gFAAgF;AAChF,wBAAgB,iCAAiC,IAAI,MAAM,CAsE1D;AAED;;;GAGG;AACH,eAAO,MAAM,mCAAmC,IAAI,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kCAAkC,KAAK,CAAC;AAErD;;;;;;;GAOG;AACH,eAAO,MAAM,kCAAkC,KAAqC,CAAC;AAErF,kFAAkF;AAClF,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAuB9D,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAK7E,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAEzF,uEAAuE;AACvE,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,aAAa,CAAC;AAElE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,uBAAuB,CAAC;CAClD;AAED,+EAA+E;AAC/E,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,aAAa,EAAE,CAAC;CACxC;AAiGD,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AAmMD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,EAAE,GAAE,aAA2C,EAC/C,eAAe,GAAE,eAA6D,EAC9E,WAAW,GAAE,sBAA2B,GACvC,sBAAsB,CAqKxB;AA2JD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,QAAQ,GACb,SAAS,MAAM,EAAE,GAAG,IAAI,CAqB1B;AAED,kFAAkF;AAClF,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,eAAe,GAAE,eAA6D,GAC7E,4BAA4B,EAAE,CAahC;AAED,gEAAgE;AAChE,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,eAAe,GAAE,eAA6D,GAC7E,mBAAmB,EAAE,CAiIvB"}
1
+ {"version":3,"file":"agent-hooks.d.ts","sourceRoot":"","sources":["../../src/init-deposit/agent-hooks.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,9 @@ import { containedChmod, containedRemove, containedRename, containedWrite, } fro
5
5
  import { DIRECT_WRITE_HOOK_MATCHER, GROK_MUTATION_TOOL_CATALOG, KILL_HOOK_MATCHER, MCP_HOOK_MATCHER, matcherHasLiteralToken, SHELL_HOOK_MATCHER, SPAWN_HOOK_MATCHER, } from "../hooks/tools.js";
6
6
  import { HOST_HOOKS_REMOVED_PRINTF_REFUSAL_CAN_CLEAR, isHostHookDepositEnabled, loadHostHooksPolicyFromProject, } from "../policy/host-hooks.js";
7
7
  import { inspectHookRuntimeTravel } from "./hook-runtime-travel.js";
8
+ import { HOST_HOOK_MISSING_PIN_PROJECT_PM_GUIDANCE, hostHookOuterCommand, hostHookOuterRelPath, hostHookOuterSha8, hostHookOuterSource, isHostHookOuterCommand, } from "./host-hook-outer.js";
8
9
  export { DIRECT_WRITE_HOOK_MATCHER, MCP_HOOK_MATCHER, SHELL_HOOK_MATCHER, SPAWN_HOOK_MATCHER, } from "../hooks/tools.js";
10
+ export { HOST_HOOK_MISSING_PIN_PROJECT_PM_GUIDANCE, HOST_HOOK_OUTER_PIN_HOOK_BIN_REL, hostHookOuterCommand, hostHookOuterFileName, hostHookOuterRelPath, hostHookOuterSha8, hostHookOuterSource, isHostHookOuterCommand, } from "./host-hook-outer.js";
9
11
  /** Legacy bare PATH marker — rewritten to PACKAGE_RELATIVE_HOOK_BIN on deposit (AC9.2). */
10
12
  export const DEFT_HOOK_COMMAND_MARKER = "deft-hook";
11
13
  export const LEGACY_DEFT_HOOK_COMMAND_MARKER = "deft hook:dispatch";
@@ -220,9 +222,11 @@ function command(bin, host, event) {
220
222
  return `${bin} --host ${host} --event ${event}`;
221
223
  }
222
224
  function isManagedHookCommand(commandText) {
223
- return (commandText.includes(PACKAGE_RELATIVE_HOOK_BIN) ||
225
+ return (isHostHookOuterCommand(commandText) ||
226
+ commandText.includes(PACKAGE_RELATIVE_HOOK_BIN) ||
224
227
  commandText.includes(DEFT_HOOK_COMMAND_MARKER) ||
225
- commandText.includes(LEGACY_DEFT_HOOK_COMMAND_MARKER));
228
+ commandText.includes(LEGACY_DEFT_HOOK_COMMAND_MARKER) ||
229
+ isGrokWrapperCommand(commandText));
226
230
  }
227
231
  function readConfig(path) {
228
232
  if (!existsSync(path))
@@ -285,10 +289,8 @@ function isManagedCursorEntry(value) {
285
289
  function isManagedCursorEntryForHost(value) {
286
290
  return isManagedCursorEntry(value);
287
291
  }
288
- /** Grok tool.before deposits the outer-deny wrapper (./ form, #5715); other nested events use bin (AC9.1). */
292
+ /** Nested hosts deposit pin-local hook-bin for every event, including Grok PreToolUse (#5956-A / AC9.1). */
289
293
  function nestedToolCommand(bin, host, event) {
290
- if (host === "grok" && event === "tool.before")
291
- return GROK_PRETOOLUSE_WRAPPER_COMMAND;
292
294
  return command(bin, host, event);
293
295
  }
294
296
  /** True for both ./COMMAND and legacy REL_PATH deposits (marker substring). */
@@ -452,30 +454,32 @@ function writeJsonIfChanged(projectRoot, path, payload, kind) {
452
454
  export function writeAgentHookDeposit(projectRoot, io = { printf: () => undefined }, hostHooksPolicy = loadHostHooksPolicyFromProject(projectRoot), travelSeams = {}) {
453
455
  const changedPaths = [];
454
456
  const strippedPaths = [];
455
- const bin = resolveAgentHookCommandBin(projectRoot);
457
+ const outerSource = hostHookOuterSource();
458
+ const outerSha8 = hostHookOuterSha8(outerSource);
459
+ const binFor = (host) => hostHookOuterCommand(host, outerSha8);
456
460
  const definitions = [
457
461
  {
458
462
  host: "claude",
459
463
  path: AGENT_HOOK_PATHS[0],
460
- merge: (config, path) => mergeNestedConfig(config, path, "claude", bin, { compact: true }),
464
+ merge: (config, path) => mergeNestedConfig(config, path, "claude", binFor("claude"), { compact: true }),
461
465
  strip: (config, path) => stripManagedNestedConfig(config, path, "claude"),
462
466
  },
463
467
  {
464
468
  host: "grok",
465
469
  path: AGENT_HOOK_PATHS[1],
466
- merge: (config, path) => mergeNestedConfig(config, path, "grok", bin, { compact: true }),
470
+ merge: (config, path) => mergeNestedConfig(config, path, "grok", binFor("grok"), { compact: true }),
467
471
  strip: (config, path) => stripManagedNestedConfig(config, path, "grok"),
468
472
  },
469
473
  {
470
474
  host: "cursor",
471
475
  path: AGENT_HOOK_PATHS[2],
472
- merge: (config, path) => mergeCursorConfig(config, path, bin),
476
+ merge: (config, path) => mergeCursorConfig(config, path, binFor("cursor")),
473
477
  strip: stripManagedCursorConfig,
474
478
  },
475
479
  {
476
480
  host: "codex",
477
481
  path: AGENT_HOOK_PATHS[3],
478
- merge: (config, path) => mergeNestedConfig(config, path, "codex", bin, { compact: false }),
482
+ merge: (config, path) => mergeNestedConfig(config, path, "codex", binFor("codex"), { compact: false }),
479
483
  strip: (config, path) => stripManagedNestedConfig(config, path, "codex"),
480
484
  },
481
485
  ];
@@ -509,42 +513,41 @@ export function writeAgentHookDeposit(projectRoot, io = { printf: () => undefine
509
513
  changedPaths.push(item.path);
510
514
  }
511
515
  }
512
- // #5656: deposit or strip the Grok PreToolUse outer-deny wrapper beside deft.json.
513
- const grokWrapperAbs = join(projectRoot, GROK_PRETOOLUSE_WRAPPER_REL_PATH);
514
- assertDepositContained(projectRoot, grokWrapperAbs);
515
- if (isHostHookDepositEnabled("grok", hostHooksPolicy)) {
516
- const wrapperBody = grokPretooluseWrapperScriptSource();
517
- const previous = existsSync(grokWrapperAbs) ? readFileSync(grokWrapperAbs, "utf8") : null;
518
- if (previous !== wrapperBody) {
519
- containedWrite({
520
- root: resolve(projectRoot),
521
- target: grokWrapperAbs,
522
- data: wrapperBody,
523
- mode: "replace",
524
- mutation: { kind: "wrote", path: GROK_PRETOOLUSE_WRAPPER_REL_PATH },
525
- });
526
- // containedWrite opens 0o644; nestedToolCommand invokes the script directly.
527
- containedChmod({
528
- root: resolve(projectRoot),
529
- target: grokWrapperAbs,
530
- mode: 0o755,
531
- mutation: { path: GROK_PRETOOLUSE_WRAPPER_REL_PATH },
532
- });
533
- if (!changedPaths.includes(AGENT_HOOK_PATHS[1])) {
534
- changedPaths.push(AGENT_HOOK_PATHS[1]);
516
+ // #5994 / AC9.1: deposit content-hashed host `.mjs` outer; remove legacy Grok `.sh`.
517
+ for (const host of ["claude", "grok", "cursor", "codex"]) {
518
+ const rel = hostHookOuterRelPath(host, outerSha8);
519
+ const abs = join(projectRoot, rel);
520
+ assertDepositContained(projectRoot, abs);
521
+ if (isHostHookDepositEnabled(host, hostHooksPolicy)) {
522
+ const previous = existsSync(abs) ? readFileSync(abs, "utf8") : null;
523
+ if (previous !== outerSource) {
524
+ containedWrite({
525
+ root: resolve(projectRoot),
526
+ target: abs,
527
+ data: outerSource,
528
+ mode: "replace",
529
+ mutation: { kind: "wrote", path: rel },
530
+ });
531
+ const hostPath = AGENT_HOOK_PATH_BY_HOST[host];
532
+ if (hostPath && !changedPaths.includes(hostPath))
533
+ changedPaths.push(hostPath);
535
534
  }
536
535
  }
537
- else if (existsSync(grokWrapperAbs)) {
538
- // Refresh execute bit on already-current body (fresh POSIX clones / 0o644).
539
- containedChmod({
540
- root: resolve(projectRoot),
541
- target: grokWrapperAbs,
542
- mode: 0o755,
543
- mutation: { path: GROK_PRETOOLUSE_WRAPPER_REL_PATH },
544
- });
536
+ else if (existsSync(abs)) {
537
+ if (containedRemove({
538
+ root: projectRoot,
539
+ target: abs,
540
+ mutation: { path: rel },
541
+ }).removed) {
542
+ const hostPath = AGENT_HOOK_PATH_BY_HOST[host];
543
+ if (hostPath && !strippedPaths.includes(hostPath))
544
+ strippedPaths.push(hostPath);
545
+ }
545
546
  }
546
547
  }
547
- else if (existsSync(grokWrapperAbs)) {
548
+ const grokWrapperAbs = join(projectRoot, GROK_PRETOOLUSE_WRAPPER_REL_PATH);
549
+ assertDepositContained(projectRoot, grokWrapperAbs);
550
+ if (existsSync(grokWrapperAbs)) {
548
551
  if (containedRemove({
549
552
  root: projectRoot,
550
553
  target: grokWrapperAbs,
@@ -726,7 +729,7 @@ export function depositedPreToolUseMatchers(projectRoot, host) {
726
729
  }
727
730
  /** SessionStart-only registration probe for kill-switch doctor notice (#4884). */
728
731
  export function inspectSessionStartNotice(projectRoot, hostHooksPolicy = loadHostHooksPolicyFromProject(projectRoot)) {
729
- const bin = resolveAgentHookCommandBin(projectRoot);
732
+ const outerSha8 = hostHookOuterSha8();
730
733
  return Object.keys(AGENT_HOOK_PATH_BY_HOST).map((host) => {
731
734
  if (!isHostHookDepositEnabled(host, hostHooksPolicy)) {
732
735
  return { host, registered: false };
@@ -736,36 +739,40 @@ export function inspectSessionStartNotice(projectRoot, hostHooksPolicy = loadHos
736
739
  return { host, registered: false };
737
740
  }
738
741
  const config = readConfig(absolute);
739
- return { host, registered: hasSessionStartRegistration(config, host, bin) };
742
+ return {
743
+ host,
744
+ registered: hasSessionStartRegistration(config, host, hostHookOuterCommand(host, outerSha8)),
745
+ };
740
746
  });
741
747
  }
742
748
  /** Read-only registration probe shared by verify and doctor. */
743
749
  export function inspectAgentHookDeposit(projectRoot, hostHooksPolicy = loadHostHooksPolicyFromProject(projectRoot)) {
744
- const bin = resolveAgentHookCommandBin(projectRoot);
750
+ const outerSha8 = hostHookOuterSha8();
751
+ const binFor = (host) => hostHookOuterCommand(host, outerSha8);
745
752
  const definitions = [
746
753
  {
747
754
  host: "claude",
748
755
  path: AGENT_HOOK_PATHS[0],
749
756
  compactSupport: "deposited",
750
- valid: (config) => hasNestedRegistration(config, "claude", bin, { compact: true }),
757
+ valid: (config) => hasNestedRegistration(config, "claude", binFor("claude"), { compact: true }),
751
758
  },
752
759
  {
753
760
  host: "grok",
754
761
  path: AGENT_HOOK_PATHS[1],
755
762
  compactSupport: "deposited",
756
- valid: (config) => hasNestedRegistration(config, "grok", bin, { compact: true }),
763
+ valid: (config) => hasNestedRegistration(config, "grok", binFor("grok"), { compact: true }),
757
764
  },
758
765
  {
759
766
  host: "cursor",
760
767
  path: AGENT_HOOK_PATHS[2],
761
768
  compactSupport: "deposited",
762
- valid: (config) => hasCursorRegistration(config, bin),
769
+ valid: (config) => hasCursorRegistration(config, binFor("cursor")),
763
770
  },
764
771
  {
765
772
  host: "codex",
766
773
  path: AGENT_HOOK_PATHS[3],
767
774
  compactSupport: "unsupported",
768
- valid: (config) => hasNestedRegistration(config, "codex", bin, { compact: false }),
775
+ valid: (config) => hasNestedRegistration(config, "codex", binFor("codex"), { compact: false }),
769
776
  },
770
777
  ];
771
778
  return definitions.map((definition) => {
@@ -793,35 +800,31 @@ export function inspectAgentHookDeposit(projectRoot, hostHooksPolicy = loadHostH
793
800
  }
794
801
  try {
795
802
  const config = readConfig(absolute);
796
- // #5656: Grok PreToolUse points at the wrapper script; missing wrapper is not healthy.
797
- // #5715: command must resolve beside deft.json (./ form); REL_PATH doubles under .grok/hooks/.
798
- if (definition.host === "grok") {
799
- const wrapperAbs = join(projectRoot, GROK_PRETOOLUSE_WRAPPER_REL_PATH);
800
- const hooksDir = dirname(absolute);
801
- if (!existsSync(wrapperAbs)) {
802
- return {
803
- host: definition.host,
804
- path: definition.path,
805
- status: "drifted",
806
- compactSupport: definition.compactSupport,
807
- detail: `${GROK_PRETOOLUSE_WRAPPER_REL_PATH} is missing while ${definition.path} is registered. ` +
808
- "Recovery: run `directive install --repair` / `writeAgentHookDeposit` so the outer-deny wrapper is redeposited, then start a new Grok session." +
809
- compactNote,
810
- };
811
- }
803
+ // #5994 / F2: host commands must be deft-hook-<sha8>.mjs; .sh and direct hook-bin are legacy.
804
+ {
812
805
  const hooks = object(config.hooks);
813
- const preTool = Array.isArray(hooks?.PreToolUse) ? hooks.PreToolUse : [];
814
- const wrapperCommands = preTool.flatMap((entry) => nestedCommands(entry).filter((cmd) => isGrokWrapperCommand(cmd)));
815
- const commandMissesBesideHooks = wrapperCommands.some((cmd) => resolve(hooksDir, cmd) !== wrapperAbs);
816
- if (commandMissesBesideHooks) {
806
+ const managedCmds = [
807
+ ...(Array.isArray(hooks?.PreToolUse) ? hooks.PreToolUse : []),
808
+ ...(Array.isArray(hooks?.SessionStart) ? hooks.SessionStart : []),
809
+ ...(Array.isArray(hooks?.preToolUse) ? hooks.preToolUse : []),
810
+ ...(Array.isArray(hooks?.sessionStart) ? hooks.sessionStart : []),
811
+ ].flatMap((entry) => {
812
+ const direct = object(entry);
813
+ if (typeof direct?.command === "string")
814
+ return [direct.command];
815
+ return nestedCommands(entry);
816
+ });
817
+ const legacy = managedCmds.filter((cmd) => isGrokWrapperCommand(cmd) ||
818
+ cmd.includes(PACKAGE_RELATIVE_HOOK_BIN) ||
819
+ (isManagedHookCommand(cmd) && !isHostHookOuterCommand(cmd)));
820
+ if (legacy.length > 0) {
817
821
  return {
818
822
  host: definition.host,
819
823
  path: definition.path,
820
824
  status: "drifted",
821
825
  compactSupport: definition.compactSupport,
822
- detail: `Grok PreToolUse wrapper command does not resolve beside ${definition.path} ` +
823
- `(expected ${GROK_PRETOOLUSE_WRAPPER_COMMAND}; repo-root ${GROK_PRETOOLUSE_WRAPPER_REL_PATH} doubles under .grok/hooks/). ` +
824
- "Recovery: run `directive install --repair` / redeposit, then start a new Grok session." +
826
+ detail: `Host hooks still register legacy form (expected node …/deft-hook-<sha8>.mjs — #5994 / AC9.1). ` +
827
+ "Recovery: run `directive install --repair` / redeposit, then start a new agent session." +
825
828
  compactNote,
826
829
  };
827
830
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent-hooks.js","sourceRoot":"","sources":["../../src/init-deposit/agent-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EACL,cAAc,EACd,eAAe,EACf,eAAe,EACf,cAAc,GACf,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,2CAA2C,EAE3C,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAA+B,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEjG,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,2FAA2F;AAC3F,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAAC;AACpD,MAAM,CAAC,MAAM,+BAA+B,GAAG,oBAAoB,CAAC;AACpE,+EAA+E;AAC/E,MAAM,CAAC,MAAM,yBAAyB,GACpC,8DAA8D,CAAC;AAEjE;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,WAAmB;IAC5D,MAAM,OAAO,GAAG,IAAI,CAClB,OAAO,CAAC,WAAW,CAAC,EACpB,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,MAAM,EACN,aAAa,CACd,CAAC;IACF,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,wBAAwB,CAAC;AACpF,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,uBAAuB;IACvB,uBAAuB;IACvB,oBAAoB;IACpB,mBAAmB;CACX,CAAC;AAEX;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,wCAAwC,CAAC;AACzF,MAAM,CAAC,MAAM,8BAA8B,GAAG,4BAA4B,CAAC;AAC3E,2EAA2E;AAC3E,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK,8BAA8B,EAAE,CAAC;AAErF,wEAAwE;AACxE,MAAM,CAAC,MAAM,4BAA4B,GACvC,yDAAyD,CAAC;AAE5D,MAAM,CAAC,MAAM,yBAAyB,GACpC,mEAAmE;IACnE,IAAI,4BAA4B,0BAA0B;IAC1D,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E,CAAC;AAE/E,MAAM,CAAC,MAAM,6BAA6B,GACxC,2EAA2E;IAC3E,0EAA0E;IAC1E,2BAA2B,CAAC;AAO9B;;;;;GAKG;AACH,MAAM,UAAU,oCAAoC,CAAC,KAKpD;IACC,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,kBAAkB,KAAK,KAAK,EAAE,CAAC;QACpE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC;IAC7D,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;QAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;IACjE,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,wFAAwF;IACxF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACrE,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;QACjE,CAAC;QACD,MAAM,QAAQ,GAAI,MAAkC,CAAC,QAAQ,CAAC;QAC9D,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YAChD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;QACjE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;IACjE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;AACzC,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,iCAAiC;IAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC;IAC5F,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;QACrC,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,6BAA6B;KACtC,CAAC,CAAC;IACH,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,4BAA4B,CAAC;IAC5C,MAAM,KAAK,GAAG;QACZ,mBAAmB;QACnB,2EAA2E;QAC3E,sDAAsD;QACtD,YAAY,MAAM,kCAAkC;QACpD,qCAAqC;QACrC,6EAA6E;QAC7E,oFAAoF;QACpF,SAAS;QACT,iBAAiB,CAAC,CAAC,WAAW,CAAC,GAAG;QAClC,qBAAqB,CAAC,CAAC,eAAe,CAAC,GAAG;QAC1C,YAAY,MAAM,GAAG;QACrB,EAAE;QACF,8BAA8B;QAC9B,oCAAoC;QACpC,UAAU;QACV,IAAI;QACJ,4CAA4C;QAC5C,oCAAoC;QACpC,UAAU;QACV,IAAI;QACJ,EAAE;QACF,oFAAoF;QACpF,oEAAoE;QACpE,yCAAyC;QACzC,QAAQ;QACR,yDAAyD;QACzD,SAAS;QACT,QAAQ;QACR,2BAA2B;QAC3B,EAAE;QACF,4BAA4B;QAC5B,wCAAwC;QACxC,UAAU;QACV,IAAI;QACJ,EAAE;QACF,iGAAiG;QACjG,4BAA4B;QAC5B,6DAA6D;QAC7D,UAAU;QACV,IAAI;QACJ,EAAE;QACF,2EAA2E;QAC3E,4EAA4E;QAC5E,0CAA0C;QAC1C,0CAA0C;YACxC,0EAA0E;YAC1E,yEAAyE;YACzE,gFAAgF;YAChF,kDAAkD;QACpD,6BAA6B;QAC7B,YAAY;QACZ,MAAM;QACN,wCAAwC;QACxC,UAAU;QACV,IAAI;QACJ,8EAA8E;QAC9E,sCAAsC;QACtC,QAAQ;QACR,EAAE;KACH,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,kCAAkC,CAAC;AAErF,kFAAkF;AAClF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAI7C;;;;GAIG;AACH,MAAM,wBAAwB,GAAG;IAC/B,yBAAyB;IACzB,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;CACR,CAAC;AAEX,yFAAyF;AACzF,MAAM,gCAAgC,GAAG;IACvC,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;CACR,CAAC;AAEX,+EAA+E;AAC/E,MAAM,CAAC,MAAM,uBAAuB,GAA8C;IAChF,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC3B,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACzB,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;CAC3B,CAAC;AA0BF,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,4DAA4D;AAC5D,SAAS,OAAO,CAAC,GAAW,EAAE,IAAc,EAAE,KAAgB;IAC5D,OAAO,GAAG,GAAG,WAAW,IAAI,YAAY,KAAK,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAmB;IAC/C,OAAO,CACL,WAAW,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QAC/C,WAAW,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAC9C,WAAW,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CACtD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,iEAAiE,KAAK,EAAE,CAChF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,wEAAwE,CAChF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,MAA+B,EAAE,IAAY;IAChE,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,gCAAgC,CAAC,CAAC;IAC7E,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAA8B,EAAE,GAAW,EAAE,IAAY;IAC3E,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,WAAW,GAAG,oBAAoB,CAAC,CAAC;IACtF,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7D,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/B,OAAO,OAAO,IAAI,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAC/B,CAAC,WAAW,EAAE,EAAE,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,oBAAoB,CAAC,WAAW,CAAC,CACxF,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAc,EAAE,IAAoB;IACvE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;QAChD,IAAI,IAAI,KAAK,MAAM,IAAI,oBAAoB,CAAC,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QACtE,OAAO,oBAAoB,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACrD,OAAO,CACL,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAC9F,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAc;IACjD,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAID,8GAA8G;AAC9G,SAAS,iBAAiB,CAAC,GAAW,EAAE,IAAoB,EAAE,KAAgB;IAC5E,IAAI,IAAI,KAAK,MAAM,IAAI,KAAK,KAAK,aAAa;QAAE,OAAO,+BAA+B,CAAC;IACvF,OAAO,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAO,KAAK,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,WAAW,CAAC,GAAW,EAAE,IAAoB,EAAE,KAAgB,EAAE,OAAgB;IACxF,OAAO;QACL,GAAG,CAAC,KAAK,KAAK,aAAa,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC;gBAC5C,OAAO,EACL,KAAK,KAAK,aAAa;oBACrB,CAAC,CAAC,kCAAkC;oBACpC,CAAC,CAAC,2BAA2B;aAClC;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,MAA+B,EAC/B,IAAY,EACZ,IAAoB,EACpB,GAAW,EACX,UAAiC,EAAE;IAEnC,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,MAAM,CAC5D,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CACxC,CAAC;IACF,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,MAAM,CAC1D,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CACxC,CAAC;IACF,KAAK,CAAC,YAAY,GAAG,CAAC,GAAG,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;IAC3E,KAAK,CAAC,UAAU,GAAG;QACjB,GAAG,OAAO;QACV,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;KAC7F,CAAC;IACF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,MAAM,CAC7D,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CACxC,CAAC;QACF,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,MAAM,CAC/D,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CACxC,CAAC;QACF,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAC9E,KAAK,CAAC,WAAW,GAAG,CAAC,GAAG,WAAW,EAAE,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,wBAAwB,CAC/B,MAA+B,EAC/B,IAAY,EACZ,IAAoB;IAEpB,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,SAAS,GAA4B,EAAE,CAAC;IAC9C,KAAK,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,CAAU,EAAE,CAAC;QACvF,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC;YAAE,SAAS;QAC9B,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,MAAM,CAClD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,2BAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,CACrD,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IACrD,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,wBAAwB,CAC/B,MAA+B,EAC/B,IAAY;IAEZ,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,SAAS,GAA4B,EAAE,CAAC;IAC9C,KAAK,MAAM,GAAG,IAAI;QAChB,cAAc;QACd,YAAY;QACZ,YAAY;QACZ,oBAAoB;QACpB,oBAAoB;KACZ,EAAE,CAAC;QACX,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC;YAAE,SAAS;QAC9B,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,MAAM,CAClD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAC/C,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IACrD,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,iBAAiB,CACxB,MAA+B,EAC/B,IAAY,EACZ,GAAW;IAEX,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,MAAM,CAC5D,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CACxC,CAAC;IACF,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,MAAM,CAC1D,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CACxC,CAAC;IACF,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,MAAM,CAC7D,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CACxC,CAAC;IACF,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC,MAAM,CACvE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CACxC,CAAC;IACF,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC,MAAM,CACxE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CACxC,CAAC;IACF,KAAK,CAAC,YAAY,GAAG;QACnB,GAAG,OAAO;QACV;YACE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC;YAChD,OAAO,EAAE,mCAAmC;SAC7C;KACF,CAAC;IACF,KAAK,CAAC,UAAU,GAAG;QACjB,GAAG,OAAO;QACV,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC5C,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC;YAC9C,OAAO;YACP,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,kCAAkC;SAC5C,CAAC,CAAC;KACJ,CAAC;IACF,KAAK,CAAC,UAAU,GAAG;QACjB,GAAG,UAAU;QACb;YACE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,iBAAiB,CAAC;YAClD,OAAO,EAAE,mCAAmC;SAC7C;KACF,CAAC;IACF,KAAK,CAAC,kBAAkB,GAAG;QACzB,GAAG,YAAY;QACf;YACE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC;YAChD,OAAO,EAAE,mCAAmC;SAC7C;KACF,CAAC;IACF,KAAK,CAAC,kBAAkB,GAAG;QACzB,GAAG,aAAa;QAChB;YACE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,gBAAgB,CAAC;YACjD,OAAO,EAAE,mCAAmC;SAC7C;KACF,CAAC;IACF,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,kBAAkB,CACzB,WAAmB,EACnB,IAAY,EACZ,OAAgC,EAChC,IAA0B;IAE1B,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IACrD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC1E,qEAAqE;IACrE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,GAAG,MAAM,CAAC;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC;QACH,cAAc,CAAC;YACb,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC;YAC1B,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SACzB,CAAC,CAAC;QACH,eAAe,CAAC;YACd,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC;YAC1B,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC;YACH,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACtF,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,WAAmB,EACnB,KAAoB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,EAC/C,kBAAmC,8BAA8B,CAAC,WAAW,CAAC,EAC9E,cAAsC,EAAE;IAExC,MAAM,YAAY,GAAoB,EAAE,CAAC;IACzC,MAAM,aAAa,GAAoB,EAAE,CAAC;IAC1C,MAAM,GAAG,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,WAAW,GAKZ;QACH;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;YACzB,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC1F,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC;SAC1E;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;YACzB,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACxF,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC;SACxE;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;YACzB,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC;YAC7D,KAAK,EAAE,wBAAwB;SAChC;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;YACzB,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC1F,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;SACzE;KACF,CAAC;IAWF,MAAM,QAAQ,GAAoB,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACpD,sBAAsB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACnD,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,QAAQ;gBACR,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;aAC1D,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI,EAAE,OAAO;YACb,QAAQ;YACR,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;SAC1D,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,SAAS;QACnC,IACE,kBAAkB,CAChB,WAAW,EACX,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAC7C,EACD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;gBAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;gBACpD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,gCAAgC,CAAC,CAAC;IAC3E,sBAAsB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACpD,IAAI,wBAAwB,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC;QACtD,MAAM,WAAW,GAAG,iCAAiC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1F,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,cAAc,CAAC;gBACb,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC;gBAC1B,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gCAAgC,EAAE;aACpE,CAAC,CAAC;YACH,6EAA6E;YAC7E,cAAc,CAAC;gBACb,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC;gBAC1B,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,KAAK;gBACX,QAAQ,EAAE,EAAE,IAAI,EAAE,gCAAgC,EAAE;aACrD,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACtC,4EAA4E;YAC5E,cAAc,CAAC;gBACb,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC;gBAC1B,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,KAAK;gBACX,QAAQ,EAAE,EAAE,IAAI,EAAE,gCAAgC,EAAE;aACrD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACtC,IACE,eAAe,CAAC;YACd,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,EAAE,IAAI,EAAE,gCAAgC,EAAE;SACrD,CAAC,CAAC,OAAO,EACV,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,GAAG;QACzB,4CAA4C;QAC5C,iDAAiD;KACzC,CAAC;IACX,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC7C,sBAAsB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YACrE,eAAe,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,EAAE,CAAC,MAAM,CAAC,oCAAoC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,EAAE,CAAC,MAAM,CACP,0EAA0E,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,2CAA2C,IAAI,CACvJ,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;QACrF,EAAE,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC;IACxD,CAAC;IACD,6EAA6E;IAC7E,8EAA8E;IAC9E,+BAA+B;IAC/B,MAAM,MAAM,GAAG,wBAAwB,CACrC,WAAW,EACX,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,EACnF,eAAe,EACf,WAAW,CACZ,CAAC;IACF,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI;QAAE,EAAE,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;IAC9D,OAAO;QACL,OAAO,EAAE,YAAY,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,eAAe,GAAG,CAAC;QACzE,YAAY,EAAE,CAAC,GAAG,YAAY,EAAE,GAAG,aAAa,CAAC;KAClD,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAA+B,EAC/B,IAAoB,EACpB,GAAW;IAEX,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACjC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,KAAK,EAAE,OAAO,KAAK,SAAS,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,MAA+B,EAAE,GAAW;IACzE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,OAAO,OAAO,CAAC,IAAI,CACjB,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,CAC9E,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,MAA+B,EAC/B,IAAc,EACd,GAAW;IAEX,OAAO,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC;QACpC,CAAC,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED,wFAAwF;AACxF,SAAS,yBAAyB,CAAC,KAAc,EAAE,WAAmB;IACpE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;QACpC,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/B,OAAO,CACL,OAAO,IAAI,EAAE,OAAO,KAAK,QAAQ;YACjC,IAAI,CAAC,OAAO,KAAK,WAAW;YAC5B,IAAI,CAAC,OAAO,KAAK,kCAAkC,CACpD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAA2B,EAC3B,WAAmB,EACnB,QAA2B;IAE3B,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAChC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,CACL,KAAK,EAAE,OAAO,KAAK,OAAO;YAC1B,cAAc,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC3C,yBAAyB,CAAC,KAAK,EAAE,WAAW,CAAC,CAC9C,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,8BAA8B,CAAC,OAA2B,EAAE,WAAmB;IACtF,OAAO,0BAA0B,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,CAAC;QAC/B,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ;YAC3B,cAAc,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC3C,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC;YACtC,yBAAyB,CAAC,KAAK,EAAE,WAAW,CAAC,CAC9C,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAA+B,EAC/B,IAAoB,EACpB,GAAW,EACX,UAAiC,EAAE;IAEnC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACjC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAC7D,MAAM,SAAS,GACb,IAAI,KAAK,MAAM;QACb,CAAC,CAAC,8BAA8B,CAAC,OAAO,EAAE,WAAW,CAAC;YACpD,uBAAuB,CAAC,OAAO,EAAE,WAAW,EAAE,gCAAgC,CAAC;QACjF,CAAC,CAAC,uBAAuB,CAAC,OAAO,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC;IACnE,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,CAAC,OAAO,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,OAAO,CACL,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC1E,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAC5E,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc,EAAE,OAAe,EAAE,GAAW;IAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,CACL,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC;QACvD,IAAI,CAAC,OAAO,KAAK,OAAO;QACxB,IAAI,CAAC,UAAU,KAAK,IAAI;QACxB,qEAAqE;QACrE,IAAI,CAAC,OAAO,KAAK,kCAAkC,CACpD,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,MAA+B,EAAE,GAAW;IACzE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,OAAO,CACL,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC;QAClC,wBAAwB,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CACzC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CACtE;QACD,UAAU,CAAC,IAAI,CACb,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAChF;QACD,YAAY,CAAC,IAAI,CACf,CAAC,KAAK,EAAE,EAAE,CACR,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC;YAClE,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,mCAAmC;YAC9D,MAAM,CAAC,KAAK,CAAC,EAAE,UAAU,KAAK,IAAI,CACrC;QACD,aAAa,CAAC,IAAI,CAChB,CAAC,KAAK,EAAE,EAAE,CACR,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,gBAAgB,CAAC;YACnE,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,mCAAmC;YAC9D,MAAM,CAAC,KAAK,CAAC,EAAE,UAAU,KAAK,IAAI,CACrC,CACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CACzC,WAAmB,EACnB,IAAc;IAEd,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,MAA+B,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,CAAC,KAAc,EAAY,EAAE;QAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QACvC,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,CAAC,CAAC;IACF,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,OAAO,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,2BAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAChG,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,yBAAyB,CACvC,WAAmB,EACnB,kBAAmC,8BAA8B,CAAC,WAAW,CAAC;IAE9E,MAAM,GAAG,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC;IACpD,OAAQ,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACvE,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;YACrD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QACrC,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QACrC,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,2BAA2B,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,uBAAuB,CACrC,WAAmB,EACnB,kBAAmC,8BAA8B,CAAC,WAAW,CAAC;IAE9E,MAAM,GAAG,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,WAAW,GAKZ;QACH;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;YACzB,cAAc,EAAE,WAAW;YAC3B,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SACnF;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;YACzB,cAAc,EAAE,WAAW;YAC3B,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SACjF;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;YACzB,cAAc,EAAE,WAAW;YAC3B,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC;SACtD;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;YACzB,cAAc,EAAE,aAAa;YAC7B,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;SACnF;KACF,CAAC;IAEF,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,WAAW,GACf,UAAU,CAAC,cAAc,KAAK,aAAa;YACzC,CAAC,CAAC,8EAA8E;YAChF,CAAC,CAAC,oEAAoE,CAAC;QAC3E,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;YAChE,OAAO;gBACL,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,UAAU,CAAC,cAAc;gBACzC,MAAM,EAAE,yBAAyB,UAAU,CAAC,IAAI,8DAA8D;aAC/G,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,MAAM,EAAE,SAAS;gBACjB,cAAc,EAAE,UAAU,CAAC,cAAc;gBACzC,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,eAAe,WAAW,EAAE;aACvD,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YACpC,uFAAuF;YACvF,+FAA+F;YAC/F,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,gCAAgC,CAAC,CAAC;gBACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACnC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC5B,OAAO;wBACL,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,MAAM,EAAE,SAAS;wBACjB,cAAc,EAAE,UAAU,CAAC,cAAc;wBACzC,MAAM,EACJ,GAAG,gCAAgC,qBAAqB,UAAU,CAAC,IAAI,kBAAkB;4BACzF,+IAA+I;4BAC/I,WAAW;qBACd,CAAC;gBACJ,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAChD,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CACjE,CAAC;gBACF,MAAM,wBAAwB,GAAG,eAAe,CAAC,IAAI,CACnD,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,UAAU,CAC/C,CAAC;gBACF,IAAI,wBAAwB,EAAE,CAAC;oBAC7B,OAAO;wBACL,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,MAAM,EAAE,SAAS;wBACjB,cAAc,EAAE,UAAU,CAAC,cAAc;wBACzC,MAAM,EACJ,2DAA2D,UAAU,CAAC,IAAI,GAAG;4BAC7E,aAAa,+BAA+B,eAAe,gCAAgC,gCAAgC;4BAC3H,wFAAwF;4BACxF,WAAW;qBACd,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,OAAO;oBACL,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,MAAM,EAAE,SAAS;oBACjB,cAAc,EAAE,UAAU,CAAC,cAAc;oBACzC,MAAM,EACJ,sIAAsI;wBACtI,CAAC,UAAU,CAAC,cAAc,KAAK,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnE,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,MAAM,EAAE,SAAS;gBACjB,cAAc,EAAE,UAAU,CAAC,cAAc;gBACzC,MAAM,EACJ,2GAA2G;oBAC3G,WAAW;aACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,MAAM,EAAE,SAAS;gBACjB,cAAc,EAAE,UAAU,CAAC,cAAc;gBACzC,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,EAAE;aACzC,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"agent-hooks.js","sourceRoot":"","sources":["../../src/init-deposit/agent-hooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * v261027 thin host `.mjs` outer (#5994 / AC9.1 / AC9.12).
3
+ *
4
+ * Registered host command is `node <deposit>/deft-hook-<sha8>.mjs …`.
5
+ * Outer uses Node built-ins only until entry guards pass, then spawns pin
6
+ * `hook-bin.js`. No timeout logic in the outer (#5920 / #5988 out of scope).
7
+ */
8
+ import type { HookHost } from "../hooks/dispatcher.js";
9
+ /** Project-PM guidance for missing pin (⊗ AC9.7 INSTALLATION_RECOVERY_GUIDANCE). */
10
+ export declare const HOST_HOOK_MISSING_PIN_PROJECT_PM_GUIDANCE: string;
11
+ export declare const HOST_HOOK_OUTER_PIN_HOOK_BIN_REL = "node_modules/@deftai/directive-runtime/dist/hook-bin.js";
12
+ /** Filename stem + content-hash suffix (AC9.1). */
13
+ export declare function hostHookOuterFileName(sha8: string): string;
14
+ /** Deposit-relative path for the committed outer (per host). */
15
+ export declare function hostHookOuterRelPath(host: HookHost, sha8: string): string;
16
+ /** Registered command prefix: `node <rel>` (host/event args appended by callers). */
17
+ export declare function hostHookOuterCommand(host: HookHost, sha8: string): string;
18
+ export declare function hostHookOuterSha8(source?: string): string;
19
+ /** True when a registered command string is the v261027 `.mjs` outer form. */
20
+ export declare function isHostHookOuterCommand(commandText: string): boolean;
21
+ /**
22
+ * Pure ESM outer source deposited under each host dir.
23
+ * Keep this string the SoT for sha8; tests assert F1 order + messaging.
24
+ */
25
+ export declare function hostHookOuterSource(): string;
26
+ //# sourceMappingURL=host-hook-outer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-hook-outer.d.ts","sourceRoot":"","sources":["../../src/init-deposit/host-hook-outer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,oFAAoF;AACpF,eAAO,MAAM,yCAAyC,QAEQ,CAAC;AAE/D,eAAO,MAAM,gCAAgC,4DACc,CAAC;AAE5D,mDAAmD;AACnD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,gEAAgE;AAChE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAgBzE;AAED,qFAAqF;AACrF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,MAA8B,GAAG,MAAM,CAEhF;AAED,8EAA8E;AAC9E,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CA2G5C"}
@@ -0,0 +1,158 @@
1
+ /**
2
+ * v261027 thin host `.mjs` outer (#5994 / AC9.1 / AC9.12).
3
+ *
4
+ * Registered host command is `node <deposit>/deft-hook-<sha8>.mjs …`.
5
+ * Outer uses Node built-ins only until entry guards pass, then spawns pin
6
+ * `hook-bin.js`. No timeout logic in the outer (#5920 / #5988 out of scope).
7
+ */
8
+ import { createHash } from "node:crypto";
9
+ /** Project-PM guidance for missing pin (⊗ AC9.7 INSTALLATION_RECOVERY_GUIDANCE). */
10
+ export const HOST_HOOK_MISSING_PIN_PROJECT_PM_GUIDANCE = "Directive hooks: missing node_modules/@deftai/directive-runtime. " +
11
+ "Run npm install or pnpm install (or yarn) in this project.";
12
+ export const HOST_HOOK_OUTER_PIN_HOOK_BIN_REL = "node_modules/@deftai/directive-runtime/dist/hook-bin.js";
13
+ /** Filename stem + content-hash suffix (AC9.1). */
14
+ export function hostHookOuterFileName(sha8) {
15
+ return `deft-hook-${sha8}.mjs`;
16
+ }
17
+ /** Deposit-relative path for the committed outer (per host). */
18
+ export function hostHookOuterRelPath(host, sha8) {
19
+ const name = hostHookOuterFileName(sha8);
20
+ switch (host) {
21
+ case "grok":
22
+ return `.grok/hooks/${name}`;
23
+ case "cursor":
24
+ return `.cursor/hooks/${name}`;
25
+ case "claude":
26
+ return `.claude/${name}`;
27
+ case "codex":
28
+ return `.codex/${name}`;
29
+ default: {
30
+ const _exhaustive = host;
31
+ return _exhaustive;
32
+ }
33
+ }
34
+ }
35
+ /** Registered command prefix: `node <rel>` (host/event args appended by callers). */
36
+ export function hostHookOuterCommand(host, sha8) {
37
+ return `node ${hostHookOuterRelPath(host, sha8)}`;
38
+ }
39
+ export function hostHookOuterSha8(source = hostHookOuterSource()) {
40
+ return createHash("sha256").update(source, "utf8").digest("hex").slice(0, 8);
41
+ }
42
+ /** True when a registered command string is the v261027 `.mjs` outer form. */
43
+ export function isHostHookOuterCommand(commandText) {
44
+ return /(?:^|[\s/])deft-hook-[a-f0-9]{8}\.mjs(?:\s|$)/.test(commandText);
45
+ }
46
+ /**
47
+ * Pure ESM outer source deposited under each host dir.
48
+ * Keep this string the SoT for sha8; tests assert F1 order + messaging.
49
+ */
50
+ export function hostHookOuterSource() {
51
+ const guidance = HOST_HOOK_MISSING_PIN_PROJECT_PM_GUIDANCE;
52
+ const pinRel = HOST_HOOK_OUTER_PIN_HOOK_BIN_REL;
53
+ return `#!/usr/bin/env node
54
+ /**
55
+ * Directive host-hook outer (v261027 / #5994). Node built-ins only until guards pass.
56
+ * F1 order: disable → missing pin (project PM) → spawn pin hook-bin.js.
57
+ */
58
+ import { existsSync, lstatSync } from "node:fs";
59
+ import { dirname, join, resolve } from "node:path";
60
+ import { fileURLToPath } from "node:url";
61
+ import { spawnSync } from "node:child_process";
62
+
63
+ const GUIDANCE = ${JSON.stringify(guidance)};
64
+ const PIN_REL = ${JSON.stringify(pinRel)};
65
+ const FLAG = ".deft-directive-disable";
66
+
67
+ const here = dirname(fileURLToPath(import.meta.url));
68
+
69
+ function findProjectRoot(start) {
70
+ let dir = resolve(start);
71
+ for (;;) {
72
+ if (existsSync(join(dir, "package.json")) || existsSync(join(dir, ".git"))) {
73
+ return dir;
74
+ }
75
+ const parent = dirname(dir);
76
+ if (parent === dir) return resolve(start, "../..");
77
+ dir = parent;
78
+ }
79
+ }
80
+
81
+ function parseHost(argv) {
82
+ for (let i = 0; i < argv.length; i++) {
83
+ if (argv[i] === "--host" && argv[i + 1]) return argv[i + 1];
84
+ }
85
+ return "";
86
+ }
87
+
88
+ function isSymlink(path) {
89
+ try {
90
+ return lstatSync(path).isSymbolicLink();
91
+ } catch {
92
+ return false;
93
+ }
94
+ }
95
+
96
+ function isGitTracked(root, rel) {
97
+ const r = spawnSync("git", ["-C", root, "ls-files", "--error-unmatch", "--", rel], {
98
+ stdio: ["ignore", "ignore", "ignore"],
99
+ });
100
+ return r.status === 0;
101
+ }
102
+
103
+ function quietAllow() {
104
+ process.exit(0);
105
+ }
106
+
107
+ function failClosedUnusablePin(host, detail) {
108
+ if (detail) {
109
+ process.stderr.write(detail + "\\n");
110
+ }
111
+ if (host === "grok") {
112
+ process.stdout.write(JSON.stringify({ decision: "deny", reason: GUIDANCE }) + "\\n");
113
+ process.exit(0);
114
+ }
115
+ process.stderr.write(GUIDANCE + "\\n");
116
+ process.exit(1);
117
+ }
118
+
119
+ const root = findProjectRoot(here);
120
+ const argv = process.argv.slice(2);
121
+ const host = parseHost(argv);
122
+
123
+ const killPath = join(root, FLAG);
124
+ if (existsSync(killPath) && !isSymlink(killPath) && !isGitTracked(root, FLAG)) {
125
+ quietAllow();
126
+ }
127
+
128
+ const pin = join(root, PIN_REL);
129
+ if (!existsSync(pin)) {
130
+ failClosedUnusablePin(host, "");
131
+ }
132
+
133
+ const child = spawnSync(process.execPath, [pin, ...argv], {
134
+ cwd: root,
135
+ env: process.env,
136
+ stdio: "inherit",
137
+ });
138
+ if (child.error) {
139
+ failClosedUnusablePin(
140
+ host,
141
+ "Directive hooks: failed to spawn pin hook-bin: " + child.error.message,
142
+ );
143
+ }
144
+ if (child.status === null) {
145
+ failClosedUnusablePin(
146
+ host,
147
+ "Directive hooks: pin hook-bin terminated without an exit status",
148
+ );
149
+ }
150
+ if (child.status !== 0) {
151
+ // Exists-but-unusable (e.g. broken import): Grok needs an explicit deny JSON
152
+ // when the child did not emit a decision (#5994 / Greptile P1).
153
+ failClosedUnusablePin(host, "");
154
+ }
155
+ process.exit(0);
156
+ `;
157
+ }
158
+ //# sourceMappingURL=host-hook-outer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-hook-outer.js","sourceRoot":"","sources":["../../src/init-deposit/host-hook-outer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,oFAAoF;AACpF,MAAM,CAAC,MAAM,yCAAyC,GACpD,mEAAmE;IACnE,4DAA4D,CAAC;AAE/D,MAAM,CAAC,MAAM,gCAAgC,GAC3C,yDAAyD,CAAC;AAE5D,mDAAmD;AACnD,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,OAAO,aAAa,IAAI,MAAM,CAAC;AACjC,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,oBAAoB,CAAC,IAAc,EAAE,IAAY;IAC/D,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACzC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,eAAe,IAAI,EAAE,CAAC;QAC/B,KAAK,QAAQ;YACX,OAAO,iBAAiB,IAAI,EAAE,CAAC;QACjC,KAAK,QAAQ;YACX,OAAO,WAAW,IAAI,EAAE,CAAC;QAC3B,KAAK,OAAO;YACV,OAAO,UAAU,IAAI,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,IAAI,CAAC;YAChC,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC;AACH,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,oBAAoB,CAAC,IAAc,EAAE,IAAY;IAC/D,OAAO,QAAQ,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAiB,mBAAmB,EAAE;IACtE,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACxD,OAAO,+CAA+C,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC3E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,QAAQ,GAAG,yCAAyC,CAAC;IAC3D,MAAM,MAAM,GAAG,gCAAgC,CAAC;IAChD,OAAO;;;;;;;;;;mBAUU,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;kBACzB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4FvC,CAAC;AACF,CAAC"}