@roackb2/heddle 0.0.29 → 0.0.30

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 (91) hide show
  1. package/README.md +39 -22
  2. package/dist/src/cli/main.js +12 -1
  3. package/dist/src/cli/main.js.map +1 -1
  4. package/dist/src/cli/remote/control-plane-client.d.ts +33 -0
  5. package/dist/src/cli/remote/control-plane-client.d.ts.map +1 -1
  6. package/dist/src/core/agent/run-agent.d.ts +1 -0
  7. package/dist/src/core/agent/run-agent.d.ts.map +1 -1
  8. package/dist/src/core/agent/run-agent.js +4 -0
  9. package/dist/src/core/agent/run-agent.js.map +1 -1
  10. package/dist/src/core/agent/tool-dispatch.d.ts +2 -0
  11. package/dist/src/core/agent/tool-dispatch.d.ts.map +1 -1
  12. package/dist/src/core/agent/tool-dispatch.js +8 -7
  13. package/dist/src/core/agent/tool-dispatch.js.map +1 -1
  14. package/dist/src/core/review/diff-domain.d.ts +24 -0
  15. package/dist/src/core/review/diff-domain.d.ts.map +1 -0
  16. package/dist/src/core/review/diff-domain.js +134 -0
  17. package/dist/src/core/review/diff-domain.js.map +1 -0
  18. package/dist/src/core/runtime/agent-loop.d.ts.map +1 -1
  19. package/dist/src/core/runtime/agent-loop.js +1 -0
  20. package/dist/src/core/runtime/agent-loop.js.map +1 -1
  21. package/dist/src/core/runtime/daemon-registry.d.ts +6 -1
  22. package/dist/src/core/runtime/daemon-registry.d.ts.map +1 -1
  23. package/dist/src/core/runtime/daemon-registry.js +32 -5
  24. package/dist/src/core/runtime/daemon-registry.js.map +1 -1
  25. package/dist/src/core/runtime/default-tools.d.ts.map +1 -1
  26. package/dist/src/core/runtime/default-tools.js +11 -9
  27. package/dist/src/core/runtime/default-tools.js.map +1 -1
  28. package/dist/src/core/runtime/runtime-hosts.js +1 -1
  29. package/dist/src/core/runtime/runtime-hosts.js.map +1 -1
  30. package/dist/src/core/runtime/workspaces.d.ts +7 -0
  31. package/dist/src/core/runtime/workspaces.d.ts.map +1 -1
  32. package/dist/src/core/runtime/workspaces.js +31 -2
  33. package/dist/src/core/runtime/workspaces.js.map +1 -1
  34. package/dist/src/core/tools/edit-file.d.ts +4 -0
  35. package/dist/src/core/tools/edit-file.d.ts.map +1 -1
  36. package/dist/src/core/tools/edit-file.js +48 -43
  37. package/dist/src/core/tools/edit-file.js.map +1 -1
  38. package/dist/src/core/tools/list-files.d.ts +4 -0
  39. package/dist/src/core/tools/list-files.d.ts.map +1 -1
  40. package/dist/src/core/tools/list-files.js +34 -29
  41. package/dist/src/core/tools/list-files.js.map +1 -1
  42. package/dist/src/core/tools/read-file.d.ts +4 -0
  43. package/dist/src/core/tools/read-file.d.ts.map +1 -1
  44. package/dist/src/core/tools/read-file.js +50 -45
  45. package/dist/src/core/tools/read-file.js.map +1 -1
  46. package/dist/src/core/tools/run-shell.d.ts +2 -0
  47. package/dist/src/core/tools/run-shell.d.ts.map +1 -1
  48. package/dist/src/core/tools/run-shell.js +3 -0
  49. package/dist/src/core/tools/run-shell.js.map +1 -1
  50. package/dist/src/core/tools/search-files.d.ts +1 -0
  51. package/dist/src/core/tools/search-files.d.ts.map +1 -1
  52. package/dist/src/core/tools/search-files.js +4 -2
  53. package/dist/src/core/tools/search-files.js.map +1 -1
  54. package/dist/src/core/tools/view-image.d.ts +1 -0
  55. package/dist/src/core/tools/view-image.d.ts.map +1 -1
  56. package/dist/src/core/tools/view-image.js +2 -1
  57. package/dist/src/core/tools/view-image.js.map +1 -1
  58. package/dist/src/server/app.d.ts.map +1 -1
  59. package/dist/src/server/app.js +1 -1
  60. package/dist/src/server/app.js.map +1 -1
  61. package/dist/src/server/features/control-plane/router.d.ts +35 -1
  62. package/dist/src/server/features/control-plane/router.d.ts.map +1 -1
  63. package/dist/src/server/features/control-plane/router.js +51 -2
  64. package/dist/src/server/features/control-plane/router.js.map +1 -1
  65. package/dist/src/server/features/control-plane/services/chat-sessions.d.ts.map +1 -1
  66. package/dist/src/server/features/control-plane/services/chat-sessions.js +68 -0
  67. package/dist/src/server/features/control-plane/services/chat-sessions.js.map +1 -1
  68. package/dist/src/server/features/control-plane/services/control-plane-state.d.ts.map +1 -1
  69. package/dist/src/server/features/control-plane/services/control-plane-state.js +22 -0
  70. package/dist/src/server/features/control-plane/services/control-plane-state.js.map +1 -1
  71. package/dist/src/server/features/control-plane/services/workspace-diff.d.ts +4 -0
  72. package/dist/src/server/features/control-plane/services/workspace-diff.d.ts.map +1 -0
  73. package/dist/src/server/features/control-plane/services/workspace-diff.js +258 -0
  74. package/dist/src/server/features/control-plane/services/workspace-diff.js.map +1 -0
  75. package/dist/src/server/features/control-plane/services/workspace-files.d.ts +18 -0
  76. package/dist/src/server/features/control-plane/services/workspace-files.d.ts.map +1 -1
  77. package/dist/src/server/features/control-plane/services/workspace-files.js +68 -2
  78. package/dist/src/server/features/control-plane/services/workspace-files.js.map +1 -1
  79. package/dist/src/server/features/control-plane/types.d.ts +36 -0
  80. package/dist/src/server/features/control-plane/types.d.ts.map +1 -1
  81. package/dist/src/server/index.d.ts.map +1 -1
  82. package/dist/src/server/index.js +1 -0
  83. package/dist/src/server/index.js.map +1 -1
  84. package/dist/src/server/router.d.ts +33 -0
  85. package/dist/src/server/router.d.ts.map +1 -1
  86. package/dist/src/web/assets/index-BKSxomk7.js +55 -0
  87. package/dist/src/web/assets/index-Bl3oDytR.css +2 -0
  88. package/dist/src/web/index.html +2 -2
  89. package/package.json +6 -1
  90. package/dist/src/web/assets/index-BCCIDJRN.js +0 -52
  91. package/dist/src/web/assets/index-DarVaee6.css +0 -2
