@roackb2/heddle 0.0.4 → 0.0.6

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 (71) hide show
  1. package/README.md +36 -5
  2. package/dist/src/__tests__/chat-compaction.test.js +39 -0
  3. package/dist/src/__tests__/chat-compaction.test.js.map +1 -1
  4. package/dist/src/__tests__/chat-format.test.js +14 -1
  5. package/dist/src/__tests__/chat-format.test.js.map +1 -1
  6. package/dist/src/__tests__/local-commands.test.js +65 -101
  7. package/dist/src/__tests__/local-commands.test.js.map +1 -1
  8. package/dist/src/__tests__/prompt-input.test.js +47 -0
  9. package/dist/src/__tests__/prompt-input.test.js.map +1 -1
  10. package/dist/src/__tests__/prompts.test.js +3 -0
  11. package/dist/src/__tests__/prompts.test.js.map +1 -1
  12. package/dist/src/__tests__/tools.test.js +78 -0
  13. package/dist/src/__tests__/tools.test.js.map +1 -1
  14. package/dist/src/cli/ask.d.ts.map +1 -1
  15. package/dist/src/cli/ask.js +5 -1
  16. package/dist/src/cli/ask.js.map +1 -1
  17. package/dist/src/cli/chat/App.d.ts.map +1 -1
  18. package/dist/src/cli/chat/App.js +5 -5
  19. package/dist/src/cli/chat/App.js.map +1 -1
  20. package/dist/src/cli/chat/components/PromptInput.d.ts +7 -0
  21. package/dist/src/cli/chat/components/PromptInput.d.ts.map +1 -1
  22. package/dist/src/cli/chat/components/PromptInput.js +48 -11
  23. package/dist/src/cli/chat/components/PromptInput.js.map +1 -1
  24. package/dist/src/cli/chat/components/SlashHintPanel.js +2 -30
  25. package/dist/src/cli/chat/components/SlashHintPanel.js.map +1 -1
  26. package/dist/src/cli/chat/hooks/useAgentRun.d.ts.map +1 -1
  27. package/dist/src/cli/chat/hooks/useAgentRun.js +28 -8
  28. package/dist/src/cli/chat/hooks/useAgentRun.js.map +1 -1
  29. package/dist/src/cli/chat/state/compaction.d.ts +4 -0
  30. package/dist/src/cli/chat/state/compaction.d.ts.map +1 -1
  31. package/dist/src/cli/chat/state/compaction.js +21 -5
  32. package/dist/src/cli/chat/state/compaction.js.map +1 -1
  33. package/dist/src/cli/chat/state/local-commands.d.ts +6 -0
  34. package/dist/src/cli/chat/state/local-commands.d.ts.map +1 -1
  35. package/dist/src/cli/chat/state/local-commands.js +38 -45
  36. package/dist/src/cli/chat/state/local-commands.js.map +1 -1
  37. package/dist/src/cli/chat/state/storage.js +1 -0
  38. package/dist/src/cli/chat/state/storage.js.map +1 -1
  39. package/dist/src/cli/chat/state/types.d.ts +1 -0
  40. package/dist/src/cli/chat/state/types.d.ts.map +1 -1
  41. package/dist/src/cli/chat/submit.d.ts.map +1 -1
  42. package/dist/src/cli/chat/submit.js +27 -1
  43. package/dist/src/cli/chat/submit.js.map +1 -1
  44. package/dist/src/cli/chat/utils/format.d.ts +5 -0
  45. package/dist/src/cli/chat/utils/format.d.ts.map +1 -1
  46. package/dist/src/cli/chat/utils/format.js +23 -0
  47. package/dist/src/cli/chat/utils/format.js.map +1 -1
  48. package/dist/src/cli/chat/utils/runtime.d.ts +1 -0
  49. package/dist/src/cli/chat/utils/runtime.d.ts.map +1 -1
  50. package/dist/src/cli/chat/utils/runtime.js +1 -0
  51. package/dist/src/cli/chat/utils/runtime.js.map +1 -1
  52. package/dist/src/index.d.ts +2 -0
  53. package/dist/src/index.d.ts.map +1 -1
  54. package/dist/src/index.js +1 -0
  55. package/dist/src/index.js.map +1 -1
  56. package/dist/src/prompts/system-prompt.d.ts.map +1 -1
  57. package/dist/src/prompts/system-prompt.js +10 -0
  58. package/dist/src/prompts/system-prompt.js.map +1 -1
  59. package/dist/src/tools/edit-file.d.ts +3 -7
  60. package/dist/src/tools/edit-file.d.ts.map +1 -1
  61. package/dist/src/tools/edit-file.js +16 -222
  62. package/dist/src/tools/edit-file.js.map +1 -1
  63. package/dist/src/tools/file-edit-core.d.ts +31 -0
  64. package/dist/src/tools/file-edit-core.d.ts.map +1 -0
  65. package/dist/src/tools/file-edit-core.js +231 -0
  66. package/dist/src/tools/file-edit-core.js.map +1 -0
  67. package/dist/src/tools/memory-notes.d.ts +13 -0
  68. package/dist/src/tools/memory-notes.d.ts.map +1 -0
  69. package/dist/src/tools/memory-notes.js +382 -0
  70. package/dist/src/tools/memory-notes.js.map +1 -0
  71. package/package.json +1 -1
