@contractspec/lib.contracts-integrations 2.3.0 → 2.5.0

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.
Files changed (37) hide show
  1. package/dist/index.js +381 -55
  2. package/dist/integrations/index.js +379 -53
  3. package/dist/integrations/providers/deepgram.d.ts +3 -0
  4. package/dist/integrations/providers/deepgram.js +99 -0
  5. package/dist/integrations/providers/elevenlabs.js +6 -3
  6. package/dist/integrations/providers/fal-image.d.ts +3 -0
  7. package/dist/integrations/providers/fal-image.js +92 -0
  8. package/dist/integrations/providers/fal.js +2 -2
  9. package/dist/integrations/providers/gradium.js +2 -2
  10. package/dist/integrations/providers/image.d.ts +85 -0
  11. package/dist/integrations/providers/image.js +16 -0
  12. package/dist/integrations/providers/index.d.ts +6 -0
  13. package/dist/integrations/providers/index.js +380 -54
  14. package/dist/integrations/providers/openai-image.d.ts +3 -0
  15. package/dist/integrations/providers/openai-image.js +96 -0
  16. package/dist/integrations/providers/openai-realtime.d.ts +3 -0
  17. package/dist/integrations/providers/openai-realtime.js +97 -0
  18. package/dist/integrations/providers/registry.js +192 -33
  19. package/dist/integrations/providers/video.d.ts +10 -0
  20. package/dist/integrations/providers/voice-video-sync.d.ts +29 -0
  21. package/dist/integrations/providers/voice-video-sync.js +1 -0
  22. package/dist/integrations/providers/voice.d.ts +149 -12
  23. package/dist/integrations/spec.d.ts +1 -1
  24. package/dist/node/index.js +381 -55
  25. package/dist/node/integrations/index.js +379 -53
  26. package/dist/node/integrations/providers/deepgram.js +98 -0
  27. package/dist/node/integrations/providers/elevenlabs.js +6 -3
  28. package/dist/node/integrations/providers/fal-image.js +91 -0
  29. package/dist/node/integrations/providers/fal.js +2 -2
  30. package/dist/node/integrations/providers/gradium.js +2 -2
  31. package/dist/node/integrations/providers/image.js +15 -0
  32. package/dist/node/integrations/providers/index.js +380 -54
  33. package/dist/node/integrations/providers/openai-image.js +95 -0
  34. package/dist/node/integrations/providers/openai-realtime.js +96 -0
  35. package/dist/node/integrations/providers/registry.js +192 -33
  36. package/dist/node/integrations/providers/voice-video-sync.js +0 -0
  37. package/package.json +77 -5
