@howells/envelope 0.1.2 → 0.1.3

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
@@ -12,6 +12,18 @@ This is designed for local Node apps where you want "model calls" to look like a
12
12
  - Node 20+
13
13
  - `claude` CLI installed and authenticated (Claude Code)
14
14
 
15
+ ## CLI Options
16
+
17
+ `createClaudeCodeClient()` accepts:
18
+ - `model` (default `"opus"`)
19
+ - `maxBudgetUsd` (default `5`)
20
+ - `timeoutMs` (default `120_000`)
21
+ - `options.permissionMode` (default `"dontAsk"`)
22
+ - `options.tools` (default `""` to disable all tools; pass `"default"` to enable built-ins)
23
+ - `options.retries` (default `1`) and `options.retryDelayMs` (default `800`) for retry-on-timeout
24
+
25
+ Note: `total_cost_usd` is reported by the Claude Code CLI. If you're using a subscription plan, this may be an estimate and not necessarily an incremental billed amount.
26
+
15
27
  ## Usage (Zod envelope)
16
28
 
17
29
  ```ts
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../src/claude-code.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AAErC,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,mBAAmB,CAAC;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB,CAAC,WAAW;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC;CAChC;AAqDD,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,IAAI,EAAE;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,4CAqEA;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;;GA8DA"}
1
+ {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../src/claude-code.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AAErC,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,mBAAmB,CAAC;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB,CAAC,WAAW;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC;CAChC;AAgID,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,IAAI,EAAE;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,4CAqEA;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;;GA8DA"}
@@ -1,22 +1,86 @@
1
- import { execFile } from "node:child_process";
1
+ import { spawn } from "node:child_process";
2
2
  function isRecord(v) {
3
3
  return typeof v === "object" && v !== null;
4
4
  }
5
- function execFileAsync(file, args, opts) {
5
+ function spawnAsync(file, args, opts) {
6
6
  return new Promise((resolve, reject) => {
7
- execFile(file, args, {
7
+ const child = spawn(file, args, {
8
8
  cwd: opts.cwd,
9
9
  env: opts.env,
10
- timeout: opts.timeoutMs,
11
- maxBuffer: 128 * 1024 * 1024,
12
- encoding: "utf8",
13
- }, (err, stdout, stderr) => {
14
- if (err) {
15
- const code = err.code ?? "?";
16
- const signal = err.signal ?? "?";
17
- const killed = err.killed ?? false;
18
- const e = new Error(`claude CLI failed (code=${code}, signal=${signal}, killed=${killed}): ${stderr || stdout}`);
19
- e.cause = err;
10
+ stdio: ["ignore", "pipe", "pipe"],
11
+ });
12
+ const maxBufferBytes = opts.maxBufferBytes ?? 128 * 1024 * 1024;
13
+ let stdout = "";
14
+ let stderr = "";
15
+ let killedByTimeout = false;
16
+ let timeout = null;
17
+ let hardKill = null;
18
+ const cleanup = () => {
19
+ if (timeout) {
20
+ clearTimeout(timeout);
21
+ timeout = null;
22
+ }
23
+ if (hardKill) {
24
+ clearTimeout(hardKill);
25
+ hardKill = null;
26
+ }
27
+ };
28
+ const maybeKillOnBuffer = () => {
29
+ if (stdout.length + stderr.length > maxBufferBytes) {
30
+ try {
31
+ child.kill("SIGTERM");
32
+ }
33
+ catch {
34
+ // ignore
35
+ }
36
+ const e = new Error("claude CLI output exceeded maxBufferBytes");
37
+ e.code = "MAXBUFFER";
38
+ reject(e);
39
+ cleanup();
40
+ }
41
+ };
42
+ child.stdout?.setEncoding("utf8");
43
+ child.stderr?.setEncoding("utf8");
44
+ child.stdout?.on("data", (d) => {
45
+ stdout += d;
46
+ maybeKillOnBuffer();
47
+ });
48
+ child.stderr?.on("data", (d) => {
49
+ stderr += d;
50
+ maybeKillOnBuffer();
51
+ });
52
+ if (opts.timeoutMs && opts.timeoutMs > 0) {
53
+ timeout = setTimeout(() => {
54
+ killedByTimeout = true;
55
+ try {
56
+ child.kill("SIGTERM");
57
+ }
58
+ catch {
59
+ // ignore
60
+ }
61
+ hardKill = setTimeout(() => {
62
+ try {
63
+ child.kill("SIGKILL");
64
+ }
65
+ catch {
66
+ // ignore
67
+ }
68
+ }, 2000);
69
+ }, opts.timeoutMs);
70
+ }
71
+ child.on("error", (err) => {
72
+ cleanup();
73
+ const e = new Error(`claude CLI spawn error: ${String(err)}`);
74
+ e.cause = err;
75
+ reject(e);
76
+ });
77
+ child.on("close", (code, signal) => {
78
+ cleanup();
79
+ if (code !== 0) {
80
+ const e = new Error(`claude CLI failed (code=${code ?? "?"}, signal=${signal ?? "?"}, killed=${killedByTimeout}): ${stderr || stdout}`);
81
+ e.code = code;
82
+ e.signal = signal;
83
+ e.killed = killedByTimeout;
20
84
  reject(e);
21
85
  return;
22
86
  }
@@ -61,7 +125,7 @@ export async function claudeCodeStructured(args) {
61
125
  let lastErr = null;
62
126
  for (let attempt = 0; attempt <= options.retries; attempt++) {
63
127
  try {
64
- ({ stdout } = await execFileAsync(options.claudePath, cliArgs, {
128
+ ({ stdout } = await spawnAsync(options.claudePath, cliArgs, {
65
129
  cwd: options.cwd,
66
130
  env: options.env,
67
131
  timeoutMs: options.timeoutMs,
@@ -124,7 +188,7 @@ export async function claudeCodeText(args) {
124
188
  let lastErr = null;
125
189
  for (let attempt = 0; attempt <= options.retries; attempt++) {
126
190
  try {
127
- ({ stdout } = await execFileAsync(options.claudePath, cliArgs, {
191
+ ({ stdout } = await spawnAsync(options.claudePath, cliArgs, {
128
192
  cwd: options.cwd,
129
193
  env: options.env,
130
194
  timeoutMs: options.timeoutMs,
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../src/claude-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../src/claude-code.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@howells/envelope",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "private": false,
5
5
  "description": "Strict Zod IO wrapper around local CLI LLMs (Claude Code, Codex), plus an AI SDK adapter.",
6
6
  "type": "module",