@theokit/sdk 5.3.2 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/dist/{agent-KJLAWKZB.cjs → agent-AUVD4TI4.cjs} +9 -9
  3. package/dist/{agent-KJLAWKZB.cjs.map → agent-AUVD4TI4.cjs.map} +1 -1
  4. package/dist/{agent-CTbU0O1R.d.ts → agent-Bmy2G_ml.d.ts} +73 -2
  5. package/dist/{agent-QLwxhXY3.d.cts → agent-C1Efo7PI.d.cts} +73 -2
  6. package/dist/{agent-PNYJ5S2Y.js → agent-MNINE73R.js} +8 -8
  7. package/dist/{agent-PNYJ5S2Y.js.map → agent-MNINE73R.js.map} +1 -1
  8. package/dist/{chunk-AWINL3ZC.js → chunk-2QKV4CGK.js} +3 -3
  9. package/dist/{chunk-AWINL3ZC.js.map → chunk-2QKV4CGK.js.map} +1 -1
  10. package/dist/{chunk-65UMH5V3.cjs → chunk-3FDU5JFE.cjs} +5 -5
  11. package/dist/{chunk-65UMH5V3.cjs.map → chunk-3FDU5JFE.cjs.map} +1 -1
  12. package/dist/{chunk-DWB3CN46.cjs → chunk-43YXGD3P.cjs} +14 -4
  13. package/dist/chunk-43YXGD3P.cjs.map +1 -0
  14. package/dist/{chunk-IQBDR5YZ.cjs → chunk-AYA65JA5.cjs} +5 -5
  15. package/dist/{chunk-IQBDR5YZ.cjs.map → chunk-AYA65JA5.cjs.map} +1 -1
  16. package/dist/{chunk-2HPNT6HH.cjs → chunk-C4ZQPWXJ.cjs} +9 -9
  17. package/dist/chunk-C4ZQPWXJ.cjs.map +1 -0
  18. package/dist/{chunk-Y2KYR2ED.cjs → chunk-DZG77WU7.cjs} +3 -3
  19. package/dist/{chunk-Y2KYR2ED.cjs.map → chunk-DZG77WU7.cjs.map} +1 -1
  20. package/dist/{chunk-363RBGIR.js → chunk-IKBLU7ZS.js} +58 -27
  21. package/dist/chunk-IKBLU7ZS.js.map +1 -0
  22. package/dist/{chunk-L4XENLQO.cjs → chunk-J6KZE2ZQ.cjs} +4 -4
  23. package/dist/{chunk-L4XENLQO.cjs.map → chunk-J6KZE2ZQ.cjs.map} +1 -1
  24. package/dist/{chunk-ZITYGJOD.js → chunk-KWGSBZ2Q.js} +3 -3
  25. package/dist/{chunk-ZITYGJOD.js.map → chunk-KWGSBZ2Q.js.map} +1 -1
  26. package/dist/{chunk-K3NH62DG.js → chunk-KZSKIUXZ.js} +7 -7
  27. package/dist/chunk-KZSKIUXZ.js.map +1 -0
  28. package/dist/{chunk-RP3VXJMA.js → chunk-NSLHPAC7.js} +14 -4
  29. package/dist/chunk-NSLHPAC7.js.map +1 -0
  30. package/dist/{chunk-DLFWMJE3.js → chunk-O7L7M42F.js} +3 -3
  31. package/dist/{chunk-DLFWMJE3.js.map → chunk-O7L7M42F.js.map} +1 -1
  32. package/dist/{chunk-Y46VI73J.cjs → chunk-UALC6Q3J.cjs} +127 -96
  33. package/dist/chunk-UALC6Q3J.cjs.map +1 -0
  34. package/dist/{chunk-7L3MIW2F.js → chunk-XD3FS5OI.js} +3 -3
  35. package/dist/{chunk-7L3MIW2F.js.map → chunk-XD3FS5OI.js.map} +1 -1
  36. package/dist/{compact-session-BHTPCIHA.cjs → compact-session-7FMYJXQ7.cjs} +11 -11
  37. package/dist/{compact-session-BHTPCIHA.cjs.map → compact-session-7FMYJXQ7.cjs.map} +1 -1
  38. package/dist/{compact-session-W4WLJTHA.js → compact-session-YSEK7NQF.js} +3 -3
  39. package/dist/{compact-session-W4WLJTHA.js.map → compact-session-YSEK7NQF.js.map} +1 -1
  40. package/dist/{context-FCCJQ3FN.cjs → context-4AIK26QB.cjs} +7 -7
  41. package/dist/{context-FCCJQ3FN.cjs.map → context-4AIK26QB.cjs.map} +1 -1
  42. package/dist/context-EGM6CHXD.js +6 -0
  43. package/dist/{context-BUIE52VH.js.map → context-EGM6CHXD.js.map} +1 -1
  44. package/dist/{cron-Dz8AOpy3.d.cts → cron-DSMdlhyF.d.cts} +1 -1
  45. package/dist/{cron-Cl8FrK3D.d.ts → cron-Dcdrdv_T.d.ts} +1 -1
  46. package/dist/cron.cjs +8 -8
  47. package/dist/cron.d.cts +2 -2
  48. package/dist/cron.d.ts +2 -2
  49. package/dist/cron.js +7 -7
  50. package/dist/eval.cjs +7 -7
  51. package/dist/eval.js +6 -6
  52. package/dist/index.cjs +30 -30
  53. package/dist/index.d.cts +3 -3
  54. package/dist/index.d.ts +3 -3
  55. package/dist/index.js +9 -9
  56. package/dist/{inject-session-SUM6TDJF.js → inject-session-J4LBWAPH.js} +3 -3
  57. package/dist/{inject-session-SUM6TDJF.js.map → inject-session-J4LBWAPH.js.map} +1 -1
  58. package/dist/{inject-session-W6A46J3E.cjs → inject-session-PC73TMP2.cjs} +4 -4
  59. package/dist/{inject-session-W6A46J3E.cjs.map → inject-session-PC73TMP2.cjs.map} +1 -1
  60. package/dist/internal/llm/tool-result-content.d.ts +1 -1
  61. package/dist/internal/persistence/index.cjs +4 -4
  62. package/dist/internal/persistence/index.js +1 -1
  63. package/dist/internal/runtime/hooks/hooks-executor.d.ts +25 -1
  64. package/dist/subagents-loader-AIVDQ2D5.js +7 -0
  65. package/dist/{subagents-loader-PAZVOZHI.js.map → subagents-loader-AIVDQ2D5.js.map} +1 -1
  66. package/dist/subagents-loader-DN4LETGL.cjs +16 -0
  67. package/dist/{subagents-loader-7G76XOZU.cjs.map → subagents-loader-DN4LETGL.cjs.map} +1 -1
  68. package/dist/subagents-loader.cjs +3 -3
  69. package/dist/subagents-loader.d.cts +1 -1
  70. package/dist/subagents-loader.d.ts +1 -1
  71. package/dist/subagents-loader.js +2 -2
  72. package/dist/types/agent.d.ts +25 -2
  73. package/dist/types/hooks.d.ts +48 -0
  74. package/package.json +1 -1
  75. package/dist/chunk-2HPNT6HH.cjs.map +0 -1
  76. package/dist/chunk-363RBGIR.js.map +0 -1
  77. package/dist/chunk-DWB3CN46.cjs.map +0 -1
  78. package/dist/chunk-K3NH62DG.js.map +0 -1
  79. package/dist/chunk-RP3VXJMA.js.map +0 -1
  80. package/dist/chunk-Y46VI73J.cjs.map +0 -1
  81. package/dist/context-BUIE52VH.js +0 -6
  82. package/dist/subagents-loader-7G76XOZU.cjs +0 -16
  83. package/dist/subagents-loader-PAZVOZHI.js +0 -7
@@ -1,4 +1,4 @@
1
- import { theokitConfigRoot, projectConfigRoots } from './chunk-RP3VXJMA.js';
1
+ import { theokitConfigRoot, projectConfigRoots } from './chunk-NSLHPAC7.js';
2
2
  import { ConfigurationError } from './chunk-ALUN2B4W.js';
3
3
  import { diag } from './chunk-CZJ6Q7CW.js';
4
4
  import { AsyncLocalStorage } from 'async_hooks';
@@ -164,5 +164,5 @@ function warnPersonalitySwitchInsideFork(agentId) {
164
164
  }
165
165
 
166
166
  export { currentPersonalityContext, loadHookConfig, warnOnce, warnPersonalitySwitchInsideFork, withPersonalityContext };
