@duetso/agent 0.1.112 → 0.1.114

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
@@ -1,41 +1,97 @@
1
+ ![duet-agent](assets/cover.png)
2
+
1
3
  # duet-agent
2
4
 
3
- ![duet-agent](assets/cover.png)
5
+ [![Live at duet.so](https://img.shields.io/badge/Live%20at-duet.so-FF6B35?style=for-the-badge&logoColor=white)](https://duet.so)
6
+ [![npm version](https://img.shields.io/npm/v/@duetso/agent.svg?style=for-the-badge&color=blue)](https://www.npmjs.com/package/@duetso/agent)
7
+ [![License](https://img.shields.io/npm/l/@duetso/agent.svg?style=for-the-badge&color=success)](LICENSE)
8
+ [![CI](https://img.shields.io/github/actions/workflow/status/dzhng/duet-agent/ci.yml?branch=main&style=for-the-badge&label=CI)](https://github.com/dzhng/duet-agent/actions/workflows/ci.yml)
9
+ [![Bun-native](https://img.shields.io/badge/Bun--native-black?style=for-the-badge&logo=bun&logoColor=white)](https://bun.sh)
4
10
 
5
- An opinionated, full-stack agent turn runner. Native multimodal memory. Native interrupts. Multi-agent by default. Serverless-friendly: every turn rehydrates from on-disk state, so a session can pause for minutes or months and resume in a fresh sandbox.
11
+ **The agent harness for jobs that outlive the chat.**
6
12
 
7
- ## Get started with one login
13
+ How do you keep an agent working until the job is done? Most harnesses don't have an answer — the chat ends, the process dies, the context goes with it. duet-agent has three. A session can pause for minutes or months and pick up in a fresh sandbox without losing the thread.
8
14
 
9
15
  ```bash
10
- bun add --global @duetso/agent
16
+ npm install -g @duetso/agent
11
17
  duet login
12
- duet "build a REST API with Express"
18
+ duet "prospect the VP Eng at Acme, send a first-touch email, and book a meeting if they reply"
19
+ ```
20
+
21
+ One `duet login` writes `DUET_API_KEY` to `~/.duet/.env` and unlocks frontier language models (Claude, GPT, Gemini), image and video models, and Firecrawl-powered web skills through the Duet AI Gateway. No separate provider billing. ([CLI Env Setup](#cli-env-setup) if you'd rather bring your own keys.)
22
+
23
+ ## Jobs that don't fit in one chat
24
+
25
+ - **Long-running outreach and lifecycle work.** Prospect → email → wait 14 days → book → handoff. The relay sits in `wait_for_reply` for a week without a process alive.
26
+ - **Coding sessions that don't forget.** Resume a refactor a month later and the agent still knows what it tried, what worked, and what you told it never to do again.
27
+ - **Multi-step research with receipts.** Each step is an observable state — agent, script, poll — not a black-box chain. You can start in the middle: "I already did the research, just draft the email."
28
+ - **Serverless and sandboxed turns.** `TurnState` is the only thing that needs to survive between turns. Cron wakes it up, runs one turn, persists, exits.
29
+ - **Slow, scheduled, recurring work.** Cold outbound, weekly digests, review cycles, scheduled retries, long-running migrations — anything where the next step is hours or days away.
30
+
31
+ If the work fits in one chat, you probably don't need this. If it doesn't, most harnesses make you bring your own memory layer, your own queue, your own resume logic. That's the gap.
32
+
33
+ ## Why another harness?
34
+
35
+ Most agent frameworks are good at _one turn_. They're not built for _the job_. Memory is a plugin, durable processes are "wire up Temporal," and resume-from-disk is something you bolt on at the end and regret. The interesting work — _remembering across turns, picking up where you left off, knowing when to ask vs. when to keep going_ — is left to you.
36
+
37
+ Both Claude Code and Codex are excellent at the _one-turn_ job: edit this file, run this command, answer this question. duet-agent is built for the layer _above_ that — work that has to remember, wait, resume in a different process, and route itself.
38
+
39
+ | | Claude Code | Codex CLI | **duet-agent** |
40
+ | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
41
+ | **Cross-session memory** | `CLAUDE.md` (you write it) + auto-memory (Claude writes it, per-repo, capped at the first 200 lines / 25 KB loaded per session) | `AGENTS.md` (you write it; hierarchical `AGENTS.override.md` in subdirs) | **Observational memory in PGlite with hybrid retrieval (pgvector + tsvector, fused via RRF). The agent observes its own transcripts and recalls them across sessions.** |
42
+ | **Memory of images** | Images stay in the active transcript only | Images stay in the active transcript only | **Vision-capable models observe screenshots and UI captures into text observations the agent can recall on later turns** |
43
+ | **Resume across a fresh process** | `claude --resume <id>` / `--bg` background sessions — replays a saved transcript | `codex resume <id>` — replays a saved transcript from `~/.codex/sessions/` | **`TurnState` snapshot on disk; any fresh process — new sandbox, serverless invocation, different machine — resumes with `runner.start({ state })`** |
44
+ | **Long-running, multi-step workflows** | Background sessions; no native poll/wait/state-machine primitives | Transcript-driven; no native poll/wait/state-machine primitives | **Relays: agent-routed state machines with five state kinds — `agent`, `script`, `poll`, `timer`, `terminal`. Wait days for a reply between turns.** |
45
+ | **Models you can use** | Anthropic | OpenAI (Sign in with ChatGPT or API key) | **Anthropic, OpenAI, OpenRouter, Vercel AI Gateway, Duet Gateway** |
46
+ | **License** | Proprietary (closed-source CLI) | Apache-2.0 | **Apache-2.0** |
47
+
48
+ None of this makes Claude Code or Codex worse at what they do. It makes duet-agent the right thing to reach for when the job is too long for one chat — when memory has to survive the session, when a process has to wait on an external signal, when a turn has to resume in a container that didn't exist when the work started.
49
+
50
+ Two things that don't get a section of their own below, but that follow from the same shape:
51
+
52
+ - **One login, every frontier model.** `duet login` is the whole setup. Claude, GPT, Gemini, image, video, web — all behind one key, with default skills auto-synced and kept fresh.
53
+ - **Open source.** No black box. If we made a wrong call about how memory ranks or how relays route, you can read the code and tell us we're wrong.
54
+
55
+ ## What we do differently
56
+
57
+ ### Memory, woven in
58
+
59
+ Memory and compaction are the same primitive: observational memory _is_ how context survives between turns. The runner observes its own transcript, reflects when observations grow, and writes durable rows to PGlite — text observations for messages and images alike, so screenshots and UI captures stay recallable on later turns without re-attaching bytes. Each turn's prompt prefix is a frozen two-layer pack (long-term cross-session memory + this session's compaction summary), rebuilt only at compaction events so the provider's prompt cache survives turn-over-turn. Anything that didn't make the pack stays reachable through `recall_memory` — hybrid retrieval over pgvector cosine similarity and tsvector keyword search, fused via Reciprocal Rank Fusion, with optional paraphrased query expansion. Embeddings run in a background worker so foreground turns never block.
60
+
61
+ ### Relays: keep the agent working until the job is done
62
+
63
+ A relay is how duet-agent stays on task across hours, days, or months. Under the hood it's a state machine — but the runner agent, not a config file, picks the next transition every turn. Enough structure to route long work; not so much that the agent is locked into a path. Each state is one of five kinds:
64
+
65
+ - **agent** — a sub-agent with a prompt, optional system prompt, and optional skill allowlist.
66
+ - **script** — shell out to `bash`, `curl`, a CLI. Anything with an API is a script state.
67
+ - **poll** — recurring check on an external signal (inbox, build status, webhook).
68
+ - **timer** — a pure delay until a wall-clock time, no script attached.
69
+ - **terminal** — record a business outcome: `completed`, `cancelled`, `failed`.
70
+
71
+ ```mermaid
72
+ flowchart LR
73
+ A([agent]) --> S([script]) --> P([poll]) --> Tm([timer]) --> T([terminal])
13
74
  ```
14
75
 
15
- `duet login` opens your browser, signs you in, and writes a single `DUET_API_KEY` to `~/.duet/.env`. That one key unlocks:
76
+ That's the whole vocabulary. Email, GitHub, Calendly, CRM — none of them need first-class engine concepts; they're shell scripts. Relays can start in the middle ("I already emailed them, just wait for a reply") because the runner agent reads context, not a workflow ID.
16
77
 
17
- - **Frontier language models** — Claude Opus / Sonnet / Haiku, GPT-5, Gemini, and friends routed through the Duet AI Gateway. No separate Anthropic, OpenAI, or Google billing to set up.
18
- - **Image and video generation** GPT Image 2, Seedance, and the other media models the gateway exposes.
19
- - **Web scraping and research** — Firecrawl-powered scraping, search, and browser automation come bundled as default skills.
20
- - **The latest Duet skills** — auto-synced into `~/.duet/skills` on first login and refreshed in the background on every subsequent run.
78
+ > [!NOTE]
79
+ > This is **not** Temporal. Not a deterministic DAG, not an exact-once runtime, not a workflow service. It's enough structure for an agent to make good process decisions, and hand operational guarantees off to external systems when they matter.
21
80
 
22
- One login, every frontier model, every default skill, kept fresh. If you would rather wire your own provider keys, see [CLI Env Setup](#cli-env-setup).
81
+ ### State on disk, serverless by default
23
82
 
24
- ## Why another agent framework?
83
+ A turn is a pure function of `TurnState`. The runner owns it in process while a turn runs; persistence keeps it on disk between turns. Any process — the same shell tomorrow, a fresh sandbox, a serverless invocation, a different machine — can pick up where the last one left off by calling `runner.start({ state })`. There are no sticky workers, no warm pools, no session affinity to lose. Cron wakes the container, hands it the snapshot, runs one turn, persists, exits. That's the whole deployment model when you want one.
25
84
 
26
- Existing agent turn runners treat tools and memories as pluggable modules. This makes them flexible but fundamentally disconnected — memory is an afterthought.
85
+ ### Three modes: agent, relay, auto
27
86
 
28
- duet-agent takes the opposite approach: **memory is woven into the core architecture.** Observations are recorded as the agent works, persisted across processes, and reflected when context grows; the runner cannot run without them. Interrupts are handled by the underlying pi agent runtime, so the turn runner does not need its own interrupt bus.
87
+ The same runner handles both shapes of work. `agent` mode treats the prompt as a normal session coding, research, review, one-off tasks. `state_machine` mode (surfaced as **relays** in the UI) routes the prompt into an agent-routed business process with durable waits and terminal outcomes. `auto` lets the runner classify the prompt and pick. One CLI, one SDK; the long jobs and the short ones use the same code path.
29
88
 
30
89
  ## Architecture
31
90
 
32
- The diagram below walks through a realistic agent-routed relay: outbound conference
33
- outreach. The user prompt enters the `TurnRunner`, the runner agent picks the next state based on
34
- prompt, history, and available state definitions, and the relay drives the business process
35
- until it hits a terminal state. The same definition can start in the middle — for example, the
36
- runner can skip straight to `wait_for_reply` if the user says “I already emailed them”. Internally
37
- these relays are state machines; “relays” is the user-facing name in the UI and docs — each state
38
- hands off (relay-style) to the next.
91
+ A realistic agent-routed relay: outbound conference outreach. The user prompt enters the `TurnRunner`, the runner agent picks the next state from prompt + history + available states, and the relay drives the business process until it hits a terminal state. The same definition can start in the middle — for example, the runner can skip straight to `wait_for_reply` if the user says "I already emailed them."
92
+
93
+ <details>
94
+ <summary><b>Full architecture diagram</b> (click to expand)</summary>
39
95
 
40
96
  ```mermaid
41
97
  stateDiagram-v2
@@ -73,91 +129,43 @@ stateDiagram-v2
73
129
  Outreach --> [*]
74
130
  ```
75
131
 
76
- Each state is one of the four kinds the runner understands:
77
-
78
- - **agent** states run a sub-agent with a prompt, optional system prompt, and optional skill allowlist.
79
- - **script** states shell out (`bash`, `curl`, CLIs) for anything with an API.
80
- - **poll** states wait on an external signal by running one script check per interval, or by using a timer poll for pure delays.
81
- - **terminal** states record a business outcome (`completed`, `cancelled`, `failed`).
82
-
83
- Observational memory, pi coding tools, and guardrails sit underneath every state transition; they
84
- are not states themselves.
85
-
86
- ## Key Differentiators
87
-
88
- ### Native Multimodal Memory
89
-
90
- Memory is first-class. The default `MemoryStore` is in-memory and emits observation events; optional PGlite storage hydrates and persists durable observations outside the turn runner session.
91
-
92
- The memory model follows observational memory: turn runner session messages are observed into durable text observations, and a reflector condenses observations when they grow too large. Every observation is tagged with the session id that produced it and a `kind` (`observation` or `reflection`).
93
-
94
- Memory rendered into the prompt prefix splits into two layers:
95
-
96
- - **Long-term memory** (cross-session) ranks every other session's rows by `priority × recencyDecay × kindBias` (7-day half-life, reflections weighted 1.3×) and packs the highest-scoring rows into 7.5 % of the effective context window.
97
- - **From this session** (local) renders the current session's compaction summary chronologically; size is bounded by the reflection trigger (32.5 % of the effective context window) before the reflector condenses it back to half that.
98
-
99
- All memory token budgets — the compaction trigger, the post-eviction raw-tail buffer, the reflection trigger, the post-reflection buffer, and the global pack ceiling — derive from a single `TurnRunnerConfig.effectiveContext` knob (default `200_000`, clamped to the model's hard window). Set it once per runner and every downstream threshold scales together; there are no per-field overrides.
100
-
101
- This frozen pack is rebuilt only at three compaction events — initial load, reflector completion, wire-shaping eviction — so the rendered prefix stays stable between events and the provider's prompt cache survives turn-over-turn. Observations the observer writes mid-session flow to disk in real time but do not enter the rendered prefix until the next refresh; the model can still reach them on demand through the `recall_memory` tool.
132
+ </details>
102
133
 
103
- `recall_memory` runs hybrid retrieval over the durable memory database: pgvector cosine similarity (via the [pgvector PGlite extension](https://github.com/electric-sql/pglite/tree/main/packages/pglite/src/vector)) for semantic matches plus tsvector keyword search for exact-token lookups. The two ranked lists merge through Reciprocal Rank Fusion. Embeddings flow through the Duet public API endpoint (`POST /api/v1/embed`, free for logged-in users) and an always-on background worker fills missing rows so foreground turns never block on embedding work. An optional `expand` flag generates two paraphrased queries through a cheap model and fuses across all three runs when initial results are weak.
134
+ Observational memory, pi coding tools, and guardrails sit underneath every state transition; they are not states themselves.
104
135
 
105
- Observation is multimodal. When messages contain images, the observer inspects them directly and records visual details, user-visible text, UI state, diagrams, and errors as text observations. The agent keeps continuity over screenshots, scanned documents, and other image attachments without re-attaching the original bytes on every turn.
136
+ ![Duet demo](./assets/demo.gif)
106
137
 
107
- ### Pi Coding Tools
138
+ _One prompt, a job that can run for weeks, months, or even years. The power of state machines a.k.a. relays in duet._
108
139
 
109
- Sub-agents use the default tools from `@earendil-works/pi-coding-agent`: read, bash, edit, and write. The turn runner supplies a working directory and can restrict which skills are injected into a state-machine agent state; it does not wrap those tools in a second sandbox abstraction.
110
-
111
- ### Native Interrupts
112
-
113
- Interrupt behavior comes from the underlying pi agent runtime. A user can send a message while a pi session is running, and the runtime can handle it as an interruption or as a follow-up. duet-agent does not add a second interrupt bus on top.
114
-
115
- ### Multi-Agent by Default
116
-
117
- The turn runner can delegate durable process steps into agent states. Agent states are not pre-built classes; they are state-machine states with prompts, optional system prompts, and optional skill allowlists.
118
-
119
- ### Serverless- And Sandbox-Friendly
120
-
121
- `TurnRunner` is stateless across process boundaries. `TurnState` is the only runner state that needs to survive, and durable observations live in PGlite. A new process — including a fresh serverless invocation, a new sandbox container, or a different machine — can resume by passing the saved state to `runner.start({ state: savedState })`.
122
-
123
- This makes long-running work practical without keeping a process alive. A relay can sit in `wait_for_reply` for weeks, woken by a cron-driven `wake` command between runs. Work that spans months — outbound outreach relays, slow build-and-review cycles, scheduled retries — follows the same shape as a one-shot turn: load state, start the runner, run a turn, persist the terminal state, exit.
124
-
125
- ### Three Execution Modes
126
-
127
- The turn runner has three top-level modes:
128
-
129
- - `agent`: handle the prompt as a normal agent session. This is for one-off tasks, coding requests, reviews, research, and anything that can complete in the current session.
130
- - `state_machine`: route the prompt into an agent-routed relay (the underlying mode name is still `state_machine`). This is for long-running business processes with durable state, waits, and terminal business outcomes.
131
- - `auto`: let the turn runner classify the prompt and choose either `agent` or `state_machine`.
132
-
133
- Normal agent mode handles immediate work; state-machine mode handles business processes that may pause, resume, wait on external systems, or start in the middle based on the user's prompt. In `auto`, the runner classifies the prompt and routes to whichever fits.
134
-
135
- ### Agent-Routed Relays
136
-
137
- duet-agent is exploring long-running agent-routed relays for business processes like outbound sales, conference outreach, and development lifecycles. The design goal is **not** to become a workflow engine like Temporal, Airflow, or GitHub Actions.
138
-
139
- Instead, relays are agent-routed. Under the hood each relay is a state machine: a state-machine definition describes the available business states (agent states, shell-script states, poll states, and terminal states), and each state hands its result off to the next — the relay metaphor. The runner keeps the state-machine system prompt cache-friendly by including only stable routing instructions plus the original prompt and available state definitions. Current state and history stay in the parent agent conversation, where state transitions, script results, poll results, and user follow-ups are already recorded.
140
-
141
- A relay is higher level than task execution. It tracks one current business state at a time. If a state needs fan-out, parallelism, or a task-level workflow, that belongs inside an agent or script state. The agent can execute a complex workflow internally; the relay only records the business transition before and after that state.
142
-
143
- This keeps relays flexible enough to start in the middle. For example, a user can say: "prospect person X, I've already sent email, just wait for response." The same outreach relay can skip research and email sending, then choose the wait-for-response state because the runner agent understands the existing context.
140
+ ## Other capabilities
144
141
 
145
- External integrations stay simple: anything with an API or CLI is a script state or script poll. Timer polls cover pure delays such as "wait before retry." Email, GitHub, Calendly, CRM systems, and webhooks do not need first-class engine concepts. If the relay can tolerate a few minutes of polling delay, a bash script is enough.
142
+ <details>
143
+ <summary><b>Optional guardrails</b></summary>
146
144
 
147
- What this is not:
148
-
149
- - Not a deterministic DAG scheduler.
150
- - Not a low-level durable execution runtime.
151
- - Not a workflow service with queues, workers, locks, and retries as the main abstraction.
152
- - Not a replacement for infrastructure workflow engines when exact-once execution or strict SLAs matter.
153
-
154
- The turn runner should provide enough structure for an agent to make good process decisions, while leaving hard operational guarantees to external systems.
145
+ Pattern-based (fast, regex) and semantic (LLM-evaluated) guardrails compose into a firewall. Every bash command and file write can be checked before execution.
155
146
 
156
- ### Optional Guardrails
147
+ ```typescript
148
+ const turnRunner = new TurnRunner({
149
+ guardrails: [
150
+ {
151
+ kind: "pattern",
152
+ rules: [
153
+ { pattern: /production-db/i, action: "warn", reason: "Production database mentioned" },
154
+ ],
155
+ },
156
+ {
157
+ kind: "semantic",
158
+ model: getModel("anthropic", "claude-haiku-4-5"),
159
+ policy: "Never delete production data. Never expose secrets in output.",
160
+ },
161
+ ],
162
+ });
163
+ ```
157
164
 
158
- Pattern-based (fast, regex) and semantic (LLM-evaluated) guardrails compose into a firewall. Every bash command and file write can be checked before execution.
165
+ </details>
159
166
 
160
- ### Remote MCP Tools
167
+ <details>
168
+ <summary><b>Remote MCP tools</b></summary>
161
169
 
162
170
  `TurnRunner` can attach to remote [Model Context Protocol](https://modelcontextprotocol.io) servers over the streamable-HTTP transport. Pass `mcpServers` on `start` and the runner connects, lists each server's tools, and exposes them to the parent and state agents alongside the built-in coding tools. Tool names are namespaced as `{server}__{tool}` so multiple servers can coexist without collisions.
163
171
 
@@ -175,59 +183,72 @@ await turnRunner.start({
175
183
 
176
184
  Only HTTP MCP is supported today; authentication is intentionally out of scope, so any credentials a server expects must travel in `headers`. Connection failures are logged and skipped so a single broken server cannot block session setup.
177
185
 
178
- ## CLI Install
186
+ </details>
179
187
 
180
- The CLI runs on Bun because OpenTUI is Bun-native. Install Bun first if it is not already available:
188
+ <details>
189
+ <summary><b>Native interrupts</b></summary>
181
190
 
182
- ```bash
183
- curl -fsSL https://bun.sh/install | bash
184
- ```
191
+ Interrupt behavior comes from the underlying pi agent runtime. A user can send a message while a pi session is running, and the runtime can handle it as an interruption or as a follow-up. duet-agent does not add a second interrupt bus on top.
192
+
193
+ </details>
194
+
195
+ <details>
196
+ <summary><b>Pi coding tools</b></summary>
185
197
 
186
- Install the CLI globally to make the `duet` command available on your PATH:
198
+ Sub-agents use the default tools from `@earendil-works/pi-coding-agent`: read, bash, edit, and write. The turn runner supplies a working directory and can restrict which skills are injected into a state-machine agent state; it does not wrap those tools in a second sandbox abstraction.
199
+
200
+ </details>
201
+
202
+ ## Install
187
203
 
188
204
  ```bash
205
+ # CLI — npm
206
+ npm install -g @duetso/agent
207
+
208
+ # CLI — Bun (the CLI is Bun-native)
209
+ curl -fsSL https://bun.sh/install | bash
189
210
  bun add --global @duetso/agent
211
+
212
+ # SDK
213
+ npm install @duetso/agent
190
214
  ```
191
215
 
192
- You can also install it globally with another package manager:
216
+ <details>
217
+ <summary><b>Other package managers and upgrade paths</b></summary>
193
218
 
194
219
  ```bash
195
220
  npm install --global @duetso/agent
196
221
  pnpm add --global @duetso/agent
197
222
  yarn global add @duetso/agent
198
- ```
199
-
200
- Upgrade an existing global installation:
201
223
 
202
- ```bash
224
+ # Upgrade an existing global install
203
225
  duet upgrade
204
226
  ```
205
227
 
206
- ## SDK Install
207
-
208
- Install the package as a dependency when you want to use the turn runner from TypeScript or JavaScript:
228
+ The CLI runs on Bun because OpenTUI is Bun-native.
209
229
 
210
- ```bash
211
- npm install @duetso/agent
212
- ```
230
+ </details>
213
231
 
214
- ## Development
232
+ <details>
233
+ <summary><b>Development setup</b></summary>
215
234
 
216
235
  This repo uses Bun for package management, Husky for pre-commit checks, and Docker for functional tests.
217
236
 
218
237
  ```bash
219
238
  bun install
220
- bun run setup # install/start Docker on macOS or Linux if needed
239
+ bun run setup # install/start Docker on macOS or Linux if needed
221
240
  bun run check-types
222
241
  bun run lint
223
- bun run eval # runs live evals inside Docker
224
- bun run test # runs the test suite inside Docker
242
+ bun run eval # runs live evals inside Docker
243
+ bun run test # runs the test suite inside Docker
225
244
  ```
226
245
 
227
246
  Use `bun run test` and `bun run eval`, not raw `bun test`, as the source of truth. File-writing tests and evals run in Docker so focused host runs cannot create `.duet`, PGlite databases, or home-directory skill fixtures in the checkout.
228
247
 
229
248
  The pre-commit hook runs `format`, `check-types`, and `lint`.
230
249
 
250
+ </details>
251
+
231
252
  ## CLI Quick Start
232
253
 
233
254
  The recommended path is `duet login`. One sign-in writes `DUET_API_KEY` to `~/.duet/.env`, syncs the default skills, and gives you access to every frontier language, image, and video model on the Duet AI Gateway plus the bundled web-scraping skills — no other API keys required.
@@ -237,9 +258,12 @@ duet login
237
258
  duet "prospect the VP Eng at Acme, send a first-touch email about our conf talk, wait up to 14 days for a reply, and book a meeting on Calendly if they're interested"
238
259
  ```
239
260
 
261
+ <details>
262
+ <summary><b>Providers, models, and CLI flags</b></summary>
263
+
240
264
  If you would rather manage provider API keys yourself, use `duet env` (see [CLI Env Setup](#cli-env-setup) below) or set a provider API key in the environment, `<workdir>/.env`, or `~/.duet/.env`. When `--model` is omitted, the CLI infers a default from the configured provider: Duet, Anthropic, AI Gateway, and OpenRouter use Opus 4.7 (memory: Haiku 4.5); OpenAI uses GPT-5.5 (memory: GPT-5.4-mini).
241
265
 
242
- Use `--provider <name>` to pin a provider without picking a model — duet will choose the catalog default for chat and memory:
266
+ Use `--provider <name>` to pin a provider without picking a model:
243
267
 
244
268
  ```bash
245
269
  duet --provider duet "build a todo app" # duet-gateway: Opus 4.7 + Haiku 4.5
@@ -253,137 +277,62 @@ duet --provider vercel "summarize" # vercel-ai-gateway equivalents
253
277
  ```bash
254
278
  export ANTHROPIC_API_KEY=sk-...
255
279
 
256
- # Start a session
257
280
  duet "build a REST API with Express"
258
-
259
- # Open an interactive session without an initial prompt
260
- duet
261
-
262
- # With options
281
+ duet # interactive TUI
263
282
  duet -m opus-4.7 --workdir ./my-project "refactor the auth module"
264
-
265
- # With a custom observational memory model
266
283
  duet --memory-model sonnet-4.6 "summarize this repo"
267
-
268
- # With additional system instructions
269
284
  duet --system-prompt "Prefer concise answers." "review this repo"
270
-
271
- # Override the default AGENTS.md system prompt file
272
285
  duet --system-prompt-file TEAM.md "review this repo"
273
-
274
- # Disable system prompt file loading
275
286
  duet --no-system-prompt-files "review this repo"
276
-
277
- # Resume a saved session
278
287
  duet --resume session_abc123 --workdir ./my-project
279
-
280
- # List installed skills (project + user scope)
281
- duet skills
282
-
283
- # Browse, edit, and delete observational memories (alias: duet memories)
284
- duet memory
288
+ duet skills # list installed skills
289
+ duet memory # browse durable memory
285
290
 
286
291
  # Through Vercel AI Gateway
287
292
  export AI_GATEWAY_API_KEY=...
288
293
  duet -m opus-4.7 "review this repo"
289
294
  ```
290
295
 
291
- Model names can use full `provider:modelId` syntax or shorthand names such as
292
- `opus-4.7`, `sonnet-4.6`, `haiku-4.5`, and `gpt-5.5`. Shorthands resolve to the
293
- first configured supported provider; use full `provider:modelId` syntax — or
294
- `--provider <name>` — to pin a specific provider.
296
+ Model names can use full `provider:modelId` syntax or shorthand names such as `opus-4.7`, `sonnet-4.6`, `haiku-4.5`, and `gpt-5.5`. Shorthands resolve to the first configured supported provider; use full `provider:modelId` syntax — or `--provider <name>` — to pin a specific provider.
295
297
 
296
- ### CLI TUI
298
+ </details>
297
299
 
298
- In a TTY, `duet` opens an interactive TUI: live transcript on the left, a
299
- right-hand sidebar with four panels, and a textarea at the bottom.
300
+ <details>
301
+ <summary><b>Interactive TUI</b> transcript, sidebar panels, file/skill pickers</summary>
302
+
303
+ In a TTY, `duet` opens an interactive TUI: live transcript on the left, a right-hand sidebar with four panels, and a textarea at the bottom.
300
304
 
301
305
  - **todos** — the runner's current todo list.
302
- - **follow-ups** — prompts queued behind the active turn (the working-status
303
- line also shows the count).
304
- - **relays** — when a relay (state machine) is active, lists every state with
305
- `▶` marking the current one and the terminal status if reached.
306
+ - **follow-ups** — prompts queued behind the active turn (the working-status line also shows the count).
307
+ - **relays** when a relay (state machine) is active, lists every state with `▶` marking the current one and the terminal status if reached.
306
308
  - **context** — token-usage progress bar against the active model's window.
307
309
 
308
310
  In the input box:
309
311
 
310
- - `@<query>` opens a file picker; ↑/↓ navigate, Enter / Tab inserts a
311
- markdown link like `[app.ts](./src/tui/app.ts)` (basename label, repo-relative
312
- target). The model can then read the file via the `read` tool.
313
- - `/<query>` opens a skill picker that inserts `/skill-name` so the model is
314
- primed to call `read_skill`.
315
- - Enter sends; **Shift+Enter** queues the message as a follow-up while the
316
- agent is running, instead of steering the active turn.
317
- - `Esc` cancels the current pickers; on its own it interrupts the active turn,
318
- or no-ops when idle. Use Ctrl+C (or close the terminal) to quit — both
319
- paths drain through the SessionManager so the local memory database (PGlite)
320
- flushes cleanly.
321
-
322
- Tool calls render with custom per-tool headers (e.g. `$ <command>`,
323
- `read <path> (lines a–b)`, `edit <path> (N edits)`, `[question]`). Resumed
324
- sessions render history through the same formatters so live and replay match.
325
-
326
- ### Copy & Paste
327
-
328
- Drag with the mouse to highlight any text in the transcript. The bottom hint
329
- advertises the copy keystroke that actually reaches the TUI on your terminal
330
- (it appears only while a selection is active so the hint stays terse):
331
-
332
- - **Cmd+C** — macOS terminals that forward Cmd+C as a keypress (Ghostty,
333
- kitty, recent iTerm2 with the right keybindings).
334
- - **Ctrl+Shift+C** — Linux/Windows terminals, and macOS terminals that own
335
- Cmd+C for their own UI (notably Warp, where Cmd+C selects a Warp block and
336
- is never forwarded). Cmd+Shift+C also works on terminals where it is
337
- forwarded.
338
-
339
- Copying writes via `pbcopy` / `wl-copy` / `xclip` / `xsel` / `clip.exe` and
340
- verifies the write through a readback (so a writer that exits 0 without
341
- actually updating the system clipboard — which has been observed on macOS in
342
- some configs — surfaces a real error instead of a fake "copied" line). When
343
- no local CLI is available (e.g. an SSH session with no clipboard tool), the
344
- TUI falls back to OSC 52.
345
-
346
- For explicit copies of transcript content (independent of mouse selection):
347
-
348
- - **`/copy`** — copies the most recent agent reply.
349
- - **`/copy all`** — copies the full conversation, formatted with `you:` /
350
- `agent:` labels.
351
- - **`/copy <N>`** — copies the last N user/agent messages.
352
-
353
- ### Diagnostics
354
-
355
- **`/diag`** toggles a diagnostic log inside the transcript. While on, every
356
- keypress and every drag-selection event prints a `[diag]` line with the exact
357
- name, modifier flags, raw sequence, and parser source the renderer
358
- received — plus a snapshot of the current selection state. This is the
359
- fastest way to figure out why a keystroke or gesture works in one terminal
360
- but not another (e.g. Cmd+C silently swallowed by Warp). Run `/diag` again to
361
- turn it off.
362
-
363
- ### Image Attachments
364
-
365
- The interactive TUI accepts image attachments (PNG, JPEG, GIF, WebP) in three
366
- ways. Each attached image shows up as `[Image #N]` in the prompt buffer and is
367
- forwarded to vision-capable models as multimodal content.
368
-
369
- - **Cmd+V / Ctrl+V** — paste an image directly from the clipboard. Works for
370
- screenshots, Finder file copies, browser image copies, and Chromium-based
371
- apps like Figma "Copy as PNG". Requires a kitty-keyboard-aware terminal
372
- (kitty, Ghostty, recent iTerm2, WezTerm); falls back to `/paste` on others.
373
- - **`/paste`** — manual clipboard probe. Use this when your terminal swallows
374
- Cmd+V (e.g. Warp, macOS Terminal.app).
375
- - **`/image <path>`** — attach an image from disk by absolute or relative
376
- path. Tilde (`~/`) and `file://` URLs are accepted.
377
-
378
- `/clear-images` removes all pending attachments before submit. Attachments are
379
- cached under `~/.duet/cache/paste/<session-id>/` and capped at 20 MB each.
380
-
381
- On macOS, clipboard reads use a small Swift program (via `swift -e`) so
382
- promise-backed pasteboards from Chromium apps actually deliver bytes. This
383
- requires Xcode Command Line Tools — install with `xcode-select --install` if
384
- you see "clipboard had no readable image" with `/paste`.
385
-
386
- ### CLI Login
312
+ - `@<query>` opens a file picker; ↑/↓ navigate, Enter / Tab inserts a markdown link like `[app.ts](./src/tui/app.ts)` (basename label, repo-relative target). The model can then read the file via the `read` tool.
313
+ - `/<query>` opens a skill picker that inserts `/skill-name` so the model is primed to call `read_skill`.
314
+ - Enter sends; **Shift+Enter** queues the message as a follow-up while the agent is running, instead of steering the active turn.
315
+ - `Esc` cancels the current pickers; on its own it interrupts the active turn, or no-ops when idle. Use Ctrl+C (or close the terminal) to quit — both paths drain through the SessionManager so the local memory database (PGlite) flushes cleanly.
316
+
317
+ Tool calls render with custom per-tool headers (e.g. `$ <command>`, `read <path> (lines a–b)`, `edit <path> (N edits)`, `[question]`). Resumed sessions render history through the same formatters so live and replay match.
318
+
319
+ </details>
320
+
321
+ <details>
322
+ <summary><b>Image attachments</b></summary>
323
+
324
+ The interactive TUI accepts image attachments (PNG, JPEG, GIF, WebP):
325
+
326
+ - **Cmd+V / Ctrl+V** — paste from the clipboard. Requires a kitty-keyboard-aware terminal; falls back to `/paste` on others.
327
+ - **`/paste`** — manual clipboard probe. Use this when your terminal swallows Cmd+V (Warp, macOS Terminal.app).
328
+ - **`/image <path>`** — attach an image from disk by absolute or relative path. Tilde (`~/`) and `file://` URLs are accepted.
329
+
330
+ `/clear-images` removes all pending attachments. Attachments cache under `~/.duet/cache/paste/<session-id>/` and cap at 20 MB each. On macOS, clipboard reads use a small Swift program (via `swift -e`) so promise-backed pasteboards from Chromium apps deliver bytes — install Xcode Command Line Tools with `xcode-select --install` if you see "clipboard had no readable image."
331
+
332
+ </details>
333
+
334
+ <details>
335
+ <summary><b>CLI Login</b></summary>
387
336
 
388
337
  `duet login` is the recommended setup path. It opens a browser to sign in, writes `DUET_API_KEY` for the selected org to `~/.duet/.env`, and syncs the latest default skills into `~/.duet/skills`.
389
338
 
@@ -393,41 +342,37 @@ Once you have synced default skills at least once, every subsequent `duet` invoc
393
342
 
394
343
  ```bash
395
344
  duet login
345
+ duet login --no-browser # print the auth URL instead of opening a browser
346
+ duet login --skip-skill-sync # skip the post-login default skill sync
347
+ ```
396
348
 
397
- # Print the auth URL instead of opening a browser
398
- duet login --no-browser
349
+ </details>
399
350
 
400
- # Skip the post-login default skill sync
401
- duet login --skip-skill-sync
402
- ```
351
+ <a id="cli-env-setup"></a>
403
352
 
404
- ### CLI Env Setup
353
+ <details>
354
+ <summary><b>CLI Env Setup</b> — bring your own provider keys</summary>
405
355
 
406
356
  `duet env` is the manual alternative for users who want direct control over which provider API keys land in the shared env file. Without an action it just prints help. Add an explicit action to create or update the shared env file at `~/.duet/.env`:
407
357
 
408
358
  ```bash
409
- # Import .env from the current directory into ~/.duet/.env
410
- duet env --import
411
-
412
- # Import a specific env file
413
- duet env --import ./path/to/.env
414
-
415
- # Paste supported provider API keys interactively
416
- duet env --keys
417
-
418
- # Use a custom shared env file instead of ~/.duet/.env
419
- duet env --env-file ~/.config/duet/env --keys
359
+ duet env --import # import .env from cwd
360
+ duet env --import ./path/to/.env # import a specific env file
361
+ duet env --keys # paste provider API keys interactively
362
+ duet env --env-file ~/.config/duet/env --keys # use a custom shared env file
420
363
  duet --env-file ~/.config/duet/env "review this repo"
421
364
  ```
422
365
 
423
366
  The CLI loads `<workdir>/.env` first, then the shared env file, so project-specific values override shared defaults. Supported keys are `DUET_API_KEY`, `ANTHROPIC_API_KEY`, `AI_GATEWAY_API_KEY`, `OPENROUTER_API_KEY`, and `OPENAI_API_KEY`.
424
367
 
425
- For local development from a checkout, use the package script:
368
+ For local development from a checkout:
426
369
 
427
370
  ```bash
428
371
  bun run cli -- "build a REST API with Express"
429
372
  ```
430
373
 
374
+ </details>
375
+
431
376
  ## SDK Quick Start
432
377
 
433
378
  ```typescript
@@ -440,7 +385,6 @@ const turnRunner = new TurnRunner({
440
385
  });
441
386
 
442
387
  // `start` is setup-only: loads skills and memory, emits `turn_started`, runs no agent work.
443
- // `mode` defaults to the TurnRunner config above; pass it explicitly only when overriding.
444
388
  await turnRunner.start();
445
389
 
446
390
  const terminal = await turnRunner.turn({
@@ -452,7 +396,8 @@ const terminal = await turnRunner.turn({
452
396
  });
453
397
  ```
454
398
 
455
- ## TurnRunner Lifecycle
399
+ <details>
400
+ <summary><b>TurnRunner lifecycle</b> — full flowchart and event model</summary>
456
401
 
457
402
  `start()` prepares a session, but it does not run agent work. It hydrates durable memory, loads skills and agent files, connects MCP servers, creates or resumes `TurnState`, initializes the parent pi agent, and emits `turn_started`. After that, every `turn()` call accepts one command: `prompt`, `answer`, or `wake`.
458
403
 
@@ -496,7 +441,10 @@ flowchart TD
496
441
 
497
442
  The parent runner transcript stays linear across the lifecycle. State-machine continuations, script results, poll results, and user follow-ups all rejoin the parent agent instead of creating separate conversation branches. Terminal events carry the next `TurnState`; callers that need process-level durability persist that snapshot and pass it back to a later `start({ state })`.
498
443
 
499
- ## Memory And Persistence
444
+ </details>
445
+
446
+ <details>
447
+ <summary><b>Memory and persistence</b> — config, thresholds, resume</summary>
500
448
 
501
449
  `TurnRunner` owns memory at runtime. It holds a `MemoryStore` in process, hydrates durable observations from PGlite before the first turn, and subscribes to memory-store events to write future observation changes. After each pi-agent run, the runner observes the latest unobserved transcript suffix, reflects oversized observation logs, emits memory events with generated observation payloads, and waits for durable writes before continuing. Raw conversation messages stay in `TurnState.agent.messages`; memory persistence stores only derived observations/reflections.
502
450
 
@@ -513,11 +461,10 @@ const turnRunner = new TurnRunner({
513
461
 
514
462
  By default, the CLI stores durable observations in `~/.duet/memory.db`; run it with `--incognito` (or `-i`) to set `memoryDbPath: false`, which disables observational memory and compaction for that session. Programmatic callers can pass `memoryDbPath: false` or provide a custom `memoryDbPath`. The CLI's `SessionManager` is a convenience layer that stores session snapshots under `~/.duet/sessions`, but the runner owns memory hydration, pi-turn observation/reflection, compaction, and observation persistence.
515
463
 
516
- **We strongly recommend running with a `memoryDbPath`, which is the default.** Compaction is implemented as part of the observational memory pipeline: raw transcript content is replaced by observations/reflections that the observer and reflector write to the durable store. Without a database, the runner skips that pipeline entirely — there is no compaction, the transcript grows unbounded against the raw model context window, and long sessions will eventually hit a provider context-length error. `memoryDbPath: false` is appropriate for short-lived scripts, tests, and incognito runs that stay well under the model window.
464
+ > [!WARNING]
465
+ > We strongly recommend running with a `memoryDbPath` (the default). Compaction is implemented as part of the observational memory pipeline: raw transcript content is replaced by observations/reflections that the observer and reflector write to the durable store. Without a database, the runner skips that pipeline entirely — there is no compaction, the transcript grows unbounded against the raw model context window, and long sessions will eventually hit a provider context-length error. `memoryDbPath: false` is appropriate for short-lived scripts, tests, and incognito runs that stay well under the model window.
517
466
 
518
- You can also resume directly from saved state. The runner owns state
519
- internally after `start`, so resumed state is handed in through the start
520
- command and later turns just send prompts:
467
+ Resume directly from saved state:
521
468
 
522
469
  ```typescript
523
470
  await turnRunner.start({ state: savedState });
@@ -531,13 +478,15 @@ const terminal = await turnRunner.turn({
531
478
 
532
479
  Resume continues turn runner session state, not an in-flight model/tool call. Any `in_progress` todo is retried from `pending`.
533
480
 
534
- Observational memory is enabled by default with thresholds tuned for modern 200k-token model windows:
481
+ Observational memory thresholds (tuned for modern 200k-token windows):
535
482
 
536
- - Raw messages are observed after each pi-agent run; the `100_000` token threshold controls when old raw transcript context is replaced.
483
+ - Raw messages are observed after each pi-agent run; `100_000` tokens controls when old raw transcript context is replaced.
537
484
  - Observation logs are reflected around `60_000` tokens, targeting about `40_000` tokens after reflection.
538
485
  - Raw-tail retention keeps about `30_000` exact message tokens after context replacement activates.
539
486
  - Observation context is injected as reminder messages; replacing raw context with observations/reflections is the compaction path.
540
487
 
488
+ </details>
489
+
541
490
  ## Skills
542
491
 
543
492
  Skills are loaded from `<cwd>/.duet/skills`, `<cwd>/.agents/skills`, `~/.duet/skills`, and `~/.agents/skills` by default, using `@earendil-works/pi-coding-agent`'s skill loader. The turn runner injects every loaded skill's description and instructions into the agent system prompt.
@@ -548,29 +497,6 @@ After `start`, the runner exposes what it discovered:
548
497
  - `getResolvedAgentFiles()` returns the system-prompt files (e.g. `AGENTS.md`) found on disk for the session.
549
498
  - `getSkillCollisions()` returns name collisions across skill scopes so a CLI or UI can warn about ambiguous skills.
550
499
 
551
- ## Guardrails
552
-
553
- The turn runner installs its default safety checks internally. Add extra guardrail config objects when a deployment needs stricter local policy.
554
-
555
- ```typescript
556
- const turnRunner = new TurnRunner({
557
- // ...
558
- guardrails: [
559
- {
560
- kind: "pattern",
561
- rules: [
562
- { pattern: /production-db/i, action: "warn", reason: "Production database mentioned" },
563
- ],
564
- },
565
- {
566
- kind: "semantic",
567
- model: getModel("anthropic", "claude-haiku-4-5"),
568
- policy: "Never delete production data. Never expose secrets in output.",
569
- },
570
- ],
571
- });
572
- ```
573
-
574
500
  ## Design Principles
575
501
 
576
502
  1. **Files and CLI at the core.** Local tools stay simple: if you can do it with bash, scripts, or files, you can make it part of a turn. Remote MCP tools are supported as an integration boundary, not as the core execution model.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duetso/agent",
3
- "version": "0.1.112",
3
+ "version": "0.1.114",
4
4
  "description": "An opinionated full-stack agent turn runner with native memories, interrupts, and multi-agent orchestration",
5
5
  "keywords": [
6
6
  "agent",
@@ -117,6 +117,14 @@ declare function upgradePaths(): {
117
117
  lockPath: string;
118
118
  logPath: string;
119
119
  };
120
+ /**
121
+ * Remove leftover `.agent-<rand>` staging directories that a previously
122
+ * killed `npm install -g @duetso/agent` left behind in the @duetso scope
123
+ * dir. Safe to call repeatedly; missing entries are ignored. The scope dir
124
+ * is derived from `scriptPath` by walking up to the `@duetso/agent`
125
+ * segment, which `isLikelyGlobalInstall` already validated above.
126
+ */
127
+ declare function cleanStaleStagingDirs(scriptPath: string): void;
120
128
  /**
121
129
  * Spawn options chosen so the install survives the parent CLI exiting:
122
130
  * - `detached: true` puts npm in its own process group so a terminal
@@ -142,6 +150,7 @@ export declare function defaultRunUpgrade(command: string[], spawn?: SpawnFn): P
142
150
  export declare const __testing: {
143
151
  upgradePaths: typeof upgradePaths;
144
152
  STALE_LOCK_MS: number;
153
+ cleanStaleStagingDirs: typeof cleanStaleStagingDirs;
145
154
  };
146
155
  export {};
147
156
  //# sourceMappingURL=auto-upgrade.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auto-upgrade.d.ts","sourceRoot":"","sources":["../../../src/cli/auto-upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-upgrade.d.ts","sourceRoot":"","sources":["../../../src/cli/auto-upgrade.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { spawn as nodeSpawn } from "node:child_process";
2
- import { appendFileSync, closeSync, mkdirSync, openSync, readFileSync, unlinkSync, writeSync, } from "node:fs";
2
+ import { appendFileSync, closeSync, mkdirSync, openSync, readdirSync, readFileSync, rmSync, unlinkSync, writeSync, } from "node:fs";
3
3
  import { homedir } from "node:os";
4
4
  import { join } from "node:path";
5
5
  import { detectPackageManagerFromContext, globalUpgradeCommand, } from "./package-manager.js";
@@ -96,6 +96,16 @@ export async function runAutoUpgrade(input) {
96
96
  return emit({ kind: "locked" });
97
97
  }
98
98
  try {
99
+ // Self-heal partial installs from a previous run before we either probe
100
+ // the registry or spawn a fresh install. npm's global install finalizes
101
+ // with two renames — `agent` → `.agent-<rand>` (old aside), then
102
+ // `.agent-<rand>` (new tmp) → `agent`. A SIGKILL between them (e.g. a
103
+ // sandbox tearing down the exec process tree) leaves the scope dir with
104
+ // a leftover `.agent-*` directory and no `agent`, so the next install
105
+ // fails with `ENOTEMPTY` and `duet` stays missing from $PATH. Sweep
106
+ // those stragglers while we hold the upgrade lock so concurrent CLIs do
107
+ // not race against us.
108
+ cleanStaleStagingDirs(scriptPath);
99
109
  emit({ kind: "checking" });
100
110
  const fetchLatest = input.fetchLatest ?? ((name) => fetchLatestPackageVersion(name, REGISTRY_TIMEOUT_MS));
101
111
  let latest;
@@ -250,6 +260,42 @@ function ensureDir(path) {
250
260
  // ignore
251
261
  }
252
262
  }
263
+ /**
264
+ * Remove leftover `.agent-<rand>` staging directories that a previously
265
+ * killed `npm install -g @duetso/agent` left behind in the @duetso scope
266
+ * dir. Safe to call repeatedly; missing entries are ignored. The scope dir
267
+ * is derived from `scriptPath` by walking up to the `@duetso/agent`
268
+ * segment, which `isLikelyGlobalInstall` already validated above.
269
+ */
270
+ function cleanStaleStagingDirs(scriptPath) {
271
+ const normalized = scriptPath.replace(/\\/g, "/");
272
+ const marker = "/@duetso/agent/";
273
+ const idx = normalized.indexOf(marker);
274
+ if (idx === -1)
275
+ return;
276
+ // Use the original (non-normalized) path so Windows separators survive,
277
+ // even though duet only ships on POSIX today.
278
+ const scopeDir = scriptPath.slice(0, idx + "/@duetso".length);
279
+ let entries;
280
+ try {
281
+ entries = readdirSync(scopeDir);
282
+ }
283
+ catch {
284
+ return;
285
+ }
286
+ for (const entry of entries) {
287
+ if (!entry.startsWith(".agent-"))
288
+ continue;
289
+ const stagingPath = join(scopeDir, entry);
290
+ try {
291
+ rmSync(stagingPath, { recursive: true, force: true });
292
+ appendLog(`cleaned-staging path=${stagingPath}`);
293
+ }
294
+ catch (error) {
295
+ appendLog(`cleaned-staging-error path=${stagingPath} error=${describeError(error)}`);
296
+ }
297
+ }
298
+ }
253
299
  function appendLog(line) {
254
300
  try {
255
301
  const { logPath } = upgradePaths();
@@ -310,5 +356,6 @@ export function defaultRunUpgrade(command, spawn = nodeSpawn) {
310
356
  export const __testing = {
311
357
  upgradePaths,
312
358
  STALE_LOCK_MS,
359
+ cleanStaleStagingDirs,
313
360
  };
314
361
  //# sourceMappingURL=auto-upgrade.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auto-upgrade.js","sourceRoot":"","sources":["../../../src/cli/auto-upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-upgrade.js","sourceRoot":"","sources":["../../../src/cli/auto-upgrade.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../src/cli/help.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAkFtD;AAED,wBAAgB,cAAc,IAAI,IAAI,CA0BrC;AAED,wBAAgB,YAAY,IAAI,IAAI,CAsBnC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAkBtC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAsBtC;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAiB5C;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAa1D"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../src/cli/help.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAmFtD;AAED,wBAAgB,cAAc,IAAI,IAAI,CA0BrC;AAED,wBAAgB,YAAY,IAAI,IAAI,CAsBnC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAkBtC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAsBtC;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAiB5C;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAa1D"}
@@ -45,6 +45,7 @@ OPTIONS
45
45
  --no-system-prompt-files Disable default AGENTS.md system prompt loading
46
46
  --env-file <path> Shared env file to load after <workdir>/.env (default: ${DEFAULT_DUET_ENV_FILE})
47
47
  --no-auto-upgrade Skip the auto-upgrade probe for this run (also: DUET_NO_AUTO_UPGRADE=1)
48
+ --no-skill-sync Skip the on-load default-skill sync
48
49
  --rpc Bare turn-runner control surface. Reads newline-delimited TurnRunnerCommand
49
50
  JSON from stdin and writes TurnEvent JSON to stdout. The first command must
50
51
  be "start"; the process exits after the single turn reaches its terminal
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../../src/cli/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAExE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC;AAEjD,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;gDAmBkC,WAAW;;;;;;;;;;;;gHAYqD,+BAA+B;;;;;oFAK3D,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CxG,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;wEAW0D,qBAAqB;;;;;;;;;;;;;CAa5F,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;yDAa2C,qBAAqB;;;;;;IAM1E,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;CAChC,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;CAgBb,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;CAoBb,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;CAeb,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,OAAO,CAAC,GAAG,CAAC;oCACsB,WAAW;;;;;;;;;;CAU9C,CAAC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../../src/cli/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAExE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC;AAEjD,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;gDAmBkC,WAAW;;;;;;;;;;;;gHAYqD,+BAA+B;;;;;oFAK3D,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CxG,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;wEAW0D,qBAAqB;;;;;;;;;;;;;CAa5F,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;yDAa2C,qBAAqB;;;;;;IAM1E,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;CAChC,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;CAgBb,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;CAoBb,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;CAeb,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,OAAO,CAAC,GAAG,CAAC;oCACsB,WAAW;;;;;;;;;;CAU9C,CAAC,CAAC;AACH,CAAC"}
@@ -41,6 +41,8 @@ export interface ParsedRpcArgs {
41
41
  systemPromptFiles?: string[];
42
42
  envFilePath?: string;
43
43
  incognito: boolean;
44
+ /** When true, skip the on-load default-skill sync. */
45
+ noSkillSync: boolean;
44
46
  }
45
47
  /**
46
48
  * Parse CLI args for `--rpc`. The accepted set mirrors the run command's
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/cli/rpc.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,4BAA4B,EAC5B,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAKhD;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChF,IAAI,CACF,OAAO,EAAE,OAAO,CAAC,iBAAiB,EAAE;QAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAA;KAAE,CAAC,GAC1E,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,SAAS,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC/C,iBAAiB,CAAC,OAAO,EAAE,4BAA4B,GAAG,IAAI,CAAC;CAChE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCvF;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAgF1D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,GACzC,OAAO,CAAC,IAAI,CAAC,CA+Ef;AAoBD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAiBlF"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/cli/rpc.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,4BAA4B,EAC5B,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAKhD;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChF,IAAI,CACF,OAAO,EAAE,OAAO,CAAC,iBAAiB,EAAE;QAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAA;KAAE,CAAC,GAC1E,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,SAAS,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC/C,iBAAiB,CAAC,OAAO,EAAE,4BAA4B,GAAG,IAAI,CAAC;CAChE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDvF;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CA0F1D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,GACzC,OAAO,CAAC,IAAI,CAAC,CA+Ef;AAoBD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAiBlF"}
@@ -1,6 +1,7 @@
1
1
  import { createInterface } from "node:readline";
2
2
  import { shimDuetApiKeyToAiGateway } from "../model-resolution/duet-gateway.js";
3
3
  import { pinnedDefaultModel, pinnedMemoryModel, PROVIDER_SHORTHANDS, resolveProviderShorthand, } from "../model-resolution/catalog.js";
4
+ import { maybeAutoSyncDefaultSkills } from "../lib/sync-skills.js";
4
5
  import { TurnRunner } from "../turn-runner/turn-runner.js";
5
6
  import { buildCliTurnConfig } from "./run.js";
6
7
  import { fail, loadCliEnvFiles } from "./shared.js";
@@ -26,6 +27,20 @@ export async function runRpcCommand(args, pkg) {
26
27
  const parsed = parseRpcArgs(args);
27
28
  const dotenvKeys = loadCliEnvFiles(parsed.workDir, parsed.envFilePath);
28
29
  shimDuetApiKeyToAiGateway();
30
+ // RPC mode never auto-upgrades: it is structurally non-interactive
31
+ // (JSON-RPC over stdio) and is normally invoked by a host gateway that
32
+ // owns its own upgrade policy out of band. A mid-upgrade SIGKILL from a
33
+ // sandbox tearing down the exec process tree would leave the global
34
+ // node_modules tree in a partial state; keeping RPC quiet here avoids
35
+ // that risk entirely, matching the non-interactive gate in `run.ts`.
36
+ // Refresh gateway-managed default skills when the user has previously
37
+ // opted in via `duet login`. Skipped when the caller passes
38
+ // --no-skill-sync (e.g. a sandbox host that already manages its own skill
39
+ // bundle). Conditional GET keeps the steady-state cost to a single 304
40
+ // round-trip.
41
+ if (process.env.DUET_API_KEY && !parsed.noSkillSync) {
42
+ await maybeAutoSyncDefaultSkills({ apiKey: process.env.DUET_API_KEY });
43
+ }
29
44
  const { config } = buildCliTurnConfig({
30
45
  ...(parsed.modelName ? { modelName: parsed.modelName } : {}),
31
46
  ...(parsed.memoryModelName ? { memoryModelName: parsed.memoryModelName } : {}),
@@ -65,6 +80,7 @@ export function parseRpcArgs(args) {
65
80
  let systemPromptFiles;
66
81
  let envFilePath;
67
82
  let incognito = false;
83
+ let noSkillSync = false;
68
84
  for (let i = 0; i < args.length; i++) {
69
85
  switch (args[i]) {
70
86
  case "--model":
@@ -111,6 +127,14 @@ export function parseRpcArgs(args) {
111
127
  fail(`Missing value for ${args[i]}`);
112
128
  envFilePath = args[++i];
113
129
  break;
130
+ case "--no-skill-sync":
131
+ noSkillSync = true;
132
+ break;
133
+ case "--no-auto-upgrade":
134
+ // Accepted as a no-op: RPC mode never auto-upgrades, so the flag is
135
+ // already true here. Tolerated so host scripts that forward run-mode
136
+ // flags into `--rpc` invocations do not break.
137
+ break;
114
138
  case "--rpc":
115
139
  // The dispatcher in cli.ts passes the full argv through; swallow the
116
140
  // routing flag here so it does not look like an unknown option.
@@ -140,6 +164,7 @@ export function parseRpcArgs(args) {
140
164
  ...(systemPromptFiles ? { systemPromptFiles } : {}),
141
165
  ...(envFilePath ? { envFilePath } : {}),
142
166
  incognito,
167
+ noSkillSync,
143
168
  };
144
169
  }
145
170
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/cli/rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/cli/rpc.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/run.ts"],"names":[],"mappings":"AAQA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAW3D,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,gBAAgB,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC,qBAAqB,EAAE,eAAe,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAEtF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,kBAAkB,EACzB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GACtB,uBAAuB,CAgBzB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAuTvF"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/run.ts"],"names":[],"mappings":"AAQA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAW3D,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,gBAAgB,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC,qBAAqB,EAAE,eAAe,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAEtF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,kBAAkB,EACzB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GACtB,uBAAuB,CAgBzB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAmUvF"}
@@ -59,6 +59,7 @@ export async function runRunCommand(args, pkg) {
59
59
  let envFilePath;
60
60
  let incognito = false;
61
61
  let noAutoUpgrade = false;
62
+ let noSkillSync = false;
62
63
  const promptParts = [];
63
64
  const interactive = isInteractive();
64
65
  for (let i = 0; i < args.length; i++) {
@@ -127,6 +128,9 @@ export async function runRunCommand(args, pkg) {
127
128
  case "--no-auto-upgrade":
128
129
  noAutoUpgrade = true;
129
130
  break;
131
+ case "--no-skill-sync":
132
+ noSkillSync = true;
133
+ break;
130
134
  case "--version":
131
135
  case "-v":
132
136
  console.log(pkg.version);
@@ -178,11 +182,19 @@ export async function runRunCommand(args, pkg) {
178
182
  // while the TUI is already mounted. The TUI subscribes to upgradeStatus$
179
183
  // to render a live header line; the JSON path awaits the final status
180
184
  // and prints one summary line to stderr.
185
+ //
186
+ // Auto-upgrade is gated on having a TTY: non-interactive invocations
187
+ // (e.g. `duet <prompt>` exec'd by a sandbox terminal channel) often get
188
+ // their whole process tree torn down as soon as the command "finishes",
189
+ // which kills the detached npm child mid-rename and leaves the global
190
+ // node_modules tree in a partial state (`@duetso/.agent-<random>`
191
+ // staging dirs with no `agent` symlink).
192
+ const nonInteractive = !process.stdin.isTTY && !process.stdout.isTTY;
181
193
  const upgradeStatus$ = createUpgradeStatusStream();
182
194
  const upgradePromise = runAutoUpgrade({
183
195
  packageName: pkg.name,
184
196
  currentVersion: pkg.version,
185
- disabled: noAutoUpgrade,
197
+ disabled: noAutoUpgrade || nonInteractive,
186
198
  onStatus: (status) => upgradeStatus$.publish(status),
187
199
  }).then((status) => {
188
200
  upgradeStatus$.complete(status);
@@ -193,7 +205,7 @@ export async function runRunCommand(args, pkg) {
193
205
  // in with --skip-skill-sync leaves no hash, so this stays a no-op until
194
206
  // the user explicitly syncs at least once. The conditional GET hits 304
195
207
  // in steady state, so the cost is one cheap round-trip.
196
- if (process.env.DUET_API_KEY) {
208
+ if (process.env.DUET_API_KEY && !noSkillSync) {
197
209
  await maybeAutoSyncDefaultSkills({ apiKey: process.env.DUET_API_KEY });
198
210
  }
199
211
  const { config, modelResolution, memoryModelResolution } = buildCliTurnConfig({
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,eAAe,GAEhB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,+BAA+B,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAsB3B;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAgD;IAC3E,OAAO,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAyB,EACzB,UAAuB;IAEvB,MAAM,eAAe,GAAG,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACrE,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,KAAK,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAEvF,OAAO;QACL,MAAM,EAAE;YACN,KAAK,EAAE,eAAe,CAAC,SAAS;YAChC,WAAW,EAAE,qBAAqB,CAAC,SAAS;YAC5C,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,EAAE,KAAK,CAAC,OAAO;YAClB,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnF;QACD,eAAe;QACf,qBAAqB;KACtB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAc,EAAE,GAAoB;IACtE,IAAI,SAA6B,CAAC;IAClC,IAAI,eAAmC,CAAC;IACxC,yEAAyE;IACzE,sDAAsD;IACtD,IAAI,YAAgC,CAAC;IACrC,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC5B,IAAI,eAAmC,CAAC;IACxC,IAAI,kBAAsC,CAAC;IAC3C,IAAI,iBAAuC,CAAC;IAC5C,IAAI,qBAAqB,GAAG,+BAA+B,CAAC;IAC5D,IAAI,6BAA6B,GAAG,KAAK,CAAC;IAC1C,IAAI,WAA+B,CAAC;IACpC,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;IAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,KAAK,SAAS,CAAC;YACf,KAAK,IAAI;gBACP,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC;oBAAE,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvF,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtB,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC;oBAAE,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvF,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5B,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC;oBAAE,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvF,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzB,MAAM;YACR,KAAK,aAAa,CAAC;YACnB,KAAK,IAAI;gBACP,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM;YACR,KAAK,WAAW,CAAC;YACjB,KAAK,IAAI;gBACP,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC;oBAAE,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvF,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;gBACrB,MAAM;YACR,KAAK,UAAU,CAAC;YAChB,KAAK,IAAI;gBACP,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC;oBAAE,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvF,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5B,MAAM;YACR,KAAK,2BAA2B;gBAC9B,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC;oBAAE,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvF,IAAI,CAAC;oBACH,qBAAqB,GAAG,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC;gBAC/E,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC/D,CAAC;gBACD,6BAA6B,GAAG,IAAI,CAAC;gBACrC,MAAM;YACR,KAAK,iBAAiB;gBACpB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC;oBAAE,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvF,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,sBAAsB;gBACzB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC;oBAAE,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvF,iBAAiB,GAAG,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC,CAAC;gBAC/D,MAAM;YACR,KAAK,0BAA0B;gBAC7B,iBAAiB,GAAG,EAAE,CAAC;gBACvB,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC;oBAAE,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvF,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxB,MAAM;YACR,KAAK,mBAAmB;gBACtB,aAAa,GAAG,IAAI,CAAC;gBACrB,MAAM;YACR,KAAK,WAAW,CAAC;YACjB,KAAK,IAAI;gBACP,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,0CAA0C;YAC1C,KAAK,QAAQ,CAAC;YACd,KAAK,IAAI;gBACP,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,0CAA0C;YAC1C;gBACE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrC,CAAC;gBACD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,IAAI,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEnC,2CAA2C;IAC3C,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,IAAI,CAAC,WAAW,EAAE,CAAC;QAChD,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,SAAS,IAAI,eAAe,EAAE,CAAC;YACjC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,qBAAqB,YAAY,sBAAsB,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChG,CAAC;QACD,uEAAuE;QACvE,sEAAsE;QACtE,uDAAuD;QACvD,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACzC,eAAe,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACzD,yBAAyB,EAAE,CAAC;IAE5B,uEAAuE;IACvE,yEAAyE;IACzE,sEAAsE;IACtE,yCAAyC;IACzC,MAAM,cAAc,GAAG,yBAAyB,EAAE,CAAC;IACnD,MAAM,cAAc,GAAG,cAAc,CAAC;QACpC,WAAW,EAAE,GAAG,CAAC,IAAI;QACrB,cAAc,EAAE,GAAG,CAAC,OAAO;QAC3B,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC;KACrD,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACjB,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,wEAAwE;IACxE,wDAAwD;IACxD,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC7B,MAAM,0BAA0B,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,qBAAqB,EAAE,GAAG,kBAAkB,CAC3E;QACE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,SAAS;QACT,OAAO;QACP,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,EACD,UAAU,CACX,CAAC;IACF,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;IACtC,eAAe,GAAG,qBAAqB,CAAC,SAAS,CAAC;IAElD,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;IAErD,yEAAyE;IACzE,4EAA4E;IAC5E,uEAAuE;IACvE,wEAAwE;IACxE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC;QACzC,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC5D,IAAI,MAAM;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;QAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,SAAS,IAAI,CAAC,CAAC;QAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,uBAAuB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC9E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,eAAe,IAAI,CAAC,CAAC;QAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,uBAAuB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,wEAAwE;QACxE,qEAAqE;QACrE,4CAA4C;QAC5C,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wEAAwE;IACxE,sEAAsE;IACtE,yEAAyE;IACzE,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEhF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,eAAe;YAC7B,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;YACjC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBACb,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;aACzC,CAAC,CAAC;QACP,IAAI,cAAkF,CAAC;QAEvF,IAAI,eAAe,EAAE,CAAC;YACpB,iEAAiE;YACjE,oEAAoE;YACpE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,oBAAoB,eAAe,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,kEAAkE;YAClE,uCAAuC;YACvC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,cAAc,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC;QACtD,CAAC;QAED,IAAI,MAAM,IAAI,eAAe,EAAE,CAAC;YAC9B,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1C,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;QAClC,CAAC;aAAM,IAAI,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YACtC,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;QAClC,CAAC;QAED,uEAAuE;QACvE,uEAAuE;QACvE,sEAAsE;QACtE,uEAAuE;QACvE,sEAAsE;QACtE,uEAAuE;QACvE,IAAI,aAAa,GAAG,OAAO,CAAC;QAC5B,IAAI,aAAa,GAAG,cAAc,CAAC;QACnC,IAAI,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE,CAAC;YACX,iDAAiD;YACjD,OAAO,IAAI,EAAE,CAAC;gBACZ,IAAI,sBAA0C,CAAC;gBAC/C,IAAI,YAAY,GAAG,KAAK,CAAC;gBACzB,MAAM,MAAM,CAAC;oBACX,OAAO,EAAE,aAAa;oBACtB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7C,eAAe,EAAE,CAAC,EAAU,EAAE,EAAE;wBAC9B,sBAAsB,GAAG,EAAE,CAAC;oBAC9B,CAAC;oBACD,cAAc,EAAE,GAAG,EAAE;wBACnB,YAAY,GAAG,IAAI,CAAC;oBACtB,CAAC;oBACD,qBAAqB;oBACrB,SAAS;oBACT,WAAW,EAAE,uBAAuB,CAAC,eAAe,CAAC;oBACrD,eAAe;oBACf,iBAAiB,EAAE,uBAAuB,CAAC,qBAAqB,CAAC;oBACjE,OAAO;oBACP,SAAS,EAAE,aAAa,CAAC,EAAE;oBAC3B,WAAW,EAAE,GAAG,CAAC,IAAI;oBACrB,cAAc,EAAE,GAAG,CAAC,OAAO;oBAC3B,cAAc;iBACf,CAAC,CAAC;gBAEH,IAAI,YAAY,EAAE,CAAC;oBACjB,+DAA+D;oBAC/D,+DAA+D;oBAC/D,yDAAyD;oBACzD,sBAAsB;oBACtB,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;oBAC9B,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACzE,aAAa,GAAG,SAAS,CAAC;oBAC1B,cAAc,GAAG,KAAK,CAAC;oBACvB,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC,sBAAsB;oBAAE,MAAM;gBAEnC,+DAA+D;gBAC/D,8DAA8D;gBAC9D,6DAA6D;gBAC7D,uDAAuD;gBACvD,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC9B,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;gBACvD,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,oBAAoB,sBAAsB,EAAE,CAAC,CAAC;gBAChE,CAAC;gBACD,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;gBAC5B,aAAa,GAAG,aAAa,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC;gBACzD,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;QACH,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,4BAA4B,aAAa,CAAC,aAAa,CAAC,EAAE,EAAE;YAC1D,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,OAAO;YACP,SAAS;YACT,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE,CAAC,IAAI,CACP,CAAC;IACJ,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;YAAS,CAAC;QACT,sBAAsB,EAAE,CAAC;QACzB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/run.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duetso/agent",
3
- "version": "0.1.112",
3
+ "version": "0.1.114",
4
4
  "description": "An opinionated full-stack agent turn runner with native memories, interrupts, and multi-agent orchestration",
5
5
  "keywords": [
6
6
  "agent",