@@ -3,51 +3,56 @@
3
3
  // ---------------------------------------------------------------------------
4
4
  import { resolve } from 'node:path';
5
5
  import { executeScopedEdit, isScopedEditInput, previewScopedEdit, } from './file-edit-core.js';
6
- export const editFileTool = {
7
- name: 'edit_file',
8
- description: 'Edit a file directly 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. Relative paths are resolved from the current working directory and may also point to nearby parent or sibling folders. Writes may require approval depending on runtime policy, and the tool returns a structured edit summary.',
9
- requiresApproval: true,
10
- parameters: {
11
- type: 'object',
12
- additionalProperties: false,
13
- properties: {
14
- path: {
15
- type: 'string',
16
- description: 'Workspace-relative path to the file to edit',
17
- },
18
- oldText: {
19
- type: 'string',
20
- description: 'Existing text to replace exactly',
21
- },
22
- newText: {
23
- type: 'string',
24
- description: 'Replacement text for oldText',
25
- },
26
- replaceAll: {
27
- type: 'boolean',
28
- description: 'Replace every matching occurrence instead of requiring a single exact match',
29
- },
30
- content: {
31
- type: 'string',
32
- description: 'Full file content to write',
33
- },
34
- createIfMissing: {
35
- type: 'boolean',
36
- description: 'Allow creating the file if it does not already exist when using content',
6
+ export function createEditFileTool(options = {}) {
7
+ const configuredWorkspaceRoot = options.workspaceRoot ? resolve(options.workspaceRoot) : undefined;
8
+ return {
9
+ name: 'edit_file',
10
+ description: 'Edit a file directly 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. Relative paths are resolved from the active workspace root and may also point to nearby parent or sibling folders. Writes may require approval depending on runtime policy, and the tool returns a structured edit summary.',
11
+ requiresApproval: true,
12
+ parameters: {
13
+ type: 'object',
14
+ additionalProperties: false,
15
+ properties: {
16
+ path: {
17
+ type: 'string',
18
+ description: 'Workspace-relative path to the file to edit',
19
+ },
20
+ oldText: {
21
+ type: 'string',
22
+ description: 'Existing text to replace exactly',
23
+ },
24
+ newText: {
25
+ type: 'string',
26
+ description: 'Replacement text for oldText',
27
+ },
28
+ replaceAll: {
29
+ type: 'boolean',
30
+ description: 'Replace every matching occurrence instead of requiring a single exact match',
31
+ },
32
+ content: {
33
+ type: 'string',
34
+ description: 'Full file content to write',
35
+ },
36
+ createIfMissing: {
37
+ type: 'boolean',
38
+ description: 'Allow creating the file if it does not already exist when using content',
39
+ },
37
40
  },
41
+ required: ['path'],
42
+ },
43
+ async execute(raw) {
44
+ const workspaceRoot = configuredWorkspaceRoot ?? process.cwd();
45
+ return executeScopedEdit(raw, {
46
+ toolName: 'edit_file',
47
+ rootPath: workspaceRoot,
48
+ rootLabel: 'active workspace root',
49
+ subjectLabel: 'file',
50
+ creationHint: 'Set createIfMissing to true if you want edit_file to create it.',
51
+ });
38
52
  },
39
- required: ['path'],
40
- },
41
- async execute(raw) {
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
- });
49
- },
50
- };
53
+ };
54
+ }
55
+ export const editFileTool = createEditFileTool();
51
56
  export async function previewEditFileInput(raw, workspaceRoot = process.cwd()) {
52
57
  if (!isScopedEditInput(raw)) {
53
58
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"edit-file.js","sourceRoot":"","sources":["../../../../src/core/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,qkBAAqkB;IACvkB,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"}
1
+ {"version":3,"file":"edit-file.js","sourceRoot":"","sources":["../../../../src/core/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;AAS7B,MAAM,UAAU,kBAAkB,CAAC,UAA+B,EAAE;IAClE,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,WAAW;QACjB,WAAW,EACT,ikBAAikB;QACnkB,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,6CAA6C;iBAC3D;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kCAAkC;iBAChD;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;iBAC5C;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,6EAA6E;iBAC3F;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4BAA4B;iBAC1C;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,yEAAyE;iBACvF;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;QACD,KAAK,CAAC,OAAO,CAAC,GAAY;YACxB,MAAM,aAAa,GAAG,uBAAuB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAC/D,OAAO,iBAAiB,CAAC,GAAG,EAAE;gBAC5B,QAAQ,EAAE,WAAW;gBACrB,QAAQ,EAAE,aAAa;gBACvB,SAAS,EAAE,uBAAuB;gBAClC,YAAY,EAAE,MAAM;gBACpB,YAAY,EAAE,iEAAiE;aAChF,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAmB,kBAAkB,EAAE,CAAC;AAEjE,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"}
@@ -1,3 +1,7 @@
1
1
  import type { ToolDefinition } from '../types.js';
2
+ export type ListFilesToolOptions = {
3
+ workspaceRoot?: string;
4
+ };
5
+ export declare function createListFilesTool(options?: ListFilesToolOptions): ToolDefinition;
2
6
  export declare const listFilesTool: ToolDefinition;
3
7
  //# sourceMappingURL=list-files.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-files.d.ts","sourceRoot":"","sources":["../../../../src/core/tools/list-files.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAa,CAAC;AAM9D,eAAO,MAAM,aAAa,EAAE,cAiC3B,CAAC"}
1
+ {"version":3,"file":"list-files.d.ts","sourceRoot":"","sources":["../../../../src/core/tools/list-files.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAa,CAAC;AAM9D,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,cAAc,CAsCtF;AAED,eAAO,MAAM,aAAa,EAAE,cAAsC,CAAC"}
@@ -3,38 +3,43 @@
3
3
  // ---------------------------------------------------------------------------
4
4
  import { readdir } from 'node:fs/promises';
5
5
  import { resolve } from 'node:path';
6
- export const listFilesTool = {
7
- name: 'list_files',
8
- description: 'List files and directories inside a directory path. Use this to inspect folders, not to read file contents. Prefer this when you need an initial view of the workspace or want to explore an obvious nearby folder before using broader search. Relative paths are resolved from the current working directory and may also point to nearby parent or sibling folders, such as "..". Defaults to the current working directory. Returns a flat newline-separated list of entry names; directories end with /. Example inputs: { "path": "." }, { "path": ".." }',
9
- parameters: {
10
- type: 'object',
11
- additionalProperties: false,
12
- properties: {
13
- path: {
14
- type: 'string',
15
- description: 'Directory path to list. Defaults to "."',
6
+ export function createListFilesTool(options = {}) {
7
+ const configuredWorkspaceRoot = options.workspaceRoot ? resolve(options.workspaceRoot) : undefined;
8
+ return {
9
+ name: 'list_files',
10
+ description: 'List files and directories inside a directory path. Use this to inspect folders, not to read file contents. Prefer this when you need an initial view of the workspace or want to explore an obvious nearby folder before using broader search. Relative paths are resolved from the active workspace root and may also point to nearby parent or sibling folders, such as "..". Defaults to the active workspace root. Returns a flat newline-separated list of entry names; directories end with /. Example inputs: { "path": "." }, { "path": ".." }',
11
+ parameters: {
12
+ type: 'object',
13
+ additionalProperties: false,
14
+ properties: {
15
+ path: {
16
+ type: 'string',
17
+ description: 'Directory path to list. Defaults to "."',
18
+ },
16
19
  },
17
20
  },
18
- },
19
- async execute(raw) {
20
- if (!isListFilesInput(raw)) {
21
- return { ok: false, error: 'Invalid input for list_files. Allowed fields: path. Example: { "path": "." }' };
22
- }
23
- const input = raw;
24
- const dir = resolve(input.path ?? '.');
25
- try {
26
- const entries = await readdir(dir, { withFileTypes: true });
27
- const names = entries.map((e) => (e.isDirectory() ? `${e.name}/` : e.name));
28
- return { ok: true, output: names.join('\n') };
29
- }
30
- catch (err) {
31
- if (err instanceof Error && 'code' in err && err.code === 'ENOTDIR') {
32
- return { ok: false, error: `Failed to list ${dir}: path is a file, not a directory. Use read_file for file contents.` };
21
+ async execute(raw) {
22
+ if (!isListFilesInput(raw)) {
23
+ return { ok: false, error: 'Invalid input for list_files. Allowed fields: path. Example: { "path": "." }' };
33
24
  }
34
- return { ok: false, error: `Failed to list ${dir}: ${err instanceof Error ? err.message : String(err)}` };
35
- }
36
- },
37
- };
25
+ const input = raw;
26
+ const workspaceRoot = configuredWorkspaceRoot ?? process.cwd();
27
+ const dir = resolve(workspaceRoot, input.path ?? '.');
28
+ try {
29
+ const entries = await readdir(dir, { withFileTypes: true });
30
+ const names = entries.map((e) => (e.isDirectory() ? `${e.name}/` : e.name));
31
+ return { ok: true, output: names.join('\n') };
32
+ }
33
+ catch (err) {
34
+ if (err instanceof Error && 'code' in err && err.code === 'ENOTDIR') {
35
+ return { ok: false, error: `Failed to list ${dir}: path is a file, not a directory. Use read_file for file contents.` };
36
+ }
37
+ return { ok: false, error: `Failed to list ${dir}: ${err instanceof Error ? err.message : String(err)}` };
38
+ }
39
+ },
40
+ };
41
+ }
42
+ export const listFilesTool = createListFilesTool();
38
43
  function isListFilesInput(raw) {
39
44
  if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
40
45
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"list-files.js","sourceRoot":"","sources":["../../../../src/core/tools/list-files.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,IAAI,EAAE,YAAY;IAClB,WAAW,EACT,iiBAAiiB;IACniB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,KAAK;QAC3B,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yCAAyC;aACvD;SACF;KACF;IACD,KAAK,CAAC,OAAO,CAAC,GAAY;QACxB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,8EAA8E,EAAE,CAAC;QAC9G,CAAC;QAED,MAAM,KAAK,GAAmB,GAAG,CAAC;QAClC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;QAEvC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,KAAK,IAAI,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACpE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,GAAG,qEAAqE,EAAE,CAAC;YAC1H,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,GAAG,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QAC5G,CAAC;IACH,CAAC;CACF,CAAC;AAEF,SAAS,gBAAgB,CAAC,GAAY;IACpC,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,CAAC,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"list-files.js","sourceRoot":"","sources":["../../../../src/core/tools/list-files.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
1
  import type { ToolDefinition } from '../types.js';
2
+ export type ReadFileToolOptions = {
3
+ workspaceRoot?: string;
4
+ };
5
+ export declare function createReadFileTool(options?: ReadFileToolOptions): ToolDefinition;
2
6
  export declare const readFileTool: ToolDefinition;
3
7
  //# sourceMappingURL=read-file.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"read-file.d.ts","sourceRoot":"","sources":["../../../../src/core/tools/read-file.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAa,CAAC;AAQ9D,eAAO,MAAM,YAAY,EAAE,cAuD1B,CAAC"}
1
+ {"version":3,"file":"read-file.d.ts","sourceRoot":"","sources":["../../../../src/core/tools/read-file.ts"],"names":[],"mappings":"AAMA,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,CA4DpF;AAED,eAAO,MAAM,YAAY,EAAE,cAAqC,CAAC"}
@@ -3,57 +3,62 @@
3
3
  // ---------------------------------------------------------------------------
4
4
  import { readFile } from 'node:fs/promises';
5
5
  import { resolve } from 'node:path';
6
- export const readFileTool = {
7
- name: 'read_file',
8
- description: 'Read the contents of a file. Use this when you already know the file path and want its contents, not when you want to inspect a directory. Relative paths are resolved from the current working directory and may also point to nearby parent or sibling folders. Optionally limit returned lines with maxLines and start from a 0-based line offset with offset, which is useful for paging through long files. Returns the file text directly, or just the selected window when maxLines and/or offset are provided. Example inputs: { "path": "path/to/file.txt" }, { "path": "../shared-notes/summary.md" }, { "path": "src/run-agent.ts", "offset": 200, "maxLines": 120 }',
9
- parameters: {
10
- type: 'object',
11
- additionalProperties: false,
12
- properties: {
13
- path: {
14
- type: 'string',
15
- description: 'Path to the file to read',
16
- },
17
- maxLines: {
18
- type: 'number',
19
- description: 'Maximum number of lines to return',
20
- },
21
- offset: {
22
- type: 'number',
23
- description: '0-based line offset to start reading from',
6
+ export function createReadFileTool(options = {}) {
7
+ const configuredWorkspaceRoot = options.workspaceRoot ? resolve(options.workspaceRoot) : undefined;
8
+ return {
9
+ name: 'read_file',
10
+ description: 'Read the contents of a file. Use this when you already know the file path and want its contents, not when you want to inspect a directory. Relative paths are resolved from the active workspace root and may also point to nearby parent or sibling folders. Optionally limit returned lines with maxLines and start from a 0-based line offset with offset, which is useful for paging through long files. Returns the file text directly, or just the selected window when maxLines and/or offset are provided. Example inputs: { "path": "path/to/file.txt" }, { "path": "../shared-notes/summary.md" }, { "path": "src/run-agent.ts", "offset": 200, "maxLines": 120 }',
11
+ parameters: {
12
+ type: 'object',
13
+ additionalProperties: false,
14
+ properties: {
15
+ path: {
16
+ type: 'string',
17
+ description: 'Path to the file to read',
18
+ },
19
+ maxLines: {
20
+ type: 'number',
21
+ description: 'Maximum number of lines to return',
22
+ },
23
+ offset: {
24
+ type: 'number',
25
+ description: '0-based line offset to start reading from',
26
+ },
24
27
  },
28
+ required: ['path'],
25
29
  },
26
- required: ['path'],
27
- },
28
- async execute(raw) {
29
- if (!isReadFileInput(raw)) {
30
- return { ok: false, error: 'Invalid input for read_file. Required field: path. Optional fields: maxLines, offset.' };
31
- }
32
- const input = raw;
33
- const filePath = resolve(input.path);
34
- try {
35
- const content = await readFile(filePath, 'utf-8');
36
- const lines = content.split('\n');
37
- const start = input.offset && input.offset > 0 ? Math.floor(input.offset) : 0;
38
- if ((input.maxLines && input.maxLines > 0) || start > 0) {
39
- const end = input.maxLines && input.maxLines > 0 ? start + Math.floor(input.maxLines) : undefined;
40
- const windowedLines = lines.slice(start, end);
41
- const joined = windowedLines.join('\n');
42
- if (content.endsWith('\n') && windowedLines.length > 0 && end !== undefined && end < lines.length) {
30
+ async execute(raw) {
31
+ if (!isReadFileInput(raw)) {
32
+ return { ok: false, error: 'Invalid input for read_file. Required field: path. Optional fields: maxLines, offset.' };
33
+ }
34
+ const input = raw;
35
+ const workspaceRoot = configuredWorkspaceRoot ?? process.cwd();
36
+ const filePath = resolve(workspaceRoot, input.path);
37
+ try {
38
+ const content = await readFile(filePath, 'utf-8');
39
+ const lines = content.split('\n');
40
+ const start = input.offset && input.offset > 0 ? Math.floor(input.offset) : 0;
41
+ if ((input.maxLines && input.maxLines > 0) || start > 0) {
42
+ const end = input.maxLines && input.maxLines > 0 ? start + Math.floor(input.maxLines) : undefined;
43
+ const windowedLines = lines.slice(start, end);
44
+ const joined = windowedLines.join('\n');
45
+ if (content.endsWith('\n') && windowedLines.length > 0 && end !== undefined && end < lines.length) {
46
+ return { ok: true, output: joined };
47
+ }
43
48
  return { ok: true, output: joined };
44
49
  }
45
- return { ok: true, output: joined };
50
+ return { ok: true, output: content };
46
51
  }
47
- return { ok: true, output: content };
48
- }
49
- catch (err) {
50
- if (err instanceof Error && 'code' in err && err.code === 'EISDIR') {
51
- return { ok: false, error: `Failed to read ${filePath}: path is a directory, not a file. Use list_files to inspect directories.` };
52
+ catch (err) {
53
+ if (err instanceof Error && 'code' in err && err.code === 'EISDIR') {
54
+ return { ok: false, error: `Failed to read ${filePath}: path is a directory, not a file. Use list_files to inspect directories.` };
55
+ }
56
+ return { ok: false, error: `Failed to read ${filePath}: ${err instanceof Error ? err.message : String(err)}` };
52
57
  }
53
- return { ok: false, error: `Failed to read ${filePath}: ${err instanceof Error ? err.message : String(err)}` };
54
- }
55
- },
56
- };
58
+ },
59
+ };
60
+ }
61
+ export const readFileTool = createReadFileTool();
57
62
  function isReadFileInput(raw) {
58
63
  if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
59
64
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../../../src/core/tools/read-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../../../src/core/tools/read-file.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ type RunShellRule = {
19
19
  };
20
20
  export type RunShellOptions = {
21
21
  rules?: RunShellRule[];
22
+ cwd?: string;
22
23
  };
23
24
  export declare const DEFAULT_INSPECT_RULES: RunShellRule[];
24
25
  export declare const DEFAULT_MUTATE_RULES: RunShellRule[];
@@ -29,6 +30,7 @@ export declare function runShellCommand(raw: unknown, options: {
29
30
  toolName: string;
30
31
  rules: RunShellRule[];
31
32
  allowUnknown: boolean;
33
+ cwd?: string;
32
34
  }, signal?: AbortSignal): Promise<ToolResult>;
33
35
  export declare function classifyShellCommandPolicy(command: string, options: {
34
36
  toolName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"run-shell.d.ts","sourceRoot":"","sources":["../../../../src/core/tools/run-shell.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM9D,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;AACjE,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;AACxD,MAAM,MAAM,kBAAkB,GAC1B,mBAAmB,GACnB,iBAAiB,GACjB,kBAAkB,GAClB,uBAAuB,GACvB,wBAAwB,GACxB,gBAAgB,GAChB,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,gBAAgB,GAChB,aAAa,GACb,gBAAgB,GAChB,mBAAmB,CAAC;AAExB,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAUF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,YAAY,EA+B/C,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAAY,EAwB9C,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,OAAO,GAAE,eAAoB,GAAG,cAAc,CAcvF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,eAAoB,GAAG,cAAc,CAetF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,eAAoB,GAAG,cAAc,CAEhF;AAgBD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;CACvB,EACD,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CA+JrB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;CACvB,GACA,sBAAsB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CA+B5C"}
1
+ {"version":3,"file":"run-shell.d.ts","sourceRoot":"","sources":["../../../../src/core/tools/run-shell.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM9D,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;AACjE,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;AACxD,MAAM,MAAM,kBAAkB,GAC1B,mBAAmB,GACnB,iBAAiB,GACjB,kBAAkB,GAClB,uBAAuB,GACvB,wBAAwB,GACxB,gBAAgB,GAChB,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,gBAAgB,GAChB,aAAa,GACb,gBAAgB,GAChB,mBAAmB,CAAC;AAExB,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAUF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,YAAY,EA+B/C,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAAY,EAwB9C,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,OAAO,GAAE,eAAoB,GAAG,cAAc,CAevF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,eAAoB,GAAG,cAAc,CAgBtF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,eAAoB,GAAG,cAAc,CAEhF;AAgBD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,EACD,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAgKrB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;CACvB,GACA,sBAAsB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CA+B5C"}
@@ -70,6 +70,7 @@ export function createRunShellInspectTool(options = {}) {
70
70
  toolName: 'run_shell_inspect',
71
71
  rules,
72
72
  allowUnknown: false,
73
+ cwd: options.cwd,
73
74
  }),
74
75
  };
75
76
  }
@@ -84,6 +85,7 @@ export function createRunShellMutateTool(options = {}) {
84
85
  toolName: 'run_shell_mutate',
85
86
  rules,
86
87
  allowUnknown: true,
88
+ cwd: options.cwd,
87
89
  }),
88
90
  };
89
91
  }
@@ -147,6 +149,7 @@ export function runShellCommand(raw, options, signal) {
147
149
  let timedOut = false;
148
150
  let aborted = false;
149
151
  const child = spawn(cmd, {
152
+ cwd: options.cwd,
150
153
  shell: true,
151
154
  stdio: ['ignore', 'pipe', 'pipe'],
152
155
  });
@@ -1 +1 @@
1
- {"version":3,"file":"run-shell.js","sourceRoot":"","sources":["../../../../src/core/tools/run-shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-shell.js","sourceRoot":"","sources":["../../../../src/core/tools/run-shell.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,8CAA8C;AAC9C,kEAAkE;AAClE,8EAA8E;AAE9E,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAsD3C,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,WAAW,CAAC,IAAI,EAAE,mBAAmB,EAAE,mBAAmB,CAAC;IAC3D,WAAW,CAAC,IAAI,EAAE,iBAAiB,EAAE,0BAA0B,CAAC;IAChE,WAAW,CAAC,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;IACxD,WAAW,CAAC,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;IACzD,WAAW,CAAC,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;IACzD,WAAW,CAAC,IAAI,EAAE,iBAAiB,EAAE,sBAAsB,CAAC;IAC5D,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE,sBAAsB,CAAC;IAC/D,WAAW,CAAC,IAAI,EAAE,kBAAkB,EAAE,sBAAsB,CAAC;IAC7D,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE,sBAAsB,CAAC;IAC/D,WAAW,CAAC,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,CAAC;IAC7D,WAAW,CAAC,MAAM,EAAE,uBAAuB,EAAE,sBAAsB,CAAC;IACpE,WAAW,CAAC,MAAM,EAAE,uBAAuB,EAAE,sBAAsB,CAAC;IACpE,WAAW,CAAC,IAAI,EAAE,uBAAuB,EAAE,8BAA8B,CAAC;IAC1E,WAAW,CAAC,MAAM,EAAE,wBAAwB,EAAE,yBAAyB,CAAC;IACxE,WAAW,CAAC,KAAK,EAAE,wBAAwB,EAAE,0BAA0B,CAAC;IACxE,WAAW,CAAC,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,CAAC;IAClE,WAAW,CAAC,MAAM,EAAE,iBAAiB,EAAE,0BAA0B,CAAC;IAClE,WAAW,CAAC,MAAM,EAAE,mBAAmB,EAAE,2BAA2B,CAAC;IACrE,WAAW,CAAC,IAAI,EAAE,wBAAwB,EAAE,2BAA2B,CAAC;IACxE,WAAW,CAAC,IAAI,EAAE,wBAAwB,EAAE,uBAAuB,CAAC;IACpE,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,CAAC,KAAK,CAAC,CAAC;IACvE,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,CAAC,MAAM,CAAC,CAAC;IACrE,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CAAC,CAAC;IACzE,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,CAAC,MAAM,CAAC,CAAC;IACvE,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,CAAC,WAAW,CAAC,CAAC;IAC9E,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,+BAA+B,EAAE,CAAC,UAAU,CAAC,CAAC;IACnF,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,+BAA+B,EAAE,CAAC,MAAM,CAAC,CAAC;IAC/E,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CAAC,CAAC;IACzE,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAC,KAAK,CAAC,CAAC;IACnE,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CAAC,CAAC;CAC1E,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAmB;IAClD,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,sCAAsC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC9F,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,sCAAsC,EAAE,CAAC,SAAS,CAAC,CAAC;IAClG,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,sCAAsC,EAAE,CAAC,QAAQ,CAAC,CAAC;IACjG,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,gCAAgC,EAAE,CAAC,MAAM,CAAC,CAAC;IACxF,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,gCAAgC,EAAE,CAAC,OAAO,CAAC,CAAC;IACzF,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,gCAAgC,EAAE,CAAC,MAAM,CAAC,CAAC;IACxF,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,gCAAgC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC1F,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,gCAAgC,CAAC;IAChF,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,gCAAgC,CAAC;IAC7E,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,kCAAkC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC9F,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,8BAA8B,EAAE,CAAC,QAAQ,CAAC,CAAC;IACzF,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,8BAA8B,EAAE,CAAC,UAAU,CAAC,CAAC;IAC3F,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,8BAA8B,EAAE,CAAC,QAAQ,CAAC,CAAC;IACzF,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,8BAA8B,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACrG,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,8BAA8B,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjG,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,8BAA8B,EAAE,CAAC,SAAS,CAAC,CAAC;IAC9F,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,8BAA8B,EAAE,CAAC,OAAO,CAAC,CAAC;IAC1F,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,0BAA0B,CAAC;IAC9E,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,0BAA0B,CAAC;IAC9E,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,0BAA0B,CAAC;IAC3E,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,0BAA0B,CAAC;IAC3E,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,uBAAuB,EAAE,CAAC,KAAK,CAAC,CAAC;IAC/E,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC;CACpF,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,UAA2B,EAAE;IACrE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,qBAAqB,CAAC;IAErD,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,gyBAAgyB;QAClyB,UAAU,EAAE,eAAe,EAAE;QAC7B,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE;YACrC,QAAQ,EAAE,mBAAmB;YAC7B,KAAK;YACL,YAAY,EAAE,KAAK;YACnB,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,UAA2B,EAAE;IACpE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,oBAAoB,CAAC;IAEpD,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,gBAAgB,EAAE,IAAI;QACtB,WAAW,EACT,knBAAknB;QACpnB,UAAU,EAAE,eAAe,EAAE;QAC7B,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE;YACrC,QAAQ,EAAE,kBAAkB;YAC5B,KAAK;YACL,YAAY,EAAE,IAAI;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,UAA2B,EAAE;IAC9D,OAAO,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,eAAe;IACtB,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,KAAK;QAC3B,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8BAA8B;aAC5C;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,GAAY,EACZ,OAKC,EACD,MAAoB;IAEpB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,qBAAqB,OAAO,CAAC,QAAQ,4BAA4B;SACzE,CAAC,CAAC;IACL,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAE/B,MAAM,uBAAuB,GAAG,2BAA2B,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnF,IAAI,uBAAuB,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,uBAAuB;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,IAAI,oCAAoC,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChE,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,EAAE,EAAE,KAAK;YACT,KAAK,EACH,oMAAoM;SACvM,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,qDAAqD;SAC7D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,EAAE,EAAE,KAAK;YACT,KAAK,EACH,OAAO,CAAC,QAAQ,KAAK,mBAAmB,CAAC,CAAC;gBACxC,0BAA0B,OAAO,CAAC,QAAQ,mLAAmL;gBAC/N,CAAC,CAAC,0BAA0B,OAAO,CAAC,QAAQ,wGAAwG;SACvJ,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,EAAE;QACzC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE;YACvB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,CAAC,MAAkB,EAAE,EAAE;YACpC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,OAAO,GAAG,IAAI,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBAClB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,QAAQ,GAAG,IAAI,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBAClB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC,EAAE,MAAM,CAAC,CAAC;QAEX,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;gBAChC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;YACtC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;gBAChC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;YACtC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,yBAAyB,KAAK,CAAC,OAAO,EAAE;aAChD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,MAAM,MAAM,GAAmB;gBAC7B,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,IAAI,IAAI,CAAC;gBACnB,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;gBACrB,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;gBACrB,MAAM;aACP,CAAC;YAEF,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,uCAAuC;oBAC9C,MAAM;iBACP,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,CAAC;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,uCAAuC;oBAC9C,MAAM;iBACP,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,uCAAuC,MAAM,CAAC,QAAQ,EAAE;oBAC/D,MAAM;iBACP,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,OAAe,EACf,OAIC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAClC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,KAAK,EAAE,qDAAqD,EAAE,CAAC;IAC1E,CAAC;IAED,MAAM,uBAAuB,GAAG,2BAA2B,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1F,IAAI,uBAAuB,EAAE,CAAC;QAC5B,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;IAC5C,CAAC;IAED,IAAI,oCAAoC,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvE,OAAO;YACL,KAAK,EACH,uIAAuI;SAC1I,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,KAAK,EAAE,qDAAqD,EAAE,CAAC;IAC1E,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,KAAK,EAAE,0BAA0B,OAAO,CAAC,QAAQ,wGAAwG;SAC1J,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CACtB,IAAc,EACd,KAAqB,EACrB,YAAqB;IAErB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;QACpC,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,MAAM;YACN,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,mBAAmB;YAC/B,MAAM,EAAE,4DAA4D;SACrE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO,OAAO;SACX,IAAI,EAAE;SACN,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,eAAe,CAAC,GAAY;IACnC,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,GAA4B,CAAC;IAC3C,OAAO,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC;AAC3C,CAAC;AAED,SAAS,oCAAoC,CAAC,OAAe,EAAE,QAAgB;IAC7E,MAAM,WAAW,GAAG,QAAQ,KAAK,mBAAmB,CAAC;IACrD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAA4B,CAAC;IACjC,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAEtC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,GAAG,KAAK,CAAC;YAChB,SAAS;QACX,CAAC;QAED,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACX,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;gBACtB,KAAK,GAAG,SAAS,CAAC;YACpB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACvC,KAAK,GAAG,OAAO,CAAC;YAChB,SAAS;QACX,CAAC;QAED,IAAI,OAAO,KAAK,GAAG,IAAI,WAAW,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,WAAW,IAAI,CAAC,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAe,EAAE,QAAgB;IACpE,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,oBAAoB,GAAG;QAC3B,8BAA8B;QAC9B,+BAA+B;QAC/B,oCAAoC;QACpC,yCAAyC;QACzC,yCAAyC;QACzC,wCAAwC;QACxC,mCAAmC;QACnC,kCAAkC;KACnC,CAAC;IAEF,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrE,kJAAkJ;QACpJ,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAClB,MAAc,EACd,UAA8B,EAC9B,MAAc,EACd,UAAqB;IAErB,OAAO;QACL,MAAM;QACN,UAAU;QACV,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,KAAK;QACX,UAAU;QACV,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,MAAc,EACd,IAAkB,EAClB,UAA8B,EAC9B,MAAc,EACd,UAAqB;IAErB,OAAO;QACL,MAAM;QACN,UAAU;QACV,KAAK,EAAE,WAAW;QAClB,IAAI;QACJ,UAAU;QACV,MAAM;KACP,CAAC;AACJ,CAAC"}
@@ -2,6 +2,7 @@ import type { ToolDefinition } from '../types.js';
2
2
  export declare const DEFAULT_SEARCH_EXCLUDED_DIRS: string[];
3
3
  export type SearchFilesOptions = {
4
4
  excludedDirs?: string[];
5
+ workspaceRoot?: string;
5
6
  };
6
7
  export declare function createSearchFilesTool(options?: SearchFilesOptions): ToolDefinition;
7
8
  export declare const searchFilesTool: ToolDefinition;
@@ -1 +1 @@
1
- {"version":3,"file":"search-files.d.ts","sourceRoot":"","sources":["../../../../src/core/tools/search-files.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAa,CAAC;AAO9D,eAAO,MAAM,4BAA4B,UAAuD,CAAC;AAEjG,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,kBAAuB,GAAG,cAAc,CA+CtF;AAED,eAAO,MAAM,eAAe,EAAE,cAAwC,CAAC"}
1
+ {"version":3,"file":"search-files.d.ts","sourceRoot":"","sources":["../../../../src/core/tools/search-files.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAa,CAAC;AAO9D,eAAO,MAAM,4BAA4B,UAAuD,CAAC;AAEjG,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,kBAAuB,GAAG,cAAc,CAiDtF;AAED,eAAO,MAAM,eAAe,EAAE,cAAwC,CAAC"}
@@ -7,9 +7,10 @@ import { resolve } from 'node:path';
7
7
  export const DEFAULT_SEARCH_EXCLUDED_DIRS = ['.git', 'dist', 'node_modules', 'local', '.heddle'];
8
8
  export function createSearchFilesTool(options = {}) {
9
9
  const excludedDirNames = sanitizeExcludedDirs(options.excludedDirs);
10
+ const configuredWorkspaceRoot = options.workspaceRoot ? resolve(options.workspaceRoot) : undefined;
10
11
  return {
11
12
  name: 'search_files',
12
- description: 'Search for a text pattern in files using grep. Use this when you need to locate a specific symbol or text string, not when a likely folder or file is already obvious from the workspace structure. Prefer searching for concrete terms such as tool names, symbols, or filenames rather than copying broad question text. Relative paths are resolved from the current working directory and may also point to nearby parent or sibling folders. Returns newline-separated matches in grep-style path:line:content format, or "No matches found.". Ignores generated or state directories like .git, dist, node_modules, local, and .heddle by default, but if you explicitly target one of those directories via path then that path is searched. Example inputs: { "query": "createUser" }, { "query": "incident", "path": "../shared-notes" }',
13
+ description: 'Search for a text pattern in files using grep. Use this when you need to locate a specific symbol or text string, not when a likely folder or file is already obvious from the workspace structure. Prefer searching for concrete terms such as tool names, symbols, or filenames rather than copying broad question text. Relative paths are resolved from the active workspace root and may also point to nearby parent or sibling folders. Returns newline-separated matches in grep-style path:line:content format, or "No matches found.". Ignores generated or state directories like .git, dist, node_modules, local, and .heddle by default, but if you explicitly target one of those directories via path then that path is searched. Example inputs: { "query": "createUser" }, { "query": "incident", "path": "../shared-notes" }',
13
14
  parameters: {
14
15
  type: 'object',
15
16
  additionalProperties: false,
@@ -30,7 +31,8 @@ export function createSearchFilesTool(options = {}) {
30
31
  return { ok: false, error: 'Invalid input for search_files. Required field: query. Optional field: path.' };
31
32
  }
32
33
  const input = raw;
33
- const dir = resolve(input.path ?? '.');
34
+ const workspaceRoot = configuredWorkspaceRoot ?? process.cwd();
35
+ const dir = resolve(workspaceRoot, input.path ?? '.');
34
36
  const effectiveExcludedDirs = excludedDirNames.filter((name) => !isExplicitlyTargetingExcludedDir(dir, name));
35
37
  const excludedDirs = effectiveExcludedDirs.map((name) => `--exclude-dir=${escapeShellArg(name)}`).join(' ');
36
38
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"search-files.js","sourceRoot":"","sources":["../../../../src/core/tools/search-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-files.js","sourceRoot":"","sources":["../../../../src/core/tools/search-files.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export type ViewImageToolOptions = {
4
4
  model?: string;
5
5
  provider?: LlmProvider;
6
6
  apiKey?: string;
7
+ workspaceRoot?: string;
7
8
  };
8
9
  export declare const viewImageTool: ToolDefinition;
9
10
  export declare function createViewImageTool(options?: ViewImageToolOptions): 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;AAQnD,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAKF,eAAO,MAAM,aAAa,EAAE,cAAsC,CAAC;AAEnE,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,cAAc,CA+DtF"}
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;AAQnD,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAKF,eAAO,MAAM,aAAa,EAAE,cAAsC,CAAC;AAEnE,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,cAAc,CAgEtF"}
@@ -37,7 +37,8 @@ export function createViewImageTool(options = {}) {
37
37
  };
38
38
  }
39
39
  const input = raw;
40
- const filePath = resolve(input.path);
40
+ const workspaceRoot = options.workspaceRoot ?? process.cwd();
41
+ const filePath = resolve(workspaceRoot, input.path);
41
42
  const mediaType = detectMediaType(filePath);
42
43
  if (!mediaType) {
43
44
  return {
@@ -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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"}