@raidiant/notifai 11.4.0-beta.2 → 11.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 (96) hide show
  1. package/CHANGELOG.md +9 -2
  2. package/dist/claude-wake.d.ts +11 -3
  3. package/dist/claude-wake.js +74 -67
  4. package/dist/claude-wake.js.map +1 -1
  5. package/dist/client.d.ts +23 -2
  6. package/dist/client.js +11 -5
  7. package/dist/client.js.map +1 -1
  8. package/dist/codex-wake.d.ts +12 -2
  9. package/dist/codex-wake.js +50 -13
  10. package/dist/codex-wake.js.map +1 -1
  11. package/dist/commands-acknowledge.d.ts +4 -2
  12. package/dist/commands-acknowledge.js +35 -4
  13. package/dist/commands-acknowledge.js.map +1 -1
  14. package/dist/commands-ask.js +2 -2
  15. package/dist/commands-ask.js.map +1 -1
  16. package/dist/commands-close.js +16 -4
  17. package/dist/commands-close.js.map +1 -1
  18. package/dist/commands-core.d.ts +6 -0
  19. package/dist/commands-core.js.map +1 -1
  20. package/dist/commands-doctor.js +46 -1
  21. package/dist/commands-doctor.js.map +1 -1
  22. package/dist/commands-hook-attend.d.ts +61 -0
  23. package/dist/commands-hook-attend.js +475 -0
  24. package/dist/commands-hook-attend.js.map +1 -0
  25. package/dist/commands-hook-diagnostics.js +2 -2
  26. package/dist/commands-hook-diagnostics.js.map +1 -1
  27. package/dist/commands-hook-install.js +1 -1
  28. package/dist/commands-hook-install.js.map +1 -1
  29. package/dist/commands-hook-run.js +59 -2
  30. package/dist/commands-hook-run.js.map +1 -1
  31. package/dist/commands-send.js +6 -1
  32. package/dist/commands-send.js.map +1 -1
  33. package/dist/guidance-content.js +9 -35
  34. package/dist/guidance-content.js.map +1 -1
  35. package/dist/hook-acknowledgements.d.ts +25 -5
  36. package/dist/hook-acknowledgements.js +102 -45
  37. package/dist/hook-acknowledgements.js.map +1 -1
  38. package/dist/hook-events.d.ts +26 -1
  39. package/dist/hook-events.js +38 -2
  40. package/dist/hook-events.js.map +1 -1
  41. package/dist/hook-lifecycle.d.ts +6 -0
  42. package/dist/hook-lifecycle.js +297 -26
  43. package/dist/hook-lifecycle.js.map +1 -1
  44. package/dist/hook-question-lock.d.ts +18 -0
  45. package/dist/hook-question-lock.js +80 -57
  46. package/dist/hook-question-lock.js.map +1 -1
  47. package/dist/hook-question-retirement.d.ts +10 -2
  48. package/dist/hook-question-retirement.js +21 -4
  49. package/dist/hook-question-retirement.js.map +1 -1
  50. package/dist/hook-session-state.d.ts +90 -1
  51. package/dist/hook-session-state.js +201 -9
  52. package/dist/hook-session-state.js.map +1 -1
  53. package/dist/hook-types.d.ts +50 -2
  54. package/dist/injection-render.d.ts +36 -0
  55. package/dist/injection-render.js +61 -0
  56. package/dist/injection-render.js.map +1 -0
  57. package/dist/install-hooks.d.ts +14 -0
  58. package/dist/install-hooks.js +47 -2
  59. package/dist/install-hooks.js.map +1 -1
  60. package/dist/logging.d.ts +1 -1
  61. package/dist/logging.js +12 -0
  62. package/dist/logging.js.map +1 -1
  63. package/dist/process-identity.d.ts +26 -0
  64. package/dist/process-identity.js +82 -0
  65. package/dist/process-identity.js.map +1 -0
  66. package/dist/program.js +6 -6
  67. package/dist/program.js.map +1 -1
  68. package/dist/session-attendant-probe.d.ts +74 -0
  69. package/dist/session-attendant-probe.js +131 -0
  70. package/dist/session-attendant-probe.js.map +1 -0
  71. package/dist/session-attendant-state.d.ts +53 -0
  72. package/dist/session-attendant-state.js +175 -0
  73. package/dist/session-attendant-state.js.map +1 -0
  74. package/dist/session-attendant.d.ts +135 -0
  75. package/dist/session-attendant.js +493 -0
  76. package/dist/session-attendant.js.map +1 -0
  77. package/dist/session-delivery.d.ts +214 -0
  78. package/dist/session-delivery.js +560 -0
  79. package/dist/session-delivery.js.map +1 -0
  80. package/dist/session-handoff.d.ts +98 -0
  81. package/dist/session-handoff.js +118 -0
  82. package/dist/session-handoff.js.map +1 -0
  83. package/dist/session-message-handoff.d.ts +35 -0
  84. package/dist/session-message-handoff.js +99 -0
  85. package/dist/session-message-handoff.js.map +1 -0
  86. package/dist/skill-source/manifest.json +20 -4
  87. package/dist/skill-source/notifai/SKILL.md +19 -57
  88. package/dist/skill-source/notifai/references/diagnostics.md +31 -0
  89. package/dist/skill-source/notifai/references/harness-setup.md +3 -0
  90. package/dist/skill-source/notifai/references/notes-and-edits.md +38 -0
  91. package/dist/skill-source/notifai/references/send-details.md +14 -0
  92. package/dist/skill-source/notifai/references/writing-examples.md +56 -0
  93. package/dist/wake-support.d.ts +33 -1
  94. package/dist/wake-support.js +65 -8
  95. package/dist/wake-support.js.map +1 -1
  96. package/package.json +2 -2
