@alpic-ai/api 0.0.0-dev.ge797cb7 → 0.0.0-dev.ge7fc794

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
@@ -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 & {
@@ -258,6 +257,909 @@ declare const contract: {
258
257
  }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
259
258
  NOT_FOUND: {};
260
259
  BAD_REQUEST: {};
260
+ CONFLICT: {};
261
+ }>, Record<never, never>>;
262
+ };
263
+ getLogs: {
264
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
265
+ environmentId: z.ZodString;
266
+ since: z.ZodOptional<z.ZodString>;
267
+ until: z.ZodOptional<z.ZodString>;
268
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
269
+ level: z.ZodOptional<z.ZodArray<z.ZodEnum<{
270
+ INFO: "INFO";
271
+ ERROR: "ERROR";
272
+ WARNING: "WARNING";
273
+ DEBUG: "DEBUG";
274
+ }>>>;
275
+ search: z.ZodOptional<z.ZodString>;
276
+ nextToken: z.ZodOptional<z.ZodString>;
277
+ }, z.core.$strip>, z.ZodObject<{
278
+ logs: z.ZodArray<z.ZodObject<{
279
+ timestamp: z.ZodCoercedDate<unknown>;
280
+ type: z.ZodEnum<{
281
+ INFO: "INFO";
282
+ ERROR: "ERROR";
283
+ WARNING: "WARNING";
284
+ DEBUG: "DEBUG";
285
+ START: "START";
286
+ END: "END";
287
+ }>;
288
+ requestId: z.ZodString;
289
+ content: z.ZodOptional<z.ZodString>;
290
+ method: z.ZodOptional<z.ZodString>;
291
+ durationInMs: z.ZodOptional<z.ZodNumber>;
292
+ }, z.core.$strip>>;
293
+ nextToken: z.ZodNullable<z.ZodString>;
294
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
295
+ NOT_FOUND: {};
296
+ BAD_REQUEST: {};
297
+ }>, Record<never, never>>;
298
+ };
299
+ getLatestLogs: {
300
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
301
+ environmentId: z.ZodString;
302
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
303
+ level: z.ZodOptional<z.ZodArray<z.ZodEnum<{
304
+ INFO: "INFO";
305
+ ERROR: "ERROR";
306
+ WARNING: "WARNING";
307
+ DEBUG: "DEBUG";
308
+ }>>>;
309
+ search: z.ZodOptional<z.ZodString>;
310
+ }, z.core.$strip>, z.ZodObject<{
311
+ logs: z.ZodArray<z.ZodObject<{
312
+ timestamp: z.ZodCoercedDate<unknown>;
313
+ type: z.ZodEnum<{
314
+ INFO: "INFO";
315
+ ERROR: "ERROR";
316
+ WARNING: "WARNING";
317
+ DEBUG: "DEBUG";
318
+ START: "START";
319
+ END: "END";
320
+ }>;
321
+ requestId: z.ZodString;
322
+ content: z.ZodOptional<z.ZodString>;
323
+ method: z.ZodOptional<z.ZodString>;
324
+ durationInMs: z.ZodOptional<z.ZodNumber>;
325
+ }, z.core.$strip>>;
326
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
327
+ NOT_FOUND: {};
328
+ BAD_REQUEST: {};
329
+ }>, Record<never, never>>;
330
+ };
331
+ };
332
+ environmentVariables: {
333
+ list: {
334
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
335
+ environmentId: z.ZodString;
336
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
337
+ id: z.ZodString;
338
+ key: z.ZodString;
339
+ value: z.ZodString;
340
+ isSecret: z.ZodBoolean;
341
+ createdAt: z.ZodCoercedDate<unknown>;
342
+ }, z.core.$strip>>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
343
+ NOT_FOUND: {};
344
+ }>, Record<never, never>>;
345
+ };
346
+ create: {
347
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
348
+ environmentId: z.ZodString;
349
+ environmentVariables: z.ZodArray<z.ZodObject<{
350
+ key: z.ZodString;
351
+ value: z.ZodString;
352
+ isSecret: z.ZodDefault<z.ZodBoolean>;
353
+ }, z.core.$strip>>;
354
+ }, z.core.$strip>, z.ZodObject<{
355
+ success: z.ZodLiteral<true>;
356
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
357
+ NOT_FOUND: {};
358
+ BAD_REQUEST: {};
359
+ }>, Record<never, never>>;
360
+ };
361
+ update: {
362
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
363
+ environmentVariableId: z.ZodString;
364
+ key: z.ZodString;
365
+ value: z.ZodOptional<z.ZodString>;
366
+ isSecret: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
367
+ }, z.core.$strip>, z.ZodObject<{
368
+ success: z.ZodLiteral<true>;
369
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
370
+ NOT_FOUND: {};
371
+ BAD_REQUEST: {};
372
+ }>, Record<never, never>>;
373
+ };
374
+ delete: {
375
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
376
+ environmentVariableId: z.ZodString;
377
+ }, z.core.$strip>, z.ZodObject<{
378
+ success: z.ZodLiteral<true>;
379
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
380
+ NOT_FOUND: {};
381
+ BAD_REQUEST: {};
382
+ }>, Record<never, never>>;
383
+ };
384
+ };
385
+ projects: {
386
+ update: {
387
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
388
+ projectId: z.ZodString;
389
+ name: z.ZodOptional<z.ZodString>;
390
+ sourceRepository: z.ZodOptional<z.ZodNullable<z.ZodString>>;
391
+ }, z.core.$strip>, z.ZodObject<{
392
+ id: z.ZodString;
393
+ name: z.ZodString;
394
+ teamId: z.ZodString;
395
+ sourceRepository: z.ZodNullable<z.ZodString>;
396
+ runtime: z.ZodEnum<{
397
+ "python3.13": "python3.13";
398
+ "python3.14": "python3.14";
399
+ node22: "node22";
400
+ node24: "node24";
401
+ }>;
402
+ transport: z.ZodNullable<z.ZodEnum<{
403
+ stdio: "stdio";
404
+ sse: "sse";
405
+ streamablehttp: "streamablehttp";
406
+ }>>;
407
+ rootDirectory: z.ZodNullable<z.ZodString>;
408
+ buildCommand: z.ZodNullable<z.ZodString>;
409
+ buildOutputDir: z.ZodNullable<z.ZodString>;
410
+ installCommand: z.ZodNullable<z.ZodString>;
411
+ startCommand: z.ZodNullable<z.ZodString>;
412
+ createdAt: z.ZodCoercedDate<unknown>;
413
+ productionEnvironment: z.ZodNullable<z.ZodObject<{
414
+ id: z.ZodString;
415
+ name: z.ZodString;
416
+ mcpServerUrl: z.ZodString;
417
+ domains: z.ZodArray<z.ZodObject<{
418
+ domain: z.ZodString;
419
+ status: z.ZodEnum<{
420
+ ongoing: "ongoing";
421
+ deployed: "deployed";
422
+ failed: "failed";
423
+ }>;
424
+ createdAt: z.ZodCoercedDate<unknown>;
425
+ }, z.core.$strip>>;
426
+ latestDeployment: z.ZodNullable<z.ZodObject<{
427
+ id: z.ZodString;
428
+ status: z.ZodEnum<{
429
+ ongoing: "ongoing";
430
+ deployed: "deployed";
431
+ failed: "failed";
432
+ canceled: "canceled";
433
+ }>;
434
+ sourceCommitId: z.ZodNullable<z.ZodString>;
435
+ sourceCommitMessage: z.ZodNullable<z.ZodString>;
436
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
437
+ }, z.core.$strip>>;
438
+ }, z.core.$strip>>;
439
+ environments: z.ZodArray<z.ZodObject<{
440
+ id: z.ZodString;
441
+ name: z.ZodString;
442
+ sourceBranch: z.ZodNullable<z.ZodString>;
443
+ mcpServerUrl: z.ZodString;
444
+ createdAt: z.ZodCoercedDate<unknown>;
445
+ projectId: z.ZodString;
446
+ latestDeployment: z.ZodNullable<z.ZodObject<{
447
+ id: z.ZodString;
448
+ status: z.ZodEnum<{
449
+ ongoing: "ongoing";
450
+ deployed: "deployed";
451
+ failed: "failed";
452
+ canceled: "canceled";
453
+ }>;
454
+ sourceCommitId: z.ZodNullable<z.ZodString>;
455
+ sourceCommitMessage: z.ZodNullable<z.ZodString>;
456
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
457
+ }, z.core.$strip>>;
458
+ }, z.core.$strip>>;
459
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
460
+ NOT_FOUND: {};
461
+ BAD_REQUEST: {};
462
+ FORBIDDEN: {};
463
+ }>, Record<never, never>>;
464
+ };
465
+ get: {
466
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
467
+ projectId: z.ZodString;
468
+ }, z.core.$strip>, z.ZodObject<{
469
+ id: z.ZodString;
470
+ name: z.ZodString;
471
+ teamId: z.ZodString;
472
+ sourceRepository: z.ZodNullable<z.ZodString>;
473
+ runtime: z.ZodEnum<{
474
+ "python3.13": "python3.13";
475
+ "python3.14": "python3.14";
476
+ node22: "node22";
477
+ node24: "node24";
478
+ }>;
479
+ transport: z.ZodNullable<z.ZodEnum<{
480
+ stdio: "stdio";
481
+ sse: "sse";
482
+ streamablehttp: "streamablehttp";
483
+ }>>;
484
+ rootDirectory: z.ZodNullable<z.ZodString>;
485
+ buildCommand: z.ZodNullable<z.ZodString>;
486
+ buildOutputDir: z.ZodNullable<z.ZodString>;
487
+ installCommand: z.ZodNullable<z.ZodString>;
488
+ startCommand: z.ZodNullable<z.ZodString>;
489
+ createdAt: z.ZodCoercedDate<unknown>;
490
+ productionEnvironment: z.ZodNullable<z.ZodObject<{
491
+ id: z.ZodString;
492
+ name: z.ZodString;
493
+ mcpServerUrl: z.ZodString;
494
+ domains: z.ZodArray<z.ZodObject<{
495
+ domain: z.ZodString;
496
+ status: z.ZodEnum<{
497
+ ongoing: "ongoing";
498
+ deployed: "deployed";
499
+ failed: "failed";
500
+ }>;
501
+ createdAt: z.ZodCoercedDate<unknown>;
502
+ }, z.core.$strip>>;
503
+ latestDeployment: z.ZodNullable<z.ZodObject<{
504
+ id: z.ZodString;
505
+ status: z.ZodEnum<{
506
+ ongoing: "ongoing";
507
+ deployed: "deployed";
508
+ failed: "failed";
509
+ canceled: "canceled";
510
+ }>;
511
+ sourceCommitId: z.ZodNullable<z.ZodString>;
512
+ sourceCommitMessage: z.ZodNullable<z.ZodString>;
513
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
514
+ }, z.core.$strip>>;
515
+ }, z.core.$strip>>;
516
+ environments: z.ZodArray<z.ZodObject<{
517
+ id: z.ZodString;
518
+ name: z.ZodString;
519
+ sourceBranch: z.ZodNullable<z.ZodString>;
520
+ mcpServerUrl: z.ZodString;
521
+ createdAt: z.ZodCoercedDate<unknown>;
522
+ projectId: z.ZodString;
523
+ latestDeployment: z.ZodNullable<z.ZodObject<{
524
+ id: z.ZodString;
525
+ status: z.ZodEnum<{
526
+ ongoing: "ongoing";
527
+ deployed: "deployed";
528
+ failed: "failed";
529
+ canceled: "canceled";
530
+ }>;
531
+ sourceCommitId: z.ZodNullable<z.ZodString>;
532
+ sourceCommitMessage: z.ZodNullable<z.ZodString>;
533
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
534
+ }, z.core.$strip>>;
535
+ }, z.core.$strip>>;
536
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
537
+ NOT_FOUND: {};
538
+ }>, Record<never, never>>;
539
+ };
540
+ list: {
541
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodOptional<z.ZodObject<{
542
+ teamId: z.ZodOptional<z.ZodString>;
543
+ }, z.core.$strip>>, z.ZodArray<z.ZodObject<{
544
+ id: z.ZodString;
545
+ name: z.ZodString;
546
+ teamId: z.ZodString;
547
+ sourceRepository: z.ZodNullable<z.ZodString>;
548
+ runtime: z.ZodEnum<{
549
+ "python3.13": "python3.13";
550
+ "python3.14": "python3.14";
551
+ node22: "node22";
552
+ node24: "node24";
553
+ }>;
554
+ transport: z.ZodNullable<z.ZodEnum<{
555
+ stdio: "stdio";
556
+ sse: "sse";
557
+ streamablehttp: "streamablehttp";
558
+ }>>;
559
+ rootDirectory: z.ZodNullable<z.ZodString>;
560
+ buildCommand: z.ZodNullable<z.ZodString>;
561
+ buildOutputDir: z.ZodNullable<z.ZodString>;
562
+ installCommand: z.ZodNullable<z.ZodString>;
563
+ startCommand: z.ZodNullable<z.ZodString>;
564
+ createdAt: z.ZodCoercedDate<unknown>;
565
+ productionEnvironment: z.ZodNullable<z.ZodObject<{
566
+ id: z.ZodString;
567
+ name: z.ZodString;
568
+ mcpServerUrl: z.ZodString;
569
+ domains: z.ZodArray<z.ZodObject<{
570
+ domain: z.ZodString;
571
+ status: z.ZodEnum<{
572
+ ongoing: "ongoing";
573
+ deployed: "deployed";
574
+ failed: "failed";
575
+ }>;
576
+ createdAt: z.ZodCoercedDate<unknown>;
577
+ }, z.core.$strip>>;
578
+ latestDeployment: z.ZodNullable<z.ZodObject<{
579
+ id: z.ZodString;
580
+ status: z.ZodEnum<{
581
+ ongoing: "ongoing";
582
+ deployed: "deployed";
583
+ failed: "failed";
584
+ canceled: "canceled";
585
+ }>;
586
+ sourceCommitId: z.ZodNullable<z.ZodString>;
587
+ sourceCommitMessage: z.ZodNullable<z.ZodString>;
588
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
589
+ }, z.core.$strip>>;
590
+ }, z.core.$strip>>;
591
+ environments: z.ZodArray<z.ZodObject<{
592
+ id: z.ZodString;
593
+ name: z.ZodString;
594
+ sourceBranch: z.ZodNullable<z.ZodString>;
595
+ mcpServerUrl: z.ZodString;
596
+ createdAt: z.ZodCoercedDate<unknown>;
597
+ projectId: z.ZodString;
598
+ latestDeployment: z.ZodNullable<z.ZodObject<{
599
+ id: z.ZodString;
600
+ status: z.ZodEnum<{
601
+ ongoing: "ongoing";
602
+ deployed: "deployed";
603
+ failed: "failed";
604
+ canceled: "canceled";
605
+ }>;
606
+ sourceCommitId: z.ZodNullable<z.ZodString>;
607
+ sourceCommitMessage: z.ZodNullable<z.ZodString>;
608
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
609
+ }, z.core.$strip>>;
610
+ }, z.core.$strip>>;
611
+ }, z.core.$strip>>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
612
+ NOT_FOUND: {};
613
+ BAD_REQUEST: {};
614
+ }>, Record<never, never>>;
615
+ };
616
+ create: {
617
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
618
+ teamId: z.ZodOptional<z.ZodString>;
619
+ name: z.ZodString;
620
+ sourceRepository: z.ZodOptional<z.ZodString>;
621
+ branchName: z.ZodOptional<z.ZodString>;
622
+ runtime: z.ZodEnum<{
623
+ "python3.13": "python3.13";
624
+ "python3.14": "python3.14";
625
+ node22: "node22";
626
+ node24: "node24";
627
+ }>;
628
+ transport: z.ZodOptional<z.ZodEnum<{
629
+ stdio: "stdio";
630
+ sse: "sse";
631
+ streamablehttp: "streamablehttp";
632
+ }>>;
633
+ rootDirectory: z.ZodOptional<z.ZodString>;
634
+ settings: z.ZodDefault<z.ZodObject<{
635
+ installCommand: z.ZodOptional<z.ZodString>;
636
+ buildCommand: z.ZodOptional<z.ZodString>;
637
+ buildOutputDir: z.ZodOptional<z.ZodString>;
638
+ startCommand: z.ZodOptional<z.ZodString>;
639
+ }, z.core.$strip>>;
640
+ environmentVariables: z.ZodDefault<z.ZodArray<z.ZodObject<{
641
+ key: z.ZodString;
642
+ value: z.ZodString;
643
+ isSecret: z.ZodDefault<z.ZodBoolean>;
644
+ }, z.core.$strip>>>;
645
+ }, z.core.$strip>, z.ZodObject<{
646
+ id: z.ZodString;
647
+ name: z.ZodString;
648
+ teamId: z.ZodString;
649
+ environments: z.ZodArray<z.ZodObject<{
650
+ id: z.ZodString;
651
+ name: z.ZodString;
652
+ }, z.core.$strip>>;
653
+ productionEnvironment: z.ZodNullable<z.ZodObject<{
654
+ id: z.ZodString;
655
+ name: z.ZodString;
656
+ }, z.core.$strip>>;
657
+ sourceRepository: z.ZodNullable<z.ZodString>;
658
+ runtime: z.ZodEnum<{
659
+ "python3.13": "python3.13";
660
+ "python3.14": "python3.14";
661
+ node22: "node22";
662
+ node24: "node24";
663
+ }>;
664
+ transport: z.ZodNullable<z.ZodEnum<{
665
+ stdio: "stdio";
666
+ sse: "sse";
667
+ streamablehttp: "streamablehttp";
668
+ }>>;
669
+ rootDirectory: z.ZodNullable<z.ZodString>;
670
+ buildCommand: z.ZodNullable<z.ZodString>;
671
+ buildOutputDir: z.ZodNullable<z.ZodString>;
672
+ installCommand: z.ZodNullable<z.ZodString>;
673
+ startCommand: z.ZodNullable<z.ZodString>;
674
+ createdAt: z.ZodCoercedDate<unknown>;
675
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
676
+ NOT_FOUND: {};
677
+ BAD_REQUEST: {};
678
+ FORBIDDEN: {};
679
+ }>, Record<never, never>>;
680
+ };
681
+ delete: {
682
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
683
+ projectId: z.ZodString;
684
+ }, z.core.$strip>, z.ZodObject<{
685
+ success: z.ZodLiteral<true>;
686
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
687
+ NOT_FOUND: {};
688
+ }>, Record<never, never>>;
689
+ };
690
+ };
691
+ playground: {
692
+ get: {
693
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
694
+ environmentId: z.ZodString;
695
+ }, z.core.$strip>, z.ZodObject<{
696
+ isPlaygroundEnabled: z.ZodBoolean;
697
+ serverMetadata: z.ZodNullable<z.ZodObject<{
698
+ name: z.ZodString;
699
+ description: z.ZodString;
700
+ headers: z.ZodArray<z.ZodObject<{
701
+ name: z.ZodString;
702
+ description: z.ZodString;
703
+ isRequired: z.ZodBoolean;
704
+ isSecret: z.ZodBoolean;
705
+ }, z.core.$strip>>;
706
+ examplePrompts: z.ZodArray<z.ZodObject<{
707
+ title: z.ZodString;
708
+ prompt: z.ZodString;
709
+ }, z.core.$strip>>;
710
+ }, z.core.$strip>>;
711
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
712
+ NOT_FOUND: {};
713
+ }>, Record<never, never>>;
714
+ };
715
+ upsert: {
716
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
717
+ environmentId: z.ZodString;
718
+ isPlaygroundEnabled: z.ZodOptional<z.ZodBoolean>;
719
+ name: z.ZodOptional<z.ZodString>;
720
+ description: z.ZodOptional<z.ZodString>;
721
+ headers: z.ZodOptional<z.ZodArray<z.ZodObject<{
722
+ name: z.ZodString;
723
+ description: z.ZodString;
724
+ isRequired: z.ZodDefault<z.ZodBoolean>;
725
+ isSecret: z.ZodDefault<z.ZodBoolean>;
726
+ }, z.core.$strip>>>;
727
+ examplePrompts: z.ZodOptional<z.ZodArray<z.ZodObject<{
728
+ title: z.ZodString;
729
+ prompt: z.ZodString;
730
+ }, z.core.$strip>>>;
731
+ }, z.core.$strip>, z.ZodObject<{
732
+ isPlaygroundEnabled: z.ZodBoolean;
733
+ serverMetadata: z.ZodNullable<z.ZodObject<{
734
+ name: z.ZodString;
735
+ description: z.ZodString;
736
+ headers: z.ZodArray<z.ZodObject<{
737
+ name: z.ZodString;
738
+ description: z.ZodString;
739
+ isRequired: z.ZodBoolean;
740
+ isSecret: z.ZodBoolean;
741
+ }, z.core.$strip>>;
742
+ examplePrompts: z.ZodArray<z.ZodObject<{
743
+ title: z.ZodString;
744
+ prompt: z.ZodString;
745
+ }, z.core.$strip>>;
746
+ }, z.core.$strip>>;
747
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
748
+ NOT_FOUND: {};
749
+ BAD_REQUEST: {};
750
+ }>, Record<never, never>>;
751
+ };
752
+ };
753
+ tunnels: {
754
+ getTicket: {
755
+ v1: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, z.ZodObject<{
756
+ subdomain: z.ZodString;
757
+ ticket: z.ZodString;
758
+ tunnelHost: z.ZodString;
759
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
760
+ FORBIDDEN: {};
761
+ }>, Record<never, never>>;
762
+ };
763
+ };
764
+ distribution: {
765
+ publish: {
766
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
767
+ projectId: z.ZodString;
768
+ domain: z.ZodString;
769
+ title: z.ZodString;
770
+ description: z.ZodString;
771
+ websiteUrl: z.ZodOptional<z.ZodURL>;
772
+ iconSrc: z.ZodOptional<z.ZodURL>;
773
+ dryRun: z.ZodOptional<z.ZodBoolean>;
774
+ }, z.core.$strip>, z.ZodObject<{
775
+ serverFields: z.ZodObject<{
776
+ $schema: z.ZodString;
777
+ name: z.ZodString;
778
+ description: z.ZodString;
779
+ version: z.ZodOptional<z.ZodString>;
780
+ title: z.ZodOptional<z.ZodString>;
781
+ websiteUrl: z.ZodOptional<z.ZodURL>;
782
+ icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
783
+ src: z.ZodURL;
784
+ mimeType: z.ZodOptional<z.ZodString>;
785
+ sizes: z.ZodOptional<z.ZodArray<z.ZodString>>;
786
+ }, z.core.$strip>>>;
787
+ remotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
788
+ type: z.ZodString;
789
+ url: z.ZodOptional<z.ZodURL>;
790
+ headers: z.ZodOptional<z.ZodArray<z.ZodObject<{
791
+ name: z.ZodString;
792
+ description: z.ZodString;
793
+ isRequired: z.ZodOptional<z.ZodBoolean>;
794
+ isSecret: z.ZodOptional<z.ZodBoolean>;
795
+ }, z.core.$strip>>>;
796
+ }, z.core.$strip>>>;
797
+ }, z.core.$strip>;
798
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
799
+ NOT_FOUND: {};
800
+ BAD_REQUEST: {};
801
+ }>, Record<never, never>>;
802
+ };
803
+ get: {
804
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
805
+ projectId: z.ZodString;
806
+ domain: z.ZodString;
807
+ }, z.core.$strip>, z.ZodObject<{
808
+ serverFields: z.ZodObject<{
809
+ $schema: z.ZodString;
810
+ name: z.ZodString;
811
+ description: z.ZodString;
812
+ version: z.ZodOptional<z.ZodString>;
813
+ title: z.ZodOptional<z.ZodString>;
814
+ websiteUrl: z.ZodOptional<z.ZodURL>;
815
+ icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
816
+ src: z.ZodURL;
817
+ mimeType: z.ZodOptional<z.ZodString>;
818
+ sizes: z.ZodOptional<z.ZodArray<z.ZodString>>;
819
+ }, z.core.$strip>>>;
820
+ remotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
821
+ type: z.ZodString;
822
+ url: z.ZodOptional<z.ZodURL>;
823
+ headers: z.ZodOptional<z.ZodArray<z.ZodObject<{
824
+ name: z.ZodString;
825
+ description: z.ZodString;
826
+ isRequired: z.ZodOptional<z.ZodBoolean>;
827
+ isSecret: z.ZodOptional<z.ZodBoolean>;
828
+ }, z.core.$strip>>>;
829
+ }, z.core.$strip>>>;
830
+ }, z.core.$strip>;
831
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
832
+ NOT_FOUND: {};
833
+ BAD_REQUEST: {};
834
+ }>, Record<never, never>>;
835
+ };
836
+ };
837
+ beacon: {
838
+ create: {
839
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
840
+ targetUrl: z.ZodURL;
841
+ teamId: z.ZodOptional<z.ZodString>;
842
+ projectId: z.ZodOptional<z.ZodString>;
843
+ excludeCategories: z.ZodOptional<z.ZodArray<z.ZodEnum<{
844
+ connectivity: "connectivity";
845
+ "tool-metadata": "tool-metadata";
846
+ "resource-metadata": "resource-metadata";
847
+ performance: "performance";
848
+ e2e: "e2e";
849
+ }>>>;
850
+ }, z.core.$strip>, z.ZodObject<{
851
+ id: z.ZodString;
852
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
853
+ NOT_FOUND: {};
854
+ BAD_REQUEST: {};
855
+ DNS_RESOLUTION_FAILED: {
856
+ status: number;
857
+ };
858
+ }>, Record<never, never>>;
859
+ };
860
+ get: {
861
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
862
+ auditId: z.ZodString;
863
+ }, z.core.$strip>, z.ZodObject<{
864
+ id: z.ZodString;
865
+ targetUrl: z.ZodString;
866
+ status: z.ZodEnum<{
867
+ failed: "failed";
868
+ pending: "pending";
869
+ partial: "partial";
870
+ completed: "completed";
871
+ }>;
872
+ durationMs: z.ZodNullable<z.ZodNumber>;
873
+ createdAt: z.ZodCoercedDate<unknown>;
874
+ report: z.ZodNullable<z.ZodObject<{
875
+ schemaVersion: z.ZodString;
876
+ auditId: z.ZodString;
877
+ targetUrl: z.ZodString;
878
+ startedAt: z.ZodString;
879
+ completedAt: z.ZodString;
880
+ durationMs: z.ZodNumber;
881
+ results: z.ZodArray<z.ZodObject<{
882
+ checkId: z.ZodString;
883
+ checkName: z.ZodString;
884
+ description: z.ZodString;
885
+ status: z.ZodEnum<{
886
+ pending: "pending";
887
+ pass: "pass";
888
+ fail: "fail";
889
+ skip: "skip";
890
+ }>;
891
+ message: z.ZodString;
892
+ skipReason: z.ZodOptional<z.ZodString>;
893
+ severity: z.ZodEnum<{
894
+ error: "error";
895
+ warning: "warning";
896
+ info: "info";
897
+ }>;
898
+ category: z.ZodEnum<{
899
+ connectivity: "connectivity";
900
+ "tool-metadata": "tool-metadata";
901
+ "resource-metadata": "resource-metadata";
902
+ performance: "performance";
903
+ e2e: "e2e";
904
+ }>;
905
+ scope: z.ZodEnum<{
906
+ server: "server";
907
+ view: "view";
908
+ }>;
909
+ platforms: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
910
+ chatgpt: "chatgpt";
911
+ claudeai: "claudeai";
912
+ }>>>>;
913
+ durationMs: z.ZodNumber;
914
+ details: z.ZodOptional<z.ZodArray<z.ZodObject<{
915
+ label: z.ZodString;
916
+ value: z.ZodOptional<z.ZodString>;
917
+ }, z.core.$strip>>>;
918
+ hint: z.ZodOptional<z.ZodObject<{
919
+ text: z.ZodString;
920
+ }, z.core.$strip>>;
921
+ }, z.core.$strip>>;
922
+ requiresAuth: z.ZodBoolean;
923
+ hasViewSupport: z.ZodBoolean;
924
+ viewPlatforms: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
925
+ chatgpt: "chatgpt";
926
+ claudeai: "claudeai";
927
+ }>>>>;
928
+ isReadyForPlatform: z.ZodRecord<z.ZodEnum<{
929
+ chatgpt: "chatgpt";
930
+ claudeai: "claudeai";
931
+ }>, z.ZodBoolean>;
932
+ widgetScreenshotKeys: z.ZodObject<{
933
+ chatgpt: z.ZodOptional<z.ZodString>;
934
+ claudeai: z.ZodOptional<z.ZodString>;
935
+ }, z.core.$strip>;
936
+ widgetScreenshots: z.ZodObject<{
937
+ chatgpt: z.ZodOptional<z.ZodObject<{
938
+ url: z.ZodString;
939
+ }, z.core.$strip>>;
940
+ claudeai: z.ZodOptional<z.ZodObject<{
941
+ url: z.ZodString;
942
+ }, z.core.$strip>>;
943
+ }, z.core.$strip>;
944
+ }, z.core.$strip>>;
945
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
946
+ NOT_FOUND: {};
947
+ }>, Record<never, never>>;
948
+ };
949
+ };
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: {};
261
1163
  }>, Record<never, never>>;
