@duetso/agent 0.1.20 → 0.1.21

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,6 +1,6 @@
1
1
  # duet-agent
2
2
 
3
- An opinionated, full-stack agent turn runner. Native memories. Native interrupts. Multi-agent by default.
3
+ 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.
4
4
 
5
5
  **No MCP. Everything is files and CLI.**
6
6
 
@@ -8,7 +8,7 @@ An opinionated, full-stack agent turn runner. Native memories. Native interrupts
8
8
 
9
9
  Existing agent turn runners treat tools and memories as pluggable modules. This makes them flexible but fundamentally disconnected — memory is an afterthought.
10
10
 
11
- duet-agent takes the opposite approach: **memory is woven into the core architecture.** An agent without memory is stateless. Interrupts are handled by the underlying pi agent runtime, so the turn runner does not need its own interrupt bus.
11
+ 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.
12
12
 
13
13
  ## Architecture
14
14
 
@@ -66,12 +66,14 @@ are not states themselves.
66
66
 
67
67
  ## Key Differentiators
68
68
 
69
- ### Native Memory
69
+ ### Native Multimodal Memory
70
70
 
71
71
  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.
72
72
 
73
73
  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. Observations are scoped as `session` or `resource`.
74
74
 
75
+ 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.
76
+
75
77
  ### Pi Coding Tools
76
78
 
77
79
  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.
@@ -84,6 +86,12 @@ Interrupt behavior comes from the underlying pi agent runtime. A user can send a
84
86
 
85
87
  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.
86
88
 
89
+ ### Serverless- And Sandbox-Friendly
90
+
91
+ The turn runner is stateless across process boundaries. `TurnState` is the only thing that needs to survive: `SessionManager` writes it to `~/.duet/sessions/<id>/state.json` after every terminal event, and durable observations live in PGlite at `~/.duet/memory.db`. A new process — including a fresh serverless invocation, a new sandbox container, or a different machine — can resume a session by pointing at the same state directory and calling `runner.start({ state: savedState })`.
92
+
93
+ This makes long-running sessions practical. A state machine can sit in `wait_for_reply` for weeks, woken by a cron-driven `wake` command, without keeping a process alive between polls. Sessions that span months — outbound outreach loops, slow build-and-review cycles, scheduled retries — work the same way as one-shot turns: load state, run a turn, persist state, exit.
94
+
87
95
  ### Three Execution Modes
88
96
 
89
97
  The turn runner has three top-level modes:
@@ -203,6 +211,9 @@ duet --no-system-prompt-files "review this repo"
203
211
  # Resume a saved session
204
212
  duet --resume session_abc123 --workdir ./my-project
205
213
 
214
+ # List installed skills (project + user scope)
215
+ duet skills
216
+
206
217
  # Through Vercel AI Gateway
207
218
  export AI_GATEWAY_API_KEY=...
208
219
  duet -m vercel-ai-gateway:anthropic/claude-opus-4.7 "review this repo"
@@ -225,9 +236,13 @@ const turnRunner = new TurnRunner({
225
236
  mode: "auto",
226
237
  });
227
238
 
239
+ // `start` is setup-only: loads skills and memory, emits `turn_started`, runs no agent work.
240
+ await turnRunner.start({ mode: "auto" });
241
+
228
242
  const terminal = await turnRunner.turn({
229
- type: "start",
230
- prompt: "Build a todo app with React and TypeScript",
243
+ type: "prompt",
244
+ message: "Build a todo app with React and TypeScript",
245
+ behavior: "follow_up",
231
246
  });
232
247
  ```
233
248
 
@@ -241,9 +256,7 @@ the parent agent rather than creating separate conversation branches.
241
256
 
242
257
  ## Memory And Persistence
243
258
 
244
- duet-agent owns a concrete event-emitting `MemoryStore` internally. It is the runtime state container, not a database adapter.
245
-
246
- `SessionManager` stores session snapshots under `~/.duet/sessions` by default and enables durable observational memory at `~/.duet/memory.db`. Pass `memoryDbPath: false` to keep observational memory in process only, or provide `memoryDbPath` for a custom database location.
259
+ The turn runner holds its own `MemoryStore` in memory and emits observation events as work happens. Persistence is a separate layer: `SessionManager` writes session snapshots under `~/.duet/sessions` after every terminal event and mirrors observations into a PGlite database at `~/.duet/memory.db`. Pass `memoryDbPath: false` to keep observational memory in process only, or provide `memoryDbPath` for a custom database location.
247
260
 
248
261
  ```typescript