@@ -0,0 +1,82 @@
1
+ /** A process named by PID *and* start time, so a reused PID is never mistaken for it. */
2
+ import { execFileSync } from 'node:child_process';
3
+ /**
4
+ * The start time of a process, or null when it is gone or cannot be read.
5
+ *
6
+ * One clock source for every side of every comparison: `ps -o lstart` under
7
+ * `TZ=UTC` and the C locale. Claude Code writes its session descriptor's
8
+ * `procStart` the same way, so a harness start read here compares equal to it
9
+ * as text. Whitespace is collapsed because `lstart` pads single-digit days.
10
+ */
11
+ export function processStartTime(pid) {
12
+ if (!Number.isInteger(pid) || pid <= 0)
13
+ return null;
14
+ try {
15
+ const output = execFileSync('ps', ['-o', 'lstart=', '-p', String(pid)], {
16
+ encoding: 'utf8',
17
+ env: { PATH: process.env['PATH'] ?? '/bin:/usr/bin', TZ: 'UTC', LC_ALL: 'C' },
18
+ stdio: ['ignore', 'pipe', 'ignore'],
19
+ timeout: 2_000,
20
+ });
21
+ const start = normalizeProcessStart(output);
22
+ return start === '' ? null : start;
23
+ }
24
+ catch {
25
+ // `ps` exits 1 for a PID that does not exist.
26
+ return null;
27
+ }
28
+ }
29
+ /** The executable name of a process (`ps -o comm`, without its directory), or null. */
30
+ export function processExecutableName(pid) {
31
+ if (!Number.isInteger(pid) || pid <= 0)
32
+ return null;
33
+ try {
34
+ const output = execFileSync('ps', ['-o', 'comm=', '-p', String(pid)], {
35
+ encoding: 'utf8',
36
+ env: { PATH: process.env['PATH'] ?? '/bin:/usr/bin', LC_ALL: 'C' },
37
+ stdio: ['ignore', 'pipe', 'ignore'],
38
+ timeout: 2_000,
39
+ }).trim();
40
+ return output === '' ? null : output.slice(output.lastIndexOf('/') + 1);
41
+ }
42
+ catch {
43
+ return null;
44
+ }
45
+ }
46
+ export function normalizeProcessStart(value) {
47
+ return value.trim().replace(/\s+/g, ' ');
48
+ }
49
+ /** Signal 0 only asks whether the PID exists; EPERM still means it does. */
50
+ export function pidExists(pid) {
51
+ if (!Number.isInteger(pid) || pid <= 0)
52
+ return false;
53
+ try {
54
+ process.kill(pid, 0);
55
+ return true;
56
+ }
57
+ catch (err) {
58
+ return err.code === 'EPERM';
59
+ }
60
+ }
61
+ /**
62
+ * Whether this exact process still runs. A PID that exists with a different
63
+ * start time is a different process: the one we knew is gone.
64
+ */
65
+ export function processIdentityLiveness(identity, readStart = processStartTime, exists = pidExists) {
66
+ if (!exists(identity.pid))
67
+ return 'gone';
68
+ const start = readStart(identity.pid);
69
+ if (start === null)
70
+ return exists(identity.pid) ? 'unknown' : 'gone';
71
+ return normalizeProcessStart(start) === normalizeProcessStart(identity.start) ? 'alive' : 'gone';
72
+ }
73
+ /** This process, read once: its start time never changes. */
74
+ let selfIdentity;
75
+ export function currentProcessIdentity() {
76
+ if (selfIdentity === undefined) {
77
+ const start = processStartTime(process.pid);
78
+ selfIdentity = start === null ? null : { pid: process.pid, start };
79
+ }
80
+ return selfIdentity;
81
+ }
82
+ //# sourceMappingURL=process-identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-identity.js","sourceRoot":"","sources":["../src/process-identity.ts"],"names":[],"mappings":"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"}
package/dist/program.js CHANGED
@@ -404,14 +404,14 @@ export function buildProgram(deps, options = {}) {
404
404
  exit(await runners.replies(deps, requestId, opts));
405
405
  });
406
406
  program
407
- .command('acknowledge <request_id>')
407
+ .command('acknowledge <request_or_message_id>')
408
408
  .helpGroup(GROUP.agent)
409
- .summary("Tell the user what you'll do because of their reply")
410
- .description('Record the required Agent Acknowledgement for a replied-to notification request; never prompts')
411
- .option('--text <text>', 'concrete work you will do because of the reply')
409
+ .summary("Tell the user what you'll do because of their reply or note")
410
+ .description('Record the required Agent Acknowledgement for a replied-to notification request (req_…) or a Session Message the user sent into this session (sm_…: a note or an edited answer); never prompts')
411
+ .option('--text <text>', 'concrete work you will do because of the reply or message')
412
412
  .option('--json', 'machine-readable output')
