@alpic-ai/api 0.0.0-staging.bb4cc5e → 0.0.0-staging.bced96f
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 +210 -1
- package/dist/index.mjs +131 -10
- package/package.json +2 -3
package/dist/index.d.mts
CHANGED
|
@@ -6,6 +6,7 @@ import { z } from "zod";
|
|
|
6
6
|
type ApiContext = {
|
|
7
7
|
request: Request & {
|
|
8
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,6 +135,7 @@ 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>>;
|
|
@@ -61,6 +149,19 @@ declare const contract: {
|
|
|
61
149
|
expiresAt: z.ZodCoercedDate<unknown>;
|
|
62
150
|
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
63
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
|
+
};
|
|
64
165
|
};
|
|
65
166
|
environments: {
|
|
66
167
|
create: {
|
|
@@ -119,6 +220,7 @@ declare const contract: {
|
|
|
119
220
|
authorAvatarUrl: z.ZodNullable<z.ZodString>;
|
|
120
221
|
startedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
|
|
121
222
|
completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
|
|
223
|
+
deploymentPageUrl: z.ZodNullable<z.ZodURL>;
|
|
122
224
|
}, z.core.$strip>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
|
|
123
225
|
NOT_FOUND: {};
|
|
124
226
|
BAD_REQUEST: {};
|
|
@@ -126,6 +228,84 @@ declare const contract: {
|
|
|
126
228
|
};
|
|
127
229
|
};
|
|
128
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
|
+
domains: z.ZodArray<z.ZodObject<{
|
|
263
|
+
domain: z.ZodString;
|
|
264
|
+
status: z.ZodEnum<{
|
|
265
|
+
ongoing: "ongoing";
|
|
266
|
+
deployed: "deployed";
|
|
267
|
+
failed: "failed";
|
|
268
|
+
}>;
|
|
269
|
+
createdAt: z.ZodCoercedDate<unknown>;
|
|
270
|
+
}, z.core.$strip>>;
|
|
271
|
+
latestDeployment: z.ZodNullable<z.ZodObject<{
|
|
272
|
+
id: z.ZodString;
|
|
273
|
+
status: z.ZodEnum<{
|
|
274
|
+
ongoing: "ongoing";
|
|
275
|
+
deployed: "deployed";
|
|
276
|
+
failed: "failed";
|
|
277
|
+
canceled: "canceled";
|
|
278
|
+
}>;
|
|
279
|
+
sourceCommitId: z.ZodNullable<z.ZodString>;
|
|
280
|
+
sourceCommitMessage: z.ZodNullable<z.ZodString>;
|
|
281
|
+
completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
|
|
282
|
+
}, z.core.$strip>>;
|
|
283
|
+
}, z.core.$strip>>;
|
|
284
|
+
environments: z.ZodArray<z.ZodObject<{
|
|
285
|
+
id: z.ZodString;
|
|
286
|
+
name: z.ZodString;
|
|
287
|
+
sourceBranch: z.ZodNullable<z.ZodString>;
|
|
288
|
+
mcpServerUrl: z.ZodString;
|
|
289
|
+
createdAt: z.ZodCoercedDate<unknown>;
|
|
290
|
+
projectId: z.ZodString;
|
|
291
|
+
latestDeployment: z.ZodNullable<z.ZodObject<{
|
|
292
|
+
id: z.ZodString;
|
|
293
|
+
status: z.ZodEnum<{
|
|
294
|
+
ongoing: "ongoing";
|
|
295
|
+
deployed: "deployed";
|
|
296
|
+
failed: "failed";
|
|
297
|
+
canceled: "canceled";
|
|
298
|
+
}>;
|
|
299
|
+
sourceCommitId: z.ZodNullable<z.ZodString>;
|
|
300
|
+
sourceCommitMessage: z.ZodNullable<z.ZodString>;
|
|
301
|
+
completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
|
|
302
|
+
}, z.core.$strip>>;
|
|
303
|
+
}, z.core.$strip>>;
|
|
304
|
+
}, z.core.$strip>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
|
|
305
|
+
NOT_FOUND: {};
|
|
306
|
+
BAD_REQUEST: {};
|
|
307
|
+
}>, Record<never, never>>;
|
|
308
|
+
};
|
|
129
309
|
get: {
|
|
130
310
|
v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
131
311
|
projectId: z.ZodString;
|
|
@@ -155,6 +335,15 @@ declare const contract: {
|
|
|
155
335
|
id: z.ZodString;
|
|
156
336
|
name: z.ZodString;
|
|
157
337
|
mcpServerUrl: z.ZodString;
|
|
338
|
+
domains: z.ZodArray<z.ZodObject<{
|
|
339
|
+
domain: z.ZodString;
|
|
340
|
+
status: z.ZodEnum<{
|
|
341
|
+
ongoing: "ongoing";
|
|
342
|
+
deployed: "deployed";
|
|
343
|
+
failed: "failed";
|
|
344
|
+
}>;
|
|
345
|
+
createdAt: z.ZodCoercedDate<unknown>;
|
|
346
|
+
}, z.core.$strip>>;
|
|
158
347
|
latestDeployment: z.ZodNullable<z.ZodObject<{
|
|
159
348
|
id: z.ZodString;
|
|
160
349
|
status: z.ZodEnum<{
|
|
@@ -193,7 +382,9 @@ declare const contract: {
|
|
|
193
382
|
}>, Record<never, never>>;
|
|
194
383
|
};
|
|
195
384
|
list: {
|
|
196
|
-
v1: _orpc_contract0.
|
|
385
|
+
v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodOptional<z.ZodObject<{
|
|
386
|
+
teamId: z.ZodOptional<z.ZodString>;
|
|
387
|
+
}, z.core.$strip>>, z.ZodArray<z.ZodObject<{
|
|
197
388
|
id: z.ZodString;
|
|
198
389
|
name: z.ZodString;
|
|
199
390
|
teamId: z.ZodString;
|
|
@@ -219,6 +410,15 @@ declare const contract: {
|
|
|
219
410
|
id: z.ZodString;
|
|
220
411
|
name: z.ZodString;
|
|
221
412
|
mcpServerUrl: z.ZodString;
|
|
413
|
+
domains: z.ZodArray<z.ZodObject<{
|
|
414
|
+
domain: z.ZodString;
|
|
415
|
+
status: z.ZodEnum<{
|
|
416
|
+
ongoing: "ongoing";
|
|
417
|
+
deployed: "deployed";
|
|
418
|
+
failed: "failed";
|
|
419
|
+
}>;
|
|
420
|
+
createdAt: z.ZodCoercedDate<unknown>;
|
|
421
|
+
}, z.core.$strip>>;
|
|
222
422
|
latestDeployment: z.ZodNullable<z.ZodObject<{
|
|
223
423
|
id: z.ZodString;
|
|
224
424
|
status: z.ZodEnum<{
|
|
@@ -318,6 +518,15 @@ declare const contract: {
|
|
|
318
518
|
BAD_REQUEST: {};
|
|
319
519
|
}>, Record<never, never>>;
|
|
320
520
|
};
|
|
521
|
+
delete: {
|
|
522
|
+
v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
523
|
+
projectId: z.ZodString;
|
|
524
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
525
|
+
success: z.ZodLiteral<true>;
|
|
526
|
+
}, z.core.$strip>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
|
|
527
|
+
NOT_FOUND: {};
|
|
528
|
+
}>, Record<never, never>>;
|
|
529
|
+
};
|
|
321
530
|
};
|
|
322
531
|
};
|
|
323
532
|
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
|
|
114
|
+
path: "/v1/environments/{environmentId}",
|
|
110
115
|
method: "GET",
|
|
111
116
|
summary: "Get an environment",
|
|
112
117
|
description: "Get an environment by ID",
|
|
@@ -121,10 +126,20 @@ const getEnvironmentContractV1 = oc.route({
|
|
|
121
126
|
createdAt: z.coerce.date(),
|
|
122
127
|
projectId: z.string()
|
|
123
128
|
}));
|
|
129
|
+
const domainSchema = z.object({
|
|
130
|
+
domain: z.string(),
|
|
131
|
+
status: z.enum([
|
|
132
|
+
"ongoing",
|
|
133
|
+
"deployed",
|
|
134
|
+
"failed"
|
|
135
|
+
]),
|
|
136
|
+
createdAt: z.coerce.date()
|
|
137
|
+
});
|
|
124
138
|
const productionEnvironmentSchema = z.object({
|
|
125
139
|
id: z.string(),
|
|
126
140
|
name: z.string(),
|
|
127
141
|
mcpServerUrl: z.string(),
|
|
142
|
+
domains: z.array(domainSchema),
|
|
128
143
|
latestDeployment: latestDeploymentSchema.nullable()
|
|
129
144
|
});
|
|
130
145
|
const environmentSchema = z.object({
|
|
@@ -153,7 +168,7 @@ const projectOutputSchema = z.object({
|
|
|
153
168
|
environments: z.array(environmentSchema)
|
|
154
169
|
});
|
|
155
170
|
const getProjectContractV1 = oc.route({
|
|
156
|
-
path: "/v1/projects
|
|
171
|
+
path: "/v1/projects/{projectId}",
|
|
157
172
|
method: "GET",
|
|
158
173
|
summary: "Get a project",
|
|
159
174
|
description: "Get a project by ID",
|
|
@@ -167,7 +182,7 @@ const listProjectsContractV1 = oc.route({
|
|
|
167
182
|
description: "List all projects for a team",
|
|
168
183
|
tags: ["projects"],
|
|
169
184
|
successDescription: "The list of projects"
|
|
170
|
-
}).output(z.array(projectOutputSchema));
|
|
185
|
+
}).input(z.object({ teamId: z.string().optional() }).optional()).output(z.array(projectOutputSchema));
|
|
171
186
|
const createProjectContractV1 = oc.route({
|
|
172
187
|
path: "/v1/projects",
|
|
173
188
|
method: "POST",
|
|
@@ -180,7 +195,7 @@ const createProjectContractV1 = oc.route({
|
|
|
180
195
|
BAD_REQUEST: {}
|
|
181
196
|
}).input(z.object({
|
|
182
197
|
teamId: z.string().optional(),
|
|
183
|
-
name: z.string().min(1).max(100),
|
|
198
|
+
name: z.string().trim().min(1).max(100),
|
|
184
199
|
sourceRepository: z.string().optional(),
|
|
185
200
|
branchName: z.string().min(1).optional(),
|
|
186
201
|
runtime: runtimeSchema,
|
|
@@ -210,8 +225,31 @@ const createProjectContractV1 = oc.route({
|
|
|
210
225
|
startCommand: z.string().nullable(),
|
|
211
226
|
createdAt: z.coerce.date()
|
|
212
227
|
}));
|
|
228
|
+
const deleteProjectContractV1 = oc.route({
|
|
229
|
+
path: "/v1/projects/:projectId",
|
|
230
|
+
method: "DELETE",
|
|
231
|
+
summary: "Delete a project",
|
|
232
|
+
description: "Delete a project and all its environments",
|
|
233
|
+
tags: ["projects"],
|
|
234
|
+
successDescription: "The project has been deleted successfully"
|
|
235
|
+
}).errors({ NOT_FOUND: {} }).input(z.object({ projectId: z.string().describe("The ID of the project") })).output(z.object({ success: z.literal(true) }));
|
|
236
|
+
const updateProjectContractV1 = oc.route({
|
|
237
|
+
path: "/v1/projects/{projectId}",
|
|
238
|
+
method: "PATCH",
|
|
239
|
+
summary: "Update a project",
|
|
240
|
+
description: "Update project settings",
|
|
241
|
+
tags: ["projects"],
|
|
242
|
+
successDescription: "The project has been updated successfully"
|
|
243
|
+
}).errors({
|
|
244
|
+
NOT_FOUND: {},
|
|
245
|
+
BAD_REQUEST: {}
|
|
246
|
+
}).input(z.object({
|
|
247
|
+
projectId: z.string().describe("The ID of the project"),
|
|
248
|
+
name: z.string().min(1).max(100).optional().describe("The new name for the project"),
|
|
249
|
+
sourceRepository: z.string().nullable().optional().describe("The source repository to connect to the project")
|
|
250
|
+
})).output(projectOutputSchema);
|
|
213
251
|
const deployEnvironmentContractV1 = oc.route({
|
|
214
|
-
path: "/v1/environments
|
|
252
|
+
path: "/v1/environments/{environmentId}/deploy",
|
|
215
253
|
method: "POST",
|
|
216
254
|
summary: "Deploy an environment",
|
|
217
255
|
description: "Deploy an environment",
|
|
@@ -223,7 +261,7 @@ const deployEnvironmentContractV1 = oc.route({
|
|
|
223
261
|
}).input(z.object({
|
|
224
262
|
environmentId: z.string().describe("The ID of the environment to deploy"),
|
|
225
263
|
token: z.string().describe("The token to identify the source archive").optional()
|
|
226
|
-
})).output(
|
|
264
|
+
})).output(deploymentWithPageUrlSchema);
|
|
227
265
|
const uploadDeploymentArtifactContractV1 = oc.route({
|
|
228
266
|
path: "/v1/deployments/upload",
|
|
229
267
|
method: "POST",
|
|
@@ -236,18 +274,99 @@ const uploadDeploymentArtifactContractV1 = oc.route({
|
|
|
236
274
|
token: z.string().describe("Token to identify the source archive"),
|
|
237
275
|
expiresAt: z.coerce.date().describe("Expiration date of the presigned URL")
|
|
238
276
|
}));
|
|
277
|
+
const listProjectDeploymentsContractV1 = oc.route({
|
|
278
|
+
path: "/v1/projects/{projectId}/deployments",
|
|
279
|
+
method: "GET",
|
|
280
|
+
summary: "List project deployments",
|
|
281
|
+
description: "List all deployments for a project",
|
|
282
|
+
tags: ["deployments"],
|
|
283
|
+
successDescription: "The list of deployments"
|
|
284
|
+
}).errors({ NOT_FOUND: {} }).input(z.object({ projectId: z.string().describe("The ID of the project") })).output(z.array(deploymentSchema.extend({
|
|
285
|
+
isCurrent: z.boolean(),
|
|
286
|
+
environmentId: z.string()
|
|
287
|
+
})));
|
|
239
288
|
const getDeploymentContractV1 = oc.route({
|
|
240
|
-
path: "/v1/deployments
|
|
289
|
+
path: "/v1/deployments/{deploymentId}",
|
|
241
290
|
method: "GET",
|
|
242
291
|
summary: "Get a deployment",
|
|
243
292
|
description: "Get a deployment by ID",
|
|
244
293
|
tags: ["deployments"],
|
|
245
294
|
successDescription: "The deployment details"
|
|
246
|
-
}).errors({ NOT_FOUND: {} }).input(z.object({ deploymentId: z.string().describe("The ID of the deployment") })).output(
|
|
295
|
+
}).errors({ NOT_FOUND: {} }).input(z.object({ deploymentId: z.string().describe("The ID of the deployment") })).output(deploymentWithPageUrlSchema);
|
|
296
|
+
const getDeploymentLogsContractV1 = oc.route({
|
|
297
|
+
path: "/v1/deployments/{deploymentId}/logs",
|
|
298
|
+
method: "GET",
|
|
299
|
+
summary: "Get deployment logs",
|
|
300
|
+
description: "Get the logs for a deployment",
|
|
301
|
+
tags: ["deployments"],
|
|
302
|
+
successDescription: "The deployment logs"
|
|
303
|
+
}).errors({ NOT_FOUND: {} }).input(z.object({ deploymentId: z.string().describe("The ID of the deployment") })).output(z.object({
|
|
304
|
+
logs: z.array(z.object({
|
|
305
|
+
timestamp: z.coerce.date().optional(),
|
|
306
|
+
content: z.string().optional()
|
|
307
|
+
})),
|
|
308
|
+
hasMoreLogs: z.boolean()
|
|
309
|
+
}));
|
|
310
|
+
const analyticsDataPointSchema = z.object({
|
|
311
|
+
timestamp: z.number(),
|
|
312
|
+
categories: z.record(z.string(), z.unknown())
|
|
313
|
+
});
|
|
314
|
+
const analyticsTimeSeriesSchema = z.object({
|
|
315
|
+
sessions_count: z.array(analyticsDataPointSchema),
|
|
316
|
+
requests_count: z.array(analyticsDataPointSchema),
|
|
317
|
+
requests_latency_mean: z.array(analyticsDataPointSchema),
|
|
318
|
+
tool_errors: z.array(analyticsDataPointSchema),
|
|
319
|
+
mcp_errors: z.array(analyticsDataPointSchema),
|
|
320
|
+
output_token_mean: z.array(analyticsDataPointSchema),
|
|
321
|
+
task_count: z.array(analyticsDataPointSchema)
|
|
322
|
+
});
|
|
323
|
+
const getProjectAnalyticsContractV1 = oc.route({
|
|
324
|
+
path: "/v1/analytics/{projectId}",
|
|
325
|
+
method: "GET",
|
|
326
|
+
summary: "Get project analytics",
|
|
327
|
+
description: "Get analytics data for a project over a time range",
|
|
328
|
+
tags: ["analytics"],
|
|
329
|
+
successDescription: "The project analytics data"
|
|
330
|
+
}).errors({
|
|
331
|
+
NOT_FOUND: {},
|
|
332
|
+
BAD_REQUEST: {}
|
|
333
|
+
}).input(z.object({
|
|
334
|
+
projectId: z.string().describe("The ID of the project"),
|
|
335
|
+
startTimestamp: z.coerce.number().describe("Start timestamp in milliseconds"),
|
|
336
|
+
endTimestamp: z.coerce.number().describe("End timestamp in milliseconds"),
|
|
337
|
+
timeZone: z.string().describe("IANA timezone (e.g. Europe/Paris)")
|
|
338
|
+
}).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({
|
|
339
|
+
metadata: z.object({
|
|
340
|
+
startTimestamp: z.number(),
|
|
341
|
+
endTimestamp: z.number(),
|
|
342
|
+
timeZone: z.string(),
|
|
343
|
+
startDate: z.coerce.date(),
|
|
344
|
+
interval: z.string()
|
|
345
|
+
}),
|
|
346
|
+
timeSeries: analyticsTimeSeriesSchema
|
|
347
|
+
}));
|
|
348
|
+
const listTeamsContractV1 = oc.route({
|
|
349
|
+
path: "/v1/teams",
|
|
350
|
+
method: "GET",
|
|
351
|
+
summary: "List teams",
|
|
352
|
+
description: "List all teams for the authenticated user",
|
|
353
|
+
tags: ["teams"],
|
|
354
|
+
successDescription: "The list of teams"
|
|
355
|
+
}).output(z.array(z.object({
|
|
356
|
+
id: z.string(),
|
|
357
|
+
name: z.string(),
|
|
358
|
+
createdAt: z.coerce.date(),
|
|
359
|
+
hasStripeAccount: z.boolean(),
|
|
360
|
+
hasActiveSubscription: z.boolean()
|
|
361
|
+
})));
|
|
247
362
|
const contract = {
|
|
363
|
+
teams: { list: { v1: listTeamsContractV1 } },
|
|
364
|
+
analytics: { get: { v1: getProjectAnalyticsContractV1 } },
|
|
248
365
|
deployments: {
|
|
366
|
+
list: { v1: listProjectDeploymentsContractV1 },
|
|
249
367
|
get: { v1: getDeploymentContractV1 },
|
|
250
|
-
uploadArtifact: { v1: uploadDeploymentArtifactContractV1 }
|
|
368
|
+
uploadArtifact: { v1: uploadDeploymentArtifactContractV1 },
|
|
369
|
+
getLogs: { v1: getDeploymentLogsContractV1 }
|
|
251
370
|
},
|
|
252
371
|
environments: {
|
|
253
372
|
create: { v1: createEnvironmentContractV1 },
|
|
@@ -255,9 +374,11 @@ const contract = {
|
|
|
255
374
|
deploy: { v1: deployEnvironmentContractV1 }
|
|
256
375
|
},
|
|
257
376
|
projects: {
|
|
377
|
+
update: { v1: updateProjectContractV1 },
|
|
258
378
|
get: { v1: getProjectContractV1 },
|
|
259
379
|
list: { v1: listProjectsContractV1 },
|
|
260
|
-
create: { v1: createProjectContractV1 }
|
|
380
|
+
create: { v1: createProjectContractV1 },
|
|
381
|
+
delete: { v1: deleteProjectContractV1 }
|
|
261
382
|
}
|
|
262
383
|
};
|
|
263
384
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alpic-ai/api",
|
|
3
|
-
"version": "0.0.0-staging.
|
|
3
|
+
"version": "0.0.0-staging.bced96f",
|
|
4
4
|
"description": "Contract for the Alpic API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.mjs",
|
|
@@ -17,12 +17,11 @@
|
|
|
17
17
|
"author": "Alpic",
|
|
18
18
|
"license": "ISC",
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@orpc/contract": "^1.13.
|
|
20
|
+
"@orpc/contract": "^1.13.6",
|
|
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
26
|
"tsdown": "^0.20.3",
|
|
28
27
|
"typescript": "^5.9.3",
|