inngest 4.3.0 → 4.4.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 (134) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/api/schema.d.cts +2 -2
  3. package/api/schema.d.cts.map +1 -1
  4. package/api/schema.d.ts +2 -2
  5. package/api/schema.d.ts.map +1 -1
  6. package/components/DeferredFunction.cjs +66 -0
  7. package/components/DeferredFunction.cjs.map +1 -0
  8. package/components/DeferredFunction.d.cts +99 -0
  9. package/components/DeferredFunction.d.cts.map +1 -0
  10. package/components/DeferredFunction.d.ts +99 -0
  11. package/components/DeferredFunction.d.ts.map +1 -0
  12. package/components/DeferredFunction.js +65 -0
  13. package/components/DeferredFunction.js.map +1 -0
  14. package/components/Inngest.cjs +5 -2
  15. package/components/Inngest.cjs.map +1 -1
  16. package/components/Inngest.d.cts +4 -3
  17. package/components/Inngest.d.cts.map +1 -1
  18. package/components/Inngest.d.ts +4 -3
  19. package/components/Inngest.d.ts.map +1 -1
  20. package/components/Inngest.js +5 -2
  21. package/components/Inngest.js.map +1 -1
  22. package/components/InngestCommHandler.cjs +28 -23
  23. package/components/InngestCommHandler.cjs.map +1 -1
  24. package/components/InngestCommHandler.d.cts +9 -4
  25. package/components/InngestCommHandler.d.cts.map +1 -1
  26. package/components/InngestCommHandler.d.ts +9 -4
  27. package/components/InngestCommHandler.d.ts.map +1 -1
  28. package/components/InngestCommHandler.js +28 -23
  29. package/components/InngestCommHandler.js.map +1 -1
  30. package/components/InngestFunction.cjs +27 -19
  31. package/components/InngestFunction.cjs.map +1 -1
  32. package/components/InngestFunction.d.cts +6 -1
  33. package/components/InngestFunction.d.cts.map +1 -1
  34. package/components/InngestFunction.d.ts +6 -1
  35. package/components/InngestFunction.d.ts.map +1 -1
  36. package/components/InngestFunction.js +27 -19
  37. package/components/InngestFunction.js.map +1 -1
  38. package/components/InngestGroupTools.cjs +1 -1
  39. package/components/InngestGroupTools.cjs.map +1 -1
  40. package/components/InngestGroupTools.js +1 -1
  41. package/components/InngestGroupTools.js.map +1 -1
  42. package/components/connect/config.cjs +2 -0
  43. package/components/connect/config.cjs.map +1 -1
  44. package/components/connect/config.js +2 -0
  45. package/components/connect/config.js.map +1 -1
  46. package/components/execution/InngestExecution.cjs.map +1 -1
  47. package/components/execution/InngestExecution.d.cts +19 -2
  48. package/components/execution/InngestExecution.d.cts.map +1 -1
  49. package/components/execution/InngestExecution.d.ts +19 -2
  50. package/components/execution/InngestExecution.d.ts.map +1 -1
  51. package/components/execution/InngestExecution.js.map +1 -1
  52. package/components/execution/engine.cjs +232 -27
  53. package/components/execution/engine.cjs.map +1 -1
  54. package/components/execution/engine.d.cts +14 -0
  55. package/components/execution/engine.d.cts.map +1 -1
  56. package/components/execution/engine.d.ts +14 -0
  57. package/components/execution/engine.d.ts.map +1 -1
  58. package/components/execution/engine.js +232 -27
  59. package/components/execution/engine.js.map +1 -1
  60. package/components/execution/lazyOps.cjs +64 -0
  61. package/components/execution/lazyOps.cjs.map +1 -0
  62. package/components/execution/lazyOps.d.cts +42 -0
  63. package/components/execution/lazyOps.d.cts.map +1 -0
  64. package/components/execution/lazyOps.d.ts +42 -0
  65. package/components/execution/lazyOps.d.ts.map +1 -0
  66. package/components/execution/lazyOps.js +63 -0
  67. package/components/execution/lazyOps.js.map +1 -0
  68. package/components/execution/otel/middleware.d.cts +6 -3
  69. package/components/execution/otel/middleware.d.cts.map +1 -1
  70. package/components/execution/otel/middleware.d.ts +6 -3
  71. package/components/execution/otel/middleware.d.ts.map +1 -1
  72. package/components/middleware/middleware.cjs.map +1 -1
  73. package/components/middleware/middleware.d.cts +1 -1
  74. package/components/middleware/middleware.d.cts.map +1 -1
  75. package/components/middleware/middleware.d.ts +1 -1
  76. package/components/middleware/middleware.d.ts.map +1 -1
  77. package/components/middleware/middleware.js.map +1 -1
  78. package/components/middleware/utils.cjs +1 -0
  79. package/components/middleware/utils.cjs.map +1 -1
  80. package/components/middleware/utils.js +1 -0
  81. package/components/middleware/utils.js.map +1 -1
  82. package/components/realtime/types.d.cts +4 -4
  83. package/components/realtime/types.d.cts.map +1 -1
  84. package/components/realtime/types.d.ts +4 -4
  85. package/components/realtime/types.d.ts.map +1 -1
  86. package/components/triggers/typeHelpers.cjs.map +1 -1
  87. package/components/triggers/typeHelpers.d.cts +11 -0
  88. package/components/triggers/typeHelpers.d.cts.map +1 -1
  89. package/components/triggers/typeHelpers.d.ts +11 -0
  90. package/components/triggers/typeHelpers.d.ts.map +1 -1
  91. package/components/triggers/typeHelpers.js.map +1 -1
  92. package/experimental.cjs +3 -0
  93. package/experimental.d.cts +2 -1
  94. package/experimental.d.ts +2 -1
  95. package/experimental.js +2 -1
  96. package/helpers/consts.cjs +6 -0
  97. package/helpers/consts.cjs.map +1 -1
  98. package/helpers/consts.d.cts +6 -0
  99. package/helpers/consts.d.cts.map +1 -1
  100. package/helpers/consts.d.ts +6 -0
  101. package/helpers/consts.d.ts.map +1 -1
  102. package/helpers/consts.js +6 -0
  103. package/helpers/consts.js.map +1 -1
  104. package/helpers/functions.cjs +1 -0
  105. package/helpers/functions.cjs.map +1 -1
  106. package/helpers/functions.js +1 -0
  107. package/helpers/functions.js.map +1 -1
  108. package/helpers/marker.cjs +21 -0
  109. package/helpers/marker.cjs.map +1 -0
  110. package/helpers/marker.d.cts +12 -0
  111. package/helpers/marker.d.cts.map +1 -0
  112. package/helpers/marker.d.ts +12 -0
  113. package/helpers/marker.d.ts.map +1 -0
  114. package/helpers/marker.js +19 -0
  115. package/helpers/marker.js.map +1 -0
  116. package/package.json +2 -2
  117. package/proto/src/components/connect/protobuf/connect.cjs +11 -2
  118. package/proto/src/components/connect/protobuf/connect.cjs.map +1 -1
  119. package/proto/src/components/connect/protobuf/connect.js +11 -2
  120. package/proto/src/components/connect/protobuf/connect.js.map +1 -1
  121. package/types.cjs +2 -0
  122. package/types.cjs.map +1 -1
  123. package/types.d.cts +52 -18
  124. package/types.d.cts.map +1 -1
  125. package/types.d.ts +52 -18
  126. package/types.d.ts.map +1 -1
  127. package/types.js +2 -0
  128. package/types.js.map +1 -1
  129. package/version.cjs +1 -1
  130. package/version.cjs.map +1 -1
  131. package/version.d.cts +1 -1
  132. package/version.d.ts +1 -1
  133. package/version.js +1 -1
  134. package/version.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utils.cjs","names":["isTemporalDuration","chain: () => Promise<SendEventBaseOutput>","chain: () => Promise<Middleware.Response>","StepOpCode","isRecord"],"sources":["../../../src/components/middleware/utils.ts"],"sourcesContent":["import { type DurationLike, isTemporalDuration } from \"../../helpers/temporal\";\nimport { isRecord } from \"../../helpers/types\";\nimport type { Logger } from \"../../middleware/logger\";\nimport { type SendEventBaseOutput, StepOpCode } from \"../../types\";\nimport type { InngestFunction } from \"../InngestFunction\";\nimport type { Middleware } from \"./middleware\";\nimport type { ExtractLiteralStrings } from \"./types\";\n\nexport function isSleepInput(\n value: unknown,\n): value is string | number | Date | DurationLike {\n return (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n value instanceof Date ||\n isTemporalDuration(value)\n );\n}\n\n/**\n * Build an onion-style middleware chain for `wrapSendEvent`.\n *\n * Same pattern as `buildWrapRequestChain` but wraps the outgoing HTTP call\n * in `client.send()` instead of the incoming execution request.\n */\nexport function buildWrapSendEventChain(\n middleware: Middleware.BaseMiddleware[],\n handler: () => Promise<SendEventBaseOutput>,\n payloads: Middleware.WrapSendEventArgs[\"events\"],\n fn: InngestFunction.Any | null,\n): () => Promise<SendEventBaseOutput> {\n let chain: () => Promise<SendEventBaseOutput> = handler;\n for (let i = middleware.length - 1; i >= 0; i--) {\n const mw = middleware[i];\n if (mw?.wrapSendEvent) {\n const next = chain;\n chain = () => mw.wrapSendEvent!({ next, events: payloads, fn });\n }\n }\n return chain;\n}\n\n/**\n * Build an onion-style middleware chain for `wrapRequest`.\n *\n * Iterates in reverse order (so first middleware is outermost)\n * and returns a zero-arg function that kicks off the chain.\n */\nexport function buildWrapRequestChain({\n fn,\n handler,\n middleware,\n requestArgs,\n requestInfo,\n runId,\n}: {\n fn: InngestFunction.Any | null;\n handler: () => Promise<Middleware.Response>;\n middleware: Middleware.BaseMiddleware[];\n requestArgs: readonly unknown[];\n requestInfo: Middleware.Request;\n runId: string;\n}): () => Promise<Middleware.Response> {\n let chain: () => Promise<Middleware.Response> = handler;\n for (let i = middleware.length - 1; i >= 0; i--) {\n const mw = middleware[i];\n if (mw?.wrapRequest) {\n const next = chain;\n chain = () =>\n mw.wrapRequest!({ next, requestArgs, requestInfo, runId, fn });\n }\n }\n return chain;\n}\n\n// Replace the \"and can be any string\" union member with \"unknown\". This\n// improves static type safety within `stepTypeFromOpCode`, since it ensures we\n// aren't returning any unknown StepType besides \"unknown\". We should never\n// actually return \"unknown\" at runtime, but we need a default\ntype StepTypeFromOpCodeReturn =\n | ExtractLiteralStrings<Middleware.StepType>\n | \"unknown\";\n\n/**\n * Convert an opcode (from the op) to a step type.\n */\nexport function stepTypeFromOpCode(\n op: StepOpCode,\n opts: Record<string, unknown> | undefined,\n logger: Logger,\n): StepTypeFromOpCodeReturn {\n if (op === StepOpCode.AiGateway) {\n if (opts?.type === \"step.ai.infer\") {\n return \"ai.infer\";\n }\n if (opts?.type === \"step.ai.wrap\") {\n return \"ai.wrap\";\n }\n } else if (op === StepOpCode.Gateway) {\n return \"fetch\";\n } else if (op === StepOpCode.InvokeFunction) {\n return \"invoke\";\n } else if (op === StepOpCode.StepPlanned) {\n if (opts?.type === undefined) {\n return \"run\";\n }\n if (opts?.type === \"step.sendEvent\") {\n return \"sendEvent\";\n }\n if (opts?.type === \"step.realtime.publish\") {\n return \"realtime.publish\";\n }\n if (opts?.type === \"group.experiment\") {\n return \"group.experiment\";\n }\n } else if (op === StepOpCode.Sleep) {\n return \"sleep\";\n } else if (op === StepOpCode.WaitForEvent) {\n return \"waitForEvent\";\n }\n\n logger.warn({ op, type: opts?.type }, \"Unknown step type\");\n return \"unknown\";\n}\n\n/**\n * Convert the opts object (from the op) to a step input array.\n *\n * Paired with `optsFromStepInput` which reverses this for step kinds that\n * wrap the entire opts as `[opts]`.\n */\nexport function stepInputFromOpts(\n stepType: Middleware.StepType,\n opts?: Record<string, unknown>,\n): unknown[] | undefined {\n if (stepType === \"invoke\" || stepType === \"waitForEvent\") {\n return [opts];\n }\n if (Array.isArray(opts?.input)) {\n return opts.input;\n }\n return undefined;\n}\n\n/**\n * Reverse of `stepInputFromOpts`: given middleware-transformed input, derive\n * the opts to use in the outgoing op.\n *\n * Returns undefined when the step kind doesn't derive opts from input.\n */\nexport function optsFromStepInput(\n stepType: Middleware.StepType,\n input: unknown[] | undefined,\n): Record<string, unknown> | undefined {\n if (input === undefined) {\n return undefined;\n }\n\n // Step types where stepInputFromOpts wraps the entire opts as [opts]\n if (stepType === \"invoke\" || stepType === \"waitForEvent\") {\n const opts = input[0];\n if (isRecord(opts)) {\n return opts;\n }\n }\n\n return undefined;\n}\n\n/**\n * An error that is thrown when a code path is unreachable. Should never be\n * thrown at runtime.\n */\nexport class UnreachableError extends Error {\n constructor(...args: Parameters<typeof Error>) {\n super(...args);\n this.name = this.constructor.name;\n }\n}\n"],"mappings":";;;;;AAQA,SAAgB,aACd,OACgD;AAChD,QACE,OAAO,UAAU,YACjB,OAAO,UAAU,YACjB,iBAAiB,QACjBA,oCAAmB,MAAM;;;;;;;;AAU7B,SAAgB,wBACd,YACA,SACA,UACA,IACoC;CACpC,IAAIC,QAA4C;AAChD,MAAK,IAAI,IAAI,WAAW,SAAS,GAAG,KAAK,GAAG,KAAK;EAC/C,MAAM,KAAK,WAAW;AACtB,MAAI,IAAI,eAAe;GACrB,MAAM,OAAO;AACb,iBAAc,GAAG,cAAe;IAAE;IAAM,QAAQ;IAAU;IAAI,CAAC;;;AAGnE,QAAO;;;;;;;;AAST,SAAgB,sBAAsB,EACpC,IACA,SACA,YACA,aACA,aACA,SAQqC;CACrC,IAAIC,QAA4C;AAChD,MAAK,IAAI,IAAI,WAAW,SAAS,GAAG,KAAK,GAAG,KAAK;EAC/C,MAAM,KAAK,WAAW;AACtB,MAAI,IAAI,aAAa;GACnB,MAAM,OAAO;AACb,iBACE,GAAG,YAAa;IAAE;IAAM;IAAa;IAAa;IAAO;IAAI,CAAC;;;AAGpE,QAAO;;;;;AAcT,SAAgB,mBACd,IACA,MACA,QAC0B;AAC1B,KAAI,OAAOC,yBAAW,WAAW;AAC/B,MAAI,MAAM,SAAS,gBACjB,QAAO;AAET,MAAI,MAAM,SAAS,eACjB,QAAO;YAEA,OAAOA,yBAAW,QAC3B,QAAO;UACE,OAAOA,yBAAW,eAC3B,QAAO;UACE,OAAOA,yBAAW,aAAa;AACxC,MAAI,MAAM,SAAS,OACjB,QAAO;AAET,MAAI,MAAM,SAAS,iBACjB,QAAO;AAET,MAAI,MAAM,SAAS,wBACjB,QAAO;AAET,MAAI,MAAM,SAAS,mBACjB,QAAO;YAEA,OAAOA,yBAAW,MAC3B,QAAO;UACE,OAAOA,yBAAW,aAC3B,QAAO;AAGT,QAAO,KAAK;EAAE;EAAI,MAAM,MAAM;EAAM,EAAE,oBAAoB;AAC1D,QAAO;;;;;;;;AAST,SAAgB,kBACd,UACA,MACuB;AACvB,KAAI,aAAa,YAAY,aAAa,eACxC,QAAO,CAAC,KAAK;AAEf,KAAI,MAAM,QAAQ,MAAM,MAAM,CAC5B,QAAO,KAAK;;;;;;;;AAWhB,SAAgB,kBACd,UACA,OACqC;AACrC,KAAI,UAAU,OACZ;AAIF,KAAI,aAAa,YAAY,aAAa,gBAAgB;EACxD,MAAM,OAAO,MAAM;AACnB,MAAIC,yBAAS,KAAK,CAChB,QAAO;;;;;;;AAWb,IAAa,mBAAb,cAAsC,MAAM;CAC1C,YAAY,GAAG,MAAgC;AAC7C,QAAM,GAAG,KAAK;AACd,OAAK,OAAO,KAAK,YAAY"}
