@intentic/local-agent 1.312.0 → 1.314.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 CHANGED
@@ -30,6 +30,6 @@ flowchart LR
30
30
  - [src/index.ts](src/index.ts) — everything the package exports.
31
31
  - [src/autostart.ts](src/autostart.ts) — the login entry per OS, including the Windows task XML.
32
32
  - [src/detached.ts](src/detached.ts) — pidfiles, `spawnDetached`, the launcher-stub spawn and log rotation.
33
- - [src/home.ts](src/home.ts) — the state directory, atomic writes and owner-only secret files.
33
+ - [src/home.ts](src/home.ts) — the state directory and owner-only secret files, written atomically through `@intentic/base/fs`.
34
34
  - [src/launcher.ts](src/launcher.ts) — the argv to re-launch this CLI and the stub command line.
35
35
  - [src/ui.ts](src/ui.ts) — the checklist renderer and its output modes.
package/dist/home.d.ts CHANGED
@@ -5,6 +5,5 @@ export interface AgentHome {
5
5
  }
6
6
  export declare const homeDir: () => string;
7
7
  export declare const agentHome: (name: string) => AgentHome;
8
- export declare const writeFileAtomic: (path: string, contents: string | Uint8Array, mode?: number) => Promise<void>;
9
8
  export declare const writeSecretFile: (path: string, dir: string, contents: string) => Promise<void>;
10
9
  //# sourceMappingURL=home.d.ts.map
@@ -1 +1 @@
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;AAGD,eAAO,MAAM,OAAO,QAAO,MAAwG,CAAC;AAEpI,eAAO,MAAM,SAAS,SAAU,MAAM,KAAG,SAGxC,CAAC;AA0BF,eAAO,MAAM,eAAe,SAAgB,MAAM,YAAY,MAAM,GAAG,UAAU,oBAAiB,OAAO,CAAC,IAAI,CAU7G,CAAC;AAGF,eAAO,MAAM,eAAe,SAAgB,MAAM,OAAO,MAAM,YAAY,MAAM,KAAG,OAAO,CAAC,IAAI,CAI/F,CAAC"}
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;AAGD,eAAO,MAAM,OAAO,QAAO,MAAwG,CAAC;AAEpI,eAAO,MAAM,SAAS,SAAU,MAAM,KAAG,SAGxC,CAAC;AAGF,eAAO,MAAM,eAAe,SAAgB,MAAM,OAAO,MAAM,YAAY,MAAM,KAAG,OAAO,CAAC,IAAI,CAI/F,CAAC"}
package/dist/home.js CHANGED
@@ -1,42 +1,12 @@
1
- import { chmod, mkdir, rename, rm, writeFile } from "node:fs/promises";
1
+ import { chmod, mkdir } 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
+ import { writeFileAtomic } from "@intentic/base/fs";
5
5
  export const homeDir = () => (process.platform === "win32" ? process.env["USERPROFILE"] : process.env["HOME"]) || homedir();
6
6
  export const agentHome = (name) => {
7
7
  const dir = join(homeDir(), ".intentic", name);
8
8
  return { dir, configPath: join(dir, "config.json") };
9
9
  };
10
- const TRANSIENT_RENAME = new Set(["EPERM", "EACCES", "EBUSY"]);
11
- const RENAME_ATTEMPTS = 10;
12
- const RENAME_RETRY_MS = 25;
13
- const renameOver = async (from, to) => {
14
- for (let attempt = 1;; attempt++) {
15
- try {
16
- await rename(from, to);
17
- return;
18
- }
19
- catch (error) {
20
- if (attempt >= RENAME_ATTEMPTS || !TRANSIENT_RENAME.has(error.code ?? "")) {
21
- throw error;
22
- }
23
- await sleep(RENAME_RETRY_MS);
24
- }
25
- }
26
- };
27
- let staging = 0;
28
- export const writeFileAtomic = async (path, contents, mode = 0o644) => {
29
- staging += 1;
30
- const staged = `${path}.${process.pid}-${staging}.tmp`;
31
- try {
32
- await writeFile(staged, contents, { encoding: "utf8", mode });
33
- await renameOver(staged, path);
34
- }
35
- catch (error) {
36
- await rm(staged, { force: true }).catch(() => undefined);
37
- throw error;
38
- }
39
- };
40
10
  export const writeSecretFile = async (path, dir, contents) => {
41
11
  await mkdir(dir, { recursive: true, mode: 0o700 });
42
12
  await chmod(dir, 0o700).catch(() => undefined);
package/dist/home.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"home.js","sourceRoot":"","sources":["../src/home.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"home.js","sourceRoot":"","sources":["../src/home.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAgBpD,MAAM,CAAC,MAAM,OAAO,GAAG,GAAW,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;AAEpI,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,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,4 +1,4 @@
1
- export { agentHome, homeDir, writeFileAtomic, writeSecretFile, type AgentHome, type Log } from "./home.js";
1
+ export { agentHome, homeDir, writeSecretFile, type AgentHome, type Log } from "./home.js";
2
2
  export { cliLauncher, quotedCommandLine, stubCommand, WINDOWS_LAUNCH_STUB, windowsLaunchStub, type CliLauncher } from "./launcher.js";
3
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
4
  export { claimPidFile, holdPidFile, isProcessAlive, livePid, livePidRecord, LOG_ROTATE_BYTES, type PidClaim, type PidRecord, pidFileBody, releasePidFile, spawnDetached, stopProcess, } from "./detached.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AAC3G,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AAC1F,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,4 +1,4 @@
1
- export { agentHome, homeDir, writeFileAtomic, writeSecretFile } from "./home.js";
1
+ export { agentHome, homeDir, writeSecretFile } from "./home.js";
2
2
  export { cliLauncher, quotedCommandLine, stubCommand, WINDOWS_LAUNCH_STUB, windowsLaunchStub } from "./launcher.js";
3
3
  export { autostart, clearWindowsRunValue, linuxDesktopEntry, macLaunchAgentXml, ROTATE_LOG_SH, setWindowsRunValue, supervisedPath, windowsRunAddArgs, windowsRunDeleteArgs, } from "./autostart.js";
4
4
  export { claimPidFile, holdPidFile, isProcessAlive, livePid, livePidRecord, LOG_ROTATE_BYTES, pidFileBody, releasePidFile, spawnDetached, stopProcess, } from "./detached.js";
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,OAAO,EAAE,eAAe,EAAE,eAAe,EAA4B,MAAM,WAAW,CAAC;AAC3G,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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAA4B,MAAM,WAAW,CAAC;AAC1F,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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentic/local-agent",
3
- "version": "1.312.0",
3
+ "version": "1.314.0",
4
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",
@@ -30,7 +30,7 @@
30
30
  }
31
31
  },
32
32
  "dependencies": {
33
- "@intentic/base": "1.312.0",
33
+ "@intentic/base": "1.314.0",
34
34
  "tslib": "2.8.1"
35
35
  },
36
36
  "devDependencies": {