kiokuko 1.0.30 → 1.0.32

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 (82) hide show
  1. package/dist/agent-file/plugin-comment.d.ts +6 -0
  2. package/dist/agent-file/plugin-comment.d.ts.map +1 -0
  3. package/dist/agent-file/plugin-comment.js +23 -0
  4. package/dist/agent-file/plugin-comment.js.map +1 -0
  5. package/dist/agent-file/render.d.ts +1 -1
  6. package/dist/agent-file/render.d.ts.map +1 -1
  7. package/dist/agent-file/render.js +4 -3
  8. package/dist/agent-file/render.js.map +1 -1
  9. package/dist/akinator/agent-task.d.ts +2 -0
  10. package/dist/akinator/agent-task.d.ts.map +1 -1
  11. package/dist/akinator/agent-task.js +18 -2
  12. package/dist/akinator/agent-task.js.map +1 -1
  13. package/dist/akinator/capabilities.d.ts +2 -0
  14. package/dist/akinator/capabilities.d.ts.map +1 -1
  15. package/dist/akinator/capabilities.js +7 -0
  16. package/dist/akinator/capabilities.js.map +1 -1
  17. package/dist/akinator/coding-routine.d.ts +16 -0
  18. package/dist/akinator/coding-routine.d.ts.map +1 -0
  19. package/dist/akinator/coding-routine.js +19 -0
  20. package/dist/akinator/coding-routine.js.map +1 -0
  21. package/dist/akinator/instructions.d.ts +1 -1
  22. package/dist/akinator/instructions.d.ts.map +1 -1
  23. package/dist/akinator/instructions.js +1 -1
  24. package/dist/akinator/instructions.js.map +1 -1
  25. package/dist/akinator/preparation-recovery.d.ts +1 -0
  26. package/dist/akinator/preparation-recovery.d.ts.map +1 -1
  27. package/dist/akinator/skill-discovery-attempt.d.ts +1 -1
  28. package/dist/akinator/skill-discovery-attempt.d.ts.map +1 -1
  29. package/dist/akinator/skill-discovery-attempt.js +19 -3
  30. package/dist/akinator/skill-discovery-attempt.js.map +1 -1
  31. package/dist/assurance/codex-command-receipt.d.ts +21 -0
  32. package/dist/assurance/codex-command-receipt.d.ts.map +1 -0
  33. package/dist/assurance/codex-command-receipt.js +93 -0
  34. package/dist/assurance/codex-command-receipt.js.map +1 -0
  35. package/dist/assurance/codex-hooks.d.ts +2 -1
  36. package/dist/assurance/codex-hooks.d.ts.map +1 -1
  37. package/dist/assurance/codex-hooks.js +68 -30
  38. package/dist/assurance/codex-hooks.js.map +1 -1
  39. package/dist/assurance/contracts.d.ts +1 -1
  40. package/dist/assurance/decisions.d.ts.map +1 -1
  41. package/dist/assurance/decisions.js +7 -5
  42. package/dist/assurance/decisions.js.map +1 -1
  43. package/dist/assurance/hook-diagnostics.d.ts.map +1 -1
  44. package/dist/assurance/hook-diagnostics.js +10 -6
  45. package/dist/assurance/hook-diagnostics.js.map +1 -1
  46. package/dist/cli.js +4 -4
  47. package/dist/cli.js.map +1 -1
  48. package/dist/commands/codex-hook.d.ts.map +1 -1
  49. package/dist/commands/codex-hook.js +27 -9
  50. package/dist/commands/codex-hook.js.map +1 -1
  51. package/dist/commands/doctor.d.ts +4 -2
  52. package/dist/commands/doctor.d.ts.map +1 -1
  53. package/dist/commands/doctor.js +64 -24
  54. package/dist/commands/doctor.js.map +1 -1
  55. package/dist/mcp/cancellation-journal.d.ts +44 -0
  56. package/dist/mcp/cancellation-journal.d.ts.map +1 -0
  57. package/dist/mcp/cancellation-journal.js +58 -0
  58. package/dist/mcp/cancellation-journal.js.map +1 -0
  59. package/dist/mcp/request-deadline.d.ts +7 -1
  60. package/dist/mcp/request-deadline.d.ts.map +1 -1
  61. package/dist/mcp/request-deadline.js +12 -3
  62. package/dist/mcp/request-deadline.js.map +1 -1
  63. package/dist/mcp/server.d.ts.map +1 -1
  64. package/dist/mcp/server.js +48 -15
  65. package/dist/mcp/server.js.map +1 -1
  66. package/dist/setup/render.d.ts.map +1 -1
  67. package/dist/setup/render.js +2 -1
  68. package/dist/setup/render.js.map +1 -1
  69. package/dist/setup/standard-skills.d.ts +2 -2
  70. package/dist/setup/standard-skills.d.ts.map +1 -1
  71. package/dist/setup/standard-skills.js +5 -1
  72. package/dist/setup/standard-skills.js.map +1 -1
  73. package/docs/agent-file.md +19 -0
  74. package/docs/getting-started.ja.md +5 -3
  75. package/docs/getting-started.md +6 -3
  76. package/docs/memory-assurance.md +77 -8
  77. package/package.json +1 -1
  78. package/skills/coding-ideal-routine-skill/SKILL.md +33 -37
  79. package/skills/coding-ideal-routine-skill/references/repo-contracts.md +54 -0
  80. package/skills/coding-ideal-routine-skill/references/verification-scenarios.md +32 -0
  81. package/skills/kiokuko-soul/SKILL.md +7 -0
  82. package/templates/AGENTS.md +6 -3
