@alpic-ai/api 0.0.0-dev.gef3a775 → 0.0.0-dev.gef9a9d1

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
@@ -948,6 +948,908 @@ declare const contract: {
948
948
  };
949
949
  };
950
950
  };
951
+ declare const contractForDocs: {
952
+ deployments: {
953
+ list: {
954
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
955
+ projectId: z.ZodString;
956
+ status: z.ZodOptional<z.ZodArray<z.ZodEnum<{
957
+ ongoing: "ongoing";
958
+ deployed: "deployed";
959
+ failed: "failed";
960
+ canceled: "canceled";
961
+ }>>>;
962
+ environmentId: z.ZodOptional<z.ZodString>;
963
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
964
+ id: z.ZodString;
965
+ status: z.ZodEnum<{
966
+ ongoing: "ongoing";
967
+ deployed: "deployed";
968
+ failed: "failed";
969
+ canceled: "canceled";
970
+ }>;
971
+ sourceRef: z.ZodNullable<z.ZodString>;
972
+ sourceCommitId: z.ZodNullable<z.ZodString>;
973
+ sourceCommitMessage: z.ZodNullable<z.ZodString>;
974
+ authorUsername: z.ZodNullable<z.ZodString>;
975
+ authorAvatarUrl: z.ZodNullable<z.ZodString>;
976
+ startedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
977
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
978
+ environmentId: z.ZodString;
979
+ environmentName: z.ZodString;
980
+ isCurrent: z.ZodBoolean;
981
+ deploymentPageUrl: z.ZodNullable<z.ZodURL>;
982
+ }, z.core.$strip>>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
983
+ NOT_FOUND: {};
984
+ }>, Record<never, never>>;
985
+ };
986
+ get: {
987
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
988
+ deploymentId: z.ZodString;
989
+ }, z.core.$strip>, z.ZodObject<{
990
+ id: z.ZodString;
991
+ status: z.ZodEnum<{
992
+ ongoing: "ongoing";
993
+ deployed: "deployed";
994
+ failed: "failed";
995
+ canceled: "canceled";
996
+ }>;
997
+ sourceRef: z.ZodNullable<z.ZodString>;
998
+ sourceCommitId: z.ZodNullable<z.ZodString>;
999
+ sourceCommitMessage: z.ZodNullable<z.ZodString>;
1000
+ authorUsername: z.ZodNullable<z.ZodString>;
1001
+ authorAvatarUrl: z.ZodNullable<z.ZodString>;
1002
+ startedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
1003
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
1004
+ environmentId: z.ZodString;
1005
+ environmentName: z.ZodString;
1006
+ isCurrent: z.ZodBoolean;
1007
+ deploymentPageUrl: z.ZodNullable<z.ZodURL>;
1008
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1009
+ NOT_FOUND: {};
1010
+ }>, Record<never, never>>;
1011
+ };
1012
+ getLogs: {
1013
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1014
+ deploymentId: z.ZodString;
1015
+ }, z.core.$strip>, z.ZodObject<{
1016
+ logs: z.ZodArray<z.ZodObject<{
1017
+ timestamp: z.ZodOptional<z.ZodCoercedDate<unknown>>;
1018
+ content: z.ZodOptional<z.ZodString>;
1019
+ }, z.core.$strip>>;
1020
+ hasMoreLogs: z.ZodBoolean;
1021
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1022
+ NOT_FOUND: {};
1023
+ }>, Record<never, never>>;
1024
+ };
1025
+ };
1026
+ teams: {
1027
+ list: {
1028
+ v1: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, z.ZodArray<z.ZodObject<{
1029
+ id: z.ZodString;
1030
+ name: z.ZodString;
1031
+ createdAt: z.ZodCoercedDate<unknown>;
1032
+ hasStripeAccount: z.ZodBoolean;
1033
+ }, z.core.$strip>>, Record<never, never>, Record<never, never>>;
1034
+ };
1035
+ };
1036
+ analytics: {
1037
+ get: {
1038
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1039
+ projectId: z.ZodString;
1040
+ startTimestamp: z.ZodCoercedNumber<unknown>;
1041
+ endTimestamp: z.ZodCoercedNumber<unknown>;
1042
+ timeZone: z.ZodString;
1043
+ }, z.core.$strip>, z.ZodObject<{
1044
+ metadata: z.ZodObject<{
1045
+ startTimestamp: z.ZodNumber;
1046
+ endTimestamp: z.ZodNumber;
1047
+ timeZone: z.ZodString;
1048
+ startDate: z.ZodCoercedDate<unknown>;
1049
+ interval: z.ZodString;
1050
+ }, z.core.$strip>;
1051
+ timeSeries: z.ZodObject<{
1052
+ sessions_count: z.ZodArray<z.ZodObject<{
1053
+ timestamp: z.ZodNumber;
1054
+ categories: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1055
+ }, z.core.$strip>>;
1056
+ requests_count: z.ZodArray<z.ZodObject<{
1057
+ timestamp: z.ZodNumber;
1058
+ categories: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1059
+ }, z.core.$strip>>;
1060
+ requests_latency_mean: z.ZodArray<z.ZodObject<{
1061
+ timestamp: z.ZodNumber;
1062
+ categories: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1063
+ }, z.core.$strip>>;
1064
+ tool_errors: z.ZodArray<z.ZodObject<{
1065
+ timestamp: z.ZodNumber;
1066
+ categories: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1067
+ }, z.core.$strip>>;
1068
+ mcp_errors: z.ZodArray<z.ZodObject<{
1069
+ timestamp: z.ZodNumber;
1070
+ categories: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1071
+ }, z.core.$strip>>;
1072
+ output_token_mean: z.ZodArray<z.ZodObject<{
1073
+ timestamp: z.ZodNumber;
1074
+ categories: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1075
+ }, z.core.$strip>>;
1076
+ task_count: z.ZodArray<z.ZodObject<{
1077
+ timestamp: z.ZodNumber;
1078
+ categories: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1079
+ }, z.core.$strip>>;
1080
+ }, z.core.$strip>;
1081
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1082
+ NOT_FOUND: {};
1083
+ BAD_REQUEST: {};
1084
+ }>, Record<never, never>>;
1085
+ };
1086
+ };
1087
+ environments: {
1088
+ create: {
1089
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1090
+ projectId: z.ZodString;
1091
+ name: z.ZodString;
1092
+ sourceBranch: z.ZodString;
1093
+ environmentVariables: z.ZodDefault<z.ZodArray<z.ZodObject<{
1094
+ key: z.ZodString;
1095
+ value: z.ZodString;
1096
+ isSecret: z.ZodDefault<z.ZodBoolean>;
1097
+ }, z.core.$strip>>>;
1098
+ }, z.core.$strip>, z.ZodObject<{
1099
+ id: z.ZodString;
1100
+ name: z.ZodString;
1101
+ sourceBranch: z.ZodNullable<z.ZodString>;
1102
+ urls: z.ZodArray<z.ZodURL>;
1103
+ createdAt: z.ZodCoercedDate<unknown>;
1104
+ projectId: z.ZodString;
1105
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1106
+ NOT_FOUND: {};
1107
+ BAD_REQUEST: {};
1108
+ }>, Record<never, never>>;
1109
+ };
1110
+ get: {
1111
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1112
+ environmentId: z.ZodString;
1113
+ }, z.core.$strip>, z.ZodObject<{
1114
+ id: z.ZodString;
1115
+ name: z.ZodString;
1116
+ sourceBranch: z.ZodNullable<z.ZodString>;
1117
+ mcpServerUrl: z.ZodString;
1118
+ domains: z.ZodArray<z.ZodCustomStringFormat<"hostname">>;
1119
+ createdAt: z.ZodCoercedDate<unknown>;
1120
+ projectId: z.ZodString;
1121
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1122
+ NOT_FOUND: {};
1123
+ }>, Record<never, never>>;
1124
+ };
1125
+ deploy: {
1126
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1127
+ environmentId: z.ZodString;
1128
+ token: z.ZodOptional<z.ZodString>;
1129
+ settings: z.ZodOptional<z.ZodObject<{
1130
+ installCommand: z.ZodOptional<z.ZodString>;
1131
+ buildCommand: z.ZodOptional<z.ZodString>;
1132
+ buildOutputDir: z.ZodOptional<z.ZodString>;
1133
+ startCommand: z.ZodOptional<z.ZodString>;
1134
+ transport: z.ZodEnum<{
1135
+ stdio: "stdio";
1136
+ sse: "sse";
1137
+ streamablehttp: "streamablehttp";
1138
+ }>;
1139
+ }, z.core.$strip>>;
1140
+ }, z.core.$strip>, z.ZodObject<{
1141
+ id: z.ZodString;
1142
+ status: z.ZodEnum<{
1143
+ ongoing: "ongoing";
1144
+ deployed: "deployed";
1145
+ failed: "failed";
1146
+ canceled: "canceled";
1147
+ }>;
1148
+ sourceRef: z.ZodNullable<z.ZodString>;
1149
+ sourceCommitId: z.ZodNullable<z.ZodString>;
1150
+ sourceCommitMessage: z.ZodNullable<z.ZodString>;
1151
+ authorUsername: z.ZodNullable<z.ZodString>;
1152
+ authorAvatarUrl: z.ZodNullable<z.ZodString>;
1153
+ startedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
1154
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
1155
+ environmentId: z.ZodString;
1156
+ environmentName: z.ZodString;
1157
+ isCurrent: z.ZodBoolean;
1158
+ deploymentPageUrl: z.ZodNullable<z.ZodURL>;
1159
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1160
+ NOT_FOUND: {};
1161
+ BAD_REQUEST: {};
1162
+ CONFLICT: {};
1163
+ }>, Record<never, never>>;
1164
+ };
1165
+ getLogs: {
1166
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1167
+ environmentId: z.ZodString;
1168
+ since: z.ZodOptional<z.ZodString>;
1169
+ until: z.ZodOptional<z.ZodString>;
1170
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1171
+ level: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1172
+ INFO: "INFO";
1173
+ ERROR: "ERROR";
1174
+ WARNING: "WARNING";
1175
+ DEBUG: "DEBUG";
1176
+ }>>>;
1177
+ search: z.ZodOptional<z.ZodString>;
1178
+ nextToken: z.ZodOptional<z.ZodString>;
1179
+ }, z.core.$strip>, z.ZodObject<{
1180
+ logs: z.ZodArray<z.ZodObject<{
1181
+ timestamp: z.ZodCoercedDate<unknown>;
1182
+ type: z.ZodEnum<{
1183
+ INFO: "INFO";
1184
+ ERROR: "ERROR";
1185
+ WARNING: "WARNING";
1186
+ DEBUG: "DEBUG";
1187
+ START: "START";
1188
+ END: "END";
1189
+ }>;
1190
+ requestId: z.ZodString;
1191
+ content: z.ZodOptional<z.ZodString>;
1192
+ method: z.ZodOptional<z.ZodString>;
1193
+ durationInMs: z.ZodOptional<z.ZodNumber>;
1194
+ }, z.core.$strip>>;
1195
+ nextToken: z.ZodNullable<z.ZodString>;
1196
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1197
+ NOT_FOUND: {};
1198
+ BAD_REQUEST: {};
1199
+ }>, Record<never, never>>;
1200
+ };
1201
+ getLatestLogs: {
1202
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1203
+ environmentId: z.ZodString;
1204
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1205
+ level: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1206
+ INFO: "INFO";
1207
+ ERROR: "ERROR";
1208
+ WARNING: "WARNING";
1209
+ DEBUG: "DEBUG";
1210
+ }>>>;
1211
+ search: z.ZodOptional<z.ZodString>;
1212
+ }, z.core.$strip>, z.ZodObject<{
1213
+ logs: z.ZodArray<z.ZodObject<{
1214
+ timestamp: z.ZodCoercedDate<unknown>;
1215
+ type: z.ZodEnum<{
1216
+ INFO: "INFO";
1217
+ ERROR: "ERROR";
1218
+ WARNING: "WARNING";
1219
+ DEBUG: "DEBUG";
1220
+ START: "START";
1221
+ END: "END";
1222
+ }>;
1223
+ requestId: z.ZodString;
1224
+ content: z.ZodOptional<z.ZodString>;
1225
+ method: z.ZodOptional<z.ZodString>;
1226
+ durationInMs: z.ZodOptional<z.ZodNumber>;
1227
+ }, z.core.$strip>>;
1228
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1229
+ NOT_FOUND: {};
1230
+ BAD_REQUEST: {};
1231
+ }>, Record<never, never>>;
1232
+ };
1233
+ };
1234
+ environmentVariables: {
1235
+ list: {
1236
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1237
+ environmentId: z.ZodString;
1238
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
1239
+ id: z.ZodString;
1240
+ key: z.ZodString;
1241
+ value: z.ZodString;
1242
+ isSecret: z.ZodBoolean;
1243
+ createdAt: z.ZodCoercedDate<unknown>;
1244
+ }, z.core.$strip>>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1245
+ NOT_FOUND: {};
1246
+ }>, Record<never, never>>;
1247
+ };
1248
+ create: {
1249
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1250
+ environmentId: z.ZodString;
1251
+ environmentVariables: z.ZodArray<z.ZodObject<{
1252
+ key: z.ZodString;
1253
+ value: z.ZodString;
1254
+ isSecret: z.ZodDefault<z.ZodBoolean>;
1255
+ }, z.core.$strip>>;
1256
+ }, z.core.$strip>, z.ZodObject<{
1257
+ success: z.ZodLiteral<true>;
1258
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1259
+ NOT_FOUND: {};
1260
+ BAD_REQUEST: {};
1261
+ }>, Record<never, never>>;
1262
+ };
1263
+ update: {
1264
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1265
+ environmentVariableId: z.ZodString;
1266
+ key: z.ZodString;
1267
+ value: z.ZodOptional<z.ZodString>;
1268
+ isSecret: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1269
+ }, z.core.$strip>, z.ZodObject<{
1270
+ success: z.ZodLiteral<true>;
1271
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1272
+ NOT_FOUND: {};
1273
+ BAD_REQUEST: {};
1274
+ }>, Record<never, never>>;
1275
+ };
1276
+ delete: {
1277
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1278
+ environmentVariableId: z.ZodString;
1279
+ }, z.core.$strip>, z.ZodObject<{
1280
+ success: z.ZodLiteral<true>;
1281
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1282
+ NOT_FOUND: {};
1283
+ BAD_REQUEST: {};
1284
+ }>, Record<never, never>>;
1285
+ };
1286
+ };
1287
+ projects: {
1288
+ update: {
1289
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1290
+ projectId: z.ZodString;
1291
+ name: z.ZodOptional<z.ZodString>;
1292
+ sourceRepository: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1293
+ }, z.core.$strip>, z.ZodObject<{
1294
+ id: z.ZodString;
1295
+ name: z.ZodString;
1296
+ teamId: z.ZodString;
1297
+ sourceRepository: z.ZodNullable<z.ZodString>;
1298
+ runtime: z.ZodEnum<{
1299
+ "python3.13": "python3.13";
1300
+ "python3.14": "python3.14";
1301
+ node22: "node22";
1302
+ node24: "node24";
1303
+ }>;
1304
+ transport: z.ZodNullable<z.ZodEnum<{
1305
+ stdio: "stdio";
1306
+ sse: "sse";
1307
+ streamablehttp: "streamablehttp";
1308
+ }>>;
1309
+ rootDirectory: z.ZodNullable<z.ZodString>;
1310
+ buildCommand: z.ZodNullable<z.ZodString>;
1311
+ buildOutputDir: z.ZodNullable<z.ZodString>;
1312
+ installCommand: z.ZodNullable<z.ZodString>;
1313
+ startCommand: z.ZodNullable<z.ZodString>;
1314
+ createdAt: z.ZodCoercedDate<unknown>;
1315
+ productionEnvironment: z.ZodNullable<z.ZodObject<{
1316
+ id: z.ZodString;
1317
+ name: z.ZodString;
1318
+ mcpServerUrl: z.ZodString;
1319
+ domains: z.ZodArray<z.ZodObject<{
1320
+ domain: z.ZodString;
1321
+ status: z.ZodEnum<{
1322
+ ongoing: "ongoing";
1323
+ deployed: "deployed";
1324
+ failed: "failed";
1325
+ }>;
1326
+ createdAt: z.ZodCoercedDate<unknown>;
1327
+ }, z.core.$strip>>;
1328
+ latestDeployment: z.ZodNullable<z.ZodObject<{
1329
+ id: z.ZodString;
1330
+ status: z.ZodEnum<{
1331
+ ongoing: "ongoing";
1332
+ deployed: "deployed";
1333
+ failed: "failed";
1334
+ canceled: "canceled";
1335
+ }>;
1336
+ sourceCommitId: z.ZodNullable<z.ZodString>;
1337
+ sourceCommitMessage: z.ZodNullable<z.ZodString>;
1338
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
1339
+ }, z.core.$strip>>;
1340
+ }, z.core.$strip>>;
1341
+ environments: z.ZodArray<z.ZodObject<{
1342
+ id: z.ZodString;
1343
+ name: z.ZodString;
1344
+ sourceBranch: z.ZodNullable<z.ZodString>;
1345
+ mcpServerUrl: z.ZodString;
1346
+ createdAt: z.ZodCoercedDate<unknown>;
1347
+ projectId: z.ZodString;
1348
+ latestDeployment: z.ZodNullable<z.ZodObject<{
1349
+ id: z.ZodString;
1350
+ status: z.ZodEnum<{
1351
+ ongoing: "ongoing";
1352
+ deployed: "deployed";
1353
+ failed: "failed";
1354
+ canceled: "canceled";
1355
+ }>;
1356
+ sourceCommitId: z.ZodNullable<z.ZodString>;
1357
+ sourceCommitMessage: z.ZodNullable<z.ZodString>;
1358
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
1359
+ }, z.core.$strip>>;
1360
+ }, z.core.$strip>>;
1361
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1362
+ NOT_FOUND: {};
1363
+ BAD_REQUEST: {};
1364
+ FORBIDDEN: {};
1365
+ }>, Record<never, never>>;
1366
+ };
1367
+ get: {
1368
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1369
+ projectId: z.ZodString;
1370
+ }, z.core.$strip>, z.ZodObject<{
1371
+ id: z.ZodString;
1372
+ name: z.ZodString;
1373
+ teamId: z.ZodString;
1374
+ sourceRepository: z.ZodNullable<z.ZodString>;
1375
+ runtime: z.ZodEnum<{
1376
+ "python3.13": "python3.13";
1377
+ "python3.14": "python3.14";
1378
+ node22: "node22";
1379
+ node24: "node24";
1380
+ }>;
1381
+ transport: z.ZodNullable<z.ZodEnum<{
1382
+ stdio: "stdio";
1383
+ sse: "sse";
1384
+ streamablehttp: "streamablehttp";
1385
+ }>>;
1386
+ rootDirectory: z.ZodNullable<z.ZodString>;
1387
+ buildCommand: z.ZodNullable<z.ZodString>;
1388
+ buildOutputDir: z.ZodNullable<z.ZodString>;
1389
+ installCommand: z.ZodNullable<z.ZodString>;
1390
+ startCommand: z.ZodNullable<z.ZodString>;
1391
+ createdAt: z.ZodCoercedDate<unknown>;
1392
+ productionEnvironment: z.ZodNullable<z.ZodObject<{
1393
+ id: z.ZodString;
1394
+ name: z.ZodString;
1395
+ mcpServerUrl: z.ZodString;
1396
+ domains: z.ZodArray<z.ZodObject<{
1397
+ domain: z.ZodString;
1398
+ status: z.ZodEnum<{
1399
+ ongoing: "ongoing";
1400
+ deployed: "deployed";
1401
+ failed: "failed";
1402
+ }>;
1403
+ createdAt: z.ZodCoercedDate<unknown>;
1404
+ }, z.core.$strip>>;
1405
+ latestDeployment: z.ZodNullable<z.ZodObject<{
1406
+ id: z.ZodString;
1407
+ status: z.ZodEnum<{
1408
+ ongoing: "ongoing";
1409
+ deployed: "deployed";
1410
+ failed: "failed";
1411
+ canceled: "canceled";
1412
+ }>;
1413
+ sourceCommitId: z.ZodNullable<z.ZodString>;
1414
+ sourceCommitMessage: z.ZodNullable<z.ZodString>;
1415
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
1416
+ }, z.core.$strip>>;
1417
+ }, z.core.$strip>>;
1418
+ environments: z.ZodArray<z.ZodObject<{
1419
+ id: z.ZodString;
1420
+ name: z.ZodString;
1421
+ sourceBranch: z.ZodNullable<z.ZodString>;
1422
+ mcpServerUrl: z.ZodString;
1423
+ createdAt: z.ZodCoercedDate<unknown>;
1424
+ projectId: z.ZodString;
1425
+ latestDeployment: z.ZodNullable<z.ZodObject<{
1426
+ id: z.ZodString;
1427
+ status: z.ZodEnum<{
1428
+ ongoing: "ongoing";
1429
+ deployed: "deployed";
1430
+ failed: "failed";
1431
+ canceled: "canceled";
1432
+ }>;
1433
+ sourceCommitId: z.ZodNullable<z.ZodString>;
1434
+ sourceCommitMessage: z.ZodNullable<z.ZodString>;
1435
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
1436
+ }, z.core.$strip>>;
1437
+ }, z.core.$strip>>;
1438
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1439
+ NOT_FOUND: {};
1440
+ }>, Record<never, never>>;
1441
+ };
1442
+ list: {
1443
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodOptional<z.ZodObject<{
1444
+ teamId: z.ZodOptional<z.ZodString>;
1445
+ }, z.core.$strip>>, z.ZodArray<z.ZodObject<{
1446
+ id: z.ZodString;
1447
+ name: z.ZodString;
1448
+ teamId: z.ZodString;
1449
+ sourceRepository: z.ZodNullable<z.ZodString>;
1450
+ runtime: z.ZodEnum<{
1451
+ "python3.13": "python3.13";
1452
+ "python3.14": "python3.14";
1453
+ node22: "node22";
1454
+ node24: "node24";
1455
+ }>;
1456
+ transport: z.ZodNullable<z.ZodEnum<{
1457
+ stdio: "stdio";
1458
+ sse: "sse";
1459
+ streamablehttp: "streamablehttp";
1460
+ }>>;
1461
+ rootDirectory: z.ZodNullable<z.ZodString>;
1462
+ buildCommand: z.ZodNullable<z.ZodString>;
1463
+ buildOutputDir: z.ZodNullable<z.ZodString>;
1464
+ installCommand: z.ZodNullable<z.ZodString>;
1465
+ startCommand: z.ZodNullable<z.ZodString>;
1466
+ createdAt: z.ZodCoercedDate<unknown>;
1467
+ productionEnvironment: z.ZodNullable<z.ZodObject<{
1468
+ id: z.ZodString;
1469
+ name: z.ZodString;
1470
+ mcpServerUrl: z.ZodString;
1471
+ domains: z.ZodArray<z.ZodObject<{
1472
+ domain: z.ZodString;
1473
+ status: z.ZodEnum<{
1474
+ ongoing: "ongoing";
1475
+ deployed: "deployed";
1476
+ failed: "failed";
1477
+ }>;
1478
+ createdAt: z.ZodCoercedDate<unknown>;
1479
+ }, z.core.$strip>>;
1480
+ latestDeployment: z.ZodNullable<z.ZodObject<{
1481
+ id: z.ZodString;
1482
+ status: z.ZodEnum<{
1483
+ ongoing: "ongoing";
1484
+ deployed: "deployed";
1485
+ failed: "failed";
1486
+ canceled: "canceled";
1487
+ }>;
1488
+ sourceCommitId: z.ZodNullable<z.ZodString>;
1489
+ sourceCommitMessage: z.ZodNullable<z.ZodString>;
1490
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
1491
+ }, z.core.$strip>>;
1492
+ }, z.core.$strip>>;
1493
+ environments: z.ZodArray<z.ZodObject<{
1494
+ id: z.ZodString;
1495
+ name: z.ZodString;
1496
+ sourceBranch: z.ZodNullable<z.ZodString>;
1497
+ mcpServerUrl: z.ZodString;
1498
+ createdAt: z.ZodCoercedDate<unknown>;
1499
+ projectId: z.ZodString;
1500
+ latestDeployment: z.ZodNullable<z.ZodObject<{
1501
+ id: z.ZodString;
1502
+ status: z.ZodEnum<{
1503
+ ongoing: "ongoing";
1504
+ deployed: "deployed";
1505
+ failed: "failed";
1506
+ canceled: "canceled";
1507
+ }>;
1508
+ sourceCommitId: z.ZodNullable<z.ZodString>;
1509
+ sourceCommitMessage: z.ZodNullable<z.ZodString>;
1510
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
1511
+ }, z.core.$strip>>;
1512
+ }, z.core.$strip>>;
1513
+ }, z.core.$strip>>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1514
+ NOT_FOUND: {};
1515
+ BAD_REQUEST: {};
1516
+ }>, Record<never, never>>;
1517
+ };
1518
+ create: {
1519
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1520
+ teamId: z.ZodOptional<z.ZodString>;
1521
+ name: z.ZodString;
1522
+ sourceRepository: z.ZodOptional<z.ZodString>;
1523
+ branchName: z.ZodOptional<z.ZodString>;
1524
+ runtime: z.ZodEnum<{
1525
+ "python3.13": "python3.13";
1526
+ "python3.14": "python3.14";
1527
+ node22: "node22";
1528
+ node24: "node24";
1529
+ }>;
1530
+ transport: z.ZodOptional<z.ZodEnum<{
1531
+ stdio: "stdio";
1532
+ sse: "sse";
1533
+ streamablehttp: "streamablehttp";
1534
+ }>>;
1535
+ rootDirectory: z.ZodOptional<z.ZodString>;
1536
+ settings: z.ZodDefault<z.ZodObject<{
1537
+ installCommand: z.ZodOptional<z.ZodString>;
1538
+ buildCommand: z.ZodOptional<z.ZodString>;
1539
+ buildOutputDir: z.ZodOptional<z.ZodString>;
1540
+ startCommand: z.ZodOptional<z.ZodString>;
1541
+ }, z.core.$strip>>;
1542
+ environmentVariables: z.ZodDefault<z.ZodArray<z.ZodObject<{
1543
+ key: z.ZodString;
1544
+ value: z.ZodString;
1545
+ isSecret: z.ZodDefault<z.ZodBoolean>;
1546
+ }, z.core.$strip>>>;
1547
+ }, z.core.$strip>, z.ZodObject<{
1548
+ id: z.ZodString;
1549
+ name: z.ZodString;
1550
+ teamId: z.ZodString;
1551
+ environments: z.ZodArray<z.ZodObject<{
1552
+ id: z.ZodString;
1553
+ name: z.ZodString;
1554
+ }, z.core.$strip>>;
1555
+ productionEnvironment: z.ZodNullable<z.ZodObject<{
1556
+ id: z.ZodString;
1557
+ name: z.ZodString;
1558
+ }, z.core.$strip>>;
1559
+ sourceRepository: z.ZodNullable<z.ZodString>;
1560
+ runtime: z.ZodEnum<{
1561
+ "python3.13": "python3.13";
1562
+ "python3.14": "python3.14";
1563
+ node22: "node22";
1564
+ node24: "node24";
1565
+ }>;
1566
+ transport: z.ZodNullable<z.ZodEnum<{
1567
+ stdio: "stdio";
1568
+ sse: "sse";
1569
+ streamablehttp: "streamablehttp";
1570
+ }>>;
1571
+ rootDirectory: z.ZodNullable<z.ZodString>;
1572
+ buildCommand: z.ZodNullable<z.ZodString>;
1573
+ buildOutputDir: z.ZodNullable<z.ZodString>;
1574
+ installCommand: z.ZodNullable<z.ZodString>;
1575
+ startCommand: z.ZodNullable<z.ZodString>;
1576
+ createdAt: z.ZodCoercedDate<unknown>;
1577
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1578
+ NOT_FOUND: {};
1579
+ BAD_REQUEST: {};
1580
+ FORBIDDEN: {};
1581
+ }>, Record<never, never>>;
1582
+ };
1583
+ delete: {
1584
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1585
+ projectId: z.ZodString;
1586
+ }, z.core.$strip>, z.ZodObject<{
1587
+ success: z.ZodLiteral<true>;
1588
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1589
+ NOT_FOUND: {};
1590
+ }>, Record<never, never>>;
1591
+ };
1592
+ };
1593
+ playground: {
1594
+ get: {
1595
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1596
+ environmentId: z.ZodString;
1597
+ }, z.core.$strip>, z.ZodObject<{
1598
+ isPlaygroundEnabled: z.ZodBoolean;
1599
+ serverMetadata: z.ZodNullable<z.ZodObject<{
1600
+ name: z.ZodString;
1601
+ description: z.ZodString;
1602
+ headers: z.ZodArray<z.ZodObject<{
1603
+ name: z.ZodString;
1604
+ description: z.ZodString;
1605
+ isRequired: z.ZodBoolean;
1606
+ isSecret: z.ZodBoolean;
1607
+ }, z.core.$strip>>;
1608
+ examplePrompts: z.ZodArray<z.ZodObject<{
1609
+ title: z.ZodString;
1610
+ prompt: z.ZodString;
1611
+ }, z.core.$strip>>;
1612
+ }, z.core.$strip>>;
1613
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1614
+ NOT_FOUND: {};
1615
+ }>, Record<never, never>>;
1616
+ };
1617
+ upsert: {
1618
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1619
+ environmentId: z.ZodString;
1620
+ isPlaygroundEnabled: z.ZodOptional<z.ZodBoolean>;
1621
+ name: z.ZodOptional<z.ZodString>;
1622
+ description: z.ZodOptional<z.ZodString>;
1623
+ headers: z.ZodOptional<z.ZodArray<z.ZodObject<{
1624
+ name: z.ZodString;
1625
+ description: z.ZodString;
1626
+ isRequired: z.ZodDefault<z.ZodBoolean>;
1627
+ isSecret: z.ZodDefault<z.ZodBoolean>;
1628
+ }, z.core.$strip>>>;
1629
+ examplePrompts: z.ZodOptional<z.ZodArray<z.ZodObject<{
1630
+ title: z.ZodString;
1631
+ prompt: z.ZodString;
1632
+ }, z.core.$strip>>>;
1633
+ }, z.core.$strip>, z.ZodObject<{
1634
+ isPlaygroundEnabled: z.ZodBoolean;
1635
+ serverMetadata: z.ZodNullable<z.ZodObject<{
1636
+ name: z.ZodString;
1637
+ description: z.ZodString;
1638
+ headers: z.ZodArray<z.ZodObject<{
1639
+ name: z.ZodString;
1640
+ description: z.ZodString;
1641
+ isRequired: z.ZodBoolean;
1642
+ isSecret: z.ZodBoolean;
1643
+ }, z.core.$strip>>;
1644
+ examplePrompts: z.ZodArray<z.ZodObject<{
1645
+ title: z.ZodString;
1646
+ prompt: z.ZodString;
1647
+ }, z.core.$strip>>;
1648
+ }, z.core.$strip>>;
1649
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1650
+ NOT_FOUND: {};
1651
+ BAD_REQUEST: {};
1652
+ }>, Record<never, never>>;
1653
+ };
1654
+ };
1655
+ tunnels: {
1656
+ getTicket: {
1657
+ v1: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, z.ZodObject<{
1658
+ subdomain: z.ZodString;
1659
+ ticket: z.ZodString;
1660
+ tunnelHost: z.ZodString;
1661
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1662
+ FORBIDDEN: {};
1663
+ }>, Record<never, never>>;
1664
+ };
1665
+ };
1666
+ distribution: {
1667
+ publish: {
1668
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1669
+ projectId: z.ZodString;
1670
+ domain: z.ZodString;
1671
+ title: z.ZodString;
1672
+ description: z.ZodString;
1673
+ websiteUrl: z.ZodOptional<z.ZodURL>;
1674
+ iconSrc: z.ZodOptional<z.ZodURL>;
1675
+ dryRun: z.ZodOptional<z.ZodBoolean>;
1676
+ }, z.core.$strip>, z.ZodObject<{
1677
+ serverFields: z.ZodObject<{
1678
+ $schema: z.ZodString;
1679
+ name: z.ZodString;
1680
+ description: z.ZodString;
1681
+ version: z.ZodOptional<z.ZodString>;
1682
+ title: z.ZodOptional<z.ZodString>;
1683
+ websiteUrl: z.ZodOptional<z.ZodURL>;
1684
+ icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
1685
+ src: z.ZodURL;
1686
+ mimeType: z.ZodOptional<z.ZodString>;
1687
+ sizes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1688
+ }, z.core.$strip>>>;
1689
+ remotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
1690
+ type: z.ZodString;
1691
+ url: z.ZodOptional<z.ZodURL>;
1692
+ headers: z.ZodOptional<z.ZodArray<z.ZodObject<{
1693
+ name: z.ZodString;
1694
+ description: z.ZodString;
1695
+ isRequired: z.ZodOptional<z.ZodBoolean>;
1696
+ isSecret: z.ZodOptional<z.ZodBoolean>;
1697
+ }, z.core.$strip>>>;
1698
+ }, z.core.$strip>>>;
1699
+ }, z.core.$strip>;
1700
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1701
+ NOT_FOUND: {};
1702
+ BAD_REQUEST: {};
1703
+ }>, Record<never, never>>;
1704
+ };
1705
+ get: {
1706
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1707
+ projectId: z.ZodString;
1708
+ domain: z.ZodString;
1709
+ }, z.core.$strip>, z.ZodObject<{
1710
+ serverFields: z.ZodObject<{
1711
+ $schema: z.ZodString;
1712
+ name: z.ZodString;
1713
+ description: z.ZodString;
1714
+ version: z.ZodOptional<z.ZodString>;
1715
+ title: z.ZodOptional<z.ZodString>;
1716
+ websiteUrl: z.ZodOptional<z.ZodURL>;
1717
+ icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
1718
+ src: z.ZodURL;
1719
+ mimeType: z.ZodOptional<z.ZodString>;
1720
+ sizes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1721
+ }, z.core.$strip>>>;
1722
+ remotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
1723
+ type: z.ZodString;
1724
+ url: z.ZodOptional<z.ZodURL>;
1725
+ headers: z.ZodOptional<z.ZodArray<z.ZodObject<{
1726
+ name: z.ZodString;
1727
+ description: z.ZodString;
1728
+ isRequired: z.ZodOptional<z.ZodBoolean>;
1729
+ isSecret: z.ZodOptional<z.ZodBoolean>;
1730
+ }, z.core.$strip>>>;
1731
+ }, z.core.$strip>>>;
1732
+ }, z.core.$strip>;
1733
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1734
+ NOT_FOUND: {};
1735
+ BAD_REQUEST: {};
1736
+ }>, Record<never, never>>;
1737
+ };
1738
+ };
1739
+ beacon: {
1740
+ create: {
1741
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1742
+ targetUrl: z.ZodURL;
1743
+ teamId: z.ZodOptional<z.ZodString>;
1744
+ projectId: z.ZodOptional<z.ZodString>;
1745
+ excludeCategories: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1746
+ connectivity: "connectivity";
1747
+ "tool-metadata": "tool-metadata";
1748
+ "resource-metadata": "resource-metadata";
1749
+ performance: "performance";
1750
+ e2e: "e2e";
1751
+ }>>>;
1752
+ }, z.core.$strip>, z.ZodObject<{
1753
+ id: z.ZodString;
1754
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1755
+ NOT_FOUND: {};
1756
+ BAD_REQUEST: {};
1757
+ DNS_RESOLUTION_FAILED: {
1758
+ status: number;
1759
+ };
1760
+ }>, Record<never, never>>;
1761
+ };
1762
+ get: {
1763
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1764
+ auditId: z.ZodString;
1765
+ }, z.core.$strip>, z.ZodObject<{
1766
+ id: z.ZodString;
1767
+ targetUrl: z.ZodString;
1768
+ status: z.ZodEnum<{
1769
+ failed: "failed";
1770
+ pending: "pending";
1771
+ partial: "partial";
1772
+ completed: "completed";
1773
+ }>;
1774
+ durationMs: z.ZodNullable<z.ZodNumber>;
1775
+ createdAt: z.ZodCoercedDate<unknown>;
1776
+ report: z.ZodNullable<z.ZodObject<{
1777
+ schemaVersion: z.ZodString;
1778
+ auditId: z.ZodString;
1779
+ targetUrl: z.ZodString;
1780
+ startedAt: z.ZodString;
1781
+ completedAt: z.ZodString;
1782
+ durationMs: z.ZodNumber;
1783
+ results: z.ZodArray<z.ZodObject<{
1784
+ checkId: z.ZodString;
1785
+ checkName: z.ZodString;
1786
+ description: z.ZodString;
1787
+ status: z.ZodEnum<{
1788
+ pending: "pending";
1789
+ pass: "pass";
1790
+ fail: "fail";
1791
+ skip: "skip";
1792
+ }>;
1793
+ message: z.ZodString;
1794
+ skipReason: z.ZodOptional<z.ZodString>;
1795
+ severity: z.ZodEnum<{
1796
+ error: "error";
1797
+ warning: "warning";
1798
+ info: "info";
1799
+ }>;
1800
+ category: z.ZodEnum<{
1801
+ connectivity: "connectivity";
1802
+ "tool-metadata": "tool-metadata";
1803
+ "resource-metadata": "resource-metadata";
1804
+ performance: "performance";
1805
+ e2e: "e2e";
1806
+ }>;
1807
+ scope: z.ZodEnum<{
1808
+ server: "server";
1809
+ view: "view";
1810
+ }>;
1811
+ platforms: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
1812
+ chatgpt: "chatgpt";
1813
+ claudeai: "claudeai";
1814
+ }>>>>;
1815
+ durationMs: z.ZodNumber;
1816
+ details: z.ZodOptional<z.ZodArray<z.ZodObject<{
1817
+ label: z.ZodString;
1818
+ value: z.ZodOptional<z.ZodString>;
1819
+ }, z.core.$strip>>>;
1820
+ hint: z.ZodOptional<z.ZodObject<{
1821
+ text: z.ZodString;
1822
+ }, z.core.$strip>>;
1823
+ }, z.core.$strip>>;
1824
+ requiresAuth: z.ZodBoolean;
1825
+ hasViewSupport: z.ZodBoolean;
1826
+ viewPlatforms: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
1827
+ chatgpt: "chatgpt";
1828
+ claudeai: "claudeai";
1829
+ }>>>>;
1830
+ isReadyForPlatform: z.ZodRecord<z.ZodEnum<{
1831
+ chatgpt: "chatgpt";
1832
+ claudeai: "claudeai";
1833
+ }>, z.ZodBoolean>;
1834
+ widgetScreenshotKeys: z.ZodObject<{
1835
+ chatgpt: z.ZodOptional<z.ZodString>;
1836
+ claudeai: z.ZodOptional<z.ZodString>;
1837
+ }, z.core.$strip>;
1838
+ widgetScreenshots: z.ZodObject<{
1839
+ chatgpt: z.ZodOptional<z.ZodObject<{
1840
+ url: z.ZodString;
1841
+ }, z.core.$strip>>;
1842
+ claudeai: z.ZodOptional<z.ZodObject<{
1843
+ url: z.ZodString;
1844
+ }, z.core.$strip>>;
1845
+ }, z.core.$strip>;
1846
+ }, z.core.$strip>>;
1847
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1848
+ NOT_FOUND: {};
1849
+ }>, Record<never, never>>;
1850
+ };
1851
+ };
1852
+ };
951
1853
  type RouterInput = InferContractRouterInputs<typeof contract>;
