@roackb2/heddle 0.0.32 → 0.0.35

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 (104) hide show
  1. package/dist/src/cli/chat/App.d.ts.map +1 -1
  2. package/dist/src/cli/chat/App.js +8 -2
  3. package/dist/src/cli/chat/App.js.map +1 -1
  4. package/dist/src/cli/chat/hooks/useAgentRun.d.ts.map +1 -1
  5. package/dist/src/cli/chat/hooks/useAgentRun.js +6 -1
  6. package/dist/src/cli/chat/hooks/useAgentRun.js.map +1 -1
  7. package/dist/src/cli/chat/hooks/usePromptSubmission.d.ts.map +1 -1
  8. package/dist/src/cli/chat/hooks/usePromptSubmission.js +1 -0
  9. package/dist/src/cli/chat/hooks/usePromptSubmission.js.map +1 -1
  10. package/dist/src/cli/chat/submit.d.ts +2 -0
  11. package/dist/src/cli/chat/submit.d.ts.map +1 -1
  12. package/dist/src/cli/chat/submit.js +1 -0
  13. package/dist/src/cli/chat/submit.js.map +1 -1
  14. package/dist/src/cli/remote/control-plane-client.d.ts +4 -4
  15. package/dist/src/core/agent/post-mutation.d.ts +0 -7
  16. package/dist/src/core/agent/post-mutation.d.ts.map +1 -1
  17. package/dist/src/core/agent/post-mutation.js +0 -66
  18. package/dist/src/core/agent/post-mutation.js.map +1 -1
  19. package/dist/src/core/agent/progress-reminders.js +4 -4
  20. package/dist/src/core/agent/progress-reminders.js.map +1 -1
  21. package/dist/src/core/agent/run-agent.d.ts.map +1 -1
  22. package/dist/src/core/agent/run-agent.js +3 -69
  23. package/dist/src/core/agent/run-agent.js.map +1 -1
  24. package/dist/src/core/auth/openai-oauth.d.ts +4 -0
  25. package/dist/src/core/auth/openai-oauth.d.ts.map +1 -1
  26. package/dist/src/core/auth/openai-oauth.js +19 -7
  27. package/dist/src/core/auth/openai-oauth.js.map +1 -1
  28. package/dist/src/core/chat/compaction.d.ts +3 -1
  29. package/dist/src/core/chat/compaction.d.ts.map +1 -1
  30. package/dist/src/core/chat/compaction.js +129 -35
  31. package/dist/src/core/chat/compaction.js.map +1 -1
  32. package/dist/src/core/chat/session-submit.d.ts.map +1 -1
  33. package/dist/src/core/chat/session-submit.js +4 -1
  34. package/dist/src/core/chat/session-submit.js.map +1 -1
  35. package/dist/src/core/llm/model-policy.d.ts +34 -0
  36. package/dist/src/core/llm/model-policy.d.ts.map +1 -0
  37. package/dist/src/core/llm/model-policy.js +52 -0
  38. package/dist/src/core/llm/model-policy.js.map +1 -0
  39. package/dist/src/core/llm/openai-models.d.ts.map +1 -1
  40. package/dist/src/core/llm/openai-models.js +5 -3
  41. package/dist/src/core/llm/openai-models.js.map +1 -1
  42. package/dist/src/core/llm/openai.d.ts.map +1 -1
  43. package/dist/src/core/llm/openai.js +7 -6
  44. package/dist/src/core/llm/openai.js.map +1 -1
  45. package/dist/src/core/prompts/system-prompt.d.ts +1 -1
  46. package/dist/src/core/prompts/system-prompt.d.ts.map +1 -1
  47. package/dist/src/core/prompts/system-prompt.js +19 -9
  48. package/dist/src/core/prompts/system-prompt.js.map +1 -1
  49. package/dist/src/core/runtime/agent-loop.d.ts.map +1 -1
  50. package/dist/src/core/runtime/agent-loop.js +7 -1
  51. package/dist/src/core/runtime/agent-loop.js.map +1 -1
  52. package/dist/src/core/runtime/default-tools.d.ts +1 -0
  53. package/dist/src/core/runtime/default-tools.d.ts.map +1 -1
  54. package/dist/src/core/runtime/default-tools.js +5 -0
  55. package/dist/src/core/runtime/default-tools.js.map +1 -1
  56. package/dist/src/core/tools/delete-file.d.ts +7 -0
  57. package/dist/src/core/tools/delete-file.d.ts.map +1 -0
  58. package/dist/src/core/tools/delete-file.js +79 -0
  59. package/dist/src/core/tools/delete-file.js.map +1 -0
  60. package/dist/src/core/tools/move-file.d.ts +7 -0
  61. package/dist/src/core/tools/move-file.d.ts.map +1 -0
  62. package/dist/src/core/tools/move-file.js +82 -0
  63. package/dist/src/core/tools/move-file.js.map +1 -0
  64. package/dist/src/core/tools/report-state.js +1 -1
  65. package/dist/src/core/tools/report-state.js.map +1 -1
  66. package/dist/src/core/tools/view-image.d.ts +2 -1
  67. package/dist/src/core/tools/view-image.d.ts.map +1 -1
  68. package/dist/src/core/tools/view-image.js +198 -16
  69. package/dist/src/core/tools/view-image.js.map +1 -1
  70. package/dist/src/index.d.ts +4 -0
  71. package/dist/src/index.d.ts.map +1 -1
  72. package/dist/src/index.js +2 -0
  73. package/dist/src/index.js.map +1 -1
  74. package/dist/src/server/features/control-plane/router.d.ts +4 -4
  75. package/dist/src/server/features/control-plane/services/chat-sessions.d.ts +4 -4
  76. package/dist/src/server/features/control-plane/services/chat-sessions.d.ts.map +1 -1
  77. package/dist/src/server/features/control-plane/services/chat-sessions.js +60 -0
  78. package/dist/src/server/features/control-plane/services/chat-sessions.js.map +1 -1
  79. package/dist/src/server/router.d.ts +4 -4
  80. package/dist/src/web/assets/MonacoDiffViewer-DM8Cy5Xf.js +4 -0
  81. package/dist/src/web/assets/chunk-DECur_0Z.js +1 -0
  82. package/dist/src/web/assets/codicon-ngg6Pgfi.ttf +0 -0
  83. package/dist/src/web/assets/css-ejLFi3lO.js +3 -0
  84. package/dist/src/web/assets/editor-Br_kD0ds.css +1 -0
  85. package/dist/src/web/assets/editor.api2-DRhrSk9h.js +872 -0
  86. package/dist/src/web/assets/editor.worker-DWlYVeeX.js +26 -0
  87. package/dist/src/web/assets/go-CaScRb1i.js +1 -0
  88. package/dist/src/web/assets/html-Cft6PSNf.js +1 -0
  89. package/dist/src/web/assets/{index-CAWhKnGd.css → index-BEeN-RT5.css} +1 -1
  90. package/dist/src/web/assets/index-BKDg9H_-.js +56 -0
  91. package/dist/src/web/assets/java-_yhwA1y2.js +1 -0
  92. package/dist/src/web/assets/javascript-6bpvthJD.js +1 -0
  93. package/dist/src/web/assets/json.worker-CCzEOxDx.js +58 -0
  94. package/dist/src/web/assets/jsonMode-yXXGoTnD.js +10 -0
  95. package/dist/src/web/assets/markdown-wO2PN3EC.js +1 -0
  96. package/dist/src/web/assets/python-kY56oSAs.js +1 -0
  97. package/dist/src/web/assets/rust-BOwv_5ZO.js +1 -0
  98. package/dist/src/web/assets/scss-Cdfe_FFe.js +3 -0
  99. package/dist/src/web/assets/shell-Dgo0Jcwc.js +1 -0
  100. package/dist/src/web/assets/typescript-KZ9-zMZK.js +1 -0
  101. package/dist/src/web/assets/yaml-B3q_s4Yl.js +1 -0
  102. package/dist/src/web/index.html +3 -2
  103. package/package.json +2 -1
  104. package/dist/src/web/assets/index-Bx98SNEH.js +0 -55
