@roackb2/heddle 1.0.1 → 1.0.3

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 (36) hide show
  1. package/README.md +15 -5
  2. package/dist/src/cli/chat/components/ApprovalComposer.d.ts.map +1 -1
  3. package/dist/src/cli/chat/components/ApprovalComposer.js +5 -4
  4. package/dist/src/cli/chat/components/ApprovalComposer.js.map +1 -1
  5. package/dist/src/cli/chat/hooks/tui-direct-shell.js +1 -1
  6. package/dist/src/cli/chat/hooks/tui-direct-shell.js.map +1 -1
  7. package/dist/src/cli/chat/hooks/tui-tool-approval.js +1 -1
  8. package/dist/src/cli/chat/hooks/tui-tool-approval.js.map +1 -1
  9. package/dist/src/cli/chat/hooks/useApprovalFlow.d.ts +6 -0
  10. package/dist/src/cli/chat/hooks/useApprovalFlow.d.ts.map +1 -1
  11. package/dist/src/cli/chat/hooks/useApprovalFlow.js +39 -18
  12. package/dist/src/cli/chat/hooks/useApprovalFlow.js.map +1 -1
  13. package/dist/src/cli/chat/utils/format.d.ts +1 -0
  14. package/dist/src/cli/chat/utils/format.d.ts.map +1 -1
  15. package/dist/src/cli/chat/utils/format.js +39 -6
  16. package/dist/src/cli/chat/utils/format.js.map +1 -1
  17. package/dist/src/cli/main.js +2 -27
  18. package/dist/src/cli/main.js.map +1 -1
  19. package/dist/src/cli/project-agent-context.d.ts +4 -0
  20. package/dist/src/cli/project-agent-context.d.ts.map +1 -0
  21. package/dist/src/cli/project-agent-context.js +40 -0
  22. package/dist/src/cli/project-agent-context.js.map +1 -0
  23. package/dist/src/core/approvals/remembered-rules.d.ts +4 -3
  24. package/dist/src/core/approvals/remembered-rules.d.ts.map +1 -1
  25. package/dist/src/core/approvals/remembered-rules.js +29 -2
  26. package/dist/src/core/approvals/remembered-rules.js.map +1 -1
  27. package/dist/src/core/memory/catalog.js +1 -1
  28. package/dist/src/core/memory/catalog.js.map +1 -1
  29. package/dist/src/core/tools/toolkits/coding-files/search-files.d.ts +3 -0
  30. package/dist/src/core/tools/toolkits/coding-files/search-files.d.ts.map +1 -1
  31. package/dist/src/core/tools/toolkits/coding-files/search-files.js +280 -17
  32. package/dist/src/core/tools/toolkits/coding-files/search-files.js.map +1 -1
  33. package/dist/src/web/favicon.svg +6 -0
  34. package/dist/src/web/index.html +1 -1
  35. package/package.json +1 -1
  36. package/dist/src/web/assets/favicon-CT3fFV8g.jpeg +0 -0
package/README.md CHANGED
@@ -53,7 +53,7 @@ Heddle working in the terminal with live progress, tool activity, plans, and rev
53
53
 
54
54
  ![Heddle terminal coding workflow](docs/images/terminal-active-run.png)
55
55
 
56
- Heddle can inspect files, explain code, make edits, run shell commands with the right approval model, and carry a task through multiple turns. Recent terminal chat updates make long-running turns easier to follow: tool activity appears while work is happening, streamed internal thinking is shown as dim `Thinking:` progress text, and assistant markdown is rendered in real time instead of waiting for the final response.
56
+ Heddle can inspect files, search with ignore-aware fallbacks, explain code, make edits, run shell commands with the right approval model, and carry a task through multiple turns. Terminal chat keeps long-running turns visible with tool activity, dim `Thinking:` progress text, real-time assistant markdown, and clearer approval prompts for repeated commands or searches.
57
57
 
58
58
  ### Terminal change review
59
59
 
@@ -196,10 +196,18 @@ From there, Heddle can inspect files, explain code, make edits, run shell comman
196
196
 
197
197
  This is the core feature. If you only use Heddle as a coding agent in the terminal, this is the part you care about.
198
198
 
199
- The terminal composer supports multiline prompts, prompt undo/redo, prompt history navigation, model picking with `/model set`, and reasoning-effort picking with `/reasoning set`. During a run, Heddle streams visible activity so you can see whether it is thinking, calling tools, updating a plan, or waiting for approval.
199
+ The terminal composer supports multiline prompts, prompt undo/redo, prompt history navigation, model picking with `/model set`, and reasoning-effort picking with `/reasoning set`. During a run, Heddle streams visible activity so you can see whether it is thinking, searching, calling tools, updating a plan, or waiting for approval.
200
200
 
201
201
  More: [Chat and sessions guide](docs/guides/chat-and-sessions.md)
202
202
 