952
1854
  type RouterOutput = InferContractRouterOutputs<typeof contract>;
953
1855
  //#endregion
@@ -1041,4 +1943,4 @@ declare const serverFieldsSchema: z.ZodObject<{
1041
1943
  }, z.core.$strip>>>;
1042
1944
  }, z.core.$strip>;
1043
1945
  //#endregion
1044
- export { AUTH_SCOPE_ANY, AUTH_SCOPE_USER, ApiContext, AuthScope, PLATFORM_LABELS, type Platform, RouteAuthMeta, RouterInput, RouterOutput, Runtime, Transport, buildSettingsSchema, contract, createEnvironmentContractV1, deploymentStatusSchema, environmentVariableSchema, environmentVariablesSchema, playgroundExamplePromptSchema, playgroundHeaderSchema, runtimeSchema, serverFieldsSchema, transportSchema, updateEnvironmentVariableSchema };
1946
+ export { AUTH_SCOPE_ANY, AUTH_SCOPE_USER, ApiContext, AuthScope, PLATFORM_LABELS, type Platform, RouteAuthMeta, RouterInput, RouterOutput, Runtime, Transport, buildSettingsSchema, contract, contractForDocs, createEnvironmentContractV1, deploymentStatusSchema, environmentVariableSchema, environmentVariablesSchema, playgroundExamplePromptSchema, playgroundHeaderSchema, runtimeSchema, serverFieldsSchema, transportSchema, updateEnvironmentVariableSchema };
package/dist/index.mjs CHANGED
@@ -2,7 +2,7 @@ import { z } from "zod";
2
2
  import * as z$1 from "zod/v4";
