codebuff 1.0.323 → 1.0.325

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 (232) hide show
  1. package/dist/checkpoints/file-manager.js +20 -12
  2. package/dist/checkpoints/file-manager.js.map +1 -1
  3. package/dist/code-map/test-langs/test.d.ts +12 -0
  4. package/dist/code-map/test-langs/test.d.ts.map +1 -0
  5. package/dist/code-map/test-langs/test.js +23 -0
  6. package/dist/code-map/test-langs/test.js.map +1 -0
  7. package/dist/common/actions.d.ts +58 -58
  8. package/dist/common/analytics.d.ts +1 -1
  9. package/dist/common/browser-actions.d.ts +277 -277
  10. package/dist/common/constants/tools.d.ts +1 -0
  11. package/dist/common/constants/tools.d.ts.map +1 -1
  12. package/dist/common/constants/tools.js +1 -0
  13. package/dist/common/constants/tools.js.map +1 -1
  14. package/dist/common/constants.js +3 -3
  15. package/dist/common/constants.js.map +1 -1
  16. package/dist/common/db/env.d.mts +4 -0
  17. package/dist/common/db/env.mjs +26 -0
  18. package/dist/common/db/env.mjs.map +1 -0
  19. package/dist/common/db/schema.d.ts +155 -0
  20. package/dist/common/db/schema.d.ts.map +1 -1
  21. package/dist/common/db/schema.js +15 -1
  22. package/dist/common/db/schema.js.map +1 -1
  23. package/dist/common/env.d.mts +13 -0
  24. package/dist/common/env.mjs +43 -0
  25. package/dist/common/env.mjs.map +1 -0
  26. package/dist/common/src/actions.d.ts +2673 -0
  27. package/dist/common/src/actions.d.ts.map +1 -0
  28. package/dist/common/src/actions.js +167 -0
  29. package/dist/common/src/actions.js.map +1 -0
  30. package/dist/common/src/analytics.d.ts +6 -0
  31. package/dist/common/src/analytics.d.ts.map +1 -0
  32. package/dist/common/src/analytics.js +60 -0
  33. package/dist/common/src/analytics.js.map +1 -0
  34. package/dist/common/src/api-keys/constants.d.ts +9 -0
  35. package/dist/common/src/api-keys/constants.d.ts.map +1 -0
  36. package/dist/common/src/api-keys/constants.js +26 -0
  37. package/dist/common/src/api-keys/constants.js.map +1 -0
  38. package/dist/common/src/api-keys/crypto.d.ts +25 -0
  39. package/dist/common/src/api-keys/crypto.d.ts.map +1 -0
  40. package/dist/common/src/api-keys/crypto.js +186 -0
  41. package/dist/common/src/api-keys/crypto.js.map +1 -0
  42. package/dist/common/src/browser-actions.d.ts +4416 -0
  43. package/dist/common/src/browser-actions.d.ts.map +1 -0
  44. package/dist/common/src/browser-actions.js +343 -0
  45. package/dist/common/src/browser-actions.js.map +1 -0
  46. package/dist/common/src/constants/analytics-events.d.ts +28 -0
  47. package/dist/common/src/constants/analytics-events.d.ts.map +1 -0
  48. package/dist/common/src/constants/analytics-events.js +36 -0
  49. package/dist/common/src/constants/analytics-events.js.map +1 -0
  50. package/dist/common/src/constants/grant-priorities.d.ts +3 -0
  51. package/dist/common/src/constants/grant-priorities.d.ts.map +1 -0
  52. package/dist/common/src/constants/grant-priorities.js +11 -0
  53. package/dist/common/src/constants/grant-priorities.js.map +1 -0
  54. package/dist/common/src/constants/tools.d.ts +20 -0
  55. package/dist/common/src/constants/tools.d.ts.map +1 -0
  56. package/dist/common/src/constants/tools.js +47 -0
  57. package/dist/common/src/constants/tools.js.map +1 -0
  58. package/dist/common/src/constants.d.ts +152 -0
  59. package/dist/common/src/constants.d.ts.map +1 -0
  60. package/dist/common/src/constants.js +222 -0
  61. package/dist/common/src/constants.js.map +1 -0
  62. package/dist/common/src/db/drizzle.config.d.ts +3 -0
  63. package/dist/common/src/db/drizzle.config.d.ts.map +1 -0
  64. package/dist/common/src/db/drizzle.config.js +17 -0
  65. package/dist/common/src/db/drizzle.config.js.map +1 -0
  66. package/dist/common/src/db/index.d.ts +7 -0
  67. package/dist/common/src/db/index.d.ts.map +1 -0
  68. package/dist/common/src/db/index.js +35 -0
  69. package/dist/common/src/db/index.js.map +1 -0
  70. package/dist/common/src/db/schema.d.ts +2289 -0
  71. package/dist/common/src/db/schema.d.ts.map +1 -0
  72. package/dist/common/src/db/schema.js +296 -0
  73. package/dist/common/src/db/schema.js.map +1 -0
  74. package/dist/common/src/db/transaction.d.ts +13 -0
  75. package/dist/common/src/db/transaction.d.ts.map +1 -0
  76. package/dist/common/src/db/transaction.js +36 -0
  77. package/dist/common/src/db/transaction.js.map +1 -0
  78. package/dist/common/src/json-config/__tests__/constants.test.d.ts +2 -0
  79. package/dist/common/src/json-config/__tests__/constants.test.d.ts.map +1 -0
  80. package/dist/common/src/json-config/__tests__/constants.test.js +273 -0
  81. package/dist/common/src/json-config/__tests__/constants.test.js.map +1 -0
  82. package/dist/common/src/json-config/__tests__/stringify-schema.test.d.ts +2 -0
  83. package/dist/common/src/json-config/__tests__/stringify-schema.test.d.ts.map +1 -0
  84. package/dist/common/src/json-config/__tests__/stringify-schema.test.js +66 -0
  85. package/dist/common/src/json-config/__tests__/stringify-schema.test.js.map +1 -0
  86. package/dist/common/src/json-config/constants.d.ts +138 -0
  87. package/dist/common/src/json-config/constants.d.ts.map +1 -0
  88. package/dist/common/src/json-config/constants.js +78 -0
  89. package/dist/common/src/json-config/constants.js.map +1 -0
  90. package/dist/common/src/json-config/stringify-schema.d.ts +10 -0
  91. package/dist/common/src/json-config/stringify-schema.d.ts.map +1 -0
  92. package/dist/common/src/json-config/stringify-schema.js +131 -0
  93. package/dist/common/src/json-config/stringify-schema.js.map +1 -0
  94. package/dist/common/src/project-file-tree.d.ts +12 -0
  95. package/dist/common/src/project-file-tree.d.ts.map +1 -0
  96. package/dist/common/src/project-file-tree.js +212 -0
  97. package/dist/common/src/project-file-tree.js.map +1 -0
  98. package/dist/common/src/types/agent-state.d.ts +227 -0
  99. package/dist/common/src/types/agent-state.d.ts.map +1 -0
  100. package/dist/common/src/types/agent-state.js +34 -0
  101. package/dist/common/src/types/agent-state.js.map +1 -0
  102. package/dist/common/src/types/grant.d.ts +3 -0
  103. package/dist/common/src/types/grant.d.ts.map +1 -0
  104. package/dist/common/src/types/grant.js +11 -0
  105. package/dist/common/src/types/grant.js.map +1 -0
  106. package/dist/common/src/types/message.d.ts +320 -0
  107. package/dist/common/src/types/message.d.ts.map +1 -0
  108. package/dist/common/src/types/message.js +60 -0
  109. package/dist/common/src/types/message.js.map +1 -0
  110. package/dist/common/src/types/organization.d.ts +106 -0
  111. package/dist/common/src/types/organization.d.ts.map +1 -0
  112. package/dist/common/src/types/organization.js +3 -0
  113. package/dist/common/src/types/organization.js.map +1 -0
  114. package/dist/common/src/types/referral.d.ts +3 -0
  115. package/dist/common/src/types/referral.d.ts.map +1 -0
  116. package/dist/common/src/types/referral.js +5 -0
  117. package/dist/common/src/types/referral.js.map +1 -0
  118. package/dist/common/src/types/tools.d.ts +6 -0
  119. package/dist/common/src/types/tools.d.ts.map +1 -0
  120. package/dist/common/src/types/tools.js +3 -0
  121. package/dist/common/src/types/tools.js.map +1 -0
  122. package/dist/common/src/types/usage.d.ts +41 -0
  123. package/dist/common/src/types/usage.d.ts.map +1 -0
  124. package/dist/common/src/types/usage.js +16 -0
  125. package/dist/common/src/types/usage.js.map +1 -0
  126. package/dist/common/src/util/__tests__/messages.test.d.ts +2 -0
  127. package/dist/common/src/util/__tests__/messages.test.d.ts.map +1 -0
  128. package/dist/common/src/util/__tests__/messages.test.js +70 -0
  129. package/dist/common/src/util/__tests__/messages.test.js.map +1 -0
  130. package/dist/common/src/util/__tests__/saxy.test.d.ts +2 -0
  131. package/dist/common/src/util/__tests__/saxy.test.d.ts.map +1 -0
  132. package/dist/common/src/util/__tests__/saxy.test.js +906 -0
  133. package/dist/common/src/util/__tests__/saxy.test.js.map +1 -0
  134. package/dist/common/src/util/__tests__/string.test.d.ts +2 -0
  135. package/dist/common/src/util/__tests__/string.test.d.ts.map +1 -0
  136. package/dist/common/src/util/__tests__/string.test.js +82 -0
  137. package/dist/common/src/util/__tests__/string.test.js.map +1 -0
  138. package/dist/common/src/util/array.d.ts +7 -0
  139. package/dist/common/src/util/array.d.ts.map +1 -0
  140. package/dist/common/src/util/array.js +32 -0
  141. package/dist/common/src/util/array.js.map +1 -0
  142. package/dist/common/src/util/changes.d.ts +9 -0
  143. package/dist/common/src/util/changes.d.ts.map +1 -0
  144. package/dist/common/src/util/changes.js +87 -0
  145. package/dist/common/src/util/changes.js.map +1 -0
  146. package/dist/common/src/util/credentials.d.ts +26 -0
  147. package/dist/common/src/util/credentials.d.ts.map +1 -0
  148. package/dist/common/src/util/credentials.js +24 -0
  149. package/dist/common/src/util/credentials.js.map +1 -0
  150. package/dist/common/src/util/currency.d.ts +15 -0
  151. package/dist/common/src/util/currency.d.ts.map +1 -0
  152. package/dist/common/src/util/currency.js +23 -0
  153. package/dist/common/src/util/currency.js.map +1 -0
  154. package/dist/common/src/util/dates.d.ts +11 -0
  155. package/dist/common/src/util/dates.d.ts.map +1 -0
  156. package/dist/common/src/util/dates.js +22 -0
  157. package/dist/common/src/util/dates.js.map +1 -0
  158. package/dist/common/src/util/file.d.ts +163 -0
  159. package/dist/common/src/util/file.d.ts.map +1 -0
  160. package/dist/common/src/util/file.js +192 -0
  161. package/dist/common/src/util/file.js.map +1 -0
  162. package/dist/common/src/util/git.d.ts +7 -0
  163. package/dist/common/src/util/git.d.ts.map +1 -0
  164. package/dist/common/src/util/git.js +81 -0
  165. package/dist/common/src/util/git.js.map +1 -0
  166. package/dist/common/src/util/logger.d.ts +9 -0
  167. package/dist/common/src/util/logger.d.ts.map +1 -0
  168. package/dist/common/src/util/logger.js +52 -0
  169. package/dist/common/src/util/logger.js.map +1 -0
  170. package/dist/common/src/util/lru-cache.d.ts +31 -0
  171. package/dist/common/src/util/lru-cache.d.ts.map +1 -0
  172. package/dist/common/src/util/lru-cache.js +68 -0
  173. package/dist/common/src/util/lru-cache.js.map +1 -0
  174. package/dist/common/src/util/messages.d.ts +12 -0
  175. package/dist/common/src/util/messages.d.ts.map +1 -0
  176. package/dist/common/src/util/messages.js +81 -0
  177. package/dist/common/src/util/messages.js.map +1 -0
  178. package/dist/common/src/util/min-heap.d.ts +16 -0
  179. package/dist/common/src/util/min-heap.d.ts.map +1 -0
  180. package/dist/common/src/util/min-heap.js +73 -0
  181. package/dist/common/src/util/min-heap.js.map +1 -0
  182. package/dist/common/src/util/object.d.ts +19 -0
  183. package/dist/common/src/util/object.d.ts.map +1 -0
  184. package/dist/common/src/util/object.js +91 -0
  185. package/dist/common/src/util/object.js.map +1 -0
  186. package/dist/common/src/util/patch.d.ts +2 -0
  187. package/dist/common/src/util/patch.d.ts.map +1 -0
  188. package/dist/common/src/util/patch.js +215 -0
  189. package/dist/common/src/util/patch.js.map +1 -0
  190. package/dist/common/src/util/promise.d.ts +17 -0
  191. package/dist/common/src/util/promise.d.ts.map +1 -0
  192. package/dist/common/src/util/promise.js +51 -0
  193. package/dist/common/src/util/promise.js.map +1 -0
  194. package/dist/common/src/util/random.d.ts +2 -0
  195. package/dist/common/src/util/random.d.ts.map +1 -0
  196. package/dist/common/src/util/random.js +17 -0
  197. package/dist/common/src/util/random.js.map +1 -0
  198. package/dist/common/src/util/referral.d.ts +2 -0
  199. package/dist/common/src/util/referral.d.ts.map +1 -0
  200. package/dist/common/src/util/referral.js +6 -0
  201. package/dist/common/src/util/referral.js.map +1 -0
  202. package/dist/common/src/util/saxy.d.ts +179 -0
  203. package/dist/common/src/util/saxy.d.ts.map +1 -0
  204. package/dist/common/src/util/saxy.js +548 -0
  205. package/dist/common/src/util/saxy.js.map +1 -0
  206. package/dist/common/src/util/string.d.ts +80 -0
  207. package/dist/common/src/util/string.d.ts.map +1 -0
  208. package/dist/common/src/util/string.js +264 -0
  209. package/dist/common/src/util/string.js.map +1 -0
  210. package/dist/common/src/util/stripe.d.ts +4 -0
  211. package/dist/common/src/util/stripe.d.ts.map +1 -0
  212. package/dist/common/src/util/stripe.js +22 -0
  213. package/dist/common/src/util/stripe.js.map +1 -0
  214. package/dist/common/src/util/sync-failure.d.ts +2 -0
  215. package/dist/common/src/util/sync-failure.d.ts.map +1 -0
  216. package/dist/common/src/util/sync-failure.js +57 -0
  217. package/dist/common/src/util/sync-failure.js.map +1 -0
  218. package/dist/common/src/websockets/websocket-client.d.ts +43 -0
  219. package/dist/common/src/websockets/websocket-client.d.ts.map +1 -0
  220. package/dist/common/src/websockets/websocket-client.js +216 -0
  221. package/dist/common/src/websockets/websocket-client.js.map +1 -0
  222. package/dist/common/src/websockets/websocket-schema.d.ts +5159 -0
  223. package/dist/common/src/websockets/websocket-schema.d.ts.map +1 -0
  224. package/dist/common/src/websockets/websocket-schema.js +55 -0
  225. package/dist/common/src/websockets/websocket-schema.js.map +1 -0
  226. package/dist/common/tsconfig.tsbuildinfo +1 -0
  227. package/dist/common/types/message.d.ts +16 -16
  228. package/dist/common/websockets/websocket-schema.d.ts +122 -122
  229. package/dist/index.js +5 -5
  230. package/dist/utils/tool-renderers.js +26 -0
  231. package/dist/utils/tool-renderers.js.map +1 -1
  232. package/package.json +1 -1
