@mondaydotcomorg/atp-compiler 0.17.14

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 (285) hide show
  1. package/README.md +382 -0
  2. package/__tests__/integration/all-array-methods-native.test.ts +321 -0
  3. package/__tests__/integration/all-callback-types.test.ts +406 -0
  4. package/__tests__/integration/comprehensive-edge-cases.test.ts +701 -0
  5. package/__tests__/integration/native-behavior-verification.test.ts +340 -0
  6. package/__tests__/integration/semantic-correctness.test.ts +354 -0
  7. package/__tests__/integration/threshold-tests.test.ts +529 -0
  8. package/__tests__/unit/batch-optimizer.test.ts +253 -0
  9. package/__tests__/unit/checkpoint-manager.test.ts +145 -0
  10. package/__tests__/unit/detector.test.ts +346 -0
  11. package/dist/atp-compiler/src/index.d.ts +6 -0
  12. package/dist/atp-compiler/src/index.d.ts.map +1 -0
  13. package/dist/atp-compiler/src/index.js +6 -0
  14. package/dist/atp-compiler/src/index.js.map +1 -0
  15. package/dist/atp-compiler/src/runtime/batch-parallel.d.ts +3 -0
  16. package/dist/atp-compiler/src/runtime/batch-parallel.d.ts.map +1 -0
  17. package/dist/atp-compiler/src/runtime/batch-parallel.js +13 -0
  18. package/dist/atp-compiler/src/runtime/batch-parallel.js.map +1 -0
  19. package/dist/atp-compiler/src/runtime/checkpoint-manager.d.ts +19 -0
  20. package/dist/atp-compiler/src/runtime/checkpoint-manager.d.ts.map +1 -0
  21. package/dist/atp-compiler/src/runtime/checkpoint-manager.js +81 -0
  22. package/dist/atp-compiler/src/runtime/checkpoint-manager.js.map +1 -0
  23. package/dist/atp-compiler/src/runtime/context.d.ts +8 -0
  24. package/dist/atp-compiler/src/runtime/context.d.ts.map +1 -0
  25. package/dist/atp-compiler/src/runtime/context.js +25 -0
  26. package/dist/atp-compiler/src/runtime/context.js.map +1 -0
  27. package/dist/atp-compiler/src/runtime/errors.d.ts +38 -0
  28. package/dist/atp-compiler/src/runtime/errors.d.ts.map +1 -0
  29. package/dist/atp-compiler/src/runtime/errors.js +61 -0
  30. package/dist/atp-compiler/src/runtime/errors.js.map +1 -0
  31. package/dist/atp-compiler/src/runtime/index.d.ts +16 -0
  32. package/dist/atp-compiler/src/runtime/index.d.ts.map +1 -0
  33. package/dist/atp-compiler/src/runtime/index.js +20 -0
  34. package/dist/atp-compiler/src/runtime/index.js.map +1 -0
  35. package/dist/atp-compiler/src/runtime/resumable-arrays.d.ts +9 -0
  36. package/dist/atp-compiler/src/runtime/resumable-arrays.d.ts.map +1 -0
  37. package/dist/atp-compiler/src/runtime/resumable-arrays.js +179 -0
  38. package/dist/atp-compiler/src/runtime/resumable-arrays.js.map +1 -0
  39. package/dist/atp-compiler/src/runtime/resumable-loops.d.ts +4 -0
  40. package/dist/atp-compiler/src/runtime/resumable-loops.d.ts.map +1 -0
  41. package/dist/atp-compiler/src/runtime/resumable-loops.js +61 -0
  42. package/dist/atp-compiler/src/runtime/resumable-loops.js.map +1 -0
  43. package/dist/atp-compiler/src/runtime/resumable-parallel.d.ts +3 -0
  44. package/dist/atp-compiler/src/runtime/resumable-parallel.d.ts.map +1 -0
  45. package/dist/atp-compiler/src/runtime/resumable-parallel.js +44 -0
  46. package/dist/atp-compiler/src/runtime/resumable-parallel.js.map +1 -0
  47. package/dist/atp-compiler/src/transformer/array-transformer-batch.d.ts +13 -0
  48. package/dist/atp-compiler/src/transformer/array-transformer-batch.d.ts.map +1 -0
  49. package/dist/atp-compiler/src/transformer/array-transformer-batch.js +55 -0
  50. package/dist/atp-compiler/src/transformer/array-transformer-batch.js.map +1 -0
  51. package/dist/atp-compiler/src/transformer/array-transformer-sequential.d.ts +6 -0
  52. package/dist/atp-compiler/src/transformer/array-transformer-sequential.d.ts.map +1 -0
  53. package/dist/atp-compiler/src/transformer/array-transformer-sequential.js +23 -0
  54. package/dist/atp-compiler/src/transformer/array-transformer-sequential.js.map +1 -0
  55. package/dist/atp-compiler/src/transformer/array-transformer-utils.d.ts +18 -0
  56. package/dist/atp-compiler/src/transformer/array-transformer-utils.d.ts.map +1 -0
  57. package/dist/atp-compiler/src/transformer/array-transformer-utils.js +69 -0
  58. package/dist/atp-compiler/src/transformer/array-transformer-utils.js.map +1 -0
  59. package/dist/atp-compiler/src/transformer/array-transformer-wrappers.d.ts +26 -0
  60. package/dist/atp-compiler/src/transformer/array-transformer-wrappers.d.ts.map +1 -0
  61. package/dist/atp-compiler/src/transformer/array-transformer-wrappers.js +88 -0
  62. package/dist/atp-compiler/src/transformer/array-transformer-wrappers.js.map +1 -0
  63. package/dist/atp-compiler/src/transformer/array-transformer.d.ts +12 -0
  64. package/dist/atp-compiler/src/transformer/array-transformer.d.ts.map +1 -0
  65. package/dist/atp-compiler/src/transformer/array-transformer.js +47 -0
  66. package/dist/atp-compiler/src/transformer/array-transformer.js.map +1 -0
  67. package/dist/atp-compiler/src/transformer/batch-detector.d.ts +16 -0
  68. package/dist/atp-compiler/src/transformer/batch-detector.d.ts.map +1 -0
  69. package/dist/atp-compiler/src/transformer/batch-detector.js +131 -0
  70. package/dist/atp-compiler/src/transformer/batch-detector.js.map +1 -0
  71. package/dist/atp-compiler/src/transformer/batch-optimizer.d.ts +27 -0
  72. package/dist/atp-compiler/src/transformer/batch-optimizer.d.ts.map +1 -0
  73. package/dist/atp-compiler/src/transformer/batch-optimizer.js +244 -0
  74. package/dist/atp-compiler/src/transformer/batch-optimizer.js.map +1 -0
  75. package/dist/atp-compiler/src/transformer/detector.d.ts +9 -0
  76. package/dist/atp-compiler/src/transformer/detector.d.ts.map +1 -0
  77. package/dist/atp-compiler/src/transformer/detector.js +141 -0
  78. package/dist/atp-compiler/src/transformer/detector.js.map +1 -0
  79. package/dist/atp-compiler/src/transformer/index.d.ts +22 -0
  80. package/dist/atp-compiler/src/transformer/index.d.ts.map +1 -0
  81. package/dist/atp-compiler/src/transformer/index.js +132 -0
  82. package/dist/atp-compiler/src/transformer/index.js.map +1 -0
  83. package/dist/atp-compiler/src/transformer/loop-transformer.d.ts +25 -0
  84. package/dist/atp-compiler/src/transformer/loop-transformer.d.ts.map +1 -0
  85. package/dist/atp-compiler/src/transformer/loop-transformer.js +193 -0
  86. package/dist/atp-compiler/src/transformer/loop-transformer.js.map +1 -0
  87. package/dist/atp-compiler/src/transformer/promise-transformer.d.ts +17 -0
  88. package/dist/atp-compiler/src/transformer/promise-transformer.d.ts.map +1 -0
  89. package/dist/atp-compiler/src/transformer/promise-transformer.js +132 -0
  90. package/dist/atp-compiler/src/transformer/promise-transformer.js.map +1 -0
  91. package/dist/atp-compiler/src/transformer/utils.d.ts +15 -0
  92. package/dist/atp-compiler/src/transformer/utils.d.ts.map +1 -0
  93. package/dist/atp-compiler/src/transformer/utils.js +118 -0
  94. package/dist/atp-compiler/src/transformer/utils.js.map +1 -0
  95. package/dist/atp-compiler/src/types.d.ts +57 -0
  96. package/dist/atp-compiler/src/types.d.ts.map +1 -0
  97. package/dist/atp-compiler/src/types.js +23 -0
  98. package/dist/atp-compiler/src/types.js.map +1 -0
  99. package/dist/protocol/src/auth.d.ts +173 -0
  100. package/dist/protocol/src/auth.d.ts.map +1 -0
  101. package/dist/protocol/src/auth.js +202 -0
  102. package/dist/protocol/src/auth.js.map +1 -0
  103. package/dist/protocol/src/index.d.ts +7 -0
  104. package/dist/protocol/src/index.d.ts.map +1 -0
  105. package/dist/protocol/src/index.js +7 -0
  106. package/dist/protocol/src/index.js.map +1 -0
  107. package/dist/protocol/src/oauth.d.ts +63 -0
  108. package/dist/protocol/src/oauth.d.ts.map +1 -0
  109. package/dist/protocol/src/oauth.js +5 -0
  110. package/dist/protocol/src/oauth.js.map +1 -0
  111. package/dist/protocol/src/providers.d.ts +167 -0
  112. package/dist/protocol/src/providers.d.ts.map +1 -0
  113. package/dist/protocol/src/providers.js +33 -0
  114. package/dist/protocol/src/providers.js.map +1 -0
  115. package/dist/protocol/src/schemas.d.ts +6 -0
  116. package/dist/protocol/src/schemas.d.ts.map +1 -0
  117. package/dist/protocol/src/schemas.js +51 -0
  118. package/dist/protocol/src/schemas.js.map +1 -0
  119. package/dist/protocol/src/types.d.ts +489 -0
  120. package/dist/protocol/src/types.d.ts.map +1 -0
  121. package/dist/protocol/src/types.js +88 -0
  122. package/dist/protocol/src/types.js.map +1 -0
  123. package/dist/protocol/src/validation.d.ts +76 -0
  124. package/dist/protocol/src/validation.d.ts.map +1 -0
  125. package/dist/protocol/src/validation.js +129 -0
  126. package/dist/protocol/src/validation.js.map +1 -0
  127. package/dist/provenance/src/ast/instrumentor.d.ts +37 -0
  128. package/dist/provenance/src/ast/instrumentor.d.ts.map +1 -0
  129. package/dist/provenance/src/ast/instrumentor.js +299 -0
  130. package/dist/provenance/src/ast/instrumentor.js.map +1 -0
  131. package/dist/provenance/src/index.d.ts +7 -0
  132. package/dist/provenance/src/index.d.ts.map +1 -0
  133. package/dist/provenance/src/index.js +7 -0
  134. package/dist/provenance/src/index.js.map +1 -0
  135. package/dist/provenance/src/policies/engine.d.ts +71 -0
  136. package/dist/provenance/src/policies/engine.d.ts.map +1 -0
  137. package/dist/provenance/src/policies/engine.js +433 -0
  138. package/dist/provenance/src/policies/engine.js.map +1 -0
  139. package/dist/provenance/src/registry.d.ts +94 -0
  140. package/dist/provenance/src/registry.d.ts.map +1 -0
  141. package/dist/provenance/src/registry.js +445 -0
  142. package/dist/provenance/src/registry.js.map +1 -0
  143. package/dist/provenance/src/tokens.d.ts +49 -0
  144. package/dist/provenance/src/tokens.d.ts.map +1 -0
  145. package/dist/provenance/src/tokens.js +239 -0
  146. package/dist/provenance/src/tokens.js.map +1 -0
  147. package/dist/provenance/src/types.d.ts +150 -0
  148. package/dist/provenance/src/types.d.ts.map +1 -0
  149. package/dist/provenance/src/types.js +47 -0
  150. package/dist/provenance/src/types.js.map +1 -0
  151. package/dist/runtime/src/approval/handler.d.ts +12 -0
  152. package/dist/runtime/src/approval/handler.d.ts.map +1 -0
  153. package/dist/runtime/src/approval/handler.js +17 -0
  154. package/dist/runtime/src/approval/handler.js.map +1 -0
  155. package/dist/runtime/src/approval/index.d.ts +17 -0
  156. package/dist/runtime/src/approval/index.d.ts.map +1 -0
  157. package/dist/runtime/src/approval/index.js +94 -0
  158. package/dist/runtime/src/approval/index.js.map +1 -0
  159. package/dist/runtime/src/approval/types.d.ts +21 -0
  160. package/dist/runtime/src/approval/types.d.ts.map +1 -0
  161. package/dist/runtime/src/approval/types.js +5 -0
  162. package/dist/runtime/src/approval/types.js.map +1 -0
  163. package/dist/runtime/src/cache/backends.d.ts +39 -0
  164. package/dist/runtime/src/cache/backends.d.ts.map +1 -0
  165. package/dist/runtime/src/cache/backends.js +167 -0
  166. package/dist/runtime/src/cache/backends.js.map +1 -0
  167. package/dist/runtime/src/cache/index.d.ts +32 -0
  168. package/dist/runtime/src/cache/index.d.ts.map +1 -0
  169. package/dist/runtime/src/cache/index.js +103 -0
  170. package/dist/runtime/src/cache/index.js.map +1 -0
  171. package/dist/runtime/src/cache/types.d.ts +20 -0
  172. package/dist/runtime/src/cache/types.d.ts.map +1 -0
  173. package/dist/runtime/src/cache/types.js +2 -0
  174. package/dist/runtime/src/cache/types.js.map +1 -0
  175. package/dist/runtime/src/embedding/index.d.ts +39 -0
  176. package/dist/runtime/src/embedding/index.d.ts.map +1 -0
  177. package/dist/runtime/src/embedding/index.js +162 -0
  178. package/dist/runtime/src/embedding/index.js.map +1 -0
  179. package/dist/runtime/src/embedding/types.d.ts +28 -0
  180. package/dist/runtime/src/embedding/types.d.ts.map +1 -0
  181. package/dist/runtime/src/embedding/types.js +5 -0
  182. package/dist/runtime/src/embedding/types.js.map +1 -0
  183. package/dist/runtime/src/embedding/utils.d.ts +11 -0
  184. package/dist/runtime/src/embedding/utils.d.ts.map +1 -0
  185. package/dist/runtime/src/embedding/utils.js +30 -0
  186. package/dist/runtime/src/embedding/utils.js.map +1 -0
  187. package/dist/runtime/src/embedding/vector-store.d.ts +64 -0
  188. package/dist/runtime/src/embedding/vector-store.d.ts.map +1 -0
  189. package/dist/runtime/src/embedding/vector-store.js +142 -0
  190. package/dist/runtime/src/embedding/vector-store.js.map +1 -0
  191. package/dist/runtime/src/index.d.ts +18 -0
  192. package/dist/runtime/src/index.d.ts.map +1 -0
  193. package/dist/runtime/src/index.js +17 -0
  194. package/dist/runtime/src/index.js.map +1 -0
  195. package/dist/runtime/src/llm/callback.d.ts +13 -0
  196. package/dist/runtime/src/llm/callback.d.ts.map +1 -0
  197. package/dist/runtime/src/llm/callback.js +19 -0
  198. package/dist/runtime/src/llm/callback.js.map +1 -0
  199. package/dist/runtime/src/llm/index.d.ts +29 -0
  200. package/dist/runtime/src/llm/index.d.ts.map +1 -0
  201. package/dist/runtime/src/llm/index.js +118 -0
  202. package/dist/runtime/src/llm/index.js.map +1 -0
  203. package/dist/runtime/src/llm/replay.d.ts +47 -0
  204. package/dist/runtime/src/llm/replay.d.ts.map +1 -0
  205. package/dist/runtime/src/llm/replay.js +114 -0
  206. package/dist/runtime/src/llm/replay.js.map +1 -0
  207. package/dist/runtime/src/llm/types.d.ts +24 -0
  208. package/dist/runtime/src/llm/types.d.ts.map +1 -0
  209. package/dist/runtime/src/llm/types.js +2 -0
  210. package/dist/runtime/src/llm/types.js.map +1 -0
  211. package/dist/runtime/src/log/index.d.ts +12 -0
  212. package/dist/runtime/src/log/index.d.ts.map +1 -0
  213. package/dist/runtime/src/log/index.js +166 -0
  214. package/dist/runtime/src/log/index.js.map +1 -0
  215. package/dist/runtime/src/log/types.d.ts +19 -0
  216. package/dist/runtime/src/log/types.d.ts.map +1 -0
  217. package/dist/runtime/src/log/types.js +5 -0
  218. package/dist/runtime/src/log/types.js.map +1 -0
  219. package/dist/runtime/src/metadata/decorators.d.ts +27 -0
  220. package/dist/runtime/src/metadata/decorators.d.ts.map +1 -0
  221. package/dist/runtime/src/metadata/decorators.js +38 -0
  222. package/dist/runtime/src/metadata/decorators.js.map +1 -0
  223. package/dist/runtime/src/metadata/generated.d.ts +18 -0
  224. package/dist/runtime/src/metadata/generated.d.ts.map +1 -0
  225. package/dist/runtime/src/metadata/generated.js +290 -0
  226. package/dist/runtime/src/metadata/generated.js.map +1 -0
  227. package/dist/runtime/src/metadata/index.d.ts +11 -0
  228. package/dist/runtime/src/metadata/index.d.ts.map +1 -0
  229. package/dist/runtime/src/metadata/index.js +45 -0
  230. package/dist/runtime/src/metadata/index.js.map +1 -0
  231. package/dist/runtime/src/metadata/types.d.ts +22 -0
  232. package/dist/runtime/src/metadata/types.d.ts.map +1 -0
  233. package/dist/runtime/src/metadata/types.js +6 -0
  234. package/dist/runtime/src/metadata/types.js.map +1 -0
  235. package/dist/runtime/src/pause/index.d.ts +11 -0
  236. package/dist/runtime/src/pause/index.d.ts.map +1 -0
  237. package/dist/runtime/src/pause/index.js +15 -0
  238. package/dist/runtime/src/pause/index.js.map +1 -0
  239. package/dist/runtime/src/pause/types.d.ts +46 -0
  240. package/dist/runtime/src/pause/types.d.ts.map +1 -0
  241. package/dist/runtime/src/pause/types.js +57 -0
  242. package/dist/runtime/src/pause/types.js.map +1 -0
  243. package/dist/runtime/src/progress/index.d.ts +19 -0
  244. package/dist/runtime/src/progress/index.d.ts.map +1 -0
  245. package/dist/runtime/src/progress/index.js +61 -0
  246. package/dist/runtime/src/progress/index.js.map +1 -0
  247. package/dist/runtime/src/progress/types.d.ts +7 -0
  248. package/dist/runtime/src/progress/types.d.ts.map +1 -0
  249. package/dist/runtime/src/progress/types.js +2 -0
  250. package/dist/runtime/src/progress/types.js.map +1 -0
  251. package/dist/runtime/src/registry.d.ts +16 -0
  252. package/dist/runtime/src/registry.d.ts.map +1 -0
  253. package/dist/runtime/src/registry.js +16 -0
  254. package/dist/runtime/src/registry.js.map +1 -0
  255. package/dist/runtime/src/utils.d.ts +11 -0
  256. package/dist/runtime/src/utils.d.ts.map +1 -0
  257. package/dist/runtime/src/utils.js +31 -0
  258. package/dist/runtime/src/utils.js.map +1 -0
  259. package/dist/tsconfig.tsbuildinfo +1 -0
  260. package/jest.config.js +29 -0
  261. package/package.json +56 -0
  262. package/project.json +31 -0
  263. package/src/index.ts +6 -0
  264. package/src/runtime/batch-parallel.ts +22 -0
  265. package/src/runtime/checkpoint-manager.ts +105 -0
  266. package/src/runtime/context.ts +33 -0
  267. package/src/runtime/errors.ts +79 -0
  268. package/src/runtime/index.ts +35 -0
  269. package/src/runtime/resumable-arrays.ts +253 -0
  270. package/src/runtime/resumable-loops.ts +93 -0
  271. package/src/runtime/resumable-parallel.ts +57 -0
  272. package/src/transformer/array-transformer-batch.ts +86 -0
  273. package/src/transformer/array-transformer-sequential.ts +38 -0
  274. package/src/transformer/array-transformer-utils.ts +80 -0
  275. package/src/transformer/array-transformer-wrappers.ts +165 -0
  276. package/src/transformer/array-transformer.ts +76 -0
  277. package/src/transformer/batch-detector.ts +166 -0
  278. package/src/transformer/batch-optimizer.ts +320 -0
  279. package/src/transformer/detector.ts +171 -0
  280. package/src/transformer/index.ts +155 -0
  281. package/src/transformer/loop-transformer.ts +285 -0
  282. package/src/transformer/promise-transformer.ts +194 -0
  283. package/src/transformer/utils.ts +147 -0
  284. package/src/types.ts +101 -0
  285. package/tsconfig.json +12 -0