3
3
  import { oc } from "@orpc/contract";
4
4
  import ms from "ms";
5
- //#region ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.29.0_zod@4.4.3/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js
5
+ //#region ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_supports-color@7.2.0_zod@4.4.3/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js
6
6
  /**
7
7
  * Reusable URL validation that disallows javascript: scheme
8
8
  */
@@ -283,33 +283,18 @@ const deploymentSummarySchema = z.object({
283
283
  createdAt: z.coerce.date(),
284
284
  updatedAt: z.coerce.date()
285
285
  });
286
- /**
287
- * Public environment
288
- *
289
- * Answers anonymously and exposes no OAuth metadata.
290
- */
286
+ /** Public environment: answers anonymously and exposes no OAuth metadata. */
291
287
  const publicEnvironmentSchema = z.object({
292
288
  allowsAnonymous: z.literal(true),
293
289
  oAuthMetadata: z.strictObject({})
294
290
  });
295
- /**
296
- * Protected environment with an external resource metadata URL
297
- *
298
- * An external resource metadata URL is returned in the WWW-Authenticate header during the first 401 response.
299
- * Everything that follows is handled outside of the MCP server scope.
300
- */
291
+ /** Protected environment whose external resource metadata URL is returned in the WWW-Authenticate header on the first 401; everything after is handled outside the MCP server scope. */
301
292
  const externalResourceMetadataEnvironmentSchema = z.object({
302
293
  allowsAnonymous: z.boolean(),
303
294
  oAuthMetadata: z.object({ externalResourceMetadataUrl: z.url() }),
304
295
  scope: z.string().optional()
305
296
  });