1
+ {"version":3,"file":"utils.cjs","names":["isTemporalDuration","chain: () => Promise<SendEventBaseOutput>","chain: () => Promise<Middleware.Response>","StepOpCode","isRecord"],"sources":["../../../src/components/middleware/utils.ts"],"sourcesContent":["import { type DurationLike, isTemporalDuration } from \"../../helpers/temporal\";\nimport { isRecord } from \"../../helpers/types\";\nimport type { Logger } from \"../../middleware/logger\";\nimport { type SendEventBaseOutput, StepOpCode } from \"../../types\";\nimport type { InngestFunction } from \"../InngestFunction\";\nimport type { Middleware } from \"./middleware\";\nimport type { ExtractLiteralStrings } from \"./types\";\n\nexport function isSleepInput(\n value: unknown,\n): value is string | number | Date | DurationLike {\n return (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n value instanceof Date ||\n isTemporalDuration(value)\n );\n}\n\n/**\n * Build an onion-style middleware chain for `wrapSendEvent`.\n *\n * Same pattern as `buildWrapRequestChain` but wraps the outgoing HTTP call\n * in `client.send()` instead of the incoming execution request.\n */\nexport function buildWrapSendEventChain(\n middleware: Middleware.BaseMiddleware[],\n handler: () => Promise<SendEventBaseOutput>,\n payloads: Middleware.WrapSendEventArgs[\"events\"],\n fn: InngestFunction.Any | null,\n): () => Promise<SendEventBaseOutput> {\n let chain: () => Promise<SendEventBaseOutput> = handler;\n for (let i = middleware.length - 1; i >= 0; i--) {\n const mw = middleware[i];\n if (mw?.wrapSendEvent) {\n const next = chain;\n chain = () => mw.wrapSendEvent!({ next, events: payloads, fn });\n }\n }\n return chain;\n}\n\n/**\n * Build an onion-style middleware chain for `wrapRequest`.\n *\n * Iterates in reverse order (so first middleware is outermost)\n * and returns a zero-arg function that kicks off the chain.\n */\nexport function buildWrapRequestChain({\n fn,\n handler,\n middleware,\n requestArgs,\n requestInfo,\n runId,\n}: {\n fn: InngestFunction.Any | null;\n handler: () => Promise<Middleware.Response>;\n middleware: Middleware.BaseMiddleware[];\n requestArgs: readonly unknown[];\n requestInfo: Middleware.Request;\n runId: string;\n}): () => Promise<Middleware.Response> {\n let chain: () => Promise<Middleware.Response> = handler;\n for (let i = middleware.length - 1; i >= 0; i--) {\n const mw = middleware[i];\n if (mw?.wrapRequest) {\n const next = chain;\n chain = () =>\n mw.wrapRequest!({ next, requestArgs, requestInfo, runId, fn });\n }\n }\n return chain;\n}\n\n// Replace the \"and can be any string\" union member with \"unknown\". This\n// improves static type safety within `stepTypeFromOpCode`, since it ensures we\n// aren't returning any unknown StepType besides \"unknown\". We should never\n// actually return \"unknown\" at runtime, but we need a default\ntype StepTypeFromOpCodeReturn =\n | ExtractLiteralStrings<Middleware.StepType>\n | \"unknown\";\n\n/**\n * Convert an opcode (from the op) to a step type.\n */\nexport function stepTypeFromOpCode(\n op: StepOpCode,\n opts: Record<string, unknown> | undefined,\n logger: Logger,\n): StepTypeFromOpCodeReturn {\n if (op === StepOpCode.AiGateway) {\n if (opts?.type === \"step.ai.infer\") {\n return \"ai.infer\";\n }\n if (opts?.type === \"step.ai.wrap\") {\n return \"ai.wrap\";\n }\n } else if (op === StepOpCode.Gateway) {\n return \"fetch\";\n } else if (op === StepOpCode.InvokeFunction) {\n return \"invoke\";\n } else if (op === StepOpCode.StepPlanned) {\n if (opts?.type === undefined) {\n return \"run\";\n }\n if (opts?.type === \"step.sendEvent\") {\n return \"sendEvent\";\n }\n if (opts?.type === \"step.realtime.publish\") {\n return \"realtime.publish\";\n }\n if (opts?.type === \"group.experiment\") {\n return \"group.experiment\";\n }\n } else if (op === StepOpCode.Sleep) {\n return \"sleep\";\n } else if (op === StepOpCode.WaitForEvent) {\n return \"waitForEvent\";\n } else if (op === StepOpCode.WaitForSignal) {\n return \"waitForSignal\";\n }\n\n logger.warn({ op, type: opts?.type }, \"Unknown step type\");\n return \"unknown\";\n}\n\n/**\n * Convert the opts object (from the op) to a step input array.\n *\n * Paired with `optsFromStepInput` which reverses this for step kinds that\n * wrap the entire opts as `[opts]`.\n */\nexport function stepInputFromOpts(\n stepType: Middleware.StepType,\n opts?: Record<string, unknown>,\n): unknown[] | undefined {\n if (stepType === \"invoke\" || stepType === \"waitForEvent\") {\n return [opts];\n }\n if (Array.isArray(opts?.input)) {\n return opts.input;\n }\n return undefined;\n}\n\n/**\n * Reverse of `stepInputFromOpts`: given middleware-transformed input, derive\n * the opts to use in the outgoing op.\n *\n * Returns undefined when the step kind doesn't derive opts from input.\n */\nexport function optsFromStepInput(\n stepType: Middleware.StepType,\n input: unknown[] | undefined,\n): Record<string, unknown> | undefined {\n if (input === undefined) {\n return undefined;\n }\n\n // Step types where stepInputFromOpts wraps the entire opts as [opts]\n if (stepType === \"invoke\" || stepType === \"waitForEvent\") {\n const opts = input[0];\n if (isRecord(opts)) {\n return opts;\n }\n }\n\n return undefined;\n}\n\n/**\n * An error that is thrown when a code path is unreachable. Should never be\n * thrown at runtime.\n */\nexport class UnreachableError extends Error {\n constructor(...args: Parameters<typeof Error>) {\n super(...args);\n this.name = this.constructor.name;\n }\n}\n"],"mappings":";;;;;AAQA,SAAgB,aACd,OACgD;AAChD,QACE,OAAO,UAAU,YACjB,OAAO,UAAU,YACjB,iBAAiB,QACjBA,oCAAmB,MAAM;;;;;;;;AAU7B,SAAgB,wBACd,YACA,SACA,UACA,IACoC;CACpC,IAAIC,QAA4C;AAChD,MAAK,IAAI,IAAI,WAAW,SAAS,GAAG,KAAK,GAAG,KAAK;EAC/C,MAAM,KAAK,WAAW;AACtB,MAAI,IAAI,eAAe;GACrB,MAAM,OAAO;AACb,iBAAc,GAAG,cAAe;IAAE;IAAM,QAAQ;IAAU;IAAI,CAAC;;;AAGnE,QAAO;;;;;;;;AAST,SAAgB,sBAAsB,EACpC,IACA,SACA,YACA,aACA,aACA,SAQqC;CACrC,IAAIC,QAA4C;AAChD,MAAK,IAAI,IAAI,WAAW,SAAS,GAAG,KAAK,GAAG,KAAK;EAC/C,MAAM,KAAK,WAAW;AACtB,MAAI,IAAI,aAAa;GACnB,MAAM,OAAO;AACb,iBACE,GAAG,YAAa;IAAE;IAAM;IAAa;IAAa;IAAO;IAAI,CAAC;;;AAGpE,QAAO;;;;;AAcT,SAAgB,mBACd,IACA,MACA,QAC0B;AAC1B,KAAI,OAAOC,yBAAW,WAAW;AAC/B,MAAI,MAAM,SAAS,gBACjB,QAAO;AAET,MAAI,MAAM,SAAS,eACjB,QAAO;YAEA,OAAOA,yBAAW,QAC3B,QAAO;UACE,OAAOA,yBAAW,eAC3B,QAAO;UACE,OAAOA,yBAAW,aAAa;AACxC,MAAI,MAAM,SAAS,OACjB,QAAO;AAET,MAAI,MAAM,SAAS,iBACjB,QAAO;AAET,MAAI,MAAM,SAAS,wBACjB,QAAO;AAET,MAAI,MAAM,SAAS,mBACjB,QAAO;YAEA,OAAOA,yBAAW,MAC3B,QAAO;UACE,OAAOA,yBAAW,aAC3B,QAAO;UACE,OAAOA,yBAAW,cAC3B,QAAO;AAGT,QAAO,KAAK;EAAE;EAAI,MAAM,MAAM;EAAM,EAAE,oBAAoB;AAC1D,QAAO;;;;;;;;AAST,SAAgB,kBACd,UACA,MACuB;AACvB,KAAI,aAAa,YAAY,aAAa,eACxC,QAAO,CAAC,KAAK;AAEf,KAAI,MAAM,QAAQ,MAAM,MAAM,CAC5B,QAAO,KAAK;;;;;;;;AAWhB,SAAgB,kBACd,UACA,OACqC;AACrC,KAAI,UAAU,OACZ;AAIF,KAAI,aAAa,YAAY,aAAa,gBAAgB;EACxD,MAAM,OAAO,MAAM;AACnB,MAAIC,yBAAS,KAAK,CAChB,QAAO;;;;;;;AAWb,IAAa,mBAAb,cAAsC,MAAM;CAC1C,YAAY,GAAG,MAAgC;AAC7C,QAAM,GAAG,KAAK;AACd,OAAK,OAAO,KAAK,YAAY"}
@@ -66,6 +66,7 @@ function stepTypeFromOpCode(op, opts, logger) {
66
66
  if (opts?.type === "group.experiment") return "group.experiment";
67
67
  } else if (op === StepOpCode.Sleep) return "sleep";
68
68
  else if (op === StepOpCode.WaitForEvent) return "waitForEvent";
