@trigger.dev/platform 1.0.14 → 1.0.16
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/{v3/index.cjs → index.cjs} +122 -130
- package/dist/index.cjs.map +1 -0
- package/dist/{v3/index.d.cts → index.d.cts} +758 -221
- package/dist/{v3/index.d.ts → index.d.ts} +758 -221
- package/dist/{v3/index.js → index.js} +120 -130
- package/dist/index.js.map +1 -0
- package/package.json +1 -9
- package/dist/v2/index.cjs +0 -414
- package/dist/v2/index.cjs.map +0 -1
- package/dist/v2/index.d.cts +0 -1557
- package/dist/v2/index.d.ts +0 -1557
- package/dist/v2/index.js +0 -373
- package/dist/v2/index.js.map +0 -1
- package/dist/v3/index.cjs.map +0 -1
- package/dist/v3/index.js.map +0 -1
|
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/v3/index.ts
|
|
21
21
|
var v3_exports = {};
|
|
22
22
|
__export(v3_exports, {
|
|
23
|
+
BillingAlertsResult: () => BillingAlertsResult,
|
|
23
24
|
BillingClient: () => BillingClient,
|
|
24
25
|
CurrentPlan: () => CurrentPlan,
|
|
25
26
|
CustomerPortalRequestBodySchema: () => CustomerPortalRequestBodySchema,
|
|
@@ -34,9 +35,10 @@ __export(v3_exports, {
|
|
|
34
35
|
ReportInvocationUsageEvent: () => ReportInvocationUsageEvent,
|
|
35
36
|
ReportInvocationUsageResult: () => ReportInvocationUsageResult,
|
|
36
37
|
ReportUsageResult: () => ReportUsageResult,
|
|
37
|
-
SetPlanBodySchema: () =>
|
|
38
|
+
SetPlanBodySchema: () => SetPlanBodySchema,
|
|
38
39
|
SubscribeResultSchema: () => SubscribeResultSchema,
|
|
39
40
|
SubscriptionResult: () => SubscriptionResult,
|
|
41
|
+
UpdateBillingAlertsRequest: () => UpdateBillingAlertsRequest,
|
|
40
42
|
UsageParams: () => UsageParams,
|
|
41
43
|
UsageResult: () => UsageResult,
|
|
42
44
|
UsageSeriesParams: () => UsageSeriesParams,
|
|
@@ -63,6 +65,7 @@ var Limits = import_zod.z.object({
|
|
|
63
65
|
alerts: ExceedableLimit,
|
|
64
66
|
hasStagingEnvironment: import_zod.z.boolean(),
|
|
65
67
|
realtimeConcurrentConnections: ExceedableLimit,
|
|
68
|
+
branches: ExceedableLimit,
|
|
66
69
|
support: import_zod.z.enum(["community", "slack"])
|
|
67
70
|
});
|
|
68
71
|
var commonMetadata = {
|
|
@@ -119,106 +122,60 @@ var PlansResult = import_zod.z.object({
|
|
|
119
122
|
});
|
|
120
123
|
|
|
121
124
|
// src/v3/schemas/subscription.ts
|
|
122
|
-
var import_zod3 = require("zod");
|
|
123
|
-
|
|
124
|
-
// src/v2/schemas/usage.ts
|
|
125
125
|
var import_zod2 = require("zod");
|
|
126
|
-
var
|
|
127
|
-
|
|
128
|
-
code: import_zod2.z.string()
|
|
129
|
-
}).optional(),
|
|
130
|
-
freeAllowance: import_zod2.z.number().optional()
|
|
131
|
-
});
|
|
132
|
-
var ActiveSubscriptionSchema = import_zod2.z.object({
|
|
133
|
-
isPaying: import_zod2.z.boolean(),
|
|
134
|
-
plan: import_zod2.z.object({
|
|
135
|
-
title: import_zod2.z.string(),
|
|
136
|
-
code: import_zod2.z.string(),
|
|
137
|
-
concurrentRuns: import_zod2.z.object({
|
|
138
|
-
pricing: import_zod2.z.object({
|
|
139
|
-
code: import_zod2.z.string(),
|
|
140
|
-
upto: import_zod2.z.number().optional(),
|
|
141
|
-
tierCost: import_zod2.z.number().optional()
|
|
142
|
-
}).optional(),
|
|
143
|
-
freeAllowance: import_zod2.z.number().optional()
|
|
144
|
-
}),
|
|
145
|
-
runs: RunPricingSchema.optional()
|
|
146
|
-
}),
|
|
147
|
-
limits: import_zod2.z.object({
|
|
148
|
-
runs: import_zod2.z.number().optional(),
|
|
149
|
-
concurrentRuns: import_zod2.z.number().optional()
|
|
150
|
-
}),
|
|
151
|
-
canceledAt: import_zod2.z.string().optional()
|
|
152
|
-
});
|
|
153
|
-
var CurrentPlanSchema = import_zod2.z.object({
|
|
154
|
-
subscription: ActiveSubscriptionSchema.optional()
|
|
155
|
-
});
|
|
156
|
-
var SetPaidPlanBodySchema = import_zod2.z.object({
|
|
157
|
-
type: import_zod2.z.literal("paid"),
|
|
158
|
-
planCode: import_zod2.z.string(),
|
|
159
|
-
concurrentRunBracket: import_zod2.z.string()
|
|
160
|
-
});
|
|
161
|
-
var SetFreePlanBodySchema = import_zod2.z.object({
|
|
162
|
-
type: import_zod2.z.literal("free")
|
|
163
|
-
});
|
|
164
|
-
var SetPlanBodySchema = import_zod2.z.discriminatedUnion("type", [
|
|
165
|
-
SetPaidPlanBodySchema,
|
|
166
|
-
SetFreePlanBodySchema
|
|
167
|
-
]);
|
|
168
|
-
|
|
169
|
-
// src/v3/schemas/subscription.ts
|
|
170
|
-
var FreeTierStatus = import_zod3.z.enum(["requires_connect", "approved", "rejected"]);
|
|
171
|
-
var SubscriptionResult = import_zod3.z.object({
|
|
126
|
+
var FreeTierStatus = import_zod2.z.enum(["requires_connect", "approved", "rejected"]);
|
|
127
|
+
var SubscriptionResult = import_zod2.z.object({
|
|
172
128
|
freeTierStatus: FreeTierStatus,
|
|
173
|
-
isPaying:
|
|
174
|
-
canceledAt:
|
|
129
|
+
isPaying: import_zod2.z.boolean(),
|
|
130
|
+
canceledAt: import_zod2.z.string().optional(),
|
|
175
131
|
plan: PlanDefinitionSchema.optional()
|
|
176
132
|
});
|
|
177
|
-
var CurrentPlan =
|
|
178
|
-
|
|
133
|
+
var CurrentPlan = import_zod2.z.object({
|
|
134
|
+
//todo remove this after the next deploy
|
|
135
|
+
subscription: import_zod2.z.any(),
|
|
179
136
|
v3Subscription: SubscriptionResult
|
|
180
137
|
});
|
|
181
138
|
|
|
182
139
|
// src/v3/schemas/subscribe.ts
|
|
183
|
-
var
|
|
184
|
-
var
|
|
185
|
-
type:
|
|
186
|
-
planCode:
|
|
187
|
-
userId:
|
|
140
|
+
var import_zod3 = require("zod");
|
|
141
|
+
var SetPaidPlanBodySchema = import_zod3.z.object({
|
|
142
|
+
type: import_zod3.z.literal("paid"),
|
|
143
|
+
planCode: import_zod3.z.string(),
|
|
144
|
+
userId: import_zod3.z.string()
|
|
188
145
|
});
|
|
189
|
-
var
|
|
190
|
-
type:
|
|
191
|
-
userId:
|
|
146
|
+
var SetFreePlanBodySchema = import_zod3.z.object({
|
|
147
|
+
type: import_zod3.z.literal("free"),
|
|
148
|
+
userId: import_zod3.z.string()
|
|
192
149
|
});
|
|
193
|
-
var
|
|
194
|
-
|
|
195
|
-
|
|
150
|
+
var SetPlanBodySchema = import_zod3.z.discriminatedUnion("type", [
|
|
151
|
+
SetPaidPlanBodySchema,
|
|
152
|
+
SetFreePlanBodySchema
|
|
196
153
|
]);
|
|
197
|
-
var FreeConnectRequiredSchema =
|
|
198
|
-
action:
|
|
199
|
-
connectUrl:
|
|
200
|
-
});
|
|
201
|
-
var FreeConnectedSchema =
|
|
202
|
-
action:
|
|
203
|
-
accepted:
|
|
204
|
-
});
|
|
205
|
-
var UpdatedSubscriptionResultSchema =
|
|
206
|
-
action:
|
|
207
|
-
subscription:
|
|
208
|
-
planCode:
|
|
154
|
+
var FreeConnectRequiredSchema = import_zod3.z.object({
|
|
155
|
+
action: import_zod3.z.literal("free_connect_required"),
|
|
156
|
+
connectUrl: import_zod3.z.string().url()
|
|
157
|
+
});
|
|
158
|
+
var FreeConnectedSchema = import_zod3.z.object({
|
|
159
|
+
action: import_zod3.z.literal("free_connected"),
|
|
160
|
+
accepted: import_zod3.z.boolean()
|
|
161
|
+
});
|
|
162
|
+
var UpdatedSubscriptionResultSchema = import_zod3.z.object({
|
|
163
|
+
action: import_zod3.z.literal("updated_subscription"),
|
|
164
|
+
subscription: import_zod3.z.object({
|
|
165
|
+
planCode: import_zod3.z.string()
|
|
209
166
|
})
|
|
210
167
|
});
|
|
211
|
-
var CreateSubscriptionFlowStartSchema =
|
|
212
|
-
action:
|
|
213
|
-
subscription:
|
|
214
|
-
planCode:
|
|
168
|
+
var CreateSubscriptionFlowStartSchema = import_zod3.z.object({
|
|
169
|
+
action: import_zod3.z.literal("create_subscription_flow_start"),
|
|
170
|
+
subscription: import_zod3.z.object({
|
|
171
|
+
planCode: import_zod3.z.string()
|
|
215
172
|
}),
|
|
216
|
-
checkoutUrl:
|
|
173
|
+
checkoutUrl: import_zod3.z.string().url()
|
|
217
174
|
});
|
|
218
|
-
var CanceledSubscriptionResultSchema =
|
|
219
|
-
action:
|
|
175
|
+
var CanceledSubscriptionResultSchema = import_zod3.z.object({
|
|
176
|
+
action: import_zod3.z.literal("canceled_subscription")
|
|
220
177
|
});
|
|
221
|
-
var SubscribeResultSchema =
|
|
178
|
+
var SubscribeResultSchema = import_zod3.z.discriminatedUnion("action", [
|
|
222
179
|
FreeConnectRequiredSchema,
|
|
223
180
|
FreeConnectedSchema,
|
|
224
181
|
CreateSubscriptionFlowStartSchema,
|
|
@@ -227,52 +184,52 @@ var SubscribeResultSchema = import_zod4.z.discriminatedUnion("action", [
|
|
|
227
184
|
]);
|
|
228
185
|
|
|
229
186
|
// src/v3/schemas/portal.ts
|
|
230
|
-
var
|
|
231
|
-
var CustomerPortalRequestBodySchema =
|
|
232
|
-
returnUrl:
|
|
187
|
+
var import_zod4 = require("zod");
|
|
188
|
+
var CustomerPortalRequestBodySchema = import_zod4.z.object({
|
|
189
|
+
returnUrl: import_zod4.z.string()
|
|
233
190
|
});
|
|
234
|
-
var CustomerPortalSchema =
|
|
235
|
-
customerPortalUrl:
|
|
191
|
+
var CustomerPortalSchema = import_zod4.z.object({
|
|
192
|
+
customerPortalUrl: import_zod4.z.string().optional()
|
|
236
193
|
});
|
|
237
194
|
|
|
238
195
|
// src/v3/schemas/error.ts
|
|
239
|
-
var
|
|
240
|
-
var ErrorSchema =
|
|
241
|
-
error:
|
|
196
|
+
var import_zod5 = require("zod");
|
|
197
|
+
var ErrorSchema = import_zod5.z.object({
|
|
198
|
+
error: import_zod5.z.string()
|
|
242
199
|
});
|
|
243
200
|
|
|
244
201
|
// src/v3/schemas/usage.ts
|
|
245
|
-
var
|
|
246
|
-
var UsageParams =
|
|
247
|
-
from:
|
|
248
|
-
to:
|
|
202
|
+
var import_zod6 = require("zod");
|
|
203
|
+
var UsageParams = import_zod6.z.object({
|
|
204
|
+
from: import_zod6.z.coerce.date(),
|
|
205
|
+
to: import_zod6.z.coerce.date()
|
|
249
206
|
});
|
|
250
|
-
var UsageResult =
|
|
251
|
-
cents:
|
|
207
|
+
var UsageResult = import_zod6.z.object({
|
|
208
|
+
cents: import_zod6.z.number()
|
|
252
209
|
});
|
|
253
|
-
var Window =
|
|
254
|
-
var BooleanParam =
|
|
210
|
+
var Window = import_zod6.z.enum(["MINUTE", "HOUR", "DAY"]);
|
|
211
|
+
var BooleanParam = import_zod6.z.preprocess(
|
|
255
212
|
(val) => val === "true" ? true : false,
|
|
256
|
-
|
|
213
|
+
import_zod6.z.boolean()
|
|
257
214
|
);
|
|
258
|
-
var UsageSeriesParams =
|
|
259
|
-
from:
|
|
260
|
-
to:
|
|
215
|
+
var UsageSeriesParams = import_zod6.z.object({
|
|
216
|
+
from: import_zod6.z.coerce.date(),
|
|
217
|
+
to: import_zod6.z.coerce.date(),
|
|
261
218
|
/** defaults to DAY */
|
|
262
219
|
window: Window.optional(),
|
|
263
|
-
timezone:
|
|
220
|
+
timezone: import_zod6.z.string().optional()
|
|
264
221
|
//these don't work at the moment because you can't group by items that aren't defined in the meter group by
|
|
265
222
|
// groupByEnvironmentType: BooleanParam.optional(),
|
|
266
223
|
// groupByTaskIdentifier: BooleanParam.optional(),
|
|
267
224
|
});
|
|
268
|
-
var UsageSeriesResult =
|
|
269
|
-
from:
|
|
270
|
-
to:
|
|
225
|
+
var UsageSeriesResult = import_zod6.z.object({
|
|
226
|
+
from: import_zod6.z.string(),
|
|
227
|
+
to: import_zod6.z.string(),
|
|
271
228
|
window: Window.optional(),
|
|
272
|
-
data:
|
|
273
|
-
value:
|
|
274
|
-
windowStart:
|
|
275
|
-
windowEnd:
|
|
229
|
+
data: import_zod6.z.object({
|
|
230
|
+
value: import_zod6.z.number(),
|
|
231
|
+
windowStart: import_zod6.z.string(),
|
|
232
|
+
windowEnd: import_zod6.z.string()
|
|
276
233
|
//these don't work at the moment
|
|
277
234
|
// groupBy: z
|
|
278
235
|
// .object({
|
|
@@ -282,30 +239,44 @@ var UsageSeriesResult = import_zod7.z.object({
|
|
|
282
239
|
// .optional(),
|
|
283
240
|
}).array()
|
|
284
241
|
});
|
|
285
|
-
var ReportComputeUsageEvent =
|
|
286
|
-
durationMs:
|
|
242
|
+
var ReportComputeUsageEvent = import_zod6.z.object({
|
|
243
|
+
durationMs: import_zod6.z.number()
|
|
287
244
|
});
|
|
288
|
-
var ReportUsageResult =
|
|
289
|
-
hasAccess:
|
|
290
|
-
balance:
|
|
291
|
-
usage:
|
|
292
|
-
overage:
|
|
245
|
+
var ReportUsageResult = import_zod6.z.object({
|
|
246
|
+
hasAccess: import_zod6.z.boolean(),
|
|
247
|
+
balance: import_zod6.z.number().optional(),
|
|
248
|
+
usage: import_zod6.z.number().optional(),
|
|
249
|
+
overage: import_zod6.z.number().optional()
|
|
293
250
|
});
|
|
294
|
-
var ReportInvocationUsageEvent =
|
|
295
|
-
organizationId:
|
|
296
|
-
costInCents:
|
|
297
|
-
additionalData:
|
|
251
|
+
var ReportInvocationUsageEvent = import_zod6.z.object({
|
|
252
|
+
organizationId: import_zod6.z.string(),
|
|
253
|
+
costInCents: import_zod6.z.number(),
|
|
254
|
+
additionalData: import_zod6.z.record(import_zod6.z.any()).optional()
|
|
298
255
|
});
|
|
299
|
-
var ReportInvocationUsageResult =
|
|
300
|
-
|
|
301
|
-
success:
|
|
256
|
+
var ReportInvocationUsageResult = import_zod6.z.discriminatedUnion("success", [
|
|
257
|
+
import_zod6.z.object({
|
|
258
|
+
success: import_zod6.z.literal(true)
|
|
302
259
|
}),
|
|
303
|
-
|
|
304
|
-
success:
|
|
305
|
-
error:
|
|
260
|
+
import_zod6.z.object({
|
|
261
|
+
success: import_zod6.z.literal(false),
|
|
262
|
+
error: import_zod6.z.string()
|
|
306
263
|
})
|
|
307
264
|
]);
|
|
308
265
|
|
|
266
|
+
// src/v3/schemas/billingAlerts.ts
|
|
267
|
+
var import_zod7 = require("zod");
|
|
268
|
+
var BillingAlertDefinition = import_zod7.z.object({
|
|
269
|
+
amount: import_zod7.z.number(),
|
|
270
|
+
emails: import_zod7.z.array(import_zod7.z.string()),
|
|
271
|
+
alertLevels: import_zod7.z.array(import_zod7.z.number())
|
|
272
|
+
});
|
|
273
|
+
var BillingAlertsResult = BillingAlertDefinition;
|
|
274
|
+
var UpdateBillingAlertsRequest = import_zod7.z.object({
|
|
275
|
+
amount: import_zod7.z.number(),
|
|
276
|
+
emails: import_zod7.z.array(import_zod7.z.string()),
|
|
277
|
+
alertLevels: import_zod7.z.array(import_zod7.z.number())
|
|
278
|
+
});
|
|
279
|
+
|
|
309
280
|
// src/v3/client/index.ts
|
|
310
281
|
var BillingClient = class {
|
|
311
282
|
constructor(config) {
|
|
@@ -386,6 +357,25 @@ var BillingClient = class {
|
|
|
386
357
|
ReportUsageResult
|
|
387
358
|
);
|
|
388
359
|
}
|
|
360
|
+
async getBillingAlerts(orgId) {
|
|
361
|
+
return await this.fetch(
|
|
362
|
+
`/api/v1/orgs/${orgId}/billing-alerts`,
|
|
363
|
+
BillingAlertsResult
|
|
364
|
+
);
|
|
365
|
+
}
|
|
366
|
+
async updateBillingAlerts(orgId, body) {
|
|
367
|
+
return await this.fetch(
|
|
368
|
+
`/api/v1/orgs/${orgId}/billing-alerts`,
|
|
369
|
+
BillingAlertsResult,
|
|
370
|
+
{
|
|
371
|
+
method: "POST",
|
|
372
|
+
headers: {
|
|
373
|
+
"Content-Type": "application/json"
|
|
374
|
+
},
|
|
375
|
+
body: JSON.stringify(body)
|
|
376
|
+
}
|
|
377
|
+
);
|
|
378
|
+
}
|
|
389
379
|
async fetch(path, schema, requestInit) {
|
|
390
380
|
const response = await fetch(`${this.config.url}${path}`, {
|
|
391
381
|
...requestInit,
|
|
@@ -516,6 +506,7 @@ var machines = {
|
|
|
516
506
|
var defaultMachine = "small-1x";
|
|
517
507
|
// Annotate the CommonJS export names for ESM import in node:
|
|
518
508
|
0 && (module.exports = {
|
|
509
|
+
BillingAlertsResult,
|
|
519
510
|
BillingClient,
|
|
520
511
|
CurrentPlan,
|
|
521
512
|
CustomerPortalRequestBodySchema,
|
|
@@ -533,6 +524,7 @@ var defaultMachine = "small-1x";
|
|
|
533
524
|
SetPlanBodySchema,
|
|
534
525
|
SubscribeResultSchema,
|
|
535
526
|
SubscriptionResult,
|
|
527
|
+
UpdateBillingAlertsRequest,
|
|
536
528
|
UsageParams,
|
|
537
529
|
UsageResult,
|
|
538
530
|
UsageSeriesParams,
|
|
@@ -0,0 +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"]}
|