@roackb2/heddle 0.0.3 → 0.0.5

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.
Files changed (41) hide show
  1. package/README.md +16 -52
  2. package/dist/src/__tests__/file-mentions.test.d.ts +2 -0
  3. package/dist/src/__tests__/file-mentions.test.d.ts.map +1 -0
  4. package/dist/src/__tests__/file-mentions.test.js +29 -0
  5. package/dist/src/__tests__/file-mentions.test.js.map +1 -0
  6. package/dist/src/__tests__/local-commands.test.js +6 -0
  7. package/dist/src/__tests__/local-commands.test.js.map +1 -1
  8. package/dist/src/__tests__/prompt-input.test.d.ts +2 -0
  9. package/dist/src/__tests__/prompt-input.test.d.ts.map +1 -0
  10. package/dist/src/__tests__/prompt-input.test.js +57 -0
  11. package/dist/src/__tests__/prompt-input.test.js.map +1 -0
  12. package/dist/src/cli/chat/App.d.ts.map +1 -1
  13. package/dist/src/cli/chat/App.js +62 -4
  14. package/dist/src/cli/chat/App.js.map +1 -1
  15. package/dist/src/cli/chat/components/FileMentionPickerPanel.d.ts +6 -0
  16. package/dist/src/cli/chat/components/FileMentionPickerPanel.d.ts.map +1 -0
  17. package/dist/src/cli/chat/components/FileMentionPickerPanel.js +30 -0
  18. package/dist/src/cli/chat/components/FileMentionPickerPanel.js.map +1 -0
  19. package/dist/src/cli/chat/components/PromptInput.d.ts +10 -1
  20. package/dist/src/cli/chat/components/PromptInput.d.ts.map +1 -1
  21. package/dist/src/cli/chat/components/PromptInput.js +88 -27
  22. package/dist/src/cli/chat/components/PromptInput.js.map +1 -1
  23. package/dist/src/cli/chat/components/index.d.ts +1 -0
  24. package/dist/src/cli/chat/components/index.d.ts.map +1 -1
  25. package/dist/src/cli/chat/components/index.js +1 -0
  26. package/dist/src/cli/chat/components/index.js.map +1 -1
  27. package/dist/src/cli/chat/state/local-commands.d.ts.map +1 -1
  28. package/dist/src/cli/chat/state/local-commands.js +11 -0
  29. package/dist/src/cli/chat/state/local-commands.js.map +1 -1
  30. package/dist/src/cli/chat/submit.d.ts +4 -0
  31. package/dist/src/cli/chat/submit.d.ts.map +1 -1
  32. package/dist/src/cli/chat/submit.js +2 -1
  33. package/dist/src/cli/chat/submit.js.map +1 -1
  34. package/dist/src/cli/chat/utils/file-mentions.d.ts +14 -0
  35. package/dist/src/cli/chat/utils/file-mentions.d.ts.map +1 -0
  36. package/dist/src/cli/chat/utils/file-mentions.js +136 -0
  37. package/dist/src/cli/chat/utils/file-mentions.js.map +1 -0
  38. package/dist/src/prompts/system-prompt.d.ts.map +1 -1
  39. package/dist/src/prompts/system-prompt.js +1 -0
  40. package/dist/src/prompts/system-prompt.js.map +1 -1
  41. package/package.json +1 -1
package/README.md CHANGED
@@ -18,6 +18,7 @@ It is open source, provider-agnostic, and currently supports OpenAI and Anthropi
18
18
  - provider-agnostic model support across OpenAI and Anthropic
19
19
  - hosted web search through `web_search`
20
20
  - local image viewing from referenced file paths through `view_image`
21
+ - inline `@file` mentions that tell the agent which workspace files to inspect first
21
22
  - multi-turn sessions with save, switch, continue, rename, and close flows
22
23
  - automatic conversation compaction for longer chats
23
24
  - lightweight working-plan tracking through `update_plan`
@@ -74,6 +75,7 @@ Heddle currently supports:
74
75
  - code and doc changes with `edit_file`
75
76
  - hosted web search through `web_search`
76
77
  - local screenshot and image inspection through `view_image`
78
+ - inline `@file` mentions for file-priority context without pasting file contents into the prompt
77
79
  - shell execution with inspect vs approval-gated mutate behavior
