@raidiant/notifai 0.1.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 (54) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +76 -0
  3. package/dist/client.d.ts +40 -0
  4. package/dist/client.js +118 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/commands.d.ts +225 -0
  7. package/dist/commands.js +1855 -0
  8. package/dist/commands.js.map +1 -0
  9. package/dist/config.d.ts +138 -0
  10. package/dist/config.js +224 -0
  11. package/dist/config.js.map +1 -0
  12. package/dist/credentials.d.ts +31 -0
  13. package/dist/credentials.js +94 -0
  14. package/dist/credentials.js.map +1 -0
  15. package/dist/hooks.d.ts +250 -0
  16. package/dist/hooks.js +792 -0
  17. package/dist/hooks.js.map +1 -0
  18. package/dist/idle.d.ts +16 -0
  19. package/dist/idle.js +44 -0
  20. package/dist/idle.js.map +1 -0
  21. package/dist/install-hooks.d.ts +194 -0
  22. package/dist/install-hooks.js +579 -0
  23. package/dist/install-hooks.js.map +1 -0
  24. package/dist/main.d.ts +2 -0
  25. package/dist/main.js +259 -0
  26. package/dist/main.js.map +1 -0
  27. package/dist/opencode-plugin.d.ts +65 -0
  28. package/dist/opencode-plugin.js +181 -0
  29. package/dist/opencode-plugin.js.map +1 -0
  30. package/dist/readiness.d.ts +87 -0
  31. package/dist/readiness.js +40 -0
  32. package/dist/readiness.js.map +1 -0
  33. package/dist/send.d.ts +86 -0
  34. package/dist/send.js +202 -0
  35. package/dist/send.js.map +1 -0
  36. package/package.json +56 -0
  37. package/src/client.test.ts +83 -0
  38. package/src/client.ts +183 -0
  39. package/src/commands.test.ts +1199 -0
  40. package/src/commands.ts +2201 -0
  41. package/src/config.test.ts +243 -0
  42. package/src/config.ts +347 -0
  43. package/src/credentials.ts +119 -0
  44. package/src/hooks.test.ts +1030 -0
  45. package/src/hooks.ts +1099 -0
  46. package/src/idle.test.ts +32 -0
  47. package/src/idle.ts +41 -0
  48. package/src/install-hooks.test.ts +500 -0
  49. package/src/install-hooks.ts +708 -0
  50. package/src/main.ts +315 -0
  51. package/src/opencode-plugin.ts +203 -0
  52. package/src/readiness.ts +88 -0
  53. package/src/send.ts +272 -0
  54. package/tsconfig.json +10 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