167
- //# sourceMappingURL=chunk-7L3MIW2F.js.map
168
- //# sourceMappingURL=chunk-7L3MIW2F.js.map
167
+ //# sourceMappingURL=chunk-XD3FS5OI.js.map
168
+ //# sourceMappingURL=chunk-XD3FS5OI.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/internal/runtime/hooks/hooks-source.ts","../src/internal/personality/context.ts"],"names":[],"mappings":";;;;;;;;AAkCA,IAAM,qBAAA,GAA6D;AAAA,EACjE,UAAA,EAAY,YAAA;AAAA,EACZ,WAAA,EAAa,aAAA;AAAA,EACb,gBAAA,EAAkB,QAAA;AAAA,EAClB,IAAA,EAAM;AACR,CAAA;AAqBA,IAAM,MAAA,uBAAa,GAAA,EAAY;AAYxB,SAAS,QAAA,CAAS,KAAa,OAAA,EAAuB;AAC3D,EAAA,IAAI,MAAA,CAAO,GAAA,CAAI,GAAG,CAAA,EAAG;AACrB,EAAA,MAAA,CAAO,IAAI,GAAG,CAAA;AACd,EAAA,IAAA,CAAK,GAAG,OAAO;AAAA,CAAI,CAAA;AACrB;AAcA,eAAsB,cAAA,CACpB,GAAA,EACA,aAAA,GAAoD,EAAC,EAChC;AACrB,EAAA,MAAM,SAAqB,EAAC;AAC5B,EAAA,IAAI,MAAA,GAAS,KAAA;AACb,EAAA,KAAA,MAAW,IAAA,IAAQ,oBAAA,CAAqB,GAAA,EAAK,aAAa,CAAA,EAAG;AAC3D,IAAA,IAAI,CAAC,UAAA,CAAW,IAAI,CAAA,EAAG;AACvB,IAAA,MAAA,GAAS,IAAA;AAIT,IAAA,SAAA,CAAU,QAAQ,WAAA,CAAY,MAAM,aAAa,IAAI,CAAA,EAAG,IAAI,CAAC,CAAA;AAAA,EAC/D;AACA,EAAA,IAAI,CAAC,UAAU,UAAA,CAAW,IAAA,CAAK,kBAAkB,GAAG,CAAA,EAAG,OAAO,CAAC,CAAA,EAAG;AAChE,IAAA,QAAA;AAAA,MACE,sBAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF;AACA,EAAA,OAAO,MAAA;AACT;AAaA,SAAS,oBAAA,CACP,KACA,aAAA,EACU;AACV,EAAA,MAAM,KAAA,GAAQ,kBAAA,CAAmB,GAAA,EAAK,aAAA,EAAe,OAAO,CAAA;AAC5D,EAAA,OAAO;AAAA,IACL,GAAG,MAAM,GAAA,CAAI,CAAC,SAAS,IAAA,CAAK,IAAA,EAAM,YAAY,CAAC,CAAA;AAAA,IAC/C,GAAG,MAAM,GAAA,CAAI,CAAC,SAAS,IAAA,CAAK,IAAA,EAAM,eAAe,CAAC,CAAA;AAAA,IAClD,GAAG,MAAM,GAAA,CAAI,CAAC,SAAS,IAAA,CAAK,IAAA,EAAM,qBAAqB,CAAC;AAAA,GAC1D;AACF;AAQA,SAAS,WAAA,CAAY,QAAoB,UAAA,EAAgC;AACvE,EAAA,IAAI,MAAA,CAAO,KAAA,KAAU,MAAA,EAAW,OAAO,MAAA;AACvC,EAAA,MAAM,QAA0C,EAAC;AACjD,EAAA,KAAA,MAAW,CAAC,OAAO,QAAQ,CAAA,IAAK,OAAO,OAAA,CAAQ,MAAA,CAAO,KAAK,CAAA,EAGtD;AACH,IAAA,IAAI,aAAa,MAAA,EAAW;AAC5B,IAAA,KAAA,CAAM,KAAK,CAAA,GAAI,QAAA,CAAS,GAAA,CAAI,CAAC,OAAO,EAAE,UAAA,EAAY,GAAG,CAAA,EAAE,CAAE,CAAA;AAAA,EAC3D;AACA,EAAA,OAAO,EAAE,KAAA,EAAM;AACjB;AAWA,SAAS,SAAA,CAAU,QAAoB,MAAA,EAA0B;AAC/D,EAAA,KAAA,MAAW,CAAC,KAAA,EAAO,QAAQ,CAAA,IAAK,MAAA,CAAO,QAAQ,MAAA,CAAO,KAAA,IAAS,EAAE,CAAA,EAG5D;AACH,IAAA,IAAI,QAAA,KAAa,MAAA,IAAa,QAAA,CAAS,MAAA,KAAW,CAAA,EAAG;AACrD,IAAA,MAAA,CAAO,UAAU,EAAC;AAClB,IAAA,MAAA,CAAO,KAAA,CAAM,KAAK,CAAA,GAAI,CAAC,GAAI,MAAA,CAAO,KAAA,CAAM,KAAK,CAAA,IAAK,EAAC,EAAI,GAAG,QAAQ,CAAA;AAAA,EACpE;AACF;AAEA,eAAe,aAAa,QAAA,EAAuC;AACjE,EAAA,IAAI,GAAA;AACJ,EAAA,IAAI;AACF,IAAA,GAAA,GAAM,MAAM,QAAA,CAAS,QAAA,EAAU,MAAM,CAAA;AAAA,EACvC,SAAS,KAAA,EAAO;AACd,IAAA,MAAM,IAAI,kBAAA,CAAmB,CAAA,6BAAA,EAAgC,QAAQ,CAAA,CAAA,EAAI;AAAA,MACvE,IAAA,EAAM,kBAAA;AAAA,MACN;AAAA,KACD,CAAA;AAAA,EACH;AACA,EAAA,IAAI,MAAA;AACJ,EAAA,IAAI;AACF,IAAA,MAAA,GAAS,IAAA,CAAK,MAAM,GAAG,CAAA;AAAA,EACzB,SAAS,KAAA,EAAO;AACd,IAAA,MAAM,IAAI,kBAAA,CAAmB,CAAA,8BAAA,EAAiC,QAAQ,CAAA,CAAA,EAAI;AAAA,MACxE,IAAA,EAAM,oBAAA;AAAA,MACN;AAAA,KACD,CAAA;AAAA,EACH;AACA,EAAA,OAAO,qBAAA,CAAsB,QAAQ,QAAQ,CAAA;AAC/C;AAYA,SAAS,QAAA,CACP,KAAA,EACA,IAAA,EACA,KAAA,EACA,IAAA,EACyB;AACzB,EAAA,IAAI,OAAO,UAAU,QAAA,IAAY,KAAA,KAAU,QAAQ,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACvE,IAAA,MAAM,IAAI,kBAAA;AAAA,MACR,CAAA,6BAAA,EAAgC,KAAK,CAAA,IAAA,EAAO,IAAI,CAAA,EAAG,SAAS,MAAA,GAAY,EAAA,GAAK,CAAA,QAAA,EAAM,IAAI,CAAA,CAAE,CAAA,CAAA;AAAA,MACzF,EAAE,MAAM,oBAAA;AAAqB,KAC/B;AAAA,EACF;AACA,EAAA,OAAO,KAAA;AACT;AAMA,IAAM,gBAAA,GACJ,+HAAA;AAIF,SAAS,OAAA,CAAQ,KAAA,EAAgB,IAAA,EAAc,KAAA,EAA0B;AACvE,EAAA,IAAI,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACzB,IAAA,MAAM,IAAI,kBAAA,CAAmB,CAAA,4BAAA,EAA+B,KAAK,CAAA,IAAA,EAAO,IAAI,CAAA,CAAA,EAAI;AAAA,MAC9E,IAAA,EAAM;AAAA,KACP,CAAA;AAAA,EACH;AACA,EAAA,OAAO,KAAA;AACT;AAQA,SAAS,qBAAA,CAAsB,KAAc,IAAA,EAA0B;AACrE,EAAA,MAAM,IAAA,GAAO,QAAA,CAAS,GAAA,EAAK,IAAA,EAAM,UAAU,CAAA;AAC3C,EAAA,IAAI,IAAA,CAAK,KAAA,KAAU,MAAA,EAAW,OAAO,EAAC;AACtC,EAAA,MAAM,WAAW,QAAA,CAAS,IAAA,CAAK,KAAA,EAAO,IAAA,EAAM,WAAW,gBAAgB,CAAA;AACvE,EAAA,MAAM,UAAqD,EAAC;AAE5D,EAAA,KAAA,MAAW,CAAC,OAAA,EAAS,MAAM,KAAK,MAAA,CAAO,OAAA,CAAQ,QAAQ,CAAA,EAAG;AACxD,IAAA,MAAM,KAAA,GAAQ,sBAAsB,OAAO,CAAA;AAC3C,IAAA,IAAI,UAAU,MAAA,EAAW;AACvB,MAAA,QAAA;AAAA,QACE,eAAe,OAAO,CAAA,CAAA;AAAA,QACtB,CAAA,4BAAA,EAA+B,OAAO,CAAA,8CAAA,EAAiD,MAAA,CAAO,KAAK,qBAAqB,CAAA,CAAE,IAAA,CAAK,IAAI,CAAC,CAAA,iBAAA;AAAA,OACtI;AACA,MAAA;AAAA,IACF;AACA,IAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,CAAC,GAAI,QAAQ,KAAK,CAAA,IAAK,EAAC,EAAI,GAAG,kBAAA,CAAmB,MAAA,EAAQ,IAAA,EAAM,OAAO,CAAC,CAAA;AAAA,EAC3F;AACA,EAAA,OAAO,EAAE,OAAO,OAAA,EAAQ;AAC1B;AAGA,SAAS,kBAAA,CAAmB,MAAA,EAAiB,IAAA,EAAc,OAAA,EAAgC;AACzF,EAAA,MAAM,WAA0B,EAAC;AACjC,EAAA,KAAA,MAAW,YAAY,OAAA,CAAQ,MAAA,EAAQ,MAAM,CAAA,MAAA,EAAS,OAAO,EAAE,CAAA,EAAG;AAChE,IAAA,MAAM,QAAQ,QAAA,CAAS,QAAA,EAAU,IAAA,EAAM,CAAA,MAAA,EAAS,OAAO,CAAA,EAAA,CAAI,CAAA;AAC3D,IAAA,MAAM,UAAU,KAAA,CAAM,OAAA,KAAY,SAAY,MAAA,GAAY,MAAA,CAAO,MAAM,OAAO,CAAA;AAC9E,IAAA,KAAA,MAAW,MAAA,IAAU,QAAQ,KAAA,CAAM,KAAA,EAAO,MAAM,CAAA,MAAA,EAAS,OAAO,UAAU,CAAA,EAAG;AAC3E,MAAA,QAAA,CAAS,KAAK,sBAAA,CAAuB,MAAA,EAAQ,OAAA,EAAS,IAAA,EAAM,OAAO,CAAC,CAAA;AAAA,IACtE;AAAA,EACF;AACA,EAAA,OAAO,QAAA;AACT;AAGA,SAAS,sBAAA,CACP,GAAA,EACA,OAAA,EACA,IAAA,EACA,OAAA,EACa;AACb,EAAA,MAAM,MAAM,QAAA,CAAS,GAAA,EAAK,IAAA,EAAM,CAAA,MAAA,EAAS,OAAO,CAAA,UAAA,CAAY,CAAA;AAC5D,EAAA,IAAI,GAAA,CAAI,SAAS,SAAA,EAAW;AAC1B,IAAA,MAAM,IAAI,kBAAA;AAAA,MACR,uDAAuD,IAAA,CAAK,SAAA,CAAU,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAA,CAAA;AAAA,MAC3F,EAAE,MAAM,wBAAA;AAAyB,KACnC;AAAA,EACF;AACA,EAAA,IAAI,OAAO,GAAA,CAAI,OAAA,KAAY,YAAY,GAAA,CAAI,OAAA,CAAQ,WAAW,CAAA,EAAG;AAC/D,IAAA,MAAM,IAAI,kBAAA,CAAmB,CAAA,+CAAA,EAAkD,IAAI,CAAA,CAAA,EAAI;AAAA,MACrF,IAAA,EAAM;AAAA,KACP,CAAA;AAAA,EACH;AACA,EAAA,MAAM,EAAA,GAAkB,EAAE,OAAA,EAAS,GAAA,CAAI,OAAA,EAAQ;AAC/C,EAAA,IAAI,OAAA,KAAY,MAAA,EAAW,EAAA,CAAG,OAAA,GAAU,OAAA;AACxC,EAAA,IAAI,OAAO,GAAA,CAAI,OAAA,KAAY,QAAA,IAAY,GAAA,CAAI,UAAU,CAAA,EAAG;AACtD,IAAA,EAAA,CAAG,SAAA,GAAY,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,UAAU,GAAI,CAAA;AAAA,EAC9C;AACA,EAAA,OAAO,EAAA;AACT;;;AC/QA,IAAM,OAAA,GAAU,IAAI,iBAAA,EAA0C;AAQvD,SAAS,sBAAA,CACd,KACA,EAAA,EACY;AACZ,EAAA,OAAO,OAAA,CAAQ,GAAA,CAAI,GAAA,EAAK,EAAE,CAAA;AAC5B;AAQO,SAAS,yBAAA,GAAgE;AAC9E,EAAA,OAAO,QAAQ,QAAA,EAAS;AAC1B;AASO,SAAS,gCAAgC,OAAA,EAAuB;AACrE,EAAA,QAAA;AAAA,IACE,8BAA8B,OAAO,CAAA,CAAA;AAAA,IACrC,CAAA,0IAAA;AAAA,GACF;AACF","file":"chunk-7L3MIW2F.js","sourcesContent":["/**\n * Single source of truth for loading the hooks config (ADR 0016 — reverses\n * D74/D77 for hooks: JSON is canonical again, in the Claude Code shape).\n *\n * `.theokit/hooks.json` (Claude-Code-shaped JSON) is the only supported form.\n * A stray legacy `.theokit/hooks/*.md` dir (no hooks.json) is NOT loaded — it\n * warns to migrate and yields no hooks. Absent both → empty config.\n *\n * Consumed by `hooks-executor.ts` (runtime dispatch).\n *\n * Config shape (identical to Claude Code's `settings.json` hooks):\n * { \"hooks\": { \"PreToolUse\": [ { \"matcher\": \"shell\",\n * \"hooks\": [ { \"type\": \"command\", \"command\": \"…\", \"timeout\": 30 } ] } ] } }\n *\n * @internal\n */\n\nimport { existsSync } from \"node:fs\";\nimport { readFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport { ConfigurationError } from \"../../../errors.js\";\nimport { diag } from \"../../diagnostics.js\";\nimport { projectConfigRoots, theokitConfigRoot } from \"../../persistence/paths.js\";\nimport type { CompatSourceDeclaration } from \"../compat/foreign-config-sources.js\";\n\n/** The five lifecycle events the SDK runtime actually fires. */\nexport type HookEvent = \"preRun\" | \"postRun\" | \"preToolUse\" | \"postToolUse\" | \"stop\";\n\n/**\n * Claude Code event name → the SDK firing event. Only events the runtime\n * genuinely emits are mapped; a Claude Code event with no SDK firing point\n * (SessionStart / SubagentStop / PreCompact / Notification / SessionEnd) is\n * skipped with a warn rather than silently accepted (it would never run).\n */\nconst CLAUDE_CODE_EVENT_MAP: Readonly<Record<string, HookEvent>> = {\n PreToolUse: \"preToolUse\",\n PostToolUse: \"postToolUse\",\n UserPromptSubmit: \"preRun\",\n Stop: \"stop\",\n};\n\nexport interface HookCommand {\n command: string;\n matcher?: string;\n timeoutMs?: number;\n /**\n * The config file this command was declared in.\n *\n * Carried so the executor can supply the runtime contract the declaring DIALECT presumes — a\n * command from `.claude/settings.json` is written against Claude Code's runtime and expects\n * `$CLAUDE_PROJECT_DIR` to exist (#522). Absent for a command built in memory, which is native by\n * construction.\n */\n sourcePath?: string;\n}\n\nexport interface HookConfig {\n hooks?: Partial<Record<HookEvent, HookCommand[]>>;\n}\n\nconst warned = new Set<string>();\n\n/**\n * Emit a stderr warn once per process per unique key. Helps surface the\n * deprecation path without spamming when the loader is called many times\n * during a session (cron + send + skills all hit this).\n *\n * Note: spawned workers (cron, subagent) start fresh processes — warn\n * re-emits there, by design (1 per process boot, not per call).\n *\n * @internal\n */\nexport function warnOnce(key: string, message: string): void {\n if (warned.has(key)) return;\n warned.add(key);\n diag(`${message}\\n`);\n}\n\n/** Reset for tests; not exported via barrel. @internal */\nexport function _resetWarnOnceForTests(): void {\n warned.clear();\n}\n\n/**\n * Load hooks from `.theokit/hooks.json` (Claude-Code-shaped — the only supported\n * form). A stray legacy `.theokit/hooks/*.md` markdown dir (no `hooks.json`) is\n * NOT loaded — it emits a one-time migration warn and yields no hooks.\n *\n * @internal\n */\nexport async function loadHookConfig(\n cwd: string,\n compatSources: readonly CompatSourceDeclaration[] = [],\n): Promise<HookConfig> {\n const merged: HookConfig = {};\n let sawAny = false;\n for (const path of hookConfigCandidates(cwd, compatSources)) {\n if (!existsSync(path)) continue;\n sawAny = true;\n // Stamped at merge, where the file is still known. One line later the commands are pooled per\n // event and every trace of which dialect declared them is gone — which is how a Claude Code\n // command came to be run without Claude Code's runtime (#522).\n mergeInto(merged, stampSource(await readHookFile(path), path));\n }\n if (!sawAny && existsSync(join(theokitConfigRoot(cwd), \"hooks\"))) {\n warnOnce(\n \"hooks-md-unsupported\",\n \"[theokit-sdk] .theokit/hooks/*.md hooks are no longer supported (ADR 0016) — migrate to a Claude-Code-shaped .theokit/hooks.json\",\n );\n }\n return merged;\n}\n\n/**\n * Every file that may declare hooks, in precedence order.\n *\n * `hooks.json` under each project config root, then the Claude Code CLI's own settings files — which\n * is where the CLI actually keeps hooks, so a repository set up for it presents its hooks here\n * without being converted. `settings.local.json` is the CLI's personal-override file and sits beside\n * the shared one rather than replacing it.\n *\n * The shape never needed translating: `parseClaudeCodeConfig` reads the `hooks` key off whatever\n * object it is given, and a settings file is that same object with other keys alongside.\n */\nfunction hookConfigCandidates(\n cwd: string,\n compatSources: readonly CompatSourceDeclaration[],\n): string[] {\n const roots = projectConfigRoots(cwd, compatSources, \"hooks\");\n return [\n ...roots.map((root) => join(root, \"hooks.json\")),\n ...roots.map((root) => join(root, \"settings.json\")),\n ...roots.map((root) => join(root, \"settings.local.json\")),\n ];\n}\n\n/**\n * Record which file each command came from.\n *\n * A command already carrying a `sourcePath` keeps it: nothing produces that today, and a nested\n * config that declared its own origin would be describing something this function cannot see.\n */\nfunction stampSource(config: HookConfig, sourcePath: string): HookConfig {\n if (config.hooks === undefined) return config;\n const hooks: NonNullable<HookConfig[\"hooks\"]> = {};\n for (const [event, commands] of Object.entries(config.hooks) as [\n HookEvent,\n HookCommand[] | undefined,\n ][]) {\n if (commands === undefined) continue;\n hooks[event] = commands.map((c) => ({ sourcePath, ...c }));\n }\n return { hooks };\n}\n\n/**\n * Append one source's commands onto the accumulator, per event.\n *\n * MERGED, not first-wins, and the distinction is deliberate. An agent or a skill is a NAMED\n * declaration: two files claiming one name collide, and the explicit namespace should win. Hooks are\n * unnamed lists — two files declaring `PreToolUse` are two sets of commands an operator wrote, and\n * keeping only one drops the other in silence, which is the failure class this package guards\n * against everywhere else.\n */\nfunction mergeInto(target: HookConfig, source: HookConfig): void {\n for (const [event, commands] of Object.entries(source.hooks ?? {}) as [\n HookEvent,\n HookCommand[] | undefined,\n ][]) {\n if (commands === undefined || commands.length === 0) continue;\n target.hooks ??= {};\n target.hooks[event] = [...(target.hooks[event] ?? []), ...commands];\n }\n}\n\nasync function readHookFile(jsonPath: string): Promise<HookConfig> {\n let raw: string;\n try {\n raw = await readFile(jsonPath, \"utf8\");\n } catch (cause) {\n throw new ConfigurationError(`Failed to read hooks config: ${jsonPath}`, {\n code: \"hooks_read_error\",\n cause,\n });\n }\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch (cause) {\n throw new ConfigurationError(`Invalid JSON in hooks config: ${jsonPath}`, {\n code: \"hooks_json_invalid\",\n cause,\n });\n }\n return parseClaudeCodeConfig(parsed, jsonPath);\n}\n\n/**\n * Narrow an unknown to a record, or throw a typed config error.\n *\n * `hint` names the shape that WOULD be accepted, and exists because the message without it names\n * only the validator's expectation. Measured on a consumer in 2026-09: a flat `hooks` array in a\n * `.theokit/settings.json` made this throw on every turn, and `expected an object at \"hooks\"` gave\n * the operator nothing to act on — the file parses fine for the product that wrote it, and it is\n * this independent read of the same path that fails. An error on a refusal path should carry the\n * fix, not the diagnosis.\n */\nfunction asRecord(\n value: unknown,\n path: string,\n where: string,\n hint?: string,\n): Record<string, unknown> {\n if (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n throw new ConfigurationError(\n `hooks: expected an object at ${where} in ${path}${hint === undefined ? \"\" : ` — ${hint}`}`,\n { code: \"hooks_json_invalid\" },\n );\n }\n return value as Record<string, unknown>;\n}\n\n/**\n * The shape this loader accepts, quoted back on the one refusal an operator is most likely to hit:\n * `hooks` keyed by event, each event an array of matcher groups.\n */\nconst HOOKS_SHAPE_HINT =\n 'hooks are keyed by event, e.g. { \"hooks\": { \"PreToolUse\": [ { \"hooks\": ' +\n '[ { \"type\": \"command\", \"command\": \"…\" } ] } ] } }';\n\n/** Narrow an unknown to an array, or throw a typed config error. */\nfunction asArray(value: unknown, path: string, where: string): unknown[] {\n if (!Array.isArray(value)) {\n throw new ConfigurationError(`hooks: expected an array at ${where} in ${path}`, {\n code: \"hooks_json_invalid\",\n });\n }\n return value;\n}\n\n/**\n * Parse Claude Code's nested hooks config into the SDK's flat internal shape:\n * `{ hooks: { PreToolUse: [{ matcher?, hooks: [{ type:\"command\", command, timeout? }] }] } }`\n * → `{ hooks: { preToolUse: [{ command, matcher?, timeoutMs? }] } }`. Each group's\n * `matcher` applies to every command it wraps; `timeout` (seconds) → `timeoutMs`.\n */\nfunction parseClaudeCodeConfig(raw: unknown, path: string): HookConfig {\n const root = asRecord(raw, path, \"the root\");\n if (root.hooks === undefined) return {};\n const hooksRec = asRecord(root.hooks, path, `\"hooks\"`, HOOKS_SHAPE_HINT);\n const grouped: Partial<Record<HookEvent, HookCommand[]>> = {};\n\n for (const [ccEvent, groups] of Object.entries(hooksRec)) {\n const event = CLAUDE_CODE_EVENT_MAP[ccEvent];\n if (event === undefined) {\n warnOnce(\n `hooks-event-${ccEvent}`,\n `[theokit-sdk] hooks: event \"${ccEvent}\" is not fired by the SDK runtime (supported: ${Object.keys(CLAUDE_CODE_EVENT_MAP).join(\", \")}) — skipping`,\n );\n continue;\n }\n grouped[event] = [...(grouped[event] ?? []), ...flattenEventGroups(groups, path, ccEvent)];\n }\n return { hooks: grouped };\n}\n\n/** Flatten one Claude Code event's matcher-groups into internal HookCommands. */\nfunction flattenEventGroups(groups: unknown, path: string, ccEvent: string): HookCommand[] {\n const commands: HookCommand[] = [];\n for (const rawGroup of asArray(groups, path, `hooks.${ccEvent}`)) {\n const group = asRecord(rawGroup, path, `hooks.${ccEvent}[]`);\n const matcher = group.matcher === undefined ? undefined : String(group.matcher);\n for (const rawCmd of asArray(group.hooks, path, `hooks.${ccEvent}[].hooks`)) {\n commands.push(parseClaudeCodeCommand(rawCmd, matcher, path, ccEvent));\n }\n }\n return commands;\n}\n\n/** One `{ type:\"command\", command, timeout? }` entry → an internal HookCommand. */\nfunction parseClaudeCodeCommand(\n raw: unknown,\n matcher: string | undefined,\n path: string,\n ccEvent: string,\n): HookCommand {\n const cmd = asRecord(raw, path, `hooks.${ccEvent}[].hooks[]`);\n if (cmd.type !== \"command\") {\n throw new ConfigurationError(\n `hooks: only { \"type\": \"command\" } is supported (got ${JSON.stringify(cmd.type)}) in ${path}`,\n { code: \"hooks_unsupported_type\" },\n );\n }\n if (typeof cmd.command !== \"string\" || cmd.command.length === 0) {\n throw new ConfigurationError(`hooks: \"command\" must be a non-empty string in ${path}`, {\n code: \"hooks_invalid_command\",\n });\n }\n const hc: HookCommand = { command: cmd.command };\n if (matcher !== undefined) hc.matcher = matcher;\n if (typeof cmd.timeout === \"number\" && cmd.timeout > 0) {\n hc.timeoutMs = Math.round(cmd.timeout * 1000);\n }\n return hc;\n}\n","/**\n * Personality fork-context (ADR D168 + EC-A snapshot semantic).\n *\n * Uses Node's `AsyncLocalStorage` so a fork's execution chain can know\n * that it is running inside a fork AND can see the slug that was active\n * on the parent **at fork-construction time**.\n *\n * **EC-A:** The slug stored here is captured ONCE at the wrap site\n * (`localAgentFork`) — passing `parentStore.active(parentAgentId)`\n * returns a primitive `string | undefined`, which is then frozen\n * inside the ALS context object. Subsequent `usePersonality` calls on\n * the parent do NOT mutate the fork's view, because the fork reads from\n * its own ALS frame, not from the parent's store.\n *\n * @internal\n */\n\nimport { AsyncLocalStorage } from \"node:async_hooks\";\n\nimport { warnOnce } from \"../runtime/hooks/hooks-source.js\";\n\n/**\n * Snapshot data carried into a fork's async context.\n *\n * @internal\n */\nexport interface PersonalityForkContext {\n /** Parent's active personality slug at fork-construction time. */\n readonly slug: string | undefined;\n /** Always `true` inside this scope (used by guards). */\n readonly isFork: true;\n}\n\nconst storage = new AsyncLocalStorage<PersonalityForkContext>();\n\n/**\n * Run `fn` with `ctx` bound as the active fork context. Nested calls\n * shadow the outer context (EC-22).\n *\n * @internal\n */\nexport function withPersonalityContext<T>(\n ctx: PersonalityForkContext,\n fn: () => Promise<T>,\n): Promise<T> {\n return storage.run(ctx, fn);\n}\n\n/**\n * Return the active fork context, or `undefined` when called outside a\n * fork scope.\n *\n * @internal\n */\nexport function currentPersonalityContext(): PersonalityForkContext | undefined {\n return storage.getStore();\n}\n\n/**\n * Emit one warning per agentId stating that personality switches inside\n * a fork are no-ops. The fork inherits the parent snapshot — runtime\n * mutation is intentionally rejected to keep fork voice deterministic.\n *\n * @internal\n */\nexport function warnPersonalitySwitchInsideFork(agentId: string): void {\n warnOnce(\n `personality-switch-in-fork-${agentId}`,\n `[theokit-sdk] usePersonality is a no-op inside a fork (D168). Subagents inherit the parent's active personality at fork-construction time.`,\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/internal/runtime/hooks/hooks-source.ts","../src/internal/personality/context.ts"],"names":[],"mappings":"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","file":"chunk-XD3FS5OI.js","sourcesContent":["/**\n * Single source of truth for loading the hooks config (ADR 0016 — reverses\n * D74/D77 for hooks: JSON is canonical again, in the Claude Code shape).\n *\n * `.theokit/hooks.json` (Claude-Code-shaped JSON) is the only supported form.\n * A stray legacy `.theokit/hooks/*.md` dir (no hooks.json) is NOT loaded — it\n * warns to migrate and yields no hooks. Absent both → empty config.\n *\n * Consumed by `hooks-executor.ts` (runtime dispatch).\n *\n * Config shape (identical to Claude Code's `settings.json` hooks):\n * { \"hooks\": { \"PreToolUse\": [ { \"matcher\": \"shell\",\n * \"hooks\": [ { \"type\": \"command\", \"command\": \"…\", \"timeout\": 30 } ] } ] } }\n *\n * @internal\n */\n\nimport { existsSync } from \"node:fs\";\nimport { readFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport { ConfigurationError } from \"../../../errors.js\";\nimport { diag } from \"../../diagnostics.js\";\nimport { projectConfigRoots, theokitConfigRoot } from \"../../persistence/paths.js\";\nimport type { CompatSourceDeclaration } from \"../compat/foreign-config-sources.js\";\n\n/** The five lifecycle events the SDK runtime actually fires. */\nexport type HookEvent = \"preRun\" | \"postRun\" | \"preToolUse\" | \"postToolUse\" | \"stop\";\n\n/**\n * Claude Code event name → the SDK firing event. Only events the runtime\n * genuinely emits are mapped; a Claude Code event with no SDK firing point\n * (SessionStart / SubagentStop / PreCompact / Notification / SessionEnd) is\n * skipped with a warn rather than silently accepted (it would never run).\n */\nconst CLAUDE_CODE_EVENT_MAP: Readonly<Record<string, HookEvent>> = {\n PreToolUse: \"preToolUse\",\n PostToolUse: \"postToolUse\",\n UserPromptSubmit: \"preRun\",\n Stop: \"stop\",\n};\n\nexport interface HookCommand {\n command: string;\n matcher?: string;\n timeoutMs?: number;\n /**\n * The config file this command was declared in.\n *\n * Carried so the executor can supply the runtime contract the declaring DIALECT presumes — a\n * command from `.claude/settings.json` is written against Claude Code's runtime and expects\n * `$CLAUDE_PROJECT_DIR` to exist (#522). Absent for a command built in memory, which is native by\n * construction.\n */\n sourcePath?: string;\n}\n\nexport interface HookConfig {\n hooks?: Partial<Record<HookEvent, HookCommand[]>>;\n}\n\nconst warned = new Set<string>();\n\n/**\n * Emit a stderr warn once per process per unique key. Helps surface the\n * deprecation path without spamming when the loader is called many times\n * during a session (cron + send + skills all hit this).\n *\n * Note: spawned workers (cron, subagent) start fresh processes — warn\n * re-emits there, by design (1 per process boot, not per call).\n *\n * @internal\n */\nexport function warnOnce(key: string, message: string): void {\n if (warned.has(key)) return;\n warned.add(key);\n diag(`${message}\\n`);\n}\n\n/** Reset for tests; not exported via barrel. @internal */\nexport function _resetWarnOnceForTests(): void {\n warned.clear();\n}\n\n/**\n * Load hooks from `.theokit/hooks.json` (Claude-Code-shaped — the only supported\n * form). A stray legacy `.theokit/hooks/*.md` markdown dir (no `hooks.json`) is\n * NOT loaded — it emits a one-time migration warn and yields no hooks.\n *\n * @internal\n */\nexport async function loadHookConfig(\n cwd: string,\n compatSources: readonly CompatSourceDeclaration[] = [],\n): Promise<HookConfig> {\n const merged: HookConfig = {};\n let sawAny = false;\n for (const path of hookConfigCandidates(cwd, compatSources)) {\n if (!existsSync(path)) continue;\n sawAny = true;\n // Stamped at merge, where the file is still known. One line later the commands are pooled per\n // event and every trace of which dialect declared them is gone — which is how a Claude Code\n // command came to be run without Claude Code's runtime (#522).\n mergeInto(merged, stampSource(await readHookFile(path), path));\n }\n if (!sawAny && existsSync(join(theokitConfigRoot(cwd), \"hooks\"))) {\n warnOnce(\n \"hooks-md-unsupported\",\n \"[theokit-sdk] .theokit/hooks/*.md hooks are no longer supported (ADR 0016) — migrate to a Claude-Code-shaped .theokit/hooks.json\",\n );\n }\n return merged;\n}\n\n/**\n * Every file that may declare hooks, in precedence order.\n *\n * `hooks.json` under each project config root, then the Claude Code CLI's own settings files — which\n * is where the CLI actually keeps hooks, so a repository set up for it presents its hooks here\n * without being converted. `settings.local.json` is the CLI's personal-override file and sits beside\n * the shared one rather than replacing it.\n *\n * The shape never needed translating: `parseClaudeCodeConfig` reads the `hooks` key off whatever\n * object it is given, and a settings file is that same object with other keys alongside.\n */\nfunction hookConfigCandidates(\n cwd: string,\n compatSources: readonly CompatSourceDeclaration[],\n): string[] {\n const roots = projectConfigRoots(cwd, compatSources, \"hooks\");\n return [\n ...roots.map((root) => join(root, \"hooks.json\")),\n ...roots.map((root) => join(root, \"settings.json\")),\n ...roots.map((root) => join(root, \"settings.local.json\")),\n ];\n}\n\n/**\n * Record which file each command came from.\n *\n * A command already carrying a `sourcePath` keeps it: nothing produces that today, and a nested\n * config that declared its own origin would be describing something this function cannot see.\n */\nfunction stampSource(config: HookConfig, sourcePath: string): HookConfig {\n if (config.hooks === undefined) return config;\n const hooks: NonNullable<HookConfig[\"hooks\"]> = {};\n for (const [event, commands] of Object.entries(config.hooks) as [\n HookEvent,\n HookCommand[] | undefined,\n ][]) {\n if (commands === undefined) continue;\n hooks[event] = commands.map((c) => ({ sourcePath, ...c }));\n }\n return { hooks };\n}\n\n/**\n * Append one source's commands onto the accumulator, per event.\n *\n * MERGED, not first-wins, and the distinction is deliberate. An agent or a skill is a NAMED\n * declaration: two files claiming one name collide, and the explicit namespace should win. Hooks are\n * unnamed lists — two files declaring `PreToolUse` are two sets of commands an operator wrote, and\n * keeping only one drops the other in silence, which is the failure class this package guards\n * against everywhere else.\n */\nfunction mergeInto(target: HookConfig, source: HookConfig): void {\n for (const [event, commands] of Object.entries(source.hooks ?? {}) as [\n HookEvent,\n HookCommand[] | undefined,\n ][]) {\n if (commands === undefined || commands.length === 0) continue;\n target.hooks ??= {};\n target.hooks[event] = [...(target.hooks[event] ?? []), ...commands];\n }\n}\n\nasync function readHookFile(jsonPath: string): Promise<HookConfig> {\n let raw: string;\n try {\n raw = await readFile(jsonPath, \"utf8\");\n } catch (cause) {\n throw new ConfigurationError(`Failed to read hooks config: ${jsonPath}`, {\n code: \"hooks_read_error\",\n cause,\n });\n }\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch (cause) {\n throw new ConfigurationError(`Invalid JSON in hooks config: ${jsonPath}`, {\n code: \"hooks_json_invalid\",\n cause,\n });\n }\n return parseClaudeCodeConfig(parsed, jsonPath);\n}\n\n/**\n * Narrow an unknown to a record, or throw a typed config error.\n *\n * `hint` names the shape that WOULD be accepted, and exists because the message without it names\n * only the validator's expectation. Measured on a consumer in 2026-09: a flat `hooks` array in a\n * `.theokit/settings.json` made this throw on every turn, and `expected an object at \"hooks\"` gave\n * the operator nothing to act on — the file parses fine for the product that wrote it, and it is\n * this independent read of the same path that fails. An error on a refusal path should carry the\n * fix, not the diagnosis.\n */\nfunction asRecord(\n value: unknown,\n path: string,\n where: string,\n hint?: string,\n): Record<string, unknown> {\n if (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n throw new ConfigurationError(\n `hooks: expected an object at ${where} in ${path}${hint === undefined ? \"\" : ` — ${hint}`}`,\n { code: \"hooks_json_invalid\" },\n );\n }\n return value as Record<string, unknown>;\n}\n\n/**\n * The shape this loader accepts, quoted back on the one refusal an operator is most likely to hit:\n * `hooks` keyed by event, each event an array of matcher groups.\n */\nconst HOOKS_SHAPE_HINT =\n 'hooks are keyed by event, e.g. { \"hooks\": { \"PreToolUse\": [ { \"hooks\": ' +\n '[ { \"type\": \"command\", \"command\": \"…\" } ] } ] } }';\n\n/** Narrow an unknown to an array, or throw a typed config error. */\nfunction asArray(value: unknown, path: string, where: string): unknown[] {\n if (!Array.isArray(value)) {\n throw new ConfigurationError(`hooks: expected an array at ${where} in ${path}`, {\n code: \"hooks_json_invalid\",\n });\n }\n return value;\n}\n\n/**\n * Parse Claude Code's nested hooks config into the SDK's flat internal shape:\n * `{ hooks: { PreToolUse: [{ matcher?, hooks: [{ type:\"command\", command, timeout? }] }] } }`\n * → `{ hooks: { preToolUse: [{ command, matcher?, timeoutMs? }] } }`. Each group's\n * `matcher` applies to every command it wraps; `timeout` (seconds) → `timeoutMs`.\n */\nfunction parseClaudeCodeConfig(raw: unknown, path: string): HookConfig {\n const root = asRecord(raw, path, \"the root\");\n if (root.hooks === undefined) return {};\n const hooksRec = asRecord(root.hooks, path, `\"hooks\"`, HOOKS_SHAPE_HINT);\n const grouped: Partial<Record<HookEvent, HookCommand[]>> = {};\n\n for (const [ccEvent, groups] of Object.entries(hooksRec)) {\n const event = CLAUDE_CODE_EVENT_MAP[ccEvent];\n if (event === undefined) {\n warnOnce(\n `hooks-event-${ccEvent}`,\n `[theokit-sdk] hooks: event \"${ccEvent}\" is not fired by the SDK runtime (supported: ${Object.keys(CLAUDE_CODE_EVENT_MAP).join(\", \")}) — skipping`,\n );\n continue;\n }\n grouped[event] = [...(grouped[event] ?? []), ...flattenEventGroups(groups, path, ccEvent)];\n }\n return { hooks: grouped };\n}\n\n/** Flatten one Claude Code event's matcher-groups into internal HookCommands. */\nfunction flattenEventGroups(groups: unknown, path: string, ccEvent: string): HookCommand[] {\n const commands: HookCommand[] = [];\n for (const rawGroup of asArray(groups, path, `hooks.${ccEvent}`)) {\n const group = asRecord(rawGroup, path, `hooks.${ccEvent}[]`);\n const matcher = group.matcher === undefined ? undefined : String(group.matcher);\n for (const rawCmd of asArray(group.hooks, path, `hooks.${ccEvent}[].hooks`)) {\n commands.push(parseClaudeCodeCommand(rawCmd, matcher, path, ccEvent));\n }\n }\n return commands;\n}\n\n/** One `{ type:\"command\", command, timeout? }` entry → an internal HookCommand. */\nfunction parseClaudeCodeCommand(\n raw: unknown,\n matcher: string | undefined,\n path: string,\n ccEvent: string,\n): HookCommand {\n const cmd = asRecord(raw, path, `hooks.${ccEvent}[].hooks[]`);\n if (cmd.type !== \"command\") {\n throw new ConfigurationError(\n `hooks: only { \"type\": \"command\" } is supported (got ${JSON.stringify(cmd.type)}) in ${path}`,\n { code: \"hooks_unsupported_type\" },\n );\n }\n if (typeof cmd.command !== \"string\" || cmd.command.length === 0) {\n throw new ConfigurationError(`hooks: \"command\" must be a non-empty string in ${path}`, {\n code: \"hooks_invalid_command\",\n });\n }\n const hc: HookCommand = { command: cmd.command };\n if (matcher !== undefined) hc.matcher = matcher;\n if (typeof cmd.timeout === \"number\" && cmd.timeout > 0) {\n hc.timeoutMs = Math.round(cmd.timeout * 1000);\n }\n return hc;\n}\n","/**\n * Personality fork-context (ADR D168 + EC-A snapshot semantic).\n *\n * Uses Node's `AsyncLocalStorage` so a fork's execution chain can know\n * that it is running inside a fork AND can see the slug that was active\n * on the parent **at fork-construction time**.\n *\n * **EC-A:** The slug stored here is captured ONCE at the wrap site\n * (`localAgentFork`) — passing `parentStore.active(parentAgentId)`\n * returns a primitive `string | undefined`, which is then frozen\n * inside the ALS context object. Subsequent `usePersonality` calls on\n * the parent do NOT mutate the fork's view, because the fork reads from\n * its own ALS frame, not from the parent's store.\n *\n * @internal\n */\n\nimport { AsyncLocalStorage } from \"node:async_hooks\";\n\nimport { warnOnce } from \"../runtime/hooks/hooks-source.js\";\n\n/**\n * Snapshot data carried into a fork's async context.\n *\n * @internal\n */\nexport interface PersonalityForkContext {\n /** Parent's active personality slug at fork-construction time. */\n readonly slug: string | undefined;\n /** Always `true` inside this scope (used by guards). */\n readonly isFork: true;\n}\n\nconst storage = new AsyncLocalStorage<PersonalityForkContext>();\n\n/**\n * Run `fn` with `ctx` bound as the active fork context. Nested calls\n * shadow the outer context (EC-22).\n *\n * @internal\n */\nexport function withPersonalityContext<T>(\n ctx: PersonalityForkContext,\n fn: () => Promise<T>,\n): Promise<T> {\n return storage.run(ctx, fn);\n}\n\n/**\n * Return the active fork context, or `undefined` when called outside a\n * fork scope.\n *\n * @internal\n */\nexport function currentPersonalityContext(): PersonalityForkContext | undefined {\n return storage.getStore();\n}\n\n/**\n * Emit one warning per agentId stating that personality switches inside\n * a fork are no-ops. The fork inherits the parent snapshot — runtime\n * mutation is intentionally rejected to keep fork voice deterministic.\n *\n * @internal\n */\nexport function warnPersonalitySwitchInsideFork(agentId: string): void {\n warnOnce(\n `personality-switch-in-fork-${agentId}`,\n `[theokit-sdk] usePersonality is a no-op inside a fork (D168). Subagents inherit the parent's active personality at fork-construction time.`,\n );\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk2HPNT6HH_cjs = require('./chunk-2HPNT6HH.cjs');
3
+ var chunkC4ZQPWXJ_cjs = require('./chunk-C4ZQPWXJ.cjs');
4
4
  require('./chunk-FUSDYC2B.cjs');
