@alpic-ai/api 0.0.0-staging.g31b6751 → 0.0.0-staging.g3da6945
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 +19 -14
- package/dist/index.mjs +228 -21
- package/package.json +1 -10
package/dist/index.d.mts
CHANGED
|
@@ -212,7 +212,7 @@ declare const contract: {
|
|
|
212
212
|
name: z.ZodString;
|
|
213
213
|
sourceBranch: z.ZodNullable<z.ZodString>;
|
|
214
214
|
mcpServerUrl: z.ZodString;
|
|
215
|
-
domains: z.ZodArray<z.
|
|
215
|
+
domains: z.ZodArray<z.ZodCustomStringFormat<"hostname">>;
|
|
216
216
|
createdAt: z.ZodCoercedDate<unknown>;
|
|
217
217
|
projectId: z.ZodString;
|
|
218
218
|
}, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
|
|
@@ -831,6 +831,9 @@ declare const contract: {
|
|
|
831
831
|
}, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
|
|
832
832
|
NOT_FOUND: {};
|
|
833
833
|
BAD_REQUEST: {};
|
|
834
|
+
DNS_RESOLUTION_FAILED: {
|
|
835
|
+
status: number;
|
|
836
|
+
};
|
|
834
837
|
}>, Record<never, never>>;
|
|
835
838
|
};
|
|
836
839
|
get: {
|
|
@@ -935,7 +938,22 @@ declare const platformSchema: z.ZodEnum<{
|
|
|
935
938
|
type Platform = z.infer<typeof platformSchema>;
|
|
936
939
|
declare const PLATFORM_LABELS: Record<Platform, string>;
|
|
937
940
|
//#endregion
|
|
941
|
+
//#region ../domains/src/projects/schemas.d.ts
|
|
942
|
+
declare const runtimeSchema: z.ZodEnum<{
|
|
943
|
+
"python3.13": "python3.13";
|
|
944
|
+
"python3.14": "python3.14";
|
|
945
|
+
node22: "node22";
|
|
946
|
+
node24: "node24";
|
|
947
|
+
}>;
|
|
948
|
+
declare const transportSchema: z.ZodEnum<{
|
|
949
|
+
stdio: "stdio";
|
|
950
|
+
sse: "sse";
|
|
951
|
+
streamablehttp: "streamablehttp";
|
|
952
|
+
}>;
|
|
953
|
+
//#endregion
|
|
938
954
|
//#region src/schemas.d.ts
|
|
955
|
+
type Runtime = z.infer<typeof runtimeSchema>;
|
|
956
|
+
type Transport = z.infer<typeof transportSchema>;
|
|
939
957
|
declare const environmentVariableSchema: z.ZodObject<{
|
|
940
958
|
key: z.ZodString;
|
|
941
959
|
value: z.ZodString;
|
|
@@ -957,19 +975,6 @@ declare const buildSettingsSchema: z.ZodObject<{
|
|
|
957
975
|
buildOutputDir: z.ZodOptional<z.ZodString>;
|
|
958
976
|
startCommand: z.ZodOptional<z.ZodString>;
|
|
959
977
|
}, z.core.$strip>;
|
|
960
|
-
declare const runtimeSchema: z.ZodEnum<{
|
|
961
|
-
"python3.13": "python3.13";
|
|
962
|
-
"python3.14": "python3.14";
|
|
963
|
-
node22: "node22";
|
|
964
|
-
node24: "node24";
|
|
965
|
-
}>;
|
|
966
|
-
type Runtime = z.infer<typeof runtimeSchema>;
|
|
967
|
-
declare const transportSchema: z.ZodEnum<{
|
|
968
|
-
stdio: "stdio";
|
|
969
|
-
sse: "sse";
|
|
970
|
-
streamablehttp: "streamablehttp";
|
|
971
|
-
}>;
|
|
972
|
-
type Transport = z.infer<typeof transportSchema>;
|
|
973
978
|
declare const playgroundHeaderSchema: z.ZodObject<{
|
|
974
979
|
name: z.ZodString;
|
|
975
980
|
description: z.ZodString;
|
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(),
|
|
@@ -100,6 +225,77 @@ z.object({
|
|
|
100
225
|
createdAt: z.coerce.date(),
|
|
101
226
|
updatedAt: z.coerce.date()
|
|
102
227
|
});
|
|
228
|
+
z.enum([
|
|
229
|
+
"INFO",
|
|
230
|
+
"WARNING",
|
|
231
|
+
"DEBUG",
|
|
232
|
+
"ERROR"
|
|
233
|
+
]);
|
|
234
|
+
const runtimeSchema = z.enum([
|
|
235
|
+
"python3.13",
|
|
236
|
+
"python3.14",
|
|
237
|
+
"node22",
|
|
238
|
+
"node24"
|
|
239
|
+
]);
|
|
240
|
+
const transportSchema = z.enum([
|
|
241
|
+
"stdio",
|
|
242
|
+
"sse",
|
|
243
|
+
"streamablehttp"
|
|
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
|
+
});
|
|
103
299
|
const toolDefinitionSchema = z.object({
|
|
104
300
|
name: z.string(),
|
|
105
301
|
title: z.string().optional().describe("Human-friendly name for the tool, used in the UI. If not provided, `name` will be used."),
|
|
@@ -117,6 +313,10 @@ const positiveTestCaseSchema = z.object({
|
|
|
117
313
|
toolTriggered: z.string().optional(),
|
|
118
314
|
expectedOutput: z.string().optional()
|
|
119
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.");
|
|
120
320
|
/** Accepts either a valid email or URL. */
|
|
121
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" });
|
|
122
322
|
const chatgptCategorySchema = z.enum([
|
|
@@ -157,7 +357,7 @@ const chatgptTranslationSchema = z.object({
|
|
|
157
357
|
*/
|
|
158
358
|
const chatgptSubmissionFormDataSchema = z.object({
|
|
159
359
|
logoLight: z.string().describe("Logo icon for light mode. Square PNG, no borders or rounded corners (clients apply circular cropping)."),
|
|
160
|
-
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."),
|
|
161
361
|
appName: z.string().describe("The name users will see in ChatGPT and in the Apps Directory."),
|
|
162
362
|
tagline: z.string().max(30).describe("Plain-language phrase focused on function and user value. 30 chars max."),
|
|
163
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."),
|
|
@@ -175,7 +375,7 @@ const chatgptSubmissionFormDataSchema = z.object({
|
|
|
175
375
|
toolJustifications: z.array(chatgptToolJustificationSchema).describe("Per-tool justification of `readOnlyHint`, `openWorldHint`, and `destructiveHint` annotation values."),
|
|
176
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."),
|
|
177
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."),
|
|
178
|
-
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."),
|
|
179
379
|
translations: z.array(chatgptTranslationSchema).describe("Per-locale translation of tagline + description. English (US) is the default."),
|
|
180
380
|
allowedCountries: chatgptAllowedCountriesSchema.describe("'Allow all' or restrict to a specific list. See OpenAI's supported countries list."),
|
|
181
381
|
releaseNotes: z.string().describe("Publicly displayed on the app details page.")
|
|
@@ -355,19 +555,20 @@ Reviewers test every single tool you list here — don't list tools that don't w
|
|
|
355
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).
|
|
356
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).
|
|
357
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.`),
|
|
358
|
-
logoLight: z.string().describe(`Your connector's logo
|
|
558
|
+
logoLight: z.string().describe(`Your connector's logo for light backgrounds. Requirements:
|
|
359
559
|
• Format: SVG only
|
|
360
560
|
• Aspect ratio: square (1:1)
|
|
361
|
-
• Should work on
|
|
561
|
+
• Should work on a light background
|
|
362
562
|
• Provide via URL (Google Drive link is fine) or upload directly
|
|
363
563
|
Tip: use a simple, recognizable icon — not a full wordmark. The logo appears at small sizes in the directory grid.`),
|
|
364
|
-
|
|
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:
|
|
365
566
|
• 3–5 images is ideal
|
|
366
567
|
• Minimum 1000px width, PNG format preferred
|
|
568
|
+
• Each screenshot is paired with the user prompt that produced it
|
|
367
569
|
• Crop to just the relevant part of the Claude interface (the tool response area)
|
|
368
570
|
• Show your connector doing something impressive and useful — real data, real results
|
|
369
571
|
• If you're an MCP App, include screenshots of your interactive UI elements
|
|
370
|
-
• Videos are also welcome
|
|
371
572
|
These images appear in your directory listing and are a key factor in driving user installs.`)
|
|
372
573
|
});
|
|
373
574
|
claudeSubmissionFormDataSchema.pick({
|
|
@@ -410,6 +611,22 @@ const subscriptionPlanSchema = z.enum([
|
|
|
410
611
|
"enterprise"
|
|
411
612
|
]);
|
|
412
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
|
+
});
|
|
413
630
|
//#endregion
|
|
414
631
|
//#region src/schemas.ts
|
|
415
632
|
const RESERVED_KEYS = [
|
|
@@ -464,17 +681,6 @@ const buildSettingsSchema = z.object({
|
|
|
464
681
|
buildOutputDir: z.string().optional(),
|
|
465
682
|
startCommand: z.string().optional()
|
|
466
683
|
});
|
|
467
|
-
const runtimeSchema = z.enum([
|
|
468
|
-
"python3.13",
|
|
469
|
-
"python3.14",
|
|
470
|
-
"node22",
|
|
471
|
-
"node24"
|
|
472
|
-
]);
|
|
473
|
-
const transportSchema = z.enum([
|
|
474
|
-
"stdio",
|
|
475
|
-
"sse",
|
|
476
|
-
"streamablehttp"
|
|
477
|
-
]);
|
|
478
684
|
const playgroundHeaderSchema = z.object({
|
|
479
685
|
name: z.string().min(1).max(100),
|
|
480
686
|
description: z.string().max(200),
|
|
@@ -577,7 +783,7 @@ const getEnvironmentContractV1 = oc.route({
|
|
|
577
783
|
name: z.string(),
|
|
578
784
|
sourceBranch: z.string().nullable(),
|
|
579
785
|
mcpServerUrl: z.string(),
|
|
580
|
-
domains: z.array(z.
|
|
786
|
+
domains: z.array(z.hostname()),
|
|
581
787
|
createdAt: z.coerce.date(),
|
|
582
788
|
projectId: z.string()
|
|
583
789
|
}));
|
|
@@ -1026,7 +1232,7 @@ const upsertPlaygroundContractV1 = oc.route({
|
|
|
1026
1232
|
name: z.string().min(1).max(100).optional(),
|
|
1027
1233
|
description: z.string().min(1).max(500).optional(),
|
|
1028
1234
|
headers: z.array(playgroundHeaderSchema).optional(),
|
|
1029
|
-
examplePrompts: z.array(playgroundExamplePromptSchema).max(
|
|
1235
|
+
examplePrompts: z.array(playgroundExamplePromptSchema).max(5).optional()
|
|
1030
1236
|
})).output(playgroundOutputSchema);
|
|
1031
1237
|
const createBeaconContractV1 = oc.route({
|
|
1032
1238
|
path: "/v1/beacon/audits",
|
|
@@ -1037,7 +1243,8 @@ const createBeaconContractV1 = oc.route({
|
|
|
1037
1243
|
successDescription: "The audit has been created"
|
|
1038
1244
|
}).errors({
|
|
1039
1245
|
NOT_FOUND: {},
|
|
1040
|
-
BAD_REQUEST: {}
|
|
1246
|
+
BAD_REQUEST: {},
|
|
1247
|
+
DNS_RESOLUTION_FAILED: { status: 400 }
|
|
1041
1248
|
}).input(z.object({
|
|
1042
1249
|
targetUrl: z.url().describe("The HTTPS URL of the MCP server to audit"),
|
|
1043
1250
|
teamId: z.string().optional().describe("The team ID to associate the audit with"),
|
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.g3da6945",
|
|
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": {
|