codebuff-agent-acp 0.1.0 → 0.1.1

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
@@ -121,14 +121,33 @@ check`, builds, and runs `npm publish --provenance --access public`
121
121
 
122
122
  ## Configuration
123
123
 
124
+ The Codebuff API key is resolved in this order:
125
+
126
+ 1. `CODEBUFF_API_KEY` environment variable.
127
+ 2. The key saved by `--setup` (below), stored at
128
+ `~/.codebuff-acp/config.json`.
129
+
130
+ ### Interactive setup (Terminal Auth)
131
+
132
+ ```bash
133
+ npx codebuff-agent-acp --setup
134
+ ```
135
+
136
+ Prompts for your Codebuff API key (get one from
137
+ <https://codebuff.com> → Profile → API Keys) and saves it locally. ACP clients
138
+ that drive the agent can also trigger this via the `terminal` auth method
139
+ advertised in `initialize` (`args: ["--setup"]`).
140
+
141
+ ### Environment variables
142
+
124
143
  | Env var | Default | Description |
125
144
  | ------------------- | ----------------- | --------------------------------------------------- |
126
- | `CODEBUFF_API_KEY` | _none_ | Required Codebuff API key |
145
+ | `CODEBUFF_API_KEY` | _none_ | Codebuff API key (overrides the saved key) |
127
146
  | `CODEBUFF_AGENT` | `base` | Codebuff agent id to run (e.g. `base`, `base_free`) |
128
- | `CODEBUFF_ACP_HOME` | `~/.codebuff-acp` | Where session files are stored |
147
+ | `CODEBUFF_ACP_HOME` | `~/.codebuff-acp` | Where config + session files are stored |
129
148
 
130
149
  A client may also pass an API key at runtime via the `authenticate` request's
131
- `_meta.codebuff.apiKey`.
150
+ `_meta.codebuff.apiKey` (it's persisted for future sessions).
132
151
 
133
152
  ## Limitations
134
153
 
package/dist/agent.d.ts CHANGED
@@ -29,8 +29,12 @@ export interface CodebuffAcpAgentOptions {
29
29
  export declare class CodebuffAcpAgent {
30
30
  private readonly sessions;
31
31
  private readonly clientFactory;
32
- private apiKey;
32
+ /** Resolved lazily (env var > saved config) and cached for the process. */
33
+ private apiKeyCache?;
33
34
  constructor(opts?: CodebuffAcpAgentOptions);
35
+ /** Resolve the Codebuff API key: `CODEBUFF_API_KEY` env var wins, then the
36
+ * value saved by `--setup` (Terminal Auth). Cached after first resolution. */
37
+ private resolveApiKey;
34
38
  /** ---- lifecycle handlers ---- */
35
39
  initialize(_params: acp.InitializeRequest): Promise<acp.InitializeResponse>;
36
40
  authenticate(params: acp.AuthenticateRequest): Promise<acp.AuthenticateResponse | void>;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/dist/agent.js CHANGED
@@ -14,6 +14,7 @@ import * as crypto from "node:crypto";
14
14
  import * as acp from "@agentclientprotocol/sdk";
15
15
  import { CodebuffClient, } from "@codebuff/sdk";
16
16
  import { promptToCodebuff, textFromOutput } from "./converters.js";
17
+ import { loadConfig, saveConfig } from "./config.js";
17
18
  import { isGatedTool, toolKind, toolLocations, toolScopeDescription, toolTitle, } from "./mapping.js";
18
19
  import { deleteSession, listSessionRecords, loadSessionRecord, saveSession, titleFromPrompt, } from "./sessions.js";
19
20
  const VERSION = "0.1.0";
@@ -24,12 +25,26 @@ function newId(prefix) {
24
25
  export class CodebuffAcpAgent {
25
26
  sessions = new Map();
26
27
  clientFactory;
27
- apiKey = process.env.CODEBUFF_API_KEY ?? "";
28
+ /** Resolved lazily (env var > saved config) and cached for the process. */
29
+ apiKeyCache;
28
30
  constructor(opts = {}) {
29
31
  this.clientFactory =
30
32
  opts.clientFactory ??
31
33
  ((o) => new CodebuffClient(o));
32
34
  }
35
+ /** Resolve the Codebuff API key: `CODEBUFF_API_KEY` env var wins, then the
36
+ * value saved by `--setup` (Terminal Auth). Cached after first resolution. */
37
+ resolveApiKey() {
38
+ if (!this.apiKeyCache) {
39
+ this.apiKeyCache = (async () => {
40
+ const env = process.env.CODEBUFF_API_KEY;
41
+ if (env)
42
+ return env;
43
+ return (await loadConfig()).apiKey ?? "";
44
+ })();
45
+ }
46
+ return this.apiKeyCache;
47
+ }
33
48
  /** ---- lifecycle handlers ---- */
34
49
  async initialize(_params) {
35
50
  return {
@@ -55,14 +70,26 @@ export class CodebuffAcpAgent {
55
70
  title: "Codebuff",
56
71
  version: VERSION,
57
72
  },
58
- authMethods: [],
73
+ authMethods: [
74
+ {
75
+ id: "codebuff-api-key",
76
+ name: "Configure Codebuff API key",
77
+ description: "Prompt for your Codebuff API key (from https://codebuff.com) and save it locally for future sessions.",
78
+ type: "terminal",
79
+ args: ["--setup"],
80
+ },
81
+ ],
59
82
  };
60
83
  }
61
84
  async authenticate(params) {
62
85
  const key = params._meta
63
86
  ?.codebuff?.apiKey;
64
- if (key)
65
- this.apiKey = key;
87
+ if (key) {
88
+ // Override the cached key for any client built afterwards, and persist
89
+ // so later processes pick it up.
90
+ this.apiKeyCache = Promise.resolve(key);
91
+ await saveConfig({ apiKey: key }).catch((err) => console.error("Failed to save Codebuff config:", err));
92
+ }
66
93
  return {};
67
94
  }
68
95
  async newSession(params) {
@@ -318,7 +345,7 @@ export class CodebuffAcpAgent {
318
345
  // Lazily construct the Codebuff client on first prompt so that sessions
319
346
  // can be created without an API key (the error surfaces only when the
320
347
  // user actually sends a message).
321
- const cb = (session.client ??= this.buildClient(session.cwd));
348
+ const cb = (session.client ??= await this.buildClient(session.cwd));
322
349
  result = await cb.run({
323
350
  agent: DEFAULT_AGENT_ID,
324
351
  prompt: promptString,
@@ -473,8 +500,8 @@ export class CodebuffAcpAgent {
473
500
  }
474
501
  return session;
475
502
  }
476
- buildClient(cwd) {
477
- return this.clientFactory({ apiKey: this.apiKey, cwd });
503
+ async buildClient(cwd) {
504
+ return this.clientFactory({ apiKey: await this.resolveApiKey(), cwd });
478
505
  }
479
506
  async replayHistory(session, client) {
480
507
  const history = session.previousRun?.sessionState?.mainAgentState
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Local configuration storage for codebuff-agent-acp.
3
+ *
4
+ * Holds the Codebuff API key collected by the `--setup` (Terminal Auth) flow at
5
+ * `<configHome>/config.json`, with restrictive permissions on platforms that
6
+ * honor them. The env var `CODEBUFF_API_KEY` always takes precedence.
7
+ */
8
+ export interface CodebuffAcpConfig {
9
+ apiKey?: string;
10
+ }
11
+ /** Root directory for codebuff-agent-acp state (config + sessions). */
12
+ export declare function configHome(): string;
13
+ export declare function loadConfig(): Promise<CodebuffAcpConfig>;
14
+ export declare function saveConfig(config: CodebuffAcpConfig): Promise<void>;
15
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,uEAAuE;AACvE,wBAAgB,UAAU,IAAI,MAAM,CAInC;AAMD,wBAAsB,UAAU,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAQ7D;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMzE"}
package/dist/config.js ADDED
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Local configuration storage for codebuff-agent-acp.
3
+ *
4
+ * Holds the Codebuff API key collected by the `--setup` (Terminal Auth) flow at
5
+ * `<configHome>/config.json`, with restrictive permissions on platforms that
6
+ * honor them. The env var `CODEBUFF_API_KEY` always takes precedence.
7
+ */
8
+ import { promises as fs } from "node:fs";
9
+ import * as os from "node:os";
10
+ import * as path from "node:path";
11
+ /** Root directory for codebuff-agent-acp state (config + sessions). */
12
+ export function configHome() {
13
+ return (process.env.CODEBUFF_ACP_HOME ?? path.join(os.homedir(), ".codebuff-acp"));
14
+ }
15
+ function configPath() {
16
+ return path.join(configHome(), "config.json");
17
+ }
18
+ export async function loadConfig() {
19
+ try {
20
+ const raw = await fs.readFile(configPath(), "utf8");
21
+ return JSON.parse(raw);
22
+ }
23
+ catch (err) {
24
+ if (err.code === "ENOENT")
25
+ return {};
26
+ throw err;
27
+ }
28
+ }
29
+ export async function saveConfig(config) {
30
+ await fs.mkdir(configHome(), { recursive: true });
31
+ // Restrictive permissions — this file holds the API key. (No-op on Windows.)
32
+ await fs.writeFile(configPath(), JSON.stringify(config, null, 2), {
33
+ mode: 0o600,
34
+ });
35
+ }
36
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAMlC,uEAAuE;AACvE,MAAM,UAAU,UAAU;IACxB,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,aAAa,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsB,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAChE,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAyB;IACxD,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,6EAA6E;IAC7E,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;QAChE,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;AACL,CAAC"}
package/dist/index.d.ts CHANGED
@@ -4,6 +4,9 @@
4
4
  *
5
5
  * stdout carries ACP JSON-RPC messages to the client; everything else is
6
6
  * redirected to stderr so logs never corrupt the protocol stream.
7
+ *
8
+ * `--setup` runs the interactive Terminal Auth flow (collect + save the
9
+ * Codebuff API key) instead of starting the ACP server.
7
10
  */
8
11
  export {};
9
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG"}
package/dist/index.js CHANGED
@@ -4,33 +4,72 @@
4
4
  *
5
5
  * stdout carries ACP JSON-RPC messages to the client; everything else is
6
6
  * redirected to stderr so logs never corrupt the protocol stream.
7
+ *
8
+ * `--setup` runs the interactive Terminal Auth flow (collect + save the
9
+ * Codebuff API key) instead of starting the ACP server.
7
10
  */
8
11
  import { Readable, Writable } from "node:stream";
12
+ import * as path from "node:path";
13
+ import * as readline from "node:readline/promises";
14
+ import { stdin as input, stdout as output } from "node:process";
9
15
  import * as acp from "@agentclientprotocol/sdk";
10
16
  import { runAcp } from "./agent.js";
17
+ import { configHome, loadConfig, saveConfig } from "./config.js";
11
18
  import packageJson from "../package.json" with { type: "json" };
12
- if (process.argv.includes("--version") || process.argv.includes("-v")) {
19
+ if (process.argv.includes("--setup")) {
20
+ runSetup().then(() => process.exit(0));
21
+ }
22
+ else if (process.argv.includes("--version") || process.argv.includes("-v")) {
13
23
  console.log(packageJson.version);
14
24
  process.exit(0);
15
25
  }
16
- // stdout is the protocol channel — divert all logging to stderr.
17
- console.log = console.error;
18
- console.info = console.error;
19
- console.warn = console.error;
20
- console.debug = console.error;
21
- process.on("unhandledRejection", (reason, promise) => {
22
- console.error("Unhandled Rejection at:", promise, "reason:", reason);
23
- });
24
- const stream = acp.ndJsonStream(Writable.toWeb(process.stdout), Readable.toWeb(process.stdin));
25
- const { connection, agent } = runAcp(stream);
26
- async function shutdown() {
27
- agent.dispose();
28
- connection.close();
29
- process.exit(0);
26
+ else {
27
+ startServer();
28
+ }
29
+ /** Interactive Terminal Auth: prompt for the Codebuff API key and persist it. */
30
+ async function runSetup() {
31
+ const existing = await loadConfig();
32
+ process.stderr.write("codebuff-agent-acp setup\n");
33
+ process.stderr.write("Get your API key from https://codebuff.com (Profile → API Keys).\n");
34
+ if (existing.apiKey) {
35
+ const masked = `${existing.apiKey.slice(0, 6)}…${existing.apiKey.slice(-4)}`;
36
+ process.stderr.write(`Current key: ${masked}\n`);
37
+ }
38
+ const rl = readline.createInterface({ input, output });
39
+ try {
40
+ const answer = (await rl.question("Paste your Codebuff API key (Enter to keep current): ")).trim();
41
+ const key = answer || existing.apiKey;
42
+ if (!key) {
43
+ process.stderr.write("No key provided; nothing saved.\n");
44
+ return;
45
+ }
46
+ await saveConfig({ apiKey: key });
47
+ process.stderr.write(`✓ Saved to ${path.join(configHome(), "config.json")}\n`);
48
+ }
49
+ finally {
50
+ rl.close();
51
+ }
52
+ }
53
+ function startServer() {
54
+ // stdout is the protocol channel — divert all logging to stderr.
55
+ console.log = console.error;
56
+ console.info = console.error;
57
+ console.warn = console.error;
58
+ console.debug = console.error;
59
+ process.on("unhandledRejection", (reason, promise) => {
60
+ console.error("Unhandled Rejection at:", promise, "reason:", reason);
61
+ });
62
+ const stream = acp.ndJsonStream(Writable.toWeb(process.stdout), Readable.toWeb(process.stdin));
63
+ const { connection, agent } = runAcp(stream);
64
+ async function shutdown() {
65
+ agent.dispose();
66
+ connection.close();
67
+ process.exit(0);
68
+ }
69
+ connection.closed.then(shutdown).catch(shutdown);
70
+ process.on("SIGTERM", () => void shutdown());
71
+ process.on("SIGINT", () => void shutdown());
72
+ // Keep the process alive while the connection is open.
73
+ process.stdin.resume();
30
74
  }
31
- connection.closed.then(shutdown).catch(shutdown);
32
- process.on("SIGTERM", () => void shutdown());
33
- process.on("SIGINT", () => void shutdown());
34
- // Keep the process alive while the connection is open.
35
- process.stdin.resume();
36
75
  //# 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":";AAEA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEhE,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,iEAAiE;AACjE,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC;AAC5B,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;AAC7B,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;AAC7B,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AAE9B,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnD,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAC7B,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAC9B,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAA+B,CAC5D,CAAC;AAEF,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAE7C,KAAK,UAAU,QAAQ;IACrB,KAAK,CAAC,OAAO,EAAE,CAAC;IAChB,UAAU,CAAC,KAAK,EAAE,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACjD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;AAC7C,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;AAE5C,uDAAuD;AACvD,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAuBD,wBAAsB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAItE;AAED,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAQpC;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOpE;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAmBnE;AAED,uDAAuD;AACvD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAItD"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAoBD,wBAAsB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAItE;AAED,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAQpC;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOpE;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAmBnE;AAED,uDAAuD;AACvD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAItD"}
package/dist/sessions.js CHANGED
@@ -7,17 +7,14 @@
7
7
  * mirroring what `claude-agent-acp` does with Claude's session files.
8
8
  */
9
9
  import { promises as fs } from "node:fs";
10
- import * as os from "node:os";
11
10
  import * as path from "node:path";
11
+ import { configHome } from "./config.js";
12
12
  /**
13
13
  * Where session files live. Read lazily on each call so tests (and changing
14
14
  * `CODEBUFF_ACP_HOME`) are respected without a process restart.
15
15
  */
16
16
  function storeDir() {
17
- const home = process.env.CODEBUFF_ACP_HOME;
18
- return home
19
- ? path.join(home, "sessions")
20
- : path.join(os.homedir(), ".codebuff-acp", "sessions");
17
+ return path.join(configHome(), "sessions");
21
18
  }
22
19
  function fileFor(sessionId) {
23
20
  // Guard against path traversal — session ids are opaque to us.
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codebuff-agent-acp",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Use the Codebuff agent engine from any ACP-compatible client",
5
5
  "type": "module",
6
6
  "publishConfig": {