@mondaydotcomorg/atp-compiler 0.19.21 → 0.19.23

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.
@@ -0,0 +1,11 @@
1
+ import * as t from '@babel/types';
2
+ import { BatchParallelDetector } from './batch-detector.js';
3
+ /**
4
+ * Transform array method to batch LLM calls while preserving callback logic.
5
+ *
6
+ * This creates a two-step transformation:
7
+ * 1. Batch all LLM calls in parallel
8
+ * 2. Reconstruct objects using the batched results
9
+ */
10
+ export declare function transformToBatchWithReconstruction(path: any, node: t.CallExpression, methodName: string, callback: t.Function, batchDetector: BatchParallelDetector, onTransform: () => void): boolean;
11
+ //# sourceMappingURL=array-transformer-batch-reconstruct.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array-transformer-batch-reconstruct.d.ts","sourceRoot":"","sources":["../../src/transformer/array-transformer-batch-reconstruct.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAIlC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAG5D;;;;;;GAMG;AACH,wBAAgB,kCAAkC,CACjD,IAAI,EAAE,GAAG,EACT,IAAI,EAAE,CAAC,CAAC,cAAc,EACtB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,aAAa,EAAE,qBAAqB,EACpC,WAAW,EAAE,MAAM,IAAI,GACrB,OAAO,CAoIT"}
@@ -0,0 +1,97 @@
1
+ import * as t from '@babel/types';
2
+ import _traverse from '@babel/traverse';
3
+ const traverse = typeof _traverse.default === 'function' ? _traverse.default : _traverse;
4
+ import { generateUniqueId } from '../runtime/context.js';
5
+ import { findLLMCallExpression } from './array-transformer-utils.js';
6
+ /**
7
+ * Transform array method to batch LLM calls while preserving callback logic.
8
+ *
9
+ * This creates a two-step transformation:
10
+ * 1. Batch all LLM calls in parallel
11
+ * 2. Reconstruct objects using the batched results
12
+ */
13
+ export function transformToBatchWithReconstruction(path, node, methodName, callback, batchDetector, onTransform) {
14
+ if (methodName !== 'map') {
15
+ return false;
16
+ }
17
+ const paramName = callback.params[0];
18
+ if (!t.isIdentifier(paramName)) {
19
+ return false;
20
+ }
21
+ const param = paramName.name;
22
+ const array = node.callee.object;
23
+ const llmCall = findLLMCallExpression(callback.body);
24
+ if (!llmCall) {
25
+ return false;
26
+ }
27
+ const callInfo = batchDetector.extractCallInfo(llmCall);
28
+ if (!callInfo) {
29
+ return false;
30
+ }
31
+ const payloadNode = batchDetector.extractPayloadNode(llmCall);
32
+ if (!payloadNode) {
33
+ return false;
34
+ }
35
+ const methodId = generateUniqueId(`${methodName}_batch_reconstruct`);
36
+ const resultsVar = `__batch_results_${methodId.replace(/[^a-zA-Z0-9]/g, '_')}`;
37
+ const indexVar = '__idx';
38
+ const payloadMapper = t.arrowFunctionExpression([t.identifier(param)], t.objectExpression([
39
+ t.objectProperty(t.identifier('type'), t.stringLiteral(callInfo.type)),
40
+ t.objectProperty(t.identifier('operation'), t.stringLiteral(callInfo.operation)),
41
+ t.objectProperty(t.identifier('payload'), t.cloneNode(payloadNode, true)),
42
+ ]));
43
+ const clonedBody = t.cloneNode(callback.body, true);
44
+ const resultAccess = t.memberExpression(t.identifier(resultsVar), t.identifier(indexVar), true);
45
+ let traversableNode;
46
+ if (t.isBlockStatement(clonedBody)) {
47
+ traversableNode = t.functionDeclaration(t.identifier('__temp'), [], clonedBody);
48
+ }
49
+ else {
50
+ traversableNode = t.expressionStatement(clonedBody);
51
+ }
52
+ let replaced = false;
53
+ traverse(t.file(t.program([traversableNode])), {
54
+ AwaitExpression(awaitPath) {
55
+ if (replaced)
56
+ return;
57
+ const arg = awaitPath.node.argument;
58
+ if (t.isCallExpression(arg)) {
59
+ const info = batchDetector.extractCallInfo(arg);
60
+ if (info && info.type === callInfo.type && info.operation === callInfo.operation) {
61
+ awaitPath.replaceWith(resultAccess);
62
+ replaced = true;
63
+ }
64
+ }
65
+ },
66
+ noScope: true,
67
+ });
68
+ if (!replaced) {
69
+ return false;
70
+ }
71
+ let reconstructBody;
72
+ if (t.isBlockStatement(clonedBody)) {
73
+ reconstructBody = clonedBody;
74
+ }
75
+ else {
76
+ reconstructBody = clonedBody;
77
+ }
78
+ const reconstructMapper = t.arrowFunctionExpression([t.identifier(param), t.identifier(indexVar)], reconstructBody);
79
+ reconstructMapper.async = false;
80
+ const batchCall = t.awaitExpression(t.callExpression(t.memberExpression(t.identifier('__runtime'), t.identifier('batchParallel')), [
81
+ t.callExpression(t.memberExpression(t.cloneNode(array, true), t.identifier('map')), [payloadMapper]),
82
+ t.stringLiteral(methodId),
83
+ ]));
84
+ const resultsDeclaration = t.variableDeclaration('const', [
85
+ t.variableDeclarator(t.identifier(resultsVar), batchCall),
86
+ ]);
87
+ const reconstructCall = t.callExpression(t.memberExpression(t.cloneNode(array, true), t.identifier('map')), [reconstructMapper]);
88
+ const iife = t.callExpression(t.arrowFunctionExpression([], t.blockStatement([
89
+ resultsDeclaration,
90
+ t.returnStatement(reconstructCall),
91
+ ]), true), []);
92
+ const awaitIife = t.awaitExpression(iife);
93
+ path.replaceWith(awaitIife);
94
+ onTransform();
95
+ return true;
96
+ }
97
+ //# sourceMappingURL=array-transformer-batch-reconstruct.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array-transformer-batch-reconstruct.js","sourceRoot":"","sources":["../../src/transformer/array-transformer-batch-reconstruct.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"array-transformer.d.ts","sourceRoot":"","sources":["../../src/transformer/array-transformer.ts"],"names":[],"mappings":"AAOA,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,kBAAkB,CAAS;gBAEvB,kBAAkB,GAAE,MAAW;IAM3C,oBAAoB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO;IAwCxC,OAAO,CAAC,uBAAuB;IAS/B,iBAAiB,IAAI,MAAM;IAI3B,mBAAmB,IAAI,IAAI;CAG3B"}
1
+ {"version":3,"file":"array-transformer.d.ts","sourceRoot":"","sources":["../../src/transformer/array-transformer.ts"],"names":[],"mappings":"AAYA,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,kBAAkB,CAAS;gBAEvB,kBAAkB,GAAE,MAAW;IAM3C,oBAAoB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO;IA+DxC,OAAO,CAAC,uBAAuB;IAS/B,iBAAiB,IAAI,MAAM;IAI3B,mBAAmB,IAAI,IAAI;CAG3B"}
@@ -1,9 +1,10 @@
1
1
  import * as t from '@babel/types';
