chore: recover hamburg workspace state

This commit is contained in:
Nathan Flurry 2026-03-09 19:59:42 -07:00
parent 5d65013aa5
commit 196541394b
15 changed files with 1082 additions and 60 deletions

View file

@ -96,6 +96,14 @@ const session = await sdk.createSession({
});
```
```ts
// Claude permission modes are exposed as a first-class helper.
const claude = await sdk.createSession({
agent: "claude",
permissionMode: "default",
});
```
```ts
// After creation
await session.setModel("gpt-5.2-codex");
@ -103,6 +111,10 @@ await session.setMode("full-access");
await session.setThoughtLevel("medium");
```
```ts
await claude.setPermissionMode("acceptEdits");
```
Query available modes:
```ts
@ -125,9 +137,30 @@ for (const opt of options) {
await session.setConfigOption("some-agent-option", "value");
```
## Handle permission requests
For agents that use ACP `session/request_permission` (for example Claude in `default` mode), register a permission listener and reply with `once`, `always`, or `reject`:
```ts
const claude = await sdk.createSession({
agent: "claude",
permissionMode: "default",
});
claude.onPermissionRequest((request) => {
console.log(request.toolCall.title, request.availableReplies);
void claude.replyPermission(request.id, "once");
});
await claude.prompt([
{ type: "text", text: "Create ./permission-example.txt with the text hello." },
]);
```
See `examples/claude-permissions/src/index.ts` for a complete Claude example with interactive approve/reject handling.
## Destroy a session
```ts
await sdk.destroySession(session.id);
```

View file

@ -138,6 +138,19 @@ const options = await session.getConfigOptions();
const modes = await session.getModes();
```
Claude permission modes use the same surface:
```ts
const claude = await sdk.createSession({
agent: "claude",
permissionMode: "default",
});
claude.onPermissionRequest((request) => {
void claude.replyPermission(request.id, "once");
});
```
See [Agent Sessions](/agent-sessions) for full details on config options and error handling.
## Events