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":"launcher.d.ts","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,QAAQ,qBAAqB,CAAC;AAG3C,wBAAgB,OAAO,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAGpE;AACD,eAAO,MAAM,YAAY,GAAI,MAAK,MAAM,CAAC,UAAwB,KAAG,MAA2C,CAAC;AAChH,eAAO,MAAM,YAAY,GAAI,WAAU,MAAM,CAAC,QAA2B,KAAG,OAA+B,CAAC;AAI5G;;+DAE+D;AAC/D,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CASlF;AAkBD;oFACoF;AACpF,wBAAgB,eAAe,CAAC,CAAC,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,GAAG;IAC/G,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,CASA;AAED,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,CAEzE;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,iEAAiE;IACjE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,6CAA6C;AAC7C,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,aAAa,CAwClG"}
1
+ {"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,QAAQ,qBAAqB,CAAC;AAG3C,wBAAgB,OAAO,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAGpE;AACD,eAAO,MAAM,YAAY,SAAS,MAAM,CAAC,UAAU,KAAiB,MAA2C,CAAC;AAChH,eAAO,MAAM,YAAY,cAAc,MAAM,CAAC,QAAQ,KAAsB,OAA+B,CAAC;AAI5G;;+DAE+D;AAC/D,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CASlF;AAkBD;oFACoF;AACpF,wBAAgB,eAAe,CAAC,CAAC,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,GAAG;IAC/G,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,CASA;AAED,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,CAEzE;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,iEAAiE;IACjE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,6CAA6C;AAC7C,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,aAAa,CAwClG"}
package/dist/run.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type Event, type FactsState, Outbox, type Sink, type SinkConfig } from "@sessionpipe/core";
1
+ import { type Event, type FactsState, Outbox, type Sink, type SinkConfig, type TranscriptRead } from "@sessionpipe/core";
2
2
  declare const VERSION: string;