@@ -20,6 +20,7 @@ export declare const preparationRecoverySchema: z.ZodObject<{
20
20
  /** Recover only an unexecuted capability-blocked task; retain its immutable history. */
21
21
  export declare function recoverTaskPreparation(db: SqliteDatabase, raw: unknown, signal?: AbortSignal): Promise<{
22
22
  recoveredFromRunId: string;
23
+ codingRoutine?: NonNullable<ReturnType<typeof import("./coding-routine.js").loadRequiredCodingRoutine>>;
23
24
  project: import("../memory/workspaces.js").ResolvedProjectWorkspace;
24
25
  executionContext: import("./agent-task.js").AgentTaskExecutionContext;
25
26
  intake: {
@@ -1 +1 @@
1
- {"version":3,"file":"preparation-recovery.d.ts","sourceRoot":"","sources":["../../src/akinator/preparation-recovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAuBvD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;kBAS3B,CAAC;AA2DZ,wFAAwF;AACxF,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW;;;;;;;;;;;;mBAd3F,CAAC;;;;;;;;;;;;;;GA4FR"}
1
+ {"version":3,"file":"preparation-recovery.d.ts","sourceRoot":"","sources":["../../src/akinator/preparation-recovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAuBvD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;kBAS3B,CAAC;AA2DZ,wFAAwF;AACxF,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW;;;;;;;;;;;;;mBAXzF,CAAC;;;;;;;;;;;;;;GAyFV"}
@@ -21,5 +21,5 @@ export declare function claimAgentTaskSkillDiscoveryAttempt(database: SqliteData
21
21
  selectionBudget: number;
22
22
  }): AgentTaskSkillDiscoveryAttemptClaim;
23
23
  export declare function completeAgentTaskSkillDiscoveryAttempt(database: SqliteDatabase, identity: AgentTaskSkillDiscoveryAttemptIdentity, summary: SkillDiscoverySummary, assertBeforeComplete?: () => void): SkillDiscoverySummary;
24
- export declare function failAgentTaskSkillDiscoveryAttempt(database: SqliteDatabase, identity: AgentTaskSkillDiscoveryAttemptIdentity, cause: unknown): never;
24
+ export declare function failAgentTaskSkillDiscoveryAttempt(database: SqliteDatabase, identity: AgentTaskSkillDiscoveryAttemptIdentity, cause: unknown, signal?: AbortSignal): never;
25
25
  //# sourceMappingURL=skill-discovery-attempt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-discovery-attempt.d.ts","sourceRoot":"","sources":["../../src/akinator/skill-discovery-attempt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOvD,OAAO,KAAK,EAAkB,kBAAkB,EAAE,qBAAqB,EAA4B,MAAM,oBAAoB,CAAC;AAgF9H,MAAM,WAAW,sCAAsC;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,MAAM,MAAM,mCAAmC,GAC3C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,qBAAqB,CAAA;CAAE,CAAC;AA+RvD,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,sCAAsC,GAC/C,OAAO,CAAC,mCAAmC,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,GAAG,SAAS,CAG9E;AAkBD,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,sCAAsC,EAChD,eAAe,GAAE;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CAIvB,GACF,mCAAmC,CAoCrC;AAED,wBAAgB,sCAAsC,CACpD,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,sCAAsC,EAChD,OAAO,EAAE,qBAAqB,EAC9B,oBAAoB,CAAC,EAAE,MAAM,IAAI,GAChC,qBAAqB,CA8BvB;AAED,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,sCAAsC,EAChD,KAAK,EAAE,OAAO,GACb,KAAK,CA+BP"}
1
+ {"version":3,"file":"skill-discovery-attempt.d.ts","sourceRoot":"","sources":["../../src/akinator/skill-discovery-attempt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOvD,OAAO,KAAK,EAAkB,kBAAkB,EAAE,qBAAqB,EAA4B,MAAM,oBAAoB,CAAC;AAkF9H,MAAM,WAAW,sCAAsC;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,MAAM,MAAM,mCAAmC,GAC3C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,qBAAqB,CAAA;CAAE,CAAC;AA2SvD,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,sCAAsC,GAC/C,OAAO,CAAC,mCAAmC,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,GAAG,SAAS,CAG9E;AAkBD,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,sCAAsC,EAChD,eAAe,GAAE;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CAIvB,GACF,mCAAmC,CAoCrC;AAED,wBAAgB,sCAAsC,CACpD,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,sCAAsC,EAChD,OAAO,EAAE,qBAAqB,EAC9B,oBAAoB,CAAC,EAAE,MAAM,IAAI,GAChC,qBAAqB,CA8BvB;AAED,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,sCAAsC,EAChD,KAAK,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,WAAW,GACnB,KAAK,CAiCP"}
@@ -13,6 +13,7 @@ const SUMMARY_FIELDS = new Set(['attempted', 'mode', 'requirements', 'queries',
13
13
  const SELECTED_FIELDS = new Set(['skillId', 'name', 'source', 'officialStatus', 'imported', 'updated']);
14
14
  const SUMMARY_FAILURE_FIELDS = new Set(['stage', 'code']);
15
15
  const KIOKUKO_FAILURE_FIELDS = new Set(['kind', 'code']);
16
+ const CANCELLED_FAILURE_FIELDS = new Set(['kind']);
16
17
  const PROVIDER_FAILURE_FIELDS = new Set(['kind', 'code', 'retryAfterSeconds']);
17
18
  const SOURCE_FAILURE_FIELDS = new Set(['kind', 'code', 'retryAfterSeconds']);
18
19
  const ERROR_CODES = [
@@ -184,6 +185,11 @@ function validateSummary(value, mode) {
184
185
  function validateFailure(value) {
185
186
  if (!plainObject(value) || typeof value.kind !== 'string')
186
187
  integrity();
188
+ if (value.kind === 'cancelled') {
189
+ if (!exactObject(value, CANCELLED_FAILURE_FIELDS))
190
+ integrity();
191
+ return { kind: 'cancelled' };
192
+ }
187
193
  if (value.kind === 'kiokuko') {
188
194
  if (!exactObject(value, KIOKUKO_FAILURE_FIELDS)
189
195
  || typeof value.code !== 'string'
@@ -330,7 +336,15 @@ function resolveExistingAttempt(existing, identity) {
330
336
  summary: validateSummary(parseCanonicalStoredJson(existing.summary_json, MAX_SUMMARY_JSON_CHARS), identity.mode),
331
337
  };
332
338
  }
333
- throwStoredFailure(validateFailure(parseCanonicalStoredJson(existing.failure_json, MAX_FAILURE_JSON_CHARS)));
339
+ const failure = validateFailure(parseCanonicalStoredJson(existing.failure_json, MAX_FAILURE_JSON_CHARS));
340
+ if (failure.kind === 'cancelled') {
341
+ // Cancellation remains a recorded failure. Resume without repeating optional
342
+ // external work; its full reservation stays consumed in the run-wide budget.
343
+ return { kind: 'replay', summary: { mode: identity.mode, attempted: true,
344
+ requirements: [], queries: [], cacheHits: 0, candidates: 0, selected: [],
345
+ failures: [{ stage: 'search', code: 'task_request_cancelled' }] } };
346
+ }
347
+ throwStoredFailure(failure);
334
348
  }
335
349
  export function readAgentTaskSkillDiscoveryAttempt(database, identity) {
336
350
  const existing = attemptRow(database, identity);
@@ -427,9 +441,11 @@ export function completeAgentTaskSkillDiscoveryAttempt(database, identity, summa
427
441
  return validateSummary(parseCanonicalStoredJson(completed.summary_json, MAX_SUMMARY_JSON_CHARS), identity.mode);
428
442
  });
429
443
  }
430
- export function failAgentTaskSkillDiscoveryAttempt(database, identity, cause) {
444
+ export function failAgentTaskSkillDiscoveryAttempt(database, identity, cause, signal) {
431
445
  const normalized = normalizedFailure(cause);
432
- const serialized = canonicalJson(normalized.failure);
446
+ // An unrelated security/integrity failure racing an abort must stay fail-closed.
447
+ const cancelled = signal?.aborted === true && cause === signal.reason;
448
+ const serialized = canonicalJson(cancelled ? { kind: 'cancelled' } : normalized.failure);
433
449
  try {
434
450
  withImmediateTransaction(database, () => {
435
451
  const existing = attemptRow(database, identity);
@@ -1 +1 @@
1
- {"version":3,"file":"skill-discovery-attempt.js","sourceRoot":"","sources":["../../src/akinator/skill-discovery-attempt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-discovery-attempt.js","sourceRoot":"","sources":["../../src/akinator/skill-discovery-attempt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAkB,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAA+B,MAAM,4BAA4B,CAAC;AAE3F,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErF,MAAM,IAAI,GAAG,iBAAiB,CAAC;AAC/B,MAAM,YAAY,GAAG,6BAA6B,CAAC;AACnD,MAAM,sBAAsB,GAAG,GAAG,GAAG,IAAI,CAAC;AAC1C,MAAM,sBAAsB,GAAG,CAAC,GAAG,IAAI,CAAC;AACxC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AACpI,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AACxG,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAC1D,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACzD,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAC/E,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAC7E,MAAM,WAAW,GAAyB;IACxC,aAAa;IACb,kBAAkB;IAClB,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,cAAc;IACd,qBAAqB;IACrB,oBAAoB;IACpB,sBAAsB;IACtB,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;CAClB,CAAC;AACF,MAAM,sBAAsB,GAAwC;IAClE,gCAAgC;IAChC,sBAAsB;IACtB,uBAAuB;IACvB,2BAA2B;CAC5B,CAAC;AACF,MAAM,oBAAoB,GAAsC;IAC9D,gBAAgB;IAChB,qBAAqB;IACrB,oBAAoB;IACpB,+BAA+B;IAC/B,uBAAuB;IACvB,qCAAqC;IACrC,uBAAuB;IACvB,iBAAiB;IACjB,yBAAyB;IACzB,eAAe;CAChB,CAAC;AACF,MAAM,eAAe,GAAkC,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AACxF,MAAM,iBAAiB,GAAgD;IACrE,SAAS;IACT,kBAAkB;IAClB,gBAAgB;IAChB,eAAe;IACf,SAAS;CACV,CAAC;AACF,MAAM,sBAAsB,GAAkE;IAC5F,QAAQ;IACR,QAAQ;IACR,YAAY;IACZ,aAAa;CACd,CAAC;AAiCF,SAAS,SAAS;IAChB,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,gDAAgD,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC;AAC9D,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,MAA2B;IAC9D,OAAO,WAAW,CAAC,KAAK,CAAC;WACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI;WACzC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;AACnF,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,SAAiB;IACpD,OAAO,OAAO,KAAK,KAAK,QAAQ;WAC3B,KAAK,CAAC,MAAM,GAAG,CAAC;WAChB,KAAK,CAAC,MAAM,IAAI,SAAS;WACzB,KAAK,CAAC,IAAI,EAAE,KAAK,KAAK;WACtB,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,QAAgB,EAAE,SAAiB;IAC3E,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;WACtB,KAAK,CAAC,MAAM,IAAI,QAAQ;WACxB,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;WACnD,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC;AAC5C,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,KAAK,KAAK,IAAI,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc,EAAE,QAAgB;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ;QAAE,SAAS,EAAE,CAAC;IAC5F,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,eAAe,CACtB,KAAK,EACL,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAC/E,6CAA6C,CAC9C,CAAC;QACF,IAAI,aAAa,CAAC,MAAM,CAAC,KAAK,KAAK;YAAE,SAAS,EAAE,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,UAAU;eAC1B,CAAC,KAAK,YAAY,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,EAAE,CAAC;YAChH,SAAS,EAAE,CAAC;QACd,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,KAAc,EAAE,IAAwB;IAC/D,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC;WAClC,OAAO,KAAK,CAAC,SAAS,KAAK,SAAS;WACpC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;WAC9B,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAA0B,CAAC;WAC3D,KAAK,CAAC,IAAI,KAAK,IAAI;WACnB,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC;WAC9C,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC;WACzC,CAAC,sBAAsB,CAAC,KAAK,CAAC,SAAS,CAAC;WACxC,CAAC,sBAAsB,CAAC,KAAK,CAAC,UAAU,CAAC;WACzC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;WAC9B,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;WACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;WAC9B,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG;WAC3B,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACjF,SAAS,EAAE,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,eAAe,CAAC;eAClC,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;eACjC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;eAC5B,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;eAC9B,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ;eACvC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAkD,CAAC;eACpF,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS;eAClC,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACvC,SAAS,EAAE,CAAC;QACd,CAAC;QACD,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,cAAc,EAAE,IAAI,CAAC,cAAkD;YACvE,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM;QAAE,SAAS,EAAE,CAAC;IACxF,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,sBAAsB,CAAC;eACzC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;eAC9B,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAA2D,CAAC;eAClG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;eAC5B,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,SAAS,EAAE,CAAC;QACd,CAAC;QACD,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAA2D;YACvE,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,IAAI,EAAE,KAAK,CAAC,IAA0B;QACtC,YAAY,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;QACrC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;QAC3B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,QAAQ;QACR,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,SAAS,EAAE,CAAC;IACvE,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,wBAAwB,CAAC;YAAE,SAAS,EAAE,CAAC;QAC/D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,sBAAsB,CAAC;eAC1C,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;eAC9B,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAiB,CAAC,EAAE,CAAC;YACpD,SAAS,EAAE,CAAC;QACd,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAiB,EAAE,CAAC;IAC7D,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,uBAAuB,CAAC;eAC3C,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;eAC9B,CAAC,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAgC,CAAC;eACxE,CAAC,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACjD,SAAS,EAAE,CAAC;QACd,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAgC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC;IACxH,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,qBAAqB,CAAC;eACzC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;eAC9B,CAAC,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAA8B,CAAC;eACpE,CAAC,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACjD,SAAS,EAAE,CAAC;QACd,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAA8B,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC;IACtH,CAAC;IACD,OAAO,SAAS,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,UAAU,CAAC,QAAwB,EAAE,QAAgD;IAC5F,OAAO,QAAQ,CAAC,OAAO,CAAC;;;;;;;GAOvB,CAAC,CAAC,GAAG,CAAmB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,cAAc,CAAC,QAAwB,EAAE,KAAa;IAC7D,OAAO,QAAQ,CAAC,OAAO,CAAC;;;;;;;GAOvB,CAAC,CAAC,GAAG,CAAmB,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAwB,EAAE,KAAa;IAC/D,OAAO,QAAQ,CAAC,OAAO,CAAC;;;;;;;;GAQvB,CAAC,CAAC,GAAG,CAAmB,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,OAAe;IACpD,OAAO,sBAAsB,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,OAAO,CAAC;AAC3D,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAqB,EAAE,QAAiD;IAClG,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;WAC7B,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ;WACtC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;WAC9B,CAAC,aAAa,CAAC,GAAG,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;WACjE,CAAC,aAAa,CAAC,GAAG,CAAC,wBAAwB,EAAE,mBAAmB,CAAC;WACjE,CAAC,aAAa,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,CAAC,oBAA8B,CAAC;WAC5E,CAAC,aAAa,CAAC,GAAG,CAAC,wBAAwB,EAAE,GAAG,CAAC,wBAAkC,CAAC;WACpF,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC;WACnC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACrE,SAAS,EAAE,CAAC;IACd,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,KAAK;WACvD,GAAG,CAAC,cAAc,KAAK,QAAQ,CAAC,aAAa,CAAC;QAAE,SAAS,EAAE,CAAC;IACjE,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,GAAG,CAAC,oBAAoB,KAAK,CAAC,IAAI,GAAG,CAAC,wBAAwB,KAAK,CAAC;eACnE,GAAG,CAAC,YAAY,KAAK,IAAI,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI;YAAE,SAAS,EAAE,CAAC;QACrG,OAAO;IACT,CAAC;IACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,UAAU;QAAE,SAAS,EAAE,CAAC;IAC1F,IAAI,GAAG,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QAC9B,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI;YAAE,SAAS,EAAE,CAAC;QACnF,OAAO;IACT,CAAC;IACD,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ;QAAE,SAAS,EAAE,CAAC;AACrF,CAAC;AAED,SAAS,kBAAkB,CAAC,OAA+D;IACzF,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACtC,MAAM,IAAI,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACpC,MAAM,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,wCAAwC,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;QACxC,MAAM,OAAO,GAA2B;YACtC,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;SAC3C,CAAC;QACF,eAAe,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,KAAK,YAAY,gBAAgB,EAAE,CAAC;QACtC,MAAM,OAAO,GAA2B;YACtC,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;SAC3C,CAAC;QACF,eAAe,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QAClC,MAAM,OAAO,GAA2B,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAC9E,eAAe,CAAC,OAAO,CAAC,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,wCAAwC,CAAC,CAAC;QAC1F,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IACxC,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,iBAAiB,EAAE,8CAA8C,CAAC,CAAC;IACvG,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,OAAO;QACL,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE;QACnD,KAAK,EAAE,UAAU;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,QAA0B,EAC1B,QAAgD;IAEhD,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACvC,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,iEAAiE,CAAC,CAAC;IACxG,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,eAAe,CAAC,wBAAwB,CAAC,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC;SACjH,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,eAAe,CAAC,wBAAwB,CAAC,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACzG,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACjC,6EAA6E;QAC7E,6EAA6E;QAC7E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI;gBACtE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE;gBACxE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,EAAE,EAAE,CAAC;IACxE,CAAC;IACD,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,QAAwB,EACxB,QAAgD;IAEhD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChD,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAwB,EAAE,KAAa;IAIlE,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;QAClD,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC;QACvC,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,oBAA8B,CAAC,CAAC,CAAC,GAAG,CAAC,oBAA8B,CAAC;QAChG,eAAe,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,wBAAkC,CAAC,CAAC,CAAC,GAAG,CAAC,wBAAkC,CAAC;IAC9G,CAAC;IACD,IAAI,WAAW,GAAG,uBAAuB,IAAI,eAAe,GAAG,mBAAmB;QAAE,SAAS,EAAE,CAAC;IAChG,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,QAAwB,EACxB,QAAgD,EAChD,kBAGI;IACA,WAAW,EAAE,uBAAuB;IACpC,eAAe,EAAE,mBAAmB;CACrC;IAEH,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;WAChC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;WAClC,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;WACxC,CAAC,aAAa,CAAC,eAAe,CAAC,WAAW,EAAE,uBAAuB,CAAC;WACpE,CAAC,aAAa,CAAC,eAAe,CAAC,eAAe,EAAE,mBAAmB,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,kDAAkD,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,wBAAwB,CAAC,QAAQ,EAAE,GAAG,EAAE;QAC7C,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAC3B,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,iEAAiE,CAAC,CAAC;YACxG,CAAC;YACD,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,WAAW,EAAE,uBAAuB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YACtG,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,eAAe,EAAE,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;YAC9G,MAAM,kBAAkB,GAAG,WAAW,KAAK,CAAC,IAAI,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YACxF,MAAM,sBAAsB,GAAG,WAAW,KAAK,CAAC,IAAI,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YAChG,QAAQ,CAAC,OAAO,CAAC;;;;;;;OAOhB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YACrH,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAChD,IAAI,QAAQ,KAAK,SAAS;gBAAE,SAAS,EAAE,CAAC;YACxC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,sBAAsB,EAAE,CAAC;QACvG,CAAC;QACD,OAAO,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sCAAsC,CACpD,QAAwB,EACxB,QAAgD,EAChD,OAA8B,EAC9B,oBAAiC;IAEjC,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,UAAU,CAAC,MAAM,GAAG,sBAAsB;QAAE,SAAS,EAAE,CAAC;IAC5D,OAAO,wBAAwB,CAAC,QAAQ,EAAE,GAAG,EAAE;QAC7C,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,QAAQ,KAAK,SAAS;YAAE,SAAS,EAAE,CAAC;QACxC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvC,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;YAAE,SAAS,EAAE,CAAC;QAC9C,MAAM,eAAe,GAAG,QAAQ,CAAC,oBAA8B,CAAC;QAChE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,wBAAkC,CAAC;QACvE,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,eAAe;eACzC,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;YACpD,SAAS,EAAE,CAAC;QACd,CAAC;QACD,oBAAoB,EAAE,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;;KAKhC,CAAC,CAAC,GAAG,CAA4C,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;QACvK,IAAI,OAAO,EAAE,KAAK,KAAK,WAAW,IAAI,OAAO,CAAC,YAAY,KAAK,UAAU;YAAE,SAAS,EAAE,CAAC;QACvF,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjD,IAAI,SAAS,KAAK,SAAS;YAAE,SAAS,EAAE,CAAC;QACzC,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxC,IAAI,SAAS,CAAC,KAAK,KAAK,WAAW,IAAI,SAAS,CAAC,YAAY,KAAK,UAAU;YAAE,SAAS,EAAE,CAAC;QAC1F,OAAO,eAAe,CAAC,wBAAwB,CAAC,SAAS,CAAC,YAAY,EAAE,sBAAsB,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,QAAwB,EACxB,QAAgD,EAChD,KAAc,EACd,MAAoB;IAEpB,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5C,iFAAiF;IACjF,MAAM,SAAS,GAAG,MAAM,EAAE,OAAO,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC;IACtE,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACzF,IAAI,CAAC;QACH,wBAAwB,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAChD,IAAI,QAAQ,KAAK,SAAS;gBAAE,SAAS,EAAE,CAAC;YACxC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACvC,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;gBAAE,SAAS,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;;;;;OAQhC,CAAC,CAAC,GAAG,CAA4C,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;YAChI,IAAI,OAAO,EAAE,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,YAAY,KAAK,UAAU;gBAAE,SAAS,EAAE,CAAC;YACpF,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC9C,IAAI,MAAM,KAAK,SAAS;gBAAE,SAAS,EAAE,CAAC;YACtC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACrC,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,YAAY,KAAK,UAAU;gBAAE,SAAS,EAAE,CAAC;QACnF,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,gBAAgB,EAAE,CAAC;QAC1B,MAAM,IAAI,cAAc,CACtB,CAAC,UAAU,CAAC,KAAK,EAAE,gBAAgB,CAAC,EACpC,mFAAmF,CACpF,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,CAAC,KAAK,CAAC;AACzB,CAAC"}
@@ -0,0 +1,21 @@
1
+ interface CommandIdentity {
2
+ session_id: string;
3
+ turn_id: string;
4
+ cwd: string;
5
+ tool_name?: string | undefined;
6
+ tool_use_id?: string | undefined;
7
+ transcript_path?: unknown;
8
+ tool_input?: unknown;
9
+ }
10
+ export interface CodexCommandReceipt {
11
+ callId: string;
12
+ processId: string;
13
+ exitCode: number;
14
+ }
15
+ /** The path comes only from the client hook, never a model-facing evidence API.
16
+ * Read the session header and a bounded tail; retain no transcript or stdout.
17
+ * Unfamiliar, missing, ambiguous or unfinished host records provide no evidence.
18
+ */
19
+ export declare function readCodexCommandReceipt(input: CommandIdentity, repositoryRoot: string): CodexCommandReceipt | null;
20
+ export {};
21
+ //# sourceMappingURL=codex-command-receipt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-command-receipt.d.ts","sourceRoot":"","sources":["../../src/assurance/codex-command-receipt.ts"],"names":[],"mappings":"AAKA,UAAU,eAAe;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AACD,MAAM,WAAW,mBAAmB;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;CAAE;AAW7F;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAsDlH"}
@@ -0,0 +1,93 @@
1
+ import { closeSync, constants, fstatSync, lstatSync, openSync, readSync, realpathSync } from 'node:fs';
2
+ import { homedir } from 'node:os';
3
+ import path from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
5
+ function object(value) {
6
+ return value !== null && typeof value === 'object' && !Array.isArray(value) ? value : {};
7
+ }
8
+ function commandDirectory(value) {
9
+ if (!value.startsWith('file:'))
10
+ return realpathSync(value);
11
+ const url = new URL(value);
12
+ if (url.search || url.hash)
13
+ throw new Error('Invalid command directory URL');
14
+ return realpathSync(fileURLToPath(url));
15
+ }
16
+ /** The path comes only from the client hook, never a model-facing evidence API.
17
+ * Read the session header and a bounded tail; retain no transcript or stdout.
18
+ * Unfamiliar, missing, ambiguous or unfinished host records provide no evidence.
19
+ */
20
+ export function readCodexCommandReceipt(input, repositoryRoot) {
21
+ if (!['exec_command', 'Bash', 'write_stdin'].includes(input.tool_name ?? '') || typeof input.transcript_path !== 'string'
22
+ || !path.isAbsolute(input.transcript_path))
23
+ return null;
24
+ let fd;
25
+ try {
26
+ const sessions = realpathSync(path.join(process.env.CODEX_HOME ?? path.join(homedir(), '.codex'), 'sessions'));
27
+ const file = realpathSync(input.transcript_path);
28
+ if (!file.startsWith(sessions + path.sep) || lstatSync(input.transcript_path).isSymbolicLink()
29
+ || !path.basename(file).startsWith('rollout-') || !path.basename(file).endsWith(`-${input.session_id}.jsonl`))
30
+ return null;
31
+ fd = openSync(file, constants.O_RDONLY | constants.O_NOFOLLOW | constants.O_NONBLOCK);
32
+ const stat = fstatSync(fd);
33
+ if (!stat.isFile() || (process.getuid && stat.uid !== process.getuid()) || (stat.mode & 0o022) !== 0)
34
+ return null;
35
+ const head = Buffer.alloc(Math.min(stat.size, 64 * 1024));
36
+ readSync(fd, head, 0, head.length, 0);
37
+ const headEnd = head.indexOf(10);
38
+ if (headEnd < 0)
39
+ return null;
40
+ const header = object(JSON.parse(head.subarray(0, headEnd).toString('utf8')));
41
+ const session = object(header.payload);
42
+ if (header.type !== 'session_meta' || session.id !== input.session_id || typeof session.cwd !== 'string'
43
+ || realpathSync(session.cwd) !== repositoryRoot)
44
+ return null;
45
+ const offset = Math.max(0, stat.size - 2 * 1024 * 1024);
46
+ const tail = Buffer.alloc(stat.size - offset);
47
+ readSync(fd, tail, 0, tail.length, offset);
48
+ if (tail[tail.length - 1] !== 10)
49
+ return null;
50
+ // Ignore only the partial first record of a bounded tail.
51
+ const start = offset === 0 ? 0 : tail.indexOf(10) + 1;
52
+ const end = tail.lastIndexOf(10);
53
+ if (start < 0 || end < start)
54
+ return null;
55
+ const lines = tail.subarray(start, end).toString('utf8').split('\n');
56
+ if (lines.length > 4096)
57
+ return null;
58
+ const args = object(input.tool_input);
59
+ let found = null;
60
+ for (const line of lines) {
61
+ const record = object(JSON.parse(line));
62
+ const event = object(record.payload);
63
+ const item = object(event.item);
64
+ if (record.type !== 'event_msg' || event.type !== 'item_completed' || event.thread_id !== input.session_id
65
+ || event.turn_id !== input.turn_id || item.type !== 'CommandExecution' || item.source !== 'unified_exec_startup')
66
+ continue;
67
+ const matches = input.tool_name === 'write_stdin'
68
+ ? (typeof args.session_id === 'number' || typeof args.session_id === 'string') && item.process_id === String(args.session_id)
69
+ : item.id === input.tool_use_id;
70
+ if (!matches)
71
+ continue;
72
+ if (typeof item.id !== 'string' || !item.id.length || typeof item.process_id !== 'string' || !item.process_id.length
73
+ || typeof item.cwd !== 'string' || commandDirectory(item.cwd) !== realpathSync(input.cwd)
74
+ || typeof item.exit_code !== 'number' || !Number.isSafeInteger(item.exit_code)
75
+ || (item.status !== 'completed' && item.status !== 'failed')
76
+ || (item.status === 'completed') !== (item.exit_code === 0))
77
+ return null;
78
+ const receipt = { callId: item.id, processId: item.process_id, exitCode: item.exit_code };
79
+ if (found && JSON.stringify(found) !== JSON.stringify(receipt))
80
+ return null;
81
+ found = receipt;
82
+ }
83
+ return found;
84
+ }
85
+ catch {
86
+ return null;
87
+ }
88
+ finally {
89
+ if (fd !== undefined)
90
+ closeSync(fd);
91
+ }
92
+ }
93
+ //# sourceMappingURL=codex-command-receipt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-command-receipt.js","sourceRoot":"","sources":["../../src/assurance/codex-command-receipt.ts"],"names":[],"mappings":"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"}
@@ -25,9 +25,10 @@ export declare function parseCodexHookInput(raw: unknown): z.infer<typeof hookSc
25
25
  export declare function codexHookCorrelationId(fields: Record<string, unknown>): string;
26
26
  /** stdout strings are never completion metadata, even when they contain JSON or exit headers. */
27
27
  export declare const CODEX_EXECUTION_ADAPTER: {
28
- readonly id: "codex-hook/structured-exit-code-v1";
28
+ readonly id: "codex-hook/structured-exit-code-v2";
29
29
  readonly rawOutputExitMetadata: false;
30
30
  readonly structuredExitMetadata: true;
31
+ readonly hostCommandReceiptMetadata: true;
31
32
  };
32
33
  export declare function observedExitCode(value: unknown): number | null;
33
34
  /** Record protocol shape and decision only, never arguments or tool output. */
@@ -1 +1 @@
1
- {"version":3,"file":"codex-hooks.d.ts","sourceRoot":"","sources":["../../src/assurance/codex-hooks.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAK5B,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,kBAAkB,CAAC;AASlE,eAAO,MAAM,qBAAqB,yMAAyM,CAAC;AAE5O,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;iBAKA,CAAC;AAGjB,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAE5E;AACD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAI9E;AAkBD,iGAAiG;AACjG,eAAO,MAAM,uBAAuB;;;;CAAoH,CAAC;AACzJ,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAI9D;AAuTD,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAuBxE;AACD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAe3D"}
1
+ {"version":3,"file":"codex-hooks.d.ts","sourceRoot":"","sources":["../../src/assurance/codex-hooks.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAK5B,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,kBAAkB,CAAC;AAUlE,eAAO,MAAM,qBAAqB,yMAAyM,CAAC;AAE5O,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;iBAKA,CAAC;AAGjB,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAE5E;AACD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAI9E;AAkBD,iGAAiG;AACjG,eAAO,MAAM,uBAAuB;;;;;CAAsJ,CAAC;AAC3L,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAI9D;AAoVD,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CA2BxE;AACD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAe3D"}
@@ -13,6 +13,7 @@ import { KiokukoError } from '../errors.js';
13
13
  import { assuranceState, taskAssuranceReport, insertTaskEvidence, memoryReviewNextAction } from './service.js';
14
14
  import { repositoryStateDigest } from './snapshot.js';
15
15
  import { parseAssurance } from './contracts.js';
16
+ import { readCodexCommandReceipt } from './codex-command-receipt.js';
16
17
  export const CODEX_HOOK_LIMITATION = 'Hooks cover supported client paths only. They do not isolate execution, control an already running process or retract an emitted response. Configuration is not proof of active runtime enforcement.';
17
18
  const bounded = z.string().min(1).max(500);
18
19
  const hookSchema = z.object({
@@ -52,21 +53,24 @@ function responseData(value) {
52
53
  return outer;
53
54
  }
54
55
  /** stdout strings are never completion metadata, even when they contain JSON or exit headers. */
55
- export const CODEX_EXECUTION_ADAPTER = { id: 'codex-hook/structured-exit-code-v1', rawOutputExitMetadata: false, structuredExitMetadata: true };
56
+ export const CODEX_EXECUTION_ADAPTER = { id: 'codex-hook/structured-exit-code-v2', rawOutputExitMetadata: false, structuredExitMetadata: true, hostCommandReceiptMetadata: true };
56
57
  export function observedExitCode(value) {
57
58
  const response = record(value);
58
- if (response.session_id !== undefined || response.timed_out === true || response.interrupted === true || response.signal !== undefined || (response.status !== undefined && !['completed', 'finished'].includes(String(response.status))) || response.error !== undefined)
59
+ if (response.isError === true || response.session_id !== undefined || response.timed_out === true || response.interrupted === true || response.signal !== undefined || (response.status !== undefined && !['completed', 'finished'].includes(String(response.status))) || response.error !== undefined)
59
60
  return null;
60
61
  return typeof response.exit_code === 'number' && Number.isSafeInteger(response.exit_code) ? response.exit_code : null;
61
62
  }
62
63
  const turnStopReason = 'Kiokuko stopped this turn after a policy denial. Do not retry tools or attempt preparation/recovery. Report the blocker and wait for a new user message.';
64
+ // Adapter metadata is private; Codex's strict stdout schema rejects extra keys.
65
+ const denialMetadata = new WeakMap();
63
66
  function deny(reason, code = 'identity_violation', recoverable = false) {
64
67
  const message = recoverable ? reason : `${reason} ${turnStopReason}`;
65
- return {
66
- kiokukoDecision: { reason: code, recoverable, nextAction: recoverable ? 'repair_current_request' : 'stop_and_report' },
68
+ const output = {
67
69
  systemMessage: `Kiokuko blocked this tool call: ${message}`,
68
70
  hookSpecificOutput: { hookEventName: 'PreToolUse', permissionDecision: 'deny', permissionDecisionReason: message },
69
71
  };
72
+ denialMetadata.set(output, { reason: code, recoverable, nextAction: recoverable ? 'repair_current_request' : 'stop_and_report' });
73
+ return output;
70
74
  }
71
75
  function stopTurn(event) {
72
76
  // SubagentStart cannot stop a child with continue:false. Its tool gate still denies.
@@ -109,7 +113,7 @@ function checkoutFreeHook(input) {
109
113
  return deny('Project operations require an existing Git checkout. Ordinary conversation can use global memory and bundled Skill reads.', 'repository_required', true);
110
114
  }
111
115
  /** stdin must come from the installed client hook. Session IDs supplied to model-facing APIs grant no authority. */
112
- function handleCodexHookEvent(db, raw) {
116
+ function handleCodexHookEvent(db, raw, onBinding, onExitSource) {
113
117
  const input = parseCodexHookInput(raw);
114
118
  const cwd = realpathSync(input.cwd);
115
119
  let root;
@@ -131,6 +135,7 @@ function handleCodexHookEvent(db, raw) {
131
135
  }
132
136
  const identity = canonicalContentHash({ session: input.session_id, turn: input.turn_id, agent: input.agent_id ?? 'main', root });
133
137
  const requestId = `codex-${identity}`;
138
+ onBinding(requestId);
134
139
  const now = new Date().toISOString();
135
140
  const recoverableDeny = (reason, code) => deny(reason, code, true);
136
141
  const denyTurn = (reason, code = 'identity_violation') => {
@@ -346,37 +351,75 @@ function handleCodexHookEvent(db, raw) {
346
351
  return {};
347
352
  const response = responseData(input.tool_response);
348
353
  // Unknown or unfinished client result shapes must never become passing evidence.
349
- const exitCode = observedExitCode(input.tool_response);
354
+ const directExit = observedExitCode(input.tool_response);
355
+ const receipt = directExit === null && typeof input.tool_response === 'string' ? readCodexCommandReceipt(input, root) : null;
356
+ const exitCode = directExit ?? receipt?.exitCode ?? null;
357
+ if (exitCode !== null)
358
+ onExitSource(receipt ? 'host_command_receipt' : 'structured_response', exitCode);
350
359
  // Each completion reads its own call and the current assurance revision under
351
360
  // the writer lock. A different call may have advanced that revision already.
352
361
  return withImmediateTransaction(db, () => {
353
362
  const current = db.prepare('SELECT * FROM codex_hook_requests WHERE identity_digest = ?').get(identity);
354
363
  if (current?.stop_notified)
355
364
  return stopTurn('PostToolUse');
356
- let call = db.prepare('SELECT * FROM codex_hook_tools WHERE identity_digest = ? AND call_id = ?').get(identity, input.tool_use_id);
365
+ const admitted = db.prepare('SELECT * FROM codex_hook_tools WHERE identity_digest = ? AND call_id = ?').get(identity, input.tool_use_id);
366
+ let call = admitted;
357
367
  if (!current || current.run_id !== request.run_id || current.state !== 'bound')
358
368
  throw new KiokukoError('CONFLICT', 'Tool completion binding changed');
359
- if (!call)
360
- throw new KiokukoError('CONFLICT', 'Tool completion has no matching start');
361
- if (call.run_id !== current.run_id)
369
+ if (admitted && admitted.run_id !== current.run_id)
362
370
  throw new KiokukoError('CONFLICT', 'Tool completion binding changed');
363
- if (call.input_digest !== canonicalContentHash(input.tool_input ?? null))
371
+ if (admitted && admitted.input_digest !== canonicalContentHash(input.tool_input ?? null))
364
372
  throw new KiokukoError('CONFLICT', 'Tool completion input changed');
365
373
  if (input.tool_name === 'write_stdin' && (typeof args.session_id === 'number' || typeof args.session_id === 'string')) {
366
- const original = db.prepare('SELECT t.* FROM codex_hook_processes p JOIN codex_hook_tools t ON t.identity_digest=p.identity_digest AND t.call_id=p.call_id WHERE p.identity_digest=? AND p.session_id=?')
374
+ let original = db.prepare('SELECT t.* FROM codex_hook_processes p JOIN codex_hook_tools t ON t.identity_digest=p.identity_digest AND t.call_id=p.call_id WHERE p.identity_digest=? AND p.session_id=?')
367
375
  .get(identity, String(args.session_id));
368
- if (original) {
369
- if (original.run_id !== current.run_id)
370
- throw new KiokukoError('CONFLICT', 'Tool completion binding changed');
371
- call = original;
372
- }
376
+ // A stdout-only yielded result cannot expose a trusted process ID. A final
377
+ // host receipt can bind that ID to its exact, already admitted command.
378
+ if (!original && receipt)
379
+ original = db.prepare('SELECT * FROM codex_hook_tools WHERE identity_digest=? AND call_id=?')
380
+ .get(identity, receipt.callId);
381
+ if (receipt && original?.call_id !== receipt.callId)
382
+ throw new KiokukoError('CONFLICT', 'Tool completion binding changed');
383
+ // Codex may emit only PostToolUse for write_stdin. Its authority is the
384
+ // original admitted execution and observed session, never a guessed call.
385
+ if (!original)
386
+ throw new KiokukoError('CONFLICT', 'Tool completion has no matching start');
387
+ call = original;
373
388
  }
389
+ if (!call)
390
+ throw new KiokukoError('CONFLICT', 'Tool completion has no matching start');
391
+ if (call.run_id !== current.run_id)
392
+ throw new KiokukoError('CONFLICT', 'Tool completion binding changed');
374
393
  const run = new LedgerStore(db).readRun(current.run_id);
375
394
  if (!run || run.status !== 'active')
376
395
  throw new KiokukoError('CONFLICT', 'Tool completion belongs to a terminal run');
377
396
  const state = assuranceState(db, current.run_id);
378
397
  if (!state || state.repository_root !== root)
379
398
  throw new KiokukoError('CONFLICT', 'Tool completion repository changed');
399
+ if (input.tool_name === 'write_stdin' && receipt) {
400
+ db.prepare('INSERT INTO codex_hook_processes VALUES(?,?,?) ON CONFLICT DO NOTHING')
401
+ .run(identity, receipt.processId, call.call_id);
402
+ }
403
+ if (!admitted) {
404
+ // A post-only poll inherits the original admission, but its own identity
405
+ // and input still need a durable binding for exact replay validation.
406
+ db.prepare(`INSERT INTO codex_hook_tools
407
+ (identity_digest,call_id,run_id,delivery_id,input_digest,state_digest,evidence_id,completion_state)
408
+ VALUES (?,?,?,?,?,?,NULL,'unknown')`)
409
+ .run(identity, input.tool_use_id, call.run_id, call.delivery_id, canonicalContentHash(input.tool_input ?? null), call.state_digest);
410
+ }
411
+ // Keep process correlation even if the command changed source before yielding.
412
+ if (exitCode === null && ['Bash', 'exec_command'].includes(input.tool_name) && (typeof response.session_id === 'number' || typeof response.session_id === 'string')) {
413
+ const sessionId = String(response.session_id);
414
+ if (!sessionId.length || sessionId.length > 128)
415
+ throw new KiokukoError('VALIDATION_ERROR', 'Process session ID is invalid');
416
+ const prior = db.prepare('SELECT call_id FROM codex_hook_processes WHERE identity_digest=? AND session_id=?').get(identity, sessionId);
417
+ if (prior && prior.call_id !== call.call_id)
418
+ throw new KiokukoError('CONFLICT', 'Process session ID was reused');
419
+ db.prepare('INSERT INTO codex_hook_processes VALUES(?,?,?) ON CONFLICT DO NOTHING').run(identity, sessionId, call.call_id);
420
+ }
421
+ // Correlation belongs to the admitted process even when its delivery is old.
422
+ // Preserve it for subsequent polls, but never certify the replacement delivery.
380
423
  if (call.delivery_id !== state.delivery_id)
381
424
  return context('PostToolUse', 'Delivery changed during execution; completion cannot verify the new delivery.');
382
425
  if (call.evidence_id && db.prepare('SELECT outcome FROM task_execution_evidence WHERE evidence_id=?').get(call.evidence_id)?.outcome !== 'unknown') {
@@ -404,15 +447,6 @@ function handleCodexHookEvent(db, raw) {
404
447
  if (exitCode === null) {
405
448
  const running = response.session_id !== undefined || response.status === 'running';
406
449
  const next = running ? 'running' : 'unknown';
407
- if (running && ['Bash', 'exec_command'].includes(input.tool_name) && (typeof response.session_id === 'number' || typeof response.session_id === 'string')) {
408
- const sessionId = String(response.session_id);
409
- if (sessionId.length > 128)
410
- throw new KiokukoError('VALIDATION_ERROR', 'Process session ID is invalid');
411
- const prior = db.prepare('SELECT call_id FROM codex_hook_processes WHERE identity_digest=? AND session_id=?').get(identity, sessionId);
412
- if (prior && prior.call_id !== call.call_id)
413
- throw new KiokukoError('CONFLICT', 'Process session ID was reused');
414
- db.prepare('INSERT INTO codex_hook_processes VALUES(?,?,?) ON CONFLICT DO NOTHING').run(identity, sessionId, call.call_id);
415
- }
416
450
  if (call.completion_state === next || call.completion_state === 'unknown' && running)
417
451
  return {};
418
452
  db.prepare('INSERT INTO task_execution_observations(run_id) VALUES(?) ON CONFLICT DO NOTHING').run(current.run_id);
@@ -443,8 +477,10 @@ export function handleCodexHook(db, raw) {
443
477
  const input = parseCodexHookInput(raw);
444
478
  const response = record(input.tool_response);
445
479
  const args = record(input.tool_input);
446
- const shape = { hasArguments: !!args.arguments, hasParameters: !!args.parameters, hasRequestId: !!args.requestId, hasSoulRead: !!args.soulRead, type: typeof input.tool_response, structured: !!response.structuredContent,
447
- content: Array.isArray(response.content), exitCode: typeof response.exit_code, exitMetadata: observedExitCode(input.tool_response) === null ? 'unavailable' : 'structured', exitAdapter: CODEX_EXECUTION_ADAPTER.id, contractVersion: INTEGRATION_CONTRACT.version, contractId: INTEGRATION_CONTRACT.id, hookPackageVersion: PACKAGE_VERSION, status: typeof response.status };
480
+ const hostFields = Object.fromEntries(['exit_code', 'exitCode', 'tool_execution', 'tool_result', 'tool_response_metadata', 'execution_metadata', 'transcript_path']
481
+ .map(key => [key, typeof input[key]]));
482
+ const shape = { request: null, hostFields, execution: { occurred: input.hook_event_name === 'PostToolUse', completionRecorded: false, exitCode: observedExitCode(input.tool_response) }, hasArguments: !!args.arguments, hasParameters: !!args.parameters, hasRequestId: !!args.requestId, hasSoulRead: !!args.soulRead, type: typeof input.tool_response, structured: !!response.structuredContent,
483
+ content: Array.isArray(response.content), exitCode: typeof response.exit_code, exitMetadata: observedExitCode(input.tool_response) === null ? 'unavailable' : 'structured', exitSource: 'unavailable', exitAdapter: CODEX_EXECUTION_ADAPTER.id, contractVersion: INTEGRATION_CONTRACT.version, contractId: INTEGRATION_CONTRACT.id, hookPackageVersion: PACKAGE_VERSION, status: typeof response.status };
448
484
  const save = (decision, reason, recovery) => withImmediateTransaction(db, () => {
449
485
  const diagnostic = { ...shape, reason, recoverable: recovery?.recoverable, nextAction: recovery?.nextAction, call: codexHookCorrelationId(input) };
450
486
  db.prepare('INSERT INTO codex_hook_observations VALUES (?, ?, ?, ?, ?, ?)')
@@ -452,10 +488,12 @@ export function handleCodexHook(db, raw) {
452
488
  db.prepare('DELETE FROM codex_hook_observations WHERE rowid NOT IN (SELECT rowid FROM codex_hook_observations ORDER BY rowid DESC LIMIT 1000)').run();
453
489
  });
454
490
  try {
455
- const result = handleCodexHookEvent(db, input);
491
+ const result = handleCodexHookEvent(db, input, requestId => { shape.request = requestId; }, (source, exitCode) => { shape.exitSource = source; shape.exitMetadata = 'structured'; shape.execution.exitCode = exitCode; });
492
+ shape.execution.completionRecorded = input.hook_event_name === 'PostToolUse';
456
493
  const specific = record(record(result).hookSpecificOutput);
494
+ const decision = denialMetadata.get(result);
457
495
  try {
458
- save(specific.permissionDecision === 'deny' ? 'denied' : 'handled', specific.permissionDecision === 'deny' ? String(record(record(result).kiokukoDecision).reason ?? 'policy_denied') : undefined, record(record(result).kiokukoDecision));
496
+ save(specific.permissionDecision === 'deny' ? 'denied' : 'handled', decision?.reason, decision);
459
497
  }
460
498
  catch {
461
499
  process.stderr.write('Kiokuko hook observation unavailable: observation_write_failed.\n');