@alpic-ai/api 0.0.0-staging.1759cad → 0.0.0-staging.17fa0d2

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
@@ -1,15 +1,22 @@
1
- import * as _orpc_contract0 from "@orpc/contract";
2
- import { InferContractRouterInputs, InferContractRouterOutputs } from "@orpc/contract";
3
1
  import { z } from "zod";
2
+ import * as _$_orpc_contract0 from "@orpc/contract";
3
+ import { InferContractRouterInputs, InferContractRouterOutputs } from "@orpc/contract";
4
4
 
5
5
  //#region src/api.contract.d.ts
6
6
  type ApiContext = {
7
7
  request: Request & {
8
8
  teamIds: string[];
9
9
  defaultTeamId: string | undefined;
10
+ awsCognitoUserSub: string | undefined;
10
11
  };
11
12
  };
12
- declare const createEnvironmentContractV1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
13
+ declare const deploymentStatusSchema: z.ZodEnum<{
14
+ ongoing: "ongoing";
15
+ deployed: "deployed";
16
+ failed: "failed";
17
+ canceled: "canceled";
18
+ }>;
19
+ declare const createEnvironmentContractV1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
13
20
  projectId: z.ZodString;
14
21
  name: z.ZodString;
15
22
  sourceBranch: z.ZodString;
@@ -25,14 +32,14 @@ declare const createEnvironmentContractV1: _orpc_contract0.ContractProcedureBuil
25
32
  urls: z.ZodArray<z.ZodString>;
26
33
  createdAt: z.ZodCoercedDate<unknown>;
27
34
  projectId: z.ZodString;
28
- }, z.core.$strip>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
35
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
29
36
  NOT_FOUND: {};
30
37
  BAD_REQUEST: {};
31
38
  }>, Record<never, never>>;
32
39
  declare const contract: {
33
40
  teams: {
34
41
  list: {
35
- v1: _orpc_contract0.ContractProcedureBuilderWithOutput<_orpc_contract0.Schema<unknown, unknown>, z.ZodArray<z.ZodObject<{
42
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithOutput<_$_orpc_contract0.Schema<unknown, unknown>, z.ZodArray<z.ZodObject<{
36
43
  id: z.ZodString;
37
44
  name: z.ZodString;
38
45
  createdAt: z.ZodCoercedDate<unknown>;
@@ -42,7 +49,7 @@ declare const contract: {
42
49
  };
43
50
  analytics: {
44
51
  get: {
45
- v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
52
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
46
53
  projectId: z.ZodString;
47
54
  startTimestamp: z.ZodCoercedNumber<unknown>;
48
55
  endTimestamp: z.ZodCoercedNumber<unknown>;
@@ -85,7 +92,7 @@ declare const contract: {
85
92
  categories: z.ZodRecord<z.ZodString, z.ZodUnknown>;
86
93
  }, z.core.$strip>>;
87
94
  }, z.core.$strip>;
88
- }, z.core.$strip>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
95
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
89
96
  NOT_FOUND: {};
90
97
  BAD_REQUEST: {};
91
98
  }>, Record<never, never>>;
@@ -93,8 +100,15 @@ declare const contract: {
93
100
  };
94
101
  deployments: {
95
102
  list: {
96
- v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
103
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
97
104
  projectId: z.ZodString;
105
+ status: z.ZodOptional<z.ZodArray<z.ZodEnum<{
106
+ ongoing: "ongoing";
107
+ deployed: "deployed";
108
+ failed: "failed";
109
+ canceled: "canceled";
110
+ }>>>;
111
+ environmentId: z.ZodOptional<z.ZodString>;
98
112
  }, z.core.$strip>, z.ZodArray<z.ZodObject<{
99
113
  id: z.ZodString;
100
114
  status: z.ZodEnum<{
@@ -110,14 +124,16 @@ declare const contract: {
110
124
  authorAvatarUrl: z.ZodNullable<z.ZodString>;
111
125
  startedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
112
126
  completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
113
- isCurrent: z.ZodBoolean;
114
127
  environmentId: z.ZodString;
115
- }, z.core.$strip>>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
128
+ environmentName: z.ZodString;
129
+ isCurrent: z.ZodBoolean;
130
+ deploymentPageUrl: z.ZodNullable<z.ZodURL>;
131
+ }, z.core.$strip>>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
116
132
  NOT_FOUND: {};
117
133
  }>, Record<never, never>>;
118
134
  };
119
135
  get: {
120
- v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
136
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
121
137
  deploymentId: z.ZodString;
122
138
  }, z.core.$strip>, z.ZodObject<{
123
139
  id: z.ZodString;
@@ -134,22 +150,25 @@ declare const contract: {
134
150
  authorAvatarUrl: z.ZodNullable<z.ZodString>;
135
151
  startedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
136
152
  completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
153
+ environmentId: z.ZodString;
154
+ environmentName: z.ZodString;
155
+ isCurrent: z.ZodBoolean;
137
156
  deploymentPageUrl: z.ZodNullable<z.ZodURL>;
138
- }, z.core.$strip>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
157
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
139
158
  NOT_FOUND: {};
140
159
  }>, Record<never, never>>;
141
160
  };
142
161
  uploadArtifact: {
143
- v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodOptional<z.ZodObject<{
162
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodOptional<z.ZodObject<{
144
163
  teamId: z.ZodOptional<z.ZodString>;
145
164
  }, z.core.$strip>>, z.ZodObject<{
146
- uploadUrl: z.ZodString;
165
+ uploadUrl: z.ZodURL;
147
166
  token: z.ZodString;
148
167
  expiresAt: z.ZodCoercedDate<unknown>;
149
168
  }, z.core.$strip>, Record<never, never>, Record<never, never>>;
150
169
  };
151
170
  getLogs: {
152
- v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
171
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
153
172
  deploymentId: z.ZodString;
154
173
  }, z.core.$strip>, z.ZodObject<{
155
174
  logs: z.ZodArray<z.ZodObject<{
@@ -157,14 +176,14 @@ declare const contract: {
157
176
  content: z.ZodOptional<z.ZodString>;
158
177
  }, z.core.$strip>>;
159
178
  hasMoreLogs: z.ZodBoolean;
160
- }, z.core.$strip>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
179
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
161
180
  NOT_FOUND: {};
162
181
  }>, Record<never, never>>;
163
182
  };
164
183
  };
165
184
  environments: {
166
185
  create: {
167
- v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
186
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
168
187
  projectId: z.ZodString;
169
188
  name: z.ZodString;
170
189
  sourceBranch: z.ZodString;
@@ -180,13 +199,13 @@ declare const contract: {
180
199
  urls: z.ZodArray<z.ZodString>;
181
200
  createdAt: z.ZodCoercedDate<unknown>;
182
201
  projectId: z.ZodString;
183
- }, z.core.$strip>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
202
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
184
203
  NOT_FOUND: {};
185
204
  BAD_REQUEST: {};
186
205
  }>, Record<never, never>>;
187
206
  };
188
207
  get: {
189
- v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
208
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
190
209
  environmentId: z.ZodString;
191
210
  }, z.core.$strip>, z.ZodObject<{
192
211
  id: z.ZodString;
@@ -196,12 +215,12 @@ declare const contract: {
196
215
  domains: z.ZodArray<z.ZodURL>;
197
216
  createdAt: z.ZodCoercedDate<unknown>;
198
217
  projectId: z.ZodString;
199
- }, z.core.$strip>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
218
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
200
219
  NOT_FOUND: {};
201
220
  }>, Record<never, never>>;
202
221
  };
203
222
  deploy: {
204
- v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
223
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
205
224
  environmentId: z.ZodString;
206
225
  token: z.ZodOptional<z.ZodString>;
207
226
  }, z.core.$strip>, z.ZodObject<{
@@ -219,16 +238,139 @@ declare const contract: {
219
238
  authorAvatarUrl: z.ZodNullable<z.ZodString>;
220
239
  startedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
221
240
  completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
241
+ environmentId: z.ZodString;
242
+ environmentName: z.ZodString;
243
+ isCurrent: z.ZodBoolean;
222
244
  deploymentPageUrl: z.ZodNullable<z.ZodURL>;
223
- }, z.core.$strip>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
245
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
246
+ NOT_FOUND: {};
247
+ BAD_REQUEST: {};
248
+ }>, Record<never, never>>;
249
+ };
250
+ getLogs: {
251
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
252
+ environmentId: z.ZodString;
253
+ since: z.ZodOptional<z.ZodString>;
254
+ until: z.ZodOptional<z.ZodString>;
255
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
256
+ level: z.ZodOptional<z.ZodArray<z.ZodEnum<{
257
+ INFO: "INFO";
258
+ ERROR: "ERROR";
259
+ WARNING: "WARNING";
260
+ DEBUG: "DEBUG";
261
+ }>>>;
262
+ search: z.ZodOptional<z.ZodString>;
263
+ nextToken: z.ZodOptional<z.ZodString>;
264
+ }, z.core.$strip>, z.ZodObject<{
265
+ logs: z.ZodArray<z.ZodObject<{
266
+ timestamp: z.ZodCoercedDate<unknown>;
267
+ type: z.ZodEnum<{
268
+ INFO: "INFO";
269
+ ERROR: "ERROR";
270
+ WARNING: "WARNING";
271
+ DEBUG: "DEBUG";
272
+ START: "START";
273
+ END: "END";
274
+ }>;
275
+ requestId: z.ZodString;
276
+ content: z.ZodOptional<z.ZodString>;
277
+ method: z.ZodOptional<z.ZodString>;
278
+ durationInMs: z.ZodOptional<z.ZodNumber>;
279
+ }, z.core.$strip>>;
280
+ nextToken: z.ZodNullable<z.ZodString>;
281
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
282
+ NOT_FOUND: {};
283
+ BAD_REQUEST: {};
284
+ }>, Record<never, never>>;
285
+ };
286
+ getLatestLogs: {
287
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
288
+ environmentId: z.ZodString;
289
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
290
+ level: z.ZodOptional<z.ZodArray<z.ZodEnum<{
291
+ INFO: "INFO";
292
+ ERROR: "ERROR";
293
+ WARNING: "WARNING";
294
+ DEBUG: "DEBUG";
295
+ }>>>;
296
+ search: z.ZodOptional<z.ZodString>;
297
+ }, z.core.$strip>, z.ZodObject<{
298
+ logs: z.ZodArray<z.ZodObject<{
299
+ timestamp: z.ZodCoercedDate<unknown>;
300
+ type: z.ZodEnum<{
301
+ INFO: "INFO";
302
+ ERROR: "ERROR";
303
+ WARNING: "WARNING";
304
+ DEBUG: "DEBUG";
305
+ START: "START";
306
+ END: "END";
307
+ }>;
308
+ requestId: z.ZodString;
309
+ content: z.ZodOptional<z.ZodString>;
310
+ method: z.ZodOptional<z.ZodString>;
311
+ durationInMs: z.ZodOptional<z.ZodNumber>;
312
+ }, z.core.$strip>>;
313
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
314
+ NOT_FOUND: {};
315
+ BAD_REQUEST: {};
316
+ }>, Record<never, never>>;
317
+ };
318
+ };
319
+ environmentVariables: {
320
+ list: {
321
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
322
+ environmentId: z.ZodString;
323
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
324
+ id: z.ZodString;
325
+ key: z.ZodString;
326
+ value: z.ZodString;
327
+ isSecret: z.ZodBoolean;
328
+ createdAt: z.ZodCoercedDate<unknown>;
329
+ }, z.core.$strip>>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
330
+ NOT_FOUND: {};
331
+ }>, Record<never, never>>;
332
+ };
333
+ create: {
334
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
335
+ environmentId: z.ZodString;
336
+ environmentVariables: z.ZodArray<z.ZodObject<{
337
+ key: z.ZodString;
338
+ value: z.ZodString;
339
+ isSecret: z.ZodDefault<z.ZodBoolean>;
340
+ }, z.core.$strip>>;
341
+ }, z.core.$strip>, z.ZodObject<{
342
+ success: z.ZodLiteral<true>;
343
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
344
+ NOT_FOUND: {};
345
+ BAD_REQUEST: {};
346
+ }>, Record<never, never>>;
347
+ };
348
+ update: {
349
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
350
+ environmentVariableId: z.ZodString;
351
+ key: z.ZodString;
352
+ value: z.ZodOptional<z.ZodString>;
353
+ isSecret: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
354
+ }, z.core.$strip>, z.ZodObject<{
355
+ success: z.ZodLiteral<true>;
356
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
224
357
  NOT_FOUND: {};
225
358
  BAD_REQUEST: {};
226
359
  }>, Record<never, never>>;