3
3
  export interface Job {
4
4
  harness: string;
@@ -9,37 +9,99 @@ export interface Job {
9
9
  env: Record<string, string>;
10
10
  ppid?: number;
11
11
  at: number;
12
+ /** How many times the session's lock held this job out (a fresh worker starts for
13
+ * it each time, up to MAX_TRIES; after that a sweep picks it up). */
14
+ tries?: number;
12
15
  }
16
+ export declare const MAX_TRIES = 10;
13
17
  /** A job file the worker will pick up: random suffix, 0600, in a 0700 dir. */
14
18
  export declare function enqueueJob(state: string, job: Job): string;
15
- /** Jobs another worker left behind (a lost lock race, a killed worker): every
16
- * worker sweeps the ones older than `olderThanMs` before it exits, so no event
17
- * is lost (ground rule 4). Each is removed before it runs, so two sweepers
18
- * never run one twice. */
19
- export declare function sweepJobs(state: string, olderThanMs?: number, limit?: number): Promise<number>;
19
+ /** A job is claimed by renaming its file `<file>.<pid>.running`: of two workers that
20
+ * race for it, one rename wins. The claim stays until the job's events are in the
21
+ * outbox (or it went back to the queue), so a worker its deadline ended mid-run
22
+ * leaves it behind for a sweep to give back (ground rule 4: no event lost). */
23
+ export declare function claimJob(file: string): {
24
+ job: Job;
25
+ file: string;
26
+ } | null;
27
+ export declare function releaseJob(claimed: string | undefined): void;
28
+ /** Jobs another worker left behind: a claim whose worker is gone (or older than any
29
+ * worker lives, `abandonedMs`) goes back to the queue, then every queued job older
30
+ * than `olderThanMs` (younger ones belong to the worker their hook just spawned)
31
+ * is claimed and run. Every worker sweeps before it exits. */
32
+ export declare function sweepJobs(state: string, olderThanMs?: number, limit?: number, abandonedMs?: number): Promise<number>;
20
33
  export declare function log(state: string, line: string): void;
21
34
  /** <state>/facts/<harness>/<session>.json — what the machine learned about a session. */
22
35
  export declare function factsState(state: string): FactsState;
23
36
  export declare function buildSinks(sinks: SinkConfig[], o?: {
24
37
  locked?: (name: string) => void;
25
38
  }): Sink[];
26
- /** Run one hook job end to end: events → outbox → sinks. Returns what happened. */
39
+ /** How often a running turn's words go out again (turn.progress), at most. */
40
+ export declare const PROGRESS_MS = 20000;
41
+ /** The turn still running in a transcript read from the delivery cursor: the last
42
+ * turn with a reply so far, or a prompt nothing has answered yet (the hook's own
43
+ * copy when the transcript doesn't hold it yet). `base` is the number the cursor's
44
+ * first turn will get, so a turn keeps the number its turn.transcript will carry.
45
+ * The reply keeps its end when it is long: where the turn is now. */
46
+ export declare function openTurn(read: TranscriptRead, o: {
47
+ base: number;
48
+ prompt?: string | undefined;
49
+ at: number;
50
+ }): {
51
+ turn: number;
52
+ user: string;
53
+ assistant: string;
54
+ at: number;
55
+ } | null;
56
+ /** Run one hook job end to end: events → outbox → sinks. Returns what happened.
57
+ * `claimed` is the job file this run holds: released once the events are in the
58
+ * outbox or the job is back in the queue (`requeued` names its new file). */
27
59
  export declare function runJob(job: Job, opts?: {
28
60
  state?: string;
29
61
  now?: number;
62
+ claimed?: string;
63
+ lockWaitMs?: number;
30
64
  }): Promise<{
31
65
  events: Event[];
32
66
  delivered: Record<string, number>;
67
+ requeued?: string;
33
68
  }>;
69
+ /** One worker drains a machine's sinks at a time (the `flush` lock). Another whose
70
+ * events are in the outbox meanwhile marks that there is more and leaves them to
71
+ * it (null: nothing sent by this one). The one draining looks for the mark after
72
+ * each pass, once it has let the lock go, so events appended during a pass go out
73
+ * in its next pass or with the worker that appended them, never wait for a later
74
+ * hook. Under a flood of hook events this is one uploader sending full batches,
75
+ * not one per event, all refused together (mordast, 2026-10-14: 828 refusals in
76
+ * two minutes, 5 192 jobs queued). */
77
+ export declare function drain(state: string, sinkConfigs: SinkConfig[], outbox: Outbox, first?: {
78
+ harness: string;
79
+ session: string;
80
+ }): Promise<Record<string, number> | null>;
81
+ /** HTTP.md §2: a sink that answered 429 isn't tried again before its `retry-after`;
82
+ * one that was unreachable (5xx, a timeout) waits 2 s · 10 s · 60 s · 5 min · 30 min,
83
+ * then every 30 min. Kept in <state>/backoff/<sink>.json, so every worker on the
84
+ * machine waits, not only the one that was refused. Cleared by the next batch the
85
+ * sink takes. */
86
+ export interface Backoff {
87
+ until: number;
88
+ failures: number;
89
+ why: string;
90
+ }
91
+ export declare function readBackoff(state: string, sink: string): Backoff | null;
34
92
  /** Drain every sink from its cursor: this session first, then any backlog. Events
35
93
  * from many sessions are packed into one batch of up to BATCH, so a first
36
94
  * install's 400-session backfill is nine POSTs, not four hundred (the receiver's
37
95
  * write limit ended the first replay at 278 events, 2026-09-28). A cursor moves
38
96
  * only after its batch was acknowledged; a refused batch stops the sink for this
39
- * run and the next worker starts from the same cursors. */
97
+ * run and the next worker starts from the same cursors. The sinks drain at once:
98
+ * the session's lock is held for the slowest round trip, not the sum of them (a
99
+ * verdict's config write is synchronous, so two sinks' never interleave). */
40
100
  export declare function flush(state: string, sinkConfigs: SinkConfig[], outbox: Outbox, first?: {
41
101
  harness: string;
42
102
  session: string;
103
+ }, o?: {
104
+ force?: boolean;
43
105
  }): Promise<Record<string, number>>;
