{"version":3,"sources":["../src/index.ts","../src/charges.ts","../src/checkout.ts","../src/utils.ts","../src/customers.ts","../src/examples.ts","../src/events.ts","../src/schemas.ts","../src/subscriptions.ts","../src/webhookEndpoints.ts"],"names":["z","event"],"mappings":"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","sourcesContent":["import {\n  ConnectionAuth,\n  EventFilter,\n  ExternalSource,\n  ExternalSourceTrigger,\n  IO,\n  IOTask,\n  IntegrationTaskKey,\n  Json,\n  RunTaskErrorCallback,\n  RunTaskOptions,\n  retry,\n  type HandlerEvent,\n  type Logger,\n  type TriggerIntegration,\n} from \"@trigger.dev/sdk\";\nimport { Stripe as StripeClient } from \"stripe\";\nimport type { StripeIntegrationOptions, WebhookEvents } from \"./types\";\n\nimport z from \"zod\";\nimport { Charges } from \"./charges\";\nimport { Checkout } from \"./checkout\";\nimport { Customers } from \"./customers\";\nimport * as events from \"./events\";\nimport {\n  ChargeEventNames,\n  ChargeEventNamesSchema,\n  CheckoutSessionEventNames,\n  CheckoutSessionEventNamesSchema,\n  CustomerEventNames,\n  CustomerSubscriptionEventNames,\n  CustomerSubscriptionEventNamesSchema,\n  ExternalAccountEventNames,\n  ExternalAccountEventNamesSchema,\n  InvoiceEventNames,\n  InvoiceEventNamesSchema,\n  PaymentIntentEventNames,\n  PaymentIntentEventNamesSchema,\n  PayoutEventNames,\n  PayoutEventNamesSchema,\n  PersonEventNames,\n  PersonEventNamesSchema,\n  PriceEventNames,\n  PriceEventNamesSchema,\n  ProductEventNames,\n  ProductEventNamesSchema,\n} from \"./schemas\";\nimport { Subscriptions } from \"./subscriptions\";\nimport { WebhookEndpoints } from \"./webhookEndpoints\";\n\nexport * from \"./types\";\n\nexport type StripeRunTask = InstanceType<typeof Stripe>[\"runTask\"];\n\nexport class Stripe implements TriggerIntegration {\n  // @internal\n  private _options: StripeIntegrationOptions;\n  // @internal\n  private _client?: StripeClient;\n  // @internal\n  private _io?: IO;\n  // @internal\n  private _connectionKey?: string;\n\n  /**\n   * The native Stripe client. This is exposed for use outside of Trigger.dev jobs\n   *\n   * @example\n   * ```ts\n   * import { Stripe } from \"@trigger.dev/stripe\";\n   *\n   * const stripe = new Stripe({\n   *  id: \"stripe\",\n   *  apiKey: process.env.STRIPE_API_KEY!,\n   * });\n   *\n   * const customer = await stripe.native.customers.create({}); // etc.\n   * ```\n   */\n  public readonly native?: StripeClient;\n\n  constructor(private options: StripeIntegrationOptions) {\n    this._options = options;\n\n    this.native = options.apiKey\n      ? new StripeClient(options.apiKey, {\n          apiVersion: \"2022-11-15\",\n          typescript: true,\n          timeout: 10000,\n          maxNetworkRetries: 0,\n          stripeAccount: options.stripeAccount,\n          appInfo: {\n            name: \"Trigger.dev Stripe Integration\",\n            version: \"0.1.0\",\n            url: \"https://trigger.dev\",\n          },\n        })\n      : undefined;\n  }\n\n  get authSource() {\n    return \"LOCAL\" as const;\n  }\n\n  cloneForRun(io: IO, connectionKey: string, auth?: ConnectionAuth) {\n    const apiKey = this._options.apiKey ?? auth?.accessToken;\n\n    if (!apiKey) {\n      throw new Error(\n        `Can't initialize Stripe integration (${this._options.id}) as apiKey was undefined`\n      );\n    }\n\n    const stripe = new Stripe(this._options);\n    stripe._io = io;\n    stripe._connectionKey = connectionKey;\n    stripe._client = new StripeClient(apiKey, {\n      apiVersion: \"2022-11-15\",\n      typescript: true,\n      timeout: 10000,\n      maxNetworkRetries: 0,\n      stripeAccount: this._options.stripeAccount,\n      appInfo: {\n        name: \"Trigger.dev Stripe Integration\",\n        version: \"0.1.0\",\n        url: \"https://trigger.dev\",\n      },\n    });\n    return stripe;\n  }\n\n  get id() {\n    return this.options.id;\n  }\n\n  get metadata() {\n    return { id: \"stripe\", name: \"Stripe\" };\n  }\n\n  get source() {\n    return createWebhookEventSource(this);\n  }\n\n  runTask<T, TResult extends Json<T> | void>(\n    key: IntegrationTaskKey,\n    callback: (client: StripeClient, task: IOTask, io: IO) => Promise<TResult>,\n    options?: RunTaskOptions,\n    errorCallback?: RunTaskErrorCallback\n  ): Promise<TResult> {\n    if (!this._io) throw new Error(\"No IO\");\n    if (!this._connectionKey) throw new Error(\"No connection key\");\n    return this._io.runTask(\n      key,\n      (task, io) => {\n        if (!this._client) throw new Error(\"No client\");\n        return callback(this._client, task, io);\n      },\n      {\n        icon: \"stripe\",\n        retry: retry.standardBackoff,\n        ...(options ?? {}),\n        connectionKey: this._connectionKey,\n      },\n      errorCallback\n    );\n  }\n\n  get charges() {\n    return new Charges(this.runTask.bind(this));\n  }\n\n  createCharge = this.charges.create;\n\n  get customers() {\n    return new Customers(this.runTask.bind(this));\n  }\n\n  createCustomer = this.customers.create;\n  updateCustomer = this.customers.update;\n\n  get subscriptions() {\n    return new Subscriptions(this.runTask.bind(this));\n  }\n\n  retrieveSubscription = this.subscriptions.retrieve;\n\n  get checkout() {\n    return new Checkout(this.runTask.bind(this));\n  }\n\n  createCheckoutSession = this.checkout.sessions.create;\n\n  get webhookEndpoints() {\n    return new WebhookEndpoints(this.runTask.bind(this));\n  }\n\n  createWebhook = this.webhookEndpoints.create;\n  updateWebhook = this.webhookEndpoints.update;\n  listWebhooks = this.webhookEndpoints.list;\n\n  /**\n   * Occurs whenever a price is created, updated, or deleted. Accepts an optional array of events to filter on. By default it will listen to all price events.\n   *\n   * @example\n   * ```ts\n   * stripe.onPrice({ events: [\"price.created\", \"price.updated\"] })\n   * ```\n   *\n   * You can detect the event name in your job by using the `ctx.event.name` property:\n   *\n   * ```ts\n   * client.defineJob({\n   *   id: \"stripe-price\",\n   *   name: \"Stripe Price\",\n   *   version: \"0.1.0\",\n   *   trigger: stripe.onPrice({ events: [\"price.created\", \"price.updated\"] }),\n   *   run: async (payload, io, ctx) => {\n   *     console.log(ctx.event.name); // \"price.created\" or \"price.updated\"\n   *   },\n   * });\n   * ```\n   */\n  onPrice(params?: TriggerParams & { events?: PriceEventNames }) {\n    const parsedEvents = PriceEventNamesSchema.optional().parse(params?.events);\n\n    const event = {\n      ...events.onPrice,\n      name: parsedEvents ?? events.onPrice.name,\n    };\n\n    return createTrigger(this.source, event, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a price is created.\n   */\n  onPriceCreated(params?: TriggerParams) {\n    return createTrigger(this.source, events.onPriceCreated, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a price is updated.\n   */\n  onPriceUpdated(params?: TriggerParams) {\n    return createTrigger(this.source, events.onPriceUpdated, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a price is deleted.\n   */\n  onPriceDeleted(params?: TriggerParams) {\n    return createTrigger(this.source, events.onPriceDeleted, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a product is created, updated, or deleted. Accepts an optional array of events to filter on. By default it will listen to all product events.\n   *\n   * @example\n   * ```ts\n   * stripe.onProduct({ events: [\"product.created\", \"product.updated\"] })\n   * ```\n   *\n   * You can detect the event name in your job by using the `ctx.event.name` property:\n   *\n   * ```ts\n   * client.defineJob({\n   *   id: \"stripe-example\",\n   *   name: \"Stripe Example\",\n   *   version: \"0.1.0\",\n   *   trigger: stripe.onProduct({ events: [\"product.created\", \"product.updated\"] }),\n   *   run: async (payload, io, ctx) => {\n   *     console.log(ctx.event.name); // \"product.created\" or \"product.updated\"\n   *   },\n   * });\n   * ```\n   */\n  onProduct(params?: TriggerParams & { events?: ProductEventNames }) {\n    const parsedEvents = ProductEventNamesSchema.optional().parse(params?.events);\n\n    const event = {\n      ...events.onProduct,\n      name: parsedEvents ?? events.onProduct.name,\n    };\n\n    return createTrigger(this.source, event, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a product is created.\n   */\n  onProductCreated(params?: TriggerParams) {\n    return createTrigger(this.source, events.onProductCreated, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a product is updated.\n   */\n  onProductUpdated(params?: TriggerParams) {\n    return createTrigger(this.source, events.onProductUpdated, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a product is deleted.\n   */\n  onProductDeleted(params?: TriggerParams) {\n    return createTrigger(this.source, events.onProductDeleted, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a checkout.session is completed, expired, async_payment_succeeded, or async_payment_failed. Accepts an optional array of events to filter on. By default it will listen to all checkout.session events.\n   *\n   * @example\n   * ```ts\n   * stripe.onCheckoutSession({ events: [\"session.checkout.completed\", \"session.checkout.expired\"] })\n   * ```\n   *\n   * You can detect the event name in your job by using the `ctx.event.name` property:\n   *\n   * ```ts\n   * client.defineJob({\n   *   id: \"stripe-example\",\n   *   name: \"Stripe Example\",\n   *   version: \"0.1.0\",\n   *   trigger: stripe.onCheckoutSession({ events: [\"checkout.session.completed\", \"checkout.session.expired\"] }),\n   *   run: async (payload, io, ctx) => {\n   *     console.log(ctx.event.name); // \"checkout.session.completed\" or \"checkout.session.expired\"\n   *   },\n   * });\n   * ```\n   */\n  onCheckoutSession(params?: TriggerParams & { events?: CheckoutSessionEventNames }) {\n    const parsedEvents = CheckoutSessionEventNamesSchema.optional().parse(params?.events);\n\n    const event = {\n      ...events.onCheckoutSession,\n      name: parsedEvents ?? events.onCheckoutSession.name,\n    };\n\n    return createTrigger(this.source, event, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs when a Checkout Session has been successfully completed.\n   */\n  onCheckoutSessionCompleted(params?: TriggerParams) {\n    return createTrigger(\n      this.source,\n      events.onCheckoutSessionCompleted,\n      params ?? { connect: false }\n    );\n  }\n\n  /**\n   * Occurs when a Checkout Session is expired.\n   */\n  onCheckoutSessionExpired(params?: TriggerParams) {\n    return createTrigger(\n      this.source,\n      events.onCheckoutSessionExpired,\n      params ?? { connect: false }\n    );\n  }\n\n  /**\n   * Occurs on any customer.subscription.* event. Accepts an optional array of events to filter on. By default it will listen to all customer.subscription.* events.\n   *\n   * @example\n   * ```ts\n   * stripe.onCustomerSubscription({ events: [\"customer.subscription.created\", \"customer.subscription.resumed\"] })\n   * ```\n   *\n   * You can detect the event name in your job by using the `ctx.event.name` property:\n   *\n   * ```ts\n   * client.defineJob({\n   *   id: \"stripe-example\",\n   *   name: \"Stripe Example\",\n   *   version: \"0.1.0\",\n   *   trigger: stripe.onCustomerSubscription({ events: [\"customer.subscription.created\", \"customer.subscription.resumed\"] }),\n   *   run: async (payload, io, ctx) => {\n   *     console.log(ctx.event.name); // \"customer.subscription.created\" or \"customer.subscription.resumed\"\n   *   },\n   * });\n   * ```\n   */\n  onCustomerSubscription(params?: TriggerParams & { events?: CustomerSubscriptionEventNames }) {\n    const parsedEvents = CustomerSubscriptionEventNamesSchema.optional().parse(params?.events);\n\n    const event = {\n      ...events.onCustomerSubscription,\n      name: parsedEvents ?? events.onCustomerSubscription.name,\n    };\n\n    return createTrigger(this.source, event, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a customer is signed up for a new plan.\n   */\n  onCustomerSubscriptionCreated(params?: TriggerParams) {\n    return createTrigger(\n      this.source,\n      events.onCustomerSubscriptionCreated,\n      params ?? { connect: false }\n    );\n  }\n\n  /**\n   * Occurs whenever a customer's subscription is paused. Only applies when subscriptions enter `status=paused`, not when [payment collection](https://stripe.com/docs/billing/subscriptions/pause) is paused.\n   */\n  onCustomerSubscriptionPaused(params?: TriggerParams) {\n    return createTrigger(\n      this.source,\n      events.onCustomerSubscriptionPaused,\n      params ?? { connect: false }\n    );\n  }\n\n  /**\n   * Occurs whenever a customer's subscription is no longer paused. Only applies when a `status=paused` subscription is [resumed](https://stripe.com/docs/api/subscriptions/resume), not when [payment collection](https://stripe.com/docs/billing/subscriptions/pause) is resumed.\n   */\n  onCustomerSubscriptionResumed(params?: TriggerParams) {\n    return createTrigger(\n      this.source,\n      events.onCustomerSubscriptionResumed,\n      params ?? { connect: false }\n    );\n  }\n\n  /**\n   * Occurs whenever a subscription changes (e.g., switching from one plan to another, or changing the status from trial to active).\n   */\n  onCustomerSubscriptionUpdated(params?: TriggerParams) {\n    return createTrigger(\n      this.source,\n      events.onCustomerSubscriptionUpdated,\n      params ?? { connect: false }\n    );\n  }\n\n  /**\n   * Occurs whenever a customer's subscription ends.\n   */\n  onCustomerSubscriptionDeleted(params?: TriggerParams) {\n    return createTrigger(\n      this.source,\n      events.onCustomerSubscriptionDeleted,\n      params ?? { connect: false }\n    );\n  }\n\n  /**\n   * Occurs whenever an account status or property has changed.\n   */\n  onAccountUpdated(params?: TriggerParams) {\n    return createTrigger(this.source, events.onAccountUpdated, params ?? { connect: true });\n  }\n\n  /**\n   * Occurs on customer.created, customer.deleted, and customer.updated\n   *\n   * @example\n   * ```ts\n   * stripe.onCustomer()\n   * ```\n   *\n   * You can detect the event name in your job by using the `ctx.event.name` property:\n   *\n   * ```ts\n   * client.defineJob({\n   *   id: \"stripe-example\",\n   *   name: \"Stripe Example\",\n   *   version: \"0.1.0\",\n   *   trigger: stripe.onCustomer(),\n   *   run: async (payload, io, ctx) => {\n   *     console.log(ctx.event.name); // \"customer.created\" or \"customer.deleted\"\n   *   },\n   * });\n   * ```\n   */\n  onCustomer(params?: TriggerParams & { events?: CustomerEventNames }) {\n    const parsedEvents = CustomerSubscriptionEventNamesSchema.optional().parse(params?.events);\n\n    const event = {\n      ...events.onCustomer,\n      name: params?.events ?? events.onCustomer.name,\n    };\n\n    return createTrigger(this.source, event, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a new customer is created.\n   */\n  onCustomerCreated(params?: TriggerParams) {\n    return createTrigger(this.source, events.onCustomerCreated, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a new customer is deleted.\n   */\n  onCustomerDeleted(params?: TriggerParams) {\n    return createTrigger(this.source, events.onCustomerDeleted, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a new customer is updated.\n   */\n  onCustomerUpdated(params?: TriggerParams) {\n    return createTrigger(this.source, events.onCustomerUpdated, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs on any charge.* event. Accepts an optional array of events to filter on. By default it will listen to all charge.* events.\n   *\n   * @example\n   * ```ts\n   * stripe.onCharge({ events: [\"charge.refunded\", \"charge.succeeded\"] })\n   * ```\n   *\n   * You can detect the event name in your job by using the `ctx.event.name` property:\n   *\n   * ```ts\n   * client.defineJob({\n   *   id: \"stripe-example\",\n   *   name: \"Stripe Example\",\n   *   version: \"0.1.0\",\n   *   trigger: stripe.onCharge({ events: [\"charge.refunded\", \"charge.succeeded\"] }),\n   *   run: async (payload, io, ctx) => {\n   *     console.log(ctx.event.name); // \"charge.refunded\" or \"charge.succeeded\"\n   *   },\n   * });\n   * ```\n   */\n  onCharge(params?: TriggerParams & { events?: ChargeEventNames }) {\n    const parsedEvents = ChargeEventNamesSchema.optional().parse(params?.events);\n\n    const event = {\n      ...events.onCharge,\n      name: parsedEvents ?? events.onCharge.name,\n    };\n\n    return createTrigger(this.source, event, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a previously uncaptured charge is captured\n   */\n  onChargeCaptured(params?: TriggerParams) {\n    return createTrigger(this.source, events.onChargeCaptured, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever an uncaptured charge expires.\n   */\n  onChargeExpired(params?: TriggerParams) {\n    return createTrigger(this.source, events.onChargeExpired, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a failed charge attempt occurs\n   */\n  onChargeFailed(params?: TriggerParams) {\n    return createTrigger(this.source, events.onChargeFailed, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a pending charge is created\n   */\n  onChargePending(params?: TriggerParams) {\n    return createTrigger(this.source, events.onChargePending, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a charge is refunded, including partial refunds\n   */\n  onChargeRefunded(params?: TriggerParams) {\n    return createTrigger(this.source, events.onChargeRefunded, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a charge is successful\n   */\n  onChargeSucceeded(params?: TriggerParams) {\n    return createTrigger(this.source, events.onChargeSucceeded, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a charge description or metadata is updated, or upon an asynchronous capture\n   */\n  onChargeUpdated(params?: TriggerParams) {\n    return createTrigger(this.source, events.onChargeUpdated, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs on any account.external_account.* event. Accepts an optional array of events to filter on. By default it will listen to all charge.* events.\n   *\n   * @example\n   * ```ts\n   * stripe.onExternalAccount({ events: [\"account.external_account.created\", \"account.external_account.deleted\"] })\n   * ```\n   *\n   * You can detect the event name in your job by using the `ctx.event.name` property:\n   *\n   * ```ts\n   * client.defineJob({\n   *   id: \"stripe-example\",\n   *   name: \"Stripe Example\",\n   *   version: \"0.1.0\",\n   *   trigger: stripe.onExternalAccount({ events: [\"account.external_account.created\", \"account.external_account.deleted\"] }),\n   *   run: async (payload, io, ctx) => {\n   *     console.log(ctx.event.name); // \"account.external_account.created\" or \"account.external_account.deleted\"\n   *   },\n   * });\n   * ```\n   */\n  onExternalAccount(params?: TriggerParams & { events?: ExternalAccountEventNames }) {\n    const parsedEvents = ExternalAccountEventNamesSchema.optional().parse(params?.events);\n\n    const event = {\n      ...events.onExternalAccount,\n      name: parsedEvents ?? events.onExternalAccount.name,\n    };\n\n    return createTrigger(this.source, event, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever an external account is created.\n   * */\n  onExternalAccountCreated(params?: TriggerParams) {\n    return createTrigger(\n      this.source,\n      events.onExternalAccountCreated,\n      params ?? { connect: false }\n    );\n  }\n\n  /**\n   * Occurs whenever an external account is deleted.\n   * */\n  onExternalAccountDeleted(params?: TriggerParams) {\n    return createTrigger(\n      this.source,\n      events.onExternalAccountDeleted,\n      params ?? { connect: false }\n    );\n  }\n\n  /**\n   * Occurs whenever an external account is updated.\n   * */\n  onExternalAccountUpdated(params?: TriggerParams) {\n    return createTrigger(\n      this.source,\n      events.onExternalAccountUpdated,\n      params ?? { connect: false }\n    );\n  }\n\n  /**\n   * Occurs on any person.* event. Accepts an optional array of events to filter on. By default it will listen to all person.* events.\n   *\n   * @example\n   * ```ts\n   * stripe.onPerson({ events: [\"person.created\", \"person.deleted\"] })\n   * ```\n   *\n   * You can detect the event name in your job by using the `ctx.event.name` property:\n   *\n   * ```ts\n   * client.defineJob({\n   *   id: \"stripe-example\",\n   *   name: \"Stripe Example\",\n   *   version: \"0.1.0\",\n   *   trigger: stripe.onPerson({ events: [\"person.created\", \"person.deleted\"] }),\n   *   run: async (payload, io, ctx) => {\n   *     console.log(ctx.event.name); // \"person.created\" or \"person.deleted\"\n   *   },\n   * });\n   * ```\n   */\n  onPerson(params?: TriggerParams & { events?: PersonEventNames }) {\n    const parsedEvents = PersonEventNamesSchema.optional().parse(params?.events);\n\n    const event = {\n      ...events.onPerson,\n      name: parsedEvents ?? events.onPerson.name,\n    };\n\n    return createTrigger(this.source, event, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a person associated with an account is created.\n   * */\n  onPersonCreated(params?: TriggerParams) {\n    return createTrigger(this.source, events.onPersonCreated, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a person associated with an account is deleted.\n   * */\n  onPersonDeleted(params?: TriggerParams) {\n    return createTrigger(this.source, events.onPersonDeleted, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a person associated with an account is updated.\n   * */\n  onPersonUpdated(params?: TriggerParams) {\n    return createTrigger(this.source, events.onPersonUpdated, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs on any payment_intent.* event. Accepts an optional array of events to filter on. By default it will listen to all payment_intent.* events.\n   *\n   * @example\n   * ```ts\n   * stripe.onPaymentIntent({ events: [\"payment_intent.created\", \"payment_intent.succeeded\"] })\n   * ```\n   *\n   * You can detect the event name in your job by using the `ctx.event.name` property:\n   *\n   * ```ts\n   * client.defineJob({\n   *   id: \"stripe-example\",\n   *   name: \"Stripe Example\",\n   *   version: \"0.1.0\",\n   *   trigger: stripe.onPaymentIntent({ events: [\"payment_intent.created\", \"payment_intent.succeeded\"] }),\n   *   run: async (payload, io, ctx) => {\n   *     console.log(ctx.event.name); // \"payment_intent.created\" or \"payment_intent.succeeded\"\n   *   },\n   * });\n   * ```\n   */\n  onPaymentIntent(params?: TriggerParams & { events?: PaymentIntentEventNames }) {\n    const parsedEvents = PaymentIntentEventNamesSchema.optional().parse(params?.events);\n\n    const event = {\n      ...events.onPaymentIntent,\n      name: parsedEvents ?? events.onPaymentIntent.name,\n    };\n\n    return createTrigger(this.source, event, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs when a new PaymentIntent is created..\n   * */\n  onPaymentIntentCreated(params?: TriggerParams) {\n    return createTrigger(this.source, events.onPaymentIntentCreated, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs when a PaymentIntent has successfully completed payment.\n   * */\n  onPaymentIntentSucceeded(params?: TriggerParams) {\n    return createTrigger(\n      this.source,\n      events.onPaymentIntentSucceeded,\n      params ?? { connect: false }\n    );\n  }\n\n  /**\n   * Occurs when a PaymentIntent is canceled.\n   * */\n  onPaymentIntentCancelled(params?: TriggerParams) {\n    return createTrigger(this.source, events.onPaymentIntentCanceled, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs when a PaymentIntent has started processing.\n   * */\n  onPaymentIntentProcessing(params?: TriggerParams) {\n    return createTrigger(\n      this.source,\n      events.onPaymentIntentProcessing,\n      params ?? { connect: false }\n    );\n  }\n\n  /**\n   * Occurs when a PaymentIntent transitions to requires_action state\n   * */\n  onPaymentIntentRequiresAction(params?: TriggerParams) {\n    return createTrigger(\n      this.source,\n      events.onPaymentIntentRequiresAction,\n      params ?? { connect: false }\n    );\n  }\n\n  /**\n   * Occurs when a PaymentIntent has funds to be captured. Check the amount_capturable property on the PaymentIntent to determine the amount that can be captured. You may capture the PaymentIntent with an amount_to_capture value up to the specified amount. [Learn more about capturing PaymentIntents](https://stripe.com/docs/api/payment_intents/capture)\n   * */\n  onPaymentIntentAmountCapturableUpdated(params?: TriggerParams) {\n    return createTrigger(\n      this.source,\n      events.onPaymentIntentAmountCapturableUpdated,\n      params ?? { connect: false }\n    );\n  }\n\n  /**\n   * Occurs when a PaymentIntent has failed the attempt to create a payment method or a payment.\n   * */\n  onPaymentIntentPaymentFailed(params?: TriggerParams) {\n    return createTrigger(\n      this.source,\n      events.onPaymentIntentPaymentFailed,\n      params ?? { connect: false }\n    );\n  }\n\n  /**\n   * Occurs when funds are applied to a customer_balance PaymentIntent and the ‘amount_remaining’ changes.\n   * */\n  onPaymentIntentPartiallyFunded(params?: TriggerParams) {\n    return createTrigger(\n      this.source,\n      events.onPaymentIntentPartiallyFunded,\n      params ?? { connect: false }\n    );\n  }\n\n  /**\n   * Occurs on any payout.* event. Accepts an optional array of events to filter on. By default it will listen to all payout.* events.\n   *\n   * @example\n   * ```ts\n   * stripe.onPayout({ events: [\"payout.created\", \"payout.paid\"] })\n   * ```\n   *\n   * You can detect the event name in your job by using the `ctx.event.name` property:\n   *\n   * ```ts\n   * client.defineJob({\n   *   id: \"stripe-example\",\n   *   name: \"Stripe Example\",\n   *   version: \"0.1.0\",\n   *   trigger: stripe.onPayout({ events: [\"payout.created\", \"payout.paid\"] }),\n   *   run: async (payload, io, ctx) => {\n   *     console.log(ctx.event.name); // \"payout.created\" or \"payout.paid\"\n   *   },\n   * });\n   * ```\n   */\n  onPayout(params?: TriggerParams & { events?: PayoutEventNames }) {\n    const parsedEvents = PayoutEventNamesSchema.optional().parse(params?.events);\n\n    const event = {\n      ...events.onPayout,\n      name: parsedEvents ?? events.onPayout.name,\n    };\n\n    return createTrigger(this.source, event, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a payout is created.\n   * */\n  onPayoutCreated(params?: TriggerParams) {\n    return createTrigger(this.source, events.onPayoutCreated, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a payout is updated.\n   * */\n  onPayoutUpdated(params?: TriggerParams) {\n    return createTrigger(this.source, events.onPayoutUpdated, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a payout is canceled.\n   * */\n  onPayoutCanceled(params?: TriggerParams) {\n    return createTrigger(this.source, events.onPayoutCancelled, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a payout attempt fails.\n   * */\n  onPayoutFailed(params?: TriggerParams) {\n    return createTrigger(this.source, events.onPayoutFailed, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever a payout is expected to be available in the destination account. If the payout fails, a `payout.failed` notification is also sent, at a later time.\n   * */\n  onPayoutPaid(params?: TriggerParams) {\n    return createTrigger(this.source, events.onPayoutPaid, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever balance transactions paid out in an automatic payout can be queried.\n   * */\n  onPayoutReconciliationCompleted(params?: TriggerParams) {\n    return createTrigger(\n      this.source,\n      events.onPayoutReconciliationCompleted,\n      params ?? { connect: false }\n    );\n  }\n\n  /**\n   * Occurs on any invoice.* event. Accepts an optional array of events to filter on. By default it will listen to all invoice.* events.\n   *\n   * @example\n   * ```ts\n   * stripe.onInvoice({ events: [\"invoice.created\", \"invoice.paid\"] })\n   * ```\n   *\n   * You can detect the event name in your job by using the `ctx.event.name` property:\n   *\n   * ```ts\n   * client.defineJob({\n   *   id: \"stripe-example\",\n   *   name: \"Stripe Example\",\n   *   version: \"0.1.0\",\n   *   trigger: stripe.onInvoice({ events: [\"invoice.created\", \"invoice.paid\"] }),\n   *   run: async (payload, io, ctx) => {\n   *     console.log(ctx.event.name); // \"invoice.created\" or \"invoice.paid\"\n   *   },\n   * });\n   * ```\n   */\n  onInvoice(params?: TriggerParams & { events?: InvoiceEventNames }) {\n    const parsedEvents = InvoiceEventNamesSchema.optional().parse(params?.events);\n\n    const event = {\n      ...events.onInvoice,\n      name: parsedEvents ?? events.onPayout.name,\n    };\n\n    return createTrigger(this.source, event, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever an invoice is created.\n   */\n  onInvoiceCreated(params?: TriggerParams) {\n    return createTrigger(this.source, events.onInvoiceCreated, params ?? { connect: false });\n  }\n\n  /**\n   * Occurs whenever an invoice is finalized.\n   */\n  onInvoiceFinalized(params?: TriggerParams) {\n    return createTrigger(this.source, events.onInvoiceFinalized, params ?? { connect: false });\n  }\n\n  /**\n   * The invoice couldn’t be finalized.\n   */\n  onInvoiceFinalizationFailed(params?: TriggerParams) {\n    return createTrigger(\n      this.source,\n      events.onInvoiceFinalizationFailed,\n      params ?? { connect: false }\n    );\n  }\n\n  /**\n   * Occurs whenever an invoice is marked uncollectible.\n   */\n  onInvoiceMarkedUncollectible(params?: TriggerParams) {\n    return createTrigger(\n      this.source,\n      events.onInvoiceMarkedUncollectible,\n      params ?? { connect: false }\n    );\n  }\n\n  onInvoicePaid(params?: TriggerParams) {\n    return createTrigger(this.source, events.onInvoicePaid, params ?? { connect: false });\n  }\n\n  onInvoicePaymentActionRequired(params?: TriggerParams) {\n    return createTrigger(\n      this.source,\n      events.onInvoicePaymentActionRequired,\n      params ?? { connect: false }\n    );\n  }\n\n  onInvoicePaymentFailed(params?: TriggerParams) {\n    return createTrigger(this.source, events.onInvoicePaymentFailed, params ?? { connect: false });\n  }\n\n  onInvoicePaymentSucceeded(params?: TriggerParams) {\n    return createTrigger(\n      this.source,\n      events.onInvoicePaymentSucceeded,\n      params ?? { connect: false }\n    );\n  }\n\n  onInvoiceSent(params?: TriggerParams) {\n    return createTrigger(this.source, events.onInvoiceSent, params ?? { connect: false });\n  }\n\n  onInvoiceUpcoming(params?: TriggerParams) {\n    return createTrigger(this.source, events.onInvoiceUpcoming, params ?? { connect: false });\n  }\n\n  onInvoiceUpdated(params?: TriggerParams) {\n    return createTrigger(this.source, events.onInvoiceUpdated, params ?? { connect: false });\n  }\n\n  onInvoiceVoided(params?: TriggerParams) {\n    return createTrigger(this.source, events.onInvoiceVoided, params ?? { connect: false });\n  }\n\n  onInvoiceItemCreated(params?: TriggerParams) {\n    return createTrigger(this.source, events.onInvoiceItemCreated, params ?? { connect: false });\n  }\n\n  onInvoiceItemDeleted(params?: TriggerParams) {\n    return createTrigger(this.source, events.onInvoiceItemDeleted, params ?? { connect: false });\n  }\n}\n\nexport type TriggerParams = {\n  connect?: boolean;\n  filter?: EventFilter;\n};\n\ntype StripeEvents = (typeof events)[keyof typeof events];\n\ntype CreateTriggersResult<TEventSpecification extends StripeEvents> = ExternalSourceTrigger<\n  TEventSpecification,\n  ReturnType<typeof createWebhookEventSource>\n>;\n\nfunction createTrigger<TEventSpecification extends StripeEvents>(\n  source: ReturnType<typeof createWebhookEventSource>,\n  event: TEventSpecification,\n  params: TriggerParams\n): CreateTriggersResult<TEventSpecification> {\n  return new ExternalSourceTrigger({\n    event,\n    params,\n    source,\n    options: {},\n  });\n}\n\nconst WebhookDataSchema = z.object({\n  id: z.string(),\n  object: z.literal(\"webhook_endpoint\"),\n  api_version: z.string().nullable(),\n  application: z.string().nullable(),\n  created: z.number(),\n  description: z.string().nullable(),\n  enabled_events: z.array(z.string()),\n  livemode: z.boolean(),\n  metadata: z.record(z.string()),\n  status: z.enum([\"enabled\", \"disabled\"]),\n  url: z.string(),\n});\n\nfunction createWebhookEventSource(\n  integration: Stripe\n): ExternalSource<Stripe, { connect?: boolean }, \"HTTP\", {}> {\n  return new ExternalSource(\"HTTP\", {\n    id: \"stripe.webhook\",\n    schema: z.object({ connect: z.boolean().optional() }),\n    version: \"0.1.0\",\n    integration,\n    key: (params) => `stripe.webhook${params.connect ? \".connect\" : \"\"}`,\n    handler: webhookHandler,\n    register: async (event, io, ctx) => {\n      const { params, source: httpSource, options } = event;\n\n      const webhookData = WebhookDataSchema.safeParse(httpSource.data);\n\n      const allEvents = Array.from(new Set([...options.event.desired, ...options.event.missing]));\n\n      const registeredOptions = {\n        event: allEvents,\n      };\n\n      if (httpSource.active && webhookData.success) {\n        if (options.event.missing.length === 0) return;\n\n        const updatedWebhook = await io.integration.updateWebhook(\"update-webhook\", {\n          id: webhookData.data.id,\n          url: httpSource.url,\n          enabled_events: allEvents as unknown as WebhookEvents[],\n        });\n\n        return {\n          data: WebhookDataSchema.parse(updatedWebhook),\n          options: registeredOptions,\n        };\n      }\n\n      const listResponse = await io.integration.listWebhooks(\"list-webhooks\", {\n        limit: 100,\n      });\n\n      const existingWebhook = listResponse.data.find((w) => w.url === httpSource.url);\n\n      if (existingWebhook) {\n        const updatedWebhook = await io.integration.updateWebhook(\"update-found-webhook\", {\n          id: existingWebhook.id,\n          url: httpSource.url,\n          enabled_events: allEvents as unknown as WebhookEvents[],\n          disabled: false,\n        });\n\n        return {\n          data: WebhookDataSchema.parse(updatedWebhook),\n          options: registeredOptions,\n        };\n      }\n\n      const webhook = await io.integration.createWebhook(\"create-webhook\", {\n        url: httpSource.url,\n        enabled_events: allEvents as unknown as WebhookEvents[],\n        connect: params.connect,\n      });\n\n      return {\n        data: WebhookDataSchema.parse(webhook),\n        secret: webhook.secret,\n        options: registeredOptions,\n      };\n    },\n  });\n}\n\nasync function webhookHandler(event: HandlerEvent<\"HTTP\">, logger: Logger) {\n  logger.debug(\"[@trigger.dev/stripe] Handling webhook payload\");\n\n  const { rawEvent: request, source } = event;\n\n  if (!request.body) {\n    logger.debug(\"[@trigger.dev/stripe] No body found\");\n\n    return { events: [] };\n  }\n\n  const rawBody = await request.text();\n\n  const signature = request.headers.get(\"stripe-signature\");\n\n  if (signature) {\n    const stripeClient = new StripeClient(\"\", { apiVersion: \"2022-11-15\" });\n\n    try {\n      const event = await stripeClient.webhooks.constructEventAsync(rawBody, signature, source.secret);\n\n      return {\n        events: [\n          {\n            id: event.id,\n            payload: event.data.object,\n            source: \"stripe.com\",\n            name: event.type,\n            timestamp: new Date(event.created * 1000),\n            context: {\n              apiVersion: event.api_version,\n              livemode: event.livemode,\n              request: event.request,\n              previousAttributes: event.data.previous_attributes,\n            },\n          },\n        ],\n      };\n    } catch (error) {\n      if (error instanceof Error) {\n        logger.error(\"[@trigger.dev/stripe] Error while validating webhook signature\", {\n          error: { name: error.name, message: error.message },\n        });\n      } else {\n        logger.error(\"[@trigger.dev/stripe] Unknown Error while validating webhook signature\");\n      }\n\n      return { events: [] };\n    }\n  }\n\n  return {\n    events: [],\n  };\n}\n","import { IntegrationTaskKey } from \"@trigger.dev/sdk\";\nimport { CreateChargeParams, CreateChargeResponse, StripeRunTask } from \"./index\";\n\nexport class Charges {\n  constructor(private runTask: StripeRunTask) {}\n\n  /**\n   * Use the [Payment Intents API](https://stripe.com/docs/api/payment_intents) to initiate a new payment instead\n   * of using this method. Confirmation of the PaymentIntent creates the Charge\n   * object used to request payment, so this method is limited to legacy integrations.\n   */\n  create(key: IntegrationTaskKey, params: CreateChargeParams): Promise<CreateChargeResponse> {\n    return this.runTask(\n      key,\n      async (client, task) => {\n        const response = await client.charges.create(params, {\n          idempotencyKey: task.idempotencyKey,\n          stripeAccount: params.stripeAccount,\n        });\n\n        task.outputProperties = [\n          {\n            label: \"Charge ID\",\n            text: response.id,\n          },\n          ...(response.lastResponse.requestId\n            ? [\n                {\n                  label: \"Request ID\",\n                  text: response.lastResponse.requestId,\n                },\n              ]\n            : []),\n        ];\n\n        return response;\n      },\n      {\n        name: \"Create Charge\",\n        params,\n        properties: [\n          {\n            label: \"Amount\",\n            text: `${params.amount}`,\n          },\n          ...(params.currency\n            ? [\n                {\n                  label: \"Currency\",\n                  text: params.currency,\n                },\n              ]\n            : []),\n          ...(params.stripeAccount\n            ? [\n                {\n                  label: \"Stripe Account\",\n                  text: params.stripeAccount,\n                },\n              ]\n            : []),\n        ],\n      }\n    );\n  }\n}\n","import { IntegrationTaskKey } from \"@trigger.dev/sdk\";\nimport { CreateCheckoutSessionParams, CreateCheckoutSessionResponse, StripeRunTask } from \"./index\";\n\nexport class Checkout {\n  constructor(private runTask: StripeRunTask) {}\n\n  sessions = {\n    /**\n     * Creates a Session object.\n     */\n    create: (\n      key: IntegrationTaskKey,\n      params: CreateCheckoutSessionParams\n    ): Promise<CreateCheckoutSessionResponse> => {\n      return this.runTask(\n        key,\n        async (client, task) => {\n          const response = await client.checkout.sessions.create(params, {\n            idempotencyKey: task.idempotencyKey,\n            stripeAccount: params.stripeAccount,\n          });\n\n          task.outputProperties = [\n            {\n              label: \"Session ID\",\n              text: response.id,\n            },\n            ...(response.lastResponse.requestId\n              ? [\n                  {\n                    label: \"Request ID\",\n                    text: response.lastResponse.requestId,\n                  },\n                ]\n              : []),\n          ];\n\n          return response;\n        },\n        {\n          name: \"Create Checkout Session\",\n          params,\n          properties: [\n            ...(params.stripeAccount\n              ? [\n                  {\n                    label: \"Stripe Account\",\n                    text: params.stripeAccount,\n                  },\n                ]\n              : []),\n          ],\n        }\n      );\n    },\n  };\n}\n","export function omit<T, K extends keyof T>(obj: T, ...keys: K[]): Omit<T, K> {\n  const result = { ...obj };\n  keys.forEach((key) => delete result[key]);\n  return result;\n}\n","import { IntegrationTaskKey } from \"@trigger.dev/sdk\";\nimport {\n  CreateCustomerParams,\n  CreateCustomerResponse,\n  StripeRunTask,\n  UpdateCustomerParams,\n  UpdateCustomerResponse,\n} from \"./index\";\nimport { omit } from \"./utils\";\n\nexport class Customers {\n  constructor(private runTask: StripeRunTask) {}\n\n  create(key: IntegrationTaskKey, params: CreateCustomerParams): Promise<CreateCustomerResponse> {\n    return this.runTask(\n      key,\n      async (client, task) => {\n        const response = await client.customers.create(params, {\n          idempotencyKey: task.idempotencyKey,\n          stripeAccount: params.stripeAccount,\n        });\n\n        task.outputProperties = [\n          {\n            label: \"Customer ID\",\n            text: response.id,\n          },\n          ...(response.lastResponse.requestId\n            ? [\n                {\n                  label: \"Request ID\",\n                  text: response.lastResponse.requestId,\n                },\n              ]\n            : []),\n        ];\n\n        return response;\n      },\n      {\n        name: \"Create Customer\",\n        params,\n        properties: [\n          ...(params.stripeAccount\n            ? [\n                {\n                  label: \"Stripe Account\",\n                  text: params.stripeAccount,\n                },\n              ]\n            : []),\n        ],\n      }\n    );\n  }\n\n  /**\n   * Updates the specified customer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. For example, if you pass the source parameter, that becomes the customer's active source (e.g., a card) to be used for all charges in the future. When you update a customer to a new valid card source by passing the source parameter: for each of the customer's current subscriptions, if the subscription bills automatically and is in the past_due state, then the latest open invoice for the subscription with automatic collection enabled will be retried. This retry will not count as an automatic retry, and will not affect the next regularly scheduled payment for the invoice. Changing the default_source for a customer will not trigger this behavior.\n   *\n   * This request accepts mostly the same arguments as the customer creation call.\n   */\n  update(key: IntegrationTaskKey, params: UpdateCustomerParams): Promise<UpdateCustomerResponse> {\n    return this.runTask(\n      key,\n      async (client, task) => {\n        const response = await client.customers.update(params.id, omit(params, \"id\"), {\n          idempotencyKey: task.idempotencyKey,\n          stripeAccount: params.stripeAccount,\n        });\n\n        task.outputProperties = [\n          ...(response.lastResponse.requestId\n            ? [\n                {\n                  label: \"Request ID\",\n                  text: response.lastResponse.requestId,\n                },\n              ]\n            : []),\n        ];\n\n        return response;\n      },\n      {\n        name: \"Update Customer\",\n        params,\n        properties: [\n          {\n            label: \"Customer ID\",\n            text: params.id,\n          },\n          ...(params.stripeAccount\n            ? [\n                {\n                  label: \"Stripe Account\",\n                  text: params.stripeAccount,\n                },\n              ]\n            : []),\n        ],\n      }\n    );\n  }\n}\n","export const checkoutSessionExample = {\n  id: \"test_session\",\n  name: \"Mock Checkout Session\",\n  icon: \"stripe\",\n  payload: {\n    id: \"cs_test_a1LFuyKHsmzBxr6SvxfFu184ISK2sNebnb60DloYuCenBcJtfGttTydm4n\",\n    object: \"checkout.session\",\n    after_expiration: null,\n    allow_promotion_codes: null,\n    amount_subtotal: 3000,\n    amount_total: 3000,\n    automatic_tax: {\n      enabled: false,\n      status: null,\n    },\n    billing_address_collection: null,\n    cancel_url: \"https://httpbin.org/post\",\n    client_reference_id: null,\n    consent: null,\n    consent_collection: null,\n    created: 1690472483,\n    currency: \"usd\",\n    currency_conversion: null,\n    custom_fields: [],\n    custom_text: {\n      shipping_address: null,\n      submit: null,\n    },\n    customer: null,\n    customer_creation: \"if_required\",\n    customer_details: {\n      address: {\n        city: \"South San Francisco\",\n        country: \"US\",\n        line1: \"354 Oyster Point Blvd\",\n        line2: null,\n        postal_code: \"94080\",\n        state: \"CA\",\n      },\n      email: \"stripe@example.com\",\n      name: \"Jenny Rosen\",\n      phone: null,\n      tax_exempt: \"none\",\n      tax_ids: [],\n    },\n    customer_email: null,\n    expires_at: 1690558883,\n    invoice: null,\n    invoice_creation: {\n      enabled: false,\n      invoice_data: {\n        account_tax_ids: null,\n        custom_fields: null,\n        description: null,\n        footer: null,\n        metadata: {},\n        rendering_options: null,\n      },\n    },\n    livemode: false,\n    locale: null,\n    metadata: {},\n    mode: \"payment\",\n    payment_intent: \"pi_3NYWJcI0XSgju2ur1bZTeRhR\",\n    payment_link: null,\n    payment_method_collection: \"always\",\n    payment_method_options: {},\n    payment_method_types: [\"card\"],\n    payment_status: \"paid\",\n    phone_number_collection: {\n      enabled: false,\n    },\n    recovered_from: null,\n    setup_intent: null,\n    shipping_address_collection: null,\n    shipping_cost: null,\n    shipping_details: null,\n    shipping_options: [],\n    status: \"complete\",\n    submit_type: null,\n    subscription: null,\n    success_url: \"https://httpbin.org/post\",\n    total_details: {\n      amount_discount: 0,\n      amount_shipping: 0,\n      amount_tax: 0,\n    },\n    url: null,\n  },\n};\n\nexport const customerSubscriptionExample = {\n  id: \"test_subscription\",\n  name: \"Mock Subscription\",\n  icon: \"stripe\",\n  payload: {\n    id: \"sub_1NYWgUI0XSgju2urmVcglalG\",\n    object: \"subscription\",\n    application: null,\n    application_fee_percent: null,\n    automatic_tax: {\n      enabled: false,\n    },\n    billing_cycle_anchor: 1690473902,\n    billing_thresholds: null,\n    cancel_at: null,\n    cancel_at_period_end: false,\n    canceled_at: null,\n    cancellation_details: {\n      comment: null,\n      feedback: null,\n      reason: null,\n    },\n    collection_method: \"charge_automatically\",\n    created: 1690473902,\n    currency: \"usd\",\n    current_period_end: 1693152302,\n    current_period_start: 1690473902,\n    customer: \"cus_OLD6IR3D8CJasG\",\n    days_until_due: null,\n    default_payment_method: null,\n    default_source: null,\n    default_tax_rates: [],\n    description: null,\n    discount: null,\n    ended_at: null,\n    items: {\n      object: \"list\",\n      data: [\n        {\n          id: \"si_OLD6qgIKdp0wZO\",\n          object: \"subscription_item\",\n          billing_thresholds: null,\n          created: 1690473903,\n          metadata: {},\n          plan: {\n            id: \"price_1NYWgUI0XSgju2ur3rwJGw1n\",\n            object: \"plan\",\n            active: true,\n            aggregate_usage: null,\n            amount: 1500,\n            amount_decimal: \"1500\",\n            billing_scheme: \"per_unit\",\n            created: 1690473902,\n            currency: \"usd\",\n            interval: \"month\",\n            interval_count: 1,\n            livemode: false,\n            metadata: {},\n            nickname: null,\n            product: \"prod_OLD6aEjleFDUfA\",\n            tiers_mode: null,\n            transform_usage: null,\n            trial_period_days: null,\n            usage_type: \"licensed\",\n          },\n          price: {\n            id: \"price_1NYWgUI0XSgju2ur3rwJGw1n\",\n            object: \"price\",\n            active: true,\n            billing_scheme: \"per_unit\",\n            created: 1690473902,\n            currency: \"usd\",\n            custom_unit_amount: null,\n            livemode: false,\n            lookup_key: null,\n            metadata: {},\n            nickname: null,\n            product: \"prod_OLD6aEjleFDUfA\",\n            recurring: {\n              aggregate_usage: null,\n              interval: \"month\",\n              interval_count: 1,\n              trial_period_days: null,\n              usage_type: \"licensed\",\n            },\n            tax_behavior: \"unspecified\",\n            tiers_mode: null,\n            transform_quantity: null,\n            type: \"recurring\",\n            unit_amount: 1500,\n            unit_amount_decimal: \"1500\",\n          },\n          quantity: 1,\n          subscription: \"sub_1NYWgUI0XSgju2urmVcglalG\",\n          tax_rates: [],\n        },\n      ],\n      has_more: false,\n      total_count: 1,\n      url: \"/v1/subscription_items?subscription=sub_1NYWgUI0XSgju2urmVcglalG\",\n    },\n    latest_invoice: \"in_1NYWgUI0XSgju2urV5ZTEyIn\",\n    livemode: false,\n    metadata: {},\n    next_pending_invoice_item_invoice: null,\n    on_behalf_of: null,\n    pause_collection: null,\n    payment_settings: {\n      payment_method_options: null,\n      payment_method_types: null,\n      save_default_payment_method: \"off\",\n    },\n    pending_invoice_item_interval: null,\n    pending_setup_intent: null,\n    pending_update: null,\n    plan: {\n      id: \"price_1NYWgUI0XSgju2ur3rwJGw1n\",\n      object: \"plan\",\n      active: true,\n      aggregate_usage: null,\n      amount: 1500,\n      amount_decimal: \"1500\",\n      billing_scheme: \"per_unit\",\n      created: 1690473902,\n      currency: \"usd\",\n      interval: \"month\",\n      interval_count: 1,\n      livemode: false,\n      metadata: {},\n      nickname: null,\n      product: \"prod_OLD6aEjleFDUfA\",\n      tiers_mode: null,\n      transform_usage: null,\n      trial_period_days: null,\n      usage_type: \"licensed\",\n    },\n    quantity: 1,\n    schedule: null,\n    start_date: 1690473902,\n    status: \"active\",\n    test_clock: null,\n    transfer_data: null,\n    trial_end: null,\n    trial_settings: {\n      end_behavior: {\n        missing_payment_method: \"create_invoice\",\n      },\n    },\n    trial_start: null,\n  },\n};\n\nexport const pausedSubscriptionExample = {\n  id: \"test_subscription\",\n  name: \"Mock Subscription\",\n  icon: \"stripe\",\n  payload: {\n    id: \"sub_1NYWgUI0XSgju2urmVcglalG\",\n    object: \"subscription\",\n    application: null,\n    application_fee_percent: null,\n    automatic_tax: {\n      enabled: false,\n    },\n    billing_cycle_anchor: 1690473902,\n    billing_thresholds: null,\n    cancel_at: null,\n    cancel_at_period_end: false,\n    canceled_at: null,\n    cancellation_details: {\n      comment: null,\n      feedback: null,\n      reason: null,\n    },\n    collection_method: \"charge_automatically\",\n    created: 1690473902,\n    currency: \"usd\",\n    current_period_end: 1693152302,\n    current_period_start: 1690473902,\n    customer: \"cus_OLD6IR3D8CJasG\",\n    days_until_due: null,\n    default_payment_method: null,\n    default_source: null,\n    default_tax_rates: [],\n    description: null,\n    discount: null,\n    ended_at: null,\n    items: {\n      object: \"list\",\n      data: [\n        {\n          id: \"si_OLD6qgIKdp0wZO\",\n          object: \"subscription_item\",\n          billing_thresholds: null,\n          created: 1690473903,\n          metadata: {},\n          plan: {\n            id: \"price_1NYWgUI0XSgju2ur3rwJGw1n\",\n            object: \"plan\",\n            active: true,\n            aggregate_usage: null,\n            amount: 1500,\n            amount_decimal: \"1500\",\n            billing_scheme: \"per_unit\",\n            created: 1690473902,\n            currency: \"usd\",\n            interval: \"month\",\n            interval_count: 1,\n            livemode: false,\n            metadata: {},\n            nickname: null,\n            product: \"prod_OLD6aEjleFDUfA\",\n            tiers_mode: null,\n            transform_usage: null,\n            trial_period_days: null,\n            usage_type: \"licensed\",\n          },\n          price: {\n            id: \"price_1NYWgUI0XSgju2ur3rwJGw1n\",\n            object: \"price\",\n            active: true,\n            billing_scheme: \"per_unit\",\n            created: 1690473902,\n            currency: \"usd\",\n            custom_unit_amount: null,\n            livemode: false,\n            lookup_key: null,\n            metadata: {},\n            nickname: null,\n            product: \"prod_OLD6aEjleFDUfA\",\n            recurring: {\n              aggregate_usage: null,\n              interval: \"month\",\n              interval_count: 1,\n              trial_period_days: null,\n              usage_type: \"licensed\",\n            },\n            tax_behavior: \"unspecified\",\n            tiers_mode: null,\n            transform_quantity: null,\n            type: \"recurring\",\n            unit_amount: 1500,\n            unit_amount_decimal: \"1500\",\n          },\n          quantity: 1,\n          subscription: \"sub_1NYWgUI0XSgju2urmVcglalG\",\n          tax_rates: [],\n        },\n      ],\n      has_more: false,\n      total_count: 1,\n      url: \"/v1/subscription_items?subscription=sub_1NYWgUI0XSgju2urmVcglalG\",\n    },\n    latest_invoice: \"in_1NYWgUI0XSgju2urV5ZTEyIn\",\n    livemode: false,\n    metadata: {},\n    next_pending_invoice_item_invoice: null,\n    on_behalf_of: null,\n    pause_collection: null,\n    payment_settings: {\n      payment_method_options: null,\n      payment_method_types: null,\n      save_default_payment_method: \"off\",\n    },\n    pending_invoice_item_interval: null,\n    pending_setup_intent: null,\n    pending_update: null,\n    plan: {\n      id: \"price_1NYWgUI0XSgju2ur3rwJGw1n\",\n      object: \"plan\",\n      active: true,\n      aggregate_usage: null,\n      amount: 1500,\n      amount_decimal: \"1500\",\n      billing_scheme: \"per_unit\",\n      created: 1690473902,\n      currency: \"usd\",\n      interval: \"month\",\n      interval_count: 1,\n      livemode: false,\n      metadata: {},\n      nickname: null,\n      product: \"prod_OLD6aEjleFDUfA\",\n      tiers_mode: null,\n      transform_usage: null,\n      trial_period_days: null,\n      usage_type: \"licensed\",\n    },\n    quantity: 1,\n    schedule: null,\n    start_date: 1690473902,\n    status: \"paused\",\n    test_clock: null,\n    transfer_data: null,\n    trial_end: null,\n    trial_settings: {\n      end_behavior: {\n        missing_payment_method: \"create_invoice\",\n      },\n    },\n    trial_start: null,\n  },\n};\n\nexport const cancelledSubscriptionExample = {\n  id: \"test_subscription\",\n  name: \"Cancelled Subscription\",\n  icon: \"stripe\",\n  payload: {\n    id: \"sub_1NYWmqI0XSgju2urM6J7U81g\",\n    object: \"subscription\",\n    application: null,\n    application_fee_percent: null,\n    automatic_tax: {\n      enabled: false,\n    },\n    billing_cycle_anchor: 1690474295,\n    billing_thresholds: null,\n    cancel_at: null,\n    cancel_at_period_end: false,\n    canceled_at: 1690474298,\n    cancellation_details: {\n      comment: null,\n      feedback: null,\n      reason: \"cancellation_requested\",\n    },\n    collection_method: \"charge_automatically\",\n    created: 1690474295,\n    currency: \"usd\",\n    current_period_end: 1693152695,\n    current_period_start: 1690474295,\n    customer: \"cus_OLDDzu7ZE2wLZB\",\n    days_until_due: null,\n    default_payment_method: null,\n    default_source: null,\n    default_tax_rates: [],\n    description: null,\n    discount: null,\n    ended_at: 1690474298,\n    items: {\n      object: \"list\",\n      data: [\n        {\n          id: \"si_OLDDWvHquPJrro\",\n          object: \"subscription_item\",\n          billing_thresholds: null,\n          created: 1690474296,\n          metadata: {},\n          plan: {\n            id: \"price_1NYWmpI0XSgju2ur8YboK1MK\",\n            object: \"plan\",\n            active: true,\n            aggregate_usage: null,\n            amount: 1500,\n            amount_decimal: \"1500\",\n            billing_scheme: \"per_unit\",\n            created: 1690474295,\n            currency: \"usd\",\n            interval: \"month\",\n            interval_count: 1,\n            livemode: false,\n            metadata: {},\n            nickname: null,\n            product: \"prod_OLDDFHiTTQUoPT\",\n            tiers_mode: null,\n            transform_usage: null,\n            trial_period_days: null,\n            usage_type: \"licensed\",\n          },\n          price: {\n            id: \"price_1NYWmpI0XSgju2ur8YboK1MK\",\n            object: \"price\",\n            active: true,\n            billing_scheme: \"per_unit\",\n            created: 1690474295,\n            currency: \"usd\",\n            custom_unit_amount: null,\n            livemode: false,\n            lookup_key: null,\n            metadata: {},\n            nickname: null,\n            product: \"prod_OLDDFHiTTQUoPT\",\n            recurring: {\n              aggregate_usage: null,\n              interval: \"month\",\n              interval_count: 1,\n              trial_period_days: null,\n              usage_type: \"licensed\",\n            },\n            tax_behavior: \"unspecified\",\n            tiers_mode: null,\n            transform_quantity: null,\n            type: \"recurring\",\n            unit_amount: 1500,\n            unit_amount_decimal: \"1500\",\n          },\n          quantity: 1,\n          subscription: \"sub_1NYWmqI0XSgju2urM6J7U81g\",\n          tax_rates: [],\n        },\n      ],\n      has_more: false,\n      total_count: 1,\n      url: \"/v1/subscription_items?subscription=sub_1NYWmqI0XSgju2urM6J7U81g\",\n    },\n    latest_invoice: \"in_1NYWmqI0XSgju2ur1YkCeiE3\",\n    livemode: false,\n    metadata: {},\n    next_pending_invoice_item_invoice: null,\n    on_behalf_of: null,\n    pause_collection: null,\n    payment_settings: {\n      payment_method_options: null,\n      payment_method_types: null,\n      save_default_payment_method: \"off\",\n    },\n    pending_invoice_item_interval: null,\n    pending_setup_intent: null,\n    pending_update: null,\n    plan: {\n      id: \"price_1NYWmpI0XSgju2ur8YboK1MK\",\n      object: \"plan\",\n      active: true,\n      aggregate_usage: null,\n      amount: 1500,\n      amount_decimal: \"1500\",\n      billing_scheme: \"per_unit\",\n      created: 1690474295,\n      currency: \"usd\",\n      interval: \"month\",\n      interval_count: 1,\n      livemode: false,\n      metadata: {},\n      nickname: null,\n      product: \"prod_OLDDFHiTTQUoPT\",\n      tiers_mode: null,\n      transform_usage: null,\n      trial_period_days: null,\n      usage_type: \"licensed\",\n    },\n    quantity: 1,\n    schedule: null,\n    start_date: 1690474295,\n    status: \"canceled\",\n    test_clock: null,\n    transfer_data: null,\n    trial_end: null,\n    trial_settings: {\n      end_behavior: {\n        missing_payment_method: \"create_invoice\",\n      },\n    },\n    trial_start: null,\n  },\n};\n\nexport const updatedSubscriptionExample = {\n  id: \"test_subscription\",\n  name: \"Updated Subscription\",\n  icon: \"stripe\",\n  payload: {\n    id: \"sub_1NYWr9I0XSgju2urREzIjypw\",\n    object: \"subscription\",\n    application: null,\n    application_fee_percent: null,\n    automatic_tax: {\n      enabled: false,\n    },\n    billing_cycle_anchor: 1690474563,\n    billing_thresholds: null,\n    cancel_at: null,\n    cancel_at_period_end: false,\n    canceled_at: null,\n    cancellation_details: {\n      comment: null,\n      feedback: null,\n      reason: null,\n    },\n    collection_method: \"charge_automatically\",\n    created: 1690474563,\n    currency: \"usd\",\n    current_period_end: 1693152963,\n    current_period_start: 1690474563,\n    customer: \"cus_OLDHaOoGMJKpbQ\",\n    days_until_due: null,\n    default_payment_method: null,\n    default_source: null,\n    default_tax_rates: [],\n    description: null,\n    discount: null,\n    ended_at: null,\n    items: {\n      object: \"list\",\n      data: [\n        {\n          id: \"si_OLDHbwqQpcI7wJ\",\n          object: \"subscription_item\",\n          billing_thresholds: null,\n          created: 1690474564,\n          metadata: {},\n          plan: {\n            id: \"price_1NYWr9I0XSgju2urK88vlVrN\",\n            object: \"plan\",\n            active: true,\n            aggregate_usage: null,\n            amount: 1500,\n            amount_decimal: \"1500\",\n            billing_scheme: \"per_unit\",\n            created: 1690474563,\n            currency: \"usd\",\n            interval: \"month\",\n            interval_count: 1,\n            livemode: false,\n            metadata: {},\n            nickname: null,\n            product: \"prod_OLDHCaYW7Sp4Xg\",\n            tiers_mode: null,\n            transform_usage: null,\n            trial_period_days: null,\n            usage_type: \"licensed\",\n          },\n          price: {\n            id: \"price_1NYWr9I0XSgju2urK88vlVrN\",\n            object: \"price\",\n            active: true,\n            billing_scheme: \"per_unit\",\n            created: 1690474563,\n            currency: \"usd\",\n            custom_unit_amount: null,\n            livemode: false,\n            lookup_key: null,\n            metadata: {},\n            nickname: null,\n            product: \"prod_OLDHCaYW7Sp4Xg\",\n            recurring: {\n              aggregate_usage: null,\n              interval: \"month\",\n              interval_count: 1,\n              trial_period_days: null,\n              usage_type: \"licensed\",\n            },\n            tax_behavior: \"unspecified\",\n            tiers_mode: null,\n            transform_quantity: null,\n            type: \"recurring\",\n            unit_amount: 1500,\n            unit_amount_decimal: \"1500\",\n          },\n          quantity: 1,\n          subscription: \"sub_1NYWr9I0XSgju2urREzIjypw\",\n          tax_rates: [],\n        },\n      ],\n      has_more: false,\n      total_count: 1,\n      url: \"/v1/subscription_items?subscription=sub_1NYWr9I0XSgju2urREzIjypw\",\n    },\n    latest_invoice: \"in_1NYWr9I0XSgju2uro3uB0RuT\",\n    livemode: false,\n    metadata: {\n      foo: \"bar\",\n    },\n    next_pending_invoice_item_invoice: null,\n    on_behalf_of: null,\n    pause_collection: null,\n    payment_settings: {\n      payment_method_options: null,\n      payment_method_types: null,\n      save_default_payment_method: \"off\",\n    },\n    pending_invoice_item_interval: null,\n    pending_setup_intent: null,\n    pending_update: null,\n    plan: {\n      id: \"price_1NYWr9I0XSgju2urK88vlVrN\",\n      object: \"plan\",\n      active: true,\n      aggregate_usage: null,\n      amount: 1500,\n      amount_decimal: \"1500\",\n      billing_scheme: \"per_unit\",\n      created: 1690474563,\n      currency: \"usd\",\n      interval: \"month\",\n      interval_count: 1,\n      livemode: false,\n      metadata: {},\n      nickname: null,\n      product: \"prod_OLDHCaYW7Sp4Xg\",\n      tiers_mode: null,\n      transform_usage: null,\n      trial_period_days: null,\n      usage_type: \"licensed\",\n    },\n    quantity: 1,\n    schedule: null,\n    start_date: 1690474563,\n    status: \"active\",\n    test_clock: null,\n    transfer_data: null,\n    trial_end: null,\n    trial_settings: {\n      end_behavior: {\n        missing_payment_method: \"create_invoice\",\n      },\n    },\n    trial_start: null,\n  },\n};\n\nexport const updatedAccountExample = {\n  id: \"test_account\",\n  name: \"Updated Account\",\n  icon: \"stripe\",\n  payload: {\n    id: \"acct_1Nk2DXINGsstqbEy\",\n    object: \"account\",\n    business_profile: {\n      mcc: null,\n      name: null,\n      support_address: null,\n      support_email: null,\n      support_phone: null,\n      support_url: null,\n      url: null,\n      product_description: null,\n    },\n    capabilities: {},\n    charges_enabled: false,\n    controller: {\n      type: \"application\",\n      is_controller: true,\n    },\n    country: \"GB\",\n    default_currency: \"gbp\",\n    details_submitted: false,\n    email: null,\n    payouts_enabled: false,\n    settings: {\n      bacs_debit_payments: {},\n      branding: {\n        icon: null,\n        logo: null,\n        primary_color: null,\n        secondary_color: null,\n      },\n      card_issuing: {\n        tos_acceptance: {\n          date: null,\n          ip: null,\n        },\n      },\n      card_payments: {\n        statement_descriptor_prefix: null,\n        statement_descriptor_prefix_kanji: null,\n        statement_descriptor_prefix_kana: null,\n        decline_on: {\n          avs_failure: false,\n          cvc_failure: false,\n        },\n      },\n      dashboard: {\n        display_name: null,\n        timezone: \"Etc/UTC\",\n      },\n      payments: {\n        statement_descriptor: null,\n        statement_descriptor_kana: null,\n        statement_descriptor_kanji: null,\n      },\n      sepa_debit_payments: {},\n      payouts: {\n        debit_negative_balances: true,\n        schedule: {\n          delay_days: 7,\n          interval: \"daily\",\n        },\n        statement_descriptor: null,\n      },\n    },\n    type: \"standard\",\n    business_type: null,\n    created: 1693216724,\n    external_accounts: {\n      object: \"list\",\n      data: [],\n      has_more: false,\n      total_count: 0,\n      url: \"/v1/accounts/acct_1Nk2DXINGsstqbEy/external_accounts\",\n    },\n    future_requirements: {\n      alternatives: [],\n      current_deadline: null,\n      currently_due: [],\n      disabled_reason: null,\n      errors: [],\n      eventually_due: [],\n      past_due: [],\n      pending_verification: [],\n    },\n    metadata: {\n      foo: \"bar\",\n    },\n    requirements: {\n      alternatives: [],\n      current_deadline: null,\n      currently_due: [\n        \"business_profile.product_description\",\n        \"business_profile.support_phone\",\n        \"business_profile.url\",\n        \"external_account\",\n        \"tos_acceptance.date\",\n        \"tos_acceptance.ip\",\n      ],\n      disabled_reason: \"requirements.past_due\",\n      errors: [],\n      eventually_due: [\n        \"business_profile.product_description\",\n        \"business_profile.support_phone\",\n        \"business_profile.url\",\n        \"external_account\",\n        \"tos_acceptance.date\",\n        \"tos_acceptance.ip\",\n      ],\n      past_due: [\"external_account\", \"tos_acceptance.date\", \"tos_acceptance.ip\"],\n      pending_verification: [],\n    },\n    tos_acceptance: {\n      date: null,\n      ip: null,\n      user_agent: null,\n    },\n  },\n};\n\nexport const createdCustomerExample = {\n  id: \"created_customer\",\n  name: \"Created Customer\",\n  icon: \"stripe\",\n  payload: {\n    id: \"cus_OX6SuD19Ej1AwM\",\n    object: \"customer\",\n    address: null,\n    balance: 0,\n    created: 1693216865,\n    currency: null,\n    default_source: null,\n    delinquent: false,\n    description: \"(created by Stripe CLI)\",\n    discount: null,\n    email: null,\n    invoice_prefix: \"02F47541\",\n    invoice_settings: {\n      custom_fields: null,\n      default_payment_method: null,\n      footer: null,\n      rendering_options: null,\n    },\n    livemode: false,\n    metadata: {},\n    name: null,\n    phone: null,\n    preferred_locales: [],\n    shipping: null,\n    tax_exempt: \"none\",\n    test_clock: null,\n  },\n};\n\nexport const deletedCustomerExample = {\n  id: \"deleted_customer\",\n  name: \"Deleted Customer\",\n  icon: \"stripe\",\n  payload: {\n    id: \"cus_OX6UWArTxl2eGx\",\n    object: \"customer\",\n    address: null,\n    balance: 0,\n    created: 1693216947,\n    currency: null,\n    default_source: null,\n    delinquent: false,\n    description: \"(created by Stripe CLI)\",\n    discount: null,\n    email: null,\n    invoice_prefix: \"2761E4C9\",\n    invoice_settings: {\n      custom_fields: null,\n      default_payment_method: null,\n      footer: null,\n      rendering_options: null,\n    },\n    livemode: false,\n    metadata: {},\n    name: null,\n    phone: null,\n    preferred_locales: [],\n    shipping: null,\n    tax_exempt: \"none\",\n    test_clock: null,\n  },\n};\n\nexport const capturedChargeExample = {\n  id: \"charge.captured\",\n  name: \"charge.captured\",\n  icon: \"stripe\",\n  payload: {\n    id: \"ch_3Nk2IZI0XSgju2ur1KjXKcEP\",\n    object: \"charge\",\n    amount: 2000,\n    amount_captured: 2000,\n    amount_refunded: 0,\n    application: null,\n    application_fee: null,\n    application_fee_amount: null,\n    balance_transaction: \"txn_3Nk2IZI0XSgju2ur1yBd2FPs\",\n    billing_details: {\n      address: {\n        city: null,\n        country: null,\n        line1: null,\n        line2: null,\n        postal_code: null,\n        state: null,\n      },\n      email: null,\n      name: null,\n      phone: null,\n    },\n    calculated_statement_descriptor: \"WWW.TRIGGER.DEV\",\n    captured: true,\n    created: 1693217035,\n    currency: \"usd\",\n    customer: null,\n    description: \"(created by Stripe CLI)\",\n    destination: null,\n    dispute: null,\n    disputed: false,\n    failure_balance_transaction: null,\n    failure_code: null,\n    failure_message: null,\n    fraud_details: {},\n    invoice: null,\n    livemode: false,\n    metadata: {},\n    on_behalf_of: null,\n    order: null,\n    outcome: {\n      network_status: \"approved_by_network\",\n      reason: null,\n      risk_level: \"normal\",\n      risk_score: 23,\n      seller_message: \"Payment complete.\",\n      type: \"authorized\",\n    },\n    paid: true,\n    payment_intent: \"pi_3Nk2IZI0XSgju2ur1c5PRXzB\",\n    payment_method: \"pm_1Nk2IZI0XSgju2urQoHr945x\",\n    payment_method_details: {\n      card: {\n        brand: \"visa\",\n        checks: {\n          address_line1_check: null,\n          address_postal_code_check: null,\n          cvc_check: null,\n        },\n        country: \"US\",\n        exp_month: 8,\n        exp_year: 2024,\n        fingerprint: \"w6qgKDLO5EbIJ5VZ\",\n        funding: \"credit\",\n        installments: null,\n        last4: \"4242\",\n        mandate: null,\n        network: \"visa\",\n        network_token: {\n          used: false,\n        },\n        three_d_secure: null,\n        wallet: null,\n      },\n      type: \"card\",\n    },\n    receipt_email: null,\n    receipt_number: null,\n    receipt_url:\n      \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xTVJtRzRJMFhTZ2p1MnVyKI3isacGMgaiHlW3-3o6LBbtHkEOlE2XK3_d2h9msrs3bTJvZi8DcqHrvcQrwxPHm8rP3LA2i5wTqA7Y\",\n    refunded: false,\n    review: null,\n    shipping: null,\n    source: null,\n    source_transfer: null,\n    statement_descriptor: null,\n    statement_descriptor_suffix: null,\n    status: \"succeeded\",\n    transfer_data: null,\n    transfer_group: null,\n  },\n};\n\nexport const succeededChargeExample = {\n  id: \"charge.succeeded\",\n  name: \"charge.succeeded\",\n  icon: \"stripe\",\n  payload: {\n    id: \"ch_3Nk2MlI0XSgju2ur0Zcv519e\",\n    object: \"charge\",\n    amount: 2000,\n    amount_captured: 0,\n    amount_refunded: 0,\n    application: null,\n    application_fee: null,\n    application_fee_amount: null,\n    balance_transaction: null,\n    billing_details: {\n      address: {\n        city: null,\n        country: null,\n        line1: null,\n        line2: null,\n        postal_code: null,\n        state: null,\n      },\n      email: null,\n      name: null,\n      phone: null,\n    },\n    calculated_statement_descriptor: \"WWW.TRIGGER.DEV\",\n    captured: false,\n    created: 1693217296,\n    currency: \"usd\",\n    customer: null,\n    description: \"(created by Stripe CLI)\",\n    destination: null,\n    dispute: null,\n    disputed: false,\n    failure_balance_transaction: null,\n    failure_code: null,\n    failure_message: null,\n    fraud_details: {},\n    invoice: null,\n    livemode: false,\n    metadata: {},\n    on_behalf_of: null,\n    order: null,\n    outcome: {\n      network_status: \"approved_by_network\",\n      reason: null,\n      risk_level: \"normal\",\n      risk_score: 3,\n      seller_message: \"Payment complete.\",\n      type: \"authorized\",\n    },\n    paid: true,\n    payment_intent: \"pi_3Nk2MlI0XSgju2ur0p8h6qIg\",\n    payment_method: \"pm_1Nk2MlI0XSgju2urdy1jOUTb\",\n    payment_method_details: {\n      card: {\n        brand: \"visa\",\n        checks: {\n          address_line1_check: null,\n          address_postal_code_check: null,\n          cvc_check: null,\n        },\n        country: \"US\",\n        exp_month: 8,\n        exp_year: 2024,\n        fingerprint: \"w6qgKDLO5EbIJ5VZ\",\n        funding: \"credit\",\n        installments: null,\n        last4: \"4242\",\n        mandate: null,\n        network: \"visa\",\n        network_token: {\n          used: false,\n        },\n        three_d_secure: null,\n        wallet: null,\n      },\n      type: \"card\",\n    },\n    receipt_email: null,\n    receipt_number: null,\n    receipt_url:\n      \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xTVJtRzRJMFhTZ2p1MnVyKJDksacGMgYAj-PAr_s6LBapIJAZx3QBJGs7up7CDkowPkzJbOD1CzDvmilNbsloUF9ovZ3sWPq6F5SN\",\n    refunded: false,\n    review: null,\n    shipping: null,\n    source: null,\n    source_transfer: null,\n    statement_descriptor: null,\n    statement_descriptor_suffix: null,\n    status: \"succeeded\",\n    transfer_data: null,\n    transfer_group: null,\n  },\n};\n\nexport const failedChargeExample = {\n  id: \"charge.failed\",\n  name: \"charge.failed\",\n  icon: \"stripe\",\n  payload: {\n    id: \"ch_3Nk2OVI0XSgju2ur09WGXz58\",\n    object: \"charge\",\n    amount: 100,\n    amount_captured: 0,\n    amount_refunded: 0,\n    application: null,\n    application_fee: null,\n    application_fee_amount: null,\n    balance_transaction: null,\n    billing_details: {\n      address: {\n        city: null,\n        country: null,\n        line1: null,\n        line2: null,\n        postal_code: null,\n        state: null,\n      },\n      email: null,\n      name: null,\n      phone: null,\n    },\n    calculated_statement_descriptor: \"WWW.TRIGGER.DEV\",\n    captured: false,\n    created: 1693217403,\n    currency: \"usd\",\n    customer: null,\n    description: \"(created by Stripe CLI)\",\n    destination: null,\n    dispute: null,\n    disputed: false,\n    failure_balance_transaction: null,\n    failure_code: \"card_declined\",\n    failure_message: \"Your card was declined.\",\n    fraud_details: {},\n    invoice: null,\n    livemode: false,\n    metadata: {},\n    on_behalf_of: null,\n    order: null,\n    outcome: {\n      network_status: \"declined_by_network\",\n      reason: \"generic_decline\",\n      risk_level: \"normal\",\n      risk_score: 10,\n      seller_message: \"The bank did not return any further details with this decline.\",\n      type: \"issuer_declined\",\n    },\n    paid: false,\n    payment_intent: \"pi_3Nk2OVI0XSgju2ur0HYvM3Zu\",\n    payment_method: \"pm_1Nk2OVI0XSgju2uri9io5fc0\",\n    payment_method_details: {\n      card: {\n        brand: \"visa\",\n        checks: {\n          address_line1_check: null,\n          address_postal_code_check: null,\n          cvc_check: null,\n        },\n        country: \"US\",\n        exp_month: 8,\n        exp_year: 2024,\n        fingerprint: \"LvNwBVtV2ETBNH8a\",\n        funding: \"credit\",\n        installments: null,\n        last4: \"0002\",\n        mandate: null,\n        network: \"visa\",\n        network_token: {\n          used: false,\n        },\n        three_d_secure: null,\n        wallet: null,\n      },\n      type: \"card\",\n    },\n    receipt_email: null,\n    receipt_number: null,\n    receipt_url: null,\n    refunded: false,\n    review: null,\n    shipping: null,\n    source: null,\n    source_transfer: null,\n    statement_descriptor: null,\n    statement_descriptor_suffix: null,\n    status: \"failed\",\n    transfer_data: null,\n    transfer_group: null,\n  },\n};\n\nexport const refundedChargeExample = {\n  id: \"charge.refunded\",\n  name: \"charge.refunded\",\n  icon: \"stripe\",\n  payload: {\n    id: \"ch_3Nk2PLI0XSgju2ur1DqK0bOn\",\n    object: \"charge\",\n    amount: 100,\n    amount_captured: 100,\n    amount_refunded: 100,\n    application: null,\n    application_fee: null,\n    application_fee_amount: null,\n    balance_transaction: \"txn_3Nk2PLI0XSgju2ur18SfGzBU\",\n    billing_details: {\n      address: {\n        city: null,\n        country: null,\n        line1: null,\n        line2: null,\n        postal_code: null,\n        state: null,\n      },\n      email: null,\n      name: null,\n      phone: null,\n    },\n    calculated_statement_descriptor: \"WWW.TRIGGER.DEV\",\n    captured: true,\n    created: 1693217456,\n    currency: \"usd\",\n    customer: null,\n    description: \"(created by Stripe CLI)\",\n    destination: null,\n    dispute: null,\n    disputed: false,\n    failure_balance_transaction: null,\n    failure_code: null,\n    failure_message: null,\n    fraud_details: {},\n    invoice: null,\n    livemode: false,\n    metadata: {},\n    on_behalf_of: null,\n    order: null,\n    outcome: {\n      network_status: \"approved_by_network\",\n      reason: null,\n      risk_level: \"normal\",\n      risk_score: 50,\n      seller_message: \"Payment complete.\",\n      type: \"authorized\",\n    },\n    paid: true,\n    payment_intent: \"pi_3Nk2PLI0XSgju2ur1yLml2Ev\",\n    payment_method: \"pm_1Nk2PLI0XSgju2urkxIUAHNK\",\n    payment_method_details: {\n      card: {\n        brand: \"visa\",\n        checks: {\n          address_line1_check: null,\n          address_postal_code_check: null,\n          cvc_check: null,\n        },\n        country: \"US\",\n        exp_month: 8,\n        exp_year: 2024,\n        fingerprint: \"w6qgKDLO5EbIJ5VZ\",\n        funding: \"credit\",\n        installments: null,\n        last4: \"4242\",\n        mandate: null,\n        network: \"visa\",\n        network_token: {\n          used: false,\n        },\n        three_d_secure: null,\n        wallet: null,\n      },\n      type: \"card\",\n    },\n    receipt_email: null,\n    receipt_number: null,\n    receipt_url:\n      \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xTVJtRzRJMFhTZ2p1MnVyKLLlsacGMgbTw8sUtqQ6LBZlhILTcNiKqiXYypfyG6CAcLzUmgE7d6GU9FnnRWNQy6-jhF7lW9GCj7qY\",\n    refunded: true,\n    review: null,\n    shipping: null,\n    source: null,\n    source_transfer: null,\n    statement_descriptor: null,\n    statement_descriptor_suffix: null,\n    status: \"succeeded\",\n    transfer_data: null,\n    transfer_group: null,\n  },\n};\n\nexport const createdPaymentIntentExample = {\n  id: \"payment_intent.created\",\n  name: \"payment_intent.created\",\n  icon: \"stripe\",\n  payload: {\n    id: \"pi_3Nk2yoI0XSgju2ur14qyhbN6\",\n    object: \"payment_intent\",\n    amount: 2000,\n    amount_capturable: 0,\n    amount_details: {\n      tip: {},\n    },\n    amount_received: 0,\n    application: null,\n    application_fee_amount: null,\n    automatic_payment_methods: null,\n    canceled_at: null,\n    cancellation_reason: null,\n    capture_method: \"automatic\",\n    client_secret: \"pi_3Nk2yoI0XSgju2ur14qyhbN6_secret_gBSFGokLjHKfG8f5FeVYggBls\",\n    confirmation_method: \"automatic\",\n    created: 1693219654,\n    currency: \"usd\",\n    customer: null,\n    description: \"(created by Stripe CLI)\",\n    invoice: null,\n    last_payment_error: null,\n    latest_charge: null,\n    livemode: false,\n    metadata: {},\n    next_action: null,\n    on_behalf_of: null,\n    payment_method: null,\n    payment_method_options: {\n      card: {\n        installments: null,\n        mandate_options: null,\n        network: null,\n        request_three_d_secure: \"automatic\",\n      },\n    },\n    payment_method_types: [\"card\"],\n    processing: null,\n    receipt_email: null,\n    review: null,\n    setup_future_usage: null,\n    shipping: null,\n    source: null,\n    statement_descriptor: null,\n    statement_descriptor_suffix: null,\n    status: \"requires_payment_method\",\n    transfer_data: null,\n    transfer_group: null,\n  },\n};\n\nexport const succeededPaymentIntentExample = {\n  id: \"payment_intent.succeeded\",\n  name: \"payment_intent.succeeded\",\n  icon: \"stripe\",\n  payload: {\n    id: \"pi_3Nk30FI0XSgju2ur1OohIT9i\",\n    object: \"payment_intent\",\n    amount: 2000,\n    amount_capturable: 0,\n    amount_details: {\n      tip: {},\n    },\n    amount_received: 2000,\n    application: null,\n    application_fee_amount: null,\n    automatic_payment_methods: null,\n    canceled_at: null,\n    cancellation_reason: null,\n    capture_method: \"automatic\",\n    client_secret: \"pi_3Nk30FI0XSgju2ur1OohIT9i_secret_VPcrQS7qSyPZ4GL7BfQRA1X2y\",\n    confirmation_method: \"automatic\",\n    created: 1693219743,\n    currency: \"usd\",\n    customer: null,\n    description: \"(created by Stripe CLI)\",\n    invoice: null,\n    last_payment_error: null,\n    latest_charge: \"ch_3Nk30FI0XSgju2ur150Nf8Jf\",\n    livemode: false,\n    metadata: {},\n    next_action: null,\n    on_behalf_of: null,\n    payment_method: \"pm_1Nk30FI0XSgju2urEXQYKJsw\",\n    payment_method_options: {\n      card: {\n        installments: null,\n        mandate_options: null,\n        network: null,\n        request_three_d_secure: \"automatic\",\n      },\n    },\n    payment_method_types: [\"card\"],\n    processing: null,\n    receipt_email: null,\n    review: null,\n    setup_future_usage: null,\n    shipping: {\n      address: {\n        city: \"San Francisco\",\n        country: \"US\",\n        line1: \"510 Townsend St\",\n        line2: null,\n        postal_code: \"94103\",\n        state: \"CA\",\n      },\n      carrier: null,\n      name: \"Jenny Rosen\",\n      phone: null,\n      tracking_number: null,\n    },\n    source: null,\n    statement_descriptor: null,\n    statement_descriptor_suffix: null,\n    status: \"succeeded\",\n    transfer_data: null,\n    transfer_group: null,\n  },\n};\n\nexport const cancelledPaymentIntentExample = {\n  id: \"payment_intent.canceled\",\n  name: \"payment_intent.canceled\",\n  icon: \"stripe\",\n  payload: {\n    id: \"pi_3Nk316I0XSgju2ur0WYHIexr\",\n    object: \"payment_intent\",\n    amount: 2000,\n    amount_capturable: 0,\n    amount_details: {\n      tip: {},\n    },\n    amount_received: 0,\n    application: null,\n    application_fee_amount: null,\n    automatic_payment_methods: null,\n    canceled_at: 1693219796,\n    cancellation_reason: \"requested_by_customer\",\n    capture_method: \"automatic\",\n    client_secret: \"pi_3Nk316I0XSgju2ur0WYHIexr_secret_NWXEzMmLe3IXZIW0HahXUXo9w\",\n    confirmation_method: \"automatic\",\n    created: 1693219796,\n    currency: \"usd\",\n    customer: null,\n    description: \"(created by Stripe CLI)\",\n    invoice: null,\n    last_payment_error: null,\n    latest_charge: null,\n    livemode: false,\n    metadata: {},\n    next_action: null,\n    on_behalf_of: null,\n    payment_method: null,\n    payment_method_options: {\n      card: {\n        installments: null,\n        mandate_options: null,\n        network: null,\n        request_three_d_secure: \"automatic\",\n      },\n    },\n    payment_method_types: [\"card\"],\n    processing: null,\n    receipt_email: null,\n    review: null,\n    setup_future_usage: null,\n    shipping: null,\n    source: null,\n    statement_descriptor: null,\n    statement_descriptor_suffix: null,\n    status: \"canceled\",\n    transfer_data: null,\n    transfer_group: null,\n  },\n};\n\nexport const amountCapturablePaymentIntentExample = {\n  id: \"payment_intent.amount_capturable_updated\",\n  name: \"payment_intent.amount_capturable_updated\",\n  icon: \"stripe\",\n  payload: {\n    id: \"pi_3Nk32UI0XSgju2ur0mIrhcYD\",\n    object: \"payment_intent\",\n    amount: 2000,\n    amount_capturable: 2000,\n    amount_details: {\n      tip: {},\n    },\n    amount_received: 0,\n    application: null,\n    application_fee_amount: null,\n    automatic_payment_methods: null,\n    canceled_at: null,\n    cancellation_reason: null,\n    capture_method: \"manual\",\n    client_secret: \"pi_3Nk32UI0XSgju2ur0mIrhcYD_secret_JyfSHNompZV9sipG3wBgfWf1s\",\n    confirmation_method: \"manual\",\n    created: 1693219882,\n    currency: \"usd\",\n    customer: null,\n    description: \"(created by Stripe CLI)\",\n    invoice: null,\n    last_payment_error: null,\n    latest_charge: \"ch_3Nk32UI0XSgju2ur0k1SMSZ4\",\n    livemode: false,\n    metadata: {},\n    next_action: null,\n    on_behalf_of: null,\n    payment_method: \"pm_1Nk32UI0XSgju2uriPepd9pr\",\n    payment_method_options: {\n      card: {\n        installments: null,\n        mandate_options: null,\n        network: null,\n        request_three_d_secure: \"automatic\",\n      },\n    },\n    payment_method_types: [\"card\"],\n    processing: null,\n    receipt_email: null,\n    review: null,\n    setup_future_usage: null,\n    shipping: null,\n    source: null,\n    statement_descriptor: null,\n    statement_descriptor_suffix: null,\n    status: \"requires_capture\",\n    transfer_data: null,\n    transfer_group: null,\n  },\n};\n\nexport const failedPaymentIntentExample = {\n  id: \"payment_intent.payment_failed\",\n  name: \"payment_intent.payment_failed\",\n  icon: \"stripe\",\n  payload: {\n    id: \"pi_3Nk341I0XSgju2ur1ckiktWk\",\n    object: \"payment_intent\",\n    amount: 2000,\n    amount_capturable: 0,\n    amount_details: {\n      tip: {},\n    },\n    amount_received: 0,\n    application: null,\n    application_fee_amount: null,\n    automatic_payment_methods: null,\n    canceled_at: null,\n    cancellation_reason: null,\n    capture_method: \"automatic\",\n    client_secret: \"pi_3Nk341I0XSgju2ur1ckiktWk_secret_3Km19PEIXajFEZRi9qi2VU2d3\",\n    confirmation_method: \"automatic\",\n    created: 1693219977,\n    currency: \"usd\",\n    customer: null,\n    description: \"(created by Stripe CLI)\",\n    invoice: null,\n    last_payment_error: {\n      charge: \"ch_3Nk341I0XSgju2ur1UZC5yvb\",\n      code: \"card_declined\",\n      decline_code: \"generic_decline\",\n      doc_url: \"https://stripe.com/docs/error-codes/card-declined\",\n      message: \"Your card was declined.\",\n      payment_method: {\n        id: \"pm_1Nk341I0XSgju2uraNBls6mm\",\n        object: \"payment_method\",\n        billing_details: {\n          address: {\n            city: null,\n            country: null,\n            line1: null,\n            line2: null,\n            postal_code: null,\n            state: null,\n          },\n          email: null,\n          name: null,\n          phone: null,\n        },\n        card: {\n          brand: \"visa\",\n          checks: {\n            address_line1_check: null,\n            address_postal_code_check: null,\n            cvc_check: null,\n          },\n          country: \"US\",\n          exp_month: 8,\n          exp_year: 2024,\n          fingerprint: \"LvNwBVtV2ETBNH8a\",\n          funding: \"credit\",\n          generated_from: null,\n          last4: \"0002\",\n          networks: {\n            available: [\"visa\"],\n            preferred: null,\n          },\n          three_d_secure_usage: {\n            supported: true,\n          },\n          wallet: null,\n        },\n        created: 1693219977,\n        customer: null,\n        livemode: false,\n        metadata: {},\n        type: \"card\",\n      },\n      type: \"card_error\",\n    },\n    latest_charge: \"ch_3Nk341I0XSgju2ur1UZC5yvb\",\n    livemode: false,\n    metadata: {},\n    next_action: null,\n    on_behalf_of: null,\n    payment_method: null,\n    payment_method_options: {\n      card: {\n        installments: null,\n        mandate_options: null,\n        network: null,\n        request_three_d_secure: \"automatic\",\n      },\n    },\n    payment_method_types: [\"card\"],\n    processing: null,\n    receipt_email: null,\n    review: null,\n    setup_future_usage: null,\n    shipping: null,\n    source: null,\n    statement_descriptor: null,\n    statement_descriptor_suffix: null,\n    status: \"requires_payment_method\",\n    transfer_data: null,\n    transfer_group: null,\n  },\n};\n","import type { EventSpecification } from \"@trigger.dev/sdk\";\nimport {\n  amountCapturablePaymentIntentExample,\n  cancelledPaymentIntentExample,\n  cancelledSubscriptionExample,\n  capturedChargeExample,\n  checkoutSessionExample,\n  createdCustomerExample,\n  createdPaymentIntentExample,\n  customerSubscriptionExample,\n  deletedCustomerExample,\n  failedChargeExample,\n  failedPaymentIntentExample,\n  pausedSubscriptionExample,\n  refundedChargeExample,\n  succeededChargeExample,\n  succeededPaymentIntentExample,\n  updatedAccountExample,\n  updatedSubscriptionExample,\n} from \"./examples\";\nimport {\n  OnAccountEvent,\n  OnChargeEvent,\n  OnCheckoutSession,\n  OnCustomerEvent,\n  OnCustomerSubscription,\n  OnExternalAccountEvent,\n  OnInvoiceEvent,\n  OnInvoiceItemEvent,\n  OnPaymentIntentEvent,\n  OnPayoutEvent,\n  OnPersonEvent,\n  OnPriceEvent,\n  OnProductEvent,\n} from \"./types\";\n\nexport const onPriceCreated: EventSpecification<OnPriceEvent> = {\n  name: \"price.created\",\n  title: \"On Price Created\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [\n    {\n      id: \"recurring\",\n      name: \"Recurring Price\",\n      icon: \"stripe\",\n      payload: {\n        id: \"price_1NYV6vI0XSgju2urKsSmI53v\",\n        object: \"price\",\n        active: true,\n        billing_scheme: \"per_unit\",\n        created: 1690467853,\n        currency: \"usd\",\n        custom_unit_amount: null,\n        livemode: false,\n        lookup_key: null,\n        metadata: {},\n        nickname: null,\n        product: \"prod_OLBTh0QPxDXkIU\",\n        recurring: {\n          aggregate_usage: null,\n          interval: \"month\",\n          interval_count: 1,\n          trial_period_days: null,\n          usage_type: \"licensed\",\n        },\n        tax_behavior: \"unspecified\",\n        tiers_mode: null,\n        transform_quantity: null,\n        type: \"recurring\",\n        unit_amount: 1500,\n        unit_amount_decimal: \"1500\",\n      },\n    },\n  ],\n  parsePayload: (payload) => payload as OnPriceEvent,\n  runProperties: (payload) => [{ label: \"Price ID\", text: payload.id }],\n};\n\nexport const onPriceUpdated: EventSpecification<OnPriceEvent> = {\n  name: \"price.updated\",\n  title: \"On Price Updated\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [\n    {\n      id: \"recurring\",\n      name: \"Recurring Price\",\n      icon: \"stripe\",\n      payload: {\n        id: \"price_1NYVmXI0XSgju2urA56rnf3e\",\n        object: \"price\",\n        active: true,\n        billing_scheme: \"per_unit\",\n        created: 1690470433,\n        currency: \"usd\",\n        custom_unit_amount: null,\n        livemode: false,\n        lookup_key: null,\n        metadata: {\n          foo: \"bar\",\n        },\n        nickname: null,\n        product: \"prod_OLCAdNbcBTwgEn\",\n        recurring: {\n          aggregate_usage: null,\n          interval: \"month\",\n          interval_count: 1,\n          trial_period_days: null,\n          usage_type: \"licensed\",\n        },\n        tax_behavior: \"unspecified\",\n        tiers_mode: null,\n        transform_quantity: null,\n        type: \"recurring\",\n        unit_amount: 1500,\n        unit_amount_decimal: \"1500\",\n      },\n    },\n  ],\n  parsePayload: (payload) => payload as OnPriceEvent,\n  runProperties: (payload) => [{ label: \"Price ID\", text: payload.id }],\n};\n\nexport const onPriceDeleted: EventSpecification<OnPriceEvent> = {\n  name: \"price.deleted\",\n  title: \"On Price Deleted\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [\n    {\n      id: \"recurring\",\n      name: \"Recurring Price\",\n      icon: \"stripe\",\n      payload: {\n        id: \"plan_OLCbCoAUbHPcHT\",\n        object: \"price\",\n        active: false,\n        billing_scheme: \"per_unit\",\n        created: 1690472058,\n        currency: \"usd\",\n        custom_unit_amount: null,\n        livemode: false,\n        lookup_key: null,\n        metadata: {},\n        nickname: null,\n        product: \"prod_OLCbckE3tpR34b\",\n        recurring: {\n          aggregate_usage: null,\n          interval: \"month\",\n          interval_count: 1,\n          trial_period_days: null,\n          usage_type: \"licensed\",\n        },\n        tax_behavior: \"unspecified\",\n        tiers_mode: null,\n        transform_quantity: null,\n        type: \"recurring\",\n        unit_amount: 2000,\n        unit_amount_decimal: \"2000\",\n      },\n    },\n  ],\n  parsePayload: (payload) => payload as OnPriceEvent,\n  runProperties: (payload) => [{ label: \"Price ID\", text: payload.id }],\n};\n\nexport const onPrice: EventSpecification<OnPriceEvent> = {\n  name: [\"price.created\", \"price.updated\", \"price.deleted\"],\n  title: \"On Price\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [\n    {\n      id: \"recurring\",\n      name: \"Recurring Price\",\n      icon: \"stripe\",\n      payload: {\n        id: \"plan_OLCbCoAUbHPcHT\",\n        object: \"price\",\n        active: false,\n        billing_scheme: \"per_unit\",\n        created: 1690472058,\n        currency: \"usd\",\n        custom_unit_amount: null,\n        livemode: false,\n        lookup_key: null,\n        metadata: {},\n        nickname: null,\n        product: \"prod_OLCbckE3tpR34b\",\n        recurring: {\n          aggregate_usage: null,\n          interval: \"month\",\n          interval_count: 1,\n          trial_period_days: null,\n          usage_type: \"licensed\",\n        },\n        tax_behavior: \"unspecified\",\n        tiers_mode: null,\n        transform_quantity: null,\n        type: \"recurring\",\n        unit_amount: 2000,\n        unit_amount_decimal: \"2000\",\n      },\n    },\n  ],\n  parsePayload: (payload) => payload as OnPriceEvent,\n  runProperties: (payload) => [{ label: \"Price ID\", text: payload.id }],\n};\n\nexport const onProduct: EventSpecification<OnProductEvent> = {\n  name: [\"product.created\", \"product.updated\", \"product.deleted\"],\n  title: \"On Product\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [\n    {\n      id: \"mock_product\",\n      name: \"Mock Product\",\n      icon: \"stripe\",\n      payload: {\n        id: \"prod_OLBTh0QPxDXkIU\",\n        object: \"product\",\n        active: true,\n        attributes: [],\n        created: 1690467853,\n        default_price: null,\n        description: \"(created by Stripe CLI)\",\n        images: [],\n        livemode: false,\n        metadata: {},\n        name: \"myproduct\",\n        package_dimensions: null,\n        shippable: null,\n        statement_descriptor: null,\n        tax_code: null,\n        type: \"service\",\n        unit_label: null,\n        updated: 1690467853,\n        url: null,\n      },\n    },\n  ],\n  parsePayload: (payload) => payload as OnProductEvent,\n  runProperties: (payload) => [{ label: \"Product ID\", text: payload.id }],\n};\n\nexport const onProductCreated: EventSpecification<OnProductEvent> = {\n  name: \"product.created\",\n  title: \"On Product Created\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [\n    {\n      id: \"mock_product\",\n      name: \"Mock Product\",\n      icon: \"stripe\",\n      payload: {\n        id: \"prod_OLBTh0QPxDXkIU\",\n        object: \"product\",\n        active: true,\n        attributes: [],\n        created: 1690467853,\n        default_price: null,\n        description: \"(created by Stripe CLI)\",\n        images: [],\n        livemode: false,\n        metadata: {},\n        name: \"myproduct\",\n        package_dimensions: null,\n        shippable: null,\n        statement_descriptor: null,\n        tax_code: null,\n        type: \"service\",\n        unit_label: null,\n        updated: 1690467853,\n        url: null,\n      },\n    },\n  ],\n  parsePayload: (payload) => payload as OnProductEvent,\n  runProperties: (payload) => [{ label: \"Product ID\", text: payload.id }],\n};\n\nexport const onProductUpdated: EventSpecification<OnProductEvent> = {\n  name: \"product.updated\",\n  title: \"On Product Updated\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [\n    {\n      id: \"mock_product\",\n      name: \"Mock Product\",\n      icon: \"stripe\",\n      payload: {\n        id: \"prod_OLBTh0QPxDXkIU\",\n        object: \"product\",\n        active: true,\n        attributes: [],\n        created: 1690467853,\n        default_price: null,\n        description: \"(created by Stripe CLI)\",\n        images: [],\n        livemode: false,\n        metadata: {},\n        name: \"myproduct\",\n        package_dimensions: null,\n        shippable: null,\n        statement_descriptor: null,\n        tax_code: null,\n        type: \"service\",\n        unit_label: null,\n        updated: 1690467853,\n        url: null,\n      },\n    },\n  ],\n  parsePayload: (payload) => payload as OnProductEvent,\n  runProperties: (payload) => [{ label: \"Product ID\", text: payload.id }],\n};\n\nexport const onProductDeleted: EventSpecification<OnProductEvent> = {\n  name: \"product.deleted\",\n  title: \"On Product Deleted\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [\n    {\n      id: \"mock_product\",\n      name: \"Mock Product\",\n      icon: \"stripe\",\n      payload: {\n        id: \"prod_OLBTh0QPxDXkIU\",\n        object: \"product\",\n        active: true,\n        attributes: [],\n        created: 1690467853,\n        default_price: null,\n        description: \"(created by Stripe CLI)\",\n        images: [],\n        livemode: false,\n        metadata: {},\n        name: \"myproduct\",\n        package_dimensions: null,\n        shippable: null,\n        statement_descriptor: null,\n        tax_code: null,\n        type: \"service\",\n        unit_label: null,\n        updated: 1690467853,\n        url: null,\n      },\n    },\n  ],\n  parsePayload: (payload) => payload as OnProductEvent,\n  runProperties: (payload) => [{ label: \"Product ID\", text: payload.id }],\n};\n\nexport const onCheckoutSession: EventSpecification<OnCheckoutSession> = {\n  name: [\n    \"checkout.session.completed\",\n    \"checkout.session.async_payment_succeeded\",\n    \"checkout.session.async_payment_failed\",\n    \"checkout.session.expired\",\n  ],\n  title: \"On Checkout Session\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [checkoutSessionExample],\n  parsePayload: (payload) => payload as OnCheckoutSession,\n  runProperties: (payload) => [{ label: \"Session ID\", text: payload.id }],\n};\n\nexport const onCheckoutSessionCompleted: EventSpecification<OnCheckoutSession> = {\n  name: \"checkout.session.completed\",\n  title: \"On Checkout Session Completed\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [checkoutSessionExample],\n  parsePayload: (payload) => payload as OnCheckoutSession,\n  runProperties: (payload) => [{ label: \"Session ID\", text: payload.id }],\n};\n\nexport const onCheckoutSessionExpired: EventSpecification<OnCheckoutSession> = {\n  name: \"checkout.session.expired\",\n  title: \"On Checkout Session Expired\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [checkoutSessionExample],\n  parsePayload: (payload) => payload as OnCheckoutSession,\n  runProperties: (payload) => [{ label: \"Session ID\", text: payload.id }],\n};\n\nexport const onCustomerSubscription: EventSpecification<OnCustomerSubscription> = {\n  name: [\n    \"customer.subscription.created\",\n    \"customer.subscription.deleted\",\n    \"customer.subscription.updated\",\n    \"customer.subscription.paused\",\n    \"customer.subscription.pending_update_applied\",\n    \"customer.subscription.pending_update_expired\",\n    \"customer.subscription.resumed\",\n    \"customer.subscription.trial_will_end\",\n  ],\n  title: \"On Customer Subscription\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [customerSubscriptionExample],\n  parsePayload: (payload) => payload as OnCustomerSubscription,\n  runProperties: (payload) => [\n    { label: \"Subscription ID\", text: payload.id },\n    { label: \"Status\", text: payload.status },\n  ],\n};\n\nexport const onCustomerSubscriptionCreated: EventSpecification<OnCustomerSubscription> = {\n  name: \"customer.subscription.created\",\n  title: \"On Customer Subscription Created\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [customerSubscriptionExample],\n  parsePayload: (payload) => payload as OnCustomerSubscription,\n  runProperties: (payload) => [\n    { label: \"Subscription ID\", text: payload.id },\n    { label: \"Status\", text: payload.status },\n  ],\n};\n\nexport const onCustomerSubscriptionPaused: EventSpecification<OnCustomerSubscription> = {\n  name: \"customer.subscription.paused\",\n  title: \"On Customer Subscription Paused\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [pausedSubscriptionExample],\n  parsePayload: (payload) => payload as OnCustomerSubscription,\n  runProperties: (payload) => [\n    { label: \"Subscription ID\", text: payload.id },\n    { label: \"Status\", text: payload.status },\n  ],\n};\n\nexport const onCustomerSubscriptionResumed: EventSpecification<OnCustomerSubscription> = {\n  name: \"customer.subscription.resumed\",\n  title: \"On Customer Subscription Resumed\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [customerSubscriptionExample],\n  parsePayload: (payload) => payload as OnCustomerSubscription,\n  runProperties: (payload) => [\n    { label: \"Subscription ID\", text: payload.id },\n    { label: \"Status\", text: payload.status },\n  ],\n};\n\nexport const onCustomerSubscriptionDeleted: EventSpecification<OnCustomerSubscription> = {\n  name: \"customer.subscription.deleted\",\n  title: \"On Customer Subscription Deleted\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [cancelledSubscriptionExample],\n  parsePayload: (payload) => payload as OnCustomerSubscription,\n  runProperties: (payload) => [\n    { label: \"Subscription ID\", text: payload.id },\n    { label: \"Status\", text: payload.status },\n  ],\n};\n\nexport const onCustomerSubscriptionUpdated: EventSpecification<OnCustomerSubscription> = {\n  name: \"customer.subscription.updated\",\n  title: \"On Customer Subscription Deleted\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [updatedSubscriptionExample],\n  parsePayload: (payload) => payload as OnCustomerSubscription,\n  runProperties: (payload) => [\n    { label: \"Subscription ID\", text: payload.id },\n    { label: \"Status\", text: payload.status },\n  ],\n};\n\nexport const onAccountUpdated: EventSpecification<OnAccountEvent> = {\n  name: \"account.updated\",\n  title: \"On Account Updated\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [updatedAccountExample],\n  parsePayload: (payload) => payload as OnAccountEvent,\n  runProperties: (payload) => [\n    { label: \"Account ID\", text: payload.id },\n    ...(payload.business_type ? [{ label: \"Business Type\", text: payload.business_type }] : []),\n  ],\n};\n\nexport const onCustomer: EventSpecification<OnCustomerEvent> = {\n  name: [\"customer.created\", \"customer.deleted\", \"customer.updated\"],\n  title: \"On Customer Event\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [createdCustomerExample],\n  parsePayload: (payload) => payload as OnCustomerEvent,\n  runProperties: (payload) => [{ label: \"Customer ID\", text: payload.id }],\n};\n\nexport const onCustomerCreated: EventSpecification<OnCustomerEvent> = {\n  name: \"customer.created\",\n  title: \"On Customer Created\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [createdCustomerExample],\n  parsePayload: (payload) => payload as OnCustomerEvent,\n  runProperties: (payload) => [{ label: \"Customer ID\", text: payload.id }],\n};\n\nexport const onCustomerDeleted: EventSpecification<OnCustomerEvent> = {\n  name: \"customer.deleted\",\n  title: \"On Customer Deleted\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [deletedCustomerExample],\n  parsePayload: (payload) => payload as OnCustomerEvent,\n  runProperties: (payload) => [{ label: \"Customer ID\", text: payload.id }],\n};\n\nexport const onCustomerUpdated: EventSpecification<OnCustomerEvent> = {\n  name: \"customer.updated\",\n  title: \"On Customer Updated\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [createdCustomerExample],\n  parsePayload: (payload) => payload as OnCustomerEvent,\n  runProperties: (payload) => [{ label: \"Customer ID\", text: payload.id }],\n};\n\nexport const onCharge: EventSpecification<OnChargeEvent> = {\n  name: [\n    \"charge.captured\",\n    \"charge.expired\",\n    \"charge.failed\",\n    \"charge.pending\",\n    \"charge.refunded\",\n    \"charge.succeeded\",\n    \"charge.updated\",\n  ],\n  title: \"On Charge Event\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [\n    capturedChargeExample,\n    succeededChargeExample,\n    failedChargeExample,\n    refundedChargeExample,\n  ],\n  parsePayload: (payload) => payload as OnChargeEvent,\n  runProperties: (payload) => [{ label: \"Charge ID\", text: payload.id }],\n};\n\nexport const onChargeCaptured: EventSpecification<OnChargeEvent> = {\n  name: \"charge.captured\",\n  title: \"On Charge Captured\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [capturedChargeExample],\n  parsePayload: (payload) => payload as OnChargeEvent,\n  runProperties: (payload) => [{ label: \"Charge ID\", text: payload.id }],\n};\n\nexport const onChargeExpired: EventSpecification<OnChargeEvent> = {\n  name: \"charge.expired\",\n  title: \"On Charge Expired\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnChargeEvent,\n  runProperties: (payload) => [{ label: \"Charge ID\", text: payload.id }],\n};\n\nexport const onChargeFailed: EventSpecification<OnChargeEvent> = {\n  name: \"charge.failed\",\n  title: \"On Charge Failed\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [failedChargeExample],\n  parsePayload: (payload) => payload as OnChargeEvent,\n  runProperties: (payload) => [{ label: \"Charge ID\", text: payload.id }],\n};\n\nexport const onChargePending: EventSpecification<OnChargeEvent> = {\n  name: \"charge.pending\",\n  title: \"On Charge Pending\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnChargeEvent,\n  runProperties: (payload) => [{ label: \"Charge ID\", text: payload.id }],\n};\n\nexport const onChargeRefunded: EventSpecification<OnChargeEvent> = {\n  name: \"charge.refunded\",\n  title: \"On Charge Refunded\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [refundedChargeExample],\n  parsePayload: (payload) => payload as OnChargeEvent,\n  runProperties: (payload) => [{ label: \"Charge ID\", text: payload.id }],\n};\n\nexport const onChargeSucceeded: EventSpecification<OnChargeEvent> = {\n  name: \"charge.succeeded\",\n  title: \"On Charge Succeeded\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [succeededChargeExample],\n  parsePayload: (payload) => payload as OnChargeEvent,\n  runProperties: (payload) => [{ label: \"Charge ID\", text: payload.id }],\n};\n\nexport const onChargeUpdated: EventSpecification<OnChargeEvent> = {\n  name: \"charge.updated\",\n  title: \"On Charge Updated\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnChargeEvent,\n  runProperties: (payload) => [{ label: \"Charge ID\", text: payload.id }],\n};\n\nexport const onExternalAccount: EventSpecification<OnExternalAccountEvent> = {\n  name: [\n    \"account.external_account.created\",\n    \"account.external_account.deleted\",\n    \"account.external_account.updated\",\n  ],\n  title: \"On External Account Event\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnExternalAccountEvent,\n  runProperties: (payload) => [\n    { label: \"Type\", text: payload.object },\n    { label: payload.object === \"bank_account\" ? \"Bank Account ID\" : \"Card ID\", text: payload.id },\n  ],\n};\n\nexport const onExternalAccountCreated: EventSpecification<OnExternalAccountEvent> = {\n  name: \"account.external_account.created\",\n  title: \"On External Account Created\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnExternalAccountEvent,\n  runProperties: (payload) => [\n    { label: \"Type\", text: payload.object },\n    { label: payload.object === \"bank_account\" ? \"Bank Account ID\" : \"Card ID\", text: payload.id },\n  ],\n};\n\nexport const onExternalAccountDeleted: EventSpecification<OnExternalAccountEvent> = {\n  name: \"account.external_account.deleted\",\n  title: \"On External Account Deleted\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnExternalAccountEvent,\n  runProperties: (payload) => [\n    { label: \"Type\", text: payload.object },\n    { label: payload.object === \"bank_account\" ? \"Bank Account ID\" : \"Card ID\", text: payload.id },\n  ],\n};\n\nexport const onExternalAccountUpdated: EventSpecification<OnExternalAccountEvent> = {\n  name: \"account.external_account.updated\",\n  title: \"On External Account Updated\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnExternalAccountEvent,\n  runProperties: (payload) => [\n    { label: \"Type\", text: payload.object },\n    { label: payload.object === \"bank_account\" ? \"Bank Account ID\" : \"Card ID\", text: payload.id },\n  ],\n};\n\nexport const onPerson: EventSpecification<OnPersonEvent> = {\n  name: [\"person.created\", \"person.deleted\", \"person.updated\"],\n  title: \"On Person Event\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnPersonEvent,\n  runProperties: (payload) => [\n    { label: \"Person ID\", text: payload.id },\n    { label: \"Account\", text: payload.account },\n  ],\n};\n\nexport const onPersonCreated: EventSpecification<OnPersonEvent> = {\n  name: \"person.created\",\n  title: \"On Person Created\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnPersonEvent,\n  runProperties: (payload) => [\n    { label: \"Person ID\", text: payload.id },\n    { label: \"Account\", text: payload.account },\n  ],\n};\n\nexport const onPersonDeleted: EventSpecification<OnPersonEvent> = {\n  name: \"person.deleted\",\n  title: \"On Person Deleted\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnPersonEvent,\n  runProperties: (payload) => [\n    { label: \"Person ID\", text: payload.id },\n    { label: \"Account\", text: payload.account },\n  ],\n};\n\nexport const onPersonUpdated: EventSpecification<OnPersonEvent> = {\n  name: \"person.updated\",\n  title: \"On Person Updated\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnPersonEvent,\n  runProperties: (payload) => [\n    { label: \"Person ID\", text: payload.id },\n    { label: \"Account\", text: payload.account },\n  ],\n};\n\nexport const onPaymentIntent: EventSpecification<OnPaymentIntentEvent> = {\n  name: [\n    \"payment_intent.created\",\n    \"payment_intent.succeeded\",\n    \"payment_intent.canceled\",\n    \"payment_intent.processing\",\n    \"payment_intent.requires_action\",\n    \"payment_intent.amount_capturable_updated\",\n    \"payment_intent.payment_failed\",\n    \"payment_intent.partially_funded\",\n  ],\n  title: \"On Payment Intent Event\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [\n    createdPaymentIntentExample,\n    succeededPaymentIntentExample,\n    cancelledPaymentIntentExample,\n    amountCapturablePaymentIntentExample,\n    failedPaymentIntentExample,\n  ],\n  parsePayload: (payload) => payload as OnPaymentIntentEvent,\n  runProperties: (payload) => [{ label: \"Payment Intent ID\", text: payload.id }],\n};\n\nexport const onPaymentIntentCreated: EventSpecification<OnPaymentIntentEvent> = {\n  name: \"payment_intent.created\",\n  title: \"On Payment Intent Created\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [createdPaymentIntentExample],\n  parsePayload: (payload) => payload as OnPaymentIntentEvent,\n  runProperties: (payload) => [{ label: \"Payment Intent ID\", text: payload.id }],\n};\n\nexport const onPaymentIntentSucceeded: EventSpecification<OnPaymentIntentEvent> = {\n  name: \"payment_intent.succeeded\",\n  title: \"On Payment Intent Succeeded\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [succeededPaymentIntentExample],\n  parsePayload: (payload) => payload as OnPaymentIntentEvent,\n  runProperties: (payload) => [{ label: \"Payment Intent ID\", text: payload.id }],\n};\n\nexport const onPaymentIntentCanceled: EventSpecification<OnPaymentIntentEvent> = {\n  name: \"payment_intent.canceled\",\n  title: \"On Payment Intent Canceled\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [cancelledPaymentIntentExample],\n  parsePayload: (payload) => payload as OnPaymentIntentEvent,\n  runProperties: (payload) => [{ label: \"Payment Intent ID\", text: payload.id }],\n};\n\nexport const onPaymentIntentProcessing: EventSpecification<OnPaymentIntentEvent> = {\n  name: \"payment_intent.processing\",\n  title: \"On Payment Intent Processing\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnPaymentIntentEvent,\n  runProperties: (payload) => [{ label: \"Payment Intent ID\", text: payload.id }],\n};\n\nexport const onPaymentIntentRequiresAction: EventSpecification<OnPaymentIntentEvent> = {\n  name: \"payment_intent.requires_action\",\n  title: \"On Payment Intent Requires Action\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnPaymentIntentEvent,\n  runProperties: (payload) => [{ label: \"Payment Intent ID\", text: payload.id }],\n};\n\nexport const onPaymentIntentAmountCapturableUpdated: EventSpecification<OnPaymentIntentEvent> = {\n  name: \"payment_intent.amount_capturable_updated\",\n  title: \"On Payment Intent Amount Capturable Updated\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [amountCapturablePaymentIntentExample],\n  parsePayload: (payload) => payload as OnPaymentIntentEvent,\n  runProperties: (payload) => [{ label: \"Payment Intent ID\", text: payload.id }],\n};\n\nexport const onPaymentIntentPaymentFailed: EventSpecification<OnPaymentIntentEvent> = {\n  name: \"payment_intent.payment_failed\",\n  title: \"On Payment Intent Payment Failed\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [failedPaymentIntentExample],\n  parsePayload: (payload) => payload as OnPaymentIntentEvent,\n  runProperties: (payload) => [{ label: \"Payment Intent ID\", text: payload.id }],\n};\n\nexport const onPaymentIntentPartiallyFunded: EventSpecification<OnPaymentIntentEvent> = {\n  name: \"payment_intent.partially_funded\",\n  title: \"On Payment Intent Partially Funded\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnPaymentIntentEvent,\n  runProperties: (payload) => [{ label: \"Payment Intent ID\", text: payload.id }],\n};\n\nexport const onPayout: EventSpecification<OnPayoutEvent> = {\n  name: [\n    \"payout.canceled\",\n    \"payout.created\",\n    \"payout.failed\",\n    \"payout.paid\",\n    \"payout.reconciliation_completed\",\n    \"payout.updated\",\n  ],\n  title: \"On Payout Event\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnPayoutEvent,\n  runProperties: (payload) => [\n    { label: \"Payout ID\", text: payload.id },\n    { label: \"Amount\", text: `${payload.amount} ${payload.currency}` },\n  ],\n};\n\nexport const onPayoutCancelled: EventSpecification<OnPayoutEvent> = {\n  name: \"payout.canceled\",\n  title: \"On Payout Cancelled Event\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnPayoutEvent,\n  runProperties: (payload) => [\n    { label: \"Payout ID\", text: payload.id },\n    { label: \"Amount\", text: `${payload.amount} ${payload.currency}` },\n  ],\n};\n\nexport const onPayoutCreated: EventSpecification<OnPayoutEvent> = {\n  name: \"payout.created\",\n  title: \"On Payout Created Event\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnPayoutEvent,\n  runProperties: (payload) => [\n    { label: \"Payout ID\", text: payload.id },\n    { label: \"Amount\", text: `${payload.amount} ${payload.currency}` },\n  ],\n};\n\nexport const onPayoutFailed: EventSpecification<OnPayoutEvent> = {\n  name: \"payout.failed\",\n  title: \"On Payout Failed Event\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnPayoutEvent,\n  runProperties: (payload) => [\n    { label: \"Payout ID\", text: payload.id },\n    { label: \"Amount\", text: `${payload.amount} ${payload.currency}` },\n  ],\n};\n\nexport const onPayoutPaid: EventSpecification<OnPayoutEvent> = {\n  name: \"payout.paid\",\n  title: \"On Payout Paid Event\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnPayoutEvent,\n  runProperties: (payload) => [\n    { label: \"Payout ID\", text: payload.id },\n    { label: \"Amount\", text: `${payload.amount} ${payload.currency}` },\n  ],\n};\n\nexport const onPayoutReconciliationCompleted: EventSpecification<OnPayoutEvent> = {\n  name: \"payout.reconciliation_completed\",\n  title: \"On Payout Reconciliation Completed Event\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnPayoutEvent,\n  runProperties: (payload) => [\n    { label: \"Payout ID\", text: payload.id },\n    { label: \"Amount\", text: `${payload.amount} ${payload.currency}` },\n  ],\n};\n\nexport const onPayoutUpdated: EventSpecification<OnPayoutEvent> = {\n  name: \"payout.updated\",\n  title: \"On Payout Updated Event\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnPayoutEvent,\n  runProperties: (payload) => [\n    { label: \"Payout ID\", text: payload.id },\n    { label: \"Amount\", text: `${payload.amount} ${payload.currency}` },\n  ],\n};\n\nexport const onInvoice: EventSpecification<OnInvoiceEvent> = {\n  name: [\n    \"invoice.created\",\n    \"invoice.finalized\",\n    \"invoice.finalization_failed\",\n    \"invoice.deleted\",\n    \"invoice.marked_uncollectible\",\n    \"invoice.paid\",\n    \"invoice.payment_action_required\",\n    \"invoice.payment_failed\",\n    \"invoice.payment_succeeded\",\n    \"invoice.sent\",\n    \"invoice.upcoming\",\n    \"invoice.voided\",\n  ],\n  title: \"On Invoice Event\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [],\n  parsePayload: (payload) => payload as OnInvoiceEvent,\n  runProperties: (payload) => [{ label: \"Invoice ID\", text: payload.id }],\n};\n\nexport const onInvoiceCreated: EventSpecification<OnInvoiceEvent> = {\n  name: \"invoice.created\",\n  title: \"On Invoice Created\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [\n    {\n      id: \"invoice.created\",\n      name: \"Invoice Created\",\n      icon: \"stripe\",\n      payload: {\n        id: \"in_1OIBngI0XSgju2urLPfyF8yN\",\n        object: \"invoice\",\n        account_country: \"GB\",\n        account_name: \"Trigger.dev\",\n        account_tax_ids: null,\n        amount_due: 2000,\n        amount_paid: 0,\n        amount_remaining: 2000,\n        amount_shipping: 0,\n        application: null,\n        application_fee_amount: null,\n        attempt_count: 0,\n        attempted: false,\n        auto_advance: false,\n        automatic_tax: {\n          enabled: false,\n          status: null,\n        },\n        billing_reason: \"manual\",\n        charge: null,\n        collection_method: \"charge_automatically\",\n        created: 1701356712,\n        currency: \"usd\",\n        custom_fields: null,\n        customer: \"cus_P6Oaqh5b0bx59U\",\n        customer_address: null,\n        customer_email: null,\n        customer_name: null,\n        customer_phone: null,\n        customer_shipping: null,\n        customer_tax_exempt: \"none\",\n        customer_tax_ids: [],\n        default_payment_method: null,\n        default_source: null,\n        default_tax_rates: [],\n        description: \"(created by Stripe CLI)\",\n        discount: null,\n        discounts: [],\n        due_date: null,\n        effective_at: null,\n        ending_balance: null,\n        footer: null,\n        from_invoice: null,\n        hosted_invoice_url: null,\n        invoice_pdf: null,\n        last_finalization_error: null,\n        latest_revision: null,\n        lines: {\n          object: \"list\",\n          data: [\n            {\n              id: \"il_1OIBngI0XSgju2urOIBrJ3GK\",\n              object: \"line_item\",\n              amount: 2000,\n              amount_excluding_tax: 2000,\n              currency: \"usd\",\n              description: \"(created by Stripe CLI)\",\n              discount_amounts: [],\n              discountable: true,\n              discounts: [],\n              invoice_item: \"ii_1OIBngI0XSgju2urw3wl9FUf\",\n              livemode: false,\n              metadata: {},\n              period: {\n                end: 1701356712,\n                start: 1701356712,\n              },\n              plan: null,\n              price: {\n                id: \"price_1OIBngI0XSgju2urxiG1M9fT\",\n                object: \"price\",\n                active: false,\n                billing_scheme: \"per_unit\",\n                created: 1701356712,\n                currency: \"usd\",\n                custom_unit_amount: null,\n                livemode: false,\n                lookup_key: null,\n                metadata: {},\n                nickname: null,\n                product: \"prod_P6Oatqn6T5L2Ey\",\n                recurring: null,\n                tax_behavior: \"unspecified\",\n                tiers_mode: null,\n                transform_quantity: null,\n                type: \"one_time\",\n                unit_amount: 2000,\n                unit_amount_decimal: \"2000\",\n              },\n              proration: false,\n              proration_details: {\n                credited_items: null,\n              },\n              quantity: 1,\n              subscription: null,\n              tax_amounts: [],\n              tax_rates: [],\n              type: \"invoiceitem\",\n              unit_amount_excluding_tax: \"2000\",\n            },\n          ],\n          has_more: false,\n          total_count: 1,\n          url: \"/v1/invoices/in_1OIBngI0XSgju2urLPfyF8yN/lines\",\n        },\n        livemode: false,\n        metadata: {},\n        next_payment_attempt: null,\n        number: null,\n        on_behalf_of: null,\n        paid: false,\n        paid_out_of_band: false,\n        payment_intent: null,\n        payment_settings: {\n          default_mandate: null,\n          payment_method_options: null,\n          payment_method_types: null,\n        },\n        period_end: 1701356712,\n        period_start: 1701356712,\n        post_payment_credit_notes_amount: 0,\n        pre_payment_credit_notes_amount: 0,\n        quote: null,\n        receipt_number: null,\n        rendering: {\n          amount_tax_display: null,\n          pdf: {\n            page_size: \"auto\",\n          },\n        },\n        rendering_options: null,\n        shipping_cost: null,\n        shipping_details: null,\n        starting_balance: 0,\n        statement_descriptor: null,\n        status: \"draft\",\n        status_transitions: {\n          finalized_at: null,\n          marked_uncollectible_at: null,\n          paid_at: null,\n          voided_at: null,\n        },\n        subscription: null,\n        subscription_details: {\n          metadata: null,\n        },\n        subtotal: 2000,\n        subtotal_excluding_tax: 2000,\n        tax: null,\n        test_clock: null,\n        total: 2000,\n        total_discount_amounts: [],\n        total_excluding_tax: 2000,\n        total_tax_amounts: [],\n        transfer_data: null,\n        webhooks_delivered_at: null,\n      },\n    },\n  ],\n  parsePayload: (payload) => payload as OnInvoiceEvent,\n  runProperties: (payload) => [{ label: \"Invoice ID\", text: payload.id }],\n};\n\nexport const onInvoiceFinalized: EventSpecification<OnInvoiceEvent> = {\n  name: \"invoice.finalized\",\n  title: \"On Invoice Finalized\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [\n    {\n      id: \"invoice.finalized\",\n      name: \"Invoice Finalized\",\n      icon: \"stripe\",\n      payload: {\n        id: \"in_1OIBqbI0XSgju2urMmXEFbj3\",\n        object: \"invoice\",\n        account_country: \"GB\",\n        account_name: \"Trigger.dev\",\n        account_tax_ids: null,\n        amount_due: 2000,\n        amount_paid: 0,\n        amount_remaining: 2000,\n        amount_shipping: 0,\n        application: null,\n        application_fee_amount: null,\n        attempt_count: 0,\n        attempted: false,\n        auto_advance: false,\n        automatic_tax: {\n          enabled: false,\n          status: null,\n        },\n        billing_reason: \"manual\",\n        charge: null,\n        collection_method: \"charge_automatically\",\n        created: 1701356892,\n        currency: \"usd\",\n        custom_fields: null,\n        customer: \"cus_P6Od2vu85eNeMI\",\n        customer_address: null,\n        customer_email: null,\n        customer_name: null,\n        customer_phone: null,\n        customer_shipping: null,\n        customer_tax_exempt: \"none\",\n        customer_tax_ids: [],\n        default_payment_method: null,\n        default_source: null,\n        default_tax_rates: [],\n        description: \"(created by Stripe CLI)\",\n        discount: null,\n        discounts: [],\n        due_date: null,\n        effective_at: 1701356893,\n        ending_balance: 0,\n        footer: null,\n        from_invoice: null,\n        hosted_invoice_url:\n          \"https://invoice.stripe.com/i/acct_1MRmG4I0XSgju2ur/test_YWNjdF8xTVJtRzRJMFhTZ2p1MnVyLF9QNk9kYmlDaVZyek53UXRJbUhEdmNxa1pPSUtKbmdPLDkxODk3Njk00200Ibh1G5H7?s=ap\",\n        invoice_pdf:\n          \"https://pay.stripe.com/invoice/acct_1MRmG4I0XSgju2ur/test_YWNjdF8xTVJtRzRJMFhTZ2p1MnVyLF9QNk9kYmlDaVZyek53UXRJbUhEdmNxa1pPSUtKbmdPLDkxODk3Njk00200Ibh1G5H7/pdf?s=ap\",\n        last_finalization_error: null,\n        latest_revision: null,\n        lines: {\n          object: \"list\",\n          data: [\n            {\n              id: \"il_1OIBqaI0XSgju2urWRv5yH9h\",\n              object: \"line_item\",\n              amount: 2000,\n              amount_excluding_tax: 2000,\n              currency: \"usd\",\n              description: \"(created by Stripe CLI)\",\n              discount_amounts: [],\n              discountable: true,\n              discounts: [],\n              invoice_item: \"ii_1OIBqaI0XSgju2urik7fdYlI\",\n              livemode: false,\n              metadata: {},\n              period: {\n                end: 1701356892,\n                start: 1701356892,\n              },\n              plan: null,\n              price: {\n                id: \"price_1OIBngI0XSgju2urxiG1M9fT\",\n                object: \"price\",\n                active: false,\n                billing_scheme: \"per_unit\",\n                created: 1701356712,\n                currency: \"usd\",\n                custom_unit_amount: null,\n                livemode: false,\n                lookup_key: null,\n                metadata: {},\n                nickname: null,\n                product: \"prod_P6Oatqn6T5L2Ey\",\n                recurring: null,\n                tax_behavior: \"unspecified\",\n                tiers_mode: null,\n                transform_quantity: null,\n                type: \"one_time\",\n                unit_amount: 2000,\n                unit_amount_decimal: \"2000\",\n              },\n              proration: false,\n              proration_details: {\n                credited_items: null,\n              },\n              quantity: 1,\n              subscription: null,\n              tax_amounts: [],\n              tax_rates: [],\n              type: \"invoiceitem\",\n              unit_amount_excluding_tax: \"2000\",\n            },\n          ],\n          has_more: false,\n          total_count: 1,\n          url: \"/v1/invoices/in_1OIBqbI0XSgju2urMmXEFbj3/lines\",\n        },\n        livemode: false,\n        metadata: {},\n        next_payment_attempt: null,\n        number: \"FD943C29-0111\",\n        on_behalf_of: null,\n        paid: false,\n        paid_out_of_band: false,\n        payment_intent: \"pi_3OIBqbI0XSgju2ur0BelVhdO\",\n        payment_settings: {\n          default_mandate: null,\n          payment_method_options: null,\n          payment_method_types: null,\n        },\n        period_end: 1701356892,\n        period_start: 1701356892,\n        post_payment_credit_notes_amount: 0,\n        pre_payment_credit_notes_amount: 0,\n        quote: null,\n        receipt_number: null,\n        rendering: {\n          amount_tax_display: null,\n          pdf: {\n            page_size: \"letter\",\n          },\n        },\n        rendering_options: null,\n        shipping_cost: null,\n        shipping_details: null,\n        starting_balance: 0,\n        statement_descriptor: null,\n        status: \"open\",\n        status_transitions: {\n          finalized_at: 1701356893,\n          marked_uncollectible_at: null,\n          paid_at: null,\n          voided_at: null,\n        },\n        subscription: null,\n        subscription_details: {\n          metadata: null,\n        },\n        subtotal: 2000,\n        subtotal_excluding_tax: 2000,\n        tax: null,\n        test_clock: null,\n        total: 2000,\n        total_discount_amounts: [],\n        total_excluding_tax: 2000,\n        total_tax_amounts: [],\n        transfer_data: null,\n        webhooks_delivered_at: 1701356893,\n      },\n    },\n  ],\n  parsePayload: (payload) => payload as OnInvoiceEvent,\n  runProperties: (payload) => [{ label: \"Invoice ID\", text: payload.id }],\n};\n\nexport const onInvoiceFinalizationFailed: EventSpecification<OnInvoiceEvent> = {\n  name: \"invoice.finalization_failed\",\n  title: \"On Invoice Finalization failed\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  parsePayload: (payload) => payload as OnInvoiceEvent,\n  runProperties: (payload) => [{ label: \"Invoice ID\", text: payload.id }],\n};\n\nexport const onInvoiceDeleted: EventSpecification<OnInvoiceEvent> = {\n  name: \"invoice.deleted\",\n  title: \"On Invoice Deleted\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  parsePayload: (payload) => payload as OnInvoiceEvent,\n  runProperties: (payload) => [{ label: \"Invoice ID\", text: payload.id }],\n};\n\nexport const onInvoiceMarkedUncollectible: EventSpecification<OnInvoiceEvent> = {\n  name: \"invoice.marked_uncollectible\",\n  title: \"On Invoice Deleted\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  parsePayload: (payload) => payload as OnInvoiceEvent,\n  runProperties: (payload) => [{ label: \"Invoice ID\", text: payload.id }],\n};\n\nexport const onInvoicePaid: EventSpecification<OnInvoiceEvent> = {\n  name: \"invoice.paid\",\n  title: \"On Invoice Paid\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  examples: [\n    {\n      id: \"invoice.paid\",\n      name: \"Invoice Paid\",\n      icon: \"stripe\",\n      payload: {\n        id: \"in_1OIBuTI0XSgju2urKkqZFraX\",\n        object: \"invoice\",\n        account_country: \"GB\",\n        account_name: \"Trigger.dev\",\n        account_tax_ids: null,\n        amount_due: 2000,\n        amount_paid: 2000,\n        amount_remaining: 0,\n        amount_shipping: 0,\n        application: null,\n        application_fee_amount: null,\n        attempt_count: 1,\n        attempted: true,\n        auto_advance: false,\n        automatic_tax: {\n          enabled: false,\n          status: null,\n        },\n        billing_reason: \"manual\",\n        charge: \"ch_3OIBuUI0XSgju2ur1ibTvTmE\",\n        collection_method: \"charge_automatically\",\n        created: 1701357133,\n        currency: \"usd\",\n        custom_fields: null,\n        customer: \"cus_P6OhphiNsxG9aM\",\n        customer_address: null,\n        customer_email: null,\n        customer_name: null,\n        customer_phone: null,\n        customer_shipping: null,\n        customer_tax_exempt: \"none\",\n        customer_tax_ids: [],\n        default_payment_method: null,\n        default_source: null,\n        default_tax_rates: [],\n        description: \"(created by Stripe CLI)\",\n        discount: null,\n        discounts: [],\n        due_date: null,\n        effective_at: 1701357134,\n        ending_balance: 0,\n        footer: null,\n        from_invoice: null,\n        hosted_invoice_url:\n          \"https://invoice.stripe.com/i/acct_1MRmG4I0XSgju2ur/test_YWNjdF8xTVJtRzRJMFhTZ2p1MnVyLF9QNk9oeUJwdXpYVUtrb0hVQmJHYUFDclZhbmVha2w5LDkxODk3OTM20200JlMCKvkD?s=ap\",\n        invoice_pdf:\n          \"https://pay.stripe.com/invoice/acct_1MRmG4I0XSgju2ur/test_YWNjdF8xTVJtRzRJMFhTZ2p1MnVyLF9QNk9oeUJwdXpYVUtrb0hVQmJHYUFDclZhbmVha2w5LDkxODk3OTM20200JlMCKvkD/pdf?s=ap\",\n        last_finalization_error: null,\n        latest_revision: null,\n        lines: {\n          object: \"list\",\n          data: [\n            {\n              id: \"il_1OIBuTI0XSgju2urpRdDk5DO\",\n              object: \"line_item\",\n              amount: 2000,\n              amount_excluding_tax: 2000,\n              currency: \"usd\",\n              description: \"(created by Stripe CLI)\",\n              discount_amounts: [],\n              discountable: true,\n              discounts: [],\n              invoice_item: \"ii_1OIBuTI0XSgju2urRDAJz6ec\",\n              livemode: false,\n              metadata: {},\n              period: {\n                end: 1701357133,\n                start: 1701357133,\n              },\n              plan: null,\n              price: {\n                id: \"price_1OIBngI0XSgju2urxiG1M9fT\",\n                object: \"price\",\n                active: false,\n                billing_scheme: \"per_unit\",\n                created: 1701356712,\n                currency: \"usd\",\n                custom_unit_amount: null,\n                livemode: false,\n                lookup_key: null,\n                metadata: {},\n                nickname: null,\n                product: \"prod_P6Oatqn6T5L2Ey\",\n                recurring: null,\n                tax_behavior: \"unspecified\",\n                tiers_mode: null,\n                transform_quantity: null,\n                type: \"one_time\",\n                unit_amount: 2000,\n                unit_amount_decimal: \"2000\",\n              },\n              proration: false,\n              proration_details: {\n                credited_items: null,\n              },\n              quantity: 1,\n              subscription: null,\n              tax_amounts: [],\n              tax_rates: [],\n              type: \"invoiceitem\",\n              unit_amount_excluding_tax: \"2000\",\n            },\n          ],\n          has_more: false,\n          total_count: 1,\n          url: \"/v1/invoices/in_1OIBuTI0XSgju2urKkqZFraX/lines\",\n        },\n        livemode: false,\n        metadata: {},\n        next_payment_attempt: null,\n        number: \"FD943C29-0112\",\n        on_behalf_of: null,\n        paid: true,\n        paid_out_of_band: false,\n        payment_intent: \"pi_3OIBuUI0XSgju2ur15gtauR9\",\n        payment_settings: {\n          default_mandate: null,\n          payment_method_options: null,\n          payment_method_types: null,\n        },\n        period_end: 1701357133,\n        period_start: 1701357133,\n        post_payment_credit_notes_amount: 0,\n        pre_payment_credit_notes_amount: 0,\n        quote: null,\n        receipt_number: null,\n        rendering: {\n          amount_tax_display: null,\n          pdf: {\n            page_size: \"letter\",\n          },\n        },\n        rendering_options: null,\n        shipping_cost: null,\n        shipping_details: null,\n        starting_balance: 0,\n        statement_descriptor: null,\n        status: \"paid\",\n        status_transitions: {\n          finalized_at: 1701357134,\n          marked_uncollectible_at: null,\n          paid_at: 1701357134,\n          voided_at: null,\n        },\n        subscription: null,\n        subscription_details: {\n          metadata: null,\n        },\n        subtotal: 2000,\n        subtotal_excluding_tax: 2000,\n        tax: null,\n        test_clock: null,\n        total: 2000,\n        total_discount_amounts: [],\n        total_excluding_tax: 2000,\n        total_tax_amounts: [],\n        transfer_data: null,\n        webhooks_delivered_at: 1701357134,\n      },\n    },\n  ],\n  parsePayload: (payload) => payload as OnInvoiceEvent,\n  runProperties: (payload) => [{ label: \"Invoice ID\", text: payload.id }],\n};\n\nexport const onInvoicePaymentActionRequired: EventSpecification<OnInvoiceEvent> = {\n  name: \"invoice.payment_action_required\",\n  title: \"On Invoice Payment Action Required\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  parsePayload: (payload) => payload as OnInvoiceEvent,\n  runProperties: (payload) => [{ label: \"Invoice ID\", text: payload.id }],\n};\n\nexport const onInvoicePaymentFailed: EventSpecification<OnInvoiceEvent> = {\n  name: \"invoice.payment_failed\",\n  title: \"On Invoice Payment Failed\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  parsePayload: (payload) => payload as OnInvoiceEvent,\n  runProperties: (payload) => [{ label: \"Invoice ID\", text: payload.id }],\n};\n\nexport const onInvoicePaymentSucceeded: EventSpecification<OnInvoiceEvent> = {\n  name: \"invoice.payment_succeeded\",\n  title: \"On Invoice Payment Succeeded\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  parsePayload: (payload) => payload as OnInvoiceEvent,\n  runProperties: (payload) => [{ label: \"Invoice ID\", text: payload.id }],\n};\n\nexport const onInvoiceSent: EventSpecification<OnInvoiceEvent> = {\n  name: \"invoice.sent\",\n  title: \"On Invoice Sent\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  parsePayload: (payload) => payload as OnInvoiceEvent,\n  runProperties: (payload) => [{ label: \"Invoice ID\", text: payload.id }],\n};\n\nexport const onInvoiceUpcoming: EventSpecification<OnInvoiceEvent> = {\n  name: \"invoice.upcoming\",\n  title: \"On Invoice Upcoming\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  parsePayload: (payload) => payload as OnInvoiceEvent,\n  runProperties: (payload) => [{ label: \"Invoice ID\", text: payload.id }],\n};\n\nexport const onInvoiceUpdated: EventSpecification<OnInvoiceEvent> = {\n  name: \"invoice.updated\",\n  title: \"On Invoice Updated\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  parsePayload: (payload) => payload as OnInvoiceEvent,\n  runProperties: (payload) => [{ label: \"Invoice ID\", text: payload.id }],\n};\n\nexport const onInvoiceVoided: EventSpecification<OnInvoiceEvent> = {\n  name: \"invoice.voided\",\n  title: \"On Invoice Voided\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  parsePayload: (payload) => payload as OnInvoiceEvent,\n  runProperties: (payload) => [{ label: \"Invoice ID\", text: payload.id }],\n};\n\nexport const onInvoiceItemCreated: EventSpecification<OnInvoiceItemEvent> = {\n  name: \"invoiceitem.created\",\n  title: \"On Invoice Item Created\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  parsePayload: (payload) => payload as OnInvoiceItemEvent,\n  runProperties: (payload) => [{ label: \"Invoice Item ID\", text: payload.id }],\n};\n\nexport const onInvoiceItemDeleted: EventSpecification<OnInvoiceItemEvent> = {\n  name: \"invoiceitem.deleted\",\n  title: \"On Invoice Item Deleted\",\n  source: \"stripe.com\",\n  icon: \"stripe\",\n  parsePayload: (payload) => payload as OnInvoiceItemEvent,\n  runProperties: (payload) => [{ label: \"Invoice Item ID\", text: payload.id }],\n};\n","import { z } from \"zod\";\n\nexport const PriceEventNamesSchema = z.array(\n  z.enum([\"price.created\", \"price.updated\", \"price.deleted\"])\n);\nexport type PriceEventNames = z.infer<typeof PriceEventNamesSchema>;\n\nexport const ProductEventNamesSchema = z.array(\n  z.enum([\"product.created\", \"product.updated\", \"product.deleted\"])\n);\nexport type ProductEventNames = z.infer<typeof ProductEventNamesSchema>;\n\nexport const CheckoutSessionEventNamesSchema = z.array(\n  z.enum([\n    \"checkout.session.completed\",\n    \"checkout.session.async_payment_succeeded\",\n    \"checkout.session.async_payment_failed\",\n    \"checkout.session.expired\",\n  ])\n);\nexport type CheckoutSessionEventNames = z.infer<typeof CheckoutSessionEventNamesSchema>;\n\nexport const CustomerSubscriptionEventNamesSchema = z.array(\n  z.enum([\n    \"customer.subscription.created\",\n    \"customer.subscription.deleted\",\n    \"customer.subscription.updated\",\n    \"customer.subscription.paused\",\n    \"customer.subscription.pending_update_applied\",\n    \"customer.subscription.pending_update_expired\",\n    \"customer.subscription.resumed\",\n  ])\n);\nexport type CustomerSubscriptionEventNames = z.infer<typeof CustomerSubscriptionEventNamesSchema>;\n\nexport const CustomerEventNamesSchema = z.array(\n  z.enum([\"customer.created\", \"customer.updated\", \"customer.deleted\"])\n);\nexport type CustomerEventNames = z.infer<typeof CustomerEventNamesSchema>;\n\nexport const ChargeEventNamesSchema = z.array(\n  z.enum([\n    \"charge.captured\",\n    \"charge.expired\",\n    \"charge.failed\",\n    \"charge.pending\",\n    \"charge.refunded\",\n    \"charge.succeeded\",\n    \"charge.updated\",\n  ])\n);\nexport type ChargeEventNames = z.infer<typeof ChargeEventNamesSchema>;\n\nexport const ExternalAccountEventNamesSchema = z.array(\n  z.enum([\n    \"account.external_account.created\",\n    \"account.external_account.updated\",\n    \"account.external_account.deleted\",\n  ])\n);\nexport type ExternalAccountEventNames = z.infer<typeof ExternalAccountEventNamesSchema>;\n\nexport const PersonEventNamesSchema = z.array(\n  z.enum([\"person.created\", \"person.updated\", \"person.deleted\"])\n);\nexport type PersonEventNames = z.infer<typeof PersonEventNamesSchema>;\n\nexport const PaymentIntentEventNamesSchema = z.array(\n  z.enum([\n    \"payment_intent.created\",\n    \"payment_intent.succeeded\",\n    \"payment_intent.canceled\",\n    \"payment_intent.processing\",\n    \"payment_intent.requires_action\",\n    \"payment_intent.amount_capturable_updated\",\n    \"payment_intent.payment_failed\",\n    \"payment_intent.partially_funded\",\n  ])\n);\nexport type PaymentIntentEventNames = z.infer<typeof PaymentIntentEventNamesSchema>;\n\nexport const PayoutEventNamesSchema = z.array(\n  z.enum([\n    \"payout.canceled\",\n    \"payout.created\",\n    \"payout.failed\",\n    \"payout.paid\",\n    \"payout.reconciliation_completed\",\n    \"payout.updated\",\n  ])\n);\nexport type PayoutEventNames = z.infer<typeof PayoutEventNamesSchema>;\n\nexport const InvoiceEventNamesSchema = z.array(\n  z.enum([\n    \"invoice.created\",\n    \"invoice.finalized\",\n    \"invoice.finalization_failed\",\n    \"invoice.deleted\",\n    \"invoice.marked_uncollectible\",\n    \"invoice.paid\",\n    \"invoice.payment_action_required\",\n    \"invoice.payment_failed\",\n    \"invoice.payment_succeeded\",\n    \"invoice.sent\",\n    \"invoice.upcoming\",\n    \"invoice.voided\",\n  ])\n);\nexport type InvoiceEventNames = z.infer<typeof InvoiceEventNamesSchema>;\n","import { IntegrationTaskKey } from \"@trigger.dev/sdk\";\nimport { RetrieveSubscriptionParams, RetrieveSubscriptionResponse, StripeRunTask } from \"./index\";\nimport { omit } from \"./utils\";\n\nexport class Subscriptions {\n  constructor(private runTask: StripeRunTask) {}\n\n  /**\n   * Retrieves the subscription with the given ID.\n   */\n  retrieve(\n    key: IntegrationTaskKey,\n    params: RetrieveSubscriptionParams\n  ): Promise<RetrieveSubscriptionResponse> {\n    return this.runTask(\n      key,\n      async (client, task) => {\n        const response = await client.subscriptions.retrieve(params.id, omit(params, \"id\"), {\n          stripeAccount: params.stripeAccount,\n        });\n\n        return response;\n      },\n      {\n        name: \"Retrieve Subscription\",\n        params,\n        icon: \"stripe\",\n        properties: [\n          {\n            label: \"Subscription ID\",\n            text: params.id,\n          },\n          ...(params.stripeAccount\n            ? [\n                {\n                  label: \"Stripe Account\",\n                  text: params.stripeAccount,\n                },\n              ]\n            : []),\n        ],\n      }\n    );\n  }\n}\n","import { IntegrationTaskKey } from \"@trigger.dev/sdk\";\nimport {\n  CreateWebhookParams,\n  CreateWebhookResponse,\n  ListWebhooksParams,\n  ListWebhooksResponse,\n  StripeRunTask,\n  UpdateWebhookParams,\n  UpdateWebhookResponse,\n} from \"./index\";\nimport { omit } from \"./utils\";\n\nexport class WebhookEndpoints {\n  constructor(private runTask: StripeRunTask) {}\n\n  create(key: IntegrationTaskKey, params: CreateWebhookParams): Promise<CreateWebhookResponse> {\n    return this.runTask(\n      key,\n      async (client, task) => {\n        const response = await client.webhookEndpoints.create(params, {\n          idempotencyKey: task.idempotencyKey,\n        });\n\n        task.outputProperties = [\n          {\n            label: \"Webhook ID\",\n            text: response.id,\n          },\n          ...(response.lastResponse.requestId\n            ? [\n                {\n                  label: \"Request ID\",\n                  text: response.lastResponse.requestId,\n                },\n              ]\n            : []),\n        ];\n\n        return response;\n      },\n      {\n        name: \"Create Webhook\",\n        params,\n      }\n    );\n  }\n\n  update(key: IntegrationTaskKey, params: UpdateWebhookParams): Promise<UpdateWebhookResponse> {\n    return this.runTask(\n      key,\n      async (client, task) => {\n        const response = await client.webhookEndpoints.update(params.id, omit(params, \"id\"), {\n          idempotencyKey: task.idempotencyKey,\n        });\n\n        task.outputProperties = [\n          ...(response.lastResponse.requestId\n            ? [\n                {\n                  label: \"Request ID\",\n                  text: response.lastResponse.requestId,\n                },\n              ]\n            : []),\n        ];\n\n        return response;\n      },\n      {\n        name: \"Update Webhook\",\n        params,\n        icon: \"stripe\",\n        properties: [\n          {\n            label: \"Webhook ID\",\n            text: params.id,\n          },\n        ],\n      }\n    );\n  }\n\n  list(key: IntegrationTaskKey, params: ListWebhooksParams): Promise<ListWebhooksResponse> {\n    return this.runTask(\n      key,\n      async (client, task) => {\n        const response = await client.webhookEndpoints.list(params);\n\n        return response;\n      },\n      {\n        name: \"List Webhooks\",\n        params,\n      }\n    );\n  }\n}\n"]}