codecane 1.0.264 → 1.0.268

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 (218) hide show
  1. package/dist/background-process-manager.d.ts +1 -1
  2. package/dist/background-process-manager.js +3 -3
  3. package/dist/browser-runner.d.ts +1 -1
  4. package/dist/browser-runner.js +4 -4
  5. package/dist/chat-storage.d.ts +1 -1
  6. package/dist/chat-storage.js +1 -1
  7. package/dist/checkpoints/checkpoint-manager.d.ts +1 -1
  8. package/dist/checkpoints/checkpoint-manager.js +1 -1
  9. package/dist/cli-handlers/api-key.d.ts +1 -1
  10. package/dist/cli-handlers/api-key.js +1 -1
  11. package/dist/cli-handlers/diff.d.ts +1 -1
  12. package/dist/cli-handlers/inititalization-flow.js +1 -1
  13. package/dist/cli.d.ts +1 -1
  14. package/dist/cli.js +2 -2
  15. package/dist/client.d.ts +7 -7
  16. package/dist/client.js +9 -9
  17. package/dist/credentials.d.ts +1 -1
  18. package/dist/credentials.js +2 -2
  19. package/dist/dev-process-manager.d.ts +1 -1
  20. package/dist/dev-process-manager.js +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/menu.d.ts +1 -1
  23. package/dist/menu.js +1 -1
  24. package/dist/project-files.d.ts +2 -2
  25. package/dist/project-files.js +5 -5
  26. package/dist/startup-process-handler.d.ts +1 -1
  27. package/dist/tool-handlers.d.ts +2 -2
  28. package/dist/tool-handlers.js +4 -4
  29. package/dist/types.d.ts +1 -1
  30. package/dist/utils/__tests__/tool-renderers.test.js +1 -1
  31. package/dist/utils/__tests__/xml-stream-parser.test.js +1 -1
  32. package/dist/utils/analytics.d.ts +1 -1
  33. package/dist/utils/logger.js +1 -1
  34. package/dist/utils/terminal.js +8 -11
  35. package/dist/utils/terminal.js.map +1 -1
  36. package/dist/utils/tool-renderers.d.ts +1 -1
  37. package/dist/utils/tool-renderers.js +1 -1
  38. package/dist/utils/xml-stream-parser.d.ts +1 -1
  39. package/dist/utils/xml-stream-parser.js +2 -2
  40. package/dist/web-scraper.js +1 -1
  41. package/dist/workers/project-context.js +1 -1
  42. package/package.json +38 -19
  43. package/dist/code-map/languages.d.ts +0 -13
  44. package/dist/code-map/languages.d.ts.map +0 -1
  45. package/dist/code-map/languages.js +0 -129
  46. package/dist/code-map/languages.js.map +0 -1
  47. package/dist/code-map/parse.d.ts +0 -12
  48. package/dist/code-map/parse.d.ts.map +0 -1
  49. package/dist/code-map/parse.js +0 -127
  50. package/dist/code-map/parse.js.map +0 -1
  51. package/dist/code-map/test-langs/test.d.ts +0 -12
  52. package/dist/code-map/test-langs/test.d.ts.map +0 -1
  53. package/dist/code-map/test-langs/test.js +0 -23
  54. package/dist/code-map/test-langs/test.js.map +0 -1
  55. package/dist/code-map/tree-sitter-queries/readme.md +0 -23
  56. package/dist/code-map/tree-sitter-queries/tree-sitter-c-tags.scm +0 -11
  57. package/dist/code-map/tree-sitter-queries/tree-sitter-c_sharp-tags.scm +0 -13
  58. package/dist/code-map/tree-sitter-queries/tree-sitter-cpp-tags.scm +0 -17
  59. package/dist/code-map/tree-sitter-queries/tree-sitter-go-tags.scm +0 -26
  60. package/dist/code-map/tree-sitter-queries/tree-sitter-java-tags.scm +0 -19
  61. package/dist/code-map/tree-sitter-queries/tree-sitter-javascript-tags.scm +0 -15
  62. package/dist/code-map/tree-sitter-queries/tree-sitter-php-tags.scm +0 -26
  63. package/dist/code-map/tree-sitter-queries/tree-sitter-python-tags.scm +0 -9
  64. package/dist/code-map/tree-sitter-queries/tree-sitter-ruby-tags.scm +0 -58
  65. package/dist/code-map/tree-sitter-queries/tree-sitter-rust-tags.scm +0 -26
  66. package/dist/code-map/tree-sitter-queries/tree-sitter-typescript-tags.scm +0 -15
  67. package/dist/code-map/tsconfig.tsbuildinfo +0 -1
  68. package/dist/common/actions.d.ts +0 -2589
  69. package/dist/common/actions.js +0 -143
  70. package/dist/common/actions.js.map +0 -1
  71. package/dist/common/analytics.d.ts +0 -4
  72. package/dist/common/analytics.js +0 -40
  73. package/dist/common/analytics.js.map +0 -1
  74. package/dist/common/api-keys/constants.d.ts +0 -8
  75. package/dist/common/api-keys/constants.js +0 -26
  76. package/dist/common/api-keys/constants.js.map +0 -1
  77. package/dist/common/api-keys/crypto.d.ts +0 -24
  78. package/dist/common/api-keys/crypto.js +0 -186
  79. package/dist/common/api-keys/crypto.js.map +0 -1
  80. package/dist/common/browser-actions.d.ts +0 -4415
  81. package/dist/common/browser-actions.js +0 -343
  82. package/dist/common/browser-actions.js.map +0 -1
  83. package/dist/common/constants/analytics-events.d.ts +0 -19
  84. package/dist/common/constants/analytics-events.js +0 -27
  85. package/dist/common/constants/analytics-events.js.map +0 -1
  86. package/dist/common/constants/grant-priorities.d.ts +0 -2
  87. package/dist/common/constants/grant-priorities.js +0 -10
  88. package/dist/common/constants/grant-priorities.js.map +0 -1
  89. package/dist/common/constants/tools.d.ts +0 -16
  90. package/dist/common/constants/tools.js +0 -44
  91. package/dist/common/constants/tools.js.map +0 -1
  92. package/dist/common/constants.d.ts +0 -134
  93. package/dist/common/constants.js +0 -180
  94. package/dist/common/constants.js.map +0 -1
  95. package/dist/common/db/drizzle.config.d.ts +0 -2
  96. package/dist/common/db/drizzle.config.js +0 -17
  97. package/dist/common/db/drizzle.config.js.map +0 -1
  98. package/dist/common/db/env.d.mts +0 -1
  99. package/dist/common/db/env.mjs +0 -26
  100. package/dist/common/db/env.mjs.map +0 -1
  101. package/dist/common/db/index.d.ts +0 -6
  102. package/dist/common/db/index.js +0 -35
  103. package/dist/common/db/index.js.map +0 -1
  104. package/dist/common/db/schema.d.ts +0 -1419
  105. package/dist/common/db/schema.js +0 -175
  106. package/dist/common/db/schema.js.map +0 -1
  107. package/dist/common/db/transaction.d.ts +0 -12
  108. package/dist/common/db/transaction.js +0 -36
  109. package/dist/common/db/transaction.js.map +0 -1
  110. package/dist/common/env.d.mts +0 -1
  111. package/dist/common/env.mjs +0 -40
  112. package/dist/common/env.mjs.map +0 -1
  113. package/dist/common/json-config/__tests__/stringify-schema.test.d.ts +0 -1
  114. package/dist/common/json-config/__tests__/stringify-schema.test.js +0 -66
  115. package/dist/common/json-config/__tests__/stringify-schema.test.js.map +0 -1
  116. package/dist/common/json-config/constants.d.ts +0 -82
  117. package/dist/common/json-config/constants.js +0 -48
  118. package/dist/common/json-config/constants.js.map +0 -1
  119. package/dist/common/json-config/parser.d.ts +0 -7
  120. package/dist/common/json-config/parser.js +0 -51
  121. package/dist/common/json-config/parser.js.map +0 -1
  122. package/dist/common/json-config/stringify-schema.d.ts +0 -9
  123. package/dist/common/json-config/stringify-schema.js +0 -131
  124. package/dist/common/json-config/stringify-schema.js.map +0 -1
  125. package/dist/common/project-file-tree.d.ts +0 -11
  126. package/dist/common/project-file-tree.js +0 -200
  127. package/dist/common/project-file-tree.js.map +0 -1
  128. package/dist/common/types/agent-state.d.ts +0 -464
  129. package/dist/common/types/agent-state.js +0 -32
  130. package/dist/common/types/agent-state.js.map +0 -1
  131. package/dist/common/types/grant.d.ts +0 -2
  132. package/dist/common/types/grant.js +0 -10
  133. package/dist/common/types/grant.js.map +0 -1
  134. package/dist/common/types/message.d.ts +0 -311
  135. package/dist/common/types/message.js +0 -54
  136. package/dist/common/types/message.js.map +0 -1
  137. package/dist/common/types/referral.d.ts +0 -2
  138. package/dist/common/types/referral.js +0 -5
  139. package/dist/common/types/referral.js.map +0 -1
  140. package/dist/common/types/tools.d.ts +0 -5
  141. package/dist/common/types/tools.js +0 -3
  142. package/dist/common/types/tools.js.map +0 -1
  143. package/dist/common/types/usage.d.ts +0 -40
  144. package/dist/common/types/usage.js +0 -15
  145. package/dist/common/types/usage.js.map +0 -1
  146. package/dist/common/util/__tests__/messages.test.d.ts +0 -1
  147. package/dist/common/util/__tests__/messages.test.js +0 -70
  148. package/dist/common/util/__tests__/messages.test.js.map +0 -1
  149. package/dist/common/util/__tests__/saxy.test.d.ts +0 -1
  150. package/dist/common/util/__tests__/saxy.test.js +0 -262
  151. package/dist/common/util/__tests__/saxy.test.js.map +0 -1
  152. package/dist/common/util/__tests__/string.test.d.ts +0 -1
  153. package/dist/common/util/__tests__/string.test.js +0 -82
  154. package/dist/common/util/__tests__/string.test.js.map +0 -1
  155. package/dist/common/util/array.d.ts +0 -6
  156. package/dist/common/util/array.js +0 -32
  157. package/dist/common/util/array.js.map +0 -1
  158. package/dist/common/util/changes.d.ts +0 -7
  159. package/dist/common/util/changes.js +0 -78
  160. package/dist/common/util/changes.js.map +0 -1
  161. package/dist/common/util/credentials.d.ts +0 -25
  162. package/dist/common/util/credentials.js +0 -24
  163. package/dist/common/util/credentials.js.map +0 -1
  164. package/dist/common/util/currency.d.ts +0 -14
  165. package/dist/common/util/currency.js +0 -23
  166. package/dist/common/util/currency.js.map +0 -1
  167. package/dist/common/util/dates.d.ts +0 -10
  168. package/dist/common/util/dates.js +0 -22
  169. package/dist/common/util/dates.js.map +0 -1
  170. package/dist/common/util/file.d.ts +0 -159
  171. package/dist/common/util/file.js +0 -192
  172. package/dist/common/util/file.js.map +0 -1
  173. package/dist/common/util/git.d.ts +0 -6
  174. package/dist/common/util/git.js +0 -81
  175. package/dist/common/util/git.js.map +0 -1
  176. package/dist/common/util/logger.d.ts +0 -8
  177. package/dist/common/util/logger.js +0 -52
  178. package/dist/common/util/logger.js.map +0 -1
  179. package/dist/common/util/lru-cache.d.ts +0 -30
  180. package/dist/common/util/lru-cache.js +0 -68
  181. package/dist/common/util/lru-cache.js.map +0 -1
  182. package/dist/common/util/messages.d.ts +0 -9
  183. package/dist/common/util/messages.js +0 -69
  184. package/dist/common/util/messages.js.map +0 -1
  185. package/dist/common/util/min-heap.d.ts +0 -15
  186. package/dist/common/util/min-heap.js +0 -73
  187. package/dist/common/util/min-heap.js.map +0 -1
  188. package/dist/common/util/object.d.ts +0 -18
  189. package/dist/common/util/object.js +0 -91
  190. package/dist/common/util/object.js.map +0 -1
  191. package/dist/common/util/patch.d.ts +0 -1
  192. package/dist/common/util/patch.js +0 -215
  193. package/dist/common/util/patch.js.map +0 -1
  194. package/dist/common/util/promise.d.ts +0 -17
  195. package/dist/common/util/promise.js +0 -80
  196. package/dist/common/util/promise.js.map +0 -1
  197. package/dist/common/util/referral.d.ts +0 -1
  198. package/dist/common/util/referral.js +0 -6
  199. package/dist/common/util/referral.js.map +0 -1
  200. package/dist/common/util/saxy.d.ts +0 -166
  201. package/dist/common/util/saxy.js +0 -473
  202. package/dist/common/util/saxy.js.map +0 -1
  203. package/dist/common/util/string.d.ts +0 -61
  204. package/dist/common/util/string.js +0 -220
  205. package/dist/common/util/string.js.map +0 -1
  206. package/dist/common/util/stripe.d.ts +0 -3
  207. package/dist/common/util/stripe.js +0 -22
  208. package/dist/common/util/stripe.js.map +0 -1
  209. package/dist/common/util/sync-failure.d.ts +0 -1
  210. package/dist/common/util/sync-failure.js +0 -57
  211. package/dist/common/util/sync-failure.js.map +0 -1
  212. package/dist/common/websockets/websocket-client.d.ts +0 -42
  213. package/dist/common/websockets/websocket-client.js +0 -216
  214. package/dist/common/websockets/websocket-client.js.map +0 -1
  215. package/dist/common/websockets/websocket-schema.d.ts +0 -4866
  216. package/dist/common/websockets/websocket-schema.js +0 -55
  217. package/dist/common/websockets/websocket-schema.js.map +0 -1
  218. package/dist/utils/__tests__/response-example-4-files.txt +0 -621