5
5
  require('./chunk-YJNYDJ2T.cjs');
6
6
  require('./chunk-24SYBZPL.cjs');
@@ -27,35 +27,35 @@ require('./chunk-6LHQPOMI.cjs');
27
27
 
28
28
  Object.defineProperty(exports, "COMPACT_SUMMARY_MARKER", {
29
29
  enumerable: true,
30
- get: function () { return chunk2HPNT6HH_cjs.COMPACT_SUMMARY_MARKER; }
30
+ get: function () { return chunkC4ZQPWXJ_cjs.COMPACT_SUMMARY_MARKER; }
31
31
  });
32
32
  Object.defineProperty(exports, "COMPACT_USER_MESSAGE_MAX_TOKENS", {
33
33
  enumerable: true,
34
- get: function () { return chunk2HPNT6HH_cjs.COMPACT_USER_MESSAGE_MAX_TOKENS; }
34
+ get: function () { return chunkC4ZQPWXJ_cjs.COMPACT_USER_MESSAGE_MAX_TOKENS; }
35
35
  });
36
36
  Object.defineProperty(exports, "autoCompactIfNeeded", {
37
37
  enumerable: true,
38
- get: function () { return chunk2HPNT6HH_cjs.autoCompactIfNeeded; }
38
+ get: function () { return chunkC4ZQPWXJ_cjs.autoCompactIfNeeded; }
39
39
  });
