sessionpipe 0.9.0 → 0.10.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.
@@ -1,9 +1,14 @@
1
+ import { type StartOptions } from "./store.js";
1
2
  export interface Alias {
2
3
  /** The harness's own session id. */
3
4
  id: string;
4
5
  /** The folder the session runs in (the start's). */
5
6
  cwd: string;
6
7
  at: string;
8
+ /** What the start ran with (CONTROL.md §6, Options); absent for an alias recorded
9
+ * before 0.10.0, whose later runs keep the machine's mode. */
10
+ permission?: StartOptions["permission"];
11
+ model?: string;
7
12
  }
8
13
  export type Aliases = Record<string, Alias>;
9
14
  export declare const aliasFile: (controlDir: string) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"aliases.d.ts","sourceRoot":"","sources":["../../src/control/aliases.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,KAAK;IACpB,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;CACZ;AACD,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE5C,eAAO,MAAM,SAAS,eAAgB,MAAM,KAAG,MAA+C,CAAC;AAE/F,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAcjD;AAED,mEAAmE;AACnE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CAQ7D;AAED,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIrF"}
1
+ {"version":3,"file":"aliases.d.ts","sourceRoot":"","sources":["../../src/control/aliases.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,YAAY,CAAC;AAE/D,MAAM,WAAW,KAAK;IACpB,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX;mEAC+D;IAC/D,UAAU,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE5C,eAAO,MAAM,SAAS,eAAgB,MAAM,KAAG,MAA+C,CAAC;AAE/F,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAcjD;AAED,mEAAmE;AACnE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CAQ7D;AAED,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIrF"}
@@ -1,7 +1,5 @@
1
- import { spawn } from "node:child_process";
2
1
  import type { Config } from "@sessionpipe/core";
3
- /** EX_TEMPFAIL: "start me again, on the code now on disk". */
4
- export declare const UPDATE_EXIT = 75;
2
+ export { supervise, UPDATE_EXIT } from "@sessionpipe/core/version";
5
3
  export declare const DAY_MS: number;
6
4
  /** What the daemon remembers about updating, in state/control/update.json. */
7
5
  export interface UpdateRecord {
@@ -138,19 +136,4 @@ export declare class AutoUpdater {
138
136
  private apply;
139
137
  private installAndRestart;
140
138
  }
141
- /** The parent left behind when no service manager will restart the daemon: runs
142
- * `control run` as a child with the same env and output, starts it again when it exits
143
- * UPDATE_EXIT (an update) or fails (after 5 s, like the service files), and exits
144
- * with it when it exits cleanly or is told to stop. */
145
- export declare function supervise(o: {
146
- node: string;
147
- args: string[];
148
- env: NodeJS.ProcessEnv;
149
- log: (line: string) => void;
150
- spawn?: typeof spawn;
151
- exit?: (code: number) => void;
152
- failDelayMs?: number;
153
- }): {
154
- stop: (sig?: NodeJS.Signals) => void;
155
- };
156
139
  //# sourceMappingURL=autoupdate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"autoupdate.d.ts","sourceRoot":"","sources":["../../src/control/autoupdate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autoupdate.d.ts","sourceRoot":"","sources":["../../src/control/autoupdate.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type Tier } from "@sessionpipe/core";
2
- export declare const CONTROL_HELP = " sessionpipe control pair <receiver> [--folder DIR]\u2026 [--mode safe|auto] [--tier 0-3] [--token T] [--name N] [--no-service]\n sessionpipe control mode auto|safe (how sessions run when you message them)\n sessionpipe control folders [add|remove DIR\u2026] (where sessions you message may run)\n sessionpipe control status | keys [remove <id>] | off [<receiver>] | run\n sessionpipe wait [--session <harness>:<id>] (a session runs this in the background)";
2
+ export declare const CONTROL_HELP = " sessionpipe control pair <receiver> [--folder DIR]\u2026 [--mode safe|auto|inherit] [--tier 0-3] [--token T] [--name N] [--no-service]\n sessionpipe control mode auto|safe|inherit (how sessions run when you message them)\n sessionpipe control folders [add|remove DIR\u2026] (where sessions you message may run)\n sessionpipe control status | keys [remove <id>] | off [<receiver>] | run\n sessionpipe wait [--session <harness>:<id>] (a session runs this in the background)";
3
3
  /** `control folders add|remove`: the new list, and a line per folder saying what became
4
4
  * of it. A folder to add must exist and be a project, never the home folder or above
5
5
  * it (pair's rule); folders are compared as real paths, as the daemon compares them. */
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/control/cli.ts"],"names":[],"mappings":"AAKA,OAAO,EAUL,KAAK,IAAI,EAEV,MAAM,mBAAmB,CAAC;AAiB3B,eAAO,MAAM,YAAY,0eAIkE,CAAC;AAiC5F;;yFAEyF;AACzF,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EAAE,EACjB,EAAE,EAAE,KAAK,GAAG,QAAQ,EACpB,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,SAAe,GAClB;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAkCvC;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuJ3G;AAED,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAAG,MAAM,EAAE,CAK3F;AA+GD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CASvF;AAED;;oCAEoC;AACpC,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CASjH"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/control/cli.ts"],"names":[],"mappings":"AAKA,OAAO,EAWL,KAAK,IAAI,EAEV,MAAM,mBAAmB,CAAC;AAiB3B,eAAO,MAAM,YAAY,kfAIkE,CAAC;AAuD5F;;yFAEyF;AACzF,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EAAE,EACjB,EAAE,EAAE,KAAK,GAAG,QAAQ,EACpB,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,SAAe,GAClB;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAkCvC;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6J3G;AAED,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAAG,MAAM,EAAE,CAK3F;AAgHD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CASvF;AAED;;oCAEoC;AACpC,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CASjH"}
@@ -1,6 +1,16 @@
1
1
  import { claudeControl, type HarnessAccount, type Login, type RunOptions, type RunResult } from "@sessionpipe/core";
