inngest 4.18.0 → 4.19.0

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 (70) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/api/api.cjs +22 -3
  3. package/api/api.cjs.map +1 -1
  4. package/api/api.js +22 -3
  5. package/api/api.js.map +1 -1
  6. package/components/Inngest.cjs +1 -0
  7. package/components/Inngest.cjs.map +1 -1
  8. package/components/Inngest.d.cts.map +1 -1
  9. package/components/Inngest.d.ts.map +1 -1
  10. package/components/Inngest.js +1 -0
  11. package/components/Inngest.js.map +1 -1
  12. package/components/InngestCommHandler.cjs +1 -1
  13. package/components/InngestCommHandler.cjs.map +1 -1
  14. package/components/InngestCommHandler.d.cts.map +1 -1
  15. package/components/InngestCommHandler.d.ts.map +1 -1
  16. package/components/InngestCommHandler.js +1 -1
  17. package/components/InngestCommHandler.js.map +1 -1
  18. package/components/execution/engine.cjs +24 -13
  19. package/components/execution/engine.cjs.map +1 -1
  20. package/components/execution/engine.d.cts.map +1 -1
  21. package/components/execution/engine.d.ts.map +1 -1
  22. package/components/execution/engine.js +25 -14
  23. package/components/execution/engine.js.map +1 -1
  24. package/components/execution/otel/metadataProcessor.cjs +55 -16
  25. package/components/execution/otel/metadataProcessor.cjs.map +1 -1
  26. package/components/execution/otel/metadataProcessor.js +55 -16
  27. package/components/execution/otel/metadataProcessor.js.map +1 -1
  28. package/components/realtime/types.d.cts +7 -7
  29. package/components/realtime/types.d.cts.map +1 -1
  30. package/components/realtime/types.d.ts +7 -7
  31. package/components/realtime/types.d.ts.map +1 -1
  32. package/components/sandbox/client.cjs +35 -17
  33. package/components/sandbox/client.cjs.map +1 -1
  34. package/components/sandbox/client.js +36 -19
  35. package/components/sandbox/client.js.map +1 -1
  36. package/components/sandbox/durable.cjs +6 -6
  37. package/components/sandbox/durable.cjs.map +1 -1
  38. package/components/sandbox/durable.js +8 -8
  39. package/components/sandbox/durable.js.map +1 -1
  40. package/components/sandbox/protocol.cjs +2 -2
  41. package/components/sandbox/protocol.cjs.map +1 -1
  42. package/components/sandbox/protocol.js +3 -3
  43. package/components/sandbox/protocol.js.map +1 -1
  44. package/components/sandbox/types.cjs.map +1 -1
  45. package/components/sandbox/types.d.cts +49 -12
  46. package/components/sandbox/types.d.cts.map +1 -1
  47. package/components/sandbox/types.d.ts +49 -12
  48. package/components/sandbox/types.d.ts.map +1 -1
  49. package/components/sandbox/types.js.map +1 -1
  50. package/components/sandbox/validation.cjs +50 -13
  51. package/components/sandbox/validation.cjs.map +1 -1
  52. package/components/sandbox/validation.js +49 -14
  53. package/components/sandbox/validation.js.map +1 -1
  54. package/experimental.d.cts +2 -2
  55. package/experimental.d.ts +2 -2
  56. package/helpers/sessions.cjs +10 -2
  57. package/helpers/sessions.cjs.map +1 -1
  58. package/helpers/sessions.js +10 -3
  59. package/helpers/sessions.js.map +1 -1
  60. package/package.json +1 -1
  61. package/react.d.cts +1 -1
  62. package/react.d.ts +1 -1
  63. package/types.d.cts +8 -8
  64. package/types.d.ts +8 -8
  65. package/version.cjs +1 -1
  66. package/version.cjs.map +1 -1
  67. package/version.d.cts +1 -1
  68. package/version.d.ts +1 -1
  69. package/version.js +1 -1
  70. package/version.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.cts","names":[],"sources":["../../../src/components/execution/engine.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;cAiJa,uBAAuB;;;;UAs7FnB,WAAA;;YACU,cAAc;;;IAv7F5B,KAAA,EAAA,OAAA;EAs7FI,CAAA;EAAW,mBAAA,EAAA;IACD,IAAA,EAAA,OAAA;;kBAIjB,EAAA;IACM,IAAA,EADN,UACM;IAAc,UAAA,EAAd,cAAc,EAAA;IAOzB,eAAU,EAAA,MAAA;EAAA,CAAA;iCACD,EAAA,CAAA,CAAA;yCAA+B,EAAA,CAAA,CAAA;;KADxC,UAAA,GAC0D,QAAnC,MAAd,WAAc,GAAA,QAAA,CAAA;EACpB,IAAA,EADqC,CACrC;AAAW,CAAA,GADgC,WAChC,CAD4C,CAC5C,CAAA,CAAA,EA+BnB,CAAA,MA/BQ,WA+BS,CAAA;AAAc,UAAd,cAAA,CAAc;;;;;;eAoBlB,CAAA,EAdK,QAcL,CAdc,IAcd,CAdmB,UAcnB,EAAA,IAAA,CAAA,CAAA;;;;;;;yBAwDa,CAAA,EA9DE,UA8DF;;;;;WAoDD,EA5GZ,MA4GY,CAAA,MAAA,EA5GG,UA4GH,CAAA;;;AACxB;AAgBkC;;;aA6BjC,EAlJa,MAkJb,CAAA,MAAA,EAAA;IACA,SAAA,CAAA,EAAA,OAAA;;;;;;EA2CW,cAAuD,EAAA,MAAA;EAAA;;;;SAlL3D,YAAY;;;;;;;;;;;QAab,eAAe;;;;wBAKC;;;;;;;;;;;;;;;0BAkBE;;;;;;;;;;;;;;;8BAgBI;;;;;;;;;;;;;;;;;;;;;2BAwBH;;;;;;WAOhB;;;;aAKE,YAAY,MAAM;;;;;UAiBrB,yBAAA;;;;;;;;;;;;;;;iBA2BD,sBAAA;;;;;;mBAMU;YACP,YAAY;IACpB;;;;cAsCS;eAnFO,eAAa"}