40
40
  Object.defineProperty(exports, "buildDefaultSummarizer", {
41
41
  enumerable: true,
42
- get: function () { return chunk2HPNT6HH_cjs.buildDefaultSummarizer; }
42
+ get: function () { return chunkC4ZQPWXJ_cjs.buildDefaultSummarizer; }
43
43
  });
44
44
  Object.defineProperty(exports, "compactSessionTranscript", {
45
45
  enumerable: true,
46
- get: function () { return chunk2HPNT6HH_cjs.compactSessionTranscript; }
46
+ get: function () { return chunkC4ZQPWXJ_cjs.compactSessionTranscript; }
47
47
  });
48
48
  Object.defineProperty(exports, "isCompactSummary", {
49
49
  enumerable: true,
50
- get: function () { return chunk2HPNT6HH_cjs.isCompactSummary; }
50
+ get: function () { return chunkC4ZQPWXJ_cjs.isCompactSummary; }
51
51
  });
52
52
  Object.defineProperty(exports, "resolveSummarizerRoute", {
53
53
  enumerable: true,
54
- get: function () { return chunk2HPNT6HH_cjs.resolveSummarizerRoute; }
54
+ get: function () { return chunkC4ZQPWXJ_cjs.resolveSummarizerRoute; }
55
55
  });