2
+ import { type RunLevel, type StartPermission } from "@sessionpipe/core/control";
3
+ import { type DeliveryMode } from "./route.js";
2
4
  import { type ControlConfig, type PairedReceiver } from "./store.js";
3
5
  type Caps = claudeControl.Caps;
6
+ /** One harness's entry in the hello's `start` (CONTROL.md §2). */
7
+ export interface StartEntry {
8
+ permissions: StartPermission[];
9
+ /** What a start that names none gets: a level, or `inherit` on an inherit machine. */
10
+ permission: RunLevel;
11
+ models?: string[];
12
+ any_model?: boolean;
13
+ }
4
14
  /** The message as the receiver carried it (control.json). */
5
15
  export interface Carried {
6
16
  id: string;
@@ -22,7 +32,8 @@ export interface Carried {
22
32
  at: string;
23
33
  expires_at: string;
24
34
  }
25
- /** A session the Agent SDK holds for the daemon (sdk.ts; a fake in tests). */
35
+ /** A session the daemon holds: through the Agent SDK (sdk.ts; a fake in tests), or an
36
+ * ACP agent it runs (core's acp-control.ts), which says so in `mode`. */
26
37
  export interface SdkSession {
27
38
  /** Deliver one message; resolves with the agent's reply when the turn ends. */
28
39
  send(text: string): Promise<{
@@ -33,12 +44,19 @@ export interface SdkSession {
33
44
  close(): void;
34
45
  readonly busy: boolean;
35
46
  readonly lastUsed: number;
47
+ /** How a message through it is acked; `sdk` when unsaid. */
48
+ readonly mode?: DeliveryMode;
49
+ /** Gone for good (the process left): drop it, a later message reopens the session. */
50
+ readonly closed?: boolean;
36
51
  }
37
52
  export interface SdkHost {
38
53
  start(o: {
39
54
  session: string;
40
55
  cwd: string;
41
- mode: "safe" | "auto";
56
+ /** The level the session runs at (CONTROL.md §3.1), as its `permissionMode`; none in inherit. */
57
+ permission: RunLevel;
58
+ /** The model, when the start asked for one. */
59
+ model?: string;
42
60
  configDir?: string;
43
61
  allowedTools?: string[];
44
62
  }): SdkSession;
@@ -58,12 +76,20 @@ export interface DaemonDeps {
58
76
  agy?: () => string | null;
59
77
  /** Is Codex signed in as this process sees it? Asked before a run. */
60
78
  codexLogin?: (bin: string) => Promise<Login>;
79
+ /** An ACP agent's CLI on this machine, by harness name (core's findAcpAgent; null:
80
+ * not installed). Absent: this daemon drives none of them. */
81
+ acp?: (harness: string) => {
82
+ bin: string;
83
+ args: string[];
84
+ } | null;
61
85
  /** The harnesses every hello advertises (core's drivableHarnesses); by default, the
62
86
  * ones the finders above find. */
63
87
  harnesses?: () => string[];
64
88
  /** The harness accounts every hello names; by default, those signed in across
65
89
  * `claudeDirs`, read again for each hello. */
66
90
  accounts?: () => HarnessAccount[];
91
+ /** The models a hello suggests for Codex; by default, its own models cache. */
92
+ codexModels?: () => string[];
67
93
  run: (bin: string, args: string[], o: RunOptions) => Promise<RunResult>;
68
94
  sdk?: SdkHost | null;
69
95
  /** How long to follow a live session's turn for an in-place answer (tests shorten it). */
@@ -125,6 +151,8 @@ export interface Status {
125
151
  nonces: number;
126
152
  acks_pending: number;
127
153
  delivered: Record<string, number>;
154
+ /** What a start may carry per harness, as the last hello said (CONTROL.md §2). */
155
+ start: Record<string, StartEntry>;
128
156
  /** Null when the daemon could restart now (nothing in hand); otherwise what it holds. */
129
157
  busy: string | null;
130
158
  update?: unknown;
@@ -242,12 +270,14 @@ export declare class ControlDaemon {
242
270
  * session's own transcript (Claude Code, Codex), the folder its start recorded, or
243
271
  * the hooks' cwd, never the command. */
244
272
  private place;
245
- /** A Codex or Antigravity session: one the daemon started is its alias (the harness's
246
- * id and the start's folder); one the hooks reported is Codex's rollout (its
247
- * `session_meta` cwd) or, for Antigravity, the folder its hooks gave. */
273
+ /** A Codex, Antigravity or ACP-driven session: one the daemon started is its alias
274
+ * (the harness's id and the start's folder); one the hooks reported is Codex's
275
+ * rollout (its `session_meta` cwd) or, for the others, the folder its hooks gave. */
248
276
  private placeDriven;
249
277
  /** The folder the worker recorded for a session from its hooks (run.ts, facts). */
250
278
  private factsCwd;
279
+ /** A driven harness, as the person knows it. */
280
+ private label;
251
281
  private aliasOf;
252
282
  /** The harness revealed its own id for a session the command named: from now on that
253
283
  * is where the command's id leads (aliases.ts). Written before anything else reads it. */
@@ -257,13 +287,42 @@ export declare class ControlDaemon {
257
287
  private driver;
258
288
  /** Who is signed in here, for hello. A bad .claude.json names nobody, never fails a hello. */
259
289
  private accounts;
260
- /** The harnesses this machine can run a message in, for hello. */
290
+ /** The harnesses this machine can run a message in, for hello: at most
291
+ * HELLO_HARNESSES_MAX, the three with their own drivers first. */
261
292
  private harnesses;
293
+ /** The caps a new Claude Code session is started with: the Agent SDK's when the
294
+ * daemon has it, else what this machine's `claude --help` lists. */
295
+ private startCaps;
296
+ /** What a start may carry for one harness here (CONTROL.md §2 `start`), capped by the
297
+ * machine's mode; null when it takes neither option, or when a start without one
298
+ * would be refused (an auto machine whose Claude Code has no auto mode). */
299
+ private startEntry;
300
+ /** The hello's `start`: an entry for each harness it lists that takes options. */
301
+ private startOptions;
302
+ /** The options a start runs with, or the refusal (CONTROL.md §5 step 8): a level the
303
+ * machine offers for that harness, never above its mode, and a model only where the
304
+ * harness takes one. Never another level or model than the one asked for. */
305
+ private startChoice;
306
+ /** Why a harness has no such level here, though the machine's mode would allow it. */
307
+ private levelMissing;
308
+ /** The options a later run of a session gets: the narrower of what its start recorded
309
+ * and what the machine's mode means now, with the recorded model. A session with no
310
+ * record (the hooks reported it, or it predates 0.10.0) runs at the machine's mode. */
311
+ private laterOptions;
312
+ /** What the acks carry as `applied`: the model only when one was asked for. */
313
+ private applied;
314
+ /** A failed run that asked for a model, put down to the model: acked with code `model`. */
315
+ private failedRun;
316
+ /** The real folder a command or a session names, when it is one this machine allows:
317
+ * absolute, or under this user's home as `~/…` (a start's `cwd` may say either). */
262
318
  private allowed;
263
319
  private permission;
264
320
  private cancel;
265
321
  private view;
266
322
  private prompt;
323
+ /** One message through a held session; one whose process left is let go of, so the
324
+ * next message reopens the session instead of finding it closed. */
325
+ private sendHeld;
267
326
  /** A turn message whose Stop never took it: route again, now that it isn't mid-turn. */
268
327
  private reroute;
269
328
  /** Jobs for one session (and its copy) run one at a time, in order. */
@@ -296,8 +355,6 @@ export declare class ControlDaemon {
296
355
  /** The answer so far, sent as a `progress` ack: whole, with a rising seq, at most
297
356
  * one in flight. Fire-and-forget — the final ack carries everything. */
298
357
  private answerStream;
299
- /** How a headless run prints: streamed where this Claude Code can, else one JSON at the end. */
300
- private outputArgs;
301
358
  /** Mark a session as held by one of the daemon's runs while `fn` runs. */
302
359
  private owning;
303
360
  private limits;
@@ -305,13 +362,27 @@ export declare class ControlDaemon {
305
362
  private slot;
306
363
  private startSession;
307
364
  private startOne;
365
+ /** A Claude Code session the daemon starts: what it runs with, for its later runs. */
366
+ private recordStart;
308
367
  /** A new Codex or Antigravity session: the harness picks its id, and the start's id
309
368
  * becomes its name (aliases.ts) as soon as the run says what it picked. */
310
369
  private startDriven;
311
- /** A start's text, with its files (CONTROL.md §6) fetched, checked and written under
312
- * `cwd` first — every check in §5 passed and the nonce is recorded by now, so the
313
- * `taken` ack is out and the download may take its time. Null when a file failed:
314
- * the command is acked `failed` with code `file`, nothing is kept, no session starts. */
370
+ /** A new session of an ACP agent (CONTROL.md §6): the agent's CLI as a child the
371
+ * daemon keeps, the start's id as the session's name the moment the agent names its
372
+ * own (aliases.ts), and the first turn through it. Acked `delivered` in `api` mode;
373
+ * later messages go through the same process while it is held. */
374
+ private startAcp;
375
+ /** The next message for an ACP-driven session no process holds: the agent run again
376
+ * and the session reopened in it (`session/load`), then held like a new one. Acked
377
+ * `resume`, as any cold start. An agent that can't reopen one is `unsupported`. */
378
+ private resumeAcp;
379
+ private openAcp;
380
+ /** A start's or a prompt's text, with its files (CONTROL.md §6) fetched, checked and
381
+ * written under `cwd` first (a prompt's in a folder of its own, named by its signed
382
+ * nonce) — every check in §5 passed and the nonce is recorded by now, so the `taken`
383
+ * ack is out and the download may take its time. Null when a file failed: the command
384
+ * is acked `failed` with code `file`, nothing is kept, no session starts and no
385
+ * message is delivered. */
315
386
  private attached;
316
387
  private closeIdleSdk;
317
388
  }
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/control/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/control/daemon.ts"],"names":[],"mappings":"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"}
@@ -21,11 +21,13 @@ export interface FetchOptions {
21
21
  * Every failure is a FileProblem naming the file. */
22
22
  export declare function fetchFiles(files: ControlFile[], o: FetchOptions): Promise<Fetched[]>;
23
23
  /**
24
- * Write the checked files to <cwd>/.sessionpipe/files/<session>/ and answer their
25
- * paths relative to cwd. `cwd` is already resolved (realpath) and allowed.
26
- * On any problem everything written here is removed and FileProblem thrown.
24
+ * Write the checked files to <cwd>/.sessionpipe/files/<session>/ (a start's, which must
25
+ * be new) or <session>/<message>/ (a prompt's: the session's folder may be there, the
26
+ * message's must be new), and answer their paths relative to cwd. `cwd` is already
27
+ * resolved (realpath) and allowed. On any problem everything written here is removed
28
+ * and FileProblem thrown.
27
29
  */
28
- export declare function writeFiles(cwd: string, session: string, files: Fetched[]): string[];
30
+ export declare function writeFiles(cwd: string, session: string, files: Fetched[], message?: string): string[];
29
31
  /** 183402 → "179 KB", 1258291 → "1.2 MB" (units of 1024). */
30
32
  export declare function humanSize(n: number): string;
31
33
  /** The command's text followed by the list of files the session can read. */
@@ -1 +1 @@
1
- {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/control/files.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,sEAAsE;AACtE,eAAO,MAAM,gBAAgB,QAAa,CAAC;AAE3C,wFAAwF;AACxF,qBAAa,WAAY,SAAQ,KAAK;CAAG;AAEzC,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAKD;sDACsD;AACtD,wBAAsB,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAa1F;AA+CD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CA4BnF;AAED,6DAA6D;AAC7D,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAI3C;AAED,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAG/E"}
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/control/files.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,sEAAsE;AACtE,eAAO,MAAM,gBAAgB,QAAa,CAAC;AAE3C,wFAAwF;AACxF,qBAAa,WAAY,SAAQ,KAAK;CAAG;AAEzC,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAKD;sDACsD;AACtD,wBAAsB,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAa1F;AA+CD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAiCrG;AAED,6DAA6D;AAC7D,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAI3C;AAED,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAG/E"}
@@ -1,5 +1,7 @@
1
1
  import { type HarnessAccount } from "@sessionpipe/core";
2
- import { type ControlConfig } from "./store.js";
2
+ import type { Exec } from "@sessionpipe/core/service";
3
+ import * as core from "@sessionpipe/core/service";
4
+ import { type ControlConfig, type ControlMode } from "./store.js";
3
5
  export interface PairOptions {
4
6
  url: string;
5
7
  /** The person's sink token for this receiver (from `sink add`, or --token). Null:
@@ -7,7 +9,7 @@ export interface PairOptions {
7
9
  * is the whole setup (CONTROL.md §2). */
8
10
  token: string | null;
9
11
  folders: string[];
10
- mode: "safe" | "auto";
12
+ mode: ControlMode;
11
13
  name: string;
12
14
  out: (s: string) => void;
13
15
  fetch?: typeof fetch;
@@ -28,8 +30,15 @@ export declare function discover(url: string, f: typeof fetch): Promise<{
28
30
  control: string;
29
31
  rpId: string;
30
32
  open: boolean;
33
+ inherit: boolean;
31
34
  events: string | null;
32
35
  }>;
36
+ /** Why a machine won't run in inherit mode with this receiver (CONTROL.md §2): a
37
+ * receiver that doesn't know the mode would show the machine as safe. */
38
+ export declare const inheritRefused: (url: string) => string;
39
+ /** The paired receivers that don't say they show inherit mode (`control.inherit` in
40
+ * their well-known file), with why. A receiver that can't be read counts as one. */
41
+ export declare function withoutInherit(urls: string[], f?: typeof fetch): Promise<string[]>;
33
42
  /** Pair (or add a key to) this machine with one receiver. Returns the saved config. */
34
43
  export declare function pair(o: PairOptions): Promise<ControlConfig>;
35
44
  /** `control off [<receiver>]`: tell the receiver, forget its token and keys. */
@@ -40,32 +49,15 @@ export declare function off(o: {
40
49
  env?: NodeJS.ProcessEnv;
41
50
  }): Promise<void | ControlConfig>;
42
51
  export declare function removeKey(id: string, env?: NodeJS.ProcessEnv): number;
43
- /** Both files restart the daemon when it exits non-zero; an update exits UPDATE_EXIT
44
- * (75, autoupdate.ts) to come back on the new code. SESSIONPIPE_SERVICE tells the
45
- * daemon which manager that is (files from before it are recognized without it). */
52
+ export { type Exec, ensureLinger } from "@sessionpipe/core/service";
46
53
  export declare function serviceFiles(o: {
47
54
  node: string;
48
55
  cli: string;
49
56
  logDir: string;
50
57
  home?: string;
51
58
  }): {
52
- plist: {
53
- file: string;
54
- body: string;
55
- };
56
- unit: {
57
- file: string;
58
- body: string;
59
- };
60
- };
61
- export type Exec = (cmd: string, args: string[]) => string;
62
- /** A systemd user service stops when its person's last login ends — closing the ssh
63
- * session to a lab workstation or a cloud machine stopped the daemon with it — unless
64
- * the user lingers. `loginctl enable-linger` for yourself needs no root on systemd's
65
- * default policy; where it does, say the one command that does it. */
66
- export declare function ensureLinger(user: string, exec?: Exec): {
67
- on: boolean;
68
- note: string;
59
+ plist: core.ServiceFile;
60
+ unit: core.ServiceFile;
69
61
  };
70
62
  /** Write and start the service for this platform. Returns what it did, in words. */
71
63
  export declare function installService(o: {
@@ -75,5 +67,5 @@ export declare function installService(o: {
75
67
  exec?: Exec;
76
68
  platform?: NodeJS.Platform;
77
69
  }): string;
78
- export declare function uninstallService(env?: NodeJS.ProcessEnv): void;
70
+ export declare function uninstallService(_env?: NodeJS.ProcessEnv): void;
79
71
  //# sourceMappingURL=pair.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pair.d.ts","sourceRoot":"","sources":["../../src/control/pair.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pair.d.ts","sourceRoot":"","sources":["../../src/control/pair.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export type Route = {
25
25
  refused: "no_session";
26
26
  };
27
27
  /** The harnesses the daemon can run a turn of by itself: resume an idle session, start a
28
- * new one (`claude -p`, `codex exec`, `agy -p`). */
28
+ * new one (`claude -p`, `codex exec`, `agy -p`, or any ACP agent as its client). */
29
29
  export declare const HEADLESS: Set<string>;
30
30
  /** Where a prompt (or a start) goes. Never two writers on one transcript: a live
31
31
  * session gets a fork, never a resume. */
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/control/route.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEjF,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,GAAG,EAAE,OAAO,CAAC;IACb,2DAA2D;IAC3D,MAAM,EAAE,OAAO,CAAC;IAChB,oEAAoE;IACpE,OAAO,EAAE,OAAO,CAAC;IACjB,qFAAqF;IACrF,IAAI,EAAE,OAAO,CAAC;IACd,0FAA0F;IAC1F,KAAK,EAAE,OAAO,CAAC;IACf,oFAAoF;IACpF,OAAO,EAAE,OAAO,CAAC;IACjB,qFAAqF;IACrF,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,MAAM,KAAK,GAAG;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC;AAEjG;qDACqD;AACrD,eAAO,MAAM,QAAQ,aAAmD,CAAC;AAEzE;2CAC2C;AAC3C,wBAAgB,WAAW,CAAC,CAAC,EAAE,WAAW,GAAG,KAAK,CAejD;AAED,2EAA2E;AAC3E,wBAAgB,QAAQ,CACtB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,MAAM,GACd,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAiBxE;AAED;+BAC+B;AAC/B;;qFAEqF;AACrF,eAAO,MAAM,eAAe,6KACgJ,CAAC;AAE7K,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM5D;AAED;;;;mDAImD;AACnD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMjE"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/control/route.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEjF,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,GAAG,EAAE,OAAO,CAAC;IACb,2DAA2D;IAC3D,MAAM,EAAE,OAAO,CAAC;IAChB,oEAAoE;IACpE,OAAO,EAAE,OAAO,CAAC;IACjB,qFAAqF;IACrF,IAAI,EAAE,OAAO,CAAC;IACd,0FAA0F;IAC1F,KAAK,EAAE,OAAO,CAAC;IACf,oFAAoF;IACpF,OAAO,EAAE,OAAO,CAAC;IACjB,qFAAqF;IACrF,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,MAAM,KAAK,GAAG;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC;AAEjG;qFACqF;AACrF,eAAO,MAAM,QAAQ,aAAgF,CAAC;AAEtG;2CAC2C;AAC3C,wBAAgB,WAAW,CAAC,CAAC,EAAE,WAAW,GAAG,KAAK,CAejD;AAED,2EAA2E;AAC3E,wBAAgB,QAAQ,CACtB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,MAAM,GACd,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAiBxE;AAED;+BAC+B;AAC/B;;qFAEqF;AACrF,eAAO,MAAM,eAAe,6KACgJ,CAAC;AAE7K,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM5D;AAED;;;;mDAImD;AACnD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/control/sdk.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,aAAa,CAAC;AAQvD,wBAAsB,OAAO,CAAC,CAAC,EAAE;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1B,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CA2F1B"}
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/control/sdk.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,aAAa,CAAC;AAmBvD,wBAAsB,OAAO,CAAC,CAAC,EAAE;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1B,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CA8F1B"}
@@ -1,4 +1,4 @@
1
- import { type TrustedKey } from "@sessionpipe/core/control";
1
+ import { type RunLevel, type TrustedKey } from "@sessionpipe/core/control";
2
2
  import { type Runner, type SecretStore, type StoreName } from "../secrets.js";
3
3
  export interface PairedReceiver {
4
4
  /** The receiver's origin, as the person typed it. */
@@ -18,11 +18,16 @@ export interface PairedReceiver {
18
18
  })[];
19
19
  paired_at: string;
20
20
  }
21
+ /** How sessions run when a message arrives (CONTROL.md §2): the person's choice at
22
+ * this machine, never a receiver's. */
23
+ export declare const MODES: readonly ["safe", "auto", "inherit"];
24
+ export type ControlMode = (typeof MODES)[number];
25
+ export declare const parseMode: (m: unknown) => ControlMode | null;
21
26
  export interface ControlConfig {
22
27
  name: string;
23
28
  /** Folders sessions may run in; compared on whole path segments, real paths. */
24
29
  folders: string[];
25
- mode: "safe" | "auto";
30
+ mode: ControlMode;
26
31
  receivers: PairedReceiver[];
27
32
  /** Caps this machine keeps whatever a receiver sends (defaults in daemon.ts,
28
33
  * LIMITS): new sessions running at once and per hour, headless Claude Code runs
@@ -76,7 +81,18 @@ export interface Ack {
76
81
  code?: string;
77
82
  detail?: string;
78
83
  reply?: string;
84
+ /** A start's taken and delivered: what it ran with (CONTROL.md §6, Options). */
85
+ applied?: StartOptions;
79
86
  }
87
+ /** What a session the daemon started runs with: its level and, when one was asked for,
88
+ * its model. Recorded at the start; every later run of the session reads it. */
89
+ export interface StartOptions {
90
+ /** A level, or `inherit`: started on an inherit machine with none named. */
91
+ permission: RunLevel;
92
+ model?: string;
93
+ }
94
+ /** A recorded entry as read back from disk, or null when it isn't one. */
95
+ export declare function startOptionsOf(v: unknown): StartOptions | null;
80
96
  /** Acks not yet accepted: appended before they are sent, rewritten when sent, so a
81
97
  * daemon restart re-sends rather than forgets (every message is acked exactly once
82
98
  * with a final outcome; a duplicate is tolerated by the receiver). */
@@ -90,6 +106,9 @@ export declare class AckOutbox {
90
106
  export interface DaemonState {
91
107
  /** Original session → the fork its messages go to. */
92
108
  copies: Record<string, string>;
109
+ /** Claude Code sessions the daemon started → what they run with (Codex and
110
+ * Antigravity keep theirs in the alias entry, aliases.ts). */
111
+ started: Record<string, StartOptions>;
93
112
  }
94
113
  export declare function readState(file: string): DaemonState;
95
114
  export declare const writeState: (file: string, s: DaemonState) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/control/store.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAGL,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,SAAS,EAIf,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB;sEACkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,IAAI,EAAE,CAAC,UAAU,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;IAC3D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B;;mBAEe;IACf,MAAM,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACpF;AAED,eAAO,MAAM,WAAW,SAAS,MAAM,CAAC,UAAU,WACQ,CAAC;AAC3D,eAAO,MAAM,YAAY,SAAS,MAAM,CAAC,UAAU,WAAsD,CAAC;AAE1G,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAQ/D;AAED,wBAAgB,WAAW,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,GAAG,GAAE,MAAsB,GAAG,aAAa,GAAG,IAAI,CAgBnH;AAED;kDACkD;AAClD,wBAAgB,WAAW,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAOxE;AAED,mEAAmE;AACnE,eAAO,MAAM,YAAY,MAAO,aAAa,QAAO,MAAM,CAAC,UAAU,SAQjE,CAAC;AAEL;mDACmD;AACnD,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,SAAS,EACb,CAAC,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAChD;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CA0BrC;AAED,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,GAAE,MAAsB,GAAG,IAAI,CAEtF;AAED;;2CAE2C;AAC3C,qBAAa,UAAU;IAGnB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAHtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,YACmB,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,MAAM,MAAiB,EAe9C;IAED,IAAI,UAAW,MAAM,KAAG,OAAO,CAc7B;IAEF,wEAAwE;IACxE,OAAO,IAAI,IAAI,CAQd;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAED,MAAM,WAAW,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;IAClF,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;uEAEuE;AACvE,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,MAAM,EAAI;IAC7C,GAAG,IAAI,GAAG,EAAE,CASX;IACD,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAGhB;IACD,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAMtB;CACF;AAED,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAOnD;AACD,eAAO,MAAM,UAAU,SAAU,MAAM,KAAK,WAAW,SAA0B,CAAC"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/control/store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":";AAkBA,iFAAiF;AACjF,MAAM,WAAW,MAAM;IACrB,KAAK,IAAI,MAAM,CAAC;IAChB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;0FAE0F;AAC1F,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuNhG"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":";AAkBA,iFAAiF;AACjF,MAAM,WAAW,MAAM;IACrB,KAAK,IAAI,MAAM,CAAC;IAChB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;0FAE0F;AAC1F,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6NhG"}
package/dist/hook.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- // sessionpipe 0.9.0 · Apache-2.0 · https://sessionpipe.org
2
+ // sessionpipe 0.10.0 · Apache-2.0 · https://sessionpipe.org
3
3
 
4
4
  // src/hook.ts
5
5
  import { spawn } from "node:child_process";
@@ -106,12 +106,18 @@ async function hookMain(argv, env, io) {
106
106
  // (run.ts sweepJobs runs any stale job file, whatever spawned the worker).
107
107
  "APPDATA",
108
108
  "CLAUDE_CODE_HOST_SESSION_ID",
109
+ // session.attended: Claude Code's own word, and SESSIONPIPE_CONTROL_JOB below, the
110
+ // control daemon's mark on a turn it runs for a person's message.
111
+ "CLAUDE_CODE_SESSION_ATTENDED",
109
112
  "CLAUDE_CONFIG_DIR",
110
113
  "CLAUDE_PROJECT_DIR",
111
114
  "CODEX_HOME",
112
115
  // Devin's payload names no folder at all; this is the only thing that does.
113
116
  "DEVIN_PROJECT_DIR",
114
117
  "GEMINI_CLI_HOME",
118
+ "SESSIONPIPE_CONTROL_JOB",
119
+ // The launcher a script named for a session it starts (PROTOCOL.md §3 launched_by).
120
+ "SESSIONPIPE_LAUNCHED_BY",
115
121
  // Devin's config file and session store are both resolved through these.
116
122
  "XDG_CONFIG_HOME",
117
123
  "XDG_DATA_HOME"