78
80
  - multi-turn chat sessions with saved history under `.heddle/`
79
81
  - session management with create, switch, continue, rename, and close flows
@@ -84,6 +86,8 @@ Heddle currently supports:
84
86
 
85
87
  The image workflow is intentionally simple for now: users can reference a local image path in chat, and the agent can decide whether to inspect it with `view_image`. Heddle does not require a full multimodal attachment model for this first version.
86
88
 
89
+ The file-mention workflow is also intentionally lightweight: `@path/to/file` tells Heddle that the file is important context and should be inspected before answering, but it does not automatically inline the file contents into the prompt.
90
+
87
91
  The planning workflow is also intentionally lightweight: Heddle does not force a heavyweight planner or a separate "plan mode," but it can automatically record and update a short plan when a task is substantial enough to benefit from visible progress tracking.
88
92
 
89
93
  ## What Heddle Does
@@ -124,6 +128,7 @@ Typical chat use cases:
124
128
  - keep a long coding conversation usable through saved sessions, `/continue`, and automatic history compaction
125
129
  - let the agent create and update a short working plan for a multi-step implementation
126
130
  - search official docs or other current external references with `web_search`
131
+ - mention important repo files with `@path/to/file` so the agent treats them as first-pass context
127
132
  - reference a local screenshot path and have the agent inspect it with `view_image`
128
133
  - run direct shell commands from chat with `!<command>`
129
134
  - pause and later resume earlier sessions
@@ -207,40 +212,6 @@ Notes:
207
212
  - Gemini model names are recognized by provider inference, but a Google adapter is not wired yet
208
213
  - you can pass another model name with `--model`, but it only works if the corresponding provider adapter supports it
209
214
 
210
- ## Current Functionality
211
-
212
- The current runtime exposes a small set of repo-oriented capabilities:
213
-
214
- - list files
215
- - read files
216
- - search files
217
- - search the public web through a host-side `web_search` tool
218
- - inspect local images through a host-side `view_image` tool
219
- - edit files
220
- - run shell commands in inspect or approval-gated mutate mode
221
- - report state
222
- - update a plan during a run
223
-
224
- Operator-facing behavior includes:
225
-
226
- - explicit approval flow for risky tool calls and mutate commands
227
- - project-level remembered command approvals
228
- - per-project state under `.heddle/`
229
- - saved chat sessions and resumable chat workflow
230
- - automatic chat-history compaction for longer-running conversations
231
- - short visible working-plan updates for substantial tasks
232
- - trace logs for runs and tool activity
233
- - project instruction injection from `AGENTS.md` by default
234
-
235
- Chat usage notes:
236
-
237
- - use `/continue` for built-in resume behavior
238
- - use `/model`, `/model list`, or `/model set` to inspect or switch models in chat
239
- - use `/session` commands to create, switch, continue, rename, and close saved sessions
240
- - use `!<command>` to run shell commands directly from the composer
241
- - during approval, `A` remembers the current mutate command for the project, while `Y` approves once and `N` denies
242
- - if a long-running turn appears stuck, `Esc` requests an interrupt
243
-
244
215
  ## Project Config
245
216
 
246
217
  You can store project defaults in `heddle.config.json`:
@@ -268,23 +239,7 @@ Field notes:
268
239
  - `searchIgnoreDirs`: directories excluded from `search_files`
269
240
  - `agentContextPaths`: project instruction files injected into the system prompt
270
241
 
271
- ## Who It Is For
272
-
273
- Heddle is for people who want a coding agent that runs in a real repository with visible traces and explicit host-side control.
274
-
275
- It is a good fit if you want:
276
-
277
- - a CLI-first coding assistant
278
- - a minimal runtime you can inspect and extend
279
- - direct workspace execution instead of a hosted IDE product
280
-
281
- It is not trying to be:
282
-
283
- - a no-code agent builder
284
- - a multi-agent orchestration framework
285
- - a general prompt workflow library
286
-
287
- ## Runtime And Library
242
+ ## Programmatic Use
288
243
 
289
244
  The npm package also exports the core runtime pieces for programmatic use, including:
290
245
 