203
+ ### Project instructions
204
+
205
+ Heddle can load a short project instruction file at startup so a fresh session starts with the repository's operating context. By default it loads the first non-empty file found in this order: `HEDDLE.md`, `AGENTS.md`, `CLAUDE.md`.
206
+
207
+ Only one default file is loaded to preserve context space. If a project needs a different path or intentionally wants multiple files, set `agentContextPaths` in `heddle.config.json`.
208
+
209
+ More: [Project config](docs/reference/config.md)
210
+
203
211
  ### Sessions and continuity
204
212
 
205
213
  Heddle keeps saved sessions under `.heddle/` so longer work does not have to reset every time. That means you can come back to an interrupted task, continue a previous debugging thread, or preserve project-specific context across runs.
@@ -385,10 +393,12 @@ npx -p @roackb2/heddle -p cyberloop heddle
385
393
 
386
394
  ### Contributors
387
395
 
396
+ - [Agent context](docs/agent-context.md)
397
+ - [Project posture](docs/project-posture.md)
388
398
  - [Development and contributing](docs/guides/development.md)
389
399
  - [Release convention](docs/releases/README.md)
390
- - [Framework Vision](docs/framework-vision.md)
391
- - [Coding Agent Roadmap](docs/coding-agent-roadmap.md)
400
+ - [Framework Vision](docs/strategy/framework-vision.md)
401
+ - [Coding Agent Roadmap](docs/strategy/coding-agent-roadmap.md)
392
402
 
393
403
  ## Project Status
394
404
 
@@ -398,7 +408,7 @@ Current strengths include:
398
408
 
399
409
  - terminal-first coding and repository workflows
400
410
  - autonomous, catalog-backed workspace memory that helps the agent learn from normal usage
401
- - explicit traces, approvals, diff review, and local workspace state
411
+ - explicit traces, approval previews, diff review, and local workspace state
402
412
  - browser-based oversight and workspace switching through the control plane
403
413
  - local-first heartbeat primitives for scheduled agent work
404
414
  - practical programmatic hooks for custom hosts
@@ -1 +1 @@
1
- {"version":3,"file":"ApprovalComposer.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/components/ApprovalComposer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzE,wBAAgB,gBAAgB,CAAC,EAC/B,eAAe,EACf,cAAc,GACf,EAAE;IACD,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;CAChC,2CAmDA"}
1
+ {"version":3,"file":"ApprovalComposer.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/components/ApprovalComposer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzE,wBAAgB,gBAAgB,CAAC,EAC/B,eAAe,EACf,cAAc,GACf,EAAE;IACD,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;CAChC,2CAoDA"}
@@ -1,16 +1,17 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { Box, Text } from 'ink';
3
- import { formatApprovalHint, summarizePendingApproval } from '../utils/format.js';
3
+ import { canRememberPendingApproval, formatApprovalHint, summarizePendingApproval } from '../utils/format.js';
4
4
  export function ApprovalComposer({ pendingApproval, approvalChoice, }) {
5
5
  const summary = summarizePendingApproval(pendingApproval);
6
+ const canRemember = canRememberPendingApproval(pendingApproval);
6
7
  return (_jsxs(_Fragment, { children: [_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { bold: true, color: "yellow", children: summary.title }), summary.command ?
7
8
  _jsx(Box, { borderStyle: "round", borderColor: "gray", paddingX: 1, marginTop: 1, children: _jsx(Text, { color: "cyan", children: summary.command }) })
8
9
  : null, _jsx(Text, { dimColor: true, children: [summary.scope, summary.capability, summary.risk ? `${summary.risk} risk` : undefined].filter(Boolean).join(' • ') }), _jsxs(Text, { children: ["Why: ", summary.why] }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { bold: true, children: "Effects" }), summary.effects.map((effect) => (_jsxs(Text, { dimColor: true, children: ["\u2022 ", effect] }, effect)))] })] }), pendingApproval.editPreview ?
9
10
  _jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "gray", marginTop: 1, marginBottom: 1, paddingX: 1, children: [_jsx(Text, { bold: true, children: "Diff Preview" }), pendingApproval.editPreview.diff.split('\n').map((line, index) => (_jsx(Text, { color: diffLineColor(line), children: line }, `${pendingApproval.editPreview?.path}-${index}`))), pendingApproval.editPreview.truncated ? _jsx(Text, { dimColor: true, children: "Preview truncated" }) : null] })
10
- : null, _jsx(Text, { dimColor: true, children: formatApprovalHint(pendingApproval) }), _jsx(ApprovalSelector, { choice: approvalChoice }), _jsxs(Box, { justifyContent: "space-between", children: [_jsx(Text, { dimColor: true, children: "Use \u2190/\u2192 then Enter" }), _jsx(Text, { dimColor: true, children: "Approval stays in the conversation flow" })] })] }));
11
+ : null, _jsx(Text, { dimColor: true, children: formatApprovalHint(pendingApproval) }), _jsx(ApprovalSelector, { choice: approvalChoice, canRemember: canRemember, rememberLabel: summary.rememberLabel }), _jsxs(Box, { justifyContent: "space-between", children: [_jsx(Text, { dimColor: true, children: "Use \u2190/\u2192 then Enter" }), _jsx(Text, { dimColor: true, children: "Approval stays in the conversation flow" })] })] }));
11
12
  }