@@ -0,0 +1,3 @@
1
+ import { IntegrationSpecRegistry } from '../spec';
2
+ export declare const openaiImageIntegrationSpec: import("..").IntegrationSpec;
3
+ export declare function registerOpenaiImageIntegration(registry: IntegrationSpecRegistry): IntegrationSpecRegistry;
@@ -0,0 +1,96 @@
1
+ // @bun
2
+ // src/integrations/spec.ts
3
+ import { SpecContractRegistry } from "@contractspec/lib.contracts-spec/registry";
4
+ var integrationKey = (meta) => `${meta.key}.v${meta.version}`;
5
+
6
+ class IntegrationSpecRegistry extends SpecContractRegistry {
7
+ constructor(items) {
8
+ super("integration", items);
9
+ }
10
+ getByCategory(category) {
11
+ return this.list().filter((spec) => spec.meta.category === category);
12
+ }
13
+ }
14
+ function makeIntegrationSpecKey(meta) {
15
+ return integrationKey(meta);
16
+ }
17
+ var defineIntegration = (spec) => spec;
18
+
19
+ // src/integrations/providers/openai-image.ts
20
+ import { StabilityEnum } from "@contractspec/lib.contracts-spec/ownership";
21
+ var openaiImageIntegrationSpec = defineIntegration({
22
+ meta: {
23
+ key: "ai-image.openai",
24
+ version: "1.0.0",
25
+ category: "ai-image",
26
+ title: "OpenAI Image Generation",
27
+ description: "OpenAI integration for AI image generation using DALL-E and gpt-image models.",
28
+ domain: "ai",
29
+ owners: ["platform.ai"],
30
+ tags: ["image", "generation", "dall-e", "gpt-image"],
31
+ stability: StabilityEnum.Experimental
32
+ },
33
+ supportedModes: ["managed", "byok"],
34
+ capabilities: {
35
+ provides: [{ key: "ai.image.generation", version: "1.0.0" }]
36
+ },
37
+ configSchema: {
38
+ schema: {
39
+ type: "object",
40
+ properties: {
41
+ model: {
42
+ type: "string",
43
+ description: "OpenAI image model identifier (e.g. dall-e-3, gpt-image-1)."
44
+ },
45
+ defaultSize: {
46
+ type: "string",
47
+ enum: ["1024x1024", "1024x1792", "1792x1024"]
48
+ },
49
+ defaultQuality: {
50
+ type: "string",
51
+ enum: ["standard", "hd"]
52
+ }
53
+ }
54
+ },
55
+ example: {
56
+ model: "dall-e-3",
57
+ defaultSize: "1024x1024",
58
+ defaultQuality: "standard"
59
+ }
60
+ },
61
+ secretSchema: {
62
+ schema: {
63
+ type: "object",
64
+ required: ["apiKey"],
65
+ properties: {
66
+ apiKey: {
67
+ type: "string",
68
+ description: "OpenAI API key with image generation permissions."
69
+ }
70
+ }
71
+ },
72
+ example: {
73
+ apiKey: "sk-***"
74
+ }
75
+ },
76
+ healthCheck: {
77
+ method: "custom",
78
+ timeoutMs: 5000
79
+ },
80
+ docsUrl: "https://platform.openai.com/docs/guides/images",
81
+ constraints: {
82
+ rateLimit: {
83
+ rpm: 50
84
+ }
85
+ },
86
+ byokSetup: {
87
+ setupInstructions: "Create an OpenAI API key with image generation access enabled."
88
+ }
89
+ });
90
+ function registerOpenaiImageIntegration(registry) {
91
+ return registry.register(openaiImageIntegrationSpec);
92
+ }
93
+ export {
94
+ registerOpenaiImageIntegration,
95
+ openaiImageIntegrationSpec
96
+ };
@@ -0,0 +1,3 @@
1
+ import { IntegrationSpecRegistry } from '../spec';
2
+ export declare const openaiRealtimeIntegrationSpec: import("..").IntegrationSpec;
3
+ export declare function registerOpenaiRealtimeIntegration(registry: IntegrationSpecRegistry): IntegrationSpecRegistry;
@@ -0,0 +1,97 @@
1
+ // @bun
2
+ // src/integrations/spec.ts
3
+ import { SpecContractRegistry } from "@contractspec/lib.contracts-spec/registry";
4
+ var integrationKey = (meta) => `${meta.key}.v${meta.version}`;
5
+
6
+ class IntegrationSpecRegistry extends SpecContractRegistry {
7
+ constructor(items) {
8
+ super("integration", items);
9
+ }
10
+ getByCategory(category) {
11
+ return this.list().filter((spec) => spec.meta.category === category);
12
+ }
13
+ }
14
+ function makeIntegrationSpecKey(meta) {
15
+ return integrationKey(meta);
16
+ }
17
+ var defineIntegration = (spec) => spec;
18
+
19
+ // src/integrations/providers/openai-realtime.ts
20
+ import { StabilityEnum } from "@contractspec/lib.contracts-spec/ownership";
21
+ var openaiRealtimeIntegrationSpec = defineIntegration({
22
+ meta: {
23
+ key: "ai-voice-conv.openai",
24
+ version: "1.0.0",
25
+ category: "ai-voice-conversational",
26
+ title: "OpenAI Realtime Voice",
27
+ description: "OpenAI Realtime API integration for bidirectional conversational voice with GPT models.",
28
+ domain: "ai",
29
+ owners: ["platform.ai"],
30
+ tags: ["voice", "conversational", "realtime", "openai"],
31
+ stability: StabilityEnum.Experimental
32
+ },
33
+ supportedModes: ["byok"],
34
+ capabilities: {
35
+ provides: [{ key: "ai.voice.conversational", version: "1.0.0" }]
36
+ },
37
+ configSchema: {
38
+ schema: {
39
+ type: "object",
40
+ properties: {
41
+ model: {
42
+ type: "string",
43
+ description: "OpenAI model for realtime conversations (e.g. gpt-4o-realtime-preview)."
44
+ },
45
+ defaultVoice: {
46
+ type: "string",
47
+ description: "Default voice for agent responses (e.g. alloy, echo, shimmer)."
48
+ },
49
+ turnDetection: {
50
+ type: "string",
51
+ enum: ["server_vad", "push_to_talk"],
52
+ description: "Turn detection strategy."
53
+ },
54
+ maxSessionDurationSeconds: {
55
+ type: "number",
56
+ description: "Maximum session duration in seconds."
57
+ }
58
+ }
59
+ },
60
+ example: {
61
+ model: "gpt-4o-realtime-preview",
62
+ defaultVoice: "alloy",
63
+ turnDetection: "server_vad",
64
+ maxSessionDurationSeconds: 600
65
+ }
66
+ },
67
+ secretSchema: {
68
+ schema: {
69
+ type: "object",
70
+ required: ["apiKey"],
71
+ properties: {
72
+ apiKey: {
73
+ type: "string",
74
+ description: "OpenAI API key with realtime API access."
75
+ }
76
+ }
77
+ },
78
+ example: {
79
+ apiKey: "sk-***"
80
+ }
81
+ },
82
+ healthCheck: {
83
+ method: "custom",
84
+ timeoutMs: 5000
85
+ },
86
+ docsUrl: "https://platform.openai.com/docs/guides/realtime",
87
+ byokSetup: {
88
+ setupInstructions: "Create an OpenAI API key with Realtime API access enabled and store it in your secret provider."
89
+ }
90
+ });
91
+ function registerOpenaiRealtimeIntegration(registry) {
92
+ return registry.register(openaiRealtimeIntegrationSpec);
93
+ }
94
+ export {
95
+ registerOpenaiRealtimeIntegration,
96
+ openaiRealtimeIntegrationSpec
97
+ };
@@ -488,17 +488,20 @@ var elevenLabsIntegrationSpec = defineIntegration({
488
488
  meta: {
489
489
  key: "ai-voice.elevenlabs",
490
490
  version: "1.0.0",
491
- category: "ai-voice",
491
+ category: "ai-voice-tts",
492
492
  title: "ElevenLabs Text-to-Speech",
493
493
  description: "ElevenLabs integration for neural voice synthesis and voice catalog access.",
494
494
  domain: "ai",
495
495
  owners: ["platform.ai"],
496
- tags: ["voice", "tts"],
496
+ tags: ["voice", "tts", "stt"],
497
497
  stability: StabilityEnum7.Beta
498
498
  },
499
499
  supportedModes: ["managed", "byok"],
500
500
  capabilities: {
501
- provides: [{ key: "ai.voice.synthesis", version: "1.0.0" }]
501
+ provides: [
502
+ { key: "ai.voice.tts", version: "1.0.0" },
503
+ { key: "ai.voice.stt", version: "1.0.0" }
504
+ ]
502
505
  },
503
506
  configSchema: {
504
507
  schema: {
@@ -553,7 +556,7 @@ var gradiumIntegrationSpec = defineIntegration({
553
556
  meta: {
554
557
  key: "ai-voice.gradium",
555
558
  version: "1.0.0",
556
- category: "ai-voice",
559
+ category: "ai-voice-tts",
557
560
  title: "Gradium Text-to-Speech",
558
561
  description: "Gradium integration for low-latency voice synthesis and voice catalog access.",
559
562
  domain: "ai",
@@ -563,7 +566,7 @@ var gradiumIntegrationSpec = defineIntegration({
563
566
  },
564
567
  supportedModes: ["byok"],
565
568
  capabilities: {
566
- provides: [{ key: "ai.voice.synthesis", version: "1.0.0" }]
569
+ provides: [{ key: "ai.voice.tts", version: "1.0.0" }]
567
570
  },
568
571
  configSchema: {
569
572
  schema: {
@@ -642,7 +645,7 @@ var falIntegrationSpec = defineIntegration({
642
645
  meta: {
643
646
  key: "ai-voice.fal",
644
647
  version: "1.0.0",
645
- category: "ai-voice",
648
+ category: "ai-voice-tts",
646
649
  title: "Fal Chatterbox Text-to-Speech",
647
650
  description: "Fal integration for voice synthesis using Chatterbox text-to-speech models.",
648
651
  domain: "ai",
@@ -652,7 +655,7 @@ var falIntegrationSpec = defineIntegration({
652
655
  },
653
656
  supportedModes: ["byok"],
654
657
  capabilities: {
655
- provides: [{ key: "ai.voice.synthesis", version: "1.0.0" }]
658
+ provides: [{ key: "ai.voice.tts", version: "1.0.0" }]
656
659
  },
657
660
  configSchema: {
658
661
  schema: {
@@ -727,8 +730,162 @@ function registerFalIntegration(registry) {
727
730
  return registry.register(falIntegrationSpec);
728
731
  }
729
732
 
730
- // src/integrations/providers/gmail.ts
733
+ // src/integrations/providers/deepgram.ts
731
734
  import { StabilityEnum as StabilityEnum10 } from "@contractspec/lib.contracts-spec/ownership";
735
+ var deepgramIntegrationSpec = defineIntegration({
736
+ meta: {
737
+ key: "ai-voice-stt.deepgram",
738
+ version: "1.0.0",
739
+ category: "ai-voice-stt",
740
+ title: "Deepgram Speech-to-Text",
741
+ description: "Deepgram integration for real-time and batch speech-to-text transcription with speaker diarization.",
742
+ domain: "ai",
743
+ owners: ["platform.ai"],
744
+ tags: ["voice", "stt", "transcription", "diarization"],
745
+ stability: StabilityEnum10.Experimental
746
+ },
747
+ supportedModes: ["byok"],
748
+ capabilities: {
749
+ provides: [
750
+ { key: "ai.voice.stt", version: "1.0.0" },
751
+ { key: "ai.voice.conversational", version: "1.0.0" }
752
+ ]
753
+ },
754
+ configSchema: {
755
+ schema: {
756
+ type: "object",
757
+ properties: {
758
+ model: {
759
+ type: "string",
760
+ description: "Deepgram model to use (e.g. nova-3, nova-2, enhanced)."
761
+ },
762
+ language: {
763
+ type: "string",
764
+ description: "Default language code for transcription (e.g. en-US)."
765
+ },
766
+ enableDiarization: {
767
+ type: "boolean",
768
+ description: "Enable speaker diarization by default."
769
+ },
770
+ enableSmartFormat: {
771
+ type: "boolean",
772
+ description: "Enable smart formatting (punctuation, capitalization)."
773
+ }
774
+ }
775
+ },
776
+ example: {
777
+ model: "nova-3",
778
+ language: "en-US",
779
+ enableDiarization: true,
780
+ enableSmartFormat: true
781
+ }
782
+ },
783
+ secretSchema: {
784
+ schema: {
785
+ type: "object",
786
+ required: ["apiKey"],
787
+ properties: {
788
+ apiKey: {
789
+ type: "string",
790
+ description: "Deepgram API key with transcription permissions."
791
+ }
792
+ }
793
+ },
794
+ example: {
795
+ apiKey: "dg_***"
796
+ }
797
+ },
798
+ healthCheck: {
799
+ method: "custom",
800
+ timeoutMs: 5000
801
+ },
802
+ docsUrl: "https://developers.deepgram.com/docs",
803
+ byokSetup: {
804
+ setupInstructions: "Create a Deepgram API key with speech-to-text permissions and store it in your secret provider."
805
+ }
806
+ });
807
+ function registerDeepgramIntegration(registry) {
808
+ return registry.register(deepgramIntegrationSpec);
809
+ }
810
+
811
+ // src/integrations/providers/openai-realtime.ts
812
+ import { StabilityEnum as StabilityEnum11 } from "@contractspec/lib.contracts-spec/ownership";
813
+ var openaiRealtimeIntegrationSpec = defineIntegration({
814
+ meta: {
815
+ key: "ai-voice-conv.openai",
816
+ version: "1.0.0",
817
+ category: "ai-voice-conversational",
818
+ title: "OpenAI Realtime Voice",
819
+ description: "OpenAI Realtime API integration for bidirectional conversational voice with GPT models.",
820
+ domain: "ai",
821
+ owners: ["platform.ai"],
822
+ tags: ["voice", "conversational", "realtime", "openai"],
823
+ stability: StabilityEnum11.Experimental
824
+ },
825
+ supportedModes: ["byok"],
826
+ capabilities: {
827
+ provides: [{ key: "ai.voice.conversational", version: "1.0.0" }]
828
+ },
829
+ configSchema: {
830
+ schema: {
831
+ type: "object",
832
+ properties: {
833
+ model: {
834
+ type: "string",
835
+ description: "OpenAI model for realtime conversations (e.g. gpt-4o-realtime-preview)."
836
+ },
837
+ defaultVoice: {
838
+ type: "string",
839
+ description: "Default voice for agent responses (e.g. alloy, echo, shimmer)."
840
+ },
841
+ turnDetection: {
842
+ type: "string",
843
+ enum: ["server_vad", "push_to_talk"],
844
+ description: "Turn detection strategy."
845
+ },
846
+ maxSessionDurationSeconds: {
847
+ type: "number",
848
+ description: "Maximum session duration in seconds."
849
+ }
850
+ }
851
+ },
852
+ example: {
853
+ model: "gpt-4o-realtime-preview",
854
+ defaultVoice: "alloy",
855
+ turnDetection: "server_vad",
856
+ maxSessionDurationSeconds: 600
857
+ }
858
+ },
859
+ secretSchema: {
860
+ schema: {
861
+ type: "object",
862
+ required: ["apiKey"],
863
+ properties: {
864
+ apiKey: {
865
+ type: "string",
866
+ description: "OpenAI API key with realtime API access."
867
+ }
868
+ }
869
+ },
870
+ example: {
871
+ apiKey: "sk-***"
872
+ }
873
+ },
874
+ healthCheck: {
875
+ method: "custom",
876
+ timeoutMs: 5000
877
+ },
878
+ docsUrl: "https://platform.openai.com/docs/guides/realtime",
879
+ byokSetup: {
880
+ setupInstructions: "Create an OpenAI API key with Realtime API access enabled and store it in your secret provider."
881
+ }
882
+ });
883
+ function registerOpenaiRealtimeIntegration(registry) {
884
+ return registry.register(openaiRealtimeIntegrationSpec);
885
+ }
886
+
887
+ // src/integrations/providers/gmail.ts
888
+ import { StabilityEnum as StabilityEnum12 } from "@contractspec/lib.contracts-spec/ownership";
732
889
  var gmailIntegrationSpec = defineIntegration({
733
890
  meta: {
734
891
  key: "email.gmail",
@@ -739,7 +896,7 @@ var gmailIntegrationSpec = defineIntegration({
739
896
  domain: "communications",
740
897
  owners: ["platform.messaging"],
741
898
  tags: ["email", "gmail"],
742
- stability: StabilityEnum10.Beta
899
+ stability: StabilityEnum12.Beta
743
900
  },
744
901
  supportedModes: ["managed", "byok"],
745
902
  capabilities: {
@@ -816,7 +973,7 @@ function registerGmailIntegration(registry) {
816
973
  }
817
974
 
818
975
  // src/integrations/providers/google-calendar.ts
819
- import { StabilityEnum as StabilityEnum11 } from "@contractspec/lib.contracts-spec/ownership";
976
+ import { StabilityEnum as StabilityEnum13 } from "@contractspec/lib.contracts-spec/ownership";
820
977
  var googleCalendarIntegrationSpec = defineIntegration({
821
978
  meta: {
822
979
  key: "calendar.google",
@@ -827,7 +984,7 @@ var googleCalendarIntegrationSpec = defineIntegration({
827
984
  domain: "productivity",
828
985
  owners: ["platform.messaging"],
829
986
  tags: ["calendar", "google"],
830
- stability: StabilityEnum11.Beta
987
+ stability: StabilityEnum13.Beta
831
988
  },
832
989
  supportedModes: ["managed", "byok"],
833
990
  capabilities: {
@@ -887,7 +1044,7 @@ function registerGoogleCalendarIntegration(registry) {
887
1044
  }
888
1045
 
889
1046
  // src/integrations/providers/twilio-sms.ts
890
- import { StabilityEnum as StabilityEnum12 } from "@contractspec/lib.contracts-spec/ownership";
1047
+ import { StabilityEnum as StabilityEnum14 } from "@contractspec/lib.contracts-spec/ownership";
891
1048
  var twilioSmsIntegrationSpec = defineIntegration({
892
1049
  meta: {
893
1050
  key: "sms.twilio",
@@ -898,7 +1055,7 @@ var twilioSmsIntegrationSpec = defineIntegration({
898
1055
  domain: "communications",
899
1056
  owners: ["platform.messaging"],
900
1057
  tags: ["sms", "messaging"],
901
- stability: StabilityEnum12.Stable
1058
+ stability: StabilityEnum14.Stable
902
1059
  },
903
1060
  supportedModes: ["managed", "byok"],
904
1061
  capabilities: {
@@ -957,7 +1114,7 @@ function registerTwilioSmsIntegration(registry) {
957
1114
  }
958
1115
 
959
1116
  // src/integrations/providers/gcs-storage.ts
960
- import { StabilityEnum as StabilityEnum13 } from "@contractspec/lib.contracts-spec/ownership";
1117
+ import { StabilityEnum as StabilityEnum15 } from "@contractspec/lib.contracts-spec/ownership";
961
1118
  var gcsStorageIntegrationSpec = defineIntegration({
962
1119
  meta: {
963
1120
  key: "storage.gcs",
@@ -968,7 +1125,7 @@ var gcsStorageIntegrationSpec = defineIntegration({
968
1125
  domain: "infrastructure",
969
1126
  owners: ["platform.infrastructure"],
970
1127
  tags: ["storage", "gcs", "google-cloud"],
971
- stability: StabilityEnum13.Beta
1128
+ stability: StabilityEnum15.Beta
972
1129
  },
973
1130
  supportedModes: ["managed", "byok"],
974
1131
  capabilities: {
@@ -1033,7 +1190,7 @@ function registerGcsStorageIntegration(registry) {
1033
1190
  }
1034
1191
 
1035
1192
  // src/integrations/providers/powens.ts
1036
- import { StabilityEnum as StabilityEnum14 } from "@contractspec/lib.contracts-spec/ownership";
1193
+ import { StabilityEnum as StabilityEnum16 } from "@contractspec/lib.contracts-spec/ownership";
1037
1194
  var powensIntegrationSpec = defineIntegration({
1038
1195
  meta: {
1039
1196
  key: "openbanking.powens",
@@ -1044,7 +1201,7 @@ var powensIntegrationSpec = defineIntegration({
1044
1201
  domain: "finance",
1045
1202
  owners: ["platform.finance"],
1046
1203
  tags: ["open-banking", "powens", "finance"],
1047
- stability: StabilityEnum14.Experimental
1204
+ stability: StabilityEnum16.Experimental
1048
1205
  },
1049
1206
  supportedModes: ["byok"],
1050
1207
  capabilities: {
@@ -1136,7 +1293,7 @@ function registerPowensIntegration(registry) {
1136
1293
  }
1137
1294
 
1138
1295
  // src/integrations/providers/posthog.ts
1139
- import { StabilityEnum as StabilityEnum15 } from "@contractspec/lib.contracts-spec/ownership";
1296
+ import { StabilityEnum as StabilityEnum17 } from "@contractspec/lib.contracts-spec/ownership";
1140
1297
  var posthogIntegrationSpec = defineIntegration({
1141
1298
  meta: {
1142
1299
  key: "analytics.posthog",
@@ -1147,7 +1304,7 @@ var posthogIntegrationSpec = defineIntegration({
1147
1304
  domain: "analytics",
1148
1305
  owners: ["@platform.integrations"],
1149
1306
  tags: ["analytics", "posthog", "llm", "ai"],
1150
- stability: StabilityEnum15.Beta
1307
+ stability: StabilityEnum17.Beta
1151
1308
  },
1152
1309
  supportedModes: ["managed", "byok"],
1153
1310
  capabilities: {
@@ -1221,7 +1378,7 @@ function registerPosthogIntegration(registry) {
1221
1378
  }
1222
1379
 
1223
1380
  // src/integrations/providers/linear.ts
1224
- import { StabilityEnum as StabilityEnum16 } from "@contractspec/lib.contracts-spec/ownership";
1381
+ import { StabilityEnum as StabilityEnum18 } from "@contractspec/lib.contracts-spec/ownership";
1225
1382
  var linearIntegrationSpec = defineIntegration({
1226
1383
  meta: {
1227
1384
  key: "project-management.linear",
@@ -1232,7 +1389,7 @@ var linearIntegrationSpec = defineIntegration({
1232
1389
  domain: "productivity",
1233
1390
  owners: ["@platform.integrations"],
1234
1391
  tags: ["project-management", "linear"],
1235
- stability: StabilityEnum16.Beta
1392
+ stability: StabilityEnum18.Beta
1236
1393
  },
1237
1394
  supportedModes: ["managed", "byok"],
1238
1395
  capabilities: {
@@ -1307,7 +1464,7 @@ function registerLinearIntegration(registry) {
1307
1464
  }
1308
1465
 
1309
1466
  // src/integrations/providers/jira.ts
1310
- import { StabilityEnum as StabilityEnum17 } from "@contractspec/lib.contracts-spec/ownership";
1467
+ import { StabilityEnum as StabilityEnum19 } from "@contractspec/lib.contracts-spec/ownership";
1311
1468
  var jiraIntegrationSpec = defineIntegration({
1312
1469
  meta: {
1313
1470
  key: "project-management.jira",
@@ -1318,7 +1475,7 @@ var jiraIntegrationSpec = defineIntegration({
1318
1475
  domain: "productivity",
1319
1476
  owners: ["@platform.integrations"],
1320
1477
  tags: ["project-management", "jira"],
1321
- stability: StabilityEnum17.Beta
1478
+ stability: StabilityEnum19.Beta
1322
1479
  },
1323
1480
  supportedModes: ["managed", "byok"],
1324
1481
  capabilities: {
@@ -1394,7 +1551,7 @@ function registerJiraIntegration(registry) {
1394
1551
  }
1395
1552
 
1396
1553
  // src/integrations/providers/notion.ts
1397
- import { StabilityEnum as StabilityEnum18 } from "@contractspec/lib.contracts-spec/ownership";
1554
+ import { StabilityEnum as StabilityEnum20 } from "@contractspec/lib.contracts-spec/ownership";
1398
1555
  var notionIntegrationSpec = defineIntegration({
1399
1556
  meta: {
1400
1557
  key: "project-management.notion",
@@ -1405,7 +1562,7 @@ var notionIntegrationSpec = defineIntegration({
1405
1562
  domain: "productivity",
1406
1563
  owners: ["@platform.integrations"],
1407
1564
  tags: ["project-management", "notion"],
1408
- stability: StabilityEnum18.Beta
1565
+ stability: StabilityEnum20.Beta
1409
1566
  },
1410
1567
  supportedModes: ["managed", "byok"],
1411
1568
  capabilities: {
@@ -1486,7 +1643,7 @@ function registerNotionIntegration(registry) {
1486
1643
  }
1487
1644
 
1488
1645
  // src/integrations/providers/granola.ts
1489
- import { StabilityEnum as StabilityEnum19 } from "@contractspec/lib.contracts-spec/ownership";
1646
+ import { StabilityEnum as StabilityEnum21 } from "@contractspec/lib.contracts-spec/ownership";
1490
1647
  var granolaIntegrationSpec = defineIntegration({
1491
1648
  meta: {
1492
1649
  key: "meeting-recorder.granola",
@@ -1497,7 +1654,7 @@ var granolaIntegrationSpec = defineIntegration({
1497
1654
  domain: "productivity",
1498
1655
  owners: ["platform.integrations"],
1499
1656
  tags: ["meeting-recorder", "granola", "transcripts"],
1500
- stability: StabilityEnum19.Experimental
1657
+ stability: StabilityEnum21.Experimental
1501
1658
  },
1502
1659
  supportedModes: ["byok"],
1503
1660
  capabilities: {
@@ -1572,7 +1729,7 @@ function registerGranolaIntegration(registry) {
1572
1729
  }
1573
1730
 
1574
1731
  // src/integrations/providers/tldv.ts
1575
- import { StabilityEnum as StabilityEnum20 } from "@contractspec/lib.contracts-spec/ownership";
1732
+ import { StabilityEnum as StabilityEnum22 } from "@contractspec/lib.contracts-spec/ownership";
1576
1733
  var tldvIntegrationSpec = defineIntegration({
1577
1734
  meta: {
1578
1735
  key: "meeting-recorder.tldv",
@@ -1583,7 +1740,7 @@ var tldvIntegrationSpec = defineIntegration({
1583
1740
  domain: "productivity",
1584
1741
  owners: ["platform.integrations"],
1585
1742
  tags: ["meeting-recorder", "tldv", "transcripts"],
1586
- stability: StabilityEnum20.Experimental
1743
+ stability: StabilityEnum22.Experimental
1587
1744
  },
1588
1745
  supportedModes: ["byok"],
1589
1746
  capabilities: {
@@ -1657,7 +1814,7 @@ function registerTldvIntegration(registry) {
1657
1814
  }
1658
1815
 
1659
1816
  // src/integrations/providers/fireflies.ts
1660
- import { StabilityEnum as StabilityEnum21 } from "@contractspec/lib.contracts-spec/ownership";
1817
+ import { StabilityEnum as StabilityEnum23 } from "@contractspec/lib.contracts-spec/ownership";
1661
1818
  var firefliesIntegrationSpec = defineIntegration({
1662
1819
  meta: {
1663
1820
  key: "meeting-recorder.fireflies",
@@ -1668,7 +1825,7 @@ var firefliesIntegrationSpec = defineIntegration({
1668
1825
  domain: "productivity",
1669
1826
  owners: ["platform.integrations"],
1670
1827
  tags: ["meeting-recorder", "fireflies", "transcripts"],
1671
- stability: StabilityEnum21.Experimental
1828
+ stability: StabilityEnum23.Experimental
1672
1829
  },
1673
1830
  supportedModes: ["byok"],
1674
1831
  capabilities: {
@@ -1742,7 +1899,7 @@ function registerFirefliesIntegration(registry) {
1742
1899
  }
1743
1900
 
1744
1901
  // src/integrations/providers/fathom.ts
1745
- import { StabilityEnum as StabilityEnum22 } from "@contractspec/lib.contracts-spec/ownership";
1902
+ import { StabilityEnum as StabilityEnum24 } from "@contractspec/lib.contracts-spec/ownership";
1746
1903
  var fathomIntegrationSpec = defineIntegration({
1747
1904
  meta: {
1748
1905
  key: "meeting-recorder.fathom",
@@ -1753,7 +1910,7 @@ var fathomIntegrationSpec = defineIntegration({
1753
1910
  domain: "productivity",
1754
1911
  owners: ["platform.integrations"],
1755
1912
  tags: ["meeting-recorder", "fathom", "transcripts"],
1756
- stability: StabilityEnum22.Experimental
1913
+ stability: StabilityEnum24.Experimental
1757
1914
  },
1758
1915
  supportedModes: ["byok"],
1759
1916
  capabilities: {
@@ -1871,6 +2028,8 @@ function createDefaultIntegrationSpecRegistry() {
1871
2028
  registerTldvIntegration(registry);
1872
2029
  registerFirefliesIntegration(registry);
1873
2030
  registerFathomIntegration(registry);
2031
+ registerDeepgramIntegration(registry);
2032
+ registerOpenaiRealtimeIntegration(registry);
1874
2033
  return registry;
1875
2034
  }
1876
2035
  export {
@@ -1,3 +1,4 @@
1
+ import type { VoiceTimingMap } from './voice-video-sync';
1
2
  export interface VideoFormatLandscape {
2
3
  type: 'landscape';
3
4
  width: 1920;
@@ -100,6 +101,15 @@ export interface VideoProject {
100
101
  };
101
102
  /** Metadata for the rendered file */
102
103
  metadata?: VideoProjectMetadata;
104
+ /** VTT subtitles generated from voice narration */
105
+ subtitles?: string;
106
+ /** Voice timing map for per-scene audio sync */
107
+ voiceTimingMap?: VoiceTimingMap;
108
+ /** Generated thumbnail image */
109
+ thumbnail?: {
110
+ prompt: string;
111
+ imageUrl?: string;
112
+ };
103
113
  }
104
114
  export interface VideoProjectMetadata {
105
115
  title?: string;