306
- /**
307
- * Protected environment with an external authorization server URL
308
- *
309
- * The server itself exposes the /.well-known/oauth-protected-resource endpoint.
310
- * An external authorization server URL is returned when requesting the endpoint.
311
- * Everything that follows is handled outside of the MCP server scope.
312
- */
297
+ /** Protected environment whose own /.well-known/oauth-protected-resource endpoint points at an external authorization server; everything after is handled outside the MCP server scope. */
313
298
  const externalAuthorizationServerEnvironmentSchema = z.object({
314
299
  allowsAnonymous: z.boolean(),
315
300
  oAuthMetadata: z.object({
@@ -318,12 +303,7 @@ const externalAuthorizationServerEnvironmentSchema = z.object({
318
303
  }),
319
304
  scope: z.string().optional()
320
305
  });
321
- /**
322
- * Standalone protected environment
323
- *
324
- * The server itself exposes the /.well-known/oauth-protected-resource endpoint.
325
- * The server itself exposes the /.well-known/oauth-authorization-server endpoint.
326
- */
306
+ /** Standalone protected environment: the server itself exposes both the /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server endpoints. */
327
307
  const standaloneEnvironmentSchema = z.object({
328
308
  allowsAnonymous: z.boolean(),
329
309
  oAuthMetadata: z.object({
@@ -332,13 +312,7 @@ const standaloneEnvironmentSchema = z.object({
332
312
  }),
333
313
  scope: z.string().optional()
334
314
  });
335
- /**
336
- * Protected environment without OAuth discovery
337
- *
338
- * The server enforces authentication but exposes no OAuth discovery metadata.
339
- * Neither /.well-known/oauth-protected-resource nor /.well-known/oauth-authorization-server
340
- * are advertised. Clients must obtain credentials out-of-band.
341
- */
315
+ /** Protected environment that enforces authentication but advertises no OAuth discovery metadata; clients must obtain credentials out-of-band. */
342
316
  const protectedWithoutDiscoveryEnvironmentSchema = z.object({
343
317
  allowsAnonymous: z.literal(false),
344
318
  oAuthMetadata: z.strictObject({}),
@@ -425,7 +399,8 @@ z.object({
425
399
  collectRequestPayload: z.boolean(),
426
400
  collectResponsePayload: z.boolean(),
427
401
  collectErrorMessage: z.boolean(),
428
- collectUserData: z.boolean()
402
+ collectUserData: z.boolean(),
403
+ identityTraitKey: z.string().min(1).max(200).nullable()
429
404
  });
430
405
  z.object({
431
406
  id: z.string(),
@@ -532,6 +507,246 @@ z.enum([
532
507
  "DEBUG",
533
508
  "ERROR"
534
509
  ]);
510
+ /** Only names a vendor actually ships belong here: lookalikes like `claude-code-test` are customers' own scripts. */
511
+ const MCP_CLIENT_GROUPS = [
512
+ {
513
+ id: "claude_code",
514
+ label: "Claude Code",
515
+ vendor: "anthropic",
516
+ rawNames: ["claude-code", "Anthropic/ClaudeCodeDesktop"]
517
+ },
518
+ {
519
+ id: "claude",
520
+ label: "Claude",
521
+ vendor: "anthropic",
522
+ rawNames: [
523
+ "Anthropic/ClaudeAI",
524
+ "claude-ai",
525
+ "claude",
526
+ "Claude",
527
+ "claude-desktop",
528
+ "claude-desktop-3p"
529
+ ]
530
+ },
531
+ {
532
+ id: "claude_mobile",
533
+ label: "Claude mobile",
534
+ vendor: "anthropic",
535
+ rawNames: ["claude-ios", "ClaudeAndroid"]
536
+ },
537
+ {
538
+ id: "claude_cowork",
539
+ label: "Claude Cowork",
540
+ vendor: "anthropic",
541
+ rawNames: ["Anthropic/Cowork"]
542
+ },
543
+ {
544
+ id: "claude_toolbox",
545
+ label: "Claude Toolbox",
546
+ vendor: "anthropic",
547
+ rawNames: ["Anthropic/Toolbox", "Anthropic/toolbox-bootstrap"]
548
+ },
549
+ {
550
+ id: "anthropic_api",
551
+ label: "Anthropic API",
552
+ vendor: "anthropic",
553
+ rawNames: ["Anthropic/API"]
554
+ },
555
+ {
556
+ id: "anthropic_connector_refresh",
557
+ label: "Anthropic (connector refresh)",
558
+ vendor: "anthropic",
559
+ rawNames: ["Anthropic"]
560
+ },
561
+ {
562
+ id: "codex",
563
+ label: "Codex",
564
+ vendor: "openai",
565
+ rawNames: [
566
+ "codex-mcp-client",
567
+ "codex",
568
+ "Codex",
569
+ "codex-cli",
570
+ "openai-mcp (Codex)"
571
+ ]
572
+ },
573
+ {
574
+ id: "chatgpt",
575
+ label: "ChatGPT",
576
+ vendor: "openai",
577
+ rawNames: ["openai-mcp (ChatGPT)"]
578
+ },
579
+ {
580
+ id: "openai_responses_api",
581
+ label: "OpenAI Responses API",
582
+ vendor: "openai",
583
+ rawNames: ["openai-mcp (Responses API)"]
584
+ },
585
+ {
586
+ id: "openai_agent_builder",
587
+ label: "OpenAI Agent Builder",
588
+ vendor: "openai",
589
+ rawNames: ["openai-mcp (Agent Builder)"]
590
+ },
591
+ {
592
+ id: "openai_other",
593
+ label: "OpenAI Other",
594
+ vendor: "openai",
595
+ rawNames: ["openai-mcp"]
596
+ },
597
+ {
598
+ id: "cursor",
599
+ label: "Cursor",
600
+ vendor: "cursor",
601
+ rawNames: [
602
+ "cursor-vscode",
603
+ "Cursor",
604
+ "cursor"
605
+ ]
606
+ },
607
+ {
608
+ id: "cline",
609
+ label: "Cline",
610
+ vendor: "cline",
611
+ rawNames: [
612
+ "Cline",
613
+ "cline",
614
+ "@cline/core"
615
+ ]
616
+ },
617
+ {
618
+ id: "github_copilot",
619
+ label: "GitHub Copilot",
620
+ vendor: "githubCopilot",
621
+ rawNames: [
622
+ "Copilot",
623
+ "github-copilot-developer",
624
+ "Copilot MCP Gateway",
625
+ "Xcode/copilot-xcode"
626
+ ]
627
+ },
628
+ {
629
+ id: "gemini_cli",
630
+ label: "Gemini CLI",
631
+ vendor: "google",
632
+ rawNames: ["gemini-cli-mcp-client", "gemini-cli"]
633
+ },
634
+ {
635
+ id: "antigravity",
636
+ label: "Antigravity",
637
+ vendor: "google",
638
+ rawNames: ["antigravity-client"]
639
+ },
640
+ {
641
+ id: "gemini",
642
+ label: "Gemini",
643
+ vendor: "google",
644
+ rawNames: ["Gemini", "google-ai-edge-gallery"]
645
+ },
646
+ {
647
+ id: "windsurf",
648
+ label: "Windsurf",
649
+ vendor: "windsurf",
650
+ rawNames: ["Windsurf", "windsurf-client"]
651
+ },
652
+ {
653
+ id: "mistral",
654
+ label: "Mistral / Le Chat",
655
+ vendor: "mistral",
656
+ rawNames: ["Mistral"],
657
+ rawNamePrefixes: ["connector:custom-mcp:"]
658
+ },
659
+ {
660
+ id: "n8n",
661
+ label: "n8n",
662
+ vendor: "n8n",
663
+ rawNames: [
664
+ "@n8n/n8n-nodes-langchain.mcpClient",
665
+ "@n8n/n8n-nodes-langchain.mcpClientTool",
666
+ "n8n"
667
+ ]
668
+ },
669
+ {
670
+ id: "alpic_playground",
671
+ label: "Alpic Playground",
672
+ vendor: "alpic",
673
+ rawNames: ["alpic-playground", "playground"]
674
+ },
675
+ {
676
+ id: "opencode",
677
+ label: "opencode",
678
+ vendor: "opencode",
679
+ rawNames: ["opencode"]
680
+ },
681
+ {
682
+ id: "zed",
683
+ label: "Zed",
684
+ vendor: "zed",
685
+ rawNames: ["Zed", "zed"]
686
+ },
687
+ {
688
+ id: "zapier",
689
+ label: "Zapier",
690
+ vendor: "zapier",
691
+ rawNames: ["Zapier", "zapier"]
692
+ },
693
+ {
694
+ id: "make",
695
+ label: "Make",
696
+ vendor: "make",
697
+ rawNames: ["Make", "make"]
698
+ },
699
+ {
700
+ id: "librechat",
701
+ label: "LibreChat",
702
+ vendor: "mcp",
703
+ rawNames: ["LibreChat", "librechat"]
704
+ },
705
+ {
706
+ id: "jan",
707
+ label: "Jan",
708
+ vendor: "mcp",
709
+ rawNames: ["Jan", "jan"]
710
+ },
711
+ {
712
+ id: "goose",
713
+ label: "goose",
714
+ vendor: "mcp",
715
+ rawNames: ["goose", "Goose"]
716
+ },
717
+ {
718
+ id: "mcphost",
719
+ label: "mcphost",
720
+ vendor: "mcp",
721
+ rawNames: ["mcphost"]
722
+ },
723
+ {
724
+ id: "mcporter",
725
+ label: "mcporter",
726
+ vendor: "mcp",
727
+ rawNames: ["mcporter"]
728
+ },
729
+ {
730
+ id: "rmcp",
731
+ label: "rmcp",
732
+ vendor: "mcp",
733
+ rawNames: ["rmcp"]
734
+ },
735
+ {
736
+ id: "unnamed_client",
737
+ label: "Unnamed client",
738
+ vendor: "mcp",
739
+ rawNames: [
740
+ "mcp",
741
+ "unknown",
742
+ ""
743
+ ]
744
+ }
745
+ ];
746
+ /** A source pattern, not a RegExp, because analytics renders the same rule into ClickHouse RE2, which shares this syntax. */
747
+ const MCP_REMOTE_WRAPPER_SUFFIX = String.raw` \(via mcp-remote [^\n]+?\)$`;
748
+ new RegExp(MCP_REMOTE_WRAPPER_SUFFIX);
749
+ new Map(MCP_CLIENT_GROUPS.map((group) => [group.id, group]));
535
750
  const runtimeSchema = z.enum([
536
751
  "python3.13",
537
752
  "python3.14",
@@ -609,15 +824,7 @@ z.object({
609
824
  serverFields: serverFieldsSchema$1,
610
825
  source: z.enum(["registry", "defaults"])
611
826
  });
612
- /**
613
- * Returns a variant of a `maxLength`-constrained string that clamps (truncates) instead of
614
- * rejecting on overflow — used for AI-generated copy where the model routinely overshoots.
615
- *
616
- * NOTE: this rebuilds the schema from scratch, carrying over only `maxLength` (as a clamp),
617
- * `minLength`, and the description. Any other validators on the source field (`.regex()`,
618
- * `.email()`, custom refinements) are intentionally dropped — this helper is meant for plain
619
- * free-text length caps only. A field with `null` `maxLength` is returned unchanged.
620
- */
827
+ /** Clamps instead of rejecting on max-length overflow (for AI-generated copy that overshoots); intentionally carries over only maxLength, minLength, and description, dropping any other validators. */
621
828
  const clampStringField = (field) => {
622
829
  const max = field.maxLength;
623
830
  if (max === null) return field;
@@ -963,11 +1170,7 @@ const chatgptToolJustificationSchema = z.object({
963
1170
  openWorldJustification: z.string().describe("One sentence on whether the tool reaches external systems beyond your own service."),
964
1171
  destructiveJustification: z.string().describe("One sentence on whether the tool changes data. For a read-only tool, state the full triad: \"No data is created, modified, or deleted.\"")
965
1172
  }).describe("Per-tool justification of each MCP annotation value (one specific sentence per hint).");
966
- /**
967
- * Base copy fields, defined once and reused by both the submission form and per-locale
968
- * translations so the constraints (tagline ≤ 30 chars) never drift. The translation generation
969
- * path wraps these in {@link clampStringField} since the LLM tends to overshoot the limit.
970
- */
1173
+ /** Defined once and reused by both the submission form and per-locale translations so the tagline ≤ 30 chars constraint never drifts. */
971
1174
  const chatgptTaglineSchema = z.string().max(30);
972
1175
  const chatgptDescriptionSchema = z.string();
973
1176
  const chatgptTranslationSchema = z.object({
@@ -976,10 +1179,7 @@ const chatgptTranslationSchema = z.object({
976
1179
  description: chatgptDescriptionSchema
977
1180
  }).describe("Locale-scoped override for tagline + description. English (US) is the default.");
978
1181
  chatgptTranslationSchema.extend({ tagline: clampStringField(chatgptTaglineSchema) });
979
- /**
980
- * Field order mirrors the ChatGPT (OpenAI) submission spreadsheet, grouped by section.
981
- * When adding/removing/reordering fields, keep this in sync with the sheet.
982
- */
1182
+ /** Field order mirrors the ChatGPT (OpenAI) submission spreadsheet, grouped by section; keep it in sync with the sheet. */
983
1183
  const chatgptSubmissionFormDataSchema = z.object({
984
1184
  logoLight: z.string().describe("Logo icon for light mode. Square PNG, no borders or rounded corners (clients apply circular cropping)."),
985
1185
  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."),
@@ -1076,11 +1276,7 @@ const claudePolicyAcknowledgementSchema = z.enum([
1076
1276
  "My connector does not collect conversation data beyond what is needed for its function.",
1077
1277
  "Public documentation for this connector will be live by the publish date."
1078
1278
  ]);
1079
- /**
1080
- * Field order mirrors the claude.ai directory submission wizard
1081
- * (`claude.ai/admin-settings/directory/submissions/new`), grouped by step.
1082
- * When adding/removing/reordering fields, keep this in sync with the wizard.
1083
- */
1279
+ /** Field order mirrors the claude.ai directory submission wizard (`claude.ai/admin-settings/directory/submissions/new`), grouped by step; keep it in sync with the wizard. */
1084
1280
  const claudeSubmissionFormDataSchema = z.object({
1085
1281
  serverUrl: z.url().describe(`The full https:// URL where your MCP server is hosted and reachable. In the claude.ai wizard this is read live
1086
1282
  from the custom connector you select — the connection is used to verify the URL and the tool list at submission time.
@@ -1172,12 +1368,7 @@ claudeSubmissionFormDataSchema.pick({
1172
1368
  connectionRequirements: claudeSubmissionFormDataSchema.shape.connectionRequirements.optional(),
1173
1369
  testInstructions: claudeSubmissionFormDataSchema.shape.testInstructions.optional()
1174
1370
  });
1175
- /**
1176
- * Narrative fields the LLM-backed generation step produces for Claude submissions.
1177
- * This schema accepts the slightly loose shape returned by AI generation, then normalizes it into
1178
- * the strict form shape. Keep transforms here rather than in callers so generation leniency is
1179
- * colocated with the Claude contract.
1180
- */
1371
+ /** Loose shape returned by AI generation for Claude narrative fields; transforms live here so generation leniency stays colocated with the Claude contract. */
1181
1372
  const claudeAiGeneratedFormDataRawSchema = z.object({
1182
1373
  oneLiner: claudeSubmissionFormDataSchema.shape.oneLiner,
1183
1374
  description: claudeSubmissionFormDataSchema.shape.description,
@@ -1269,7 +1460,10 @@ const RESERVED_KEYS = [
1269
1460
  "BUILD_ARG_START_COMMAND",
1270
1461
  "ALPIC_HOST",
1271
1462
  "ALPIC_CUSTOM_DOMAINS",
1272
- "ALPIC_INTENT_META_KEY"
1463
+ "ALPIC_INTENT_META_KEY",
1464
+ "ALPIC_FEEDBACK_META_KEY",
1465
+ "ALPIC_EVENTS_META_KEY",
1466
+ "ALPIC_IDENTIFY_META_KEY"
1273
1467
  ];
1274
1468
  const environmentVariableSchema = z.object({
1275
1469
  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"),
@@ -1915,5 +2109,10 @@ const contract = {
1915
2109
  get: { v1: getBeaconContractV1 }
1916
2110
  }
1917
2111
  };
2112
+ const { uploadArtifact: _discard, ...deploymentsForDocs } = contract.deployments;
2113
+ const contractForDocs = {
2114
+ ...contract,
2115
+ deployments: deploymentsForDocs
2116
+ };
1918
2117
  //#endregion
1919
- export { AUTH_SCOPE_ANY, AUTH_SCOPE_USER, PLATFORM_LABELS, buildSettingsSchema, contract, createEnvironmentContractV1, deploymentStatusSchema, environmentVariableSchema, environmentVariablesSchema, playgroundExamplePromptSchema, playgroundHeaderSchema, runtimeSchema, serverFieldsSchema, transportSchema, updateEnvironmentVariableSchema };
2118
+ export { AUTH_SCOPE_ANY, AUTH_SCOPE_USER, PLATFORM_LABELS, buildSettingsSchema, contract, contractForDocs, 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-dev.gef3a775",
3
+ "version": "0.0.0-dev.gef9a9d1",
4
4
  "description": "Contract for the Alpic API",
5
5
  "type": "module",
6
6
  "main": "./dist/index.mjs",
@@ -33,17 +33,17 @@
33
33
  "author": "Alpic",
34
34
  "license": "ISC",
35
35
  "dependencies": {
36
- "@orpc/contract": "^1.14.8",
36
+ "@orpc/contract": "^1.14.13",
37
37
  "ms": "^2.1.3",
38
38
  "zod": "^4.4.3"
39
39
  },
40
40
  "devDependencies": {
41
- "@orpc/openapi": "^1.14.8",
42
- "@orpc/zod": "^1.14.8",
41
+ "@orpc/openapi": "^1.14.13",
42
+ "@orpc/zod": "^1.14.13",
43
43
  "@total-typescript/tsconfig": "^1.0.4",
44
44
  "@types/ms": "^2.1.0",
45
45
  "shx": "^0.4.0",
46
- "tsdown": "^0.22.9",
46
+ "tsdown": "^0.22.14",
47
47
  "typescript": "^6.0.3",
48
48
  "vitest": "^4.1.10",
49
49
  "@alpic-ai/domains": "0.0.0"