262
1164
  };
263
1165
  getLogs: {
@@ -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
  */
@@ -169,11 +169,21 @@ z$1.object({
169
169
  token: z$1.string(),
170
170
  token_type_hint: z$1.string().optional()
171
171
  }).strip();
172
- const platformSchema = z.enum(["chatgpt", "claudeai"]);
172
+ //#endregion
173
+ //#region ../domains/dist/index.mjs
174
+ const AI_PLATFORMS = ["chatgpt", "claudeai"];
175
+ const platformSchema = z.enum(AI_PLATFORMS);
173
176
  const PLATFORM_LABELS = {
174
177
  chatgpt: "ChatGPT",
175
178
  claudeai: "Claude.ai"
176
179
  };
180
+ const WAF_PLATFORMS = [
181
+ "akamai",
182
+ "cloudflare",
183
+ "fastly"
184
+ ];
185
+ const ALLOWED_PLATFORMS = [...AI_PLATFORMS, ...WAF_PLATFORMS];
186
+ const allowedPlatformSchema = z.enum(ALLOWED_PLATFORMS);
177
187
  const auditStatusSchema = z.enum([
178
188
  "pending",
179
189
  "partial",
@@ -273,34 +283,51 @@ const deploymentSummarySchema = z.object({
273
283
  createdAt: z.coerce.date(),
274
284
  updatedAt: z.coerce.date()
275
285
  });
276
- /**
277
- * Public environment
278
- *
279
- * No OAuth metadata exposed.
280
- */
286
+ /** Public environment: answers anonymously and exposes no OAuth metadata. */
281
287
  const publicEnvironmentSchema = z.object({
288
+ allowsAnonymous: z.literal(true),
289
+ oAuthMetadata: z.strictObject({})
290
+ });
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. */
292
+ const externalResourceMetadataEnvironmentSchema = z.object({
293
+ allowsAnonymous: z.boolean(),
294
+ oAuthMetadata: z.object({ externalResourceMetadataUrl: z.url() }),
295
+ scope: z.string().optional()
296
+ });
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. */
298
+ const externalAuthorizationServerEnvironmentSchema = z.object({
299
+ allowsAnonymous: z.boolean(),
300
+ oAuthMetadata: z.object({
301
+ externalAuthorizationServerUrl: z.url(),
302
+ resourceMetadata: OAuthProtectedResourceMetadataSchema.optional()
303
+ }),
304
+ scope: z.string().optional()
305
+ });
306
+ /** Standalone protected environment: the server itself exposes both the /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server endpoints. */
307
+ const standaloneEnvironmentSchema = z.object({
308
+ allowsAnonymous: z.boolean(),
309
+ oAuthMetadata: z.object({
310
+ authorizationServerMetadata: z.union([OAuthMetadataSchema, OpenIdProviderDiscoveryMetadataSchema]),
311
+ resourceMetadata: OAuthProtectedResourceMetadataSchema.optional()
312
+ }),
313
+ scope: z.string().optional()
314
+ });
315
+ /** Protected environment that enforces authentication but advertises no OAuth discovery metadata; clients must obtain credentials out-of-band. */
316
+ const protectedWithoutDiscoveryEnvironmentSchema = z.object({
317
+ allowsAnonymous: z.literal(false),
318
+ oAuthMetadata: z.strictObject({}),
319
+ scope: z.string().optional()
320
+ });
321
+ const legacyPublicEnvironmentSchema = z.object({
282
322
  isPublic: z.literal(true),
283
323
  oAuthMetadata: z.undefined().optional()
284
324
  });
285
- /**
286
- * Protected environment with an external resource metadata URL
287
- *
288
- * An external resource metadata URL is returned in the WWW-Authenticate header during the first 401 response.
289
- * Everything that follows is handled outside of the MCP server scope.
290
- */
291
- const externalResourceMetadataEnvironmentSchema = z.object({
325
+ const legacyExternalResourceMetadataEnvironmentSchema = z.object({
292
326
  isPublic: z.literal(false),
293
327
  oAuthMetadata: z.object({ externalResourceMetadataUrl: z.url() }),
294
328
  scope: z.string().optional()
295
329
  });
296
- /**
297
- * Protected environment with an external authorization server URL
298
- *
299
- * The server itself exposes the /.well-known/oauth-protected-resource endpoint.
300
- * An external authorization server URL is returned when requesting the endpoint.
301
- * Everything that follows is handled outside of the MCP server scope.
302
- */
303
- const externalAuthorizationServerEnvironmentSchema = z.object({
330
+ const legacyExternalAuthorizationServerEnvironmentSchema = z.object({
304
331
  isPublic: z.literal(false),
305
332
  oAuthMetadata: z.object({
306
333
  externalAuthorizationServerUrl: z.url(),
@@ -308,13 +335,7 @@ const externalAuthorizationServerEnvironmentSchema = z.object({
308
335
  }),
309
336
  scope: z.string().optional()
310
337
  });
311
- /**
312
- * Standalone protected environment
313
- *
314
- * The server itself exposes the /.well-known/oauth-protected-resource endpoint.
315
- * The server itself exposes the /.well-known/oauth-authorization-server endpoint.
316
- */
317
- const standaloneEnvironmentSchema = z.object({
338
+ const legacyStandaloneEnvironmentSchema = z.object({
318
339
  isPublic: z.literal(false),
319
340
  oAuthMetadata: z.object({
320
341
  authorizationServerMetadata: z.union([OAuthMetadataSchema, OpenIdProviderDiscoveryMetadataSchema]),
@@ -322,14 +343,7 @@ const standaloneEnvironmentSchema = z.object({
322
343
  }),
323
344
  scope: z.string().optional()
324
345
  });
325
- /**
326
- * Protected environment without OAuth discovery
327
- *
328
- * The server enforces authentication but exposes no OAuth discovery metadata.
329
- * Neither /.well-known/oauth-protected-resource nor /.well-known/oauth-authorization-server
330
- * are advertised. Clients must obtain credentials out-of-band.
331
- */
332
- const protectedWithoutDiscoveryEnvironmentSchema = z.object({
346
+ const legacyProtectedWithoutDiscoveryEnvironmentSchema = z.object({
333
347
  isPublic: z.literal(false),
334
348
  oAuthMetadata: z.strictObject({}),
335
349
  scope: z.string().optional()
@@ -339,9 +353,13 @@ z.union([
339
353
  externalResourceMetadataEnvironmentSchema,
340
354
  externalAuthorizationServerEnvironmentSchema,
341
355
  standaloneEnvironmentSchema,
342
- protectedWithoutDiscoveryEnvironmentSchema
356
+ protectedWithoutDiscoveryEnvironmentSchema,
357
+ legacyPublicEnvironmentSchema,
358
+ legacyExternalResourceMetadataEnvironmentSchema,
359
+ legacyExternalAuthorizationServerEnvironmentSchema,
360
+ legacyStandaloneEnvironmentSchema,
361
+ legacyProtectedWithoutDiscoveryEnvironmentSchema
343
362
  ]);
344
- const allowedPlatformSchema = platformSchema;
345
363
  const playgroundModelSchema = z.enum([
346
364
  "global.anthropic.claude-haiku-4-5-20251001-v1:0",
347
365
  "global.anthropic.claude-sonnet-4-5-20250929-v1:0",
@@ -381,7 +399,8 @@ z.object({
381
399
  collectRequestPayload: z.boolean(),
382
400
  collectResponsePayload: z.boolean(),
383
401
  collectErrorMessage: z.boolean(),
384
- collectUserData: z.boolean()
402
+ collectUserData: z.boolean(),
403
+ identityTraitKey: z.string().min(1).max(200).nullable()
385
404
  });
386
405
  z.object({
387
406
  id: z.string(),
@@ -565,15 +584,7 @@ z.object({
565
584
  serverFields: serverFieldsSchema$1,
566
585
  source: z.enum(["registry", "defaults"])
567
586
  });
568
- /**
569
- * Returns a variant of a `maxLength`-constrained string that clamps (truncates) instead of
570
- * rejecting on overflow — used for AI-generated copy where the model routinely overshoots.
571
- *
572
- * NOTE: this rebuilds the schema from scratch, carrying over only `maxLength` (as a clamp),
573
- * `minLength`, and the description. Any other validators on the source field (`.regex()`,
574
- * `.email()`, custom refinements) are intentionally dropped — this helper is meant for plain
575
- * free-text length caps only. A field with `null` `maxLength` is returned unchanged.
576
- */
587
+ /** 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. */
577
588
  const clampStringField = (field) => {
578
589
  const max = field.maxLength;
579
590
  if (max === null) return field;
@@ -919,11 +930,7 @@ const chatgptToolJustificationSchema = z.object({
919
930
  openWorldJustification: z.string().describe("One sentence on whether the tool reaches external systems beyond your own service."),
920
931
  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.\"")
921
932
  }).describe("Per-tool justification of each MCP annotation value (one specific sentence per hint).");
922
- /**
923
- * Base copy fields, defined once and reused by both the submission form and per-locale
924
- * translations so the constraints (tagline ≤ 30 chars) never drift. The translation generation
925
- * path wraps these in {@link clampStringField} since the LLM tends to overshoot the limit.
926
- */
933
+ /** Defined once and reused by both the submission form and per-locale translations so the tagline ≤ 30 chars constraint never drifts. */
927
934
  const chatgptTaglineSchema = z.string().max(30);
928
935
  const chatgptDescriptionSchema = z.string();
929
936
  const chatgptTranslationSchema = z.object({
@@ -932,10 +939,7 @@ const chatgptTranslationSchema = z.object({
932
939
  description: chatgptDescriptionSchema
933
940
  }).describe("Locale-scoped override for tagline + description. English (US) is the default.");
934
941
  chatgptTranslationSchema.extend({ tagline: clampStringField(chatgptTaglineSchema) });
935
- /**
936
- * Field order mirrors the ChatGPT (OpenAI) submission spreadsheet, grouped by section.
937
- * When adding/removing/reordering fields, keep this in sync with the sheet.
938
- */
942
+ /** Field order mirrors the ChatGPT (OpenAI) submission spreadsheet, grouped by section; keep it in sync with the sheet. */
939
943
  const chatgptSubmissionFormDataSchema = z.object({
940
944
  logoLight: z.string().describe("Logo icon for light mode. Square PNG, no borders or rounded corners (clients apply circular cropping)."),
941
945
  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."),
@@ -1032,11 +1036,7 @@ const claudePolicyAcknowledgementSchema = z.enum([
1032
1036
  "My connector does not collect conversation data beyond what is needed for its function.",
1033
1037
  "Public documentation for this connector will be live by the publish date."
1034
1038
  ]);
1035
- /**
1036
- * Field order mirrors the claude.ai directory submission wizard
1037
- * (`claude.ai/admin-settings/directory/submissions/new`), grouped by step.
1038
- * When adding/removing/reordering fields, keep this in sync with the wizard.
1039
- */
1039
+ /** 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. */
1040
1040
  const claudeSubmissionFormDataSchema = z.object({
1041
1041
  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
1042
1042
  from the custom connector you select — the connection is used to verify the URL and the tool list at submission time.
@@ -1128,12 +1128,7 @@ claudeSubmissionFormDataSchema.pick({
1128
1128
  connectionRequirements: claudeSubmissionFormDataSchema.shape.connectionRequirements.optional(),
1129
1129
  testInstructions: claudeSubmissionFormDataSchema.shape.testInstructions.optional()
1130
1130
  });
1131
- /**
1132
- * Narrative fields the LLM-backed generation step produces for Claude submissions.
1133
- * This schema accepts the slightly loose shape returned by AI generation, then normalizes it into
1134
- * the strict form shape. Keep transforms here rather than in callers so generation leniency is
1135
- * colocated with the Claude contract.
1136
- */
1131
+ /** Loose shape returned by AI generation for Claude narrative fields; transforms live here so generation leniency stays colocated with the Claude contract. */
1137
1132
  const claudeAiGeneratedFormDataRawSchema = z.object({
1138
1133
  oneLiner: claudeSubmissionFormDataSchema.shape.oneLiner,
1139
1134
  description: claudeSubmissionFormDataSchema.shape.description,
@@ -1225,7 +1220,10 @@ const RESERVED_KEYS = [
1225
1220
  "BUILD_ARG_START_COMMAND",
1226
1221
  "ALPIC_HOST",
1227
1222
  "ALPIC_CUSTOM_DOMAINS",
1228
- "ALPIC_INTENT_META_KEY"
1223
+ "ALPIC_INTENT_META_KEY",
1224
+ "ALPIC_FEEDBACK_META_KEY",
1225
+ "ALPIC_EVENTS_META_KEY",
1226
+ "ALPIC_IDENTIFY_META_KEY"
1229
1227
  ];
1230
1228
  const environmentVariableSchema = z.object({
1231
1229
  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"),
@@ -1541,7 +1539,8 @@ const deployEnvironmentContractV1 = oc.route({
1541
1539
  successDescription: "The environment has been deployed successfully"
1542
1540
  }).errors({
1543
1541
  NOT_FOUND: {},
1544
- BAD_REQUEST: {}
1542
+ BAD_REQUEST: {},
1543
+ CONFLICT: {}
1545
1544
  }).input(z.object({
1546
1545
  environmentId: z.string().describe("The ID of the environment to deploy"),
1547
1546
  token: z.string().describe("The token to identify the source archive").optional(),
@@ -1582,6 +1581,21 @@ const getDeploymentContractV1 = oc.route({
1582
1581
  tags: ["deployments"],
1583
1582
  successDescription: "The deployment details"
1584
1583
  }).errors({ NOT_FOUND: {} }).input(z.object({ deploymentId: z.string().describe("The ID of the deployment") })).output(deploymentSchema);
1584
+ const logEntrySchema = z.object({
1585
+ timestamp: z.coerce.date(),
1586
+ type: z.enum([
1587
+ "START",
1588
+ "END",
1589
+ "INFO",
1590
+ "ERROR",
1591
+ "WARNING",
1592
+ "DEBUG"
1593
+ ]),
1594
+ requestId: z.string(),
1595
+ content: z.string().optional(),
1596
+ method: z.string().optional(),
1597
+ durationInMs: z.number().optional()
1598
+ });
1585
1599
  const getLogsContractV1 = oc.route({
1586
1600
  path: "/v1/environments/{environmentId}/logs",
1587
1601
  method: "GET",
@@ -1606,21 +1620,7 @@ const getLogsContractV1 = oc.route({
1606
1620
  search: z.string().optional().describe("Filter pattern to search for in log content"),
1607
1621
  nextToken: z.string().optional().describe("Pagination token from a previous response")
1608
1622
  })).output(z.object({
1609
- logs: z.array(z.object({
1610
- timestamp: z.coerce.date(),
1611
- type: z.enum([
1612
- "START",
1613
- "END",
1614
- "INFO",
1615
- "ERROR",
1616
- "WARNING",
1617
- "DEBUG"
1618
- ]),
1619
- requestId: z.string(),
1620
- content: z.string().optional(),
1621
- method: z.string().optional(),
1622
- durationInMs: z.number().optional()
1623
- })),
1623
+ logs: z.array(logEntrySchema),
1624
1624
  nextToken: z.string().nullable()
1625
1625
  }));
1626
1626
  const getLatestLogsContractV1 = oc.route({
@@ -1643,21 +1643,7 @@ const getLatestLogsContractV1 = oc.route({
1643
1643
  "DEBUG"
1644
1644
  ])).optional().describe("Filter by log level"),
1645
1645
  search: z.string().optional().describe("Filter pattern to search for in log content")
1646
- })).output(z.object({ logs: z.array(z.object({
1647
- timestamp: z.coerce.date(),
1648
- type: z.enum([
1649
- "START",
1650
- "END",
1651
- "INFO",
1652
- "ERROR",
1653
- "WARNING",
1654
- "DEBUG"
1655
- ]),
1656
- requestId: z.string(),
1657
- content: z.string().optional(),
1658
- method: z.string().optional(),
1659
- durationInMs: z.number().optional()
1660
- })) }));
1646
+ })).output(z.object({ logs: z.array(logEntrySchema) }));
1661
1647
  const getDeploymentLogsContractV1 = oc.route({
1662
1648
  path: "/v1/deployments/{deploymentId}/logs",
1663
1649
  method: "GET",
@@ -1883,5 +1869,10 @@ const contract = {
1883
1869
  get: { v1: getBeaconContractV1 }
1884
1870
  }
1885
1871
  };
1872
+ const { uploadArtifact: _discard, ...deploymentsForDocs } = contract.deployments;
1873
+ const contractForDocs = {
1874
+ ...contract,
1875
+ deployments: deploymentsForDocs
1876
+ };
1886
1877
  //#endregion
1887
- export { AUTH_SCOPE_ANY, AUTH_SCOPE_USER, PLATFORM_LABELS, buildSettingsSchema, contract, createEnvironmentContractV1, deploymentStatusSchema, environmentVariableSchema, environmentVariablesSchema, playgroundExamplePromptSchema, playgroundHeaderSchema, runtimeSchema, serverFieldsSchema, transportSchema, updateEnvironmentVariableSchema };
1878
+ 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.ge797cb7",
3
+ "version": "0.0.0-dev.ge7fc794",
4
4
  "description": "Contract for the Alpic API",
5
5
  "type": "module",
6
6
  "main": "./dist/index.mjs",
@@ -33,19 +33,19 @@
33
33
  "author": "Alpic",
34
34
  "license": "ISC",
35
35
  "dependencies": {
36
- "@orpc/contract": "^1.14.6",
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.6",
42
- "@orpc/zod": "^1.14.6",
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.3",
46
+ "tsdown": "^0.22.14",
47
47
  "typescript": "^6.0.3",
48
- "vitest": "^4.1.9",
48
+ "vitest": "^4.1.10",
49
49
  "@alpic-ai/domains": "0.0.0"
50
50
  },
51
51
  "scripts": {