@gtc6244/immediacy-daemon 0.1.0 → 0.1.2
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 +250 -0
- package/dist/src/agent/agent.d.ts +19 -6
- package/dist/src/agent/agent.js +3 -1
- package/dist/src/agent/agent.js.map +1 -1
- package/dist/src/agent/anthropic-probe.d.ts +24 -0
- package/dist/src/agent/anthropic-probe.js +81 -0
- package/dist/src/agent/anthropic-probe.js.map +1 -0
- package/dist/src/agent/claude.d.ts +4 -2
- package/dist/src/agent/claude.js +32 -4
- package/dist/src/agent/claude.js.map +1 -1
- package/dist/src/agent/codex.d.ts +1 -1
- package/dist/src/agent/codex.js +26 -3
- package/dist/src/agent/codex.js.map +1 -1
- package/dist/src/agent/images.d.ts +21 -0
- package/dist/src/agent/images.js +54 -0
- package/dist/src/agent/images.js.map +1 -0
- package/dist/src/agent/mock.d.ts +1 -1
- package/dist/src/agent/mock.js +28 -3
- package/dist/src/agent/mock.js.map +1 -1
- package/dist/src/agent/ollama-probe.d.ts +28 -0
- package/dist/src/agent/ollama-probe.js +76 -0
- package/dist/src/agent/ollama-probe.js.map +1 -0
- package/dist/src/agent/ollama.d.ts +42 -0
- package/dist/src/agent/ollama.js +64 -0
- package/dist/src/agent/ollama.js.map +1 -0
- package/dist/src/agent/openai-probe.d.ts +18 -0
- package/dist/src/agent/openai-probe.js +83 -0
- package/dist/src/agent/openai-probe.js.map +1 -0
- package/dist/src/agent/openrouter-probe.d.ts +21 -0
- package/dist/src/agent/openrouter-probe.js +77 -0
- package/dist/src/agent/openrouter-probe.js.map +1 -0
- package/dist/src/crypto.js +7 -2
- package/dist/src/crypto.js.map +1 -1
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.js +35 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/jobs/scheduler.d.ts +1 -0
- package/dist/src/jobs/scheduler.js +1 -0
- package/dist/src/jobs/scheduler.js.map +1 -1
- package/dist/src/media-watch.d.ts +29 -0
- package/dist/src/media-watch.js +108 -0
- package/dist/src/media-watch.js.map +1 -0
- package/dist/src/media.d.ts +54 -0
- package/dist/src/media.js +156 -0
- package/dist/src/media.js.map +1 -0
- package/dist/src/model-efforts.d.ts +49 -0
- package/dist/src/model-efforts.js +107 -0
- package/dist/src/model-efforts.js.map +1 -0
- package/dist/src/models.d.ts +50 -17
- package/dist/src/models.js +119 -21
- package/dist/src/models.js.map +1 -1
- package/dist/src/projects.d.ts +7 -0
- package/dist/src/projects.js +14 -0
- package/dist/src/projects.js.map +1 -1
- package/dist/src/protocol.d.ts +127 -9
- package/dist/src/protocol.js +1 -1
- package/dist/src/server.js +105 -5
- package/dist/src/server.js.map +1 -1
- package/dist/src/types.d.ts +9 -0
- package/dist/src/workspace.d.ts +25 -0
- package/dist/src/workspace.js +159 -6
- package/dist/src/workspace.js.map +1 -1
- package/package.json +3 -2
- package/dist/src/migrate-state-dir.d.ts +0 -1
- package/dist/src/migrate-state-dir.js +0 -47
- package/dist/src/migrate-state-dir.js.map +0 -1
package/README.md
ADDED
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
# @gtc6244/immediacy-daemon
|
|
2
|
+
|
|
3
|
+
> The **Conductor core** for [Immediacy](https://GetImmediacy.com) — a daemon that
|
|
4
|
+
> runs wherever your code lives (your Mac, a VPS, or a spare box at home), owns git
|
|
5
|
+
> worktrees, and drives headless coding agents — **Claude, Codex, OpenRouter (just
|
|
6
|
+
> about any model), and local Ollama models** — behind a single multiplexed
|
|
7
|
+
> WebSocket protocol.
|
|
8
|
+
|
|
9
|
+
[](https://www.npmjs.com/package/@gtc6244/immediacy-daemon)
|
|
10
|
+
[](https://nodejs.org)
|
|
11
|
+
|
|
12
|
+
- 🌐 **Landing page:** <https://GetImmediacy.com>
|
|
13
|
+
- 📦 **npm:** <https://www.npmjs.com/package/@gtc6244/immediacy-daemon>
|
|
14
|
+
- 🛠 **Source / issues:** <https://github.com/GTC6244/Immediacy> (this package lives in [`/daemon`](https://github.com/GTC6244/Immediacy/tree/master/daemon))
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Overview
|
|
19
|
+
|
|
20
|
+
Immediacy lets you run parallel AI agents on the machine that holds your code and
|
|
21
|
+
drive them from anywhere — an Android/iOS phone or tablet, a native macOS app, or
|
|
22
|
+
a browser. Pick any model per workspace: **Claude**, **Codex**, **OpenRouter**
|
|
23
|
+
(just about any hosted model), or a **local Ollama** model running on your own
|
|
24
|
+
hardware — and run it in a **coding workspace** (git worktree + diff + terminal)
|
|
25
|
+
*or* a **plain chat** (repo-less, free-form). So you can use any model at any time,
|
|
26
|
+
including your own local models driven remotely from your phone. **This package is
|
|
27
|
+
the daemon that makes that possible.**
|
|
28
|
+
|
|
29
|
+
It runs as a lightweight background service, installed with one CLI command on
|
|
30
|
+
macOS, Linux, or a VPS (see [Install](#install) below). Each task gets **one git
|
|
31
|
+
worktree + one headless agent session**, isolated from the others, and every
|
|
32
|
+
client speaks to the daemon over one WebSocket wire protocol. The work is
|
|
33
|
+
device-fluid: because the daemon is the source of truth, you can start on one
|
|
34
|
+
device and pick up on another, and a client can connect to **several daemons at
|
|
35
|
+
once** to fan work across every machine you own. The daemon never opens an
|
|
36
|
+
inbound port — remote clients reach it through a Cloudflare edge that it dials
|
|
37
|
+
*out* to.
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
Flutter / iOS app ⇄ (WSS) ⇄ Cloudflare edge ⇄ (cloudflared outbound) ⇄ daemon (Mac/VPS) → N × (git worktree + agent)
|
|
41
|
+
macOS app ⇄ (WS, loopback) ─────────────────────────────────────────────────┘
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
The phone and the daemon **never connect directly**. The phone hits a public
|
|
45
|
+
Cloudflare URL; the daemon only holds an outbound tunnel open. On the same
|
|
46
|
+
machine, the macOS app and the bundled browser client talk to the daemon over
|
|
47
|
+
loopback (`ws://127.0.0.1:8787`) — no tunnel needed.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Features
|
|
52
|
+
|
|
53
|
+
- **One worktree + one agent per task.** The daemon forks a fresh `git worktree`
|
|
54
|
+
for every workspace and runs an isolated agent session against it. Deleting a
|
|
55
|
+
workspace removes the worktree — **never** the branch or the underlying repo.
|
|
56
|
+
- **Four model providers behind one interface:**
|
|
57
|
+
- **Claude** (`claude-opus-4-8`, `claude-fable-5`, `claude-sonnet-5`, …) via the
|
|
58
|
+
Anthropic Agent SDK.
|
|
59
|
+
- **Codex** (`gpt-5-codex`, `gpt-5`, or `Codex (account default)`) via the OpenAI
|
|
60
|
+
`codex` CLI in headless, sandboxed `exec --json` mode.
|
|
61
|
+
- **OpenRouter — just about any model** (Gemini, DeepSeek, Grok, Qwen, and any
|
|
62
|
+
slug from <https://openrouter.ai/models>). It rides the *same* Agent SDK
|
|
63
|
+
backend as Claude via OpenRouter's Anthropic-compatible endpoint, so all the
|
|
64
|
+
same guarantees hold — only billing changes. Needs `OPENROUTER_API_KEY`.
|
|
65
|
+
- **Ollama — your own models, running locally.** Serves whatever you've
|
|
66
|
+
`ollama pull`ed from a local (or remote) Ollama — **no API key, no billing,
|
|
67
|
+
code never leaves the machine.** Installed models are auto-discovered into the
|
|
68
|
+
picker; set `OLLAMA_BASE_URL` for a remote box.
|
|
69
|
+
- A **mock** backend (`AGENT_MODE=mock`) does real worktree writes and diffs with
|
|
70
|
+
no API credits — ideal for testing.
|
|
71
|
+
- **Coding workspaces *and* plain chats.** A workspace is either a git worktree
|
|
72
|
+
(coding: diff + terminal + PR) or a repo-less free-form chat (like the
|
|
73
|
+
Claude/ChatGPT desktop apps). Every provider runs in both — use any model at any
|
|
74
|
+
time, for shipping code or just conversation.
|
|
75
|
+
- **Permission gating by default.** Every tool call is deferred to the client
|
|
76
|
+
(`event.permission_request` → `permission.respond`) and **default-denies on
|
|
77
|
+
timeout**. The daemon never runs `--dangerously-skip-permissions`; Codex runs
|
|
78
|
+
sandboxed (`-s workspace-write`, `approval_policy=never`) so edits stay inside
|
|
79
|
+
the worktree.
|
|
80
|
+
- **Live streaming.** Assistant messages, session events, tool-use events, git
|
|
81
|
+
diffs (`diff.get`), and a real PTY terminal (`node-pty`) all stream over the
|
|
82
|
+
socket.
|
|
83
|
+
- **End-to-end crypto + multi-device pairing.** An optional NaCl box layer (`E2E=1`)
|
|
84
|
+
seals each socket to that device's own key, so a phone, tablet, and desktop pair
|
|
85
|
+
independently. Pairing is trust-on-first-use behind Cloudflare Access, via a QR
|
|
86
|
+
code — no shared secret beyond the Access token.
|
|
87
|
+
- **GitHub integration without leaking tokens.** Workspace creation can pick from
|
|
88
|
+
your GitHub repos using the `gh` CLI already authenticated on the daemon's
|
|
89
|
+
machine — the token never touches the phone, the wire, or this source.
|
|
90
|
+
- **Bundled browser client.** The daemon's HTTP server serves a dependency-free
|
|
91
|
+
web UI on the same port `cloudflared` dials, so the Access login cookie authorizes
|
|
92
|
+
the same-origin WebSocket.
|
|
93
|
+
- **One CLI, every target.** Run in the foreground or install as a supervised
|
|
94
|
+
service — **launchd** on macOS, **systemd** (`--user`) on Linux. Native deps ship
|
|
95
|
+
prebuilds for macOS + Linux (glibc, arm64/x64), so no compiler toolchain is needed.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Install
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
npm i -g @gtc6244/immediacy-daemon # public package — no auth needed
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Requires **Node.js ≥ 20**, plus `git` and (for GitHub integration) the `gh` CLI on
|
|
106
|
+
`PATH`. On **musl/Alpine** there are no native prebuilds — use Docker (see below).
|
|
107
|
+
|
|
108
|
+
### Run it
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
immediacy-daemon doctor # verify node / git / gh are present
|
|
112
|
+
immediacy-daemon install # write + start the background service
|
|
113
|
+
immediacy-daemon status # service state + /healthz probe
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Or run it in the foreground (Docker, ad-hoc):
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
immediacy-daemon start
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### CLI commands
|
|
123
|
+
|
|
124
|
+
| Command | What it does |
|
|
125
|
+
|---|---|
|
|
126
|
+
| `start` | Run the daemon in the foreground (Ctrl-C to stop). |
|
|
127
|
+
| `install [--print]` | Install + start the supervised service (launchd/systemd). `--print` renders the unit without installing. |
|
|
128
|
+
| `uninstall` | Stop and remove the service. |
|
|
129
|
+
| `restart` | Restart the running service. |
|
|
130
|
+
| `status` | Show service state and probe `http://127.0.0.1:<port>/healthz`. |
|
|
131
|
+
| `logs [-f]` | Print (or `-f` to tail) the daemon's stdout/stderr logs. |
|
|
132
|
+
| `doctor` | Check `node`/`git`/`gh` on `PATH` and whether the daemon responds. |
|
|
133
|
+
| `help` / `version` | Show help or version. |
|
|
134
|
+
|
|
135
|
+
Options (also read from the environment):
|
|
136
|
+
|
|
137
|
+
| Flag | Env | Default | Meaning |
|
|
138
|
+
|---|---|---|---|
|
|
139
|
+
| `--port <n>` | `DAEMON_PORT` | `8787` | Local port to bind (the port `cloudflared` dials). |
|
|
140
|
+
| `--host <addr>` | `DAEMON_HOST` | `127.0.0.1` | Bind address (`0.0.0.0` to expose on a LAN/emulator). |
|
|
141
|
+
| `--agent-mode <m>` | `AGENT_MODE` | `claude` | `claude` \| `mock`. |
|
|
142
|
+
| `--e2e` | `E2E=1` | off | Enable the NaCl box E2E layer (needs a paired peer). |
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Cloudflare connection
|
|
147
|
+
|
|
148
|
+
Remote clients never talk to the daemon's machine directly. `cloudflared` dials
|
|
149
|
+
**out** from that machine (Mac or VPS) to the Cloudflare edge and holds the
|
|
150
|
+
connection open, so **there's no inbound port, no port forwarding, and no VPN.**
|
|
151
|
+
The daemon just binds a local WebSocket on `127.0.0.1:8787`; Cloudflare Access does
|
|
152
|
+
authentication/authorization at the edge.
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
app ⇄ (WSS, public URL) ⇄ Cloudflare edge ⇄ (cloudflared outbound) ⇄ daemon (ws://127.0.0.1:8787)
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
End state: the daemon is reachable at `wss://your-subdomain.your-domain`, gated by
|
|
159
|
+
Cloudflare Access, with a service token the app presents. The optional NaCl box
|
|
160
|
+
codec (`E2E=1`) keeps the message `payload` private even from the edge.
|
|
161
|
+
|
|
162
|
+
**Quick setup:**
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
brew install cloudflared
|
|
166
|
+
cloudflared tunnel login # pick your Cloudflare domain
|
|
167
|
+
cloudflared tunnel create immediacy # prints a tunnel UUID + creds path
|
|
168
|
+
cloudflared tunnel route dns immediacy conductor.example.com
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
`~/.cloudflared/config.yml`:
|
|
172
|
+
|
|
173
|
+
```yaml
|
|
174
|
+
tunnel: immediacy
|
|
175
|
+
credentials-file: /Users/YOU/.cloudflared/<UUID>.json
|
|
176
|
+
ingress:
|
|
177
|
+
- hostname: conductor.example.com
|
|
178
|
+
service: ws://localhost:8787 # WebSockets are on by default
|
|
179
|
+
- service: http_status:404 # required catch-all
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Full walkthrough — tunnel + Access + service tokens:
|
|
183
|
+
[`docs/cloudflare-setup.md`](https://github.com/GTC6244/Immediacy/blob/master/docs/cloudflare-setup.md).
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Configuration & secrets
|
|
188
|
+
|
|
189
|
+
The daemon reads config from flags/environment and from `~/.immediacy/`:
|
|
190
|
+
|
|
191
|
+
| What | Where | Notes |
|
|
192
|
+
|---|---|---|
|
|
193
|
+
| Port / host / agent mode | `--port` / `--host` / `--agent-mode`, or `DAEMON_PORT` / `DAEMON_HOST` / `AGENT_MODE` | Baked into the service unit at install time. |
|
|
194
|
+
| E2E crypto | `--e2e` / `E2E=1` | NaCl box layer; needs a paired peer. |
|
|
195
|
+
| Provider API keys | `~/.immediacy/credentials.json` (0600), or `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `OPENROUTER_API_KEY` | Stored key wins over env. Anthropic/OpenAI fall back to a cached CLI/SSO login if unset. |
|
|
196
|
+
| Ollama endpoint | `OLLAMA_BASE_URL` (default `http://localhost:11434`), optional `OLLAMA_API_KEY` | Local Ollama is keyless; the base URL points at a remote box if you don't run it on the daemon's machine. Installed models are auto-discovered. |
|
|
197
|
+
| NaCl keypair / paired peers | `~/.immediacy/keys.json`, `peers.json` | Auto-created on first run. |
|
|
198
|
+
|
|
199
|
+
> The npm package is **public**, so its source is world-readable. **Runtime secrets
|
|
200
|
+
> are never in the package** — they live in `~/.immediacy/` on each host. Never
|
|
201
|
+
> commit or bundle API keys, and don't bake them into a Docker image.
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Docker (Linux fleet / Alpine)
|
|
206
|
+
|
|
207
|
+
For reproducible VPS fleets or musl/Alpine (no native prebuilds), a container is
|
|
208
|
+
cleaner than global npm — run the daemon in the foreground:
|
|
209
|
+
|
|
210
|
+
```dockerfile
|
|
211
|
+
FROM node:20-bookworm-slim
|
|
212
|
+
RUN apt-get update && apt-get install -y --no-install-recommends git ca-certificates \
|
|
213
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
214
|
+
RUN npm i -g @gtc6244/immediacy-daemon
|
|
215
|
+
EXPOSE 8787
|
|
216
|
+
# Mount ~/.immediacy for persistent keys/credentials; pass keys via env or the mount.
|
|
217
|
+
CMD ["immediacy-daemon", "start", "--host", "0.0.0.0"]
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Keep Macs on native launchd (real PTYs, local filesystem access) rather than Docker.
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## Day-2 operations
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
immediacy-daemon status # is it up? is /healthz responding?
|
|
228
|
+
immediacy-daemon logs -f # tail stdout/err
|
|
229
|
+
immediacy-daemon restart # restart the service
|
|
230
|
+
immediacy-daemon uninstall # stop + remove the service
|
|
231
|
+
|
|
232
|
+
npm i -g @gtc6244/immediacy-daemon@latest # update to the latest published version
|
|
233
|
+
immediacy-daemon restart
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
Logs: `~/Library/Logs/immediacy-daemon.{out,err}.log` (macOS) or
|
|
237
|
+
`~/.immediacy/daemon.{out,err}.log` (Linux).
|
|
238
|
+
|
|
239
|
+
Full deploy & publish guide:
|
|
240
|
+
[`daemon/DEPLOY.md`](https://github.com/GTC6244/Immediacy/blob/master/daemon/DEPLOY.md).
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## Links
|
|
245
|
+
|
|
246
|
+
- **Landing page:** <https://GetImmediacy.com>
|
|
247
|
+
- **GitHub repo:** <https://github.com/GTC6244/Immediacy>
|
|
248
|
+
- **npm package:** <https://www.npmjs.com/package/@gtc6244/immediacy-daemon>
|
|
249
|
+
- **Architecture reference:** [`docs/ARCHITECTURE.md`](https://github.com/GTC6244/Immediacy/blob/master/docs/ARCHITECTURE.md)
|
|
250
|
+
- **Cloudflare setup:** [`docs/cloudflare-setup.md`](https://github.com/GTC6244/Immediacy/blob/master/docs/cloudflare-setup.md)
|
|
@@ -37,6 +37,12 @@ export interface AgentContext {
|
|
|
37
37
|
resumeSessionId?: string;
|
|
38
38
|
/** Model id to run; backend-specific, undefined → backend default. */
|
|
39
39
|
model?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Reasoning-effort level to run at (e.g. "low"/"medium"/"high"/"xhigh"/"max"
|
|
42
|
+
* for Claude/OpenRouter, or a Codex/GPT reasoning effort). Undefined → the
|
|
43
|
+
* backend's own default. Backends without an effort knob ignore it.
|
|
44
|
+
*/
|
|
45
|
+
effort?: string;
|
|
40
46
|
/**
|
|
41
47
|
* Custom text (from prompts.general) appended to the session's system prompt.
|
|
42
48
|
* Empty/undefined → no append. Applied by SDK-backed agents (Claude /
|
|
@@ -66,15 +72,22 @@ export interface Agent {
|
|
|
66
72
|
* `attachments` (images / documents) ride along as model content blocks.
|
|
67
73
|
*/
|
|
68
74
|
prompt(text: string, attachments?: AgentAttachment[]): void;
|
|
69
|
-
/**
|
|
70
|
-
|
|
75
|
+
/**
|
|
76
|
+
* Resolve a deferred tool-call permission (allow/deny, or allow_all). Returns
|
|
77
|
+
* true only if THIS call actually resolved a still-pending request — false if
|
|
78
|
+
* it was already resolved (a faster device won a cross-device race), expired,
|
|
79
|
+
* or unknown. Callers broadcast the resolution only on a true return so a
|
|
80
|
+
* losing racer's decision is never announced to the fleet.
|
|
81
|
+
*/
|
|
82
|
+
respondPermission(requestId: string, decision: PermissionResponse): boolean;
|
|
71
83
|
/**
|
|
72
84
|
* Supply the user's answers to a deferred `AskUserQuestion` call. Backends
|
|
73
85
|
* without an interactive-question seam (mock/codex) ignore it — only the
|
|
74
86
|
* SDK-backed ClaudeAgent gates on it. `response` is an optional freeform reply
|
|
75
|
-
* used in place of the structured `answers`.
|
|
87
|
+
* used in place of the structured `answers`. Returns true only if this call
|
|
88
|
+
* resolved a still-pending question (see respondPermission).
|
|
76
89
|
*/
|
|
77
|
-
answerQuestion(requestId: string, answers: QuestionAnswers, response?: string):
|
|
90
|
+
answerQuestion(requestId: string, answers: QuestionAnswers, response?: string): boolean;
|
|
78
91
|
/** Tear down the session and deny anything outstanding. */
|
|
79
92
|
stop(): Promise<void>;
|
|
80
93
|
}
|
|
@@ -82,8 +95,8 @@ export interface Agent {
|
|
|
82
95
|
export declare abstract class BaseAgent extends EventEmitter implements Agent {
|
|
83
96
|
protected emitEvent(e: AgentEvent): void;
|
|
84
97
|
abstract prompt(text: string, attachments?: AgentAttachment[]): void;
|
|
85
|
-
abstract respondPermission(requestId: string, decision: PermissionResponse):
|
|
98
|
+
abstract respondPermission(requestId: string, decision: PermissionResponse): boolean;
|
|
86
99
|
/** Default no-op; only interactive-question backends (ClaudeAgent) override. */
|
|
87
|
-
answerQuestion(_requestId: string, _answers: QuestionAnswers, _response?: string):
|
|
100
|
+
answerQuestion(_requestId: string, _answers: QuestionAnswers, _response?: string): boolean;
|
|
88
101
|
abstract stop(): Promise<void>;
|
|
89
102
|
}
|
package/dist/src/agent/agent.js
CHANGED
|
@@ -17,6 +17,8 @@ export class BaseAgent extends EventEmitter {
|
|
|
17
17
|
this.emit("event", e);
|
|
18
18
|
}
|
|
19
19
|
/** Default no-op; only interactive-question backends (ClaudeAgent) override. */
|
|
20
|
-
answerQuestion(_requestId, _answers, _response) {
|
|
20
|
+
answerQuestion(_requestId, _answers, _response) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
21
23
|
}
|
|
22
24
|
//# sourceMappingURL=agent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/agent/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/agent/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA4F3C,8DAA8D;AAC9D,MAAM,OAAgB,SAAU,SAAQ,YAAY;IACxC,SAAS,CAAC,CAAa;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC;IAGD,gFAAgF;IAChF,cAAc,CAAC,UAAkB,EAAE,QAAyB,EAAE,SAAkB;QAC9E,OAAO,KAAK,CAAC;IACf,CAAC;CAEF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anthropic model discovery — enumerate the Claude models the account can use
|
|
3
|
+
* from the live Models API (`GET /v1/models`), scoped to the last 12 months.
|
|
4
|
+
*
|
|
5
|
+
* The list endpoint returns `{ id, display_name, created_at }` per model; we
|
|
6
|
+
* keep only models `created_at` within the trailing year (the product rule:
|
|
7
|
+
* online providers surface roughly a year of models, not the whole back
|
|
8
|
+
* catalog) and attach the reasoning-effort levels each Claude family supports
|
|
9
|
+
* (see effortsForClaude).
|
|
10
|
+
*
|
|
11
|
+
* Requires an Anthropic API key — the Models API can't be enumerated on a bare
|
|
12
|
+
* Claude Code subscription login. With no key (SSO-only) the probe yields `[]`
|
|
13
|
+
* and models.ts falls back to its curated static catalog. Never throws: an
|
|
14
|
+
* unreachable endpoint or a bad key degrades to `[]`.
|
|
15
|
+
*/
|
|
16
|
+
import type { ModelInfo } from "../protocol.js";
|
|
17
|
+
/** Last known Anthropic models (may be up to CACHE_TTL_MS stale). */
|
|
18
|
+
export declare function anthropicModels(): ModelInfo[];
|
|
19
|
+
/**
|
|
20
|
+
* Refresh the Anthropic catalog, honoring the TTL unless `force`. Returns the
|
|
21
|
+
* (possibly empty) list. Never throws — a missing key or unreachable endpoint
|
|
22
|
+
* yields `[]`, so callers fall back to the static catalog.
|
|
23
|
+
*/
|
|
24
|
+
export declare function refreshAnthropicModels(apiKey?: string, force?: boolean): Promise<ModelInfo[]>;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anthropic model discovery — enumerate the Claude models the account can use
|
|
3
|
+
* from the live Models API (`GET /v1/models`), scoped to the last 12 months.
|
|
4
|
+
*
|
|
5
|
+
* The list endpoint returns `{ id, display_name, created_at }` per model; we
|
|
6
|
+
* keep only models `created_at` within the trailing year (the product rule:
|
|
7
|
+
* online providers surface roughly a year of models, not the whole back
|
|
8
|
+
* catalog) and attach the reasoning-effort levels each Claude family supports
|
|
9
|
+
* (see effortsForClaude).
|
|
10
|
+
*
|
|
11
|
+
* Requires an Anthropic API key — the Models API can't be enumerated on a bare
|
|
12
|
+
* Claude Code subscription login. With no key (SSO-only) the probe yields `[]`
|
|
13
|
+
* and models.ts falls back to its curated static catalog. Never throws: an
|
|
14
|
+
* unreachable endpoint or a bad key degrades to `[]`.
|
|
15
|
+
*/
|
|
16
|
+
import { effortsForClaude, DEFAULT_CLAUDE_EFFORT } from "../model-efforts.js";
|
|
17
|
+
import { withinLastYear } from "../model-efforts.js";
|
|
18
|
+
const ANTHROPIC_BASE_URL = process.env.ANTHROPIC_BASE_URL ?? "https://api.anthropic.com";
|
|
19
|
+
const ANTHROPIC_VERSION = "2023-06-01";
|
|
20
|
+
const PROBE_TIMEOUT_MS = 4000;
|
|
21
|
+
const CACHE_TTL_MS = 60_000;
|
|
22
|
+
let cache = [];
|
|
23
|
+
let lastProbeMs = 0;
|
|
24
|
+
/** Last known Anthropic models (may be up to CACHE_TTL_MS stale). */
|
|
25
|
+
export function anthropicModels() {
|
|
26
|
+
return cache;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Refresh the Anthropic catalog, honoring the TTL unless `force`. Returns the
|
|
30
|
+
* (possibly empty) list. Never throws — a missing key or unreachable endpoint
|
|
31
|
+
* yields `[]`, so callers fall back to the static catalog.
|
|
32
|
+
*/
|
|
33
|
+
export async function refreshAnthropicModels(apiKey, force = false) {
|
|
34
|
+
if (!apiKey) {
|
|
35
|
+
cache = [];
|
|
36
|
+
return cache;
|
|
37
|
+
}
|
|
38
|
+
const now = Date.now();
|
|
39
|
+
if (!force && now - lastProbeMs < CACHE_TTL_MS)
|
|
40
|
+
return cache;
|
|
41
|
+
lastProbeMs = now;
|
|
42
|
+
cache = await probe(apiKey);
|
|
43
|
+
return cache;
|
|
44
|
+
}
|
|
45
|
+
async function probe(apiKey) {
|
|
46
|
+
try {
|
|
47
|
+
const res = await fetch(`${ANTHROPIC_BASE_URL}/v1/models?limit=1000`, {
|
|
48
|
+
signal: AbortSignal.timeout(PROBE_TIMEOUT_MS),
|
|
49
|
+
headers: {
|
|
50
|
+
"x-api-key": apiKey,
|
|
51
|
+
"anthropic-version": ANTHROPIC_VERSION,
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
if (!res.ok)
|
|
55
|
+
return [];
|
|
56
|
+
const body = (await res.json());
|
|
57
|
+
const models = [];
|
|
58
|
+
for (const m of body.data ?? []) {
|
|
59
|
+
const id = (m.id ?? "").trim();
|
|
60
|
+
if (!id)
|
|
61
|
+
continue;
|
|
62
|
+
if (!withinLastYear(m.created_at))
|
|
63
|
+
continue;
|
|
64
|
+
const efforts = effortsForClaude(id);
|
|
65
|
+
models.push({
|
|
66
|
+
id,
|
|
67
|
+
label: (m.display_name ?? id).trim() || id,
|
|
68
|
+
provider: "claude",
|
|
69
|
+
...(m.created_at ? { released: m.created_at } : {}),
|
|
70
|
+
...(efforts
|
|
71
|
+
? { efforts, defaultEffort: DEFAULT_CLAUDE_EFFORT(efforts) }
|
|
72
|
+
: {}),
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
return models;
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
return [];
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=anthropic-probe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic-probe.js","sourceRoot":"","sources":["../../../src/agent/anthropic-probe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,kBAAkB,GACtB,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,2BAA2B,CAAC;AAChE,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAEvC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,MAAM,YAAY,GAAG,MAAM,CAAC;AAM5B,IAAI,KAAK,GAAgB,EAAE,CAAC;AAC5B,IAAI,WAAW,GAAG,CAAC,CAAC;AAEpB,qEAAqE;AACrE,MAAM,UAAU,eAAe;IAC7B,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAe,EACf,KAAK,GAAG,KAAK;IAEb,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,KAAK,GAAG,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,CAAC,KAAK,IAAI,GAAG,GAAG,WAAW,GAAG,YAAY;QAAE,OAAO,KAAK,CAAC;IAC7D,WAAW,GAAG,GAAG,CAAC;IAClB,KAAK,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,MAAc;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,kBAAkB,uBAAuB,EAAE;YACpE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC7C,OAAO,EAAE;gBACP,WAAW,EAAE,MAAM;gBACnB,mBAAmB,EAAE,iBAAiB;aACvC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAe,CAAC;QAC9C,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,EAAE;gBAAE,SAAS;YAClB,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC;gBAAE,SAAS;YAC5C,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE;gBACF,KAAK,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE;gBAC1C,QAAQ,EAAE,QAAQ;gBAClB,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,OAAO;oBACT,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,qBAAqB,CAAC,OAAO,CAAC,EAAE;oBAC5D,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -49,8 +49,8 @@ export declare class ClaudeAgent extends BaseAgent {
|
|
|
49
49
|
*/
|
|
50
50
|
constructor(ctx: AgentContext, sdkEnv?: Record<string, string | undefined> | undefined);
|
|
51
51
|
prompt(text: string, attachments?: AgentAttachment[]): void;
|
|
52
|
-
respondPermission(requestId: string, decision: PermissionResponse):
|
|
53
|
-
answerQuestion(requestId: string, answers: QuestionAnswers, response?: string):
|
|
52
|
+
respondPermission(requestId: string, decision: PermissionResponse): boolean;
|
|
53
|
+
answerQuestion(requestId: string, answers: QuestionAnswers, response?: string): boolean;
|
|
54
54
|
/**
|
|
55
55
|
* Sweep the still-pending calls after a new "allow all" rule lands and let
|
|
56
56
|
* through any the allowlist now covers, emitting a `permission_resolved` per
|
|
@@ -67,4 +67,6 @@ export declare class ClaudeAgent extends BaseAgent {
|
|
|
67
67
|
private inputStream;
|
|
68
68
|
private runLoop;
|
|
69
69
|
private handleMessage;
|
|
70
|
+
/** Surface any base64 image blocks in a message/tool-result as image events. */
|
|
71
|
+
private emitImages;
|
|
70
72
|
}
|
package/dist/src/agent/claude.js
CHANGED
|
@@ -20,6 +20,7 @@ import { query } from "@anthropic-ai/claude-agent-sdk";
|
|
|
20
20
|
import { BaseAgent } from "./agent.js";
|
|
21
21
|
import { PermissionGate, QuestionGate } from "../permission-gate.js";
|
|
22
22
|
import { isWorkspaceScoped } from "./workspace-scope.js";
|
|
23
|
+
import { extractImages } from "./images.js";
|
|
23
24
|
import { classifyModelError } from "./model-error.js";
|
|
24
25
|
import { detectUsageLimit } from "../usage-limit.js";
|
|
25
26
|
import { extractTurnUsage } from "../usage.js";
|
|
@@ -92,18 +93,18 @@ export class ClaudeAgent extends BaseAgent {
|
|
|
92
93
|
}));
|
|
93
94
|
}
|
|
94
95
|
this.pendingCalls.delete(requestId);
|
|
95
|
-
this.gate.resolve(requestId, "allow");
|
|
96
|
+
const accepted = this.gate.resolve(requestId, "allow");
|
|
96
97
|
// The new rule may already cover other calls queued in this same burst
|
|
97
98
|
// (e.g. the model fired eight WebFetches to one site at once). Release
|
|
98
99
|
// them now instead of prompting for each — the whole point of "allow all".
|
|
99
100
|
this.releaseCoveredPending();
|
|
100
|
-
return;
|
|
101
|
+
return accepted;
|
|
101
102
|
}
|
|
102
103
|
this.pendingCalls.delete(requestId);
|
|
103
|
-
this.gate.resolve(requestId, decision);
|
|
104
|
+
return this.gate.resolve(requestId, decision);
|
|
104
105
|
}
|
|
105
106
|
answerQuestion(requestId, answers, response) {
|
|
106
|
-
this.questionGate.resolve(requestId, { answers, response });
|
|
107
|
+
return this.questionGate.resolve(requestId, { answers, response });
|
|
107
108
|
}
|
|
108
109
|
/**
|
|
109
110
|
* Sweep the still-pending calls after a new "allow all" rule lands and let
|
|
@@ -162,6 +163,12 @@ export class ClaudeAgent extends BaseAgent {
|
|
|
162
163
|
cwd: this.ctx.worktreePath,
|
|
163
164
|
resume: this.sessionId,
|
|
164
165
|
...(this.ctx.model ? { model: this.ctx.model } : {}),
|
|
166
|
+
// Reasoning-effort level (low/medium/high/xhigh/max). The CLI silently
|
|
167
|
+
// downgrades a level the selected model doesn't support, so passing it
|
|
168
|
+
// through is safe. Undefined → the model's own default.
|
|
169
|
+
...(this.ctx.effort
|
|
170
|
+
? { effort: this.ctx.effort }
|
|
171
|
+
: {}),
|
|
165
172
|
...(this.sdkEnv ? { env: { ...process.env, ...this.sdkEnv } } : {}),
|
|
166
173
|
// prompts.general (app config): append to Claude Code's own system
|
|
167
174
|
// prompt rather than replacing it. Omitted when empty.
|
|
@@ -281,6 +288,16 @@ export class ClaudeAgent extends BaseAgent {
|
|
|
281
288
|
const text = extractText(content);
|
|
282
289
|
if (text)
|
|
283
290
|
this.emitEvent({ kind: "assistant", text });
|
|
291
|
+
// A model may (rarely) emit an image block directly in its message.
|
|
292
|
+
this.emitImages(content);
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
case "user": {
|
|
296
|
+
// Tool results arrive wrapped in a `user`-type message. A screenshot
|
|
297
|
+
// tool returns its image here — the primary path for agent-produced
|
|
298
|
+
// images (previously dropped by the default case below).
|
|
299
|
+
const content = m.message?.content;
|
|
300
|
+
this.emitImages(content);
|
|
284
301
|
return;
|
|
285
302
|
}
|
|
286
303
|
case "result": {
|
|
@@ -302,6 +319,17 @@ export class ClaudeAgent extends BaseAgent {
|
|
|
302
319
|
return; // partial/status/etc. — not forwarded
|
|
303
320
|
}
|
|
304
321
|
}
|
|
322
|
+
/** Surface any base64 image blocks in a message/tool-result as image events. */
|
|
323
|
+
emitImages(content) {
|
|
324
|
+
for (const img of extractImages(content)) {
|
|
325
|
+
this.emitEvent({
|
|
326
|
+
kind: "image",
|
|
327
|
+
mediaType: img.mediaType,
|
|
328
|
+
data: img.data,
|
|
329
|
+
source: "tool",
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
}
|
|
305
333
|
}
|
|
306
334
|
/**
|
|
307
335
|
* Turn a prompt (+ optional attachments) into the SDK user-message `content`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/agent/claude.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/agent/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,KAAK,EAAuB,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAqD,MAAM,YAAY,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,iFAAiF;AACjF,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,GAAG,CAAC;AAE1E,MAAM,OAAO,WAAY,SAAQ,SAAS;IA6B9B;IACA;IA7BF,IAAI,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C;;;;OAIG;IACK,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IAC1C;;;;OAIG;IACK,YAAY,GAAG,IAAI,GAAG,EAA4D,CAAC;IACnF,UAAU,GAAqB,EAAE,CAAC;IAClC,aAAa,GAAwB,IAAI,CAAC;IAC1C,MAAM,GAAG,KAAK,CAAC;IACf,OAAO,GAAG,KAAK,CAAC;IAChB,SAAS,CAAU;IAE3B;;;;;;;OAOG;IACH,YACU,GAAiB,EACjB,MAA2C;QAEnD,KAAK,EAAE,CAAC;QAHA,QAAG,GAAH,GAAG,CAAc;QACjB,WAAM,GAAN,MAAM,CAAqC;QAGnD,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,WAA+B;QAClD,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE;YACnE,kBAAkB,EAAE,IAAI;SACP,CAAC,CAAC;QACrB,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,SAAiB,EAAE,QAA4B;QAC/D,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,mEAAmE;YACnE,oEAAoE;YACpE,sDAAsD;YACtD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;gBAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,SAAS;qBACpB,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;qBACjF,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CACb,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,kCAAkC,EAAE;oBACxD,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW;oBACxB,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;iBACpE,CAAC,CACH,CAAC;YACN,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACvD,uEAAuE;YACvE,uEAAuE;YACvE,2EAA2E;YAC3E,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,cAAc,CAAC,SAAiB,EAAE,OAAwB,EAAE,QAAiB;QAC3E,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;;OASG;IACK,qBAAqB;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;QACrC,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,0DAA0D;QAC1D,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;gBAAE,SAAS;YACjF,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;IACzB,CAAC;IAED,gFAAgF;IACxE,KAAK,CAAC,CAAC,WAAW;QACxB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBAC9B,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAG,CAAC;YACjC,CAAC;YACD,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO;YACxB,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,SAAS,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,EAAE;YAC5C,EAAE;YACF,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;SAClD,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,KAAK,CAAC;gBACrB,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE;gBAC1B,OAAO,EAAE;oBACP,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY;oBAC1B,MAAM,EAAE,IAAI,CAAC,SAAS;oBACtB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,uEAAuE;oBACvE,uEAAuE;oBACvE,wDAAwD;oBACxD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM;wBACjB,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAqD,EAAE;wBAC5E,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,mEAAmE;oBACnE,uDAAuD;oBACvD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB;wBAC7B,CAAC,CAAC;4BACE,YAAY,EAAE;gCACZ,IAAI,EAAE,QAAiB;gCACvB,MAAM,EAAE,aAAsB;gCAC9B,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB;6BACpC;yBACF;wBACH,CAAC,CAAC,EAAE,CAAC;oBACP,sBAAsB,EAAE,KAAK;oBAC7B,kEAAkE;oBAClE,mEAAmE;oBACnE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;wBAC1C,iEAAiE;wBACjE,sEAAsE;wBACtE,qEAAqE;wBACrE,mEAAmE;wBACnE,+DAA+D;wBAC/D,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;4BACnC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;4BACjC,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;4BAC1C,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;4BAC/D,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;4BAClE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;4BACvD,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;4BACtD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gCAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC;4BAC5E,CAAC;4BACD,OAAO;gCACL,QAAQ,EAAE,OAAO;gCACjB,YAAY,EAAE;oCACZ,SAAS,EAAG,KAAiC,CAAC,SAAS,IAAI,SAAS;oCACpE,OAAO,EAAE,MAAM,CAAC,OAAO;oCACvB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iCAC1D;6BACF,CAAC;wBACJ,CAAC;wBACD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;wBAC9D,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;wBACnE,IACE,sBAAsB;4BACtB,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EACzD,CAAC;4BACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;wBACpD,CAAC;wBACD,kEAAkE;wBAClE,8DAA8D;wBAC9D,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;4BAC1E,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;wBACpD,CAAC;wBACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;wBACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;wBAC5D,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;wBAClE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;wBAChF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACjD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;wBACpC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;wBACtD,OAAO,QAAQ,KAAK,OAAO;4BACzB,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE;4BAC5C,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;oBACzD,CAAC;iBACF;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAEtD,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBACjC,IAAI,IAAI,CAAC,MAAM;oBAAE,MAAM;gBACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,gBAAgB,GAAG,IAAI,CAAC;oBACxB,oEAAoE;oBACpE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE;wBACtC,EAAE;wBACF,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE;qBACjD,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE;gBAC5C,EAAE;gBACF,IAAI,EAAE;oBACJ,KAAK;oBACL,KAAK,EAAE,GAAG;oBACV,YAAY,EAAE,gBAAgB;oBAC9B,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBAC1D;aACF,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,oEAAoE;YACpE,2EAA2E;YAC3E,uEAAuE;YACvE,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,GAAY;QAChC,MAAM,CAAC,GAAG,GAA6C,CAAC;QACxD,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAK,CAA0B,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;oBACvF,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC;oBAC9B,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC/D,CAAC;gBACD,OAAO;YACT,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,OAAO,GAAI,CAAyC,CAAC,OAAO,EAAE,OAAO,CAAC;gBAC5E,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;gBAClC,IAAI,IAAI;oBAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtD,oEAAoE;gBACpE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACzB,OAAO;YACT,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,qEAAqE;gBACrE,oEAAoE;gBACpE,yDAAyD;gBACzD,MAAM,OAAO,GAAI,CAAyC,CAAC,OAAO,EAAE,OAAO,CAAC;gBAC5E,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACzB,OAAO;YACT,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;gBACpE,wEAAwE;gBACxE,uEAAuE;gBACvE,MAAM,OAAO,GACX,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC;gBAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC3E,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClF,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;oBACpD,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACtE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBACnD,OAAO;YACT,CAAC;YACD;gBACE,OAAO,CAAC,sCAAsC;QAClD,CAAC;IACH,CAAC;IAED,gFAAgF;IACxE,UAAU,CAAC,OAAgB;QACjC,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,SAAS,YAAY,CAAC,IAAY,EAAE,WAA+B;IACjE,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,MAAM,MAAM,GAA8B,EAAE,CAAC;IAC7C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;aAClE,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,CAAC,SAAS,KAAK,iBAAiB,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,CAAC,CAAC,IAAI;gBACb,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;aACxE,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC/D,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,mBAAmB,CAAC,CAAC,IAAI,MAAM,OAAO,oBAAoB;aACjE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,2EAA2E;IAC3E,sEAAsE;IACtE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gEAAgE;AAChE,SAAS,WAAW,CAAC,OAAgB;IACnC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAK,CAAuB,CAAC,IAAI,KAAK,MAAM,CAAC;SACrF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAuB,CAAC,IAAI,IAAI,EAAE,CAAC;SAC/C,IAAI,CAAC,EAAE,CAAC;SACR,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,yEAAyE;AACzE,SAAS,SAAS,CAAC,IAAY,EAAE,KAA8B;IAC7D,6EAA6E;IAC7E,6EAA6E;IAC7E,0EAA0E;IAC1E,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,GAAG;QAAE,OAAO,kBAAkB,GAAG,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;IAC7E,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC;IACxD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACzE,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,KAA8B;IACtD,MAAM,GAAG,GAAI,KAAiC,CAAC,SAAS,CAAC;IACzD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACnB,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAA4B,CAAC;QACjD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;YACpC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;YAChC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;YACrC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACtB,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAA4B,CAAC;gBAChD,OAAO;oBACL,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC7B,WAAW,EAAE,EAAE,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;oBACxE,OAAO,EAAE,OAAO,EAAE,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;iBACjE,CAAC;YACJ,CAAC,CAAC;SACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -33,7 +33,7 @@ export declare class CodexAgent extends BaseAgent {
|
|
|
33
33
|
*/
|
|
34
34
|
constructor(ctx: AgentContext, envOverride?: Record<string, string | undefined> | undefined);
|
|
35
35
|
prompt(text: string, attachments?: AgentAttachment[]): void;
|
|
36
|
-
respondPermission(_requestId: string, _decision: PermissionResponse):
|
|
36
|
+
respondPermission(_requestId: string, _decision: PermissionResponse): boolean;
|
|
37
37
|
stop(): Promise<void>;
|
|
38
38
|
private runNext;
|
|
39
39
|
/** Current process is done; kick off the next queued prompt, if any. */
|