digital-tools 2.1.1 → 2.3.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.
- package/CHANGELOG.md +17 -0
- package/README.md +2 -0
- package/dist/client.d.ts +109 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +69 -0
- package/dist/client.js.map +1 -0
- package/dist/define.d.ts +2 -2
- package/dist/define.d.ts.map +1 -1
- package/dist/define.js +22 -20
- package/dist/define.js.map +1 -1
- package/dist/function-ref.d.ts +229 -0
- package/dist/function-ref.d.ts.map +1 -0
- package/dist/function-ref.js +28 -0
- package/dist/function-ref.js.map +1 -0
- package/dist/function-sugar.d.ts +57 -0
- package/dist/function-sugar.d.ts.map +1 -0
- package/dist/function-sugar.js +79 -0
- package/dist/function-sugar.js.map +1 -0
- package/dist/index.d.ts +10 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -4
- package/dist/index.js.map +1 -1
- package/dist/providers/analytics/mixpanel.d.ts.map +1 -1
- package/dist/providers/analytics/mixpanel.js +21 -18
- package/dist/providers/analytics/mixpanel.js.map +1 -1
- package/dist/providers/calendar/cal-com.d.ts.map +1 -1
- package/dist/providers/calendar/cal-com.js +10 -10
- package/dist/providers/calendar/cal-com.js.map +1 -1
- package/dist/providers/calendar/google-calendar.d.ts.map +1 -1
- package/dist/providers/calendar/google-calendar.js +4 -4
- package/dist/providers/calendar/google-calendar.js.map +1 -1
- package/dist/providers/crm/hubspot.d.ts.map +1 -1
- package/dist/providers/crm/hubspot.js +107 -85
- package/dist/providers/crm/hubspot.js.map +1 -1
- package/dist/providers/development/github.d.ts.map +1 -1
- package/dist/providers/development/github.js +40 -43
- package/dist/providers/development/github.js.map +1 -1
- package/dist/providers/ecommerce/shopify.d.ts.map +1 -1
- package/dist/providers/ecommerce/shopify.js +79 -62
- package/dist/providers/ecommerce/shopify.js.map +1 -1
- package/dist/providers/email/resend.d.ts.map +1 -1
- package/dist/providers/email/resend.js +20 -16
- package/dist/providers/email/resend.js.map +1 -1
- package/dist/providers/email/sendgrid.d.ts.map +1 -1
- package/dist/providers/email/sendgrid.js +12 -9
- package/dist/providers/email/sendgrid.js.map +1 -1
- package/dist/providers/finance/stripe.d.ts.map +1 -1
- package/dist/providers/finance/stripe.js +44 -42
- package/dist/providers/finance/stripe.js.map +1 -1
- package/dist/providers/forms/typeform.d.ts.map +1 -1
- package/dist/providers/forms/typeform.js +68 -58
- package/dist/providers/forms/typeform.js.map +1 -1
- package/dist/providers/knowledge/notion.d.ts.map +1 -1
- package/dist/providers/knowledge/notion.js +75 -41
- package/dist/providers/knowledge/notion.js.map +1 -1
- package/dist/providers/marketing/mailchimp.d.ts.map +1 -1
- package/dist/providers/marketing/mailchimp.js +74 -61
- package/dist/providers/marketing/mailchimp.js.map +1 -1
- package/dist/providers/media/cloudinary.d.ts.map +1 -1
- package/dist/providers/media/cloudinary.js +30 -28
- package/dist/providers/media/cloudinary.js.map +1 -1
- package/dist/providers/messaging/slack.d.ts.map +1 -1
- package/dist/providers/messaging/slack.js +75 -58
- package/dist/providers/messaging/slack.js.map +1 -1
- package/dist/providers/messaging/twilio-sms.d.ts.map +1 -1
- package/dist/providers/messaging/twilio-sms.js +33 -15
- package/dist/providers/messaging/twilio-sms.js.map +1 -1
- package/dist/providers/project-management/linear.d.ts.map +1 -1
- package/dist/providers/project-management/linear.js +31 -27
- package/dist/providers/project-management/linear.js.map +1 -1
- package/dist/providers/spreadsheet/google-sheets.d.ts.map +1 -1
- package/dist/providers/spreadsheet/google-sheets.js +21 -18
- package/dist/providers/spreadsheet/google-sheets.js.map +1 -1
- package/dist/providers/spreadsheet/xlsx.d.ts.map +1 -1
- package/dist/providers/spreadsheet/xlsx.js +4 -4
- package/dist/providers/spreadsheet/xlsx.js.map +1 -1
- package/dist/providers/storage/index.js +1 -0
- package/dist/providers/storage/index.js.map +1 -1
- package/dist/providers/storage/s3.d.ts.map +1 -1
- package/dist/providers/storage/s3.js +36 -27
- package/dist/providers/storage/s3.js.map +1 -1
- package/dist/providers/support/zendesk.d.ts.map +1 -1
- package/dist/providers/support/zendesk.js +24 -25
- package/dist/providers/support/zendesk.js.map +1 -1
- package/dist/providers/tasks/todoist.d.ts.map +1 -1
- package/dist/providers/tasks/todoist.js +18 -18
- package/dist/providers/tasks/todoist.js.map +1 -1
- package/dist/providers/video-conferencing/google-meet.d.ts.map +1 -1
- package/dist/providers/video-conferencing/google-meet.js +11 -11
- package/dist/providers/video-conferencing/google-meet.js.map +1 -1
- package/dist/providers/video-conferencing/jitsi.js +14 -14
- package/dist/providers/video-conferencing/jitsi.js.map +1 -1
- package/dist/providers/video-conferencing/teams.d.ts.map +1 -1
- package/dist/providers/video-conferencing/teams.js +9 -7
- package/dist/providers/video-conferencing/teams.js.map +1 -1
- package/dist/providers/video-conferencing/zoom.d.ts.map +1 -1
- package/dist/providers/video-conferencing/zoom.js +26 -24
- package/dist/providers/video-conferencing/zoom.js.map +1 -1
- package/dist/tools/data.d.ts.map +1 -1
- package/dist/tools/data.js +5 -12
- package/dist/tools/data.js.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/system.d.ts +289 -0
- package/dist/tools/system.d.ts.map +1 -0
- package/dist/tools/system.js +752 -0
- package/dist/tools/system.js.map +1 -0
- package/dist/tools/web.d.ts.map +1 -1
- package/dist/tools/web.js +22 -10
- package/dist/tools/web.js.map +1 -1
- package/dist/track-record.d.ts +101 -0
- package/dist/track-record.d.ts.map +1 -0
- package/dist/track-record.js +17 -0
- package/dist/track-record.js.map +1 -0
- package/dist/types.d.ts +210 -9
- package/dist/types.d.ts.map +1 -1
- package/dist/verb-registration.d.ts +122 -0
- package/dist/verb-registration.d.ts.map +1 -0
- package/dist/verb-registration.js +176 -0
- package/dist/verb-registration.js.map +1 -0
- package/dist/worker.d.ts +93 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +315 -0
- package/dist/worker.js.map +1 -0
- package/dist/wrap.d.ts +89 -0
- package/dist/wrap.d.ts.map +1 -0
- package/dist/wrap.js +225 -0
- package/dist/wrap.js.map +1 -0
- package/package.json +21 -4
- package/src/client.ts +136 -0
- package/src/define.ts +31 -37
- package/src/function-ref.ts +264 -0
- package/src/function-sugar.ts +134 -0
- package/src/index.ts +132 -10
- package/src/providers/analytics/mixpanel.ts +19 -18
- package/src/providers/calendar/cal-com.ts +29 -18
- package/src/providers/calendar/google-calendar.ts +20 -14
- package/src/providers/crm/hubspot.ts +225 -99
- package/src/providers/development/github.ts +206 -135
- package/src/providers/ecommerce/shopify.ts +250 -89
- package/src/providers/email/resend.ts +101 -28
- package/src/providers/email/sendgrid.ts +12 -9
- package/src/providers/finance/stripe.ts +128 -49
- package/src/providers/forms/typeform.ts +74 -58
- package/src/providers/knowledge/notion.ts +340 -88
- package/src/providers/marketing/mailchimp.ts +86 -70
- package/src/providers/media/cloudinary.ts +99 -41
- package/src/providers/messaging/slack.ts +283 -85
- package/src/providers/messaging/twilio-sms.ts +35 -15
- package/src/providers/project-management/linear.ts +143 -55
- package/src/providers/spreadsheet/google-sheets.ts +222 -56
- package/src/providers/spreadsheet/xlsx.ts +47 -16
- package/src/providers/storage/s3.ts +119 -47
- package/src/providers/support/zendesk.ts +196 -46
- package/src/providers/tasks/todoist.ts +20 -26
- package/src/providers/video-conferencing/google-meet.ts +17 -20
- package/src/providers/video-conferencing/jitsi.ts +14 -14
- package/src/providers/video-conferencing/teams.ts +14 -13
- package/src/providers/video-conferencing/zoom.ts +54 -49
- package/src/tools/data.ts +6 -16
- package/src/tools/index.ts +1 -0
- package/src/tools/system.ts +887 -0
- package/src/tools/web.ts +22 -10
- package/src/track-record.ts +106 -0
- package/src/types.ts +241 -13
- package/src/verb-registration.ts +197 -0
- package/src/worker.ts +370 -0
- package/src/wrap.ts +260 -0
- package/test/client.test.ts +146 -0
- package/test/communication-tools-extended.test.ts +734 -0
- package/test/data-tools-extended.test.ts +743 -0
- package/test/define-extended.test.ts +819 -0
- package/test/define.test.ts +150 -41
- package/test/entities.test.ts +623 -0
- package/test/extended-entities.test.ts +1228 -0
- package/test/provider-implementations.test.ts +725 -0
- package/test/provider-registry-extended.test.ts +583 -0
- package/test/providers/google-sheets.test.ts +851 -0
- package/test/providers/helpers.ts +554 -0
- package/test/providers/hubspot.test.ts +576 -0
- package/test/providers/slack.test.ts +932 -0
- package/test/providers/stripe.test.ts +701 -0
- package/test/providers.test.ts +578 -0
- package/test/system-tools-extended.test.ts +632 -0
- package/test/system.test.ts +673 -0
- package/test/tools.test.ts +15 -11
- package/test/types.test.ts +402 -0
- package/test/verb-registration.test.ts +395 -0
- package/test/web-tools.test.ts +553 -0
- package/test/worker-extended.test.ts +699 -0
- package/test/worker.test.ts +576 -0
- package/test/wrap.test.ts +366 -0
- package/tsconfig.json +3 -13
- package/vitest.config.ts +37 -0
- package/wrangler.jsonc +9 -0
- package/.turbo/turbo-build.log +0 -5
- package/dist/providers/voice/vapi.d.ts +0 -27
- package/dist/providers/voice/vapi.d.ts.map +0 -1
- package/dist/providers/voice/vapi.js +0 -440
- package/dist/providers/voice/vapi.js.map +0 -1
- package/src/define.js +0 -267
- package/src/entities/advertising.js +0 -999
- package/src/entities/ai.js +0 -756
- package/src/entities/analytics.js +0 -1588
- package/src/entities/automation.js +0 -601
- package/src/entities/communication.js +0 -1150
- package/src/entities/crm.js +0 -1386
- package/src/entities/design.js +0 -546
- package/src/entities/development.js +0 -2212
- package/src/entities/document.js +0 -874
- package/src/entities/ecommerce.js +0 -1429
- package/src/entities/experiment.js +0 -1039
- package/src/entities/finance.js +0 -3478
- package/src/entities/forms.js +0 -1892
- package/src/entities/hr.js +0 -661
- package/src/entities/identity.js +0 -997
- package/src/entities/index.js +0 -282
- package/src/entities/infrastructure.js +0 -1153
- package/src/entities/knowledge.js +0 -1438
- package/src/entities/marketing.js +0 -1610
- package/src/entities/media.js +0 -1634
- package/src/entities/notification.js +0 -1199
- package/src/entities/presentation.js +0 -1274
- package/src/entities/productivity.js +0 -1317
- package/src/entities/project-management.js +0 -1136
- package/src/entities/recruiting.js +0 -736
- package/src/entities/shipping.js +0 -509
- package/src/entities/signature.js +0 -1102
- package/src/entities/site.js +0 -222
- package/src/entities/spreadsheet.js +0 -1341
- package/src/entities/storage.js +0 -1198
- package/src/entities/support.js +0 -1166
- package/src/entities/video-conferencing.js +0 -1750
- package/src/entities/video.js +0 -950
- package/src/entities.js +0 -1663
- package/src/index.js +0 -74
- package/src/providers/analytics/index.js +0 -17
- package/src/providers/analytics/mixpanel.js +0 -255
- package/src/providers/calendar/cal-com.js +0 -303
- package/src/providers/calendar/google-calendar.js +0 -335
- package/src/providers/calendar/index.js +0 -20
- package/src/providers/crm/hubspot.js +0 -566
- package/src/providers/crm/index.js +0 -17
- package/src/providers/development/github.js +0 -472
- package/src/providers/development/index.js +0 -17
- package/src/providers/ecommerce/index.js +0 -17
- package/src/providers/ecommerce/shopify.js +0 -378
- package/src/providers/email/index.js +0 -20
- package/src/providers/email/resend.js +0 -258
- package/src/providers/email/sendgrid.js +0 -161
- package/src/providers/finance/index.js +0 -17
- package/src/providers/finance/stripe.js +0 -549
- package/src/providers/forms/index.js +0 -17
- package/src/providers/forms/typeform.js +0 -500
- package/src/providers/index.js +0 -123
- package/src/providers/knowledge/index.js +0 -17
- package/src/providers/knowledge/notion.js +0 -389
- package/src/providers/marketing/index.js +0 -17
- package/src/providers/marketing/mailchimp.js +0 -443
- package/src/providers/media/cloudinary.js +0 -318
- package/src/providers/media/index.js +0 -17
- package/src/providers/messaging/index.js +0 -20
- package/src/providers/messaging/slack.js +0 -393
- package/src/providers/messaging/twilio-sms.js +0 -249
- package/src/providers/project-management/index.js +0 -17
- package/src/providers/project-management/linear.js +0 -575
- package/src/providers/registry.js +0 -86
- package/src/providers/spreadsheet/google-sheets.js +0 -375
- package/src/providers/spreadsheet/index.js +0 -20
- package/src/providers/spreadsheet/xlsx.js +0 -423
- package/src/providers/storage/index.js +0 -24
- package/src/providers/storage/s3.js +0 -419
- package/src/providers/support/index.js +0 -17
- package/src/providers/support/zendesk.js +0 -373
- package/src/providers/tasks/index.js +0 -17
- package/src/providers/tasks/todoist.js +0 -286
- package/src/providers/types.js +0 -9
- package/src/providers/video-conferencing/google-meet.js +0 -286
- package/src/providers/video-conferencing/index.js +0 -31
- package/src/providers/video-conferencing/jitsi.js +0 -254
- package/src/providers/video-conferencing/teams.js +0 -270
- package/src/providers/video-conferencing/zoom.js +0 -332
- package/src/registry.js +0 -128
- package/src/tools/communication.js +0 -184
- package/src/tools/data.js +0 -205
- package/src/tools/index.js +0 -11
- package/src/tools/web.js +0 -137
- package/src/types.js +0 -10
- package/test/define.test.js +0 -306
- package/test/registry.test.js +0 -357
- package/test/tools.test.js +0 -363
|
@@ -166,10 +166,7 @@ export function createTeamsProvider(config: ProviderConfig): VideoConferencingPr
|
|
|
166
166
|
/**
|
|
167
167
|
* Make authenticated API request
|
|
168
168
|
*/
|
|
169
|
-
async function apiRequest<T>(
|
|
170
|
-
endpoint: string,
|
|
171
|
-
options: RequestInit = {}
|
|
172
|
-
): Promise<T> {
|
|
169
|
+
async function apiRequest<T>(endpoint: string, options: RequestInit = {}): Promise<T> {
|
|
173
170
|
const token = await getAccessToken()
|
|
174
171
|
const url = endpoint.startsWith('http') ? endpoint : `${GRAPH_API_URL}${endpoint}`
|
|
175
172
|
|
|
@@ -185,7 +182,9 @@ export function createTeamsProvider(config: ProviderConfig): VideoConferencingPr
|
|
|
185
182
|
if (!response.ok) {
|
|
186
183
|
const errorData = await response.json().catch(() => ({}))
|
|
187
184
|
throw new Error(
|
|
188
|
-
`Microsoft Graph API error: ${response.status} - ${
|
|
185
|
+
`Microsoft Graph API error: ${response.status} - ${
|
|
186
|
+
(errorData as any)?.error?.message || response.statusText
|
|
187
|
+
}`
|
|
189
188
|
)
|
|
190
189
|
}
|
|
191
190
|
|
|
@@ -230,9 +229,9 @@ export function createTeamsProvider(config: ProviderConfig): VideoConferencingPr
|
|
|
230
229
|
|
|
231
230
|
async initialize(cfg: ProviderConfig): Promise<void> {
|
|
232
231
|
accessToken = cfg.accessToken as string
|
|
233
|
-
clientId = cfg
|
|
234
|
-
clientSecret = cfg
|
|
235
|
-
tenantId = cfg
|
|
232
|
+
clientId = cfg['clientId'] as string | undefined
|
|
233
|
+
clientSecret = cfg['clientSecret'] as string | undefined
|
|
234
|
+
tenantId = cfg['tenantId'] as string | undefined
|
|
236
235
|
|
|
237
236
|
if (!accessToken) {
|
|
238
237
|
throw new Error('Microsoft Teams requires accessToken')
|
|
@@ -319,14 +318,14 @@ export function createTeamsProvider(config: ProviderConfig): VideoConferencingPr
|
|
|
319
318
|
|
|
320
319
|
const body: Record<string, unknown> = {}
|
|
321
320
|
|
|
322
|
-
if (updates.topic) body
|
|
321
|
+
if (updates.topic) body['subject'] = updates.topic
|
|
323
322
|
|
|
324
323
|
if (updates.startTime) {
|
|
325
324
|
const endTime = new Date(
|
|
326
325
|
updates.startTime.getTime() + (updates.duration || current.duration || 60) * 60000
|
|
327
326
|
)
|
|
328
|
-
body
|
|
329
|
-
body
|
|
327
|
+
body['startDateTime'] = updates.startTime.toISOString()
|
|
328
|
+
body['endDateTime'] = endTime.toISOString()
|
|
330
329
|
}
|
|
331
330
|
|
|
332
331
|
const response = await apiRequest<GraphOnlineMeeting>(
|
|
@@ -376,11 +375,13 @@ export function createTeamsProvider(config: ProviderConfig): VideoConferencingPr
|
|
|
376
375
|
return {
|
|
377
376
|
items: response.value.map(convertMeeting),
|
|
378
377
|
hasMore: !!response['@odata.nextLink'],
|
|
379
|
-
|
|
378
|
+
...(response['@odata.nextLink'] !== undefined && {
|
|
379
|
+
nextCursor: response['@odata.nextLink'],
|
|
380
|
+
}),
|
|
380
381
|
}
|
|
381
382
|
},
|
|
382
383
|
|
|
383
|
-
endMeeting: async function(meetingId: string): Promise<boolean> {
|
|
384
|
+
endMeeting: async function (meetingId: string): Promise<boolean> {
|
|
384
385
|
// Microsoft Teams doesn't support programmatically ending meetings
|
|
385
386
|
// We can delete the meeting instead
|
|
386
387
|
return await this.deleteMeeting!(meetingId)
|
|
@@ -120,13 +120,16 @@ export function createZoomProvider(config: ProviderConfig): VideoConferencingPro
|
|
|
120
120
|
|
|
121
121
|
// Get new token
|
|
122
122
|
const credentials = Buffer.from(`${clientId}:${clientSecret}`).toString('base64')
|
|
123
|
-
const response = await fetch(
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
123
|
+
const response = await fetch(
|
|
124
|
+
`https://zoom.us/oauth/token?grant_type=account_credentials&account_id=${accountId}`,
|
|
125
|
+
{
|
|
126
|
+
method: 'POST',
|
|
127
|
+
headers: {
|
|
128
|
+
Authorization: `Basic ${credentials}`,
|
|
129
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
130
|
+
},
|
|
131
|
+
}
|
|
132
|
+
)
|
|
130
133
|
|
|
131
134
|
if (!response.ok) {
|
|
132
135
|
throw new Error(`Failed to get access token: HTTP ${response.status}`)
|
|
@@ -142,10 +145,7 @@ export function createZoomProvider(config: ProviderConfig): VideoConferencingPro
|
|
|
142
145
|
/**
|
|
143
146
|
* Make authenticated API request
|
|
144
147
|
*/
|
|
145
|
-
async function apiRequest<T>(
|
|
146
|
-
endpoint: string,
|
|
147
|
-
options: RequestInit = {}
|
|
148
|
-
): Promise<T> {
|
|
148
|
+
async function apiRequest<T>(endpoint: string, options: RequestInit = {}): Promise<T> {
|
|
149
149
|
const token = await getAccessToken()
|
|
150
150
|
const url = `${ZOOM_API_URL}${endpoint}`
|
|
151
151
|
|
|
@@ -175,14 +175,14 @@ export function createZoomProvider(config: ProviderConfig): VideoConferencingPro
|
|
|
175
175
|
return {
|
|
176
176
|
id: meeting.id.toString(),
|
|
177
177
|
topic: meeting.topic,
|
|
178
|
-
|
|
179
|
-
duration: meeting.duration,
|
|
180
|
-
timezone: meeting.timezone,
|
|
181
|
-
agenda: meeting.agenda,
|
|
178
|
+
...(meeting.start_time !== undefined && { startTime: new Date(meeting.start_time) }),
|
|
179
|
+
...(meeting.duration !== undefined && { duration: meeting.duration }),
|
|
180
|
+
...(meeting.timezone !== undefined && { timezone: meeting.timezone }),
|
|
181
|
+
...(meeting.agenda !== undefined && { agenda: meeting.agenda }),
|
|
182
182
|
joinUrl: meeting.join_url,
|
|
183
183
|
hostId: meeting.host_id,
|
|
184
184
|
status: meeting.status as 'waiting' | 'started' | 'finished',
|
|
185
|
-
password: meeting.password,
|
|
185
|
+
...(meeting.password !== undefined && { password: meeting.password }),
|
|
186
186
|
createdAt: new Date(meeting.created_at),
|
|
187
187
|
}
|
|
188
188
|
}
|
|
@@ -191,9 +191,9 @@ export function createZoomProvider(config: ProviderConfig): VideoConferencingPro
|
|
|
191
191
|
info: zoomInfo,
|
|
192
192
|
|
|
193
193
|
async initialize(cfg: ProviderConfig): Promise<void> {
|
|
194
|
-
accountId = cfg
|
|
195
|
-
clientId = cfg
|
|
196
|
-
clientSecret = cfg
|
|
194
|
+
accountId = cfg['accountId'] as string
|
|
195
|
+
clientId = cfg['clientId'] as string
|
|
196
|
+
clientSecret = cfg['clientSecret'] as string
|
|
197
197
|
accessToken = cfg.accessToken as string | undefined
|
|
198
198
|
|
|
199
199
|
if (!accountId || !clientId || !clientSecret) {
|
|
@@ -243,7 +243,7 @@ export function createZoomProvider(config: ProviderConfig): VideoConferencingPro
|
|
|
243
243
|
}
|
|
244
244
|
|
|
245
245
|
if (meeting.settings) {
|
|
246
|
-
body
|
|
246
|
+
body['settings'] = {
|
|
247
247
|
...(meeting.settings.hostVideo !== undefined && {
|
|
248
248
|
host_video: meeting.settings.hostVideo,
|
|
249
249
|
}),
|
|
@@ -291,15 +291,15 @@ export function createZoomProvider(config: ProviderConfig): VideoConferencingPro
|
|
|
291
291
|
): Promise<MeetingData> {
|
|
292
292
|
const body: Record<string, unknown> = {}
|
|
293
293
|
|
|
294
|
-
if (updates.topic) body
|
|
295
|
-
if (updates.startTime) body
|
|
296
|
-
if (updates.duration !== undefined) body
|
|
297
|
-
if (updates.timezone) body
|
|
298
|
-
if (updates.agenda !== undefined) body
|
|
299
|
-
if (updates.password !== undefined) body
|
|
294
|
+
if (updates.topic) body['topic'] = updates.topic
|
|
295
|
+
if (updates.startTime) body['start_time'] = updates.startTime.toISOString()
|
|
296
|
+
if (updates.duration !== undefined) body['duration'] = updates.duration
|
|
297
|
+
if (updates.timezone) body['timezone'] = updates.timezone
|
|
298
|
+
if (updates.agenda !== undefined) body['agenda'] = updates.agenda
|
|
299
|
+
if (updates.password !== undefined) body['password'] = updates.password
|
|
300
300
|
|
|
301
301
|
if (updates.settings) {
|
|
302
|
-
body
|
|
302
|
+
body['settings'] = {
|
|
303
303
|
...(updates.settings.hostVideo !== undefined && {
|
|
304
304
|
host_video: updates.settings.hostVideo,
|
|
305
305
|
}),
|
|
@@ -376,7 +376,7 @@ export function createZoomProvider(config: ProviderConfig): VideoConferencingPro
|
|
|
376
376
|
items: response.meetings.map(convertMeeting),
|
|
377
377
|
total: response.total_records,
|
|
378
378
|
hasMore: !!response.next_page_token,
|
|
379
|
-
nextCursor: response.next_page_token,
|
|
379
|
+
...(response.next_page_token !== undefined && { nextCursor: response.next_page_token }),
|
|
380
380
|
}
|
|
381
381
|
},
|
|
382
382
|
|
|
@@ -401,14 +401,16 @@ export function createZoomProvider(config: ProviderConfig): VideoConferencingPro
|
|
|
401
401
|
`/past_meetings/${meetingId}/participants`
|
|
402
402
|
)
|
|
403
403
|
|
|
404
|
-
return response.participants.map(
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
404
|
+
return response.participants.map(
|
|
405
|
+
(p): ParticipantData => ({
|
|
406
|
+
id: p.id,
|
|
407
|
+
name: p.name,
|
|
408
|
+
...(p.user_email !== undefined && { email: p.user_email }),
|
|
409
|
+
joinTime: new Date(p.join_time),
|
|
410
|
+
...(p.leave_time !== undefined && { leaveTime: new Date(p.leave_time) }),
|
|
411
|
+
...(p.duration !== undefined && { duration: p.duration }),
|
|
412
|
+
})
|
|
413
|
+
)
|
|
412
414
|
} catch (error) {
|
|
413
415
|
if (error instanceof Error && error.message.includes('404')) {
|
|
414
416
|
return []
|
|
@@ -423,16 +425,21 @@ export function createZoomProvider(config: ProviderConfig): VideoConferencingPro
|
|
|
423
425
|
`/meetings/${meetingId}/recordings`
|
|
424
426
|
)
|
|
425
427
|
|
|
426
|
-
return response.recording_files.map(
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
428
|
+
return response.recording_files.map(
|
|
429
|
+
(r): MeetingRecordingData => ({
|
|
430
|
+
id: r.id,
|
|
431
|
+
meetingId: r.meeting_id,
|
|
432
|
+
type:
|
|
433
|
+
r.recording_type === 'audio_only'
|
|
434
|
+
? 'audio'
|
|
435
|
+
: r.file_type === 'TRANSCRIPT'
|
|
436
|
+
? 'transcript'
|
|
437
|
+
: 'video',
|
|
438
|
+
url: r.download_url,
|
|
439
|
+
...(r.file_size !== undefined && { size: r.file_size }),
|
|
440
|
+
createdAt: new Date(r.recording_start),
|
|
441
|
+
})
|
|
442
|
+
)
|
|
436
443
|
} catch (error) {
|
|
437
444
|
if (error instanceof Error && error.message.includes('404')) {
|
|
438
445
|
return []
|
|
@@ -446,6 +453,4 @@ export function createZoomProvider(config: ProviderConfig): VideoConferencingPro
|
|
|
446
453
|
/**
|
|
447
454
|
* Zoom provider definition
|
|
448
455
|
*/
|
|
449
|
-
export const zoomProvider = defineProvider(zoomInfo, async (config) =>
|
|
450
|
-
createZoomProvider(config)
|
|
451
|
-
)
|
|
456
|
+
export const zoomProvider = defineProvider(zoomInfo, async (config) => createZoomProvider(config))
|
package/src/tools/data.ts
CHANGED
|
@@ -48,10 +48,7 @@ export const parseJson = defineTool<
|
|
|
48
48
|
/**
|
|
49
49
|
* Stringify object to JSON
|
|
50
50
|
*/
|
|
51
|
-
export const stringifyJson = defineTool<
|
|
52
|
-
{ data: unknown; pretty?: boolean },
|
|
53
|
-
{ text: string }
|
|
54
|
-
>({
|
|
51
|
+
export const stringifyJson = defineTool<{ data: unknown; pretty?: boolean }, { text: string }>({
|
|
55
52
|
id: 'data.json.stringify',
|
|
56
53
|
name: 'Stringify JSON',
|
|
57
54
|
description: 'Convert an object to a JSON string',
|
|
@@ -66,9 +63,7 @@ export const stringifyJson = defineTool<
|
|
|
66
63
|
required: ['data'],
|
|
67
64
|
},
|
|
68
65
|
handler: async (input) => {
|
|
69
|
-
const text = input.pretty
|
|
70
|
-
? JSON.stringify(input.data, null, 2)
|
|
71
|
-
: JSON.stringify(input.data)
|
|
66
|
+
const text = input.pretty ? JSON.stringify(input.data, null, 2) : JSON.stringify(input.data)
|
|
72
67
|
return { text }
|
|
73
68
|
},
|
|
74
69
|
options: {
|
|
@@ -108,9 +103,10 @@ export const parseCsv = defineTool<
|
|
|
108
103
|
return { rows: [], headers: [], rowCount: 0 }
|
|
109
104
|
}
|
|
110
105
|
|
|
106
|
+
const firstLine = lines[0]!
|
|
111
107
|
const headers = hasHeaders
|
|
112
|
-
?
|
|
113
|
-
:
|
|
108
|
+
? firstLine.split(delimiter).map((h) => h.trim())
|
|
109
|
+
: firstLine.split(delimiter).map((_, i) => `column${i + 1}`)
|
|
114
110
|
|
|
115
111
|
const dataLines = hasHeaders ? lines.slice(1) : lines
|
|
116
112
|
|
|
@@ -227,10 +223,4 @@ export const filterData = defineTool<
|
|
|
227
223
|
/**
|
|
228
224
|
* All data tools
|
|
229
225
|
*/
|
|
230
|
-
export const dataTools: AnyTool[] = [
|
|
231
|
-
parseJson,
|
|
232
|
-
stringifyJson,
|
|
233
|
-
parseCsv,
|
|
234
|
-
transformData,
|
|
235
|
-
filterData,
|
|
236
|
-
]
|
|
226
|
+
export const dataTools: AnyTool[] = [parseJson, stringifyJson, parseCsv, transformData, filterData]
|
package/src/tools/index.ts
CHANGED