@alpic-ai/api 0.0.0-staging.e2caa7a → 0.0.0-staging.e2ffb8b

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
@@ -6,6 +6,8 @@ import { z } from "zod";
6
6
  type ApiContext = {
7
7
  request: Request & {
8
8
  teamIds: string[];
9
+ defaultTeamId: string | undefined;
10
+ awsCognitoUserSub: string | undefined;
9
11
  };
10
12
  };
11
13
  declare const createEnvironmentContractV1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
@@ -36,7 +38,6 @@ declare const contract: {
36
38
  name: z.ZodString;
37
39
  createdAt: z.ZodCoercedDate<unknown>;
38
40
  hasStripeAccount: z.ZodBoolean;
39
- hasActiveSubscription: z.ZodBoolean;
40
41
  }, z.core.$strip>>, Record<never, never>, Record<never, never>>;
41
42
  };
42
43
  };
@@ -258,6 +259,15 @@ declare const contract: {
258
259
  id: z.ZodString;
259
260
  name: z.ZodString;
260
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>>;
261
271
  latestDeployment: z.ZodNullable<z.ZodObject<{
262
272
  id: z.ZodString;
263
273
  status: z.ZodEnum<{
@@ -325,6 +335,15 @@ declare const contract: {
325
335
  id: z.ZodString;
326
336
  name: z.ZodString;
327
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>>;
328
347
  latestDeployment: z.ZodNullable<z.ZodObject<{
329
348
  id: z.ZodString;
330
349
  status: z.ZodEnum<{
@@ -363,7 +382,9 @@ declare const contract: {
363
382
  }>, Record<never, never>>;
364
383
  };
365
384
  list: {
366
- v1: _orpc_contract0.ContractProcedureBuilderWithOutput<_orpc_contract0.Schema<unknown, unknown>, z.ZodArray<z.ZodObject<{
385
+ v1: _orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodOptional<z.ZodObject<{
386
+ teamId: z.ZodOptional<z.ZodString>;
387
+ }, z.core.$strip>>, z.ZodArray<z.ZodObject<{
367
388
  id: z.ZodString;
368
389
  name: z.ZodString;
369
390
  teamId: z.ZodString;
@@ -389,6 +410,15 @@ declare const contract: {
389
410
  id: z.ZodString;
390
411
  name: z.ZodString;
391
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>>;
392
422
  latestDeployment: z.ZodNullable<z.ZodObject<{
393
423
  id: z.ZodString;
394
424
  status: z.ZodEnum<{
@@ -498,6 +528,15 @@ declare const contract: {
498
528
  }>, Record<never, never>>;
499
529
  };
500
530
  };
531
+ tunnels: {
532
+ getTicket: {
533
+ v1: _orpc_contract0.ContractProcedureBuilderWithOutput<_orpc_contract0.Schema<unknown, unknown>, z.ZodObject<{
534
+ subdomain: z.ZodString;
535
+ ticket: z.ZodString;
536
+ tunnelHost: z.ZodString;
537
+ }, z.core.$strip>, Record<never, never>, Record<never, never>>;
538
+ };
539
+ };
501
540
  };
502
541
  type RouterInput = InferContractRouterInputs<typeof contract>;
503
542
  type RouterOutput = InferContractRouterOutputs<typeof contract>;
package/dist/index.mjs CHANGED
@@ -1,6 +1,5 @@
1
1
  import { oc } from "@orpc/contract";
2
2
  import { z } from "zod";
3
-
4
3
  //#region src/schemas.ts
5
4
  const RESERVED_KEYS = [
6
5
  "_HANDLER",
@@ -13,7 +12,11 @@ const RESERVED_KEYS = [
13
12
  "AWS_LAMBDA_FUNCTION_VERSION",
14
13
  "AWS_LAMBDA_INITIALIZATION_TYPE",
15
14
  "AWS_LAMBDA_LOG_GROUP_NAME",
15
+ "AWS_LAMBDA_LOG_STREAM_NAME",
16
16
  "AWS_ACCESS_KEY",
17
+ "AWS_ACCESS_KEY_ID",
18
+ "AWS_SECRET_ACCESS_KEY",
19
+ "AWS_SESSION_TOKEN",
17
20
  "AWS_LAMBDA_RUNTIME_API",
18
21
  "LAMBDA_TASK_ROOT",
19
22
  "LAMBDA_RUNTIME_DIR",
@@ -30,7 +33,8 @@ const RESERVED_KEYS = [
30
33
  "BUILD_ARG_BUILD_COMMAND",
31
34
  "BUILD_ARG_BUILD_OUTPUT_DIR",
32
35
  "BUILD_ARG_START_COMMAND",
33
- "ALPIC_HOST"
36
+ "ALPIC_HOST",
37
+ "ALPIC_CUSTOM_DOMAINS"
34
38
  ];
35
39
  const environmentVariableSchema = z.object({
36
40
  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"),
@@ -55,7 +59,6 @@ const transportSchema = z.enum([
55
59
  "sse",
56
60
  "streamablehttp"
57
61
  ]);
58
-
59
62
  //#endregion
60
63
  //#region src/api.contract.ts
61
64
  const deploymentStatusSchema = z.enum([
@@ -122,10 +125,20 @@ const getEnvironmentContractV1 = oc.route({
122
125
  createdAt: z.coerce.date(),
123
126
  projectId: z.string()
124
127
  }));
128
+ const domainSchema = z.object({
129
+ domain: z.string(),
130
+ status: z.enum([
131
+ "ongoing",
132
+ "deployed",
133
+ "failed"
134
+ ]),
135
+ createdAt: z.coerce.date()
136
+ });
125
137
  const productionEnvironmentSchema = z.object({
126
138
  id: z.string(),
127
139
  name: z.string(),
128
140
  mcpServerUrl: z.string(),
141
+ domains: z.array(domainSchema),
129
142
  latestDeployment: latestDeploymentSchema.nullable()
130
143
  });
131
144
  const environmentSchema = z.object({
@@ -168,7 +181,7 @@ const listProjectsContractV1 = oc.route({
168
181
  description: "List all projects for a team",
169
182
  tags: ["projects"],
170
183
  successDescription: "The list of projects"
171
- }).output(z.array(projectOutputSchema));
184
+ }).input(z.object({ teamId: z.string().optional() }).optional()).output(z.array(projectOutputSchema));
172
185
  const createProjectContractV1 = oc.route({
173
186
  path: "/v1/projects",
174
187
  method: "POST",
@@ -181,7 +194,7 @@ const createProjectContractV1 = oc.route({
181
194
  BAD_REQUEST: {}
182
195
  }).input(z.object({
183
196
  teamId: z.string().optional(),
184
- name: z.string().min(1).max(100),
197
+ name: z.string().trim().min(1).max(100),
185
198
  sourceRepository: z.string().optional(),
186
199
  branchName: z.string().min(1).optional(),
187
200
  runtime: runtimeSchema,
@@ -342,9 +355,20 @@ const listTeamsContractV1 = oc.route({
342
355
  id: z.string(),
343
356
  name: z.string(),
344
357
  createdAt: z.coerce.date(),
345
- hasStripeAccount: z.boolean(),
346
- hasActiveSubscription: z.boolean()
358
+ hasStripeAccount: z.boolean()
347
359
  })));
360
+ const getTunnelTicketContractV1 = oc.route({
361
+ path: "/v1/tunnels/ticket",
362
+ method: "GET",
363
+ summary: "Get a tunnel ticket",
364
+ description: "Get a signed ticket for establishing a tunnel connection. Requires user authentication (API keys are not supported).",
365
+ tags: ["tunnels"],
366
+ successDescription: "The tunnel ticket"
367
+ }).output(z.object({
368
+ subdomain: z.string().describe("The subdomain assigned to the user"),
369
+ ticket: z.string().describe("The signed tunnel ticket"),
370
+ tunnelHost: z.string().describe("The tunnel host to connect to")
371
+ }));
348
372
  const contract = {
349
373
  teams: { list: { v1: listTeamsContractV1 } },
350
374
  analytics: { get: { v1: getProjectAnalyticsContractV1 } },
@@ -365,8 +389,8 @@ const contract = {
365
389
  list: { v1: listProjectsContractV1 },
366
390
  create: { v1: createProjectContractV1 },
367
391
  delete: { v1: deleteProjectContractV1 }
368
- }
392
+ },
393
+ tunnels: { getTicket: { v1: getTunnelTicketContractV1 } }
369
394
  };
370
-
371
395
  //#endregion
372
- export { buildSettingsSchema, contract, createEnvironmentContractV1, environmentVariableSchema, environmentVariablesSchema, runtimeSchema, transportSchema };
396
+ export { buildSettingsSchema, contract, createEnvironmentContractV1, environmentVariableSchema, environmentVariablesSchema, runtimeSchema, transportSchema };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alpic-ai/api",
3
- "version": "0.0.0-staging.e2caa7a",
3
+ "version": "0.0.0-staging.e2ffb8b",
4
4
  "description": "Contract for the Alpic API",
5
5
  "type": "module",
6
6
  "main": "./dist/index.mjs",
@@ -17,13 +17,13 @@
17
17
  "author": "Alpic",
18
18
  "license": "ISC",
19
19
  "dependencies": {
20
- "@orpc/contract": "^1.13.5",
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
25
  "shx": "^0.4.0",
26
- "tsdown": "^0.20.3",
26
+ "tsdown": "^0.21.1",
27
27
  "typescript": "^5.9.3",
28
28
  "vitest": "^4.0.18"
29
29
  },