@cleocode/adapters 2026.10.17 → 2026.10.18-rc.ci.688

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.
@@ -39,6 +39,13 @@ function hookMap(settings) {
39
39
  }
40
40
  return existing;
41
41
  }
42
+ function appendHookEntry(hooks, event, entry) {
43
+ const existing = hooks[event];
44
+ if (existing !== void 0 && !Array.isArray(existing)) {
45
+ throw new Error(`settings.json "hooks.${event}" is not an array; not modifying it`);
46
+ }
47
+ hooks[event] = [...existing ?? [], entry];
48
+ }
42
49
 
43
50
  // packages/adapters/src/providers/shared/heavy-command-hook-install.ts
44
51
  var HEAVY_COMMAND_HOOK_ID = "cleo hook heavy-command";
@@ -254,43 +261,48 @@ async function syncJsonHeavyCommandHook(configPath, provider, mode) {
254
261
  return result;
255
262
  }
256
263
  var ASK_ENFORCE_HOOK_ID = "cleo hook ask-enforce";
257
- function askEnforceHookObject(provider) {
258
- const script = `command -v cleo >/dev/null 2>&1 || exit 0; out="$(${ASK_ENFORCE_HOOK_ID} --provider ${provider} 2>/dev/null)"; case "$out" in "{"*) printf '%s\\n' "$out";; esac; exit 0`;
264
+ function isAskEnforceHookObject(hook) {
265
+ return isPlainObject(hook) && typeof hook.command === "string" && hook.command.includes(CLEO_HOOK_MARKER) && hook.command.includes(ASK_ENFORCE_HOOK_ID);
266
+ }
267
+ var STOP_DISPATCH_HOOK_ID = "cleo hook stop";
268
+ var STOP_DISPATCH_HOOK_TIMEOUT_SEC = 120;
269
+ var LEGACY_SESSION_END_STOP_COMMAND = "cleo session end --quiet # cleo-hook";
270
+ function stopDispatchHookObject(provider) {
271
+ const script = `command -v cleo >/dev/null 2>&1 || exit 0; out="$(${STOP_DISPATCH_HOOK_ID} --provider ${provider} 2>/dev/null)"; case "$out" in "{"*) printf '%s\\n' "$out";; esac; exit 0`;
259
272
  const line = provider === "codex" ? `/bin/sh -c ${shellWord(script)}` : script;
260
273
  return {
261
274
  type: "command",
262
275
  command: `${line} ${CLEO_HOOK_MARKER}`,
263
- timeout: HEAVY_COMMAND_HOOK_TIMEOUT_SEC
276
+ timeout: STOP_DISPATCH_HOOK_TIMEOUT_SEC
264
277
  };
265
278
  }
266
- function isAskEnforceHookObject(hook) {
267
- return isPlainObject(hook) && typeof hook.command === "string" && hook.command.includes(CLEO_HOOK_MARKER) && hook.command.includes(ASK_ENFORCE_HOOK_ID);
279
+ function isStopDispatchHookObject(hook) {
280
+ return isPlainObject(hook) && typeof hook.command === "string" && hook.command.includes(CLEO_HOOK_MARKER) && hook.command.includes(`${STOP_DISPATCH_HOOK_ID} `);
268
281
  }
269
- async function syncJsonAskEnforceHook(configPath, provider, install) {
270
- const mine = (hook) => isAskEnforceHookObject(hook);
271
- if (!install) {
272
- if (!existsSync(configPath)) return "unchanged";
273
- const removed = await updateJsonConfigFile(configPath, (config) => {
274
- if (config.hooks === void 0) return false;
275
- return placeHeavyHook(hookMap(config), null, "Stop", mine).changed;
276
- });
277
- return removed ? "removed" : "unchanged";
278
- }
279
- ensureParentDir(configPath);
282
+ function isFoldedStopHook(hook) {
283
+ return isAskEnforceHookObject(hook) || isPlainObject(hook) && hook.command === LEGACY_SESSION_END_STOP_COMMAND;
284
+ }
285
+ function applyStopDispatch(hooks, provider, install) {
286
+ const folded = placeHeavyHook(hooks, null, "Stop", isFoldedStopHook).changed;
287
+ const desired = install ? stopDispatchHookObject(provider) : null;
288
+ const placed = placeHeavyHook(hooks, desired, "Stop", isStopDispatchHookObject);
289
+ if (desired === null || placed.found) return folded || placed.changed;
290
+ appendHookEntry(hooks, "Stop", { hooks: [desired] });
291
+ return true;
292
+ }
293
+ async function syncJsonStopDispatchHook(configPath, provider, install) {
294
+ if (!install && !existsSync(configPath)) return "unchanged";
295
+ if (install) ensureParentDir(configPath);
280
296
  let result = "unchanged";
281
297
  await updateJsonConfigFile(configPath, (config) => {
298
+ if (!install && config.hooks === void 0) return false;
282
299
  const hooks = hookMap(config);
283
- const placed = placeHeavyHook(hooks, askEnforceHookObject(provider), "Stop", mine);
284
- if (placed.found) {
285
- if (placed.changed) result = "updated";
286
- return placed.changed;
287
- }
288
- const existing = hooks.Stop;
289
- hooks.Stop = [
290
- ...Array.isArray(existing) ? existing : [],
291
- { hooks: [askEnforceHookObject(provider)] }
292
- ];
293
- result = "installed";
300
+ const stop = hooks.Stop;
301
+ const had = Array.isArray(stop) && stop.some(
302
+ (g) => isPlainObject(g) && Array.isArray(g.hooks) && g.hooks.some(isStopDispatchHookObject)
303
+ );
304
+ if (!applyStopDispatch(hooks, provider, install)) return false;
305
+ result = !install ? "removed" : had ? "updated" : "installed";
294
306
  return true;
295
307
  });
296
308
  return result;
@@ -653,10 +665,9 @@ function detectHeavyHookProvider(provider, projectDir, env = process.env) {
653
665
  function errorText(err) {
654
666
  return err instanceof Error ? err.message : String(err);
655
667
  }
656
- async function syncAskEnforceHook(provider, target, mode, env) {
657
- const install = mode !== "off" && env.CLEO_ASK_ENFORCE?.trim().toLowerCase() !== "off";
668
+ async function syncStopDispatch(provider, target, mode) {
658
669
  try {
659
- await syncJsonAskEnforceHook(target, provider, install);
670
+ await syncJsonStopDispatchHook(target, provider, provider === "claude-code" || mode !== "off");
660
671
  } catch {
661
672
  }
662
673
  }
@@ -667,7 +678,7 @@ async function syncProvider(provider, projectDir, mode, env) {
667
678
  }
668
679
  try {
669
680
  const result = provider === "claude-code" ? await syncClaudeCodeHeavyCommandHook(projectDir, mode) : provider === "codex" ? await syncCodexHeavyCommandHook(projectDir, mode) : syncOpencodeHeavyCommandPlugin(projectDir, mode);
670
- if (provider !== "opencode") await syncAskEnforceHook(provider, target, mode, env);
681
+ if (provider !== "opencode") await syncStopDispatch(provider, target, mode);
671
682
  return { provider, status: result, target };
672
683
  } catch (err) {
673
684
  if (err instanceof HeavyHookSharedConfigError) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/providers/shared/heavy-command-hook-delivery.ts", "../src/providers/shared/heavy-command-hook-install.ts", "../src/providers/shared/hook-config.ts"],
4
- "mappings": ";AAwBA,SAAS,gBAAAA,eAAc,iBAAiB;AACxC,SAAS,cAAAC,aAAY,WAAW,gBAAAC,eAAc,YAAAC,iBAAgB;AAC9D,SAAS,WAAAC,gBAAe;AACxB,SAAS,WAAAC,UAAS,QAAAC,aAAY;AAC9B,SAAS,4BAA4B;AAUrC,SAAS,kBAAkB;;;ACP3B,SAAS,oBAAoB;AAC7B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,SAAS,cAAc;AAChC,SAAS,SAAS,YAAY,MAAM,eAAe;AACnD,SAAS,4BAA4B;;;AC7B9B,IAAM,mBAAmB;AAazB,SAAS,cAAc,OAAkD;AAC9E,SAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAC5E;AAsDO,SAAS,QAAQ,UAA4D;AAClF,QAAM,WAAW,SAAS;AAC1B,MAAI,aAAa,QAAW;AAC1B,UAAM,UAAmC,CAAC;AAC1C,aAAS,QAAQ;AACjB,WAAO;AAAA,EACT;AACA,MAAI,CAAC,cAAc,QAAQ,GAAG;AAC5B,UAAM,IAAI,MAAM,0DAA0D;AAAA,EAC5E;AACA,SAAO;AACT;;;AD9CO,IAAM,wBAAwB;AAG9B,IAAM,iCAAiC;AAGvC,IAAM,gCAAgC;AAStC,IAAM,mBAAsC,OAAO,OAAO;AAAA,EAC/D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAaD,SAAS,UAAU,MAAsB;AACvC,MAAI;AACF,WAAO,aAAa,OAAO,IAAI;AAAA,EACjC,QAAQ;AACN,WAAO,QAAQ,IAAI;AAAA,EACrB;AACF;AAQO,IAAM,4BAAN,cAAwC,MAAM;AAAA;AAAA,EAE1C;AAAA;AAAA;AAAA;AAAA;AAAA,EAMT,YAAY,MAAc,QAAgB;AACxC,UAAM,GAAG,IAAI,sCAAsC,MAAM,6BAA6B;AACtF,SAAK,OAAO;AACZ,SAAK,OAAO;AAAA,EACd;AACF;AAUO,SAAS,qBAAqB,KAA4B;AAC/D,MAAI,MAAM,QAAQ,GAAG;AACrB,aAAS;AACP,QAAI;AACF,aAAO,SAAS,GAAG,EAAE,YAAY,IAAI,OAAO;AAAA,IAC9C,SAAS,KAAK;AACZ,YAAM,OAAQ,IAA8B;AAC5C,UAAI,SAAS,YAAY,SAAS,UAAW,QAAO;AAAA,IACtD;AACA,UAAM,SAAS,QAAQ,GAAG;AAC1B,QAAI,WAAW,IAAK,QAAO;AAC3B,UAAM;AAAA,EACR;AACF;AAGA,SAAS,gBAAgB,QAAsB;AAC7C,QAAM,UAAU,qBAAqB,QAAQ,MAAM,CAAC;AACpD,MAAI,YAAY,KAAM,OAAM,IAAI,0BAA0B,SAAS,MAAM;AACzE,YAAU,QAAQ,MAAM,GAAG,EAAE,WAAW,KAAK,CAAC;AAChD;AAWO,SAAS,cAAc,YAAoB,OAAe,QAAQ,GAAY;AACnF,SAAO,UAAU,UAAU,MAAM,UAAU,IAAI;AACjD;AAQO,IAAM,yBAAyB,KAAK,UAAU;AAAA,EACnD,oBAAoB;AAAA,IAClB,eAAe;AAAA,IACf,mBACE;AAAA,EAEJ;AACF,CAAC;AAGM,IAAM,2BAA2B;AAUjC,SAAS,sBACd,MAAc,QAAQ,IAAI,mBAAmB,OAAO,GAC5C;AACR,MAAI,UAAU;AACd,MAAI;AACJ,MAAI;AACF,YAAQ,YAAY,GAAG;AAAA,EACzB,QAAQ;AACN,WAAO;AAAA,EACT;AACA,aAAW,QAAQ,OAAO;AACxB,QAAI,CAAC,KAAK,WAAW,wBAAwB,EAAG;AAChD,QAAI;AACF,aAAO,KAAK,KAAK,IAAI,GAAG,EAAE,OAAO,KAAK,CAAC;AACvC;AAAA,IACF,QAAQ;AAAA,IAER;AAAA,EACF;AACA,SAAO;AACT;AAGA,SAAS,UAAU,MAAsB;AACvC,SAAO,IAAI,KAAK,QAAQ,MAAM,OAAO,CAAC;AACxC;AAwBA,SAAS,wBAAwB,UAA2C;AAC1E,QAAM,QAAQ,iBAAiB,KAAK,GAAG;AACvC,QAAM,MAAM,mBAAmB,sBAAsB;AACrD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA,2GAA2G,KAAK;AAAA,IAChH;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS,wBAAwB;AAAA,IACjC,8HAA8H,GAAG;AAAA,IACjI;AAAA;AAAA;AAAA,IAGA,iCAAiC,qBAAqB,eAAe,QAAQ,gPAAgP,GAAG;AAAA,IAChU;AAAA,IACA;AAAA,EACF,EAAE,KAAK,IAAI;AACb;AAoBO,SAAS,wBAAwB,UAA2C;AACjF,QAAM,SAAS,wBAAwB,QAAQ;AAC/C,QAAM,OAAO,aAAa,UAAU,cAAc,UAAU,MAAM,CAAC,KAAK;AACxE,SAAO,GAAG,IAAI,IAAI,gBAAgB;AACpC;AAOO,SAAS,uBAAuB,UAA4D;AACjG,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS,wBAAwB,QAAQ;AAAA,IACzC,SAAS;AAAA,EACX;AACF;AAQO,SAAS,sBAAsB,UAA4D;AAChG,SAAO,EAAE,SAAS,QAAQ,OAAO,CAAC,uBAAuB,QAAQ,CAAC,EAAE;AACtE;AAGO,SAAS,kBAAkB,MAAwB;AACxD,SACE,cAAc,IAAI,KAClB,OAAO,KAAK,YAAY,YACxB,KAAK,QAAQ,SAAS,gBAAgB,KACtC,KAAK,QAAQ,SAAS,qBAAqB;AAE/C;AAWA,SAAS,eACP,OACA,SACA,QAAQ,cACR,SAAqC,mBACmB;AACxD,QAAM,SAAS,MAAM,KAAK;AAC1B,MAAI,WAAW,OAAW,QAAO,EAAE,SAAS,OAAO,OAAO,MAAM;AAChE,MAAI,CAAC,MAAM,QAAQ,MAAM,GAAG;AAC1B,UAAM,IAAI,MAAM,UAAU,KAAK,qCAAqC;AAAA,EACtE;AACA,MAAI,UAAU;AACd,MAAI,QAAQ;AACZ,QAAM,OAAkB,CAAC;AACzB,aAAW,SAAS,QAAQ;AAC1B,QAAI,CAAC,cAAc,KAAK,KAAK,CAAC,MAAM,QAAQ,MAAM,KAAK,GAAG;AACxD,WAAK,KAAK,KAAK;AACf;AAAA,IACF;AACA,UAAM,OAAkB,CAAC;AACzB,QAAI,eAAe;AACnB,eAAW,QAAQ,MAAM,OAAO;AAC9B,UAAI,CAAC,OAAO,IAAI,GAAG;AACjB,aAAK,KAAK,IAAI;AAAA,MAChB,WAAW,YAAY,QAAQ,CAAC,OAAO;AACrC,gBAAQ;AACR,YAAI,KAAK,UAAU,IAAI,MAAM,KAAK,UAAU,OAAO,EAAG,gBAAe;AACrE,aAAK,KAAK,OAAO;AAAA,MACnB,OAAO;AACL,uBAAe;AAAA,MACjB;AAAA,IACF;AACA,QAAI,CAAC,cAAc;AACjB,WAAK,KAAK,KAAK;AACf;AAAA,IACF;AACA,cAAU;AACV,QAAI,KAAK,SAAS,EAAG,MAAK,KAAK,EAAE,GAAG,OAAO,OAAO,KAAK,CAAC;AAAA,EAC1D;AACA,MAAI,QAAS,OAAM,KAAK,IAAI;AAC5B,SAAO,EAAE,SAAS,MAAM;AAC1B;AAYA,eAAsB,yBACpB,YACA,UACA,MAC8B;AAC9B,MAAI,SAAS,OAAO;AAClB,QAAI,CAAC,WAAW,UAAU,EAAG,QAAO;AACpC,UAAM,UAAU,MAAM,qBAAqB,YAAY,CAAC,WAAW;AACjE,UAAI,OAAO,UAAU,OAAW,QAAO;AACvC,aAAO,eAAe,QAAQ,MAAM,GAAG,IAAI,EAAE;AAAA,IAC/C,CAAC;AACD,WAAO,UAAU,YAAY;AAAA,EAC/B;AACA,kBAAgB,UAAU;AAC1B,wBAAsB;AACtB,MAAI,SAA8B;AAClC,QAAM,qBAAqB,YAAY,CAAC,WAAW;AACjD,UAAM,QAAQ,QAAQ,MAAM;AAC5B,UAAM,SAAS,eAAe,OAAO,uBAAuB,QAAQ,CAAC;AACrE,QAAI,OAAO,OAAO;AAChB,UAAI,OAAO,QAAS,UAAS;AAC7B,aAAO,OAAO;AAAA,IAChB;AACA,UAAM,WAAW,MAAM;AACvB,UAAM,aAAa;AAAA,MACjB,GAAI,MAAM,QAAQ,QAAQ,IAAI,WAAW,CAAC;AAAA,MAC1C,sBAAsB,QAAQ;AAAA,IAChC;AACA,aAAS;AACT,WAAO;AAAA,EACT,CAAC;AACD,SAAO;AACT;AAGO,IAAM,sBAAsB;AAS5B,SAAS,qBAAqB,UAA4D;AAC/F,QAAM,SAAS,qDAAqD,mBAAmB,eAAe,QAAQ;AAC9G,QAAM,OAAO,aAAa,UAAU,cAAc,UAAU,MAAM,CAAC,KAAK;AACxE,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS,GAAG,IAAI,IAAI,gBAAgB;AAAA,IACpC,SAAS;AAAA,EACX;AACF;AAGO,SAAS,uBAAuB,MAAwB;AAC7D,SACE,cAAc,IAAI,KAClB,OAAO,KAAK,YAAY,YACxB,KAAK,QAAQ,SAAS,gBAAgB,KACtC,KAAK,QAAQ,SAAS,mBAAmB;AAE7C;AAYA,eAAsB,uBACpB,YACA,UACA,SAC8B;AAC9B,QAAM,OAAO,CAAC,SAAkB,uBAAuB,IAAI;AAC3D,MAAI,CAAC,SAAS;AACZ,QAAI,CAAC,WAAW,UAAU,EAAG,QAAO;AACpC,UAAM,UAAU,MAAM,qBAAqB,YAAY,CAAC,WAAW;AACjE,UAAI,OAAO,UAAU,OAAW,QAAO;AACvC,aAAO,eAAe,QAAQ,MAAM,GAAG,MAAM,QAAQ,IAAI,EAAE;AAAA,IAC7D,CAAC;AACD,WAAO,UAAU,YAAY;AAAA,EAC/B;AACA,kBAAgB,UAAU;AAC1B,MAAI,SAA8B;AAClC,QAAM,qBAAqB,YAAY,CAAC,WAAW;AACjD,UAAM,QAAQ,QAAQ,MAAM;AAC5B,UAAM,SAAS,eAAe,OAAO,qBAAqB,QAAQ,GAAG,QAAQ,IAAI;AACjF,QAAI,OAAO,OAAO;AAChB,UAAI,OAAO,QAAS,UAAS;AAC7B,aAAO,OAAO;AAAA,IAChB;AACA,UAAM,WAAW,MAAM;AACvB,UAAM,OAAO;AAAA,MACX,GAAI,MAAM,QAAQ,QAAQ,IAAI,WAAW,CAAC;AAAA,MAC1C,EAAE,OAAO,CAAC,qBAAqB,QAAQ,CAAC,EAAE;AAAA,IAC5C;AACA,aAAS;AACT,WAAO;AAAA,EACT,CAAC;AACD,SAAO;AACT;AAGO,IAAM,wBAAwB;AAG9B,IAAM,gCACX;AAOK,IAAM,2BACX;AAGK,IAAM,mBAAmB;AAGzB,IAAM,uBAAuB,qBAAqB,6BAA6B;AAGtF,SAAS,UACP,YACA,MACA,MAAyB,QAAQ,KAClB;AACf,MAAI;AACF,WAAO,aAAa,OAAO,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG;AAAA,MACtD,UAAU;AAAA,MACV,OAAO,CAAC,UAAU,QAAQ,QAAQ;AAAA,MAClC,SAAS;AAAA,MACT;AAAA,IACF,CAAC,EAAE,KAAK;AAAA,EACV,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAGA,SAAS,YAAY,YAAoB,MAAyB,QAAQ,KAAoB;AAC5F,MAAI,UAAU,YAAY,CAAC,aAAa,uBAAuB,GAAG,GAAG,MAAM,OAAQ,QAAO;AAC1F,QAAM,OAAO,UAAU,YAAY,CAAC,aAAa,cAAc,cAAc,GAAG,GAAG;AACnF,MAAI,SAAS,QAAQ,SAAS,GAAI,QAAO;AACzC,SAAO,WAAW,IAAI,IAAI,OAAO,KAAK,YAAY,IAAI;AACxD;AAGA,SAAS,YACP,YACA,SACA,MAAyB,QAAQ,KACzB;AACR,QAAM,SAAS,UAAU,YAAY,CAAC,aAAa,eAAe,GAAG,GAAG,KAAK;AAC7E,SAAO,IAAI,MAAM,GAAG,OAAO;AAC7B;AAgBO,SAAS,uBACd,YACA,SACA,SAAiB,0BACjB,MAAyB,QAAQ,KACxB;AACT,QAAM,UAAU,YAAY,YAAY,GAAG;AAC3C,MAAI,YAAY,KAAM,QAAO;AAC7B,MAAI,UAAU,YAAY,CAAC,gBAAgB,OAAO,GAAG,GAAG,MAAM,KAAM,QAAO;AAC3E,MAAI,UAAU,YAAY,CAAC,YAAY,mBAAmB,OAAO,GAAG,GAAG,MAAM,KAAM,QAAO;AAC1F,QAAM,OAAO,YAAY,YAAY,SAAS,GAAG;AACjD,QAAM,OAAO,WAAW,OAAO,IAAI,aAAa,SAAS,OAAO,IAAI;AACpE,MAAI,KAAK,MAAM,IAAI,EAAE,SAAS,IAAI,EAAG,QAAO;AAC5C,QAAM,QAAQ,GAAG,MAAM;AAAA,EAAK,IAAI;AAAA;AAChC,YAAU,QAAQ,OAAO,GAAG,EAAE,WAAW,KAAK,CAAC;AAC/C,gBAAc,SAAS,SAAS,MAAM,KAAK,SAAS,IAAI,IAAI,OAAO,QAAQ,GAAG,IAAI;AAAA,EAAK,KAAK,EAAE;AAC9F,SAAO;AACT;AAUO,SAAS,yBAAyB,YAAoB,SAA0B;AACrF,QAAM,UAAU,YAAY,UAAU;AACtC,MAAI,YAAY,QAAQ,CAAC,WAAW,OAAO,EAAG,QAAO;AACrD,QAAM,QAAQ,aAAa,SAAS,OAAO,EAAE,MAAM,IAAI;AACvD,QAAM,KAAK,MAAM,QAAQ,YAAY,YAAY,OAAO,CAAC;AACzD,QAAM,QAAQ,MAAM,KAAK,CAAC;AAC1B,MAAI,KAAK,KAAM,UAAU,iCAAiC,UAAU,0BAA2B;AAC7F,WAAO;AAAA,EACT;AACA,QAAM,OAAO,KAAK,GAAG,CAAC;AACtB,gBAAc,SAAS,MAAM,KAAK,IAAI,CAAC;AACvC,SAAO;AACT;AAUO,SAAS,qBAAqB,YAAoB,SAA0B;AACjF,MAAI,UAAU,YAAY,CAAC,aAAa,uBAAuB,CAAC,MAAM,OAAQ,QAAO;AACrF,MAAI,UAAU,YAAY,CAAC,gBAAgB,OAAO,CAAC,MAAM,KAAM,QAAO;AACtE,SAAO,UAAU,YAAY,CAAC,YAAY,mBAAmB,OAAO,CAAC,MAAM;AAC7E;AAUO,SAAS,4BAA4B,YAA6B;AACvE,SAAO,uBAAuB,YAAY,uBAAuB,6BAA6B;AAChG;AASO,SAAS,8BAA8B,YAA6B;AACzE,SAAO,yBAAyB,YAAY,qBAAqB;AACnE;AAUO,IAAM,6BAAN,cAAyC,MAAM;AAAA;AAAA,EAE3C;AAAA;AAAA;AAAA;AAAA;AAAA,EAMT,YAAY,MAAc,KAAa;AACrC,UAAM,GAAG,IAAI,IAAI,GAAG,qCAAqC;AACzD,SAAK,OAAO;AACZ,SAAK,OAAO;AAAA,EACd;AACF;AAOA,SAAS,kBAAkB,QAA0B;AACnD,MAAI,CAAC,cAAc,MAAM,KAAK,OAAO,KAAK,MAAM,EAAE,KAAK,CAAC,MAAM,MAAM,OAAO,EAAG,QAAO;AACrF,MAAI,CAAC,cAAc,OAAO,KAAK,EAAG,QAAO;AACzC,MAAI,OAAO;AACX,aAAW,UAAU,OAAO,OAAO,OAAO,KAAK,GAAG;AAChD,QAAI,CAAC,MAAM,QAAQ,MAAM,EAAG,QAAO;AACnC,eAAW,SAAS,QAAQ;AAC1B,UAAI,CAAC,cAAc,KAAK,KAAK,CAAC,MAAM,QAAQ,MAAM,KAAK,EAAG,QAAO;AACjE,iBAAW,QAAQ,MAAM,OAAO;AAC9B,YACE,CAAC,cAAc,IAAI,KACnB,OAAO,KAAK,YAAY,YACxB,CAAC,KAAK,QAAQ,SAAS,gBAAgB,GACvC;AACA,iBAAO;AAAA,QACT;AACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO,OAAO;AAChB;AAYO,SAAS,uBAAuB,YAAoB,WAAW,MAAqB;AACzF,QAAM,OAAO,KAAK,YAAY,gBAAgB;AAG9C,MACE,YACA,UAAU,YAAY,CAAC,YAAY,mBAAmB,gBAAgB,CAAC,MAAM,MAC7E;AACA,WAAO;AAAA,EACT;AACA,MAAI,CAAC,WAAW,IAAI,EAAG,QAAO;AAC9B,MAAI;AACJ,MAAI;AACF,aAAS,KAAK,MAAM,aAAa,MAAM,OAAO,CAAC;AAAA,EACjD,QAAQ;AAEN,WAAO;AAAA,EACT;AACA,SAAO,kBAAkB,MAAM,IAAI,OAAO;AAC5C;AASO,SAAS,4BAA4B,YAA6B;AACvE,QAAM,YAAY,UAAU,YAAY,CAAC,QAAQ,UAAU,gBAAgB,EAAE,CAAC;AAC9E,MAAI,cAAc,QAAQ,cAAc,GAAI,QAAO;AACnD,MAAI;AACF,UAAM,SAAkB,KAAK,MAAM,SAAS;AAC5C,QAAI,CAAC,cAAc,MAAM,EAAG,QAAO;AACnC,UAAM,SAAS,cAAc,OAAO,KAAK,IAAI,OAAO,MAAM,aAAa;AACvE,WACE,MAAM,QAAQ,MAAM,KACpB,OAAO;AAAA,MACL,CAAC,MAAM,cAAc,CAAC,KAAK,MAAM,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,KAAK,iBAAiB;AAAA,IACrF;AAAA,EAEJ,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAGA,SAAS,UAAU,GAAY,GAAqB;AAClD,MAAI,MAAM,QAAQ,CAAC,KAAK,MAAM,QAAQ,CAAC,GAAG;AACxC,WACE,MAAM,QAAQ,CAAC,KACf,MAAM,QAAQ,CAAC,KACf,EAAE,WAAW,EAAE,UACf,EAAE,MAAM,CAAC,GAAG,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC;AAAA,EAExC;AACA,MAAI,cAAc,CAAC,KAAK,cAAc,CAAC,GAAG;AACxC,UAAM,OAAO,OAAO,KAAK,CAAC;AAC1B,WACE,KAAK,WAAW,OAAO,KAAK,CAAC,EAAE,UAC/B,KAAK,MAAM,CAAC,MAAM,OAAO,OAAO,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAAA,EAElE;AACA,SAAO,MAAM;AACf;AAUO,SAAS,2BAA2B,YAA6B;AACtE,MAAI,UAAU,YAAY,CAAC,YAAY,mBAAmB,gBAAgB,CAAC,MAAM;AAC/E,WAAO;AACT,QAAM,OAAO,KAAK,YAAY,gBAAgB;AAC9C,MAAI;AACJ,MAAI;AACJ,MAAI;AACF,gBAAY,aAAa,OAAO,CAAC,MAAM,YAAY,QAAQ,UAAU,gBAAgB,EAAE,GAAG;AAAA,MACxF,UAAU;AAAA,MACV,OAAO,CAAC,UAAU,QAAQ,QAAQ;AAAA,MAClC,SAAS;AAAA,IACX,CAAC;AACD,cAAU,KAAK,MAAM,aAAa,MAAM,OAAO,CAAC;AAAA,EAClD,QAAQ;AACN,WAAO;AAAA,EACT;AACA,MAAI,CAAC,cAAc,OAAO,EAAG,QAAO;AACpC,QAAM,QAAQ,QAAQ,OAAO;AAC7B,MAAI,CAAC,eAAe,OAAO,IAAI,EAAE,QAAS,QAAO;AACjD,MAAI;AACF,QAAI,CAAC,UAAU,SAAS,KAAK,MAAM,SAAS,CAAC,EAAG,QAAO;AAAA,EACzD,QAAQ;AACN,WAAO;AAAA,EACT;AACA,gBAAc,MAAM,SAAS;AAC7B,SAAO;AACT;AASO,SAAS,eAAe,YAAoB,SAA0B;AAC3E,QAAM,UAAU,YAAY,UAAU;AACtC,MAAI,YAAY,QAAQ,CAAC,WAAW,OAAO,EAAG,QAAO;AACrD,QAAM,QAAQ,aAAa,SAAS,OAAO,EAAE,MAAM,IAAI;AACvD,QAAM,KAAK,MAAM,QAAQ,YAAY,YAAY,OAAO,CAAC;AACzD,QAAM,QAAQ,MAAM,KAAK,CAAC;AAC1B,SAAO,MAAM,MAAM,UAAU,iCAAiC,UAAU;AAC1E;AAMO,SAAS,mBAA2B;AACzC,SAAO,KAAK,UAAU,sBAAsB,OAAO,CAAC;AACtD;AAQO,SAAS,oBAAoB,YAAoB,SAA0B;AAChF,MAAI,UAAU,YAAY,CAAC,YAAY,mBAAmB,OAAO,CAAC,MAAM,KAAM,QAAO;AACrF,UAAQ,UAAU,YAAY,CAAC,QAAQ,eAAe,QAAQ,MAAM,OAAO,CAAC,KAAK,QAAQ;AAC3F;AAcA,eAAsB,0BACpB,YACA,MAC8B;AAC9B,QAAM,OAAO,KAAK,YAAY,gBAAgB;AAC9C,MAAI,SAAS,OAAO;AAClB,UAAM,SAAS,uBAAuB,UAAU;AAChD,QAAI,WAAW,MAAM;AAGnB,+BAAyB,YAAY,gBAAgB;AACrD,YAAM,IAAI,2BAA2B,MAAM,MAAM;AAAA,IACnD;AAAA,EACF,WAAW,4BAA4B,UAAU,GAAG;AAClD,UAAM,IAAI;AAAA,MACR;AAAA,MACA;AAAA,IACF;AAAA,EACF,WAAW,2BAA2B,UAAU,GAAG;AACjD,6BAAyB,YAAY,gBAAgB;AACrD,WAAO;AAAA,EACT;AACA,QAAM,SAAS,MAAM,yBAAyB,MAAM,SAAS,IAAI;AACjE,MAAI,SAAS,MAAO,0BAAyB,YAAY,gBAAgB;AAAA,MACpE,wBAAuB,YAAY,gBAAgB;AACxD,SAAO;AACT;AAWA,eAAsB,+BACpB,YACA,MAC8B;AAC9B,QAAM,SAAS,MAAM;AAAA,IACnB,KAAK,YAAY,qBAAqB;AAAA,IACtC;AAAA,IACA;AAAA,EACF;AACA,MAAI,SAAS,MAAO,+BAA8B,UAAU;AAAA,MACvD,6BAA4B,UAAU;AAC3C,MAAI;AACF,UAAM;AAAA,MACJ,KAAK,YAAY,WAAW,eAAe;AAAA,MAC3C;AAAA,MACA;AAAA,IACF;AAAA,EACF,QAAQ;AAAA,EAIR;AACA,SAAO;AACT;AAWO,SAAS,mCAA2C;AACzD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,4CAA4C,iBAAiB,KAAK,GAAG,CAAC;AAAA,IACtE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,oBAAoB,iCAAiC,GAAI;AAAA,IACzD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAE,KAAK,IAAI;AACb;AAWO,SAAS,+BACd,YACA,MACqB;AACrB,QAAM,aAAa,KAAK,YAAY,oBAAoB;AACxD,QAAM,SAAS,WAAW,UAAU;AACpC,MAAI,SAAS,OAAO;AAClB,6BAAyB,YAAY,oBAAoB;AACzD,QAAI,CAAC,OAAQ,QAAO;AACpB,WAAO,YAAY,EAAE,OAAO,KAAK,CAAC;AAClC,WAAO;AAAA,EACT;AACA,QAAM,SAAS,iCAAiC;AAChD,QAAM,UAAU,UAAU,aAAa,YAAY,OAAO,MAAM;AAChE,MAAI,CAAC,SAAS;AACZ,oBAAgB,UAAU;AAC1B,kBAAc,YAAY,QAAQ,OAAO;AAAA,EAC3C;AAEA,yBAAuB,YAAY,oBAAoB;AACvD,SAAO,UAAU,cAAc,SAAS,YAAY;AACtD;;;AD17BO,IAAM,gCAAqE,OAAO,OAAO;AAAA,EAC9F;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAGM,IAAM,yBAAyB;AAKtC,IAAM,sBACJ;AAGF,IAAM,cACJ;AACF,IAAM,cACJ;AAEF,SAAS,OAAO,KAAkB;AAChC,SAAO,IAAI,QAAQC,SAAQ;AAC7B;AAWO,SAAS,gBACd,UACA,YACA,MAAW,QAAQ,KACX;AACR,UAAQ,UAAU;AAAA,IAChB,KAAK;AACH,aAAOC,MAAK,YAAY,qBAAqB;AAAA,IAC/C,KAAK;AACH,aAAOA,MAAK,YAAY,gBAAgB;AAAA,IAC1C,KAAK;AACH,aAAOA,MAAK,YAAY,oBAAoB;AAAA,IAC9C,KAAK;AACH,aAAOA,MAAK,OAAO,GAAG,GAAG,SAAS,aAAa;AAAA,EACnD;AACF;AAoBO,SAAS,wBACd,UACA,YACA,MAAW,QAAQ,KACC;AACpB,QAAM,OAAO,OAAO,GAAG;AACvB,QAAM,UACJ,aAAa,gBACT;AAAA,IACE;AAAA,MACE,IAAI,eAAe,OAAO,QAAQ,IAAI,sBAAsB;AAAA,MAC5D;AAAA,IACF;AAAA,IACA,CAAC,MAAMC,YAAWD,MAAK,YAAY,SAAS,CAAC,GAAG,0BAA0B;AAAA,IAC1E,CAAC,MAAM,WAAW,UAAU,EAAE,IAAI,CAAC,MAAM,MAAM,qBAAqB;AAAA,IACpE,CAAC,MAAMC,YAAW,IAAI,qBAAqBD,MAAK,MAAM,SAAS,CAAC,GAAG,kBAAkB;AAAA,EACvF,IACA,aAAa,UACX;AAAA,IACE,CAAC,MAAMC,YAAWD,MAAK,YAAY,QAAQ,CAAC,GAAG,wBAAwB;AAAA,IACvE,CAAC,MAAM,WAAW,SAAS,EAAE,IAAI,CAAC,MAAM,MAAM,oBAAoB;AAAA,IAClE,CAAC,MAAMC,YAAW,IAAI,cAAcD,MAAK,MAAM,QAAQ,CAAC,GAAG,iBAAiB;AAAA,EAC9E,IACA,aAAa,aACX;AAAA,IACE,CAAC,MAAMC,YAAWD,MAAK,YAAY,WAAW,CAAC,GAAG,4BAA4B;AAAA,IAC9E;AAAA,MACE,MACEC,YAAWD,MAAK,YAAY,eAAe,CAAC,KAC5CC,YAAWD,MAAK,YAAY,gBAAgB,CAAC;AAAA,MAC/C;AAAA,IACF;AAAA,IACA,CAAC,MAAM,WAAW,YAAY,EAAE,IAAI,CAAC,MAAM,MAAM,uBAAuB;AAAA,IACxE;AAAA,MACE,MAAMC,YAAWD,MAAK,IAAI,mBAAmBA,MAAK,MAAM,SAAS,GAAG,UAAU,CAAC;AAAA,MAC/E;AAAA,IACF;AAAA,EACF,IACA;AAAA,IACE,CAAC,MAAM,WAAW,QAAQ,EAAE,IAAI,CAAC,MAAM,MAAM,mBAAmB;AAAA,IAChE,CAAC,MAAMC,YAAWD,MAAK,MAAM,OAAO,CAAC,GAAG,gBAAgB;AAAA,EAC1D;AACV,aAAW,CAAC,MAAM,GAAG,KAAK,SAAS;AACjC,QAAI,OAAO,SAAS,YAAY,OAAO,KAAK,EAAG,QAAO,EAAE,UAAU,MAAM,IAAI;AAAA,EAC9E;AACA,MAAI,aAAa,UAAUC,YAAW,gBAAgB,UAAU,YAAY,GAAG,CAAC,GAAG;AACjF,WAAO,EAAE,UAAU,MAAM,KAAK,yBAAyB;AAAA,EACzD;AACA,SAAO;AAAA,IACL,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ;AAAA,EAClB;AACF;AAEA,SAAS,UAAU,KAAsB;AACvC,SAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AACxD;AAUA,eAAe,mBACb,UACA,QACA,MACA,KACe;AACf,QAAM,UAAU,SAAS,SAAS,IAAI,kBAAkB,KAAK,EAAE,YAAY,MAAM;AACjF,MAAI;AACF,UAAM,uBAAuB,QAAQ,UAAU,OAAO;AAAA,EACxD,QAAQ;AAAA,EAER;AACF;AAEA,eAAe,aACb,UACA,YACA,MACA,KACmC;AACnC,QAAM,SAAS,gBAAgB,UAAU,YAAY,GAAG;AACxD,MAAI,aAAa,QAAQ;AACvB,WAAO,SAAS,QACZ,EAAE,UAAU,QAAQ,aAAa,OAAO,IACxC,EAAE,UAAU,QAAQ,eAAe,QAAQ,QAAQ,aAAa,QAAQ,YAAY;AAAA,EAC1F;AACA,MAAI;AACF,UAAM,SACJ,aAAa,gBACT,MAAM,+BAA+B,YAAY,IAAI,IACrD,aAAa,UACX,MAAM,0BAA0B,YAAY,IAAI,IAChD,+BAA+B,YAAY,IAAI;AACvD,QAAI,aAAa,WAAY,OAAM,mBAAmB,UAAU,QAAQ,MAAM,GAAG;AACjF,WAAO,EAAE,UAAU,QAAQ,QAAQ,OAAO;AAAA,EAC5C,SAAS,KAAK;AACZ,QAAI,eAAe,4BAA4B;AAC7C,aAAO;AAAA,QACL;AAAA,QACA,QAAQ;AAAA,QACR;AAAA,QACA,QAAQ,IAAI;AAAA,QACZ,GAAI,SAAS,QACT;AAAA,UACE,QACE;AAAA,QACJ,IACA,EAAE,QAAQ,qBAAqB,SAAS,iBAAiB,EAAE;AAAA,MACjE;AAAA,IACF;AACA,QAAI,eAAe,2BAA2B;AAC5C,aAAO;AAAA,QACL;AAAA,QACA,QAAQ;AAAA,QACR;AAAA,QACA,QAAQ,IAAI;AAAA,QACZ,QAAQ,oBAAoB,IAAI,IAAI,uCAAuC,sBAAsB;AAAA,MACnG;AAAA,IACF;AACA,WAAO;AAAA,MACL;AAAA,MACA,QAAQ;AAAA,MACR;AAAA,MACA,QAAQ,UAAU,GAAG;AAAA,MACrB,QACE,eAAe,uBACX,mBAAmB,IAAI,QAAQ,uCAAuC,sBAAsB,KAC5F,QAAQ,sBAAsB;AAAA,IACtC;AAAA,EACF;AACF;AAaA,eAAsB,6BACpB,YACA,MACA,UAAoC,CAAC,GACS;AAC9C,QAAM,MAAM,QAAQ,OAAO,QAAQ;AACnC,QAAM,YAAY,QAAQ,aAAa;AACvC,QAAM,OAAO,cAAc,YAAY,OAAO,GAAG,CAAC;AAClD,QAAM,WAAuC,CAAC;AAC9C,aAAW,YAAY,WAAW;AAChC,UAAM,SAAS,gBAAgB,UAAU,YAAY,GAAG;AACxD,QAAI,MAAM;AACR,eAAS,KAAK;AAAA,QACZ;AAAA,QACA,QAAQ;AAAA,QACR;AAAA,QACA,QAAQ;AAAA,MACV,CAAC;AACD;AAAA,IACF;AACA,UAAM,YAAY,wBAAwB,UAAU,YAAY,GAAG;AACnE,QAAI,SAAS,SAAS,CAAC,UAAU,UAAU;AACzC,eAAS,KAAK,EAAE,UAAU,QAAQ,WAAW,QAAQ,QAAQ,UAAU,IAAI,CAAC;AAC5E;AAAA,IACF;AACA,aAAS,KAAK,MAAM,aAAa,UAAU,YAAY,MAAM,GAAG,CAAC;AAAA,EACnE;AACA,SAAO;AACT;AASA,SAAS,iBAAiB,MAAc,UAAqD;AAC3F,MAAI;AACJ,MAAI;AACF,UAAMC,cAAa,MAAM,OAAO;AAAA,EAClC,SAAS,KAAK;AACZ,UAAM,OAAQ,IAA8B;AAC5C,WAAO,SAAS,YAAY,SAAS,YACjC,EAAE,MAAM,SAAS,IACjB,EAAE,MAAM,cAAc,OAAO,UAAU,GAAG,EAAE;AAAA,EAClD;AACA,MAAI,IAAI,KAAK,MAAM,GAAI,QAAO,EAAE,MAAM,SAAS;AAC/C,MAAI;AACJ,MAAI;AACF,aAAS,KAAK,MAAM,GAAG;AAAA,EACzB,SAAS,KAAK;AACZ,WAAO,EAAE,MAAM,cAAc,OAAO,UAAU,GAAG,EAAE;AAAA,EACrD;AACA,MAAI,CAAC,cAAc,MAAM;AACvB,WAAO,EAAE,MAAM,cAAc,OAAO,mCAAmC;AACzE,QAAM,QAAQ,OAAO;AACrB,QAAM,SAAS,cAAc,KAAK,IAAI,MAAM,aAAa;AACzD,MAAI,CAAC,MAAM,QAAQ,MAAM,EAAG,QAAO,EAAE,MAAM,SAAS;AACpD,QAAM,WAAW,KAAK,UAAU,uBAAuB,QAAQ,CAAC;AAChE,MAAI,QAA0B,EAAE,MAAM,SAAS;AAC/C,aAAW,SAAS,QAAQ;AAC1B,QAAI,CAAC,cAAc,KAAK,KAAK,CAAC,MAAM,QAAQ,MAAM,KAAK,EAAG;AAC1D,eAAW,QAAQ,MAAM,OAAO;AAC9B,UAAI,CAAC,kBAAkB,IAAI,EAAG;AAC9B,UAAI,KAAK,UAAU,IAAI,MAAM,SAAU,QAAO,EAAE,MAAM,WAAW,SAAS,KAAK;AAC/E,cAAQ,EAAE,MAAM,WAAW,SAAS,MAAM;AAAA,IAC5C;AAAA,EACF;AACA,SAAO;AACT;AAGA,SAAS,WACP,UACA,YACA,QACkB;AAClB,MAAI,aAAa,YAAY;AAC3B,UAAM,QAAQ,iBAAiB,QAAQ,QAAQ;AAC/C,QAAI,aAAa,iBAAiB,MAAM,SAAS,SAAU,QAAO;AAElE,UAAM,SAAS,iBAAiBF,MAAK,YAAY,WAAW,eAAe,GAAG,QAAQ;AACtF,WAAO,OAAO,SAAS,YAAY,EAAE,MAAM,WAAW,SAAS,MAAM,IAAI,EAAE,MAAM,SAAS;AAAA,EAC5F;AACA,MAAI,CAACC,YAAW,MAAM,EAAG,QAAO,EAAE,MAAM,SAAS;AACjD,MAAI;AACF,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAASC,cAAa,QAAQ,OAAO,MAAM,iCAAiC;AAAA,IAC9E;AAAA,EACF,SAAS,KAAK;AACZ,WAAO,EAAE,MAAM,cAAc,OAAO,UAAU,GAAG,EAAE;AAAA,EACrD;AACF;AAGA,IAAM,aAA6E;AAAA,EACjF,eAAe;AAAA,EACf,OAAO;AAAA,EACP,UAAU;AACZ;AAGA,SAAS,gBACP,UACA,YACA,MACA,KACA,WACqB;AACrB,QAAM,SAAS,gBAAgB,UAAU,YAAY,GAAG;AACxD,QAAM,EAAE,UAAU,IAAI,IAAI,wBAAwB,UAAU,YAAY,GAAG;AAC3E,QAAM,OAAO,EAAE,UAAU,UAAU,OAAO;AAC1C,MAAI,aAAa,QAAQ;AACvB,QAAI,CAAC,YAAY,SAAS,MAAO,QAAO,EAAE,GAAG,MAAM,OAAO,gBAAgB,QAAQ,IAAI;AAGtF,QAAI,SAAS;AACb,QAAI;AACF,eAASA,cAAa,QAAQ,OAAO,EAAE,SAAS,qBAAqB;AAAA,IACvE,QAAQ;AAAA,IAER;AACA,WAAO,SACH,EAAE,GAAG,MAAM,OAAO,aAAa,QAAQ,qBAAqB,MAAM,iBAAiB,IACnF,EAAE,GAAG,MAAM,OAAO,eAAe,QAAQ,GAAG,GAAG,KAAK,WAAW,IAAI,QAAQ,YAAY;AAAA,EAC7F;AACA,QAAM,WAAW,WAAW,UAAU,YAAY,MAAM;AACxD,MAAI,SAAS,SAAS,cAAc;AAClC,WAAO;AAAA,MACL,GAAG;AAAA,MACH,OAAO;AAAA,MACP,QAAQ,GAAG,MAAM,8BAA8B,SAAS,KAAK;AAAA,MAC7D,QAAQ,OAAO,MAAM,eAAe,sBAAsB;AAAA,IAC5D;AAAA,EACF;AACA,MAAI,SAAS,OAAO;AAClB,WAAO,SAAS,SAAS,YACrB;AAAA,MACE,GAAG;AAAA,MACH,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ,QAAQ,sBAAsB;AAAA,IACxC,IACA,EAAE,GAAG,MAAM,OAAO,YAAY,QAAQ,oCAAoC;AAAA,EAChF;AACA,MAAI,SAAS,SAAS,WAAW;AAC/B,QAAI,CAAC,SAAS,SAAS;AACrB,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO;AAAA,QACP,QAAQ,eAAe,MAAM;AAAA,QAC7B,QAAQ,QAAQ,sBAAsB;AAAA,MACxC;AAAA,IACF;AACA,QAAI,CAAC,UAAW,QAAO,EAAE,GAAG,MAAM,OAAO,aAAa,QAAQ,gBAAgB,MAAM,GAAG;AAGvF,UAAMC,UAAS,aAAa,UAAU,uBAAuB,YAAY,IAAI,IAAI;AACjF,QAAIA,YAAW,QAAQ,eAAe,YAAY,gBAAgB,GAAG;AACnE,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO;AAAA,QACP,QAAQ,kCAAkC,MAAM,WAAWA,OAAM;AAAA,QACjE,QAAQ,QAAQ,sBAAsB;AAAA,MACxC;AAAA,IACF;AACA,QAAIA,YAAW,MAAM;AACnB,YAAM,WAAW,oBAAoB,YAAY,gBAAgB;AACjE,UAAI,YAAY,qBAAqB,YAAY,gBAAgB,GAAG;AAClE,eAAO;AAAA,UACL,GAAG;AAAA,UACH,OAAO;AAAA,UACP,QAAQ,mCAAmC,MAAM,WAAWA,OAAM,QAAQ,WAAW,0BAA0B,mBAAmB;AAAA,UAClI,QACE;AAAA,QACJ;AAAA,MACF;AACA,aAAO,EAAE,GAAG,MAAM,OAAO,aAAa,QAAQ,gBAAgB,MAAM,WAAWA,OAAM,GAAG;AAAA,IAC1F;AAGA,QAAI,qBAAqB,YAAY,WAAW,QAAQ,CAAC,GAAG;AAC1D,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO;AAAA,QACP,QAAQ,GAAG,MAAM;AAAA,QACjB,QAAQ,QAAQ,sBAAsB;AAAA,MACxC;AAAA,IACF;AACA,WAAO,EAAE,GAAG,MAAM,OAAO,aAAa,QAAQ,gBAAgB,MAAM,GAAG;AAAA,EACzE;AACA,MAAI,CAAC,SAAU,QAAO,EAAE,GAAG,MAAM,OAAO,gBAAgB,QAAQ,IAAI;AAGpE,QAAM,SAAS,aAAa,UAAU,uBAAuB,YAAY,SAAS,IAAI;AACtF,MAAI,WAAW,QAAQ,aAAa,eAAe,YAAY,gBAAgB,GAAG;AAChF,WAAO;AAAA,MACL,GAAG;AAAA,MACH,OAAO;AAAA,MACP,QAAQ,kCAAkC,MAAM,WAAW,MAAM;AAAA,MACjE,QAAQ,QAAQ,sBAAsB;AAAA,IACxC;AAAA,EACF;AACA,MAAI,WAAW,MAAM;AACnB,WAAO;AAAA,MACL,GAAG;AAAA,MACH,OAAO;AAAA,MACP,QAAQ,GAAG,MAAM,IAAI,MAAM,kGAAkG,GAAG;AAAA,MAChI,QAAQ;AAAA,MACR,SAAS,iBAAiB;AAAA,IAC5B;AAAA,EACF;AACA,QAAM,UAAU,qBAAqBC,SAAQ,MAAM,CAAC;AACpD,MAAI,YAAY,MAAM;AACpB,WAAO;AAAA,MACL,GAAG;AAAA,MACH,OAAO;AAAA,MACP,QAAQ,GAAG,OAAO,oEAAoE,GAAG;AAAA,MACzF,QAAQ,oBAAoB,OAAO,eAAe,sBAAsB;AAAA,IAC1E;AAAA,EACF;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,OAAO;AAAA,IACP,QAAQ,GAAG,GAAG,SAAS,MAAM;AAAA,IAC7B,QAAQ,QAAQ,sBAAsB;AAAA,EACxC;AACF;AAWO,SAAS,gCACd,YACA,MACA,UAAoC,CAAC,GACL;AAChC,QAAM,MAAM,QAAQ,OAAO,QAAQ;AACnC,QAAM,YAAY,QAAQ,aAAa;AACvC,MAAI,cAAc,YAAY,OAAO,GAAG,CAAC,GAAG;AAC1C,WAAO,UAAU,IAAI,CAAC,cAAc;AAAA,MAClC;AAAA,MACA,UAAU;AAAA,MACV,OAAO;AAAA,MACP,QAAQ,gBAAgB,UAAU,YAAY,GAAG;AAAA,MACjD,QAAQ;AAAA,IACV,EAAE;AAAA,EACJ;AACA,QAAM,YAAY,QAAQ,aAAa;AACvC,SAAO,UAAU,IAAI,CAAC,aAAa,gBAAgB,UAAU,YAAY,MAAM,KAAK,SAAS,CAAC;AAChG;AAGA,IAAM,2BAA2B,KAAK,KAAK;AAS3C,SAAS,oBAAoB,UAAkB,KAAa,KAAyB;AACnF,MAAI;AACF,UAAM,MAAMC;AAAA,MACV;AAAA,MACA,CAAC,MAAM,sDAAsD,MAAM,UAAU,GAAG;AAAA,MAChF,EAAE,UAAU,SAAS,OAAO,CAAC,UAAU,QAAQ,QAAQ,GAAG,SAAS,IAAK;AAAA,IAC1E;AACA,UAAM,OAAO,IAAI,mBAAmB,IAAI,UAAU;AAClD,WAAOL,MAAK,MAAM,GAAG,wBAAwB,GAAG,GAAG,EAAE;AAAA,EACvD,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAGA,SAAS,mBAAmB,UAAkB,KAAa,KAAmB;AAC5E,QAAM,SAAS,oBAAoB,UAAU,KAAK,GAAG;AACrD,MAAI,WAAW,KAAM,QAAO;AAC5B,MAAI;AACF,UAAM,KAAK,UAAU,MAAM;AAC3B,QAAI,CAAC,GAAG,OAAO,EAAG,QAAO;AACzB,QAAI,KAAK,IAAI,IAAI,GAAG,UAAU,yBAA0B,QAAO;AAC/D,WAAOM,UAAS,QAAQ,EAAE,WAAW,GAAG;AAAA,EAC1C,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAeO,SAAS,kBACd,YACA,UAAoC,CAAC,GAClB;AACnB,QAAM,MAAM,QAAQ,OAAO,QAAQ;AACnC,QAAM,OAAO,WAAW,QAAQ,EAAE,IAAI,CAAC;AACvC,MAAI,SAAS,MAAM;AACjB,WAAO;AAAA,MACL,OAAO;AAAA,MACP,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,EACF;AACA,QAAM,QAA2B;AAAA,IAC/B,OAAO;AAAA,IACP;AAAA,IACA,QAAQ,GAAG,IAAI;AAAA,IACf,QAAQ,uBAAuB,IAAI,kEAAkE,sBAAsB;AAAA,EAC7H;AACA,MAAI,mBAAmB,MAAM,YAAY,GAAG,EAAG,QAAO;AACtD,QAAM,QAAQ,UAAU,MAAM,CAAC,QAAQ,iBAAiB,cAAc,aAAa,GAAG;AAAA,IACpF,KAAK;AAAA,IACL,KAAK,EAAE,GAAG,IAAI;AAAA,IACd,OAAO;AAAA,IACP,UAAU;AAAA,IACV,SAAS;AAAA,EACX,CAAC;AACD,MAAI,MAAM,WAAW,GAAG;AACtB,WAAO,EAAE,OAAO,WAAW,MAAM,QAAQ,GAAG,IAAI,uCAAuC;AAAA,EACzF;AACA,MAAI,MAAM,WAAW,OAAO,kBAAkB,KAAK,MAAM,UAAU,EAAE,EAAG,QAAO;AAK/E,QAAM,UACJ,MAAM,WAAW,OACb,QAAQ,MAAM,MAAM,KACnB,MAAM,OAAO,WAAW,UAAU,MAAM,UAAU,MAAM;AAC/D,SAAO;AAAA,IACL,OAAO;AAAA,IACP;AAAA,IACA,QACE,GAAG,IAAI,gDAAgD,OAAO;AAAA,IAEhE,QAAQ,SAAS,IAAI,wCAAwC,UAAU;AAAA,EACzE;AACF;AAGO,IAAM,uBAA6C,OAAO,OAAO;AAAA,EACtE;AAAA,EACA;AAAA,EACA;AACF,CAAC;",
4
+ "mappings": "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",
5
5
  "names": ["execFileSync", "existsSync", "readFileSync", "statSync", "homedir", "dirname", "join", "homedir", "join", "existsSync", "readFileSync", "shared", "dirname", "execFileSync", "statSync"]
6
6
  }
package/dist/index.js CHANGED
@@ -475,7 +475,7 @@ var init_cant_context = __esm({
475
475
 
476
476
  // packages/contracts/src/acceptance-gate-schema.ts
477
477
  import { z } from "zod";
478
- var gateBaseSchema, fileAssertionSchema, testGateSchema, testCountReportSchema, fileGateSchema, commandGateSchema, lintGateSchema, httpGateSchema, manualGateSchema, acceptanceGateSchema, gateResultDetailsSchema, capturedExecutionSchema, gateBindingPathSchema, acceptanceGateBindingSchema, acceptanceGateResultSchema, acceptanceItemSchema, acceptanceArraySchema;
478
+ var gateBaseSchema, fileAssertionSchema, testGateSchema, testCountReportSchema, testCountSummarySchema, fileGateSchema, commandGateSchema, lintGateSchema, httpGateSchema, manualGateSchema, acceptanceGateSchema, gateResultDetailsSchema, capturedExecutionSchema, gateBindingPathSchema, acceptanceGateBindingSchema, acceptanceGateResultSchema, acceptanceItemSchema, acceptanceArraySchema;
479
479
  var init_acceptance_gate_schema = __esm({
480
480
  "packages/contracts/src/acceptance-gate-schema.ts"() {
481
481
  "use strict";
@@ -560,6 +560,19 @@ var init_acceptance_gate_schema = __esm({
560
560
  context.addIssue({ code: "custom", message: "Success status contradicts failed results" });
561
561
  }
562
562
  });
563
+ testCountSummarySchema = z.object({
564
+ numPassedTests: z.number().int().nonnegative().safe(),
565
+ numFailedTests: z.number().int().nonnegative().safe().optional(),
566
+ numTotalTests: z.number().int().nonnegative().safe().optional(),
567
+ success: z.boolean().optional(),
568
+ testResults: z.undefined()
569
+ }).superRefine((summary, context) => {
570
+ const failed = summary.numFailedTests ?? 0;
571
+ if (summary.numTotalTests !== void 0 && summary.numTotalTests < summary.numPassedTests + failed)
572
+ context.addIssue({ code: "custom", message: "Total is below passed plus failed" });
573
+ if (summary.success === true && failed > 0)
574
+ context.addIssue({ code: "custom", message: "Success status contradicts failed count" });
575
+ });
563
576
  fileGateSchema = gateBaseSchema.extend({
564
577
  kind: z.literal("file"),
565
578
  /** Absolute or project-root-relative file path. Mutually exclusive with `attachmentSha256`. */
@@ -14047,6 +14060,13 @@ var init_goal = __esm({
14047
14060
  }
14048
14061
  });
14049
14062
 
14063
+ // packages/contracts/src/goal-contract.ts
14064
+ var init_goal_contract = __esm({
14065
+ "packages/contracts/src/goal-contract.ts"() {
14066
+ "use strict";
14067
+ }
14068
+ });
14069
+
14050
14070
  // packages/contracts/src/graph.ts
14051
14071
  var init_graph = __esm({
14052
14072
  "packages/contracts/src/graph.ts"() {
@@ -14571,7 +14591,7 @@ var init_sync_write_invariants = __esm({
14571
14591
  ["tasks_session_handoff_entries"],
14572
14592
  ["trg_tasks_session_handoff_no_update"],
14573
14593
  ["H2"],
14574
- "handoff entries are never updated"
14594
+ "handoff entries are never updated, and one session has one (the natural uid over the session merges a peer\u2019s; T13777)"
14575
14595
  ),
14576
14596
  trigger(
14577
14597
  "task.claim.lease-iso",
@@ -18797,6 +18817,7 @@ var init_src = __esm({
18797
18817
  init_exit_codes();
18798
18818
  init_facade();
18799
18819
  init_goal();
18820
+ init_goal_contract();
18800
18821
  init_graph();
18801
18822
  init_invariants();
18802
18823
  init_kind_lifecycle();
@@ -45090,43 +45111,45 @@ async function syncJsonHeavyCommandHook(configPath, provider, mode) {
45090
45111
  });
45091
45112
  return result;
45092
45113
  }
45093
- function askEnforceHookObject(provider) {
45094
- const script = `command -v cleo >/dev/null 2>&1 || exit 0; out="$(${ASK_ENFORCE_HOOK_ID} --provider ${provider} 2>/dev/null)"; case "$out" in "{"*) printf '%s\\n' "$out";; esac; exit 0`;
45114
+ function isAskEnforceHookObject(hook) {
45115
+ return isPlainObject2(hook) && typeof hook.command === "string" && hook.command.includes(CLEO_HOOK_MARKER) && hook.command.includes(ASK_ENFORCE_HOOK_ID);
45116
+ }
45117
+ function stopDispatchHookObject(provider) {
45118
+ const script = `command -v cleo >/dev/null 2>&1 || exit 0; out="$(${STOP_DISPATCH_HOOK_ID} --provider ${provider} 2>/dev/null)"; case "$out" in "{"*) printf '%s\\n' "$out";; esac; exit 0`;
45095
45119
  const line = provider === "codex" ? `/bin/sh -c ${shellWord(script)}` : script;
45096
45120
  return {
45097
45121
  type: "command",
45098
45122
  command: `${line} ${CLEO_HOOK_MARKER}`,
45099
- timeout: HEAVY_COMMAND_HOOK_TIMEOUT_SEC
45123
+ timeout: STOP_DISPATCH_HOOK_TIMEOUT_SEC
45100
45124
  };
45101
45125
  }
45102
- function isAskEnforceHookObject(hook) {
45103
- return isPlainObject2(hook) && typeof hook.command === "string" && hook.command.includes(CLEO_HOOK_MARKER) && hook.command.includes(ASK_ENFORCE_HOOK_ID);
45126
+ function isStopDispatchHookObject(hook) {
45127
+ return isPlainObject2(hook) && typeof hook.command === "string" && hook.command.includes(CLEO_HOOK_MARKER) && hook.command.includes(`${STOP_DISPATCH_HOOK_ID} `);
45104
45128
  }
45105
- async function syncJsonAskEnforceHook(configPath, provider, install) {
45106
- const mine = (hook) => isAskEnforceHookObject(hook);
45107
- if (!install) {
45108
- if (!existsSync3(configPath)) return "unchanged";
45109
- const removed = await updateJsonConfigFile(configPath, (config2) => {
45110
- if (config2.hooks === void 0) return false;
45111
- return placeHeavyHook(hookMap(config2), null, "Stop", mine).changed;
45112
- });
45113
- return removed ? "removed" : "unchanged";
45114
- }
45115
- ensureParentDir(configPath);
45129
+ function isFoldedStopHook(hook) {
45130
+ return isAskEnforceHookObject(hook) || isPlainObject2(hook) && hook.command === LEGACY_SESSION_END_STOP_COMMAND;
45131
+ }
45132
+ function applyStopDispatch(hooks, provider, install) {
45133
+ const folded = placeHeavyHook(hooks, null, "Stop", isFoldedStopHook).changed;
45134
+ const desired = install ? stopDispatchHookObject(provider) : null;
45135
+ const placed = placeHeavyHook(hooks, desired, "Stop", isStopDispatchHookObject);
45136
+ if (desired === null || placed.found) return folded || placed.changed;
45137
+ appendHookEntry(hooks, "Stop", { hooks: [desired] });
45138
+ return true;
45139
+ }
45140
+ async function syncJsonStopDispatchHook(configPath, provider, install) {
45141
+ if (!install && !existsSync3(configPath)) return "unchanged";
45142
+ if (install) ensureParentDir(configPath);
45116
45143
  let result = "unchanged";
45117
45144
  await updateJsonConfigFile(configPath, (config2) => {
45145
+ if (!install && config2.hooks === void 0) return false;
45118
45146
  const hooks = hookMap(config2);
45119
- const placed = placeHeavyHook(hooks, askEnforceHookObject(provider), "Stop", mine);
45120
- if (placed.found) {
45121
- if (placed.changed) result = "updated";
45122
- return placed.changed;
45123
- }
45124
- const existing = hooks.Stop;
45125
- hooks.Stop = [
45126
- ...Array.isArray(existing) ? existing : [],
45127
- { hooks: [askEnforceHookObject(provider)] }
45128
- ];
45129
- result = "installed";
45147
+ const stop = hooks.Stop;
45148
+ const had = Array.isArray(stop) && stop.some(
45149
+ (g) => isPlainObject2(g) && Array.isArray(g.hooks) && g.hooks.some(isStopDispatchHookObject)
45150
+ );
45151
+ if (!applyStopDispatch(hooks, provider, install)) return false;
45152
+ result = !install ? "removed" : had ? "updated" : "installed";
45130
45153
  return true;
45131
45154
  });
45132
45155
  return result;
@@ -45401,7 +45424,7 @@ function syncOpencodeHeavyCommandPlugin(projectDir, mode) {
45401
45424
  excludeHookFileFromGit(projectDir, OPENCODE_PLUGIN_FILE);
45402
45425
  return current ? "unchanged" : exists ? "updated" : "installed";
45403
45426
  }
45404
- var HEAVY_COMMAND_HOOK_ID, HEAVY_COMMAND_HOOK_TIMEOUT_SEC, OPENCODE_HEAVY_COMMAND_PLUGIN, HEAVY_TOOL_WORDS, HeavyHookPathBlockedError, OLDER_CLEO_HOOK_ANSWER, OLDER_CLEO_MARKER_PREFIX, ASK_ENFORCE_HOOK_ID, CLAUDE_LOCAL_SETTINGS, LOCAL_SETTINGS_EXCLUDE_MARKER, HOOK_FILE_EXCLUDE_MARKER, CODEX_HOOKS_FILE, OPENCODE_PLUGIN_FILE, HeavyHookSharedConfigError;
45427
+ var HEAVY_COMMAND_HOOK_ID, HEAVY_COMMAND_HOOK_TIMEOUT_SEC, OPENCODE_HEAVY_COMMAND_PLUGIN, HEAVY_TOOL_WORDS, HeavyHookPathBlockedError, OLDER_CLEO_HOOK_ANSWER, OLDER_CLEO_MARKER_PREFIX, ASK_ENFORCE_HOOK_ID, STOP_DISPATCH_HOOK_ID, STOP_DISPATCH_HOOK_TIMEOUT_SEC, LEGACY_SESSION_END_STOP_COMMAND, CLAUDE_LOCAL_SETTINGS, LOCAL_SETTINGS_EXCLUDE_MARKER, HOOK_FILE_EXCLUDE_MARKER, CODEX_HOOKS_FILE, OPENCODE_PLUGIN_FILE, HeavyHookSharedConfigError;
45405
45428
  var init_heavy_command_hook_install = __esm({
45406
45429
  "packages/adapters/src/providers/shared/heavy-command-hook-install.ts"() {
45407
45430
  "use strict";
@@ -45462,6 +45485,9 @@ var init_heavy_command_hook_install = __esm({
45462
45485
  });
45463
45486
  OLDER_CLEO_MARKER_PREFIX = "cleo-hook-unsupported-";
45464
45487
  ASK_ENFORCE_HOOK_ID = "cleo hook ask-enforce";
45488
+ STOP_DISPATCH_HOOK_ID = "cleo hook stop";
45489
+ STOP_DISPATCH_HOOK_TIMEOUT_SEC = 120;
45490
+ LEGACY_SESSION_END_STOP_COMMAND = "cleo session end --quiet # cleo-hook";
45465
45491
  CLAUDE_LOCAL_SETTINGS = ".claude/settings.local.json";
45466
45492
  LOCAL_SETTINGS_EXCLUDE_MARKER = "# cleo-hook: keep the per-machine heavy-command hook settings out of git (T12983)";
45467
45493
  HOOK_FILE_EXCLUDE_MARKER = "# cleo-hook: keep a per-machine heavy-command hook file out of git (T13124)";
@@ -45709,13 +45735,16 @@ import { PROVIDER_NATIVE_EVENT_MAPS } from "@cleocode/caamp/hooks";
45709
45735
  function isNativeHookObject(hook) {
45710
45736
  return isPlainObject2(hook) && typeof hook.command === "string" && NATIVE_HOOK_COMMANDS.has(hook.command);
45711
45737
  }
45712
- function hasNativeHooks(hooks) {
45738
+ function holdsHook(hooks, match) {
45713
45739
  return Object.values(hooks).some(
45714
45740
  (entries) => Array.isArray(entries) && entries.some(
45715
- (entry) => isPlainObject2(entry) && Array.isArray(entry.hooks) && entry.hooks.some(isNativeHookObject)
45741
+ (entry) => isPlainObject2(entry) && Array.isArray(entry.hooks) && entry.hooks.some(match)
45716
45742
  )
45717
45743
  );
45718
45744
  }
45745
+ function hasNativeHooks(hooks) {
45746
+ return holdsHook(hooks, isNativeHookObject);
45747
+ }
45719
45748
  function removeNativeHooks(hooks) {
45720
45749
  let changed = false;
45721
45750
  for (const [event, entries] of Object.entries(hooks)) {
@@ -45738,17 +45767,19 @@ function removeNativeHooks(hooks) {
45738
45767
  }
45739
45768
  return changed;
45740
45769
  }
45741
- var NATIVE_STOP_HOOK_COMMAND, NATIVE_OBSERVE_HOOK_COMMAND, NATIVE_NEXUS_HOOK_COMMAND, NATIVE_HOOK_COMMANDS, PROVIDER_ID, CLAUDE_CODE_EVENT_MAP, ClaudeCodeHookProvider;
45770
+ var NATIVE_STOP_HOOK_COMMAND, LEGACY_NATIVE_STOP_HOOK_COMMAND, NATIVE_OBSERVE_HOOK_COMMAND, NATIVE_NEXUS_HOOK_COMMAND, NATIVE_HOOK_COMMANDS, PROVIDER_ID, CLAUDE_CODE_EVENT_MAP, ClaudeCodeHookProvider;
45742
45771
  var init_hooks = __esm({
45743
45772
  "packages/adapters/src/providers/claude-code/hooks.ts"() {
45744
45773
  "use strict";
45745
45774
  init_heavy_command_hook_install();
45746
45775
  init_paths();
45747
- NATIVE_STOP_HOOK_COMMAND = "cleo session end --quiet # cleo-hook";
45776
+ NATIVE_STOP_HOOK_COMMAND = String(stopDispatchHookObject("claude-code").command);
45777
+ LEGACY_NATIVE_STOP_HOOK_COMMAND = LEGACY_SESSION_END_STOP_COMMAND;
45748
45778
  NATIVE_OBSERVE_HOOK_COMMAND = 'cleo observe "File modified via $TOOL_NAME" --title "tool-use" --quiet # cleo-hook';
45749
45779
  NATIVE_NEXUS_HOOK_COMMAND = 'cleo nexus analyze --incremental --json > /dev/null 2>&1 && cleo observe "NEXUS re-indexed after $TOOL_NAME on $TOOL_INPUT_file_path" --title "nexus-post-check" --quiet # cleo-hook';
45750
45780
  NATIVE_HOOK_COMMANDS = /* @__PURE__ */ new Set([
45751
45781
  NATIVE_STOP_HOOK_COMMAND,
45782
+ LEGACY_NATIVE_STOP_HOOK_COMMAND,
45752
45783
  NATIVE_OBSERVE_HOOK_COMMAND,
45753
45784
  NATIVE_NEXUS_HOOK_COMMAND
45754
45785
  ]);
@@ -45790,7 +45821,8 @@ var init_hooks = __esm({
45790
45821
  * Idempotent: skips writing if the native hooks are already present.
45791
45822
  *
45792
45823
  * Hook entries registered:
45793
- * - `Stop` → `cleo session end --quiet` (triggers LLM extraction, reflector, consolidation)
45824
+ * - `Stop` → `cleo hook stop` (the goal runtime first, then `cleo session end`,
45825
+ * which triggers LLM extraction, reflector, consolidation; T13796)
45794
45826
  * - `PostToolUse` (Write|Edit) → brain observation for file modifications
45795
45827
  * and the NEXUS post-check
45796
45828
  *
@@ -45802,11 +45834,9 @@ var init_hooks = __esm({
45802
45834
  this.registered = true;
45803
45835
  const wrote = await this.updateSettings(projectDir, (settings) => {
45804
45836
  const hooks = hookMap(settings);
45805
- if (hasNativeHooks(hooks)) return false;
45806
- appendHookEntry(hooks, "Stop", {
45807
- matcher: "",
45808
- hooks: [{ type: "command", command: NATIVE_STOP_HOOK_COMMAND }]
45809
- });
45837
+ const fresh = !hasNativeHooks(hooks) && !holdsHook(hooks, isStopDispatchHookObject);
45838
+ const stopChanged = applyStopDispatch(hooks, "claude-code", true);
45839
+ if (!fresh) return stopChanged;
45810
45840
  appendHookEntry(hooks, "PostToolUse", {
45811
45841
  matcher: "Write|Edit",
45812
45842
  hooks: [
@@ -50106,10 +50136,9 @@ function detectHeavyHookProvider(provider, projectDir, env = process.env) {
50106
50136
  function errorText(err) {
50107
50137
  return err instanceof Error ? err.message : String(err);
50108
50138
  }
50109
- async function syncAskEnforceHook(provider, target, mode, env) {
50110
- const install = mode !== "off" && env.CLEO_ASK_ENFORCE?.trim().toLowerCase() !== "off";
50139
+ async function syncStopDispatch(provider, target, mode) {
50111
50140
  try {
50112
- await syncJsonAskEnforceHook(target, provider, install);
50141
+ await syncJsonStopDispatchHook(target, provider, provider === "claude-code" || mode !== "off");
50113
50142
  } catch {
50114
50143
  }
50115
50144
  }
@@ -50120,7 +50149,7 @@ async function syncProvider(provider, projectDir, mode, env) {
50120
50149
  }
50121
50150
  try {
50122
50151
  const result = provider === "claude-code" ? await syncClaudeCodeHeavyCommandHook(projectDir, mode) : provider === "codex" ? await syncCodexHeavyCommandHook(projectDir, mode) : syncOpencodeHeavyCommandPlugin(projectDir, mode);
50123
- if (provider !== "opencode") await syncAskEnforceHook(provider, target, mode, env);
50152
+ if (provider !== "opencode") await syncStopDispatch(provider, target, mode);
50124
50153
  return { provider, status: result, target };
50125
50154
  } catch (err) {
50126
50155
  if (err instanceof HeavyHookSharedConfigError) {