@@ -1,6 +1,8 @@
1
1
  import { join } from 'node:path';
2
+ import { createDeleteFileTool } from '../tools/delete-file.js';
2
3
  import { createEditFileTool } from '../tools/edit-file.js';
3
4
  import { createListFilesTool } from '../tools/list-files.js';
5
+ import { createMoveFileTool } from '../tools/move-file.js';
4
6
  import { createEditMemoryNoteTool, createListMemoryNotesTool, createReadMemoryNoteTool, createSearchMemoryNotesTool, } from '../tools/memory-notes.js';
5
7
  import { createReadFileTool } from '../tools/read-file.js';
6
8
  import { createMemoryCheckpointTool } from '../tools/memory-checkpoint.js';
@@ -20,6 +22,8 @@ export function createDefaultAgentTools(options) {
20
22
  createListFilesTool({ workspaceRoot }),
21
23
  createReadFileTool({ workspaceRoot }),
22
24
  createEditFileTool({ workspaceRoot }),
25
+ createDeleteFileTool({ workspaceRoot }),
26
+ createMoveFileTool({ workspaceRoot }),
23
27
  createSearchFilesTool({ excludedDirs: options.searchIgnoreDirs, workspaceRoot }),
24
28
  createWebSearchTool({
25
29
  model: options.model,
@@ -30,6 +34,7 @@ export function createDefaultAgentTools(options) {
30
34
  model: options.model,
31
35
  apiKey: options.apiKey,
32
36
  providerCredentialSource: options.providerCredentialSource,
37
+ credentialStorePath: options.credentialStorePath,
33
38
  workspaceRoot,
34
39
  }),
35
40
  reportStateTool,
@@ -1 +1 @@
1
- {"version":3,"file":"default-tools.js","sourceRoot":"","sources":["../../../../src/core/runtime/default-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-tools.js","sourceRoot":"","sources":["../../../../src/core/runtime/default-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { ToolDefinition } from '../types.js';
2
+ export type DeleteFileToolOptions = {
3
+ workspaceRoot?: string;
4
+ };
5
+ export declare function createDeleteFileTool(options?: DeleteFileToolOptions): ToolDefinition;
6
+ export declare const deleteFileTool: ToolDefinition;
7
+ //# sourceMappingURL=delete-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-file.d.ts","sourceRoot":"","sources":["../../../../src/core/tools/delete-file.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAa,CAAC;AAO9D,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,qBAA0B,GAAG,cAAc,CAiExF;AAED,eAAO,MAAM,cAAc,EAAE,cAAuC,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { rm, stat } from 'node:fs/promises';
2
+ import { resolve } from 'node:path';
3
+ export function createDeleteFileTool(options = {}) {
4
+ const configuredWorkspaceRoot = options.workspaceRoot ? resolve(options.workspaceRoot) : undefined;
5
+ return {
6
+ name: 'delete_file',
7
+ description: 'Delete a file or remove a directory when you explicitly need to clean up or retire workspace content. Prefer this over shell rm for normal file deletion. Use { "path" } for files, or set recursive to true if you intentionally want to remove a directory tree. Relative paths are resolved from the active workspace root and may also point to nearby parent or sibling folders. Returns a structured deletion summary.',
8
+ requiresApproval: true,
9
+ parameters: {
10
+ type: 'object',
11
+ additionalProperties: false,
12
+ properties: {
13
+ path: {
14
+ type: 'string',
15
+ description: 'Path to the file or directory to delete',
16
+ },
17
+ recursive: {
18
+ type: 'boolean',
19
+ description: 'Allow deleting a directory tree recursively',
20
+ },
21
+ },
22
+ required: ['path'],
23
+ },
24
+ async execute(raw) {
25
+ if (!isDeleteFileInput(raw)) {
26
+ return {
27
+ ok: false,
28
+ error: 'Invalid input for delete_file. Required field: path. Optional field: recursive.',
29
+ };
30
+ }
31
+ const workspaceRoot = configuredWorkspaceRoot ?? process.cwd();
32
+ const targetPath = resolve(workspaceRoot, raw.path);
33
+ try {
34
+ const info = await stat(targetPath);
35
+ if (info.isDirectory() && !raw.recursive) {
36
+ return {
37
+ ok: false,
38
+ error: `Refusing to delete directory ${targetPath} without recursive: true.`,
39
+ };
40
+ }
41
+ await rm(targetPath, {
42
+ recursive: Boolean(raw.recursive),
43
+ force: false,
44
+ });
45
+ return {
46
+ ok: true,
47
+ output: {
48
+ path: targetPath,
49
+ deleted: true,
50
+ kind: info.isDirectory() ? 'directory' : 'file',
51
+ recursive: Boolean(raw.recursive),
52
+ },
53
+ };
54
+ }
55
+ catch (error) {
56
+ return {
57
+ ok: false,
58
+ error: `Failed to delete ${targetPath}: ${error instanceof Error ? error.message : String(error)}`,
59
+ };
60
+ }
61
+ },
62
+ };
63
+ }
64
+ export const deleteFileTool = createDeleteFileTool();
65
+ function isDeleteFileInput(raw) {
66
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
67
+ return false;
68
+ }
69
+ const input = raw;
70
+ const keys = Object.keys(input);
71
+ if (keys.some((key) => key !== 'path' && key !== 'recursive')) {
72
+ return false;
73
+ }
74
+ if (typeof input.path !== 'string' || input.path.trim().length === 0) {
75
+ return false;
76
+ }
77
+ return input.recursive === undefined || typeof input.recursive === 'boolean';
78
+ }
79
+ //# sourceMappingURL=delete-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-file.js","sourceRoot":"","sources":["../../../../src/core/tools/delete-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,MAAM,UAAU,oBAAoB,CAAC,UAAiC,EAAE;IACtE,MAAM,uBAAuB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnG,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,8ZAA8Z;QACha,gBAAgB,EAAE,IAAI;QACtB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yCAAyC;iBACvD;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,6CAA6C;iBAC3D;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;QACD,KAAK,CAAC,OAAO,CAAC,GAAY;YACxB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,iFAAiF;iBACzF,CAAC;YACJ,CAAC;YAED,MAAM,aAAa,GAAG,uBAAuB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAC/D,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAEpD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpC,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;oBACzC,OAAO;wBACL,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,gCAAgC,UAAU,2BAA2B;qBAC7E,CAAC;gBACJ,CAAC;gBAED,MAAM,EAAE,CAAC,UAAU,EAAE;oBACnB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;oBACjC,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC;gBAEH,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE;wBACN,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;wBAC/C,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;qBAClC;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,oBAAoB,UAAU,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACnG,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAmB,oBAAoB,EAAE,CAAC;AAErE,SAAS,iBAAiB,CAAC,GAAY;IACrC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,GAA8B,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,WAAW,CAAC,EAAE,CAAC;QAC9D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC;AAC/E,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ToolDefinition } from '../types.js';
2
+ export type MoveFileToolOptions = {
3
+ workspaceRoot?: string;
4
+ };
5
+ export declare function createMoveFileTool(options?: MoveFileToolOptions): ToolDefinition;
6
+ export declare const moveFileTool: ToolDefinition;
7
+ //# sourceMappingURL=move-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"move-file.d.ts","sourceRoot":"","sources":["../../../../src/core/tools/move-file.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAa,CAAC;AAQ9D,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,mBAAwB,GAAG,cAAc,CAiEpF;AAED,eAAO,MAAM,YAAY,EAAE,cAAqC,CAAC"}
@@ -0,0 +1,82 @@
1
+ import { mkdir, rename, stat } from 'node:fs/promises';
2
+ import { dirname, resolve } from 'node:path';
3
+ export function createMoveFileTool(options = {}) {
4
+ const configuredWorkspaceRoot = options.workspaceRoot ? resolve(options.workspaceRoot) : undefined;
5
+ return {
6
+ name: 'move_file',
7
+ description: 'Move or rename a file or directory within the workspace when you need a direct file operation without shell mv. Use this for renames, relocations, or cleanup moves. Relative paths are resolved from the active workspace root and may also point to nearby parent or sibling folders. Optionally create missing destination parent directories with createParentDirs. Returns a structured move summary.',
8
+ requiresApproval: true,
9
+ parameters: {
10
+ type: 'object',
11
+ additionalProperties: false,
12
+ properties: {
13
+ from: {
14
+ type: 'string',
15
+ description: 'Existing path to move from',
16
+ },
17
+ to: {
18
+ type: 'string',
19
+ description: 'Destination path to move to',
20
+ },
21
+ createParentDirs: {
22
+ type: 'boolean',
23
+ description: 'Create destination parent directories if they are missing',
24
+ },
25
+ },
26
+ required: ['from', 'to'],
27
+ },
28
+ async execute(raw) {
29
+ if (!isMoveFileInput(raw)) {
30
+ return {
31
+ ok: false,
32
+ error: 'Invalid input for move_file. Required fields: from, to. Optional field: createParentDirs.',
33
+ };
34
+ }
35
+ const workspaceRoot = configuredWorkspaceRoot ?? process.cwd();
36
+ const fromPath = resolve(workspaceRoot, raw.from);
37
+ const toPath = resolve(workspaceRoot, raw.to);
38
+ try {
39
+ const info = await stat(fromPath);
40
+ if (raw.createParentDirs) {
41
+ await mkdir(dirname(toPath), { recursive: true });
42
+ }
43
+ await rename(fromPath, toPath);
44
+ return {
45
+ ok: true,
46
+ output: {
47
+ from: fromPath,
48
+ to: toPath,
49
+ moved: true,
50
+ kind: info.isDirectory() ? 'directory' : 'file',
51
+ createdParentDirs: Boolean(raw.createParentDirs),
52
+ },
53
+ };
54
+ }
55
+ catch (error) {
56
+ return {
57
+ ok: false,
58
+ error: `Failed to move ${fromPath} to ${toPath}: ${error instanceof Error ? error.message : String(error)}`,
59
+ };
60
+ }
61
+ },
62
+ };
63
+ }
64
+ export const moveFileTool = createMoveFileTool();
65
+ function isMoveFileInput(raw) {
66
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
67
+ return false;
68
+ }
69
+ const input = raw;
70
+ const keys = Object.keys(input);
71
+ if (keys.some((key) => key !== 'from' && key !== 'to' && key !== 'createParentDirs')) {
72
+ return false;
73
+ }
74
+ if (typeof input.from !== 'string' || input.from.trim().length === 0) {
75
+ return false;
76
+ }
77
+ if (typeof input.to !== 'string' || input.to.trim().length === 0) {
78
+ return false;
79
+ }
80
+ return input.createParentDirs === undefined || typeof input.createParentDirs === 'boolean';
81
+ }
82
+ //# sourceMappingURL=move-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"move-file.js","sourceRoot":"","sources":["../../../../src/core/tools/move-file.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  // ---------------------------------------------------------------------------
5
5
  export const reportStateTool = {
6
6
  name: 'report_state',
7
- description: 'Report your current reasoning state in a structured way. Use this when you are blocked, uncertain, missing information, recovering from repeated low-value exploration, or about to take a speculative path. This does not inspect or change the environment. It records what is missing and the single most important next thing you need. Use it to tell the library author what capability, input, or support was missing so future agents are less likely to get stuck on the same problem. Returns the same structured report back. Example input: { "rationale": "I need to inspect the top-level directory first.", "missing": ["Top-level directory contents"], "nextNeed": "list_files on ." }',
7
+ description: 'Report a genuine blocker or missing requirement in a structured way. Use this when progress is actually blocked by missing information, missing tool support, missing inputs, or a runtime limitation that prevents the next concrete action. Do not use it for ordinary progress updates or to restate a plan you can already execute. This tool does not inspect or change the environment. It records what is missing and the single most important next thing you need so future maintainers can understand the blocker. Returns the same structured report back. Example input: { "rationale": "I need to inspect the top-level directory first.", "missing": ["Top-level directory contents"], "nextNeed": "list_files on ." }',
8
8
  parameters: {
9
9
  type: 'object',
10
10
  additionalProperties: false,
@@ -1 +1 @@
1
- {"version":3,"file":"report-state.js","sourceRoot":"","sources":["../../../../src/core/tools/report-state.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,qBAAqB;AACrB,+EAA+E;AAC/E,8EAA8E;AAU9E,MAAM,CAAC,MAAM,eAAe,GAAmB;IAC7C,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,yqBAAyqB;IAC3qB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,KAAK;QAC3B,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iDAAiD;aAC/D;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,yCAAyC;aACvD;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iGAAiG;aAC/G;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;IACD,KAAK,CAAC,OAAO,CAAC,GAAY;QACxB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EACH,gGAAgG;aACnG,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACnC,CAAC;CACF,CAAC;AAEF,SAAS,kBAAkB,CAAC,GAAY;IACtC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,GAA8B,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,IACE,IAAI,CAAC,IAAI,CACP,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,KAAK,WAAW;QACnB,GAAG,KAAK,SAAS;QACjB,GAAG,KAAK,UAAU,CACrB,EACD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACvE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;AACjF,CAAC"}
1
+ {"version":3,"file":"report-state.js","sourceRoot":"","sources":["../../../../src/core/tools/report-state.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,qBAAqB;AACrB,+EAA+E;AAC/E,8EAA8E;AAU9E,MAAM,CAAC,MAAM,eAAe,GAAmB;IAC7C,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,ssBAAssB;IACxsB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,KAAK;QAC3B,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iDAAiD;aAC/D;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,yCAAyC;aACvD;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iGAAiG;aAC/G;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;IACD,KAAK,CAAC,OAAO,CAAC,GAAY;QACxB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EACH,gGAAgG;aACnG,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACnC,CAAC;CACF,CAAC;AAEF,SAAS,kBAAkB,CAAC,GAAY;IACtC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,GAA8B,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,IACE,IAAI,CAAC,IAAI,CACP,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,KAAK,WAAW;QACnB,GAAG,KAAK,SAAS;QACjB,GAAG,KAAK,UAAU,CACrB,EACD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACvE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;AACjF,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import type { ToolDefinition } from '../types.js';
2
2
  import type { LlmProvider } from '../llm/types.js';
3
- import type { ProviderCredentialSource } from '../runtime/api-keys.js';
3
+ import { type ProviderCredentialSource } from '../runtime/api-keys.js';
4
4
  export type ViewImageToolOptions = {
5
5
  model?: string;
6
6
  provider?: LlmProvider;
7
7
  apiKey?: string;
8
8
  providerCredentialSource?: ProviderCredentialSource;
9
+ credentialStorePath?: string;
9
10
  workspaceRoot?: string;
10
11
  };
11
12
  export declare const viewImageTool: ToolDefinition;
@@ -1 +1 @@
1
- {"version":3,"file":"view-image.d.ts","sourceRoot":"","sources":["../../../../src/core/tools/view-image.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAa,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAOvE,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAKF,eAAO,MAAM,aAAa,EAAE,cAAsC,CAAC;AAEnE,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,cAAc,CAgEtF"}
1
+ {"version":3,"file":"view-image.d.ts","sourceRoot":"","sources":["../../../../src/core/tools/view-image.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAa,CAAC;AAQ9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAkC,KAAK,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAOvG,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAKF,eAAO,MAAM,aAAa,EAAE,cAAsC,CAAC;AAEnE,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,cAAc,CAgEtF"}
@@ -6,8 +6,12 @@ import { readFile } from 'node:fs/promises';
6
6
  import { extname, resolve } from 'node:path';
7
7
  import Anthropic from '@anthropic-ai/sdk';
8
8
  import OpenAI from 'openai';
9
+ import { OPENAI_CODEX_RESPONSES_ENDPOINT } from '../auth/openai-oauth.js';
9
10
  import { inferProviderFromModel } from '../llm/factory.js';
11
+ import { createOpenAiOAuthFetch } from '../llm/openai.js';
12
+ import { resolveOpenAiOAuthImageCandidateModels, validateModelCredentialCompatibility, } from '../llm/model-policy.js';
10
13
  import { DEFAULT_ANTHROPIC_MODEL, DEFAULT_OPENAI_MODEL } from '../config.js';
14
+ import { resolveOAuthCredentialForModel } from '../runtime/api-keys.js';
11
15
  const DEFAULT_IMAGE_PROMPT = 'Describe the image for a coding assistant. Focus on UI text, error messages, filenames, commands, code, diagrams, and any details relevant to software work.';
12
16
  export const viewImageTool = createViewImageTool();
13
17
  export function createViewImageTool(options = {}) {
@@ -65,51 +69,140 @@ export function createViewImageTool(options = {}) {
65
69
  catch (error) {
66
70
  return {
67
71
  ok: false,
68
- error: `Image view failed: ${error instanceof Error ? error.message : String(error)}`,
72
+ error: formatImageViewFailure(error),
69
73
  };
70
74
  }
71
75
  },
72
76
  };
73
77
  }
74
78
  async function executeOpenAiImageView(args) {
75
- if (args.options.providerCredentialSource?.type === 'oauth') {
79
+ const model = args.options.model ?? DEFAULT_OPENAI_MODEL;
80
+ const oauthCredential = args.options.providerCredentialSource?.type === 'oauth' ?
81
+ resolveOAuthCredentialForModel(model, { storePath: args.options.credentialStorePath })
82
+ : undefined;
83
+ if (args.options.providerCredentialSource?.type === 'oauth' && !oauthCredential) {
76
84
  return {
77
85
  ok: false,
78
- error: 'view_image currently requires OpenAI Platform API-key mode. The active OpenAI credential is account sign-in; set OPENAI_API_KEY or pass an explicit API key to inspect images.',
86
+ error: 'view_image could not load the stored OpenAI account sign-in credential for this workspace. Sign in again with `heddle auth login openai`, or set OPENAI_API_KEY to use Platform API-key mode.',
87
+ };
88
+ }
89
+ const compatibility = validateModelCredentialCompatibility({
90
+ model,
91
+ provider: 'openai',
92
+ credentialMode: oauthCredential ? 'oauth' : undefined,
93
+ usageLabel: 'image inspection',
94
+ });
95
+ if (!compatibility.ok) {
96
+ return {
97
+ ok: false,
98
+ error: compatibility.error,
79
99
  };
80
100
  }
81
101
  const apiKey = firstDefinedNonEmpty(args.options.apiKey, process.env.OPENAI_API_KEY, process.env.PERSONAL_OPENAI_API_KEY);
82
- if (!apiKey) {
102
+ if (!oauthCredential && !apiKey) {
83
103
  return {
84
104
  ok: false,
85
105
  error: 'view_image requires OPENAI_API_KEY (or PERSONAL_OPENAI_API_KEY) when the active model provider is OpenAI.',
86
106
  };
87
107
  }
88
- const client = new OpenAI({ apiKey });
89
- const model = args.options.model ?? DEFAULT_OPENAI_MODEL;
108
+ const oauthFetch = oauthCredential ? createOpenAiOAuthFetch(oauthCredential, { storePath: args.options.credentialStorePath })
109
+ : undefined;
110
+ const client = new OpenAI({
111
+ apiKey: oauthCredential ? 'heddle-oauth-placeholder' : apiKey,
112
+ fetch: oauthFetch,
113
+ });
90
114
  const imageBase64 = args.data.toString('base64');
91
- const response = await client.responses.create({
92
- model,
115
+ const candidateModels = oauthCredential ? resolveOpenAiOAuthImageCandidateModels(model) : [model];
116
+ let lastError;
117
+ for (const candidateModel of candidateModels) {
118
+ try {
119
+ const response = oauthCredential ?
120
+ await executeOpenAiOAuthImageStream({
121
+ oauthFetch,
122
+ accountId: oauthCredential.accountId,
123
+ model: candidateModel,
124
+ prompt: args.prompt,
125
+ imageUrl: `data:${args.mediaType};base64,${imageBase64}`,
126
+ })
127
+ : await client.responses.create({
128
+ model: candidateModel,
129
+ input: [{
130
+ role: 'user',
131
+ content: [
132
+ { type: 'input_text', text: args.prompt },
133
+ {
134
+ type: 'input_image',
135
+ detail: 'auto',
136
+ image_url: `data:${args.mediaType};base64,${imageBase64}`,
137
+ },
138
+ ],
139
+ }],
140
+ });
141
+ return {
142
+ ok: true,
143
+ output: {
144
+ provider: 'openai',
145
+ model: response.model,
146
+ path: args.filePath,
147
+ summary: response.output_text?.trim() || 'No image description returned.',
148
+ },
149
+ };
150
+ }
151
+ catch (error) {
152
+ lastError = error;
153
+ if (!oauthCredential || !shouldRetryOpenAiOAuthImageModel(error)) {
154
+ throw enrichOpenAiImageError(error, candidateModel, oauthCredential ? 'oauth' : 'api-key', {
155
+ attemptedModels: candidateModels,
156
+ currentModel: candidateModel,
157
+ });
158
+ }
159
+ }
160
+ }
161
+ throw enrichOpenAiImageError(lastError, candidateModels[candidateModels.length - 1] ?? model, 'oauth', {
162
+ attemptedModels: candidateModels,
163
+ currentModel: candidateModels[candidateModels.length - 1] ?? model,
164
+ });
165
+ }
166
+ async function executeOpenAiOAuthImageStream(args) {
167
+ if (!args.oauthFetch) {
168
+ throw new Error('Missing OAuth fetch implementation for OpenAI image inspection.');
169
+ }
170
+ const headers = { 'content-type': 'application/json' };
171
+ const body = JSON.stringify({
172
+ model: args.model,
173
+ store: false,
174
+ stream: true,
175
+ reasoning: { summary: 'auto' },
176
+ instructions: 'You are a helpful vision assistant. Describe the provided screenshot briefly and focus on visible UI text, structure, and notable details.',
93
177
  input: [{
178
+ type: 'message',
94
179
  role: 'user',
95
180
  content: [
96
181
  { type: 'input_text', text: args.prompt },
97
182
  {
98
183
  type: 'input_image',
99
184
  detail: 'auto',
100
- image_url: `data:${args.mediaType};base64,${imageBase64}`,
185
+ image_url: args.imageUrl,
101
186
  },
102
187
  ],
103
188
  }],
104
189
  });
190
+ const response = await args.oauthFetch(OPENAI_CODEX_RESPONSES_ENDPOINT, {
191
+ method: 'POST',
192
+ headers,
193
+ body,
194
+ });
195
+ if (!response.ok) {
196
+ const failureBody = await response.text();
197
+ const failure = new Error(failureBody || `${response.status} status code (no body)`);
198
+ failure.status = response.status;
199
+ throw failure;
200
+ }
201
+ const text = await response.text();
202
+ const outputText = extractOutputTextFromSse(text);
105
203
  return {
106
- ok: true,
107
- output: {
108
- provider: 'openai',
109
- model: response.model,
110
- path: args.filePath,
111
- summary: response.output_text?.trim() || 'No image description returned.',
112
- },
204
+ model: args.model,
205
+ output_text: outputText || undefined,
113
206
  };
114
207
  }
115
208
  async function executeAnthropicImageView(args) {
@@ -201,6 +294,95 @@ function toAnthropicMediaType(mediaType) {
201
294
  }
202
295
  return undefined;
203
296
  }
297
+ function uniqueModels(models) {
298
+ return [...new Set(models.map((model) => model.trim()).filter(Boolean))];
299
+ }
300
+ function shouldRetryOpenAiOAuthImageModel(error) {
301
+ const status = readOpenAiErrorStatus(error);
302
+ return status === 400 || status === 404;
303
+ }
304
+ function enrichOpenAiImageError(error, model, authMode, options = {}) {
305
+ const status = readOpenAiErrorStatus(error);
306
+ const details = readOpenAiErrorDetails(error);
307
+ const modeDetail = authMode === 'oauth' ? 'OpenAI account sign-in mode' : 'OpenAI API-key mode';
308
+ const statusDetail = status ? `status ${status}` : 'unknown status';
309
+ const attemptedModels = options.attemptedModels?.length ? uniqueModels(options.attemptedModels) : [model];
310
+ const attemptSuffix = attemptedModels.length > 1 ? ` Attempted models: ${attemptedModels.join(', ')}.` : '';
311
+ const currentModelSuffix = options.currentModel && options.currentModel !== model ? ` Last attempted model: ${options.currentModel}.` : '';
312
+ const detailSuffix = details ? ` ${details}` : '';
313
+ return new Error(`OpenAI image inspection failed for model ${model} in ${modeDetail}: ${statusDetail}.${detailSuffix}${attemptSuffix}${currentModelSuffix}`.trim());
314
+ }
315
+ function readOpenAiErrorStatus(error) {
316
+ if (!error || typeof error !== 'object') {
317
+ return undefined;
318
+ }
319
+ const candidate = error;
320
+ return typeof candidate.status === 'number' ? candidate.status
321
+ : typeof candidate.response?.status === 'number' ? candidate.response.status
322
+ : undefined;
323
+ }
324
+ function formatImageViewFailure(error) {
325
+ const message = error instanceof Error ? error.message : String(error);
326
+ return `Image view failed: ${message}`;
327
+ }
328
+ function extractOutputTextFromSse(text) {
329
+ const chunks = text.split('\n\n');
330
+ let output = '';
331
+ for (const chunk of chunks) {
332
+ const lines = chunk.split('\n');
333
+ const dataLine = lines.find((line) => line.startsWith('data: '));
334
+ if (!dataLine) {
335
+ continue;
336
+ }
337
+ try {
338
+ const payload = JSON.parse(dataLine.slice(6));
339
+ if (payload.type === 'response.output_text.delta' && payload.delta) {
340
+ output += payload.delta;
341
+ }
342
+ if (payload.type === 'response.output_text.done' && payload.text) {
343
+ output = payload.text;
344
+ }
345
+ }
346
+ catch {
347
+ continue;
348
+ }
349
+ }
350
+ return output.trim();
351
+ }
352
+ function readOpenAiErrorDetails(error) {
353
+ if (!error || typeof error !== 'object') {
354
+ return error instanceof Error ? error.message : undefined;
355
+ }
356
+ const candidate = error;
357
+ const directMessage = typeof candidate.message === 'string' ? candidate.message.trim() : '';
358
+ if (directMessage && directMessage !== '400 status code (no body)' && directMessage !== '404 status code (no body)') {
359
+ return directMessage;
360
+ }
361
+ const nested = candidate.error;
362
+ if (nested && typeof nested === 'object') {
363
+ const parts = [nested.message, nested.type, nested.code, nested.param]
364
+ .filter((value) => typeof value === 'string' && value.trim().length > 0);
365
+ if (parts.length > 0) {
366
+ return parts.join(' | ');
367
+ }
368
+ }
369
+ const responsePayload = candidate.response?.data ?? candidate.response?.body;
370
+ if (typeof responsePayload === 'string' && responsePayload.trim()) {
371
+ return responsePayload.trim();
372
+ }
373
+ if (responsePayload && typeof responsePayload === 'object') {
374
+ try {
375
+ return JSON.stringify(responsePayload);
376
+ }
377
+ catch {
378
+ return undefined;
379
+ }
380
+ }
381
+ if (directMessage) {
382
+ return directMessage;
383
+ }
384
+ return error instanceof Error ? error.message : undefined;
385
+ }
204
386
  function firstDefinedNonEmpty(...values) {
205
387
  return values.find((value) => typeof value === 'string' && value.trim().length > 0);
206
388
  }
@@ -1 +1 @@
1
- {"version":3,"file":"view-image.js","sourceRoot":"","sources":["../../../../src/core/tools/view-image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-image.js","sourceRoot":"","sources":["../../../../src/core/tools/view-image.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,10 @@ export { executeTool } from './core/tools/execute-tool.js';
50
50
  export { listFilesTool } from './core/tools/list-files.js';
51
51
  export { readFileTool } from './core/tools/read-file.js';
52
52
  export { editFileTool } from './core/tools/edit-file.js';
53
+ export { deleteFileTool, createDeleteFileTool } from './core/tools/delete-file.js';
54
+ export type { DeleteFileToolOptions } from './core/tools/delete-file.js';
55
+ export { moveFileTool, createMoveFileTool } from './core/tools/move-file.js';
56
+ export type { MoveFileToolOptions } from './core/tools/move-file.js';
53
57
  export { searchFilesTool, createSearchFilesTool, DEFAULT_SEARCH_EXCLUDED_DIRS } from './core/tools/search-files.js';
54
58
  export type { SearchFilesOptions } from './core/tools/search-files.js';
55
59
  export { webSearchTool, createWebSearchTool } from './core/tools/web-search.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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"}