44
106
  export { VERSION };
45
107
  export declare const versionLine: () => string;
package/dist/run.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAeA,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,UAAU,EAMf,MAAM,EAIN,KAAK,IAAI,EACT,KAAK,UAAU,EAOhB,MAAM,mBAAmB,CAAC;AA6B3B,QAAA,MAAM,OAAO,QAAkF,CAAC;AAEhG,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,CAM1D;AAED;;;2BAG2B;AAC3B,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,SAAO,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAuB9F;AAED,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CASrD;AAED,yFAAyF;AACzF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAkBpD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,GAAE;IAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAAO,GAAG,IAAI,EAAE,CAkBnG;AAED,mFAAmF;AACnF,wBAAsB,MAAM,CAC1B,GAAG,EAAE,GAAG,EACR,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1C,OAAO,CAAC;IAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CAoHjE;AAKD;;;;;4DAK4D;AAC5D,wBAAsB,KAAK,CACzB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,UAAU,EAAE,EACzB,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC3C,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAqEjC;AAaD,OAAO,EAAE,OAAO,EAAE,CAAC;AACnB,eAAO,MAAM,WAAW,QAAO,MAAkC,CAAC;AAClE,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,KAAG,MAAkC,CAAC;AAC3E,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,KAAG,OAAqC,CAAC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAeA,OAAO,EAKL,KAAK,KAAK,EACV,KAAK,UAAU,EAOf,MAAM,EAMN,KAAK,IAAI,EACT,KAAK,UAAU,EAKf,KAAK,cAAc,EAKpB,MAAM,mBAAmB,CAAC;AA6B3B,QAAA,MAAM,OAAO,QAAkF,CAAC;AAEhG,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX;0EACsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,SAAS,KAAK,CAAC;AAE5B,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,CAM1D;AAED;;;gFAGgF;AAChF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAaxE;AACD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAK5D;AAED;;;+DAG+D;AAC/D,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,SAAO,EAAE,KAAK,SAAK,EAAE,WAAW,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAsCpH;AAED,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CASrD;AAED,yFAAyF;AACzF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAkBpD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,GAAE;IAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAAO,GAAG,IAAI,EAAE,CAkBnG;AAED,8EAA8E;AAC9E,eAAO,MAAM,WAAW,QAAS,CAAC;AAElC;;;;sEAIsE;AACtE,wBAAgB,QAAQ,CACtB,IAAI,EAAE,cAAc,EACpB,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAsBtE;AAWD;;8EAE8E;AAC9E,wBAAsB,MAAM,CAC1B,GAAG,EAAE,GAAG,EACR,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACjF,OAAO,CAAC;IAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmNpF;AAED;;;;;;;uCAOuC;AACvC,wBAAsB,KAAK,CACzB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,UAAU,EAAE,EACzB,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC3C,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAyBxC;AAED;;;;kBAIkB;AAClB,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAGD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAOvE;AA2BD;;;;;;;8EAO8E;AAC9E,wBAAsB,KAAK,CACzB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,UAAU,EAAE,EACzB,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAC5C,CAAC,GAAE;IAA8D,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GACtF,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA6GjC;AAaD,OAAO,EAAE,OAAO,EAAE,CAAC;AACnB,eAAO,MAAM,WAAW,QAAO,MAAkC,CAAC;AAClE,eAAO,MAAM,OAAO,UAAW,MAAM,KAAG,MAAkC,CAAC;AAC3E,eAAO,MAAM,OAAO,UAAW,MAAM,KAAG,OAAqC,CAAC"}
package/dist/runtime.d.ts CHANGED
@@ -1,6 +1,10 @@
1
1
  /** Homebrew's versioned Cellar path dies on `brew upgrade node`; its stable links survive. */