227
360
  };
361
+ delete: {
362
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
363
+ environmentVariableId: z.ZodString;
364
+ }, z.core.$strip>, z.ZodObject<{
365
+ success: z.ZodLiteral<true>;
366
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
367
+ NOT_FOUND: {};
368
+ }>, Record<never, never>>;
369
+ };
228
370
  };
229
371
  projects: {
230
372
  update: {
231
- v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
373
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
232
374
  projectId: z.ZodString;
233
375
  name: z.ZodOptional<z.ZodString>;
234
376
  sourceRepository: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -300,13 +442,13 @@ declare const contract: {
300
442
  completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
301
443
  }, z.core.$strip>>;
302
444
  }, z.core.$strip>>;
303
- }, z.core.$strip>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
445
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
304
446
  NOT_FOUND: {};
305
447
  BAD_REQUEST: {};
306
448
  }>, Record<never, never>>;
307
449
  };
308
450
  get: {
309
- v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
451
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
310
452
  projectId: z.ZodString;
311
453
  }, z.core.$strip>, z.ZodObject<{
312
454
  id: z.ZodString;
@@ -376,12 +518,12 @@ declare const contract: {
376
518
  completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
377
519
  }, z.core.$strip>>;
378
520
  }, z.core.$strip>>;
379
- }, z.core.$strip>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
521
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
380
522
  NOT_FOUND: {};
381
523
  }>, Record<never, never>>;
382
524
  };
