@intentic/local-agent 1.304.0 → 1.305.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +66 -34
- package/dist/autostart.d.ts +16 -2
- package/dist/autostart.d.ts.map +1 -1
- package/dist/autostart.js +223 -76
- package/dist/autostart.js.map +1 -1
- package/dist/detached.d.ts +18 -3
- package/dist/detached.d.ts.map +1 -1
- package/dist/detached.js +76 -13
- package/dist/detached.js.map +1 -1
- package/dist/home.d.ts +1 -0
- package/dist/home.d.ts.map +1 -1
- package/dist/home.js +34 -2
- package/dist/home.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/ui.js +1 -1
- package/dist/ui.js.map +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -4,13 +4,15 @@ The plumbing every intentic CLI that lives on a **user's own computer** needs, a
|
|
|
4
4
|
|
|
5
5
|
```
|
|
6
6
|
~/.intentic/<name>/ agentHome(name) — state dir + config.json
|
|
7
|
-
config.json writeSecretFile() — 0700 dir, 0600 file
|
|
8
|
-
<agent>.log spawnDetached() — the
|
|
9
|
-
<agent>.pid
|
|
7
|
+
config.json writeSecretFile() — 0700 dir, 0600 file, written whole (writeFileAtomic)
|
|
8
|
+
<agent>.log spawnDetached() — the agent's output has nowhere else to go
|
|
9
|
+
<agent>.pid claimPidFile() — one agent per home: pid, its boot, its build, its supervisor
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
Task Scheduler\<name> autostart().register — Windows, per-user logon task, supervised, no elevation
|
|
12
|
+
HKCU\…\Run autostart().register — Windows fallback, one shot at logon, nothing watches it
|
|
13
|
+
~/Library/LaunchAgents/ autostart().register — macOS, opt-in per agent, KeepAlive on a non-zero exit
|
|
14
|
+
~/.config/systemd/user/ autostart().register — Linux, Restart=on-failure
|
|
15
|
+
~/.config/autostart/ autostart().register — Linux desktop session, where there is no user manager
|
|
14
16
|
|
|
15
17
|
stdout createUi(process) — the one renderer every agent speaks through
|
|
16
18
|
```
|
|
@@ -46,9 +48,11 @@ This package is those lessons as code, so the fourth agent inherits them by impo
|
|
|
46
48
|
## The five pieces
|
|
47
49
|
|
|
48
50
|
**`home.ts`**: `agentHome(name)` gives `{ dir, configPath }` under `~/.intentic/<name>`; `writeSecretFile`
|
|
49
|
-
writes through a 0700 directory to a 0600 file.
|
|
50
|
-
not tighten a directory that already exists: an agent installed before this floor existed would otherwise keep
|
|
51
|
-
its old permissions forever.
|
|
51
|
+
writes through a 0700 directory to a 0600 file. The directory's mode is re-applied on every write, because `mkdir`
|
|
52
|
+
does not tighten a directory that already exists: an agent installed before this floor existed would otherwise keep
|
|
53
|
+
its old permissions forever. Every write goes through `writeFileAtomic`, which puts the bytes beside the file and
|
|
54
|
+
renames them over it: a reader sees the old file or the new one, never a torn one, which a config reader would take
|
|
55
|
+
for an empty list and write back.
|
|
52
56
|
|
|
53
57
|
**`launcher.ts`**: `cliLauncher(cliName)` answers how to re-invoke this CLI. The subtlety is the compiled
|
|
54
58
|
binary: `bun build --compile` reports an `argv[1]` inside its own virtual filesystem and re-injects it on every
|
|
@@ -56,52 +60,74 @@ launch, so passing it again shifts the command to `argv[2]` where the parser nev
|
|
|
56
60
|
finds the other half of a Windows install, [`intentic-launch.exe`](../win-launcher), sitting next to the agent's
|
|
57
61
|
own executable.
|
|
58
62
|
|
|
59
|
-
**`autostart.ts`**: `
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
63
|
+
**`autostart.ts`**: `autostart(spec, launcher, log)` against an `AutostartSpec` the agent declares, answering three
|
|
64
|
+
verbs. `register` writes the entry and never starts anything (with `repair`, it only puts back an entry that is
|
|
65
|
+
missing, which is what a running agent calls on itself). `start` starts the agent through its entry — `schtasks /run`,
|
|
66
|
+
`systemctl --user start`, `launchctl bootstrap` or `kickstart` — and answers false where the entry cannot, so the
|
|
67
|
+
caller spawns it instead. `unregister` clears every mechanism's entry, since which one is in force depends on what the
|
|
68
|
+
last registration found. Every mechanism here supervises what it starts, so every one gets the **foreground**
|
|
69
|
+
command; on Windows it goes through the stub, `intentic-launch.exe --log <log> --wait -- <agent> <foreground args>`.
|
|
70
|
+
`launchAgent` is optional: an agent that has not been exercised on macOS says so and gets a note, rather than a file
|
|
71
|
+
macOS never reads.
|
|
72
|
+
|
|
73
|
+
Supervised is the word that matters, and it is what each mechanism is chosen for. systemd has
|
|
74
|
+
`Restart=on-failure`; launchd gets `KeepAlive: {SuccessfulExit: false}`, which is the same bargain and safe to
|
|
75
|
+
make because these agents exit 0 for every deliberate stop and 128+SIGNAL otherwise. Windows gets a per-user
|
|
76
|
+
**logon task**: a Run value starts the agent once and nothing watches it afterwards, so a crash at ten in the
|
|
77
|
+
morning stayed a crash until the next sign-in. The task restarts a failed action three times a minute apart, and
|
|
78
|
+
a repeating trigger re-starts one that died some other way — `IgnoreNew` is what makes that repetition a no-op
|
|
79
|
+
while the agent is healthy rather than a second agent every five minutes. `InteractiveToken` is what makes it
|
|
80
|
+
need no password and no elevation; the `schtasks` form that *does* want a password is `/sc ONLOGON /ru`, which
|
|
81
|
+
is why this registers XML instead.
|
|
82
|
+
|
|
83
|
+
Windows earns the stub on top of that. Explorer starts a Run entry in the interactive session, and the loader
|
|
84
|
+
gives every console-subsystem program a console — which on Windows 11, where the default console host is Windows
|
|
67
85
|
Terminal, is a terminal window on the desktop. The entry used to name the agent's own **detached** command,
|
|
68
|
-
which spawns the
|
|
86
|
+
which spawns the agent and exits, so what a user saw at every single boot was a black window for one to two
|
|
69
87
|
seconds. Nothing softer works: `powershell -WindowStyle Hidden` hides the console *its* host owns while the
|
|
70
|
-
window belongs to WindowsTerminal.exe, and a
|
|
71
|
-
program whose PE subsystem is GUI never gets a console, which is the whole of what the
|
|
72
|
-
|
|
88
|
+
window belongs to WindowsTerminal.exe, and a logon task whose action is a **console** program maps a window like
|
|
89
|
+
anything else. Only a program whose PE subsystem is GUI never gets a console, which is the whole of what the
|
|
90
|
+
stub is — and it is why the logon task is registered only when the stub is there to be its action. Without one,
|
|
91
|
+
`detachedArgs` in the Run key remains the fallback (a developer running `node dist/cli.js`), unsupervised, and
|
|
73
92
|
registration says out loud that a window will flash.
|
|
74
93
|
|
|
75
|
-
|
|
76
|
-
|
|
94
|
+
Starting through the entry, rather than spawning beside it, is what keeps an agent supervised after a restart: a
|
|
95
|
+
process started outside the logon task is one the task does not know it is running, so the task starts a rival at
|
|
96
|
+
the next watchdog tick and restarts nothing when this one dies. Registration and starting are separate verbs for the
|
|
97
|
+
same reason: a running agent re-asserting its own entry must not be handed a rival, and on macOS a restart goes through
|
|
98
|
+
booting the job out — which is to say, killing the caller.
|
|
99
|
+
|
|
100
|
+
**`detached.ts`**: `spawnDetached`, the pidfile (`claimPidFile`, `holdPidFile`, `releasePidFile`, `livePidRecord`),
|
|
101
|
+
`stopProcess`, `isProcessAlive`, and the log roll every supervisor runs before it opens the log (`ROTATE_LOG_SH`). On POSIX the agent is spawned
|
|
102
|
+
`detached` for its own session; on Windows because without it the agent is torn down the moment its parent
|
|
77
103
|
exits — measured on the compiled binary, and the reason "connected in the background (pid N)" was a lie there
|
|
78
104
|
for every release that passed `windowsHide` instead. The two cannot be combined to get both properties
|
|
79
|
-
(`CREATE_NO_WINDOW` is ignored alongside `DETACHED_PROCESS`), so a detached
|
|
105
|
+
(`CREATE_NO_WINDOW` is ignored alongside `DETACHED_PROCESS`), so a detached agent on Windows has no console at
|
|
80
106
|
all, and Windows hands a console child of a console-less process a new console *with a window*. That is why
|
|
81
|
-
every spawn inside a
|
|
107
|
+
every spawn inside a agent (git and ssh in sync's bridge, docker and PowerShell in host's tools) passes
|
|
82
108
|
`windowsHide` itself; the flag applies whether or not the parent has a console, where inheritance did not.
|
|
83
109
|
|
|
84
|
-
Where the stub is installed, `spawnDetached` goes through it on Windows and the bargain improves: the
|
|
110
|
+
Where the stub is installed, `spawnDetached` goes through it on Windows and the bargain improves: the agent gets
|
|
85
111
|
`CREATE_NO_WINDOW`, so it has a console of its own with **no window on it**, and every console child inherits
|
|
86
|
-
that console instead of being handed a fresh one. The per-spawn `windowsHide` stays — it is what covers a
|
|
112
|
+
that console instead of being handed a fresh one. The per-spawn `windowsHide` stays — it is what covers a agent
|
|
87
113
|
started any other way — but it stops being the only thing between a user and a black window. The stub prints
|
|
88
|
-
the
|
|
114
|
+
the agent's pid on its stdout, because its own pid belongs to a process that has already exited by the time the
|
|
89
115
|
settle check below would probe it.
|
|
90
116
|
|
|
91
|
-
`spawnDetached` also answers only once the
|
|
117
|
+
`spawnDetached` also answers only once the agent has **survived** a short settle window, and throws naming its log
|
|
92
118
|
otherwise. A pid proves the OS created a process; every caller turns it straight into a sentence promising the
|
|
93
119
|
user their machine is now doing something.
|
|
94
120
|
|
|
95
121
|
A pidfile lives beside the config, so it **outlives the boot that wrote it**, while the number in it means
|
|
96
122
|
nothing outside that boot's process table: pids restart low and are handed out in roughly the same order every
|
|
97
|
-
time, so
|
|
98
|
-
|
|
99
|
-
probing it. On Linux the stamp is `/proc/sys/kernel/random/boot_id`, exact and unmoved by the clock; elsewhere
|
|
123
|
+
time, so an agent's own pid from yesterday is somebody else's transient process this morning. So the pidfile is a
|
|
124
|
+
JSON record of the pid, a stamp naming the boot, and what only the agent knows about itself (the build it runs and
|
|
125
|
+
who restarts it), and `livePidRecord` ignores any record from a different boot without probing it. On Linux the stamp is `/proc/sys/kernel/random/boot_id`, exact and unmoved by the clock; elsewhere
|
|
100
126
|
it is the boot's epoch by subtraction from the uptime, which libuv takes from `GetTickCount64` on Windows and
|
|
101
127
|
`kern.boottime` on macOS — both keep counting across sleep, so a laptop that suspends goes on answering the same
|
|
102
128
|
boot. That derived form is compared with a two-minute tolerance, because it is anchored to `Date.now()` and a
|
|
103
129
|
stepped clock would otherwise read as a new boot; a false *mismatch* is the expensive direction, since it lets a
|
|
104
|
-
second
|
|
130
|
+
second agent start on top of a live one.
|
|
105
131
|
|
|
106
132
|
The cost of not doing this was measured: a machine bugchecked in standby, nothing removed the sync watcher's
|
|
107
133
|
pidfile, and on the next boot the watcher probed the pid it used to hold, found an unrelated early-boot process
|
|
@@ -109,6 +135,12 @@ wearing it, and refused to start. Refusing is deliberate and so exits 0 — a su
|
|
|
109
135
|
watcher into refusing again every `RestartSec` — which is precisely why `Restart=on-failure` never fired and
|
|
110
136
|
desktop file sync stayed off until somebody went looking.
|
|
111
137
|
|
|
138
|
+
Claiming is a write, not a check. Reading the file and then writing it let two agents started at the same moment both
|
|
139
|
+
find it empty and both run; `claimPidFile` writes the record, waits a moment and reads it back, so only the last
|
|
140
|
+
writer keeps it and the other is told who holds it. The holder re-asserts it every tick with `holdPidFile` as a lease,
|
|
141
|
+
and `releasePidFile` removes the file only while it still names the caller, so a stopping agent never deletes the
|
|
142
|
+
claim of the one that replaced it.
|
|
143
|
+
|
|
112
144
|
**`ui.ts`**: `createUi(process)` is the whole of what an agent writes to a person, and the TypeScript twin of
|
|
113
145
|
`ic`'s `_sandbox/ic/src/ui.rs`. One question decides everything: is stdout a terminal. A **pipe** gets the
|
|
114
146
|
`intentic: [phase] message` marker stream and nothing else, because the desktop app parses it into a progress
|
|
@@ -134,7 +166,7 @@ business: which is why host's scopes and sync's Mutagen sessions are nowhere nea
|
|
|
134
166
|
- [src/index.ts](src/index.ts): the public surface.
|
|
135
167
|
- [src/home.ts](src/home.ts): the `~/.intentic/<agent>` directory and its 0600 floor.
|
|
136
168
|
- [src/autostart.ts](src/autostart.ts): login autostart, per platform.
|
|
137
|
-
- [src/detached.ts](src/detached.ts): the background
|
|
169
|
+
- [src/detached.ts](src/detached.ts): the background agent, and surviving a closed terminal.
|
|
138
170
|
- [src/launcher.ts](src/launcher.ts): `cliLauncher()` and the Windows launcher stub, including the
|
|
139
171
|
compiled-binary argv case.
|
|
140
172
|
- [src/ui.ts](src/ui.ts), the renderer: the pipe/terminal/nested split, the checklist, the ranked ending.
|
package/dist/autostart.d.ts
CHANGED
|
@@ -18,11 +18,25 @@ export declare const windowsRunAddArgs: (spec: AutostartSpec, launcher: CliLaunc
|
|
|
18
18
|
export declare const windowsRunDeleteArgs: (spec: AutostartSpec) => string[];
|
|
19
19
|
export declare const windowsRunValueAddArgs: (name: string, commandLine: string) => string[];
|
|
20
20
|
export declare const windowsRunValueDeleteArgs: (name: string) => string[];
|
|
21
|
+
export declare const windowsTaskXml: (spec: AutostartSpec, launcher: CliLauncher, stub: string, account: string) => string;
|
|
22
|
+
export declare const windowsTaskCreateArgs: (spec: AutostartSpec, xmlPath: string) => string[];
|
|
23
|
+
export declare const windowsTaskDeleteArgs: (spec: AutostartSpec) => string[];
|
|
21
24
|
export declare const setWindowsRunValue: (name: string, commandLine: string) => void;
|
|
22
25
|
export declare const clearWindowsRunValue: (name: string) => void;
|
|
26
|
+
export declare const windowsTaskQueryArgs: (spec: AutostartSpec) => string[];
|
|
27
|
+
export declare const windowsTaskRunArgs: (spec: AutostartSpec) => string[];
|
|
28
|
+
export declare const supervisedPath: (home?: string) => string;
|
|
29
|
+
export declare const ROTATE_LOG_SH = "[ -f \"$1\" ] && [ \"$(wc -c < \"$1\")\" -ge \"$2\" ] && mv -f \"$1\" \"$1.1\"";
|
|
23
30
|
export declare const systemdUserUnit: (spec: AutostartSpec, launcher: CliLauncher) => string;
|
|
24
31
|
export declare const linuxDesktopEntry: (spec: AutostartSpec, launcher: CliLauncher) => string;
|
|
25
32
|
export declare const macLaunchAgentXml: (spec: AutostartSpec, agent: LaunchAgentSpec, launcher: CliLauncher) => string;
|
|
26
|
-
export
|
|
27
|
-
export
|
|
33
|
+
export type AutostartKind = "task" | "run-key" | "systemd" | "launchd" | "xdg" | "none";
|
|
34
|
+
export interface Autostart {
|
|
35
|
+
readonly register: (options?: {
|
|
36
|
+
readonly repair?: boolean;
|
|
37
|
+
}) => Promise<AutostartKind>;
|
|
38
|
+
readonly start: () => Promise<boolean>;
|
|
39
|
+
readonly unregister: () => Promise<void>;
|
|
40
|
+
}
|
|
41
|
+
export declare const autostart: (spec: AutostartSpec, launcher: CliLauncher, log: Log) => Autostart;
|
|
28
42
|
//# sourceMappingURL=autostart.d.ts.map
|
package/dist/autostart.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autostart.d.ts","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"autostart.d.ts","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,WAAW,EAA0E,MAAM,eAAe,CAAC;AACzH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAMrC,MAAM,WAAW,eAAe;IAE5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAE1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC;IAEvC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAE3C,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CACpD;AA8BD,eAAO,MAAM,iBAAiB,SAAU,aAAa,YAAY,WAAW,SAAS,MAAM,KAAG,MAAM,EAM/F,CAAC;AAEN,eAAO,MAAM,oBAAoB,SAAU,aAAa,KAAG,MAAM,EAAqD,CAAC;AAIvH,eAAO,MAAM,sBAAsB,SAAU,MAAM,eAAe,MAAM,KAAG,MAAM,EAUhF,CAAC;AAEF,eAAO,MAAM,yBAAyB,SAAU,MAAM,KAAG,MAAM,EAAmD,CAAC;AAkCnH,eAAO,MAAM,cAAc,SAAU,aAAa,YAAY,WAAW,QAAQ,MAAM,WAAW,MAAM,KAAG,MA8D1G,CAAC;AAEF,eAAO,MAAM,qBAAqB,SAAU,aAAa,WAAW,MAAM,KAAG,MAAM,EAOlF,CAAC;AAEF,eAAO,MAAM,qBAAqB,SAAU,aAAa,KAAG,MAAM,EAAoD,CAAC;AAwBvH,eAAO,MAAM,kBAAkB,SAAU,MAAM,eAAe,MAAM,KAAG,IAAqE,CAAC;AAG7I,eAAO,MAAM,oBAAoB,SAAU,MAAM,KAAG,IAEnD,CAAC;AAEF,eAAO,MAAM,oBAAoB,SAAU,aAAa,KAAG,MAAM,EAA6C,CAAC;AAC/G,eAAO,MAAM,kBAAkB,SAAU,aAAa,KAAG,MAAM,EAA2C,CAAC;AAwB3G,eAAO,MAAM,cAAc,UAAU,MAAM,KAAe,MAAuE,CAAC;AAGlI,eAAO,MAAM,aAAa,mFAAuE,CAAC;AAIlG,eAAO,MAAM,eAAe,SAAU,aAAa,YAAY,WAAW,KAAG,MAoB5E,CAAC;AAGF,eAAO,MAAM,iBAAiB,SAAU,aAAa,YAAY,WAAW,KAAG,MAO9E,CAAC;AAKF,eAAO,MAAM,iBAAiB,SAAU,aAAa,SAAS,eAAe,YAAY,WAAW,KAAG,MAiBtG,CAAC;AAGF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;AAExF,MAAM,WAAW,SAAS;IAEtB,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAEvF,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvC,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAgID,eAAO,MAAM,SAAS,SAAU,aAAa,YAAY,WAAW,OAAO,GAAG,KAAG,SAoBhF,CAAC"}
|
package/dist/autostart.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { spawnSync } from "node:child_process";
|
|
2
|
+
import { existsSync } from "node:fs";
|
|
2
3
|
import { mkdir, rm, writeFile } from "node:fs/promises";
|
|
3
|
-
import { homedir } from "node:os";
|
|
4
|
+
import { homedir, tmpdir } from "node:os";
|
|
4
5
|
import { basename, dirname, join } from "node:path";
|
|
5
6
|
import { errorMessage } from "@intentic/base/errors";
|
|
7
|
+
import { LOG_ROTATE_BYTES } from "./detached.js";
|
|
6
8
|
import { quotedCommandLine, stubCommand, WINDOWS_LAUNCH_STUB, windowsLaunchStub } from "./launcher.js";
|
|
7
9
|
const WINDOWS_RUN_KEY = "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run";
|
|
8
10
|
const linuxDesktopPath = (spec) => join(homedir(), ".config", "autostart", `${spec.id}.desktop`);
|
|
@@ -35,10 +37,110 @@ export const windowsRunValueAddArgs = (name, commandLine) => [
|
|
|
35
37
|
"/f",
|
|
36
38
|
];
|
|
37
39
|
export const windowsRunValueDeleteArgs = (name) => ["delete", WINDOWS_RUN_KEY, "/v", name, "/f"];
|
|
40
|
+
const WINDOWS_WATCHDOG_MINUTES = 5;
|
|
41
|
+
const WINDOWS_RESTART_COUNT = 3;
|
|
42
|
+
const schtasksExe = () => join(process.env["SystemRoot"] ?? "C:\\Windows", "System32", "schtasks.exe");
|
|
43
|
+
const windowsAccount = () => {
|
|
44
|
+
const user = process.env["USERNAME"] ?? "";
|
|
45
|
+
const domain = process.env["USERDOMAIN"] ?? "";
|
|
46
|
+
return domain === "" || user === "" ? user : `${domain}\\${user}`;
|
|
47
|
+
};
|
|
48
|
+
const xmlText = (value) => value.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">").replaceAll('"', """);
|
|
49
|
+
export const windowsTaskXml = (spec, launcher, stub, account) => {
|
|
50
|
+
const [program, ...args] = [stub, "--log", spec.logPath, "--wait", "--", ...launcher, ...spec.foregroundArgs];
|
|
51
|
+
return `<?xml version="1.0" encoding="UTF-16"?>
|
|
52
|
+
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
|
|
53
|
+
<RegistrationInfo>
|
|
54
|
+
<Description>${xmlText(spec.desktopComment)}</Description>
|
|
55
|
+
<URI>\\${xmlText(spec.windowsRunValue)}</URI>
|
|
56
|
+
</RegistrationInfo>
|
|
57
|
+
<Triggers>
|
|
58
|
+
<LogonTrigger>
|
|
59
|
+
<Enabled>true</Enabled>
|
|
60
|
+
<UserId>${xmlText(account)}</UserId>
|
|
61
|
+
</LogonTrigger>
|
|
62
|
+
<TimeTrigger>
|
|
63
|
+
<Repetition>
|
|
64
|
+
<Interval>PT${WINDOWS_WATCHDOG_MINUTES}M</Interval>
|
|
65
|
+
<StopAtDurationEnd>false</StopAtDurationEnd>
|
|
66
|
+
</Repetition>
|
|
67
|
+
<StartBoundary>2020-01-01T00:00:00</StartBoundary>
|
|
68
|
+
<Enabled>true</Enabled>
|
|
69
|
+
</TimeTrigger>
|
|
70
|
+
</Triggers>
|
|
71
|
+
<Principals>
|
|
72
|
+
<Principal id="Author">
|
|
73
|
+
<UserId>${xmlText(account)}</UserId>
|
|
74
|
+
<LogonType>InteractiveToken</LogonType>
|
|
75
|
+
<RunLevel>LeastPrivilege</RunLevel>
|
|
76
|
+
</Principal>
|
|
77
|
+
</Principals>
|
|
78
|
+
<Settings>
|
|
79
|
+
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
|
|
80
|
+
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
|
|
81
|
+
<StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
|
|
82
|
+
<AllowHardTerminate>true</AllowHardTerminate>
|
|
83
|
+
<StartWhenAvailable>true</StartWhenAvailable>
|
|
84
|
+
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
|
|
85
|
+
<IdleSettings>
|
|
86
|
+
<StopOnIdleEnd>false</StopOnIdleEnd>
|
|
87
|
+
<RestartOnIdle>false</RestartOnIdle>
|
|
88
|
+
</IdleSettings>
|
|
89
|
+
<AllowStartOnDemand>true</AllowStartOnDemand>
|
|
90
|
+
<Enabled>true</Enabled>
|
|
91
|
+
<Hidden>false</Hidden>
|
|
92
|
+
<RunOnlyIfIdle>false</RunOnlyIfIdle>
|
|
93
|
+
<WakeToRun>false</WakeToRun>
|
|
94
|
+
<ExecutionTimeLimit>PT0S</ExecutionTimeLimit>
|
|
95
|
+
<Priority>7</Priority>
|
|
96
|
+
<RestartOnFailure>
|
|
97
|
+
<Interval>PT1M</Interval>
|
|
98
|
+
<Count>${WINDOWS_RESTART_COUNT}</Count>
|
|
99
|
+
</RestartOnFailure>
|
|
100
|
+
</Settings>
|
|
101
|
+
<Actions Context="Author">
|
|
102
|
+
<Exec>
|
|
103
|
+
<Command>${xmlText(program ?? "")}</Command>
|
|
104
|
+
<Arguments>${xmlText(quotedCommandLine(args))}</Arguments>
|
|
105
|
+
</Exec>
|
|
106
|
+
</Actions>
|
|
107
|
+
</Task>
|
|
108
|
+
`;
|
|
109
|
+
};
|
|
110
|
+
export const windowsTaskCreateArgs = (spec, xmlPath) => [
|
|
111
|
+
"/create",
|
|
112
|
+
"/tn",
|
|
113
|
+
spec.windowsRunValue,
|
|
114
|
+
"/xml",
|
|
115
|
+
xmlPath,
|
|
116
|
+
"/f",
|
|
117
|
+
];
|
|
118
|
+
export const windowsTaskDeleteArgs = (spec) => ["/delete", "/tn", spec.windowsRunValue, "/f"];
|
|
119
|
+
const registerWindowsTask = async (spec, launcher, stub, log) => {
|
|
120
|
+
const account = windowsAccount();
|
|
121
|
+
if (account === "") {
|
|
122
|
+
throw new Error("this session names no user (USERNAME is unset), so a per-user logon task has nobody to run as");
|
|
123
|
+
}
|
|
124
|
+
const xmlPath = join(tmpdir(), `${spec.id}-${process.pid}.xml`);
|
|
125
|
+
try {
|
|
126
|
+
await writeFile(xmlPath, Buffer.from(`\uFEFF${windowsTaskXml(spec, launcher, stub, account)}`, "utf16le"));
|
|
127
|
+
register(schtasksExe(), windowsTaskCreateArgs(spec, xmlPath));
|
|
128
|
+
}
|
|
129
|
+
finally {
|
|
130
|
+
await rm(xmlPath, { force: true });
|
|
131
|
+
}
|
|
132
|
+
clearWindowsRunValue(spec.windowsRunValue);
|
|
133
|
+
log(`registered the "${spec.windowsRunValue}" logon task: it starts at sign-in, restarts on failure, and is re-checked every ${WINDOWS_WATCHDOG_MINUTES} minutes.`);
|
|
134
|
+
};
|
|
38
135
|
export const setWindowsRunValue = (name, commandLine) => register(regExe(), windowsRunValueAddArgs(name, commandLine));
|
|
39
136
|
export const clearWindowsRunValue = (name) => {
|
|
40
137
|
spawnSync(regExe(), windowsRunValueDeleteArgs(name), { stdio: "ignore", windowsHide: true });
|
|
41
138
|
};
|
|
139
|
+
export const windowsTaskQueryArgs = (spec) => ["/query", "/tn", spec.windowsRunValue];
|
|
140
|
+
export const windowsTaskRunArgs = (spec) => ["/run", "/tn", spec.windowsRunValue];
|
|
141
|
+
const quietly = (command, args) => spawnSync(command, args, { stdio: "ignore", windowsHide: true }).status === 0;
|
|
142
|
+
const windowsTaskExists = (spec) => quietly(schtasksExe(), windowsTaskQueryArgs(spec));
|
|
143
|
+
const windowsRunValueExists = (spec) => quietly(regExe(), ["query", WINDOWS_RUN_KEY, "/v", spec.windowsRunValue]);
|
|
42
144
|
const SYSTEMD_LIVE_STATES = new Set(["running", "degraded", "starting", "maintenance", "stopping", "initializing"]);
|
|
43
145
|
const systemdUserAvailable = () => {
|
|
44
146
|
const result = spawnSync("systemctl", ["--user", "is-system-running"], { encoding: "utf8" });
|
|
@@ -47,6 +149,9 @@ const systemdUserAvailable = () => {
|
|
|
47
149
|
}
|
|
48
150
|
return SYSTEMD_LIVE_STATES.has(result.stdout.trim());
|
|
49
151
|
};
|
|
152
|
+
const systemdQuoted = (value) => `"${value.replaceAll("\\", "\\\\").replaceAll('"', '\\"')}"`;
|
|
153
|
+
export const supervisedPath = (home = homedir()) => `${join(home, ".local", "bin")}:/usr/local/bin:/usr/bin:/bin`;
|
|
154
|
+
export const ROTATE_LOG_SH = `[ -f "$1" ] && [ "$(wc -c < "$1")" -ge "$2" ] && mv -f "$1" "$1.1"`;
|
|
50
155
|
export const systemdUserUnit = (spec, launcher) => {
|
|
51
156
|
return `[Unit]
|
|
52
157
|
Description=${spec.desktopName}: ${spec.desktopComment}
|
|
@@ -54,6 +159,7 @@ After=network-online.target
|
|
|
54
159
|
|
|
55
160
|
[Service]
|
|
56
161
|
Type=simple
|
|
162
|
+
ExecStartPre=-/bin/sh -c '${ROTATE_LOG_SH}' rotate ${systemdQuoted(spec.logPath)} ${LOG_ROTATE_BYTES}
|
|
57
163
|
ExecStart=${quotedCommandLine([...launcher, ...spec.foregroundArgs])}
|
|
58
164
|
StandardOutput=append:${spec.logPath}
|
|
59
165
|
StandardError=append:${spec.logPath}
|
|
@@ -61,22 +167,12 @@ Restart=on-failure
|
|
|
61
167
|
RestartSec=5
|
|
62
168
|
RestartForceExitStatus=SIGHUP SIGINT SIGTERM SIGPIPE
|
|
63
169
|
StartLimitIntervalSec=0
|
|
64
|
-
Environment=PATH=${
|
|
170
|
+
Environment=PATH=${supervisedPath()}
|
|
65
171
|
|
|
66
172
|
[Install]
|
|
67
173
|
WantedBy=default.target
|
|
68
174
|
`;
|
|
69
175
|
};
|
|
70
|
-
const registerSystemdUser = async (spec, launcher, log) => {
|
|
71
|
-
const unit = systemdUnitPath(spec);
|
|
72
|
-
await mkdir(dirname(unit), { recursive: true });
|
|
73
|
-
await writeFile(unit, systemdUserUnit(spec, launcher), { mode: 0o644 });
|
|
74
|
-
spawnSync("loginctl", ["enable-linger"], { stdio: "ignore" });
|
|
75
|
-
spawnSync("systemctl", ["--user", "daemon-reload"], { stdio: "ignore" });
|
|
76
|
-
register("systemctl", ["--user", "enable", "--now", systemdUnitName(spec)]);
|
|
77
|
-
log(`registered ${systemdUnitName(spec)} to run now and at boot. Follow it with: tail -f ${spec.logPath}`);
|
|
78
|
-
return true;
|
|
79
|
-
};
|
|
80
176
|
export const linuxDesktopEntry = (spec, launcher) => `[Desktop Entry]
|
|
81
177
|
Type=Application
|
|
82
178
|
Name=${spec.desktopName}
|
|
@@ -94,87 +190,138 @@ export const macLaunchAgentXml = (spec, agent, launcher) => `<?xml version="1.0"
|
|
|
94
190
|
${[...launcher, ...spec.foregroundArgs].map((arg) => ` <string>${arg}</string>`).join("\n")}
|
|
95
191
|
</array>
|
|
96
192
|
<key>RunAtLoad</key><true/>
|
|
193
|
+
<key>KeepAlive</key>
|
|
194
|
+
<dict><key>SuccessfulExit</key><false/></dict>
|
|
97
195
|
<key>StandardOutPath</key><string>${spec.logPath}</string>
|
|
98
196
|
<key>StandardErrorPath</key><string>${spec.logPath}</string>
|
|
99
197
|
</dict>
|
|
100
198
|
</plist>
|
|
101
199
|
`;
|
|
102
|
-
const
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
register("launchctl", ["load", "-w", plist]);
|
|
112
|
-
return true;
|
|
113
|
-
};
|
|
114
|
-
const registerLinux = async (spec, launcher, log) => {
|
|
115
|
-
if (systemdUserAvailable()) {
|
|
116
|
-
await rm(linuxDesktopPath(spec), { force: true });
|
|
117
|
-
return await registerSystemdUser(spec, launcher, log);
|
|
118
|
-
}
|
|
119
|
-
const file = linuxDesktopPath(spec);
|
|
120
|
-
await mkdir(dirname(file), { recursive: true });
|
|
121
|
-
await writeFile(file, linuxDesktopEntry(spec, launcher), { mode: 0o644 });
|
|
122
|
-
if (process.env["XDG_CURRENT_DESKTOP"] === undefined) {
|
|
123
|
-
log(`note: this machine has neither a systemd user manager nor a desktop session, so nothing will start ${spec.id} at boot. It runs until this machine restarts.`);
|
|
124
|
-
}
|
|
125
|
-
return false;
|
|
126
|
-
};
|
|
127
|
-
export const registerAutostart = async (spec, launcher, log) => {
|
|
128
|
-
try {
|
|
129
|
-
if (process.platform === "darwin") {
|
|
130
|
-
if (spec.launchAgent === undefined) {
|
|
131
|
-
log(`note: ${spec.id} has no macOS login autostart yet; it runs until this machine restarts.`);
|
|
132
|
-
return false;
|
|
133
|
-
}
|
|
134
|
-
return await registerMac(spec, spec.launchAgent, launcher);
|
|
200
|
+
const windowsAutostart = (spec, launcher, log) => ({
|
|
201
|
+
register: async ({ repair = false } = {}) => {
|
|
202
|
+
const stub = windowsLaunchStub(launcher);
|
|
203
|
+
if (stub === undefined) {
|
|
204
|
+
log(`note: ${WINDOWS_LAUNCH_STUB} isn't installed beside this agent, so ${spec.id} will start at login through a console window that flashes on the desktop. Re-run the install command from the capability card to get it.`);
|
|
205
|
+
}
|
|
206
|
+
else if (repair && windowsTaskExists(spec)) {
|
|
207
|
+
return "task";
|
|
135
208
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
209
|
+
else {
|
|
210
|
+
try {
|
|
211
|
+
await registerWindowsTask(spec, launcher, stub, log);
|
|
212
|
+
return "task";
|
|
213
|
+
}
|
|
214
|
+
catch (error) {
|
|
215
|
+
log(`note: couldn't register a logon task for ${spec.id} (${reason(error)}); falling back to a login entry that starts it once and is not supervised.`);
|
|
140
216
|
}
|
|
141
|
-
register(regExe(), windowsRunAddArgs(spec, launcher, stub));
|
|
142
|
-
return false;
|
|
143
217
|
}
|
|
144
|
-
if (
|
|
145
|
-
return
|
|
218
|
+
if (repair && windowsRunValueExists(spec)) {
|
|
219
|
+
return "run-key";
|
|
146
220
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
221
|
+
register(regExe(), windowsRunAddArgs(spec, launcher, stub));
|
|
222
|
+
return "run-key";
|
|
223
|
+
},
|
|
224
|
+
start: async () => await Promise.resolve(windowsTaskExists(spec) && quietly(schtasksExe(), windowsTaskRunArgs(spec))),
|
|
225
|
+
unregister: async () => {
|
|
226
|
+
spawnSync(schtasksExe(), windowsTaskDeleteArgs(spec), { stdio: "ignore", windowsHide: true });
|
|
227
|
+
clearWindowsRunValue(spec.windowsRunValue);
|
|
228
|
+
return await Promise.resolve();
|
|
229
|
+
},
|
|
230
|
+
});
|
|
231
|
+
const linuxAutostart = (spec, launcher, log) => ({
|
|
232
|
+
register: async ({ repair = false } = {}) => {
|
|
233
|
+
if (systemdUserAvailable()) {
|
|
234
|
+
const unit = systemdUnitPath(spec);
|
|
235
|
+
if (repair && existsSync(unit)) {
|
|
236
|
+
return "systemd";
|
|
159
237
|
}
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
spawnSync("
|
|
164
|
-
|
|
165
|
-
|
|
238
|
+
await rm(linuxDesktopPath(spec), { force: true });
|
|
239
|
+
await mkdir(dirname(unit), { recursive: true });
|
|
240
|
+
await writeFile(unit, systemdUserUnit(spec, launcher), { mode: 0o644 });
|
|
241
|
+
spawnSync("loginctl", ["enable-linger"], { stdio: "ignore" });
|
|
242
|
+
spawnSync("systemctl", ["--user", "daemon-reload"], { stdio: "ignore" });
|
|
243
|
+
register("systemctl", ["--user", "enable", systemdUnitName(spec)]);
|
|
244
|
+
log(`${systemdUnitName(spec)} is registered to run at boot. Follow it with: tail -f ${spec.logPath}`);
|
|
245
|
+
return "systemd";
|
|
246
|
+
}
|
|
247
|
+
const file = linuxDesktopPath(spec);
|
|
248
|
+
if (!(repair && existsSync(file))) {
|
|
249
|
+
await mkdir(dirname(file), { recursive: true });
|
|
250
|
+
await writeFile(file, linuxDesktopEntry(spec, launcher), { mode: 0o644 });
|
|
166
251
|
}
|
|
167
|
-
if (process.
|
|
168
|
-
|
|
169
|
-
return;
|
|
252
|
+
if (process.env["XDG_CURRENT_DESKTOP"] === undefined) {
|
|
253
|
+
log(`note: this machine has neither a systemd user manager nor a desktop session, so nothing will start ${spec.id} at boot. It runs until this machine restarts.`);
|
|
170
254
|
}
|
|
255
|
+
return "xdg";
|
|
256
|
+
},
|
|
257
|
+
start: async () => await Promise.resolve(systemdUserAvailable() && existsSync(systemdUnitPath(spec)) && quietly("systemctl", ["--user", "start", systemdUnitName(spec)])),
|
|
258
|
+
unregister: async () => {
|
|
171
259
|
spawnSync("systemctl", ["--user", "disable", "--now", systemdUnitName(spec)], { stdio: "ignore" });
|
|
172
260
|
await rm(systemdUnitPath(spec), { force: true });
|
|
173
261
|
spawnSync("systemctl", ["--user", "daemon-reload"], { stdio: "ignore" });
|
|
174
262
|
await rm(linuxDesktopPath(spec), { force: true });
|
|
263
|
+
},
|
|
264
|
+
});
|
|
265
|
+
const macAutostart = (spec, agent, launcher) => {
|
|
266
|
+
const plist = macPlistPath(agent);
|
|
267
|
+
const domain = `gui/${process.getuid?.() ?? 0}`;
|
|
268
|
+
return {
|
|
269
|
+
register: async ({ repair = false } = {}) => {
|
|
270
|
+
if (!(repair && existsSync(plist))) {
|
|
271
|
+
await mkdir(dirname(plist), { recursive: true });
|
|
272
|
+
await writeFile(plist, macLaunchAgentXml(spec, agent, launcher), { mode: 0o644 });
|
|
273
|
+
}
|
|
274
|
+
return "launchd";
|
|
275
|
+
},
|
|
276
|
+
start: async () => await Promise.resolve(quietly("launchctl", ["bootstrap", domain, plist]) || quietly("launchctl", ["kickstart", `${domain}/${agent.label}`])),
|
|
277
|
+
unregister: async () => {
|
|
278
|
+
spawnSync("launchctl", ["bootout", `${domain}/${agent.label}`], { stdio: "ignore" });
|
|
279
|
+
spawnSync("launchctl", ["unload", plist], { stdio: "ignore" });
|
|
280
|
+
await rm(plist, { force: true });
|
|
281
|
+
},
|
|
282
|
+
};
|
|
283
|
+
};
|
|
284
|
+
const noAutostart = (spec, log) => ({
|
|
285
|
+
register: async () => {
|
|
286
|
+
log(`note: ${spec.id} has no login autostart on ${process.platform}; it runs until this machine restarts.`);
|
|
287
|
+
return await Promise.resolve("none");
|
|
288
|
+
},
|
|
289
|
+
start: async () => await Promise.resolve(false),
|
|
290
|
+
unregister: async () => await Promise.resolve(),
|
|
291
|
+
});
|
|
292
|
+
const mechanismFor = (spec, launcher, log) => {
|
|
293
|
+
if (process.platform === "win32") {
|
|
294
|
+
return windowsAutostart(spec, launcher, log);
|
|
295
|
+
}
|
|
296
|
+
if (process.platform === "linux") {
|
|
297
|
+
return linuxAutostart(spec, launcher, log);
|
|
175
298
|
}
|
|
176
|
-
|
|
177
|
-
|
|
299
|
+
if (process.platform === "darwin" && spec.launchAgent !== undefined) {
|
|
300
|
+
return macAutostart(spec, spec.launchAgent, launcher);
|
|
178
301
|
}
|
|
302
|
+
return noAutostart(spec, log);
|
|
303
|
+
};
|
|
304
|
+
export const autostart = (spec, launcher, log) => {
|
|
305
|
+
const mechanism = mechanismFor(spec, launcher, log);
|
|
306
|
+
return {
|
|
307
|
+
register: async (options) => {
|
|
308
|
+
try {
|
|
309
|
+
return await mechanism.register(options);
|
|
310
|
+
}
|
|
311
|
+
catch (error) {
|
|
312
|
+
log(spec.failureNote(reason(error)));
|
|
313
|
+
return "none";
|
|
314
|
+
}
|
|
315
|
+
},
|
|
316
|
+
start: async () => await mechanism.start().catch(() => false),
|
|
317
|
+
unregister: async () => {
|
|
318
|
+
try {
|
|
319
|
+
await mechanism.unregister();
|
|
320
|
+
}
|
|
321
|
+
catch (error) {
|
|
322
|
+
log(`note: couldn't remove the login-autostart entry for ${spec.id} (${reason(error)}).`);
|
|
323
|
+
}
|
|
324
|
+
},
|
|
325
|
+
};
|
|
179
326
|
};
|
|
180
327
|
//# sourceMappingURL=autostart.js.map
|
package/dist/autostart.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autostart.js","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"autostart.js","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"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"}
|
package/dist/detached.d.ts
CHANGED
|
@@ -1,12 +1,27 @@
|
|
|
1
1
|
import { type CliLauncher } from "./launcher.js";
|
|
2
2
|
export declare const isProcessAlive: (pid: number) => boolean;
|
|
3
|
-
export declare const pidFileBody: (pid?: number, note?: string) => Promise<string>;
|
|
4
3
|
export interface PidRecord {
|
|
5
4
|
readonly pid: number;
|
|
6
|
-
readonly
|
|
5
|
+
readonly build?: string;
|
|
6
|
+
readonly supervisor?: string;
|
|
7
7
|
}
|
|
8
|
+
export declare const pidFileBody: (record: PidRecord) => Promise<string>;
|
|
8
9
|
export declare const livePidRecord: (pidPath: string) => Promise<PidRecord | undefined>;
|
|
9
10
|
export declare const livePid: (pidPath: string) => Promise<number | undefined>;
|
|
11
|
+
export type PidClaim = {
|
|
12
|
+
readonly claimed: true;
|
|
13
|
+
} | {
|
|
14
|
+
readonly claimed: false;
|
|
15
|
+
readonly holder: PidRecord;
|
|
16
|
+
};
|
|
17
|
+
export declare const claimPidFile: (pidPath: string, dir: string, record: PidRecord) => Promise<PidClaim>;
|
|
18
|
+
export declare const holdPidFile: (pidPath: string, dir: string, record: PidRecord) => Promise<boolean>;
|
|
19
|
+
export declare const releasePidFile: (pidPath: string, pid: number) => Promise<boolean>;
|
|
20
|
+
export declare const stopProcess: (pid: number, timeoutMs: number) => Promise<void>;
|
|
21
|
+
export declare const LOG_ROTATE_BYTES: number;
|
|
22
|
+
export declare const rotateIfLarge: (logPath: string, limit?: number) => Promise<void>;
|
|
10
23
|
export declare const spawnThroughStub: (stub: string, logPath: string, launcher: CliLauncher, args: readonly string[]) => Promise<number>;
|
|
11
|
-
export declare const spawnDetached: (logPath: string, launcher: CliLauncher, args: readonly string[]
|
|
24
|
+
export declare const spawnDetached: (logPath: string, launcher: CliLauncher, args: readonly string[], { finishes }?: {
|
|
25
|
+
readonly finishes?: boolean;
|
|
26
|
+
}) => Promise<number>;
|
|
12
27
|
//# sourceMappingURL=detached.d.ts.map
|
package/dist/detached.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detached.d.ts","sourceRoot":"","sources":["../src/detached.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"detached.d.ts","sourceRoot":"","sources":["../src/detached.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,WAAW,EAAkC,MAAM,eAAe,CAAC;AAOjF,eAAO,MAAM,cAAc,QAAS,MAAM,KAAG,OAO5C,CAAC;AAuBF,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAChC;AAOD,eAAO,MAAM,WAAW,WAAkB,SAAS,KAAG,OAAO,CAAC,MAAM,CAA2D,CAAC;AAoBhI,eAAO,MAAM,aAAa,YAAmB,MAAM,KAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAOlF,CAAC;AAEF,eAAO,MAAM,OAAO,YAAmB,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAwC,CAAC;AAKnH,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAG5G,eAAO,MAAM,YAAY,YAAmB,MAAM,OAAO,MAAM,UAAU,SAAS,KAAG,OAAO,CAAC,QAAQ,CASpG,CAAC;AAGF,eAAO,MAAM,WAAW,YAAmB,MAAM,OAAO,MAAM,UAAU,SAAS,KAAG,OAAO,CAAC,OAAO,CAOlG,CAAC;AAGF,eAAO,MAAM,cAAc,YAAmB,MAAM,OAAO,MAAM,KAAG,OAAO,CAAC,OAAO,CAOlF,CAAC;AAKF,eAAO,MAAM,WAAW,QAAe,MAAM,aAAa,MAAM,KAAG,OAAO,CAAC,IAAI,CAU9E,CAAC;AAqBF,eAAO,MAAM,gBAAgB,QAAkB,CAAC;AAKhD,eAAO,MAAM,aAAa,YAAmB,MAAM,qBAA6B,OAAO,CAAC,IAAI,CAO3F,CAAC;AAeF,eAAO,MAAM,gBAAgB,SAAgB,MAAM,WAAW,MAAM,YAAY,WAAW,QAAQ,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,MAAM,CA8CpI,CAAC;AAKF,eAAO,MAAM,aAAa,YACb,MAAM,YACL,WAAW,QACf,SAAS,MAAM,EAAE,iBACD;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,KACtD,OAAO,CAAC,MAAM,CAchB,CAAC"}
|
package/dist/detached.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
2
|
import { openSync } from "node:fs";
|
|
3
|
-
import { readFile } from "node:fs/promises";
|
|
3
|
+
import { readFile, rename, rm, stat } from "node:fs/promises";
|
|
4
4
|
import { uptime } from "node:os";
|
|
5
5
|
import { basename } from "node:path";
|
|
6
6
|
import { setTimeout } from "node:timers/promises";
|
|
7
|
+
import { writeSecretFile } from "./home.js";
|
|
7
8
|
import { stubCommand, windowsLaunchStub } from "./launcher.js";
|
|
8
9
|
export const isProcessAlive = (pid) => {
|
|
9
10
|
try {
|
|
@@ -25,26 +26,84 @@ const sameBoot = (written, current) => {
|
|
|
25
26
|
}
|
|
26
27
|
return Math.abs(Number(written.slice(3)) - Number(current.slice(3))) <= SAME_BOOT_MS;
|
|
27
28
|
};
|
|
28
|
-
export const pidFileBody = async (
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
export const pidFileBody = async (record) => JSON.stringify({ ...record, boot: await bootToken() });
|
|
30
|
+
const text = (value) => (typeof value === "string" && value !== "" ? value : undefined);
|
|
31
|
+
const parsePidFile = (raw) => {
|
|
32
|
+
try {
|
|
33
|
+
const parsed = JSON.parse(raw);
|
|
34
|
+
const { pid, boot } = parsed;
|
|
35
|
+
if (typeof pid !== "number" || !Number.isInteger(pid) || pid <= 0 || typeof boot !== "string") {
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
const build = text(parsed["build"]);
|
|
39
|
+
const supervisor = text(parsed["supervisor"]);
|
|
40
|
+
return { pid, boot, ...(build === undefined ? {} : { build }), ...(supervisor === undefined ? {} : { supervisor }) };
|
|
34
41
|
}
|
|
35
|
-
|
|
42
|
+
catch {
|
|
36
43
|
return undefined;
|
|
37
44
|
}
|
|
38
|
-
|
|
45
|
+
};
|
|
46
|
+
export const livePidRecord = async (pidPath) => {
|
|
47
|
+
const file = parsePidFile(await readFile(pidPath, "utf8").catch(() => ""));
|
|
48
|
+
if (file === undefined || !sameBoot(file.boot, await bootToken()) || !isProcessAlive(file.pid)) {
|
|
39
49
|
return undefined;
|
|
40
50
|
}
|
|
41
|
-
|
|
51
|
+
const { boot: _boot, ...record } = file;
|
|
52
|
+
return record;
|
|
42
53
|
};
|
|
43
54
|
export const livePid = async (pidPath) => (await livePidRecord(pidPath))?.pid;
|
|
55
|
+
const CLAIM_SETTLE_MS = 150;
|
|
56
|
+
export const claimPidFile = async (pidPath, dir, record) => {
|
|
57
|
+
const holder = await livePidRecord(pidPath);
|
|
58
|
+
if (holder !== undefined && holder.pid !== record.pid) {
|
|
59
|
+
return { claimed: false, holder };
|
|
60
|
+
}
|
|
61
|
+
await writeSecretFile(pidPath, dir, await pidFileBody(record));
|
|
62
|
+
await setTimeout(CLAIM_SETTLE_MS);
|
|
63
|
+
const settled = await livePidRecord(pidPath);
|
|
64
|
+
return settled === undefined || settled.pid === record.pid ? { claimed: true } : { claimed: false, holder: settled };
|
|
65
|
+
};
|
|
66
|
+
export const holdPidFile = async (pidPath, dir, record) => {
|
|
67
|
+
const now = await livePidRecord(pidPath);
|
|
68
|
+
if (now === undefined) {
|
|
69
|
+
await writeSecretFile(pidPath, dir, await pidFileBody(record));
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
return now.pid === record.pid;
|
|
73
|
+
};
|
|
74
|
+
export const releasePidFile = async (pidPath, pid) => {
|
|
75
|
+
const file = parsePidFile(await readFile(pidPath, "utf8").catch(() => ""));
|
|
76
|
+
if (file !== undefined && file.pid !== pid) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
await rm(pidPath, { force: true });
|
|
80
|
+
return true;
|
|
81
|
+
};
|
|
82
|
+
const STOP_POLL_MS = 50;
|
|
83
|
+
export const stopProcess = async (pid, timeoutMs) => {
|
|
84
|
+
try {
|
|
85
|
+
process.kill(pid, "SIGTERM");
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
for (let waited = 0; waited < timeoutMs && isProcessAlive(pid); waited += STOP_POLL_MS) {
|
|
91
|
+
await setTimeout(STOP_POLL_MS);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
44
94
|
const SETTLE_MS = 2_000;
|
|
45
95
|
const SETTLE_POLL_MS = 100;
|
|
46
96
|
const STUB_REPLY_MS = 10_000;
|
|
47
97
|
const STUB_DRAIN_MS = 250;
|
|
98
|
+
export const LOG_ROTATE_BYTES = 8 * 1024 * 1024;
|
|
99
|
+
export const rotateIfLarge = async (logPath, limit = LOG_ROTATE_BYTES) => {
|
|
100
|
+
const size = await stat(logPath)
|
|
101
|
+
.then((file) => file.size)
|
|
102
|
+
.catch(() => 0);
|
|
103
|
+
if (size >= limit) {
|
|
104
|
+
await rename(logPath, `${logPath}.1`).catch(() => undefined);
|
|
105
|
+
}
|
|
106
|
+
};
|
|
48
107
|
const spawnHere = (logPath, launcher, args) => {
|
|
49
108
|
const logFd = openSync(logPath, "a");
|
|
50
109
|
const [command, ...leading] = launcher;
|
|
@@ -73,7 +132,7 @@ export const spawnThroughStub = async (stub, logPath, launcher, args) => {
|
|
|
73
132
|
};
|
|
74
133
|
const refused = () => {
|
|
75
134
|
const said = complained.trim();
|
|
76
|
-
return new Error(`${basename(stub)} could not start the background
|
|
135
|
+
return new Error(`${basename(stub)} could not start the background agent${said === "" ? "" : `: ${said}`}. Details: ${logPath}`);
|
|
77
136
|
};
|
|
78
137
|
child.stdout?.on("data", (chunk) => {
|
|
79
138
|
answered += chunk.toString();
|
|
@@ -100,13 +159,17 @@ export const spawnThroughStub = async (stub, logPath, launcher, args) => {
|
|
|
100
159
|
child.unref();
|
|
101
160
|
}
|
|
102
161
|
};
|
|
103
|
-
export const spawnDetached = async (logPath, launcher, args) => {
|
|
162
|
+
export const spawnDetached = async (logPath, launcher, args, { finishes = false } = {}) => {
|
|
163
|
+
await rotateIfLarge(logPath);
|
|
104
164
|
const stub = windowsLaunchStub(launcher);
|
|
105
165
|
const pid = stub === undefined ? spawnHere(logPath, launcher, args) : await spawnThroughStub(stub, logPath, launcher, args);
|
|
166
|
+
if (finishes) {
|
|
167
|
+
return pid;
|
|
168
|
+
}
|
|
106
169
|
for (let waited = 0; waited < SETTLE_MS; waited += SETTLE_POLL_MS) {
|
|
107
170
|
await setTimeout(SETTLE_POLL_MS);
|
|
108
171
|
if (!isProcessAlive(pid)) {
|
|
109
|
-
throw new Error(`the background
|
|
172
|
+
throw new Error(`the background agent started and stopped immediately (pid ${pid}). Details: ${logPath}`);
|
|
110
173
|
}
|
|
111
174
|
}
|
|
112
175
|
return pid;
|
package/dist/detached.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detached.js","sourceRoot":"","sources":["../src/detached.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"detached.js","sourceRoot":"","sources":["../src/detached.ts"],"names":[],"mappings":"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"}
|
package/dist/home.d.ts
CHANGED
|
@@ -4,5 +4,6 @@ export interface AgentHome {
|
|
|
4
4
|
readonly configPath: string;
|
|
5
5
|
}
|
|
6
6
|
export declare const agentHome: (name: string) => AgentHome;
|
|
7
|
+
export declare const writeFileAtomic: (path: string, contents: string, mode?: number) => Promise<void>;
|
|
7
8
|
export declare const writeSecretFile: (path: string, dir: string, contents: string) => Promise<void>;
|
|
8
9
|
//# sourceMappingURL=home.d.ts.map
|
package/dist/home.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"home.d.ts","sourceRoot":"","sources":["../src/home.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"home.d.ts","sourceRoot":"","sources":["../src/home.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAE5C,MAAM,WAAW,SAAS;IAEtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,SAAS,SAAU,MAAM,KAAG,SAGxC,CAAC;AA0BF,eAAO,MAAM,eAAe,SAAgB,MAAM,YAAY,MAAM,oBAAiB,OAAO,CAAC,IAAI,CAUhG,CAAC;AAGF,eAAO,MAAM,eAAe,SAAgB,MAAM,OAAO,MAAM,YAAY,MAAM,KAAG,OAAO,CAAC,IAAI,CAI/F,CAAC"}
|
package/dist/home.js
CHANGED
|
@@ -1,12 +1,44 @@
|
|
|
1
|
-
import { mkdir, writeFile } from "node:fs/promises";
|
|
1
|
+
import { chmod, mkdir, rename, rm, writeFile } from "node:fs/promises";
|
|
2
2
|
import { homedir } from "node:os";
|
|
3
3
|
import { join } from "node:path";
|
|
4
|
+
import { setTimeout as sleep } from "node:timers/promises";
|
|
4
5
|
export const agentHome = (name) => {
|
|
5
6
|
const dir = join(homedir(), ".intentic", name);
|
|
6
7
|
return { dir, configPath: join(dir, "config.json") };
|
|
7
8
|
};
|
|
9
|
+
const TRANSIENT_RENAME = new Set(["EPERM", "EACCES", "EBUSY"]);
|
|
10
|
+
const RENAME_ATTEMPTS = 10;
|
|
11
|
+
const RENAME_RETRY_MS = 25;
|
|
12
|
+
const renameOver = async (from, to) => {
|
|
13
|
+
for (let attempt = 1;; attempt++) {
|
|
14
|
+
try {
|
|
15
|
+
await rename(from, to);
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
if (attempt >= RENAME_ATTEMPTS || !TRANSIENT_RENAME.has(error.code ?? "")) {
|
|
20
|
+
throw error;
|
|
21
|
+
}
|
|
22
|
+
await sleep(RENAME_RETRY_MS);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
let staging = 0;
|
|
27
|
+
export const writeFileAtomic = async (path, contents, mode = 0o644) => {
|
|
28
|
+
staging += 1;
|
|
29
|
+
const staged = `${path}.${process.pid}-${staging}.tmp`;
|
|
30
|
+
try {
|
|
31
|
+
await writeFile(staged, contents, { encoding: "utf8", mode });
|
|
32
|
+
await renameOver(staged, path);
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
await rm(staged, { force: true }).catch(() => undefined);
|
|
36
|
+
throw error;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
8
39
|
export const writeSecretFile = async (path, dir, contents) => {
|
|
9
40
|
await mkdir(dir, { recursive: true, mode: 0o700 });
|
|
10
|
-
await
|
|
41
|
+
await chmod(dir, 0o700).catch(() => undefined);
|
|
42
|
+
await writeFileAtomic(path, contents, 0o600);
|
|
11
43
|
};
|
|
12
44
|
//# sourceMappingURL=home.js.map
|
package/dist/home.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"home.js","sourceRoot":"","sources":["../src/home.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"home.js","sourceRoot":"","sources":["../src/home.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAe3D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAa,EAAE;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAC/C,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC;AACzD,CAAC,CAAC;AAGF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/D,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,MAAM,UAAU,GAAG,KAAK,EAAE,IAAY,EAAE,EAAU,EAAiB,EAAE;IACjE,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QAChC,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACvB,OAAO;QACX,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,OAAO,IAAI,eAAe,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAE,KAA+B,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;gBACnG,MAAM,KAAK,CAAC;YAChB,CAAC;YAED,MAAM,KAAK,CAAC,eAAe,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;AACL,CAAC,CAAC;AAGF,IAAI,OAAO,GAAG,CAAC,CAAC;AAGhB,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,IAAY,EAAE,QAAgB,EAAE,IAAI,GAAG,KAAK,EAAiB,EAAE;IACjG,OAAO,IAAI,CAAC,CAAC;IACb,MAAM,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,MAAM,CAAC;IACvD,IAAI,CAAC;QACD,MAAM,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,MAAM,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,IAAY,EAAE,GAAW,EAAE,QAAgB,EAAiB,EAAE;IAChG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,MAAM,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { agentHome, writeSecretFile, type AgentHome, type Log } from "./home.js";
|
|
1
|
+
export { agentHome, writeFileAtomic, writeSecretFile, type AgentHome, type Log } from "./home.js";
|
|
2
2
|
export { cliLauncher, quotedCommandLine, stubCommand, WINDOWS_LAUNCH_STUB, windowsLaunchStub, type CliLauncher } from "./launcher.js";
|
|
3
|
-
export { clearWindowsRunValue, linuxDesktopEntry, macLaunchAgentXml,
|
|
4
|
-
export { isProcessAlive, livePid, livePidRecord, type PidRecord, pidFileBody, spawnDetached } from "./detached.js";
|
|
3
|
+
export { autostart, clearWindowsRunValue, linuxDesktopEntry, macLaunchAgentXml, ROTATE_LOG_SH, setWindowsRunValue, supervisedPath, windowsRunAddArgs, windowsRunDeleteArgs, type Autostart, type AutostartKind, type AutostartSpec, type LaunchAgentSpec, } from "./autostart.js";
|
|
4
|
+
export { claimPidFile, holdPidFile, isProcessAlive, livePid, livePidRecord, LOG_ROTATE_BYTES, type PidClaim, type PidRecord, pidFileBody, releasePidFile, spawnDetached, stopProcess, } from "./detached.js";
|
|
5
5
|
export { agentException } from "./text.js";
|
|
6
6
|
export { asLabel, createUi, estimate, humanDuration, truncate, wrap, type Footnote, type PlanStep, type RowOutcome, type Ui, type UiMode, type UiProcess, } from "./ui.js";
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACtI,OAAO,EACH,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,eAAe,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,YAAY,EACZ,WAAW,EACX,cAAc,EACd,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,WAAW,EACX,cAAc,EACd,aAAa,EACb,WAAW,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EACH,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,EAAE,EACP,KAAK,MAAM,EACX,KAAK,SAAS,GACjB,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { agentHome, writeSecretFile } from "./home.js";
|
|
1
|
+
export { agentHome, writeFileAtomic, writeSecretFile } from "./home.js";
|
|
2
2
|
export { cliLauncher, quotedCommandLine, stubCommand, WINDOWS_LAUNCH_STUB, windowsLaunchStub } from "./launcher.js";
|
|
3
|
-
export { clearWindowsRunValue, linuxDesktopEntry, macLaunchAgentXml,
|
|
4
|
-
export { isProcessAlive, livePid, livePidRecord, pidFileBody, spawnDetached } from "./detached.js";
|
|
3
|
+
export { autostart, clearWindowsRunValue, linuxDesktopEntry, macLaunchAgentXml, ROTATE_LOG_SH, setWindowsRunValue, supervisedPath, windowsRunAddArgs, windowsRunDeleteArgs, } from "./autostart.js";
|
|
4
|
+
export { claimPidFile, holdPidFile, isProcessAlive, livePid, livePidRecord, LOG_ROTATE_BYTES, pidFileBody, releasePidFile, spawnDetached, stopProcess, } from "./detached.js";
|
|
5
5
|
export { agentException } from "./text.js";
|
|
6
6
|
export { asLabel, createUi, estimate, humanDuration, truncate, wrap, } from "./ui.js";
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,eAAe,EAA4B,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAA4B,MAAM,WAAW,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAoB,MAAM,eAAe,CAAC;AACtI,OAAO,EACH,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GAKvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,YAAY,EACZ,WAAW,EACX,cAAc,EACd,OAAO,EACP,aAAa,EACb,gBAAgB,EAGhB,WAAW,EACX,cAAc,EACd,aAAa,EACb,WAAW,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EACH,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,IAAI,GAOP,MAAM,SAAS,CAAC"}
|
package/dist/ui.js
CHANGED
package/dist/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intentic/local-agent",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "The plumbing every intentic CLI that lives on a user's own computer needs, state home, login autostart, self-relaunch, detached background
|
|
3
|
+
"version": "1.305.0",
|
|
4
|
+
"description": "The plumbing every intentic CLI that lives on a user's own computer needs, state home, login autostart, self-relaunch, detached background agent",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"repository": {
|
|
@@ -30,21 +30,21 @@
|
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@intentic/base": "1.
|
|
33
|
+
"@intentic/base": "1.305.0",
|
|
34
34
|
"tslib": "2.8.1"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@intentic/testing": "0.0.0",
|
|
38
38
|
"@intentic/tsconfig": "0.0.0",
|
|
39
|
+
"@types/bun": "1.4.0",
|
|
39
40
|
"@types/node": "24.13.2",
|
|
40
|
-
"@typescript/native-preview": "7.0.0-dev.20260707.2"
|
|
41
|
-
"vitest": "4.1.10"
|
|
41
|
+
"@typescript/native-preview": "7.0.0-dev.20260707.2"
|
|
42
42
|
},
|
|
43
43
|
"scripts": {
|
|
44
44
|
"build": "tsgo",
|
|
45
45
|
"typecheck": "tsgo --noEmit -p tsconfig.test.json",
|
|
46
46
|
"watch": "tsgo --build --watch",
|
|
47
|
-
"test": "
|
|
48
|
-
"test:watch": "
|
|
47
|
+
"test": "suites",
|
|
48
|
+
"test:watch": "suites --watch"
|
|
49
49
|
}
|
|
50
50
|
}
|