@@ -0,0 +1,132 @@
1
+ import * as t from '@babel/types';
2
+ import { generateUniqueId } from '../runtime/context.js';
3
+ import { BatchParallelDetector } from './batch-detector.js';
4
+ export class PromiseTransformer {
5
+ transformCount = 0;
6
+ batchDetector;
7
+ enableBatchParallel;
8
+ constructor(enableBatchParallel = true) {
9
+ this.batchDetector = new BatchParallelDetector();
10
+ this.enableBatchParallel = enableBatchParallel;
11
+ }
12
+ transformPromiseAll(path) {
13
+ const node = path.node;
14
+ if (!this.isPromiseAll(node)) {
15
+ return false;
16
+ }
17
+ const arrayArg = node.arguments[0];
18
+ if (this.enableBatchParallel && this.batchDetector.canBatch(node)) {
19
+ return this.transformToBatchParallel(path, node);
20
+ }
21
+ if (t.isArrayExpression(arrayArg)) {
22
+ return this.transformToSequential(path, node);
23
+ }
24
+ return false;
25
+ }
26
+ transformPromiseAllSettled(path) {
27
+ const node = path.node;
28
+ if (!this.isPromiseAllSettled(node)) {
29
+ return false;
30
+ }
31
+ const arrayArg = node.arguments[0];
32
+ if (t.isArrayExpression(arrayArg)) {
33
+ const parallelId = generateUniqueId('allSettled');
34
+ const runtimeCall = t.awaitExpression(t.callExpression(t.memberExpression(t.identifier('__runtime'), t.identifier('resumablePromiseAllSettled')), [arrayArg, t.stringLiteral(parallelId)]));
35
+ path.replaceWith(runtimeCall);
36
+ this.transformCount++;
37
+ return true;
38
+ }
39
+ return false;
40
+ }
41
+ transformToBatchParallel(path, node) {
42
+ const arrayArg = node.arguments[0];
43
+ if (!t.isArrayExpression(arrayArg)) {
44
+ return false;
45
+ }
46
+ const batchId = generateUniqueId('batch');
47
+ const batchCallsArray = t.arrayExpression(arrayArg.elements.map((el) => {
48
+ if (!el || t.isSpreadElement(el)) {
49
+ return t.nullLiteral();
50
+ }
51
+ let callNode = el;
52
+ if (t.isAwaitExpression(callNode)) {
53
+ callNode = callNode.argument;
54
+ }
55
+ if (!t.isCallExpression(callNode) || !t.isMemberExpression(callNode.callee)) {
56
+ return t.nullLiteral();
57
+ }
58
+ const callInfo = this.batchDetector.extractCallInfo(callNode);
59
+ if (!callInfo) {
60
+ return t.nullLiteral();
61
+ }
62
+ const payloadArg = callNode.arguments[0];
63
+ return t.objectExpression([
64
+ t.objectProperty(t.identifier('type'), t.stringLiteral(callInfo.type)),
65
+ t.objectProperty(t.identifier('operation'), t.stringLiteral(callInfo.operation)),
66
+ t.objectProperty(t.identifier('payload'), payloadArg && t.isExpression(payloadArg) ? payloadArg : t.objectExpression([])),
67
+ ]);
68
+ }));
69
+ const runtimeCall = t.awaitExpression(t.callExpression(t.memberExpression(t.identifier('__runtime'), t.identifier('batchParallel')), [batchCallsArray, t.stringLiteral(batchId)]));
70
+ path.replaceWith(runtimeCall);
71
+ this.transformCount++;
72
+ return true;
73
+ }
74
+ transformToSequential(path, node) {
75
+ const arrayArg = node.arguments[0];
76
+ if (!t.isArrayExpression(arrayArg)) {
77
+ return false;
78
+ }
79
+ const parallelId = generateUniqueId('parallel');
80
+ const runtimeCall = t.awaitExpression(t.callExpression(t.memberExpression(t.identifier('__runtime'), t.identifier('resumablePromiseAll')), [arrayArg, t.stringLiteral(parallelId)]));
81
+ path.replaceWith(runtimeCall);
82
+ this.transformCount++;
83
+ return true;
84
+ }
85
+ payloadToExpression(payload) {
86
+ const properties = [];
87
+ for (const [key, value] of Object.entries(payload)) {
88
+ properties.push(t.objectProperty(t.identifier(key), this.valueToExpression(value)));
89
+ }
90
+ return t.objectExpression(properties);
91
+ }
92
+ valueToExpression(value) {
93
+ if (typeof value === 'string') {
94
+ return t.stringLiteral(value);
95
+ }
96
+ if (typeof value === 'number') {
97
+ return t.numericLiteral(value);
98
+ }
99
+ if (typeof value === 'boolean') {
100
+ return t.booleanLiteral(value);
101
+ }
102
+ if (value === null) {
103
+ return t.nullLiteral();
104
+ }
105
+ if (Array.isArray(value)) {
106
+ return t.arrayExpression(value.map((v) => this.valueToExpression(v)));
107
+ }
108
+ if (typeof value === 'object') {
109
+ return this.payloadToExpression(value);
110
+ }
111
+ return t.identifier('undefined');
112
+ }
113
+ isPromiseAll(node) {
114
+ const callee = node.callee;
115
+ return (t.isMemberExpression(callee) &&
116
+ t.isIdentifier(callee.object, { name: 'Promise' }) &&
117
+ t.isIdentifier(callee.property, { name: 'all' }));
118
+ }
119
+ isPromiseAllSettled(node) {
120
+ const callee = node.callee;
121
+ return (t.isMemberExpression(callee) &&
122
+ t.isIdentifier(callee.object, { name: 'Promise' }) &&
123
+ t.isIdentifier(callee.property, { name: 'allSettled' }));
124
+ }
125
+ getTransformCount() {
126
+ return this.transformCount;
127
+ }
128
+ resetTransformCount() {
129
+ this.transformCount = 0;
130
+ }
131
+ }
132
+ //# sourceMappingURL=promise-transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise-transformer.js","sourceRoot":"","sources":["../../../../src/transformer/promise-transformer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import * as t from '@babel/types';
2
+ export declare function isPausableCall(node: t.Node): boolean;
3
+ export declare function isPausableCallExpression(node: t.CallExpression): boolean;
4
+ export declare function getMemberExpressionPath(node: t.MemberExpression): string;
5
+ export declare function containsAwait(node: t.Node): boolean;
6
+ export declare function containsPausableCall(node: t.Node): boolean;
7
+ export declare function isAsyncFunction(node: t.Node): boolean;
8
+ export declare function getNodeLocation(node: t.Node): {
9
+ line: number;
10
+ column: number;
11
+ } | undefined;
12
+ export declare function createRuntimeCall(fnName: string, args: t.Expression[]): t.AwaitExpression;
13
+ export declare function wrapInAsyncFunction(body: t.Statement[]): t.FunctionExpression;
14
+ export declare function isArrayMethod(node: t.Node, methodName: string): boolean;
15
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/transformer/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAGlC,wBAAgB,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,OAAO,CAWpD;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc,GAAG,OAAO,CAYxE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC,gBAAgB,GAAG,MAAM,CAgBxE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,OAAO,CA2BnD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,OAAO,CA2B1D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,OAAO,CAOrD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAQ1F;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,eAAe,CAIzF;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,kBAAkB,CAE7E;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAWvE"}
@@ -0,0 +1,118 @@
1
+ import * as t from '@babel/types';
2
+ import { PAUSABLE_CALL_PATTERNS } from '../types.js';
3
+ export function isPausableCall(node) {
4
+ if (!t.isAwaitExpression(node)) {
5
+ return false;
6
+ }
7
+ const argument = node.argument;
8
+ if (!t.isCallExpression(argument)) {
9
+ return false;
10
+ }
11
+ return isPausableCallExpression(argument);
12
+ }
13
+ export function isPausableCallExpression(node) {
14
+ const callee = node.callee;
15
+ if (!t.isMemberExpression(callee)) {
16
+ return false;
17
+ }
18
+ const fullPath = getMemberExpressionPath(callee);
19
+ return PAUSABLE_CALL_PATTERNS.some((pattern) => fullPath === `${pattern.namespace}.${pattern.method}`);
20
+ }
21
+ export function getMemberExpressionPath(node) {
22
+ const parts = [];
23
+ let current = node;
24
+ while (t.isMemberExpression(current)) {
25
+ if (t.isIdentifier(current.property)) {
26
+ parts.unshift(current.property.name);
27
+ }
28
+ current = current.object;
29
+ }
30
+ if (t.isIdentifier(current)) {
31
+ parts.unshift(current.name);
32
+ }
33
+ return parts.join('.');
34
+ }
35
+ export function containsAwait(node) {
36
+ let hasAwait = false;
37
+ const checkNode = (n) => {
38
+ if (t.isAwaitExpression(n)) {
39
+ hasAwait = true;
40
+ return;
41
+ }
42
+ if (hasAwait)
43
+ return;
44
+ Object.keys(n).forEach((key) => {
45
+ const value = n[key];
46
+ if (Array.isArray(value)) {
47
+ value.forEach((item) => {
48
+ if (item && typeof item === 'object' && item.type) {
49
+ checkNode(item);
50
+ }
51
+ });
52
+ }
53
+ else if (value && typeof value === 'object' && value.type) {
54
+ checkNode(value);
55
+ }
56
+ });
57
+ };
58
+ checkNode(node);
59
+ return hasAwait;
60
+ }
61
+ export function containsPausableCall(node) {
62
+ let hasPausable = false;
63
+ const checkNode = (n) => {
64
+ if (t.isAwaitExpression(n) && isPausableCall(n)) {
65
+ hasPausable = true;
66
+ return;
67
+ }
68
+ if (hasPausable)
69
+ return;
70
+ Object.keys(n).forEach((key) => {
71
+ const value = n[key];
72
+ if (Array.isArray(value)) {
73
+ value.forEach((item) => {
74
+ if (item && typeof item === 'object' && item.type) {
75
+ checkNode(item);
76
+ }
77
+ });
78
+ }
79
+ else if (value && typeof value === 'object' && value.type) {
80
+ checkNode(value);
81
+ }
82
+ });
83
+ };
84
+ checkNode(node);
85
+ return hasPausable;
86
+ }
87
+ export function isAsyncFunction(node) {
88
+ return ((t.isFunctionDeclaration(node) ||
89
+ t.isFunctionExpression(node) ||
90
+ t.isArrowFunctionExpression(node)) &&
91
+ node.async === true);
92
+ }
93
+ export function getNodeLocation(node) {
94
+ if (node.loc) {
95
+ return {
96
+ line: node.loc.start.line,
97
+ column: node.loc.start.column,
98
+ };
99
+ }
100
+ return undefined;
101
+ }
102
+ export function createRuntimeCall(fnName, args) {
103
+ return t.awaitExpression(t.callExpression(t.memberExpression(t.identifier('__runtime'), t.identifier(fnName)), args));
104
+ }
105
+ export function wrapInAsyncFunction(body) {
106
+ return t.functionExpression(null, [], t.blockStatement(body), false, true);
107
+ }
108
+ export function isArrayMethod(node, methodName) {
109
+ if (!t.isCallExpression(node)) {
110
+ return false;
111
+ }
112
+ const callee = node.callee;
113
+ if (!t.isMemberExpression(callee)) {
114
+ return false;
115
+ }
116
+ return t.isIdentifier(callee.property) && callee.property.name === methodName;
117
+ }
118
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/transformer/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,UAAU,cAAc,CAAC,IAAY;IAC1C,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,OAAO,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAsB;IAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAE3B,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAEjD,OAAO,sBAAsB,CAAC,IAAI,CACjC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,KAAK,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAClE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAwB;IAC/D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,OAAO,GAAW,IAAI,CAAC;IAC3B,OAAO,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IACzC,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,MAAM,SAAS,GAAG,CAAC,CAAS,EAAQ,EAAE;QACrC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,QAAQ,GAAG,IAAI,CAAC;YAChB,OAAO;QACR,CAAC;QAED,IAAI,QAAQ;YAAE,OAAO;QAErB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAI,CAAS,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACtB,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBACnD,SAAS,CAAC,IAAI,CAAC,CAAC;oBACjB,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;iBAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC7D,SAAS,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,SAAS,CAAC,IAAI,CAAC,CAAC;IAChB,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAChD,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,MAAM,SAAS,GAAG,CAAC,CAAS,EAAQ,EAAE;QACrC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,WAAW,GAAG,IAAI,CAAC;YACnB,OAAO;QACR,CAAC;QAED,IAAI,WAAW;YAAE,OAAO;QAExB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAI,CAAS,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACtB,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBACnD,SAAS,CAAC,IAAI,CAAC,CAAC;oBACjB,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;iBAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC7D,SAAS,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,SAAS,CAAC,IAAI,CAAC,CAAC;IAChB,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC3C,OAAO,CACN,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC;QAC7B,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC;QAC5B,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK,IAAI,CACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACd,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI;YACzB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM;SAC7B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,IAAoB;IACrE,OAAO,CAAC,CAAC,eAAe,CACvB,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAC3F,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAmB;IACtD,OAAO,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,UAAkB;IAC7D,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,OAAO,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC;AAC/E,CAAC"}
@@ -0,0 +1,57 @@
1
+ import type { CacheProvider } from '@mondaydotcomorg/atp-protocol';
2
+ export interface DetectionResult {
3
+ needsTransform: boolean;
4
+ patterns: AsyncPattern[];
5
+ batchableParallel?: boolean;
6
+ }
7
+ export type AsyncPattern = 'for-of-await' | 'while-await' | 'map-async' | 'forEach-async' | 'filter-async' | 'reduce-async' | 'find-async' | 'some-async' | 'every-async' | 'flatMap-async' | 'promise-all' | 'promise-allSettled';
8
+ export interface TransformResult {
9
+ code: string;
10
+ transformed: boolean;
11
+ patterns: AsyncPattern[];
12
+ metadata: TransformMetadata;
13
+ }
14
+ export interface TransformMetadata {
15
+ loopCount: number;
16
+ arrayMethodCount: number;
17
+ parallelCallCount: number;
18
+ batchableCount: number;
19
+ }
20
+ export interface LoopCheckpoint {
21
+ loopId: string;
22
+ currentIndex: number;
23
+ results?: unknown[];
24
+ accumulator?: unknown;
25
+ completed?: Set<number>;
26
+ timestamp: number;
27
+ }
28
+ export interface BatchCallInfo {
29
+ type: 'llm' | 'approval' | 'embedding';
30
+ operation: string;
31
+ payload: Record<string, unknown>;
32
+ }
33
+ export interface RuntimeContext {
34
+ executionId: string;
35
+ cache?: CacheProvider;
36
+ checkpointPrefix?: string;
37
+ }
38
+ export interface TransformerOptions {
39
+ generateDebugInfo?: boolean;
40
+ maxLoopNesting?: number;
41
+ enableBatchParallel?: boolean;
42
+ batchSizeThreshold?: number;
43
+ }
44
+ export interface PausableCallPattern {
45
+ namespace: string;
46
+ method: string;
47
+ }
48
+ export declare const PAUSABLE_CALL_PATTERNS: PausableCallPattern[];
49
+ export interface CompilerConfig {
50
+ enableBatchParallel?: boolean;
51
+ maxLoopNesting?: number;
52
+ checkpointInterval?: number;
53
+ debugMode?: boolean;
54
+ batchSizeThreshold?: number;
55
+ }
56
+ export declare const DEFAULT_COMPILER_CONFIG: CompilerConfig;
57
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC/B,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,MAAM,YAAY,GACrB,cAAc,GACd,aAAa,GACb,WAAW,GACX,eAAe,GACf,cAAc,GACd,cAAc,GACd,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,eAAe,GACf,aAAa,GACb,oBAAoB,CAAC;AAExB,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,QAAQ,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,WAAW,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,sBAAsB,EAAE,mBAAmB,EAcvD,CAAC;AAEF,MAAM,WAAW,cAAc;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,uBAAuB,EAAE,cAMrC,CAAC"}
@@ -0,0 +1,23 @@
1
+ export const PAUSABLE_CALL_PATTERNS = [
2
+ { namespace: 'atp.llm', method: 'call' },
3
+ { namespace: 'atp.llm', method: 'extract' },
4
+ { namespace: 'atp.llm', method: 'classify' },
5
+ { namespace: 'atp.llm', method: 'stream' },
6
+ { namespace: 'atp.llm', method: 'generate' },
7
+ { namespace: 'atp.approval', method: 'request' },
8
+ { namespace: 'atp.approval', method: 'confirm' },
9
+ { namespace: 'atp.approval', method: 'verify' },
10
+ { namespace: 'atp.embedding', method: 'embed' },
11
+ { namespace: 'atp.embedding', method: 'search' },
12
+ { namespace: 'atp.embedding', method: 'create' },
13
+ { namespace: 'atp.embedding', method: 'generate' },
14
+ { namespace: 'atp.embedding', method: 'encode' },
15
+ ];
16
+ export const DEFAULT_COMPILER_CONFIG = {
17
+ enableBatchParallel: true,
18
+ maxLoopNesting: 10,
19
+ checkpointInterval: 1,
20
+ debugMode: false,
21
+ batchSizeThreshold: 10,
22
+ };
23
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAsEA,MAAM,CAAC,MAAM,sBAAsB,GAA0B;IAC5D,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE;IACxC,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;IAC3C,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;IAC5C,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC1C,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;IAC5C,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE;IAChD,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE;IAChD,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC/C,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE;IAC/C,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE;IAChD,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE;IAChD,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE;IAClD,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE;CAChD,CAAC;AAUF,MAAM,CAAC,MAAM,uBAAuB,GAAmB;IACtD,mBAAmB,EAAE,IAAI;IACzB,cAAc,EAAE,EAAE;IAClB,kBAAkB,EAAE,CAAC;IACrB,SAAS,EAAE,KAAK;IAChB,kBAAkB,EAAE,EAAE;CACtB,CAAC"}
@@ -0,0 +1,173 @@
1
+ /**
2
+ * Authentication and credential management types for Agent Tool Protocol
3
+ */
4
+ /**
5
+ * Supported authentication schemes
6
+ */
7
+ export type AuthScheme = 'apiKey' | 'bearer' | 'basic' | 'oauth2' | 'custom' | 'composite';
8
+ /**
9
+ * Base authentication configuration
10
+ */
11
+ export interface BaseAuthConfig {
12
+ scheme: AuthScheme;
13
+ /** Environment variable name to read credentials from */
14
+ envVar?: string;
15
+ /** Direct credential value (not recommended for production) */
16
+ value?: string;
17
+ /**
18
+ * Credential source: 'server' for server-level env vars (default), 'user' for user-scoped OAuth
19
+ */
20
+ source?: 'server' | 'user';
21
+ /**
22
+ * OAuth provider name for user-scoped credentials (e.g., 'github', 'google')
23
+ * Required when source='user'. Used to look up user's OAuth token from AuthProvider.
24
+ * Note: This is different from the 'provider' field which is for runtime credential providers.
25
+ */
26
+ oauthProvider?: string;
27
+ /** Runtime credential provider function name */
28
+ provider?: string;
29
+ }
30
+ /**
31
+ * API Key authentication (in header or query param)
32
+ */
33
+ export interface APIKeyAuthConfig extends BaseAuthConfig {
34
+ scheme: 'apiKey';
35
+ /** Where to send the API key */
36
+ in: 'header' | 'query';
37
+ /** Parameter/header name */
38
+ name: string;
39
+ }
40
+ /**
41
+ * Bearer token authentication
42
+ */
43
+ export interface BearerAuthConfig extends BaseAuthConfig {
44
+ scheme: 'bearer';
45
+ /** Optional bearer format (e.g., 'JWT') */
46
+ bearerFormat?: string;
47
+ }
48
+ /**
49
+ * HTTP Basic authentication
50
+ */
51
+ export interface BasicAuthConfig extends BaseAuthConfig {
52
+ scheme: 'basic';
53
+ /** Username (can use envVar for dynamic value) */
54
+ username?: string;
55
+ /** Username environment variable */
56
+ usernameEnvVar?: string;
57
+ /** Password environment variable */
58
+ passwordEnvVar?: string;
59
+ }
60
+ /**
61
+ * OAuth2 authentication with automatic token refresh
62
+ */
63
+ export interface OAuth2AuthConfig extends BaseAuthConfig {
64
+ scheme: 'oauth2';
65
+ /** OAuth2 flow type */
66
+ flow: 'clientCredentials' | 'authorizationCode' | 'implicit' | 'password';
67
+ /** Token endpoint URL */
68
+ tokenUrl: string;
69
+ /** Authorization endpoint (for authorizationCode/implicit) */
70
+ authorizationUrl?: string;
71
+ /** Client ID */
72
+ clientId?: string;
73
+ /** Client ID environment variable */
74
+ clientIdEnvVar?: string;
75
+ /** Client secret environment variable */
76
+ clientSecretEnvVar?: string;
77
+ /** Scopes required */
78
+ scopes?: string[];
79
+ /** Refresh token environment variable (for token refresh) */
80
+ refreshTokenEnvVar?: string;
81
+ }
82
+ /**
83
+ * Custom authentication with arbitrary headers
84
+ */
85
+ export interface CustomAuthConfig extends BaseAuthConfig {
86
+ scheme: 'custom';
87
+ /** Custom headers to inject */
88
+ headers: Record<string, string>;
89
+ /** Environment variables to use for header values */
90
+ headerEnvVars?: Record<string, string>;
91
+ /** Query parameters to inject */
92
+ queryParams?: Record<string, string>;
93
+ /** Environment variables to use for query parameter values */
94
+ queryParamEnvVars?: Record<string, string>;
95
+ }
96
+ /**
97
+ * Composite authentication - combines multiple auth mechanisms
98
+ * Useful for APIs that require multiple credentials (e.g., projectId + apiKey + secret)
99
+ */
100
+ export interface CompositeAuthConfig extends BaseAuthConfig {
101
+ scheme: 'composite';
102
+ /**
103
+ * Multiple credentials to combine
104
+ * Example: { projectId: { envVar: 'PROJECT_ID' }, apiKey: { envVar: 'API_KEY' }, secret: { envVar: 'API_SECRET' } }
105
+ */
106
+ credentials: Record<string, CredentialConfig>;
107
+ /** How to inject credentials: 'header', 'query', or 'both' */
108
+ injectAs?: 'header' | 'query' | 'both';
109
+ }
110
+ /**
111
+ * Individual credential configuration for composite auth
112
+ */
113
+ export interface CredentialConfig {
114
+ /** Environment variable to read from */
115
+ envVar?: string;
116
+ /** Direct value (not recommended) */
117
+ value?: string;
118
+ /** Header name if injecting as header */
119
+ headerName?: string;
120
+ /** Query param name if injecting as query */
121
+ queryParamName?: string;
122
+ /** Whether this credential is required */
123
+ required?: boolean;
124
+ }
125
+ /**
126
+ * Union type of all auth configurations
127
+ */
128
+ export type AuthConfig = APIKeyAuthConfig | BearerAuthConfig | BasicAuthConfig | OAuth2AuthConfig | CustomAuthConfig | CompositeAuthConfig;
129
+ /**
130
+ * Runtime credential provider
131
+ * Allows dynamic credential resolution at runtime
132
+ */
133
+ export interface CredentialProvider {
134
+ name: string;
135
+ /** Resolves credentials dynamically */
136
+ resolve: () => Promise<Credentials> | Credentials;
137
+ }
138
+ /**
139
+ * Resolved credentials ready to be injected into requests
140
+ */
141
+ export interface Credentials {
142
+ headers?: Record<string, string>;
143
+ queryParams?: Record<string, string>;
144
+ }
145
+ /**
146
+ * Credential resolver - resolves auth config to actual credentials
147
+ */
148
+ export declare class CredentialResolver {
149
+ private providers;
150
+ /**
151
+ * Registers a runtime credential provider
152
+ */
153
+ registerProvider(provider: CredentialProvider): void;
154
+ /**
155
+ * Resolves auth configuration to credentials
156
+ */
157
+ resolve(authConfig: AuthConfig): Promise<Credentials>;
158
+ private resolveAPIKey;
159
+ private resolveBearer;
160
+ private resolveBasic;
161
+ private resolveOAuth2;
162
+ private resolveCustom;
163
+ private resolveComposite;
164
+ /**
165
+ * Gets credential value from config (env var or direct value)
166
+ */
167
+ private getValue;
168
+ /**
169
+ * Fetches OAuth2 token using client credentials flow
170
+ */
171
+ private fetchOAuth2Token;
172
+ }
173
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../protocol/src/auth.ts"],"names":[],"mappings":"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"}