@contractspec/lib.contracts 1.56.1 → 1.57.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 (212) hide show
  1. package/dist/_virtual/{rolldown_runtime.js → _rolldown/runtime.js} +3 -3
  2. package/dist/app-config/app-config.contracts.d.ts +50 -50
  3. package/dist/app-config/events.d.ts +27 -27
  4. package/dist/app-config/lifecycle-contracts.d.ts +54 -54
  5. package/dist/app-config/runtime.js +3 -3
  6. package/dist/app-config/validation.js +3 -3
  7. package/dist/capabilities/capabilities.js +20 -20
  8. package/dist/capabilities/context.d.ts +0 -1
  9. package/dist/capabilities/context.js +1 -1
  10. package/dist/capabilities/guards.d.ts +0 -1
  11. package/dist/capabilities/index.d.ts +2 -1
  12. package/dist/capabilities/index.js +2 -1
  13. package/dist/capabilities/meeting-recorder.d.ts +10 -0
  14. package/dist/capabilities/meeting-recorder.js +82 -0
  15. package/dist/capabilities/validation.d.ts +0 -1
  16. package/dist/client/react/drivers/rn-reusables.d.ts +0 -1
  17. package/dist/client/react/drivers/shadcn.d.ts +0 -1
  18. package/dist/client/react/form-render.js +3 -3
  19. package/dist/contract-registry/schemas.d.ts +2 -2
  20. package/dist/data-views/registry.d.ts +0 -1
  21. package/dist/data-views/spec.d.ts +0 -1
  22. package/dist/docs/commands/docsPublish.command.d.ts +13 -13
  23. package/dist/docs/contracts.d.ts +103 -103
  24. package/dist/docs/events/docsGenerated.event.d.ts +13 -13
  25. package/dist/docs/events/docsPublished.event.d.ts +15 -15
  26. package/dist/docs/forms/docsSearch.form.d.ts +4 -4
  27. package/dist/docs/queries/contractReference.query.d.ts +47 -47
  28. package/dist/docs/queries/docsIndex.query.d.ts +57 -57
  29. package/dist/docs/tech/llm/llm-integration.docblock.d.ts +0 -1
  30. package/dist/docs/tech/mcp-endpoints.docblock.js +5 -0
  31. package/dist/events.d.ts +0 -1
  32. package/dist/examples/index.d.ts +0 -1
  33. package/dist/examples/registry.d.ts +0 -1
  34. package/dist/examples/schema.d.ts +17 -17
  35. package/dist/experiments/spec.d.ts +2 -4
  36. package/dist/features/index.d.ts +0 -1
  37. package/dist/features/types.d.ts +2 -5
  38. package/dist/forms/forms.d.ts +1 -2
  39. package/dist/forms/forms.js +1 -2
  40. package/dist/index.d.ts +42 -1
  41. package/dist/index.js +36 -1
  42. package/dist/install.d.ts +2 -5
  43. package/dist/integrations/docs/integrations.docblock.js +19 -1
  44. package/dist/integrations/index.d.ts +26 -1
  45. package/dist/integrations/index.js +20 -1
  46. package/dist/integrations/meeting-recorder/contracts/index.d.ts +10 -0
  47. package/dist/integrations/meeting-recorder/contracts/index.js +12 -0
  48. package/dist/integrations/meeting-recorder/contracts/meetings.d.ts +458 -0
  49. package/dist/integrations/meeting-recorder/contracts/meetings.js +149 -0
  50. package/dist/integrations/meeting-recorder/contracts/transcripts.d.ts +173 -0
  51. package/dist/integrations/meeting-recorder/contracts/transcripts.js +156 -0
  52. package/dist/integrations/meeting-recorder/contracts/webhooks.d.ts +92 -0
  53. package/dist/integrations/meeting-recorder/contracts/webhooks.js +82 -0
  54. package/dist/integrations/meeting-recorder/meeting-recorder.capability.d.ts +7 -0
  55. package/dist/integrations/meeting-recorder/meeting-recorder.capability.js +21 -0
  56. package/dist/integrations/meeting-recorder/meeting-recorder.feature.d.ts +11 -0
  57. package/dist/integrations/meeting-recorder/meeting-recorder.feature.js +67 -0
  58. package/dist/integrations/meeting-recorder/models.d.ts +407 -0
  59. package/dist/integrations/meeting-recorder/models.js +295 -0
  60. package/dist/integrations/meeting-recorder/telemetry.d.ts +16 -0
  61. package/dist/integrations/meeting-recorder/telemetry.js +42 -0
  62. package/dist/integrations/openbanking/contracts/accounts.d.ts +66 -66
  63. package/dist/integrations/openbanking/contracts/balances.d.ts +34 -34
  64. package/dist/integrations/openbanking/contracts/transactions.d.ts +48 -48
  65. package/dist/integrations/openbanking/models.d.ts +55 -55
  66. package/dist/integrations/operations.d.ts +102 -102
  67. package/dist/integrations/providers/analytics-reader.d.ts +107 -0
  68. package/dist/integrations/providers/analytics-reader.js +0 -0
  69. package/dist/integrations/providers/analytics-writer.d.ts +10 -0
  70. package/dist/integrations/providers/analytics-writer.js +0 -0
  71. package/dist/integrations/providers/analytics.d.ts +49 -0
  72. package/dist/integrations/providers/analytics.js +0 -0
  73. package/dist/integrations/providers/database.d.ts +15 -0
  74. package/dist/integrations/providers/database.js +0 -0
  75. package/dist/integrations/providers/fal.d.ts +8 -0
  76. package/dist/integrations/providers/fal.js +94 -0
  77. package/dist/integrations/providers/fathom.d.ts +8 -0
  78. package/dist/integrations/providers/fathom.js +114 -0
  79. package/dist/integrations/providers/fireflies.d.ts +8 -0
  80. package/dist/integrations/providers/fireflies.js +98 -0
  81. package/dist/integrations/providers/gradium.d.ts +8 -0
  82. package/dist/integrations/providers/gradium.js +92 -0
  83. package/dist/integrations/providers/granola.d.ts +8 -0
  84. package/dist/integrations/providers/granola.js +71 -0
  85. package/dist/integrations/providers/index.d.ts +19 -1
  86. package/dist/integrations/providers/index.js +13 -1
  87. package/dist/integrations/providers/jira.d.ts +8 -0
  88. package/dist/integrations/providers/jira.js +90 -0
  89. package/dist/integrations/providers/linear.d.ts +8 -0
  90. package/dist/integrations/providers/linear.js +85 -0
  91. package/dist/integrations/providers/meeting-recorder.d.ts +132 -0
  92. package/dist/integrations/providers/meeting-recorder.js +0 -0
  93. package/dist/integrations/providers/notion.d.ts +8 -0
  94. package/dist/integrations/providers/notion.js +91 -0
  95. package/dist/integrations/providers/posthog.d.ts +8 -0
  96. package/dist/integrations/providers/posthog.js +107 -0
  97. package/dist/integrations/providers/project-management.d.ts +35 -0
  98. package/dist/integrations/providers/project-management.js +0 -0
  99. package/dist/integrations/providers/registry.d.ts +0 -1
  100. package/dist/integrations/providers/registry.js +24 -0
  101. package/dist/integrations/providers/supabase-postgres.d.ts +8 -0
  102. package/dist/integrations/providers/supabase-postgres.js +73 -0
  103. package/dist/integrations/providers/supabase-vector.d.ts +8 -0
  104. package/dist/integrations/providers/supabase-vector.js +93 -0
  105. package/dist/integrations/providers/tldv.d.ts +8 -0
  106. package/dist/integrations/providers/tldv.js +98 -0
  107. package/dist/integrations/runtime.js +0 -1
  108. package/dist/integrations/spec.d.ts +1 -1
  109. package/dist/jobs/queue.d.ts +0 -1
  110. package/dist/knowledge/binding.d.ts +1 -3
  111. package/dist/knowledge/operations.d.ts +66 -66
  112. package/dist/llm/exporters.d.ts +0 -1
  113. package/dist/llm/exporters.js +0 -1
  114. package/dist/llm/prompts.d.ts +0 -1
  115. package/dist/llm/types.d.ts +0 -1
  116. package/dist/onboarding-base.d.ts +29 -29
  117. package/dist/openapi.d.ts +0 -1
  118. package/dist/operations/operation.d.ts +19 -43
  119. package/dist/operations/registry.d.ts +0 -1
  120. package/dist/operations/registry.js +2 -2
  121. package/dist/operations/report/getContractVerificationStatus.d.ts +10 -10
  122. package/dist/ownership.d.ts +41 -88
  123. package/dist/policy/guards.d.ts +0 -1
  124. package/dist/policy/guards.js +3 -3
  125. package/dist/policy/index.d.ts +0 -1
  126. package/dist/policy/validation.d.ts +0 -1
  127. package/dist/product-intent/contract-patch-intent.d.ts +103 -0
  128. package/dist/product-intent/contract-patch-intent.js +33 -0
  129. package/dist/product-intent/contract-spec-patch.d.ts +89 -0
  130. package/dist/product-intent/contract-spec-patch.js +27 -0
  131. package/dist/product-intent/evidence.d.ts +17 -0
  132. package/dist/product-intent/evidence.js +13 -0
  133. package/dist/product-intent/findings.d.ts +60 -0
  134. package/dist/product-intent/findings.js +17 -0
  135. package/dist/product-intent/impact-report.d.ts +60 -0
  136. package/dist/product-intent/impact-report.js +27 -0
  137. package/dist/product-intent/index.d.ts +16 -0
  138. package/dist/product-intent/index.js +17 -0
  139. package/dist/product-intent/insights.d.ts +65 -0
  140. package/dist/product-intent/insights.js +23 -0
  141. package/dist/product-intent/opportunity-brief.d.ts +195 -0
  142. package/dist/product-intent/opportunity-brief.js +42 -0
  143. package/dist/product-intent/problems.d.ts +62 -0
  144. package/dist/product-intent/problems.js +22 -0
  145. package/dist/product-intent/registry.d.ts +32 -0
  146. package/dist/product-intent/registry.js +49 -0
  147. package/dist/product-intent/runtime.d.ts +103 -0
  148. package/dist/product-intent/runtime.js +101 -0
  149. package/dist/product-intent/spec.d.ts +676 -0
  150. package/dist/product-intent/spec.js +53 -0
  151. package/dist/product-intent/task-pack.d.ts +101 -0
  152. package/dist/product-intent/task-pack.js +34 -0
  153. package/dist/product-intent/tickets.d.ts +70 -0
  154. package/dist/product-intent/tickets.js +24 -0
  155. package/dist/product-intent/types.d.ts +12 -0
  156. package/dist/product-intent/types.js +13 -0
  157. package/dist/product-intent/ui-wireframe.d.ts +103 -0
  158. package/dist/product-intent/ui-wireframe.js +33 -0
  159. package/dist/registry-utils.d.ts +0 -1
  160. package/dist/registry-utils.js +3 -3
  161. package/dist/resources.js +1 -1
  162. package/dist/schema-to-markdown.d.ts +0 -1
  163. package/dist/server/contracts-adapter-input.js +2 -2
  164. package/dist/server/graphql-pothos.d.ts +0 -1
  165. package/dist/server/mcp/createMcpServer.d.ts +0 -1
  166. package/dist/server/rest-express.d.ts +0 -1
  167. package/dist/server/rest-generic.js +3 -3
  168. package/dist/server/rest-next-app.d.ts +0 -1
  169. package/dist/tests/spec.d.ts +0 -1
  170. package/dist/translations/registry.d.ts +0 -1
  171. package/dist/translations/spec.d.ts +0 -1
  172. package/dist/translations/validation.d.ts +0 -1
  173. package/dist/types.d.ts +5 -12
  174. package/dist/versioning/types.d.ts +0 -1
  175. package/dist/versioning/utils.d.ts +0 -1
  176. package/dist/workflow/adapters/memory-store.d.ts +0 -1
  177. package/dist/workflow/context.d.ts +0 -1
  178. package/dist/workflow/context.js +2 -2
  179. package/dist/workflow/runner.d.ts +1 -2
  180. package/dist/workspace-config/contractsrc-schema.d.ts +0 -1
  181. package/dist/workspace-config/contractsrc-types.d.ts +1 -3
  182. package/package.json +110 -32
  183. package/dist/integrations/providers/impls/elevenlabs-voice.d.ts +0 -20
  184. package/dist/integrations/providers/impls/elevenlabs-voice.js +0 -95
  185. package/dist/integrations/providers/impls/gcs-storage.d.ts +0 -24
  186. package/dist/integrations/providers/impls/gcs-storage.js +0 -88
  187. package/dist/integrations/providers/impls/gmail-inbound.d.ts +0 -26
  188. package/dist/integrations/providers/impls/gmail-inbound.js +0 -200
  189. package/dist/integrations/providers/impls/gmail-outbound.d.ts +0 -18
  190. package/dist/integrations/providers/impls/gmail-outbound.js +0 -105
  191. package/dist/integrations/providers/impls/google-calendar.d.ts +0 -23
  192. package/dist/integrations/providers/impls/google-calendar.js +0 -154
  193. package/dist/integrations/providers/impls/index.d.ts +0 -15
  194. package/dist/integrations/providers/impls/index.js +0 -16
  195. package/dist/integrations/providers/impls/mistral-embedding.d.ts +0 -23
  196. package/dist/integrations/providers/impls/mistral-embedding.js +0 -41
  197. package/dist/integrations/providers/impls/mistral-llm.d.ts +0 -31
  198. package/dist/integrations/providers/impls/mistral-llm.js +0 -247
  199. package/dist/integrations/providers/impls/postmark-email.d.ts +0 -19
  200. package/dist/integrations/providers/impls/postmark-email.js +0 -55
  201. package/dist/integrations/providers/impls/powens-client.d.ts +0 -124
  202. package/dist/integrations/providers/impls/powens-client.js +0 -171
  203. package/dist/integrations/providers/impls/powens-openbanking.d.ts +0 -27
  204. package/dist/integrations/providers/impls/powens-openbanking.js +0 -218
  205. package/dist/integrations/providers/impls/provider-factory.d.ts +0 -26
  206. package/dist/integrations/providers/impls/provider-factory.js +0 -146
  207. package/dist/integrations/providers/impls/qdrant-vector.d.ts +0 -24
  208. package/dist/integrations/providers/impls/qdrant-vector.js +0 -69
  209. package/dist/integrations/providers/impls/stripe-payments.d.ts +0 -28
  210. package/dist/integrations/providers/impls/stripe-payments.js +0 -202
  211. package/dist/integrations/providers/impls/twilio-sms.d.ts +0 -20
  212. package/dist/integrations/providers/impls/twilio-sms.js +0 -58