56
56
  Object.defineProperty(exports, "shouldAutoCompact", {
57
57
  enumerable: true,
58
- get: function () { return chunk2HPNT6HH_cjs.shouldAutoCompact; }
58
+ get: function () { return chunkC4ZQPWXJ_cjs.shouldAutoCompact; }
59
59
  });
60
- //# sourceMappingURL=compact-session-BHTPCIHA.cjs.map
61
- //# sourceMappingURL=compact-session-BHTPCIHA.cjs.map
60
+ //# sourceMappingURL=compact-session-7FMYJXQ7.cjs.map
61
+ //# sourceMappingURL=compact-session-7FMYJXQ7.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"compact-session-BHTPCIHA.cjs"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"compact-session-7FMYJXQ7.cjs"}
@@ -1,4 +1,4 @@
1
- export { COMPACT_SUMMARY_MARKER, COMPACT_USER_MESSAGE_MAX_TOKENS, autoCompactIfNeeded, buildDefaultSummarizer, compactSessionTranscript, isCompactSummary, resolveSummarizerRoute, shouldAutoCompact } from './chunk-K3NH62DG.js';
1
+ export { COMPACT_SUMMARY_MARKER, COMPACT_USER_MESSAGE_MAX_TOKENS, autoCompactIfNeeded, buildDefaultSummarizer, compactSessionTranscript, isCompactSummary, resolveSummarizerRoute, shouldAutoCompact } from './chunk-KZSKIUXZ.js';
2
2
  import './chunk-UBR5PWD7.js';
