codebuff 1.0.265 → 1.0.267

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 (128) hide show
  1. package/dist/cli.d.ts +2 -0
  2. package/dist/cli.js +47 -7
  3. package/dist/cli.js.map +1 -1
  4. package/dist/client.d.ts +1 -0
  5. package/dist/client.js +4 -1
  6. package/dist/client.js.map +1 -1
  7. package/dist/code-map/__mocks__/tree-sitter-typescript.d.ts +12 -0
  8. package/dist/code-map/__mocks__/tree-sitter-typescript.d.ts.map +1 -0
  9. package/dist/code-map/__mocks__/tree-sitter-typescript.js +14 -0
  10. package/dist/code-map/__mocks__/tree-sitter-typescript.js.map +1 -0
  11. package/dist/code-map/__mocks__/wasm-mock.d.ts +2 -0
  12. package/dist/code-map/__mocks__/wasm-mock.d.ts.map +1 -0
  13. package/dist/code-map/__mocks__/wasm-mock.js +3 -0
  14. package/dist/code-map/__mocks__/wasm-mock.js.map +1 -0
  15. package/dist/code-map/__tests__/parse.test.d.ts +2 -0
  16. package/dist/code-map/__tests__/parse.test.d.ts.map +1 -0
  17. package/dist/code-map/__tests__/parse.test.js +231 -0
  18. package/dist/code-map/__tests__/parse.test.js.map +1 -0
  19. package/dist/code-map/__tests__/test-langs/consumer.d.ts +2 -0
  20. package/dist/code-map/__tests__/test-langs/consumer.d.ts.map +1 -0
  21. package/dist/code-map/__tests__/test-langs/consumer.js +6 -0
  22. package/dist/code-map/__tests__/test-langs/consumer.js.map +1 -0
  23. package/dist/code-map/__tests__/test-langs/empty.d.ts +1 -0
  24. package/dist/code-map/__tests__/test-langs/empty.d.ts.map +1 -0
  25. package/dist/code-map/__tests__/test-langs/empty.js +2 -0
  26. package/dist/code-map/__tests__/test-langs/empty.js.map +1 -0
  27. package/dist/code-map/__tests__/test-langs/test.d.ts +12 -0
  28. package/dist/code-map/__tests__/test-langs/test.d.ts.map +1 -0
  29. package/dist/code-map/__tests__/test-langs/test.js +23 -0
  30. package/dist/code-map/__tests__/test-langs/test.js.map +1 -0
  31. package/dist/code-map/__tests__/test-langs/unused.d.ts +2 -0
  32. package/dist/code-map/__tests__/test-langs/unused.d.ts.map +1 -0
  33. package/dist/code-map/__tests__/test-langs/unused.js +7 -0
  34. package/dist/code-map/__tests__/test-langs/unused.js.map +1 -0
  35. package/dist/code-map/__tests__/test-langs/utils1.d.ts +2 -0
  36. package/dist/code-map/__tests__/test-langs/utils1.d.ts.map +1 -0
  37. package/dist/code-map/__tests__/test-langs/utils1.js +7 -0
  38. package/dist/code-map/__tests__/test-langs/utils1.js.map +1 -0
  39. package/dist/code-map/__tests__/test-langs/utils2.d.ts +2 -0
  40. package/dist/code-map/__tests__/test-langs/utils2.d.ts.map +1 -0
  41. package/dist/code-map/__tests__/test-langs/utils2.js +8 -0
  42. package/dist/code-map/__tests__/test-langs/utils2.js.map +1 -0
  43. package/dist/code-map/__tests__/tree-sitter-minimal.test.d.ts +2 -0
  44. package/dist/code-map/__tests__/tree-sitter-minimal.test.d.ts.map +1 -0
  45. package/dist/code-map/__tests__/tree-sitter-minimal.test.js +79 -0
  46. package/dist/code-map/__tests__/tree-sitter-minimal.test.js.map +1 -0
  47. package/dist/code-map/jest.config.d.ts +4 -0
  48. package/dist/code-map/jest.config.d.ts.map +1 -0
  49. package/dist/code-map/jest.config.js +18 -0
  50. package/dist/code-map/jest.config.js.map +1 -0
  51. package/dist/code-map/languages.d.ts +1 -2
  52. package/dist/code-map/languages.d.ts.map +1 -1
  53. package/dist/code-map/languages.js +2 -1
  54. package/dist/code-map/languages.js.map +1 -1
  55. package/dist/code-map/parse.d.ts +14 -4
  56. package/dist/code-map/parse.d.ts.map +1 -1
  57. package/dist/code-map/parse.js +91 -38
  58. package/dist/code-map/parse.js.map +1 -1
  59. package/dist/code-map/parse.test.d.ts +2 -0
  60. package/dist/code-map/parse.test.d.ts.map +1 -0
  61. package/dist/code-map/parse.test.js +218 -0
  62. package/dist/code-map/parse.test.js.map +1 -0
  63. package/dist/code-map/scripts/tree-sitter-test.cjs +27 -0
  64. package/dist/code-map/scripts/tree-sitter-test.cjs.map +1 -0
  65. package/dist/code-map/scripts/tree-sitter-test.d.cts +2 -0
  66. package/dist/code-map/scripts/tree-sitter-test.d.cts.map +1 -0
  67. package/dist/code-map/scripts/tree-sitter-test.d.ts +2 -0
  68. package/dist/code-map/scripts/tree-sitter-test.d.ts.map +1 -0
  69. package/dist/code-map/scripts/tree-sitter-test.js +54 -0
  70. package/dist/code-map/scripts/tree-sitter-test.js.map +1 -0
  71. package/dist/code-map/test-parser.d.ts +2 -0
  72. package/dist/code-map/test-parser.d.ts.map +1 -0
  73. package/dist/code-map/test-parser.js +42 -0
  74. package/dist/code-map/test-parser.js.map +1 -0
  75. package/dist/code-map/tree-sitter-queries/tree-sitter-c-tags.scm +6 -1
  76. package/dist/code-map/tree-sitter-queries/tree-sitter-c_sharp-tags.scm +11 -1
  77. package/dist/code-map/tree-sitter-queries/tree-sitter-cpp-tags.scm +13 -1
  78. package/dist/code-map/tree-sitter-queries/tree-sitter-javascript-tags.scm +1 -0
  79. package/dist/code-map/tree-sitter-queries/tree-sitter-php-tags.scm +5 -8
  80. package/dist/code-map/tree-sitter-queries/tree-sitter-python-tags.scm +5 -2
  81. package/dist/code-map/tree-sitter-queries/tree-sitter-typescript-tags.scm +7 -0
  82. package/dist/code-map/tsconfig.tsbuildinfo +1 -1
  83. package/dist/common/actions.d.ts +26 -0
  84. package/dist/common/bigquery/client.d.ts +15 -0
  85. package/dist/common/bigquery/client.js +265 -0
  86. package/dist/common/bigquery/client.js.map +1 -0
  87. package/dist/common/bigquery/schema.d.ts +55 -0
  88. package/dist/common/bigquery/schema.js +24 -0
  89. package/dist/common/bigquery/schema.js.map +1 -0
  90. package/dist/common/constants/tools.js +2 -2
  91. package/dist/common/constants/tools.js.map +1 -1
  92. package/dist/common/types/agent-state.d.ts +5 -0
  93. package/dist/common/util/file-metadata.d.ts +9 -0
  94. package/dist/common/util/file-metadata.js +24 -0
  95. package/dist/common/util/file-metadata.js.map +1 -0
  96. package/dist/common/util/file.d.ts +3 -0
  97. package/dist/common/util/file.js +3 -0
  98. package/dist/common/util/file.js.map +1 -1
  99. package/dist/common/util/saxy.js +6 -0
  100. package/dist/common/util/saxy.js.map +1 -1
  101. package/dist/common/websockets/websocket-schema.d.ts +50 -0
  102. package/dist/index.js +4 -4
  103. package/dist/menu.js +1 -0
  104. package/dist/menu.js.map +1 -1
  105. package/dist/project-files.d.ts +2 -0
  106. package/dist/project-files.js +3 -2
  107. package/dist/project-files.js.map +1 -1
  108. package/dist/utils/__tests__/tool-renderers.test.js +27 -1
  109. package/dist/utils/__tests__/tool-renderers.test.js.map +1 -1
  110. package/dist/utils/tool-renderers.js +22 -5
  111. package/dist/utils/tool-renderers.js.map +1 -1
  112. package/dist/workers/project-context.js +3 -0
  113. package/dist/workers/project-context.js.map +1 -1
  114. package/package.json +2 -1
  115. package/dist/common/json-config/__tests__/__snapshots__/stringify-schema.test.js.snap +0 -119
  116. package/dist/utils/__tests__/__snapshots__/background-process-manager.test.js.snap +0 -137
  117. package/dist/utils/__tests__/file-paths.test.d.ts +0 -1
  118. package/dist/utils/__tests__/file-paths.test.js +0 -37
  119. package/dist/utils/__tests__/file-paths.test.js.map +0 -1
  120. package/dist/utils/__tests__/path.test.d.ts +0 -1
  121. package/dist/utils/__tests__/path.test.js +0 -37
  122. package/dist/utils/__tests__/path.test.js.map +0 -1
  123. package/dist/utils/file-paths.d.ts +0 -9
  124. package/dist/utils/file-paths.js +0 -24
  125. package/dist/utils/file-paths.js.map +0 -1
  126. package/dist/utils/path.d.ts +0 -9
  127. package/dist/utils/path.js +0 -27
  128. package/dist/utils/path.js.map +0 -1