@@ -0,0 +1,407 @@
1
+ import * as _contractspec_lib_schema0 from "@contractspec/lib.schema";
2
+ import { SchemaModel } from "@contractspec/lib.schema";
3
+
4
+ //#region src/integrations/meeting-recorder/models.d.ts
5
+ declare const MeetingParticipantRecord: SchemaModel<{
6
+ id: {
7
+ type: _contractspec_lib_schema0.FieldType<string, string>;
8
+ isOptional: true;
9
+ };
10
+ externalId: {
11
+ type: _contractspec_lib_schema0.FieldType<string, string>;
12
+ isOptional: true;
13
+ };
14
+ name: {
15
+ type: _contractspec_lib_schema0.FieldType<string, string>;
16
+ isOptional: true;
17
+ };
18
+ email: {
19
+ type: _contractspec_lib_schema0.FieldType<string, string>;
20
+ isOptional: true;
21
+ };
22
+ role: {
23
+ type: _contractspec_lib_schema0.FieldType<string, string>;
24
+ isOptional: true;
25
+ };
26
+ isExternal: {
27
+ type: _contractspec_lib_schema0.FieldType<boolean, boolean>;
28
+ isOptional: true;
29
+ };
30
+ metadata: {
31
+ type: _contractspec_lib_schema0.FieldType<Record<string, unknown>, Record<string, unknown>>;
32
+ isOptional: true;
33
+ };
34
+ }>;
35
+ declare const MeetingTranscriptSegmentRecord: SchemaModel<{
36
+ index: {
37
+ type: _contractspec_lib_schema0.FieldType<number, number>;
38
+ isOptional: true;
39
+ };
40
+ speakerId: {
41
+ type: _contractspec_lib_schema0.FieldType<string, string>;
42
+ isOptional: true;
43
+ };
44
+ speakerName: {
45
+ type: _contractspec_lib_schema0.FieldType<string, string>;
46
+ isOptional: true;
47
+ };
48
+ speakerEmail: {
49
+ type: _contractspec_lib_schema0.FieldType<string, string>;
50
+ isOptional: true;
51
+ };
52
+ text: {
53
+ type: _contractspec_lib_schema0.FieldType<string, string>;
54
+ isOptional: false;
55
+ };
56
+ startTimeMs: {
57
+ type: _contractspec_lib_schema0.FieldType<number, number>;
58
+ isOptional: true;
59
+ };
60
+ endTimeMs: {
61
+ type: _contractspec_lib_schema0.FieldType<number, number>;
62
+ isOptional: true;
63
+ };
64
+ startTime: {
65
+ type: _contractspec_lib_schema0.FieldType<Date, string>;
66
+ isOptional: true;
67
+ };
68
+ endTime: {
69
+ type: _contractspec_lib_schema0.FieldType<Date, string>;
70
+ isOptional: true;
71
+ };
72
+ confidence: {
73
+ type: _contractspec_lib_schema0.FieldType<number, number>;
74
+ isOptional: true;
75
+ };
76
+ metadata: {
77
+ type: _contractspec_lib_schema0.FieldType<Record<string, unknown>, Record<string, unknown>>;
78
+ isOptional: true;
79
+ };
80
+ }>;
81
+ declare const MeetingRecord: SchemaModel<{
82
+ id: {
83
+ type: _contractspec_lib_schema0.FieldType<string, string>;
84
+ isOptional: false;
85
+ };
86
+ tenantId: {
87
+ type: _contractspec_lib_schema0.FieldType<string, string>;
88
+ isOptional: false;
89
+ };
90
+ connectionId: {
91
+ type: _contractspec_lib_schema0.FieldType<string, string>;
92
+ isOptional: false;
93
+ };
94
+ externalId: {
95
+ type: _contractspec_lib_schema0.FieldType<string, string>;
96
+ isOptional: false;
97
+ };
98
+ title: {
99
+ type: _contractspec_lib_schema0.FieldType<string, string>;
100
+ isOptional: true;
101
+ };
102
+ summary: {
103
+ type: _contractspec_lib_schema0.FieldType<string, string>;
104
+ isOptional: true;
105
+ };
106
+ organizer: {
107
+ type: SchemaModel<{
108
+ id: {
109
+ type: _contractspec_lib_schema0.FieldType<string, string>;
110
+ isOptional: true;
111
+ };
112
+ externalId: {
113
+ type: _contractspec_lib_schema0.FieldType<string, string>;
114
+ isOptional: true;
115
+ };
116
+ name: {
117
+ type: _contractspec_lib_schema0.FieldType<string, string>;
118
+ isOptional: true;
119
+ };
120
+ email: {
121
+ type: _contractspec_lib_schema0.FieldType<string, string>;
122
+ isOptional: true;
123
+ };
124
+ role: {
125
+ type: _contractspec_lib_schema0.FieldType<string, string>;
126
+ isOptional: true;
127
+ };
128
+ isExternal: {
129
+ type: _contractspec_lib_schema0.FieldType<boolean, boolean>;
130
+ isOptional: true;
131
+ };
132
+ metadata: {
133
+ type: _contractspec_lib_schema0.FieldType<Record<string, unknown>, Record<string, unknown>>;
134
+ isOptional: true;
135
+ };
136
+ }>;
137
+ isOptional: true;
138
+ };
139
+ invitees: {
140
+ type: SchemaModel<{
141
+ id: {
142
+ type: _contractspec_lib_schema0.FieldType<string, string>;
143
+ isOptional: true;
144
+ };
145
+ externalId: {
146
+ type: _contractspec_lib_schema0.FieldType<string, string>;
147
+ isOptional: true;
148
+ };
149
+ name: {
150
+ type: _contractspec_lib_schema0.FieldType<string, string>;
151
+ isOptional: true;
152
+ };
153
+ email: {
154
+ type: _contractspec_lib_schema0.FieldType<string, string>;
155
+ isOptional: true;
156
+ };
157
+ role: {
158
+ type: _contractspec_lib_schema0.FieldType<string, string>;
159
+ isOptional: true;
160
+ };
161
+ isExternal: {
162
+ type: _contractspec_lib_schema0.FieldType<boolean, boolean>;
163
+ isOptional: true;
164
+ };
165
+ metadata: {
166
+ type: _contractspec_lib_schema0.FieldType<Record<string, unknown>, Record<string, unknown>>;
167
+ isOptional: true;
168
+ };
169
+ }>;
170
+ isArray: true;
171
+ isOptional: true;
172
+ };
173
+ participants: {
174
+ type: SchemaModel<{
175
+ id: {
176
+ type: _contractspec_lib_schema0.FieldType<string, string>;
177
+ isOptional: true;
178
+ };
179
+ externalId: {
180
+ type: _contractspec_lib_schema0.FieldType<string, string>;
181
+ isOptional: true;
182
+ };
183
+ name: {
184
+ type: _contractspec_lib_schema0.FieldType<string, string>;
185
+ isOptional: true;
186
+ };
187
+ email: {
188
+ type: _contractspec_lib_schema0.FieldType<string, string>;
189
+ isOptional: true;
190
+ };
191
+ role: {
192
+ type: _contractspec_lib_schema0.FieldType<string, string>;
193
+ isOptional: true;
194
+ };
195
+ isExternal: {
196
+ type: _contractspec_lib_schema0.FieldType<boolean, boolean>;
197
+ isOptional: true;
198
+ };
199
+ metadata: {
200
+ type: _contractspec_lib_schema0.FieldType<Record<string, unknown>, Record<string, unknown>>;
201
+ isOptional: true;
202
+ };
203
+ }>;
204
+ isArray: true;
205
+ isOptional: true;
206
+ };
207
+ scheduledStartAt: {
208
+ type: _contractspec_lib_schema0.FieldType<Date, string>;
209
+ isOptional: true;
210
+ };
211
+ scheduledEndAt: {
212
+ type: _contractspec_lib_schema0.FieldType<Date, string>;
213
+ isOptional: true;
214
+ };
215
+ recordingStartAt: {
216
+ type: _contractspec_lib_schema0.FieldType<Date, string>;
217
+ isOptional: true;
218
+ };
219
+ recordingEndAt: {
220
+ type: _contractspec_lib_schema0.FieldType<Date, string>;
221
+ isOptional: true;
222
+ };
223
+ durationSeconds: {
224
+ type: _contractspec_lib_schema0.FieldType<number, number>;
225
+ isOptional: true;
226
+ };
227
+ meetingUrl: {
228
+ type: _contractspec_lib_schema0.FieldType<string, string>;
229
+ isOptional: true;
230
+ };
231
+ recordingUrl: {
232
+ type: _contractspec_lib_schema0.FieldType<string, string>;
233
+ isOptional: true;
234
+ };
235
+ shareUrl: {
236
+ type: _contractspec_lib_schema0.FieldType<string, string>;
237
+ isOptional: true;
238
+ };
239
+ sourcePlatform: {
240
+ type: _contractspec_lib_schema0.FieldType<string, string>;
241
+ isOptional: true;
242
+ };
243
+ language: {
244
+ type: _contractspec_lib_schema0.FieldType<string, string>;
245
+ isOptional: true;
246
+ };
247
+ transcriptAvailable: {
248
+ type: _contractspec_lib_schema0.FieldType<boolean, boolean>;
249
+ isOptional: true;
250
+ };
251
+ createdAt: {
252
+ type: _contractspec_lib_schema0.FieldType<Date, string>;
253
+ isOptional: true;
254
+ };
255
+ updatedAt: {
256
+ type: _contractspec_lib_schema0.FieldType<Date, string>;
257
+ isOptional: true;
258
+ };
259
+ metadata: {
260
+ type: _contractspec_lib_schema0.FieldType<Record<string, unknown>, Record<string, unknown>>;
261
+ isOptional: true;
262
+ };
263
+ }>;
264
+ declare const MeetingTranscriptRecord: SchemaModel<{
265
+ id: {
266
+ type: _contractspec_lib_schema0.FieldType<string, string>;
267
+ isOptional: false;
268
+ };
269
+ meetingId: {
270
+ type: _contractspec_lib_schema0.FieldType<string, string>;
271
+ isOptional: false;
272
+ };
273
+ tenantId: {
274
+ type: _contractspec_lib_schema0.FieldType<string, string>;
275
+ isOptional: false;
276
+ };
277
+ connectionId: {
278
+ type: _contractspec_lib_schema0.FieldType<string, string>;
279
+ isOptional: false;
280
+ };
281
+ externalId: {
282
+ type: _contractspec_lib_schema0.FieldType<string, string>;
283
+ isOptional: true;
284
+ };
285
+ format: {
286
+ type: _contractspec_lib_schema0.FieldType<string, string>;
287
+ isOptional: true;
288
+ };
289
+ text: {
290
+ type: _contractspec_lib_schema0.FieldType<string, string>;
291
+ isOptional: true;
292
+ };
293
+ segments: {
294
+ type: SchemaModel<{
295
+ index: {
296
+ type: _contractspec_lib_schema0.FieldType<number, number>;
297
+ isOptional: true;
298
+ };
299
+ speakerId: {
300
+ type: _contractspec_lib_schema0.FieldType<string, string>;
301
+ isOptional: true;
302
+ };
303
+ speakerName: {
304
+ type: _contractspec_lib_schema0.FieldType<string, string>;
305
+ isOptional: true;
306
+ };
307
+ speakerEmail: {
308
+ type: _contractspec_lib_schema0.FieldType<string, string>;
309
+ isOptional: true;
310
+ };
311
+ text: {
312
+ type: _contractspec_lib_schema0.FieldType<string, string>;
313
+ isOptional: false;
314
+ };
315
+ startTimeMs: {
316
+ type: _contractspec_lib_schema0.FieldType<number, number>;
317
+ isOptional: true;
318
+ };
319
+ endTimeMs: {
320
+ type: _contractspec_lib_schema0.FieldType<number, number>;
321
+ isOptional: true;
322
+ };
323
+ startTime: {
324
+ type: _contractspec_lib_schema0.FieldType<Date, string>;
325
+ isOptional: true;
326
+ };
327
+ endTime: {
328
+ type: _contractspec_lib_schema0.FieldType<Date, string>;
329
+ isOptional: true;
330
+ };
331
+ confidence: {
332
+ type: _contractspec_lib_schema0.FieldType<number, number>;
333
+ isOptional: true;
334
+ };
335
+ metadata: {
336
+ type: _contractspec_lib_schema0.FieldType<Record<string, unknown>, Record<string, unknown>>;
337
+ isOptional: true;
338
+ };
339
+ }>;
340
+ isArray: true;
341
+ isOptional: true;
342
+ };
343
+ language: {
344
+ type: _contractspec_lib_schema0.FieldType<string, string>;
345
+ isOptional: true;
346
+ };
347
+ sourceUrl: {
348
+ type: _contractspec_lib_schema0.FieldType<string, string>;
349
+ isOptional: true;
350
+ };
351
+ generatedAt: {
352
+ type: _contractspec_lib_schema0.FieldType<Date, string>;
353
+ isOptional: true;
354
+ };
355
+ metadata: {
356
+ type: _contractspec_lib_schema0.FieldType<Record<string, unknown>, Record<string, unknown>>;
357
+ isOptional: true;
358
+ };
359
+ raw: {
360
+ type: _contractspec_lib_schema0.FieldType<unknown, unknown>;
361
+ isOptional: true;
362
+ };
363
+ }>;
364
+ declare const MeetingRecorderWebhookEventRecord: SchemaModel<{
365
+ id: {
366
+ type: _contractspec_lib_schema0.FieldType<string, string>;
367
+ isOptional: true;
368
+ };
369
+ providerKey: {
370
+ type: _contractspec_lib_schema0.FieldType<string, string>;
371
+ isOptional: true;
372
+ };
373
+ eventType: {
374
+ type: _contractspec_lib_schema0.FieldType<string, string>;
375
+ isOptional: true;
376
+ };
377
+ meetingId: {
378
+ type: _contractspec_lib_schema0.FieldType<string, string>;
379
+ isOptional: true;
380
+ };
381
+ transcriptId: {
382
+ type: _contractspec_lib_schema0.FieldType<string, string>;
383
+ isOptional: true;
384
+ };
385
+ recordingId: {
386
+ type: _contractspec_lib_schema0.FieldType<string, string>;
387
+ isOptional: true;
388
+ };
389
+ receivedAt: {
390
+ type: _contractspec_lib_schema0.FieldType<Date, string>;
391
+ isOptional: true;
392
+ };
393
+ verified: {
394
+ type: _contractspec_lib_schema0.FieldType<boolean, boolean>;
395
+ isOptional: true;
396
+ };
397
+ payload: {
398
+ type: _contractspec_lib_schema0.FieldType<unknown, unknown>;
399
+ isOptional: true;
400
+ };
401
+ metadata: {
402
+ type: _contractspec_lib_schema0.FieldType<Record<string, unknown>, Record<string, unknown>>;
403
+ isOptional: true;
404
+ };
405
+ }>;
406
+ //#endregion
407
+ export { MeetingParticipantRecord, MeetingRecord, MeetingRecorderWebhookEventRecord, MeetingTranscriptRecord, MeetingTranscriptSegmentRecord };
@@ -0,0 +1,295 @@
1
+ import { ScalarTypeEnum, SchemaModel } from "@contractspec/lib.schema";
2
+
3
+ //#region src/integrations/meeting-recorder/models.ts
4
+ const MeetingParticipantRecord = new SchemaModel({
5
+ name: "MeetingParticipantRecord",
6
+ description: "Canonical participant entry for meetings and transcripts from recorder providers.",
7
+ fields: {
8
+ id: {
9
+ type: ScalarTypeEnum.String_unsecure(),
10
+ isOptional: true
11
+ },
12
+ externalId: {
13
+ type: ScalarTypeEnum.String_unsecure(),
14
+ isOptional: true
15
+ },
16
+ name: {
17
+ type: ScalarTypeEnum.String_unsecure(),
18
+ isOptional: true
19
+ },
20
+ email: {
21
+ type: ScalarTypeEnum.String_unsecure(),
22
+ isOptional: true
23
+ },
24
+ role: {
25
+ type: ScalarTypeEnum.String_unsecure(),
26
+ isOptional: true
27
+ },
28
+ isExternal: {
29
+ type: ScalarTypeEnum.Boolean(),
30
+ isOptional: true
31
+ },
32
+ metadata: {
33
+ type: ScalarTypeEnum.JSONObject(),
34
+ isOptional: true
35
+ }
36
+ }
37
+ });
38
+ const MeetingTranscriptSegmentRecord = new SchemaModel({
39
+ name: "MeetingTranscriptSegmentRecord",
40
+ description: "A single transcript segment with speaker attribution.",
41
+ fields: {
42
+ index: {
43
+ type: ScalarTypeEnum.Int_unsecure(),
44
+ isOptional: true
45
+ },
46
+ speakerId: {
47
+ type: ScalarTypeEnum.String_unsecure(),
48
+ isOptional: true
49
+ },
50
+ speakerName: {
51
+ type: ScalarTypeEnum.String_unsecure(),
52
+ isOptional: true
53
+ },
54
+ speakerEmail: {
55
+ type: ScalarTypeEnum.String_unsecure(),
56
+ isOptional: true
57
+ },
58
+ text: {
59
+ type: ScalarTypeEnum.String_unsecure(),
60
+ isOptional: false
61
+ },
62
+ startTimeMs: {
63
+ type: ScalarTypeEnum.Float_unsecure(),
64
+ isOptional: true
65
+ },
66
+ endTimeMs: {
67
+ type: ScalarTypeEnum.Float_unsecure(),
68
+ isOptional: true
69
+ },
70
+ startTime: {
71
+ type: ScalarTypeEnum.DateTime(),
72
+ isOptional: true
73
+ },
74
+ endTime: {
75
+ type: ScalarTypeEnum.DateTime(),
76
+ isOptional: true
77
+ },
78
+ confidence: {
79
+ type: ScalarTypeEnum.Float_unsecure(),
80
+ isOptional: true
81
+ },
82
+ metadata: {
83
+ type: ScalarTypeEnum.JSONObject(),
84
+ isOptional: true
85
+ }
86
+ }
87
+ });
88
+ const MeetingRecord = new SchemaModel({
89
+ name: "MeetingRecord",
90
+ description: "Canonical meeting metadata synced from meeting recorder providers.",
91
+ fields: {
92
+ id: {
93
+ type: ScalarTypeEnum.ID(),
94
+ isOptional: false
95
+ },
96
+ tenantId: {
97
+ type: ScalarTypeEnum.ID(),
98
+ isOptional: false
99
+ },
100
+ connectionId: {
101
+ type: ScalarTypeEnum.ID(),
102
+ isOptional: false
103
+ },
104
+ externalId: {
105
+ type: ScalarTypeEnum.NonEmptyString(),
106
+ isOptional: false
107
+ },
108
+ title: {
109
+ type: ScalarTypeEnum.String_unsecure(),
110
+ isOptional: true
111
+ },
112
+ summary: {
113
+ type: ScalarTypeEnum.String_unsecure(),
114
+ isOptional: true
115
+ },
116
+ organizer: {
117
+ type: MeetingParticipantRecord,
118
+ isOptional: true
119
+ },
120
+ invitees: {
121
+ type: MeetingParticipantRecord,
122
+ isArray: true,
123
+ isOptional: true
124
+ },
125
+ participants: {
126
+ type: MeetingParticipantRecord,
127
+ isArray: true,
128
+ isOptional: true
129
+ },
130
+ scheduledStartAt: {
131
+ type: ScalarTypeEnum.DateTime(),
132
+ isOptional: true
133
+ },
134
+ scheduledEndAt: {
135
+ type: ScalarTypeEnum.DateTime(),
136
+ isOptional: true
137
+ },
138
+ recordingStartAt: {
139
+ type: ScalarTypeEnum.DateTime(),
140
+ isOptional: true
141
+ },
142
+ recordingEndAt: {
143
+ type: ScalarTypeEnum.DateTime(),
144
+ isOptional: true
145
+ },
146
+ durationSeconds: {
147
+ type: ScalarTypeEnum.Float_unsecure(),
148
+ isOptional: true
149
+ },
150
+ meetingUrl: {
151
+ type: ScalarTypeEnum.URL(),
152
+ isOptional: true
153
+ },
154
+ recordingUrl: {
155
+ type: ScalarTypeEnum.URL(),
156
+ isOptional: true
157
+ },
158
+ shareUrl: {
159
+ type: ScalarTypeEnum.URL(),
160
+ isOptional: true
161
+ },
162
+ sourcePlatform: {
163
+ type: ScalarTypeEnum.String_unsecure(),
164
+ isOptional: true
165
+ },
166
+ language: {
167
+ type: ScalarTypeEnum.String_unsecure(),
168
+ isOptional: true
169
+ },
170
+ transcriptAvailable: {
171
+ type: ScalarTypeEnum.Boolean(),
172
+ isOptional: true
173
+ },
174
+ createdAt: {
175
+ type: ScalarTypeEnum.DateTime(),
176
+ isOptional: true
177
+ },
178
+ updatedAt: {
179
+ type: ScalarTypeEnum.DateTime(),
180
+ isOptional: true
181
+ },
182
+ metadata: {
183
+ type: ScalarTypeEnum.JSONObject(),
184
+ isOptional: true
185
+ }
186
+ }
187
+ });
188
+ const MeetingTranscriptRecord = new SchemaModel({
189
+ name: "MeetingTranscriptRecord",
190
+ description: "Canonical transcript payload for a recorded meeting.",
191
+ fields: {
192
+ id: {
193
+ type: ScalarTypeEnum.ID(),
194
+ isOptional: false
195
+ },
196
+ meetingId: {
197
+ type: ScalarTypeEnum.ID(),
198
+ isOptional: false
199
+ },
200
+ tenantId: {
201
+ type: ScalarTypeEnum.ID(),
202
+ isOptional: false
203
+ },
204
+ connectionId: {
205
+ type: ScalarTypeEnum.ID(),
206
+ isOptional: false
207
+ },
208
+ externalId: {
209
+ type: ScalarTypeEnum.String_unsecure(),
210
+ isOptional: true
211
+ },
212
+ format: {
213
+ type: ScalarTypeEnum.String_unsecure(),
214
+ isOptional: true
215
+ },
216
+ text: {
217
+ type: ScalarTypeEnum.String_unsecure(),
218
+ isOptional: true
219
+ },
220
+ segments: {
221
+ type: MeetingTranscriptSegmentRecord,
222
+ isArray: true,
223
+ isOptional: true
224
+ },
225
+ language: {
226
+ type: ScalarTypeEnum.String_unsecure(),
227
+ isOptional: true
228
+ },
229
+ sourceUrl: {
230
+ type: ScalarTypeEnum.URL(),
231
+ isOptional: true
232
+ },
233
+ generatedAt: {
234
+ type: ScalarTypeEnum.DateTime(),
235
+ isOptional: true
236
+ },
237
+ metadata: {
238
+ type: ScalarTypeEnum.JSONObject(),
239
+ isOptional: true
240
+ },
241
+ raw: {
242
+ type: ScalarTypeEnum.JSON(),
243
+ isOptional: true
244
+ }
245
+ }
246
+ });
247
+ const MeetingRecorderWebhookEventRecord = new SchemaModel({
248
+ name: "MeetingRecorderWebhookEventRecord",
249
+ description: "Normalized webhook event from a meeting recorder provider.",
250
+ fields: {
251
+ id: {
252
+ type: ScalarTypeEnum.String_unsecure(),
253
+ isOptional: true
254
+ },
255
+ providerKey: {
256
+ type: ScalarTypeEnum.String_unsecure(),
257
+ isOptional: true
258
+ },
259
+ eventType: {
260
+ type: ScalarTypeEnum.String_unsecure(),
261
+ isOptional: true
262
+ },
263
+ meetingId: {
264
+ type: ScalarTypeEnum.String_unsecure(),
265
+ isOptional: true
266
+ },
267
+ transcriptId: {
268
+ type: ScalarTypeEnum.String_unsecure(),
269
+ isOptional: true
270
+ },
271
+ recordingId: {
272
+ type: ScalarTypeEnum.String_unsecure(),
273
+ isOptional: true
274
+ },
275
+ receivedAt: {
276
+ type: ScalarTypeEnum.DateTime(),
277
+ isOptional: true
278
+ },
279
+ verified: {
280
+ type: ScalarTypeEnum.Boolean(),
281
+ isOptional: true
282
+ },
283
+ payload: {
284
+ type: ScalarTypeEnum.JSON(),
285
+ isOptional: true
286
+ },
287
+ metadata: {
288
+ type: ScalarTypeEnum.JSONObject(),
289
+ isOptional: true
290
+ }
291
+ }
292
+ });
293
+
294
+ //#endregion
295
+ export { MeetingParticipantRecord, MeetingRecord, MeetingRecorderWebhookEventRecord, MeetingTranscriptRecord, MeetingTranscriptSegmentRecord };
@@ -0,0 +1,16 @@
1
+ //#region src/integrations/meeting-recorder/telemetry.d.ts
2
+ declare const MEETING_RECORDER_PII_FIELDS: readonly ["email", "organizerEmail", "participantEmail", "participants", "invitees", "attendees", "speakerName", "speakerEmail", "name", "phone", "phoneNumber", "displayName"];
3
+ declare const MEETING_RECORDER_TELEMETRY_EVENTS: {
4
+ readonly meetingsSynced: "meeting-recorder.meetings.synced";
5
+ readonly meetingsSyncFailed: "meeting-recorder.meetings.sync_failed";
6
+ readonly transcriptsFetched: "meeting-recorder.transcripts.fetched";
7
+ readonly transcriptsFetchFailed: "meeting-recorder.transcripts.fetch_failed";
8
+ readonly transcriptsSynced: "meeting-recorder.transcripts.synced";
9
+ readonly transcriptsSyncFailed: "meeting-recorder.transcripts.sync_failed";
10
+ readonly webhookReceived: "meeting-recorder.webhooks.received";
11
+ readonly webhookRejected: "meeting-recorder.webhooks.rejected";
12
+ };
13
+ type MeetingRecorderTelemetryEvent = (typeof MEETING_RECORDER_TELEMETRY_EVENTS)[keyof typeof MEETING_RECORDER_TELEMETRY_EVENTS];
14
+ declare function redactMeetingRecorderTelemetryPayload<T extends Record<string, unknown>>(payload: T): T;
15
+ //#endregion
16
+ export { MEETING_RECORDER_PII_FIELDS, MEETING_RECORDER_TELEMETRY_EVENTS, MeetingRecorderTelemetryEvent, redactMeetingRecorderTelemetryPayload };