69
+ else if (op === StepOpCode.WaitForSignal) return "waitForSignal";
69
70
  logger.warn({
70
71
  op,
71
72
  type: opts?.type
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["chain: () => Promise<SendEventBaseOutput>","chain: () => Promise<Middleware.Response>"],"sources":["../../../src/components/middleware/utils.ts"],"sourcesContent":["import { type DurationLike, isTemporalDuration } from \"../../helpers/temporal\";\nimport { isRecord } from \"../../helpers/types\";\nimport type { Logger } from \"../../middleware/logger\";\nimport { type SendEventBaseOutput, StepOpCode } from \"../../types\";\nimport type { InngestFunction } from \"../InngestFunction\";\nimport type { Middleware } from \"./middleware\";\nimport type { ExtractLiteralStrings } from \"./types\";\n\nexport function isSleepInput(\n value: unknown,\n): value is string | number | Date | DurationLike {\n return (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n value instanceof Date ||\n isTemporalDuration(value)\n );\n}\n\n/**\n * Build an onion-style middleware chain for `wrapSendEvent`.\n *\n * Same pattern as `buildWrapRequestChain` but wraps the outgoing HTTP call\n * in `client.send()` instead of the incoming execution request.\n */\nexport function buildWrapSendEventChain(\n middleware: Middleware.BaseMiddleware[],\n handler: () => Promise<SendEventBaseOutput>,\n payloads: Middleware.WrapSendEventArgs[\"events\"],\n fn: InngestFunction.Any | null,\n): () => Promise<SendEventBaseOutput> {\n let chain: () => Promise<SendEventBaseOutput> = handler;\n for (let i = middleware.length - 1; i >= 0; i--) {\n const mw = middleware[i];\n if (mw?.wrapSendEvent) {\n const next = chain;\n chain = () => mw.wrapSendEvent!({ next, events: payloads, fn });\n }\n }\n return chain;\n}\n\n/**\n * Build an onion-style middleware chain for `wrapRequest`.\n *\n * Iterates in reverse order (so first middleware is outermost)\n * and returns a zero-arg function that kicks off the chain.\n */\nexport function buildWrapRequestChain({\n fn,\n handler,\n middleware,\n requestArgs,\n requestInfo,\n runId,\n}: {\n fn: InngestFunction.Any | null;\n handler: () => Promise<Middleware.Response>;\n middleware: Middleware.BaseMiddleware[];\n requestArgs: readonly unknown[];\n requestInfo: Middleware.Request;\n runId: string;\n}): () => Promise<Middleware.Response> {\n let chain: () => Promise<Middleware.Response> = handler;\n for (let i = middleware.length - 1; i >= 0; i--) {\n const mw = middleware[i];\n if (mw?.wrapRequest) {\n const next = chain;\n chain = () =>\n mw.wrapRequest!({ next, requestArgs, requestInfo, runId, fn });\n }\n }\n return chain;\n}\n\n// Replace the \"and can be any string\" union member with \"unknown\". This\n// improves static type safety within `stepTypeFromOpCode`, since it ensures we\n// aren't returning any unknown StepType besides \"unknown\". We should never\n// actually return \"unknown\" at runtime, but we need a default\ntype StepTypeFromOpCodeReturn =\n | ExtractLiteralStrings<Middleware.StepType>\n | \"unknown\";\n\n/**\n * Convert an opcode (from the op) to a step type.\n */\nexport function stepTypeFromOpCode(\n op: StepOpCode,\n opts: Record<string, unknown> | undefined,\n logger: Logger,\n): StepTypeFromOpCodeReturn {\n if (op === StepOpCode.AiGateway) {\n if (opts?.type === \"step.ai.infer\") {\n return \"ai.infer\";\n }\n if (opts?.type === \"step.ai.wrap\") {\n return \"ai.wrap\";\n }\n } else if (op === StepOpCode.Gateway) {\n return \"fetch\";\n } else if (op === StepOpCode.InvokeFunction) {\n return \"invoke\";\n } else if (op === StepOpCode.StepPlanned) {\n if (opts?.type === undefined) {\n return \"run\";\n }\n if (opts?.type === \"step.sendEvent\") {\n return \"sendEvent\";\n }\n if (opts?.type === \"step.realtime.publish\") {\n return \"realtime.publish\";\n }\n if (opts?.type === \"group.experiment\") {\n return \"group.experiment\";\n }\n } else if (op === StepOpCode.Sleep) {\n return \"sleep\";\n } else if (op === StepOpCode.WaitForEvent) {\n return \"waitForEvent\";\n }\n\n logger.warn({ op, type: opts?.type }, \"Unknown step type\");\n return \"unknown\";\n}\n\n/**\n * Convert the opts object (from the op) to a step input array.\n *\n * Paired with `optsFromStepInput` which reverses this for step kinds that\n * wrap the entire opts as `[opts]`.\n */\nexport function stepInputFromOpts(\n stepType: Middleware.StepType,\n opts?: Record<string, unknown>,\n): unknown[] | undefined {\n if (stepType === \"invoke\" || stepType === \"waitForEvent\") {\n return [opts];\n }\n if (Array.isArray(opts?.input)) {\n return opts.input;\n }\n return undefined;\n}\n\n/**\n * Reverse of `stepInputFromOpts`: given middleware-transformed input, derive\n * the opts to use in the outgoing op.\n *\n * Returns undefined when the step kind doesn't derive opts from input.\n */\nexport function optsFromStepInput(\n stepType: Middleware.StepType,\n input: unknown[] | undefined,\n): Record<string, unknown> | undefined {\n if (input === undefined) {\n return undefined;\n }\n\n // Step types where stepInputFromOpts wraps the entire opts as [opts]\n if (stepType === \"invoke\" || stepType === \"waitForEvent\") {\n const opts = input[0];\n if (isRecord(opts)) {\n return opts;\n }\n }\n\n return undefined;\n}\n\n/**\n * An error that is thrown when a code path is unreachable. Should never be\n * thrown at runtime.\n */\nexport class UnreachableError extends Error {\n constructor(...args: Parameters<typeof Error>) {\n super(...args);\n this.name = this.constructor.name;\n }\n}\n"],"mappings":";;;;;AAQA,SAAgB,aACd,OACgD;AAChD,QACE,OAAO,UAAU,YACjB,OAAO,UAAU,YACjB,iBAAiB,QACjB,mBAAmB,MAAM;;;;;;;;AAU7B,SAAgB,wBACd,YACA,SACA,UACA,IACoC;CACpC,IAAIA,QAA4C;AAChD,MAAK,IAAI,IAAI,WAAW,SAAS,GAAG,KAAK,GAAG,KAAK;EAC/C,MAAM,KAAK,WAAW;AACtB,MAAI,IAAI,eAAe;GACrB,MAAM,OAAO;AACb,iBAAc,GAAG,cAAe;IAAE;IAAM,QAAQ;IAAU;IAAI,CAAC;;;AAGnE,QAAO;;;;;;;;AAST,SAAgB,sBAAsB,EACpC,IACA,SACA,YACA,aACA,aACA,SAQqC;CACrC,IAAIC,QAA4C;AAChD,MAAK,IAAI,IAAI,WAAW,SAAS,GAAG,KAAK,GAAG,KAAK;EAC/C,MAAM,KAAK,WAAW;AACtB,MAAI,IAAI,aAAa;GACnB,MAAM,OAAO;AACb,iBACE,GAAG,YAAa;IAAE;IAAM;IAAa;IAAa;IAAO;IAAI,CAAC;;;AAGpE,QAAO;;;;;AAcT,SAAgB,mBACd,IACA,MACA,QAC0B;AAC1B,KAAI,OAAO,WAAW,WAAW;AAC/B,MAAI,MAAM,SAAS,gBACjB,QAAO;AAET,MAAI,MAAM,SAAS,eACjB,QAAO;YAEA,OAAO,WAAW,QAC3B,QAAO;UACE,OAAO,WAAW,eAC3B,QAAO;UACE,OAAO,WAAW,aAAa;AACxC,MAAI,MAAM,SAAS,OACjB,QAAO;AAET,MAAI,MAAM,SAAS,iBACjB,QAAO;AAET,MAAI,MAAM,SAAS,wBACjB,QAAO;AAET,MAAI,MAAM,SAAS,mBACjB,QAAO;YAEA,OAAO,WAAW,MAC3B,QAAO;UACE,OAAO,WAAW,aAC3B,QAAO;AAGT,QAAO,KAAK;EAAE;EAAI,MAAM,MAAM;EAAM,EAAE,oBAAoB;AAC1D,QAAO;;;;;;;;AAST,SAAgB,kBACd,UACA,MACuB;AACvB,KAAI,aAAa,YAAY,aAAa,eACxC,QAAO,CAAC,KAAK;AAEf,KAAI,MAAM,QAAQ,MAAM,MAAM,CAC5B,QAAO,KAAK;;;;;;;;AAWhB,SAAgB,kBACd,UACA,OACqC;AACrC,KAAI,UAAU,OACZ;AAIF,KAAI,aAAa,YAAY,aAAa,gBAAgB;EACxD,MAAM,OAAO,MAAM;AACnB,MAAI,SAAS,KAAK,CAChB,QAAO;;;;;;;AAWb,IAAa,mBAAb,cAAsC,MAAM;CAC1C,YAAY,GAAG,MAAgC;AAC7C,QAAM,GAAG,KAAK;AACd,OAAK,OAAO,KAAK,YAAY"}
1
+ {"version":3,"file":"utils.js","names":["chain: () => Promise<SendEventBaseOutput>","chain: () => Promise<Middleware.Response>"],"sources":["../../../src/components/middleware/utils.ts"],"sourcesContent":["import { type DurationLike, isTemporalDuration } from \"../../helpers/temporal\";\nimport { isRecord } from \"../../helpers/types\";\nimport type { Logger } from \"../../middleware/logger\";\nimport { type SendEventBaseOutput, StepOpCode } from \"../../types\";\nimport type { InngestFunction } from \"../InngestFunction\";\nimport type { Middleware } from \"./middleware\";\nimport type { ExtractLiteralStrings } from \"./types\";\n\nexport function isSleepInput(\n value: unknown,\n): value is string | number | Date | DurationLike {\n return (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n value instanceof Date ||\n isTemporalDuration(value)\n );\n}\n\n/**\n * Build an onion-style middleware chain for `wrapSendEvent`.\n *\n * Same pattern as `buildWrapRequestChain` but wraps the outgoing HTTP call\n * in `client.send()` instead of the incoming execution request.\n */\nexport function buildWrapSendEventChain(\n middleware: Middleware.BaseMiddleware[],\n handler: () => Promise<SendEventBaseOutput>,\n payloads: Middleware.WrapSendEventArgs[\"events\"],\n fn: InngestFunction.Any | null,\n): () => Promise<SendEventBaseOutput> {\n let chain: () => Promise<SendEventBaseOutput> = handler;\n for (let i = middleware.length - 1; i >= 0; i--) {\n const mw = middleware[i];\n if (mw?.wrapSendEvent) {\n const next = chain;\n chain = () => mw.wrapSendEvent!({ next, events: payloads, fn });\n }\n }\n return chain;\n}\n\n/**\n * Build an onion-style middleware chain for `wrapRequest`.\n *\n * Iterates in reverse order (so first middleware is outermost)\n * and returns a zero-arg function that kicks off the chain.\n */\nexport function buildWrapRequestChain({\n fn,\n handler,\n middleware,\n requestArgs,\n requestInfo,\n runId,\n}: {\n fn: InngestFunction.Any | null;\n handler: () => Promise<Middleware.Response>;\n middleware: Middleware.BaseMiddleware[];\n requestArgs: readonly unknown[];\n requestInfo: Middleware.Request;\n runId: string;\n}): () => Promise<Middleware.Response> {\n let chain: () => Promise<Middleware.Response> = handler;\n for (let i = middleware.length - 1; i >= 0; i--) {\n const mw = middleware[i];\n if (mw?.wrapRequest) {\n const next = chain;\n chain = () =>\n mw.wrapRequest!({ next, requestArgs, requestInfo, runId, fn });\n }\n }\n return chain;\n}\n\n// Replace the \"and can be any string\" union member with \"unknown\". This\n// improves static type safety within `stepTypeFromOpCode`, since it ensures we\n// aren't returning any unknown StepType besides \"unknown\". We should never\n// actually return \"unknown\" at runtime, but we need a default\ntype StepTypeFromOpCodeReturn =\n | ExtractLiteralStrings<Middleware.StepType>\n | \"unknown\";\n\n/**\n * Convert an opcode (from the op) to a step type.\n */\nexport function stepTypeFromOpCode(\n op: StepOpCode,\n opts: Record<string, unknown> | undefined,\n logger: Logger,\n): StepTypeFromOpCodeReturn {\n if (op === StepOpCode.AiGateway) {\n if (opts?.type === \"step.ai.infer\") {\n return \"ai.infer\";\n }\n if (opts?.type === \"step.ai.wrap\") {\n return \"ai.wrap\";\n }\n } else if (op === StepOpCode.Gateway) {\n return \"fetch\";\n } else if (op === StepOpCode.InvokeFunction) {\n return \"invoke\";\n } else if (op === StepOpCode.StepPlanned) {\n if (opts?.type === undefined) {\n return \"run\";\n }\n if (opts?.type === \"step.sendEvent\") {\n return \"sendEvent\";\n }\n if (opts?.type === \"step.realtime.publish\") {\n return \"realtime.publish\";\n }\n if (opts?.type === \"group.experiment\") {\n return \"group.experiment\";\n }\n } else if (op === StepOpCode.Sleep) {\n return \"sleep\";\n } else if (op === StepOpCode.WaitForEvent) {\n return \"waitForEvent\";\n } else if (op === StepOpCode.WaitForSignal) {\n return \"waitForSignal\";\n }\n\n logger.warn({ op, type: opts?.type }, \"Unknown step type\");\n return \"unknown\";\n}\n\n/**\n * Convert the opts object (from the op) to a step input array.\n *\n * Paired with `optsFromStepInput` which reverses this for step kinds that\n * wrap the entire opts as `[opts]`.\n */\nexport function stepInputFromOpts(\n stepType: Middleware.StepType,\n opts?: Record<string, unknown>,\n): unknown[] | undefined {\n if (stepType === \"invoke\" || stepType === \"waitForEvent\") {\n return [opts];\n }\n if (Array.isArray(opts?.input)) {\n return opts.input;\n }\n return undefined;\n}\n\n/**\n * Reverse of `stepInputFromOpts`: given middleware-transformed input, derive\n * the opts to use in the outgoing op.\n *\n * Returns undefined when the step kind doesn't derive opts from input.\n */\nexport function optsFromStepInput(\n stepType: Middleware.StepType,\n input: unknown[] | undefined,\n): Record<string, unknown> | undefined {\n if (input === undefined) {\n return undefined;\n }\n\n // Step types where stepInputFromOpts wraps the entire opts as [opts]\n if (stepType === \"invoke\" || stepType === \"waitForEvent\") {\n const opts = input[0];\n if (isRecord(opts)) {\n return opts;\n }\n }\n\n return undefined;\n}\n\n/**\n * An error that is thrown when a code path is unreachable. Should never be\n * thrown at runtime.\n */\nexport class UnreachableError extends Error {\n constructor(...args: Parameters<typeof Error>) {\n super(...args);\n this.name = this.constructor.name;\n }\n}\n"],"mappings":";;;;;AAQA,SAAgB,aACd,OACgD;AAChD,QACE,OAAO,UAAU,YACjB,OAAO,UAAU,YACjB,iBAAiB,QACjB,mBAAmB,MAAM;;;;;;;;AAU7B,SAAgB,wBACd,YACA,SACA,UACA,IACoC;CACpC,IAAIA,QAA4C;AAChD,MAAK,IAAI,IAAI,WAAW,SAAS,GAAG,KAAK,GAAG,KAAK;EAC/C,MAAM,KAAK,WAAW;AACtB,MAAI,IAAI,eAAe;GACrB,MAAM,OAAO;AACb,iBAAc,GAAG,cAAe;IAAE;IAAM,QAAQ;IAAU;IAAI,CAAC;;;AAGnE,QAAO;;;;;;;;AAST,SAAgB,sBAAsB,EACpC,IACA,SACA,YACA,aACA,aACA,SAQqC;CACrC,IAAIC,QAA4C;AAChD,MAAK,IAAI,IAAI,WAAW,SAAS,GAAG,KAAK,GAAG,KAAK;EAC/C,MAAM,KAAK,WAAW;AACtB,MAAI,IAAI,aAAa;GACnB,MAAM,OAAO;AACb,iBACE,GAAG,YAAa;IAAE;IAAM;IAAa;IAAa;IAAO;IAAI,CAAC;;;AAGpE,QAAO;;;;;AAcT,SAAgB,mBACd,IACA,MACA,QAC0B;AAC1B,KAAI,OAAO,WAAW,WAAW;AAC/B,MAAI,MAAM,SAAS,gBACjB,QAAO;AAET,MAAI,MAAM,SAAS,eACjB,QAAO;YAEA,OAAO,WAAW,QAC3B,QAAO;UACE,OAAO,WAAW,eAC3B,QAAO;UACE,OAAO,WAAW,aAAa;AACxC,MAAI,MAAM,SAAS,OACjB,QAAO;AAET,MAAI,MAAM,SAAS,iBACjB,QAAO;AAET,MAAI,MAAM,SAAS,wBACjB,QAAO;AAET,MAAI,MAAM,SAAS,mBACjB,QAAO;YAEA,OAAO,WAAW,MAC3B,QAAO;UACE,OAAO,WAAW,aAC3B,QAAO;UACE,OAAO,WAAW,cAC3B,QAAO;AAGT,QAAO,KAAK;EAAE;EAAI,MAAM,MAAM;EAAM,EAAE,oBAAoB;AAC1D,QAAO;;;;;;;;AAST,SAAgB,kBACd,UACA,MACuB;AACvB,KAAI,aAAa,YAAY,aAAa,eACxC,QAAO,CAAC,KAAK;AAEf,KAAI,MAAM,QAAQ,MAAM,MAAM,CAC5B,QAAO,KAAK;;;;;;;;AAWhB,SAAgB,kBACd,UACA,OACqC;AACrC,KAAI,UAAU,OACZ;AAIF,KAAI,aAAa,YAAY,aAAa,gBAAgB;EACxD,MAAM,OAAO,MAAM;AACnB,MAAI,SAAS,KAAK,CAChB,QAAO;;;;;;;AAWb,IAAa,mBAAb,cAAsC,MAAM;CAC1C,YAAY,GAAG,MAAgC;AAC7C,QAAM,GAAG,KAAK;AACd,OAAK,OAAO,KAAK,YAAY"}
@@ -64,7 +64,7 @@ declare namespace Realtime {
64
64
  stream_id: z.ZodOptional<z.ZodString>;
65
65
  kind: z.ZodEnum<["step", "run", "data", "ping", "pong", "closing", "event", "sub", "unsub", "datastream-start", "datastream-end", "chunk"]>;
66
66
  }, "strip", z.ZodTypeAny, {
67
- kind: "data" | "event" | "run" | "step" | "sub" | "ping" | "pong" | "closing" | "unsub" | "datastream-start" | "datastream-end" | "chunk";
67
+ kind: "data" | "event" | "run" | "step" | "ping" | "pong" | "closing" | "sub" | "unsub" | "datastream-start" | "datastream-end" | "chunk";
68
68
  channel?: string | undefined;
69
69
  data?: any;
70
70
  topic?: string | undefined;
@@ -74,7 +74,7 @@ declare namespace Realtime {
74
74
  env_id?: string | undefined;
75
75
  stream_id?: string | undefined;
76
76
  }, {
77
- kind: "data" | "event" | "run" | "step" | "sub" | "ping" | "pong" | "closing" | "unsub" | "datastream-start" | "datastream-end" | "chunk";
77
+ kind: "data" | "event" | "run" | "step" | "ping" | "pong" | "closing" | "sub" | "unsub" | "datastream-start" | "datastream-end" | "chunk";
78
78
  channel?: string | undefined;
79
79
  data?: any;
80
80
  topic?: string | undefined;
@@ -85,7 +85,7 @@ declare namespace Realtime {
85
85
  stream_id?: string | undefined;
86
86
  }>, {
87
87
  data: any;
88
- kind: "data" | "event" | "run" | "step" | "sub" | "ping" | "pong" | "closing" | "unsub" | "datastream-start" | "datastream-end" | "chunk";
88
+ kind: "data" | "event" | "run" | "step" | "ping" | "pong" | "closing" | "sub" | "unsub" | "datastream-start" | "datastream-end" | "chunk";
89
89
  channel?: string | undefined;
90
90
  topic?: string | undefined;
91
91
  run_id?: string | undefined;
@@ -94,7 +94,7 @@ declare namespace Realtime {
94
94
  env_id?: string | undefined;
95
95
  stream_id?: string | undefined;
96
96
  }, {
97
- kind: "data" | "event" | "run" | "step" | "sub" | "ping" | "pong" | "closing" | "unsub" | "datastream-start" | "datastream-end" | "chunk";
97
+ kind: "data" | "event" | "run" | "step" | "ping" | "pong" | "closing" | "sub" | "unsub" | "datastream-start" | "datastream-end" | "chunk";
98
98
  channel?: string | undefined;
99
99
  data?: any;
100
100
  topic?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.cts","names":[],"sources":["../../../src/components/realtime/types.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.cts","names":[],"sources":["../../../src/components/realtime/types.ts"],"sourcesContent":[],"mappings":"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"}
@@ -64,7 +64,7 @@ declare namespace Realtime {
64
64
  stream_id: z.ZodOptional<z.ZodString>;
65
65
  kind: z.ZodEnum<["step", "run", "data", "ping", "pong", "closing", "event", "sub", "unsub", "datastream-start", "datastream-end", "chunk"]>;
66
66
  }, "strip", z.ZodTypeAny, {
67
- kind: "data" | "event" | "run" | "step" | "sub" | "ping" | "pong" | "closing" | "unsub" | "datastream-start" | "datastream-end" | "chunk";
67
+ kind: "data" | "event" | "run" | "step" | "ping" | "pong" | "closing" | "sub" | "unsub" | "datastream-start" | "datastream-end" | "chunk";
68
68
  channel?: string | undefined;
69
69
  data?: any;
70
70
  topic?: string | undefined;
@@ -74,7 +74,7 @@ declare namespace Realtime {
74
74
  env_id?: string | undefined;
75
75
  stream_id?: string | undefined;
76
76
  }, {
77
- kind: "data" | "event" | "run" | "step" | "sub" | "ping" | "pong" | "closing" | "unsub" | "datastream-start" | "datastream-end" | "chunk";
77
+ kind: "data" | "event" | "run" | "step" | "ping" | "pong" | "closing" | "sub" | "unsub" | "datastream-start" | "datastream-end" | "chunk";
78
78
  channel?: string | undefined;
79
79
  data?: any;
80
80
  topic?: string | undefined;
@@ -85,7 +85,7 @@ declare namespace Realtime {
85
85
  stream_id?: string | undefined;
86
86
  }>, {
87
87
  data: any;
88
- kind: "data" | "event" | "run" | "step" | "sub" | "ping" | "pong" | "closing" | "unsub" | "datastream-start" | "datastream-end" | "chunk";
88
+ kind: "data" | "event" | "run" | "step" | "ping" | "pong" | "closing" | "sub" | "unsub" | "datastream-start" | "datastream-end" | "chunk";
89
89
  channel?: string | undefined;
90
90
  topic?: string | undefined;
91
91
  run_id?: string | undefined;
@@ -94,7 +94,7 @@ declare namespace Realtime {
94
94
  env_id?: string | undefined;
95
95
  stream_id?: string | undefined;
96
96
  }, {
97
- kind: "data" | "event" | "run" | "step" | "sub" | "ping" | "pong" | "closing" | "unsub" | "datastream-start" | "datastream-end" | "chunk";
97
+ kind: "data" | "event" | "run" | "step" | "ping" | "pong" | "closing" | "sub" | "unsub" | "datastream-start" | "datastream-end" | "chunk";
98
98
  channel?: string | undefined;
99
99
  data?: any;
100
100
  topic?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/components/realtime/types.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/components/realtime/types.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"typeHelpers.cjs","names":[],"sources":["../../../src/components/triggers/typeHelpers.ts"],"sourcesContent":["// biome-ignore-all lint/suspicious/noExplicitAny: it's fine\n\nimport type { StandardSchemaV1 } from \"@standard-schema/spec\";\nimport type { AsTuple } from \"../../helpers/types.ts\";\nimport type { createGroupTools } from \"../InngestGroupTools.ts\";\nimport type { EventType, EventTypeWithAnySchema } from \"./triggers.ts\";\n\nexport type AnySchema = StandardSchemaV1<any>;\ntype BasicDataUnknown = Record<string, unknown>;\ntype BasicDataAny = Record<string, any>;\n\ntype InvokeEventName = \"inngest/function.invoked\";\ntype CronEventName = \"inngest/scheduled.timer\";\ntype CronEventData = { cron: string };\n\n/**\n * Detects if a string type contains a wildcard character (*).\n */\ntype ContainsWildcard<T extends string> = T extends `${string}*${string}`\n ? true\n : false;\n\n/**\n * Converts wildcard event names to `unknown`, preserving literal names.\n */\ntype WildcardToUnknown<T extends string> = ContainsWildcard<T> extends true\n ? unknown\n : T;\n\n/**\n * Represents the structure of an event as received by function handlers.\n *\n * This is the runtime event shape that your function receives when triggered.\n *\n * @template TName - The event name as a string literal type\n * @template TData - The event data object type\n */\nexport type ReceivedEvent<TName, TData extends BasicDataUnknown> = {\n data: TData;\n id: string;\n name: TName;\n ts: number;\n v: string;\n};\n\n/**\n * Recursively checks if a trigger array contains an invoke trigger.\n *\n * This type is used to determine whether to add \"inngest/function.invoked\"\n * event to the received events tuple.\n *\n * @template T - Array of trigger definitions to check\n * @returns `true` if array contains an invoke trigger, `false` otherwise\n */\ntype HasInvokeTrigger<T extends readonly any[]> = T extends readonly [\n infer First,\n ...infer Rest,\n]\n ? First extends EventTypeWithAnySchema<InvokeEventName>\n ? true\n : HasInvokeTrigger<Rest>\n : false;\n\n/**\n * Converts an EventType instance to a ReceivedEvent type.\n *\n * Extracts the event name and schema from EventType and transforms it into\n * the ReceivedEvent shape that function handlers receive.\n *\n * @template TEventType - The EventType instance to convert\n * @returns ReceivedEvent type with extracted name and data\n */\ntype EventTypeToEvent<TEventType> = TEventType extends EventType<\n infer TName,\n infer TSchema\n>\n ? TSchema extends StandardSchemaV1<infer TData extends BasicDataUnknown>\n ? ReceivedEvent<WildcardToUnknown<TName>, TData>\n : ReceivedEvent<WildcardToUnknown<TName>, BasicDataAny>\n : never;\n\n/**\n * Converts a plain event object trigger to a ReceivedEvent type.\n *\n * Handles triggers like `{ event: \"my-event\", schema?: z.object(...) }`.\n *\n * @template TName - Event name\n * @template TSchema - Optional schema type\n * @returns ReceivedEvent with typed data from schema, or Record<string, any> if no schema\n */\ntype PlainEventToReceivedEvent<\n TName extends string,\n TSchema,\n> = TSchema extends StandardSchemaV1<infer TData extends BasicDataUnknown>\n ? ReceivedEvent<WildcardToUnknown<TName>, TData>\n : ReceivedEvent<WildcardToUnknown<TName>, BasicDataAny>;\n\n/**\n * Processes a single trigger and converts it to ReceivedEvent(s).\n *\n * @template TTrigger - The trigger to process\n * @template TSeenCron - Whether we've already seen a cron trigger\n * @returns Tuple of ReceivedEvent(s), or empty array if trigger should be skipped\n */\ntype ProcessSingleTrigger<\n TTrigger,\n TSeenCron extends boolean,\n> = TTrigger extends EventTypeWithAnySchema<InvokeEventName> // Is this an invoke trigger?\n ? [] // Skip invoke triggers (handled separately by ToReceivedEvent)\n : TTrigger extends EventTypeWithAnySchema<string> // Is this an event type trigger?\n ? [EventTypeToEvent<TTrigger>]\n : TTrigger extends { cron: string } // Is this a cron trigger?\n ? TSeenCron extends true\n ? [] // Skip additional cron triggers (they're merged into one)\n : [ReceivedEvent<CronEventName, CronEventData>]\n : // Is this an event trigger using an EventType?\n TTrigger extends {\n event: EventType<infer TName, infer TSchema>;\n if?: string;\n }\n ? [\n TSchema extends StandardSchemaV1<\n infer TData extends BasicDataUnknown\n >\n ? ReceivedEvent<WildcardToUnknown<TName>, TData>\n : ReceivedEvent<WildcardToUnknown<TName>, BasicDataAny>,\n ]\n : // Is this an event trigger using a string name (i.e. not an EventType)?\n TTrigger extends {\n event: infer TName extends string;\n schema?: infer TSchema;\n }\n ? [PlainEventToReceivedEvent<TName, TSchema>]\n : []; // Unknown trigger type, skip it\n\n/**\n * Recursively processes trigger array, converting to event types while tracking\n * crons.\n *\n * This type iterates through a trigger array, converting each trigger to its\n * corresponding ReceivedEvent type. It handles:\n * - EventType instances → ReceivedEvent with typed data\n * - Cron triggers → \"inngest/scheduled.timer\" event (merged if multiple)\n * - Plain event objects → ReceivedEvent with typed or untyped data\n * - Invoke triggers → skipped (handled by ToReceivedEvent)\n *\n * @template T - Array of trigger definitions to process\n * @template SeenCron - Tracks whether we've already encountered a cron trigger\n *\n * @remarks\n * Multiple cron triggers are merged into a single \"inngest/scheduled.timer\" event.\n */\ntype TriggersToEventsWithCron<\n T extends readonly any[],\n SeenCron extends boolean = false,\n> = T extends readonly [infer First, ...infer Rest]\n ? [\n ...ProcessSingleTrigger<First, SeenCron>,\n ...TriggersToEventsWithCron<\n Rest,\n First extends { cron: string } ? true : SeenCron\n >,\n ]\n : [];\n\n/**\n * Alias for TriggersToEventsWithCron that processes all non-invoke triggers.\n *\n * Despite the name \"Filter\", this type actually:\n * 1. Converts event triggers to ReceivedEvent types\n * 2. Converts cron triggers to \"inngest/scheduled.timer\" events\n * 3. Merges multiple cron triggers into one\n * 4. Preserves the order of non-invoke triggers\n *\n * @template T - Array of trigger definitions to process\n */\ntype FilterNonInvokeTriggers<T extends readonly any[]> =\n TriggersToEventsWithCron<T>;\n\n/**\n * Extracts and builds a union of schema output types from invoke triggers.\n *\n * This recursively processes the trigger array and accumulates the output types\n * from all invoke trigger schemas (those with event: \"inngest/function.invoked\")\n * into a union type.\n *\n * @template T - Array of trigger definitions to process\n * @returns Union of all invoke trigger schema output types, or `never` if none found\n */\ntype ExtractInvokeSchemas<T extends readonly any[]> = T extends readonly [\n infer First,\n ...infer Rest,\n]\n ? First extends EventType<InvokeEventName, infer TSchema>\n ? TSchema extends StandardSchemaV1<infer TData>\n ? TData | ExtractInvokeSchemas<Rest>\n : ExtractInvokeSchemas<Rest>\n : ExtractInvokeSchemas<Rest>\n : never;\n\n/**\n * Extracts and builds a union of all data types from all trigger schemas.\n *\n * Unlike ExtractInvokeSchemas which only processes invoke triggers, this type\n * processes ALL triggers (event and invoke triggers) and builds a union of\n * their data types. For event triggers without schemas, it returns Record<string, any>.\n *\n * @template T - Array of trigger definitions to process\n * @returns Union of all trigger data types, or `never` if none found\n */\ntype ExtractAllSchemaOutputs<T extends readonly any[]> = T extends readonly [\n infer First,\n ...infer Rest,\n]\n ? First extends EventType<string, infer TSchema>\n ? TSchema extends StandardSchemaV1<infer TData>\n ? TData | ExtractAllSchemaOutputs<Rest>\n : BasicDataAny | ExtractAllSchemaOutputs<Rest>\n : First extends { event: EventType<string, infer TSchema> }\n ? TSchema extends StandardSchemaV1<infer TData>\n ? TData | ExtractAllSchemaOutputs<Rest>\n : BasicDataAny | ExtractAllSchemaOutputs<Rest>\n : First extends {\n event: string;\n schema: StandardSchemaV1<infer TData>;\n }\n ? TData | ExtractAllSchemaOutputs<Rest>\n : First extends { event: string }\n ? BasicDataAny | ExtractAllSchemaOutputs<Rest>\n : ExtractAllSchemaOutputs<Rest>\n : never;\n\n/**\n * Converts `never` type to empty object `{}` for data types.\n *\n * This utility is used to ensure that when no schemas are found, the data type\n * becomes `{}` instead of `never`, which provides better TypeScript error\n * messages and autocomplete.\n *\n * @template T - Type to check and potentially convert\n * @returns `{}` if T is `never`, otherwise returns T unchanged\n */\ntype NeverToEmpty<T> = [T] extends [never] ? {} : T;\n\n/**\n * Converts a trigger array to a tuple of ReceivedEvent types.\n *\n * This type transforms trigger definitions into the event types that a function\n * handler will receive. It always includes an invoke event type because\n * functions can be invoked directly regardless of their declared triggers.\n *\n * When invoke triggers are present, it uses their schemas for the invoke event\n * data. Otherwise, it derives the invoke event data type from all trigger\n * schemas.\n *\n * @template T - Array of trigger definitions to process\n */\nexport type ToReceivedEvent<T extends readonly any[]> =\n HasInvokeTrigger<T> extends true\n ? [\n ...FilterNonInvokeTriggers<T>,\n ReceivedEvent<InvokeEventName, NeverToEmpty<ExtractInvokeSchemas<T>>>,\n ]\n : [\n ...TriggersToEventsWithCron<T>,\n ReceivedEvent<\n InvokeEventName,\n NeverToEmpty<ExtractAllSchemaOutputs<T>>\n >,\n ];\n\n/**\n * Converts a tuple of ReceivedEvent types to a union.\n * @internal\n */\ntype ReceivedEventTupleToUnion<T extends readonly any[]> = T[number];\n\n/**\n * Base context object for handlers using the new trigger-based event typing.\n * This uses ToReceivedEvent to derive event types directly from triggers\n * rather than looking up from the client's event registry.\n *\n * @template TStepTools - The step tools type for this context\n * @template TTriggers - Array of trigger definitions\n * @internal\n */\nexport type BaseContextWithTriggers<\n TStepTools,\n TTriggers extends readonly any[],\n> = {\n /**\n * The event data present in the payload.\n */\n event: ReceivedEventTupleToUnion<ToReceivedEvent<TTriggers>>;\n events: AsTuple<ReceivedEventTupleToUnion<ToReceivedEvent<TTriggers>>>;\n\n /**\n * The run ID for the current function execution\n */\n runId: string;\n\n step: TStepTools;\n\n /**\n * Tools for grouping and coordinating steps.\n */\n group: ReturnType<typeof createGroupTools>;\n\n /**\n * The current zero-indexed attempt number for this function execution.\n */\n attempt: number;\n\n /**\n * The maximum number of attempts allowed for this function.\n */\n maxAttempts?: number;\n};\n\n/**\n * Context object for handlers using trigger-based event typing with middleware overrides.\n *\n * @template TStepTools - The step tools type for this context\n * @template TTriggers - Array of trigger definitions\n * @template TOverrides - Properties to override from middleware\n * @internal\n */\nexport type ContextWithTriggers<\n TStepTools,\n TTriggers extends readonly any[],\n TOverrides extends BasicDataUnknown = Record<never, never>,\n> = Omit<BaseContextWithTriggers<TStepTools, TTriggers>, keyof TOverrides> &\n TOverrides;\n\n/**\n * A handler type that computes its event type from a trigger array using ToReceivedEvent.\n * This provides proper typing for EventType instances and schema-bearing triggers.\n *\n * @template TStepTools - The step tools type for this context\n * @template TTriggers - Array of trigger definitions\n * @template TOverrides - Properties to override from middleware\n * @internal\n */\nexport type HandlerWithTriggers<\n TStepTools,\n TTriggers extends readonly any[],\n TOverrides extends BasicDataUnknown = Record<never, never>,\n> = (\n /**\n * The context argument provides access to all data and tooling available to\n * the function.\n */\n ctx: ContextWithTriggers<TStepTools, TTriggers, TOverrides>,\n) => unknown;\n\n/**\n * Type guard to check if an object has a `validate` method. The use case is for\n * safely validating an event payload that might have a `validate` method\n */\nexport function isValidatable<T>(\n value: T,\n): value is T & { validate: () => Promise<void> } {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n if (!(\"validate\" in value)) {\n return false;\n }\n return typeof value.validate === \"function\";\n}\n"],"mappings":";;;;;;AAuWA,SAAgB,cACd,OACgD;AAChD,KAAI,OAAO,UAAU,YAAY,UAAU,KACzC,QAAO;AAET,KAAI,EAAE,cAAc,OAClB,QAAO;AAET,QAAO,OAAO,MAAM,aAAa"}
1
+ {"version":3,"file":"typeHelpers.cjs","names":[],"sources":["../../../src/components/triggers/typeHelpers.ts"],"sourcesContent":["// biome-ignore-all lint/suspicious/noExplicitAny: it's fine\n\nimport type { StandardSchemaV1 } from \"@standard-schema/spec\";\nimport type { AsTuple } from \"../../helpers/types.ts\";\nimport type { DeferFn } from \"../../types.ts\";\nimport type { createGroupTools } from \"../InngestGroupTools.ts\";\nimport type { EventType, EventTypeWithAnySchema } from \"./triggers.ts\";\n\nexport type AnySchema = StandardSchemaV1<any>;\ntype BasicDataUnknown = Record<string, unknown>;\ntype BasicDataAny = Record<string, any>;\n\ntype InvokeEventName = \"inngest/function.invoked\";\ntype CronEventName = \"inngest/scheduled.timer\";\ntype CronEventData = { cron: string };\n\n/**\n * Detects if a string type contains a wildcard character (*).\n */\ntype ContainsWildcard<T extends string> = T extends `${string}*${string}`\n ? true\n : false;\n\n/**\n * Converts wildcard event names to `unknown`, preserving literal names.\n */\ntype WildcardToUnknown<T extends string> = ContainsWildcard<T> extends true\n ? unknown\n : T;\n\n/**\n * Represents the structure of an event as received by function handlers.\n *\n * This is the runtime event shape that your function receives when triggered.\n *\n * @template TName - The event name as a string literal type\n * @template TData - The event data object type\n */\nexport type ReceivedEvent<TName, TData extends BasicDataUnknown> = {\n data: TData;\n id: string;\n name: TName;\n ts: number;\n v: string;\n};\n\n/**\n * Recursively checks if a trigger array contains an invoke trigger.\n *\n * This type is used to determine whether to add \"inngest/function.invoked\"\n * event to the received events tuple.\n *\n * @template T - Array of trigger definitions to check\n * @returns `true` if array contains an invoke trigger, `false` otherwise\n */\ntype HasInvokeTrigger<T extends readonly any[]> = T extends readonly [\n infer First,\n ...infer Rest,\n]\n ? First extends EventTypeWithAnySchema<InvokeEventName>\n ? true\n : HasInvokeTrigger<Rest>\n : false;\n\n/**\n * Converts an EventType instance to a ReceivedEvent type.\n *\n * Extracts the event name and schema from EventType and transforms it into\n * the ReceivedEvent shape that function handlers receive.\n *\n * @template TEventType - The EventType instance to convert\n * @returns ReceivedEvent type with extracted name and data\n */\ntype EventTypeToEvent<TEventType> = TEventType extends EventType<\n infer TName,\n infer TSchema\n>\n ? TSchema extends StandardSchemaV1<infer TData extends BasicDataUnknown>\n ? ReceivedEvent<WildcardToUnknown<TName>, TData>\n : ReceivedEvent<WildcardToUnknown<TName>, BasicDataAny>\n : never;\n\n/**\n * Converts a plain event object trigger to a ReceivedEvent type.\n *\n * Handles triggers like `{ event: \"my-event\", schema?: z.object(...) }`.\n *\n * @template TName - Event name\n * @template TSchema - Optional schema type\n * @returns ReceivedEvent with typed data from schema, or Record<string, any> if no schema\n */\ntype PlainEventToReceivedEvent<\n TName extends string,\n TSchema,\n> = TSchema extends StandardSchemaV1<infer TData extends BasicDataUnknown>\n ? ReceivedEvent<WildcardToUnknown<TName>, TData>\n : ReceivedEvent<WildcardToUnknown<TName>, BasicDataAny>;\n\n/**\n * Processes a single trigger and converts it to ReceivedEvent(s).\n *\n * @template TTrigger - The trigger to process\n * @template TSeenCron - Whether we've already seen a cron trigger\n * @returns Tuple of ReceivedEvent(s), or empty array if trigger should be skipped\n */\ntype ProcessSingleTrigger<\n TTrigger,\n TSeenCron extends boolean,\n> = TTrigger extends EventTypeWithAnySchema<InvokeEventName> // Is this an invoke trigger?\n ? [] // Skip invoke triggers (handled separately by ToReceivedEvent)\n : TTrigger extends EventTypeWithAnySchema<string> // Is this an event type trigger?\n ? [EventTypeToEvent<TTrigger>]\n : TTrigger extends { cron: string } // Is this a cron trigger?\n ? TSeenCron extends true\n ? [] // Skip additional cron triggers (they're merged into one)\n : [ReceivedEvent<CronEventName, CronEventData>]\n : // Is this an event trigger using an EventType?\n TTrigger extends {\n event: EventType<infer TName, infer TSchema>;\n if?: string;\n }\n ? [\n TSchema extends StandardSchemaV1<\n infer TData extends BasicDataUnknown\n >\n ? ReceivedEvent<WildcardToUnknown<TName>, TData>\n : ReceivedEvent<WildcardToUnknown<TName>, BasicDataAny>,\n ]\n : // Is this an event trigger using a string name (i.e. not an EventType)?\n TTrigger extends {\n event: infer TName extends string;\n schema?: infer TSchema;\n }\n ? [PlainEventToReceivedEvent<TName, TSchema>]\n : []; // Unknown trigger type, skip it\n\n/**\n * Recursively processes trigger array, converting to event types while tracking\n * crons.\n *\n * This type iterates through a trigger array, converting each trigger to its\n * corresponding ReceivedEvent type. It handles:\n * - EventType instances → ReceivedEvent with typed data\n * - Cron triggers → \"inngest/scheduled.timer\" event (merged if multiple)\n * - Plain event objects → ReceivedEvent with typed or untyped data\n * - Invoke triggers → skipped (handled by ToReceivedEvent)\n *\n * @template T - Array of trigger definitions to process\n * @template SeenCron - Tracks whether we've already encountered a cron trigger\n *\n * @remarks\n * Multiple cron triggers are merged into a single \"inngest/scheduled.timer\" event.\n */\ntype TriggersToEventsWithCron<\n T extends readonly any[],\n SeenCron extends boolean = false,\n> = T extends readonly [infer First, ...infer Rest]\n ? [\n ...ProcessSingleTrigger<First, SeenCron>,\n ...TriggersToEventsWithCron<\n Rest,\n First extends { cron: string } ? true : SeenCron\n >,\n ]\n : [];\n\n/**\n * Alias for TriggersToEventsWithCron that processes all non-invoke triggers.\n *\n * Despite the name \"Filter\", this type actually:\n * 1. Converts event triggers to ReceivedEvent types\n * 2. Converts cron triggers to \"inngest/scheduled.timer\" events\n * 3. Merges multiple cron triggers into one\n * 4. Preserves the order of non-invoke triggers\n *\n * @template T - Array of trigger definitions to process\n */\ntype FilterNonInvokeTriggers<T extends readonly any[]> =\n TriggersToEventsWithCron<T>;\n\n/**\n * Extracts and builds a union of schema output types from invoke triggers.\n *\n * This recursively processes the trigger array and accumulates the output types\n * from all invoke trigger schemas (those with event: \"inngest/function.invoked\")\n * into a union type.\n *\n * @template T - Array of trigger definitions to process\n * @returns Union of all invoke trigger schema output types, or `never` if none found\n */\ntype ExtractInvokeSchemas<T extends readonly any[]> = T extends readonly [\n infer First,\n ...infer Rest,\n]\n ? First extends EventType<InvokeEventName, infer TSchema>\n ? TSchema extends StandardSchemaV1<infer TData>\n ? TData | ExtractInvokeSchemas<Rest>\n : ExtractInvokeSchemas<Rest>\n : ExtractInvokeSchemas<Rest>\n : never;\n\n/**\n * Extracts and builds a union of all data types from all trigger schemas.\n *\n * Unlike ExtractInvokeSchemas which only processes invoke triggers, this type\n * processes ALL triggers (event and invoke triggers) and builds a union of\n * their data types. For event triggers without schemas, it returns Record<string, any>.\n *\n * @template T - Array of trigger definitions to process\n * @returns Union of all trigger data types, or `never` if none found\n */\ntype ExtractAllSchemaOutputs<T extends readonly any[]> = T extends readonly [\n infer First,\n ...infer Rest,\n]\n ? First extends EventType<string, infer TSchema>\n ? TSchema extends StandardSchemaV1<infer TData>\n ? TData | ExtractAllSchemaOutputs<Rest>\n : BasicDataAny | ExtractAllSchemaOutputs<Rest>\n : First extends { event: EventType<string, infer TSchema> }\n ? TSchema extends StandardSchemaV1<infer TData>\n ? TData | ExtractAllSchemaOutputs<Rest>\n : BasicDataAny | ExtractAllSchemaOutputs<Rest>\n : First extends {\n event: string;\n schema: StandardSchemaV1<infer TData>;\n }\n ? TData | ExtractAllSchemaOutputs<Rest>\n : First extends { event: string }\n ? BasicDataAny | ExtractAllSchemaOutputs<Rest>\n : ExtractAllSchemaOutputs<Rest>\n : never;\n\n/**\n * Converts `never` type to empty object `{}` for data types.\n *\n * This utility is used to ensure that when no schemas are found, the data type\n * becomes `{}` instead of `never`, which provides better TypeScript error\n * messages and autocomplete.\n *\n * @template T - Type to check and potentially convert\n * @returns `{}` if T is `never`, otherwise returns T unchanged\n */\ntype NeverToEmpty<T> = [T] extends [never] ? {} : T;\n\n/**\n * Converts a trigger array to a tuple of ReceivedEvent types.\n *\n * This type transforms trigger definitions into the event types that a function\n * handler will receive. It always includes an invoke event type because\n * functions can be invoked directly regardless of their declared triggers.\n *\n * When invoke triggers are present, it uses their schemas for the invoke event\n * data. Otherwise, it derives the invoke event data type from all trigger\n * schemas.\n *\n * @template T - Array of trigger definitions to process\n */\nexport type ToReceivedEvent<T extends readonly any[]> =\n HasInvokeTrigger<T> extends true\n ? [\n ...FilterNonInvokeTriggers<T>,\n ReceivedEvent<InvokeEventName, NeverToEmpty<ExtractInvokeSchemas<T>>>,\n ]\n : [\n ...TriggersToEventsWithCron<T>,\n ReceivedEvent<\n InvokeEventName,\n NeverToEmpty<ExtractAllSchemaOutputs<T>>\n >,\n ];\n\n/**\n * Converts a tuple of ReceivedEvent types to a union.\n * @internal\n */\ntype ReceivedEventTupleToUnion<T extends readonly any[]> = T[number];\n\n/**\n * Base context object for handlers using the new trigger-based event typing.\n * This uses ToReceivedEvent to derive event types directly from triggers\n * rather than looking up from the client's event registry.\n *\n * @template TStepTools - The step tools type for this context\n * @template TTriggers - Array of trigger definitions\n * @internal\n */\nexport type BaseContextWithTriggers<\n TStepTools,\n TTriggers extends readonly any[],\n> = {\n defer: DeferFn;\n\n /**\n * The event data present in the payload.\n */\n event: ReceivedEventTupleToUnion<ToReceivedEvent<TTriggers>>;\n events: AsTuple<ReceivedEventTupleToUnion<ToReceivedEvent<TTriggers>>>;\n\n /**\n * The run ID for the current function execution\n */\n runId: string;\n\n /**\n * The request ID for this individual outbound SDK invocation, if provided by\n * the executor.\n */\n requestId?: string;\n\n /**\n * The stable job ID for this invocation, if provided by the executor.\n */\n jobId?: string;\n\n step: TStepTools;\n\n /**\n * Tools for grouping and coordinating steps.\n */\n group: ReturnType<typeof createGroupTools>;\n\n /**\n * The current zero-indexed attempt number for this function execution.\n */\n attempt: number;\n\n /**\n * The maximum number of attempts allowed for this function.\n */\n maxAttempts?: number;\n};\n\n/**\n * Context object for handlers using trigger-based event typing with middleware overrides.\n *\n * @template TStepTools - The step tools type for this context\n * @template TTriggers - Array of trigger definitions\n * @template TOverrides - Properties to override from middleware\n * @internal\n */\nexport type ContextWithTriggers<\n TStepTools,\n TTriggers extends readonly any[],\n TOverrides extends BasicDataUnknown = Record<never, never>,\n> = Omit<BaseContextWithTriggers<TStepTools, TTriggers>, keyof TOverrides> &\n TOverrides;\n\n/**\n * A handler type that computes its event type from a trigger array using ToReceivedEvent.\n * This provides proper typing for EventType instances and schema-bearing triggers.\n *\n * @template TStepTools - The step tools type for this context\n * @template TTriggers - Array of trigger definitions\n * @template TOverrides - Properties to override from middleware\n * @internal\n */\nexport type HandlerWithTriggers<\n TStepTools,\n TTriggers extends readonly any[],\n TOverrides extends BasicDataUnknown = Record<never, never>,\n> = (\n /**\n * The context argument provides access to all data and tooling available to\n * the function.\n */\n ctx: ContextWithTriggers<TStepTools, TTriggers, TOverrides>,\n) => unknown;\n\n/**\n * Type guard to check if an object has a `validate` method. The use case is for\n * safely validating an event payload that might have a `validate` method\n */\nexport function isValidatable<T>(\n value: T,\n): value is T & { validate: () => Promise<void> } {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n if (!(\"validate\" in value)) {\n return false;\n }\n return typeof value.validate === \"function\";\n}\n"],"mappings":";;;;;;AAqXA,SAAgB,cACd,OACgD;AAChD,KAAI,OAAO,UAAU,YAAY,UAAU,KACzC,QAAO;AAET,KAAI,EAAE,cAAc,OAClB,QAAO;AAET,QAAO,OAAO,MAAM,aAAa"}
@@ -1,6 +1,7 @@
1
1
  import { AsTuple } from "../../helpers/types.cjs";
2
2
  import { createGroupTools } from "../InngestGroupTools.cjs";
3
3
  import { EventType, EventTypeWithAnySchema } from "./triggers.cjs";
4
+ import { DeferFn } from "../../types.cjs";
4
5
  import { StandardSchemaV1 } from "@standard-schema/spec";
5
6
 
6
7
  //#region src/components/triggers/typeHelpers.d.ts
@@ -181,6 +182,7 @@ type ReceivedEventTupleToUnion<T extends readonly any[]> = T[number];
181
182
  * @internal
182
183
  */
183
184
  type BaseContextWithTriggers<TStepTools, TTriggers extends readonly any[]> = {
185
+ defer: DeferFn;
184
186
  /**
185
187
  * The event data present in the payload.
186
188
  */
@@ -190,6 +192,15 @@ type BaseContextWithTriggers<TStepTools, TTriggers extends readonly any[]> = {
190
192
  * The run ID for the current function execution
191
193
  */
192
194
  runId: string;
195
+ /**
196
+ * The request ID for this individual outbound SDK invocation, if provided by
197
+ * the executor.
198
+ */
199
+ requestId?: string;
200
+ /**
201
+ * The stable job ID for this invocation, if provided by the executor.
202
+ */
203
+ jobId?: string;
193
204
  step: TStepTools;
194
205
  /**
195
206
  * Tools for grouping and coordinating steps.
@@ -1 +1 @@
1
- {"version":3,"file":"typeHelpers.d.cts","names":[],"sources":["../../../src/components/triggers/typeHelpers.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"typeHelpers.d.cts","names":[],"sources":["../../../src/components/triggers/typeHelpers.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { AsTuple } from "../../helpers/types.js";
2
2
  import { createGroupTools } from "../InngestGroupTools.js";
3
3
  import { EventType, EventTypeWithAnySchema } from "./triggers.js";
4
+ import { DeferFn } from "../../types.js";
4
5
  import { StandardSchemaV1 } from "@standard-schema/spec";
5
6
 
6
7
  //#region src/components/triggers/typeHelpers.d.ts
@@ -181,6 +182,7 @@ type ReceivedEventTupleToUnion<T extends readonly any[]> = T[number];
181
182
  * @internal
182
183
  */
183
184
  type BaseContextWithTriggers<TStepTools, TTriggers extends readonly any[]> = {
185
+ defer: DeferFn;
184
186
  /**
185
187
  * The event data present in the payload.
186
188
  */
@@ -190,6 +192,15 @@ type BaseContextWithTriggers<TStepTools, TTriggers extends readonly any[]> = {
190
192
  * The run ID for the current function execution
191
193
  */
192
194
  runId: string;
195
+ /**
196
+ * The request ID for this individual outbound SDK invocation, if provided by
197
+ * the executor.
198
+ */
199
+ requestId?: string;
200
+ /**
201
+ * The stable job ID for this invocation, if provided by the executor.
202
+ */
203
+ jobId?: string;
193
204
  step: TStepTools;
194
205
  /**
195
206
  * Tools for grouping and coordinating steps.
@@ -1 +1 @@
1
- {"version":3,"file":"typeHelpers.d.ts","names":[],"sources":["../../../src/components/triggers/typeHelpers.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"typeHelpers.d.ts","names":[],"sources":["../../../src/components/triggers/typeHelpers.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"typeHelpers.js","names":[],"sources":["../../../src/components/triggers/typeHelpers.ts"],"sourcesContent":["// biome-ignore-all lint/suspicious/noExplicitAny: it's fine\n\nimport type { StandardSchemaV1 } from \"@standard-schema/spec\";\nimport type { AsTuple } from \"../../helpers/types.ts\";\nimport type { createGroupTools } from \"../InngestGroupTools.ts\";\nimport type { EventType, EventTypeWithAnySchema } from \"./triggers.ts\";\n\nexport type AnySchema = StandardSchemaV1<any>;\ntype BasicDataUnknown = Record<string, unknown>;\ntype BasicDataAny = Record<string, any>;\n\ntype InvokeEventName = \"inngest/function.invoked\";\ntype CronEventName = \"inngest/scheduled.timer\";\ntype CronEventData = { cron: string };\n\n/**\n * Detects if a string type contains a wildcard character (*).\n */\ntype ContainsWildcard<T extends string> = T extends `${string}*${string}`\n ? true\n : false;\n\n/**\n * Converts wildcard event names to `unknown`, preserving literal names.\n */\ntype WildcardToUnknown<T extends string> = ContainsWildcard<T> extends true\n ? unknown\n : T;\n\n/**\n * Represents the structure of an event as received by function handlers.\n *\n * This is the runtime event shape that your function receives when triggered.\n *\n * @template TName - The event name as a string literal type\n * @template TData - The event data object type\n */\nexport type ReceivedEvent<TName, TData extends BasicDataUnknown> = {\n data: TData;\n id: string;\n name: TName;\n ts: number;\n v: string;\n};\n\n/**\n * Recursively checks if a trigger array contains an invoke trigger.\n *\n * This type is used to determine whether to add \"inngest/function.invoked\"\n * event to the received events tuple.\n *\n * @template T - Array of trigger definitions to check\n * @returns `true` if array contains an invoke trigger, `false` otherwise\n */\ntype HasInvokeTrigger<T extends readonly any[]> = T extends readonly [\n infer First,\n ...infer Rest,\n]\n ? First extends EventTypeWithAnySchema<InvokeEventName>\n ? true\n : HasInvokeTrigger<Rest>\n : false;\n\n/**\n * Converts an EventType instance to a ReceivedEvent type.\n *\n * Extracts the event name and schema from EventType and transforms it into\n * the ReceivedEvent shape that function handlers receive.\n *\n * @template TEventType - The EventType instance to convert\n * @returns ReceivedEvent type with extracted name and data\n */\ntype EventTypeToEvent<TEventType> = TEventType extends EventType<\n infer TName,\n infer TSchema\n>\n ? TSchema extends StandardSchemaV1<infer TData extends BasicDataUnknown>\n ? ReceivedEvent<WildcardToUnknown<TName>, TData>\n : ReceivedEvent<WildcardToUnknown<TName>, BasicDataAny>\n : never;\n\n/**\n * Converts a plain event object trigger to a ReceivedEvent type.\n *\n * Handles triggers like `{ event: \"my-event\", schema?: z.object(...) }`.\n *\n * @template TName - Event name\n * @template TSchema - Optional schema type\n * @returns ReceivedEvent with typed data from schema, or Record<string, any> if no schema\n */\ntype PlainEventToReceivedEvent<\n TName extends string,\n TSchema,\n> = TSchema extends StandardSchemaV1<infer TData extends BasicDataUnknown>\n ? ReceivedEvent<WildcardToUnknown<TName>, TData>\n : ReceivedEvent<WildcardToUnknown<TName>, BasicDataAny>;\n\n/**\n * Processes a single trigger and converts it to ReceivedEvent(s).\n *\n * @template TTrigger - The trigger to process\n * @template TSeenCron - Whether we've already seen a cron trigger\n * @returns Tuple of ReceivedEvent(s), or empty array if trigger should be skipped\n */\ntype ProcessSingleTrigger<\n TTrigger,\n TSeenCron extends boolean,\n> = TTrigger extends EventTypeWithAnySchema<InvokeEventName> // Is this an invoke trigger?\n ? [] // Skip invoke triggers (handled separately by ToReceivedEvent)\n : TTrigger extends EventTypeWithAnySchema<string> // Is this an event type trigger?\n ? [EventTypeToEvent<TTrigger>]\n : TTrigger extends { cron: string } // Is this a cron trigger?\n ? TSeenCron extends true\n ? [] // Skip additional cron triggers (they're merged into one)\n : [ReceivedEvent<CronEventName, CronEventData>]\n : // Is this an event trigger using an EventType?\n TTrigger extends {\n event: EventType<infer TName, infer TSchema>;\n if?: string;\n }\n ? [\n TSchema extends StandardSchemaV1<\n infer TData extends BasicDataUnknown\n >\n ? ReceivedEvent<WildcardToUnknown<TName>, TData>\n : ReceivedEvent<WildcardToUnknown<TName>, BasicDataAny>,\n ]\n : // Is this an event trigger using a string name (i.e. not an EventType)?\n TTrigger extends {\n event: infer TName extends string;\n schema?: infer TSchema;\n }\n ? [PlainEventToReceivedEvent<TName, TSchema>]\n : []; // Unknown trigger type, skip it\n\n/**\n * Recursively processes trigger array, converting to event types while tracking\n * crons.\n *\n * This type iterates through a trigger array, converting each trigger to its\n * corresponding ReceivedEvent type. It handles:\n * - EventType instances → ReceivedEvent with typed data\n * - Cron triggers → \"inngest/scheduled.timer\" event (merged if multiple)\n * - Plain event objects → ReceivedEvent with typed or untyped data\n * - Invoke triggers → skipped (handled by ToReceivedEvent)\n *\n * @template T - Array of trigger definitions to process\n * @template SeenCron - Tracks whether we've already encountered a cron trigger\n *\n * @remarks\n * Multiple cron triggers are merged into a single \"inngest/scheduled.timer\" event.\n */\ntype TriggersToEventsWithCron<\n T extends readonly any[],\n SeenCron extends boolean = false,\n> = T extends readonly [infer First, ...infer Rest]\n ? [\n ...ProcessSingleTrigger<First, SeenCron>,\n ...TriggersToEventsWithCron<\n Rest,\n First extends { cron: string } ? true : SeenCron\n >,\n ]\n : [];\n\n/**\n * Alias for TriggersToEventsWithCron that processes all non-invoke triggers.\n *\n * Despite the name \"Filter\", this type actually:\n * 1. Converts event triggers to ReceivedEvent types\n * 2. Converts cron triggers to \"inngest/scheduled.timer\" events\n * 3. Merges multiple cron triggers into one\n * 4. Preserves the order of non-invoke triggers\n *\n * @template T - Array of trigger definitions to process\n */\ntype FilterNonInvokeTriggers<T extends readonly any[]> =\n TriggersToEventsWithCron<T>;\n\n/**\n * Extracts and builds a union of schema output types from invoke triggers.\n *\n * This recursively processes the trigger array and accumulates the output types\n * from all invoke trigger schemas (those with event: \"inngest/function.invoked\")\n * into a union type.\n *\n * @template T - Array of trigger definitions to process\n * @returns Union of all invoke trigger schema output types, or `never` if none found\n */\ntype ExtractInvokeSchemas<T extends readonly any[]> = T extends readonly [\n infer First,\n ...infer Rest,\n]\n ? First extends EventType<InvokeEventName, infer TSchema>\n ? TSchema extends StandardSchemaV1<infer TData>\n ? TData | ExtractInvokeSchemas<Rest>\n : ExtractInvokeSchemas<Rest>\n : ExtractInvokeSchemas<Rest>\n : never;\n\n/**\n * Extracts and builds a union of all data types from all trigger schemas.\n *\n * Unlike ExtractInvokeSchemas which only processes invoke triggers, this type\n * processes ALL triggers (event and invoke triggers) and builds a union of\n * their data types. For event triggers without schemas, it returns Record<string, any>.\n *\n * @template T - Array of trigger definitions to process\n * @returns Union of all trigger data types, or `never` if none found\n */\ntype ExtractAllSchemaOutputs<T extends readonly any[]> = T extends readonly [\n infer First,\n ...infer Rest,\n]\n ? First extends EventType<string, infer TSchema>\n ? TSchema extends StandardSchemaV1<infer TData>\n ? TData | ExtractAllSchemaOutputs<Rest>\n : BasicDataAny | ExtractAllSchemaOutputs<Rest>\n : First extends { event: EventType<string, infer TSchema> }\n ? TSchema extends StandardSchemaV1<infer TData>\n ? TData | ExtractAllSchemaOutputs<Rest>\n : BasicDataAny | ExtractAllSchemaOutputs<Rest>\n : First extends {\n event: string;\n schema: StandardSchemaV1<infer TData>;\n }\n ? TData | ExtractAllSchemaOutputs<Rest>\n : First extends { event: string }\n ? BasicDataAny | ExtractAllSchemaOutputs<Rest>\n : ExtractAllSchemaOutputs<Rest>\n : never;\n\n/**\n * Converts `never` type to empty object `{}` for data types.\n *\n * This utility is used to ensure that when no schemas are found, the data type\n * becomes `{}` instead of `never`, which provides better TypeScript error\n * messages and autocomplete.\n *\n * @template T - Type to check and potentially convert\n * @returns `{}` if T is `never`, otherwise returns T unchanged\n */\ntype NeverToEmpty<T> = [T] extends [never] ? {} : T;\n\n/**\n * Converts a trigger array to a tuple of ReceivedEvent types.\n *\n * This type transforms trigger definitions into the event types that a function\n * handler will receive. It always includes an invoke event type because\n * functions can be invoked directly regardless of their declared triggers.\n *\n * When invoke triggers are present, it uses their schemas for the invoke event\n * data. Otherwise, it derives the invoke event data type from all trigger\n * schemas.\n *\n * @template T - Array of trigger definitions to process\n */\nexport type ToReceivedEvent<T extends readonly any[]> =\n HasInvokeTrigger<T> extends true\n ? [\n ...FilterNonInvokeTriggers<T>,\n ReceivedEvent<InvokeEventName, NeverToEmpty<ExtractInvokeSchemas<T>>>,\n ]\n : [\n ...TriggersToEventsWithCron<T>,\n ReceivedEvent<\n InvokeEventName,\n NeverToEmpty<ExtractAllSchemaOutputs<T>>\n >,\n ];\n\n/**\n * Converts a tuple of ReceivedEvent types to a union.\n * @internal\n */\ntype ReceivedEventTupleToUnion<T extends readonly any[]> = T[number];\n\n/**\n * Base context object for handlers using the new trigger-based event typing.\n * This uses ToReceivedEvent to derive event types directly from triggers\n * rather than looking up from the client's event registry.\n *\n * @template TStepTools - The step tools type for this context\n * @template TTriggers - Array of trigger definitions\n * @internal\n */\nexport type BaseContextWithTriggers<\n TStepTools,\n TTriggers extends readonly any[],\n> = {\n /**\n * The event data present in the payload.\n */\n event: ReceivedEventTupleToUnion<ToReceivedEvent<TTriggers>>;\n events: AsTuple<ReceivedEventTupleToUnion<ToReceivedEvent<TTriggers>>>;\n\n /**\n * The run ID for the current function execution\n */\n runId: string;\n\n step: TStepTools;\n\n /**\n * Tools for grouping and coordinating steps.\n */\n group: ReturnType<typeof createGroupTools>;\n\n /**\n * The current zero-indexed attempt number for this function execution.\n */\n attempt: number;\n\n /**\n * The maximum number of attempts allowed for this function.\n */\n maxAttempts?: number;\n};\n\n/**\n * Context object for handlers using trigger-based event typing with middleware overrides.\n *\n * @template TStepTools - The step tools type for this context\n * @template TTriggers - Array of trigger definitions\n * @template TOverrides - Properties to override from middleware\n * @internal\n */\nexport type ContextWithTriggers<\n TStepTools,\n TTriggers extends readonly any[],\n TOverrides extends BasicDataUnknown = Record<never, never>,\n> = Omit<BaseContextWithTriggers<TStepTools, TTriggers>, keyof TOverrides> &\n TOverrides;\n\n/**\n * A handler type that computes its event type from a trigger array using ToReceivedEvent.\n * This provides proper typing for EventType instances and schema-bearing triggers.\n *\n * @template TStepTools - The step tools type for this context\n * @template TTriggers - Array of trigger definitions\n * @template TOverrides - Properties to override from middleware\n * @internal\n */\nexport type HandlerWithTriggers<\n TStepTools,\n TTriggers extends readonly any[],\n TOverrides extends BasicDataUnknown = Record<never, never>,\n> = (\n /**\n * The context argument provides access to all data and tooling available to\n * the function.\n */\n ctx: ContextWithTriggers<TStepTools, TTriggers, TOverrides>,\n) => unknown;\n\n/**\n * Type guard to check if an object has a `validate` method. The use case is for\n * safely validating an event payload that might have a `validate` method\n */\nexport function isValidatable<T>(\n value: T,\n): value is T & { validate: () => Promise<void> } {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n if (!(\"validate\" in value)) {\n return false;\n }\n return typeof value.validate === \"function\";\n}\n"],"mappings":";;;;;AAuWA,SAAgB,cACd,OACgD;AAChD,KAAI,OAAO,UAAU,YAAY,UAAU,KACzC,QAAO;AAET,KAAI,EAAE,cAAc,OAClB,QAAO;AAET,QAAO,OAAO,MAAM,aAAa"}
1
+ {"version":3,"file":"typeHelpers.js","names":[],"sources":["../../../src/components/triggers/typeHelpers.ts"],"sourcesContent":["// biome-ignore-all lint/suspicious/noExplicitAny: it's fine\n\nimport type { StandardSchemaV1 } from \"@standard-schema/spec\";\nimport type { AsTuple } from \"../../helpers/types.ts\";\nimport type { DeferFn } from \"../../types.ts\";\nimport type { createGroupTools } from \"../InngestGroupTools.ts\";\nimport type { EventType, EventTypeWithAnySchema } from \"./triggers.ts\";\n\nexport type AnySchema = StandardSchemaV1<any>;\ntype BasicDataUnknown = Record<string, unknown>;\ntype BasicDataAny = Record<string, any>;\n\ntype InvokeEventName = \"inngest/function.invoked\";\ntype CronEventName = \"inngest/scheduled.timer\";\ntype CronEventData = { cron: string };\n\n/**\n * Detects if a string type contains a wildcard character (*).\n */\ntype ContainsWildcard<T extends string> = T extends `${string}*${string}`\n ? true\n : false;\n\n/**\n * Converts wildcard event names to `unknown`, preserving literal names.\n */\ntype WildcardToUnknown<T extends string> = ContainsWildcard<T> extends true\n ? unknown\n : T;\n\n/**\n * Represents the structure of an event as received by function handlers.\n *\n * This is the runtime event shape that your function receives when triggered.\n *\n * @template TName - The event name as a string literal type\n * @template TData - The event data object type\n */\nexport type ReceivedEvent<TName, TData extends BasicDataUnknown> = {\n data: TData;\n id: string;\n name: TName;\n ts: number;\n v: string;\n};\n\n/**\n * Recursively checks if a trigger array contains an invoke trigger.\n *\n * This type is used to determine whether to add \"inngest/function.invoked\"\n * event to the received events tuple.\n *\n * @template T - Array of trigger definitions to check\n * @returns `true` if array contains an invoke trigger, `false` otherwise\n */\ntype HasInvokeTrigger<T extends readonly any[]> = T extends readonly [\n infer First,\n ...infer Rest,\n]\n ? First extends EventTypeWithAnySchema<InvokeEventName>\n ? true\n : HasInvokeTrigger<Rest>\n : false;\n\n/**\n * Converts an EventType instance to a ReceivedEvent type.\n *\n * Extracts the event name and schema from EventType and transforms it into\n * the ReceivedEvent shape that function handlers receive.\n *\n * @template TEventType - The EventType instance to convert\n * @returns ReceivedEvent type with extracted name and data\n */\ntype EventTypeToEvent<TEventType> = TEventType extends EventType<\n infer TName,\n infer TSchema\n>\n ? TSchema extends StandardSchemaV1<infer TData extends BasicDataUnknown>\n ? ReceivedEvent<WildcardToUnknown<TName>, TData>\n : ReceivedEvent<WildcardToUnknown<TName>, BasicDataAny>\n : never;\n\n/**\n * Converts a plain event object trigger to a ReceivedEvent type.\n *\n * Handles triggers like `{ event: \"my-event\", schema?: z.object(...) }`.\n *\n * @template TName - Event name\n * @template TSchema - Optional schema type\n * @returns ReceivedEvent with typed data from schema, or Record<string, any> if no schema\n */\ntype PlainEventToReceivedEvent<\n TName extends string,\n TSchema,\n> = TSchema extends StandardSchemaV1<infer TData extends BasicDataUnknown>\n ? ReceivedEvent<WildcardToUnknown<TName>, TData>\n : ReceivedEvent<WildcardToUnknown<TName>, BasicDataAny>;\n\n/**\n * Processes a single trigger and converts it to ReceivedEvent(s).\n *\n * @template TTrigger - The trigger to process\n * @template TSeenCron - Whether we've already seen a cron trigger\n * @returns Tuple of ReceivedEvent(s), or empty array if trigger should be skipped\n */\ntype ProcessSingleTrigger<\n TTrigger,\n TSeenCron extends boolean,\n> = TTrigger extends EventTypeWithAnySchema<InvokeEventName> // Is this an invoke trigger?\n ? [] // Skip invoke triggers (handled separately by ToReceivedEvent)\n : TTrigger extends EventTypeWithAnySchema<string> // Is this an event type trigger?\n ? [EventTypeToEvent<TTrigger>]\n : TTrigger extends { cron: string } // Is this a cron trigger?\n ? TSeenCron extends true\n ? [] // Skip additional cron triggers (they're merged into one)\n : [ReceivedEvent<CronEventName, CronEventData>]\n : // Is this an event trigger using an EventType?\n TTrigger extends {\n event: EventType<infer TName, infer TSchema>;\n if?: string;\n }\n ? [\n TSchema extends StandardSchemaV1<\n infer TData extends BasicDataUnknown\n >\n ? ReceivedEvent<WildcardToUnknown<TName>, TData>\n : ReceivedEvent<WildcardToUnknown<TName>, BasicDataAny>,\n ]\n : // Is this an event trigger using a string name (i.e. not an EventType)?\n TTrigger extends {\n event: infer TName extends string;\n schema?: infer TSchema;\n }\n ? [PlainEventToReceivedEvent<TName, TSchema>]\n : []; // Unknown trigger type, skip it\n\n/**\n * Recursively processes trigger array, converting to event types while tracking\n * crons.\n *\n * This type iterates through a trigger array, converting each trigger to its\n * corresponding ReceivedEvent type. It handles:\n * - EventType instances → ReceivedEvent with typed data\n * - Cron triggers → \"inngest/scheduled.timer\" event (merged if multiple)\n * - Plain event objects → ReceivedEvent with typed or untyped data\n * - Invoke triggers → skipped (handled by ToReceivedEvent)\n *\n * @template T - Array of trigger definitions to process\n * @template SeenCron - Tracks whether we've already encountered a cron trigger\n *\n * @remarks\n * Multiple cron triggers are merged into a single \"inngest/scheduled.timer\" event.\n */\ntype TriggersToEventsWithCron<\n T extends readonly any[],\n SeenCron extends boolean = false,\n> = T extends readonly [infer First, ...infer Rest]\n ? [\n ...ProcessSingleTrigger<First, SeenCron>,\n ...TriggersToEventsWithCron<\n Rest,\n First extends { cron: string } ? true : SeenCron\n >,\n ]\n : [];\n\n/**\n * Alias for TriggersToEventsWithCron that processes all non-invoke triggers.\n *\n * Despite the name \"Filter\", this type actually:\n * 1. Converts event triggers to ReceivedEvent types\n * 2. Converts cron triggers to \"inngest/scheduled.timer\" events\n * 3. Merges multiple cron triggers into one\n * 4. Preserves the order of non-invoke triggers\n *\n * @template T - Array of trigger definitions to process\n */\ntype FilterNonInvokeTriggers<T extends readonly any[]> =\n TriggersToEventsWithCron<T>;\n\n/**\n * Extracts and builds a union of schema output types from invoke triggers.\n *\n * This recursively processes the trigger array and accumulates the output types\n * from all invoke trigger schemas (those with event: \"inngest/function.invoked\")\n * into a union type.\n *\n * @template T - Array of trigger definitions to process\n * @returns Union of all invoke trigger schema output types, or `never` if none found\n */\ntype ExtractInvokeSchemas<T extends readonly any[]> = T extends readonly [\n infer First,\n ...infer Rest,\n]\n ? First extends EventType<InvokeEventName, infer TSchema>\n ? TSchema extends StandardSchemaV1<infer TData>\n ? TData | ExtractInvokeSchemas<Rest>\n : ExtractInvokeSchemas<Rest>\n : ExtractInvokeSchemas<Rest>\n : never;\n\n/**\n * Extracts and builds a union of all data types from all trigger schemas.\n *\n * Unlike ExtractInvokeSchemas which only processes invoke triggers, this type\n * processes ALL triggers (event and invoke triggers) and builds a union of\n * their data types. For event triggers without schemas, it returns Record<string, any>.\n *\n * @template T - Array of trigger definitions to process\n * @returns Union of all trigger data types, or `never` if none found\n */\ntype ExtractAllSchemaOutputs<T extends readonly any[]> = T extends readonly [\n infer First,\n ...infer Rest,\n]\n ? First extends EventType<string, infer TSchema>\n ? TSchema extends StandardSchemaV1<infer TData>\n ? TData | ExtractAllSchemaOutputs<Rest>\n : BasicDataAny | ExtractAllSchemaOutputs<Rest>\n : First extends { event: EventType<string, infer TSchema> }\n ? TSchema extends StandardSchemaV1<infer TData>\n ? TData | ExtractAllSchemaOutputs<Rest>\n : BasicDataAny | ExtractAllSchemaOutputs<Rest>\n : First extends {\n event: string;\n schema: StandardSchemaV1<infer TData>;\n }\n ? TData | ExtractAllSchemaOutputs<Rest>\n : First extends { event: string }\n ? BasicDataAny | ExtractAllSchemaOutputs<Rest>\n : ExtractAllSchemaOutputs<Rest>\n : never;\n\n/**\n * Converts `never` type to empty object `{}` for data types.\n *\n * This utility is used to ensure that when no schemas are found, the data type\n * becomes `{}` instead of `never`, which provides better TypeScript error\n * messages and autocomplete.\n *\n * @template T - Type to check and potentially convert\n * @returns `{}` if T is `never`, otherwise returns T unchanged\n */\ntype NeverToEmpty<T> = [T] extends [never] ? {} : T;\n\n/**\n * Converts a trigger array to a tuple of ReceivedEvent types.\n *\n * This type transforms trigger definitions into the event types that a function\n * handler will receive. It always includes an invoke event type because\n * functions can be invoked directly regardless of their declared triggers.\n *\n * When invoke triggers are present, it uses their schemas for the invoke event\n * data. Otherwise, it derives the invoke event data type from all trigger\n * schemas.\n *\n * @template T - Array of trigger definitions to process\n */\nexport type ToReceivedEvent<T extends readonly any[]> =\n HasInvokeTrigger<T> extends true\n ? [\n ...FilterNonInvokeTriggers<T>,\n ReceivedEvent<InvokeEventName, NeverToEmpty<ExtractInvokeSchemas<T>>>,\n ]\n : [\n ...TriggersToEventsWithCron<T>,\n ReceivedEvent<\n InvokeEventName,\n NeverToEmpty<ExtractAllSchemaOutputs<T>>\n >,\n ];\n\n/**\n * Converts a tuple of ReceivedEvent types to a union.\n * @internal\n */\ntype ReceivedEventTupleToUnion<T extends readonly any[]> = T[number];\n\n/**\n * Base context object for handlers using the new trigger-based event typing.\n * This uses ToReceivedEvent to derive event types directly from triggers\n * rather than looking up from the client's event registry.\n *\n * @template TStepTools - The step tools type for this context\n * @template TTriggers - Array of trigger definitions\n * @internal\n */\nexport type BaseContextWithTriggers<\n TStepTools,\n TTriggers extends readonly any[],\n> = {\n defer: DeferFn;\n\n /**\n * The event data present in the payload.\n */\n event: ReceivedEventTupleToUnion<ToReceivedEvent<TTriggers>>;\n events: AsTuple<ReceivedEventTupleToUnion<ToReceivedEvent<TTriggers>>>;\n\n /**\n * The run ID for the current function execution\n */\n runId: string;\n\n /**\n * The request ID for this individual outbound SDK invocation, if provided by\n * the executor.\n */\n requestId?: string;\n\n /**\n * The stable job ID for this invocation, if provided by the executor.\n */\n jobId?: string;\n\n step: TStepTools;\n\n /**\n * Tools for grouping and coordinating steps.\n */\n group: ReturnType<typeof createGroupTools>;\n\n /**\n * The current zero-indexed attempt number for this function execution.\n */\n attempt: number;\n\n /**\n * The maximum number of attempts allowed for this function.\n */\n maxAttempts?: number;\n};\n\n/**\n * Context object for handlers using trigger-based event typing with middleware overrides.\n *\n * @template TStepTools - The step tools type for this context\n * @template TTriggers - Array of trigger definitions\n * @template TOverrides - Properties to override from middleware\n * @internal\n */\nexport type ContextWithTriggers<\n TStepTools,\n TTriggers extends readonly any[],\n TOverrides extends BasicDataUnknown = Record<never, never>,\n> = Omit<BaseContextWithTriggers<TStepTools, TTriggers>, keyof TOverrides> &\n TOverrides;\n\n/**\n * A handler type that computes its event type from a trigger array using ToReceivedEvent.\n * This provides proper typing for EventType instances and schema-bearing triggers.\n *\n * @template TStepTools - The step tools type for this context\n * @template TTriggers - Array of trigger definitions\n * @template TOverrides - Properties to override from middleware\n * @internal\n */\nexport type HandlerWithTriggers<\n TStepTools,\n TTriggers extends readonly any[],\n TOverrides extends BasicDataUnknown = Record<never, never>,\n> = (\n /**\n * The context argument provides access to all data and tooling available to\n * the function.\n */\n ctx: ContextWithTriggers<TStepTools, TTriggers, TOverrides>,\n) => unknown;\n\n/**\n * Type guard to check if an object has a `validate` method. The use case is for\n * safely validating an event payload that might have a `validate` method\n */\nexport function isValidatable<T>(\n value: T,\n): value is T & { validate: () => Promise<void> } {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n if (!(\"validate\" in value)) {\n return false;\n }\n return typeof value.validate === \"function\";\n}\n"],"mappings":";;;;;AAqXA,SAAgB,cACd,OACgD;AAChD,KAAI,OAAO,UAAU,YAAY,UAAU,KACzC,QAAO;AAET,KAAI,EAAE,cAAc,OAClB,QAAO;AAET,QAAO,OAAO,MAAM,aAAa"}
package/experimental.cjs CHANGED
@@ -1,9 +1,12 @@
1
1
  const require_als = require('./components/execution/als.cjs');
2
2
  const require_InngestMetadata = require('./components/InngestMetadata.cjs');
3
+ const require_DeferredFunction = require('./components/DeferredFunction.cjs');
3
4
  const require_processor = require('./components/execution/otel/processor.cjs');
4
5
  const require_middleware = require('./components/execution/otel/middleware.cjs');
5
6
 
7
+ exports.DeferredFunction = require_DeferredFunction.DeferredFunction;
6
8
  exports.InngestSpanProcessor = require_processor.PublicInngestSpanProcessor;
9
+ exports.createDefer = require_DeferredFunction.createDefer;
7
10
  exports.extendedTracesMiddleware = require_middleware.extendedTracesMiddleware;
8
11
  exports.getAsyncCtx = require_als.getAsyncCtx;
9
12
  exports.metadataMiddleware = require_InngestMetadata.metadataMiddleware;
@@ -1,5 +1,6 @@
1
1
  import { AsyncContext, getAsyncCtx } from "./components/execution/als.cjs";
2
2
  import { metadataMiddleware } from "./components/InngestMetadata.cjs";
3
+ import { DeferredFunction, createDefer } from "./components/DeferredFunction.cjs";
3
4
  import { PublicInngestSpanProcessor } from "./components/execution/otel/processor.cjs";
4
5
  import { ExtendedTracesMiddlewareOptions, extendedTracesMiddleware } from "./components/execution/otel/middleware.cjs";
5
- export { type AsyncContext, type ExtendedTracesMiddlewareOptions, PublicInngestSpanProcessor as InngestSpanProcessor, extendedTracesMiddleware, getAsyncCtx, metadataMiddleware };
6
+ export { type AsyncContext, DeferredFunction, type ExtendedTracesMiddlewareOptions, PublicInngestSpanProcessor as InngestSpanProcessor, createDefer, extendedTracesMiddleware, getAsyncCtx, metadataMiddleware };
package/experimental.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { AsyncContext, getAsyncCtx } from "./components/execution/als.js";
2
2
  import { metadataMiddleware } from "./components/InngestMetadata.js";
3
+ import { DeferredFunction, createDefer } from "./components/DeferredFunction.js";
3
4
  import { PublicInngestSpanProcessor } from "./components/execution/otel/processor.js";
4
5
  import { ExtendedTracesMiddlewareOptions, extendedTracesMiddleware } from "./components/execution/otel/middleware.js";
5
- export { type AsyncContext, type ExtendedTracesMiddlewareOptions, PublicInngestSpanProcessor as InngestSpanProcessor, extendedTracesMiddleware, getAsyncCtx, metadataMiddleware };
6
+ export { type AsyncContext, DeferredFunction, type ExtendedTracesMiddlewareOptions, PublicInngestSpanProcessor as InngestSpanProcessor, createDefer, extendedTracesMiddleware, getAsyncCtx, metadataMiddleware };
package/experimental.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { getAsyncCtx } from "./components/execution/als.js";
2
2
  import { metadataMiddleware } from "./components/InngestMetadata.js";
3
+ import { DeferredFunction, createDefer } from "./components/DeferredFunction.js";
3
4
  import { PublicInngestSpanProcessor } from "./components/execution/otel/processor.js";
4
5
  import { extendedTracesMiddleware } from "./components/execution/otel/middleware.js";
5
6
 
6
- export { PublicInngestSpanProcessor as InngestSpanProcessor, extendedTracesMiddleware, getAsyncCtx, metadataMiddleware };
7
+ export { DeferredFunction, PublicInngestSpanProcessor as InngestSpanProcessor, createDefer, extendedTracesMiddleware, getAsyncCtx, metadataMiddleware };
@@ -162,6 +162,8 @@ let headerKeys = /* @__PURE__ */ function(headerKeys$1) {
162
162
  headerKeys$1["Platform"] = "x-inngest-platform";
163
163
  headerKeys$1["Framework"] = "x-inngest-framework";
164
164
  headerKeys$1["NoRetry"] = "x-inngest-no-retry";
165
+ headerKeys$1["RequestId"] = "x-request-id";
166
+ headerKeys$1["InngestJobId"] = "x-inngest-job-id";
165
167
  headerKeys$1["RequestVersion"] = "x-inngest-req-version";
166
168
  headerKeys$1["RetryAfter"] = "retry-after";
167
169
  headerKeys$1["InngestServerKind"] = "x-inngest-server-kind";
@@ -201,6 +203,10 @@ let internalEvents = /* @__PURE__ */ function(internalEvents$1) {
201
203
  internalEvents$1["FunctionCancelled"] = "inngest/function.cancelled";
202
204
  internalEvents$1["ScheduledTimer"] = "inngest/scheduled.timer";
203
205
  internalEvents$1["HttpRequest"] = "inngest/http.request";
206
+ /**
207
+ * Triggers a deferred function. The backend emits this.
208
+ */
209
+ internalEvents$1["DeferredSchedule"] = "inngest/deferred.schedule";
204
210
  return internalEvents$1;
205
211
  }({});
206
212
  const logPrefix = "[Inngest]";