12
- function ApprovalSelector({ choice }) {
13
- return (_jsxs(Box, { marginBottom: 0, flexWrap: "wrap", children: [_jsx(Text, { color: choice === 'approve' ? 'green' : 'gray', children: choice === 'approve' ? '◉ Approve once' : '○ Approve once' }), _jsx(Text, { dimColor: true, children: " " }), _jsx(Text, { color: choice === 'allow_project' ? 'cyan' : 'gray', children: choice === 'allow_project' ? '◉ Remember for project' : '○ Remember for project' }), _jsx(Text, { dimColor: true, children: " " }), _jsx(Text, { color: choice === 'deny' ? 'red' : 'gray', children: choice === 'deny' ? '◉ Deny' : '○ Deny' })] }));
13
+ function ApprovalSelector({ choice, canRemember, rememberLabel, }) {
14
+ return (_jsxs(Box, { marginBottom: 0, flexWrap: "wrap", children: [_jsx(Text, { color: choice === 'approve' ? 'green' : 'gray', children: choice === 'approve' ? '◉ Approve once' : '○ Approve once' }), canRemember ? (_jsxs(_Fragment, { children: [_jsx(Text, { dimColor: true, children: " " }), _jsx(Text, { color: choice === 'allow_project' ? 'cyan' : 'gray', children: choice === 'allow_project' ? `◉ ${rememberLabel}` : `○ ${rememberLabel}` })] })) : null, _jsx(Text, { dimColor: true, children: " " }), _jsx(Text, { color: choice === 'deny' ? 'red' : 'gray', children: choice === 'deny' ? '◉ Deny' : '○ Deny' })] }));
14
15
  }
15
16
  function diffLineColor(line) {
16
17
  if (line.startsWith('+++') || line.startsWith('---')) {
@@ -1 +1 @@
1
- {"version":3,"file":"ApprovalComposer.js","sourceRoot":"","sources":["../../../../../src/cli/chat/components/ApprovalComposer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApprovalComposer.js","sourceRoot":"","sources":["../../../../../src/cli/chat/components/ApprovalComposer.tsx"],"names":[],"mappings":"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"}
@@ -77,7 +77,7 @@ export async function executeTuiDirectShell(args) {
77
77
  state.setPendingApproval({
78
78
  call: mutateCall,
79
79
  tool: directShellTool,
80
- rememberForProject: () => rememberProjectApproval(mutateCall),
80
+ rememberForProject: rememberedRule ? () => rememberProjectApproval(mutateCall) : undefined,
81
81
  rememberLabel: rememberedRule ? describeProjectApprovalRule(rememberedRule) : undefined,
82
82
  resolve,
83
83
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tui-direct-shell.js","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/tui-direct-shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui-direct-shell.js","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/tui-direct-shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAChI,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,yDAAyD,CAAC;AAEvI,OAAO,EAAE,gCAAgC,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAC3G,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AACtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAM7E,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAa3C;IACC,MAAM,EACJ,OAAO,EACP,YAAY,EACZ,KAAK,EACL,eAAe,EACf,aAAa,EACb,OAAO,EACP,KAAK,EACL,KAAK,EACL,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,GACxB,GAAG,IAAI,CAAC;IAET,MAAM,UAAU,GAAG;QACjB,SAAS,EAAE,KAAc;QACzB,OAAO,EAAE,OAAO,OAAO,CAAC,GAAG,EAAE;QAC7B,WAAW,EAAE,eAAe;KAC7B,CAAC;IACF,MAAM,gBAAgB,GAAG,eAAe,CAAC,OAAO,CAAC,kBAAkB,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;IAC5F,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IACD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACvE,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzB,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3B,mBAAmB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAChC,GAAG,OAAO;YACV,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;SAChG,CAAC,CAAC,CAAC;QACJ,OAAO;IACT,CAAC;IACD,mBAAmB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3F,MAAM,0BAA0B,GAAG,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7E,mBAAmB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAChC,GAAG,OAAO;QACV,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QAC9F,kBAAkB,EAAE,SAAS;KAC9B,CAAC,CAAC,CAAC;IAEJ,IAAI,CAAC;QACH,MAAM,WAAW,GAAa;YAC5B,EAAE,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,UAAU;YACxC,IAAI,EAAE,mBAAmB;YACzB,KAAK,EAAE,EAAE,OAAO,EAAE;SACnB,CAAC;QACF,MAAM,aAAa,GAAG,MAAM,eAAe,CACzC,WAAW,CAAC,KAAK,EACjB;YACE,QAAQ,EAAE,WAAW,CAAC,IAAI;YAC1B,KAAK,EAAE,qBAAqB;YAC5B,YAAY,EAAE,KAAK;SACpB,EACD,0BAA0B,CAAC,MAAM,CAClC,CAAC;QAEF,IAAI,UAAU,GAAG,WAAW,CAAC;QAC7B,IAAI,YAAY,GAAe,aAAa,CAAC;QAE7C,IAAI,sBAAsB,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,UAAU,GAAa;gBAC3B,EAAE,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,SAAS;gBACvC,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,EAAE,OAAO,EAAE;aACnB,CAAC;YAEF,IAAI,OAAO,CAAC,mBAAmB,KAAK,QAAQ,EAAE,CAAC;gBAC7C,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;gBAC/E,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAC7D,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC;oBACzC,QAAQ,EAAE;wBACR,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,yCAAyC,EAAE,CAAC;wBAC9E,wBAAwB,CAAC;4BACvB,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;yBAClD,CAAC;qBACH;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,eAAe;wBACrB,aAAa,EAAE,OAAO,CAAC,aAAa;qBACrC;oBACD,oBAAoB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,OAAO,CAAyC,CAAC,OAAO,EAAE,EAAE;wBACpG,MAAM,cAAc,GAAG,gCAAgC,CAAC,UAAU,CAAC,CAAC;wBACpE,KAAK,CAAC,kBAAkB,CAAC;4BACvB,IAAI,EAAE,UAAU;4BAChB,IAAI,EAAE,eAAe;4BACrB,kBAAkB,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;4BAC1F,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;4BACvF,OAAO;yBACR,CAAC,CAAC;oBACL,CAAC,CAAC;iBACL,CAAC,CAAC;gBAEH,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACvB,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;oBAClG,mBAAmB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;wBAChC,GAAG,OAAO;wBACV,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;qBACrG,CAAC,CAAC,CAAC;oBACJ,KAAK,CAAC,aAAa,CAAC;wBAClB;4BACE,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE;4BACvB,IAAI,EAAE,uBAAuB,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE;yBACpF;qBACF,CAAC,CAAC;oBACH,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBACxB,OAAO;gBACT,CAAC;YACH,CAAC;YAED,UAAU,GAAG,UAAU,CAAC;YACxB,YAAY,GAAG,MAAM,eAAe,CAClC,UAAU,CAAC,KAAK,EAChB;gBACE,QAAQ,EAAE,UAAU,CAAC,IAAI;gBACzB,KAAK,EAAE,oBAAoB;gBAC3B,YAAY,EAAE,IAAI;aACnB,EACD,0BAA0B,CAAC,MAAM,CAClC,CAAC;QACJ,CAAC;QAED,MAAM,6BAA6B,CAAC;YAClC,UAAU;YACV,YAAY;YACZ,OAAO;YACP,YAAY;YACZ,KAAK;YACL,eAAe;YACf,aAAa,EAAE,aAAa,IAAI,gBAAgB;YAChD,OAAO;YACP,KAAK;YACL,KAAK;YACL,mBAAmB;YACnB,oBAAoB;SACrB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,UAAU,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtF,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxB,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzB,mBAAmB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAChC,GAAG,OAAO;YACV,QAAQ,EAAE;gBACR,GAAG,OAAO,CAAC,QAAQ;gBACnB,EAAE,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,mCAAmC,OAAO,EAAE,EAAE;aACnG;SACF,CAAC,CAAC,CAAC;IACN,CAAC;YAAS,CAAC;QACT,mBAAmB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;QAC3E,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;AACH,CAAC"}
@@ -21,7 +21,7 @@ export function createTuiToolApprovalPort(args) {
21
21
  call,
22
22
  tool,
23
23
  editPreview,
24
- rememberForProject: () => rememberProjectApproval(call),
24
+ rememberForProject: rememberedRule ? () => rememberProjectApproval(call) : undefined,
25
25
  rememberLabel: rememberedRule ? describeProjectApprovalRule(rememberedRule) : undefined,
26
26
  resolve,
27
27
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tui-tool-approval.js","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/tui-tool-approval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAG9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AAC9F,OAAO,EAAE,gCAAgC,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAK3G,MAAM,UAAU,yBAAyB,CAAC,IAGzC;IACC,MAAM,EAAE,KAAK,EAAE,uBAAuB,EAAE,GAAG,IAAI,CAAC;IAEhD,OAAO;QACL,KAAK,CAAC,mBAAmB,CAAC,OAAgF;YACxG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC;YAClE,CAAC;YACD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,KAAK,IAAI,EAAE;gBACpD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAEnG,OAAO,MAAM,mBAAmB,CAAC;oBAC/B,IAAI;oBACJ,IAAI;oBACJ,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;wBAC5B,MAAM,cAAc,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;wBAC9D,KAAK,CAAC,kBAAkB,CAAC;4BACvB,IAAI;4BACJ,IAAI;4BACJ,WAAW;4BACX,kBAAkB,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC;4BACvD,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;4BACvF,OAAO;yBACR,CAAC,CAAC;oBACL,CAAC;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACnB,OAAO;gBACL,QAAQ,EAAE,QAAQ,EAAE,IAAI,KAAK,OAAO;gBACpC,MAAM,EAAE,QAAQ,EAAE,MAAM;aACzB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,IAEnD;IACC,OAAO;QACL,wBAAwB,CAAC;YACvB,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;SACvD,CAAC;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"tui-tool-approval.js","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/tui-tool-approval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAG9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AAC9F,OAAO,EAAE,gCAAgC,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAK3G,MAAM,UAAU,yBAAyB,CAAC,IAGzC;IACC,MAAM,EAAE,KAAK,EAAE,uBAAuB,EAAE,GAAG,IAAI,CAAC;IAEhD,OAAO;QACL,KAAK,CAAC,mBAAmB,CAAC,OAAgF;YACxG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC;YAClE,CAAC;YACD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,KAAK,IAAI,EAAE;gBACpD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAEnG,OAAO,MAAM,mBAAmB,CAAC;oBAC/B,IAAI;oBACJ,IAAI;oBACJ,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;wBAC5B,MAAM,cAAc,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;wBAC9D,KAAK,CAAC,kBAAkB,CAAC;4BACvB,IAAI;4BACJ,IAAI;4BACJ,WAAW;4BACX,kBAAkB,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;4BACpF,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;4BACvF,OAAO;yBACR,CAAC,CAAC;oBACL,CAAC;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACnB,OAAO;gBACL,QAAQ,EAAE,QAAQ,EAAE,IAAI,KAAK,OAAO;gBACpC,MAAM,EAAE,QAAQ,EAAE,MAAM;aACzB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,IAEnD;IACC,OAAO;QACL,wBAAwB,CAAC;YACvB,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;SACvD,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -29,4 +29,10 @@ export declare function useApprovalFlow(nextLocalId: () => string): {
29
29
  actionState: ActionState;
30
30
  workingFrames: string[];
31
31
  };
32
+ export declare function resolveAvailableApprovalChoices(pendingApproval: PendingApproval): ApprovalChoice[];
33
+ export declare function cycleApprovalChoice(current: ApprovalChoice, direction: -1 | 1, pendingApproval: PendingApproval): ApprovalChoice;
34
+ export declare function resolveApprovalDecision(choice: ApprovalChoice, pendingApproval: PendingApproval): {
35
+ approved: boolean;
36
+ reason?: string;
37
+ };
32
38
  //# sourceMappingURL=useApprovalFlow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useApprovalFlow.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/useApprovalFlow.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wDAAwD,CAAC;AAC9F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sDAAsD,CAAC;AAKrF,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,MAAM;;;;;;;;;;;;;;;sBAYQ,MAAM;eAAS,QAAQ,EAAE;;;;8BAoF3C;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE;;;EA+D/F"}
1
+ {"version":3,"file":"useApprovalFlow.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/useApprovalFlow.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wDAAwD,CAAC;AAC9F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sDAAsD,CAAC;AAMrF,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,MAAM;;;;;;;;;;;;;;;sBAYQ,MAAM;eAAS,QAAQ,EAAE;;;;8BA6E3C;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE;;;EA+D/F;AAED,wBAAgB,+BAA+B,CAAC,eAAe,EAAE,eAAe,GAAG,cAAc,EAAE,CAIlG;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,EACjB,eAAe,EAAE,eAAe,GAC/B,cAAc,CAMhB;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,cAAc,EACtB,eAAe,EAAE,eAAe,GAC/B;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBxC"}
@@ -1,7 +1,8 @@
1
1
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
2
2
  import { useInput } from 'ink';
3
+ import { canRememberPendingApproval } from '../utils/format.js';
3
4
  const WORKING_FRAMES = ['.', '..', '...'];
4
- const APPROVAL_CHOICES = ['approve', 'allow_project', 'deny'];
5
+ const BASE_APPROVAL_CHOICES = ['approve', 'allow_project', 'deny'];
5
6
  export function useApprovalFlow(nextLocalId) {
6
7
  const [status, setStatus] = useState('Idle');
7
8
  const [isRunning, setIsRunning] = useState(false);
@@ -28,24 +29,16 @@ export function useApprovalFlow(nextLocalId) {
28
29
  return;
29
30
  }
30
31
  if (key.leftArrow || key.upArrow) {
31
- setApprovalChoice((current) => cycleApprovalChoice(current, -1));
32
+ setApprovalChoice((current) => cycleApprovalChoice(current, -1, pendingApproval));
32
33
  return;
33
34
  }
34
35
  if (key.rightArrow || key.downArrow || key.tab) {
35
- setApprovalChoice((current) => cycleApprovalChoice(current, 1));
36
+ setApprovalChoice((current) => cycleApprovalChoice(current, 1, pendingApproval));
36
37
  return;
37
38
  }
38
39
  if (key.return) {
39
- const approved = approvalChoice !== 'deny';
40
- if (approvalChoice === 'allow_project') {
41
- pendingApproval.rememberForProject?.();
42
- }
43
- pendingApproval.resolve({
44
- approved,
45
- reason: approvalChoice === 'allow_project' ? 'Approved and remembered for this project in chat UI'
46
- : approved ? 'Approved in chat UI'
47
- : 'Denied in chat UI',
48
- });
40
+ const decision = resolveApprovalDecision(approvalChoice, pendingApproval);
41
+ pendingApproval.resolve(decision);
49
42
  setPendingApproval(undefined);
50
43
  setApprovalChoice('approve');
51
44
  return;
@@ -56,7 +49,9 @@ export function useApprovalFlow(nextLocalId) {
56
49
  return;
57
50
  }
58
51
  if (normalized === 'a') {
59
- setApprovalChoice('allow_project');
52
+ if (canRememberPendingApproval(pendingApproval)) {
53
+ setApprovalChoice('allow_project');
54
+ }
60
55
  return;
61
56
  }
62
57
  if (normalized === 'n') {
@@ -140,9 +135,35 @@ export function useApprovalFlow(nextLocalId) {
140
135
  workingFrames: WORKING_FRAMES,
141
136
  };
142
137
  }
143
- function cycleApprovalChoice(current, direction) {
144
- const index = APPROVAL_CHOICES.indexOf(current);
145
- const nextIndex = (index + direction + APPROVAL_CHOICES.length) % APPROVAL_CHOICES.length;
146
- return APPROVAL_CHOICES[nextIndex] ?? 'approve';
138
+ export function resolveAvailableApprovalChoices(pendingApproval) {
139
+ return canRememberPendingApproval(pendingApproval)
140
+ ? BASE_APPROVAL_CHOICES
141
+ : BASE_APPROVAL_CHOICES.filter((choice) => choice !== 'allow_project');
142
+ }
143
+ export function cycleApprovalChoice(current, direction, pendingApproval) {
144
+ const choices = resolveAvailableApprovalChoices(pendingApproval);
145
+ const index = choices.indexOf(current);
146
+ const safeIndex = index >= 0 ? index : 0;
147
+ const nextIndex = (safeIndex + direction + choices.length) % choices.length;
148
+ return choices[nextIndex] ?? 'approve';
149
+ }
150
+ export function resolveApprovalDecision(choice, pendingApproval) {
151
+ if (choice === 'allow_project' && canRememberPendingApproval(pendingApproval)) {
152
+ pendingApproval.rememberForProject?.();
153
+ return {
154
+ approved: true,
155
+ reason: 'Approved and remembered for this project in chat UI',
156
+ };
157
+ }
158
+ if (choice === 'deny') {
159
+ return {
160
+ approved: false,
161
+ reason: 'Denied in chat UI',
162
+ };
163
+ }
164
+ return {
165
+ approved: true,
166
+ reason: 'Approved in chat UI',
167
+ };
147
168
  }
148
169
  //# sourceMappingURL=useApprovalFlow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useApprovalFlow.js","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/useApprovalFlow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useApprovalFlow.js","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/useApprovalFlow.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export type ApprovalSummary = {
18
18
  };
19
19
  export declare function currentActivityText(liveEvents: LiveEvent[], isRunning: boolean, elapsedSeconds: number, pendingApproval?: PendingApproval, interruptRequested?: boolean): string;
20
20
  export declare function formatApprovalPrompt(pendingApproval: PendingApproval): string;
21
+ export declare function canRememberPendingApproval(pendingApproval: PendingApproval): boolean;
21
22
  export declare function formatApprovalHint(pendingApproval: PendingApproval): string;
22
23
  export declare function summarizePendingApproval(pendingApproval: PendingApproval): ApprovalSummary;
23
24
  export declare function normalizeInlineText(value: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/utils/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wDAAwD,CAAC;AAO9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,0DAA0D,CAAC;AACrG,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,YAAY,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAC;AACvG,OAAO,EACL,QAAQ,GACT,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpE,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAMF,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,SAAS,EAAE,EACvB,SAAS,EAAE,OAAO,EAClB,cAAc,EAAE,MAAM,EACtB,eAAe,CAAC,EAAE,eAAe,EACjC,kBAAkB,CAAC,EAAE,OAAO,GAC3B,MAAM,CAeR;AAED,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,eAAe,GAAG,MAAM,CAE7E;AAED,wBAAgB,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,MAAM,CAI3E;AAED,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,eAAe,GAAG,eAAe,CAoE1F;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAW5E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAMzE;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CA0CvG;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAEhG;AAWD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAgBvE;AA6DD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAenF;AA0DD,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAOhF;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAE5E;AAmCD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,WAAW,EAAE,EACtB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,GACjB,WAAW,EAAE,CAKf"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/utils/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wDAAwD,CAAC;AAO9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,0DAA0D,CAAC;AACrG,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,YAAY,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAC;AACvG,OAAO,EACL,QAAQ,GACT,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpE,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAMF,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,SAAS,EAAE,EACvB,SAAS,EAAE,OAAO,EAClB,cAAc,EAAE,MAAM,EACtB,eAAe,CAAC,EAAE,eAAe,EACjC,kBAAkB,CAAC,EAAE,OAAO,GAC3B,MAAM,CAeR;AAED,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,eAAe,GAAG,MAAM,CAE7E;AAED,wBAAgB,0BAA0B,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAIpF;AAED,wBAAgB,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,MAAM,CAU3E;AAED,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,eAAe,GAAG,eAAe,CAiF1F;AAkBD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAW5E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAMzE;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CA0CvG;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAEhG;AAWD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAgBvE;AA6DD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAenF;AA0DD,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAOhF;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAE5E;AAmCD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,WAAW,EAAE,EACtB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,GACjB,WAAW,EAAE,CAKf"}
@@ -22,15 +22,25 @@ export function currentActivityText(liveEvents, isRunning, elapsedSeconds, pendi
22
22
  export function formatApprovalPrompt(pendingApproval) {
23
23
  return summarizePendingApproval(pendingApproval).title;
24
24
  }
25
+ export function canRememberPendingApproval(pendingApproval) {
26
+ return typeof pendingApproval.rememberForProject === 'function'
27
+ && typeof pendingApproval.rememberLabel === 'string'
28
+ && pendingApproval.rememberLabel.trim().length > 0;
29
+ }
25
30
  export function formatApprovalHint(pendingApproval) {
26
31
  const summary = summarizePendingApproval(pendingApproval);
27
- const rememberLabel = summary.rememberLabel ? `A ${summary.rememberLabel}` : 'A remember for project';
28
- return `Y approve once • ${rememberLabel} • N deny • Enter confirms selected choice`;
32
+ const parts = ['Y approve once'];
33
+ if (canRememberPendingApproval(pendingApproval) && summary.rememberLabel) {
34
+ parts.push(`A ${summary.rememberLabel}`);
35
+ }
36
+ parts.push('N deny', 'Enter confirms selected choice');
37
+ return parts.join(' • ');
29
38
  }
30
39
  export function summarizePendingApproval(pendingApproval) {
31
40
  const policy = describePendingApprovalPolicy(pendingApproval);
32
41
  const command = readStringField(pendingApproval.call.input, 'command');
33
42
  const editPath = readStringField(pendingApproval.call.input, 'path');
43
+ const searchQuery = readStringField(pendingApproval.call.input, 'query');
34
44
  if (command) {
35
45
  const title = policy?.capability === 'verification' ? 'Run verification command'
36
46
  : policy?.scope === 'external' ? 'Run external command'
@@ -52,7 +62,7 @@ export function summarizePendingApproval(pendingApproval) {
52
62
  capability: policy?.capability,
53
63
  why,
54
64
  effects,
55
- rememberLabel: pendingApproval.rememberLabel,
65
+ rememberLabel: formatRememberLabel(pendingApproval.rememberLabel),
56
66
  };
57
67
  }
58
68
  if (pendingApproval.call.tool === 'edit_file') {
@@ -68,7 +78,18 @@ export function summarizePendingApproval(pendingApproval) {
68
78
  editPath ? `modifies ${editPath}` : `modifies a ${scope} file`,
69
79
  scope === 'external' ? 'writes outside the current repository' : 'stays inside the current repository',
70
80
  ],
71
- rememberLabel: pendingApproval.rememberLabel,
81
+ rememberLabel: formatRememberLabel(pendingApproval.rememberLabel),
82
+ };
83
+ }
84
+ if (pendingApproval.call.tool === 'search_files') {
85
+ const path = readStringField(pendingApproval.call.input, 'path') ?? '.';
86
+ return {
87
+ title: 'Allow search_files',
88
+ command: searchQuery,
89
+ scope: path.startsWith('../') || path.startsWith('/') || path.includes('..\\') ? 'external' : 'workspace',
90
+ why: searchQuery ? `search_files for "${searchQuery}" in ${path}` : `search_files in ${path}`,
91
+ effects: [searchQuery ? `searches ${path} for "${searchQuery}"` : `searches ${path}`],
92
+ rememberLabel: formatRememberLabel(pendingApproval.rememberLabel),
72
93
  };
73
94
  }
74
95
  const path = readStringField(pendingApproval.call.input, 'path');
@@ -79,16 +100,28 @@ export function summarizePendingApproval(pendingApproval) {
79
100
  scope: path.startsWith('../') || path.startsWith('/') || path.includes('..\\') ? 'external' : 'workspace',
80
101
  why: `${pendingApproval.call.tool} on ${path}`,
81
102
  effects: [describePathAwareToolEffect(pendingApproval.call.tool, path)],
82
- rememberLabel: pendingApproval.rememberLabel,
103
+ rememberLabel: formatRememberLabel(pendingApproval.rememberLabel),
83
104
  };
84
105
  }
85
106
  return {
86
107
  title: `Allow ${pendingApproval.call.tool}`,
87
108
  why: 'approval required for this tool call',
88
109
  effects: ['tool-specific side effects are not yet summarized'],
89
- rememberLabel: pendingApproval.rememberLabel,
110
+ rememberLabel: formatRememberLabel(pendingApproval.rememberLabel),
90
111
  };
91
112
  }
113
+ function formatRememberLabel(label) {
114
+ if (!label) {
115
+ return undefined;
116
+ }
117
+ if (/^allow exact command .+ for this project$/.test(label)) {
118
+ return 'allow exact command';
119
+ }
120
+ if (/^allow (read_file|list_files) .+ for this project$/.test(label)) {
121
+ return label.replace(/^allow (read_file|list_files) .+ for this project$/, 'allow $1 for this project');
122
+ }
123
+ return label;
124
+ }
92
125
  export function normalizeInlineText(value) {
93
126
  return value.replace(/\r?\n+/g, ' ').replace(/\s+/g, ' ').trim();
94
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../../src/cli/chat/utils/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../../src/cli/chat/utils/format.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ import { startChatCli } from './chat/index.js';
15
15
  import { runDaemonCli } from './daemon.js';
16
16
  import { runEvalCli } from './eval/index.js';
17
17
  import { parseHeartbeatArgs, runHeartbeatCli } from './heartbeat.js';
18
+ import { loadProjectAgentContext, resolveAgentContextPaths } from './project-agent-context.js';
18
19
  import { runSessionCli } from './session.js';
19
20
  import { daemonStartConflictMessage, embeddedCommandConflictMessage, formatRuntimeHostNotice, resolveWorkspaceRuntimeHost, } from '../core/runtime/runtime-hosts.js';
20
21
  import { registerKnownWorkspaces, resolveDaemonRegistryPath } from '../core/runtime/daemon-registry.js';
@@ -410,7 +411,7 @@ function resolveCliOptions(flags) {
410
411
  stateDir: projectConfig.stateDir ?? '.heddle',
411
412
  directShellApproval: projectConfig.directShellApproval ?? 'never',
412
413
  searchIgnoreDirs: projectConfig.searchIgnoreDirs ?? [],
413
- systemContext: loadProjectAgentContext(workspaceRoot, projectConfig.agentContextPaths ?? ['AGENTS.md']),
414
+ systemContext: loadProjectAgentContext(workspaceRoot, resolveAgentContextPaths(workspaceRoot, projectConfig.agentContextPaths)),
414
415
  runtimeHost: resolveWorkspaceRuntimeHost({
415
416
  workspaceRoot,
416
417
  stateRoot,
@@ -536,30 +537,10 @@ function initializeProjectConfig(workspaceRoot) {
536
537
  stateDir: '.heddle',
537
538
  directShellApproval: 'never',
538
539
  searchIgnoreDirs: ['.git', 'dist', 'node_modules', '.heddle'],
539
- agentContextPaths: ['AGENTS.md'],
540
540
  };
541
541
  writeFileSync(configPath, `${JSON.stringify(template, null, 2)}\n`);
542
542
  process.stdout.write(`Created ${configPath}\n`);
543
543
  }
544
- function loadProjectAgentContext(workspaceRoot, paths) {
545
- const sections = paths.flatMap((relativePath) => {
546
- const filePath = resolve(workspaceRoot, relativePath);
547
- if (!existsSync(filePath)) {
548
- return [];
549
- }
550
- try {
551
- const content = readFileSync(filePath, 'utf8').trim();
552
- if (!content) {
553
- return [];
554
- }
555
- return [`Source: ${relativePath}\n${truncate(content, 12000)}`];
556
- }
557
- catch {
558
- return [];
559
- }
560
- });
561
- return sections.length > 0 ? sections.join('\n\n') : undefined;
562
- }
563
544
  function parsePositiveInt(raw) {
564
545
  if (!raw) {
565
546
  return undefined;
@@ -570,12 +551,6 @@ function parsePositiveInt(raw) {
570
551
  }
571
552
  return value;
572
553
  }
573
- function truncate(value, maxLength) {
574
- if (value.length <= maxLength) {
575
- return value;
576
- }
577
- return `${value.slice(0, maxLength - 1)}…`;
578
- }
579
554
  main().catch((error) => {
580
555
  const message = error instanceof Error ? error.message : String(error);
581
556
  if (message.startsWith('Usage: ')) {