@trigger.dev/platform 1.0.17 → 1.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +9 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +38 -1
- package/dist/index.d.ts +38 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/package.json +14 -3
package/dist/index.cjs
CHANGED
|
@@ -34,6 +34,7 @@ __export(v3_exports, {
|
|
|
34
34
|
ReportComputeUsageEvent: () => ReportComputeUsageEvent,
|
|
35
35
|
ReportInvocationUsageEvent: () => ReportInvocationUsageEvent,
|
|
36
36
|
ReportInvocationUsageResult: () => ReportInvocationUsageResult,
|
|
37
|
+
ReportUsagePlan: () => ReportUsagePlan,
|
|
37
38
|
ReportUsageResult: () => ReportUsageResult,
|
|
38
39
|
SetPlanBodySchema: () => SetPlanBodySchema,
|
|
39
40
|
SubscribeResultSchema: () => SubscribeResultSchema,
|
|
@@ -242,11 +243,17 @@ var UsageSeriesResult = import_zod6.z.object({
|
|
|
242
243
|
var ReportComputeUsageEvent = import_zod6.z.object({
|
|
243
244
|
durationMs: import_zod6.z.number()
|
|
244
245
|
});
|
|
246
|
+
var ReportUsagePlan = import_zod6.z.object({
|
|
247
|
+
type: import_zod6.z.string(),
|
|
248
|
+
code: import_zod6.z.string(),
|
|
249
|
+
isPaying: import_zod6.z.boolean()
|
|
250
|
+
});
|
|
245
251
|
var ReportUsageResult = import_zod6.z.object({
|
|
246
252
|
hasAccess: import_zod6.z.boolean(),
|
|
247
253
|
balance: import_zod6.z.number().optional(),
|
|
248
254
|
usage: import_zod6.z.number().optional(),
|
|
249
|
-
overage: import_zod6.z.number().optional()
|
|
255
|
+
overage: import_zod6.z.number().optional(),
|
|
256
|
+
plan: ReportUsagePlan.optional()
|
|
250
257
|
});
|
|
251
258
|
var ReportInvocationUsageEvent = import_zod6.z.object({
|
|
252
259
|
organizationId: import_zod6.z.string(),
|
|
@@ -520,6 +527,7 @@ var defaultMachine = "small-1x";
|
|
|
520
527
|
ReportComputeUsageEvent,
|
|
521
528
|
ReportInvocationUsageEvent,
|
|
522
529
|
ReportInvocationUsageResult,
|
|
530
|
+
ReportUsagePlan,
|
|
523
531
|
ReportUsageResult,
|
|
524
532
|
SetPlanBodySchema,
|
|
525
533
|
SubscribeResultSchema,
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/v3/index.ts","../src/v3/schemas/planDefinitions.ts","../src/v3/schemas/subscription.ts","../src/v3/schemas/subscribe.ts","../src/v3/schemas/portal.ts","../src/v3/schemas/error.ts","../src/v3/schemas/usage.ts","../src/v3/schemas/billingAlerts.ts","../src/v3/client/index.ts","../src/v3/machineDefinition.ts","../src/v3/machinePresets.ts"],"sourcesContent":["export * from \"./schemas\";\nexport * from \"./client\";\nexport * from \"./machineDefinition\";\nexport * from \"./machinePresets\";\n","import { z } from \"zod\";\n\nconst ExceedableLimit = z.object({\n number: z.number(),\n canExceed: z.boolean().optional(),\n});\n\nexport type ExceedableLimit = z.infer<typeof ExceedableLimit>;\n\nconst Limits = z.object({\n includedUsage: z.number(),\n concurrentRuns: ExceedableLimit,\n teamMembers: ExceedableLimit,\n schedules: ExceedableLimit,\n logRetentionDays: ExceedableLimit,\n alerts: ExceedableLimit,\n hasStagingEnvironment: z.boolean(),\n realtimeConcurrentConnections: ExceedableLimit,\n branches: ExceedableLimit,\n support: z.enum([\"community\", \"slack\"]),\n});\n\nexport type Limits = z.infer<typeof Limits>;\n\nconst commonMetadata = {\n title: z.string(),\n code: z.string(),\n};\n\nconst pricingLookup = {\n tierPriceCode: z.string(),\n usagePriceCode: z.string(),\n usageCouponCode: z.string().optional(),\n};\n\nconst FreePlanDefinition = z.object({\n ...commonMetadata,\n type: z.literal(\"free\"),\n limits: Limits,\n});\nexport type FreePlanDefinition = z.infer<typeof FreePlanDefinition>;\n\nconst PaidPlanDefinition = z.object({\n ...commonMetadata,\n type: z.literal(\"paid\"),\n tierPrice: z.number(),\n stripe: z.object(pricingLookup),\n limits: Limits,\n});\nexport type PaidPlanDefinition = z.infer<typeof PaidPlanDefinition>;\n\nconst EnterprisePlanDefinition = z.object({\n ...commonMetadata,\n type: z.literal(\"enterprise\"),\n limits: Limits,\n});\nexport type EnterprisePlanDefinition = z.infer<typeof EnterprisePlanDefinition>;\n\nexport const PlanDefinitionSchema = z.discriminatedUnion(\"type\", [\n FreePlanDefinition,\n PaidPlanDefinition,\n EnterprisePlanDefinition,\n]);\nexport type PlanDefinition = z.infer<typeof PlanDefinitionSchema>;\n\nconst MachineDefinition = z.object({\n code: z.string(),\n title: z.string(),\n cpu: z.number(),\n memory: z.number(),\n centsPerMs: z.number(),\n});\n\nexport type MachineDefinition = z.infer<typeof MachineDefinition>;\n\nexport const Plans = z.object({\n free: FreePlanDefinition,\n hobby: PaidPlanDefinition,\n pro: PaidPlanDefinition,\n enterprise: EnterprisePlanDefinition,\n});\nexport type Plans = z.infer<typeof Plans>;\n\nexport const PlansResult = z.object({\n plans: Plans,\n usagePricing: z.object({\n centsPerRunInvocation: z.number(),\n machines: z.record(z.string(), MachineDefinition),\n defaultMachine: z.string(),\n }),\n});\n\nexport type PlansResult = z.infer<typeof PlansResult>;\n","import { z } from \"zod\";\nimport { PlanDefinitionSchema } from \"./planDefinitions\";\n\nconst FreeTierStatus = z.enum([\"requires_connect\", \"approved\", \"rejected\"]);\nexport type FreeTierStatus = z.infer<typeof FreeTierStatus>;\n\nexport const SubscriptionResult = z.object({\n freeTierStatus: FreeTierStatus,\n isPaying: z.boolean(),\n canceledAt: z.string().optional(),\n plan: PlanDefinitionSchema.optional(),\n});\n\nexport type SubscriptionResult = z.infer<typeof SubscriptionResult>;\n\nexport const CurrentPlan = z.object({\n //todo remove this after the next deploy\n subscription: z.any(),\n v3Subscription: SubscriptionResult,\n});\n\nexport type CurrentPlan = z.infer<typeof CurrentPlan>;\n","import { z } from \"zod\";\n\nconst SetPaidPlanBodySchema = z.object({\n type: z.literal(\"paid\"),\n planCode: z.string(),\n userId: z.string(),\n});\n\nconst SetFreePlanBodySchema = z.object({\n type: z.literal(\"free\"),\n userId: z.string(),\n});\n\nexport const SetPlanBodySchema = z.discriminatedUnion(\"type\", [\n SetPaidPlanBodySchema,\n SetFreePlanBodySchema,\n]);\n\nexport type SetPlanBody = z.infer<typeof SetPlanBodySchema>;\n\nexport const FreeConnectRequiredSchema = z.object({\n action: z.literal(\"free_connect_required\"),\n connectUrl: z.string().url(),\n});\n\nexport type FreeConnectRequired = z.infer<typeof FreeConnectRequiredSchema>;\n\nexport const FreeConnectedSchema = z.object({\n action: z.literal(\"free_connected\"),\n accepted: z.boolean(),\n});\n\nexport type FreeConnected = z.infer<typeof FreeConnectedSchema>;\n\nconst UpdatedSubscriptionResultSchema = z.object({\n action: z.literal(\"updated_subscription\"),\n subscription: z.object({\n planCode: z.string(),\n }),\n});\n\nexport type UpdatedSubscriptionResult = z.infer<\n typeof UpdatedSubscriptionResultSchema\n>;\n\nconst CreateSubscriptionFlowStartSchema = z.object({\n action: z.literal(\"create_subscription_flow_start\"),\n subscription: z.object({\n planCode: z.string(),\n }),\n checkoutUrl: z.string().url(),\n});\n\nexport type CreateSubscriptionFlowStart = z.infer<\n typeof CreateSubscriptionFlowStartSchema\n>;\n\nconst CanceledSubscriptionResultSchema = z.object({\n action: z.literal(\"canceled_subscription\"),\n});\n\nexport type CanceledSubscriptionResult = z.infer<\n typeof CanceledSubscriptionResultSchema\n>;\n\nexport const SubscribeResultSchema = z.discriminatedUnion(\"action\", [\n FreeConnectRequiredSchema,\n FreeConnectedSchema,\n CreateSubscriptionFlowStartSchema,\n UpdatedSubscriptionResultSchema,\n CanceledSubscriptionResultSchema,\n]);\n\nexport type SubscribeResult = z.infer<typeof SubscribeResultSchema>;\n","import { z } from \"zod\";\n\nexport const CustomerPortalRequestBodySchema = z.object({\n returnUrl: z.string(),\n});\n\nexport type CustomerPortalRequestBody = z.infer<\n typeof CustomerPortalRequestBodySchema\n>;\n\nexport const CustomerPortalSchema = z.object({\n customerPortalUrl: z.string().optional(),\n});\n\nexport type CustomerPortal = z.infer<typeof CustomerPortalSchema>;\n","import { z } from \"zod\";\n\nexport const ErrorSchema = z.object({\n error: z.string(),\n});\n\nexport type Error = z.infer<typeof ErrorSchema>;\n","import { z } from \"zod\";\n\nexport const UsageParams = z.object({\n from: z.coerce.date(),\n to: z.coerce.date(),\n});\nexport type UsageParams = z.infer<typeof UsageParams>;\n\nexport const UsageResult = z.object({\n cents: z.number(),\n});\nexport type UsageResult = z.infer<typeof UsageResult>;\n\nconst Window = z.enum([\"MINUTE\", \"HOUR\", \"DAY\"]);\n\nconst BooleanParam = z.preprocess(\n (val) => (val === \"true\" ? true : false),\n z.boolean()\n);\n\nexport const UsageSeriesParams = z.object({\n from: z.coerce.date(),\n to: z.coerce.date(),\n /** defaults to DAY */\n window: Window.optional(),\n timezone: z.string().optional(),\n //these don't work at the moment because you can't group by items that aren't defined in the meter group by\n // groupByEnvironmentType: BooleanParam.optional(),\n // groupByTaskIdentifier: BooleanParam.optional(),\n});\n\nexport type UsageSeriesParams = z.infer<typeof UsageSeriesParams>;\n\nexport const UsageSeriesResult = z.object({\n from: z.string(),\n to: z.string(),\n window: Window.optional(),\n data: z\n .object({\n value: z.number(),\n windowStart: z.string(),\n windowEnd: z.string(),\n //these don't work at the moment\n // groupBy: z\n // .object({\n // environmentType: z.string().optional(),\n // taskIdentifer: z.string().optional(),\n // })\n // .optional(),\n })\n .array(),\n});\n\nexport type UsageSeriesResult = z.infer<typeof UsageSeriesResult>;\n\nexport const ReportComputeUsageEvent = z.object({\n durationMs: z.number(),\n});\n\nexport type ReportComputeUsageEvent = z.infer<typeof ReportComputeUsageEvent>;\n\nexport const ReportUsageResult = z.object({\n hasAccess: z.boolean(),\n balance: z.number().optional(),\n usage: z.number().optional(),\n overage: z.number().optional(),\n});\n\nexport type ReportUsageResult = z.infer<typeof ReportUsageResult>;\n\nexport const ReportInvocationUsageEvent = z.object({\n organizationId: z.string(),\n costInCents: z.number(),\n additionalData: z.record(z.any()).optional(),\n});\n\nexport type ReportInvocationUsageEvent = z.infer<\n typeof ReportInvocationUsageEvent\n>;\n\nexport const ReportInvocationUsageResult = z.discriminatedUnion(\"success\", [\n z.object({\n success: z.literal(true),\n }),\n z.object({\n success: z.literal(false),\n error: z.string(),\n }),\n]);\n","import { z } from \"zod\";\n\nconst BillingAlertDefinition = z.object({\n amount: z.number(),\n emails: z.array(z.string()),\n alertLevels: z.array(z.number()),\n});\n\nexport const BillingAlertsResult = BillingAlertDefinition;\n\nexport type BillingAlertsResult = z.infer<typeof BillingAlertsResult>;\n\nexport const UpdateBillingAlertsRequest = z.object({\n amount: z.number(),\n emails: z.array(z.string()),\n alertLevels: z.array(z.number()),\n});\n\nexport type UpdateBillingAlertsRequest = z.infer<\n typeof UpdateBillingAlertsRequest\n>;\n","import { ZodType, z } from \"zod\";\nimport {\n BillingAlertsResult,\n CurrentPlan,\n CustomerPortalRequestBody,\n CustomerPortalSchema,\n ErrorSchema,\n PlansResult,\n ReportInvocationUsageEvent,\n ReportInvocationUsageResult,\n ReportUsageResult,\n SetPlanBody,\n SubscribeResultSchema,\n UpdateBillingAlertsRequest,\n UsageParams,\n UsageResult,\n UsageSeriesParams,\n UsageSeriesResult,\n} from \"../schemas\";\n\ntype BillingClientConfig = {\n url: string;\n apiKey: string;\n};\n\ntype SuccessResult<TSchema extends ZodType> = {\n success: true;\n} & z.infer<TSchema>;\n\ntype ErrorResult = {\n success: false;\n error: string;\n};\n\ntype Result<TSchema extends ZodType> = SuccessResult<TSchema> | ErrorResult;\n\nexport type PlansResponse = Result<typeof PlansResult>;\nexport type CurrentPlanResponse = Result<typeof CurrentPlan>;\nexport type SetPlanResponse = Result<typeof SubscribeResultSchema>;\nexport type CustomerPortalResponse = Result<typeof CustomerPortalSchema>;\nexport type UsageResponse = Result<typeof UsageResult>;\nexport type UsageSeriesResponse = Result<typeof UsageSeriesResult>;\nexport type UsageInvocationReportResponse = Result<\n typeof ReportInvocationUsageResult\n>;\nexport type UsageEntitlementResponse = Result<typeof ReportUsageResult>;\nexport type BillingAlertsResponse = Result<typeof BillingAlertsResult>;\n\nexport class BillingClient {\n constructor(private readonly config: BillingClientConfig) {}\n\n async plans(): Promise<PlansResponse> {\n return await this.fetch(`/api/v1/plans/v3`, PlansResult);\n }\n\n async currentPlan(orgId: string): Promise<CurrentPlanResponse> {\n return await this.fetch(`/api/v1/orgs/${orgId}`, CurrentPlan);\n }\n\n async usage(orgId: string, params: UsageParams): Promise<UsageResponse> {\n const search = objectToSearchParams(params);\n return await this.fetch(\n `/api/v1/orgs/${orgId}/usage?${search?.toString()}`,\n UsageResult\n );\n }\n\n async usageSeries(\n orgId: string,\n params: UsageSeriesParams\n ): Promise<UsageSeriesResponse> {\n const search = objectToSearchParams(params);\n return await this.fetch(\n `/api/v1/orgs/${orgId}/usage/series?${search?.toString()}`,\n UsageSeriesResult\n );\n }\n\n async setPlan(orgId: string, body: SetPlanBody): Promise<SetPlanResponse> {\n return await this.fetch(\n `/api/v1/orgs/${orgId}/v3/subscription`,\n SubscribeResultSchema,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body),\n }\n );\n }\n\n async createPortalSession(\n orgId: string,\n body: CustomerPortalRequestBody\n ): Promise<CustomerPortalResponse> {\n return await this.fetch(\n `/api/v1/orgs/${orgId}/v3/subscription/portal`,\n CustomerPortalSchema,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body),\n }\n );\n }\n\n /**\n *\n * @param event The data is in the body, not using a JWT\n * @returns details about usage\n */\n async reportInvocationUsage(\n event: ReportInvocationUsageEvent\n ): Promise<UsageInvocationReportResponse> {\n return await this.fetch(\n `/api/v1/usage/ingest/invocation`,\n ReportInvocationUsageResult,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(event),\n }\n );\n }\n\n /**\n *\n * @param event The data is in the body, not using a JWT\n * @returns details about usage\n */\n async getEntitlement(orgId: string): Promise<UsageEntitlementResponse> {\n return await this.fetch(\n `/api/v1/orgs/${orgId}/usage/entitlement`,\n ReportUsageResult\n );\n }\n\n async getBillingAlerts(orgId: string): Promise<BillingAlertsResponse> {\n return await this.fetch(\n `/api/v1/orgs/${orgId}/billing-alerts`,\n BillingAlertsResult\n );\n }\n\n async updateBillingAlerts(\n orgId: string,\n body: UpdateBillingAlertsRequest\n ): Promise<BillingAlertsResponse> {\n return await this.fetch(\n `/api/v1/orgs/${orgId}/billing-alerts`,\n BillingAlertsResult,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body),\n }\n );\n }\n\n async fetch<TSchema extends ZodType = z.ZodTypeAny>(\n path: string,\n schema: TSchema,\n requestInit?: RequestInit\n ): Promise<Result<TSchema>> {\n const response = await fetch(`${this.config.url}${path}`, {\n ...requestInit,\n headers: {\n ...requestInit?.headers,\n Authorization: `Bearer ${this.config.apiKey}`,\n },\n });\n\n if (!response.ok) {\n const json = await response.json();\n const parsedError = ErrorSchema.parse(json);\n return {\n success: false,\n error: parsedError.error,\n };\n }\n\n const json = await response.json();\n const parsed = schema.parse(json);\n return {\n success: true,\n ...parsed,\n };\n }\n}\n\nexport function objectToSearchParams(\n obj:\n | undefined\n | Record<\n string,\n | string\n | string[]\n | number\n | number[]\n | boolean\n | boolean[]\n | Date\n | Date[]\n | undefined\n >\n): URLSearchParams | undefined {\n if (!obj) return undefined;\n\n const searchParams = new URLSearchParams();\n //for each item add to the search params, skip undefined and join arrays with commas\n Object.entries(obj).forEach(([key, value]) => {\n if (value === undefined) return;\n if (Array.isArray(value)) {\n const values = value.map((d) => {\n if (d instanceof Date) return d.toISOString();\n return d;\n });\n\n searchParams.append(key, values.join(\",\"));\n } else {\n const v = value instanceof Date ? value.toISOString() : value;\n searchParams.append(key, v.toString());\n }\n });\n\n return searchParams;\n}\n","import { MachineDefinition } from \"./schemas\";\n\nexport type MachineDefinitionInput = {\n code: string;\n title: string;\n cpu: number;\n memory: number;\n centsPerVCpuSecond: number;\n centsPerGbRamSecond: number;\n};\n\nexport function machineDefinition({\n code,\n title,\n cpu,\n memory,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n}: MachineDefinitionInput): MachineDefinition {\n const centsPerSecond =\n cpu * centsPerVCpuSecond + memory * centsPerGbRamSecond;\n const centsPerMs = centsPerSecond / 1000;\n return {\n code,\n title,\n cpu,\n memory,\n centsPerMs,\n };\n}\n","import { machineDefinition } from \"./machineDefinition\";\n\nconst centsPerVCpuSecond = Number(process.env.CENTS_PER_VCPU_SECOND ?? 0);\nconst centsPerGbRamSecond = Number(process.env.CENTS_PER_GB_RAM_SECOND ?? 0);\n\nexport const machines = {\n micro: machineDefinition({\n code: \"micro\",\n title: \"Micro\",\n cpu: 0.25,\n memory: 0.25,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"small-1x\": machineDefinition({\n code: \"small-1x\",\n title: \"Small 1x\",\n cpu: 0.5,\n memory: 0.5,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"small-2x\": machineDefinition({\n code: \"small-2x\",\n title: \"Small 2x\",\n cpu: 1,\n memory: 1,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"medium-1x\": machineDefinition({\n code: \"medium-1x\",\n title: \"Medium 1x\",\n cpu: 1,\n memory: 2,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"medium-2x\": machineDefinition({\n code: \"medium-2x\",\n title: \"Medium 2x\",\n cpu: 2,\n memory: 4,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"large-1x\": machineDefinition({\n code: \"large-1x\",\n title: \"Large 1x\",\n cpu: 4,\n memory: 8,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"large-2x\": machineDefinition({\n code: \"large-2x\",\n title: \"Large 2x\",\n cpu: 8,\n memory: 16,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n};\n\nexport type MachineCode = keyof typeof machines;\n\nexport const defaultMachine: MachineCode = \"small-1x\";\n"],"mappings":"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","names":["import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","json","centsPerVCpuSecond","centsPerGbRamSecond"]}
|
|
1
|
+
{"version":3,"sources":["../src/v3/index.ts","../src/v3/schemas/planDefinitions.ts","../src/v3/schemas/subscription.ts","../src/v3/schemas/subscribe.ts","../src/v3/schemas/portal.ts","../src/v3/schemas/error.ts","../src/v3/schemas/usage.ts","../src/v3/schemas/billingAlerts.ts","../src/v3/client/index.ts","../src/v3/machineDefinition.ts","../src/v3/machinePresets.ts"],"sourcesContent":["export * from \"./schemas\";\nexport * from \"./client\";\nexport * from \"./machineDefinition\";\nexport * from \"./machinePresets\";\n","import { z } from \"zod\";\n\nconst ExceedableLimit = z.object({\n number: z.number(),\n canExceed: z.boolean().optional(),\n});\n\nexport type ExceedableLimit = z.infer<typeof ExceedableLimit>;\n\nconst Limits = z.object({\n includedUsage: z.number(),\n concurrentRuns: ExceedableLimit,\n teamMembers: ExceedableLimit,\n schedules: ExceedableLimit,\n logRetentionDays: ExceedableLimit,\n alerts: ExceedableLimit,\n hasStagingEnvironment: z.boolean(),\n realtimeConcurrentConnections: ExceedableLimit,\n branches: ExceedableLimit,\n support: z.enum([\"community\", \"slack\"]),\n});\n\nexport type Limits = z.infer<typeof Limits>;\n\nconst commonMetadata = {\n title: z.string(),\n code: z.string(),\n};\n\nconst pricingLookup = {\n tierPriceCode: z.string(),\n usagePriceCode: z.string(),\n usageCouponCode: z.string().optional(),\n};\n\nconst FreePlanDefinition = z.object({\n ...commonMetadata,\n type: z.literal(\"free\"),\n limits: Limits,\n});\nexport type FreePlanDefinition = z.infer<typeof FreePlanDefinition>;\n\nconst PaidPlanDefinition = z.object({\n ...commonMetadata,\n type: z.literal(\"paid\"),\n tierPrice: z.number(),\n stripe: z.object(pricingLookup),\n limits: Limits,\n});\nexport type PaidPlanDefinition = z.infer<typeof PaidPlanDefinition>;\n\nconst EnterprisePlanDefinition = z.object({\n ...commonMetadata,\n type: z.literal(\"enterprise\"),\n limits: Limits,\n});\nexport type EnterprisePlanDefinition = z.infer<typeof EnterprisePlanDefinition>;\n\nexport const PlanDefinitionSchema = z.discriminatedUnion(\"type\", [\n FreePlanDefinition,\n PaidPlanDefinition,\n EnterprisePlanDefinition,\n]);\nexport type PlanDefinition = z.infer<typeof PlanDefinitionSchema>;\n\nconst MachineDefinition = z.object({\n code: z.string(),\n title: z.string(),\n cpu: z.number(),\n memory: z.number(),\n centsPerMs: z.number(),\n});\n\nexport type MachineDefinition = z.infer<typeof MachineDefinition>;\n\nexport const Plans = z.object({\n free: FreePlanDefinition,\n hobby: PaidPlanDefinition,\n pro: PaidPlanDefinition,\n enterprise: EnterprisePlanDefinition,\n});\nexport type Plans = z.infer<typeof Plans>;\n\nexport const PlansResult = z.object({\n plans: Plans,\n usagePricing: z.object({\n centsPerRunInvocation: z.number(),\n machines: z.record(z.string(), MachineDefinition),\n defaultMachine: z.string(),\n }),\n});\n\nexport type PlansResult = z.infer<typeof PlansResult>;\n","import { z } from \"zod\";\nimport { PlanDefinitionSchema } from \"./planDefinitions\";\n\nconst FreeTierStatus = z.enum([\"requires_connect\", \"approved\", \"rejected\"]);\nexport type FreeTierStatus = z.infer<typeof FreeTierStatus>;\n\nexport const SubscriptionResult = z.object({\n freeTierStatus: FreeTierStatus,\n isPaying: z.boolean(),\n canceledAt: z.string().optional(),\n plan: PlanDefinitionSchema.optional(),\n});\n\nexport type SubscriptionResult = z.infer<typeof SubscriptionResult>;\n\nexport const CurrentPlan = z.object({\n //todo remove this after the next deploy\n subscription: z.any(),\n v3Subscription: SubscriptionResult,\n});\n\nexport type CurrentPlan = z.infer<typeof CurrentPlan>;\n","import { z } from \"zod\";\n\nconst SetPaidPlanBodySchema = z.object({\n type: z.literal(\"paid\"),\n planCode: z.string(),\n userId: z.string(),\n});\n\nconst SetFreePlanBodySchema = z.object({\n type: z.literal(\"free\"),\n userId: z.string(),\n});\n\nexport const SetPlanBodySchema = z.discriminatedUnion(\"type\", [\n SetPaidPlanBodySchema,\n SetFreePlanBodySchema,\n]);\n\nexport type SetPlanBody = z.infer<typeof SetPlanBodySchema>;\n\nexport const FreeConnectRequiredSchema = z.object({\n action: z.literal(\"free_connect_required\"),\n connectUrl: z.string().url(),\n});\n\nexport type FreeConnectRequired = z.infer<typeof FreeConnectRequiredSchema>;\n\nexport const FreeConnectedSchema = z.object({\n action: z.literal(\"free_connected\"),\n accepted: z.boolean(),\n});\n\nexport type FreeConnected = z.infer<typeof FreeConnectedSchema>;\n\nconst UpdatedSubscriptionResultSchema = z.object({\n action: z.literal(\"updated_subscription\"),\n subscription: z.object({\n planCode: z.string(),\n }),\n});\n\nexport type UpdatedSubscriptionResult = z.infer<\n typeof UpdatedSubscriptionResultSchema\n>;\n\nconst CreateSubscriptionFlowStartSchema = z.object({\n action: z.literal(\"create_subscription_flow_start\"),\n subscription: z.object({\n planCode: z.string(),\n }),\n checkoutUrl: z.string().url(),\n});\n\nexport type CreateSubscriptionFlowStart = z.infer<\n typeof CreateSubscriptionFlowStartSchema\n>;\n\nconst CanceledSubscriptionResultSchema = z.object({\n action: z.literal(\"canceled_subscription\"),\n});\n\nexport type CanceledSubscriptionResult = z.infer<\n typeof CanceledSubscriptionResultSchema\n>;\n\nexport const SubscribeResultSchema = z.discriminatedUnion(\"action\", [\n FreeConnectRequiredSchema,\n FreeConnectedSchema,\n CreateSubscriptionFlowStartSchema,\n UpdatedSubscriptionResultSchema,\n CanceledSubscriptionResultSchema,\n]);\n\nexport type SubscribeResult = z.infer<typeof SubscribeResultSchema>;\n","import { z } from \"zod\";\n\nexport const CustomerPortalRequestBodySchema = z.object({\n returnUrl: z.string(),\n});\n\nexport type CustomerPortalRequestBody = z.infer<\n typeof CustomerPortalRequestBodySchema\n>;\n\nexport const CustomerPortalSchema = z.object({\n customerPortalUrl: z.string().optional(),\n});\n\nexport type CustomerPortal = z.infer<typeof CustomerPortalSchema>;\n","import { z } from \"zod\";\n\nexport const ErrorSchema = z.object({\n error: z.string(),\n});\n\nexport type Error = z.infer<typeof ErrorSchema>;\n","import { z } from \"zod\";\n\nexport const UsageParams = z.object({\n from: z.coerce.date(),\n to: z.coerce.date(),\n});\nexport type UsageParams = z.infer<typeof UsageParams>;\n\nexport const UsageResult = z.object({\n cents: z.number(),\n});\nexport type UsageResult = z.infer<typeof UsageResult>;\n\nconst Window = z.enum([\"MINUTE\", \"HOUR\", \"DAY\"]);\n\nconst BooleanParam = z.preprocess(\n (val) => (val === \"true\" ? true : false),\n z.boolean()\n);\n\nexport const UsageSeriesParams = z.object({\n from: z.coerce.date(),\n to: z.coerce.date(),\n /** defaults to DAY */\n window: Window.optional(),\n timezone: z.string().optional(),\n //these don't work at the moment because you can't group by items that aren't defined in the meter group by\n // groupByEnvironmentType: BooleanParam.optional(),\n // groupByTaskIdentifier: BooleanParam.optional(),\n});\n\nexport type UsageSeriesParams = z.infer<typeof UsageSeriesParams>;\n\nexport const UsageSeriesResult = z.object({\n from: z.string(),\n to: z.string(),\n window: Window.optional(),\n data: z\n .object({\n value: z.number(),\n windowStart: z.string(),\n windowEnd: z.string(),\n //these don't work at the moment\n // groupBy: z\n // .object({\n // environmentType: z.string().optional(),\n // taskIdentifer: z.string().optional(),\n // })\n // .optional(),\n })\n .array(),\n});\n\nexport type UsageSeriesResult = z.infer<typeof UsageSeriesResult>;\n\nexport const ReportComputeUsageEvent = z.object({\n durationMs: z.number(),\n});\n\nexport type ReportComputeUsageEvent = z.infer<typeof ReportComputeUsageEvent>;\n\nexport const ReportUsagePlan = z.object({\n type: z.string(),\n code: z.string(),\n isPaying: z.boolean(),\n});\n\nexport type ReportUsagePlan = z.infer<typeof ReportUsagePlan>;\n\nexport const ReportUsageResult = z.object({\n hasAccess: z.boolean(),\n balance: z.number().optional(),\n usage: z.number().optional(),\n overage: z.number().optional(),\n plan: ReportUsagePlan.optional(),\n});\n\nexport type ReportUsageResult = z.infer<typeof ReportUsageResult>;\n\nexport const ReportInvocationUsageEvent = z.object({\n organizationId: z.string(),\n costInCents: z.number(),\n additionalData: z.record(z.any()).optional(),\n});\n\nexport type ReportInvocationUsageEvent = z.infer<\n typeof ReportInvocationUsageEvent\n>;\n\nexport const ReportInvocationUsageResult = z.discriminatedUnion(\"success\", [\n z.object({\n success: z.literal(true),\n }),\n z.object({\n success: z.literal(false),\n error: z.string(),\n }),\n]);\n","import { z } from \"zod\";\n\nconst BillingAlertDefinition = z.object({\n amount: z.number(),\n emails: z.array(z.string()),\n alertLevels: z.array(z.number()),\n});\n\nexport const BillingAlertsResult = BillingAlertDefinition;\n\nexport type BillingAlertsResult = z.infer<typeof BillingAlertsResult>;\n\nexport const UpdateBillingAlertsRequest = z.object({\n amount: z.number(),\n emails: z.array(z.string()),\n alertLevels: z.array(z.number()),\n});\n\nexport type UpdateBillingAlertsRequest = z.infer<\n typeof UpdateBillingAlertsRequest\n>;\n","import { ZodType, z } from \"zod\";\nimport {\n BillingAlertsResult,\n CurrentPlan,\n CustomerPortalRequestBody,\n CustomerPortalSchema,\n ErrorSchema,\n PlansResult,\n ReportInvocationUsageEvent,\n ReportInvocationUsageResult,\n ReportUsageResult,\n SetPlanBody,\n SubscribeResultSchema,\n UpdateBillingAlertsRequest,\n UsageParams,\n UsageResult,\n UsageSeriesParams,\n UsageSeriesResult,\n} from \"../schemas\";\n\ntype BillingClientConfig = {\n url: string;\n apiKey: string;\n};\n\ntype SuccessResult<TSchema extends ZodType> = {\n success: true;\n} & z.infer<TSchema>;\n\ntype ErrorResult = {\n success: false;\n error: string;\n};\n\ntype Result<TSchema extends ZodType> = SuccessResult<TSchema> | ErrorResult;\n\nexport type PlansResponse = Result<typeof PlansResult>;\nexport type CurrentPlanResponse = Result<typeof CurrentPlan>;\nexport type SetPlanResponse = Result<typeof SubscribeResultSchema>;\nexport type CustomerPortalResponse = Result<typeof CustomerPortalSchema>;\nexport type UsageResponse = Result<typeof UsageResult>;\nexport type UsageSeriesResponse = Result<typeof UsageSeriesResult>;\nexport type UsageInvocationReportResponse = Result<\n typeof ReportInvocationUsageResult\n>;\nexport type UsageEntitlementResponse = Result<typeof ReportUsageResult>;\nexport type BillingAlertsResponse = Result<typeof BillingAlertsResult>;\n\nexport class BillingClient {\n constructor(private readonly config: BillingClientConfig) {}\n\n async plans(): Promise<PlansResponse> {\n return await this.fetch(`/api/v1/plans/v3`, PlansResult);\n }\n\n async currentPlan(orgId: string): Promise<CurrentPlanResponse> {\n return await this.fetch(`/api/v1/orgs/${orgId}`, CurrentPlan);\n }\n\n async usage(orgId: string, params: UsageParams): Promise<UsageResponse> {\n const search = objectToSearchParams(params);\n return await this.fetch(\n `/api/v1/orgs/${orgId}/usage?${search?.toString()}`,\n UsageResult\n );\n }\n\n async usageSeries(\n orgId: string,\n params: UsageSeriesParams\n ): Promise<UsageSeriesResponse> {\n const search = objectToSearchParams(params);\n return await this.fetch(\n `/api/v1/orgs/${orgId}/usage/series?${search?.toString()}`,\n UsageSeriesResult\n );\n }\n\n async setPlan(orgId: string, body: SetPlanBody): Promise<SetPlanResponse> {\n return await this.fetch(\n `/api/v1/orgs/${orgId}/v3/subscription`,\n SubscribeResultSchema,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body),\n }\n );\n }\n\n async createPortalSession(\n orgId: string,\n body: CustomerPortalRequestBody\n ): Promise<CustomerPortalResponse> {\n return await this.fetch(\n `/api/v1/orgs/${orgId}/v3/subscription/portal`,\n CustomerPortalSchema,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body),\n }\n );\n }\n\n /**\n *\n * @param event The data is in the body, not using a JWT\n * @returns details about usage\n */\n async reportInvocationUsage(\n event: ReportInvocationUsageEvent\n ): Promise<UsageInvocationReportResponse> {\n return await this.fetch(\n `/api/v1/usage/ingest/invocation`,\n ReportInvocationUsageResult,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(event),\n }\n );\n }\n\n /**\n *\n * @param event The data is in the body, not using a JWT\n * @returns details about usage\n */\n async getEntitlement(orgId: string): Promise<UsageEntitlementResponse> {\n return await this.fetch(\n `/api/v1/orgs/${orgId}/usage/entitlement`,\n ReportUsageResult\n );\n }\n\n async getBillingAlerts(orgId: string): Promise<BillingAlertsResponse> {\n return await this.fetch(\n `/api/v1/orgs/${orgId}/billing-alerts`,\n BillingAlertsResult\n );\n }\n\n async updateBillingAlerts(\n orgId: string,\n body: UpdateBillingAlertsRequest\n ): Promise<BillingAlertsResponse> {\n return await this.fetch(\n `/api/v1/orgs/${orgId}/billing-alerts`,\n BillingAlertsResult,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body),\n }\n );\n }\n\n async fetch<TSchema extends ZodType = z.ZodTypeAny>(\n path: string,\n schema: TSchema,\n requestInit?: RequestInit\n ): Promise<Result<TSchema>> {\n const response = await fetch(`${this.config.url}${path}`, {\n ...requestInit,\n headers: {\n ...requestInit?.headers,\n Authorization: `Bearer ${this.config.apiKey}`,\n },\n });\n\n if (!response.ok) {\n const json = await response.json();\n const parsedError = ErrorSchema.parse(json);\n return {\n success: false,\n error: parsedError.error,\n };\n }\n\n const json = await response.json();\n const parsed = schema.parse(json);\n return {\n success: true,\n ...parsed,\n };\n }\n}\n\nexport function objectToSearchParams(\n obj:\n | undefined\n | Record<\n string,\n | string\n | string[]\n | number\n | number[]\n | boolean\n | boolean[]\n | Date\n | Date[]\n | undefined\n >\n): URLSearchParams | undefined {\n if (!obj) return undefined;\n\n const searchParams = new URLSearchParams();\n //for each item add to the search params, skip undefined and join arrays with commas\n Object.entries(obj).forEach(([key, value]) => {\n if (value === undefined) return;\n if (Array.isArray(value)) {\n const values = value.map((d) => {\n if (d instanceof Date) return d.toISOString();\n return d;\n });\n\n searchParams.append(key, values.join(\",\"));\n } else {\n const v = value instanceof Date ? value.toISOString() : value;\n searchParams.append(key, v.toString());\n }\n });\n\n return searchParams;\n}\n","import { MachineDefinition } from \"./schemas\";\n\nexport type MachineDefinitionInput = {\n code: string;\n title: string;\n cpu: number;\n memory: number;\n centsPerVCpuSecond: number;\n centsPerGbRamSecond: number;\n};\n\nexport function machineDefinition({\n code,\n title,\n cpu,\n memory,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n}: MachineDefinitionInput): MachineDefinition {\n const centsPerSecond =\n cpu * centsPerVCpuSecond + memory * centsPerGbRamSecond;\n const centsPerMs = centsPerSecond / 1000;\n return {\n code,\n title,\n cpu,\n memory,\n centsPerMs,\n };\n}\n","import { machineDefinition } from \"./machineDefinition\";\n\nconst centsPerVCpuSecond = Number(process.env.CENTS_PER_VCPU_SECOND ?? 0);\nconst centsPerGbRamSecond = Number(process.env.CENTS_PER_GB_RAM_SECOND ?? 0);\n\nexport const machines = {\n micro: machineDefinition({\n code: \"micro\",\n title: \"Micro\",\n cpu: 0.25,\n memory: 0.25,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"small-1x\": machineDefinition({\n code: \"small-1x\",\n title: \"Small 1x\",\n cpu: 0.5,\n memory: 0.5,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"small-2x\": machineDefinition({\n code: \"small-2x\",\n title: \"Small 2x\",\n cpu: 1,\n memory: 1,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"medium-1x\": machineDefinition({\n code: \"medium-1x\",\n title: \"Medium 1x\",\n cpu: 1,\n memory: 2,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"medium-2x\": machineDefinition({\n code: \"medium-2x\",\n title: \"Medium 2x\",\n cpu: 2,\n memory: 4,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"large-1x\": machineDefinition({\n code: \"large-1x\",\n title: \"Large 1x\",\n cpu: 4,\n memory: 8,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"large-2x\": machineDefinition({\n code: \"large-2x\",\n title: \"Large 2x\",\n cpu: 8,\n memory: 16,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n};\n\nexport type MachineCode = keyof typeof machines;\n\nexport const defaultMachine: MachineCode = \"small-1x\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,iBAAkB;AAElB,IAAM,kBAAkB,aAAE,OAAO;AAAA,EAC/B,QAAQ,aAAE,OAAO;AAAA,EACjB,WAAW,aAAE,QAAQ,EAAE,SAAS;AAClC,CAAC;AAID,IAAM,SAAS,aAAE,OAAO;AAAA,EACtB,eAAe,aAAE,OAAO;AAAA,EACxB,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB,QAAQ;AAAA,EACR,uBAAuB,aAAE,QAAQ;AAAA,EACjC,+BAA+B;AAAA,EAC/B,UAAU;AAAA,EACV,SAAS,aAAE,KAAK,CAAC,aAAa,OAAO,CAAC;AACxC,CAAC;AAID,IAAM,iBAAiB;AAAA,EACrB,OAAO,aAAE,OAAO;AAAA,EAChB,MAAM,aAAE,OAAO;AACjB;AAEA,IAAM,gBAAgB;AAAA,EACpB,eAAe,aAAE,OAAO;AAAA,EACxB,gBAAgB,aAAE,OAAO;AAAA,EACzB,iBAAiB,aAAE,OAAO,EAAE,SAAS;AACvC;AAEA,IAAM,qBAAqB,aAAE,OAAO;AAAA,EAClC,GAAG;AAAA,EACH,MAAM,aAAE,QAAQ,MAAM;AAAA,EACtB,QAAQ;AACV,CAAC;AAGD,IAAM,qBAAqB,aAAE,OAAO;AAAA,EAClC,GAAG;AAAA,EACH,MAAM,aAAE,QAAQ,MAAM;AAAA,EACtB,WAAW,aAAE,OAAO;AAAA,EACpB,QAAQ,aAAE,OAAO,aAAa;AAAA,EAC9B,QAAQ;AACV,CAAC;AAGD,IAAM,2BAA2B,aAAE,OAAO;AAAA,EACxC,GAAG;AAAA,EACH,MAAM,aAAE,QAAQ,YAAY;AAAA,EAC5B,QAAQ;AACV,CAAC;AAGM,IAAM,uBAAuB,aAAE,mBAAmB,QAAQ;AAAA,EAC/D;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAGD,IAAM,oBAAoB,aAAE,OAAO;AAAA,EACjC,MAAM,aAAE,OAAO;AAAA,EACf,OAAO,aAAE,OAAO;AAAA,EAChB,KAAK,aAAE,OAAO;AAAA,EACd,QAAQ,aAAE,OAAO;AAAA,EACjB,YAAY,aAAE,OAAO;AACvB,CAAC;AAIM,IAAM,QAAQ,aAAE,OAAO;AAAA,EAC5B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,KAAK;AAAA,EACL,YAAY;AACd,CAAC;AAGM,IAAM,cAAc,aAAE,OAAO;AAAA,EAClC,OAAO;AAAA,EACP,cAAc,aAAE,OAAO;AAAA,IACrB,uBAAuB,aAAE,OAAO;AAAA,IAChC,UAAU,aAAE,OAAO,aAAE,OAAO,GAAG,iBAAiB;AAAA,IAChD,gBAAgB,aAAE,OAAO;AAAA,EAC3B,CAAC;AACH,CAAC;;;AC1FD,IAAAA,cAAkB;AAGlB,IAAM,iBAAiB,cAAE,KAAK,CAAC,oBAAoB,YAAY,UAAU,CAAC;AAGnE,IAAM,qBAAqB,cAAE,OAAO;AAAA,EACzC,gBAAgB;AAAA,EAChB,UAAU,cAAE,QAAQ;AAAA,EACpB,YAAY,cAAE,OAAO,EAAE,SAAS;AAAA,EAChC,MAAM,qBAAqB,SAAS;AACtC,CAAC;AAIM,IAAM,cAAc,cAAE,OAAO;AAAA;AAAA,EAElC,cAAc,cAAE,IAAI;AAAA,EACpB,gBAAgB;AAClB,CAAC;;;ACnBD,IAAAC,cAAkB;AAElB,IAAM,wBAAwB,cAAE,OAAO;AAAA,EACrC,MAAM,cAAE,QAAQ,MAAM;AAAA,EACtB,UAAU,cAAE,OAAO;AAAA,EACnB,QAAQ,cAAE,OAAO;AACnB,CAAC;AAED,IAAM,wBAAwB,cAAE,OAAO;AAAA,EACrC,MAAM,cAAE,QAAQ,MAAM;AAAA,EACtB,QAAQ,cAAE,OAAO;AACnB,CAAC;AAEM,IAAM,oBAAoB,cAAE,mBAAmB,QAAQ;AAAA,EAC5D;AAAA,EACA;AACF,CAAC;AAIM,IAAM,4BAA4B,cAAE,OAAO;AAAA,EAChD,QAAQ,cAAE,QAAQ,uBAAuB;AAAA,EACzC,YAAY,cAAE,OAAO,EAAE,IAAI;AAC7B,CAAC;AAIM,IAAM,sBAAsB,cAAE,OAAO;AAAA,EAC1C,QAAQ,cAAE,QAAQ,gBAAgB;AAAA,EAClC,UAAU,cAAE,QAAQ;AACtB,CAAC;AAID,IAAM,kCAAkC,cAAE,OAAO;AAAA,EAC/C,QAAQ,cAAE,QAAQ,sBAAsB;AAAA,EACxC,cAAc,cAAE,OAAO;AAAA,IACrB,UAAU,cAAE,OAAO;AAAA,EACrB,CAAC;AACH,CAAC;AAMD,IAAM,oCAAoC,cAAE,OAAO;AAAA,EACjD,QAAQ,cAAE,QAAQ,gCAAgC;AAAA,EAClD,cAAc,cAAE,OAAO;AAAA,IACrB,UAAU,cAAE,OAAO;AAAA,EACrB,CAAC;AAAA,EACD,aAAa,cAAE,OAAO,EAAE,IAAI;AAC9B,CAAC;AAMD,IAAM,mCAAmC,cAAE,OAAO;AAAA,EAChD,QAAQ,cAAE,QAAQ,uBAAuB;AAC3C,CAAC;AAMM,IAAM,wBAAwB,cAAE,mBAAmB,UAAU;AAAA,EAClE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;;;ACvED,IAAAC,cAAkB;AAEX,IAAM,kCAAkC,cAAE,OAAO;AAAA,EACtD,WAAW,cAAE,OAAO;AACtB,CAAC;AAMM,IAAM,uBAAuB,cAAE,OAAO;AAAA,EAC3C,mBAAmB,cAAE,OAAO,EAAE,SAAS;AACzC,CAAC;;;ACZD,IAAAC,cAAkB;AAEX,IAAM,cAAc,cAAE,OAAO;AAAA,EAClC,OAAO,cAAE,OAAO;AAClB,CAAC;;;ACJD,IAAAC,cAAkB;AAEX,IAAM,cAAc,cAAE,OAAO;AAAA,EAClC,MAAM,cAAE,OAAO,KAAK;AAAA,EACpB,IAAI,cAAE,OAAO,KAAK;AACpB,CAAC;AAGM,IAAM,cAAc,cAAE,OAAO;AAAA,EAClC,OAAO,cAAE,OAAO;AAClB,CAAC;AAGD,IAAM,SAAS,cAAE,KAAK,CAAC,UAAU,QAAQ,KAAK,CAAC;AAE/C,IAAM,eAAe,cAAE;AAAA,EACrB,CAAC,QAAS,QAAQ,SAAS,OAAO;AAAA,EAClC,cAAE,QAAQ;AACZ;AAEO,IAAM,oBAAoB,cAAE,OAAO;AAAA,EACxC,MAAM,cAAE,OAAO,KAAK;AAAA,EACpB,IAAI,cAAE,OAAO,KAAK;AAAA;AAAA,EAElB,QAAQ,OAAO,SAAS;AAAA,EACxB,UAAU,cAAE,OAAO,EAAE,SAAS;AAAA;AAAA;AAAA;AAIhC,CAAC;AAIM,IAAM,oBAAoB,cAAE,OAAO;AAAA,EACxC,MAAM,cAAE,OAAO;AAAA,EACf,IAAI,cAAE,OAAO;AAAA,EACb,QAAQ,OAAO,SAAS;AAAA,EACxB,MAAM,cACH,OAAO;AAAA,IACN,OAAO,cAAE,OAAO;AAAA,IAChB,aAAa,cAAE,OAAO;AAAA,IACtB,WAAW,cAAE,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQtB,CAAC,EACA,MAAM;AACX,CAAC;AAIM,IAAM,0BAA0B,cAAE,OAAO;AAAA,EAC9C,YAAY,cAAE,OAAO;AACvB,CAAC;AAIM,IAAM,kBAAkB,cAAE,OAAO;AAAA,EACtC,MAAM,cAAE,OAAO;AAAA,EACf,MAAM,cAAE,OAAO;AAAA,EACf,UAAU,cAAE,QAAQ;AACtB,CAAC;AAIM,IAAM,oBAAoB,cAAE,OAAO;AAAA,EACxC,WAAW,cAAE,QAAQ;AAAA,EACrB,SAAS,cAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,OAAO,cAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,SAAS,cAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,MAAM,gBAAgB,SAAS;AACjC,CAAC;AAIM,IAAM,6BAA6B,cAAE,OAAO;AAAA,EACjD,gBAAgB,cAAE,OAAO;AAAA,EACzB,aAAa,cAAE,OAAO;AAAA,EACtB,gBAAgB,cAAE,OAAO,cAAE,IAAI,CAAC,EAAE,SAAS;AAC7C,CAAC;AAMM,IAAM,8BAA8B,cAAE,mBAAmB,WAAW;AAAA,EACzE,cAAE,OAAO;AAAA,IACP,SAAS,cAAE,QAAQ,IAAI;AAAA,EACzB,CAAC;AAAA,EACD,cAAE,OAAO;AAAA,IACP,SAAS,cAAE,QAAQ,KAAK;AAAA,IACxB,OAAO,cAAE,OAAO;AAAA,EAClB,CAAC;AACH,CAAC;;;ACjGD,IAAAC,cAAkB;AAElB,IAAM,yBAAyB,cAAE,OAAO;AAAA,EACtC,QAAQ,cAAE,OAAO;AAAA,EACjB,QAAQ,cAAE,MAAM,cAAE,OAAO,CAAC;AAAA,EAC1B,aAAa,cAAE,MAAM,cAAE,OAAO,CAAC;AACjC,CAAC;AAEM,IAAM,sBAAsB;AAI5B,IAAM,6BAA6B,cAAE,OAAO;AAAA,EACjD,QAAQ,cAAE,OAAO;AAAA,EACjB,QAAQ,cAAE,MAAM,cAAE,OAAO,CAAC;AAAA,EAC1B,aAAa,cAAE,MAAM,cAAE,OAAO,CAAC;AACjC,CAAC;;;ACgCM,IAAM,gBAAN,MAAoB;AAAA,EACzB,YAA6B,QAA6B;AAA7B;AAAA,EAA8B;AAAA,EAE3D,MAAM,QAAgC;AACpC,WAAO,MAAM,KAAK,MAAM,oBAAoB,WAAW;AAAA,EACzD;AAAA,EAEA,MAAM,YAAY,OAA6C;AAC7D,WAAO,MAAM,KAAK,MAAM,gBAAgB,KAAK,IAAI,WAAW;AAAA,EAC9D;AAAA,EAEA,MAAM,MAAM,OAAe,QAA6C;AACtE,UAAM,SAAS,qBAAqB,MAAM;AAC1C,WAAO,MAAM,KAAK;AAAA,MAChB,gBAAgB,KAAK,UAAU,iCAAQ,UAAU;AAAA,MACjD;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,YACJ,OACA,QAC8B;AAC9B,UAAM,SAAS,qBAAqB,MAAM;AAC1C,WAAO,MAAM,KAAK;AAAA,MAChB,gBAAgB,KAAK,iBAAiB,iCAAQ,UAAU;AAAA,MACxD;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ,OAAe,MAA6C;AACxE,WAAO,MAAM,KAAK;AAAA,MAChB,gBAAgB,KAAK;AAAA,MACrB;AAAA,MACA;AAAA,QACE,QAAQ;AAAA,QACR,SAAS;AAAA,UACP,gBAAgB;AAAA,QAClB;AAAA,QACA,MAAM,KAAK,UAAU,IAAI;AAAA,MAC3B;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,oBACJ,OACA,MACiC;AACjC,WAAO,MAAM,KAAK;AAAA,MAChB,gBAAgB,KAAK;AAAA,MACrB;AAAA,MACA;AAAA,QACE,QAAQ;AAAA,QACR,SAAS;AAAA,UACP,gBAAgB;AAAA,QAClB;AAAA,QACA,MAAM,KAAK,UAAU,IAAI;AAAA,MAC3B;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,sBACJ,OACwC;AACxC,WAAO,MAAM,KAAK;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,QACE,QAAQ;AAAA,QACR,SAAS;AAAA,UACP,gBAAgB;AAAA,QAClB;AAAA,QACA,MAAM,KAAK,UAAU,KAAK;AAAA,MAC5B;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,eAAe,OAAkD;AACrE,WAAO,MAAM,KAAK;AAAA,MAChB,gBAAgB,KAAK;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,iBAAiB,OAA+C;AACpE,WAAO,MAAM,KAAK;AAAA,MAChB,gBAAgB,KAAK;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,oBACJ,OACA,MACgC;AAChC,WAAO,MAAM,KAAK;AAAA,MAChB,gBAAgB,KAAK;AAAA,MACrB;AAAA,MACA;AAAA,QACE,QAAQ;AAAA,QACR,SAAS;AAAA,UACP,gBAAgB;AAAA,QAClB;AAAA,QACA,MAAM,KAAK,UAAU,IAAI;AAAA,MAC3B;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,MACJ,MACA,QACA,aAC0B;AAC1B,UAAM,WAAW,MAAM,MAAM,GAAG,KAAK,OAAO,GAAG,GAAG,IAAI,IAAI;AAAA,MACxD,GAAG;AAAA,MACH,SAAS;AAAA,QACP,GAAG,2CAAa;AAAA,QAChB,eAAe,UAAU,KAAK,OAAO,MAAM;AAAA,MAC7C;AAAA,IACF,CAAC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,YAAMC,QAAO,MAAM,SAAS,KAAK;AACjC,YAAM,cAAc,YAAY,MAAMA,KAAI;AAC1C,aAAO;AAAA,QACL,SAAS;AAAA,QACT,OAAO,YAAY;AAAA,MACrB;AAAA,IACF;AAEA,UAAM,OAAO,MAAM,SAAS,KAAK;AACjC,UAAM,SAAS,OAAO,MAAM,IAAI;AAChC,WAAO;AAAA,MACL,SAAS;AAAA,MACT,GAAG;AAAA,IACL;AAAA,EACF;AACF;AAEO,SAAS,qBACd,KAc6B;AAC7B,MAAI,CAAC;AAAK,WAAO;AAEjB,QAAM,eAAe,IAAI,gBAAgB;AAEzC,SAAO,QAAQ,GAAG,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC5C,QAAI,UAAU;AAAW;AACzB,QAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,YAAM,SAAS,MAAM,IAAI,CAAC,MAAM;AAC9B,YAAI,aAAa;AAAM,iBAAO,EAAE,YAAY;AAC5C,eAAO;AAAA,MACT,CAAC;AAED,mBAAa,OAAO,KAAK,OAAO,KAAK,GAAG,CAAC;AAAA,IAC3C,OAAO;AACL,YAAM,IAAI,iBAAiB,OAAO,MAAM,YAAY,IAAI;AACxD,mBAAa,OAAO,KAAK,EAAE,SAAS,CAAC;AAAA,IACvC;AAAA,EACF,CAAC;AAED,SAAO;AACT;;;AC9NO,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,oBAAAC;AAAA,EACA,qBAAAC;AACF,GAA8C;AAC5C,QAAM,iBACJ,MAAMD,sBAAqB,SAASC;AACtC,QAAM,aAAa,iBAAiB;AACpC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AC3BA,IAAM,qBAAqB,OAAO,QAAQ,IAAI,yBAAyB,CAAC;AACxE,IAAM,sBAAsB,OAAO,QAAQ,IAAI,2BAA2B,CAAC;AAEpE,IAAM,WAAW;AAAA,EACtB,OAAO,kBAAkB;AAAA,IACvB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EACD,YAAY,kBAAkB;AAAA,IAC5B,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EACD,YAAY,kBAAkB;AAAA,IAC5B,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EACD,aAAa,kBAAkB;AAAA,IAC7B,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EACD,aAAa,kBAAkB;AAAA,IAC7B,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EACD,YAAY,kBAAkB;AAAA,IAC5B,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EACD,YAAY,kBAAkB;AAAA,IAC5B,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,EACF,CAAC;AACH;AAIO,IAAM,iBAA8B;","names":["import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","json","centsPerVCpuSecond","centsPerGbRamSecond"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -6835,18 +6835,55 @@ declare const ReportComputeUsageEvent: z.ZodObject<{
|
|
|
6835
6835
|
durationMs: number;
|
|
6836
6836
|
}>;
|
|
6837
6837
|
type ReportComputeUsageEvent = z.infer<typeof ReportComputeUsageEvent>;
|
|
6838
|
+
declare const ReportUsagePlan: z.ZodObject<{
|
|
6839
|
+
type: z.ZodString;
|
|
6840
|
+
code: z.ZodString;
|
|
6841
|
+
isPaying: z.ZodBoolean;
|
|
6842
|
+
}, "strip", z.ZodTypeAny, {
|
|
6843
|
+
code: string;
|
|
6844
|
+
type: string;
|
|
6845
|
+
isPaying: boolean;
|
|
6846
|
+
}, {
|
|
6847
|
+
code: string;
|
|
6848
|
+
type: string;
|
|
6849
|
+
isPaying: boolean;
|
|
6850
|
+
}>;
|
|
6851
|
+
type ReportUsagePlan = z.infer<typeof ReportUsagePlan>;
|
|
6838
6852
|
declare const ReportUsageResult: z.ZodObject<{
|
|
6839
6853
|
hasAccess: z.ZodBoolean;
|
|
6840
6854
|
balance: z.ZodOptional<z.ZodNumber>;
|
|
6841
6855
|
usage: z.ZodOptional<z.ZodNumber>;
|
|
6842
6856
|
overage: z.ZodOptional<z.ZodNumber>;
|
|
6857
|
+
plan: z.ZodOptional<z.ZodObject<{
|
|
6858
|
+
type: z.ZodString;
|
|
6859
|
+
code: z.ZodString;
|
|
6860
|
+
isPaying: z.ZodBoolean;
|
|
6861
|
+
}, "strip", z.ZodTypeAny, {
|
|
6862
|
+
code: string;
|
|
6863
|
+
type: string;
|
|
6864
|
+
isPaying: boolean;
|
|
6865
|
+
}, {
|
|
6866
|
+
code: string;
|
|
6867
|
+
type: string;
|
|
6868
|
+
isPaying: boolean;
|
|
6869
|
+
}>>;
|
|
6843
6870
|
}, "strip", z.ZodTypeAny, {
|
|
6844
6871
|
hasAccess: boolean;
|
|
6872
|
+
plan?: {
|
|
6873
|
+
code: string;
|
|
6874
|
+
type: string;
|
|
6875
|
+
isPaying: boolean;
|
|
6876
|
+
} | undefined;
|
|
6845
6877
|
balance?: number | undefined;
|
|
6846
6878
|
usage?: number | undefined;
|
|
6847
6879
|
overage?: number | undefined;
|
|
6848
6880
|
}, {
|
|
6849
6881
|
hasAccess: boolean;
|
|
6882
|
+
plan?: {
|
|
6883
|
+
code: string;
|
|
6884
|
+
type: string;
|
|
6885
|
+
isPaying: boolean;
|
|
6886
|
+
} | undefined;
|
|
6850
6887
|
balance?: number | undefined;
|
|
6851
6888
|
usage?: number | undefined;
|
|
6852
6889
|
overage?: number | undefined;
|
|
@@ -7024,4 +7061,4 @@ declare const machines: {
|
|
|
7024
7061
|
type MachineCode = keyof typeof machines;
|
|
7025
7062
|
declare const defaultMachine: MachineCode;
|
|
7026
7063
|
|
|
7027
|
-
export { type BillingAlertsResponse, BillingAlertsResult, BillingClient, type CanceledSubscriptionResult, type CreateSubscriptionFlowStart, CurrentPlan, type CurrentPlanResponse, type CustomerPortal, type CustomerPortalRequestBody, CustomerPortalRequestBodySchema, type CustomerPortalResponse, CustomerPortalSchema, EnterprisePlanDefinition, type Error, ErrorSchema, ExceedableLimit, type FreeConnectRequired, FreeConnectRequiredSchema, type FreeConnected, FreeConnectedSchema, FreePlanDefinition, FreeTierStatus, Limits, type MachineCode, MachineDefinition, type MachineDefinitionInput, PaidPlanDefinition, type PlanDefinition, PlanDefinitionSchema, Plans, type PlansResponse, PlansResult, ReportComputeUsageEvent, ReportInvocationUsageEvent, ReportInvocationUsageResult, ReportUsageResult, type SetPlanBody, SetPlanBodySchema, type SetPlanResponse, type SubscribeResult, SubscribeResultSchema, SubscriptionResult, UpdateBillingAlertsRequest, type UpdatedSubscriptionResult, type UsageEntitlementResponse, type UsageInvocationReportResponse, UsageParams, type UsageResponse, UsageResult, UsageSeriesParams, type UsageSeriesResponse, UsageSeriesResult, defaultMachine, machineDefinition, machines, objectToSearchParams };
|
|
7064
|
+
export { type BillingAlertsResponse, BillingAlertsResult, BillingClient, type CanceledSubscriptionResult, type CreateSubscriptionFlowStart, CurrentPlan, type CurrentPlanResponse, type CustomerPortal, type CustomerPortalRequestBody, CustomerPortalRequestBodySchema, type CustomerPortalResponse, CustomerPortalSchema, EnterprisePlanDefinition, type Error, ErrorSchema, ExceedableLimit, type FreeConnectRequired, FreeConnectRequiredSchema, type FreeConnected, FreeConnectedSchema, FreePlanDefinition, FreeTierStatus, Limits, type MachineCode, MachineDefinition, type MachineDefinitionInput, PaidPlanDefinition, type PlanDefinition, PlanDefinitionSchema, Plans, type PlansResponse, PlansResult, ReportComputeUsageEvent, ReportInvocationUsageEvent, ReportInvocationUsageResult, ReportUsagePlan, ReportUsageResult, type SetPlanBody, SetPlanBodySchema, type SetPlanResponse, type SubscribeResult, SubscribeResultSchema, SubscriptionResult, UpdateBillingAlertsRequest, type UpdatedSubscriptionResult, type UsageEntitlementResponse, type UsageInvocationReportResponse, UsageParams, type UsageResponse, UsageResult, UsageSeriesParams, type UsageSeriesResponse, UsageSeriesResult, defaultMachine, machineDefinition, machines, objectToSearchParams };
|
package/dist/index.d.ts
CHANGED
|
@@ -6835,18 +6835,55 @@ declare const ReportComputeUsageEvent: z.ZodObject<{
|
|
|
6835
6835
|
durationMs: number;
|
|
6836
6836
|
}>;
|
|
6837
6837
|
type ReportComputeUsageEvent = z.infer<typeof ReportComputeUsageEvent>;
|
|
6838
|
+
declare const ReportUsagePlan: z.ZodObject<{
|
|
6839
|
+
type: z.ZodString;
|
|
6840
|
+
code: z.ZodString;
|
|
6841
|
+
isPaying: z.ZodBoolean;
|
|
6842
|
+
}, "strip", z.ZodTypeAny, {
|
|
6843
|
+
code: string;
|
|
6844
|
+
type: string;
|
|
6845
|
+
isPaying: boolean;
|
|
6846
|
+
}, {
|
|
6847
|
+
code: string;
|
|
6848
|
+
type: string;
|
|
6849
|
+
isPaying: boolean;
|
|
6850
|
+
}>;
|
|
6851
|
+
type ReportUsagePlan = z.infer<typeof ReportUsagePlan>;
|
|
6838
6852
|
declare const ReportUsageResult: z.ZodObject<{
|
|
6839
6853
|
hasAccess: z.ZodBoolean;
|
|
6840
6854
|
balance: z.ZodOptional<z.ZodNumber>;
|
|
6841
6855
|
usage: z.ZodOptional<z.ZodNumber>;
|
|
6842
6856
|
overage: z.ZodOptional<z.ZodNumber>;
|
|
6857
|
+
plan: z.ZodOptional<z.ZodObject<{
|
|
6858
|
+
type: z.ZodString;
|
|
6859
|
+
code: z.ZodString;
|
|
6860
|
+
isPaying: z.ZodBoolean;
|
|
6861
|
+
}, "strip", z.ZodTypeAny, {
|
|
6862
|
+
code: string;
|
|
6863
|
+
type: string;
|
|
6864
|
+
isPaying: boolean;
|
|
6865
|
+
}, {
|
|
6866
|
+
code: string;
|
|
6867
|
+
type: string;
|
|
6868
|
+
isPaying: boolean;
|
|
6869
|
+
}>>;
|
|
6843
6870
|
}, "strip", z.ZodTypeAny, {
|
|
6844
6871
|
hasAccess: boolean;
|
|
6872
|
+
plan?: {
|
|
6873
|
+
code: string;
|
|
6874
|
+
type: string;
|
|
6875
|
+
isPaying: boolean;
|
|
6876
|
+
} | undefined;
|
|
6845
6877
|
balance?: number | undefined;
|
|
6846
6878
|
usage?: number | undefined;
|
|
6847
6879
|
overage?: number | undefined;
|
|
6848
6880
|
}, {
|
|
6849
6881
|
hasAccess: boolean;
|
|
6882
|
+
plan?: {
|
|
6883
|
+
code: string;
|
|
6884
|
+
type: string;
|
|
6885
|
+
isPaying: boolean;
|
|
6886
|
+
} | undefined;
|
|
6850
6887
|
balance?: number | undefined;
|
|
6851
6888
|
usage?: number | undefined;
|
|
6852
6889
|
overage?: number | undefined;
|
|
@@ -7024,4 +7061,4 @@ declare const machines: {
|
|
|
7024
7061
|
type MachineCode = keyof typeof machines;
|
|
7025
7062
|
declare const defaultMachine: MachineCode;
|
|
7026
7063
|
|
|
7027
|
-
export { type BillingAlertsResponse, BillingAlertsResult, BillingClient, type CanceledSubscriptionResult, type CreateSubscriptionFlowStart, CurrentPlan, type CurrentPlanResponse, type CustomerPortal, type CustomerPortalRequestBody, CustomerPortalRequestBodySchema, type CustomerPortalResponse, CustomerPortalSchema, EnterprisePlanDefinition, type Error, ErrorSchema, ExceedableLimit, type FreeConnectRequired, FreeConnectRequiredSchema, type FreeConnected, FreeConnectedSchema, FreePlanDefinition, FreeTierStatus, Limits, type MachineCode, MachineDefinition, type MachineDefinitionInput, PaidPlanDefinition, type PlanDefinition, PlanDefinitionSchema, Plans, type PlansResponse, PlansResult, ReportComputeUsageEvent, ReportInvocationUsageEvent, ReportInvocationUsageResult, ReportUsageResult, type SetPlanBody, SetPlanBodySchema, type SetPlanResponse, type SubscribeResult, SubscribeResultSchema, SubscriptionResult, UpdateBillingAlertsRequest, type UpdatedSubscriptionResult, type UsageEntitlementResponse, type UsageInvocationReportResponse, UsageParams, type UsageResponse, UsageResult, UsageSeriesParams, type UsageSeriesResponse, UsageSeriesResult, defaultMachine, machineDefinition, machines, objectToSearchParams };
|
|
7064
|
+
export { type BillingAlertsResponse, BillingAlertsResult, BillingClient, type CanceledSubscriptionResult, type CreateSubscriptionFlowStart, CurrentPlan, type CurrentPlanResponse, type CustomerPortal, type CustomerPortalRequestBody, CustomerPortalRequestBodySchema, type CustomerPortalResponse, CustomerPortalSchema, EnterprisePlanDefinition, type Error, ErrorSchema, ExceedableLimit, type FreeConnectRequired, FreeConnectRequiredSchema, type FreeConnected, FreeConnectedSchema, FreePlanDefinition, FreeTierStatus, Limits, type MachineCode, MachineDefinition, type MachineDefinitionInput, PaidPlanDefinition, type PlanDefinition, PlanDefinitionSchema, Plans, type PlansResponse, PlansResult, ReportComputeUsageEvent, ReportInvocationUsageEvent, ReportInvocationUsageResult, ReportUsagePlan, ReportUsageResult, type SetPlanBody, SetPlanBodySchema, type SetPlanResponse, type SubscribeResult, SubscribeResultSchema, SubscriptionResult, UpdateBillingAlertsRequest, type UpdatedSubscriptionResult, type UsageEntitlementResponse, type UsageInvocationReportResponse, UsageParams, type UsageResponse, UsageResult, UsageSeriesParams, type UsageSeriesResponse, UsageSeriesResult, defaultMachine, machineDefinition, machines, objectToSearchParams };
|
package/dist/index.js
CHANGED
|
@@ -190,11 +190,17 @@ var UsageSeriesResult = z6.object({
|
|
|
190
190
|
var ReportComputeUsageEvent = z6.object({
|
|
191
191
|
durationMs: z6.number()
|
|
192
192
|
});
|
|
193
|
+
var ReportUsagePlan = z6.object({
|
|
194
|
+
type: z6.string(),
|
|
195
|
+
code: z6.string(),
|
|
196
|
+
isPaying: z6.boolean()
|
|
197
|
+
});
|
|
193
198
|
var ReportUsageResult = z6.object({
|
|
194
199
|
hasAccess: z6.boolean(),
|
|
195
200
|
balance: z6.number().optional(),
|
|
196
201
|
usage: z6.number().optional(),
|
|
197
|
-
overage: z6.number().optional()
|
|
202
|
+
overage: z6.number().optional(),
|
|
203
|
+
plan: ReportUsagePlan.optional()
|
|
198
204
|
});
|
|
199
205
|
var ReportInvocationUsageEvent = z6.object({
|
|
200
206
|
organizationId: z6.string(),
|
|
@@ -467,6 +473,7 @@ export {
|
|
|
467
473
|
ReportComputeUsageEvent,
|
|
468
474
|
ReportInvocationUsageEvent,
|
|
469
475
|
ReportInvocationUsageResult,
|
|
476
|
+
ReportUsagePlan,
|
|
470
477
|
ReportUsageResult,
|
|
471
478
|
SetPlanBodySchema,
|
|
472
479
|
SubscribeResultSchema,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/v3/schemas/planDefinitions.ts","../src/v3/schemas/subscription.ts","../src/v3/schemas/subscribe.ts","../src/v3/schemas/portal.ts","../src/v3/schemas/error.ts","../src/v3/schemas/usage.ts","../src/v3/schemas/billingAlerts.ts","../src/v3/client/index.ts","../src/v3/machineDefinition.ts","../src/v3/machinePresets.ts"],"sourcesContent":["import { z } from \"zod\";\n\nconst ExceedableLimit = z.object({\n number: z.number(),\n canExceed: z.boolean().optional(),\n});\n\nexport type ExceedableLimit = z.infer<typeof ExceedableLimit>;\n\nconst Limits = z.object({\n includedUsage: z.number(),\n concurrentRuns: ExceedableLimit,\n teamMembers: ExceedableLimit,\n schedules: ExceedableLimit,\n logRetentionDays: ExceedableLimit,\n alerts: ExceedableLimit,\n hasStagingEnvironment: z.boolean(),\n realtimeConcurrentConnections: ExceedableLimit,\n branches: ExceedableLimit,\n support: z.enum([\"community\", \"slack\"]),\n});\n\nexport type Limits = z.infer<typeof Limits>;\n\nconst commonMetadata = {\n title: z.string(),\n code: z.string(),\n};\n\nconst pricingLookup = {\n tierPriceCode: z.string(),\n usagePriceCode: z.string(),\n usageCouponCode: z.string().optional(),\n};\n\nconst FreePlanDefinition = z.object({\n ...commonMetadata,\n type: z.literal(\"free\"),\n limits: Limits,\n});\nexport type FreePlanDefinition = z.infer<typeof FreePlanDefinition>;\n\nconst PaidPlanDefinition = z.object({\n ...commonMetadata,\n type: z.literal(\"paid\"),\n tierPrice: z.number(),\n stripe: z.object(pricingLookup),\n limits: Limits,\n});\nexport type PaidPlanDefinition = z.infer<typeof PaidPlanDefinition>;\n\nconst EnterprisePlanDefinition = z.object({\n ...commonMetadata,\n type: z.literal(\"enterprise\"),\n limits: Limits,\n});\nexport type EnterprisePlanDefinition = z.infer<typeof EnterprisePlanDefinition>;\n\nexport const PlanDefinitionSchema = z.discriminatedUnion(\"type\", [\n FreePlanDefinition,\n PaidPlanDefinition,\n EnterprisePlanDefinition,\n]);\nexport type PlanDefinition = z.infer<typeof PlanDefinitionSchema>;\n\nconst MachineDefinition = z.object({\n code: z.string(),\n title: z.string(),\n cpu: z.number(),\n memory: z.number(),\n centsPerMs: z.number(),\n});\n\nexport type MachineDefinition = z.infer<typeof MachineDefinition>;\n\nexport const Plans = z.object({\n free: FreePlanDefinition,\n hobby: PaidPlanDefinition,\n pro: PaidPlanDefinition,\n enterprise: EnterprisePlanDefinition,\n});\nexport type Plans = z.infer<typeof Plans>;\n\nexport const PlansResult = z.object({\n plans: Plans,\n usagePricing: z.object({\n centsPerRunInvocation: z.number(),\n machines: z.record(z.string(), MachineDefinition),\n defaultMachine: z.string(),\n }),\n});\n\nexport type PlansResult = z.infer<typeof PlansResult>;\n","import { z } from \"zod\";\nimport { PlanDefinitionSchema } from \"./planDefinitions\";\n\nconst FreeTierStatus = z.enum([\"requires_connect\", \"approved\", \"rejected\"]);\nexport type FreeTierStatus = z.infer<typeof FreeTierStatus>;\n\nexport const SubscriptionResult = z.object({\n freeTierStatus: FreeTierStatus,\n isPaying: z.boolean(),\n canceledAt: z.string().optional(),\n plan: PlanDefinitionSchema.optional(),\n});\n\nexport type SubscriptionResult = z.infer<typeof SubscriptionResult>;\n\nexport const CurrentPlan = z.object({\n //todo remove this after the next deploy\n subscription: z.any(),\n v3Subscription: SubscriptionResult,\n});\n\nexport type CurrentPlan = z.infer<typeof CurrentPlan>;\n","import { z } from \"zod\";\n\nconst SetPaidPlanBodySchema = z.object({\n type: z.literal(\"paid\"),\n planCode: z.string(),\n userId: z.string(),\n});\n\nconst SetFreePlanBodySchema = z.object({\n type: z.literal(\"free\"),\n userId: z.string(),\n});\n\nexport const SetPlanBodySchema = z.discriminatedUnion(\"type\", [\n SetPaidPlanBodySchema,\n SetFreePlanBodySchema,\n]);\n\nexport type SetPlanBody = z.infer<typeof SetPlanBodySchema>;\n\nexport const FreeConnectRequiredSchema = z.object({\n action: z.literal(\"free_connect_required\"),\n connectUrl: z.string().url(),\n});\n\nexport type FreeConnectRequired = z.infer<typeof FreeConnectRequiredSchema>;\n\nexport const FreeConnectedSchema = z.object({\n action: z.literal(\"free_connected\"),\n accepted: z.boolean(),\n});\n\nexport type FreeConnected = z.infer<typeof FreeConnectedSchema>;\n\nconst UpdatedSubscriptionResultSchema = z.object({\n action: z.literal(\"updated_subscription\"),\n subscription: z.object({\n planCode: z.string(),\n }),\n});\n\nexport type UpdatedSubscriptionResult = z.infer<\n typeof UpdatedSubscriptionResultSchema\n>;\n\nconst CreateSubscriptionFlowStartSchema = z.object({\n action: z.literal(\"create_subscription_flow_start\"),\n subscription: z.object({\n planCode: z.string(),\n }),\n checkoutUrl: z.string().url(),\n});\n\nexport type CreateSubscriptionFlowStart = z.infer<\n typeof CreateSubscriptionFlowStartSchema\n>;\n\nconst CanceledSubscriptionResultSchema = z.object({\n action: z.literal(\"canceled_subscription\"),\n});\n\nexport type CanceledSubscriptionResult = z.infer<\n typeof CanceledSubscriptionResultSchema\n>;\n\nexport const SubscribeResultSchema = z.discriminatedUnion(\"action\", [\n FreeConnectRequiredSchema,\n FreeConnectedSchema,\n CreateSubscriptionFlowStartSchema,\n UpdatedSubscriptionResultSchema,\n CanceledSubscriptionResultSchema,\n]);\n\nexport type SubscribeResult = z.infer<typeof SubscribeResultSchema>;\n","import { z } from \"zod\";\n\nexport const CustomerPortalRequestBodySchema = z.object({\n returnUrl: z.string(),\n});\n\nexport type CustomerPortalRequestBody = z.infer<\n typeof CustomerPortalRequestBodySchema\n>;\n\nexport const CustomerPortalSchema = z.object({\n customerPortalUrl: z.string().optional(),\n});\n\nexport type CustomerPortal = z.infer<typeof CustomerPortalSchema>;\n","import { z } from \"zod\";\n\nexport const ErrorSchema = z.object({\n error: z.string(),\n});\n\nexport type Error = z.infer<typeof ErrorSchema>;\n","import { z } from \"zod\";\n\nexport const UsageParams = z.object({\n from: z.coerce.date(),\n to: z.coerce.date(),\n});\nexport type UsageParams = z.infer<typeof UsageParams>;\n\nexport const UsageResult = z.object({\n cents: z.number(),\n});\nexport type UsageResult = z.infer<typeof UsageResult>;\n\nconst Window = z.enum([\"MINUTE\", \"HOUR\", \"DAY\"]);\n\nconst BooleanParam = z.preprocess(\n (val) => (val === \"true\" ? true : false),\n z.boolean()\n);\n\nexport const UsageSeriesParams = z.object({\n from: z.coerce.date(),\n to: z.coerce.date(),\n /** defaults to DAY */\n window: Window.optional(),\n timezone: z.string().optional(),\n //these don't work at the moment because you can't group by items that aren't defined in the meter group by\n // groupByEnvironmentType: BooleanParam.optional(),\n // groupByTaskIdentifier: BooleanParam.optional(),\n});\n\nexport type UsageSeriesParams = z.infer<typeof UsageSeriesParams>;\n\nexport const UsageSeriesResult = z.object({\n from: z.string(),\n to: z.string(),\n window: Window.optional(),\n data: z\n .object({\n value: z.number(),\n windowStart: z.string(),\n windowEnd: z.string(),\n //these don't work at the moment\n // groupBy: z\n // .object({\n // environmentType: z.string().optional(),\n // taskIdentifer: z.string().optional(),\n // })\n // .optional(),\n })\n .array(),\n});\n\nexport type UsageSeriesResult = z.infer<typeof UsageSeriesResult>;\n\nexport const ReportComputeUsageEvent = z.object({\n durationMs: z.number(),\n});\n\nexport type ReportComputeUsageEvent = z.infer<typeof ReportComputeUsageEvent>;\n\nexport const ReportUsageResult = z.object({\n hasAccess: z.boolean(),\n balance: z.number().optional(),\n usage: z.number().optional(),\n overage: z.number().optional(),\n});\n\nexport type ReportUsageResult = z.infer<typeof ReportUsageResult>;\n\nexport const ReportInvocationUsageEvent = z.object({\n organizationId: z.string(),\n costInCents: z.number(),\n additionalData: z.record(z.any()).optional(),\n});\n\nexport type ReportInvocationUsageEvent = z.infer<\n typeof ReportInvocationUsageEvent\n>;\n\nexport const ReportInvocationUsageResult = z.discriminatedUnion(\"success\", [\n z.object({\n success: z.literal(true),\n }),\n z.object({\n success: z.literal(false),\n error: z.string(),\n }),\n]);\n","import { z } from \"zod\";\n\nconst BillingAlertDefinition = z.object({\n amount: z.number(),\n emails: z.array(z.string()),\n alertLevels: z.array(z.number()),\n});\n\nexport const BillingAlertsResult = BillingAlertDefinition;\n\nexport type BillingAlertsResult = z.infer<typeof BillingAlertsResult>;\n\nexport const UpdateBillingAlertsRequest = z.object({\n amount: z.number(),\n emails: z.array(z.string()),\n alertLevels: z.array(z.number()),\n});\n\nexport type UpdateBillingAlertsRequest = z.infer<\n typeof UpdateBillingAlertsRequest\n>;\n","import { ZodType, z } from \"zod\";\nimport {\n BillingAlertsResult,\n CurrentPlan,\n CustomerPortalRequestBody,\n CustomerPortalSchema,\n ErrorSchema,\n PlansResult,\n ReportInvocationUsageEvent,\n ReportInvocationUsageResult,\n ReportUsageResult,\n SetPlanBody,\n SubscribeResultSchema,\n UpdateBillingAlertsRequest,\n UsageParams,\n UsageResult,\n UsageSeriesParams,\n UsageSeriesResult,\n} from \"../schemas\";\n\ntype BillingClientConfig = {\n url: string;\n apiKey: string;\n};\n\ntype SuccessResult<TSchema extends ZodType> = {\n success: true;\n} & z.infer<TSchema>;\n\ntype ErrorResult = {\n success: false;\n error: string;\n};\n\ntype Result<TSchema extends ZodType> = SuccessResult<TSchema> | ErrorResult;\n\nexport type PlansResponse = Result<typeof PlansResult>;\nexport type CurrentPlanResponse = Result<typeof CurrentPlan>;\nexport type SetPlanResponse = Result<typeof SubscribeResultSchema>;\nexport type CustomerPortalResponse = Result<typeof CustomerPortalSchema>;\nexport type UsageResponse = Result<typeof UsageResult>;\nexport type UsageSeriesResponse = Result<typeof UsageSeriesResult>;\nexport type UsageInvocationReportResponse = Result<\n typeof ReportInvocationUsageResult\n>;\nexport type UsageEntitlementResponse = Result<typeof ReportUsageResult>;\nexport type BillingAlertsResponse = Result<typeof BillingAlertsResult>;\n\nexport class BillingClient {\n constructor(private readonly config: BillingClientConfig) {}\n\n async plans(): Promise<PlansResponse> {\n return await this.fetch(`/api/v1/plans/v3`, PlansResult);\n }\n\n async currentPlan(orgId: string): Promise<CurrentPlanResponse> {\n return await this.fetch(`/api/v1/orgs/${orgId}`, CurrentPlan);\n }\n\n async usage(orgId: string, params: UsageParams): Promise<UsageResponse> {\n const search = objectToSearchParams(params);\n return await this.fetch(\n `/api/v1/orgs/${orgId}/usage?${search?.toString()}`,\n UsageResult\n );\n }\n\n async usageSeries(\n orgId: string,\n params: UsageSeriesParams\n ): Promise<UsageSeriesResponse> {\n const search = objectToSearchParams(params);\n return await this.fetch(\n `/api/v1/orgs/${orgId}/usage/series?${search?.toString()}`,\n UsageSeriesResult\n );\n }\n\n async setPlan(orgId: string, body: SetPlanBody): Promise<SetPlanResponse> {\n return await this.fetch(\n `/api/v1/orgs/${orgId}/v3/subscription`,\n SubscribeResultSchema,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body),\n }\n );\n }\n\n async createPortalSession(\n orgId: string,\n body: CustomerPortalRequestBody\n ): Promise<CustomerPortalResponse> {\n return await this.fetch(\n `/api/v1/orgs/${orgId}/v3/subscription/portal`,\n CustomerPortalSchema,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body),\n }\n );\n }\n\n /**\n *\n * @param event The data is in the body, not using a JWT\n * @returns details about usage\n */\n async reportInvocationUsage(\n event: ReportInvocationUsageEvent\n ): Promise<UsageInvocationReportResponse> {\n return await this.fetch(\n `/api/v1/usage/ingest/invocation`,\n ReportInvocationUsageResult,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(event),\n }\n );\n }\n\n /**\n *\n * @param event The data is in the body, not using a JWT\n * @returns details about usage\n */\n async getEntitlement(orgId: string): Promise<UsageEntitlementResponse> {\n return await this.fetch(\n `/api/v1/orgs/${orgId}/usage/entitlement`,\n ReportUsageResult\n );\n }\n\n async getBillingAlerts(orgId: string): Promise<BillingAlertsResponse> {\n return await this.fetch(\n `/api/v1/orgs/${orgId}/billing-alerts`,\n BillingAlertsResult\n );\n }\n\n async updateBillingAlerts(\n orgId: string,\n body: UpdateBillingAlertsRequest\n ): Promise<BillingAlertsResponse> {\n return await this.fetch(\n `/api/v1/orgs/${orgId}/billing-alerts`,\n BillingAlertsResult,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body),\n }\n );\n }\n\n async fetch<TSchema extends ZodType = z.ZodTypeAny>(\n path: string,\n schema: TSchema,\n requestInit?: RequestInit\n ): Promise<Result<TSchema>> {\n const response = await fetch(`${this.config.url}${path}`, {\n ...requestInit,\n headers: {\n ...requestInit?.headers,\n Authorization: `Bearer ${this.config.apiKey}`,\n },\n });\n\n if (!response.ok) {\n const json = await response.json();\n const parsedError = ErrorSchema.parse(json);\n return {\n success: false,\n error: parsedError.error,\n };\n }\n\n const json = await response.json();\n const parsed = schema.parse(json);\n return {\n success: true,\n ...parsed,\n };\n }\n}\n\nexport function objectToSearchParams(\n obj:\n | undefined\n | Record<\n string,\n | string\n | string[]\n | number\n | number[]\n | boolean\n | boolean[]\n | Date\n | Date[]\n | undefined\n >\n): URLSearchParams | undefined {\n if (!obj) return undefined;\n\n const searchParams = new URLSearchParams();\n //for each item add to the search params, skip undefined and join arrays with commas\n Object.entries(obj).forEach(([key, value]) => {\n if (value === undefined) return;\n if (Array.isArray(value)) {\n const values = value.map((d) => {\n if (d instanceof Date) return d.toISOString();\n return d;\n });\n\n searchParams.append(key, values.join(\",\"));\n } else {\n const v = value instanceof Date ? value.toISOString() : value;\n searchParams.append(key, v.toString());\n }\n });\n\n return searchParams;\n}\n","import { MachineDefinition } from \"./schemas\";\n\nexport type MachineDefinitionInput = {\n code: string;\n title: string;\n cpu: number;\n memory: number;\n centsPerVCpuSecond: number;\n centsPerGbRamSecond: number;\n};\n\nexport function machineDefinition({\n code,\n title,\n cpu,\n memory,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n}: MachineDefinitionInput): MachineDefinition {\n const centsPerSecond =\n cpu * centsPerVCpuSecond + memory * centsPerGbRamSecond;\n const centsPerMs = centsPerSecond / 1000;\n return {\n code,\n title,\n cpu,\n memory,\n centsPerMs,\n };\n}\n","import { machineDefinition } from \"./machineDefinition\";\n\nconst centsPerVCpuSecond = Number(process.env.CENTS_PER_VCPU_SECOND ?? 0);\nconst centsPerGbRamSecond = Number(process.env.CENTS_PER_GB_RAM_SECOND ?? 0);\n\nexport const machines = {\n micro: machineDefinition({\n code: \"micro\",\n title: \"Micro\",\n cpu: 0.25,\n memory: 0.25,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"small-1x\": machineDefinition({\n code: \"small-1x\",\n title: \"Small 1x\",\n cpu: 0.5,\n memory: 0.5,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"small-2x\": machineDefinition({\n code: \"small-2x\",\n title: \"Small 2x\",\n cpu: 1,\n memory: 1,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"medium-1x\": machineDefinition({\n code: \"medium-1x\",\n title: \"Medium 1x\",\n cpu: 1,\n memory: 2,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"medium-2x\": machineDefinition({\n code: \"medium-2x\",\n title: \"Medium 2x\",\n cpu: 2,\n memory: 4,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"large-1x\": machineDefinition({\n code: \"large-1x\",\n title: \"Large 1x\",\n cpu: 4,\n memory: 8,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"large-2x\": machineDefinition({\n code: \"large-2x\",\n title: \"Large 2x\",\n cpu: 8,\n memory: 16,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n};\n\nexport type MachineCode = keyof typeof machines;\n\nexport const defaultMachine: MachineCode = \"small-1x\";\n"],"mappings":"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","names":["z","z","z","z","z","z","z","json","centsPerVCpuSecond","centsPerGbRamSecond"]}
|
|
1
|
+
{"version":3,"sources":["../src/v3/schemas/planDefinitions.ts","../src/v3/schemas/subscription.ts","../src/v3/schemas/subscribe.ts","../src/v3/schemas/portal.ts","../src/v3/schemas/error.ts","../src/v3/schemas/usage.ts","../src/v3/schemas/billingAlerts.ts","../src/v3/client/index.ts","../src/v3/machineDefinition.ts","../src/v3/machinePresets.ts"],"sourcesContent":["import { z } from \"zod\";\n\nconst ExceedableLimit = z.object({\n number: z.number(),\n canExceed: z.boolean().optional(),\n});\n\nexport type ExceedableLimit = z.infer<typeof ExceedableLimit>;\n\nconst Limits = z.object({\n includedUsage: z.number(),\n concurrentRuns: ExceedableLimit,\n teamMembers: ExceedableLimit,\n schedules: ExceedableLimit,\n logRetentionDays: ExceedableLimit,\n alerts: ExceedableLimit,\n hasStagingEnvironment: z.boolean(),\n realtimeConcurrentConnections: ExceedableLimit,\n branches: ExceedableLimit,\n support: z.enum([\"community\", \"slack\"]),\n});\n\nexport type Limits = z.infer<typeof Limits>;\n\nconst commonMetadata = {\n title: z.string(),\n code: z.string(),\n};\n\nconst pricingLookup = {\n tierPriceCode: z.string(),\n usagePriceCode: z.string(),\n usageCouponCode: z.string().optional(),\n};\n\nconst FreePlanDefinition = z.object({\n ...commonMetadata,\n type: z.literal(\"free\"),\n limits: Limits,\n});\nexport type FreePlanDefinition = z.infer<typeof FreePlanDefinition>;\n\nconst PaidPlanDefinition = z.object({\n ...commonMetadata,\n type: z.literal(\"paid\"),\n tierPrice: z.number(),\n stripe: z.object(pricingLookup),\n limits: Limits,\n});\nexport type PaidPlanDefinition = z.infer<typeof PaidPlanDefinition>;\n\nconst EnterprisePlanDefinition = z.object({\n ...commonMetadata,\n type: z.literal(\"enterprise\"),\n limits: Limits,\n});\nexport type EnterprisePlanDefinition = z.infer<typeof EnterprisePlanDefinition>;\n\nexport const PlanDefinitionSchema = z.discriminatedUnion(\"type\", [\n FreePlanDefinition,\n PaidPlanDefinition,\n EnterprisePlanDefinition,\n]);\nexport type PlanDefinition = z.infer<typeof PlanDefinitionSchema>;\n\nconst MachineDefinition = z.object({\n code: z.string(),\n title: z.string(),\n cpu: z.number(),\n memory: z.number(),\n centsPerMs: z.number(),\n});\n\nexport type MachineDefinition = z.infer<typeof MachineDefinition>;\n\nexport const Plans = z.object({\n free: FreePlanDefinition,\n hobby: PaidPlanDefinition,\n pro: PaidPlanDefinition,\n enterprise: EnterprisePlanDefinition,\n});\nexport type Plans = z.infer<typeof Plans>;\n\nexport const PlansResult = z.object({\n plans: Plans,\n usagePricing: z.object({\n centsPerRunInvocation: z.number(),\n machines: z.record(z.string(), MachineDefinition),\n defaultMachine: z.string(),\n }),\n});\n\nexport type PlansResult = z.infer<typeof PlansResult>;\n","import { z } from \"zod\";\nimport { PlanDefinitionSchema } from \"./planDefinitions\";\n\nconst FreeTierStatus = z.enum([\"requires_connect\", \"approved\", \"rejected\"]);\nexport type FreeTierStatus = z.infer<typeof FreeTierStatus>;\n\nexport const SubscriptionResult = z.object({\n freeTierStatus: FreeTierStatus,\n isPaying: z.boolean(),\n canceledAt: z.string().optional(),\n plan: PlanDefinitionSchema.optional(),\n});\n\nexport type SubscriptionResult = z.infer<typeof SubscriptionResult>;\n\nexport const CurrentPlan = z.object({\n //todo remove this after the next deploy\n subscription: z.any(),\n v3Subscription: SubscriptionResult,\n});\n\nexport type CurrentPlan = z.infer<typeof CurrentPlan>;\n","import { z } from \"zod\";\n\nconst SetPaidPlanBodySchema = z.object({\n type: z.literal(\"paid\"),\n planCode: z.string(),\n userId: z.string(),\n});\n\nconst SetFreePlanBodySchema = z.object({\n type: z.literal(\"free\"),\n userId: z.string(),\n});\n\nexport const SetPlanBodySchema = z.discriminatedUnion(\"type\", [\n SetPaidPlanBodySchema,\n SetFreePlanBodySchema,\n]);\n\nexport type SetPlanBody = z.infer<typeof SetPlanBodySchema>;\n\nexport const FreeConnectRequiredSchema = z.object({\n action: z.literal(\"free_connect_required\"),\n connectUrl: z.string().url(),\n});\n\nexport type FreeConnectRequired = z.infer<typeof FreeConnectRequiredSchema>;\n\nexport const FreeConnectedSchema = z.object({\n action: z.literal(\"free_connected\"),\n accepted: z.boolean(),\n});\n\nexport type FreeConnected = z.infer<typeof FreeConnectedSchema>;\n\nconst UpdatedSubscriptionResultSchema = z.object({\n action: z.literal(\"updated_subscription\"),\n subscription: z.object({\n planCode: z.string(),\n }),\n});\n\nexport type UpdatedSubscriptionResult = z.infer<\n typeof UpdatedSubscriptionResultSchema\n>;\n\nconst CreateSubscriptionFlowStartSchema = z.object({\n action: z.literal(\"create_subscription_flow_start\"),\n subscription: z.object({\n planCode: z.string(),\n }),\n checkoutUrl: z.string().url(),\n});\n\nexport type CreateSubscriptionFlowStart = z.infer<\n typeof CreateSubscriptionFlowStartSchema\n>;\n\nconst CanceledSubscriptionResultSchema = z.object({\n action: z.literal(\"canceled_subscription\"),\n});\n\nexport type CanceledSubscriptionResult = z.infer<\n typeof CanceledSubscriptionResultSchema\n>;\n\nexport const SubscribeResultSchema = z.discriminatedUnion(\"action\", [\n FreeConnectRequiredSchema,\n FreeConnectedSchema,\n CreateSubscriptionFlowStartSchema,\n UpdatedSubscriptionResultSchema,\n CanceledSubscriptionResultSchema,\n]);\n\nexport type SubscribeResult = z.infer<typeof SubscribeResultSchema>;\n","import { z } from \"zod\";\n\nexport const CustomerPortalRequestBodySchema = z.object({\n returnUrl: z.string(),\n});\n\nexport type CustomerPortalRequestBody = z.infer<\n typeof CustomerPortalRequestBodySchema\n>;\n\nexport const CustomerPortalSchema = z.object({\n customerPortalUrl: z.string().optional(),\n});\n\nexport type CustomerPortal = z.infer<typeof CustomerPortalSchema>;\n","import { z } from \"zod\";\n\nexport const ErrorSchema = z.object({\n error: z.string(),\n});\n\nexport type Error = z.infer<typeof ErrorSchema>;\n","import { z } from \"zod\";\n\nexport const UsageParams = z.object({\n from: z.coerce.date(),\n to: z.coerce.date(),\n});\nexport type UsageParams = z.infer<typeof UsageParams>;\n\nexport const UsageResult = z.object({\n cents: z.number(),\n});\nexport type UsageResult = z.infer<typeof UsageResult>;\n\nconst Window = z.enum([\"MINUTE\", \"HOUR\", \"DAY\"]);\n\nconst BooleanParam = z.preprocess(\n (val) => (val === \"true\" ? true : false),\n z.boolean()\n);\n\nexport const UsageSeriesParams = z.object({\n from: z.coerce.date(),\n to: z.coerce.date(),\n /** defaults to DAY */\n window: Window.optional(),\n timezone: z.string().optional(),\n //these don't work at the moment because you can't group by items that aren't defined in the meter group by\n // groupByEnvironmentType: BooleanParam.optional(),\n // groupByTaskIdentifier: BooleanParam.optional(),\n});\n\nexport type UsageSeriesParams = z.infer<typeof UsageSeriesParams>;\n\nexport const UsageSeriesResult = z.object({\n from: z.string(),\n to: z.string(),\n window: Window.optional(),\n data: z\n .object({\n value: z.number(),\n windowStart: z.string(),\n windowEnd: z.string(),\n //these don't work at the moment\n // groupBy: z\n // .object({\n // environmentType: z.string().optional(),\n // taskIdentifer: z.string().optional(),\n // })\n // .optional(),\n })\n .array(),\n});\n\nexport type UsageSeriesResult = z.infer<typeof UsageSeriesResult>;\n\nexport const ReportComputeUsageEvent = z.object({\n durationMs: z.number(),\n});\n\nexport type ReportComputeUsageEvent = z.infer<typeof ReportComputeUsageEvent>;\n\nexport const ReportUsagePlan = z.object({\n type: z.string(),\n code: z.string(),\n isPaying: z.boolean(),\n});\n\nexport type ReportUsagePlan = z.infer<typeof ReportUsagePlan>;\n\nexport const ReportUsageResult = z.object({\n hasAccess: z.boolean(),\n balance: z.number().optional(),\n usage: z.number().optional(),\n overage: z.number().optional(),\n plan: ReportUsagePlan.optional(),\n});\n\nexport type ReportUsageResult = z.infer<typeof ReportUsageResult>;\n\nexport const ReportInvocationUsageEvent = z.object({\n organizationId: z.string(),\n costInCents: z.number(),\n additionalData: z.record(z.any()).optional(),\n});\n\nexport type ReportInvocationUsageEvent = z.infer<\n typeof ReportInvocationUsageEvent\n>;\n\nexport const ReportInvocationUsageResult = z.discriminatedUnion(\"success\", [\n z.object({\n success: z.literal(true),\n }),\n z.object({\n success: z.literal(false),\n error: z.string(),\n }),\n]);\n","import { z } from \"zod\";\n\nconst BillingAlertDefinition = z.object({\n amount: z.number(),\n emails: z.array(z.string()),\n alertLevels: z.array(z.number()),\n});\n\nexport const BillingAlertsResult = BillingAlertDefinition;\n\nexport type BillingAlertsResult = z.infer<typeof BillingAlertsResult>;\n\nexport const UpdateBillingAlertsRequest = z.object({\n amount: z.number(),\n emails: z.array(z.string()),\n alertLevels: z.array(z.number()),\n});\n\nexport type UpdateBillingAlertsRequest = z.infer<\n typeof UpdateBillingAlertsRequest\n>;\n","import { ZodType, z } from \"zod\";\nimport {\n BillingAlertsResult,\n CurrentPlan,\n CustomerPortalRequestBody,\n CustomerPortalSchema,\n ErrorSchema,\n PlansResult,\n ReportInvocationUsageEvent,\n ReportInvocationUsageResult,\n ReportUsageResult,\n SetPlanBody,\n SubscribeResultSchema,\n UpdateBillingAlertsRequest,\n UsageParams,\n UsageResult,\n UsageSeriesParams,\n UsageSeriesResult,\n} from \"../schemas\";\n\ntype BillingClientConfig = {\n url: string;\n apiKey: string;\n};\n\ntype SuccessResult<TSchema extends ZodType> = {\n success: true;\n} & z.infer<TSchema>;\n\ntype ErrorResult = {\n success: false;\n error: string;\n};\n\ntype Result<TSchema extends ZodType> = SuccessResult<TSchema> | ErrorResult;\n\nexport type PlansResponse = Result<typeof PlansResult>;\nexport type CurrentPlanResponse = Result<typeof CurrentPlan>;\nexport type SetPlanResponse = Result<typeof SubscribeResultSchema>;\nexport type CustomerPortalResponse = Result<typeof CustomerPortalSchema>;\nexport type UsageResponse = Result<typeof UsageResult>;\nexport type UsageSeriesResponse = Result<typeof UsageSeriesResult>;\nexport type UsageInvocationReportResponse = Result<\n typeof ReportInvocationUsageResult\n>;\nexport type UsageEntitlementResponse = Result<typeof ReportUsageResult>;\nexport type BillingAlertsResponse = Result<typeof BillingAlertsResult>;\n\nexport class BillingClient {\n constructor(private readonly config: BillingClientConfig) {}\n\n async plans(): Promise<PlansResponse> {\n return await this.fetch(`/api/v1/plans/v3`, PlansResult);\n }\n\n async currentPlan(orgId: string): Promise<CurrentPlanResponse> {\n return await this.fetch(`/api/v1/orgs/${orgId}`, CurrentPlan);\n }\n\n async usage(orgId: string, params: UsageParams): Promise<UsageResponse> {\n const search = objectToSearchParams(params);\n return await this.fetch(\n `/api/v1/orgs/${orgId}/usage?${search?.toString()}`,\n UsageResult\n );\n }\n\n async usageSeries(\n orgId: string,\n params: UsageSeriesParams\n ): Promise<UsageSeriesResponse> {\n const search = objectToSearchParams(params);\n return await this.fetch(\n `/api/v1/orgs/${orgId}/usage/series?${search?.toString()}`,\n UsageSeriesResult\n );\n }\n\n async setPlan(orgId: string, body: SetPlanBody): Promise<SetPlanResponse> {\n return await this.fetch(\n `/api/v1/orgs/${orgId}/v3/subscription`,\n SubscribeResultSchema,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body),\n }\n );\n }\n\n async createPortalSession(\n orgId: string,\n body: CustomerPortalRequestBody\n ): Promise<CustomerPortalResponse> {\n return await this.fetch(\n `/api/v1/orgs/${orgId}/v3/subscription/portal`,\n CustomerPortalSchema,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body),\n }\n );\n }\n\n /**\n *\n * @param event The data is in the body, not using a JWT\n * @returns details about usage\n */\n async reportInvocationUsage(\n event: ReportInvocationUsageEvent\n ): Promise<UsageInvocationReportResponse> {\n return await this.fetch(\n `/api/v1/usage/ingest/invocation`,\n ReportInvocationUsageResult,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(event),\n }\n );\n }\n\n /**\n *\n * @param event The data is in the body, not using a JWT\n * @returns details about usage\n */\n async getEntitlement(orgId: string): Promise<UsageEntitlementResponse> {\n return await this.fetch(\n `/api/v1/orgs/${orgId}/usage/entitlement`,\n ReportUsageResult\n );\n }\n\n async getBillingAlerts(orgId: string): Promise<BillingAlertsResponse> {\n return await this.fetch(\n `/api/v1/orgs/${orgId}/billing-alerts`,\n BillingAlertsResult\n );\n }\n\n async updateBillingAlerts(\n orgId: string,\n body: UpdateBillingAlertsRequest\n ): Promise<BillingAlertsResponse> {\n return await this.fetch(\n `/api/v1/orgs/${orgId}/billing-alerts`,\n BillingAlertsResult,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body),\n }\n );\n }\n\n async fetch<TSchema extends ZodType = z.ZodTypeAny>(\n path: string,\n schema: TSchema,\n requestInit?: RequestInit\n ): Promise<Result<TSchema>> {\n const response = await fetch(`${this.config.url}${path}`, {\n ...requestInit,\n headers: {\n ...requestInit?.headers,\n Authorization: `Bearer ${this.config.apiKey}`,\n },\n });\n\n if (!response.ok) {\n const json = await response.json();\n const parsedError = ErrorSchema.parse(json);\n return {\n success: false,\n error: parsedError.error,\n };\n }\n\n const json = await response.json();\n const parsed = schema.parse(json);\n return {\n success: true,\n ...parsed,\n };\n }\n}\n\nexport function objectToSearchParams(\n obj:\n | undefined\n | Record<\n string,\n | string\n | string[]\n | number\n | number[]\n | boolean\n | boolean[]\n | Date\n | Date[]\n | undefined\n >\n): URLSearchParams | undefined {\n if (!obj) return undefined;\n\n const searchParams = new URLSearchParams();\n //for each item add to the search params, skip undefined and join arrays with commas\n Object.entries(obj).forEach(([key, value]) => {\n if (value === undefined) return;\n if (Array.isArray(value)) {\n const values = value.map((d) => {\n if (d instanceof Date) return d.toISOString();\n return d;\n });\n\n searchParams.append(key, values.join(\",\"));\n } else {\n const v = value instanceof Date ? value.toISOString() : value;\n searchParams.append(key, v.toString());\n }\n });\n\n return searchParams;\n}\n","import { MachineDefinition } from \"./schemas\";\n\nexport type MachineDefinitionInput = {\n code: string;\n title: string;\n cpu: number;\n memory: number;\n centsPerVCpuSecond: number;\n centsPerGbRamSecond: number;\n};\n\nexport function machineDefinition({\n code,\n title,\n cpu,\n memory,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n}: MachineDefinitionInput): MachineDefinition {\n const centsPerSecond =\n cpu * centsPerVCpuSecond + memory * centsPerGbRamSecond;\n const centsPerMs = centsPerSecond / 1000;\n return {\n code,\n title,\n cpu,\n memory,\n centsPerMs,\n };\n}\n","import { machineDefinition } from \"./machineDefinition\";\n\nconst centsPerVCpuSecond = Number(process.env.CENTS_PER_VCPU_SECOND ?? 0);\nconst centsPerGbRamSecond = Number(process.env.CENTS_PER_GB_RAM_SECOND ?? 0);\n\nexport const machines = {\n micro: machineDefinition({\n code: \"micro\",\n title: \"Micro\",\n cpu: 0.25,\n memory: 0.25,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"small-1x\": machineDefinition({\n code: \"small-1x\",\n title: \"Small 1x\",\n cpu: 0.5,\n memory: 0.5,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"small-2x\": machineDefinition({\n code: \"small-2x\",\n title: \"Small 2x\",\n cpu: 1,\n memory: 1,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"medium-1x\": machineDefinition({\n code: \"medium-1x\",\n title: \"Medium 1x\",\n cpu: 1,\n memory: 2,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"medium-2x\": machineDefinition({\n code: \"medium-2x\",\n title: \"Medium 2x\",\n cpu: 2,\n memory: 4,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"large-1x\": machineDefinition({\n code: \"large-1x\",\n title: \"Large 1x\",\n cpu: 4,\n memory: 8,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n \"large-2x\": machineDefinition({\n code: \"large-2x\",\n title: \"Large 2x\",\n cpu: 8,\n memory: 16,\n centsPerVCpuSecond,\n centsPerGbRamSecond,\n }),\n};\n\nexport type MachineCode = keyof typeof machines;\n\nexport const defaultMachine: MachineCode = \"small-1x\";\n"],"mappings":"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","names":["z","z","z","z","z","z","z","json","centsPerVCpuSecond","centsPerGbRamSecond"]}
|
package/package.json
CHANGED
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trigger.dev/platform",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.18",
|
|
4
4
|
"description": "Used to communicate with the Trigger.dev platform. This is not a package you should use directly.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
|
-
"types": "dist/index.d.ts",
|
|
8
|
-
"main": "dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"main": "./dist/index.js",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"default": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"require": "./dist/index.cjs",
|
|
16
|
+
"types": "./dist/index.d.ts"
|
|
17
|
+
},
|
|
18
|
+
"./package.json": "./package.json"
|
|
19
|
+
},
|
|
9
20
|
"files": [
|
|
10
21
|
"dist"
|
|
11
22
|
],
|