@alpic-ai/api 0.0.0-dev.gffa23ba → 0.0.0-dev.gffb860b
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 +15 -6
- package/dist/index.mjs +221 -12
- package/package.json +1 -10
package/dist/index.d.mts
CHANGED
|
@@ -29,7 +29,7 @@ declare const createEnvironmentContractV1: _$_orpc_contract0.ContractProcedureBu
|
|
|
29
29
|
id: z.ZodString;
|
|
30
30
|
name: z.ZodString;
|
|
31
31
|
sourceBranch: z.ZodNullable<z.ZodString>;
|
|
32
|
-
urls: z.ZodArray<z.
|
|
32
|
+
urls: z.ZodArray<z.ZodURL>;
|
|
33
33
|
createdAt: z.ZodCoercedDate<unknown>;
|
|
34
34
|
projectId: z.ZodString;
|
|
35
35
|
}, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
|
|
@@ -165,7 +165,10 @@ declare const contract: {
|
|
|
165
165
|
uploadUrl: z.ZodURL;
|
|
166
166
|
token: z.ZodString;
|
|
167
167
|
expiresAt: z.ZodCoercedDate<unknown>;
|
|
168
|
-
}, z.core.$strip>, Record<never, never>,
|
|
168
|
+
}, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
|
|
169
|
+
NOT_FOUND: {};
|
|
170
|
+
BAD_REQUEST: {};
|
|
171
|
+
}>, Record<never, never>>;
|
|
169
172
|
};
|
|
170
173
|
getLogs: {
|
|
171
174
|
v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
@@ -196,7 +199,7 @@ declare const contract: {
|
|
|
196
199
|
id: z.ZodString;
|
|
197
200
|
name: z.ZodString;
|
|
198
201
|
sourceBranch: z.ZodNullable<z.ZodString>;
|
|
199
|
-
urls: z.ZodArray<z.
|
|
202
|
+
urls: z.ZodArray<z.ZodURL>;
|
|
200
203
|
createdAt: z.ZodCoercedDate<unknown>;
|
|
201
204
|
projectId: z.ZodString;
|
|
202
205
|
}, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
|
|
@@ -212,7 +215,7 @@ declare const contract: {
|
|
|
212
215
|
name: z.ZodString;
|
|
213
216
|
sourceBranch: z.ZodNullable<z.ZodString>;
|
|
214
217
|
mcpServerUrl: z.ZodString;
|
|
215
|
-
domains: z.ZodArray<z.
|
|
218
|
+
domains: z.ZodArray<z.ZodCustomStringFormat<"hostname">>;
|
|
216
219
|
createdAt: z.ZodCoercedDate<unknown>;
|
|
217
220
|
projectId: z.ZodString;
|
|
218
221
|
}, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
|
|
@@ -365,6 +368,7 @@ declare const contract: {
|
|
|
365
368
|
success: z.ZodLiteral<true>;
|
|
366
369
|
}, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
|
|
367
370
|
NOT_FOUND: {};
|
|
371
|
+
BAD_REQUEST: {};
|
|
368
372
|
}>, Record<never, never>>;
|
|
369
373
|
};
|
|
370
374
|
};
|
|
@@ -593,7 +597,10 @@ declare const contract: {
|
|
|
593
597
|
completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
|
|
594
598
|
}, z.core.$strip>>;
|
|
595
599
|
}, z.core.$strip>>;
|
|
596
|
-
}, z.core.$strip>>, Record<never, never>,
|
|
600
|
+
}, z.core.$strip>>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
|
|
601
|
+
NOT_FOUND: {};
|
|
602
|
+
BAD_REQUEST: {};
|
|
603
|
+
}>, Record<never, never>>;
|
|
597
604
|
};
|
|
598
605
|
create: {
|
|
599
606
|
v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
@@ -737,7 +744,9 @@ declare const contract: {
|
|
|
737
744
|
subdomain: z.ZodString;
|
|
738
745
|
ticket: z.ZodString;
|
|
739
746
|
tunnelHost: z.ZodString;
|
|
740
|
-
}, z.core.$strip>, Record<never, never>,
|
|
747
|
+
}, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
|
|
748
|
+
FORBIDDEN: {};
|
|
749
|
+
}>, Record<never, never>>;
|
|
741
750
|
};
|
|
742
751
|
};
|
|
743
752
|
distribution: {
|
package/dist/index.mjs
CHANGED
|
@@ -71,7 +71,7 @@ const auditReportWithScreenshotsSchema = auditReportSchema.extend({ widgetScreen
|
|
|
71
71
|
chatgpt: widgetScreenshotSchema.optional(),
|
|
72
72
|
claudeai: widgetScreenshotSchema.optional()
|
|
73
73
|
}) });
|
|
74
|
-
z.enum([
|
|
74
|
+
const deploymentStatusSchema$1 = z.enum([
|
|
75
75
|
"ongoing",
|
|
76
76
|
"deployed",
|
|
77
77
|
"failed",
|
|
@@ -81,6 +81,51 @@ z.object({
|
|
|
81
81
|
timestamp: z.coerce.date().optional(),
|
|
82
82
|
content: z.string().optional()
|
|
83
83
|
});
|
|
84
|
+
const deploymentSummarySchema = z.object({
|
|
85
|
+
id: z.string(),
|
|
86
|
+
status: deploymentStatusSchema$1,
|
|
87
|
+
sourceBucket: z.string().nullable(),
|
|
88
|
+
sourceObjectKey: z.string().nullable(),
|
|
89
|
+
sourceRef: z.string().nullable(),
|
|
90
|
+
sourceCommitId: z.string().nullable(),
|
|
91
|
+
sourceCommitMessage: z.string().nullable(),
|
|
92
|
+
environmentId: z.string(),
|
|
93
|
+
authorUsername: z.string().nullable(),
|
|
94
|
+
authorAvatarUrl: z.string().nullable(),
|
|
95
|
+
startedAt: z.coerce.date().nullable(),
|
|
96
|
+
completedAt: z.coerce.date().nullable(),
|
|
97
|
+
isCurrent: z.boolean().optional(),
|
|
98
|
+
createdAt: z.coerce.date(),
|
|
99
|
+
updatedAt: z.coerce.date()
|
|
100
|
+
});
|
|
101
|
+
const allowedPlatformSchema = platformSchema;
|
|
102
|
+
const environmentDomainSchema = z.object({
|
|
103
|
+
domain: z.string(),
|
|
104
|
+
status: z.enum([
|
|
105
|
+
"ongoing",
|
|
106
|
+
"deployed",
|
|
107
|
+
"failed"
|
|
108
|
+
]),
|
|
109
|
+
createdAt: z.coerce.date(),
|
|
110
|
+
updatedAt: z.coerce.date()
|
|
111
|
+
});
|
|
112
|
+
const environmentSchema$1 = z.object({
|
|
113
|
+
id: z.string(),
|
|
114
|
+
name: z.string(),
|
|
115
|
+
sourceBranch: z.string().nullable(),
|
|
116
|
+
mcpServerUrl: z.string(),
|
|
117
|
+
activeDeployment: deploymentSummarySchema.optional(),
|
|
118
|
+
latestDeployment: deploymentSummarySchema.optional(),
|
|
119
|
+
openaiAppsChallenge: z.string().nullable().optional(),
|
|
120
|
+
isPlaygroundEnabled: z.boolean(),
|
|
121
|
+
isIpWhitelistEnabled: z.boolean(),
|
|
122
|
+
ipAllowlist: z.array(z.string()).nullable(),
|
|
123
|
+
allowedPlatforms: z.array(allowedPlatformSchema),
|
|
124
|
+
projectId: z.string(),
|
|
125
|
+
createdAt: z.coerce.date(),
|
|
126
|
+
updatedAt: z.coerce.date()
|
|
127
|
+
});
|
|
128
|
+
const environmentWithDomainsSchema = environmentSchema$1.extend({ domains: z.array(environmentDomainSchema) });
|
|
84
129
|
z.object({
|
|
85
130
|
id: z.string(),
|
|
86
131
|
createdAt: z.coerce.date(),
|
|
@@ -92,6 +137,86 @@ z.object({
|
|
|
92
137
|
content: z.string(),
|
|
93
138
|
source: z.enum(["model", "user"])
|
|
94
139
|
});
|
|
140
|
+
const intentCategoryColorSchema = z.enum([
|
|
141
|
+
"red",
|
|
142
|
+
"orange",
|
|
143
|
+
"yellow",
|
|
144
|
+
"green",
|
|
145
|
+
"blue",
|
|
146
|
+
"purple",
|
|
147
|
+
"pink",
|
|
148
|
+
"gray"
|
|
149
|
+
]);
|
|
150
|
+
intentCategoryColorSchema.options;
|
|
151
|
+
const intentCategorySchema = z.object({
|
|
152
|
+
id: z.string(),
|
|
153
|
+
createdAt: z.coerce.date(),
|
|
154
|
+
environmentId: z.string(),
|
|
155
|
+
name: z.string(),
|
|
156
|
+
color: intentCategoryColorSchema
|
|
157
|
+
});
|
|
158
|
+
z.object({
|
|
159
|
+
id: z.string(),
|
|
160
|
+
name: z.string(),
|
|
161
|
+
color: intentCategoryColorSchema,
|
|
162
|
+
intentCount: z.number().int().nonnegative()
|
|
163
|
+
});
|
|
164
|
+
z.object({
|
|
165
|
+
id: z.string(),
|
|
166
|
+
createdAt: z.coerce.date(),
|
|
167
|
+
environmentId: z.string(),
|
|
168
|
+
toolName: z.string(),
|
|
169
|
+
message: z.string(),
|
|
170
|
+
categories: z.array(intentCategorySchema)
|
|
171
|
+
});
|
|
172
|
+
const signalCategorySchema = z.object({
|
|
173
|
+
id: z.string(),
|
|
174
|
+
name: z.string(),
|
|
175
|
+
color: intentCategoryColorSchema
|
|
176
|
+
});
|
|
177
|
+
z.discriminatedUnion("kind", [
|
|
178
|
+
z.object({
|
|
179
|
+
kind: z.literal("new"),
|
|
180
|
+
category: signalCategorySchema,
|
|
181
|
+
currentCount: z.number().int().nonnegative(),
|
|
182
|
+
currentShare: z.number()
|
|
183
|
+
}),
|
|
184
|
+
z.object({
|
|
185
|
+
kind: z.literal("resurging"),
|
|
186
|
+
category: signalCategorySchema,
|
|
187
|
+
currentCount: z.number().int().nonnegative(),
|
|
188
|
+
daysQuiet: z.number(),
|
|
189
|
+
currentShare: z.number()
|
|
190
|
+
}),
|
|
191
|
+
z.object({
|
|
192
|
+
kind: z.literal("spike"),
|
|
193
|
+
category: signalCategorySchema,
|
|
194
|
+
currentCount: z.number().int().nonnegative(),
|
|
195
|
+
previousCount: z.number().int().nonnegative(),
|
|
196
|
+
currentShare: z.number(),
|
|
197
|
+
previousShare: z.number(),
|
|
198
|
+
changeRatio: z.number()
|
|
199
|
+
}),
|
|
200
|
+
z.object({
|
|
201
|
+
kind: z.literal("declining"),
|
|
202
|
+
category: signalCategorySchema,
|
|
203
|
+
currentCount: z.number().int().nonnegative(),
|
|
204
|
+
previousCount: z.number().int().nonnegative(),
|
|
205
|
+
currentShare: z.number(),
|
|
206
|
+
previousShare: z.number(),
|
|
207
|
+
changeRatio: z.number()
|
|
208
|
+
})
|
|
209
|
+
]);
|
|
210
|
+
z.discriminatedUnion("kind", [z.object({
|
|
211
|
+
kind: z.literal("existing"),
|
|
212
|
+
categoryId: z.string(),
|
|
213
|
+
categoryName: z.string(),
|
|
214
|
+
intentIds: z.array(z.string())
|
|
215
|
+
}), z.object({
|
|
216
|
+
kind: z.literal("new"),
|
|
217
|
+
categoryName: z.string(),
|
|
218
|
+
intentIds: z.array(z.string())
|
|
219
|
+
})]);
|
|
95
220
|
z.object({
|
|
96
221
|
id: z.string(),
|
|
97
222
|
teamId: z.string(),
|
|
@@ -117,6 +242,60 @@ const transportSchema = z.enum([
|
|
|
117
242
|
"sse",
|
|
118
243
|
"streamablehttp"
|
|
119
244
|
]);
|
|
245
|
+
z.object({
|
|
246
|
+
id: z.string(),
|
|
247
|
+
name: z.string(),
|
|
248
|
+
teamId: z.string(),
|
|
249
|
+
sourceRepository: z.string().nullable(),
|
|
250
|
+
createdAt: z.coerce.date().optional(),
|
|
251
|
+
runtime: runtimeSchema,
|
|
252
|
+
transport: transportSchema.nullable(),
|
|
253
|
+
rootDirectory: z.string().nullable(),
|
|
254
|
+
installCommand: z.string().nullable(),
|
|
255
|
+
buildCommand: z.string().nullable(),
|
|
256
|
+
buildOutputDir: z.string().nullable(),
|
|
257
|
+
startCommand: z.string().nullable(),
|
|
258
|
+
fixedOutboundIp: z.boolean(),
|
|
259
|
+
environments: z.array(environmentWithDomainsSchema),
|
|
260
|
+
productionEnvironment: environmentWithDomainsSchema.nullable()
|
|
261
|
+
});
|
|
262
|
+
z.object({
|
|
263
|
+
domain: z.string(),
|
|
264
|
+
createdAt: z.coerce.date(),
|
|
265
|
+
status: z.enum([
|
|
266
|
+
"ongoing",
|
|
267
|
+
"deployed",
|
|
268
|
+
"failed"
|
|
269
|
+
]),
|
|
270
|
+
environment: environmentSchema$1
|
|
271
|
+
});
|
|
272
|
+
const serverFieldsSchema$1 = z.object({
|
|
273
|
+
$schema: z.string(),
|
|
274
|
+
name: z.string(),
|
|
275
|
+
description: z.string(),
|
|
276
|
+
version: z.string().optional(),
|
|
277
|
+
title: z.string().optional(),
|
|
278
|
+
websiteUrl: z.string().optional(),
|
|
279
|
+
icons: z.array(z.object({
|
|
280
|
+
src: z.string(),
|
|
281
|
+
mimeType: z.string().optional(),
|
|
282
|
+
sizes: z.array(z.string()).optional()
|
|
283
|
+
})).optional(),
|
|
284
|
+
remotes: z.array(z.object({
|
|
285
|
+
type: z.string(),
|
|
286
|
+
url: z.string().optional(),
|
|
287
|
+
headers: z.array(z.object({
|
|
288
|
+
name: z.string(),
|
|
289
|
+
description: z.string(),
|
|
290
|
+
isRequired: z.boolean().optional(),
|
|
291
|
+
isSecret: z.boolean().optional()
|
|
292
|
+
})).optional()
|
|
293
|
+
})).optional()
|
|
294
|
+
}).catchall(z.unknown());
|
|
295
|
+
z.object({
|
|
296
|
+
serverFields: serverFieldsSchema$1,
|
|
297
|
+
source: z.enum(["registry", "defaults"])
|
|
298
|
+
});
|
|
120
299
|
const toolDefinitionSchema = z.object({
|
|
121
300
|
name: z.string(),
|
|
122
301
|
title: z.string().optional().describe("Human-friendly name for the tool, used in the UI. If not provided, `name` will be used."),
|
|
@@ -134,6 +313,10 @@ const positiveTestCaseSchema = z.object({
|
|
|
134
313
|
toolTriggered: z.string().optional(),
|
|
135
314
|
expectedOutput: z.string().optional()
|
|
136
315
|
}).partial().describe("Each case: Scenario, User prompt, Tool triggered, Expected output.");
|
|
316
|
+
const screenshotEntrySchema = z.object({
|
|
317
|
+
prompt: z.string(),
|
|
318
|
+
url: z.url()
|
|
319
|
+
}).describe("Each screenshot: the user prompt that produced it + the image URL.");
|
|
137
320
|
/** Accepts either a valid email or URL. */
|
|
138
321
|
const supportChannelSchema = z.string().refine((value) => z.email().safeParse(value).success || z.url().safeParse(value).success, { error: "Must be a valid email or URL" });
|
|
139
322
|
const chatgptCategorySchema = z.enum([
|
|
@@ -174,7 +357,7 @@ const chatgptTranslationSchema = z.object({
|
|
|
174
357
|
*/
|
|
175
358
|
const chatgptSubmissionFormDataSchema = z.object({
|
|
176
359
|
logoLight: z.string().describe("Logo icon for light mode. Square PNG, no borders or rounded corners (clients apply circular cropping)."),
|
|
177
|
-
logoDark: z.string().describe("
|
|
360
|
+
logoDark: z.string().optional().describe("Optional dark-mode logo icon. Square PNG, same specs as the light icon. Leave empty if the light icon also works on dark backgrounds."),
|
|
178
361
|
appName: z.string().describe("The name users will see in ChatGPT and in the Apps Directory."),
|
|
179
362
|
tagline: z.string().max(30).describe("Plain-language phrase focused on function and user value. 30 chars max."),
|
|
180
363
|
description: z.string().describe("Clear, engaging description highlighting what the app does and why people will love it. Appears publicly on the directory page."),
|
|
@@ -192,7 +375,7 @@ const chatgptSubmissionFormDataSchema = z.object({
|
|
|
192
375
|
toolJustifications: z.array(chatgptToolJustificationSchema).describe("Per-tool justification of `readOnlyHint`, `openWorldHint`, and `destructiveHint` annotation values."),
|
|
193
376
|
testCases: z.array(positiveTestCaseSchema).describe("At least 5 positive test cases. Each: Scenario, User prompt, Tool triggered, Expected output. Coverage over all major use cases."),
|
|
194
377
|
negativeTestCases: z.array(negativeTestCaseSchema).describe("3 negative test cases — prompts where the app should NOT trigger but the model might think it's relevant."),
|
|
195
|
-
screenshots: z.array(
|
|
378
|
+
screenshots: z.array(screenshotEntrySchema).describe("In-app screenshots paired with the user prompt that produced them. Widget apps must show the widget UI; non-widget apps show the model response. Min 1, max 4 entries. First three are public. Images: 706px wide, 400–860px tall, PNG."),
|
|
196
379
|
translations: z.array(chatgptTranslationSchema).describe("Per-locale translation of tagline + description. English (US) is the default."),
|
|
197
380
|
allowedCountries: chatgptAllowedCountriesSchema.describe("'Allow all' or restrict to a specific list. See OpenAI's supported countries list."),
|
|
198
381
|
releaseNotes: z.string().describe("Publicly displayed on the app details page.")
|
|
@@ -372,19 +555,20 @@ Reviewers test every single tool you list here — don't list tools that don't w
|
|
|
372
555
|
• 'I've specified user-friendly titles for all tools' — every tool has a 'title' annotation (a human-readable label, different from the tool name).
|
|
373
556
|
• 'I've specified accurate tool annotations for all tools' — every tool has the correct annotation: readOnlyHint: true for read operations (search, get, list, fetch), OR destructiveHint: true for write operations (create, update, delete, send).
|
|
374
557
|
This is the #1 reason submissions get rejected (30% of all rejections). Do not check these boxes without actually having implemented the annotations. See MCP spec for how to add them.`),
|
|
375
|
-
logoLight: z.string().describe(`Your connector's logo
|
|
558
|
+
logoLight: z.string().describe(`Your connector's logo for light backgrounds. Requirements:
|
|
376
559
|
• Format: SVG only
|
|
377
560
|
• Aspect ratio: square (1:1)
|
|
378
|
-
• Should work on
|
|
561
|
+
• Should work on a light background
|
|
379
562
|
• Provide via URL (Google Drive link is fine) or upload directly
|
|
380
563
|
Tip: use a simple, recognizable icon — not a full wordmark. The logo appears at small sizes in the directory grid.`),
|
|
381
|
-
|
|
564
|
+
logoDark: z.string().optional().describe(`Optional dark-mode variant of the connector logo. Same specs as the light variant (SVG, square 1:1) but designed to read on a dark background. Leave empty if the light logo already works on dark.`),
|
|
565
|
+
screenshots: z.array(screenshotEntrySchema).describe(`Screenshots or promotional images of your connector in action within Claude. Strongly recommended for all connectors, and required for MCP Apps (interactive UI). Guidelines:
|
|
382
566
|
• 3–5 images is ideal
|
|
383
567
|
• Minimum 1000px width, PNG format preferred
|
|
568
|
+
• Each screenshot is paired with the user prompt that produced it
|
|
384
569
|
• Crop to just the relevant part of the Claude interface (the tool response area)
|
|
385
570
|
• Show your connector doing something impressive and useful — real data, real results
|
|
386
571
|
• If you're an MCP App, include screenshots of your interactive UI elements
|
|
387
|
-
• Videos are also welcome
|
|
388
572
|
These images appear in your directory listing and are a key factor in driving user installs.`)
|
|
389
573
|
});
|
|
390
574
|
claudeSubmissionFormDataSchema.pick({
|
|
@@ -427,6 +611,22 @@ const subscriptionPlanSchema = z.enum([
|
|
|
427
611
|
"enterprise"
|
|
428
612
|
]);
|
|
429
613
|
z.object({ plan: subscriptionPlanSchema.nullable() });
|
|
614
|
+
const customerCreditsSchema = z.object({
|
|
615
|
+
balanceInCents: z.number(),
|
|
616
|
+
expiresAt: z.number().nullable(),
|
|
617
|
+
currency: z.string()
|
|
618
|
+
});
|
|
619
|
+
const customerUsageSchema = z.object({
|
|
620
|
+
amountInCents: z.number(),
|
|
621
|
+
currency: z.string(),
|
|
622
|
+
periodEnd: z.number()
|
|
623
|
+
});
|
|
624
|
+
const partnerDiscountSchema = z.object({ endsAt: z.number() });
|
|
625
|
+
z.object({
|
|
626
|
+
customerCredits: customerCreditsSchema.nullable(),
|
|
627
|
+
customerUsage: customerUsageSchema.nullable(),
|
|
628
|
+
partnerDiscount: partnerDiscountSchema.nullable()
|
|
629
|
+
});
|
|
430
630
|
//#endregion
|
|
431
631
|
//#region src/schemas.ts
|
|
432
632
|
const RESERVED_KEYS = [
|
|
@@ -567,7 +767,7 @@ const createEnvironmentContractV1 = oc.route({
|
|
|
567
767
|
id: z.string(),
|
|
568
768
|
name: z.string(),
|
|
569
769
|
sourceBranch: z.string().nullable().describe("The branch used to build the environment"),
|
|
570
|
-
urls: z.array(z.
|
|
770
|
+
urls: z.array(z.url()).describe("The URLs of the MCP server"),
|
|
571
771
|
createdAt: z.coerce.date(),
|
|
572
772
|
projectId: z.string().describe("The ID of the project the environment belongs to")
|
|
573
773
|
}));
|
|
@@ -583,7 +783,7 @@ const getEnvironmentContractV1 = oc.route({
|
|
|
583
783
|
name: z.string(),
|
|
584
784
|
sourceBranch: z.string().nullable(),
|
|
585
785
|
mcpServerUrl: z.string(),
|
|
586
|
-
domains: z.array(z.
|
|
786
|
+
domains: z.array(z.hostname()),
|
|
587
787
|
createdAt: z.coerce.date(),
|
|
588
788
|
projectId: z.string()
|
|
589
789
|
}));
|
|
@@ -643,6 +843,9 @@ const listProjectsContractV1 = oc.route({
|
|
|
643
843
|
description: "List all projects for a team",
|
|
644
844
|
tags: ["projects"],
|
|
645
845
|
successDescription: "The list of projects"
|
|
846
|
+
}).errors({
|
|
847
|
+
NOT_FOUND: {},
|
|
848
|
+
BAD_REQUEST: {}
|
|
646
849
|
}).input(z.object({ teamId: z.string().optional() }).optional()).output(z.array(projectOutputSchema));
|
|
647
850
|
const createProjectContractV1 = oc.route({
|
|
648
851
|
path: "/v1/projects",
|
|
@@ -738,7 +941,10 @@ const deleteEnvironmentVariableContractV1 = oc.route({
|
|
|
738
941
|
description: "Delete an environment variable by ID",
|
|
739
942
|
tags: ["environments"],
|
|
740
943
|
successDescription: "The environment variable has been deleted successfully"
|
|
741
|
-
}).errors({
|
|
944
|
+
}).errors({
|
|
945
|
+
NOT_FOUND: {},
|
|
946
|
+
BAD_REQUEST: {}
|
|
947
|
+
}).input(z.object({ environmentVariableId: z.string().describe("The ID of the environment variable") })).output(z.object({ success: z.literal(true) }));
|
|
742
948
|
const deleteProjectContractV1 = oc.route({
|
|
743
949
|
path: "/v1/projects/{projectId}",
|
|
744
950
|
method: "DELETE",
|
|
@@ -783,6 +989,9 @@ const uploadDeploymentArtifactContractV1 = oc.route({
|
|
|
783
989
|
description: "Return a presigned S3 URL to upload a deployment artifact",
|
|
784
990
|
tags: ["deployments"],
|
|
785
991
|
successDescription: "The presigned upload URL has been generated successfully"
|
|
992
|
+
}).errors({
|
|
993
|
+
NOT_FOUND: {},
|
|
994
|
+
BAD_REQUEST: {}
|
|
786
995
|
}).input(z.object({ teamId: z.string().optional() }).optional()).output(z.object({
|
|
787
996
|
uploadUrl: z.url().describe("Presigned S3 URL to upload the source archive with HTTP PUT"),
|
|
788
997
|
token: z.string().describe("Token to identify the source archive"),
|
|
@@ -956,7 +1165,7 @@ const getTunnelTicketContractV1 = oc.route({
|
|
|
956
1165
|
description: "Get a signed ticket for establishing a tunnel connection. Requires user authentication (API keys are not supported).",
|
|
957
1166
|
tags: ["tunnels"],
|
|
958
1167
|
successDescription: "The tunnel ticket"
|
|
959
|
-
}).output(z.object({
|
|
1168
|
+
}).errors({ FORBIDDEN: {} }).output(z.object({
|
|
960
1169
|
subdomain: z.string().describe("The subdomain assigned to the user"),
|
|
961
1170
|
ticket: z.string().describe("The signed tunnel ticket"),
|
|
962
1171
|
tunnelHost: z.string().describe("The tunnel host to connect to")
|
|
@@ -1032,7 +1241,7 @@ const upsertPlaygroundContractV1 = oc.route({
|
|
|
1032
1241
|
name: z.string().min(1).max(100).optional(),
|
|
1033
1242
|
description: z.string().min(1).max(500).optional(),
|
|
1034
1243
|
headers: z.array(playgroundHeaderSchema).optional(),
|
|
1035
|
-
examplePrompts: z.array(playgroundExamplePromptSchema).max(
|
|
1244
|
+
examplePrompts: z.array(playgroundExamplePromptSchema).max(5).optional()
|
|
1036
1245
|
})).output(playgroundOutputSchema);
|
|
1037
1246
|
const createBeaconContractV1 = oc.route({
|
|
1038
1247
|
path: "/v1/beacon/audits",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alpic-ai/api",
|
|
3
|
-
"version": "0.0.0-dev.
|
|
3
|
+
"version": "0.0.0-dev.gffb860b",
|
|
4
4
|
"description": "Contract for the Alpic API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.mjs",
|
|
@@ -14,15 +14,6 @@
|
|
|
14
14
|
"files": [
|
|
15
15
|
"dist"
|
|
16
16
|
],
|
|
17
|
-
"nx": {
|
|
18
|
-
"targets": {
|
|
19
|
-
"build": {
|
|
20
|
-
"dependsOn": [
|
|
21
|
-
"^build"
|
|
22
|
-
]
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
17
|
"author": "Alpic",
|
|
27
18
|
"license": "ISC",
|
|
28
19
|
"dependencies": {
|