package/dist/idle.d.ts ADDED
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Seconds since the user last touched the keyboard or mouse, or null when this
3
+ * machine cannot say.
4
+ *
5
+ * The hooks need to know whether the user is at their desk, and the only signal
6
+ * they had was silence since the last prompt — which includes the agent's own
7
+ * turn, so a user watching a long build was indistinguishable from a user who
8
+ * had left. This is the corroborating signal.
9
+ *
10
+ * null is a first-class answer, not a failure: on a machine with no idle source
11
+ * the caller keeps its previous behaviour rather than guessing. That is why
12
+ * every error path here returns null instead of throwing.
13
+ */
14
+ export declare function readIdleSeconds(platform?: NodeJS.Platform): number | null;
15
+ /** Exported for tests: HIDIdleTime is nanoseconds since the last HID event. */
16
+ export declare function parseIdleSeconds(ioregOutput: string): number | null;
package/dist/idle.js ADDED
@@ -0,0 +1,44 @@
1
+ import { execFileSync } from 'node:child_process';
2
+ /**
3
+ * Seconds since the user last touched the keyboard or mouse, or null when this
4
+ * machine cannot say.
5
+ *
6
+ * The hooks need to know whether the user is at their desk, and the only signal
7
+ * they had was silence since the last prompt — which includes the agent's own
8
+ * turn, so a user watching a long build was indistinguishable from a user who
9
+ * had left. This is the corroborating signal.
10
+ *
11
+ * null is a first-class answer, not a failure: on a machine with no idle source
12
+ * the caller keeps its previous behaviour rather than guessing. That is why
13
+ * every error path here returns null instead of throwing.
14
+ */
15
+ export function readIdleSeconds(platform = process.platform) {
16
+ if (platform !== 'darwin')
17
+ return null;
18
+ try {
19
+ // -r -k narrows the dump to the one node carrying the key (~5KB), so this
20
+ // stays a ~20ms call on the hot path of every Stop hook.
21
+ const out = execFileSync('ioreg', ['-c', 'IOHIDSystem', '-r', '-k', 'HIDIdleTime'], {
22
+ encoding: 'utf8',
23
+ timeout: 2000,
24
+ maxBuffer: 1_000_000,
25
+ stdio: ['ignore', 'pipe', 'ignore'],
26
+ });
27
+ return parseIdleSeconds(out);
28
+ }
29
+ catch {
30
+ // Missing binary, sandbox denial, timeout — all mean "no signal".
31
+ return null;
32
+ }
33
+ }
34
+ /** Exported for tests: HIDIdleTime is nanoseconds since the last HID event. */
35
+ export function parseIdleSeconds(ioregOutput) {
36
+ const match = /"HIDIdleTime"\s*=\s*(\d+)/.exec(ioregOutput);
37
+ if (match?.[1] === undefined)
38
+ return null;
39
+ const nanos = Number(match[1]);
40
+ if (!Number.isFinite(nanos) || nanos < 0)
41
+ return null;
42
+ return nanos / 1e9;
43
+ }
44
+ //# sourceMappingURL=idle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idle.js","sourceRoot":"","sources":["../src/idle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,WAA4B,OAAO,CAAC,QAAQ;IAC1E,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IACtC,IAAI,CAAC;QACH,0EAA0E;QAC1E,yDAAyD;QACzD,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE;YAClF,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAA;QACF,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,kEAAkE;QAClE,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,MAAM,KAAK,GAAG,2BAA2B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC3D,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IACrD,OAAO,KAAK,GAAG,GAAG,CAAA;AACpB,CAAC"}
@@ -0,0 +1,194 @@
1
+ /**
2
+ * Harness hook installation.
3
+ *
4
+ * Claude Code's `settings.json` and Codex's `hooks.json` use the same shape —
5
+ * `hooks` maps an event name to matcher groups, each holding command handlers
6
+ * with an optional timeout — so one generator serves both. Only the file
7
+ * location and the event set differ.
8
+ *
9
+ * Cursor's native format is flat and lower-camel-cased, while OpenCode's
10
+ * extension point is a JavaScript plugin module. Each therefore has a bounded
11
+ * adapter instead of being forced through this shared document shape.
12
+ */
13
+ export declare const HARNESSES: readonly ["claude-code", "codex", "cursor", "opencode"];
14
+ export type Harness = (typeof HARNESSES)[number];
15
+ export interface HookHandler {
16
+ type: 'command';
17
+ command: string;
18
+ timeout?: number;
19
+ }
20
+ export interface HookGroup {
21
+ matcher?: string;
22
+ hooks: HookHandler[];
23
+ }
24
+ export type HookConfig = Record<string, HookGroup[]>;
25
+ export interface InstallPlan {
26
+ harness: Harness;
27
+ /** Absolute path of the settings file that will be written. */
28
+ file: string;
29
+ /** True when the file is machine-wide rather than per-project. */
30
+ global: boolean;
31
+ config: HookConfig;
32
+ }
33
+ /**
34
+ * The command each hook runs. Uses the absolute interpreter and script path
35
+ * rather than the bare binary name: hooks inherit a login-ish environment, and
36
+ * a `notifai` that is only on an interactive shell's PATH fails silently.
37
+ */
38
+ export declare function hookCommand(execPath: string, scriptPath: string, event: string, harness?: 'cursor'): string;
39
+ /**
40
+ * Says "NotifAI installed this" without saying which checkout did.
41
+ *
42
+ * Ownership used to be matched on the absolute script path, so installing from
43
+ * a second checkout did not recognise the first one's handlers as ours. Both
44
+ * stayed, the harness ran both, and one question produced two notifications;
45
+ * uninstalling the second silently left the first running. A marker that every
46
+ * NotifAI build writes and no build's path appears in fixes that by making
47
+ * ownership a property of the handler rather than of the machine it was
48
+ * installed from.
49
+ *
50
+ * It is a real (ignored) CLI flag rather than a comment because not every
51
+ * harness runs the command through a shell.
52
+ */
53
+ export declare const OWNER_MARKER = "--owner notifai";
54
+ export interface BuildOptions {
55
+ execPath: string;
56
+ scriptPath: string;
57
+ /** Seconds a blocking hook may wait for a companion-device answer. */
58
+ replyTimeoutSeconds: number;
59
+ /** Seconds the question waits in the terminal before it is pushed at all. */
60
+ graceSeconds: number;
61
+ }
62
+ /** Grace, reply wait, and teardown headroom for any blocking turn-end adapter. */
63
+ export declare function blockingHookTimeoutSeconds(graceSeconds: number, replyTimeoutSeconds: number): number;
64
+ export declare function buildHookConfig(options: BuildOptions): HookConfig;
65
+ export interface CursorHookHandler {
66
+ command: string;
67
+ timeout?: number;
68
+ loop_limit?: number | null;
69
+ }
70
+ export type CursorHookConfig = Record<string, CursorHookHandler[]>;
71
+ interface CursorSettingsDocument {
72
+ version?: number;
73
+ hooks?: CursorHookConfig;
74
+ [key: string]: unknown;
75
+ }
76
+ /** Cursor's native schema is flat and uses lower-camel lifecycle event names. */
77
+ export declare function buildCursorHookConfig(options: BuildOptions): CursorHookConfig;
78
+ /**
79
+ * Where each harness reads hooks from. Project installs deliberately target the
80
+ * gitignored file where one exists: which devices a person wants their
81
+ * questions pushed to is not a property of the repository.
82
+ */
83
+ export declare function settingsFile(harness: Harness, global: boolean, cwd: string, env?: NodeJS.ProcessEnv): string;
84
+ /**
85
+ * Where Codex looks for a project's hooks — the **main** repository, not the
86
+ * working directory.
87
+ *
88
+ * Run from a linked git worktree, Codex reads `<main repo>/.codex/hooks.json`
89
+ * and never looks at the worktree's own. Proven 2026-08-03 in an isolated
90
+ * `CODEX_HOME`: with cwd set to a worktree, a handler at the main repo root
91
+ * fired and an identical one at the worktree root did not; removing the main
92
+ * one left nothing firing at all. Writing to cwd therefore produces a silent
93
+ * no-op for anyone whose agent runs in a worktree, which is the normal case
94
+ * under tooling like Orca.
95
+ *
96
+ * Claude Code does not share this behaviour — it reads the worktree's own
97
+ * `.claude/settings.local.json` — so this deliberately applies to Codex only.
98
+ */
99
+ export declare function codexProjectRoot(cwd: string): string;
100
+ /**
101
+ * The `.codex` directory that has to exist for Codex to load project hooks at
102
+ * all, or null when nothing extra is needed.
103
+ *
104
+ * Codex splits the two halves of "which project am I in": it discovers the
105
+ * project layer by walking up from cwd for a `.codex` directory, but resolves
106
+ * `hooks.json` inside that layer against the main repository. In an ordinary
107
+ * checkout both land on the same directory and the split is invisible. In a
108
+ * worktree they diverge, and writing only the main repository's file leaves it
109
+ * unread — Codex never looks, because nothing at or above cwd told it there was
110
+ * a project layer to load. Proven 2026-08-03: with cwd in a worktree, an *empty*
111
+ * `.codex` directory there was the difference between the main repository's
112
+ * handler running and nothing running.
113
+ */
114
+ export declare function codexLayerDir(cwd: string): string | null;
115
+ /**
116
+ * Both harnesses let an environment variable relocate their whole config
117
+ * directory, and tooling that manages sessions does exactly that — Orca points
118
+ * `CODEX_HOME` at a per-account home, so writing to `~/.codex` installs hooks
119
+ * into a file Codex never reads and the failure is silent. Observed 2026-08-02.
120
+ */
121
+ export declare function configHome(env: NodeJS.ProcessEnv, variable: string, fallback: string): string;
122
+ /** Best-effort detection so `hooks install` usually needs no flags. */
123
+ export declare function detectHarness(cwd: string): Harness | null;
124
+ interface SettingsDocument {
125
+ hooks?: HookConfig;
126
+ [key: string]: unknown;
127
+ }
128
+ export declare function mergeCursorHooks(existing: CursorSettingsDocument, incoming: CursorHookConfig, scriptPath: string): {
129
+ document: CursorSettingsDocument;
130
+ added: string[];
131
+ replaced: string[];
132
+ removed: string[];
133
+ };
134
+ export declare function removeCursorHooks(existing: CursorSettingsDocument, scriptPath: string): {
135
+ document: CursorSettingsDocument;
136
+ added: string[];
137
+ replaced: string[];
138
+ removed: string[];
139
+ };
140
+ export interface MergeResult {
141
+ document: SettingsDocument;
142
+ added: string[];
143
+ replaced: string[];
144
+ /** Events an older build installed that this one no longer serves. */
145
+ removed: string[];
146
+ }
147
+ /**
148
+ * Adds our handlers without disturbing anyone else's. Re-running replaces only
149
+ * the groups we previously wrote, so an upgrade that changes a timeout does not
150
+ * accumulate duplicate hooks.
151
+ *
152
+ * Handlers are stripped from EVERY event, not just the ones being installed.
153
+ * Only rewriting incoming events left a dropped event's handler in place for
154
+ * ever, and since the binary no longer implements it, it exited 2 with
155
+ * "Unknown hook event" every time the harness fired it — a permanent hook
156
+ * failure that reinstalling could not clear.
157
+ */
158
+ export declare function mergeHooks(existing: SettingsDocument, incoming: HookConfig, scriptPath: string): MergeResult;
159
+ export declare function removeHooks(existing: SettingsDocument, scriptPath: string): MergeResult;
160
+ /**
161
+ * Writes the settings file the way a tool that does not own it should.
162
+ *
163
+ * Truncating in place lost the user's whole harness configuration if the write
164
+ * failed halfway, and clobbered a concurrent editor's changes; following a
165
+ * symlink wrote through to a target they never named. So: refuse
166
+ * anything that is not a regular file, write a sibling temp file, fsync it, and
167
+ * rename over the original — atomic within a directory on every platform we
168
+ * support.
169
+ */
170
+ export declare function applyPlan(file: string, document: SettingsDocument | CursorSettingsDocument): void;
171
+ export declare function loadSettings(file: string): SettingsDocument;
172
+ export declare function loadCursorSettings(file: string): CursorSettingsDocument;
173
+ /** One of our handlers as it sits in a settings file, with its position. */
174
+ export interface InstalledHandler {
175
+ event: string;
176
+ /** Index of the matcher group within the event, as the harness sees it. */
177
+ groupIndex: number;
178
+ /** Index of the handler within its group. */
179
+ handlerIndex: number;
180
+ command: string;
181
+ }
182
+ export interface Installation {
183
+ harness: Harness;
184
+ file: string;
185
+ global: boolean;
186
+ handlers: InstalledHandler[];
187
+ /** Structural defects that require reinstalling this generated adapter. */
188
+ problems?: string[];
189
+ }
190
+ /** Every place either harness would read a NotifAI handler from. */
191
+ export declare function findInstallations(cwd: string, env?: NodeJS.ProcessEnv): Installation[];
192
+ /** The hook event a handler's command actually invokes, e.g. `stop`. */
193
+ export declare function handlerEvent(command: string): string | null;
194
+ export {};