@@ -11,6 +11,10 @@ export type ApprovalSummary = {
11
11
  effects: string[];
12
12
  rememberLabel?: string;
13
13
  };
14
+ export type ChatFailureHintOptions = {
15
+ model: string;
16
+ estimatedHistoryTokens?: number;
17
+ };
14
18
  export declare function buildConversationMessages(history: ChatMessage[]): ConversationLine[];
15
19
  export declare function summarizeTrace(trace: TraceEvent[]): string[];
16
20
  export declare function countAssistantSteps(trace: TraceEvent[]): number;
@@ -21,6 +25,7 @@ export declare function formatApprovalHint(pendingApproval: PendingApproval): st
21
25
  export declare function summarizePendingApproval(pendingApproval: PendingApproval): ApprovalSummary;
22
26
  export declare function summarizeToolCall(tool: string, input: unknown): string;
23
27
  export declare function summarizeToolResult(tool: string, command: string | undefined, output?: unknown): string;
28
+ export declare function formatChatFailureMessage(message: string, options: ChatFailureHintOptions): string;
24
29
  export declare function extractShellCommand(value: unknown): string | undefined;
25
30
  export declare function extractEditPath(value: unknown): string | undefined;
26
31
  export declare function extractPathField(value: unknown): string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/utils/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/utils/format.ts"],"names":[],"mappings":"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"}
@@ -191,6 +191,29 @@ export function summarizeToolResult(tool, command, output) {
191
191
  }
192
192
  return tool;
193
193
  }