1
+ {"version":3,"file":"engine.d.cts","names":[],"sources":["../../../src/components/execution/engine.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;cAkJa,uBAAuB;;;;UA48FnB,WAAA;;YACU,cAAc;;;IA78F5B,KAAA,EAAA,OAAA;EA48FI,CAAA;EAAW,mBAAA,EAAA;IACD,IAAA,EAAA,OAAA;;kBAIjB,EAAA;IACM,IAAA,EADN,UACM;IAAc,UAAA,EAAd,cAAc,EAAA;IAOzB,eAAU,EAAA,MAAA;EAAA,CAAA;iCACD,EAAA,CAAA,CAAA;yCAA+B,EAAA,CAAA,CAAA;;KADxC,UAAA,GAC0D,QAAnC,MAAd,WAAc,GAAA,QAAA,CAAA;EACpB,IAAA,EADqC,CACrC;AAAW,CAAA,GADgC,WAChC,CAD4C,CAC5C,CAAA,CAAA,EA+BnB,CAAA,MA/BQ,WA+BS,CAAA;AAAc,UAAd,cAAA,CAAc;;;;;;eAoBlB,CAAA,EAdK,QAcL,CAdc,IAcd,CAdmB,UAcnB,EAAA,IAAA,CAAA,CAAA;;;;;;;yBAwDa,CAAA,EA9DE,UA8DF;;;;;WAoDD,EA5GZ,MA4GY,CAAA,MAAA,EA5GG,UA4GH,CAAA;;;AACxB;AAgBkC;;;aA6BjC,EAlJa,MAkJb,CAAA,MAAA,EAAA;IACA,SAAA,CAAA,EAAA,OAAA;;;;;;EA2CW,cAAuD,EAAA,MAAA;EAAA;;;;SAlL3D,YAAY;;;;;;;;;;;QAab,eAAe;;;;wBAKC;;;;;;;;;;;;;;;0BAkBE;;;;;;;;;;;;;;;8BAgBI;;;;;;;;;;;;;;;;;;;;;2BAwBH;;;;;;WAOhB;;;;aAKE,YAAY,MAAM;;;;;UAiBrB,yBAAA;;;;;;;;;;;;;;;iBA2BD,sBAAA;;;;;;mBAMU;YACP,YAAY;IACpB;;;;cAsCS;eAnFO,eAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","names":[],"sources":["../../../src/components/execution/engine.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;cAiJa,uBAAuB;;;;UAs7FnB,WAAA;;YACU,cAAc;;;IAv7F5B,KAAA,EAAA,OAAA;EAs7FI,CAAA;EAAW,mBAAA,EAAA;IACD,IAAA,EAAA,OAAA;;kBAIjB,EAAA;IACM,IAAA,EADN,UACM;IAAc,UAAA,EAAd,cAAc,EAAA;IAOzB,eAAU,EAAA,MAAA;EAAA,CAAA;iCACD,EAAA,CAAA,CAAA;yCAA+B,EAAA,CAAA,CAAA;;KADxC,UAAA,GAC0D,QAAnC,MAAd,WAAc,GAAA,QAAA,CAAA;EACpB,IAAA,EADqC,CACrC;AAAW,CAAA,GADgC,WAChC,CAD4C,CAC5C,CAAA,CAAA,EA+BnB,CAAA,MA/BQ,WA+BS,CAAA;AAAc,UAAd,cAAA,CAAc;;;;;;eAoBlB,CAAA,EAdK,QAcL,CAdc,IAcd,CAdmB,UAcnB,EAAA,IAAA,CAAA,CAAA;;;;;;;yBAwDa,CAAA,EA9DE,UA8DF;;;;;WAoDD,EA5GZ,MA4GY,CAAA,MAAA,EA5GG,UA4GH,CAAA;;;AACxB;AAgBkC;;;aA6BjC,EAlJa,MAkJb,CAAA,MAAA,EAAA;IACA,SAAA,CAAA,EAAA,OAAA;;;;;;EA2CW,cAAuD,EAAA,MAAA;EAAA;;;;SAlL3D,YAAY;;;;;;;;;;;QAab,eAAe;;;;wBAKC;;;;;;;;;;;;;;;0BAkBE;;;;;;;;;;;;;;;8BAgBI;;;;;;;;;;;;;;;;;;;;;2BAwBH;;;;;;WAOhB;;;;aAKE,YAAY,MAAM;;;;;UAiBrB,yBAAA;;;;;;;;;;;;;;;iBA2BD,sBAAA;;;;;;mBAMU;YACP,YAAY;IACpB;;;;cAsCS;eAnFO,eAAa"}
1
+ {"version":3,"file":"engine.d.ts","names":[],"sources":["../../../src/components/execution/engine.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;cAkJa,uBAAuB;;;;UA48FnB,WAAA;;YACU,cAAc;;;IA78F5B,KAAA,EAAA,OAAA;EA48FI,CAAA;EAAW,mBAAA,EAAA;IACD,IAAA,EAAA,OAAA;;kBAIjB,EAAA;IACM,IAAA,EADN,UACM;IAAc,UAAA,EAAd,cAAc,EAAA;IAOzB,eAAU,EAAA,MAAA;EAAA,CAAA;iCACD,EAAA,CAAA,CAAA;yCAA+B,EAAA,CAAA,CAAA;;KADxC,UAAA,GAC0D,QAAnC,MAAd,WAAc,GAAA,QAAA,CAAA;EACpB,IAAA,EADqC,CACrC;AAAW,CAAA,GADgC,WAChC,CAD4C,CAC5C,CAAA,CAAA,EA+BnB,CAAA,MA/BQ,WA+BS,CAAA;AAAc,UAAd,cAAA,CAAc;;;;;;eAoBlB,CAAA,EAdK,QAcL,CAdc,IAcd,CAdmB,UAcnB,EAAA,IAAA,CAAA,CAAA;;;;;;;yBAwDa,CAAA,EA9DE,UA8DF;;;;;WAoDD,EA5GZ,MA4GY,CAAA,MAAA,EA5GG,UA4GH,CAAA;;;AACxB;AAgBkC;;;aA6BjC,EAlJa,MAkJb,CAAA,MAAA,EAAA;IACA,SAAA,CAAA,EAAA,OAAA;;;;;;EA2CW,cAAuD,EAAA,MAAA;EAAA;;;;SAlL3D,YAAY;;;;;;;;;;;QAab,eAAe;;;;wBAKC;;;;;;;;;;;;;;;0BAkBE;;;;;;;;;;;;;;;8BAgBI;;;;;;;;;;;;;;;;;;;;;2BAwBH;;;;;;WAOhB;;;;aAKE,YAAY,MAAM;;;;;UAiBrB,yBAAA;;;;;;;;;;;;;;;iBA2BD,sBAAA;;;;;;mBAMU;YACP,YAAY;IACpB;;;;cAsCS;eAnFO,eAAa"}
@@ -12,7 +12,7 @@ import { isTemporalDuration } from "../../helpers/temporal.js";
12
12
  import { stringify } from "../../helpers/strings.js";
13
13
  import { createDeferredPromise, createDeferredPromiseWithStack, createTimeoutPromise, goIntervalTiming, resolveAfterPending, resolveNextTick, retryWithBackoff, runAsPromise } from "../../helpers/promises.js";
14
14
  import { getAsyncCtx, getAsyncCtxSync, getAsyncLocalStorage, runWithAsyncCtx } from "./als.js";
15
- import { normalizeEventMeta, reduceEventsToPropagatedSessions, stampPropagatedSessionsOnEvent } from "../../helpers/sessions.js";
15
+ import { normalizeEventMeta, normalizePropagatedSessions, reduceEventsToPropagatedSessions, stampPropagatedSessionsOnEvent } from "../../helpers/sessions.js";
16
16
  import { aggregate, toInngestAIMetadataValues } from "./otel/aiExtractor.js";
17
17
  import { metadataSpanProcessor } from "./otel/metadataProcessor.js";
18
18
  import { STEP_INDEXING_SUFFIX, createStepTools, experimentStepRunSymbol, getStepOptions } from "../InngestStepTools.js";
@@ -187,6 +187,11 @@ var InngestExecutionEngine = class extends InngestExecution {
187
187
  }
188
188
  }, async () => {
189
189
  return tracer.startActiveSpan("inngest.execution", (span) => {
190
+ let aiMetadataScope;
191
+ if (this.options.client.aiMetadataEnabled) aiMetadataScope = metadataSpanProcessor.startScope({
192
+ runId: this.options.runId,
193
+ span
194
+ });
190
195
  this.rootSpanId = span.spanContext().spanId;
191
196
  clientProcessorMap.get(this.options.client)?.declareStartingSpan({
192
197
  span,
@@ -194,7 +199,8 @@ var InngestExecutionEngine = class extends InngestExecution {
194
199
  traceparent: this.options.headers[headerKeys.TraceParent],
195
200
  tracestate: this.options.headers[headerKeys.TraceState]
196
201
  });
197
- if (this.options.client.aiMetadataEnabled) metadataSpanProcessor.declareStartingSpan({
202
+ if (aiMetadataScope) metadataSpanProcessor.declareStartingSpan({
203
+ scope: aiMetadataScope,
198
204
  span,
199
205
  traceparent: this.options.headers[headerKeys.TraceParent],
200
206
  onAIMetadata: (aiMetadata) => {
@@ -202,11 +208,12 @@ var InngestExecutionEngine = class extends InngestExecution {
202
208
  this.state.executingStepAIMetadata = this.state.executingStepAIMetadata ? aggregate(this.state.executingStepAIMetadata, aiMetadata) : aiMetadata;
203
209
  }
204
210
  });
205
- return this._start().then((result) => {
211
+ return this._start(() => {
212
+ span.end();
213
+ if (aiMetadataScope) metadataSpanProcessor.endScope(aiMetadataScope);
214
+ }).then((result) => {
206
215
  this.devDebug("result:", result);
207
216
  return result;
208
- }).finally(() => {
209
- span.end();
210
217
  });
211
218
  });
212
219
  });
@@ -228,10 +235,14 @@ var InngestExecutionEngine = class extends InngestExecution {
228
235
  }
229
236
  /**
230
237
  * Starts execution of the user's function and the core loop.
238
+ *
239
+ * @param onCoreLoopSettled - Called after this invocation has finished
240
+ * running user code and processing checkpoints, even if this method returned
241
+ * earlier. The run may re-enter later in a new SDK request.
231
242
  */
232
- async _start() {
243
+ async _start(onCoreLoopSettled) {
233
244
  if (this.options.stepMode === StepMode.Sync && this.options.acceptsSse) this.earlyStreamResponse = createDeferredPromise();
234
- const coreLoop = this.runCoreLoop();
245
+ const coreLoop = this.runCoreLoop().finally(onCoreLoopSettled);
235
246
  if (this.earlyStreamResponse) {
236
247
  coreLoop.catch((err) => {
237
248
  this.options.client[internalLoggerSymbol].error({ err }, "Core loop rejected after early stream response was sent");
@@ -1531,6 +1542,13 @@ var InngestExecutionEngine = class extends InngestExecution {
1531
1542
  let deferMeta;
1532
1543
  try {
1533
1544
  deferMeta = normalizeEventMeta(meta);
1545
+ if (this.options.client[sessionPropagationSymbol]) {
1546
+ const propagated = normalizePropagatedSessions(this.fnArg.sessions);
1547
+ if (propagated) deferMeta = {
1548
+ ...deferMeta,
1549
+ propagated_sessions: propagated
1550
+ };
1551
+ }
1534
1552
  } catch (err) {
1535
1553
  log.error({
1536
1554
  runId,
@@ -1538,13 +1556,6 @@ var InngestExecutionEngine = class extends InngestExecution {
1538
1556
  }, "defer skipped: invalid meta");
1539
1557
  return noopHandle;
1540
1558
  }
1541
- if (this.options.client[sessionPropagationSymbol]) {
1542
- const propagated = this.fnArg.sessions;
1543
- if (propagated && Object.keys(propagated).length > 0) deferMeta = {
1544
- ...deferMeta,
1545
- propagated_sessions: propagated
1546
- };
1547
- }
1548
1559
  stepHandler({
1549
1560
  args: [stepOptions, finalInput],
1550
1561
  matchOp: (stepOptions$1, inputArg) => ({