249
262
  import { SessionManager } from "@duetso/agent";
@@ -255,12 +268,15 @@ const manager = new SessionManager({
255
268
 
256
269
  The memory module hydrates durable observations from an embedded Postgres database powered by PGlite before the first turn and writes observation updates back as memory changes. Raw conversation messages stay in `TurnState.agent.messages`; memory persistence stores only derived observations/reflections.
257
270
 
258
- You can also resume directly from saved state:
271
+ You can also resume directly from saved state. The runner owns state
272
+ internally after `start`, so resumed state is handed in through the start
273
+ command and later turns just send prompts:
259
274
 
260
275
  ```typescript
276
+ await turnRunner.start({ state: savedState });
277
+
261
278
  const terminal = await turnRunner.turn({
262
279
  type: "prompt",
263
- state: savedState,
264
280
  message: "Continue the previous goal",
265
281
  behavior: "follow_up",
266
282
  });
@@ -277,7 +293,13 @@ Observational memory is enabled by default with thresholds tuned for modern 200k
277
293
 
278
294
  ## Skills
279
295
 
280
- 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. `getSkills()` returns the discovered skills, including YAML frontmatter descriptions such as block scalars.
296
+ 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.
297
+
298
+ After `start`, the runner exposes what it discovered:
299
+
300
+ - `getSkills()` returns the loaded skills, including YAML frontmatter descriptions such as block scalars.
301
+ - `getResolvedAgentFiles()` returns the system-prompt files (e.g. `AGENTS.md`) found on disk for the session.
302
+ - `getSkillCollisions()` returns name collisions across skill scopes so a CLI or UI can warn about ambiguous skills.
281
303
 
282
304
  ## Guardrails
283
305
 
@@ -305,7 +327,7 @@ const turnRunner = new TurnRunner({
305
327
  ## Design Principles
306
328
 
307
329
  1. **Files and CLI over protocols.** No MCP, no custom APIs. If you can't do it with bash, you can't do it.
308
- 2. **Runtime state over persistence.** The turn runner owns in-memory state and emits events. Persistence lives in external modules or initial-state hydration.
330
+ 2. **State in memory, durability on disk.** The turn runner owns `TurnState` in memory and emits events. `SessionManager` writes state and observations to disk on every terminal event, so any process can resume by handing the saved state back to `runner.start`.
309
331
  3. **Agent-routed state machines over workflow engines.** Long-running state machines describe available business states; a runner agent decides what to do next from prompt, state, and history. Task-level workflows belong inside agent or script states.
310
332
  4. **Dynamic over static.** Agent states are defined by state machines at runtime, not pre-built classes.
311
333
  5. **Simple over flexible.** Default pi coding tools. One default memory store. Constraints breed creativity.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duetso/agent",
3
- "version": "0.1.20",
3
+ "version": "0.1.21",
4
4
  "description": "An opinionated full-stack agent turn runner with native memories, interrupts, and multi-agent orchestration",
5
5
  "keywords": [
6
6
  "agent",
@@ -44,6 +44,20 @@ export interface StartupHeaderInput {
44
44
  memoryModelSource?: string;
45
45
  newVersionNotice?: string;
46
46
  }
47
+ export interface SkillAutocompleteItem {
48
+ name: string;
49
+ description?: string;
50
+ path?: string;
51
+ }
52
+ export interface SkillAutocompleteToken {
53
+ start: number;
54
+ end: number;
55
+ query: string;
56
+ }
57
+ export interface SkillAutocompleteReplacement {
58
+ text: string;
59
+ cursorOffset: number;
60
+ }
47
61
  /**
48
62
  * Runs the interactive TUI for a session. Resolves with the most recent
49
63
  * terminal event (if any) when the user exits the UI.
@@ -56,5 +70,11 @@ export declare function runTui(input: RunTuiInput): Promise<TurnTerminalEvent |
56
70
  export declare function historyDisplayBlocks(history: readonly AgentMessage[]): HistoryDisplayBlock[];
57
71
  export declare function startupHeaderLines(input: StartupHeaderInput): string[];
58
72
  export declare function limitHistoryDisplayBlocks(blocks: readonly HistoryDisplayBlock[], maxLines: number): LimitedHistory;
73
+ export declare function activeSkillAutocompleteToken(text: string, cursorOffset: number): SkillAutocompleteToken | undefined;
74
+ export declare function skillAutocompleteMatches(skills: readonly SkillAutocompleteItem[], query: string, limit?: number): SkillAutocompleteItem[];
75
+ export declare function formatSkillAutocompleteItem(item: SkillAutocompleteItem): string;
76
+ export declare function formatSkillAutocompleteDescription(description: string | undefined): string;
77
+ export declare function moveSkillAutocompleteSelection(selectedIndex: number, itemCount: number, direction: -1 | 1): number;
78
+ export declare function replaceSkillAutocompleteToken(text: string, token: SkillAutocompleteToken, skillName: string): SkillAutocompleteReplacement;
59
79
  export {};
60
80
  //# sourceMappingURL=app.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/tui/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAWlE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,KAAK,EAIV,iBAAiB,EAGlB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,cAAc,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iFAAiF;IACjF,eAAe,EAAE,MAAM,CAAC;IACxB,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,KAAK,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAE1E,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAsBD;;;;;;;GAOG;AACH,wBAAsB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAgqBvF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,mBAAmB,EAAE,CAgD5F;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,EAAE,CActE;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,SAAS,mBAAmB,EAAE,EACtC,QAAQ,EAAE,MAAM,GACf,cAAc,CAyBhB"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/tui/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAalE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,KAAK,EAIV,iBAAiB,EAGlB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,cAAc,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iFAAiF;IACjF,eAAe,EAAE,MAAM,CAAC;IACxB,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,KAAK,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAE1E,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AA0BD;;;;;;;GAOG;AACH,wBAAsB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAy0BvF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,mBAAmB,EAAE,CAgD5F;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,EAAE,CActE;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,SAAS,mBAAmB,EAAE,EACtC,QAAQ,EAAE,MAAM,GACf,cAAc,CAyBhB;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GACnB,sBAAsB,GAAG,SAAS,CAapC;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,qBAAqB,EAAE,EACxC,KAAK,EAAE,MAAM,EACb,KAAK,SAA2B,GAC/B,qBAAqB,EAAE,CAMzB;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAI/E;AAED,wBAAgB,kCAAkC,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAU1F;AAwBD,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,GAChB,MAAM,CAGR;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,sBAAsB,EAC7B,SAAS,EAAE,MAAM,GAChB,4BAA4B,CAI9B"}
@@ -1,4 +1,4 @@
1
- import { BoxRenderable, createCliRenderer, ScrollBoxRenderable, TextRenderable, TextareaRenderable, } from "@opentui/core";
1
+ import { BoxRenderable, createCliRenderer, fg, ScrollBoxRenderable, t, TextRenderable, TextareaRenderable, } from "@opentui/core";
2
2
  import { formatCompactJson } from "../lib/compact-json.js";
3
3
  const COLORS = {
4
4
  user: "#7DD3FC",
@@ -13,6 +13,10 @@ const COLORS = {
13
13
  };
14
14
  const HINT_IDLE = "Enter: send · Esc: quit · Ctrl+C: force quit";
15
15
  const HINT_RUNNING = "Enter: steer · Shift+Enter: queue follow-up · Esc: interrupt and quit · Ctrl+C: force quit";
16
+ const SKILL_AUTOCOMPLETE_LIMIT = 8;
17
+ const SKILL_AUTOCOMPLETE_TOKEN = /^\/([A-Za-z0-9_.-]*)$/;
18
+ const SKILL_AUTOCOMPLETE_DESCRIPTION_WIDTH = 72;
19
+ const SKILL_AUTOCOMPLETE_DESCRIPTION_LINES = 2;
16
20
  /**
17
21
  * Runs the interactive TUI for a session. Resolves with the most recent
18
22
  * terminal event (if any) when the user exits the UI.
@@ -116,6 +120,35 @@ export async function runTui(input) {
116
120
  height: 1,
117
121
  flexShrink: 0,
118
122
  });
123
+ const skillAutocompletePanel = new BoxRenderable(renderer, {
124
+ flexDirection: "column",
125
+ border: true,
126
+ borderColor: COLORS.border,
127
+ paddingLeft: 1,
128
+ paddingRight: 1,
129
+ flexShrink: 0,
130
+ });
131
+ skillAutocompletePanel.visible = false;
132
+ const skillAutocompleteTitle = new TextRenderable(renderer, {
133
+ content: "skills",
134
+ fg: COLORS.status,
135
+ height: 1,
136
+ flexShrink: 0,
137
+ });
138
+ const skillAutocompleteRows = Array.from({ length: SKILL_AUTOCOMPLETE_LIMIT }, () => {
139
+ const row = new TextRenderable(renderer, {
140
+ content: "",
141
+ fg: COLORS.hint,
142
+ height: 3,
143
+ flexShrink: 0,
144
+ });
145
+ row.visible = false;
146
+ return row;
147
+ });
148
+ skillAutocompletePanel.add(skillAutocompleteTitle);
149
+ for (const row of skillAutocompleteRows) {
150
+ skillAutocompletePanel.add(row);
151
+ }
119
152
  const inputBox = new BoxRenderable(renderer, {
120
153
  flexDirection: "row",
121
154
  border: true,
@@ -143,6 +176,7 @@ export async function runTui(input) {
143
176
  layout.add(transcript);
144
177
  layout.add(status);
145
178
  layout.add(hint);
179
+ layout.add(skillAutocompletePanel);
146
180
  layout.add(inputBox);
147
181
  root.add(layout);
148
182
  root.add(sidebar);
@@ -486,6 +520,11 @@ export async function runTui(input) {
486
520
  // InputRenderable handles its own `enter` event after onKeyDown fires, so we
487
521
  // capture the modifier here and read it during the ENTER event below.
488
522
  let lastEnterShift = false;
523
+ let skillAutocompleteSkills = [];
524
+ let skillAutocompleteToken;
525
+ let skillAutocompleteItems = [];
526
+ let skillAutocompleteSelectedIndex = 0;
527
+ let suppressNextEscapeExit = false;
489
528
  let closingAfterInterrupt = false;
490
529
  const requestExit = async () => {
491
530
  if (running) {
@@ -508,10 +547,90 @@ export async function runTui(input) {
508
547
  renderer.destroy();
509
548
  }
510
549
  };
550
+ function skillAutocompleteIsOpen() {
551
+ return Boolean(skillAutocompleteToken && skillAutocompleteItems.length > 0);
552
+ }
553
+ function hideSkillAutocomplete() {
554
+ skillAutocompleteToken = undefined;
555
+ skillAutocompleteItems = [];
556
+ skillAutocompleteSelectedIndex = 0;
557
+ skillAutocompletePanel.visible = false;
558
+ for (const row of skillAutocompleteRows) {
559
+ row.visible = false;
560
+ row.content = "";
561
+ }
562
+ }
563
+ function refreshSkillAutocomplete() {
564
+ const token = activeSkillAutocompleteToken(inputField.plainText, inputField.cursorOffset);
565
+ if (!token) {
566
+ hideSkillAutocomplete();
567
+ return;
568
+ }
569
+ const items = skillAutocompleteMatches(skillAutocompleteSkills, token.query);
570
+ if (items.length === 0) {
571
+ hideSkillAutocomplete();
572
+ return;
573
+ }
574
+ const previousToken = skillAutocompleteToken;
575
+ skillAutocompleteToken = token;
576
+ skillAutocompleteItems = items;
577
+ const queryChanged = !previousToken ||
578
+ previousToken.start !== token.start ||
579
+ previousToken.end !== token.end ||
580
+ previousToken.query !== token.query;
581
+ if (queryChanged || skillAutocompleteSelectedIndex >= items.length) {
582
+ skillAutocompleteSelectedIndex = 0;
583
+ }
584
+ renderSkillAutocomplete();
585
+ }
586
+ function renderSkillAutocomplete() {
587
+ skillAutocompletePanel.visible = skillAutocompleteItems.length > 0;
588
+ for (const [index, row] of skillAutocompleteRows.entries()) {
589
+ const item = skillAutocompleteItems[index];
590
+ if (!item) {
591
+ row.visible = false;
592
+ row.content = "";
593
+ continue;
594
+ }
595
+ const selected = index === skillAutocompleteSelectedIndex;
596
+ const nameColor = selected ? COLORS.status : COLORS.user;
597
+ const pathColor = selected ? COLORS.agent : COLORS.hint;
598
+ const description = formatSkillAutocompleteDescription(item.description);
599
+ row.content = item.path
600
+ ? t `${fg(nameColor)(`/${item.name}`)} ${fg(pathColor)(`(${item.path})`)}\n${description}\n`
601
+ : t `${fg(nameColor)(`/${item.name}`)}\n${description}\n`;
602
+ row.fg = selected ? COLORS.agent : COLORS.hint;
603
+ row.visible = true;
604
+ }
605
+ }
606
+ function completeSelectedSkillAutocomplete() {
607
+ const token = skillAutocompleteToken;
608
+ const item = skillAutocompleteItems[skillAutocompleteSelectedIndex];
609
+ if (!token || !item)
610
+ return false;
611
+ const insertion = inputField.plainText[token.end]?.match(/\s/)
612
+ ? `/${item.name}`
613
+ : `/${item.name} `;
614
+ inputField.setSelection(token.start, token.end);
615
+ inputField.deleteSelection();
616
+ inputField.insertText(insertion);
617
+ hideSkillAutocomplete();
618
+ return true;
619
+ }
511
620
  const keyHandler = renderer._keyHandler;
512
621
  keyHandler.onInternal("keypress", (key) => {
513
622
  if (key.name !== "escape")
514
623
  return;
624
+ if (suppressNextEscapeExit) {
625
+ suppressNextEscapeExit = false;
626
+ key.preventDefault();
627
+ return;
628
+ }
629
+ if (skillAutocompleteIsOpen()) {
630
+ key.preventDefault();
631
+ hideSkillAutocomplete();
632
+ return;
633
+ }
515
634
  key.preventDefault();
516
635
  void requestExit();
517
636
  });
@@ -519,6 +638,31 @@ export async function runTui(input) {
519
638
  // consumes escape via its own keybindings before any global keypress handler
520
639
  // fires, so we intercept at the Renderable's onKeyDown hook which runs first.
521
640
  inputField.onKeyDown = (key) => {
641
+ if (skillAutocompleteIsOpen()) {
642
+ if (key.name === "up") {
643
+ skillAutocompleteSelectedIndex = moveSkillAutocompleteSelection(skillAutocompleteSelectedIndex, skillAutocompleteItems.length, -1);
644
+ renderSkillAutocomplete();
645
+ key.preventDefault();
646
+ return;
647
+ }
648
+ if (key.name === "down") {
649
+ skillAutocompleteSelectedIndex = moveSkillAutocompleteSelection(skillAutocompleteSelectedIndex, skillAutocompleteItems.length, 1);
650
+ renderSkillAutocomplete();
651
+ key.preventDefault();
652
+ return;
653
+ }
654
+ if (key.name === "return" || key.name === "enter") {
655
+ key.preventDefault();
656
+ completeSelectedSkillAutocomplete();
657
+ return;
658
+ }
659
+ if (key.name === "escape") {
660
+ key.preventDefault();
661
+ suppressNextEscapeExit = true;
662
+ hideSkillAutocomplete();
663
+ return;
664
+ }
665
+ }
522
666
  if (key.name === "return" || key.name === "enter") {
523
667
  lastEnterShift = Boolean(key.shift);
524
668
  // Take over Enter so the textarea does not insert a newline. We submit
@@ -537,6 +681,8 @@ export async function runTui(input) {
537
681
  return;
538
682
  }
539
683
  };
684
+ inputField.onContentChange = () => refreshSkillAutocomplete();
685
+ inputField.onCursorChange = () => refreshSkillAutocomplete();
540
686
  function submit(message, shiftEnter) {
541
687
  appendBlock("you:", message, COLORS.user);
542
688
  if (running) {
@@ -559,6 +705,12 @@ export async function runTui(input) {
559
705
  input.session.getResolvedAgentFiles(),
560
706
  input.session.getSkillCollisions(),
561
707
  ]);
708
+ skillAutocompleteSkills = skills.map((skill) => ({
709
+ name: skill.name,
710
+ description: skill.description,
711
+ path: skill.baseDir,
712
+ }));
713
+ refreshSkillAutocomplete();
562
714
  renderSetupIntro(skills, agentFiles, skillCollisions);
563
715
  refreshSidebar();
564
716
  const resumeHistoryLines = input.resumeHistoryLines ?? Number.POSITIVE_INFINITY;
@@ -711,6 +863,73 @@ export function limitHistoryDisplayBlocks(blocks, maxLines) {
711
863
  }
712
864
  return { blocks: selected, omittedLines };
713
865
  }
866
+ export function activeSkillAutocompleteToken(text, cursorOffset) {
867
+ const boundedOffset = Math.max(0, Math.min(cursorOffset, text.length));
868
+ const tokenStart = text.slice(0, boundedOffset).search(/(?:^|\s)\/[^\s]*$/);
869
+ if (tokenStart < 0)
870
+ return undefined;
871
+ const start = text[tokenStart] === "/" ? tokenStart : tokenStart + 1;
872
+ const tokenEnd = text.slice(boundedOffset).search(/\s/);
873
+ const end = tokenEnd < 0 ? text.length : boundedOffset + tokenEnd;
874
+ const token = text.slice(start, end);
875
+ const match = token.match(SKILL_AUTOCOMPLETE_TOKEN);
876
+ if (!match)
877
+ return undefined;
878
+ return { start, end, query: text.slice(start + 1, boundedOffset) };
879
+ }
880
+ export function skillAutocompleteMatches(skills, query, limit = SKILL_AUTOCOMPLETE_LIMIT) {
881
+ const normalizedQuery = query.toLocaleLowerCase();
882
+ return [...skills]
883
+ .filter((skill) => skill.name.toLocaleLowerCase().startsWith(normalizedQuery))
884
+ .sort((a, b) => a.name.localeCompare(b.name))
885
+ .slice(0, limit);
886
+ }
887
+ export function formatSkillAutocompleteItem(item) {
888
+ const path = item.path ? ` (${item.path})` : "";
889
+ const lines = [`/${item.name}${path}`, formatSkillAutocompleteDescription(item.description)];
890
+ return lines.filter((line) => line.length > 0).join("\n");
891
+ }
892
+ export function formatSkillAutocompleteDescription(description) {
893
+ if (!description)
894
+ return "";
895
+ const wrapped = wrapText(description, SKILL_AUTOCOMPLETE_DESCRIPTION_WIDTH);
896
+ const visible = wrapped.slice(0, SKILL_AUTOCOMPLETE_DESCRIPTION_LINES);
897
+ if (wrapped.length > visible.length) {
898
+ const lastIndex = visible.length - 1;
899
+ visible[lastIndex] = `${visible[lastIndex].replace(/\s+$/, "")}...`;
900
+ }
901
+ return visible.join("\n");
902
+ }
903
+ function wrapText(text, width) {
904
+ const words = text.trim().split(/\s+/);
905
+ const lines = [];
906
+ let current = "";
907
+ for (const word of words) {
908
+ if (!current) {
909
+ current = word;
910
+ continue;
911
+ }
912
+ if (current.length + 1 + word.length <= width) {
913
+ current = `${current} ${word}`;
914
+ continue;
915
+ }
916
+ lines.push(current);
917
+ current = word;
918
+ }
919
+ if (current)
920
+ lines.push(current);
921
+ return lines;
922
+ }
923
+ export function moveSkillAutocompleteSelection(selectedIndex, itemCount, direction) {
924
+ if (itemCount <= 0)
925
+ return 0;
926
+ return (selectedIndex + direction + itemCount) % itemCount;
927
+ }
928
+ export function replaceSkillAutocompleteToken(text, token, skillName) {
929
+ const insertion = text[token.end]?.match(/\s/) ? `/${skillName}` : `/${skillName} `;
930
+ const nextText = `${text.slice(0, token.start)}${insertion}${text.slice(token.end)}`;
931
+ return { text: nextText, cursorOffset: token.start + insertion.length };
932
+ }
714
933
  function countHistoryLines(blocks) {
715
934
  return blocks.reduce((count, block) => count + block.content.split("\n").length, 0);
716
935
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/tui/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/tui/app.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.20",
3
+ "version": "0.1.21",
4
4
  "description": "An opinionated full-stack agent turn runner with native memories, interrupts, and multi-agent orchestration",
5
5
  "keywords": [
6
6
  "agent",