383
525
  list: {
384
- v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodOptional<z.ZodObject<{
526
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodOptional<z.ZodObject<{
385
527
  teamId: z.ZodOptional<z.ZodString>;
386
528
  }, z.core.$strip>>, z.ZodArray<z.ZodObject<{
387
529
  id: z.ZodString;
@@ -454,7 +596,7 @@ declare const contract: {
454
596
  }, z.core.$strip>>, Record<never, never>, Record<never, never>>;
455
597
  };
456
598
  create: {
457
- v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
599
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
458
600
  teamId: z.ZodOptional<z.ZodString>;
459
601
  name: z.ZodString;
460
602
  sourceRepository: z.ZodOptional<z.ZodString>;
@@ -512,17 +654,271 @@ declare const contract: {
512
654
  installCommand: z.ZodNullable<z.ZodString>;
513
655
  startCommand: z.ZodNullable<z.ZodString>;
514
656
  createdAt: z.ZodCoercedDate<unknown>;
515
- }, z.core.$strip>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
657
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
516
658
  NOT_FOUND: {};
517
659
  BAD_REQUEST: {};
518
660
  }>, Record<never, never>>;
519
661
  };
520
662
  delete: {
521
- v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
663
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
522
664
  projectId: z.ZodString;
523
665
  }, z.core.$strip>, z.ZodObject<{
524
666
  success: z.ZodLiteral<true>;
525
- }, z.core.$strip>, _orpc_contract0.MergedErrorMap<Record<never, never>, {
667
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
668
+ NOT_FOUND: {};
669
+ }>, Record<never, never>>;
670
+ };
671
+ };
672
+ playground: {
673
+ get: {
674
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
675
+ environmentId: z.ZodString;
676
+ }, z.core.$strip>, z.ZodObject<{
677
+ isPlaygroundEnabled: z.ZodBoolean;
678
+ serverMetadata: z.ZodNullable<z.ZodObject<{
679
+ name: z.ZodString;
680
+ description: z.ZodString;
681
+ headers: z.ZodArray<z.ZodObject<{
682
+ name: z.ZodString;
683
+ description: z.ZodString;
684
+ isRequired: z.ZodBoolean;
685
+ isSecret: z.ZodBoolean;
686
+ }, z.core.$strip>>;
687
+ examplePrompts: z.ZodArray<z.ZodObject<{
688
+ title: z.ZodString;
689
+ prompt: z.ZodString;
690
+ }, z.core.$strip>>;
691
+ }, z.core.$strip>>;
692
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
693
+ NOT_FOUND: {};
694
+ }>, Record<never, never>>;
695
+ };
696
+ upsert: {
697
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
698
+ environmentId: z.ZodString;
699
+ isPlaygroundEnabled: z.ZodOptional<z.ZodBoolean>;
700
+ name: z.ZodOptional<z.ZodString>;
701
+ description: z.ZodOptional<z.ZodString>;
702
+ headers: z.ZodOptional<z.ZodArray<z.ZodObject<{
703
+ name: z.ZodString;
704
+ description: z.ZodString;
705
+ isRequired: z.ZodDefault<z.ZodBoolean>;
706
+ isSecret: z.ZodDefault<z.ZodBoolean>;
707
+ }, z.core.$strip>>>;
708
+ examplePrompts: z.ZodOptional<z.ZodArray<z.ZodObject<{
709
+ title: z.ZodString;
710
+ prompt: z.ZodString;
711
+ }, z.core.$strip>>>;
712
+ }, z.core.$strip>, z.ZodObject<{
713
+ isPlaygroundEnabled: z.ZodBoolean;
714
+ serverMetadata: z.ZodNullable<z.ZodObject<{
715
+ name: z.ZodString;
716
+ description: z.ZodString;
717
+ headers: z.ZodArray<z.ZodObject<{
718
+ name: z.ZodString;
719
+ description: z.ZodString;
720
+ isRequired: z.ZodBoolean;
721
+ isSecret: z.ZodBoolean;
722
+ }, z.core.$strip>>;
723
+ examplePrompts: z.ZodArray<z.ZodObject<{
724
+ title: z.ZodString;
725
+ prompt: z.ZodString;
726
+ }, z.core.$strip>>;
727
+ }, z.core.$strip>>;
728
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
729
+ NOT_FOUND: {};
730
+ BAD_REQUEST: {};
731
+ }>, Record<never, never>>;
732
+ };
733
+ };
734
+ tunnels: {
735
+ getTicket: {
736
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithOutput<_$_orpc_contract0.Schema<unknown, unknown>, z.ZodObject<{
737
+ subdomain: z.ZodString;
738
+ ticket: z.ZodString;
739
+ tunnelHost: z.ZodString;
740
+ }, z.core.$strip>, Record<never, never>, Record<never, never>>;
741
+ };
742
+ };
743
+ distribution: {
744
+ publish: {
745
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
746
+ projectId: z.ZodString;
747
+ domain: z.ZodString;
748
+ title: z.ZodString;
749
+ description: z.ZodString;
750
+ websiteUrl: z.ZodOptional<z.ZodURL>;
751
+ iconSrc: z.ZodOptional<z.ZodURL>;
752
+ dryRun: z.ZodOptional<z.ZodBoolean>;
753
+ }, z.core.$strip>, z.ZodObject<{
754
+ serverFields: z.ZodObject<{
755
+ $schema: z.ZodString;
756
+ name: z.ZodString;
757
+ description: z.ZodString;
758
+ version: z.ZodOptional<z.ZodString>;
759
+ title: z.ZodOptional<z.ZodString>;
760
+ websiteUrl: z.ZodOptional<z.ZodURL>;
761
+ icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
762
+ src: z.ZodURL;
763
+ mimeType: z.ZodOptional<z.ZodString>;
764
+ sizes: z.ZodOptional<z.ZodArray<z.ZodString>>;
765
+ }, z.core.$strip>>>;
766
+ remotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
767
+ type: z.ZodString;
768
+ url: z.ZodOptional<z.ZodURL>;
769
+ headers: z.ZodOptional<z.ZodArray<z.ZodObject<{
770
+ name: z.ZodString;
771
+ description: z.ZodString;
772
+ isRequired: z.ZodOptional<z.ZodBoolean>;
773
+ isSecret: z.ZodOptional<z.ZodBoolean>;
774
+ }, z.core.$strip>>>;
775
+ }, z.core.$strip>>>;
776
+ }, z.core.$strip>;
777
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
778
+ NOT_FOUND: {};
779
+ BAD_REQUEST: {};
780
+ }>, Record<never, never>>;
781
+ };
782
+ get: {
783
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
784
+ projectId: z.ZodString;
785
+ domain: z.ZodString;
786
+ }, z.core.$strip>, z.ZodObject<{
787
+ serverFields: z.ZodObject<{
788
+ $schema: z.ZodString;
789
+ name: z.ZodString;
790
+ description: z.ZodString;
791
+ version: z.ZodOptional<z.ZodString>;
792
+ title: z.ZodOptional<z.ZodString>;
793
+ websiteUrl: z.ZodOptional<z.ZodURL>;
794
+ icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
795
+ src: z.ZodURL;
796
+ mimeType: z.ZodOptional<z.ZodString>;
797
+ sizes: z.ZodOptional<z.ZodArray<z.ZodString>>;
798
+ }, z.core.$strip>>>;
799
+ remotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
800
+ type: z.ZodString;
801
+ url: z.ZodOptional<z.ZodURL>;
802
+ headers: z.ZodOptional<z.ZodArray<z.ZodObject<{
803
+ name: z.ZodString;
804
+ description: z.ZodString;
805
+ isRequired: z.ZodOptional<z.ZodBoolean>;
806
+ isSecret: z.ZodOptional<z.ZodBoolean>;
807
+ }, z.core.$strip>>>;
808
+ }, z.core.$strip>>>;
809
+ }, z.core.$strip>;
810
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
811
+ NOT_FOUND: {};
812
+ BAD_REQUEST: {};
813
+ }>, Record<never, never>>;
814
+ };
815
+ };
816
+ beacon: {
817
+ create: {
818
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
819
+ targetUrl: z.ZodURL;
820
+ teamId: z.ZodOptional<z.ZodString>;
821
+ projectId: z.ZodOptional<z.ZodString>;
822
+ excludeCategories: z.ZodOptional<z.ZodArray<z.ZodEnum<{
823
+ connectivity: "connectivity";
824
+ "tool-metadata": "tool-metadata";
825
+ "resource-metadata": "resource-metadata";
826
+ performance: "performance";
827
+ e2e: "e2e";
828
+ }>>>;
829
+ }, z.core.$strip>, z.ZodObject<{
830
+ id: z.ZodString;
831
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
832
+ NOT_FOUND: {};
833
+ BAD_REQUEST: {};
834
+ }>, Record<never, never>>;
835
+ };
836
+ get: {
837
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
838
+ auditId: z.ZodString;
839
+ }, z.core.$strip>, z.ZodObject<{
840
+ id: z.ZodString;
841
+ targetUrl: z.ZodString;
842
+ status: z.ZodEnum<{
843
+ failed: "failed";
844
+ pending: "pending";
845
+ partial: "partial";
846
+ completed: "completed";
847
+ }>;
848
+ durationMs: z.ZodNullable<z.ZodNumber>;
849
+ createdAt: z.ZodCoercedDate<unknown>;
850
+ report: z.ZodNullable<z.ZodObject<{
851
+ schemaVersion: z.ZodString;
852
+ auditId: z.ZodString;
853
+ targetUrl: z.ZodString;
854
+ startedAt: z.ZodString;
855
+ completedAt: z.ZodString;
856
+ durationMs: z.ZodNumber;
857
+ results: z.ZodArray<z.ZodObject<{
858
+ checkId: z.ZodString;
859
+ checkName: z.ZodString;
860
+ description: z.ZodString;
861
+ status: z.ZodEnum<{
862
+ pending: "pending";
863
+ pass: "pass";
864
+ fail: "fail";
865
+ skip: "skip";
866
+ }>;
867
+ message: z.ZodString;
868
+ skipReason: z.ZodOptional<z.ZodString>;
869
+ severity: z.ZodEnum<{
870
+ error: "error";
871
+ warning: "warning";
872
+ info: "info";
873
+ }>;
874
+ category: z.ZodEnum<{
875
+ connectivity: "connectivity";
876
+ "tool-metadata": "tool-metadata";
877
+ "resource-metadata": "resource-metadata";
878
+ performance: "performance";
879
+ e2e: "e2e";
880
+ }>;
881
+ scope: z.ZodEnum<{
882
+ server: "server";
883
+ view: "view";
884
+ }>;
885
+ platforms: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
886
+ chatgpt: "chatgpt";
887
+ claudeai: "claudeai";
888
+ }>>>>;
889
+ durationMs: z.ZodNumber;
890
+ details: z.ZodOptional<z.ZodArray<z.ZodObject<{
891
+ label: z.ZodString;
892
+ value: z.ZodOptional<z.ZodString>;
893
+ }, z.core.$strip>>>;
894
+ hint: z.ZodOptional<z.ZodObject<{
895
+ text: z.ZodString;
896
+ }, z.core.$strip>>;
897
+ }, z.core.$strip>>;
898
+ requiresAuth: z.ZodBoolean;
899
+ hasViewSupport: z.ZodBoolean;
900
+ viewPlatforms: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
901
+ chatgpt: "chatgpt";
902
+ claudeai: "claudeai";
903
+ }>>>>;
904
+ isReadyForPlatform: z.ZodRecord<z.ZodEnum<{
905
+ chatgpt: "chatgpt";
906
+ claudeai: "claudeai";
907
+ }>, z.ZodBoolean>;
908
+ widgetScreenshotKeys: z.ZodObject<{
909
+ chatgpt: z.ZodOptional<z.ZodString>;
910
+ claudeai: z.ZodOptional<z.ZodString>;
911
+ }, z.core.$strip>;
912
+ widgetScreenshots: z.ZodObject<{
913
+ chatgpt: z.ZodOptional<z.ZodObject<{
914
+ url: z.ZodString;
915
+ }, z.core.$strip>>;
916
+ claudeai: z.ZodOptional<z.ZodObject<{
917
+ url: z.ZodString;
918
+ }, z.core.$strip>>;
919
+ }, z.core.$strip>;
920
+ }, z.core.$strip>>;
921
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
526
922
  NOT_FOUND: {};