2
2
  export declare function stableNode(exe: string): string;
3
3
  export declare function viaNpx(distDir: string): boolean;
4
+ /** Refuse before npm, config or hook writes, including hooks left by another prefix. */
5
+ export declare function assertSetupVersion(allowDowngrade: boolean, target?: string): void;
4
6
  /** Install the running version persistently and hand off the original command before side effects. */
5
- export declare function rerunGlobally(argv: string[], out: (s: string) => void): void;
7
+ export declare function rerunGlobally(argv: string[], out: (s: string) => void, setup?: {
8
+ allowDowngrade: boolean;
9
+ }): void;
6
10
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAQA,8FAA8F;AAC9F,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAe9C;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,sGAAsG;AACtG,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAwC5E"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAUA,8FAA8F;AAC9F,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAe9C;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE/C;AAkBD,wFAAwF;AACxF,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAwBjF;AAED,sGAAsG;AACtG,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,EAAE,KAAK,CAAC,EAAE;IAAE,cAAc,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CA8BjH"}
@@ -1 +1 @@
1
- {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../src/secrets.ts"],"names":[],"mappings":"AAcA,OAAO,EAA0B,KAAK,UAAU,EAAe,MAAM,mBAAmB,CAAC;AAEzF,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,gBAAgB,CAAC;AACxD,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC;AAI7C,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAChH,eAAO,MAAM,aAAa,EAAE,MAQ3B,CAAC;AAEF;;uFAEuF;AACvF,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,OAAM,OAAO,GAAG,QAAkB,KAAG,MAK9E,CAAC;AACF,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,KAAG,MAA8B,CAAC;AAQhF,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI,CAQzG;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,OAAO,CAalH;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,IAAI,CAGhG;AAED,mFAAmF;AACnF,wBAAgB,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,GAAE,MAAsB,GAAG,OAAO,CAK9E;AAED;;;wDAGwD;AACxD,wBAAgB,SAAS,CACvB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,GAAG,GAAE,MAAsB,GAC1B,SAAS,CAaX;AAED,eAAO,MAAM,UAAU,GAAI,GAAG,SAAS,GAAG,SAAS,KAAG,MAC2D,CAAC;AAElH;;oFAEoF;AACpF,wBAAgB,eAAe,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,GAAE,MAAsB,GAAG,UAAU,GAAG,IAAI,CAM7F;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAC7B,EAAE,EAAE,SAAS,EACb,CAAC,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GACtC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CA4CrC;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,GAAE,MAAsB,GAAG,IAAI,CAIhF"}
1
+ {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../src/secrets.ts"],"names":[],"mappings":"AAcA,OAAO,EAA0B,KAAK,UAAU,EAAe,MAAM,mBAAmB,CAAC;AAEzF,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,gBAAgB,CAAC;AACxD,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC;AAI7C,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAChH,eAAO,MAAM,aAAa,EAAE,MAQ3B,CAAC;AAEF;;uFAEuF;AACvF,eAAO,MAAM,WAAW,SAAU,MAAM,SAAQ,OAAO,GAAG,QAAQ,KAAa,MAK9E,CAAC;AACF,eAAO,MAAM,cAAc,YAAa,MAAM,KAAG,MAA8B,CAAC;AAQhF,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI,CAQzG;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,OAAO,CAalH;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,IAAI,CAGhG;AAED,mFAAmF;AACnF,wBAAgB,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,GAAE,MAAsB,GAAG,OAAO,CAK9E;AAED;;;wDAGwD;AACxD,wBAAgB,SAAS,CACvB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,GAAG,GAAE,MAAsB,GAC1B,SAAS,CAaX;AAED,eAAO,MAAM,UAAU,MAAO,SAAS,GAAG,SAAS,KAAG,MAC2D,CAAC;AAElH;;oFAEoF;AACpF,wBAAgB,eAAe,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,GAAE,MAAsB,GAAG,UAAU,GAAG,IAAI,CAM7F;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAC7B,EAAE,EAAE,SAAS,EACb,CAAC,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GACtC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CA+CrC;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,GAAE,MAAsB,GAAG,IAAI,CAIhF"}
package/dist/update.d.ts CHANGED
@@ -1,10 +1,5 @@
1
1
  export declare const REGISTRY_LATEST = "https://registry.npmjs.org/sessionpipe/latest";
2
- /** Order two versions: <0, 0, >0, or null if either isn't one. A release sorts above
3
- * its own prereleases; prereleases compare by their tag. */
4
- export declare function compareVersions(a: string, b: string): number | null;
5
- /** `a` is a release newer than `b`. A prerelease is never offered as an update: the
6
- * `latest` dist-tag is a release, and anything else is someone's experiment. */
7
- export declare function isNewer(a: string, b: string): boolean;
2
+ export { compareVersions, isNewer } from "@sessionpipe/core/version";
8
3
  /** The registry's `latest` for sessionpipe: one GET, nothing sent but the request. */
9
4
  export declare function latestVersion(f?: typeof fetch, timeoutMs?: number): Promise<string>;
10
5
  /** The prefix a global npm install of sessionpipe lives under, from the running copy's
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,eAAe,kDAAkD,CAAC;AAc/E;6DAC6D;AAC7D,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASnE;AAED;iFACiF;AACjF,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAKrD;AAED,sFAAsF;AACtF,wBAAsB,aAAa,CAAC,CAAC,GAAE,OAAO,KAAa,EAAE,SAAS,SAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAS9F;AAED;;iDAEiD;AACjD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,GAAG,IAAI,CAIrG;AAED;;0FAE0F;AAC1F,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,GAAG,IAAI,CAMzG;AAED,yFAAyF;AACzF,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,GAAG,IAAI,CAQtG;AAED;;2EAE2E;AAC3E,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,EAAE,CAa5F;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAE7G,gEAAgE;AAChE,eAAO,MAAM,WAAW,EAAE,IAiCtB,CAAC;AAEL,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,OAAO,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC5B;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAA;CAAE,CAAC;AAKjF,0EAA0E;AAC1E,wBAAsB,gBAAgB,CAAC,CAAC,EAAE;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC;CACb,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOzB;AAED;;;;yDAIyD;AACzD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CA8C/F"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,eAAe,kDAAkD,CAAC;AAK/E,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAErE,sFAAsF;AACtF,wBAAsB,aAAa,CAAC,CAAC,GAAE,OAAO,KAAa,EAAE,SAAS,SAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAS9F;AAED;;iDAEiD;AACjD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,GAAG,IAAI,CAIrG;AAED;;0FAE0F;AAC1F,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,GAAG,IAAI,CAMzG;AAED,yFAAyF;AACzF,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,GAAG,IAAI,CAQtG;AAED;;2EAE2E;AAC3E,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,EAAE,CAa5F;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAE7G,gEAAgE;AAChE,eAAO,MAAM,WAAW,EAAE,IAiCtB,CAAC;AAEL,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,OAAO,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC5B;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAA;CAAE,CAAC;AAKjF,0EAA0E;AAC1E,wBAAsB,gBAAgB,CAAC,CAAC,EAAE;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC;CACb,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOzB;AAED;;;;yDAIyD;AACzD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CA8C/F"}
package/dist/worker.d.ts CHANGED
@@ -1,3 +1,5 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ /** One worker run over `argv` as node received it ([node, worker.js, job]). Resolves
3
+ * once the job is done and the sweep is over; the process then exits 0. */
4
+ export declare function workerMain(argv: string[]): Promise<void>;
3
5
  //# sourceMappingURL=worker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":";AAkBA;4EAC4E;AAC5E,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB9D"}