@@ -303,7 +258,16 @@ The public API lives in [src/index.ts](/Users/roackb2/Studio/projects/ProjectHed
303
258
 
304
259
  ## Design Direction
305
260
 
306
- Heddle's long-term goal is broader than the current CLI: a credible general runtime for tool-using agents. The current implementation stays deliberately narrow and behavior-first so abstractions only get added after real runtime traces justify them.
261
+ Heddle is currently optimized for coding and terminal workflows, but the long-term goal is broader: an open, provider-agnostic runtime for tool-using agents in real working environments.
262
+
263
+ The current CLI is the proving ground, not the endpoint. The coding-agent workflow matters because it is a demanding, evidence-heavy environment with real files, shell tools, long-running context, and operator oversight. If the runtime holds up there, it can later support wider agentic workflows beyond software projects.
264
+
265
+ The design direction stays intentionally behavior-first:
266
+
267
+ - start from real agent loops, traces, approvals, and recovery behavior
268
+ - keep the current surface small until abstractions are justified by actual usage
269
+ - stay usable as a coding agent while growing toward a more general agent runtime
270
+ - support richer workspace tasks, not just code editing, whenever the environment already provides the right tools
307
271
 
308
272
  More project context:
309
273
 
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=file-mentions.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-mentions.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/file-mentions.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { buildPromptWithFileMentions, filterMentionableFiles, getMentionQuery, insertMentionSelection, } from '../cli/chat/utils/file-mentions.js';
3
+ describe('file mentions', () => {
4
+ it('detects a trailing mention query', () => {
5
+ expect(getMentionQuery('Compare @REA')).toBe('REA');
6
+ expect(getMentionQuery('hello world')).toBeUndefined();
7
+ expect(getMentionQuery('test@example.com')).toBeUndefined();
8
+ });
9
+ it('inserts a selected file mention into the trailing token', () => {
10
+ expect(insertMentionSelection('Compare @REA', 'README.md')).toBe('Compare @README.md');
11
+ });
12
+ it('ranks basename matches ahead of generic path substring matches', () => {
13
+ const results = filterMentionableFiles(['src/README-helper.ts', 'README.md', 'docs/guide.md'], 'readme');
14
+ expect(results[0]).toBe('README.md');
15
+ });
16
+ it('builds a host note for resolved mentioned files without expanding file contents', () => {
17
+ const result = buildPromptWithFileMentions('Compare @README.md and @src/run-agent.ts', process.cwd(), ['README.md', 'src/run-agent.ts']);
18
+ expect(result.mentions).toEqual([
19
+ { token: '@README.md', path: 'README.md', index: 8 },
20
+ { token: '@src/run-agent.ts', path: 'src/run-agent.ts', index: 23 },
21
+ ]);
22
+ expect(result.runPrompt).toContain('Host note: the user referenced files inline with @mentions.');
23
+ expect(result.runPrompt).toContain('1. @README.md -> README.md');
24
+ expect(result.runPrompt).toContain('2. @src/run-agent.ts -> src/run-agent.ts');
25
+ expect(result.runPrompt).toContain('Original user prompt:');
26
+ expect(result.runPrompt).toContain('Compare @README.md and @src/run-agent.ts');
27
+ });
28
+ });
29
+ //# sourceMappingURL=file-mentions.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-mentions.test.js","sourceRoot":"","sources":["../../../src/__tests__/file-mentions.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,eAAe,EACf,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAE5C,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACvD,MAAM,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,CAAC,sBAAsB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,OAAO,GAAG,sBAAsB,CACpC,CAAC,sBAAsB,EAAE,WAAW,EAAE,eAAe,CAAC,EACtD,QAAQ,CACT,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,MAAM,MAAM,GAAG,2BAA2B,CACxC,0CAA0C,EAC1C,OAAO,CAAC,GAAG,EAAE,EACb,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAClC,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;YAC9B,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE;YACpD,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,EAAE;SACpE,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,6DAA6D,CAAC,CAAC;QAClG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;QACjE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,0CAA0C,CAAC,CAAC;QAC/E,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,0CAA0C,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,6 +1,12 @@
1
1
  import { describe, expect, it, vi } from 'vitest';
2
2
  import { isLikelyLocalCommand, runLocalCommand } from '../cli/chat/state/local-commands.js';
3
3
  describe('runLocalCommand', () => {
4
+ it('treats bare and partial slash command roots as local commands for hints', () => {
5
+ expect(isLikelyLocalCommand('/')).toBe(true);
6
+ expect(isLikelyLocalCommand('/h')).toBe(true);
7
+ expect(isLikelyLocalCommand('/mo')).toBe(true);
8
+ expect(isLikelyLocalCommand('/sess')).toBe(true);
9
+ });
4
10
  it('does not treat absolute unix paths as slash commands', () => {
5
11
  expect(isLikelyLocalCommand('/Users/roackb2/Desktop/screenshot.png')).toBe(false);
6
12
  });
@@ -1 +1 @@
1
- {"version":3,"file":"local-commands.test.js","sourceRoot":"","sources":["../../../src/__tests__/local-commands.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-commands.test.js","sourceRoot":"","sources":["../../../src/__tests__/local-commands.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=prompt-input.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-input.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/prompt-input.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,57 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { insertMentionSelection } from '../cli/chat/utils/file-mentions.js';
3
+ import { buildPromptRenderLines } from '../cli/chat/components/PromptInput.js';
4
+ describe('prompt input related helpers', () => {
5
+ it('places the inserted mention at the end of the current trailing mention token', () => {
6
+ const nextDraft = insertMentionSelection('take a look at @REA', 'README.md');
7
+ expect(nextDraft).toBe('take a look at @README.md');
8
+ expect(nextDraft.length).toBe('take a look at @README.md'.length);
9
+ });
10
+ it('renders the cursor at the end of the line after the last typed character', () => {
11
+ expect(buildPromptRenderLines('asdf', 4, 8, 80)).toEqual([
12
+ {
13
+ before: 'asdf',
14
+ cursor: ' ',
15
+ after: '',
16
+ hasCursor: true,
17
+ },
18
+ ]);
19
+ });
20
+ it('renders the cursor at the current insertion point within a line', () => {
21
+ expect(buildPromptRenderLines('asdf', 2, 8, 80)).toEqual([
22
+ {
23
+ before: 'as',
24
+ cursor: 'd',
25
+ after: 'f',
26
+ hasCursor: true,
27
+ },
28
+ ]);
29
+ });
30
+ it('places a wrapped-line boundary cursor at the start of the next visual segment', () => {
31
+ expect(buildPromptRenderLines('abcd', 2, 8, 2)).toEqual([
32
+ {
33
+ before: 'ab',
34
+ cursor: '',
35
+ after: '',
36
+ hasCursor: false,
37
+ },
38
+ {
39
+ before: '',
40
+ cursor: 'c',
41
+ after: 'd',
42
+ hasCursor: true,
43
+ },
44
+ ]);
45
+ });
46
+ it('renders an empty line cursor as a highlighted blank cell', () => {
47
+ expect(buildPromptRenderLines('', 0, 8, 80)).toEqual([
48
+ {
49
+ before: '',
50
+ cursor: ' ',
51
+ after: '',
52
+ hasCursor: true,
53
+ },
54
+ ]);
55
+ });
56
+ });
57
+ //# sourceMappingURL=prompt-input.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-input.test.js","sourceRoot":"","sources":["../../../src/__tests__/prompt-input.test.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,MAAM,SAAS,GAAG,sBAAsB,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;QAC7E,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACpD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACvD;gBACE,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,IAAI;aAChB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACvD;gBACE,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,GAAG;gBACV,SAAS,EAAE,IAAI;aAChB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;QACvF,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACtD;gBACE,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,GAAG;gBACV,SAAS,EAAE,IAAI;aAChB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,CAAC,sBAAsB,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACnD;gBACE,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,IAAI;aAChB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../../src/cli/chat/App.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAI5D,wBAAgB,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,iBAAiB,CAAA;CAAE,2CAsZ9D"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../../src/cli/chat/App.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAI5D,wBAAgB,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,iBAAiB,CAAA;CAAE,2CAyd9D"}
@@ -1,22 +1,31 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useEffect, useRef, useState, useCallback } from 'react';
3
3
  import { Box, Text } from 'ink';
4
- import { ApprovalComposer, CommandHintPanel, ConversationPanel, ModelPickerPanel, PromptInput, SessionPickerPanel, shouldShowCommandHint, shouldShowSlashHints, SlashHintPanel, } from './components/index.js';
4
+ import { ApprovalComposer, CommandHintPanel, ConversationPanel, FileMentionPickerPanel, ModelPickerPanel, PromptInput, SessionPickerPanel, shouldShowCommandHint, shouldShowSlashHints, SlashHintPanel, } from './components/index.js';
5
5
  import { estimateBuiltInContextWindow, filterBuiltInModels } from '../../llm/openai-models.js';
6
6
  import { useApprovalFlow } from './hooks/useApprovalFlow.js';
7
7
  import { useAgentRun } from './hooks/useAgentRun.js';
8
8
  import { useChatSessions } from './hooks/useChatSessions.js';
9
9
  import { submitChatPrompt } from './submit.js';
10
10
  import { currentActivityText } from './utils/format.js';
11
+ import { buildPromptWithFileMentions, filterMentionableFiles, getMentionQuery, insertMentionSelection, listMentionableFiles } from './utils/file-mentions.js';
11
12
  const SESSION_TITLE_MODEL = 'gpt-5.1-codex-mini';
12
13
  export function App({ runtime }) {
13
14
  const nextIdRef = useRef(0);
14
15
  const [activeModel, setActiveModel] = useState(runtime.model);
15
16
  const [draft, setDraft] = useState('');
17
+ const [draftCursor, setDraftCursor] = useState(0);
16
18
  const [pendingSubmittedPrompt, setPendingSubmittedPrompt] = useState();
17
19
  const [modelPickerIndex, setModelPickerIndex] = useState(0);
18
20
  const [sessionPickerIndex, setSessionPickerIndex] = useState(0);
21
+ const [fileMentionPickerIndex, setFileMentionPickerIndex] = useState(0);
19
22
  const nextLocalId = () => `ui-${Date.now()}-${nextIdRef.current++}`;
23
+ const mentionableFiles = useState(() => listMentionableFiles(runtime.workspaceRoot, runtime.searchIgnoreDirs))[0];
24
+ const mentionQuery = getMentionQuery(draft);
25
+ const fileMentionPickerVisible = mentionQuery !== undefined;
26
+ const filteredMentionFiles = fileMentionPickerVisible ? filterMentionableFiles(mentionableFiles, mentionQuery) : [];
27
+ const safeFileMentionPickerIndex = filteredMentionFiles.length === 0 ? 0 : Math.min(fileMentionPickerIndex, Math.max(0, filteredMentionFiles.length - 1));
28
+ const highlightedMentionFile = filteredMentionFiles[safeFileMentionPickerIndex];
20
29
  const modelPickerQuery = getModelPickerQuery(draft);
21
30
  const modelPickerVisible = modelPickerQuery !== undefined;
22
31
  const filteredModels = modelPickerVisible ? filterBuiltInModels(modelPickerQuery) : [];
@@ -32,6 +41,13 @@ export function App({ runtime }) {
32
41
  const filteredSessions = sessionPickerVisible ? filterSessionsForPicker(recentSessions, sessionPickerQuery) : [];
33
42
  const safeSessionPickerIndex = filteredSessions.length === 0 ? 0 : Math.min(sessionPickerIndex, Math.max(0, filteredSessions.length - 1));
34
43
  const highlightedSession = filteredSessions[safeSessionPickerIndex];
44
+ const preparePromptWithMentions = (prompt) => {
45
+ const prepared = buildPromptWithFileMentions(prompt, runtime.workspaceRoot, mentionableFiles);
46
+ return {
47
+ prompt: prepared.runPrompt,
48
+ displayText: prompt,
49
+ };
50
+ };
35
51
  useEffect(() => {
36
52
  if (!activeSession) {
37
53
  return;
@@ -75,6 +91,7 @@ export function App({ runtime }) {
75
91
  const switchSession = (id) => {
76
92
  setActiveSessionId(id);
77
93
  setDraft('');
94
+ setDraftCursor(0);
78
95
  resetRunState({ abortInFlight: true });
79
96
  };
80
97
  const applyActiveModel = (model) => {
@@ -87,6 +104,7 @@ export function App({ runtime }) {
87
104
  const removedActive = removeSession(id);
88
105
  if (removedActive) {
89
106
  setDraft('');
107
+ setDraftCursor(0);
90
108
  setPendingSubmittedPrompt(undefined);
91
109
  resetRunState({ abortInFlight: true });
92
110
  }
@@ -134,6 +152,7 @@ export function App({ runtime }) {
134
152
  }
135
153
  if (modelPickerVisible && highlightedModel) {
136
154
  setDraft('');
155
+ setDraftCursor(0);
137
156
  setModelPickerIndex(0);
138
157
  await submitChatPrompt({
139
158
  value: `/model ${highlightedModel}`,
@@ -154,6 +173,7 @@ export function App({ runtime }) {
154
173
  createSession,
155
174
  renameSession,
156
175
  listRecentSessionsMessage,
176
+ preparePrompt: preparePromptWithMentions,
157
177
  executeTurn,
158
178
  executeDirectShellCommand,
159
179
  });
@@ -161,6 +181,7 @@ export function App({ runtime }) {
161
181
  }
162
182
  if (sessionPickerVisible && highlightedSession) {
163
183
  setDraft('');
184
+ setDraftCursor(0);
164
185
  setSessionPickerIndex(0);
165
186
  await submitChatPrompt({
166
187
  value: `/session switch ${highlightedSession.id}`,
@@ -181,13 +202,22 @@ export function App({ runtime }) {
181
202
  createSession,
182
203
  renameSession,
183
204
  listRecentSessionsMessage,
205
+ preparePrompt: preparePromptWithMentions,
184
206
  executeTurn,
185
207
  executeDirectShellCommand,
186
208
  });
187
209
  return;
188
210
  }
211
+ if (fileMentionPickerVisible && highlightedMentionFile) {
212
+ const nextDraft = insertMentionSelection(value, highlightedMentionFile);
213
+ setDraft(nextDraft);
214
+ setDraftCursor(nextDraft.length);
215
+ setFileMentionPickerIndex(0);
216
+ return;
217
+ }
189
218
  setModelPickerIndex(0);
190
219
  setSessionPickerIndex(0);
220
+ setFileMentionPickerIndex(0);
191
221
  await submitChatPrompt({
192
222
  value,
193
223
  isRunning: effectiveIsRunning,
@@ -207,6 +237,7 @@ export function App({ runtime }) {
207
237
  createSession,
208
238
  renameSession,
209
239
  listRecentSessionsMessage,
240
+ preparePrompt: preparePromptWithMentions,
210
241
  executeTurn,
211
242
  executeDirectShellCommand,
212
243
  });
@@ -217,6 +248,8 @@ export function App({ runtime }) {
217
248
  highlightedModel,
218
249
  sessionPickerVisible,
219
250
  highlightedSession,
251
+ fileMentionPickerVisible,
252
+ highlightedMentionFile,
220
253
  activeModel,
221
254
  sessions,
222
255
  recentSessions,
@@ -232,6 +265,9 @@ export function App({ runtime }) {
232
265
  executeTurn,
233
266
  executeDirectShellCommand,
234
267
  appendPendingUserMessage,
268
+ mentionableFiles,
269
+ runtime.workspaceRoot,
270
+ preparePromptWithMentions,
235
271
  ]);
236
272
  useEffect(() => {
237
273
  if (isRunning || pendingApproval || !pendingSubmittedPrompt) {
@@ -249,16 +285,21 @@ export function App({ runtime }) {
249
285
  _jsx(ModelPickerPanel, { query: modelPickerQuery, models: filteredModels, activeModel: activeModel, highlightedIndex: safeModelPickerIndex })
250
286
  : null, sessionPickerVisible ?
251
287
  _jsx(SessionPickerPanel, { query: sessionPickerQuery, sessions: filteredSessions, activeSessionId: activeSessionId, highlightedIndex: safeSessionPickerIndex })
288
+ : null, fileMentionPickerVisible ?
289
+ _jsx(FileMentionPickerPanel, { query: mentionQuery, files: filteredMentionFiles, highlightedIndex: safeFileMentionPickerIndex })
252
290
  : null, shouldShowSlashHints(draft) ?
253
291
  _jsx(SlashHintPanel, { draft: draft, activeSessionId: activeSession?.id ?? '', sessions: sessions })
254
292
  : shouldShowCommandHint(draft) ?
255
293
  _jsx(CommandHintPanel, { draft: draft })
256
- : null, _jsxs(Box, { children: [_jsxs(Text, { color: "cyan", children: ['>', " "] }), _jsx(Box, { flexGrow: 1, children: _jsx(PromptInput, { value: draft, isDisabled: Boolean(pendingApproval), placeholder: isRunning ? "Keep typing while Heddle works" : "Ask Heddle about this project", maxVisibleLines: 10, onChange: setDraft, onSpecialKey: ({ key }) => {
294
+ : null, _jsxs(Box, { children: [_jsxs(Text, { color: "cyan", children: ['>', " "] }), _jsx(Box, { flexGrow: 1, children: _jsx(PromptInput, { value: draft, cursor: draftCursor, isDisabled: Boolean(pendingApproval), placeholder: isRunning ? "Keep typing while Heddle works" : "Ask Heddle about this project", maxVisibleLines: 10, onChange: setDraft, onCursorChange: setDraftCursor, onSpecialKey: ({ key }) => {
257
295
  if (modelPickerVisible) {
258
296
  return handlePickerKeys({
259
297
  key,
260
298
  itemCount: filteredModels.length,
261
- resetDraft: () => setDraft(''),
299
+ resetDraft: () => {
300
+ setDraft('');
301
+ setDraftCursor(0);
302
+ },
262
303
  resetIndex: () => setModelPickerIndex(0),
263
304
  advance: () => setModelPickerIndex((current) => (current + 1) % filteredModels.length),
264
305
  retreat: () => setModelPickerIndex((current) => (current <= 0 ? filteredModels.length - 1 : current - 1)),
@@ -268,15 +309,32 @@ export function App({ runtime }) {
268
309
  return handlePickerKeys({
269
310
  key,
270
311
  itemCount: filteredSessions.length,
271
- resetDraft: () => setDraft(''),
312
+ resetDraft: () => {
313
+ setDraft('');
314
+ setDraftCursor(0);
315
+ },
272
316
  resetIndex: () => setSessionPickerIndex(0),
273
317
  advance: () => setSessionPickerIndex((current) => (current + 1) % filteredSessions.length),
274
318
  retreat: () => setSessionPickerIndex((current) => (current <= 0 ? filteredSessions.length - 1 : current - 1)),
275
319
  });
276
320
  }
321
+ if (fileMentionPickerVisible) {
322
+ return handlePickerKeys({
323
+ key,
324
+ itemCount: filteredMentionFiles.length,
325
+ resetDraft: () => {
326
+ setDraft('');
327
+ setDraftCursor(0);
328
+ },
329
+ resetIndex: () => setFileMentionPickerIndex(0),
330
+ advance: () => setFileMentionPickerIndex((current) => (current + 1) % filteredMentionFiles.length),
331
+ retreat: () => setFileMentionPickerIndex((current) => (current <= 0 ? filteredMentionFiles.length - 1 : current - 1)),
332
+ });
333
+ }
277
334
  return false;
278
335
  }, onSubmit: (value) => {
279
336
  setDraft('');
337
+ setDraftCursor(0);
280
338
  void submitPrompt(value);
281
339
  } }) })] }), _jsxs(Box, { justifyContent: "space-between", children: [_jsx(Text, { dimColor: true, children: draft ? `${draft.length} chars`
282
340
  : isRunning ? 'Enter to queue'
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../../src/cli/chat/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../../src/cli/chat/App.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function FileMentionPickerPanel({ query, files, highlightedIndex, }: {
2
+ query: string;
3
+ files: string[];
4
+ highlightedIndex: number;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=FileMentionPickerPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileMentionPickerPanel.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/components/FileMentionPickerPanel.tsx"],"names":[],"mappings":"AAKA,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,KAAK,EACL,gBAAgB,GACjB,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,2CAuBA"}
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ const MAX_VISIBLE_FILES = 8;
4
+ export function FileMentionPickerPanel({ query, files, highlightedIndex, }) {
5
+ const { visibleFiles, startIndex } = getVisibleFiles(files, highlightedIndex);
6
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { dimColor: true, children: "File mentions" }), _jsx(Text, { dimColor: true, children: query ? `Search: ${query}` : 'Type after @ to mention a file. Use ↑/↓ or Tab to choose.' }), visibleFiles.length > 0 ?
7
+ visibleFiles.map((file, index) => {
8
+ const absoluteIndex = startIndex + index;
9
+ const isHighlighted = absoluteIndex === highlightedIndex;
10
+ const marker = isHighlighted ? '◉' : '○';
11
+ return (_jsx(Text, { color: isHighlighted ? 'cyan' : undefined, dimColor: !isHighlighted, children: `${marker} ${file}` }, file));
12
+ })
13
+ : _jsx(Text, { dimColor: true, children: "No matching files." })] }));
14
+ }
15
+ function getVisibleFiles(files, highlightedIndex) {
16
+ if (files.length <= MAX_VISIBLE_FILES) {
17
+ return { visibleFiles: files, startIndex: 0 };
18
+ }
19
+ const half = Math.floor(MAX_VISIBLE_FILES / 2);
20
+ let startIndex = Math.max(0, highlightedIndex - half);
21
+ const maxStart = Math.max(0, files.length - MAX_VISIBLE_FILES);
22
+ if (startIndex > maxStart) {
23
+ startIndex = maxStart;
24
+ }
25
+ return {
26
+ visibleFiles: files.slice(startIndex, startIndex + MAX_VISIBLE_FILES),
27
+ startIndex,
28
+ };
29
+ }
30
+ //# sourceMappingURL=FileMentionPickerPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileMentionPickerPanel.js","sourceRoot":"","sources":["../../../../../src/cli/chat/components/FileMentionPickerPanel.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MAAM,UAAU,sBAAsB,CAAC,EACrC,KAAK,EACL,KAAK,EACL,gBAAgB,GAKjB;IACC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAE9E,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aACzC,KAAC,IAAI,IAAC,QAAQ,oCAAqB,EACnC,KAAC,IAAI,IAAC,QAAQ,kBACX,KAAK,CAAC,CAAC,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,2DAA2D,GACpF,EACN,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACxB,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBAC/B,MAAM,aAAa,GAAG,UAAU,GAAG,KAAK,CAAC;oBACzC,MAAM,aAAa,GAAG,aAAa,KAAK,gBAAgB,CAAC;oBACzD,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBACzC,OAAO,CACL,KAAC,IAAI,IAAY,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,aAAa,YACjF,GAAG,MAAM,IAAI,IAAI,EAAE,IADX,IAAI,CAER,CACR,CAAC;gBACJ,CAAC,CAAC;gBACJ,CAAC,CAAC,KAAC,IAAI,IAAC,QAAQ,yCAA0B,IACtC,CACP,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAe,EAAE,gBAAwB;IAChE,IAAI,KAAK,CAAC,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACtC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;IAC/C,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAC;IAC/D,IAAI,UAAU,GAAG,QAAQ,EAAE,CAAC;QAC1B,UAAU,GAAG,QAAQ,CAAC;IACxB,CAAC;IAED,OAAO;QACL,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,iBAAiB,CAAC;QACrE,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -17,13 +17,22 @@ export type PromptKeyInput = {
17
17
  shift?: boolean;
18
18
  };
19
19
  };
20
- export declare function PromptInput({ value, isDisabled, placeholder, maxVisibleLines, onChange, onSubmit, onSpecialKey, }: {
20
+ export declare function PromptInput({ value, isDisabled, placeholder, maxVisibleLines, cursor, onChange, onCursorChange, onSubmit, onSpecialKey, }: {
21
21
  value: string;
22
22
  isDisabled: boolean;
23
23
  placeholder: string;
24
24
  maxVisibleLines?: number;
25
+ cursor: number;
25
26
  onChange: (value: string) => void;
27
+ onCursorChange: (cursor: number) => void;
26
28
  onSubmit: (value: string) => void;
27
29
  onSpecialKey?: (event: PromptKeyInput) => boolean;
28
30
  }): import("react/jsx-runtime").JSX.Element;
31
+ export type PromptRenderLine = {
32
+ before: string;
33
+ cursor: string;
34
+ after: string;
35
+ hasCursor: boolean;
36
+ };
37
+ export declare function buildPromptRenderLines(value: string, cursor: number, maxVisibleLines: number, width?: number): PromptRenderLine[];
29
38
  //# sourceMappingURL=PromptInput.d.ts.map