@@ -0,0 +1,131 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringify-schema.js","sourceRoot":"","sources":["../../../src/json-config/stringify-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
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;
12
+ //# sourceMappingURL=project-file-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-file-tree.d.ts","sourceRoot":"","sources":["../../src/project-file-tree.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAIhC,OAAO,EAAiB,YAAY,EAAE,MAAM,aAAa,CAAA;AAEzD,eAAO,MAAM,iBAAiB,QAAS,CAAA;AAEvC,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,EAAE,QAA4B,EAAE,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAC3D,YAAY,EAAE,CAkFhB;AAED,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,MAAM,CAAC,MAAM,CAwDf;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,YAAY,EAAE,EACrB,QAAQ,GAAE,MAAW,GACpB,MAAM,EAAE,CAOV;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAOjE;AAED,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,YAAY,EAAE,EAC9B,KAAK,EAAE,MAAM,YASd;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAqB5E"}
@@ -0,0 +1,212 @@
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
+ // All patterns added to the ignore instance should be relative to the projectRoot.
145
+ if (pattern.startsWith('/')) {
146
+ // A pattern starting with '/' is relative to the .gitignore file's directory.
147
+ // Remove the leading '/' and prepend the relativeDirPath to make it relative to projectRoot.
148
+ finalPattern = pattern.slice(1);
149
+ if (relativeDirPath !== '') {
150
+ finalPattern = path_1.default.join(relativeDirPath, finalPattern);
151
+ }
152
+ }
153
+ else {
154
+ // A pattern not starting with '/' is also relative to the .gitignore file's directory.
155
+ // Prepend relativeDirPath (if it exists) to make it relative to projectRoot.
156
+ // If relativeDirPath is empty, the pattern is already relative to projectRoot.
157
+ if (relativeDirPath !== '') {
158
+ finalPattern = path_1.default.join(relativeDirPath, pattern);
159
+ }
160
+ // else: pattern is already relative to projectRoot, so finalPattern remains pattern
161
+ }
162
+ finalPattern = finalPattern.replace(/\\/g, '/');
163
+ if (isNegated) {
164
+ ig.add(`!${finalPattern}`);
165
+ }
166
+ else {
167
+ ig.add(finalPattern);
168
+ }
169
+ }
170
+ }
171
+ }
172
+ return ig;
173
+ }
174
+ function getAllFilePaths(nodes, basePath = '') {
175
+ return nodes.flatMap((node) => {
176
+ if (node.type === 'file') {
177
+ return [path_1.default.join(basePath, node.name)];
178
+ }
179
+ return getAllFilePaths(node.children || [], path_1.default.join(basePath, node.name));
180
+ });
181
+ }
182
+ function flattenTree(nodes) {
183
+ return nodes.flatMap((node) => {
184
+ if (node.type === 'file') {
185
+ return [node];
186
+ }
187
+ return flattenTree(node.children ?? []);
188
+ });
189
+ }
190
+ function getLastReadFilePaths(flattenedNodes, count) {
191
+ return (0, lodash_1.sortBy)(flattenedNodes.filter((node) => node.lastReadTime), 'lastReadTime')
192
+ .reverse()
193
+ .slice(0, count)
194
+ .map((node) => node.filePath);
195
+ }
196
+ function isFileIgnored(filePath, projectRoot) {
197
+ const defaultIgnore = ignore.default();
198
+ for (const pattern of constants_1.DEFAULT_IGNORED_FILES) {
199
+ defaultIgnore.add(pattern);
200
+ }
201
+ const relativeFilePath = path_1.default.relative(projectRoot, path_1.default.join(projectRoot, filePath));
202
+ const dirPath = path_1.default.dirname(path_1.default.join(projectRoot, filePath));
203
+ // Get ignore patterns from the directory containing the file and all parent directories
204
+ const mergedIgnore = ignore.default().add(defaultIgnore);
205
+ let currentDir = dirPath;
206
+ while (currentDir.startsWith(projectRoot)) {
207
+ mergedIgnore.add(parseGitignore(currentDir, projectRoot));
208
+ currentDir = path_1.default.dirname(currentDir);
209
+ }
210
+ return mergedIgnore.ignores(relativeFilePath);
211
+ }
212
+ //# sourceMappingURL=project-file-tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-file-tree.js","sourceRoot":"","sources":["../../src/project-file-tree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,227 @@
1
+ import { z } from 'zod';
2
+ import { ProjectFileContext } from '../util/file';
3
+ export declare const ToolCallSchema: z.ZodObject<{
4
+ name: z.ZodString;
5
+ parameters: z.ZodRecord<z.ZodString, z.ZodString>;
6
+ id: z.ZodString;
7
+ }, "strip", z.ZodTypeAny, {
8
+ name: string;
9
+ id: string;
10
+ parameters: Record<string, string>;
11
+ }, {
12
+ name: string;
13
+ id: string;
14
+ parameters: Record<string, string>;
15
+ }>;
16
+ export type ToolCall = z.infer<typeof ToolCallSchema>;
17
+ export declare const ToolResultSchema: z.ZodObject<{
18
+ name: z.ZodString;
19
+ result: z.ZodString;
20
+ id: z.ZodString;
21
+ }, "strip", z.ZodTypeAny, {
22
+ name: string;
23
+ id: string;
24
+ result: string;
25
+ }, {
26
+ name: string;
27
+ id: string;
28
+ result: string;
29
+ }>;
30
+ export type ToolResult = z.infer<typeof ToolResultSchema>;
31
+ export declare const AgentStateSchema: z.ZodObject<{
32
+ agentContext: z.ZodString;
33
+ fileContext: z.ZodObject<{
34
+ currentWorkingDirectory: z.ZodString;
35
+ fileTree: z.ZodArray<z.ZodType<import("../util/file").FileTreeNode, z.ZodTypeDef, import("../util/file").FileTreeNode>, "many">;
36
+ fileTokenScores: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodNumber>>;
37
+ tokenCallers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>>;
38
+ knowledgeFiles: z.ZodRecord<z.ZodString, z.ZodString>;
39
+ userKnowledgeFiles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
40
+ gitChanges: z.ZodObject<{
41
+ status: z.ZodString;
42
+ diff: z.ZodString;
43
+ diffCached: z.ZodString;
44
+ lastCommitMessages: z.ZodString;
45
+ }, "strip", z.ZodTypeAny, {
46
+ status: string;
47
+ diff: string;
48
+ diffCached: string;
49
+ lastCommitMessages: string;
50
+ }, {
51
+ status: string;
52
+ diff: string;
53
+ diffCached: string;
54
+ lastCommitMessages: string;
55
+ }>;
56
+ changesSinceLastChat: z.ZodRecord<z.ZodString, z.ZodString>;
57
+ shellConfigFiles: z.ZodRecord<z.ZodString, z.ZodString>;
58
+ systemInfo: z.ZodObject<{
59
+ platform: z.ZodString;
60
+ shell: z.ZodString;
61
+ nodeVersion: z.ZodString;
62
+ arch: z.ZodString;
63
+ homedir: z.ZodString;
64
+ cpus: z.ZodNumber;
65
+ }, "strip", z.ZodTypeAny, {
66
+ platform: string;
67
+ shell: string;
68
+ nodeVersion: string;
69
+ arch: string;
70
+ homedir: string;
71
+ cpus: number;
72
+ }, {
73
+ platform: string;
74
+ shell: string;
75
+ nodeVersion: string;
76
+ arch: string;
77
+ homedir: string;
78
+ cpus: number;
79
+ }>;
80
+ fileVersions: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodObject<{
81
+ path: z.ZodString;
82
+ content: z.ZodString;
83
+ }, "strip", z.ZodTypeAny, {
84
+ path: string;
85
+ content: string;
86
+ }, {
87
+ path: string;
88
+ content: string;
89
+ }>, "many">, "many">>;
90
+ }, "strip", z.ZodTypeAny, {
91
+ currentWorkingDirectory: string;
92
+ fileTree: import("../util/file").FileTreeNode[];
93
+ fileTokenScores: Record<string, Record<string, number>>;
94
+ knowledgeFiles: Record<string, string>;
95
+ gitChanges: {
96
+ status: string;
97
+ diff: string;
98
+ diffCached: string;
99
+ lastCommitMessages: string;
100
+ };
101
+ changesSinceLastChat: Record<string, string>;
102
+ shellConfigFiles: Record<string, string>;
103
+ systemInfo: {
104
+ platform: string;
105
+ shell: string;
106
+ nodeVersion: string;
107
+ arch: string;
108
+ homedir: string;
109
+ cpus: number;
110
+ };
111
+ tokenCallers?: Record<string, Record<string, string[]>> | undefined;
112
+ userKnowledgeFiles?: Record<string, string> | undefined;
113
+ fileVersions?: {
114
+ path: string;
115
+ content: string;
116
+ }[][] | undefined;
117
+ }, {
118
+ currentWorkingDirectory: string;
119
+ fileTree: import("../util/file").FileTreeNode[];
120
+ fileTokenScores: Record<string, Record<string, number>>;
121
+ knowledgeFiles: Record<string, string>;
122
+ gitChanges: {
123
+ status: string;
124
+ diff: string;
125
+ diffCached: string;
126
+ lastCommitMessages: string;
127
+ };
128
+ changesSinceLastChat: Record<string, string>;
129
+ shellConfigFiles: Record<string, string>;
130
+ systemInfo: {
131
+ platform: string;
132
+ shell: string;
133
+ nodeVersion: string;
134
+ arch: string;
135
+ homedir: string;
136
+ cpus: number;
137
+ };
138
+ tokenCallers?: Record<string, Record<string, string[]>> | undefined;
139
+ userKnowledgeFiles?: Record<string, string> | undefined;
140
+ fileVersions?: {
141
+ path: string;
142
+ content: string;
143
+ }[][] | undefined;
144
+ }>;
145
+ messageHistory: z.ZodArray<z.ZodIntersection<z.ZodType<import("ai").CoreMessage, z.ZodTypeDef, import("ai").CoreMessage>, z.ZodObject<{
146
+ timeToLive: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"agentStep">, z.ZodLiteral<"userPrompt">]>>;
147
+ }, "strip", z.ZodTypeAny, {
148
+ timeToLive?: "agentStep" | "userPrompt" | undefined;
149
+ }, {
150
+ timeToLive?: "agentStep" | "userPrompt" | undefined;
151
+ }>>, "many">;
152
+ consecutiveAssistantMessages: z.ZodOptional<z.ZodNumber>;
153
+ agentStepsRemaining: z.ZodOptional<z.ZodNumber>;
154
+ }, "strip", z.ZodTypeAny, {
155
+ agentContext: string;
156
+ fileContext: {
157
+ currentWorkingDirectory: string;
158
+ fileTree: import("../util/file").FileTreeNode[];
159
+ fileTokenScores: Record<string, Record<string, number>>;
160
+ knowledgeFiles: Record<string, string>;
161
+ gitChanges: {
162
+ status: string;
163
+ diff: string;
164
+ diffCached: string;
165
+ lastCommitMessages: string;
166
+ };
167
+ changesSinceLastChat: Record<string, string>;
168
+ shellConfigFiles: Record<string, string>;
169
+ systemInfo: {
170
+ platform: string;
171
+ shell: string;
172
+ nodeVersion: string;
173
+ arch: string;
174
+ homedir: string;
175
+ cpus: number;
176
+ };
177
+ tokenCallers?: Record<string, Record<string, string[]>> | undefined;
178
+ userKnowledgeFiles?: Record<string, string> | undefined;
179
+ fileVersions?: {
180
+ path: string;
181
+ content: string;
182
+ }[][] | undefined;
183
+ };
184
+ messageHistory: (import("ai").CoreMessage & {
185
+ timeToLive?: "agentStep" | "userPrompt" | undefined;
186
+ })[];
187
+ consecutiveAssistantMessages?: number | undefined;
188
+ agentStepsRemaining?: number | undefined;
189
+ }, {
190
+ agentContext: string;
191
+ fileContext: {
192
+ currentWorkingDirectory: string;
193
+ fileTree: import("../util/file").FileTreeNode[];
194
+ fileTokenScores: Record<string, Record<string, number>>;
195
+ knowledgeFiles: Record<string, string>;
196
+ gitChanges: {
197
+ status: string;
198
+ diff: string;
199
+ diffCached: string;
200
+ lastCommitMessages: string;
201
+ };
202
+ changesSinceLastChat: Record<string, string>;
203
+ shellConfigFiles: Record<string, string>;
204
+ systemInfo: {
205
+ platform: string;
206
+ shell: string;
207
+ nodeVersion: string;
208
+ arch: string;
209
+ homedir: string;
210
+ cpus: number;
211
+ };
212
+ tokenCallers?: Record<string, Record<string, string[]>> | undefined;
213
+ userKnowledgeFiles?: Record<string, string> | undefined;
214
+ fileVersions?: {
215
+ path: string;
216
+ content: string;
217
+ }[][] | undefined;
218
+ };
219
+ messageHistory: (import("ai").CoreMessage & {
220
+ timeToLive?: "agentStep" | "userPrompt" | undefined;
221
+ })[];
222
+ consecutiveAssistantMessages?: number | undefined;
223
+ agentStepsRemaining?: number | undefined;
224
+ }>;
225
+ export type AgentState = z.infer<typeof AgentStateSchema>;
226
+ export declare function getInitialAgentState(fileContext: ProjectFileContext): AgentState;
227
+ //# sourceMappingURL=agent-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-state.d.ts","sourceRoot":"","sources":["../../../src/types/agent-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,kBAAkB,EAA4B,MAAM,cAAc,CAAA;AAG3E,eAAO,MAAM,cAAc;;;;;;;;;;;;EAIzB,CAAA;AACF,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AACrD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAI3B,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEzD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM3B,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEzD,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,kBAAkB,GAC9B,UAAU,CAQZ"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AgentStateSchema = exports.ToolResultSchema = exports.ToolCallSchema = void 0;
4
+ exports.getInitialAgentState = getInitialAgentState;
5
+ const zod_1 = require("zod");
6
+ const file_1 = require("../util/file");
7
+ const message_1 = require("./message");
8
+ exports.ToolCallSchema = zod_1.z.object({
9
+ name: zod_1.z.string(),
10
+ parameters: zod_1.z.record(zod_1.z.string(), zod_1.z.string()),
11
+ id: zod_1.z.string(),
12
+ });
13
+ exports.ToolResultSchema = zod_1.z.object({
14
+ name: zod_1.z.string(),
15
+ result: zod_1.z.string(),
16
+ id: zod_1.z.string(),
17
+ });
18
+ exports.AgentStateSchema = zod_1.z.object({
19
+ agentContext: zod_1.z.string(),
20
+ fileContext: file_1.ProjectFileContextSchema,
21
+ messageHistory: zod_1.z.array(message_1.CodebuffMessageSchema),
22
+ consecutiveAssistantMessages: zod_1.z.number().optional(),
23
+ agentStepsRemaining: zod_1.z.number().optional(),
24
+ });
25
+ function getInitialAgentState(fileContext) {
26
+ return {
27
+ agentContext: '',
28
+ messageHistory: [],
29
+ fileContext,
30
+ consecutiveAssistantMessages: 0,
31
+ agentStepsRemaining: undefined,
32
+ };
33
+ }
34
+ //# sourceMappingURL=agent-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-state.js","sourceRoot":"","sources":["../../../src/types/agent-state.ts"],"names":[],"mappings":";;;AA2BA,oDAUC;AArCD,6BAAuB;AAEvB,uCAA2E;AAC3E,uCAAiD;AAEpC,QAAA,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC;IAC5C,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;CACf,CAAC,CAAA;AAEW,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;CACf,CAAC,CAAA;AAGW,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;IACxB,WAAW,EAAE,+BAAwB;IACrC,cAAc,EAAE,OAAC,CAAC,KAAK,CAAC,+BAAqB,CAAC;IAC9C,4BAA4B,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnD,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAA;AAGF,SAAgB,oBAAoB,CAClC,WAA+B;IAE/B,OAAO;QACL,YAAY,EAAE,EAAE;QAChB,cAAc,EAAE,EAAE;QAClB,WAAW;QACX,4BAA4B,EAAE,CAAC;QAC/B,mBAAmB,EAAE,SAAS;KAC/B,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type GrantType = 'free' | 'referral' | 'purchase' | 'admin' | 'organization';
2
+ export declare const GrantTypeValues: readonly ["free", "referral", "purchase", "admin", "organization"];
3
+ //# sourceMappingURL=grant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grant.d.ts","sourceRoot":"","sources":["../../../src/types/grant.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,cAAc,CAAA;AAEnF,eAAO,MAAM,eAAe,oEAMlB,CAAC"}