2
2
  import { BatchOptimizer } from './batch-optimizer.js';
3
3
  import { BatchParallelDetector } from './batch-detector.js';
4
- import { getArrayMethodName, canUseBatchParallel } from './array-transformer-utils.js';
4
+ import { getArrayMethodName, canUseBatchParallel, findLLMCallExpression, } from './array-transformer-utils.js';
5
5
  import { transformToBatchParallel } from './array-transformer-batch.js';
6
6
  import { transformToSequential } from './array-transformer-sequential.js';
7
+ import { transformToBatchWithReconstruction } from './array-transformer-batch-reconstruct.js';
7
8
  export class ArrayTransformer {
8
9
  transformCount = 0;
9
10
  batchOptimizer;
@@ -25,6 +26,19 @@ export class ArrayTransformer {
25
26
  return false;
26
27
  }
27
28
  const batchResult = this.batchOptimizer.canBatchArrayMethod(callback);
29
+ if (!batchResult.canBatch && methodName === 'map') {
30
+ const reason = batchResult.reason || '';
31
+ const hasObjectOrArrayReturn = reason.includes('object expression') || reason.includes('array expression');
32
+ if (hasObjectOrArrayReturn) {
33
+ const llmCall = findLLMCallExpression(callback.body);
34
+ if (llmCall) {
35
+ const success = transformToBatchWithReconstruction(path, node, methodName, callback, this.batchDetector, () => this.transformCount++);
36
+ if (success) {
37
+ return true;
38
+ }
39
+ }
40
+ }
41
+ }
28
42
  if (batchResult.canBatch && canUseBatchParallel(methodName)) {
29
43
  const array = node.callee.object;
30
44
  const decision = this.batchOptimizer.makeSmartBatchDecision(methodName, batchResult, array, this.batchSizeThreshold);
@@ -1 +1 @@
1
- {"version":3,"file":"array-transformer.js","sourceRoot":"","sources":["../../src/transformer/array-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,MAAM,OAAO,gBAAgB;IACpB,cAAc,GAAG,CAAC,CAAC;IACnB,cAAc,CAAiB;IAC/B,aAAa,CAAwB;IACrC,kBAAkB,CAAS;IAEnC,YAAY,qBAA6B,EAAE;QAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACjD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC9C,CAAC;IAED,oBAAoB,CAAC,IAAS;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAwB,CAAC;QAE3C,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC7D,OAAO,KAAK,CAAC;QACd,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAEtE,IAAI,WAAW,CAAC,QAAQ,IAAI,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7D,MAAM,KAAK,GAAI,IAAI,CAAC,MAA6B,CAAC,MAAM,CAAC;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAC1D,UAAU,EACV,WAAW,EACX,KAAK,EACL,IAAI,CAAC,kBAAkB,CACvB,CAAC;YAEF,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC1B,OAAO,wBAAwB,CAC9B,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,IAAI,CAAC,aAAa,EAClB,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,EAC3B,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CACpE,CAAC;YACH,CAAC;QACF,CAAC;QAED,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IACvE,CAAC;IAEO,uBAAuB,CAC9B,IAAS,EACT,IAAsB,EACtB,UAAkB,EAClB,QAAoB;QAEpB,OAAO,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,iBAAiB;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,mBAAmB;QAClB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;IACzB,CAAC;CACD"}
1
+ {"version":3,"file":"array-transformer.js","sourceRoot":"","sources":["../../src/transformer/array-transformer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"batch-optimizer.d.ts","sourceRoot":"","sources":["../../src/transformer/batch-optimizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAGlC,MAAM,WAAW,uBAAuB;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;IACvD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,GAAG,gBAAgB,GAAG,aAAa,CAAC;CAC5D;AAED,qBAAa,cAAc;IAC1B,OAAO,CAAC,yBAAyB,CAA6B;IAE9D,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,GAAG,uBAAuB;IAmFlE;;OAEG;IACH,sBAAsB,CACrB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,uBAAuB,EACpC,SAAS,EAAE,CAAC,CAAC,UAAU,EACvB,SAAS,GAAE,MAAW,GACpB,kBAAkB;IAsErB,OAAO,CAAC,iBAAiB;IAQzB,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,cAAc,GAAG,uBAAuB;IAyDtE,OAAO,CAAC,uBAAuB;IAuC/B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,kBAAkB;CA0B1B"}
1
+ {"version":3,"file":"batch-optimizer.d.ts","sourceRoot":"","sources":["../../src/transformer/batch-optimizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAGlC,MAAM,WAAW,uBAAuB;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;IACvD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,GAAG,gBAAgB,GAAG,aAAa,CAAC;CAC5D;AAED,qBAAa,cAAc;IAC1B,OAAO,CAAC,yBAAyB,CAA6B;IAE9D,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,GAAG,uBAAuB;IAmGlE;;OAEG;IACH,sBAAsB,CACrB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,uBAAuB,EACpC,SAAS,EAAE,CAAC,CAAC,UAAU,EACvB,SAAS,GAAE,MAAW,GACpB,kBAAkB;IAsErB,OAAO,CAAC,iBAAiB;IAQzB,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,cAAc,GAAG,uBAAuB;IAyDtE,OAAO,CAAC,uBAAuB;IAuC/B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,kBAAkB;CA0B1B"}
@@ -64,6 +64,21 @@ export class BatchOptimizer {
64
64
  reason: 'Simple conditional - can batch but consider array size',
65
65
  };
66
66
  }
67
+ const lastStmt = statements[statements.length - 1];
68
+ if (t.isReturnStatement(lastStmt) && lastStmt.argument) {
69
+ if (t.isObjectExpression(lastStmt.argument)) {
70
+ return {
71
+ canBatch: false,
72
+ reason: 'Return statement is object expression - batch would lose structure',
73
+ };
74
+ }
75
+ if (t.isArrayExpression(lastStmt.argument)) {
76
+ return {
77
+ canBatch: false,
78
+ reason: 'Return statement is array expression - batch would lose structure',
79
+ };
80
+ }
81
+ }
67
82
  return { canBatch: true, llmCallPattern: 'single', hasConditionals: false };
68
83
  }
69
84
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"batch-optimizer.js","sourceRoot":"","sources":["../../src/transformer/batch-optimizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch-optimizer.js","sourceRoot":"","sources":["../../src/transformer/batch-optimizer.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ export * from './batch-detector.js';
31
31
  export * from './batch-optimizer.js';
32
32
  export * from './loop-transformer.js';
33
33
  export * from './array-transformer.js';
34
+ export * from './array-transformer-batch-reconstruct.js';
34
35
  export * from './promise-transformer.js';
35
36
  export * from './utils.js';
36
37
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transformer/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAqB,MAAM,aAAa,CAAC;AAItF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAEhE;;;GAGG;AACH,qBAAa,WAAY,YAAW,SAAS;IAC5C,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,kBAAkB,CAAqB;gBAEnC,MAAM,GAAE,OAAO,CAAC,cAAc,CAAM;IAQhD,MAAM,CAAC,IAAI,EAAE,MAAM;IAInB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAgFxC,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,uBAAuB;IAS/B;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACH,aAAa;CAGb;AAED,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transformer/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAqB,MAAM,aAAa,CAAC;AAItF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAEhE;;;GAGG;AACH,qBAAa,WAAY,YAAW,SAAS;IAC5C,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,kBAAkB,CAAqB;gBAEnC,MAAM,GAAE,OAAO,CAAC,cAAc,CAAM;IAQhD,MAAM,CAAC,IAAI,EAAE,MAAM;IAInB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAgFxC,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,uBAAuB;IAS/B;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACH,aAAa;CAGb;AAED,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0CAA0C,CAAC;AACzD,cAAc,0BAA0B,CAAC;AACzC,cAAc,YAAY,CAAC"}
@@ -144,6 +144,7 @@ export * from './batch-detector.js';
144
144
  export * from './batch-optimizer.js';
145
145
  export * from './loop-transformer.js';
146
146
  export * from './array-transformer.js';
147
+ export * from './array-transformer-batch-reconstruct.js';
147
148
  export * from './promise-transformer.js';
148
149
  export * from './utils.js';
149
150
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transformer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transformer/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mondaydotcomorg/atp-compiler",
3
- "version": "0.19.21",
3
+ "version": "0.19.23",
4
4
  "description": "Production-ready compiler for transforming async iteration patterns into resumable operations with checkpoint-based state management",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -46,14 +46,14 @@
46
46
  "@babel/parser": "^7.26.0",
47
47
  "@babel/traverse": "^7.26.0",
48
48
  "@babel/types": "^7.26.0",
49
- "@mondaydotcomorg/atp-protocol": "0.19.19",
50
- "@mondaydotcomorg/atp-runtime": "0.19.18",
49
+ "@mondaydotcomorg/atp-protocol": "0.19.20",
50
+ "@mondaydotcomorg/atp-runtime": "0.19.19",
51
51
  "@types/babel__generator": "^7.6.0",
52
52
  "@types/babel__traverse": "^7.20.0"
53
53
  },
54
54
  "peerDependencies": {
55
- "@mondaydotcomorg/atp-protocol": "0.19.19",
56
- "@mondaydotcomorg/atp-runtime": "0.19.18"
55
+ "@mondaydotcomorg/atp-protocol": "0.19.20",
56
+ "@mondaydotcomorg/atp-runtime": "0.19.19"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@stryker-mutator/core": "^8.0.0",
@@ -0,0 +1,155 @@
1
+ import * as t from '@babel/types';
2
+ import _traverse from '@babel/traverse';
3
+ const traverse = typeof (_traverse as any).default === 'function' ? (_traverse as any).default : _traverse;
4
+ import { generateUniqueId } from '../runtime/context.js';
5
+ import { BatchParallelDetector } from './batch-detector.js';
6
+ import { findLLMCallExpression } from './array-transformer-utils.js';
7
+
8
+ /**
9
+ * Transform array method to batch LLM calls while preserving callback logic.
10
+ *
11
+ * This creates a two-step transformation:
12
+ * 1. Batch all LLM calls in parallel
13
+ * 2. Reconstruct objects using the batched results
14
+ */
15
+ export function transformToBatchWithReconstruction(
16
+ path: any,
17
+ node: t.CallExpression,
18
+ methodName: string,
19
+ callback: t.Function,
20
+ batchDetector: BatchParallelDetector,
21
+ onTransform: () => void
22
+ ): boolean {
23
+ if (methodName !== 'map') {
24
+ return false;
25
+ }
26
+
27
+ const paramName = callback.params[0];
28
+ if (!t.isIdentifier(paramName)) {
29
+ return false;
30
+ }
31
+
32
+ const param = paramName.name;
33
+ const array = (node.callee as t.MemberExpression).object;
34
+
35
+ const llmCall = findLLMCallExpression(callback.body);
36
+ if (!llmCall) {
37
+ return false;
38
+ }
39
+
40
+ const callInfo = batchDetector.extractCallInfo(llmCall);
41
+ if (!callInfo) {
42
+ return false;
43
+ }
44
+
45
+ const payloadNode = batchDetector.extractPayloadNode(llmCall);
46
+ if (!payloadNode) {
47
+ return false;
48
+ }
49
+
50
+ const methodId = generateUniqueId(`${methodName}_batch_reconstruct`);
51
+ const resultsVar = `__batch_results_${methodId.replace(/[^a-zA-Z0-9]/g, '_')}`;
52
+ const indexVar = '__idx';
53
+
54
+ const payloadMapper = t.arrowFunctionExpression(
55
+ [t.identifier(param)],
56
+ t.objectExpression([
57
+ t.objectProperty(t.identifier('type'), t.stringLiteral(callInfo.type)),
58
+ t.objectProperty(t.identifier('operation'), t.stringLiteral(callInfo.operation)),
59
+ t.objectProperty(t.identifier('payload'), t.cloneNode(payloadNode, true)),
60
+ ])
61
+ );
62
+
63
+ const clonedBody = t.cloneNode(callback.body, true);
64
+
65
+ const resultAccess = t.memberExpression(
66
+ t.identifier(resultsVar),
67
+ t.identifier(indexVar),
68
+ true
69
+ );
70
+
71
+ let traversableNode: t.Statement;
72
+ if (t.isBlockStatement(clonedBody)) {
73
+ traversableNode = t.functionDeclaration(
74
+ t.identifier('__temp'),
75
+ [],
76
+ clonedBody
77
+ );
78
+ } else {
79
+ traversableNode = t.expressionStatement(clonedBody as t.Expression);
80
+ }
81
+
82
+ let replaced = false;
83
+ traverse(t.file(t.program([traversableNode])), {
84
+ AwaitExpression(awaitPath: any) {
85
+ if (replaced) return;
86
+ const arg = awaitPath.node.argument;
87
+ if (t.isCallExpression(arg)) {
88
+ const info = batchDetector.extractCallInfo(arg);
89
+ if (info && info.type === callInfo.type && info.operation === callInfo.operation) {
90
+ awaitPath.replaceWith(resultAccess);
91
+ replaced = true;
92
+ }
93
+ }
94
+ },
95
+ noScope: true,
96
+ });
97
+
98
+ if (!replaced) {
99
+ return false;
100
+ }
101
+
102
+ let reconstructBody: t.BlockStatement | t.Expression;
103
+ if (t.isBlockStatement(clonedBody)) {
104
+ reconstructBody = clonedBody;
105
+ } else {
106
+ reconstructBody = clonedBody as t.Expression;
107
+ }
108
+
109
+ const reconstructMapper = t.arrowFunctionExpression(
110
+ [t.identifier(param), t.identifier(indexVar)],
111
+ reconstructBody
112
+ );
113
+ reconstructMapper.async = false;
114
+
115
+ const batchCall = t.awaitExpression(
116
+ t.callExpression(
117
+ t.memberExpression(t.identifier('__runtime'), t.identifier('batchParallel')),
118
+ [
119
+ t.callExpression(
120
+ t.memberExpression(t.cloneNode(array, true), t.identifier('map')),
121
+ [payloadMapper]
122
+ ),
123
+ t.stringLiteral(methodId),
124
+ ]
125
+ )
126
+ );
127
+
128
+ const resultsDeclaration = t.variableDeclaration('const', [
129
+ t.variableDeclarator(t.identifier(resultsVar), batchCall),
130
+ ]);
131
+
132
+ const reconstructCall = t.callExpression(
133
+ t.memberExpression(t.cloneNode(array, true), t.identifier('map')),
134
+ [reconstructMapper]
135
+ );
136
+
137
+ const iife = t.callExpression(
138
+ t.arrowFunctionExpression(
139
+ [],
140
+ t.blockStatement([
141
+ resultsDeclaration,
142
+ t.returnStatement(reconstructCall),
143
+ ]),
144
+ true
145
+ ),
146
+ []
147
+ );
148
+
149
+ const awaitIife = t.awaitExpression(iife);
150
+
151
+ path.replaceWith(awaitIife);
152
+ onTransform();
153
+ return true;
154
+ }
155
+
@@ -1,9 +1,14 @@
1
1
  import * as t from '@babel/types';
2
2
  import { BatchOptimizer } from './batch-optimizer.js';
3
3
  import { BatchParallelDetector } from './batch-detector.js';
4
- import { getArrayMethodName, canUseBatchParallel } from './array-transformer-utils.js';
4
+ import {
5
+ getArrayMethodName,
6
+ canUseBatchParallel,
7
+ findLLMCallExpression,
8
+ } from './array-transformer-utils.js';
5
9
  import { transformToBatchParallel } from './array-transformer-batch.js';
6
10
  import { transformToSequential } from './array-transformer-sequential.js';
11
+ import { transformToBatchWithReconstruction } from './array-transformer-batch-reconstruct.js';
7
12
 
8
13
  export class ArrayTransformer {
9
14
  private transformCount = 0;
@@ -32,6 +37,29 @@ export class ArrayTransformer {
32
37
 
33
38
  const batchResult = this.batchOptimizer.canBatchArrayMethod(callback);
34
39
 
40
+ if (!batchResult.canBatch && methodName === 'map') {
41
+ const reason = batchResult.reason || '';
42
+ const hasObjectOrArrayReturn =
43
+ reason.includes('object expression') || reason.includes('array expression');
44
+
45
+ if (hasObjectOrArrayReturn) {
46
+ const llmCall = findLLMCallExpression(callback.body);
47
+ if (llmCall) {
48
+ const success = transformToBatchWithReconstruction(
49
+ path,
50
+ node,
51
+ methodName,
52
+ callback,
53
+ this.batchDetector,
54
+ () => this.transformCount++
55
+ );
56
+ if (success) {
57
+ return true;
58
+ }
59
+ }
60
+ }
61
+ }
62
+
35
63
  if (batchResult.canBatch && canUseBatchParallel(methodName)) {
36
64
  const array = (node.callee as t.MemberExpression).object;
37
65
  const decision = this.batchOptimizer.makeSmartBatchDecision(
@@ -98,6 +98,22 @@ export class BatchOptimizer {
98
98
  };
99
99
  }
100
100
 
101
+ const lastStmt = statements[statements.length - 1];
102
+ if (t.isReturnStatement(lastStmt) && lastStmt.argument) {
103
+ if (t.isObjectExpression(lastStmt.argument)) {
104
+ return {
105
+ canBatch: false,
106
+ reason: 'Return statement is object expression - batch would lose structure',
107
+ };
108
+ }
109
+ if (t.isArrayExpression(lastStmt.argument)) {
110
+ return {
111
+ canBatch: false,
112
+ reason: 'Return statement is array expression - batch would lose structure',
113
+ };
114
+ }
115
+ }
116
+
101
117
  return { canBatch: true, llmCallPattern: 'single', hasConditionals: false };
102
118
  }
103
119
 
@@ -171,5 +171,6 @@ export * from './batch-detector.js';
171
171
  export * from './batch-optimizer.js';
172
172
  export * from './loop-transformer.js';
173
173
  export * from './array-transformer.js';
174
+ export * from './array-transformer-batch-reconstruct.js';
174
175
  export * from './promise-transformer.js';
175
176
  export * from './utils.js';