413
- .action(async (requestId, opts) => {
414
- exit(await runners.acknowledge(deps, requestId, opts));
413
+ .action(async (id, opts) => {
414
+ exit(await runners.acknowledge(deps, id, opts));
415
415
  });
416
416
  program
417
417
  .command('status <question_or_request_id>')
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,sCAAsC,EACtC,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,aAAa,GAEd,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAG3D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAA;AAEhF;;;;;;;;;;;GAWG;AACH,SAAS,OAAO;IACd,OAAO,cAAc,EAAE,IAAI,SAAS,CAAA;AACtC,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,OAAgB;IACnC,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,IAAI,IAAI,GAAmB,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAClF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAA;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,gBAAgB;IACxB,WAAW,EAAE,qBAAqB;IAClC,WAAW,EAAE,kBAAkB;IAC/B,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,aAAa;IACrB,UAAU,EAAE,iBAAiB;IAC7B,YAAY,EAAE,mBAAmB;IACjC,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,aAAa;IACrB,YAAY,EAAE,mBAAmB;IACjC,aAAa,EAAE,oBAAoB;IACnC,cAAc,EAAE,qBAAqB;IACrC,aAAa,EAAE,oBAAoB;IACnC,kBAAkB,EAAE,yBAAyB;IAC7C,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,cAAc;IACvB,WAAW,EAAE,kBAAkB;IAC/B,MAAM,EAAE,aAAa;IACrB,GAAG,EAAE,UAAU;IACf,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,cAAc;IACvB,YAAY,EAAE,mBAAmB;IACjC,cAAc,EAAE,qBAAqB;IACrC,IAAI,EAAE,WAAW;IACjB,UAAU,EAAE,iBAAiB;IAC7B,aAAa,EAAE,oBAAoB;IACnC,SAAS,EAAE,gBAAgB;IAC3B,WAAW,EAAE,kBAAkB;IAC/B,YAAY,EAAE,mBAAmB;IACjC,WAAW,EAAE,kBAAkB;IAC/B,aAAa,EAAE,oBAAoB;IACnC;;;;OAIG;IACH,WAAW,EAAE,KAAK,EAAE,IAAiB,EAAE,aAAqB,EAAmB,EAAE;QAC/E,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAC/D,OAAO,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;IAChD,CAAC;CACF,CAAA;AAUD,MAAM,UAAU,YAAY,CAAC,IAAiB,EAAE,UAA+B,EAAE;IAC/E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACnE,MAAM,OAAO,GAAmB,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;IACzE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAE1B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;SACnC,WAAW,CAAC,iEAAiE,CAAC;SAC9E,OAAO,CAAC,OAAO,EAAE,CAAC;SAClB,aAAa,CAAC,iBAAiB,CAAC;QACjC,0EAA0E;QAC1E,wEAAwE;QACxE,gEAAgE;SAC/D,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC;QAC7C,0EAA0E;QAC1E,wEAAwE;QACxE,2EAA2E;QAC3E,kBAAkB;SACjB,wBAAwB,CAAC,IAAI,CAAC;QAC/B,uEAAuE;QACvE,2EAA2E;QAC3E,6DAA6D;QAC7D,uEAAuE;SACtE,WAAW,CAAC,IAAI,CAAC;SACjB,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE;QAC7C,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;QACjD,yEAAyE;QACzE,kEAAkE;QAClE,MAAM,gBAAgB,GACpB,aAAa,CAAC,IAAI,EAAE,KAAK,MAAM;YAC/B,sCAAsC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;QACxE,2EAA2E;QAC3E,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE;gBACzB,OAAO,EAAE,OAAO,EAAE;gBAClB,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC3C,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;aACnB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAC,CAAA;IAEJ;;;;;OAKG;IACH,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3B,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF;;;;;;;;;OASG;IACH;;;;;OAKG;IACH,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAgB,EAAE,EAAE;QAC9D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;YACvD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CACvB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACtB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CACzB,CAAA;YACD,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,oBAAoB,OAAO,IAAI;gBAC7B,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,wCAAwC,CAC3C,CAAA;YACD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YACjC,OAAO,CAAC,UAAU,EAAE,CAAA;YACpB,OAAM;QACR,CAAC;QACD,IAAI,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,8EAA8E;IAC9E,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,mCAAmC,CAAC;SAC5C,WAAW,CACV,uGAAuG;QACrG,+EAA+E,CAClF;SACA,MAAM,CAAC,mBAAmB,EAAE,oEAAoE,CAAC;SACjG,MAAM,CAAC,QAAQ,EAAE,iDAAiD,CAAC;SACnE,MAAM,CAAC,UAAU,EAAE,+DAA+D,CAAC;SACnF,MAAM,CAAC,aAAa,EAAE,+CAA+C,CAAC;SACtE,MAAM,CACL,wBAAwB,EACxB,mHAAmH,CACpH;SACA,MAAM,CAAC,SAAS,EAAE,uDAAuD,CAAC;SAC1E,MAAM,CAAC,YAAY,EAAE,oCAAoC,CAAC;SAC1D,MAAM,CACL,KAAK,EAAE,IAMN,EAAE,EAAE;QACH,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACtC,CAAC,CACF,CAAA;IAEH,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,+BAA+B,CAAC;SACxC,WAAW,CAAC,uIAAuI,CAAC;SACpJ,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QACzC,IAAI,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,4CAA4C,CAAC;SACrD,WAAW,CAAC,kFAAkF,CAAC;SAC/F,MAAM,CAAC,QAAQ,EAAE,mDAAmD,CAAC;SACrE,MAAM,CAAC,SAAS,EAAE,yEAAyE,CAAC;SAC5F,MAAM,CAAC,iBAAiB,EAAE,0EAA0E,CAAC;SACrG,MAAM,CAAC,qBAAqB,EAAE,+DAA+D,CAAC;SAC9F,MAAM,CAAC,kBAAkB,EAAE,wEAAwE,CAAC;SACpG,MAAM,CAAC,KAAK,EAAE,IAAkG,EAAE,EAAE;QACnH,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YACvF,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;YAC/C,IAAI,CAAC,CAAC,CAAC,CAAA;YACP,OAAM;QACR,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;YAC/F,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAA;YACnE,IAAI,CAAC,CAAC,CAAC,CAAA;YACP,OAAM;QACR,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAA;YACxE,IAAI,CAAC,CAAC,CAAC,CAAA;YACP,OAAM;QACR,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACnD,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;YACtC,IAAI,CAAC,CAAC,CAAC,CAAA;YACP,OAAM;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACnJ,CAAC,CAAC,CAAA;IAEJ,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,SAAS,CAAC;SAClB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,kCAAkC,CAAC;SAC3C,WAAW,CAAC,mEAAmE,CAAC,CAAA;IACnF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;QAC9F,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IACF,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,6CAA6C,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;QAChG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAwB,EAAE,EAAE;QACvI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,SAAS,CAAC;SAClB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,6CAA6C,CAAC;SACtD,WAAW,CAAC,gEAAgE,CAAC,CAAA;IAChF,OAAO;SACJ,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CACV,gIAAgI,CACjI;SACA,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,IAAwB,EAAE,EAAE;QACxD,IAAI,CAAC,MAAM,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;SACzB,OAAO,CAAC,+BAA+B,CAAC;SACxC,WAAW,CAAC,kEAAkE,CAAC;SAC/E,MAAM,CAAC,eAAe,EAAE,yDAAyD,CAAC;SAClF,MAAM,CAAC,kBAAkB,EAAE,iEAAiE,CAAC;SAC7F,MAAM,CAAC,WAAW,EAAE,4CAA4C,CAAC;SACjE,MAAM,CAAC,KAAK,EAAE,IAAyD,EAAE,EAAE;QAC1E,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;SACzB,OAAO,CAAC,sCAAsC,CAAC;SAC/C,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;IAEJ,MAAM,IAAI,GAAG,OAAO;SACjB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,wBAAwB,CAAC;SACrC,OAAO,CAAC,mCAAmC,CAAC;SAC5C,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC5B,IAAI;SACD,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,CAAC,IAAwB,EAAE,EAAE;QACnC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IACJ,IAAI;SACD,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QACzC,IAAI,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,gDAAgD,CAAC;SACzD,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,uBAAuB,EAAE,6CAA6C,CAAC;SAC9E,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,IAA2C,EAAE,EAAE;QAC5D,IAAI,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,wCAAwC,CAAC;SACjD,WAAW,CACV,yGAAyG,CAC1G;SACA,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QACzC,IAAI,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,cAAc,CAAC;SACvB,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;SACzB,OAAO,CAAC,iCAAiC,CAAC;SAC1C,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,uBAAuB,EAAE,qCAAqC,CAAC;SACtE,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,IAA6C,EAAE,EAAE;QAC9D,IAAI,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEJ,MAAM,IAAI,GAAG,OAAO;SACjB,OAAO,CAAC,MAAM,CAAC;SACf,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,qBAAqB,CAAC;SAC9B,WAAW,CAAC,qBAAqB,CAAC;SAClC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;SAChC,cAAc,CAAC,iBAAiB,EAAE,2DAA2D,CAAC;SAC9F,cAAc,CAAC,kBAAkB,EAAE,yDAAyD,CAAC;SAC7F,MAAM,CAAC,mBAAmB,EAAE,sDAAsD,CAAC;SACnF,MAAM,CAAC,oBAAoB,EAAE,0EAA0E,CAAC;SACxG,MAAM,CACL,uBAAuB,EACvB,qGAAqG,CACtG;SACA,MAAM,CACL,6BAA6B,EAC7B,uEAAuE,EACvE,CAAC,CAAS,EAAE,MAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAC/C;SACA,MAAM,CACL,oBAAoB,EACpB,mEAAmE,EACnE,CAAC,CAAS,EAAE,MAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAC/C;SACA,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;SAChC,MAAM,CAAC,eAAe,EAAE,wHAAwH,CAAC;SACjJ,MAAM,CAAC,gBAAgB,EAAE,gEAAgE,CAAC;SAC1F,MAAM,CAAC,eAAe,EAAE,0DAA0D,CAAC;SACnF,MAAM,CAAC,eAAe,EAAE,iCAAiC,EAAE,CAAC,CAAS,EAAE,MAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;SAC1G,MAAM,CAAC,OAAO,EAAE,4DAA4D,CAAC;SAC7E,MAAM,CAAC,mBAAmB,EAAE,2FAA2F,CAAC;SACxH,MAAM,CACL,wBAAwB,EACxB,4GAA4G,CAC7G;SACA,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC;SACrC,MAAM,CAAC,sBAAsB,EAAE,iDAAiD,CAAC;SACjF,MAAM,CAAC,kBAAkB,EAAE,6BAA6B,CAAC;SACzD,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACjF,MAAM,CAAC,uBAAuB,EAAE,iDAAiD,CAAC;SAClF,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC;SAC9B,MAAM,CAAC,SAAS,EAAE,yDAAyD,CAAC;SAC5E,MAAM,CAAC,2BAA2B,EAAE,6CAA6C,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC5G,MAAM,CACL,0BAA0B,EAC1B,wFAAwF,EACxF,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CACzB;SACA,MAAM,CACL,kBAAkB,EAClB,4EAA4E,EAC5E,CAAC,CAAS,EAAE,MAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAC/C;SACA,MAAM,CAAC,SAAS,EAAE,gDAAgD,CAAC;SACnE,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC;SACjC,MAAM,CACL,iBAAiB,EACjB,6GAA6G,CAC9G;SACA,MAAM,CACL,iBAAiB,EACjB,wGAAwG,CACzG;SACA,MAAM,CAAC,kBAAkB,EAAE,wCAAwC,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC9F,MAAM,CAAC,WAAW,EAAE,qCAAqC,CAAC;SAC1D,MAAM,CAAC,oBAAoB,EAAE,0BAA0B,EAAE,CAAC,CAAS,EAAE,MAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;SACxG,MAAM,CAAC,yBAAyB,EAAE,kCAAkC,CAAC;SACrE,MAAM,CAAC,SAAS,EAAE,oFAAoF,CAAC;SACvG,MAAM,CACL,kBAAkB,EAClB,8GAA8G,CAC/G;SACA,MAAM,CAAC,QAAQ,EAAE,2CAA2C,CAAC;SAC7D,MAAM,CAAC,KAAK,EAAE,IAA6B,EAAE,EAAE;QAC9C,mEAAmE;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,CAAA;QACrC,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACxE,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;QAC5B,wEAAwE;QACxE,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;YAClD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAA;QACtF,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;QACrC,OAAO,QAAQ,CAAC,UAAU,CAAC,CAAA;QAC3B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;gBACnC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAA;gBAC3D,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;YAChB,CAAC;YACD,IAAI,CAAC;gBACH,QAAQ,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAC1E,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,QAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBACzD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;YAChB,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAuC,CAAA;QAC1E,IAAI,IAAI,KAAK,SAAS;YAAE,OAAQ,KAA2B,CAAC,IAAI,CAAA;;YAC3D,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;QACtB,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEJ,IAAI,CAAC,WAAW,CACd,OAAO,EACP,oeAAoe,CACre,CAAA;IAED,OAAO;SACJ,OAAO,CAAC,sBAAsB,CAAC;SAC/B,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,gCAAgC,CAAC;SACzC,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,WAAW,EAAE,oEAAoE,CAAC;SACzF,MAAM,CAAC,kBAAkB,EAAE,8BAA8B,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACpF,MAAM,CAAC,eAAe,EAAE,2CAA2C,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC9F,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,SAA6B,EAAE,IAA0E,EAAE,EAAE;QAC1H,IAAI,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,0BAA0B,CAAC;SACnC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,qDAAqD,CAAC;SAC9D,WAAW,CACV,gGAAgG,CACjG;SACA,MAAM,CAAC,eAAe,EAAE,gDAAgD,CAAC;SACzE,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,IAAuC,EAAE,EAAE;QAC3E,IAAI,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,iCAAiC,CAAC;SAC1C,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,yCAAyC,CAAC;SAClD,WAAW,CAAC,wFAAwF,CAAC;SACrG,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,IAAwB,EAAE,EAAE;QAC5D,IAAI,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,gBAAgB,CAAC;SACzB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,wCAAwC,CAAC;SACjD,WAAW,CAAC,+GAA+G,CAAC;SAC5H,MAAM,CACL,kBAAkB,EAClB,8EAA8E,EAC9E,CAAC,CAAS,EAAE,MAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAC/C;SACA,MAAM,CAAC,SAAS,EAAE,gDAAgD,CAAC;SACnE,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,mBAAmB,EAAE,sDAAsD,CAAC;SACnF,MAAM,CAAC,oBAAoB,EAAE,0EAA0E,CAAC;SACxG,MAAM,CACL,uBAAuB,EACvB,qGAAqG,CACtG;SACA,MAAM,CAAC,eAAe,EAAE,gEAAgE,CAAC;SACzF,MAAM,CACL,6BAA6B,EAC7B,uEAAuE,EACvE,CAAC,CAAS,EAAE,MAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAC/C;SACA,MAAM,CACL,oBAAoB,EACpB,mEAAmE,EACnE,CAAC,CAAS,EAAE,MAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAC/C;SACA,MAAM,CAAC,gBAAgB,EAAE,gEAAgE,CAAC;SAC1F,MAAM,CACL,wBAAwB,EACxB,4GAA4G,CAC7G;SACA,MAAM,CAAC,KAAK,EAAE,QAA4B,EAAE,IAY5C,EAAE,EAAE;QACH,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE;oBACvC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;oBACrD,MAAM,EAAE,+CAA+C;oBACvD,OAAO,EAAE,8CAA8C;iBACxD,CAAC,CAAC,CAAA;YACL,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YACxE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE;oBACvC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;oBAC7D,MAAM,EAAE,mDAAmD;oBAC3D,OAAO,EAAE,kBAAkB,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE;iBAC3D,CAAC,CAAC,CAAA;YACL,CAAC;QACH,CAAC;QACD,IAAI,IAAwB,CAAA;QAC5B,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAChE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE;oBACvC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;oBAC7D,MAAM,EAAE,mDAAmD;oBAC3D,OAAO,EAAE,kBAAkB,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE;iBACvD,CAAC,CAAC,CAAA;YACL,CAAC;QACH,CAAC;QACD,wEAAwE;QACxE,MAAM,KAAK,GAAqC;YAC9C,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxE,CAAA;QACD,IAAI,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,gCAAgC,CAAC;SACzC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,gDAAgD,CAAC;SACzD,WAAW,CACV,mMAAmM,CACpM;SACA,MAAM,CAAC,WAAW,EAAE,mFAAmF,CAAC;SACxG,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,SAA6B,EAAE,IAA2C,EAAE,EAAE;QAC3F,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEJ,6EAA6E;IAC7E,8EAA8E;IAC9E,0EAA0E;IAC1E,OAAO;SACJ,OAAO,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SACzC,WAAW,CAAC,yDAAyD,CAAC;QACvE,6EAA6E;QAC7E,yEAAyE;QACzE,qBAAqB;SACpB,MAAM,CAAC,gBAAgB,EAAE,2BAA2B,CAAC;SACrD,MAAM,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;SAC7D,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,IAA0B,EAAE,EAAE;QAC1D,MAAM,OAAO,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1F,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;QAC/D,IAAI,KAAK,KAAK,qBAAqB,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;QAChD,CAAC;QACD,IAAI,CAAC,MAAM,OAAO,CAAC,OAAO,CACxB,IAAI,EACJ,KAAK,EACL,KAAK,KAAK,qBAAqB,IAAI,eAAe,KAAK,SAAS;YAC9D,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,eAAe;YAC7B,CAAC,CAAC,GAAG,EAAE,CAAC,oBAAoB,EAAE,EAChC,OAAO,CACR,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEJ,MAAM,KAAK,GAAG,OAAO;SAClB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,yEAAyE,CAAC;SACtF,OAAO,CAAC,mDAAmD,CAAC;SAC5D,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC5B,KAAK;SACF,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CACV,sFAAsF;QACpF,qFAAqF,CACxF;SACA,MAAM,CACL,kBAAkB,EAClB,sFAAsF,CACvF;SACA,MAAM,CAAC,CAAC,IAA0B,EAAE,EAAE;QACrC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IACJ,KAAK;SACF,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,kBAAkB,EAAE,wEAAwE,CAAC;SACpG,MAAM,CAAC,CAAC,IAA0B,EAAE,EAAE;QACrC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,mDAAmD,CAAC;SAC5D,WAAW,CACV,mGAAmG;QACjG,0EAA0E,CAC7E;SACA,MAAM,CAAC,qBAAqB,EAAE,wCAAwC,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACjG,MAAM,CAAC,OAAO,EAAE,0CAA0C,CAAC;SAC3D,MAAM,CAAC,gBAAgB,EAAE,mEAAmE,CAAC;SAC7F,MAAM,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;SAC/F,MAAM,CAAC,gBAAgB,EAAE,6BAA6B,EAAE,CAAC,CAAS,EAAE,MAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;SACvG,MAAM,CAAC,YAAY,EAAE,uCAAuC,CAAC;SAC7D,MAAM,CAAC,gBAAgB,EAAE,2CAA2C,CAAC;SACrE,MAAM,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;SACnD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;SAC7C,MAAM,CAAC,gBAAgB,EAAE,+CAA+C,CAAC;SACzE,MAAM,CAAC,eAAe,EAAE,mCAAmC,CAAC;SAC5D,MAAM,CAAC,QAAQ,EAAE,oCAAoC,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,iDAAiD,CAAC;SACnE,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;SACzC,MAAM,CAAC,CAAC,IAA6B,EAAE,EAAE;QACxC,MAAM,KAAK,GAAG,EAAE,GAAG,IAAI,EAAuC,CAAA;QAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,KAAK,CAAA;QAC9E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEJ,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,yBAAyB,CAAC;SACtC,OAAO,CAAC,yBAAyB,CAAC;SAClC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACzB,MAAM;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,iEAAiE,CAAC;SAC9E,MAAM,CAAC,WAAW,EAAE,6DAA6D,CAAC;SAClF,MAAM,CAAC,SAAS,EAAE,+CAA+C,CAAC;SAClE,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,CAAC,IAA4D,EAAE,EAAE;QACvE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IACJ,MAAM;SACH,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,4EAA4E,CAAC;SACzF,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,CAAC,GAAW,EAAE,IAAwB,EAAE,EAAE;QAChD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IACJ,MAAM;SACH,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CACV,iHAAiH,CAClH;SACA,MAAM,CAAC,WAAW,EAAE,kDAAkD,CAAC;SACvE,MAAM,CAAC,SAAS,EAAE,uEAAuE,CAAC;SAC1F,MAAM,CAAC,gBAAgB,EAAE,iCAAiC,CAAC;SAC3D,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC;SAC7C,MAAM,CACL,KAAK,EACH,GAAW,EACX,KAAa,EACb,IAA6E,EAC7E,EAAE;QACF,IAAI,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IACvD,CAAC,CACF,CAAA;IACH,MAAM;SACH,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CACV,iKAAiK,CAClK;SACA,MAAM,CAAC,WAAW,EAAE,qDAAqD,CAAC;SAC1E,MAAM,CAAC,SAAS,EAAE,6DAA6D,CAAC;SAChF,MAAM,CAAC,gBAAgB,EAAE,+BAA+B,CAAC;SACzD,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC;SAC7C,MAAM,CACL,KAAK,EACH,GAAW,EACX,IAA6E,EAC7E,EAAE;QACF,IAAI,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;IAClD,CAAC,CACF,CAAA;IAEH,MAAM,QAAQ,GAAG,OAAO;SACrB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,mFAAmF,CAAC;SAChG,OAAO,CAAC,8CAA8C,CAAC;SACvD,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACzB,QAAQ;SACL,OAAO,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;SACpC,WAAW,CAAC,4EAA4E,CAAC;SACzF,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QACzC,IAAI,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IACJ,QAAQ;SACL,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CACV,wGAAwG;QACtG,uFAAuF,CAC1F;SACA,MAAM,CAAC,eAAe,EAAE,sDAAsD,CAAC;SAC/E,MAAM,CAAC,WAAW,EAAE,gDAAgD,CAAC;SACrE,MAAM,CAAC,SAAS,EAAE,uEAAuE,CAAC;SAC1F,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC;SAC7C,MAAM,CACL,KAAK,EACH,KAAa,EACb,IAAwB,EACxB,IAA0E,EAC1E,EAAE;QACF,IAAI,OAAO,GAAG,IAAI,CAAA;QAClB,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAA;gBACxD,IAAI,CAAC,CAAC,CAAC,CAAA;gBACP,OAAM;YACR,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YACnE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1D,IAAI,CAAC,CAAC,CAAC,CAAA;gBACP,OAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAA;YACrE,IAAI,CAAC,CAAC,CAAC,CAAA;YACP,OAAM;QACR,CAAC;QACD,IAAI,CACF,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;YAC9C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CACH,CAAA;IACH,CAAC,CACF,CAAA;IACH,QAAQ;SACL,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CACV,4EAA4E;QAC1E,uFAAuF,CAC1F;SACA,MAAM,CAAC,WAAW,EAAE,mDAAmD,CAAC;SACxE,MAAM,CAAC,SAAS,EAAE,6DAA6D,CAAC;SAChF,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC;SAC7C,MAAM,CACL,KAAK,EAAE,KAAa,EAAE,IAA2D,EAAE,EAAE;QACnF,IAAI,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IACtD,CAAC,CACF,CAAA;IAEH,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ import type { HookHarness } from './hook-types.js';
2
+ import { type ProcessIdentity } from './process-identity.js';
3
+ import type { HarnessProbe } from './session-attendant.js';
4
+ import type { SessionActivity } from '@raidiant/notifai-protocol';
5
+ /** Whether this build runs a Session Attendant for a harness on a platform, and why not. */
6
+ export type AttendantSupport = {
7
+ supported: true;
8
+ } | {
9
+ supported: false;
10
+ reason: string;
11
+ };
12
+ export declare function attendantSupport(harness: HookHarness | undefined, platform: NodeJS.Platform): AttendantSupport;
13
+ export interface ClaudeProbeAdapters {
14
+ readDescriptor(pid: number): unknown;
15
+ pidExists(pid: number): boolean;
16
+ readStart(pid: number): string | null;
17
+ /** This process's current parent; the kernel updates it when the parent exits. */
18
+ parentPid(): number;
19
+ }
20
+ export declare function claudeDescriptorDir(env: NodeJS.ProcessEnv): string;
21
+ export declare function systemClaudeProbeAdapters(env: NodeJS.ProcessEnv): ClaudeProbeAdapters;
22
+ /**
23
+ * The Claude Code probe. Every call re-establishes the evidence; nothing is
24
+ * carried over from an earlier call, so one failed check can never be
25
+ * followed by `running` without a fresh successful one.
26
+ *
27
+ * - The harness PID is gone, or now belongs to a process with another start
28
+ * time: `ended` (harness-gone). Checked on every call: a SIGKILLed harness
29
+ * leaves its descriptor behind, and a reused PID would satisfy the rest.
30
+ * While the harness is still this process's parent the identity holds
31
+ * without a lookup — a parent cannot be replaced under a living child;
32
+ * otherwise (an npx adapter in between, or an orphaned attendant) the start
33
+ * time is read again.
34
+ * - The start time cannot be read: `uncertain`.
35
+ * - The descriptor for that PID names another session id: `/clear` or
36
+ * `/resume` replaced this session in the same process: `ended`.
37
+ * - The descriptor is missing: Claude Code 2.1.282 removes it about a second
38
+ * *before* SessionEnd and exit, so with the process alive this is
39
+ * `uncertain`.
40
+ * - The descriptor's `procStart` (UTC `ps` text) differs from the harness
41
+ * start read the same way: the evidence disagrees, `uncertain`.
42
+ *
43
+ * Activity comes from the descriptor `status`: `idle` is idle, anything else
44
+ * (busy, waiting on a permission prompt) is working.
45
+ */
46
+ export declare function claudeAttendanceProbe(options: {
47
+ sessionId: string;
48
+ harness: ProcessIdentity;
49
+ /** SessionEnd's marker for exactly this incarnation. */
50
+ endedByHook: () => boolean;
51
+ adapters: ClaudeProbeAdapters;
52
+ }): () => HarnessProbe;
53
+ /**
54
+ * The Codex probe. Codex publishes no session descriptor, so the evidence is
55
+ * the Codex process that started this attendant and the thread's own hooks:
56
+ *
57
+ * - SessionEnd's marker for this incarnation: `ended`. Codex runs SessionEnd
58
+ * when the thread closes, is archived or deleted, or unloads after idling
59
+ * with no client, then kills the attendant.
60
+ * - The Codex PID is gone or now names a process with another start time:
61
+ * `ended` (harness-gone). A crashed or killed Codex never runs SessionEnd
62
+ * and leaves the attendant behind in its own process group.
63
+ * - The start time cannot be read: `uncertain`.
64
+ *
65
+ * Activity comes from this thread's own prompt and turn-end hooks.
66
+ */
67
+ export declare function codexAttendanceProbe(options: {
68
+ harness: ProcessIdentity;
69
+ /** SessionEnd's marker for exactly this incarnation. */
70
+ endedByHook: () => boolean;
71
+ /** Working while this thread's latest recorded turn has not ended. */
72
+ activity: () => SessionActivity;
73
+ adapters: Pick<ClaudeProbeAdapters, 'pidExists' | 'readStart' | 'parentPid'>;
74
+ }): () => HarnessProbe;
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Per-harness exact-session probes for the Session Attendant.
3
+ *
4
+ * Each answers one local question every two seconds: is the harness process
5
+ * that started this attendant still running, and does it still host this
6
+ * exact Agent Session? Anything short of proof is `uncertain`, never `running`.
7
+ */
8
+ import { readFileSync } from 'node:fs';
9
+ import os from 'node:os';
10
+ import path from 'node:path';
11
+ import { parseDescriptor } from './claude-wake.js';
12
+ import { normalizeProcessStart, pidExists, processIdentityLiveness, processStartTime, } from './process-identity.js';
13
+ export function attendantSupport(harness, platform) {
14
+ if (harness === 'claude-code') {
15
+ // The descriptor, inbox socket, and own-child delivery are proven on macOS.
16
+ // Windows has none of them; Linux shares the socket design.
17
+ return platform === 'darwin' || platform === 'linux'
18
+ ? { supported: true }
19
+ : { supported: false, reason: `claude-code-${platform}-unproven` };
20
+ }
21
+ if (harness === 'codex') {
22
+ // Proven on macOS: the hook's parent is the Codex process, and Codex keeps
23
+ // an async hook for its declared timeout while the thread stays loaded.
24
+ // Windows reports no parent the same way.
25
+ return platform === 'darwin' || platform === 'linux'
26
+ ? { supported: true }
27
+ : { supported: false, reason: `codex-${platform}-unproven` };
28
+ }
29
+ return { supported: false, reason: 'harness-has-no-exact-session-probe' };
30
+ }
31
+ export function claudeDescriptorDir(env) {
32
+ const configured = env['CLAUDE_CONFIG_DIR'];
33
+ return path.join(configured && path.isAbsolute(configured) ? configured : path.join(os.homedir(), '.claude'), 'sessions');
34
+ }
35
+ export function systemClaudeProbeAdapters(env) {
36
+ const dir = claudeDescriptorDir(env);
37
+ return {
38
+ readDescriptor: (pid) => JSON.parse(readFileSync(path.join(dir, `${pid}.json`), 'utf8')),
39
+ pidExists,
40
+ readStart: processStartTime,
41
+ parentPid: () => process.ppid,
42
+ };
43
+ }
44
+ /**
45
+ * The Claude Code probe. Every call re-establishes the evidence; nothing is
46
+ * carried over from an earlier call, so one failed check can never be
47
+ * followed by `running` without a fresh successful one.
48
+ *
49
+ * - The harness PID is gone, or now belongs to a process with another start
50
+ * time: `ended` (harness-gone). Checked on every call: a SIGKILLed harness
51
+ * leaves its descriptor behind, and a reused PID would satisfy the rest.
52
+ * While the harness is still this process's parent the identity holds
53
+ * without a lookup — a parent cannot be replaced under a living child;
54
+ * otherwise (an npx adapter in between, or an orphaned attendant) the start
55
+ * time is read again.
56
+ * - The start time cannot be read: `uncertain`.
57
+ * - The descriptor for that PID names another session id: `/clear` or
58
+ * `/resume` replaced this session in the same process: `ended`.
59
+ * - The descriptor is missing: Claude Code 2.1.282 removes it about a second
60
+ * *before* SessionEnd and exit, so with the process alive this is
61
+ * `uncertain`.
62
+ * - The descriptor's `procStart` (UTC `ps` text) differs from the harness
63
+ * start read the same way: the evidence disagrees, `uncertain`.
64
+ *
65
+ * Activity comes from the descriptor `status`: `idle` is idle, anything else
66
+ * (busy, waiting on a permission prompt) is working.
67
+ */
68
+ export function claudeAttendanceProbe(options) {
69
+ const { adapters, harness } = options;
70
+ const expectedStart = normalizeProcessStart(harness.start);
71
+ return () => {
72
+ if (options.endedByHook())
73
+ return { state: 'ended', reason: 'session-end-hook' };
74
+ const alive = adapters.parentPid() === harness.pid
75
+ ? 'alive'
76
+ : processIdentityLiveness(harness, adapters.readStart, adapters.pidExists);
77
+ if (alive === 'gone')
78
+ return { state: 'ended', reason: 'harness-gone' };
79
+ let raw;
80
+ try {
81
+ raw = adapters.readDescriptor(harness.pid);
82
+ }
83
+ catch {
84
+ return { state: 'uncertain', reason: 'descriptor-missing' };
85
+ }
86
+ const descriptor = parseDescriptor(raw);
87
+ if (descriptor === null || descriptor.pid !== harness.pid) {
88
+ return { state: 'uncertain', reason: 'descriptor-unrecognised' };
89
+ }
90
+ if (normalizeProcessStart(descriptor.procStart) !== expectedStart) {
91
+ // A stale descriptor, or a clock format this build does not know.
92
+ return { state: 'uncertain', reason: 'process-start-mismatch' };
93
+ }
94
+ if (descriptor.sessionId !== options.sessionId) {
95
+ return { state: 'ended', reason: 'session-replaced' };
96
+ }
97
+ if (alive === 'unknown')
98
+ return { state: 'uncertain', reason: 'process-start-unreadable' };
99
+ return { state: 'running', activity: descriptor.status === 'idle' ? 'idle' : 'working' };
100
+ };
101
+ }
102
+ /**
103
+ * The Codex probe. Codex publishes no session descriptor, so the evidence is
104
+ * the Codex process that started this attendant and the thread's own hooks:
105
+ *
106
+ * - SessionEnd's marker for this incarnation: `ended`. Codex runs SessionEnd
107
+ * when the thread closes, is archived or deleted, or unloads after idling
108
+ * with no client, then kills the attendant.
109
+ * - The Codex PID is gone or now names a process with another start time:
110
+ * `ended` (harness-gone). A crashed or killed Codex never runs SessionEnd
111
+ * and leaves the attendant behind in its own process group.
112
+ * - The start time cannot be read: `uncertain`.
113
+ *
114
+ * Activity comes from this thread's own prompt and turn-end hooks.
115
+ */
116
+ export function codexAttendanceProbe(options) {
117
+ const { adapters, harness } = options;
118
+ return () => {
119
+ if (options.endedByHook())
120
+ return { state: 'ended', reason: 'session-end-hook' };
121
+ const alive = adapters.parentPid() === harness.pid
122
+ ? 'alive'
123
+ : processIdentityLiveness(harness, adapters.readStart, adapters.pidExists);
124
+ if (alive === 'gone')
125
+ return { state: 'ended', reason: 'harness-gone' };
126
+ if (alive === 'unknown')
127
+ return { state: 'uncertain', reason: 'process-start-unreadable' };
128
+ return { state: 'running', activity: options.activity() };
129
+ };
130
+ }
131
+ //# sourceMappingURL=session-attendant-probe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-attendant-probe.js","sourceRoot":"","sources":["../src/session-attendant-probe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import type { AttendantPhase, AttendantStatus } from './session-attendant.js';
2
+ import type { SessionActivity } from '@raidiant/notifai-protocol';
3
+ import type { DeliveryLease } from './session-delivery.js';
4
+ /** One live attendant per Agent Session: PID + process start time + incarnation. */
5
+ export declare function attendantClaimPath(sessionId: string, env: NodeJS.ProcessEnv): string;
6
+ export declare function attendantStatusPath(sessionId: string, env: NodeJS.ProcessEnv): string;
7
+ export declare function writeAttendantStatus(sessionId: string, env: NodeJS.ProcessEnv, status: AttendantStatus): void;
8
+ export interface AttendantReport {
9
+ session_id: string;
10
+ phase: AttendantPhase;
11
+ /** Whether the recorded attendant process could still be running. */
12
+ alive: boolean;
13
+ generation: number | null;
14
+ activity: string | null;
15
+ reason: string | null;
16
+ accepts_messages: boolean;
17
+ updated_at: number;
18
+ }
19
+ /**
20
+ * Every attendant status on this machine, newest first. An attendant whose
21
+ * process is gone without writing `exited` is reported as not alive.
22
+ */
23
+ export declare function listAttendantReports(env: NodeJS.ProcessEnv): AttendantReport[];
24
+ /**
25
+ * The lease a writer beside the attendant (the answer waiter) may claim under:
26
+ * the generation the live attendant of this session holds right now, or null.
27
+ * The service still decides; a stale read is refused as `generation_fenced`.
28
+ */
29
+ export declare function readAttendantLease(sessionId: string, env: NodeJS.ProcessEnv): DeliveryLease | null;
30
+ /**
31
+ * The lease a live attendant of this session holds in any phase short of
32
+ * exiting, for the one writer that ends it on the attendant's behalf: Codex's
33
+ * SessionEnd, after which Codex kills the attendant before it can report.
34
+ */
35
+ export declare function readAttendantHeldLease(sessionId: string, env: NodeJS.ProcessEnv): DeliveryLease | null;
36
+ /**
37
+ * A thread's own turn boundaries, for a harness that publishes no activity of
38
+ * its own (Codex), scoped to one session incarnation (its stable start key).
39
+ *
40
+ * Starts are recorded by the synchronous prompt hook, which Codex runs before
41
+ * each turn and one turn at a time, so recorded starts keep the thread's own
42
+ * order. Ends come from asynchronous hooks (Stop, Interrupt) that may run late
43
+ * or before the start they close, so they are matched by turn id. A start of a
44
+ * turn already seen — started or ended — is stale and never replaces the
45
+ * current turn. The thread is working while its current turn has no end.
46
+ */
47
+ export declare function turnActivityPath(sessionId: string, env: NodeJS.ProcessEnv): string;
48
+ /** A turn of incarnation `key` started. Ignored when that turn was already seen. */
49
+ export declare function recordTurnStart(sessionId: string, env: NodeJS.ProcessEnv, key: string, turnId: string): void;
50
+ /** A turn ended (or was interrupted), whenever its hook got to run. */
51
+ export declare function recordTurnEnd(sessionId: string, env: NodeJS.ProcessEnv, turnId: string): void;
52
+ /** Working while incarnation `key`'s current turn has no recorded end. */
53
+ export declare function readTurnActivity(sessionId: string, env: NodeJS.ProcessEnv, key: string): SessionActivity;