3
3
  import './chunk-2XC6KDJM.js';
4
4
  import './chunk-XB4GI5RZ.js';
@@ -20,5 +20,5 @@ import './chunk-V22DZIXO.js';
20
20
  import './chunk-NJWYQWDL.js';
21
21
  import './chunk-ALUN2B4W.js';
22
22
  import './chunk-CZJ6Q7CW.js';
23
- //# sourceMappingURL=compact-session-W4WLJTHA.js.map
24
- //# sourceMappingURL=compact-session-W4WLJTHA.js.map
23
+ //# sourceMappingURL=compact-session-YSEK7NQF.js.map
24
+ //# sourceMappingURL=compact-session-YSEK7NQF.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"compact-session-W4WLJTHA.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"compact-session-YSEK7NQF.js"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunk65UMH5V3_cjs = require('./chunk-65UMH5V3.cjs');
4
- require('./chunk-DWB3CN46.cjs');
3
+ var chunk3FDU5JFE_cjs = require('./chunk-3FDU5JFE.cjs');
4
+ require('./chunk-43YXGD3P.cjs');
5
5
  require('./chunk-J7J7J2GN.cjs');
6
6
  require('./chunk-6LHQPOMI.cjs');
7
7
 
@@ -9,15 +9,15 @@ require('./chunk-6LHQPOMI.cjs');
9
9
 
10
10
  Object.defineProperty(exports, "currentPersonalityContext", {
11
11
  enumerable: true,
12
- get: function () { return chunk65UMH5V3_cjs.currentPersonalityContext; }
12
+ get: function () { return chunk3FDU5JFE_cjs.currentPersonalityContext; }
13
13
  });
14
14
  Object.defineProperty(exports, "warnPersonalitySwitchInsideFork", {
15
15
  enumerable: true,
16
- get: function () { return chunk65UMH5V3_cjs.warnPersonalitySwitchInsideFork; }
16
+ get: function () { return chunk3FDU5JFE_cjs.warnPersonalitySwitchInsideFork; }
17
17
  });
18
18
  Object.defineProperty(exports, "withPersonalityContext", {
19
19
  enumerable: true,
20
- get: function () { return chunk65UMH5V3_cjs.withPersonalityContext; }
20
+ get: function () { return chunk3FDU5JFE_cjs.withPersonalityContext; }
21
21
  });
22
- //# sourceMappingURL=context-FCCJQ3FN.cjs.map
23
- //# sourceMappingURL=context-FCCJQ3FN.cjs.map
22
+ //# sourceMappingURL=context-4AIK26QB.cjs.map
23
+ //# sourceMappingURL=context-4AIK26QB.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"context-FCCJQ3FN.cjs"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"context-4AIK26QB.cjs"}
@@ -0,0 +1,6 @@
1
+ export { currentPersonalityContext, warnPersonalitySwitchInsideFork, withPersonalityContext } from './chunk-XD3FS5OI.js';
2
+ import './chunk-NSLHPAC7.js';
3
+ import './chunk-ALUN2B4W.js';
4
+ import './chunk-CZJ6Q7CW.js';
5
+ //# sourceMappingURL=context-EGM6CHXD.js.map
6
+ //# sourceMappingURL=context-EGM6CHXD.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"context-BUIE52VH.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"context-EGM6CHXD.js"}
@@ -1,6 +1,6 @@
1
1
  import { Workflow, WorkflowRun } from './workflow.cjs';
2
2
  import { aa as SDKUserMessage, b as Run } from './run-CTAdRU3U.cjs';
3
- import { A as AgentOptions, d as ListResult } from './agent-QLwxhXY3.cjs';
3
+ import { A as AgentOptions, d as ListResult } from './agent-C1Efo7PI.cjs';
4
4
 