527
923
  }>, Record<never, never>>;
528
924
  };
@@ -531,6 +927,14 @@ declare const contract: {
531
927
  type RouterInput = InferContractRouterInputs<typeof contract>;
532
928
  type RouterOutput = InferContractRouterOutputs<typeof contract>;
533
929
  //#endregion
930
+ //#region ../domains/src/beacon/schemas.d.ts
931
+ declare const platformSchema: z.ZodEnum<{
932
+ chatgpt: "chatgpt";
933
+ claudeai: "claudeai";
934
+ }>;
935
+ type Platform = z.infer<typeof platformSchema>;
936
+ declare const PLATFORM_LABELS: Record<Platform, string>;
937
+ //#endregion
534
938
  //#region src/schemas.d.ts
535
939
  declare const environmentVariableSchema: z.ZodObject<{
536
940
  key: z.ZodString;
@@ -542,6 +946,11 @@ declare const environmentVariablesSchema: z.ZodArray<z.ZodObject<{
542
946
  value: z.ZodString;
543
947
  isSecret: z.ZodDefault<z.ZodBoolean>;
544
948
  }, z.core.$strip>>;
949
+ declare const updateEnvironmentVariableSchema: z.ZodObject<{
950
+ key: z.ZodString;
951
+ value: z.ZodOptional<z.ZodString>;
952
+ isSecret: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
953
+ }, z.core.$strip>;
545
954
  declare const buildSettingsSchema: z.ZodObject<{
546
955
  installCommand: z.ZodOptional<z.ZodString>;
547
956
  buildCommand: z.ZodOptional<z.ZodString>;
@@ -561,5 +970,38 @@ declare const transportSchema: z.ZodEnum<{
561
970
  streamablehttp: "streamablehttp";
562
971
  }>;
563
972
  type Transport = z.infer<typeof transportSchema>;
973
+ declare const playgroundHeaderSchema: z.ZodObject<{
974
+ name: z.ZodString;
975
+ description: z.ZodString;
976
+ isRequired: z.ZodDefault<z.ZodBoolean>;
977
+ isSecret: z.ZodDefault<z.ZodBoolean>;
978
+ }, z.core.$strip>;
979
+ declare const playgroundExamplePromptSchema: z.ZodObject<{
980
+ title: z.ZodString;
981
+ prompt: z.ZodString;
982
+ }, z.core.$strip>;
983
+ declare const serverFieldsSchema: z.ZodObject<{
984
+ $schema: z.ZodString;
985
+ name: z.ZodString;
986
+ description: z.ZodString;
987
+ version: z.ZodOptional<z.ZodString>;
988
+ title: z.ZodOptional<z.ZodString>;
989
+ websiteUrl: z.ZodOptional<z.ZodURL>;
990
+ icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
991
+ src: z.ZodURL;
992
+ mimeType: z.ZodOptional<z.ZodString>;
993
+ sizes: z.ZodOptional<z.ZodArray<z.ZodString>>;
994
+ }, z.core.$strip>>>;
995
+ remotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
996
+ type: z.ZodString;
997
+ url: z.ZodOptional<z.ZodURL>;
998
+ headers: z.ZodOptional<z.ZodArray<z.ZodObject<{
999
+ name: z.ZodString;
1000
+ description: z.ZodString;
1001
+ isRequired: z.ZodOptional<z.ZodBoolean>;
1002
+ isSecret: z.ZodOptional<z.ZodBoolean>;
1003
+ }, z.core.$strip>>>;
1004
+ }, z.core.$strip>>>;
1005
+ }, z.core.$strip>;
564
1006
  //#endregion
565
- export { ApiContext, RouterInput, RouterOutput, Runtime, Transport, buildSettingsSchema, contract, createEnvironmentContractV1, environmentVariableSchema, environmentVariablesSchema, runtimeSchema, transportSchema };
1007
+ export { ApiContext, PLATFORM_LABELS, type Platform, RouterInput, RouterOutput, Runtime, Transport, buildSettingsSchema, contract, createEnvironmentContractV1, deploymentStatusSchema, environmentVariableSchema, environmentVariablesSchema, playgroundExamplePromptSchema, playgroundHeaderSchema, runtimeSchema, serverFieldsSchema, transportSchema, updateEnvironmentVariableSchema };
package/dist/index.mjs CHANGED
@@ -1,6 +1,78 @@
1
- import { oc } from "@orpc/contract";
2
1
  import { z } from "zod";
3
-
2
+ import { oc } from "@orpc/contract";
3
+ import ms from "ms";
4
+ //#region ../domains/dist/index.mjs
5
+ const auditStatusSchema = z.enum([
6
+ "pending",
7
+ "partial",
8
+ "completed",
9
+ "failed"
10
+ ]);
11
+ const platformSchema = z.enum(["chatgpt", "claudeai"]);
12
+ const PLATFORM_LABELS = {
13
+ chatgpt: "ChatGPT",
14
+ claudeai: "Claude.ai"
15
+ };
16
+ const checkSeveritySchema = z.enum([
17
+ "error",
18
+ "warning",
19
+ "info"
20
+ ]);
21
+ const checkCategorySchema = z.enum([
22
+ "connectivity",
23
+ "tool-metadata",
24
+ "resource-metadata",
25
+ "performance",
26
+ "e2e"
27
+ ]);
28
+ const checkScopeSchema = z.enum(["server", "view"]);
29
+ const checkDetailSchema = z.object({
30
+ label: z.string(),
31
+ value: z.string().optional()
32
+ });
33
+ const checkResultSchema = z.object({
34
+ checkId: z.string(),
35
+ checkName: z.string(),
36
+ description: z.string(),
37
+ status: z.enum([
38
+ "pass",
39
+ "fail",
40
+ "skip",
41
+ "pending"
42
+ ]),
43
+ message: z.string(),
44
+ skipReason: z.string().optional(),
45
+ severity: checkSeveritySchema,
46
+ category: checkCategorySchema,
47
+ scope: checkScopeSchema,
48
+ platforms: z.array(platformSchema).readonly().optional(),
49
+ durationMs: z.number(),
50
+ details: z.array(checkDetailSchema).optional(),
51
+ hint: z.object({ text: z.string() }).optional()
52
+ });
53
+ const auditReportSchema = z.object({
54
+ schemaVersion: z.string(),
55
+ auditId: z.string(),
56
+ targetUrl: z.string(),
57
+ startedAt: z.string(),
58
+ completedAt: z.string(),
59
+ durationMs: z.number(),
60
+ results: z.array(checkResultSchema),
61
+ requiresAuth: z.boolean(),
62
+ hasViewSupport: z.boolean(),
63
+ viewPlatforms: z.array(platformSchema).readonly().optional(),
64
+ isReadyForPlatform: z.record(platformSchema, z.boolean()),
65
+ widgetScreenshotKeys: z.object({
66
+ chatgpt: z.string().optional(),
67
+ claudeai: z.string().optional()
68
+ })
69
+ });
70
+ const widgetScreenshotSchema = z.object({ url: z.string() });
71
+ const auditReportWithScreenshotsSchema = auditReportSchema.extend({ widgetScreenshots: z.object({
72
+ chatgpt: widgetScreenshotSchema.optional(),
73
+ claudeai: widgetScreenshotSchema.optional()
74
+ }) });
75
+ //#endregion
4
76
  //#region src/schemas.ts
5
77
  const RESERVED_KEYS = [
6
78
  "_HANDLER",
@@ -34,7 +106,9 @@ const RESERVED_KEYS = [
34
106
  "BUILD_ARG_BUILD_COMMAND",
35
107
  "BUILD_ARG_BUILD_OUTPUT_DIR",
36
108
  "BUILD_ARG_START_COMMAND",
37
- "ALPIC_HOST"
109
+ "ALPIC_HOST",
110
+ "ALPIC_CUSTOM_DOMAINS",
111
+ "ALPIC_PROMPT_META_KEY"
38
112
  ];
39
113
  const environmentVariableSchema = z.object({
40
114
  key: z.string().min(2, "Key must be at least 2 characters").regex(/^[a-zA-Z]([a-zA-Z0-9_])+$/, "Key must start with a letter and contain only letters, numbers, and underscores").refine((key) => !RESERVED_KEYS.includes(key), "This key is reserved and cannot be used as an environment variable key"),
@@ -42,6 +116,10 @@ const environmentVariableSchema = z.object({
42
116
  isSecret: z.boolean().default(false)
43
117
  });
44
118
  const environmentVariablesSchema = z.array(environmentVariableSchema);
119
+ const updateEnvironmentVariableSchema = environmentVariableSchema.partial({
120
+ value: true,
121
+ isSecret: true
122
+ });
45
123
  const buildSettingsSchema = z.object({
46
124
  installCommand: z.string().optional(),
47
125
  buildCommand: z.string().optional(),
@@ -59,7 +137,39 @@ const transportSchema = z.enum([
59
137
  "sse",
60
138
  "streamablehttp"
61
139
  ]);
62
-
140
+ const playgroundHeaderSchema = z.object({
141
+ name: z.string().min(1).max(100),
142
+ description: z.string().max(200),
143
+ isRequired: z.boolean().default(false),
144
+ isSecret: z.boolean().default(false)
145
+ });
146
+ const playgroundExamplePromptSchema = z.object({
147
+ title: z.string().min(1).max(100),
148
+ prompt: z.string().min(1).max(500)
149
+ });
150
+ const serverFieldsSchema = z.object({
151
+ $schema: z.string(),
152
+ name: z.string(),
153
+ description: z.string(),
154
+ version: z.string().optional(),
155
+ title: z.string().optional(),
156
+ websiteUrl: z.url().optional(),
157
+ icons: z.array(z.object({
158
+ src: z.url(),
159
+ mimeType: z.string().optional(),
160
+ sizes: z.array(z.string()).optional()
161
+ })).optional(),
162
+ remotes: z.array(z.object({
163
+ type: z.string(),
164
+ url: z.url().optional(),
165
+ headers: z.array(z.object({
166
+ name: z.string(),
167
+ description: z.string(),
168
+ isRequired: z.boolean().optional(),
169
+ isSecret: z.boolean().optional()
170
+ })).optional()
171
+ })).optional()
172
+ });
63
173
  //#endregion
64
174
  //#region src/api.contract.ts
65
175
  const deploymentStatusSchema = z.enum([
@@ -84,9 +194,16 @@ const deploymentSchema = z.object({
84
194
  authorUsername: z.string().nullable(),
85
195
  authorAvatarUrl: z.string().nullable(),
86
196
  startedAt: z.coerce.date().nullable(),
87
- completedAt: z.coerce.date().nullable()
197
+ completedAt: z.coerce.date().nullable(),
198
+ environmentId: z.string(),
199
+ environmentName: z.string(),
200
+ isCurrent: z.boolean(),
201
+ deploymentPageUrl: z.url().nullable()
88
202
  });
89
- const deploymentWithPageUrlSchema = deploymentSchema.extend({ deploymentPageUrl: z.url().nullable() });
203
+ const isValidLogTimeInput = (value) => {
204
+ if (ms(value) !== void 0) return true;
205
+ return !Number.isNaN(new Date(value).getTime());
206
+ };
90
207
  const createEnvironmentContractV1 = oc.route({
91
208
  path: "/v1/environments",
92
209
  method: "POST",
@@ -225,8 +342,61 @@ const createProjectContractV1 = oc.route({
225
342
  startCommand: z.string().nullable(),
226
343
  createdAt: z.coerce.date()
227
344
  }));
345
+ const environmentVariableOutputSchema = z.object({
346
+ id: z.string(),
347
+ key: z.string(),
348
+ value: z.string(),
349
+ isSecret: z.boolean(),
350
+ createdAt: z.coerce.date()
351
+ });
352
+ const listEnvironmentVariablesContractV1 = oc.route({
353
+ path: "/v1/environments/{environmentId}/environment-variables",
354
+ method: "GET",
355
+ summary: "List environment variables",
356
+ description: "List all environment variables for an environment",
357
+ tags: ["environments"],
358
+ successDescription: "The list of environment variables"
359
+ }).errors({ NOT_FOUND: {} }).input(z.object({ environmentId: z.string().describe("The ID of the environment") })).output(z.array(environmentVariableOutputSchema));
360
+ const createEnvironmentVariablesContractV1 = oc.route({
361
+ path: "/v1/environments/{environmentId}/environment-variables",
362
+ method: "POST",
363
+ summary: "Add environment variables",
364
+ description: "Add one or more environment variables to an environment",
365
+ tags: ["environments"],
366
+ successDescription: "The environment variables have been added successfully"
367
+ }).errors({
368
+ NOT_FOUND: {},
369
+ BAD_REQUEST: {}
370
+ }).input(z.object({
371
+ environmentId: z.string().describe("The ID of the environment"),
372
+ environmentVariables: environmentVariablesSchema
373
+ })).output(z.object({ success: z.literal(true) }));
374
+ const updateEnvironmentVariableContractV1 = oc.route({
375
+ path: "/v1/environment-variables/{environmentVariableId}",
376
+ method: "PATCH",
377
+ summary: "Update an environment variable",
378
+ description: "Update an environment variable by ID",
379
+ tags: ["environments"],
380
+ successDescription: "The environment variable has been updated successfully"
381
+ }).errors({
382
+ NOT_FOUND: {},
383
+ BAD_REQUEST: {}
384
+ }).input(z.object({
385
+ environmentVariableId: z.string().describe("The ID of the environment variable"),
386
+ key: environmentVariableSchema.shape.key,
387
+ value: environmentVariableSchema.shape.value.optional(),
388
+ isSecret: environmentVariableSchema.shape.isSecret.optional()
389
+ })).output(z.object({ success: z.literal(true) }));
390
+ const deleteEnvironmentVariableContractV1 = oc.route({
391
+ path: "/v1/environment-variables/{environmentVariableId}",
392
+ method: "DELETE",
393
+ summary: "Delete an environment variable",
394
+ description: "Delete an environment variable by ID",
395
+ tags: ["environments"],
396
+ successDescription: "The environment variable has been deleted successfully"
397
+ }).errors({ NOT_FOUND: {} }).input(z.object({ environmentVariableId: z.string().describe("The ID of the environment variable") })).output(z.object({ success: z.literal(true) }));
228
398
  const deleteProjectContractV1 = oc.route({
229
- path: "/v1/projects/:projectId",
399
+ path: "/v1/projects/{projectId}",
230
400
  method: "DELETE",
231
401
  summary: "Delete a project",
232
402
  description: "Delete a project and all its environments",
@@ -261,7 +431,7 @@ const deployEnvironmentContractV1 = oc.route({
261
431
  }).input(z.object({
262
432
  environmentId: z.string().describe("The ID of the environment to deploy"),
263
433
  token: z.string().describe("The token to identify the source archive").optional()
264
- })).output(deploymentWithPageUrlSchema);
434
+ })).output(deploymentSchema);
265
435
  const uploadDeploymentArtifactContractV1 = oc.route({
266
436
  path: "/v1/deployments/upload",
267
437
  method: "POST",
@@ -270,21 +440,22 @@ const uploadDeploymentArtifactContractV1 = oc.route({
270
440
  tags: ["deployments"],
271
441
  successDescription: "The presigned upload URL has been generated successfully"
272
442
  }).input(z.object({ teamId: z.string().optional() }).optional()).output(z.object({
273
- uploadUrl: z.string().url().describe("Presigned S3 URL to upload the source archive with HTTP PUT"),
443
+ uploadUrl: z.url().describe("Presigned S3 URL to upload the source archive with HTTP PUT"),
274
444
  token: z.string().describe("Token to identify the source archive"),
275
445
  expiresAt: z.coerce.date().describe("Expiration date of the presigned URL")
276
446
  }));
277
- const listProjectDeploymentsContractV1 = oc.route({
447
+ const listDeploymentsContractV1 = oc.route({
278
448
  path: "/v1/projects/{projectId}/deployments",
279
449
  method: "GET",
280
450
  summary: "List project deployments",
281
451
  description: "List all deployments for a project",
282
452
  tags: ["deployments"],
283
453
  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
- })));
454
+ }).errors({ NOT_FOUND: {} }).input(z.object({
455
+ projectId: z.string().describe("The ID of the project"),
456
+ status: z.array(deploymentStatusSchema).optional().describe("Filter by one or more statuses"),
457
+ environmentId: z.string().optional().describe("Filter by environment ID")
458
+ })).output(z.array(deploymentSchema));
288
459
  const getDeploymentContractV1 = oc.route({
289
460
  path: "/v1/deployments/{deploymentId}",
290
461
  method: "GET",
@@ -292,7 +463,83 @@ const getDeploymentContractV1 = oc.route({
292
463
  description: "Get a deployment by ID",
293
464
  tags: ["deployments"],
294
465
  successDescription: "The deployment details"
295
- }).errors({ NOT_FOUND: {} }).input(z.object({ deploymentId: z.string().describe("The ID of the deployment") })).output(deploymentWithPageUrlSchema);
466
+ }).errors({ NOT_FOUND: {} }).input(z.object({ deploymentId: z.string().describe("The ID of the deployment") })).output(deploymentSchema);
467
+ const getLogsContractV1 = oc.route({
468
+ path: "/v1/environments/{environmentId}/logs",
469
+ method: "GET",
470
+ summary: "Get logs",
471
+ description: "Get logs for an environment",
472
+ tags: ["environments"],
473
+ successDescription: "The logs"
474
+ }).errors({
475
+ NOT_FOUND: {},
476
+ BAD_REQUEST: {}
477
+ }).input(z.object({
478
+ environmentId: z.string().describe("The ID of the environment"),
479
+ since: z.string().refine(isValidLogTimeInput, { message: "Invalid time. Use relative (1h, 30m, 2d) or ISO 8601 format." }).optional().describe("Start time — ISO 8601 (2024-01-01T00:00:00Z) or relative (1h, 30m, 2d)"),
480
+ until: z.string().refine(isValidLogTimeInput, { message: "Invalid time. Use relative (1h, 30m, 2d) or ISO 8601 format." }).optional().describe("End time — ISO 8601 or relative"),
481
+ limit: z.coerce.number().int().min(1).max(1e3).default(1e3).describe("Maximum number of log entries to return."),
482
+ level: z.array(z.enum([
483
+ "INFO",
484
+ "ERROR",
485
+ "WARNING",
486
+ "DEBUG"
487
+ ])).optional().describe("Filter by log level"),
488
+ search: z.string().optional().describe("Filter pattern to search for in log content"),
489
+ nextToken: z.string().optional().describe("Pagination token from a previous response")
490
+ })).output(z.object({
491
+ logs: z.array(z.object({
492
+ timestamp: z.coerce.date(),
493
+ type: z.enum([
494
+ "START",
495
+ "END",
496
+ "INFO",
497
+ "ERROR",
498
+ "WARNING",
499
+ "DEBUG"
500
+ ]),
501
+ requestId: z.string(),
502
+ content: z.string().optional(),
503
+ method: z.string().optional(),
504
+ durationInMs: z.number().optional()
505
+ })),
506
+ nextToken: z.string().nullable()
507
+ }));
508
+ const getLatestLogsContractV1 = oc.route({
509
+ path: "/v1/environments/{environmentId}/latest-logs",
510
+ method: "GET",
511
+ summary: "Get latest logs",
512
+ description: "Get the N most recent logs for an environment",
513
+ tags: ["environments"],
514
+ successDescription: "The latest logs"
515
+ }).errors({
516
+ NOT_FOUND: {},
517
+ BAD_REQUEST: {}
518
+ }).input(z.object({
519
+ environmentId: z.string().describe("The ID of the environment"),
520
+ limit: z.coerce.number().int().min(1).max(1e3).default(100).describe("Number of most recent log entries to return"),
521
+ level: z.array(z.enum([
522
+ "INFO",
523
+ "ERROR",
524
+ "WARNING",
525
+ "DEBUG"
526
+ ])).optional().describe("Filter by log level"),
527
+ search: z.string().optional().describe("Filter pattern to search for in log content")
528
+ })).output(z.object({ logs: z.array(z.object({
529
+ timestamp: z.coerce.date(),
530
+ type: z.enum([
531
+ "START",
532
+ "END",
533
+ "INFO",
534
+ "ERROR",
535
+ "WARNING",
536
+ "DEBUG"
537
+ ]),
538
+ requestId: z.string(),
539
+ content: z.string().optional(),
540
+ method: z.string().optional(),
541
+ durationInMs: z.number().optional()
542
+ })) }));
296
543
  const getDeploymentLogsContractV1 = oc.route({
297
544
  path: "/v1/deployments/{deploymentId}/logs",
298
545
  method: "GET",
@@ -358,11 +605,127 @@ const listTeamsContractV1 = oc.route({
358
605
  createdAt: z.coerce.date(),
359
606
  hasStripeAccount: z.boolean()
360
607
  })));
608
+ const getTunnelTicketContractV1 = oc.route({
609
+ path: "/v1/tunnels/ticket",
610
+ method: "GET",
611
+ summary: "Get a tunnel ticket",
612
+ description: "Get a signed ticket for establishing a tunnel connection. Requires user authentication (API keys are not supported).",
613
+ tags: ["tunnels"],
614
+ successDescription: "The tunnel ticket"
615
+ }).output(z.object({
616
+ subdomain: z.string().describe("The subdomain assigned to the user"),
617
+ ticket: z.string().describe("The signed tunnel ticket"),
618
+ tunnelHost: z.string().describe("The tunnel host to connect to")
619
+ }));
620
+ const publishServerContractV1 = oc.route({
621
+ path: "/v1/distribution/publish",
622
+ method: "POST",
623
+ summary: "Publish a server to the MCP registry",
624
+ tags: ["distribution"],
625
+ successDescription: "The server has been published successfully"
626
+ }).errors({
627
+ NOT_FOUND: {},
628
+ BAD_REQUEST: {}
629
+ }).input(z.object({
630
+ projectId: z.string(),
631
+ domain: z.string(),
632
+ title: z.string().min(1).max(100),
633
+ description: z.string().min(1).max(100),
634
+ websiteUrl: z.url().max(255).optional(),
635
+ iconSrc: z.url().max(255).optional(),
636
+ dryRun: z.boolean().optional()
637
+ })).output(z.object({ serverFields: serverFieldsSchema }));
638
+ const getServerInfoContractV1 = oc.route({
639
+ path: "/v1/distribution/get",
640
+ method: "GET",
641
+ summary: "Get server info",
642
+ description: "Get info about a server",
643
+ tags: ["distribution"],
644
+ successDescription: "The server info"
645
+ }).errors({
646
+ NOT_FOUND: {},
647
+ BAD_REQUEST: {}
648
+ }).input(z.object({
649
+ projectId: z.string(),
650
+ domain: z.string()
651
+ })).output(z.object({ serverFields: serverFieldsSchema }));
652
+ const playgroundServerMetadataOutputSchema = z.object({
653
+ name: z.string(),
654
+ description: z.string(),
655
+ headers: z.array(z.object({
656
+ name: z.string(),
657
+ description: z.string(),
658
+ isRequired: z.boolean(),
659
+ isSecret: z.boolean()
660
+ })),
661
+ examplePrompts: z.array(playgroundExamplePromptSchema)
662
+ });
663
+ const playgroundOutputSchema = z.object({
664
+ isPlaygroundEnabled: z.boolean(),
665
+ serverMetadata: playgroundServerMetadataOutputSchema.nullable()
666
+ });
667
+ const getPlaygroundContractV1 = oc.route({
668
+ path: "/v1/environments/{environmentId}/playground",
669
+ method: "GET",
670
+ summary: "Get playground configuration",
671
+ description: "Get the playground configuration for an environment",
672
+ tags: ["environments"],
673
+ successDescription: "The playground configuration"
674
+ }).errors({ NOT_FOUND: {} }).input(z.object({ environmentId: z.string().describe("The ID of the environment") })).output(playgroundOutputSchema);
675
+ const upsertPlaygroundContractV1 = oc.route({
676
+ path: "/v1/environments/{environmentId}/playground",
677
+ method: "PUT",
678
+ summary: "Update playground configuration",
679
+ description: "Update the playground configuration for an environment. All fields are optional — only provided fields are updated.",
680
+ tags: ["environments"],
681
+ successDescription: "The updated playground configuration"
682
+ }).errors({
683
+ NOT_FOUND: {},
684
+ BAD_REQUEST: {}
685
+ }).input(z.object({
686
+ environmentId: z.string().describe("The ID of the environment"),
687
+ isPlaygroundEnabled: z.boolean().optional(),
688
+ name: z.string().min(1).max(100).optional(),
689
+ description: z.string().min(1).max(500).optional(),
690
+ headers: z.array(playgroundHeaderSchema).optional(),
691
+ examplePrompts: z.array(playgroundExamplePromptSchema).max(3).optional()
692
+ })).output(playgroundOutputSchema);
693
+ const createBeaconContractV1 = oc.route({
694
+ path: "/v1/beacon/audits",
695
+ method: "POST",
696
+ summary: "Create a beacon audit",
697
+ description: "Audit an MCP server for spec compliance and AI client compatibility",
698
+ tags: ["beacon"],
699
+ successDescription: "The audit has been created"
700
+ }).errors({
701
+ NOT_FOUND: {},
702
+ BAD_REQUEST: {}
703
+ }).input(z.object({
704
+ targetUrl: z.url().describe("The HTTPS URL of the MCP server to audit"),
705
+ teamId: z.string().optional().describe("The team ID to associate the audit with"),
706
+ projectId: z.string().optional().describe("The project ID to associate the audit with"),
707
+ excludeCategories: z.array(checkCategorySchema).optional().describe("Check categories to exclude from the audit")
708
+ })).output(z.object({ id: z.string() }));
709
+ const getBeaconContractV1 = oc.route({
710
+ path: "/v1/beacon/audits/{auditId}",
711
+ method: "GET",
712
+ summary: "Get a beacon audit",
713
+ description: "Get a beacon audit by ID, including the report if completed",
714
+ tags: ["beacon"],
715
+ successDescription: "The audit details"
716
+ }).errors({ NOT_FOUND: {} }).input(z.object({ auditId: z.string().describe("The ID of the audit") })).output(z.object({
717
+ id: z.string(),
718
+ targetUrl: z.string(),
719
+ status: auditStatusSchema,
720
+ durationMs: z.number().nullable(),
721
+ createdAt: z.coerce.date(),
722
+ report: auditReportWithScreenshotsSchema.nullable()
723
+ }));
361
724
  const contract = {
362
725
  teams: { list: { v1: listTeamsContractV1 } },
363
726
  analytics: { get: { v1: getProjectAnalyticsContractV1 } },
364
727
  deployments: {
365
- list: { v1: listProjectDeploymentsContractV1 },
728
+ list: { v1: listDeploymentsContractV1 },
366
729
  get: { v1: getDeploymentContractV1 },
367
730
  uploadArtifact: { v1: uploadDeploymentArtifactContractV1 },
368
731
  getLogs: { v1: getDeploymentLogsContractV1 }
@@ -370,7 +733,15 @@ const contract = {
370
733
  environments: {
371
734
  create: { v1: createEnvironmentContractV1 },
372
735
  get: { v1: getEnvironmentContractV1 },
373
- deploy: { v1: deployEnvironmentContractV1 }
736
+ deploy: { v1: deployEnvironmentContractV1 },
737
+ getLogs: { v1: getLogsContractV1 },
738
+ getLatestLogs: { v1: getLatestLogsContractV1 }
739
+ },
740
+ environmentVariables: {
741
+ list: { v1: listEnvironmentVariablesContractV1 },
742
+ create: { v1: createEnvironmentVariablesContractV1 },
743
+ update: { v1: updateEnvironmentVariableContractV1 },
744
+ delete: { v1: deleteEnvironmentVariableContractV1 }
374
745
  },
375
746
  projects: {
376
747
  update: { v1: updateProjectContractV1 },
@@ -378,8 +749,20 @@ const contract = {
378
749
  list: { v1: listProjectsContractV1 },
379
750
  create: { v1: createProjectContractV1 },
380
751
  delete: { v1: deleteProjectContractV1 }
752
+ },
753
+ playground: {
754
+ get: { v1: getPlaygroundContractV1 },
755
+ upsert: { v1: upsertPlaygroundContractV1 }
756
+ },
757
+ tunnels: { getTicket: { v1: getTunnelTicketContractV1 } },
758
+ distribution: {
759
+ publish: { v1: publishServerContractV1 },
760
+ get: { v1: getServerInfoContractV1 }
761
+ },
762
+ beacon: {
763
+ create: { v1: createBeaconContractV1 },
764
+ get: { v1: getBeaconContractV1 }
381
765
  }
382
766
  };
383
-
384
767
  //#endregion
385
- export { buildSettingsSchema, contract, createEnvironmentContractV1, environmentVariableSchema, environmentVariablesSchema, runtimeSchema, transportSchema };
768
+ export { PLATFORM_LABELS, buildSettingsSchema, contract, createEnvironmentContractV1, deploymentStatusSchema, environmentVariableSchema, environmentVariablesSchema, playgroundExamplePromptSchema, playgroundHeaderSchema, runtimeSchema, serverFieldsSchema, transportSchema, updateEnvironmentVariableSchema };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alpic-ai/api",
3
- "version": "0.0.0-staging.1759cad",
3
+ "version": "0.0.0-staging.17fa0d2",
4
4
  "description": "Contract for the Alpic API",
5
5
  "type": "module",
6
6
  "main": "./dist/index.mjs",
@@ -14,25 +14,40 @@
14
14
  "files": [
15
15
  "dist"
16
16
  ],
17
+ "nx": {
18
+ "targets": {
19
+ "build": {
20
+ "dependsOn": [
21
+ "^build"
22
+ ]
23
+ }
24
+ }
25
+ },
17
26
  "author": "Alpic",
18
27
  "license": "ISC",
19
28
  "dependencies": {
20
- "@orpc/contract": "^1.13.6",
29
+ "@orpc/contract": "^1.14.0",
30
+ "ms": "^2.1.3",
21
31
  "zod": "^4.3.6"
22
32
  },
23
33
  "devDependencies": {
34
+ "@orpc/openapi": "^1.14.0",
35
+ "@orpc/zod": "^1.14.0",
24
36
  "@total-typescript/tsconfig": "^1.0.4",
37
+ "@types/ms": "^2.1.0",
25
38
  "shx": "^0.4.0",
26
- "tsdown": "^0.20.3",
27
- "typescript": "^5.9.3",
28
- "vitest": "^4.0.18"
39
+ "tsdown": "^0.21.10",
40
+ "typescript": "^6.0.3",
41
+ "vitest": "^4.1.5",
42
+ "@alpic-ai/domains": "0.0.0"
29
43
  },
30
44
  "scripts": {
31
45
  "build": "shx rm -rf dist && tsdown",
32
- "format": "biome check --write --error-on-warnings",
46
+ "format": "biome check --write --error-on-warnings .",
33
47
  "test": "pnpm run test:unit && pnpm run test:type && pnpm run test:format",
34
48
  "test:unit": "vitest run",
35
- "test:format": "prettier --check .",
36
- "test:type": "tsc --noEmit"
49
+ "test:format": "biome check --error-on-warnings .",
50
+ "test:type": "tsc --noEmit",
51
+ "publish:npm": "pnpm publish --tag \"${NPM_TAG}\" --access public --no-git-checks"
37
52
  }
38
53
  }