codebuff 1.0.328 → 1.0.330

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