@@ -1,16 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toolRenderers = exports.defaultToolCallRenderer = void 0;
4
+ const project_file_tree_1 = require("../common/project-file-tree");
4
5
  const string_1 = require("../common/util/string");
5
6
  const picocolors_1 = require("picocolors");
7
+ const project_files_1 = require("../project-files");
8
+ let toolStart = true;
6
9
  /**
7
10
  * Default renderer for tool calls that formats them nicely for the console
8
11
  */
9
12
  exports.defaultToolCallRenderer = {
10
13
  onToolStart: (toolName) => {
14
+ toolStart = true;
11
15
  return '\n\n' + (0, picocolors_1.gray)(`[${(0, picocolors_1.bold)((0, string_1.snakeToTitleCase)(toolName))}]`) + '\n';
12
16
  },
13
17
  onParamChunk: (content, paramName, toolName) => {
18
+ if (toolStart && content.startsWith('\n'))
19
+ content = content.slice(1);
20
+ toolStart = false;
14
21
  return (0, picocolors_1.gray)(content);
15
22
  },
16
23
  onParamEnd: () => null,
@@ -36,7 +43,13 @@ exports.toolRenderers = {
36
43
  return null;
37
44
  },
38
45
  onParamEnd: (paramName, toolName, content) => {
39
- const files = content.trim().split('\n').filter(Boolean); // Split by newline and remove empty entries
46
+ const files = content
47
+ .trim()
48
+ .split('\n')
49
+ .filter(Boolean)
50
+ .map((fname) => (0, project_file_tree_1.isFileIgnored)(fname, (0, project_files_1.getProjectRoot)())
51
+ ? (0, picocolors_1.strikethrough)(fname) + ' (blocked)'
52
+ : fname);
40
53
  const numFiles = files.length;
41
54
  const maxInitialFiles = 3;
42
55
  if (numFiles <= maxInitialFiles) {
@@ -93,12 +106,16 @@ exports.toolRenderers = {
93
106
  return null;
94
107
  },
95
108
  onParamChunk: (content, paramName, toolName) => {
96
- if (paramName === 'path') {
97
- return (0, picocolors_1.gray)(content);
98
- }
99
109
  return null;
100
110
  },
101
- onParamEnd: (paramName) => paramName === 'path' ? (0, picocolors_1.gray)('...') + '\n' : null,
111
+ onParamEnd: (paramName, toolName, content) => {
112
+ if (paramName !== 'path') {
113
+ return null;
114
+ }
115
+ return (0, project_file_tree_1.isFileIgnored)(content, (0, project_files_1.getProjectRoot)())
116
+ ? (0, picocolors_1.gray)((0, picocolors_1.strikethrough)(content) + ' (blocked)')
117
+ : (0, picocolors_1.gray)(content + '...');
118
+ },
102
119
  },
103
120
  str_replace: {
104
121
  onParamStart: (paramName) => {
@@ -1 +1 @@
1
- {"version":3,"file":"tool-renderers.js","sourceRoot":"","sources":["../../src/utils/tool-renderers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-renderers.js","sourceRoot":"","sources":["../../src/utils/tool-renderers.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,9 @@ if (worker_threads_1.parentPort) {
9
9
  parentPort.on('message', async ({ dir }) => {
10
10
  (0, project_files_1.setProjectRoot)(dir);
11
11
  const initFileContext = await (0, project_files_1.getProjectFileContext)(dir, {});
12
+ if (!initFileContext) {
13
+ throw new Error('Failed to initialize project file context');
14
+ }
12
15
  const relativeFilepaths = (0, project_file_tree_1.getAllFilePaths)(initFileContext.fileTree);
13
16
  await (0, file_manager_1.initializeCheckpointFileManager)({
14
17
  projectDir: dir,
@@ -1 +1 @@
1
- {"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../src/workers/project-context.ts"],"names":[],"mappings":";;AAAA,gEAA0D;AAC1D,mDAA8D;AAC9D,8DAA6E;AAC7E,oDAAwE;AAExE,IAAI,2BAAe,EAAE,CAAC;IACpB,MAAM,UAAU,GAAG,2BAAe,CAAA;IAElC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QACzC,IAAA,8BAAc,EAAC,GAAG,CAAC,CAAA;QACnB,MAAM,eAAe,GAAG,MAAM,IAAA,qCAAqB,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAE5D,MAAM,iBAAiB,GAAG,IAAA,mCAAe,EAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;QACnE,MAAM,IAAA,8CAA+B,EAAC;YACpC,UAAU,EAAE,GAAG;YACf,iBAAiB;SAClB,CAAC,CAAA;QAEF,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../src/workers/project-context.ts"],"names":[],"mappings":";;AAAA,gEAA0D;AAC1D,mDAA8D;AAC9D,8DAA6E;AAC7E,oDAAwE;AAExE,IAAI,2BAAe,EAAE,CAAC;IACpB,MAAM,UAAU,GAAG,2BAAe,CAAA;IAElC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QACzC,IAAA,8BAAc,EAAC,GAAG,CAAC,CAAA;QACnB,MAAM,eAAe,GAAG,MAAM,IAAA,qCAAqB,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5D,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;QAC9D,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAA,mCAAe,EAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;QACnE,MAAM,IAAA,8CAA+B,EAAC;YACpC,UAAU,EAAE,GAAG;YACf,iBAAiB;SAClB,CAAC,CAAA;QAEF,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codebuff",
3
- "version": "1.0.265",
3
+ "version": "1.0.267",
4
4
  "description": "AI dev assistant",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -15,6 +15,7 @@
15
15
  "test": "jest",
16
16
  "start-js": "nx clean npm-app && nx build npm-app && bun run with-env -- sh -c 'TS_NODE_BASEURL=./dist node -r tsconfig-paths/register dist/index.js ..'",
17
17
  "start": "nx build npm-app > /dev/null && bun run with-env -- sh -c 'TS_NODE_PROJECT=./tsconfig.json ts-node -r tsconfig-paths/register src/index.ts ..'",
18
+ "start-max": "nx build npm-app > /dev/null && bun run with-env -- sh -c 'TS_NODE_PROJECT=./tsconfig.json ts-node -r tsconfig-paths/register src/index.ts .. --max'",
18
19
  "start-dir": "bun run with-env -- ts-node -r tsconfig-paths/register src/index.ts",
19
20
  "with-env": "env-cmd -f ./loadEnv.js",
20
21
  "start-manifold": "bun run with-env -- ts-node -r tsconfig-paths/register src/index.ts ../../manifold",
@@ -1,119 +0,0 @@
1
- // Bun Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`stringifySchema should correctly stringify StartupProcessSchema 1`] = `
4
- "// Defines a single startup process.
5
- {
6
- // A user-friendly name for the process. Should be one word and unique.
7
- "name": string,
8
-
9
- // The actual shell command to execute.
10
- "command": string,
11
-
12
- // (optional): The working directory from which to run the command.
13
- "cwd": string | undefined,
14
-
15
- // (optional): Whether this process should be run, default: true
16
- "enabled": boolean | undefined,
17
-
18
- // (optional): Path to write the process's stdout. If not specified, stderr is not stored.
19
- "stdoutFile": string | undefined,
20
-
21
- // (optional): Path to write the process's stderr. If not specified, stderr will be put into the stdoutFile.
22
- "stderrFile": string | undefined
23
- }"
24
- `;
25
-
26
- exports[`stringifySchema should correctly stringify CodebuffConfigSchema 1`] = `
27
- "// Defines the overall Codebuff configuration file (e.g., codebuff.json). This schema defines the top-level structure of the configuration.
28
- {
29
- // (optional): Does nothing. Put any thing you want here!
30
- "description": any | undefined,
31
-
32
- // (optional): An array of startup processes.
33
- "startupProcesses": [
34
-
35
- // Defines a single startup process.
36
- {
37
- // A user-friendly name for the process. Should be one word and unique.
38
- "name": string,
39
-
40
- // The actual shell command to execute.
41
- "command": string,
42
-
43
- // (optional): The working directory from which to run the command.
44
- "cwd": string | undefined,
45
-
46
- // (optional): Whether this process should be run, default: true
47
- "enabled": boolean | undefined,
48
-
49
- // (optional): Path to write the process's stdout. If not specified, stderr is not stored.
50
- "stdoutFile": string | undefined,
51
-
52
- // (optional): Path to write the process's stderr. If not specified, stderr will be put into the stdoutFile.
53
- "stderrFile": string | undefined
54
- }
55
- ] | undefined
56
- }"
57
- `;
58
-
59
- exports[`stringifySchema should handle a more complex schema 1`] = `
60
- "// A complex test schema
61
- {
62
- // Unique identifier
63
- "id": string,
64
-
65
- // A positive integer count
66
- "count": number,
67
-
68
- // Activity status
69
- "isActive": boolean,
70
-
71
- // (optional): Optional list of tags
72
- "tags": [
73
-
74
- string
75
- ] | undefined,
76
-
77
- // A nested object structure
78
- "nested": {
79
- "value": string,
80
-
81
- // Nested configuration
82
- "config": {
83
- // (optional): Number of retries, default: 3
84
- "retries": number
85
- }
86
- }
87
- }"
88
- `;
89
-
90
- exports[`stringifySchema should handle an empty object schema 1`] = `
91
- "// An empty schema
92
- {
93
- }"
94
- `;
95
-
96
- exports[`stringifySchema should handle schema with only optional fields 1`] = `
97
- "// Schema with only optional fields
98
- {
99
- // (optional): Optional field 1
100
- "field1": string | undefined,
101
-
102
- // (optional): Optional field 2
103
- "field2": number | undefined
104
- }"
105
- `;
106
-
107
- exports[`stringifySchema should handle schema with default values 1`] = `
108
- "// Schema demonstrating default values
109
- {
110
- // (optional): Name with default, default: "anonymous"
111
- "name": string,
112
-
113
- // (optional): Level with default, default: 1
114
- "level": number,
115
-
116
- // (optional): Enabled with default, default: false
117
- "enabled": boolean
118
- }"
119
- `;
@@ -1,137 +0,0 @@
1
- // Bun Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`getBackgroundProcessInfoString formats a running process correctly 1`] = `
4
- "<background_process>
5
- <process_id>123</process_id>
6
- <command>npm test</command>
7
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
8
- <duration_ms>2000</duration_ms>
9
- <stdout>test output</stdout>
10
- <stderr>test error</stderr>
11
- <status>running</status>
12
- </background_process>"
13
- `;
14
-
15
- exports[`getBackgroundProcessInfoString formats a completed process correctly 1`] = `
16
- "<background_process>
17
- <process_id>456</process_id>
18
- <command>npm build</command>
19
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
20
- <duration_ms>1000</duration_ms>
21
- <stdout>build successful</stdout>
22
- <status>completed</status>
23
- <exit_code>0</exit_code>
24
- </background_process>"
25
- `;
26
-
27
- exports[`getBackgroundProcessInfoString formats an errored process correctly 1`] = `
28
- "<background_process>
29
- <process_id>789</process_id>
30
- <command>invalid-command</command>
31
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
32
- <duration_ms>1500</duration_ms>
33
- <stderr>command not found</stderr>
34
- <status>error</status>
35
- <exit_code>1</exit_code>
36
- <signal_code>SIGTERM</signal_code>
37
- </background_process>"
38
- `;
39
-
40
- exports[`getBackgroundProcessInfoString handles new output since last report 1`] = `
41
- "<background_process>
42
- <process_id>102</process_id>
43
- <command>echo test</command>
44
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
45
- <duration_ms>1000</duration_ms>
46
- <stdout>[PREVIOUS OUTPUT]
47
- more output</stdout>
48
- <status>completed</status>
49
- </background_process>"
50
- `;
51
-
52
- exports[`getBackgroundProcessInfoString handles no new content 1`] = `
53
- "<background_process>
54
- <process_id>103</process_id>
55
- <command>echo test</command>
56
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
57
- <duration_ms>1000</duration_ms>
58
- <status>running</status>
59
- </background_process>"
60
- `;
61
-
62
- exports[`getBackgroundProcessInfoString handles new stderr without when no previous stderr 1`] = `
63
- "<background_process>
64
- <process_id>104</process_id>
65
- <command>echo test</command>
66
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
67
- <duration_ms>1000</duration_ms>
68
- <stderr>new error</stderr>
69
- <status>error</status>
70
- </background_process>"
71
- `;
72
-
73
- exports[`getBackgroundProcessInfoString handles new stdout without when no previous stdout 1`] = `
74
- "<background_process>
75
- <process_id>105</process_id>
76
- <command>echo test</command>
77
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
78
- <duration_ms>2000</duration_ms>
79
- <stdout>first output</stdout>
80
- <status>running</status>
81
- </background_process>"
82
- `;
83
-
84
- exports[`getBackgroundProcessInfoString reports completed process with new stderr even if stdout unchanged 1`] = `
85
- "<background_process>
86
- <process_id>106</process_id>
87
- <command>echo test</command>
88
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
89
- <duration_ms>1000</duration_ms>
90
- <stderr>new error</stderr>
91
- <status>completed</status>
92
- </background_process>"
93
- `;
94
-
95
- exports[`getBackgroundProcessInfoString reports completed process with new stdout even if stderr unchanged 1`] = `
96
- "<background_process>
97
- <process_id>107</process_id>
98
- <command>echo test</command>
99
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
100
- <duration_ms>1000</duration_ms>
101
- <stdout>[PREVIOUS OUTPUT]
102
- more</stdout>
103
- <status>completed</status>
104
- </background_process>"
105
- `;
106
-
107
- exports[`getBackgroundProcessInfoString reports process when status changes even without output changes 1`] = `
108
- "<background_process>
109
- <process_id>108</process_id>
110
- <command>echo test</command>
111
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
112
- <duration_ms>1000</duration_ms>
113
- <status>completed</status>
114
- </background_process>"
115
- `;
116
-
117
- exports[`getBackgroundProcessInfoString calculates duration from endTime when available 1`] = `
118
- "<background_process>
119
- <process_id>109</process_id>
120
- <command>echo test</command>
121
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
122
- <duration_ms>1500</duration_ms>
123
- <stdout>test</stdout>
124
- <status>completed</status>
125
- </background_process>"
126
- `;
127
-
128
- exports[`getBackgroundProcessInfoString calculates duration from current time when no endTime 1`] = `
129
- "<background_process>
130
- <process_id>110</process_id>
131
- <command>echo test</command>
132
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
133
- <duration_ms>2000</duration_ms>
134
- <stdout>test</stdout>
135
- <status>running</status>
136
- </background_process>"
137
- `;
@@ -1 +0,0 @@
1
- export {};
@@ -1,37 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const file_paths_1 = require("../file-paths");
7
- const path_1 = __importDefault(require("path"));
8
- describe('toAbsolutePath', () => {
9
- const projectRoot = '/home/user/project';
10
- it('should handle relative paths', () => {
11
- expect((0, file_paths_1.toAbsolutePath)('src/file.ts', projectRoot))
12
- .toBe(path_1.default.normalize(path_1.default.join(projectRoot, 'src/file.ts')));
13
- });
14
- it('should handle parent directory references', () => {
15
- expect((0, file_paths_1.toAbsolutePath)('../file.ts', projectRoot))
16
- .toBe(path_1.default.normalize(path_1.default.join(path_1.default.dirname(projectRoot), 'file.ts')));
17
- });
18
- it('should handle current directory references', () => {
19
- expect((0, file_paths_1.toAbsolutePath)('./file.ts', projectRoot))
20
- .toBe(path_1.default.normalize(path_1.default.join(projectRoot, 'file.ts')));
21
- });
22
- it('should return absolute paths unchanged', () => {
23
- const absolutePath = '/absolute/path/file.ts';
24
- expect((0, file_paths_1.toAbsolutePath)(absolutePath, projectRoot))
25
- .toBe(path_1.default.normalize(absolutePath));
26
- });
27
- it('should handle Windows-style paths', () => {
28
- const winPath = 'src\\file.ts';
29
- expect((0, file_paths_1.toAbsolutePath)(winPath, projectRoot))
30
- .toBe(path_1.default.normalize(path_1.default.join(projectRoot, 'src/file.ts')));
31
- });
32
- it('should normalize paths with multiple slashes', () => {
33
- expect((0, file_paths_1.toAbsolutePath)('src//file.ts', projectRoot))
34
- .toBe(path_1.default.normalize(path_1.default.join(projectRoot, 'src/file.ts')));
35
- });
36
- });
37
- //# sourceMappingURL=file-paths.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-paths.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/file-paths.test.ts"],"names":[],"mappings":";;;;;AAAA,8CAA8C;AAC9C,gDAAuB;AAEvB,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,MAAM,WAAW,GAAG,oBAAoB,CAAA;IAExC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,IAAA,2BAAc,EAAC,aAAa,EAAE,WAAW,CAAC,CAAC;aAC/C,IAAI,CAAC,cAAI,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IAChE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,IAAA,2BAAc,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC;aAC9C,IAAI,CAAC,cAAI,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;IAC1E,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,IAAA,2BAAc,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;aAC7C,IAAI,CAAC,cAAI,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,YAAY,GAAG,wBAAwB,CAAA;QAC7C,MAAM,CAAC,IAAA,2BAAc,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC;aAC9C,IAAI,CAAC,cAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,OAAO,GAAG,cAAc,CAAA;QAC9B,MAAM,CAAC,IAAA,2BAAc,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;aACzC,IAAI,CAAC,cAAI,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IAChE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,IAAA,2BAAc,EAAC,cAAc,EAAE,WAAW,CAAC,CAAC;aAChD,IAAI,CAAC,cAAI,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IAChE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,37 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const path_1 = require("../path");
7
- const path_2 = __importDefault(require("path"));
8
- describe('toAbsolutePath', () => {
9
- const projectRoot = '/home/user/project';
10
- it('should handle relative paths', () => {
11
- expect((0, path_1.toAbsolutePath)('src/file.ts', projectRoot))
12
- .toBe(path_2.default.normalize(path_2.default.join(projectRoot, 'src/file.ts')));
13
- });
14
- it('should handle parent directory references', () => {
15
- expect((0, path_1.toAbsolutePath)('../file.ts', projectRoot))
16
- .toBe(path_2.default.normalize(path_2.default.join(path_2.default.dirname(projectRoot), 'file.ts')));
17
- });
18
- it('should handle current directory references', () => {
19
- expect((0, path_1.toAbsolutePath)('./file.ts', projectRoot))
20
- .toBe(path_2.default.normalize(path_2.default.join(projectRoot, 'file.ts')));
21
- });
22
- it('should return absolute paths unchanged', () => {
23
- const absolutePath = '/absolute/path/file.ts';
24
- expect((0, path_1.toAbsolutePath)(absolutePath, projectRoot))
25
- .toBe(path_2.default.normalize(absolutePath));
26
- });
27
- it('should handle Windows-style paths', () => {
28
- const winPath = 'src\\file.ts';
29
- expect((0, path_1.toAbsolutePath)(winPath, projectRoot))
30
- .toBe(path_2.default.normalize(path_2.default.join(projectRoot, 'src/file.ts')));
31
- });
32
- it('should normalize paths with multiple slashes', () => {
33
- expect((0, path_1.toAbsolutePath)('src//file.ts', projectRoot))
34
- .toBe(path_2.default.normalize(path_2.default.join(projectRoot, 'src/file.ts')));
35
- });
36
- });
37
- //# sourceMappingURL=path.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"path.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/path.test.ts"],"names":[],"mappings":";;;;;AAAA,kCAAwC;AACxC,gDAAuB;AAEvB,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,MAAM,WAAW,GAAG,oBAAoB,CAAA;IAExC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,IAAA,qBAAc,EAAC,aAAa,EAAE,WAAW,CAAC,CAAC;aAC/C,IAAI,CAAC,cAAI,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IAChE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,IAAA,qBAAc,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC;aAC9C,IAAI,CAAC,cAAI,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;IAC1E,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,IAAA,qBAAc,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;aAC7C,IAAI,CAAC,cAAI,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,YAAY,GAAG,wBAAwB,CAAA;QAC7C,MAAM,CAAC,IAAA,qBAAc,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC;aAC9C,IAAI,CAAC,cAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,OAAO,GAAG,cAAc,CAAA;QAC9B,MAAM,CAAC,IAAA,qBAAc,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;aACzC,IAAI,CAAC,cAAI,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IAChE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,IAAA,qBAAc,EAAC,cAAc,EAAE,WAAW,CAAC,CAAC;aAChD,IAAI,CAAC,cAAI,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IAChE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Transforms a relative filepath into an absolute one, using the project root as the base.
3
- * Handles '..' and '.' in paths correctly. Also handles Windows paths.
4
- *
5
- * @param filepath The relative filepath to transform
6
- * @param projectRoot The absolute path to the project root
7
- * @returns The absolute filepath
8
- */
9
- export declare function toAbsolutePath(filepath: string, projectRoot: string): string;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.toAbsolutePath = toAbsolutePath;
7
- const path_1 = __importDefault(require("path"));
8
- /**
9
- * Transforms a relative filepath into an absolute one, using the project root as the base.
10
- * Handles '..' and '.' in paths correctly. Also handles Windows paths.
11
- *
12
- * @param filepath The relative filepath to transform
13
- * @param projectRoot The absolute path to the project root
14
- * @returns The absolute filepath
15
- */
16
- function toAbsolutePath(filepath, projectRoot) {
17
- // If already absolute, normalize and return
18
- if (path_1.default.isAbsolute(filepath)) {
19
- return path_1.default.normalize(filepath);
20
- }
21
- // Handle '..' at the start by resolving against project root
22
- return path_1.default.normalize(path_1.default.resolve(projectRoot, filepath));
23
- }
24
- //# sourceMappingURL=file-paths.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-paths.js","sourceRoot":"","sources":["../../src/utils/file-paths.ts"],"names":[],"mappings":";;;;;AAUA,wCAQC;AAlBD,gDAAuB;AAEvB;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,QAAgB,EAAE,WAAmB;IAClE,4CAA4C;IAC5C,IAAI,cAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,OAAO,cAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IACjC,CAAC;IAED,6DAA6D;IAC7D,OAAO,cAAI,CAAC,SAAS,CAAC,cAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAA;AAC5D,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Transforms a relative filepath into an absolute one, using the project root as the base.
3
- * Handles '..' and '.' in paths correctly. Also handles Windows paths.
4
- *
5
- * @param filepath The relative filepath to transform
6
- * @param projectRoot The absolute path to the project root
7
- * @returns The absolute filepath
8
- */
9
- export declare function toAbsolutePath(filepath: string, projectRoot: string): string;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.toAbsolutePath = toAbsolutePath;
7
- const path_1 = __importDefault(require("path"));
8
- /**
9
- * Transforms a relative filepath into an absolute one, using the project root as the base.
10
- * Handles '..' and '.' in paths correctly. Also handles Windows paths.
11
- *
12
- * @param filepath The relative filepath to transform
13
- * @param projectRoot The absolute path to the project root
14
- * @returns The absolute filepath
15
- */
16
- function toAbsolutePath(filepath, projectRoot) {
17
- // If already absolute, normalize and return
18
- if (path_1.default.isAbsolute(filepath)) {
19
- return path_1.default.normalize(filepath);
20
- }
21
- // Handle Windows paths
22
- const normalizedFilepath = filepath.replace(/\\/g, '/');
23
- const normalizedProjectRoot = projectRoot.replace(/\\/g, '/');
24
- // Handle '..' at the start by resolving against project root
25
- return path_1.default.normalize(path_1.default.resolve(normalizedProjectRoot, normalizedFilepath));
26
- }
27
- //# sourceMappingURL=path.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/utils/path.ts"],"names":[],"mappings":";;;;;AAUA,wCAYC;AAtBD,gDAAuB;AAEvB;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,QAAgB,EAAE,WAAmB;IAClE,4CAA4C;IAC5C,IAAI,cAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,OAAO,cAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IACjC,CAAC;IAED,uBAAuB;IACvB,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IACvD,MAAM,qBAAqB,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAE7D,6DAA6D;IAC7D,OAAO,cAAI,CAAC,SAAS,CAAC,cAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAC,CAAA;AAChF,CAAC"}