@alpic-ai/api 0.0.0-dev.fe6851f → 0.0.0-staging.032f439

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.d.mts CHANGED
@@ -5,7 +5,8 @@ import { z } from "zod";
5
5
  //#region src/api.contract.d.ts
6
6
  type ApiContext = {
7
7
  request: Request & {
8
- teamId: string;
8
+ teamIds: string[];
9
+ defaultTeamId: string | undefined;
9
10
  };
10
11
  };
11
12
  declare const createEnvironmentContractV1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
@@ -29,7 +30,93 @@ declare const createEnvironmentContractV1: _orpc_contract0.ContractProcedureBuil
29
30
  BAD_REQUEST: {};
30
31
  }>, Record<never, never>>;
31
32
  declare const contract: {
33
+ teams: {
34
+ list: {
35
+ v1: _orpc_contract0.ContractProcedureBuilderWithOutput<_orpc_contract0.Schema<unknown, unknown>, z.ZodArray<z.ZodObject<{
36
+ id: z.ZodString;
37
+ name: z.ZodString;
38
+ createdAt: z.ZodCoercedDate<unknown>;
39
+ hasStripeAccount: z.ZodBoolean;
40
+ hasActiveSubscription: z.ZodBoolean;
41
+ }, z.core.$strip>>, Record<never, never>, Record<never, never>>;
42
+ };
43
+ };
44
+ analytics: {
45
+ get: {
46
+ v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
47
+ projectId: z.ZodString;
48
+ startTimestamp: z.ZodCoercedNumber<unknown>;
49
+ endTimestamp: z.ZodCoercedNumber<unknown>;
50
+ timeZone: z.ZodString;
51
+ }, z.core.$strip>, z.ZodObject<{
52
+ metadata: z.ZodObject<{
53
+ startTimestamp: z.ZodNumber;
54
+ endTimestamp: z.ZodNumber;
55
+ timeZone: z.ZodString;
56
+ startDate: z.ZodCoercedDate<unknown>;
57
+ interval: z.ZodString;
58
+ }, z.core.$strip>;
59
+ timeSeries: z.ZodObject<{
60
+ sessions_count: z.ZodArray<z.ZodObject<{
61
+ timestamp: z.ZodNumber;
62
+ categories: z.ZodRecord<z.ZodString, z.ZodUnknown>;
63
+ }, z.core.$strip>>;
64
+ requests_count: z.ZodArray<z.ZodObject<{
65
+ timestamp: z.ZodNumber;
66
+ categories: z.ZodRecord<z.ZodString, z.ZodUnknown>;
67
+ }, z.core.$strip>>;
68
+ requests_latency_mean: z.ZodArray<z.ZodObject<{
69
+ timestamp: z.ZodNumber;
70
+ categories: z.ZodRecord<z.ZodString, z.ZodUnknown>;
71
+ }, z.core.$strip>>;
72
+ tool_errors: z.ZodArray<z.ZodObject<{
73
+ timestamp: z.ZodNumber;
74
+ categories: z.ZodRecord<z.ZodString, z.ZodUnknown>;
75
+ }, z.core.$strip>>;
76
+ mcp_errors: z.ZodArray<z.ZodObject<{
77
+ timestamp: z.ZodNumber;
78
+ categories: z.ZodRecord<z.ZodString, z.ZodUnknown>;
79
+ }, z.core.$strip>>;
80
+ output_token_mean: z.ZodArray<z.ZodObject<{
81
+ timestamp: z.ZodNumber;
82
+ categories: z.ZodRecord<z.ZodString, z.ZodUnknown>;
83
+ }, z.core.$strip>>;
84
+ task_count: z.ZodArray<z.ZodObject<{
85
+ timestamp: z.ZodNumber;
86
+ categories: z.ZodRecord<z.ZodString, z.ZodUnknown>;
87
+ }, z.core.$strip>>;
88
+ }, z.core.$strip>;
89
+ }, z.core.$strip>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
90
+ NOT_FOUND: {};
91
+ BAD_REQUEST: {};
92
+ }>, Record<never, never>>;
93
+ };
94
+ };
32
95
  deployments: {
96
+ list: {
97
+ v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
98
+ projectId: z.ZodString;
99
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
100
+ id: z.ZodString;
101
+ status: z.ZodEnum<{
102
+ ongoing: "ongoing";
103
+ deployed: "deployed";
104
+ failed: "failed";
105
+ canceled: "canceled";
106
+ }>;
107
+ sourceRef: z.ZodNullable<z.ZodString>;
108
+ sourceCommitId: z.ZodNullable<z.ZodString>;
109
+ sourceCommitMessage: z.ZodNullable<z.ZodString>;
110
+ authorUsername: z.ZodNullable<z.ZodString>;
111
+ authorAvatarUrl: z.ZodNullable<z.ZodString>;
112
+ startedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
113
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
114
+ isCurrent: z.ZodBoolean;
115
+ environmentId: z.ZodString;
116
+ }, z.core.$strip>>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
117
+ NOT_FOUND: {};
118
+ }>, Record<never, never>>;
119
+ };
33
120
  get: {
34
121
  v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
35
122
  deploymentId: z.ZodString;
@@ -48,17 +135,33 @@ declare const contract: {
48
135
  authorAvatarUrl: z.ZodNullable<z.ZodString>;
49
136
  startedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
50
137
  completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
138
+ deploymentPageUrl: z.ZodNullable<z.ZodURL>;
51
139
  }, z.core.$strip>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
52
140
  NOT_FOUND: {};
53
141
  }>, Record<never, never>>;