5
5
  /**
6
6
  * Owner: `internal/cron/` (4 of 5 importers). Derived from the import graph, not declared —
@@ -1,6 +1,6 @@
1
1
  import { Workflow, WorkflowRun } from './workflow.js';
2
2
  import { aa as SDKUserMessage, b as Run } from './run-CTAdRU3U.js';
3
- import { A as AgentOptions, d as ListResult } from './agent-CTbU0O1R.js';
3
+ import { A as AgentOptions, d as ListResult } from './agent-Bmy2G_ml.js';
4
4
 
5
5
  /**
6
6
  * Owner: `internal/cron/` (4 of 5 importers). Derived from the import graph, not declared —
package/dist/cron.cjs CHANGED
@@ -1,19 +1,19 @@
1
1
  'use strict';
2
2
 
3
- var chunkL4XENLQO_cjs = require('./chunk-L4XENLQO.cjs');
4
- require('./chunk-Y46VI73J.cjs');
3
+ var chunkJ6KZE2ZQ_cjs = require('./chunk-J6KZE2ZQ.cjs');
4
+ require('./chunk-UALC6Q3J.cjs');
5
5
  require('./chunk-KVSAY6NZ.cjs');
6
- require('./chunk-Y2KYR2ED.cjs');
6
+ require('./chunk-DZG77WU7.cjs');
7
7
  require('./chunk-BUUUWQMB.cjs');
8
8
  require('./chunk-Z2JFX372.cjs');
9
- require('./chunk-65UMH5V3.cjs');
9
+ require('./chunk-3FDU5JFE.cjs');
10
10
  require('./chunk-BV2MWEMV.cjs');
11
11
  require('./chunk-D6POWE7E.cjs');
12
12
  require('./chunk-GHX4P3V2.cjs');
13
13
  require('./chunk-TMKTSYDS.cjs');
14
14
  require('./chunk-NQTNSHSB.cjs');
15
15
  require('./chunk-7FDKWDA2.cjs');
16
- require('./chunk-2HPNT6HH.cjs');
16
+ require('./chunk-C4ZQPWXJ.cjs');
17
17
  require('./chunk-FUSDYC2B.cjs');
18
18
  require('./chunk-YJNYDJ2T.cjs');
19
19
  require('./chunk-24SYBZPL.cjs');
@@ -44,8 +44,8 @@ require('./chunk-BJUJT5ED.cjs');
44
44
  require('./chunk-ZF2LDKQQ.cjs');
45
45
  require('./chunk-HCT4HPCL.cjs');
46
46
  require('./chunk-JLRLCBJ4.cjs');
47
- require('./chunk-IQBDR5YZ.cjs');
48
- require('./chunk-DWB3CN46.cjs');
47
+ require('./chunk-AYA65JA5.cjs');
48
+ require('./chunk-43YXGD3P.cjs');
49
49
  require('./chunk-HW7SEELD.cjs');
50
50
  require('./chunk-ATT276RD.cjs');
51
51
  require('./chunk-3EE6LVWT.cjs');
@@ -62,7 +62,7 @@ require('./chunk-6LHQPOMI.cjs');
62
62
 
63
63
  Object.defineProperty(exports, "Cron", {
64
64
  enumerable: true,
65
- get: function () { return chunkL4XENLQO_cjs.Cron; }
65
+ get: function () { return chunkJ6KZE2ZQ_cjs.Cron; }
66
66
  });
67
67
  //# sourceMappingURL=cron.cjs.map
68
68
  //# sourceMappingURL=cron.cjs.map
package/dist/cron.d.cts CHANGED
@@ -1,7 +1,7 @@
1
1
  import './workflow.cjs';
2
2
  import './run-CTAdRU3U.cjs';
3
- import './agent-QLwxhXY3.cjs';
4
- export { C as Cron } from './cron-Dz8AOpy3.cjs';
3
+ import './agent-C1Efo7PI.cjs';
4
+ export { C as Cron } from './cron-DSMdlhyF.cjs';
5
5
  import 'zod';
6
6
  import './sdk-agent-BOiKqOgL.cjs';
7
7
  import './errors-base-B5g01neU.cjs';
package/dist/cron.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import './workflow.js';
2
2
  import './run-CTAdRU3U.js';
3
- import './agent-CTbU0O1R.js';
4
- export { C as Cron } from './cron-Cl8FrK3D.js';
3
+ import './agent-Bmy2G_ml.js';
4
+ export { C as Cron } from './cron-Dcdrdv_T.js';
5
5
  import 'zod';
6
6
  import './sdk-agent-D4a_BR_6.js';
7
7
  import './errors-base-B5g01neU.js';
package/dist/cron.js CHANGED
@@ -1,17 +1,17 @@
1
- export { Cron } from './chunk-ZITYGJOD.js';
2
- import './chunk-363RBGIR.js';
1
+ export { Cron } from './chunk-KWGSBZ2Q.js';
2
+ import './chunk-IKBLU7ZS.js';
3
3
  import './chunk-K2VMFZQ5.js';
4
- import './chunk-AWINL3ZC.js';
4
+ import './chunk-2QKV4CGK.js';
5
5
  import './chunk-K2BQQ445.js';
6
6
  import './chunk-7SZAV6QG.js';
7
- import './chunk-7L3MIW2F.js';
7
+ import './chunk-XD3FS5OI.js';
8
8
  import './chunk-2SFBB54R.js';
9
9
  import './chunk-55GB6JYQ.js';
10
10
  import './chunk-H73MEMQB.js';
11
11
  import './chunk-OR6XIWLB.js';
12
12
  import './chunk-SADXXGWU.js';
13
13
  import './chunk-AAEZSPTC.js';
14
- import './chunk-K3NH62DG.js';
14
+ import './chunk-KZSKIUXZ.js';
15
15
  import './chunk-UBR5PWD7.js';
16
16
  import './chunk-2XC6KDJM.js';
17
17
  import './chunk-XB4GI5RZ.js';
@@ -42,8 +42,8 @@ import './chunk-TA3K7SBK.js';
42
42
  import './chunk-Q5EWJPRY.js';
43
43
  import './chunk-EIQFAOFD.js';
44
44
  import './chunk-3JHIFQ4I.js';
45
- import './chunk-DLFWMJE3.js';
46
- import './chunk-RP3VXJMA.js';
45
+ import './chunk-O7L7M42F.js';
46
+ import './chunk-NSLHPAC7.js';
47
47
  import './chunk-JNAA4G4H.js';
48
48
  import './chunk-6M2OIS4Y.js';
49
49
  import './chunk-R7WIIPUR.js';
package/dist/eval.cjs CHANGED
@@ -1,19 +1,19 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkUADQJBHR_cjs = require('./chunk-UADQJBHR.cjs');
4
- var chunkY46VI73J_cjs = require('./chunk-Y46VI73J.cjs');
4
+ var chunkUALC6Q3J_cjs = require('./chunk-UALC6Q3J.cjs');
5
5
  require('./chunk-KVSAY6NZ.cjs');
6
- require('./chunk-Y2KYR2ED.cjs');
6
+ require('./chunk-DZG77WU7.cjs');
7
7
  var chunkBUUUWQMB_cjs = require('./chunk-BUUUWQMB.cjs');
8
8
  require('./chunk-Z2JFX372.cjs');
9
- require('./chunk-65UMH5V3.cjs');
9
+ require('./chunk-3FDU5JFE.cjs');
10
10
  require('./chunk-BV2MWEMV.cjs');
11
11
  require('./chunk-D6POWE7E.cjs');
12
12
  require('./chunk-GHX4P3V2.cjs');
13
13
  require('./chunk-TMKTSYDS.cjs');
14
14
  require('./chunk-NQTNSHSB.cjs');
15
15
  require('./chunk-7FDKWDA2.cjs');
16
- require('./chunk-2HPNT6HH.cjs');
16
+ require('./chunk-C4ZQPWXJ.cjs');
17
17
  require('./chunk-FUSDYC2B.cjs');
18
18
  require('./chunk-YJNYDJ2T.cjs');
19
19
  require('./chunk-24SYBZPL.cjs');
@@ -44,8 +44,8 @@ var chunkBJUJT5ED_cjs = require('./chunk-BJUJT5ED.cjs');
44
44
  require('./chunk-ZF2LDKQQ.cjs');
45
45
  require('./chunk-HCT4HPCL.cjs');
46
46
  require('./chunk-JLRLCBJ4.cjs');
47
- require('./chunk-IQBDR5YZ.cjs');
48
- require('./chunk-DWB3CN46.cjs');
47
+ require('./chunk-AYA65JA5.cjs');
48
+ require('./chunk-43YXGD3P.cjs');
49
49
  require('./chunk-HW7SEELD.cjs');
50
50
  require('./chunk-ATT276RD.cjs');
51
51
  require('./chunk-3EE6LVWT.cjs');
@@ -795,7 +795,7 @@ function makeDefaultEmbedder(opts) {
795
795
  let runtime;
796
796
  return (texts) => {
797
797
  if (runtime === void 0) {
798
- runtime = chunkY46VI73J_cjs.openRouterMemoryEmbeddingProviderAdapter.create(embedderCreateOptions(opts));
798
+ runtime = chunkUALC6Q3J_cjs.openRouterMemoryEmbeddingProviderAdapter.create(embedderCreateOptions(opts));
799
799
  }
800
800
  return runtime.then((rt) => rt.embed(texts));
801
801
  };
package/dist/eval.js CHANGED
@@ -1,17 +1,17 @@
1
1
  import { shellEscapePosix, LocalSandbox } from './chunk-O6USDERH.js';
2
- import { openRouterMemoryEmbeddingProviderAdapter } from './chunk-363RBGIR.js';
2
+ import { openRouterMemoryEmbeddingProviderAdapter } from './chunk-IKBLU7ZS.js';
3
3
  import './chunk-K2VMFZQ5.js';
4
- import './chunk-AWINL3ZC.js';
4
+ import './chunk-2QKV4CGK.js';
5
5
  import { getTracer } from './chunk-K2BQQ445.js';
6
6
  import './chunk-7SZAV6QG.js';
7
- import './chunk-7L3MIW2F.js';
7
+ import './chunk-XD3FS5OI.js';
8
8
  import './chunk-2SFBB54R.js';
9
9
  import './chunk-55GB6JYQ.js';
10
10
  import './chunk-H73MEMQB.js';
11
11
  import './chunk-OR6XIWLB.js';
12
12
  import './chunk-SADXXGWU.js';
13
13
  import './chunk-AAEZSPTC.js';
14
- import './chunk-K3NH62DG.js';
14
+ import './chunk-KZSKIUXZ.js';
15
15
  import './chunk-UBR5PWD7.js';
16
16
  import './chunk-2XC6KDJM.js';
17
17
  import './chunk-XB4GI5RZ.js';
@@ -43,8 +43,8 @@ export { JsonlParseError, loadJsonl } from './chunk-TA3K7SBK.js';
43
43
  import './chunk-Q5EWJPRY.js';
44
44
  import './chunk-EIQFAOFD.js';
45
45
  import './chunk-3JHIFQ4I.js';
46
- import './chunk-DLFWMJE3.js';
47
- import './chunk-RP3VXJMA.js';
46
+ import './chunk-O7L7M42F.js';
47
+ import './chunk-NSLHPAC7.js';
48
48
  import './chunk-JNAA4G4H.js';
49
49
  import './chunk-6M2OIS4Y.js';
50
50
  import './chunk-R7WIIPUR.js';
package/dist/index.cjs CHANGED
@@ -9,20 +9,20 @@ require('./chunk-7JJ3A6AT.cjs');
9
9
  var chunk4HS6FFGL_cjs = require('./chunk-4HS6FFGL.cjs');
10
10
  require('./chunk-4A3SKJ53.cjs');
11
11
  require('./chunk-VTYY7XL5.cjs');
12
- var chunkL4XENLQO_cjs = require('./chunk-L4XENLQO.cjs');
13
- var chunkY46VI73J_cjs = require('./chunk-Y46VI73J.cjs');
12
+ var chunkJ6KZE2ZQ_cjs = require('./chunk-J6KZE2ZQ.cjs');
13
+ var chunkUALC6Q3J_cjs = require('./chunk-UALC6Q3J.cjs');
14
14
  var chunkKVSAY6NZ_cjs = require('./chunk-KVSAY6NZ.cjs');
15
- require('./chunk-Y2KYR2ED.cjs');
15
+ require('./chunk-DZG77WU7.cjs');
16
16
  require('./chunk-BUUUWQMB.cjs');
17
17
  require('./chunk-Z2JFX372.cjs');
18
- require('./chunk-65UMH5V3.cjs');
18
+ require('./chunk-3FDU5JFE.cjs');
19
19
  require('./chunk-BV2MWEMV.cjs');
20
20
  require('./chunk-D6POWE7E.cjs');
21
21
  require('./chunk-GHX4P3V2.cjs');
22
22
  require('./chunk-TMKTSYDS.cjs');
23
23
  var chunkNQTNSHSB_cjs = require('./chunk-NQTNSHSB.cjs');
24
24
  var chunk7FDKWDA2_cjs = require('./chunk-7FDKWDA2.cjs');
25
- var chunk2HPNT6HH_cjs = require('./chunk-2HPNT6HH.cjs');
25
+ var chunkC4ZQPWXJ_cjs = require('./chunk-C4ZQPWXJ.cjs');
26
26
  require('./chunk-FUSDYC2B.cjs');
27
27
  require('./chunk-YJNYDJ2T.cjs');
28
28
  require('./chunk-24SYBZPL.cjs');
@@ -53,8 +53,8 @@ require('./chunk-BJUJT5ED.cjs');
53
53
  var chunkZF2LDKQQ_cjs = require('./chunk-ZF2LDKQQ.cjs');
54
54
  var chunkHCT4HPCL_cjs = require('./chunk-HCT4HPCL.cjs');
55
55
  var chunkJLRLCBJ4_cjs = require('./chunk-JLRLCBJ4.cjs');
56
- require('./chunk-IQBDR5YZ.cjs');
57
- require('./chunk-DWB3CN46.cjs');
56
+ require('./chunk-AYA65JA5.cjs');
57
+ require('./chunk-43YXGD3P.cjs');
58
58
  require('./chunk-HW7SEELD.cjs');
59
59
  var chunkATT276RD_cjs = require('./chunk-ATT276RD.cjs');
60
60
  var chunk3EE6LVWT_cjs = require('./chunk-3EE6LVWT.cjs');
@@ -74,8 +74,8 @@ var path = require('path');
74
74
  // src/agent-factory.ts
75
75
  function createAgentFactory(common) {
76
76
  return {
77
- forSession: (agentId, overrides) => chunkY46VI73J_cjs.Agent.create(mergeAgentOptions(common, overrides, agentId)),
78
- getOrCreate: (agentId, overrides) => chunkY46VI73J_cjs.Agent.getOrCreate(agentId, mergeAgentOptions(common, overrides, agentId))
77
+ forSession: (agentId, overrides) => chunkUALC6Q3J_cjs.Agent.create(mergeAgentOptions(common, overrides, agentId)),
78
+ getOrCreate: (agentId, overrides) => chunkUALC6Q3J_cjs.Agent.getOrCreate(agentId, mergeAgentOptions(common, overrides, agentId))
79
79
  };
80
80
  }
81
81
  function mergeAgentOptions(common, overrides, agentId) {
@@ -1335,7 +1335,7 @@ var Memory = {
1335
1335
  return await peer.IndexManager.open(openArgs);
1336
1336
  }
1337
1337
  const { IndexManager } = await import('./index-manager-3UNPYH34.cjs');
1338
- openArgs.embedding = await resolveEmbedding(opts.embedding, chunkY46VI73J_cjs.MEMORY_EMBEDDING_ADAPTERS);
1338
+ openArgs.embedding = await resolveEmbedding(opts.embedding, chunkUALC6Q3J_cjs.MEMORY_EMBEDDING_ADAPTERS);
1339
1339
  return await IndexManager.open(openArgs);
1340
1340
  },
1341
1341
  /**
@@ -1346,7 +1346,7 @@ var Memory = {
1346
1346
  */
