sessionpipe 0.7.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.
Files changed (47) hide show
  1. package/README.md +83 -6
  2. package/dist/cli.d.ts +11 -1
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +5043 -2609
  5. package/dist/cli.js.map +4 -4
  6. package/dist/connect.d.ts.map +1 -1
  7. package/dist/control/aliases.d.ts +5 -0
  8. package/dist/control/aliases.d.ts.map +1 -1
  9. package/dist/control/autoupdate.d.ts +1 -18
  10. package/dist/control/autoupdate.d.ts.map +1 -1
  11. package/dist/control/cli.d.ts +8 -1
  12. package/dist/control/cli.d.ts.map +1 -1
  13. package/dist/control/daemon.d.ts +95 -9
  14. package/dist/control/daemon.d.ts.map +1 -1
  15. package/dist/control/files.d.ts +35 -0
  16. package/dist/control/files.d.ts.map +1 -0
  17. package/dist/control/pair.d.ts +22 -23
  18. package/dist/control/pair.d.ts.map +1 -1
  19. package/dist/control/route.d.ts +1 -1
  20. package/dist/control/route.d.ts.map +1 -1
  21. package/dist/control/sdk.d.ts.map +1 -1
  22. package/dist/control/store.d.ts +21 -2
  23. package/dist/control/store.d.ts.map +1 -1
  24. package/dist/control/stream.d.ts.map +1 -1
  25. package/dist/help.d.ts +3 -0
  26. package/dist/help.d.ts.map +1 -0
  27. package/dist/hook.d.ts +9 -1
  28. package/dist/hook.d.ts.map +1 -1
  29. package/dist/hook.js +190 -158
  30. package/dist/hook.js.map +3 -3
  31. package/dist/http-sink.d.ts +3 -0
  32. package/dist/http-sink.d.ts.map +1 -1
  33. package/dist/index.js +1038 -237
  34. package/dist/index.js.map +4 -4
  35. package/dist/launcher.d.ts.map +1 -1
  36. package/dist/run.d.ts +70 -8
  37. package/dist/run.d.ts.map +1 -1
  38. package/dist/runtime.d.ts +5 -1
  39. package/dist/runtime.d.ts.map +1 -1
  40. package/dist/secrets.d.ts.map +1 -1
  41. package/dist/update.d.ts +1 -6
  42. package/dist/update.d.ts.map +1 -1
  43. package/dist/worker.d.ts +3 -1
  44. package/dist/worker.d.ts.map +1 -1
  45. package/dist/worker.js +1127 -287
  46. package/dist/worker.js.map +4 -4
  47. package/package.json +5 -4
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"AAMA,yFAAyF;AACzF,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAK1D;AAKD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;0DACsD;IACtD,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;CACzD;AAED,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,CAAC,EAAE;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,YAAY,CAiBf;AAED;2FAC2F;AAC3F,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAIhG"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"AAMA,yFAAyF;AACzF,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAM1D;AAMD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;0DACsD;IACtD,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;CACzD;AAED,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,CAAC,EAAE;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,YAAY,CAiBf;AAED;2FAC2F;AAC3F,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAIhG"}
@@ -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,GAAI,YAAY,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,12 @@
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 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
+ /** `control folders add|remove`: the new list, and a line per folder saying what became
4
+ * of it. A folder to add must exist and be a project, never the home folder or above
5
+ * it (pair's rule); folders are compared as real paths, as the daemon compares them. */
6
+ export declare function changeFolders(folders: string[], op: "add" | "remove", dirs: string[], home?: string): {
7
+ folders: string[];
8
+ said: string[];
9
+ };
3
10
  export declare function controlMain(argv: string[], out: (s?: string) => void, distDir: string): Promise<void>;
4
11
  /** The harnesses set up on this machine, whose hooks an update re-arms. */