54
142
  };
55
143
  uploadArtifact: {
56
- v1: _orpc_contract0.ContractProcedureBuilderWithOutput<_orpc_contract0.Schema<unknown, unknown>, z.ZodObject<{
144
+ v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodOptional<z.ZodObject<{
145
+ teamId: z.ZodOptional<z.ZodString>;
146
+ }, z.core.$strip>>, z.ZodObject<{
57
147
  uploadUrl: z.ZodString;
58
148
  token: z.ZodString;
59
149
  expiresAt: z.ZodCoercedDate<unknown>;
60
150
  }, z.core.$strip>, Record<never, never>, Record<never, never>>;
61
151
  };
152
+ getLogs: {
153
+ v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
154
+ deploymentId: z.ZodString;
155
+ }, z.core.$strip>, z.ZodObject<{
156
+ logs: z.ZodArray<z.ZodObject<{
157
+ timestamp: z.ZodOptional<z.ZodCoercedDate<unknown>>;
158
+ content: z.ZodOptional<z.ZodString>;
159
+ }, z.core.$strip>>;
160
+ hasMoreLogs: z.ZodBoolean;
161
+ }, z.core.$strip>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
162
+ NOT_FOUND: {};
163
+ }>, Record<never, never>>;
164
+ };
62
165
  };
