@alpic-ai/api 0.0.0-dev.gec0fcf0 → 0.0.0-dev.gec642f4
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 +11 -1
- package/dist/index.mjs +54 -8
- package/package.json +23 -7
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { InferContractRouterInputs, InferContractRouterOutputs } from "@orpc/contract";
|
|
3
|
-
|
|
4
3
|
//#region src/api.contract.d.ts
|
|
5
4
|
type ApiContext = {
|
|
6
5
|
request: Request & {
|
|
@@ -225,6 +224,17 @@ declare const contract: {
|
|
|
225
224
|
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
226
225
|
environmentId: z.ZodString;
|
|
227
226
|
token: z.ZodOptional<z.ZodString>;
|
|
227
|
+
settings: z.ZodOptional<z.ZodObject<{
|
|
228
|
+
installCommand: z.ZodOptional<z.ZodString>;
|
|
229
|
+
buildCommand: z.ZodOptional<z.ZodString>;
|
|
230
|
+
buildOutputDir: z.ZodOptional<z.ZodString>;
|
|
231
|
+
startCommand: z.ZodOptional<z.ZodString>;
|
|
232
|
+
transport: z.ZodEnum<{
|
|
233
|
+
stdio: "stdio";
|
|
234
|
+
sse: "sse";
|
|
235
|
+
streamablehttp: "streamablehttp";
|
|
236
|
+
}>;
|
|
237
|
+
}, z.core.$strip>>;
|
|
228
238
|
}, z.core.$strip>, z.ZodObject<{
|
|
229
239
|
id: z.ZodString;
|
|
230
240
|
status: z.ZodEnum<{
|
package/dist/index.mjs
CHANGED
|
@@ -342,6 +342,12 @@ z.union([
|
|
|
342
342
|
protectedWithoutDiscoveryEnvironmentSchema
|
|
343
343
|
]);
|
|
344
344
|
const allowedPlatformSchema = platformSchema;
|
|
345
|
+
const playgroundModelSchema = z.enum([
|
|
346
|
+
"global.anthropic.claude-haiku-4-5-20251001-v1:0",
|
|
347
|
+
"global.anthropic.claude-sonnet-4-5-20250929-v1:0",
|
|
348
|
+
"openai.gpt-5.4",
|
|
349
|
+
"openai.gpt-5.5"
|
|
350
|
+
]);
|
|
345
351
|
const environmentDomainSchema = z.object({
|
|
346
352
|
name: z.string(),
|
|
347
353
|
status: z.enum([
|
|
@@ -361,6 +367,7 @@ const environmentSchema$1 = z.object({
|
|
|
361
367
|
latestDeployment: deploymentSummarySchema.optional(),
|
|
362
368
|
openaiAppsChallenge: z.string().nullable().optional(),
|
|
363
369
|
isPlaygroundEnabled: z.boolean(),
|
|
370
|
+
playgroundModel: playgroundModelSchema,
|
|
364
371
|
isIpWhitelistEnabled: z.boolean(),
|
|
365
372
|
ipAllowlist: z.array(z.string()).nullable(),
|
|
366
373
|
allowedPlatforms: z.array(allowedPlatformSchema),
|
|
@@ -373,7 +380,8 @@ z.object({
|
|
|
373
380
|
sessionReplayEnabled: z.boolean(),
|
|
374
381
|
collectRequestPayload: z.boolean(),
|
|
375
382
|
collectResponsePayload: z.boolean(),
|
|
376
|
-
collectErrorMessage: z.boolean()
|
|
383
|
+
collectErrorMessage: z.boolean(),
|
|
384
|
+
collectUserData: z.boolean()
|
|
377
385
|
});
|
|
378
386
|
z.object({
|
|
379
387
|
id: z.string(),
|
|
@@ -508,6 +516,12 @@ z.object({
|
|
|
508
516
|
environments: z.array(environmentWithDomainsSchema),
|
|
509
517
|
productionEnvironment: environmentWithDomainsSchema.nullable()
|
|
510
518
|
});
|
|
519
|
+
const domainFailureReasonSchema = z.enum([
|
|
520
|
+
"caa",
|
|
521
|
+
"dns",
|
|
522
|
+
"invalid_domain",
|
|
523
|
+
"other"
|
|
524
|
+
]);
|
|
511
525
|
const projectDomainMappingSchema = z.object({
|
|
512
526
|
pathPrefix: z.string(),
|
|
513
527
|
environment: environmentSchema$1
|
|
@@ -520,6 +534,8 @@ z.object({
|
|
|
520
534
|
"deployed",
|
|
521
535
|
"failed"
|
|
522
536
|
]),
|
|
537
|
+
failureReason: domainFailureReasonSchema.nullable(),
|
|
538
|
+
environment: environmentSchema$1,
|
|
523
539
|
mappings: z.array(projectDomainMappingSchema)
|
|
524
540
|
});
|
|
525
541
|
const serverFieldsSchema$1 = z.object({
|
|
@@ -584,8 +600,9 @@ const positiveTestCaseSchema = z.object({
|
|
|
584
600
|
}).partial().describe("Each case: Scenario, User prompt, Tool triggered, Expected output.");
|
|
585
601
|
const screenshotEntrySchema = z.object({
|
|
586
602
|
prompt: z.string(),
|
|
587
|
-
url: z.url()
|
|
603
|
+
url: z.url()
|
|
588
604
|
}).describe("Each screenshot: the user prompt that produced it + the image URL.");
|
|
605
|
+
const screenshotDraftEntrySchema = screenshotEntrySchema.extend({ url: z.string() });
|
|
589
606
|
/** Accepts either a valid email or URL. */
|
|
590
607
|
const supportChannelSchema = z.string().refine((value) => z.email().safeParse(value).success || z.url().safeParse(value).success, { error: "Must be a valid email or URL" });
|
|
591
608
|
/** A URL field whose error spells out that the scheme is required. */
|
|
@@ -944,6 +961,17 @@ const chatgptSubmissionFormDataSchema = z.object({
|
|
|
944
961
|
allowedCountries: chatgptAllowedCountriesSchema.describe("Availability: all supported countries, or an allow-list / block-list of specific ones (ISO alpha-2)."),
|
|
945
962
|
releaseNotes: z.string().describe("Publicly displayed on the app details page.")
|
|
946
963
|
});
|
|
964
|
+
const chatgptSubmissionDraftSchema = chatgptSubmissionFormDataSchema.partial().extend({
|
|
965
|
+
tagline: z.string().optional(),
|
|
966
|
+
companyUrl: z.string().optional(),
|
|
967
|
+
supportChannel: z.string().optional(),
|
|
968
|
+
privacyPolicyUrl: z.string().optional(),
|
|
969
|
+
termsOfServiceUrl: z.string().optional(),
|
|
970
|
+
demoRecordingUrl: z.string().optional(),
|
|
971
|
+
serverUrl: z.string().optional(),
|
|
972
|
+
screenshots: z.array(screenshotDraftEntrySchema).optional(),
|
|
973
|
+
translations: z.array(chatgptTranslationSchema.extend({ tagline: z.string() })).optional()
|
|
974
|
+
});
|
|
947
975
|
chatgptSubmissionFormDataSchema.pick({
|
|
948
976
|
appName: true,
|
|
949
977
|
developerName: true,
|
|
@@ -1022,8 +1050,8 @@ phrases like 'The best MCP server for...'. Example: 'Manage tasks and projects i
|
|
|
1022
1050
|
description: z.string().max(2e3).describe(`A description of what your connector does and its key features, shown on the connector's detail page in
|
|
1023
1051
|
claude.ai. Write it from a user perspective and be specific. Max 2000 characters.`),
|
|
1024
1052
|
categories: z.array(claudeCategorySchema).max(5).describe(claudeCategoryDescription),
|
|
1025
|
-
iconUrl: z.url().optional().describe(`Optional custom icon
|
|
1026
|
-
|
|
1053
|
+
iconUrl: z.url().optional().describe(`Optional custom icon for the directory listing — a square SVG. By default the favicon from your MCP URL is used
|
|
1054
|
+
(recommended); upload a custom icon only to override it.`),
|
|
1027
1055
|
documentation: z.url().describe(`A public URL pointing to documentation that helps users understand and use your connector. Must be publicly
|
|
1028
1056
|
accessible without login. IT admins often review these when deciding whether to approve a server. Required to be live
|
|
1029
1057
|
by your publish date.`),
|
|
@@ -1031,6 +1059,8 @@ by your publish date.`),
|
|
|
1031
1059
|
used to notify you of security or compliance issues, so make sure it's actively monitored.`),
|
|
1032
1060
|
privacyPolicy: z.url().describe(`URL to your privacy policy. Mandatory and displayed in the directory listing. Must be publicly accessible and cover
|
|
1033
1061
|
what data you collect, how you use and store it, and whether you share it with third parties.`),
|
|
1062
|
+
screenshots: z.array(screenshotEntrySchema).optional().describe(`Carousel images shown on your connector's directory page (PNG). Each is paired with the user prompt that produced
|
|
1063
|
+
it. This is editable on the directory page only after the connector is submitted — optional here so you can prepare it.`),
|
|
1034
1064
|
primaryUseCases: z.string().describe(`Describe the main tasks users will accomplish with this connector, and include a few example prompts a user might
|
|
1035
1065
|
type. These may be shown publicly but are primarily used for internal review — reviewers test your server using them.`),
|
|
1036
1066
|
connectionRequirements: z.string().describe(`What accounts, permissions, or setup a user needs before connecting (e.g. 'Requires a paid Acme account with admin
|
|
@@ -1068,6 +1098,21 @@ fully populated account.`),
|
|
|
1068
1098
|
submission. Each is an attestation you are legally agreeing to by submitting.`),
|
|
1069
1099
|
additionalNotes: z.string().optional().describe("Anything else the review team should know about your connector. Optional.")
|
|
1070
1100
|
});
|
|
1101
|
+
const claudeSubmissionDraftSchema = claudeSubmissionFormDataSchema.partial().extend({
|
|
1102
|
+
serverUrl: z.string().optional(),
|
|
1103
|
+
name: z.string().optional(),
|
|
1104
|
+
slug: z.string().optional(),
|
|
1105
|
+
oneLiner: z.string().optional(),
|
|
1106
|
+
description: z.string().optional(),
|
|
1107
|
+
iconUrl: z.string().optional(),
|
|
1108
|
+
documentation: z.string().optional(),
|
|
1109
|
+
support: z.string().optional(),
|
|
1110
|
+
privacyPolicy: z.string().optional(),
|
|
1111
|
+
companyWebsite: z.string().optional(),
|
|
1112
|
+
primaryContactEmail: z.string().optional(),
|
|
1113
|
+
categories: z.array(claudeCategorySchema).optional(),
|
|
1114
|
+
screenshots: z.array(screenshotDraftEntrySchema).optional()
|
|
1115
|
+
});
|
|
1071
1116
|
claudeSubmissionFormDataSchema.pick({
|
|
1072
1117
|
serverUrl: true,
|
|
1073
1118
|
name: true,
|
|
@@ -1108,14 +1153,14 @@ const submissionMetaFieldsSchema = z.object({
|
|
|
1108
1153
|
});
|
|
1109
1154
|
const claudeSubmissionSchemaInternal = submissionMetaFieldsSchema.extend({
|
|
1110
1155
|
platform: z.literal("claudeai"),
|
|
1111
|
-
formData:
|
|
1156
|
+
formData: claudeSubmissionDraftSchema
|
|
1112
1157
|
});
|
|
1113
1158
|
const chatgptSubmissionSchemaInternal = submissionMetaFieldsSchema.extend({
|
|
1114
1159
|
platform: z.literal("chatgpt"),
|
|
1115
|
-
formData:
|
|
1160
|
+
formData: chatgptSubmissionDraftSchema
|
|
1116
1161
|
});
|
|
1117
1162
|
z.discriminatedUnion("platform", [claudeSubmissionSchemaInternal, chatgptSubmissionSchemaInternal]);
|
|
1118
|
-
z.union([
|
|
1163
|
+
z.union([claudeSubmissionDraftSchema, chatgptSubmissionDraftSchema]);
|
|
1119
1164
|
const subscriptionPlanSchema = z.enum([
|
|
1120
1165
|
"pro",
|
|
1121
1166
|
"business",
|
|
@@ -1499,7 +1544,8 @@ const deployEnvironmentContractV1 = oc.route({
|
|
|
1499
1544
|
BAD_REQUEST: {}
|
|
1500
1545
|
}).input(z.object({
|
|
1501
1546
|
environmentId: z.string().describe("The ID of the environment to deploy"),
|
|
1502
|
-
token: z.string().describe("The token to identify the source archive").optional()
|
|
1547
|
+
token: z.string().describe("The token to identify the source archive").optional(),
|
|
1548
|
+
settings: buildSettingsSchema.extend({ transport: transportSchema }).optional().describe("Project settings detected by the client from the source. When provided, the server skips downloading and extracting the source archive to detect them.")
|
|
1503
1549
|
})).output(deploymentSchema);
|
|
1504
1550
|
const uploadDeploymentArtifactContractV1 = oc.route({
|
|
1505
1551
|
path: "/v1/deployments/upload",
|
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.gec642f4",
|
|
4
4
|
"description": "Contract for the Alpic API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.mjs",
|
|
@@ -14,22 +14,38 @@
|
|
|
14
14
|
"files": [
|
|
15
15
|
"dist"
|
|
16
16
|
],
|
|
17
|
+
"nx": {
|
|
18
|
+
"targets": {
|
|
19
|
+
"build": {
|
|
20
|
+
"cache": true,
|
|
21
|
+
"inputs": [
|
|
22
|
+
"{projectRoot}/src/**/*",
|
|
23
|
+
"{projectRoot}/tsdown.config.ts",
|
|
24
|
+
"{projectRoot}/tsconfig.json",
|
|
25
|
+
"^default"
|
|
26
|
+
],
|
|
27
|
+
"outputs": [
|
|
28
|
+
"{projectRoot}/dist"
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
},
|
|
17
33
|
"author": "Alpic",
|
|
18
34
|
"license": "ISC",
|
|
19
35
|
"dependencies": {
|
|
20
|
-
"@orpc/contract": "^1.14.
|
|
36
|
+
"@orpc/contract": "^1.14.7",
|
|
21
37
|
"ms": "^2.1.3",
|
|
22
38
|
"zod": "^4.4.3"
|
|
23
39
|
},
|
|
24
40
|
"devDependencies": {
|
|
25
|
-
"@orpc/openapi": "^1.14.
|
|
26
|
-
"@orpc/zod": "^1.14.
|
|
41
|
+
"@orpc/openapi": "^1.14.7",
|
|
42
|
+
"@orpc/zod": "^1.14.7",
|
|
27
43
|
"@total-typescript/tsconfig": "^1.0.4",
|
|
28
44
|
"@types/ms": "^2.1.0",
|
|
29
45
|
"shx": "^0.4.0",
|
|
30
|
-
"tsdown": "^0.22.
|
|
46
|
+
"tsdown": "^0.22.5",
|
|
31
47
|
"typescript": "^6.0.3",
|
|
32
|
-
"vitest": "^4.1.
|
|
48
|
+
"vitest": "^4.1.10",
|
|
33
49
|
"@alpic-ai/domains": "0.0.0"
|
|
34
50
|
},
|
|
35
51
|
"scripts": {
|
|
@@ -38,7 +54,7 @@
|
|
|
38
54
|
"test": "pnpm run test:unit && pnpm run test:type && pnpm run test:format",
|
|
39
55
|
"test:unit": "vitest run",
|
|
40
56
|
"test:format": "biome check --error-on-warnings .",
|
|
41
|
-
"test:type": "
|
|
57
|
+
"test:type": "tsgo --noEmit",
|
|
42
58
|
"publish:npm": "pnpm publish --tag \"${NPM_TAG}\" --access public --no-git-checks"
|
|
43
59
|
}
|
|
44
60
|
}
|