@ahpd/agent-claude 0.4.0 → 0.6.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/dist/claude.d.ts CHANGED
@@ -9,15 +9,13 @@ import type { Agent } from '@ahpd/sdk';
9
9
  /** How to build the Claude backend. */
10
10
  export interface ClaudeOptions {
11
11
  /**
12
- * The directories it will work in, and the ones it lists.
12
+ * The directories it lists, and where a session goes by default.
13
13
  *
14
- * The first is where a session goes when the client names none. A client
15
- * may name any of the others and nothing else: a host that ran the agent
16
- * wherever it was told is one anybody who can reach the port can point at
17
- * any directory on the machine.
18
- *
19
- * This is also the catalogue's scope, so a directory left out is one whose
20
- * sessions are neither listed nor openable.
14
+ * The catalogue's scope: past sessions in these directories are listed and
15
+ * openable, and ones elsewhere are not. The first is also where a new
16
+ * session goes when the client names no directory. A client that names one
17
+ * gets it, wherever on the machine it is - the connection token decided who
18
+ * may be here, the way it does on the reference host.
21
19
  */
22
20
  paths: string[];
23
21
  /** The id clients name. `claude` unless something else already is. */
@@ -1 +1 @@
1
- {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAc,MAAM,WAAW,CAAC;AAYnD;;;;;;GAMG;AAEH,uCAAuC;AACvC,MAAM,WAAW,aAAa;IAC5B;;;;;;;;;;OAUG;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,kFAAkF;AAClF,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,KAAK,CAmTpD"}
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAc,MAAM,WAAW,CAAC;AAYnD;;;;;;GAMG;AAEH,uCAAuC;AACvC,MAAM,WAAW,aAAa;IAC5B;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,kFAAkF;AAClF,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,KAAK,CAsXpD"}
package/dist/claude.js CHANGED
@@ -3,7 +3,9 @@ import { serversFor } from './mcp.js';
3
3
  import { createSession, EFFORT_LABELS, EFFORTS } from './session.js';
4
4
  import { turnsOf } from './transcript.js';
5
5
  import { catalogue } from './catalog.js';
6
- import { within } from '@ahpd/sdk';
6
+ import { existsSync, readdirSync } from 'node:fs';
7
+ import { homedir } from 'node:os';
8
+ import { isAbsolute, join } from 'node:path';
7
9
  /**
8
10
  * The resource a token for this backend is for.
9
11
  *
@@ -22,26 +24,15 @@ export function claude(options) {
22
24
  /**
23
25
  * Which directory a session goes in.
24
26
  *
25
- * Named, or the first. Anything else is refused rather than quietly
26
- * replaced - a directory accepted and then ignored is a session running
27
- * somewhere nobody asked for, with nothing on screen to say so.
27
+ * Named, or the first. An absolute path is taken as it was given, so the
28
+ * session runs where the client said; a relative one has no meaning on a
29
+ * host whose own directory the client cannot see, and is refused.
28
30
  */
29
31
  const workingDirectory = (asked) => {
30
32
  if (asked === undefined)
31
33
  return dir;
32
- /*
33
- * Under a served directory, not equal to one.
34
- *
35
- * This compared for equality, so a host told to serve `/home/you` served
36
- * that one directory and refused every project inside it - which is the
37
- * only kind of directory anybody opens. An editor asks for its workspace
38
- * folder, and that is never the path somebody passed to `--path`.
39
- */
40
- if (!dirs.some((served) => within(served, asked))) {
41
- throw new Error(`This host does not serve ${asked}. It serves ${dirs.join(', ')}.`);
42
- }
43
- // What was asked for, not the root it sits under: the session runs where
44
- // the client said.
34
+ if (!isAbsolute(asked))
35
+ throw new Error(`A working directory is an absolute path, not ${asked}.`);
45
36
  return asked;
46
37
  };
47
38
  /*
@@ -169,6 +160,50 @@ export function claude(options) {
169
160
  default: 'adaptive',
170
161
  sessionMutable: false,
171
162
  },
163
+ /*
164
+ * The sandbox, on the reference host's three words.
165
+ *
166
+ * A platform key the reference client draws a control for on every
167
+ * backend that declares it. The CLI has a sandbox of its own for shell
168
+ * commands, `sandbox.enabled` in its settings, and that is what the
169
+ * three values reach: `on` and `off` set it, `default` leaves it to the
170
+ * settings files. Live, because the flag settings take it mid-session.
171
+ */
172
+ sandboxEnabled: {
173
+ scope: 'session',
174
+ type: 'string',
175
+ title: 'Sandbox',
176
+ description: 'Sandbox behavior for this session. Default follows the global setting.',
177
+ enum: ['default', 'on', 'off'],
178
+ enumLabels: ['Default', 'On', 'Off'],
179
+ default: 'default',
180
+ sessionMutable: true,
181
+ },
182
+ /*
183
+ * Scripts a client generated, sourced before every shell command.
184
+ *
185
+ * The reference client sends this only where a schema declares it, and
186
+ * `readOnly` because nobody types one: it carries the shell profile and
187
+ * the Python environment the window has selected for the folder. No
188
+ * `default`, so absent stays tellable from an explicit empty list.
189
+ */
190
+ shellInitScripts: {
191
+ scope: 'session',
192
+ type: 'array',
193
+ title: 'Shell Init Script',
194
+ description: 'A script sourced before each built-in shell tool command.',
195
+ items: {
196
+ type: 'object',
197
+ title: 'Shell Init Script',
198
+ properties: {
199
+ shell: { type: 'string', title: 'Shell', enum: ['bash', 'powershell'] },
200
+ script: { type: 'string', title: 'Script' },
201
+ },
202
+ required: ['shell', 'script'],
203
+ },
204
+ readOnly: true,
205
+ sessionMutable: true,
206
+ },
172
207
  /*
173
208
  * Per-tool allow and deny, which is the slope the mode above is a cliff.
174
209
  *
@@ -208,6 +243,7 @@ export function claude(options) {
208
243
  // a control a client cannot show and cannot change.
209
244
  ...(perModelEffort ? {} : { effortLevel: 'high' }),
210
245
  thinking: 'adaptive',
246
+ sandboxEnabled: 'default',
211
247
  permissions: { allow: [], deny: [] },
212
248
  ...(style !== undefined ? { outputStyle: style } : {}),
213
249
  });
@@ -238,6 +274,45 @@ export function claude(options) {
238
274
  // catalogue of the directory it ran in, and a host serving several has
239
275
  // one catalogue.
240
276
  list: async () => (await Promise.all(dirs.map((served) => catalogue(served)))).flat(),
277
+ /*
278
+ * The transcript on disk, which is the CLI's own record of a session.
279
+ *
280
+ * `~/.claude/projects/<directory>/<id>.jsonl`, with the directory spelled
281
+ * the way the CLI spells it - every character that is not a letter or a
282
+ * digit made a dash - and `CLAUDE_CONFIG_DIR` in place of `~/.claude`
283
+ * where it is set. A session resumed elsewhere may have been written
284
+ * under the directory it started in, so the other projects are looked
285
+ * through before answering that there is none.
286
+ */
287
+ stateFile: (id, directory) => {
288
+ if (!/^[A-Za-z0-9-]+$/.test(id))
289
+ return undefined;
290
+ const projects = join(process.env.CLAUDE_CONFIG_DIR ?? join(homedir(), '.claude'), 'projects');
291
+ const own = join(projects, directory.replace(/[^A-Za-z0-9]/g, '-'), `${id}.jsonl`);
292
+ if (existsSync(own))
293
+ return own;
294
+ let names;
295
+ try {
296
+ names = readdirSync(projects);
297
+ }
298
+ catch {
299
+ return undefined;
300
+ }
301
+ for (const name of names) {
302
+ const file = join(projects, name, `${id}.jsonl`);
303
+ if (existsSync(file))
304
+ return file;
305
+ }
306
+ return undefined;
307
+ },
308
+ // What to probe when the network is in question: the API, which answers
309
+ // an unauthenticated request with 401 - reached, and refusing - and the
310
+ // base URL the CLI would use where one is set.
311
+ endpoints: () => [{
312
+ name: 'Anthropic API',
313
+ url: `${(process.env.ANTHROPIC_BASE_URL ?? 'https://api.anthropic.com').replace(/\/$/, '')}/v1/models`,
314
+ expectedStatus: 401,
315
+ }],
241
316
  // Whichever directory holds it. The transcript reader wants the one the
242
317
  // session ran in, and only its own catalogue knows which that was.
243
318
  transcript: async (id) => {
@@ -283,6 +358,7 @@ export function claude(options) {
283
358
  : {}),
284
359
  // The host's own tools, offered to the model beside this backend's.
285
360
  ...(start.tools && start.tools.length > 0 ? { tools: start.tools } : {}),
361
+ ...(start.instructions && start.instructions.length > 0 ? { instructions: start.instructions } : {}),
286
362
  settings: start.settings,
287
363
  schema: start.schema,
288
364
  emit: start.emit,
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * What kind of thing a tool call is, said where the reference client reads it.
3
+ *
4
+ * `_meta.toolKind` is not protocol. It is the one well-known key VS Code's
5
+ * agent window routes a tool call by: `terminal` goes to the command-and-output
6
+ * renderer, `subagent` to the subagent view, `search` and `read` to theirs, and
7
+ * a call with none is drawn as a generic tool - a name and a box. The reference
8
+ * host stamps it in its own adapters, and derives it for a "remote host" from
9
+ * a Copilot-internal permission payload this backend does not have; so it is
10
+ * stamped here, from the harness's own tool names, which are the one thing
11
+ * about a tool call this backend can be sure of.
12
+ *
13
+ * Names only. Nothing else about the call decides the kind, and a tool this
14
+ * table has not heard of is left unstamped rather than guessed at - the
15
+ * generic renderer is right for a tool nobody here knows.
16
+ */
17
+ export type ToolKind = 'terminal' | 'read' | 'search' | 'subagent';
18
+ /** The kind of a tool by its harness name, or nothing for one the table lacks. */
19
+ export declare const toolKindOf: (name: string) => ToolKind | undefined;
20
+ /**
21
+ * The `_meta` a tool call carries from the moment it is announced.
22
+ *
23
+ * The reducer replaces a call's whole `_meta` whenever an action carries one,
24
+ * so anything added later - a progress line while it runs - has to be spread
25
+ * over this rather than sent alone. Absent for a tool with no kind, so a call
26
+ * that has nothing to say carries no empty bag.
27
+ */
28
+ export declare const toolMetaOf: (name: string) => Record<string, unknown> | undefined;
29
+ //# sourceMappingURL=kinds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kinds.d.ts","sourceRoot":"","sources":["../src/kinds.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAcnE,kFAAkF;AAClF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,QAAQ,GAAG,SAAwB,CAAC;AAE9E;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAGnE,CAAC"}
package/dist/kinds.js ADDED
@@ -0,0 +1,42 @@
1
+ /**
2
+ * What kind of thing a tool call is, said where the reference client reads it.
3
+ *
4
+ * `_meta.toolKind` is not protocol. It is the one well-known key VS Code's
5
+ * agent window routes a tool call by: `terminal` goes to the command-and-output
6
+ * renderer, `subagent` to the subagent view, `search` and `read` to theirs, and
7
+ * a call with none is drawn as a generic tool - a name and a box. The reference
8
+ * host stamps it in its own adapters, and derives it for a "remote host" from
9
+ * a Copilot-internal permission payload this backend does not have; so it is
10
+ * stamped here, from the harness's own tool names, which are the one thing
11
+ * about a tool call this backend can be sure of.
12
+ *
13
+ * Names only. Nothing else about the call decides the kind, and a tool this
14
+ * table has not heard of is left unstamped rather than guessed at - the
15
+ * generic renderer is right for a tool nobody here knows.
16
+ */
17
+ const KINDS = {
18
+ Bash: 'terminal',
19
+ terminal: 'terminal',
20
+ Read: 'read',
21
+ Glob: 'search',
22
+ Grep: 'search',
23
+ WebSearch: 'search',
24
+ WebFetch: 'search',
25
+ Task: 'subagent',
26
+ Agent: 'subagent',
27
+ };
28
+ /** The kind of a tool by its harness name, or nothing for one the table lacks. */
29
+ export const toolKindOf = (name) => KINDS[name];
30
+ /**
31
+ * The `_meta` a tool call carries from the moment it is announced.
32
+ *
33
+ * The reducer replaces a call's whole `_meta` whenever an action carries one,
34
+ * so anything added later - a progress line while it runs - has to be spread
35
+ * over this rather than sent alone. Absent for a tool with no kind, so a call
36
+ * that has nothing to say carries no empty bag.
37
+ */
38
+ export const toolMetaOf = (name) => {
39
+ const toolKind = toolKindOf(name);
40
+ return toolKind === undefined ? undefined : { toolKind };
41
+ };
42
+ //# sourceMappingURL=kinds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kinds.js","sourceRoot":"","sources":["../src/kinds.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,KAAK,GAAuC;IAChD,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,QAAQ;IACnB,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,UAAU;CAClB,CAAC;AAEF,kFAAkF;AAClF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAwB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAE9E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAuC,EAAE;IAC9E,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3D,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,KAAK,EAAE,GAAG,EAA6B,OAAO,EAAE,cAAc,EAAY,MAAM,WAAW,CAAC;AAEnG;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,oDAAqD,CAAC;AAE1E,oFAAoF;AACpF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAEhE,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAsEnD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,MAAM,GAAE,OAAO,EAAO,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,GAAG,EAAE,CA4L1H;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAYpF;AAiGD,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAgpE9D"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAKnF,OAAO,KAAK,EAAE,GAAG,EAA0C,OAAO,EAAE,cAAc,EAAY,MAAM,WAAW,CAAC;AAEhH;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,oDAAqD,CAAC;AAE1E,oFAAoF;AACpF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAEhE,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AA2GnD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,MAAM,GAAE,OAAO,EAAO,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,GAAG,EAAE,CA4L1H;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAYpF;AAiGD,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CA2xE9D"}