1347
1347
  async runDreamingSweep(opts) {
1348
1348
  const peer = await tryLoadSdkMemoryPeer();
1349
- const catalog = peer !== null ? peer.MEMORY_EMBEDDING_ADAPTERS : chunkY46VI73J_cjs.MEMORY_EMBEDDING_ADAPTERS;
1349
+ const catalog = peer !== null ? peer.MEMORY_EMBEDDING_ADAPTERS : chunkUALC6Q3J_cjs.MEMORY_EMBEDDING_ADAPTERS;
1350
1350
  const sweepArgs = await buildDreamingSweepArgs(opts, catalog);
1351
1351
  const result = peer !== null ? (
1352
1352
  // biome-ignore lint/suspicious/noExplicitAny: peer is dynamically loaded — structural compat ensured by sdk-memory
@@ -1770,7 +1770,7 @@ function guardSessionDestruction(sessionId, live) {
1770
1770
  // src/session-messages.ts
1771
1771
  async function readSessionMessages2(options) {
1772
1772
  const cwd = options.cwd ?? process.cwd();
1773
- const baseDir = chunkY46VI73J_cjs.resolveSessionDir({ sessionDir: options.sessionDir });
1773
+ const baseDir = chunkUALC6Q3J_cjs.resolveSessionDir({ sessionDir: options.sessionDir });
1774
1774
  return chunkYIFFF23U_cjs.readSessionMessages(new chunk7FDKWDA2_cjs.FsSessionStore({ baseDir, cwd }), options.sessionId);
1775
1775
  }
1776
1776
 
@@ -1787,7 +1787,7 @@ function isBuiltAgent(m) {
1787
1787
  return typeof m.send === "function";
1788
1788
  }
1789
1789
  async function materialize(def, index) {
1790
- const { Agent: Agent2 } = await import('./agent-KJLAWKZB.cjs');
1790
+ const { Agent: Agent2 } = await import('./agent-AUVD4TI4.cjs');
1791
1791
  return Agent2.create({
1792
1792
  // `AgentDefinition.model` admits the sentinel `'inherit'`, which is not a model id. Inheriting
1793
1793
  // here means "declare nothing and let the default apply" — forwarding the literal would create
@@ -1929,7 +1929,7 @@ var FIXTURE_USER = {
1929
1929
  };
1930
1930
  var FIXTURE_MODELS = [
1931
1931
  {
1932
- id: chunkY46VI73J_cjs.DEFAULT_AGENTIC_MODEL_ID,
1932
+ id: chunkUALC6Q3J_cjs.DEFAULT_AGENTIC_MODEL_ID,
1933
1933
  name: "Gemini 2.0 Flash",
1934
1934
  displayName: "Gemini 2.0 Flash",
1935
1935
  parameters: [
@@ -2005,7 +2005,7 @@ async function listLocalModelsViaOpenAiCompat(baseUrl) {
2005
2005
  try {
2006
2006
  response = await fetch(url, { method: "GET" });
2007
2007
  } catch (fetchErr) {
2008
- const mapped = chunk2HPNT6HH_cjs.mapOllamaTransportError({
2008
+ const mapped = chunkC4ZQPWXJ_cjs.mapOllamaTransportError({
2009
2009
  providerId: "ollama",
2010
2010
  cause: fetchErr,
2011
2011
  endpoint: "/v1/models"
@@ -2017,8 +2017,8 @@ async function listLocalModelsViaOpenAiCompat(baseUrl) {
2017
2017
  );
2018
2018
  }
2019
2019
  if (!response.ok) {
2020
- const body = await chunk2HPNT6HH_cjs.readErrorResponseBody(response);
2021
- const mapped = chunk2HPNT6HH_cjs.mapOllamaHttpError({
2020
+ const body = await chunkC4ZQPWXJ_cjs.readErrorResponseBody(response);
2021
+ const mapped = chunkC4ZQPWXJ_cjs.mapOllamaHttpError({
2022
2022
  providerId: "ollama",
2023
2023
  status: response.status,
2024
2024
  body,
@@ -2132,7 +2132,7 @@ var Theokit = class {
2132
2132
  envVars: p.envVars
2133
2133
  }));
2134
2134
  },
2135
- embeddingAdapters: () => Object.entries(chunkY46VI73J_cjs.MEMORY_EMBEDDING_ADAPTERS).map(([id, adapter]) => ({
2135
+ embeddingAdapters: () => Object.entries(chunkUALC6Q3J_cjs.MEMORY_EMBEDDING_ADAPTERS).map(([id, adapter]) => ({
2136
2136
  id,
2137
2137
  transport: adapter.transport,
2138
2138
  defaultModel: adapter.defaultModel
@@ -2150,7 +2150,7 @@ var Theokit = class {
2150
2150
  };
2151
2151
  async function maybeListLocalModels(providerName) {
2152
2152
  chunkQC55H6RJ_cjs.registerBuiltins();
2153
- await chunk2HPNT6HH_cjs.discoverProviderPlugins();
2153
+ await chunkC4ZQPWXJ_cjs.discoverProviderPlugins();
2154
2154
  const profile = chunkQC55H6RJ_cjs.getProviderProfile(providerName);
2155
2155
  if (profile === void 0) return void 0;
2156
2156
  if (profile.authType !== "none") return void 0;
@@ -2168,13 +2168,13 @@ async function executeCatalogRequest(request) {
2168
2168
  if (apiKey === void 0) {
2169
2169
  throw new chunkJ7J7J2GN_cjs.AuthenticationError("Missing API key", { code: "missing_api_key" });
2170
2170
  }
2171
- if (chunk2HPNT6HH_cjs.shouldUseFixtureMode(apiKey)) {
2171
+ if (chunkC4ZQPWXJ_cjs.shouldUseFixtureMode(apiKey)) {
2172
2172
  return request.fixture;
2173
2173
  }
2174
- if (!chunk2HPNT6HH_cjs.isFixtureApiKey(apiKey) && process.env.THEOKIT_API_BASE_URL === void 0) {
2174
+ if (!chunkC4ZQPWXJ_cjs.isFixtureApiKey(apiKey) && process.env.THEOKIT_API_BASE_URL === void 0) {
2175
2175
  throw new chunkJ7J7J2GN_cjs.AuthenticationError("Invalid API key", { code: "authentication_error" });
2176
2176
  }
2177
- return chunk2HPNT6HH_cjs.httpRequest(request.path, { apiKey });
2177
+ return chunkC4ZQPWXJ_cjs.httpRequest(request.path, { apiKey });
2178
2178
  }
2179
2179
 
2180
2180
  // src/tool-blast-radius.ts
@@ -2351,35 +2351,35 @@ Object.defineProperty(exports, "fn", {
2351
2351
  });
2352
2352
  Object.defineProperty(exports, "Cron", {
2353
2353
  enumerable: true,
2354
- get: function () { return chunkL4XENLQO_cjs.Cron; }
2354
+ get: function () { return chunkJ6KZE2ZQ_cjs.Cron; }
2355
2355
  });
2356
2356
  Object.defineProperty(exports, "Agent", {
2357
2357
  enumerable: true,
2358
- get: function () { return chunkY46VI73J_cjs.Agent; }
2358
+ get: function () { return chunkUALC6Q3J_cjs.Agent; }
2359
2359
  });
2360
2360
  Object.defineProperty(exports, "AgentBuilder", {
2361
2361
  enumerable: true,
2362
- get: function () { return chunkY46VI73J_cjs.AgentBuilder; }
2362
+ get: function () { return chunkUALC6Q3J_cjs.AgentBuilder; }
2363
2363
  });
2364
2364
  Object.defineProperty(exports, "Tool", {
2365
2365
  enumerable: true,
2366
- get: function () { return chunkY46VI73J_cjs.Tool; }
2366
+ get: function () { return chunkUALC6Q3J_cjs.Tool; }
2367
2367
  });
2368
2368
  Object.defineProperty(exports, "ToolError", {
2369
2369
  enumerable: true,
2370
- get: function () { return chunkY46VI73J_cjs.ToolError; }
2370
+ get: function () { return chunkUALC6Q3J_cjs.ToolError; }
2371
2371
  });
2372
2372
  Object.defineProperty(exports, "UsageAccumulator", {
2373
2373
  enumerable: true,
2374
- get: function () { return chunkY46VI73J_cjs.UsageAccumulator; }
2374
+ get: function () { return chunkUALC6Q3J_cjs.UsageAccumulator; }
2375
2375
  });
2376
2376
  Object.defineProperty(exports, "computeCost", {
2377
2377
  enumerable: true,
2378
- get: function () { return chunkY46VI73J_cjs.computeCost; }
2378
+ get: function () { return chunkUALC6Q3J_cjs.computeCost; }
2379
2379
  });
2380
2380
  Object.defineProperty(exports, "getPricingEntry", {
2381
2381
  enumerable: true,
2382
- get: function () { return chunkY46VI73J_cjs.getPricingEntry; }
2382
+ get: function () { return chunkUALC6Q3J_cjs.getPricingEntry; }
2383
2383
  });
2384
2384
  Object.defineProperty(exports, "emitRunEvent", {
2385
2385
  enumerable: true,