@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.
- package/LICENSE +202 -0
- package/README.md +76 -0
- package/dist/client.d.ts +40 -0
- package/dist/client.js +118 -0
- package/dist/client.js.map +1 -0
- package/dist/commands.d.ts +225 -0
- package/dist/commands.js +1855 -0
- package/dist/commands.js.map +1 -0
- package/dist/config.d.ts +138 -0
- package/dist/config.js +224 -0
- package/dist/config.js.map +1 -0
- package/dist/credentials.d.ts +31 -0
- package/dist/credentials.js +94 -0
- package/dist/credentials.js.map +1 -0
- package/dist/hooks.d.ts +250 -0
- package/dist/hooks.js +792 -0
- package/dist/hooks.js.map +1 -0
- package/dist/idle.d.ts +16 -0
- package/dist/idle.js +44 -0
- package/dist/idle.js.map +1 -0
- package/dist/install-hooks.d.ts +194 -0
- package/dist/install-hooks.js +579 -0
- package/dist/install-hooks.js.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.js +259 -0
- package/dist/main.js.map +1 -0
- package/dist/opencode-plugin.d.ts +65 -0
- package/dist/opencode-plugin.js +181 -0
- package/dist/opencode-plugin.js.map +1 -0
- package/dist/readiness.d.ts +87 -0
- package/dist/readiness.js +40 -0
- package/dist/readiness.js.map +1 -0
- package/dist/send.d.ts +86 -0
- package/dist/send.js +202 -0
- package/dist/send.js.map +1 -0
- package/package.json +56 -0
- package/src/client.test.ts +83 -0
- package/src/client.ts +183 -0
- package/src/commands.test.ts +1199 -0
- package/src/commands.ts +2201 -0
- package/src/config.test.ts +243 -0
- package/src/config.ts +347 -0
- package/src/credentials.ts +119 -0
- package/src/hooks.test.ts +1030 -0
- package/src/hooks.ts +1099 -0
- package/src/idle.test.ts +32 -0
- package/src/idle.ts +41 -0
- package/src/install-hooks.test.ts +500 -0
- package/src/install-hooks.ts +708 -0
- package/src/main.ts +315 -0
- package/src/opencode-plugin.ts +203 -0
- package/src/readiness.ts +88 -0
- package/src/send.ts +272 -0
- 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
|
package/dist/idle.js.map
ADDED
|
@@ -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 {};
|