63
166
  environments: {
64
167
  create: {
@@ -117,6 +220,7 @@ declare const contract: {
117
220
  authorAvatarUrl: z.ZodNullable<z.ZodString>;
118
221
  startedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
119
222
  completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
223
+ deploymentPageUrl: z.ZodNullable<z.ZodURL>;
120
224
  }, z.core.$strip>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
121
225
  NOT_FOUND: {};
122
226
  BAD_REQUEST: {};
@@ -124,6 +228,75 @@ declare const contract: {
124
228
  };
125
229
  };
126
230
  projects: {
231
+ update: {
232
+ v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
233
+ projectId: z.ZodString;
234
+ name: z.ZodOptional<z.ZodString>;
235
+ sourceRepository: z.ZodOptional<z.ZodNullable<z.ZodString>>;
236
+ }, z.core.$strip>, z.ZodObject<{
237
+ id: z.ZodString;
238
+ name: z.ZodString;
239
+ teamId: z.ZodString;
240
+ sourceRepository: z.ZodNullable<z.ZodString>;
241
+ runtime: z.ZodEnum<{
242
+ "python3.13": "python3.13";
243
+ "python3.14": "python3.14";
244
+ node22: "node22";
245
+ node24: "node24";
246
+ }>;
247
+ transport: z.ZodNullable<z.ZodEnum<{
248
+ stdio: "stdio";
249
+ sse: "sse";
250
+ streamablehttp: "streamablehttp";
251
+ }>>;
252
+ rootDirectory: z.ZodNullable<z.ZodString>;
253
+ buildCommand: z.ZodNullable<z.ZodString>;
254
+ buildOutputDir: z.ZodNullable<z.ZodString>;
255
+ installCommand: z.ZodNullable<z.ZodString>;
256
+ startCommand: z.ZodNullable<z.ZodString>;
257
+ createdAt: z.ZodCoercedDate<unknown>;
258
+ productionEnvironment: z.ZodNullable<z.ZodObject<{
259
+ id: z.ZodString;
260
+ name: z.ZodString;
261
+ mcpServerUrl: z.ZodString;
262
+ latestDeployment: z.ZodNullable<z.ZodObject<{
263
+ id: z.ZodString;
264
+ status: z.ZodEnum<{
265
+ ongoing: "ongoing";
266
+ deployed: "deployed";
267
+ failed: "failed";
268
+ canceled: "canceled";
269
+ }>;
270
+ sourceCommitId: z.ZodNullable<z.ZodString>;
271
+ sourceCommitMessage: z.ZodNullable<z.ZodString>;
272
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
273
+ }, z.core.$strip>>;
274
+ }, z.core.$strip>>;
275
+ environments: z.ZodArray<z.ZodObject<{
276
+ id: z.ZodString;
277
+ name: z.ZodString;
278
+ sourceBranch: z.ZodNullable<z.ZodString>;
279
+ mcpServerUrl: z.ZodString;
280
+ createdAt: z.ZodCoercedDate<unknown>;
281
+ projectId: z.ZodString;
282
+ latestDeployment: z.ZodNullable<z.ZodObject<{
283
+ id: z.ZodString;
284
+ status: z.ZodEnum<{
285
+ ongoing: "ongoing";
286
+ deployed: "deployed";
287
+ failed: "failed";
288
+ canceled: "canceled";
289
+ }>;
290
+ sourceCommitId: z.ZodNullable<z.ZodString>;
291
+ sourceCommitMessage: z.ZodNullable<z.ZodString>;
292
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
293
+ }, z.core.$strip>>;
294
+ }, z.core.$strip>>;
295
+ }, z.core.$strip>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
296
+ NOT_FOUND: {};
297
+ BAD_REQUEST: {};
298
+ }>, Record<never, never>>;
299
+ };
127
300
  get: {
128
301
  v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
129
302
  projectId: z.ZodString;
@@ -191,7 +364,9 @@ declare const contract: {
191
364
  }>, Record<never, never>>;
192
365
  };
193
366
  list: {
194
- v1: _orpc_contract0.ContractProcedureBuilderWithOutput<_orpc_contract0.Schema<unknown, unknown>, z.ZodArray<z.ZodObject<{
367
+ v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodOptional<z.ZodObject<{
368
+ teamId: z.ZodOptional<z.ZodString>;
369
+ }, z.core.$strip>>, z.ZodArray<z.ZodObject<{
195
370
  id: z.ZodString;
196
371
  name: z.ZodString;
197
372
  teamId: z.ZodString;
@@ -254,6 +429,7 @@ declare const contract: {
254
429
  };
255
430
  create: {
256
431
  v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
432
+ teamId: z.ZodOptional<z.ZodString>;
257
433
  name: z.ZodString;
258
434
  sourceRepository: z.ZodOptional<z.ZodString>;
259
435
  branchName: z.ZodOptional<z.ZodString>;
@@ -315,6 +491,15 @@ declare const contract: {
315
491
  BAD_REQUEST: {};
316
492
  }>, Record<never, never>>;
317
493
  };
494
+ delete: {
495
+ v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
496
+ projectId: z.ZodString;
497
+ }, z.core.$strip>, z.ZodObject<{
498
+ success: z.ZodLiteral<true>;
499
+ }, z.core.$strip>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
500
+ NOT_FOUND: {};
501
+ }>, Record<never, never>>;
502
+ };
318
503
  };
319
504
  };
320
505
  type RouterInput = InferContractRouterInputs<typeof contract>;
