codecane 1.0.293 → 1.0.296

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 (300) hide show
  1. package/README.md +87 -0
  2. package/dist/background-process-manager.d.ts +50 -0
  3. package/dist/background-process-manager.js +359 -0
  4. package/dist/background-process-manager.js.map +1 -0
  5. package/dist/browser-runner.d.ts +35 -0
  6. package/dist/browser-runner.js +680 -0
  7. package/dist/browser-runner.js.map +1 -0
  8. package/dist/chat-storage.d.ts +2 -0
  9. package/dist/chat-storage.js +93 -0
  10. package/dist/chat-storage.js.map +1 -0
  11. package/dist/checkpoints/checkpoint-manager.d.ts +94 -0
  12. package/dist/checkpoints/checkpoint-manager.js +280 -0
  13. package/dist/checkpoints/checkpoint-manager.js.map +1 -0
  14. package/dist/checkpoints/file-manager.d.ts +72 -0
  15. package/dist/checkpoints/file-manager.js +294 -0
  16. package/dist/checkpoints/file-manager.js.map +1 -0
  17. package/dist/cli-handlers/api-key.d.ts +25 -0
  18. package/dist/cli-handlers/api-key.js +66 -0
  19. package/dist/cli-handlers/api-key.js.map +1 -0
  20. package/dist/cli-handlers/checkpoint.d.ts +18 -0
  21. package/dist/cli-handlers/checkpoint.js +195 -0
  22. package/dist/cli-handlers/checkpoint.js.map +1 -0
  23. package/dist/cli-handlers/diff.d.ts +2 -0
  24. package/dist/cli-handlers/diff.js +31 -0
  25. package/dist/cli-handlers/diff.js.map +1 -0
  26. package/dist/cli-handlers/easter-egg.d.ts +1 -0
  27. package/dist/cli-handlers/easter-egg.js +126 -0
  28. package/dist/cli-handlers/easter-egg.js.map +1 -0
  29. package/dist/cli-handlers/inititalization-flow.d.ts +1 -0
  30. package/dist/cli-handlers/inititalization-flow.js +24 -0
  31. package/dist/cli-handlers/inititalization-flow.js.map +1 -0
  32. package/dist/cli.d.ts +44 -0
  33. package/dist/cli.js +494 -0
  34. package/dist/cli.js.map +1 -0
  35. package/dist/client.d.ts +151 -0
  36. package/dist/client.js +835 -0
  37. package/dist/client.js.map +1 -0
  38. package/dist/code-map/languages.d.ts +13 -0
  39. package/dist/code-map/languages.d.ts.map +1 -0
  40. package/dist/code-map/languages.js +129 -0
  41. package/dist/code-map/languages.js.map +1 -0
  42. package/dist/code-map/parse.d.ts +12 -0
  43. package/dist/code-map/parse.d.ts.map +1 -0
  44. package/dist/code-map/parse.js +127 -0
  45. package/dist/code-map/parse.js.map +1 -0
  46. package/dist/code-map/test-langs/test.d.ts +12 -0
  47. package/dist/code-map/test-langs/test.d.ts.map +1 -0
  48. package/dist/code-map/test-langs/test.js +23 -0
  49. package/dist/code-map/test-langs/test.js.map +1 -0
  50. package/dist/code-map/tree-sitter-queries/readme.md +23 -0
  51. package/dist/code-map/tree-sitter-queries/tree-sitter-c-tags.scm +11 -0
  52. package/dist/code-map/tree-sitter-queries/tree-sitter-c_sharp-tags.scm +13 -0
  53. package/dist/code-map/tree-sitter-queries/tree-sitter-cpp-tags.scm +17 -0
  54. package/dist/code-map/tree-sitter-queries/tree-sitter-go-tags.scm +26 -0
  55. package/dist/code-map/tree-sitter-queries/tree-sitter-java-tags.scm +19 -0
  56. package/dist/code-map/tree-sitter-queries/tree-sitter-javascript-tags.scm +15 -0
  57. package/dist/code-map/tree-sitter-queries/tree-sitter-php-tags.scm +26 -0
  58. package/dist/code-map/tree-sitter-queries/tree-sitter-python-tags.scm +9 -0
  59. package/dist/code-map/tree-sitter-queries/tree-sitter-ruby-tags.scm +58 -0
  60. package/dist/code-map/tree-sitter-queries/tree-sitter-rust-tags.scm +26 -0
  61. package/dist/code-map/tree-sitter-queries/tree-sitter-typescript-tags.scm +15 -0
  62. package/dist/code-map/tsconfig.tsbuildinfo +1 -0
  63. package/dist/common/actions.d.ts +2592 -0
  64. package/dist/common/actions.js +144 -0
  65. package/dist/common/actions.js.map +1 -0
  66. package/dist/common/analytics.d.ts +4 -0
  67. package/dist/common/analytics.js +40 -0
  68. package/dist/common/analytics.js.map +1 -0
  69. package/dist/common/api-keys/constants.d.ts +8 -0
  70. package/dist/common/api-keys/constants.js +26 -0
  71. package/dist/common/api-keys/constants.js.map +1 -0
  72. package/dist/common/api-keys/crypto.d.ts +24 -0
  73. package/dist/common/api-keys/crypto.js +186 -0
  74. package/dist/common/api-keys/crypto.js.map +1 -0
  75. package/dist/common/browser-actions.d.ts +4415 -0
  76. package/dist/common/browser-actions.js +343 -0
  77. package/dist/common/browser-actions.js.map +1 -0
  78. package/dist/common/constants/analytics-events.d.ts +19 -0
  79. package/dist/common/constants/analytics-events.js +27 -0
  80. package/dist/common/constants/analytics-events.js.map +1 -0
  81. package/dist/common/constants/grant-priorities.d.ts +2 -0
  82. package/dist/common/constants/grant-priorities.js +10 -0
  83. package/dist/common/constants/grant-priorities.js.map +1 -0
  84. package/dist/common/constants/tools.d.ts +17 -0
  85. package/dist/common/constants/tools.js +45 -0
  86. package/dist/common/constants/tools.js.map +1 -0
  87. package/dist/common/constants.d.ts +134 -0
  88. package/dist/common/constants.js +180 -0
  89. package/dist/common/constants.js.map +1 -0
  90. package/dist/common/db/drizzle.config.d.ts +2 -0
  91. package/dist/common/db/drizzle.config.js +17 -0
  92. package/dist/common/db/drizzle.config.js.map +1 -0
  93. package/dist/common/db/env.d.mts +1 -0
  94. package/dist/common/db/env.mjs +26 -0
  95. package/dist/common/db/env.mjs.map +1 -0
  96. package/dist/common/db/index.d.ts +6 -0
  97. package/dist/common/db/index.js +35 -0
  98. package/dist/common/db/index.js.map +1 -0
  99. package/dist/common/db/schema.d.ts +1419 -0
  100. package/dist/common/db/schema.js +175 -0
  101. package/dist/common/db/schema.js.map +1 -0
  102. package/dist/common/db/transaction.d.ts +12 -0
  103. package/dist/common/db/transaction.js +36 -0
  104. package/dist/common/db/transaction.js.map +1 -0
  105. package/dist/common/env.d.mts +1 -0
  106. package/dist/common/env.mjs +40 -0
  107. package/dist/common/env.mjs.map +1 -0
  108. package/dist/common/json-config/__tests__/stringify-schema.test.d.ts +1 -0
  109. package/dist/common/json-config/__tests__/stringify-schema.test.js +66 -0
  110. package/dist/common/json-config/__tests__/stringify-schema.test.js.map +1 -0
  111. package/dist/common/json-config/constants.d.ts +82 -0
  112. package/dist/common/json-config/constants.js +48 -0
  113. package/dist/common/json-config/constants.js.map +1 -0
  114. package/dist/common/json-config/parser.d.ts +7 -0
  115. package/dist/common/json-config/parser.js +51 -0
  116. package/dist/common/json-config/parser.js.map +1 -0
  117. package/dist/common/json-config/stringify-schema.d.ts +9 -0
  118. package/dist/common/json-config/stringify-schema.js +131 -0
  119. package/dist/common/json-config/stringify-schema.js.map +1 -0
  120. package/dist/common/project-file-tree.d.ts +11 -0
  121. package/dist/common/project-file-tree.js +200 -0
  122. package/dist/common/project-file-tree.js.map +1 -0
  123. package/dist/common/types/agent-state.d.ts +464 -0
  124. package/dist/common/types/agent-state.js +32 -0
  125. package/dist/common/types/agent-state.js.map +1 -0
  126. package/dist/common/types/grant.d.ts +2 -0
  127. package/dist/common/types/grant.js +10 -0
  128. package/dist/common/types/grant.js.map +1 -0
  129. package/dist/common/types/message.d.ts +311 -0
  130. package/dist/common/types/message.js +54 -0
  131. package/dist/common/types/message.js.map +1 -0
  132. package/dist/common/types/referral.d.ts +2 -0
  133. package/dist/common/types/referral.js +5 -0
  134. package/dist/common/types/referral.js.map +1 -0
  135. package/dist/common/types/tools.d.ts +5 -0
  136. package/dist/common/types/tools.js +3 -0
  137. package/dist/common/types/tools.js.map +1 -0
  138. package/dist/common/types/usage.d.ts +40 -0
  139. package/dist/common/types/usage.js +15 -0
  140. package/dist/common/types/usage.js.map +1 -0
  141. package/dist/common/util/__tests__/messages.test.d.ts +1 -0
  142. package/dist/common/util/__tests__/messages.test.js +70 -0
  143. package/dist/common/util/__tests__/messages.test.js.map +1 -0
  144. package/dist/common/util/__tests__/saxy.test.d.ts +1 -0
  145. package/dist/common/util/__tests__/saxy.test.js +387 -0
  146. package/dist/common/util/__tests__/saxy.test.js.map +1 -0
  147. package/dist/common/util/__tests__/string.test.d.ts +1 -0
  148. package/dist/common/util/__tests__/string.test.js +82 -0
  149. package/dist/common/util/__tests__/string.test.js.map +1 -0
  150. package/dist/common/util/array.d.ts +6 -0
  151. package/dist/common/util/array.js +32 -0
  152. package/dist/common/util/array.js.map +1 -0
  153. package/dist/common/util/changes.d.ts +7 -0
  154. package/dist/common/util/changes.js +78 -0
  155. package/dist/common/util/changes.js.map +1 -0
  156. package/dist/common/util/credentials.d.ts +25 -0
  157. package/dist/common/util/credentials.js +24 -0
  158. package/dist/common/util/credentials.js.map +1 -0
  159. package/dist/common/util/currency.d.ts +14 -0
  160. package/dist/common/util/currency.js +23 -0
  161. package/dist/common/util/currency.js.map +1 -0
  162. package/dist/common/util/dates.d.ts +10 -0
  163. package/dist/common/util/dates.js +22 -0
  164. package/dist/common/util/dates.js.map +1 -0
  165. package/dist/common/util/file.d.ts +159 -0
  166. package/dist/common/util/file.js +192 -0
  167. package/dist/common/util/file.js.map +1 -0
  168. package/dist/common/util/git.d.ts +6 -0
  169. package/dist/common/util/git.js +81 -0
  170. package/dist/common/util/git.js.map +1 -0
  171. package/dist/common/util/logger.d.ts +8 -0
  172. package/dist/common/util/logger.js +52 -0
  173. package/dist/common/util/logger.js.map +1 -0
  174. package/dist/common/util/lru-cache.d.ts +30 -0
  175. package/dist/common/util/lru-cache.js +68 -0
  176. package/dist/common/util/lru-cache.js.map +1 -0
  177. package/dist/common/util/messages.d.ts +9 -0
  178. package/dist/common/util/messages.js +69 -0
  179. package/dist/common/util/messages.js.map +1 -0
  180. package/dist/common/util/min-heap.d.ts +15 -0
  181. package/dist/common/util/min-heap.js +73 -0
  182. package/dist/common/util/min-heap.js.map +1 -0
  183. package/dist/common/util/object.d.ts +18 -0
  184. package/dist/common/util/object.js +91 -0
  185. package/dist/common/util/object.js.map +1 -0
  186. package/dist/common/util/patch.d.ts +1 -0
  187. package/dist/common/util/patch.js +215 -0
  188. package/dist/common/util/patch.js.map +1 -0
  189. package/dist/common/util/promise.d.ts +17 -0
  190. package/dist/common/util/promise.js +80 -0
  191. package/dist/common/util/promise.js.map +1 -0
  192. package/dist/common/util/referral.d.ts +1 -0
  193. package/dist/common/util/referral.js +6 -0
  194. package/dist/common/util/referral.js.map +1 -0
  195. package/dist/common/util/saxy.d.ts +164 -0
  196. package/dist/common/util/saxy.js +503 -0
  197. package/dist/common/util/saxy.js.map +1 -0
  198. package/dist/common/util/string.d.ts +61 -0
  199. package/dist/common/util/string.js +220 -0
  200. package/dist/common/util/string.js.map +1 -0
  201. package/dist/common/util/stripe.d.ts +3 -0
  202. package/dist/common/util/stripe.js +22 -0
  203. package/dist/common/util/stripe.js.map +1 -0
  204. package/dist/common/util/sync-failure.d.ts +1 -0
  205. package/dist/common/util/sync-failure.js +57 -0
  206. package/dist/common/util/sync-failure.js.map +1 -0
  207. package/dist/common/websockets/websocket-client.d.ts +42 -0
  208. package/dist/common/websockets/websocket-client.js +216 -0
  209. package/dist/common/websockets/websocket-client.js.map +1 -0
  210. package/dist/common/websockets/websocket-schema.d.ts +4876 -0
  211. package/dist/common/websockets/websocket-schema.js +55 -0
  212. package/dist/common/websockets/websocket-schema.js.map +1 -0
  213. package/dist/config.d.ts +4 -0
  214. package/dist/config.js +12 -0
  215. package/dist/config.js.map +1 -0
  216. package/dist/create-template-project.d.ts +1 -0
  217. package/dist/create-template-project.js +107 -0
  218. package/dist/create-template-project.js.map +1 -0
  219. package/dist/credentials.d.ts +4 -0
  220. package/dist/credentials.js +38 -0
  221. package/dist/credentials.js.map +1 -0
  222. package/dist/dev-process-manager.d.ts +10 -0
  223. package/dist/dev-process-manager.js +55 -0
  224. package/dist/dev-process-manager.js.map +1 -0
  225. package/dist/display.d.ts +9 -0
  226. package/dist/display.js +68 -0
  227. package/dist/display.js.map +1 -0
  228. package/dist/fingerprint.d.ts +1 -0
  229. package/dist/fingerprint.js +48 -0
  230. package/dist/fingerprint.js.map +1 -0
  231. package/dist/index.d.ts +2 -0
  232. package/dist/index.js +130 -0
  233. package/dist/index.js.map +1 -0
  234. package/dist/menu.d.ts +3 -0
  235. package/dist/menu.js +170 -0
  236. package/dist/menu.js.map +1 -0
  237. package/dist/project-files.d.ts +129 -0
  238. package/dist/project-files.js +556 -0
  239. package/dist/project-files.js.map +1 -0
  240. package/dist/startup-process-handler.d.ts +2 -0
  241. package/dist/startup-process-handler.js +21 -0
  242. package/dist/startup-process-handler.js.map +1 -0
  243. package/dist/tool-handlers.d.ts +30 -0
  244. package/dist/tool-handlers.js +245 -0
  245. package/dist/tool-handlers.js.map +1 -0
  246. package/dist/types.d.ts +15 -0
  247. package/dist/types.js +3 -0
  248. package/dist/types.js.map +1 -0
  249. package/dist/update-codebuff.d.ts +1 -0
  250. package/dist/update-codebuff.js +161 -0
  251. package/dist/update-codebuff.js.map +1 -0
  252. package/dist/utils/__tests__/background-process-manager.test.d.ts +1 -0
  253. package/dist/utils/__tests__/background-process-manager.test.js +327 -0
  254. package/dist/utils/__tests__/background-process-manager.test.js.map +1 -0
  255. package/dist/utils/__tests__/response-example-4-files.txt +621 -0
  256. package/dist/utils/__tests__/tool-renderers.test.d.ts +1 -0
  257. package/dist/utils/__tests__/tool-renderers.test.js +51 -0
  258. package/dist/utils/__tests__/tool-renderers.test.js.map +1 -0
  259. package/dist/utils/__tests__/xml-stream-parser.test.d.ts +1 -0
  260. package/dist/utils/__tests__/xml-stream-parser.test.js +229 -0
  261. package/dist/utils/__tests__/xml-stream-parser.test.js.map +1 -0
  262. package/dist/utils/analytics.d.ts +6 -0
  263. package/dist/utils/analytics.js +83 -0
  264. package/dist/utils/analytics.js.map +1 -0
  265. package/dist/utils/detect-shell.d.ts +1 -0
  266. package/dist/utils/detect-shell.js +60 -0
  267. package/dist/utils/detect-shell.js.map +1 -0
  268. package/dist/utils/git.d.ts +2 -0
  269. package/dist/utils/git.js +40 -0
  270. package/dist/utils/git.js.map +1 -0
  271. package/dist/utils/logger.d.ts +21 -0
  272. package/dist/utils/logger.js +105 -0
  273. package/dist/utils/logger.js.map +1 -0
  274. package/dist/utils/spinner.d.ts +11 -0
  275. package/dist/utils/spinner.js +87 -0
  276. package/dist/utils/spinner.js.map +1 -0
  277. package/dist/utils/system-info.d.ts +8 -0
  278. package/dist/utils/system-info.js +22 -0
  279. package/dist/utils/system-info.js.map +1 -0
  280. package/dist/utils/terminal.d.ts +43 -0
  281. package/dist/utils/terminal.js +546 -0
  282. package/dist/utils/terminal.js.map +1 -0
  283. package/dist/utils/tool-renderers.d.ts +16 -0
  284. package/dist/utils/tool-renderers.js +163 -0
  285. package/dist/utils/tool-renderers.js.map +1 -0
  286. package/dist/utils/xml-stream-parser.d.ts +9 -0
  287. package/dist/utils/xml-stream-parser.js +128 -0
  288. package/dist/utils/xml-stream-parser.js.map +1 -0
  289. package/dist/web-scraper.d.ts +3 -0
  290. package/dist/web-scraper.js +57 -0
  291. package/dist/web-scraper.js.map +1 -0
  292. package/dist/workers/checkpoint-worker.d.ts +1 -0
  293. package/dist/workers/checkpoint-worker.js +48 -0
  294. package/dist/workers/checkpoint-worker.js.map +1 -0
  295. package/dist/workers/project-context.d.ts +1 -0
  296. package/dist/workers/project-context.js +20 -0
  297. package/dist/workers/project-context.js.map +1 -0
  298. package/package.json +69 -22
  299. package/bin/launcher.js +0 -21
  300. package/scripts/postinstall.js +0 -100
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sleep = exports.mapAsync = exports.INITIAL_RETRY_DELAY = void 0;
4
+ exports.withRetry = withRetry;
5
+ exports.withTimeout = withTimeout;
6
+ exports.INITIAL_RETRY_DELAY = 1000; // 1 second
7
+ async function withRetry(operation, options = {}) {
8
+ const { maxRetries = 3, retryIf = (error) => error?.type === 'APIConnectionError', onRetry = () => { }, retryDelayMs = exports.INITIAL_RETRY_DELAY, } = options;
9
+ let lastError = null;
10
+ for (let attempt = 0; attempt < maxRetries; attempt++) {
11
+ try {
12
+ return await operation();
13
+ }
14
+ catch (error) {
15
+ lastError = error;
16
+ if (!retryIf(error) || attempt === maxRetries - 1) {
17
+ throw error;
18
+ }
19
+ onRetry(error, attempt + 1);
20
+ // Exponential backoff
21
+ const delayMs = retryDelayMs * Math.pow(2, attempt);
22
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
23
+ }
24
+ }
25
+ throw lastError;
26
+ }
27
+ const mapAsync = (items, f, maxConcurrentRequests = 20) => {
28
+ let index = 0;
29
+ let currRequests = 0;
30
+ const results = [];
31
+ return new Promise((resolve, reject) => {
32
+ const doWork = () => {
33
+ while (index < items.length && currRequests < maxConcurrentRequests) {
34
+ const itemIndex = index;
35
+ f(items[itemIndex], itemIndex)
36
+ .then((data) => {
37
+ results[itemIndex] = data;
38
+ currRequests--;
39
+ if (index === items.length && currRequests === 0)
40
+ resolve(results);
41
+ else
42
+ doWork();
43
+ })
44
+ .catch(reject);
45
+ index++;
46
+ currRequests++;
47
+ }
48
+ };
49
+ if (items.length === 0)
50
+ resolve([]);
51
+ else
52
+ doWork();
53
+ });
54
+ };
55
+ exports.mapAsync = mapAsync;
56
+ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
57
+ exports.sleep = sleep;
58
+ /**
59
+ * Wraps a promise with a timeout
60
+ * @param promise The promise to wrap
61
+ * @param timeoutMs Timeout in milliseconds
62
+ * @param timeoutMessage Optional message for the timeout error
63
+ * @returns A promise that resolves with the result of the original promise or rejects with a timeout error
64
+ */
65
+ async function withTimeout(promise, timeoutMs, timeoutMessage = 'Operation timed out') {
66
+ let timeoutId;
67
+ const timeoutPromise = new Promise((_, reject) => {
68
+ timeoutId = setTimeout(() => {
69
+ reject(new Error(timeoutMessage));
70
+ }, timeoutMs);
71
+ });
72
+ return Promise.race([
73
+ promise.then((result) => {
74
+ clearTimeout(timeoutId);
75
+ return result;
76
+ }),
77
+ timeoutPromise,
78
+ ]);
79
+ }
80
+ //# sourceMappingURL=promise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise.js","sourceRoot":"","sources":["../../src/util/promise.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const getReferralLink: (referralCode: string) => string;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getReferralLink = void 0;
4
+ const getReferralLink = (referralCode) => `${process.env.NEXT_PUBLIC_APP_URL}/referrals/${referralCode}`;
5
+ exports.getReferralLink = getReferralLink;
6
+ //# sourceMappingURL=referral.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"referral.js","sourceRoot":"","sources":["../../src/util/referral.ts"],"names":[],"mappings":";;;AAAO,MAAM,eAAe,GAAG,CAAC,YAAoB,EAAU,EAAE,CAC9D,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,cAAc,YAAY,EAAE,CAAA;AADnD,QAAA,eAAe,mBACoC"}
@@ -0,0 +1,164 @@
1
+ import { Transform } from 'readable-stream';
2
+ export type TextNode = {
3
+ /** The text value */
4
+ contents: string;
5
+ };
6
+ export type CDATANode = {
7
+ /** The CDATA contents */
8
+ contents: string;
9
+ };
10
+ export type CommentNode = {
11
+ /** The comment contents */
12
+ contents: string;
13
+ };
14
+ export type ProcessingInstructionNode = {
15
+ /** The instruction contents */
16
+ contents: string;
17
+ };
18
+ /** Information about an opened tag */
19
+ export type TagOpenNode = {
20
+ /** Name of the tag that was opened. */
21
+ name: string;
22
+ /**
23
+ * Attributes passed to the tag, in a string representation
24
+ * (use Saxy.parseAttributes to get an attribute-value mapping).
25
+ */
26
+ attrs: string;
27
+ /**
28
+ * Whether the tag self-closes (tags of the form `<tag />`).
29
+ * Such tags will not be followed by a closing tag.
30
+ */
31
+ isSelfClosing: boolean;
32
+ };
33
+ /** Information about a closed tag */
34
+ export type TagCloseNode = {
35
+ /** Name of the tag that was closed. */
36
+ name: string;
37
+ };
38
+ export type NextFunction = (err?: Error) => void;
39
+ export interface SaxyEvents {
40
+ finish: () => void;
41
+ error: (err: Error) => void;
42
+ text: (data: TextNode) => void;
43
+ cdata: (data: CDATANode) => void;
44
+ comment: (data: CommentNode) => void;
45
+ processinginstruction: (data: ProcessingInstructionNode) => void;
46
+ tagopen: (data: TagOpenNode) => void;
47
+ tagclose: (data: TagCloseNode) => void;
48
+ }
49
+ export type SaxyEventNames = keyof SaxyEvents;
50
+ export type SaxyEventArgs = Error | TextNode | CDATANode | CommentNode | ProcessingInstructionNode | TagOpenNode | TagCloseNode;
51
+ export interface Saxy {
52
+ on<U extends SaxyEventNames>(event: U, listener: SaxyEvents[U]): this;
53
+ on(event: string | symbol | Event, listener: (...args: any[]) => void): this;
54
+ once<U extends SaxyEventNames>(event: U, listener: SaxyEvents[U]): this;
55
+ }
56
+ /**
57
+ * Schema for defining allowed tags and their children
58
+ */
59
+ export type TagSchema = {
60
+ [topLevelTag: string]: string[];
61
+ };
62
+ /**
63
+ * Parse a string of XML attributes to a map of attribute names to their values.
64
+ *
65
+ * @param input A string of XML attributes
66
+ * @throws If the string is malformed
67
+ * @return A map of attribute names to their values
68
+ */
69
+ export declare const parseAttrs: (input: string) => Record<string, unknown>;
70
+ /**
71
+ * Parse an XML stream and emit events corresponding
72
+ * to the different tokens encountered.
73
+ */
74
+ export declare class Saxy extends Transform {
75
+ private _decoder;
76
+ private _tagStack;
77
+ private _waiting;
78
+ private _schema;
79
+ private _pendingEntity;
80
+ /**
81
+ * Parse a string of XML attributes to a map of attribute names
82
+ * to their values
83
+ *
84
+ * @param input A string of XML attributes
85
+ * @throws If the string is malformed
86
+ * @return A map of attribute names to their values
87
+ */
88
+ static parseAttrs: (input: string) => Record<string, unknown>;
89
+ /**
90
+ * Expand a piece of XML text by replacing all XML entities
91
+ * by their canonical value. Ignore invalid and unknown
92
+ * entities
93
+ *
94
+ * @param input A string of XML text
95
+ * @return The input string, expanded
96
+ */
97
+ static parseEntities: (input: string) => string;
98
+ /**
99
+ * Create a new parser instance.
100
+ * @param schema Optional schema defining allowed top-level tags and their children
101
+ */
102
+ constructor(schema?: TagSchema);
103
+ /**
104
+ * Handle a chunk of data written into the stream.
105
+ *
106
+ * @param chunk Chunk of data.
107
+ * @param encoding Encoding of the string, or 'buffer'.
108
+ * @param callback Called when the chunk has been parsed, with
109
+ * an optional error argument.
110
+ */
111
+ _write(chunk: Buffer | string, encoding: string, callback: NextFunction): void;
112
+ /**
113
+ * Handle the end of incoming data.
114
+ *
115
+ * @param callback
116
+ */
117
+ _final(callback: NextFunction): void;
118
+ /**
119
+ * Immediately parse a complete chunk of XML and close the stream.
120
+ *
121
+ * @param input Input chunk.
122
+ */
123
+ parse(input: Buffer | string): this;
124
+ /**
125
+ * Put the stream into waiting mode, which means we need more data
126
+ * to finish parsing the current token.
127
+ *
128
+ * @param token Type of token that is being parsed.
129
+ * @param data Pending data.
130
+ */
131
+ private _wait;
132
+ /**
133
+ * Put the stream out of waiting mode.
134
+ *
135
+ * @return Any data that was pending.
136
+ */
137
+ private _unwait;
138
+ /**
139
+ * Handle the opening of a tag in the text stream.
140
+ *
141
+ * Push the tag into the opened tag stack and emit the
142
+ * corresponding event on the event emitter.
143
+ *
144
+ * @param node Information about the opened tag.
145
+ * @param rawTag The raw tag text including angle brackets
146
+ */
147
+ private _handleTagOpening;
148
+ /**
149
+ * Parse a XML chunk.
150
+ *
151
+ * @private
152
+ * @param input A string with the chunk data.
153
+ * @param callback Called when the chunk has been parsed, with
154
+ * an optional error argument.
155
+ */
156
+ private _parseChunk;
157
+ /**
158
+ * Check if a potential XML tag start is actually a valid tag
159
+ * @param input The input string
160
+ * @param pos Position after the < character
161
+ * @returns true if this is a valid XML tag start
162
+ */
163
+ private _isXMLTagStart;
164
+ }