194
+ export function formatChatFailureMessage(message, options) {
195
+ if (looksLikeAnthropicInputRateLimit(message)) {
196
+ const sizeHint = typeof options.estimatedHistoryTokens === 'number' ?
197
+ ` Current session history is estimated at about ${options.estimatedHistoryTokens.toLocaleString()} tokens before the next request.`
198
+ : '';
199
+ return `${message}\n\nThis likely failed because the current prompt plus session history are too large for ${options.model}'s input-token-per-minute limit.${sizeHint} Try /compact, /clear, or /session new, then retry.`;
200
+ }
201
+ if (looksLikeOpenAiQuotaError(message)) {
202
+ return `${message}\n\nThis looks like an OpenAI quota or billing limit for the active key, not a transient prompt-size issue. Switch providers or check the OpenAI account quota and billing state.`;
203
+ }
204
+ return message;
205
+ }
206
+ function looksLikeAnthropicInputRateLimit(message) {
207
+ const normalized = message.toLowerCase();
208
+ return (normalized.includes('input tokens per minute')
209
+ || (normalized.includes('reduce the prompt length') && normalized.includes('maximum tokens requested'))
210
+ || (normalized.includes('rate_limit_error') && normalized.includes('tokens per minute')));
211
+ }
212
+ function looksLikeOpenAiQuotaError(message) {
213
+ const normalized = message.toLowerCase();
214
+ return (normalized.includes('exceeded your current quota')
215
+ || (normalized.includes('billing details') && normalized.includes('quota')));
216
+ }
194
217
  export function extractShellCommand(value) {
195
218
  if (!value || typeof value !== 'object' || Array.isArray(value)) {
196
219
  return undefined;
@@ -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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"}
@@ -19,6 +19,7 @@ export type ChatRuntimeConfig = {
19
19
  sessionsFile: string;
20
20
  approvalsFile: string;
21
21
  traceDir: string;
22
+ memoryDir: string;
22
23
  workspaceRoot: string;
23
24
  directShellApproval: 'always' | 'never';
24
25
  searchIgnoreDirs: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/utils/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,QAAQ,GAAG,OAAO,CAAC;IACxC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,CAKvE;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,cAAc,GAAG,iBAAiB,CAsBnF;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAS/E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,gBAAgB,CAAC,GAAG,MAAM,GAAG,SAAS,CAWvI"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/utils/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,QAAQ,GAAG,OAAO,CAAC;IACxC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,CAKvE;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,cAAc,GAAG,iBAAiB,CAuBnF;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAS/E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,gBAAgB,CAAC,GAAG,MAAM,GAAG,SAAS,CAWvI"}
@@ -25,6 +25,7 @@ export function resolveChatRuntimeConfig(options) {
25
25
  sessionsFile: join(stateRoot, 'chat-sessions.json'),
26
26
  approvalsFile: join(stateRoot, 'command-approvals.json'),
27
27
  traceDir: join(stateRoot, 'traces'),
28
+ memoryDir: join(stateRoot, 'memory'),
28
29
  directShellApproval: options.directShellApproval ?? 'never',
29
30
  searchIgnoreDirs: options.searchIgnoreDirs ?? [],
30
31
  systemContext: options.systemContext,
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../../src/cli/chat/utils/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../../src/cli/chat/utils/runtime.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,8 @@ export { webSearchTool, createWebSearchTool } from './tools/web-search.js';
23
23
  export type { WebSearchToolOptions } from './tools/web-search.js';
24
24
  export { viewImageTool, createViewImageTool } from './tools/view-image.js';
25
25
  export type { ViewImageToolOptions } from './tools/view-image.js';
26
+ export { listMemoryNotesTool, readMemoryNoteTool, searchMemoryNotesTool, editMemoryNoteTool, createListMemoryNotesTool, createReadMemoryNoteTool, createSearchMemoryNotesTool, createEditMemoryNoteTool, } from './tools/memory-notes.js';
27
+ export type { MemoryNotesToolOptions } from './tools/memory-notes.js';
26
28
  export { reportStateTool } from './tools/report-state.js';
27
29
  export { updatePlanTool } from './tools/update-plan.js';
28
30
  export type { PlanItem, PlanItemStatus } from './tools/update-plan.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -17,6 +17,7 @@ export { editFileTool } from './tools/edit-file.js';
17
17
  export { searchFilesTool, createSearchFilesTool, DEFAULT_SEARCH_EXCLUDED_DIRS } from './tools/search-files.js';
18
18
  export { webSearchTool, createWebSearchTool } from './tools/web-search.js';
19
19
  export { viewImageTool, createViewImageTool } from './tools/view-image.js';
20
+ export { listMemoryNotesTool, readMemoryNoteTool, searchMemoryNotesTool, editMemoryNoteTool, createListMemoryNotesTool, createReadMemoryNoteTool, createSearchMemoryNotesTool, createEditMemoryNoteTool, } from './tools/memory-notes.js';
20
21
  export { reportStateTool } from './tools/report-state.js';
21
22
  export { updatePlanTool } from './tools/update-plan.js';
22
23
  export { createRunShellInspectTool, createRunShellMutateTool } from './tools/run-shell.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E,YAAY;AACZ,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAuB5E,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEhG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAGhC,QAAQ;AACR,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAE/G,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,QAAQ;AACR,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,UAAU;AACV,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,QAAQ;AACR,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E,YAAY;AACZ,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAuB5E,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEhG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAGhC,QAAQ;AACR,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAE/G,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,QAAQ;AACR,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,UAAU;AACV,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,QAAQ;AACR,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../../src/prompts/system-prompt.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CA6GpG"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../../src/prompts/system-prompt.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAuHpG"}
@@ -67,6 +67,16 @@ If you recorded a plan, do not stop after only one small slice unless the remain
67
67
  Summarize what you found or did in a readable form.
68
68
  If the task involved changes or verification, prefer a short summary followed by high-level bullets over a vague “done”.
69
69
 
70
+ ## Knowledge Persistence
71
+
72
+ - Treat persistent memory as durable workspace knowledge, not scratch space.
73
+ - Maintain useful memory proactively when you confirm a stable fact that is likely to save future rediscovery.
74
+ - Good times to update memory include: after a verified architectural finding, after resolving a recurring repo quirk, after learning stable build/test workflow details, or after completing meaningful implementation work that future sessions will need to understand.
75
+ - Do not write speculative guesses, one-turn plans, temporary hypotheses, or ephemeral observations into persistent memory.
76
+ - Prefer updating an existing memory note over scattering many tiny notes.
77
+ - Memory writes do not require user approval. Use them intentionally at sensible checkpoints without waiting to be asked every time.
78
+ - Prefer memory-specific tools for durable note maintenance, but if retrieval or editing needs a more flexible workflow, it is acceptable to use mature shell tools against the memory directory.
79
+
70
80
  ## Tool Use Rules
71
81
 
72
82
  - Use tools purposefully. Each tool call should have a clear reason.
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../../src/prompts/system-prompt.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,wBAAwB;AACxB,uCAAuC;AACvC,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,SAAmB,EAAE,cAAuB;IAC1F,OAAO;;;;;;;;EAQP,IAAI;;;;;;;;;;;;kCAY4B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;;EAEpD,cAAc,CAAC,CAAC,CAAC,yBAAyB,cAAc,MAAM,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wQAqFmM,CAAC;AACzQ,CAAC"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../../src/prompts/system-prompt.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,wBAAwB;AACxB,uCAAuC;AACvC,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,SAAmB,EAAE,cAAuB;IAC1F,OAAO;;;;;;;;EAQP,IAAI;;;;;;;;;;;;kCAY4B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;;EAEpD,cAAc,CAAC,CAAC,CAAC,yBAAyB,cAAc,MAAM,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wQA+FmM,CAAC;AACzQ,CAAC"}
@@ -1,10 +1,6 @@
1
1
  import type { ToolDefinition } from '../types.js';
2
- export type EditFilePreview = {
3
- path: string;
4
- action: 'created' | 'overwritten' | 'replaced';
5
- diff: string;
6
- truncated: boolean;
7
- };
2
+ export type { ScopedEditInput as EditFileInput, EditPreview as EditFilePreview } from './file-edit-core.js';
3
+ import type { EditPreview } from './file-edit-core.js';
8
4
  export declare const editFileTool: ToolDefinition;
9
- export declare function previewEditFileInput(raw: unknown, workspaceRoot?: string): Promise<EditFilePreview | undefined>;
5
+ export declare function previewEditFileInput(raw: unknown, workspaceRoot?: string): Promise<EditPreview | undefined>;
10
6
  //# sourceMappingURL=edit-file.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"edit-file.d.ts","sourceRoot":"","sources":["../../../src/tools/edit-file.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAa,CAAC;AAiB9D,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAKF,eAAO,MAAM,YAAY,EAAE,cA6D1B,CAAC;AAsEF,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,aAAa,GAAE,MAAsB,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAsCpI"}
1
+ {"version":3,"file":"edit-file.d.ts","sourceRoot":"","sources":["../../../src/tools/edit-file.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAa,CAAC;AAO9D,YAAY,EAAE,eAAe,IAAI,aAAa,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC5G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,YAAY,EAAE,cA6C1B,CAAC;AAEF,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,aAAa,GAAE,MAAsB,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAWhI"}
@@ -1,10 +1,8 @@
1
1
  // ---------------------------------------------------------------------------
2
2
  // Tool: edit_file
3
3
  // ---------------------------------------------------------------------------
4
- import { access, mkdir, readFile, writeFile } from 'node:fs/promises';
5
- import { dirname, isAbsolute, relative, resolve } from 'node:path';
6
- const DIFF_CONTEXT_LINES = 2;
7
- const MAX_DIFF_PREVIEW_LINES = 80;
4
+ import { resolve } from 'node:path';
5
+ import { executeScopedEdit, isScopedEditInput, previewScopedEdit, } from './file-edit-core.js';
8
6
  export const editFileTool = {
9
7
  name: 'edit_file',
10
8
  description: 'Edit a file directly inside the current workspace without going through shell redirection or heredocs. Prefer this over shell commands when you need to create or change file contents. Use { "path", "oldText", "newText" } for an exact replacement, optionally with replaceAll, or use { "path", "content", "createIfMissing" } to overwrite an existing file or create a new one explicitly. This tool only writes inside the current workspace root and returns a structured edit summary.',
@@ -41,228 +39,24 @@ export const editFileTool = {
41
39
  required: ['path'],
42
40
  },
43
41
  async execute(raw) {
44
- if (!isEditFileInput(raw)) {
45
- return {
46
- ok: false,
47
- error: 'Invalid input for edit_file. Use either { "path", "oldText", "newText", "replaceAll?" } or { "path", "content", "createIfMissing?" }.',
48
- };
49
- }
50
- const workspaceRoot = process.cwd();
51
- const targetPath = resolve(raw.path);
52
- if (!isInsideWorkspace(workspaceRoot, targetPath)) {
53
- return {
54
- ok: false,
55
- error: `edit_file only writes inside the current workspace root (${workspaceRoot}). Refusing to modify ${targetPath}.`,
56
- };
57
- }
58
- if ('content' in raw) {
59
- return writeFileContent(raw, workspaceRoot, targetPath);
60
- }
61
- return replaceFileContent(raw, workspaceRoot, targetPath);
42
+ return executeScopedEdit(raw, {
43
+ toolName: 'edit_file',
44
+ rootPath: process.cwd(),
45
+ rootLabel: 'current workspace root',
46
+ subjectLabel: 'file',
47
+ creationHint: 'Set createIfMissing to true if you want edit_file to create it.',
48
+ });
62
49
  },
63
50
  };
64
- async function writeFileContent(input, workspaceRoot, targetPath) {
65
- const existed = await pathExists(targetPath);
66
- const previousContent = existed ? await readFile(targetPath, 'utf8') : '';
67
- if (!existed && !input.createIfMissing) {
68
- return {
69
- ok: false,
70
- error: `File does not exist: ${targetPath}. Set createIfMissing to true if you want edit_file to create it.`,
71
- };
72
- }
73
- await mkdir(dirname(targetPath), { recursive: true });
74
- await writeFile(targetPath, input.content, 'utf8');
75
- return {
76
- ok: true,
77
- output: {
78
- path: toWorkspacePath(workspaceRoot, targetPath),
79
- action: existed ? 'overwritten' : 'created',
80
- bytesWritten: Buffer.byteLength(input.content, 'utf8'),
81
- diff: buildDiffPreview(previousContent, input.content, toWorkspacePath(workspaceRoot, targetPath), existed ? 'overwritten' : 'created'),
82
- },
83
- };
84
- }
85
- async function replaceFileContent(input, workspaceRoot, targetPath) {
86
- let current;
87
- try {
88
- current = await readFile(targetPath, 'utf8');
89
- }
90
- catch (error) {
91
- return {
92
- ok: false,
93
- error: `Failed to read ${targetPath}: ${error instanceof Error ? error.message : String(error)}`,
94
- };
95
- }
96
- const matchCount = countOccurrences(current, input.oldText);
97
- if (matchCount === 0) {
98
- return {
99
- ok: false,
100
- error: `edit_file could not find the requested oldText in ${targetPath}. Read the file again and provide an exact match.`,
101
- };
102
- }
103
- if (matchCount > 1 && !input.replaceAll) {
104
- return {
105
- ok: false,
106
- error: `edit_file found ${matchCount} matches for oldText in ${targetPath}. Refine oldText or set replaceAll to true.`,
107
- };
108
- }
109
- const nextContent = input.replaceAll ? current.split(input.oldText).join(input.newText) : replaceFirst(current, input.oldText, input.newText);
110
- await writeFile(targetPath, nextContent, 'utf8');
111
- return {
112
- ok: true,
113
- output: {
114
- path: toWorkspacePath(workspaceRoot, targetPath),
115
- action: 'replaced',
116
- matchCount,
117
- bytesWritten: Buffer.byteLength(nextContent, 'utf8'),
118
- diff: buildDiffPreview(current, nextContent, toWorkspacePath(workspaceRoot, targetPath), 'replaced'),
119
- },
120
- };
121
- }
122
51
  export async function previewEditFileInput(raw, workspaceRoot = process.cwd()) {
123
- if (!isEditFileInput(raw)) {
124
- return undefined;
125
- }
126
- const targetPath = resolve(raw.path);
127
- if (!isInsideWorkspace(workspaceRoot, targetPath)) {
52
+ if (!isScopedEditInput(raw)) {
128
53
  return undefined;
129
54
  }
130
- const workspacePath = toWorkspacePath(workspaceRoot, targetPath);
131
- if ('content' in raw) {
132
- const existed = await pathExists(targetPath);
133
- if (!existed && !raw.createIfMissing) {
134
- return undefined;
135
- }
136
- const previousContent = existed ? await readFile(targetPath, 'utf8') : '';
137
- return buildDiffPreview(previousContent, raw.content, workspacePath, existed ? 'overwritten' : 'created');
138
- }
139
- let current;
140
- try {
141
- current = await readFile(targetPath, 'utf8');
142
- }
143
- catch {
144
- return undefined;
145
- }
146
- const matchCount = countOccurrences(current, raw.oldText);
147
- if (matchCount === 0 || (matchCount > 1 && !raw.replaceAll)) {
148
- return undefined;
149
- }
150
- const nextContent = raw.replaceAll ? current.split(raw.oldText).join(raw.newText) : replaceFirst(current, raw.oldText, raw.newText);
151
- return buildDiffPreview(current, nextContent, workspacePath, 'replaced');
152
- }
153
- function isEditFileInput(raw) {
154
- if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
155
- return false;
156
- }
157
- const input = raw;
158
- const keys = Object.keys(input);
159
- const allowedKeys = new Set(['path', 'oldText', 'newText', 'replaceAll', 'content', 'createIfMissing']);
160
- if (keys.some((key) => !allowedKeys.has(key))) {
161
- return false;
162
- }
163
- if (typeof input.path !== 'string' || !input.path.trim()) {
164
- return false;
165
- }
166
- const hasReplaceShape = typeof input.oldText === 'string' && typeof input.newText === 'string';
167
- const hasWriteShape = typeof input.content === 'string';
168
- if (hasReplaceShape === hasWriteShape) {
169
- return false;
170
- }
171
- if (hasReplaceShape) {
172
- return input.replaceAll === undefined || typeof input.replaceAll === 'boolean';
173
- }
174
- return input.createIfMissing === undefined || typeof input.createIfMissing === 'boolean';
175
- }
176
- function isInsideWorkspace(workspaceRoot, targetPath) {
177
- const rel = relative(workspaceRoot, targetPath);
178
- return rel === '' || (!rel.startsWith('..') && !isAbsolute(rel));
179
- }
180
- function countOccurrences(content, search) {
181
- if (!search) {
182
- return 0;
183
- }
184
- let count = 0;
185
- let index = 0;
186
- while (true) {
187
- const nextIndex = content.indexOf(search, index);
188
- if (nextIndex === -1) {
189
- return count;
190
- }
191
- count++;
192
- index = nextIndex + search.length;
193
- }
194
- }
195
- function replaceFirst(content, search, replacement) {
196
- const index = content.indexOf(search);
197
- if (index === -1) {
198
- return content;
199
- }
200
- return `${content.slice(0, index)}${replacement}${content.slice(index + search.length)}`;
201
- }
202
- function toWorkspacePath(workspaceRoot, targetPath) {
203
- const rel = relative(workspaceRoot, targetPath);
204
- return rel || '.';
205
- }
206
- async function pathExists(path) {
207
- try {
208
- await access(path);
209
- return true;
210
- }
211
- catch {
212
- return false;
213
- }
214
- }
215
- function buildDiffPreview(previousContent, nextContent, path, action) {
216
- const previousLines = splitLines(previousContent);
217
- const nextLines = splitLines(nextContent);
218
- const prefix = countCommonPrefix(previousLines, nextLines);
219
- const suffix = countCommonSuffix(previousLines, nextLines, prefix);
220
- const previousChangedEnd = previousLines.length - suffix;
221
- const nextChangedEnd = nextLines.length - suffix;
222
- const contextStart = Math.max(0, prefix - DIFF_CONTEXT_LINES);
223
- const previousContextEnd = Math.min(previousLines.length, previousChangedEnd + DIFF_CONTEXT_LINES);
224
- const nextContextEnd = Math.min(nextLines.length, nextChangedEnd + DIFF_CONTEXT_LINES);
225
- const lines = [
226
- `--- ${action === 'created' ? '/dev/null' : `a/${path}`}`,
227
- `+++ b/${path}`,
228
- `@@ -${formatHunkRange(contextStart + 1, previousContextEnd - contextStart)} +${formatHunkRange(contextStart + 1, nextContextEnd - contextStart)} @@`,
229
- ...previousLines.slice(contextStart, prefix).map((line) => ` ${line}`),
230
- ...previousLines.slice(prefix, previousChangedEnd).map((line) => `-${line}`),
231
- ...nextLines.slice(prefix, nextChangedEnd).map((line) => `+${line}`),
232
- ...nextLines.slice(nextChangedEnd, nextContextEnd).map((line) => ` ${line}`),
233
- ];
234
- if (lines.length <= MAX_DIFF_PREVIEW_LINES) {
235
- return { path, action, diff: lines.join('\n'), truncated: false };
236
- }
237
- const truncatedLines = [
238
- ...lines.slice(0, MAX_DIFF_PREVIEW_LINES - 1),
239
- '... diff preview truncated ...',
240
- ];
241
- return { path, action, diff: truncatedLines.join('\n'), truncated: true };
242
- }
243
- function splitLines(content) {
244
- if (!content) {
245
- return [];
246
- }
247
- return content.replace(/\r\n/g, '\n').split('\n').slice(0, content.endsWith('\n') ? -1 : undefined);
248
- }
249
- function countCommonPrefix(previousLines, nextLines) {
250
- let index = 0;
251
- while (index < previousLines.length && index < nextLines.length && previousLines[index] === nextLines[index]) {
252
- index++;
253
- }
254
- return index;
255
- }
256
- function countCommonSuffix(previousLines, nextLines, prefix) {
257
- let count = 0;
258
- while (previousLines.length - count - 1 >= prefix &&
259
- nextLines.length - count - 1 >= prefix &&
260
- previousLines[previousLines.length - count - 1] === nextLines[nextLines.length - count - 1]) {
261
- count++;
262
- }
263
- return count;
264
- }
265
- function formatHunkRange(start, length) {
266
- return length === 1 ? `${start}` : `${start},${length}`;
55
+ return previewScopedEdit(raw, {
56
+ toolName: 'edit_file',
57
+ rootPath: resolve(workspaceRoot),
58
+ rootLabel: 'current workspace root',
59
+ subjectLabel: 'file',
60
+ });
267
61
  }
268
62
  //# sourceMappingURL=edit-file.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"edit-file.js","sourceRoot":"","sources":["../../../src/tools/edit-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit-file.js","sourceRoot":"","sources":["../../../src/tools/edit-file.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAK7B,MAAM,CAAC,MAAM,YAAY,GAAmB;IAC1C,IAAI,EAAE,WAAW;IACjB,WAAW,EACT,ieAAie;IACne,gBAAgB,EAAE,IAAI;IACtB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,KAAK;QAC3B,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6CAA6C;aAC3D;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kCAAkC;aAChD;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8BAA8B;aAC5C;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,6EAA6E;aAC3F;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4BAA4B;aAC1C;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,yEAAyE;aACvF;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,CAAC;KACnB;IACD,KAAK,CAAC,OAAO,CAAC,GAAY;QACxB,OAAO,iBAAiB,CAAC,GAAG,EAAE;YAC5B,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE;YACvB,SAAS,EAAE,wBAAwB;YACnC,YAAY,EAAE,MAAM;YACpB,YAAY,EAAE,iEAAiE;SAChF,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,GAAY,EAAE,gBAAwB,OAAO,CAAC,GAAG,EAAE;IAC5F,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,iBAAiB,CAAC,GAAG,EAAE;QAC5B,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC;QAChC,SAAS,EAAE,wBAAwB;QACnC,YAAY,EAAE,MAAM;KACrB,CAAC,CAAC;AACL,CAAC"}