package/dist/index.mjs CHANGED
@@ -13,7 +13,11 @@ const RESERVED_KEYS = [
13
13
  "AWS_LAMBDA_FUNCTION_VERSION",
14
14
  "AWS_LAMBDA_INITIALIZATION_TYPE",
15
15
  "AWS_LAMBDA_LOG_GROUP_NAME",
16
+ "AWS_LAMBDA_LOG_STREAM_NAME",
16
17
  "AWS_ACCESS_KEY",
18
+ "AWS_ACCESS_KEY_ID",
19
+ "AWS_SECRET_ACCESS_KEY",
20
+ "AWS_SESSION_TOKEN",
17
21
  "AWS_LAMBDA_RUNTIME_API",
18
22
  "LAMBDA_TASK_ROOT",
19
23
  "LAMBDA_RUNTIME_DIR",
@@ -82,6 +86,7 @@ const deploymentSchema = z.object({
82
86
  startedAt: z.coerce.date().nullable(),
83
87
  completedAt: z.coerce.date().nullable()
84
88
  });
89
+ const deploymentWithPageUrlSchema = deploymentSchema.extend({ deploymentPageUrl: z.url().nullable() });
85
90
  const createEnvironmentContractV1 = oc.route({
86
91
  path: "/v1/environments",
87
92
  method: "POST",
@@ -106,7 +111,7 @@ const createEnvironmentContractV1 = oc.route({
106
111
  projectId: z.string().describe("The ID of the project the environment belongs to")
107
112
  }));
108
113
  const getEnvironmentContractV1 = oc.route({
109
- path: "/v1/environments/:environmentId",
114
+ path: "/v1/environments/{environmentId}",
110
115
  method: "GET",
111
116
  summary: "Get an environment",
112
117
  description: "Get an environment by ID",
@@ -153,7 +158,7 @@ const projectOutputSchema = z.object({
153
158
  environments: z.array(environmentSchema)
154
159
  });
155
160
  const getProjectContractV1 = oc.route({
156
- path: "/v1/projects/:projectId",
161
+ path: "/v1/projects/{projectId}",
157
162
  method: "GET",
158
163
  summary: "Get a project",
159
164
  description: "Get a project by ID",
@@ -167,7 +172,7 @@ const listProjectsContractV1 = oc.route({
167
172
  description: "List all projects for a team",
168
173
  tags: ["projects"],
169
174
  successDescription: "The list of projects"
170
- }).output(z.array(projectOutputSchema));
175
+ }).input(z.object({ teamId: z.string().optional() }).optional()).output(z.array(projectOutputSchema));
171
176
  const createProjectContractV1 = oc.route({
172
177
  path: "/v1/projects",
173
178
  method: "POST",
@@ -179,7 +184,8 @@ const createProjectContractV1 = oc.route({
179
184
  NOT_FOUND: {},
180
185
  BAD_REQUEST: {}
181
186
  }).input(z.object({
182
- name: z.string().min(1).max(100),
187
+ teamId: z.string().optional(),
188
+ name: z.string().trim().min(1).max(100),
183
189
  sourceRepository: z.string().optional(),
184
190
  branchName: z.string().min(1).optional(),
185
191
  runtime: runtimeSchema,
@@ -209,8 +215,31 @@ const createProjectContractV1 = oc.route({
209
215
  startCommand: z.string().nullable(),
210
216
  createdAt: z.coerce.date()
211
217
  }));
218
+ const deleteProjectContractV1 = oc.route({
219
+ path: "/v1/projects/:projectId",
220
+ method: "DELETE",
221
+ summary: "Delete a project",
222
+ description: "Delete a project and all its environments",
223
+ tags: ["projects"],
224
+ successDescription: "The project has been deleted successfully"
225
+ }).errors({ NOT_FOUND: {} }).input(z.object({ projectId: z.string().describe("The ID of the project") })).output(z.object({ success: z.literal(true) }));
226
+ const updateProjectContractV1 = oc.route({
227
+ path: "/v1/projects/{projectId}",
228
+ method: "PATCH",
229
+ summary: "Update a project",
230
+ description: "Update project settings",
231
+ tags: ["projects"],
232
+ successDescription: "The project has been updated successfully"
233
+ }).errors({
234
+ NOT_FOUND: {},
235
+ BAD_REQUEST: {}
236
+ }).input(z.object({
237
+ projectId: z.string().describe("The ID of the project"),
238
+ name: z.string().min(1).max(100).optional().describe("The new name for the project"),
239
+ sourceRepository: z.string().nullable().optional().describe("The source repository to connect to the project")
240
+ })).output(projectOutputSchema);
212
241
  const deployEnvironmentContractV1 = oc.route({
213
- path: "/v1/environments/:environmentId/deploy",
242
+ path: "/v1/environments/{environmentId}/deploy",
214
243
  method: "POST",
215
244
  summary: "Deploy an environment",
216
245
  description: "Deploy an environment",
@@ -222,7 +251,7 @@ const deployEnvironmentContractV1 = oc.route({
222
251
  }).input(z.object({
223
252
  environmentId: z.string().describe("The ID of the environment to deploy"),
224
253
  token: z.string().describe("The token to identify the source archive").optional()
225
- })).output(deploymentSchema);
254
+ })).output(deploymentWithPageUrlSchema);
226
255
  const uploadDeploymentArtifactContractV1 = oc.route({
227
256
  path: "/v1/deployments/upload",
228
257
  method: "POST",
@@ -230,23 +259,104 @@ const uploadDeploymentArtifactContractV1 = oc.route({
230
259
  description: "Return a presigned S3 URL to upload a deployment artifact",
231
260
  tags: ["deployments"],
232
261
  successDescription: "The presigned upload URL has been generated successfully"
233
- }).output(z.object({
262
+ }).input(z.object({ teamId: z.string().optional() }).optional()).output(z.object({
234
263
  uploadUrl: z.string().url().describe("Presigned S3 URL to upload the source archive with HTTP PUT"),
235
264
  token: z.string().describe("Token to identify the source archive"),
236
265
  expiresAt: z.coerce.date().describe("Expiration date of the presigned URL")
237
266
  }));
267
+ const listProjectDeploymentsContractV1 = oc.route({
268
+ path: "/v1/projects/{projectId}/deployments",
269
+ method: "GET",
270
+ summary: "List project deployments",
271
+ description: "List all deployments for a project",
272
+ tags: ["deployments"],
273
+ successDescription: "The list of deployments"
274
+ }).errors({ NOT_FOUND: {} }).input(z.object({ projectId: z.string().describe("The ID of the project") })).output(z.array(deploymentSchema.extend({
275
+ isCurrent: z.boolean(),
276
+ environmentId: z.string()
277
+ })));
238
278
  const getDeploymentContractV1 = oc.route({
239
- path: "/v1/deployments/:deploymentId",
279
+ path: "/v1/deployments/{deploymentId}",
240
280
  method: "GET",
241
281
  summary: "Get a deployment",
242
282
  description: "Get a deployment by ID",
243
283
  tags: ["deployments"],
244
284
  successDescription: "The deployment details"
245
- }).errors({ NOT_FOUND: {} }).input(z.object({ deploymentId: z.string().describe("The ID of the deployment") })).output(deploymentSchema);
285
+ }).errors({ NOT_FOUND: {} }).input(z.object({ deploymentId: z.string().describe("The ID of the deployment") })).output(deploymentWithPageUrlSchema);
286
+ const getDeploymentLogsContractV1 = oc.route({
287
+ path: "/v1/deployments/{deploymentId}/logs",
288
+ method: "GET",
289
+ summary: "Get deployment logs",
290
+ description: "Get the logs for a deployment",
291
+ tags: ["deployments"],
292
+ successDescription: "The deployment logs"
293
+ }).errors({ NOT_FOUND: {} }).input(z.object({ deploymentId: z.string().describe("The ID of the deployment") })).output(z.object({
294
+ logs: z.array(z.object({
295
+ timestamp: z.coerce.date().optional(),
296
+ content: z.string().optional()
297
+ })),
298
+ hasMoreLogs: z.boolean()
299
+ }));
300
+ const analyticsDataPointSchema = z.object({
301
+ timestamp: z.number(),
302
+ categories: z.record(z.string(), z.unknown())
303
+ });
304
+ const analyticsTimeSeriesSchema = z.object({
305
+ sessions_count: z.array(analyticsDataPointSchema),
306
+ requests_count: z.array(analyticsDataPointSchema),
307
+ requests_latency_mean: z.array(analyticsDataPointSchema),
308
+ tool_errors: z.array(analyticsDataPointSchema),
309
+ mcp_errors: z.array(analyticsDataPointSchema),
310
+ output_token_mean: z.array(analyticsDataPointSchema),
311
+ task_count: z.array(analyticsDataPointSchema)
312
+ });
313
+ const getProjectAnalyticsContractV1 = oc.route({
314
+ path: "/v1/analytics/{projectId}",
315
+ method: "GET",
316
+ summary: "Get project analytics",
317
+ description: "Get analytics data for a project over a time range",
318
+ tags: ["analytics"],
319
+ successDescription: "The project analytics data"
320
+ }).errors({
321
+ NOT_FOUND: {},
322
+ BAD_REQUEST: {}
323
+ }).input(z.object({
324
+ projectId: z.string().describe("The ID of the project"),
325
+ startTimestamp: z.coerce.number().describe("Start timestamp in milliseconds"),
326
+ endTimestamp: z.coerce.number().describe("End timestamp in milliseconds"),
327
+ timeZone: z.string().describe("IANA timezone (e.g. Europe/Paris)")
328
+ }).refine(({ startTimestamp, endTimestamp }) => endTimestamp - startTimestamp > 0, { message: "End date must be after start date" }).refine(({ startTimestamp, endTimestamp }) => endTimestamp - startTimestamp <= 744 * 60 * 60 * 1e3, { message: "Date range must be less than 1 month" }).refine(({ timeZone }) => Intl.supportedValuesOf("timeZone").includes(timeZone), { message: "Time zone must be a valid IANA timezone" })).output(z.object({
329
+ metadata: z.object({
330
+ startTimestamp: z.number(),
331
+ endTimestamp: z.number(),
332
+ timeZone: z.string(),
333
+ startDate: z.coerce.date(),
334
+ interval: z.string()
335
+ }),
336
+ timeSeries: analyticsTimeSeriesSchema
337
+ }));
338
+ const listTeamsContractV1 = oc.route({
339
+ path: "/v1/teams",
340
+ method: "GET",
341
+ summary: "List teams",
342
+ description: "List all teams for the authenticated user",
343
+ tags: ["teams"],
344
+ successDescription: "The list of teams"
345
+ }).output(z.array(z.object({
346
+ id: z.string(),
347
+ name: z.string(),
348
+ createdAt: z.coerce.date(),
349
+ hasStripeAccount: z.boolean(),
350
+ hasActiveSubscription: z.boolean()
351
+ })));
246
352
  const contract = {
353
+ teams: { list: { v1: listTeamsContractV1 } },
354
+ analytics: { get: { v1: getProjectAnalyticsContractV1 } },
247
355
  deployments: {
356
+ list: { v1: listProjectDeploymentsContractV1 },
248
357
  get: { v1: getDeploymentContractV1 },
249
- uploadArtifact: { v1: uploadDeploymentArtifactContractV1 }
358
+ uploadArtifact: { v1: uploadDeploymentArtifactContractV1 },
359
+ getLogs: { v1: getDeploymentLogsContractV1 }
250
360
  },
251
361
  environments: {
252
362
  create: { v1: createEnvironmentContractV1 },
@@ -254,9 +364,11 @@ const contract = {
254
364
  deploy: { v1: deployEnvironmentContractV1 }
255
365
  },
256
366
  projects: {
367
+ update: { v1: updateProjectContractV1 },
257
368
  get: { v1: getProjectContractV1 },
258
369
  list: { v1: listProjectsContractV1 },
259
- create: { v1: createProjectContractV1 }
370
+ create: { v1: createProjectContractV1 },
371
+ delete: { v1: deleteProjectContractV1 }
260
372
  }
261
373
  };
262
374
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alpic-ai/api",
3
- "version": "0.0.0-dev.fe6851f",
3
+ "version": "0.0.0-staging.032f439",
4
4
  "description": "Contract for the Alpic API",
5
5
  "type": "module",
6
6
  "main": "./dist/index.mjs",
@@ -17,14 +17,13 @@
17
17
  "author": "Alpic",
18
18
  "license": "ISC",
19
19
  "dependencies": {
20
- "@orpc/contract": "^1.13.4",
20
+ "@orpc/contract": "^1.13.5",
21
21
  "zod": "^4.3.6"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@total-typescript/tsconfig": "^1.0.4",
25
- "biome": "^0.3.3",
26
25
  "shx": "^0.4.0",
27
- "tsdown": "^0.20.1",
26
+ "tsdown": "^0.20.3",
28
27
  "typescript": "^5.9.3",
29
28
  "vitest": "^4.0.18"
30
29
  },