5
12
  export declare function enabledHarnesses(harnesses: Record<string, {
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/control/cli.ts"],"names":[],"mappings":"AAKA,OAAO,EASL,KAAK,IAAI,EAEV,MAAM,mBAAmB,CAAC;AAiB3B,eAAO,MAAM,YAAY,2YAGkE,CAAC;AAiC5F,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,CA2H3G;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
- import { claudeControl, type Login, type RunOptions, type RunResult } from "@sessionpipe/core";
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,15 +76,28 @@ 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[];
88
+ /** The harness accounts every hello names; by default, those signed in across
89
+ * `claudeDirs`, read again for each hello. */
90
+ accounts?: () => HarnessAccount[];
91
+ /** The models a hello suggests for Codex; by default, its own models cache. */
92
+ codexModels?: () => string[];
64
93
  run: (bin: string, args: string[], o: RunOptions) => Promise<RunResult>;
65
94
  sdk?: SdkHost | null;
66
95
  /** How long to follow a live session's turn for an in-place answer (tests shorten it). */
67
96
  answerWaitMs?: number;
68
97
  /** Close an SDK session idle this long (a held session costs ~300 MB). */
69
98
  sdkIdleMs?: number;
99
+ /** How long one of a start's files may take to download (tests shorten it). */
100
+ fileTimeoutMs?: number;
70
101
  env?: NodeJS.ProcessEnv;
71
102
  /** Is Claude Code signed in for this account, as this process sees it? Asked before
72
103
  * a headless run, so a login the daemon can't read (a macOS keychain with nobody at
@@ -104,7 +135,10 @@ export interface Status {
104
135
  machine: string;
105
136
  keys: number;
106
137
  polling: boolean;
138
+ /** Last successful poll; failed responses must not conceal a control outage. */
107
139
  last_poll: number | null;
140
+ /** Time since success, or since this loop started if it has never succeeded. */
141
+ last_poll_age_ms: number;
108
142
  last_error: string | null;
109
143
  }[];
110
144
  waiting: string[];
@@ -117,6 +151,8 @@ export interface Status {
117
151
  nonces: number;
118
152
  acks_pending: number;
119
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>;
120
156
  /** Null when the daemon could restart now (nothing in hand); otherwise what it holds. */
121
157
  busy: string | null;
122
158
  update?: unknown;
@@ -234,12 +270,14 @@ export declare class ControlDaemon {
234
270
  * session's own transcript (Claude Code, Codex), the folder its start recorded, or
235
271
  * the hooks' cwd, never the command. */
236
272
  private place;
237
- /** A Codex or Antigravity session: one the daemon started is its alias (the harness's
238
- * id and the start's folder); one the hooks reported is Codex's rollout (its
239
- * `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. */
240
276
  private placeDriven;
241
277
  /** The folder the worker recorded for a session from its hooks (run.ts, facts). */
242
278
  private factsCwd;
279
+ /** A driven harness, as the person knows it. */
280
+ private label;
243
281
  private aliasOf;
244
282
  /** The harness revealed its own id for a session the command named: from now on that
245
283
  * is where the command's id leads (aliases.ts). Written before anything else reads it. */
@@ -247,13 +285,44 @@ export declare class ControlDaemon {
247
285
  /** `<harness>:<harness's id>` → `<harness>:<the start's id>` for a session the daemon named. */
248
286
  private named;
249
287
  private driver;
250
- /** The harnesses this machine can run a message in, for hello. */
288
+ /** Who is signed in here, for hello. A bad .claude.json names nobody, never fails a hello. */
289
+ private accounts;
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. */
251
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). */
252
318
  private allowed;
253
319
  private permission;
254
320
  private cancel;
255
321
  private view;
256
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;
257
326
  /** A turn message whose Stop never took it: route again, now that it isn't mid-turn. */
258
327
  private reroute;
259
328
  /** Jobs for one session (and its copy) run one at a time, in order. */
@@ -286,8 +355,6 @@ export declare class ControlDaemon {
286
355
  /** The answer so far, sent as a `progress` ack: whole, with a rising seq, at most
287
356
  * one in flight. Fire-and-forget — the final ack carries everything. */
288
357
  private answerStream;
289
- /** How a headless run prints: streamed where this Claude Code can, else one JSON at the end. */
290
- private outputArgs;
291
358
  /** Mark a session as held by one of the daemon's runs while `fn` runs. */
292
359
  private owning;
293
360
  private limits;
@@ -295,9 +362,28 @@ export declare class ControlDaemon {
295
362
  private slot;
296
363
  private startSession;
297
364
  private startOne;
365
+ /** A Claude Code session the daemon starts: what it runs with, for its later runs. */
366
+ private recordStart;
298
367
  /** A new Codex or Antigravity session: the harness picks its id, and the start's id
299
368
  * becomes its name (aliases.ts) as soon as the run says what it picked. */
300
369
  private startDriven;
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. */
386
+ private attached;
301
387
  private closeIdleSdk;
302
388
  }
303
389
  export {};
@@ -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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"}
@@ -0,0 +1,35 @@
1
+ import type { ControlFile } from "@sessionpipe/core/control";
2
+ /** One file's download may take this long (25 MiB on a slow link). */
3
+ export declare const FETCH_TIMEOUT_MS: number;
4
+ /** A file could not be fetched, checked or written: the ack's `detail`, code `file`. */
5
+ export declare class FileProblem extends Error {
6
+ }
7
+ export interface Fetched {
8
+ file: ControlFile;
9
+ /** The name as written: NFC. */
10
+ name: string;
11
+ bytes: Uint8Array;
12
+ }
13
+ export interface FetchOptions {
14
+ control: string;
15
+ token: string;
16
+ fetch: typeof fetch;
17
+ /** Per file; tests shorten it. */
18
+ timeoutMs?: number | undefined;
19
+ }
20
+ /** Fetch every file, in order, and check each against the signed size and hash.
21
+ * Every failure is a FileProblem naming the file. */
22
+ export declare function fetchFiles(files: ControlFile[], o: FetchOptions): Promise<Fetched[]>;
23
+ /**
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.
29
+ */
30
+ export declare function writeFiles(cwd: string, session: string, files: Fetched[], message?: string): string[];
31
+ /** 183402 → "179 KB", 1258291 → "1.2 MB" (units of 1024). */
32
+ export declare function humanSize(n: number): string;
33
+ /** The command's text followed by the list of files the session can read. */
34
+ export declare function withFiles(text: string, files: Fetched[], rel: string[]): string;
35
+ //# sourceMappingURL=files.d.ts.map
@@ -0,0 +1 @@
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,4 +1,7 @@
1
- import { type ControlConfig } from "./store.js";
1
+ import { type HarnessAccount } from "@sessionpipe/core";
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";
2
5
  export interface PairOptions {
3
6
  url: string;
4
7
  /** The person's sink token for this receiver (from `sink add`, or --token). Null:
@@ -6,7 +9,7 @@ export interface PairOptions {
6
9
  * is the whole setup (CONTROL.md §2). */
7
10
  token: string | null;
8
11
  folders: string[];
9
- mode: "safe" | "auto";
12
+ mode: ControlMode;
10
13
  name: string;
11
14
  out: (s: string) => void;
12
15
  fetch?: typeof fetch;
@@ -16,13 +19,26 @@ export interface PairOptions {
16
19
  addSink?: (token: string) => void;
17
20
  /** The harnesses this machine can run a message in (default: those installed here). */
18
21
  harnesses?: string[];
22
+ /** The harness accounts signed in here (default: every Claude Code config dir's). */
23
+ accounts?: HarnessAccount[];
24
+ /** How long expired codes are renewed for (default RENEW_FOR_MS). */
25
+ renewFor?: number;
19
26
  }
27
+ /** How long `control pair` keeps asking for fresh codes when nobody approves one. */
28
+ export declare const RENEW_FOR_MS: number;
20
29
  export declare function discover(url: string, f: typeof fetch): Promise<{
21
30
  control: string;
22
31
  rpId: string;
23
32
  open: boolean;
33
+ inherit: boolean;
24
34
  events: string | null;
25
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[]>;
26
42
  /** Pair (or add a key to) this machine with one receiver. Returns the saved config. */
27
43
  export declare function pair(o: PairOptions): Promise<ControlConfig>;
28
44
  /** `control off [<receiver>]`: tell the receiver, forget its token and keys. */
@@ -33,32 +49,15 @@ export declare function off(o: {
33
49
  env?: NodeJS.ProcessEnv;
34
50
  }): Promise<void | ControlConfig>;
35
51
  export declare function removeKey(id: string, env?: NodeJS.ProcessEnv): number;
36
- /** Both files restart the daemon when it exits non-zero; an update exits UPDATE_EXIT
37
- * (75, autoupdate.ts) to come back on the new code. SESSIONPIPE_SERVICE tells the
38
- * daemon which manager that is (files from before it are recognized without it). */
52
+ export { type Exec, ensureLinger } from "@sessionpipe/core/service";
39
53
  export declare function serviceFiles(o: {
40
54
  node: string;
41
55
  cli: string;
42
56
  logDir: string;
43
57
  home?: string;
44
58
  }): {
45
- plist: {
46
- file: string;
47
- body: string;
48
- };
49
- unit: {
50
- file: string;
51
- body: string;
52
- };
53
- };
54
- export type Exec = (cmd: string, args: string[]) => string;
55
- /** A systemd user service stops when its person's last login ends — closing the ssh
56
- * session to a lab workstation or a cloud machine stopped the daemon with it — unless
57
- * the user lingers. `loginctl enable-linger` for yourself needs no root on systemd's
58
- * default policy; where it does, say the one command that does it. */
59
- export declare function ensureLinger(user: string, exec?: Exec): {
60
- on: boolean;
61
- note: string;
59
+ plist: core.ServiceFile;
60
+ unit: core.ServiceFile;
62
61
  };
63
62
  /** Write and start the service for this platform. Returns what it did, in words. */
64
63
  export declare function installService(o: {
@@ -68,5 +67,5 @@ export declare function installService(o: {
68
67
  exec?: Exec;
69
68
  platform?: NodeJS.Platform;
70
69
  }): string;
71
- export declare function uninstallService(env?: NodeJS.ProcessEnv): void;
70
+ export declare function uninstallService(_env?: NodeJS.ProcessEnv): void;
72
71
  //# sourceMappingURL=pair.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pair.d.ts","sourceRoot":"","sources":["../../src/control/pair.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,KAAK,aAAa,EAMnB,MAAM,YAAY,CAAC;AAKpB,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ;;8CAE0C;IAC1C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,sEAAsE;IACtE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,uFAAuF;IACvF,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAUD,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,MAAM,EACX,CAAC,EAAE,OAAO,KAAK,GACd,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAkBlF;AAED,uFAAuF;AACvF,wBAAsB,IAAI,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CA+FjE;AAED,gFAAgF;AAChF,wBAAsB,GAAG,CAAC,CAAC,EAAE;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,iCAaA;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAWrE;AAOD;;qFAEqF;AACrF,wBAAgB,YAAY,CAAC,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;EAsC3F;AAED,MAAM,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;AAI3D;;;uEAGuE;AACvE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,IAAgB,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAiBhG;AAED,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,CAAC,EAAE;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC5B,GAAG,MAAM,CAqCT;AAED,wBAAgB,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAiB9D"}
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,CAaxE;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":"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"}
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":"stream.d.ts","sourceRoot":"","sources":["../../src/control/stream.ts"],"names":[],"mappings":"AASA;mEACmE;AACnE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAmB1F;AAED,qBAAa,YAAY;IASrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT1B,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;gBAGJ,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EAClD,OAAO,SAAM;IAGhC,8CAA8C;IAC9C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAaxB,6DAA6D;IAC7D,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMvB,+CAA+C;IAC/C,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,QAAQ;YASF,KAAK;CAcpB"}
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/control/stream.ts"],"names":[],"mappings":"AASA;mEACmE;AACnE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAmB1F;AAED,qBAAa,YAAY;IASrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT1B,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;IAEvB,YACmB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EAClD,OAAO,SAAM,EAC5B;IAEJ,8CAA8C;IAC9C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAWvB;IAED,6DAA6D;IAC7D,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAItB;IAED,+CAA+C;IAC/C,KAAK,IAAI,IAAI,CAIZ;IAED,OAAO,CAAC,QAAQ;YASF,KAAK;CAcpB"}
package/dist/help.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export declare function usageTable(harnesses: readonly string[]): Record<string, string>;
2
+ export declare function commandHelp(args: string[], harnesses: readonly string[]): string | undefined;
3
+ //# sourceMappingURL=help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqC/E;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAO5F"}
package/dist/hook.d.ts CHANGED
@@ -1,3 +1,11 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ /** The two streams the hook touches: stdin once, whole; stdout for an answer. */
3
+ export interface HookIO {
4
+ stdin(): Buffer;
5
+ stdout(text: string): void;
6
+ }
7
+ /** One hook run: `argv` is [harness, event, ...] as the harness invoked it, `env` the
8
+ * process environment. Resolves once the job is on its way and any answer printed;
9
+ * the process then exits 0, whatever happened (the hook is invisible to the harness). */
10
+ export declare function hookMain(argv: string[], env: NodeJS.ProcessEnv, io: HookIO): Promise<void>;
3
11
  //# sourceMappingURL=hook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":""}
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"}