codecane 1.0.123

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 (156) hide show
  1. package/README.md +87 -0
  2. package/dist/__tests__/tool-handlers.test.d.ts +1 -0
  3. package/dist/__tests__/tool-handlers.test.js +32 -0
  4. package/dist/__tests__/tool-handlers.test.js.map +1 -0
  5. package/dist/chat-storage.d.ts +29 -0
  6. package/dist/chat-storage.js +125 -0
  7. package/dist/chat-storage.js.map +1 -0
  8. package/dist/cli.d.ts +38 -0
  9. package/dist/cli.js +453 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/client.d.ts +71 -0
  12. package/dist/client.js +458 -0
  13. package/dist/client.js.map +1 -0
  14. package/dist/code-map/languages.d.ts +12 -0
  15. package/dist/code-map/languages.js +129 -0
  16. package/dist/code-map/languages.js.map +1 -0
  17. package/dist/code-map/parse.d.ts +11 -0
  18. package/dist/code-map/parse.js +127 -0
  19. package/dist/code-map/parse.js.map +1 -0
  20. package/dist/code-map/test-langs/test.d.ts +11 -0
  21. package/dist/code-map/test-langs/test.js +23 -0
  22. package/dist/code-map/test-langs/test.js.map +1 -0
  23. package/dist/code-map/tree-sitter-queries/readme.md +23 -0
  24. package/dist/code-map/tree-sitter-queries/tree-sitter-c-tags.scm +11 -0
  25. package/dist/code-map/tree-sitter-queries/tree-sitter-c_sharp-tags.scm +13 -0
  26. package/dist/code-map/tree-sitter-queries/tree-sitter-cpp-tags.scm +17 -0
  27. package/dist/code-map/tree-sitter-queries/tree-sitter-go-tags.scm +26 -0
  28. package/dist/code-map/tree-sitter-queries/tree-sitter-java-tags.scm +19 -0
  29. package/dist/code-map/tree-sitter-queries/tree-sitter-javascript-tags.scm +15 -0
  30. package/dist/code-map/tree-sitter-queries/tree-sitter-php-tags.scm +26 -0
  31. package/dist/code-map/tree-sitter-queries/tree-sitter-python-tags.scm +9 -0
  32. package/dist/code-map/tree-sitter-queries/tree-sitter-ruby-tags.scm +58 -0
  33. package/dist/code-map/tree-sitter-queries/tree-sitter-rust-tags.scm +26 -0
  34. package/dist/code-map/tree-sitter-queries/tree-sitter-typescript-tags.scm +15 -0
  35. package/dist/code-map/tsconfig.tsbuildinfo +1 -0
  36. package/dist/common/actions.d.ts +1405 -0
  37. package/dist/common/actions.js +193 -0
  38. package/dist/common/actions.js.map +1 -0
  39. package/dist/common/billing/quota-manager.d.ts +29 -0
  40. package/dist/common/billing/quota-manager.js +213 -0
  41. package/dist/common/billing/quota-manager.js.map +1 -0
  42. package/dist/common/constants.d.ts +41 -0
  43. package/dist/common/constants.js +126 -0
  44. package/dist/common/constants.js.map +1 -0
  45. package/dist/common/db/drizzle.config.d.ts +2 -0
  46. package/dist/common/db/drizzle.config.js +17 -0
  47. package/dist/common/db/drizzle.config.js.map +1 -0
  48. package/dist/common/db/env.d.mts +1 -0
  49. package/dist/common/db/env.mjs +26 -0
  50. package/dist/common/db/env.mjs.map +1 -0
  51. package/dist/common/db/index.d.ts +6 -0
  52. package/dist/common/db/index.js +35 -0
  53. package/dist/common/db/index.js.map +1 -0
  54. package/dist/common/db/schema.d.ts +1089 -0
  55. package/dist/common/db/schema.js +114 -0
  56. package/dist/common/db/schema.js.map +1 -0
  57. package/dist/common/env.d.mts +1 -0
  58. package/dist/common/env.mjs +34 -0
  59. package/dist/common/env.mjs.map +1 -0
  60. package/dist/common/project-file-tree.d.ts +9 -0
  61. package/dist/common/project-file-tree.js +166 -0
  62. package/dist/common/project-file-tree.js.map +1 -0
  63. package/dist/common/types/referral.d.ts +2 -0
  64. package/dist/common/types/referral.js +5 -0
  65. package/dist/common/types/referral.js.map +1 -0
  66. package/dist/common/types/usage.d.ts +24 -0
  67. package/dist/common/types/usage.js +13 -0
  68. package/dist/common/types/usage.js.map +1 -0
  69. package/dist/common/util/__tests__/string.test.d.ts +1 -0
  70. package/dist/common/util/__tests__/string.test.js +83 -0
  71. package/dist/common/util/__tests__/string.test.js.map +1 -0
  72. package/dist/common/util/array.d.ts +6 -0
  73. package/dist/common/util/array.js +32 -0
  74. package/dist/common/util/array.js.map +1 -0
  75. package/dist/common/util/changes.d.ts +6 -0
  76. package/dist/common/util/changes.js +72 -0
  77. package/dist/common/util/changes.js.map +1 -0
  78. package/dist/common/util/credentials.d.ts +25 -0
  79. package/dist/common/util/credentials.js +24 -0
  80. package/dist/common/util/credentials.js.map +1 -0
  81. package/dist/common/util/dates.d.ts +1 -0
  82. package/dist/common/util/dates.js +13 -0
  83. package/dist/common/util/dates.js.map +1 -0
  84. package/dist/common/util/file.d.ts +151 -0
  85. package/dist/common/util/file.js +180 -0
  86. package/dist/common/util/file.js.map +1 -0
  87. package/dist/common/util/git.d.ts +6 -0
  88. package/dist/common/util/git.js +81 -0
  89. package/dist/common/util/git.js.map +1 -0
  90. package/dist/common/util/helpers.d.ts +1 -0
  91. package/dist/common/util/helpers.js +6 -0
  92. package/dist/common/util/helpers.js.map +1 -0
  93. package/dist/common/util/object.d.ts +18 -0
  94. package/dist/common/util/object.js +91 -0
  95. package/dist/common/util/object.js.map +1 -0
  96. package/dist/common/util/patch.d.ts +1 -0
  97. package/dist/common/util/patch.js +215 -0
  98. package/dist/common/util/patch.js.map +1 -0
  99. package/dist/common/util/promise.d.ts +1 -0
  100. package/dist/common/util/promise.js +33 -0
  101. package/dist/common/util/promise.js.map +1 -0
  102. package/dist/common/util/referral.d.ts +1 -0
  103. package/dist/common/util/referral.js +6 -0
  104. package/dist/common/util/referral.js.map +1 -0
  105. package/dist/common/util/server/referral.d.ts +14 -0
  106. package/dist/common/util/server/referral.js +85 -0
  107. package/dist/common/util/server/referral.js.map +1 -0
  108. package/dist/common/util/string.d.ts +9 -0
  109. package/dist/common/util/string.js +90 -0
  110. package/dist/common/util/string.js.map +1 -0
  111. package/dist/common/util/stripe.d.ts +2 -0
  112. package/dist/common/util/stripe.js +19 -0
  113. package/dist/common/util/stripe.js.map +1 -0
  114. package/dist/common/util/tools.d.ts +2 -0
  115. package/dist/common/util/tools.js +13 -0
  116. package/dist/common/util/tools.js.map +1 -0
  117. package/dist/common/websockets/websocket-client.d.ts +40 -0
  118. package/dist/common/websockets/websocket-client.js +187 -0
  119. package/dist/common/websockets/websocket-client.js.map +1 -0
  120. package/dist/common/websockets/websocket-schema.d.ts +3058 -0
  121. package/dist/common/websockets/websocket-schema.js +55 -0
  122. package/dist/common/websockets/websocket-schema.js.map +1 -0
  123. package/dist/config.d.ts +2 -0
  124. package/dist/config.js +8 -0
  125. package/dist/config.js.map +1 -0
  126. package/dist/credentials.d.ts +3 -0
  127. package/dist/credentials.js +33 -0
  128. package/dist/credentials.js.map +1 -0
  129. package/dist/fingerprint.d.ts +1 -0
  130. package/dist/fingerprint.js +43 -0
  131. package/dist/fingerprint.js.map +1 -0
  132. package/dist/index.d.ts +2 -0
  133. package/dist/index.js +75 -0
  134. package/dist/index.js.map +1 -0
  135. package/dist/menu.d.ts +1 -0
  136. package/dist/menu.js +94 -0
  137. package/dist/menu.js.map +1 -0
  138. package/dist/project-files.d.ts +64 -0
  139. package/dist/project-files.js +338 -0
  140. package/dist/project-files.js.map +1 -0
  141. package/dist/tool-handlers.d.ts +11 -0
  142. package/dist/tool-handlers.js +215 -0
  143. package/dist/tool-handlers.js.map +1 -0
  144. package/dist/types.d.ts +7 -0
  145. package/dist/types.js +3 -0
  146. package/dist/types.js.map +1 -0
  147. package/dist/update-codebuff.d.ts +1 -0
  148. package/dist/update-codebuff.js +156 -0
  149. package/dist/update-codebuff.js.map +1 -0
  150. package/dist/web-scraper.d.ts +3 -0
  151. package/dist/web-scraper.js +57 -0
  152. package/dist/web-scraper.js.map +1 -0
  153. package/dist/worker-script-project-context.d.ts +1 -0
  154. package/dist/worker-script-project-context.js +13 -0
  155. package/dist/worker-script-project-context.js.map +1 -0
  156. package/package.json +71 -0
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SERVER_MESSAGE_SCHEMA = exports.SERVER_MESSAGE_SCHEMAS = exports.CLIENT_MESSAGE_SCHEMA = exports.CLIENT_MESSAGE_SCHEMAS = void 0;
4
+ const zod_1 = require("zod");
5
+ const actions_1 = require("../actions");
6
+ exports.CLIENT_MESSAGE_SCHEMAS = {
7
+ identify: zod_1.z.object({
8
+ type: zod_1.z.literal('identify'),
9
+ txid: zod_1.z.number(),
10
+ clientSessionId: zod_1.z.string(),
11
+ }),
12
+ subscribe: zod_1.z.object({
13
+ type: zod_1.z.literal('subscribe'),
14
+ txid: zod_1.z.number(),
15
+ topics: zod_1.z.array(zod_1.z.string()),
16
+ }),
17
+ unsubscribe: zod_1.z.object({
18
+ type: zod_1.z.literal('unsubscribe'),
19
+ txid: zod_1.z.number(),
20
+ topics: zod_1.z.array(zod_1.z.string()),
21
+ }),
22
+ ping: zod_1.z.object({
23
+ type: zod_1.z.literal('ping'),
24
+ txid: zod_1.z.number(),
25
+ }),
26
+ action: zod_1.z.object({
27
+ type: zod_1.z.literal('action'),
28
+ txid: zod_1.z.number(),
29
+ data: actions_1.CLIENT_ACTION_SCHEMA,
30
+ }),
31
+ };
32
+ exports.CLIENT_MESSAGE_SCHEMA = zod_1.z.union([
33
+ exports.CLIENT_MESSAGE_SCHEMAS.identify,
34
+ exports.CLIENT_MESSAGE_SCHEMAS.subscribe,
35
+ exports.CLIENT_MESSAGE_SCHEMAS.unsubscribe,
36
+ exports.CLIENT_MESSAGE_SCHEMAS.ping,
37
+ exports.CLIENT_MESSAGE_SCHEMAS.action,
38
+ ]);
39
+ exports.SERVER_MESSAGE_SCHEMAS = {
40
+ ack: zod_1.z.object({
41
+ type: zod_1.z.literal('ack'),
42
+ txid: zod_1.z.number().optional(),
43
+ success: zod_1.z.boolean(),
44
+ error: zod_1.z.string().optional(),
45
+ }),
46
+ action: zod_1.z.object({
47
+ type: zod_1.z.literal('action'),
48
+ data: actions_1.SERVER_ACTION_SCHEMA,
49
+ }),
50
+ };
51
+ exports.SERVER_MESSAGE_SCHEMA = zod_1.z.union([
52
+ exports.SERVER_MESSAGE_SCHEMAS.ack,
53
+ exports.SERVER_MESSAGE_SCHEMAS.action,
54
+ ]);
55
+ //# sourceMappingURL=websocket-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-schema.js","sourceRoot":"","sources":["../../src/websockets/websocket-schema.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AACvB,wCAAuE;AAE1D,QAAA,sBAAsB,GAAG;IACpC,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE;KAC5B,CAAC;IACF,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QAC5B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;KAC5B,CAAC;IACF,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAC9B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;KAC5B,CAAC;IACF,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;QACb,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACvB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;KACjB,CAAC;IACF,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,8BAAoB;KAC3B,CAAC;CACM,CAAA;AAEG,QAAA,qBAAqB,GAAG,OAAC,CAAC,KAAK,CAAC;IAC3C,8BAAsB,CAAC,QAAQ;IAC/B,8BAAsB,CAAC,SAAS;IAChC,8BAAsB,CAAC,WAAW;IAClC,8BAAsB,CAAC,IAAI;IAC3B,8BAAsB,CAAC,MAAM;CAC9B,CAAC,CAAA;AAMW,QAAA,sBAAsB,GAAG;IACpC,GAAG,EAAE,OAAC,CAAC,MAAM,CAAC;QACZ,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QACtB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;QACpB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC;IACF,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,IAAI,EAAE,8BAAoB;KAC3B,CAAC;CACH,CAAA;AAEY,QAAA,qBAAqB,GAAG,OAAC,CAAC,KAAK,CAAC;IAC3C,8BAAsB,CAAC,GAAG;IAC1B,8BAAsB,CAAC,MAAM;CAC9B,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const isProduction: boolean;
2
+ export declare const websocketUrl: string;
package/dist/config.js ADDED
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.websocketUrl = exports.isProduction = void 0;
4
+ exports.isProduction = process.env.ENVIRONMENT === 'production';
5
+ exports.websocketUrl = exports.isProduction
6
+ ? `wss://${process.env.NEXT_PUBLIC_BACKEND_URL}/ws`
7
+ : `ws://${process.env.NEXT_PUBLIC_BACKEND_URL}/ws`;
8
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,YAAY,CAAA;AAEvD,QAAA,YAAY,GAAG,oBAAY;IACtC,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK;IACnD,CAAC,CAAC,QAAQ,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { User } from './common/util/credentials';
2
+ export declare const userFromJson: (json: string, profileName?: string) => User | undefined;
3
+ export declare const CREDENTIALS_PATH: string;
@@ -0,0 +1,33 @@
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.CREDENTIALS_PATH = exports.userFromJson = void 0;
7
+ const credentials_1 = require("./common/util/credentials");
8
+ const zod_1 = require("zod");
9
+ const os_1 = __importDefault(require("os"));
10
+ const node_path_1 = __importDefault(require("node:path"));
11
+ const credentialsSchema = zod_1.z
12
+ .object({
13
+ default: credentials_1.userSchema,
14
+ })
15
+ .catchall(credentials_1.userSchema);
16
+ const userFromJson = (json, profileName = 'default') => {
17
+ try {
18
+ const allCredentials = credentialsSchema.parse(JSON.parse(json));
19
+ const profile = allCredentials[profileName];
20
+ return profile;
21
+ }
22
+ catch (error) {
23
+ console.error('Error parsing user JSON:', error);
24
+ return;
25
+ }
26
+ };
27
+ exports.userFromJson = userFromJson;
28
+ exports.CREDENTIALS_PATH = node_path_1.default.join(os_1.default.homedir(), '.config', 'manicode' +
29
+ // on a development stack?
30
+ (process.env.ENVIRONMENT && process.env.ENVIRONMENT !== 'production'
31
+ ? `-${process.env.ENVIRONMENT}`
32
+ : ''), 'credentials.json');
33
+ //# sourceMappingURL=credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":";;;;;;AAAA,yDAA0D;AAC1D,6BAAuB;AACvB,4CAAmB;AACnB,0DAA4B;AAE5B,MAAM,iBAAiB,GAAG,OAAC;KACxB,MAAM,CAAC;IACN,OAAO,EAAE,wBAAU;CACpB,CAAC;KACD,QAAQ,CAAC,wBAAU,CAAC,CAAA;AAEhB,MAAM,YAAY,GAAG,CAC1B,IAAY,EACZ,cAAsB,SAAS,EACb,EAAE;IACpB,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QAChE,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;QAC3C,OAAO,OAAO,CAAA;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;QAChD,OAAM;IACR,CAAC;AACH,CAAC,CAAA;AAZY,QAAA,YAAY,gBAYxB;AAEY,QAAA,gBAAgB,GAAG,mBAAI,CAAC,IAAI,CACvC,YAAE,CAAC,OAAO,EAAE,EACZ,SAAS,EACT,UAAU;IACR,0BAA0B;IAC1B,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,YAAY;QAClE,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE;QAC/B,CAAC,CAAC,EAAE,CAAC,EACT,kBAAkB,CACnB,CAAA"}
@@ -0,0 +1 @@
1
+ export declare function calculateFingerprint(): Promise<string>;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ // Modified from: https://github.com/andsmedeiros/hw-fingerprint
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.calculateFingerprint = calculateFingerprint;
5
+ const node_crypto_1 = require("node:crypto");
6
+ const node_os_1 = require("node:os");
7
+ const systeminformation_1 = require("systeminformation");
8
+ const getFingerprintInfo = async () => {
9
+ const { manufacturer, model, serial, uuid } = await (0, systeminformation_1.system)();
10
+ const { vendor, version: biosVersion, releaseDate } = await (0, systeminformation_1.bios)();
11
+ const { manufacturer: boardManufacturer, model: boardModel, serial: boardSerial, } = await (0, systeminformation_1.baseboard)();
12
+ const { manufacturer: cpuManufacturer, brand, speedMax, cores, physicalCores, socket, } = await (0, systeminformation_1.cpu)();
13
+ const { platform, arch } = await (0, systeminformation_1.osInfo)();
14
+ return {
15
+ EOL: node_os_1.EOL,
16
+ endianness: (0, node_os_1.endianness)(),
17
+ manufacturer,
18
+ model,
19
+ serial,
20
+ uuid,
21
+ vendor,
22
+ biosVersion,
23
+ releaseDate,
24
+ boardManufacturer,
25
+ boardModel,
26
+ boardSerial,
27
+ cpuManufacturer,
28
+ brand,
29
+ speedMax: speedMax.toFixed(2),
30
+ cores,
31
+ physicalCores,
32
+ socket,
33
+ platform,
34
+ arch,
35
+ };
36
+ };
37
+ async function calculateFingerprint() {
38
+ const fingerprintInfo = await getFingerprintInfo();
39
+ const fingerprintString = JSON.stringify(fingerprintInfo);
40
+ const fingerprintHash = (0, node_crypto_1.createHash)('sha256').update(fingerprintString);
41
+ return fingerprintHash.digest().toString('base64url');
42
+ }
43
+ //# sourceMappingURL=fingerprint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../src/fingerprint.ts"],"names":[],"mappings":";AAAA,gEAAgE;;AAuDhE,oDAKC;AA1DD,6CAAwC;AACxC,qCAAyC;AACzC,yDAO0B;AAE1B,MAAM,kBAAkB,GAAG,KAAK,IAAI,EAAE;IACpC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,0BAAM,GAAE,CAAA;IAC5D,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,wBAAI,GAAE,CAAA;IAClE,MAAM,EACJ,YAAY,EAAE,iBAAiB,EAC/B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,GACpB,GAAG,MAAM,IAAA,6BAAS,GAAE,CAAA;IACrB,MAAM,EACJ,YAAY,EAAE,eAAe,EAC7B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,aAAa,EACb,MAAM,GACP,GAAG,MAAM,IAAA,uBAAG,GAAE,CAAA;IACf,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,0BAAM,GAAE,CAAA;IAEzC,OAAO;QACL,GAAG,EAAH,aAAG;QACH,UAAU,EAAE,IAAA,oBAAU,GAAE;QACxB,YAAY;QACZ,KAAK;QACL,MAAM;QACN,IAAI;QACJ,MAAM;QACN,WAAW;QACX,WAAW;QACX,iBAAiB;QACjB,UAAU;QACV,WAAW;QACX,eAAe;QACf,KAAK;QACL,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,KAAK;QACL,aAAa;QACb,MAAM;QACN,QAAQ;QACR,IAAI;KACkB,CAAA;AAC1B,CAAC,CAAA;AAEM,KAAK,UAAU,oBAAoB;IACxC,MAAM,eAAe,GAAG,MAAM,kBAAkB,EAAE,CAAA;IAClD,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;IACzD,MAAM,eAAe,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;IACtE,OAAO,eAAe,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;AACvD,CAAC"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
package/dist/index.js ADDED
@@ -0,0 +1,75 @@
1
+ #!/usr/bin/env node
2
+ process.env.ENVIRONMENT = 'production';
3
+ process.env.NEXT_PUBLIC_BACKEND_URL = 'manicode-backend.onrender.com';
4
+ process.env.NEXT_PUBLIC_APP_URL = 'https://codebuff.com';
5
+ process.env.NEXT_PUBLIC_SUPPORT_EMAIL = 'support@codebuff.com';
6
+ "use strict";
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ const fs_1 = __importDefault(require("fs"));
12
+ const path_1 = __importDefault(require("path"));
13
+ const picocolors_1 = require("picocolors");
14
+ const cli_1 = require("./cli");
15
+ const project_files_1 = require("./project-files");
16
+ const update_codebuff_1 = require("./update-codebuff");
17
+ const tool_handlers_1 = require("./tool-handlers");
18
+ async function codebuff(projectDir, { initialInput, git, costMode }) {
19
+ const dir = (0, project_files_1.setProjectRoot)(projectDir);
20
+ (0, tool_handlers_1.resetPtyShell)(dir);
21
+ const updatePromise = (0, update_codebuff_1.updateCodebuff)();
22
+ const initFileContextPromise = (0, project_files_1.initProjectFileContextWithWorker)(dir);
23
+ const readyPromise = Promise.all([updatePromise, initFileContextPromise]);
24
+ const cli = new cli_1.CLI(readyPromise, { git, costMode });
25
+ const costModeDescription = {
26
+ lite: (0, picocolors_1.bold)((0, picocolors_1.yellow)('Lite mode ✨ enabled')),
27
+ normal: '',
28
+ pro: (0, picocolors_1.bold)((0, picocolors_1.blueBright)('Pro mode️ ⚡ enabled')),
29
+ };
30
+ console.log(`${costModeDescription[costMode]}`);
31
+ console.log(`Codebuff will read and write files in "${dir}". Type "help" for a list of commands.`);
32
+ const gitDir = path_1.default.join(dir, '.git');
33
+ if (!fs_1.default.existsSync(gitDir)) {
34
+ console.warn((0, picocolors_1.yellow)('Warning: No .git directory found. Make sure you are at the top level of your project.'));
35
+ }
36
+ cli.printInitialPrompt(initialInput);
37
+ }
38
+ if (require.main === module) {
39
+ const args = process.argv.slice(2);
40
+ const help = args.includes('--help') || args.includes('-h');
41
+ const gitArg = args.indexOf('--git');
42
+ const git = gitArg !== -1 && args[gitArg + 1] === 'stage'
43
+ ? 'stage'
44
+ : undefined;
45
+ if (gitArg !== -1) {
46
+ args.splice(gitArg, 2);
47
+ }
48
+ let costMode = 'normal';
49
+ if (args.includes('--lite')) {
50
+ costMode = 'lite';
51
+ args.splice(args.indexOf('--lite'), 1);
52
+ }
53
+ else if (args.includes('--pro')) {
54
+ costMode = 'pro';
55
+ args.splice(args.indexOf('--pro'), 1);
56
+ }
57
+ const projectPath = args[0];
58
+ const initialInput = args.slice(1).join(' ');
59
+ if (help) {
60
+ console.log('Usage: codebuff [project-directory] [initial-prompt]');
61
+ console.log('Both arguments are optional.');
62
+ console.log('If no project directory is specified, Codebuff will use the current directory.');
63
+ console.log('If an initial prompt is provided, it will be sent as the first user input.');
64
+ console.log();
65
+ console.log('Options:');
66
+ console.log(' --lite Use budget models & fetch fewer files');
67
+ console.log(' --pro Use higher quality models and fetch more files');
68
+ console.log(' --git stage Stage changes from last message');
69
+ console.log();
70
+ console.log('Codebuff allows you to interact with your codebase using natural language.');
71
+ process.exit(0);
72
+ }
73
+ codebuff(projectPath, { initialInput, git, costMode });
74
+ }
75
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/menu.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare function displayMenu(): void;
package/dist/menu.js ADDED
@@ -0,0 +1,94 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.displayMenu = displayMenu;
27
+ const constants_1 = require("./common/constants");
28
+ const project_files_1 = require("./project-files");
29
+ const picocolors_1 = __importStar(require("picocolors"));
30
+ const picocolors_2 = require("picocolors");
31
+ const getRandomColors = () => {
32
+ const allColors = ['red', 'green', 'yellow', 'blue', 'magenta', 'cyan'];
33
+ const colors = [];
34
+ while (colors.length < 3) {
35
+ const color = allColors[Math.floor(Math.random() * allColors.length)];
36
+ if (!colors.includes(color)) {
37
+ colors.push(color);
38
+ }
39
+ }
40
+ return colors;
41
+ };
42
+ function displayMenu() {
43
+ const selectedColors = getRandomColors();
44
+ const getRandomColor = () => {
45
+ return selectedColors[Math.floor(Math.random() * selectedColors.length)];
46
+ };
47
+ const colorizeRandom = (text) => {
48
+ return text
49
+ .split('')
50
+ .map((char) => {
51
+ const color = getRandomColor();
52
+ return picocolors_1.default[color](char);
53
+ })
54
+ .join('');
55
+ };
56
+ process.stdout.clearLine(0);
57
+ console.log();
58
+ console.log(`
59
+ ${colorizeRandom(' { AI }')}
60
+ ${colorizeRandom(' [CODER]')}
61
+ ${colorizeRandom(' ')}
62
+ ${colorizeRandom('██████╗')}${colorizeRandom(' ██████╗ ')}${colorizeRandom('██████╗ ')}${colorizeRandom('███████╗')}${colorizeRandom('██████╗ ')}${colorizeRandom('██╗ ██╗')}${colorizeRandom('███████╗')}${colorizeRandom('███████╗')}
63
+ ${colorizeRandom('██╔════╝')}${colorizeRandom('██╔═══██╗')}${colorizeRandom('██╔══██╗')}${colorizeRandom('██╔════╝')}${colorizeRandom('██╔══██╗')}${colorizeRandom('██║ ██║')}${colorizeRandom('██╔════╝')}${colorizeRandom('██╔════╝')}
64
+ ${colorizeRandom('██║ ')}${colorizeRandom('██║ ██║')}${colorizeRandom('██║ ██║')}${colorizeRandom('█████╗ ')}${colorizeRandom('██████╔╝')}${colorizeRandom('██║ ██║')}${colorizeRandom('█████╗ ')}${colorizeRandom('█████╗ ')}
65
+ ${colorizeRandom('██║ ')}${colorizeRandom('██║ ██║')}${colorizeRandom('██║ ██║')}${colorizeRandom('██╔══╝ ')}${colorizeRandom('██╔══██╗')}${colorizeRandom('██║ ██║')}${colorizeRandom('██╔══╝ ')}${colorizeRandom('██╔══╝ ')}
66
+ ${colorizeRandom('╚██████╗')}${colorizeRandom('╚██████╔╝')}${colorizeRandom('██████╔╝')}${colorizeRandom('███████╗')}${colorizeRandom('██████╔╝')}${colorizeRandom('╚██████╔╝')}${colorizeRandom('██║ ')}${colorizeRandom('██║ ')}
67
+ ${colorizeRandom(' ╚═════╝')}${colorizeRandom(' ╚═════╝ ')}${colorizeRandom('╚═════╝ ')}${colorizeRandom('╚══════╝')}${colorizeRandom('╚═════╝ ')}${colorizeRandom(' ╚═════╝ ')}${colorizeRandom('╚═╝ ')}${colorizeRandom('╚═╝ ')}
68
+ `);
69
+ console.log((0, picocolors_2.bold)((0, picocolors_2.green)("Welcome! I'm your AI coding assistant.")));
70
+ console.log(`\nCodebuff will read and write files within your current directory (${(0, project_files_1.getProjectRoot)()}) and run commands in your terminal.`);
71
+ console.log('\nASK CODEBUFF TO...');
72
+ console.log('- Build a feature. Brain dump what you want first.');
73
+ console.log('- Write unit tests');
74
+ console.log('- Refactor a component into multiple components');
75
+ console.log('- Fix errors from compiling your project or running tests');
76
+ console.log('- Write a script.');
77
+ console.log('- Plan a feature before implementing it. Or, write your own plan in a file and ask Codebuff to implement it step-by-step');
78
+ console.log('- Build an integration after pasting in the URL to relevant documentation');
79
+ console.log('- "Create knowledge files for your codebase" to help Codebuff understand your project');
80
+ console.log('\nCOMMANDS');
81
+ console.log('- Enter terminal commands directly: "cd backend", "npm test"');
82
+ console.log('- Use "/run <command>" for long terminal commands');
83
+ console.log('- Press ESC to cancel generation');
84
+ console.log('- Type "undo" or "redo" (abbreviated "u" or "r") to undo or redo the last change');
85
+ console.log('- Type "login" to log into Codebuff');
86
+ console.log('- Type "exit" or press Ctrl+C twice to exit Codebuff');
87
+ console.log('- Type "diff" or "d" to show changes from the last assistant response');
88
+ console.log('- Start codebuff with --lite for efficient, budget responses or --pro for higher quality responses');
89
+ console.log(`- Redeem a referral code by simply pasting it here.`);
90
+ console.log('-', (0, picocolors_2.bold)((0, picocolors_2.green)(`Refer new users and each of you will earn ${constants_1.CREDITS_REFERRAL_BONUS} credits per month: ${process.env.NEXT_PUBLIC_APP_URL}/referrals`)));
91
+ console.log('\nAny files in .gitignore are not read by Codebuff. You can ignore further files with .codebuffignore');
92
+ console.log('\nEmail your feedback to', (0, picocolors_2.bold)((0, picocolors_1.blue)('founders@codebuff.com.')), 'Thanks for using Codebuff!');
93
+ }
94
+ //# sourceMappingURL=menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.js","sourceRoot":"","sources":["../src/menu.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,kCAqFC;AAtGD,gDAAyD;AACzD,mDAAgD;AAChD,yDAA6C;AAC7C,2CAAwC;AAExC,MAAM,eAAe,GAAG,GAAG,EAAE;IAC3B,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IACvE,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;QACrE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,SAAgB,WAAW;IACzB,MAAM,cAAc,GAAG,eAAe,EAAE,CAAA;IAExC,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;IAC1E,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE;QACtC,OAAO,IAAI;aACR,KAAK,CAAC,EAAE,CAAC;aACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,KAAK,GAAG,cAAc,EAAE,CAAA;YAC9B,OAAQ,oBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAA;QACzC,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAA;IACb,CAAC,CAAA;IAED,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAC3B,OAAO,CAAC,GAAG,EAAE,CAAA;IAEb,OAAO,CAAC,GAAG,CAAC;EACZ,cAAc,CAAC,aAAa,CAAC;EAC7B,cAAc,CAAC,aAAa,CAAC;EAC7B,cAAc,CAAC,YAAY,CAAC;EAC5B,cAAc,CAAC,SAAS,CAAC,GAAG,cAAc,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC;EACvO,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC;EACvO,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC;EACvO,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC;EACvO,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC;EACvO,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC;CACxO,CAAC,CAAA;IACA,OAAO,CAAC,GAAG,CAAC,IAAA,iBAAI,EAAC,IAAA,kBAAK,EAAC,wCAAwC,CAAC,CAAC,CAAC,CAAA;IAClE,OAAO,CAAC,GAAG,CACT,uEAAuE,IAAA,8BAAc,GAAE,sCAAsC,CAC9H,CAAA;IAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;IACnC,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAA;IACjE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;IACjC,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;IAC9D,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAA;IACxE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;IAChC,OAAO,CAAC,GAAG,CACT,0HAA0H,CAC3H,CAAA;IACD,OAAO,CAAC,GAAG,CACT,2EAA2E,CAC5E,CAAA;IACD,OAAO,CAAC,GAAG,CACT,uFAAuF,CACxF,CAAA;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACzB,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAA;IAC3E,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAA;IAChE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;IAC/C,OAAO,CAAC,GAAG,CACT,kFAAkF,CACnF,CAAA;IACD,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;IAClD,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAA;IACnE,OAAO,CAAC,GAAG,CACT,uEAAuE,CACxE,CAAA;IACD,OAAO,CAAC,GAAG,CACT,oGAAoG,CACrG,CAAA;IACD,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAA;IAClE,OAAO,CAAC,GAAG,CACT,GAAG,EACH,IAAA,iBAAI,EACF,IAAA,kBAAK,EACH,6CAA6C,kCAAsB,uBAAuB,OAAO,CAAC,GAAG,CAAC,mBAAmB,YAAY,CACtI,CACF,CACF,CAAA;IAED,OAAO,CAAC,GAAG,CACT,uGAAuG,CACxG,CAAA;IACD,OAAO,CAAC,GAAG,CACT,0BAA0B,EAC1B,IAAA,iBAAI,EAAC,IAAA,iBAAI,EAAC,wBAAwB,CAAC,CAAC,EACpC,4BAA4B,CAC7B,CAAA;AACH,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { FileVersion } from './common/util/file';
2
+ export declare function setProjectRoot(dir: string | undefined): string;
3
+ export declare function getProjectRoot(): string;
4
+ export declare function initProjectFileContextWithWorker(dir: string): Promise<{
5
+ currentWorkingDirectory: string;
6
+ fileTree: import("./common/util/file").FileTreeNode[];
7
+ fileTokenScores: Record<string, Record<string, number>>;
8
+ knowledgeFiles: Record<string, string>;
9
+ gitChanges: {
10
+ status: string;
11
+ diff: string;
12
+ diffCached: string;
13
+ lastCommitMessages: string;
14
+ };
15
+ changesSinceLastChat: Record<string, string>;
16
+ shellConfigFiles: Record<string, string>;
17
+ systemInfo: {
18
+ platform: string;
19
+ shell: string;
20
+ nodeVersion: string;
21
+ arch: string;
22
+ homedir: string;
23
+ cpus: number;
24
+ };
25
+ fileVersions: {
26
+ path: string;
27
+ content: string;
28
+ }[][];
29
+ }>;
30
+ export declare const getProjectFileContext: (projectRoot: string, lastFileVersion: Record<string, string>, fileVersions: FileVersion[][]) => Promise<{
31
+ currentWorkingDirectory: string;
32
+ fileTree: import("./common/util/file").FileTreeNode[];
33
+ fileTokenScores: Record<string, Record<string, number>>;
34
+ knowledgeFiles: Record<string, string>;
35
+ gitChanges: {
36
+ status: string;
37
+ diff: string;
38
+ diffCached: string;
39
+ lastCommitMessages: string;
40
+ };
41
+ changesSinceLastChat: Record<string, string>;
42
+ shellConfigFiles: Record<string, string>;
43
+ systemInfo: {
44
+ platform: string;
45
+ shell: string;
46
+ nodeVersion: string;
47
+ arch: string;
48
+ homedir: string;
49
+ cpus: number;
50
+ };
51
+ fileVersions: {
52
+ path: string;
53
+ content: string;
54
+ }[][];
55
+ }>;
56
+ export declare function getChangesSinceLastFileVersion(lastFileVersion: Record<string, string>): {
57
+ [k: string]: string;
58
+ };
59
+ export declare function getFiles(filePaths: string[]): Record<string, string | null>;
60
+ export declare function getExistingFiles(filePaths: string[]): Record<string, string>;
61
+ export declare function getFilesAbsolutePath(filePaths: string[]): Record<string, string | null>;
62
+ export declare function setFiles(files: Record<string, string>): void;
63
+ export declare function getFileBlocks(filePaths: string[]): string;
64
+ export declare const deleteFile: (fullPath: string) => boolean;