codebuff 1.0.99

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 (153) hide show
  1. package/README.md +70 -0
  2. package/dist/chat-storage.d.ts +29 -0
  3. package/dist/chat-storage.js +125 -0
  4. package/dist/chat-storage.js.map +1 -0
  5. package/dist/cli.d.ts +37 -0
  6. package/dist/cli.js +416 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/client.d.ts +41 -0
  9. package/dist/client.js +443 -0
  10. package/dist/client.js.map +1 -0
  11. package/dist/code-map/languages.d.ts +12 -0
  12. package/dist/code-map/languages.js +129 -0
  13. package/dist/code-map/languages.js.map +1 -0
  14. package/dist/code-map/parse.d.ts +11 -0
  15. package/dist/code-map/parse.js +127 -0
  16. package/dist/code-map/parse.js.map +1 -0
  17. package/dist/code-map/test-langs/test.d.ts +11 -0
  18. package/dist/code-map/test-langs/test.js +23 -0
  19. package/dist/code-map/test-langs/test.js.map +1 -0
  20. package/dist/code-map/tree-sitter-queries/readme.md +23 -0
  21. package/dist/code-map/tree-sitter-queries/tree-sitter-c-tags.scm +11 -0
  22. package/dist/code-map/tree-sitter-queries/tree-sitter-c_sharp-tags.scm +13 -0
  23. package/dist/code-map/tree-sitter-queries/tree-sitter-cpp-tags.scm +17 -0
  24. package/dist/code-map/tree-sitter-queries/tree-sitter-go-tags.scm +26 -0
  25. package/dist/code-map/tree-sitter-queries/tree-sitter-java-tags.scm +19 -0
  26. package/dist/code-map/tree-sitter-queries/tree-sitter-javascript-tags.scm +15 -0
  27. package/dist/code-map/tree-sitter-queries/tree-sitter-php-tags.scm +26 -0
  28. package/dist/code-map/tree-sitter-queries/tree-sitter-python-tags.scm +9 -0
  29. package/dist/code-map/tree-sitter-queries/tree-sitter-ruby-tags.scm +58 -0
  30. package/dist/code-map/tree-sitter-queries/tree-sitter-rust-tags.scm +26 -0
  31. package/dist/code-map/tree-sitter-queries/tree-sitter-typescript-tags.scm +15 -0
  32. package/dist/code-map/tsconfig.tsbuildinfo +1 -0
  33. package/dist/common/actions.d.ts +1062 -0
  34. package/dist/common/actions.js +180 -0
  35. package/dist/common/actions.js.map +1 -0
  36. package/dist/common/billing/quota-manager.d.ts +59 -0
  37. package/dist/common/billing/quota-manager.js +200 -0
  38. package/dist/common/billing/quota-manager.js.map +1 -0
  39. package/dist/common/constants.d.ts +24 -0
  40. package/dist/common/constants.js +73 -0
  41. package/dist/common/constants.js.map +1 -0
  42. package/dist/common/db/drizzle.config.d.ts +2 -0
  43. package/dist/common/db/drizzle.config.js +17 -0
  44. package/dist/common/db/drizzle.config.js.map +1 -0
  45. package/dist/common/db/env.d.mts +1 -0
  46. package/dist/common/db/env.mjs +26 -0
  47. package/dist/common/db/env.mjs.map +1 -0
  48. package/dist/common/db/index.d.ts +6 -0
  49. package/dist/common/db/index.js +35 -0
  50. package/dist/common/db/index.js.map +1 -0
  51. package/dist/common/db/schema.d.ts +994 -0
  52. package/dist/common/db/schema.js +113 -0
  53. package/dist/common/db/schema.js.map +1 -0
  54. package/dist/common/env.d.mts +1 -0
  55. package/dist/common/env.mjs +34 -0
  56. package/dist/common/env.mjs.map +1 -0
  57. package/dist/common/project-file-tree.d.ts +9 -0
  58. package/dist/common/project-file-tree.js +157 -0
  59. package/dist/common/project-file-tree.js.map +1 -0
  60. package/dist/common/types/referral.d.ts +2 -0
  61. package/dist/common/types/referral.js +5 -0
  62. package/dist/common/types/referral.js.map +1 -0
  63. package/dist/common/types/usage.d.ts +21 -0
  64. package/dist/common/types/usage.js +12 -0
  65. package/dist/common/types/usage.js.map +1 -0
  66. package/dist/common/util/__tests__/string.test.d.ts +1 -0
  67. package/dist/common/util/__tests__/string.test.js +83 -0
  68. package/dist/common/util/__tests__/string.test.js.map +1 -0
  69. package/dist/common/util/array.d.ts +6 -0
  70. package/dist/common/util/array.js +32 -0
  71. package/dist/common/util/array.js.map +1 -0
  72. package/dist/common/util/changes.d.ts +6 -0
  73. package/dist/common/util/changes.js +72 -0
  74. package/dist/common/util/changes.js.map +1 -0
  75. package/dist/common/util/credentials.d.ts +25 -0
  76. package/dist/common/util/credentials.js +24 -0
  77. package/dist/common/util/credentials.js.map +1 -0
  78. package/dist/common/util/dates.d.ts +1 -0
  79. package/dist/common/util/dates.js +13 -0
  80. package/dist/common/util/dates.js.map +1 -0
  81. package/dist/common/util/file.d.ts +106 -0
  82. package/dist/common/util/file.js +138 -0
  83. package/dist/common/util/file.js.map +1 -0
  84. package/dist/common/util/git.d.ts +4 -0
  85. package/dist/common/util/git.js +40 -0
  86. package/dist/common/util/git.js.map +1 -0
  87. package/dist/common/util/helpers.d.ts +1 -0
  88. package/dist/common/util/helpers.js +6 -0
  89. package/dist/common/util/helpers.js.map +1 -0
  90. package/dist/common/util/object.d.ts +18 -0
  91. package/dist/common/util/object.js +91 -0
  92. package/dist/common/util/object.js.map +1 -0
  93. package/dist/common/util/patch.d.ts +1 -0
  94. package/dist/common/util/patch.js +215 -0
  95. package/dist/common/util/patch.js.map +1 -0
  96. package/dist/common/util/promise.d.ts +1 -0
  97. package/dist/common/util/promise.js +33 -0
  98. package/dist/common/util/promise.js.map +1 -0
  99. package/dist/common/util/referral.d.ts +1 -0
  100. package/dist/common/util/referral.js +6 -0
  101. package/dist/common/util/referral.js.map +1 -0
  102. package/dist/common/util/server/referral.d.ts +14 -0
  103. package/dist/common/util/server/referral.js +85 -0
  104. package/dist/common/util/server/referral.js.map +1 -0
  105. package/dist/common/util/string.d.ts +3 -0
  106. package/dist/common/util/string.js +60 -0
  107. package/dist/common/util/string.js.map +1 -0
  108. package/dist/common/util/stripe.d.ts +2 -0
  109. package/dist/common/util/stripe.js +19 -0
  110. package/dist/common/util/stripe.js.map +1 -0
  111. package/dist/common/util/tools.d.ts +2 -0
  112. package/dist/common/util/tools.js +13 -0
  113. package/dist/common/util/tools.js.map +1 -0
  114. package/dist/common/websockets/websocket-client.d.ts +40 -0
  115. package/dist/common/websockets/websocket-client.js +187 -0
  116. package/dist/common/websockets/websocket-client.js.map +1 -0
  117. package/dist/common/websockets/websocket-schema.d.ts +2530 -0
  118. package/dist/common/websockets/websocket-schema.js +55 -0
  119. package/dist/common/websockets/websocket-schema.js.map +1 -0
  120. package/dist/config.d.ts +2 -0
  121. package/dist/config.js +8 -0
  122. package/dist/config.js.map +1 -0
  123. package/dist/credentials.d.ts +3 -0
  124. package/dist/credentials.js +33 -0
  125. package/dist/credentials.js.map +1 -0
  126. package/dist/fingerprint.d.ts +1 -0
  127. package/dist/fingerprint.js +43 -0
  128. package/dist/fingerprint.js.map +1 -0
  129. package/dist/index.d.ts +2 -0
  130. package/dist/index.js +50 -0
  131. package/dist/index.js.map +1 -0
  132. package/dist/manifold-api.d.ts +8 -0
  133. package/dist/manifold-api.js +32 -0
  134. package/dist/manifold-api.js.map +1 -0
  135. package/dist/menu.d.ts +1 -0
  136. package/dist/menu.js +92 -0
  137. package/dist/menu.js.map +1 -0
  138. package/dist/project-files.d.ts +48 -0
  139. package/dist/project-files.js +324 -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 +131 -0
  143. package/dist/tool-handlers.js.map +1 -0
  144. package/dist/update-manicode.d.ts +1 -0
  145. package/dist/update-manicode.js +151 -0
  146. package/dist/update-manicode.js.map +1 -0
  147. package/dist/web-scraper.d.ts +3 -0
  148. package/dist/web-scraper.js +79 -0
  149. package/dist/web-scraper.js.map +1 -0
  150. package/dist/worker-script-project-context.d.ts +1 -0
  151. package/dist/worker-script-project-context.js +13 -0
  152. package/dist/worker-script-project-context.js.map +1 -0
  153. package/package.json +62 -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,50 @@
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://manicode.ai';
5
+ process.env.NEXT_PUBLIC_SUPPORT_EMAIL = 'support@manicode.ai';
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_manicode_1 = require("./update-manicode");
17
+ async function manicode(projectDir, { initialInput, autoGit }) {
18
+ const dir = (0, project_files_1.setProjectRoot)(projectDir);
19
+ const updatePromise = (0, update_manicode_1.updateManicode)();
20
+ const initFileContextPromise = (0, project_files_1.initProjectFileContextWithWorker)(dir);
21
+ const readyPromise = Promise.all([updatePromise, initFileContextPromise]);
22
+ const cli = new cli_1.CLI(readyPromise, { autoGit });
23
+ console.log(`Manicode will read and write files in "${dir}". Type "help" for a list of commands.`);
24
+ const gitDir = path_1.default.join(dir, '.git');
25
+ if (!fs_1.default.existsSync(gitDir)) {
26
+ console.warn((0, picocolors_1.yellow)('Warning: No .git directory found. Make sure you are at the top level of your project.'));
27
+ }
28
+ cli.printInitialPrompt(initialInput);
29
+ }
30
+ if (require.main === module) {
31
+ const args = process.argv.slice(2);
32
+ const help = args.includes('--help') || args.includes('-h');
33
+ const autoGit = args.includes('--auto-git');
34
+ if (autoGit) {
35
+ args.splice(args.indexOf('--auto-git'), 1);
36
+ }
37
+ const projectPath = args[0];
38
+ const initialInput = args.slice(1).join(' ');
39
+ if (help) {
40
+ console.log('Usage: manicode [project-directory] [initial-prompt]');
41
+ console.log('Both arguments are optional.');
42
+ console.log('If no project directory is specified, Manicode will use the current directory.');
43
+ console.log('If an initial prompt is provided, it will be sent as the first user input.');
44
+ console.log();
45
+ console.log('Manicode allows you to interact with your codebase using natural language.');
46
+ process.exit(0);
47
+ }
48
+ manicode(projectPath, { initialInput, autoGit });
49
+ }
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAEA,4CAAmB;AACnB,gDAAuB;AACvB,2CAAmC;AAEnC,+BAA2B;AAC3B,mDAGwB;AACxB,uDAAkD;AAElD,KAAK,UAAU,QAAQ,CACrB,UAA8B,EAC9B,EAAE,YAAY,EAAE,OAAO,EAA+C;IAEtE,MAAM,GAAG,GAAG,IAAA,8BAAc,EAAC,UAAU,CAAC,CAAA;IAEtC,MAAM,aAAa,GAAG,IAAA,gCAAc,GAAE,CAAA;IACtC,MAAM,sBAAsB,GAAG,IAAA,gDAAgC,EAAC,GAAG,CAAC,CAAA;IAEpE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC,CAAA;IAEzE,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;IAE9C,OAAO,CAAC,GAAG,CACT,0CAA0C,GAAG,wCAAwC,CACtF,CAAA;IAED,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACrC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CACV,IAAA,mBAAM,EACJ,uFAAuF,CACxF,CACF,CAAA;IACH,CAAC;IAED,GAAG,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAA;AACtC,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;IAC3C,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE5C,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAA;QACnE,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;QAC3C,OAAO,CAAC,GAAG,CACT,gFAAgF,CACjF,CAAA;QACD,OAAO,CAAC,GAAG,CACT,4EAA4E,CAC7E,CAAA;QACD,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,GAAG,CACT,4EAA4E,CAC7E,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,QAAQ,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAA;AAClD,CAAC"}
@@ -0,0 +1,8 @@
1
+ interface ManifoldMarket {
2
+ id: string;
3
+ question: string;
4
+ probability: number;
5
+ url: string;
6
+ }
7
+ export declare function searchManifoldMarkets(query: string, limit?: number): Promise<ManifoldMarket[]>;
8
+ export {};
@@ -0,0 +1,32 @@
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.searchManifoldMarkets = searchManifoldMarkets;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const MANIFOLD_API_BASE_URL = 'https://api.manifold.markets/v0';
9
+ async function searchManifoldMarkets(query, limit = 5) {
10
+ try {
11
+ console.log('sending markets request', query, limit);
12
+ const response = await axios_1.default.get(`${MANIFOLD_API_BASE_URL}/search-markets`, {
13
+ params: {
14
+ term: query,
15
+ limit,
16
+ contractType: 'BINARY',
17
+ },
18
+ });
19
+ console.log('got response', response.data);
20
+ return response.data.map((market) => ({
21
+ id: market.id,
22
+ question: market.question,
23
+ probability: market.probability,
24
+ url: market.url,
25
+ }));
26
+ }
27
+ catch (error) {
28
+ console.error('Error searching Manifold markets:', error);
29
+ throw new Error('Failed to search Manifold markets');
30
+ }
31
+ }
32
+ //# sourceMappingURL=manifold-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifold-api.js","sourceRoot":"","sources":["../src/manifold-api.ts"],"names":[],"mappings":";;;;;AAYA,sDAsBC;AAjCD,kDAAyB;AAEzB,MAAM,qBAAqB,GAAG,iCAAiC,CAAA;AASxD,KAAK,UAAU,qBAAqB,CAAC,KAAa,EAAE,QAAgB,CAAC;IAC1E,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;QACpD,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,qBAAqB,iBAAiB,EAAE;YAC1E,MAAM,EAAE;gBACN,IAAI,EAAE,KAAK;gBACX,KAAK;gBACL,YAAY,EAAE,QAAQ;aACvB;SACF,CAAC,CAAA;QACF,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;QAE1C,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,CAAC;YACzC,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,GAAG,EAAE,MAAM,CAAC,GAAG;SAChB,CAAC,CAAC,CAAA;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAA;QACzD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtD,CAAC;AACH,CAAC"}
package/dist/menu.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare function displayMenu(): void;
package/dist/menu.js ADDED
@@ -0,0 +1,92 @@
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(' / \\ / \\ [CODE]')}
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(`\nManicode will read and write files within your current directory (${(0, project_files_1.getProjectRoot)()}) and run commands in your terminal.`);
71
+ console.log('\nASK MANICODE TO...');
72
+ console.log('- Write unit tests');
73
+ console.log('- Build a feature. Brain dump what you want first.');
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 Manicode 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 Manicode 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 Manicode');
86
+ console.log('- Type "diff" or "d" to show changes from the last assistant response');
87
+ console.log(`- Redeem a referral code by simply pasting it here.`);
88
+ 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`)));
89
+ console.log('\nAny files in .gitignore are not read by Manicode. You can ignore further files with .manicodeignore');
90
+ console.log('\nEmail your feedback to', (0, picocolors_2.bold)((0, picocolors_1.blue)('founders@manicode.ai.')), 'Thanks for using Manicode!');
91
+ }
92
+ //# sourceMappingURL=menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.js","sourceRoot":"","sources":["../src/menu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
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
+ fileVersions: {
18
+ path: string;
19
+ content: string;
20
+ }[][];
21
+ }>;
22
+ export declare const getProjectFileContext: (projectRoot: string, lastFileVersion: Record<string, string>, fileVersions: FileVersion[][]) => Promise<{
23
+ currentWorkingDirectory: string;
24
+ fileTree: import("./common/util/file").FileTreeNode[];
25
+ fileTokenScores: Record<string, Record<string, number>>;
26
+ knowledgeFiles: Record<string, string>;
27
+ gitChanges: {
28
+ status: string;
29
+ diff: string;
30
+ diffCached: string;
31
+ lastCommitMessages: string;
32
+ };
33
+ changesSinceLastChat: Record<string, string>;
34
+ shellConfigFiles: Record<string, string>;
35
+ fileVersions: {
36
+ path: string;
37
+ content: string;
38
+ }[][];
39
+ }>;
40
+ export declare function getChangesSinceLastFileVersion(lastFileVersion: Record<string, string>): {
41
+ [k: string]: string;
42
+ };
43
+ export declare function getFiles(filePaths: string[]): Record<string, string | null>;
44
+ export declare function getExistingFiles(filePaths: string[]): Record<string, string>;
45
+ export declare function getFilesAbsolutePath(filePaths: string[]): Record<string, string | null>;
46
+ export declare function setFiles(files: Record<string, string>): void;
47
+ export declare function getFileBlocks(filePaths: string[]): string;
48
+ export declare const deleteFile: (fullPath: string) => boolean;