@@ -1,131 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stringifySchema = stringifySchema;
4
- const zod_1 = require("zod");
5
- function getSchemaDescription(schema) {
6
- return schema.description;
7
- }
8
- function indent(level) {
9
- return ' '.repeat(level * 2);
10
- }
11
- function isOptionalType(schema) {
12
- if (schema instanceof zod_1.z.ZodOptional)
13
- return true;
14
- if (schema instanceof zod_1.z.ZodNullable && schema._def.innerType instanceof zod_1.z.ZodOptional)
15
- return true;
16
- if (schema instanceof zod_1.z.ZodDefault && schema._def.innerType instanceof zod_1.z.ZodOptional)
17
- return true;
18
- return false;
19
- }
20
- function stringifyZodType(schema, level = 0, fieldName, needsComma = false, includeDescription = true) {
21
- const description = includeDescription ? getSchemaDescription(schema) : undefined;
22
- const baseIndent = indent(level);
23
- const fieldPrefix = fieldName ? `"${fieldName}": ` : '';
24
- const comma = needsComma ? ',' : '';
25
- // Handle object types
26
- if (schema instanceof zod_1.z.ZodObject) {
27
- const shape = schema.shape;
28
- let output = '';
29
- if (description) {
30
- output += `${baseIndent}// ${description}\n`;
31
- }
32
- output += `${baseIndent}${fieldPrefix}{\n`;
33
- if (Object.keys(shape).length === 0) {
34
- return output + baseIndent + '}';
35
- }
36
- const entries = Object.entries(shape);
37
- entries.forEach(([key, value], index) => {
38
- const isLastLine = index === entries.length - 1;
39
- const valueDescription = getSchemaDescription(value);
40
- const isOptional = value instanceof zod_1.z.ZodOptional || value instanceof zod_1.z.ZodDefault;
41
- const defaultValue = value instanceof zod_1.z.ZodDefault ? JSON.stringify(value._def.defaultValue()) : undefined;
42
- if (valueDescription) {
43
- const prefix = isOptional ? '(optional): ' : '';
44
- const suffix = defaultValue ? `, default: ${defaultValue}` : '';
45
- // Add newline before comment, but not for first item
46
- if (index > 0)
47
- output += '\n';
48
- output += `${indent(level + 1)}// ${prefix}${valueDescription}${suffix}\n`;
49
- }
50
- const typeStr = stringifyZodType(value, 0, undefined, false, false);
51
- output += `${indent(level + 1)}"${key}": ${typeStr}${isLastLine ? '' : ','}\n`;
52
- });
53
- output += baseIndent + '}';
54
- return output + (needsComma ? ',' : '');
55
- }
56
- // Handle array types
57
- if (schema instanceof zod_1.z.ZodArray) {
58
- let output = '';
59
- if (description) {
60
- output += `${baseIndent}// ${description}\n`;
61
- }
62
- output += `${baseIndent}${fieldPrefix}[\n\n`;
63
- const elementType = schema.element;
64
- if (elementType instanceof zod_1.z.ZodObject) {
65
- // For objects, we want the opening brace to be indented two levels
66
- const objectOutput = stringifyZodType(elementType, level + 2, undefined, false, true);
67
- output += objectOutput;
68
- }
69
- else {
70
- // For non-objects, we just want the type name
71
- output += indent(level + 1) + stringifyZodType(elementType, 0, undefined, false, false)
72
- .trim()
73
- .replace(/^".*":\s*/, ''); // Remove field name if present
74
- }
75
- output += `\n${indent(level + 1)}]${comma}`;
76
- return output;
77
- }
78
- // Handle optional types
79
- if (schema instanceof zod_1.z.ZodOptional || schema instanceof zod_1.z.ZodNullable) {
80
- const innerType = stringifyZodType(schema._def.innerType, level, undefined, false, false)
81
- .trim()
82
- .replace(/^".*":\s*/, ''); // Remove field name if present
83
- const nullValue = schema instanceof zod_1.z.ZodNullable ? 'null' : 'undefined';
84
- let output = '';
85
- if (description && includeDescription) {
86
- output += `${baseIndent}// ${description}\n${baseIndent}`;
87
- }
88
- return output + `${fieldPrefix}${innerType} | ${nullValue}${comma}`;
89
- }
90
- // Handle default types
91
- if (schema instanceof zod_1.z.ZodDefault) {
92
- const innerType = stringifyZodType(schema._def.innerType, level, undefined, false, false)
93
- .trim()
94
- .replace(/^".*":\s*/, ''); // Remove field name if present
95
- let output = '';
96
- if (description && includeDescription) {
97
- output += `${baseIndent}// ${description}\n${baseIndent}`;
98
- }
99
- return output + `${fieldPrefix}${innerType}${comma}`;
100
- }
101
- // Handle basic types
102
- let output = '';
103
- if (description && includeDescription) {
104
- output += `${baseIndent}// ${description}\n${baseIndent}`;
105
- }
106
- if (schema instanceof zod_1.z.ZodString) {
107
- return output + `${fieldPrefix}string${comma}`;
108
- }
109
- if (schema instanceof zod_1.z.ZodBoolean) {
110
- return output + `${fieldPrefix}boolean${comma}`;
111
- }
112
- if (schema instanceof zod_1.z.ZodNumber) {
113
- return output + `${fieldPrefix}number${comma}`;
114
- }
115
- if (schema instanceof zod_1.z.ZodAny) {
116
- return output + `${fieldPrefix}any${comma}`;
117
- }
118
- // Fallback for unknown types
119
- return output + `${fieldPrefix}unknown${comma}`;
120
- }
121
- /**
122
- * Generates a human-readable string representation of a Zod schema,
123
- * including descriptions defined using `.describe()`.
124
- *
125
- * @param schema The Zod schema object (e.g., z.object({...})).
126
- * @returns A string describing the schema structure and field descriptions.
127
- */
128
- function stringifySchema(schema) {
129
- return stringifyZodType(schema, 0);
130
- }
131
- //# sourceMappingURL=stringify-schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stringify-schema.js","sourceRoot":"","sources":["../../src/json-config/stringify-schema.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import * as ignore from 'ignore';
2
- import { FileTreeNode } from './util/file';
3
- export declare const DEFAULT_MAX_FILES = 10000;
4
- export declare function getProjectFileTree(projectRoot: string, { maxFiles }?: {
5
- maxFiles?: number;
6
- }): FileTreeNode[];
7
- export declare function parseGitignore(fullDirPath: string, projectRoot: string): ignore.Ignore;
8
- export declare function getAllFilePaths(nodes: FileTreeNode[], basePath?: string): string[];
9
- export declare function flattenTree(nodes: FileTreeNode[]): FileTreeNode[];
10
- export declare function getLastReadFilePaths(flattenedNodes: FileTreeNode[], count: number): string[];
11
- export declare function isFileIgnored(filePath: string, projectRoot: string): boolean;
@@ -1,200 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.DEFAULT_MAX_FILES = void 0;
30
- exports.getProjectFileTree = getProjectFileTree;
31
- exports.parseGitignore = parseGitignore;
32
- exports.getAllFilePaths = getAllFilePaths;
33
- exports.flattenTree = flattenTree;
34
- exports.getLastReadFilePaths = getLastReadFilePaths;
35
- exports.isFileIgnored = isFileIgnored;
36
- const fs_1 = __importDefault(require("fs"));
37
- const os_1 = __importDefault(require("os"));
38
- const path_1 = __importDefault(require("path"));
39
- const ignore = __importStar(require("ignore"));
40
- const lodash_1 = require("lodash");
41
- const constants_1 = require("./constants");
42
- exports.DEFAULT_MAX_FILES = 10_000;
43
- function getProjectFileTree(projectRoot, { maxFiles = exports.DEFAULT_MAX_FILES } = {}) {
44
- const defaultIgnore = ignore.default();
45
- for (const pattern of constants_1.DEFAULT_IGNORED_FILES) {
46
- defaultIgnore.add(pattern);
47
- }
48
- const isHomeDir = projectRoot === os_1.default.homedir();
49
- if (isHomeDir) {
50
- defaultIgnore.add('.*');
51
- maxFiles = 0;
52
- }
53
- const root = {
54
- name: path_1.default.basename(projectRoot),
55
- type: 'directory',
56
- children: [],
57
- filePath: '',
58
- };
59
- const queue = [
60
- {
61
- node: root,
62
- fullPath: projectRoot,
63
- ignore: defaultIgnore,
64
- },
65
- ];
66
- let totalFiles = 0;
67
- while (queue.length > 0 && totalFiles < maxFiles) {
68
- const { node, fullPath, ignore: currentIgnore } = queue.shift();
69
- const mergedIgnore = ignore
70
- .default()
71
- .add(currentIgnore)
72
- .add(parseGitignore(fullPath, projectRoot));
73
- try {
74
- const files = fs_1.default.readdirSync(fullPath);
75
- for (const file of files) {
76
- if (totalFiles >= maxFiles)
77
- break;
78
- const filePath = path_1.default.join(fullPath, file);
79
- const relativeFilePath = path_1.default.relative(projectRoot, filePath);
80
- if (mergedIgnore.ignores(relativeFilePath))
81
- continue;
82
- try {
83
- const stats = fs_1.default.statSync(filePath);
84
- if (stats.isDirectory()) {
85
- const childNode = {
86
- name: file,
87
- type: 'directory',
88
- children: [],
89
- filePath: relativeFilePath,
90
- };
91
- node.children.push(childNode);
92
- queue.push({
93
- node: childNode,
94
- fullPath: filePath,
95
- ignore: mergedIgnore,
96
- });
97
- }
98
- else {
99
- const lastReadTime = stats.atimeMs;
100
- node.children.push({
101
- name: file,
102
- type: 'file',
103
- lastReadTime,
104
- filePath: relativeFilePath,
105
- });
106
- totalFiles++;
107
- }
108
- }
109
- catch (error) {
110
- // Don't print errors, you probably just don't have access to the file.
111
- }
112
- }
113
- }
114
- catch (error) {
115
- // Don't print errors, you probably just don't have access to the directory.
116
- }
117
- }
118
- return root.children;
119
- }
120
- function parseGitignore(fullDirPath, projectRoot) {
121
- const ig = ignore.default();
122
- const relativeDirPath = path_1.default.relative(projectRoot, fullDirPath);
123
- const ignoreFiles = [
124
- path_1.default.join(fullDirPath, '.gitignore'),
125
- path_1.default.join(fullDirPath, '.codebuffignore'),
126
- path_1.default.join(fullDirPath, '.manicodeignore'), // Legacy support
127
- ];
128
- for (const ignoreFilePath of ignoreFiles) {
129
- if (fs_1.default.existsSync(ignoreFilePath)) {
130
- const ignoreContent = fs_1.default.readFileSync(ignoreFilePath, 'utf8');
131
- const lines = ignoreContent.split('\n');
132
- for (let line of lines) {
133
- line = line.trim();
134
- if (line === '' || line.startsWith('#')) {
135
- continue;
136
- }
137
- let isNegated = false;
138
- let pattern = line;
139
- if (pattern.startsWith('!')) {
140
- isNegated = true;
141
- pattern = pattern.slice(1);
142
- }
143
- let finalPattern = pattern;
144
- if (pattern.startsWith('/')) {
145
- finalPattern = pattern.slice(1);
146
- if (relativeDirPath !== '') {
147
- finalPattern = path_1.default.join(relativeDirPath, finalPattern);
148
- }
149
- }
150
- finalPattern = finalPattern.replace(/\\/g, '/');
151
- if (isNegated) {
152
- ig.add(`!${finalPattern}`);
153
- }
154
- else {
155
- ig.add(finalPattern);
156
- }
157
- }
158
- }
159
- }
160
- return ig;
161
- }
162
- function getAllFilePaths(nodes, basePath = '') {
163
- return nodes.flatMap((node) => {
164
- if (node.type === 'file') {
165
- return [path_1.default.join(basePath, node.name)];
166
- }
167
- return getAllFilePaths(node.children || [], path_1.default.join(basePath, node.name));
168
- });
169
- }
170
- function flattenTree(nodes) {
171
- return nodes.flatMap((node) => {
172
- if (node.type === 'file') {
173
- return [node];
174
- }
175
- return flattenTree(node.children ?? []);
176
- });
177
- }
178
- function getLastReadFilePaths(flattenedNodes, count) {
179
- return (0, lodash_1.sortBy)(flattenedNodes.filter((node) => node.lastReadTime), 'lastReadTime')
180
- .reverse()
181
- .slice(0, count)
182
- .map((node) => node.filePath);
183
- }
184
- function isFileIgnored(filePath, projectRoot) {
185
- const defaultIgnore = ignore.default();
186
- for (const pattern of constants_1.DEFAULT_IGNORED_FILES) {
187
- defaultIgnore.add(pattern);
188
- }
189
- const relativeFilePath = path_1.default.relative(projectRoot, path_1.default.join(projectRoot, filePath));
190
- const dirPath = path_1.default.dirname(path_1.default.join(projectRoot, filePath));
191
- // Get ignore patterns from the directory containing the file and all parent directories
192
- const mergedIgnore = ignore.default().add(defaultIgnore);
193
- let currentDir = dirPath;
194
- while (currentDir.startsWith(projectRoot)) {
195
- mergedIgnore.add(parseGitignore(currentDir, projectRoot));
196
- currentDir = path_1.default.dirname(currentDir);
197
- }
198
- return mergedIgnore.ignores(relativeFilePath);
199
- }
200
- //# sourceMappingURL=project-file-tree.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-file-tree.js","sourceRoot":"","sources":["../src/project-file-tree.ts"],"names":[],"mappings":"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"}