@bubblelab/shared-schemas 0.1.11 → 0.1.13

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 (109) hide show
  1. package/dist/index.d.ts +10076 -28
  2. package/dist/index.js +3328 -29
  3. package/dist/index.js.map +1 -1
  4. package/package.json +3 -2
  5. package/dist/agent-memory.d.ts +0 -21
  6. package/dist/agent-memory.d.ts.map +0 -1
  7. package/dist/agent-memory.js +0 -11
  8. package/dist/agent-memory.js.map +0 -1
  9. package/dist/ai-models.d.ts +0 -4
  10. package/dist/ai-models.d.ts.map +0 -1
  11. package/dist/ai-models.js +0 -31
  12. package/dist/ai-models.js.map +0 -1
  13. package/dist/api-schema.d.ts +0 -38
  14. package/dist/api-schema.d.ts.map +0 -1
  15. package/dist/api-schema.js +0 -26
  16. package/dist/api-schema.js.map +0 -1
  17. package/dist/bubble-definition-schema.d.ts +0 -840
  18. package/dist/bubble-definition-schema.d.ts.map +0 -1
  19. package/dist/bubble-definition-schema.js +0 -297
  20. package/dist/bubble-definition-schema.js.map +0 -1
  21. package/dist/bubbleflow-execution-schema.d.ts +0 -1261
  22. package/dist/bubbleflow-execution-schema.d.ts.map +0 -1
  23. package/dist/bubbleflow-execution-schema.js +0 -354
  24. package/dist/bubbleflow-execution-schema.js.map +0 -1
  25. package/dist/bubbleflow-generation-prompts.d.ts +0 -25
  26. package/dist/bubbleflow-generation-prompts.d.ts.map +0 -1
  27. package/dist/bubbleflow-generation-prompts.js +0 -426
  28. package/dist/bubbleflow-generation-prompts.js.map +0 -1
  29. package/dist/bubbleflow-schema.d.ts +0 -2071
  30. package/dist/bubbleflow-schema.d.ts.map +0 -1
  31. package/dist/bubbleflow-schema.js +0 -336
  32. package/dist/bubbleflow-schema.js.map +0 -1
  33. package/dist/coffee.d.ts +0 -2201
  34. package/dist/coffee.d.ts.map +0 -1
  35. package/dist/coffee.js +0 -258
  36. package/dist/coffee.js.map +0 -1
  37. package/dist/credential-schema.d.ts +0 -419
  38. package/dist/credential-schema.d.ts.map +0 -1
  39. package/dist/credential-schema.js +0 -458
  40. package/dist/credential-schema.js.map +0 -1
  41. package/dist/cron-utils.d.ts +0 -47
  42. package/dist/cron-utils.d.ts.map +0 -1
  43. package/dist/cron-utils.js +0 -228
  44. package/dist/cron-utils.js.map +0 -1
  45. package/dist/database-definition-schema.d.ts +0 -97
  46. package/dist/database-definition-schema.d.ts.map +0 -1
  47. package/dist/database-definition-schema.js +0 -36
  48. package/dist/database-definition-schema.js.map +0 -1
  49. package/dist/error-enhancer.d.ts +0 -6
  50. package/dist/error-enhancer.d.ts.map +0 -1
  51. package/dist/error-enhancer.js +0 -88
  52. package/dist/error-enhancer.js.map +0 -1
  53. package/dist/generate-bubbleflow-schema.d.ts +0 -1525
  54. package/dist/generate-bubbleflow-schema.d.ts.map +0 -1
  55. package/dist/generate-bubbleflow-schema.js +0 -304
  56. package/dist/generate-bubbleflow-schema.js.map +0 -1
  57. package/dist/hash-utils.d.ts +0 -26
  58. package/dist/hash-utils.d.ts.map +0 -1
  59. package/dist/hash-utils.js +0 -37
  60. package/dist/hash-utils.js.map +0 -1
  61. package/dist/index.d.ts.map +0 -1
  62. package/dist/milk-tea.d.ts +0 -106
  63. package/dist/milk-tea.d.ts.map +0 -1
  64. package/dist/milk-tea.js +0 -71
  65. package/dist/milk-tea.js.map +0 -1
  66. package/dist/mock-data-generator.d.ts +0 -51
  67. package/dist/mock-data-generator.d.ts.map +0 -1
  68. package/dist/mock-data-generator.js +0 -335
  69. package/dist/mock-data-generator.js.map +0 -1
  70. package/dist/oauth-schema.d.ts +0 -61
  71. package/dist/oauth-schema.d.ts.map +0 -1
  72. package/dist/oauth-schema.js +0 -75
  73. package/dist/oauth-schema.js.map +0 -1
  74. package/dist/param-utils.d.ts +0 -10
  75. package/dist/param-utils.d.ts.map +0 -1
  76. package/dist/param-utils.js +0 -13
  77. package/dist/param-utils.js.map +0 -1
  78. package/dist/pearl.d.ts +0 -346
  79. package/dist/pearl.d.ts.map +0 -1
  80. package/dist/pearl.js +0 -90
  81. package/dist/pearl.js.map +0 -1
  82. package/dist/storage-utils.d.ts +0 -19
  83. package/dist/storage-utils.d.ts.map +0 -1
  84. package/dist/storage-utils.js +0 -54
  85. package/dist/storage-utils.js.map +0 -1
  86. package/dist/streaming-events.d.ts +0 -132
  87. package/dist/streaming-events.d.ts.map +0 -1
  88. package/dist/streaming-events.js +0 -5
  89. package/dist/streaming-events.js.map +0 -1
  90. package/dist/subscription-status-schema.d.ts +0 -250
  91. package/dist/subscription-status-schema.d.ts.map +0 -1
  92. package/dist/subscription-status-schema.js +0 -144
  93. package/dist/subscription-status-schema.js.map +0 -1
  94. package/dist/trigger.d.ts +0 -113
  95. package/dist/trigger.d.ts.map +0 -1
  96. package/dist/trigger.js +0 -12
  97. package/dist/trigger.js.map +0 -1
  98. package/dist/types.d.ts +0 -29
  99. package/dist/types.d.ts.map +0 -1
  100. package/dist/types.js +0 -43
  101. package/dist/types.js.map +0 -1
  102. package/dist/waitlist-schema.d.ts +0 -30
  103. package/dist/waitlist-schema.d.ts.map +0 -1
  104. package/dist/waitlist-schema.js +0 -39
  105. package/dist/waitlist-schema.js.map +0 -1
  106. package/dist/webhook-schema.d.ts +0 -95
  107. package/dist/webhook-schema.d.ts.map +0 -1
  108. package/dist/webhook-schema.js +0 -50
  109. package/dist/webhook-schema.js.map +0 -1
@@ -1,458 +0,0 @@
1
- import { CredentialType } from './types.js';
2
- import { z } from '@hono/zod-openapi';
3
- import { databaseMetadataSchema } from './database-definition-schema.js';
4
- /**
5
- * Maps credential types to their environment variable names (for backend only!!!!)
6
- */
7
- export const CREDENTIAL_ENV_MAP = {
8
- [CredentialType.OPENAI_CRED]: 'OPENAI_API_KEY',
9
- [CredentialType.GOOGLE_GEMINI_CRED]: 'GOOGLE_API_KEY',
10
- [CredentialType.ANTHROPIC_CRED]: 'ANTHROPIC_API_KEY',
11
- [CredentialType.FIRECRAWL_API_KEY]: 'FIRE_CRAWL_API_KEY',
12
- [CredentialType.DATABASE_CRED]: 'BUBBLE_CONNECTING_STRING_URL',
13
- [CredentialType.SLACK_CRED]: 'SLACK_TOKEN',
14
- [CredentialType.TELEGRAM_BOT_TOKEN]: 'TELEGRAM_BOT_TOKEN',
15
- [CredentialType.RESEND_CRED]: 'RESEND_API_KEY',
16
- [CredentialType.OPENROUTER_CRED]: 'OPENROUTER_API_KEY',
17
- [CredentialType.CLOUDFLARE_R2_ACCESS_KEY]: 'CLOUDFLARE_R2_ACCESS_KEY',
18
- [CredentialType.CLOUDFLARE_R2_SECRET_KEY]: 'CLOUDFLARE_R2_SECRET_KEY',
19
- [CredentialType.CLOUDFLARE_R2_ACCOUNT_ID]: 'CLOUDFLARE_R2_ACCOUNT_ID',
20
- [CredentialType.APIFY_CRED]: 'APIFY_API_TOKEN',
21
- [CredentialType.ELEVENLABS_API_KEY]: 'ELEVENLABS_API_KEY',
22
- [CredentialType.GOOGLE_DRIVE_CRED]: '',
23
- [CredentialType.GMAIL_CRED]: '',
24
- [CredentialType.GOOGLE_SHEETS_CRED]: '',
25
- [CredentialType.GOOGLE_CALENDAR_CRED]: '',
26
- [CredentialType.FUB_CRED]: '',
27
- [CredentialType.GITHUB_TOKEN]: 'GITHUB_TOKEN',
28
- [CredentialType.AGI_API_KEY]: 'AGI_API_KEY',
29
- [CredentialType.AIRTABLE_CRED]: 'AIRTABLE_API_KEY',
30
- [CredentialType.NOTION_OAUTH_TOKEN]: '',
31
- [CredentialType.INSFORGE_BASE_URL]: 'INSFORGE_BASE_URL',
32
- [CredentialType.INSFORGE_API_KEY]: 'INSFORGE_API_KEY',
33
- };
34
- /** Used by bubblelab studio */
35
- export const SYSTEM_CREDENTIALS = new Set([
36
- CredentialType.GOOGLE_GEMINI_CRED,
37
- CredentialType.FIRECRAWL_API_KEY,
38
- CredentialType.OPENAI_CRED,
39
- CredentialType.ANTHROPIC_CRED,
40
- CredentialType.RESEND_CRED,
41
- CredentialType.OPENROUTER_CRED,
42
- // Cloudflare R2 Storage credentials
43
- CredentialType.CLOUDFLARE_R2_ACCESS_KEY,
44
- CredentialType.CLOUDFLARE_R2_SECRET_KEY,
45
- CredentialType.CLOUDFLARE_R2_ACCOUNT_ID,
46
- // Scraping credentials
47
- CredentialType.APIFY_CRED,
48
- ]);
49
- /**
50
- * OAuth provider configurations - single source of truth for OAuth providers
51
- * Contains all information needed by frontend and backend
52
- */
53
- export const OAUTH_PROVIDERS = {
54
- google: {
55
- name: 'google',
56
- displayName: 'Google',
57
- credentialTypes: {
58
- [CredentialType.GOOGLE_DRIVE_CRED]: {
59
- displayName: 'Google Drive',
60
- defaultScopes: [
61
- 'https://www.googleapis.com/auth/drive.file',
62
- 'https://www.googleapis.com/auth/documents',
63
- 'https://www.googleapis.com/auth/spreadsheets',
64
- 'https://www.googleapis.com/auth/drive',
65
- ],
66
- description: 'Access Google Drive files and folders',
67
- scopeDescriptions: [
68
- {
69
- scope: 'https://www.googleapis.com/auth/drive.file',
70
- description: 'View and manage Google Drive files and folders that you have created with Bubble Lab',
71
- defaultEnabled: true,
72
- },
73
- {
74
- scope: 'https://www.googleapis.com/auth/documents',
75
- description: 'View and manage your Google Docs documents',
76
- defaultEnabled: true,
77
- },
78
- {
79
- scope: 'https://www.googleapis.com/auth/spreadsheets',
80
- description: 'View and manage your Google Sheets spreadsheets',
81
- defaultEnabled: true,
82
- },
83
- {
84
- scope: 'https://www.googleapis.com/auth/drive',
85
- description: 'View and manage all ofyour Google Drive files and folders (will see a warning about an "untrusted app" during authentication. Choose only if you need extra permissions)',
86
- defaultEnabled: false,
87
- },
88
- ],
89
- },
90
- [CredentialType.GMAIL_CRED]: {
91
- displayName: 'Gmail',
92
- defaultScopes: [
93
- 'https://www.googleapis.com/auth/gmail.send',
94
- 'https://www.googleapis.com/auth/gmail.modify',
95
- ],
96
- description: 'Access Gmail for sending emails',
97
- scopeDescriptions: [
98
- {
99
- scope: 'https://www.googleapis.com/auth/gmail.send',
100
- description: 'Send email on your behalf',
101
- defaultEnabled: true,
102
- },
103
- {
104
- scope: 'https://www.googleapis.com/auth/gmail.modify',
105
- description: 'View and manage all of your Gmail emails and labels (might see a warning about an "untrusted app" during authentication. Choose only if you need extra permissions)',
106
- defaultEnabled: false,
107
- },
108
- ],
109
- },
110
- [CredentialType.GOOGLE_SHEETS_CRED]: {
111
- displayName: 'Google Sheets',
112
- defaultScopes: ['https://www.googleapis.com/auth/spreadsheets'],
113
- description: 'Access Google Sheets for reading and writing spreadsheet data',
114
- scopeDescriptions: [
115
- {
116
- scope: 'https://www.googleapis.com/auth/spreadsheets',
117
- description: 'View and manage your Google Sheets spreadsheets',
118
- defaultEnabled: true,
119
- },
120
- ],
121
- },
122
- [CredentialType.GOOGLE_CALENDAR_CRED]: {
123
- displayName: 'Google Calendar',
124
- defaultScopes: ['https://www.googleapis.com/auth/calendar'],
125
- description: 'Access Google Calendar for reading and managing events',
126
- scopeDescriptions: [
127
- {
128
- scope: 'https://www.googleapis.com/auth/calendar',
129
- description: 'View and manage events on all your calendars',
130
- defaultEnabled: true,
131
- },
132
- ],
133
- },
134
- },
135
- authorizationParams: {
136
- access_type: 'offline', // Required for refresh tokens
137
- prompt: 'consent', // Force consent screen to ensure refresh token is issued
138
- },
139
- },
140
- followupboss: {
141
- name: 'followupboss',
142
- displayName: 'Follow Up Boss',
143
- credentialTypes: {
144
- [CredentialType.FUB_CRED]: {
145
- displayName: 'Follow Up Boss',
146
- defaultScopes: [], // FUB doesn't use granular scopes
147
- description: 'Access Follow Up Boss CRM for managing contacts, tasks, deals, and more',
148
- },
149
- },
150
- authorizationParams: {
151
- response_type: 'auth_code', // FUB uses 'auth_code' instead of standard 'code'
152
- prompt: 'login', // FUB supports 'login' to force re-authentication
153
- },
154
- },
155
- notion: {
156
- name: 'notion',
157
- displayName: 'Notion',
158
- credentialTypes: {
159
- [CredentialType.NOTION_OAUTH_TOKEN]: {
160
- displayName: 'Notion Workspace',
161
- defaultScopes: [], // Notion scopes are managed in the integration capabilities
162
- description: 'Authorize access to your Notion workspace for searching and reading pages/databases',
163
- },
164
- },
165
- },
166
- };
167
- /**
168
- * Get the OAuth provider for a specific credential type
169
- * Safely maps credential types to their OAuth providers
170
- */
171
- export function getOAuthProvider(credentialType) {
172
- for (const [providerName, config] of Object.entries(OAUTH_PROVIDERS)) {
173
- if (config.credentialTypes[credentialType]) {
174
- return providerName;
175
- }
176
- }
177
- return null;
178
- }
179
- /**
180
- * Check if a credential type is OAuth-based
181
- */
182
- export function isOAuthCredential(credentialType) {
183
- return getOAuthProvider(credentialType) !== null;
184
- }
185
- /**
186
- * Get scope descriptions for a specific credential type
187
- * Returns an array of scope descriptions that will be requested during OAuth
188
- */
189
- export function getScopeDescriptions(credentialType) {
190
- const provider = getOAuthProvider(credentialType);
191
- if (!provider) {
192
- return [];
193
- }
194
- const providerConfig = OAUTH_PROVIDERS[provider];
195
- const credentialConfig = providerConfig?.credentialTypes[credentialType];
196
- if (!credentialConfig?.scopeDescriptions) {
197
- // Fallback: create descriptions from scope URLs if not explicitly defined
198
- return (credentialConfig?.defaultScopes.map((scope) => ({
199
- scope,
200
- description: `Access: ${scope}`,
201
- defaultEnabled: true, // Default to enabled if in defaultScopes
202
- })) || []);
203
- }
204
- return credentialConfig.scopeDescriptions;
205
- }
206
- /**
207
- * Collection of credential options for all bubbles
208
- */
209
- export const BUBBLE_CREDENTIAL_OPTIONS = {
210
- 'ai-agent': [
211
- CredentialType.OPENAI_CRED,
212
- CredentialType.GOOGLE_GEMINI_CRED,
213
- CredentialType.ANTHROPIC_CRED,
214
- CredentialType.FIRECRAWL_API_KEY,
215
- CredentialType.OPENROUTER_CRED,
216
- ],
217
- postgresql: [CredentialType.DATABASE_CRED],
218
- slack: [CredentialType.SLACK_CRED],
219
- telegram: [CredentialType.TELEGRAM_BOT_TOKEN],
220
- resend: [CredentialType.RESEND_CRED],
221
- 'database-analyzer': [CredentialType.DATABASE_CRED],
222
- 'slack-notifier': [
223
- CredentialType.SLACK_CRED,
224
- CredentialType.OPENAI_CRED,
225
- CredentialType.GOOGLE_GEMINI_CRED,
226
- CredentialType.ANTHROPIC_CRED,
227
- ],
228
- 'slack-formatter-agent': [
229
- CredentialType.OPENAI_CRED,
230
- CredentialType.GOOGLE_GEMINI_CRED,
231
- CredentialType.ANTHROPIC_CRED,
232
- ],
233
- 'slack-data-assistant': [
234
- CredentialType.DATABASE_CRED,
235
- CredentialType.SLACK_CRED,
236
- CredentialType.OPENAI_CRED,
237
- CredentialType.GOOGLE_GEMINI_CRED,
238
- CredentialType.ANTHROPIC_CRED,
239
- ],
240
- 'hello-world': [],
241
- http: [],
242
- 'get-bubble-details-tool': [],
243
- 'list-bubbles-tool': [],
244
- 'sql-query-tool': [CredentialType.DATABASE_CRED],
245
- 'chart-js-tool': [],
246
- 'bubbleflow-validation-tool': [],
247
- 'code-edit-tool': [CredentialType.OPENROUTER_CRED],
248
- 'web-search-tool': [CredentialType.FIRECRAWL_API_KEY],
249
- 'web-scrape-tool': [CredentialType.FIRECRAWL_API_KEY],
250
- 'web-crawl-tool': [
251
- CredentialType.FIRECRAWL_API_KEY,
252
- CredentialType.GOOGLE_GEMINI_CRED,
253
- ],
254
- 'web-extract-tool': [CredentialType.FIRECRAWL_API_KEY],
255
- 'research-agent-tool': [
256
- CredentialType.FIRECRAWL_API_KEY,
257
- CredentialType.GOOGLE_GEMINI_CRED,
258
- ],
259
- 'reddit-scrape-tool': [],
260
- 'bubbleflow-code-generator': [],
261
- 'bubbleflow-generator': [
262
- CredentialType.GOOGLE_GEMINI_CRED,
263
- CredentialType.OPENROUTER_CRED,
264
- ],
265
- 'pdf-form-operations': [
266
- CredentialType.GOOGLE_GEMINI_CRED,
267
- CredentialType.OPENAI_CRED,
268
- CredentialType.ANTHROPIC_CRED,
269
- CredentialType.OPENROUTER_CRED,
270
- ],
271
- 'pdf-ocr-workflow': [
272
- CredentialType.GOOGLE_GEMINI_CRED,
273
- CredentialType.OPENAI_CRED,
274
- CredentialType.ANTHROPIC_CRED,
275
- CredentialType.OPENROUTER_CRED,
276
- ],
277
- 'generate-document-workflow': [
278
- CredentialType.GOOGLE_GEMINI_CRED,
279
- CredentialType.OPENAI_CRED,
280
- CredentialType.ANTHROPIC_CRED,
281
- CredentialType.OPENROUTER_CRED,
282
- ],
283
- 'parse-document-workflow': [
284
- CredentialType.GOOGLE_GEMINI_CRED,
285
- CredentialType.OPENAI_CRED,
286
- CredentialType.ANTHROPIC_CRED,
287
- CredentialType.OPENROUTER_CRED,
288
- CredentialType.CLOUDFLARE_R2_ACCESS_KEY,
289
- CredentialType.CLOUDFLARE_R2_SECRET_KEY,
290
- CredentialType.CLOUDFLARE_R2_ACCOUNT_ID,
291
- ],
292
- storage: [
293
- CredentialType.CLOUDFLARE_R2_ACCESS_KEY,
294
- CredentialType.CLOUDFLARE_R2_SECRET_KEY,
295
- CredentialType.CLOUDFLARE_R2_ACCOUNT_ID,
296
- ],
297
- 'google-drive': [CredentialType.GOOGLE_DRIVE_CRED],
298
- gmail: [CredentialType.GMAIL_CRED],
299
- 'google-sheets': [CredentialType.GOOGLE_SHEETS_CRED],
300
- 'google-calendar': [CredentialType.GOOGLE_CALENDAR_CRED],
301
- apify: [CredentialType.APIFY_CRED],
302
- 'instagram-tool': [CredentialType.APIFY_CRED],
303
- 'linkedin-tool': [CredentialType.APIFY_CRED],
304
- 'tiktok-tool': [CredentialType.APIFY_CRED],
305
- 'twitter-tool': [CredentialType.APIFY_CRED],
306
- 'google-maps-tool': [CredentialType.APIFY_CRED],
307
- 'youtube-tool': [CredentialType.APIFY_CRED],
308
- github: [CredentialType.GITHUB_TOKEN],
309
- 'eleven-labs': [CredentialType.ELEVENLABS_API_KEY],
310
- followupboss: [CredentialType.FUB_CRED],
311
- 'agi-inc': [CredentialType.AGI_API_KEY],
312
- airtable: [CredentialType.AIRTABLE_CRED],
313
- notion: [CredentialType.NOTION_OAUTH_TOKEN],
314
- firecrawl: [CredentialType.FIRECRAWL_API_KEY],
315
- 'insforge-db': [
316
- CredentialType.INSFORGE_BASE_URL,
317
- CredentialType.INSFORGE_API_KEY,
318
- ],
319
- };
320
- // POST /credentials - Create credential schema
321
- export const createCredentialSchema = z
322
- .object({
323
- credentialType: z.nativeEnum(CredentialType).openapi({
324
- description: 'Type of credential to store',
325
- example: CredentialType.OPENAI_CRED,
326
- }),
327
- value: z.string().min(1).openapi({
328
- description: 'The credential value (will be encrypted)',
329
- example: 'sk-1234567890abcdef',
330
- }),
331
- name: z.string().optional().openapi({
332
- description: 'Optional user-friendly name for the credential',
333
- example: 'My OpenAI Key',
334
- }),
335
- skipValidation: z.boolean().optional().openapi({
336
- description: 'Skip credential validation before storing (for testing/admin use)',
337
- example: false,
338
- }),
339
- credentialConfigurations: z
340
- .record(z.string(), z.unknown())
341
- .optional()
342
- .openapi({
343
- description: 'Optional configurations for credential validation (e.g., ignoreSSL for PostgreSQL)',
344
- example: { ignoreSSL: true },
345
- }),
346
- metadata: databaseMetadataSchema.optional().openapi({
347
- description: 'Optional metadata for the credential (e.g., database schema for DATABASE_CRED)',
348
- example: {
349
- tables: {
350
- users: {
351
- id: 'integer',
352
- email: 'character varying',
353
- created_at: 'timestamp with time zone',
354
- },
355
- },
356
- rules: [
357
- {
358
- id: 'rule-1',
359
- text: 'No direct DELETE on users table',
360
- enabled: true,
361
- createdAt: '2024-01-01T00:00:00Z',
362
- updatedAt: '2024-01-01T00:00:00Z',
363
- },
364
- ],
365
- },
366
- }),
367
- })
368
- .openapi('CreateCredentialRequest');
369
- // PUT /credentials/:id - Update credential schema
370
- export const updateCredentialSchema = z
371
- .object({
372
- value: z.string().optional().openapi({
373
- description: 'The credential value (will be encrypted). Leave empty to keep current value.',
374
- example: 'sk-1234567890abcdef',
375
- }),
376
- name: z.string().optional().openapi({
377
- description: 'Optional user-friendly name for the credential',
378
- example: 'My OpenAI Key',
379
- }),
380
- skipValidation: z.boolean().optional().openapi({
381
- description: 'Skip credential validation before storing (for testing/admin use)',
382
- example: false,
383
- }),
384
- credentialConfigurations: z
385
- .record(z.string(), z.unknown())
386
- .optional()
387
- .openapi({
388
- description: 'Optional configurations for credential validation (e.g., ignoreSSL for PostgreSQL)',
389
- example: { ignoreSSL: true },
390
- }),
391
- metadata: databaseMetadataSchema.optional().openapi({
392
- description: 'Optional metadata for the credential (e.g., database schema for DATABASE_CRED)',
393
- example: {
394
- tables: {
395
- users: {
396
- id: 'integer',
397
- email: 'character varying',
398
- created_at: 'timestamp with time zone',
399
- },
400
- },
401
- },
402
- }),
403
- })
404
- .openapi('UpdateCredentialRequest');
405
- // GET /credentials - List credentials response
406
- export const credentialResponseSchema = z
407
- .object({
408
- id: z.number().openapi({ description: 'Credential ID' }),
409
- credentialType: z.string().openapi({ description: 'Type of credential' }),
410
- name: z.string().optional().openapi({ description: 'Credential name' }),
411
- metadata: databaseMetadataSchema
412
- .optional()
413
- .openapi({ description: 'Credential metadata' }),
414
- createdAt: z.string().openapi({ description: 'Creation timestamp' }),
415
- // OAuth-specific fields
416
- isOauth: z
417
- .boolean()
418
- .optional()
419
- .openapi({ description: 'Whether this is an OAuth credential' }),
420
- oauthProvider: z
421
- .string()
422
- .optional()
423
- .openapi({ description: 'OAuth provider name' }),
424
- oauthExpiresAt: z
425
- .string()
426
- .optional()
427
- .openapi({ description: 'OAuth token expiration timestamp' }),
428
- oauthScopes: z
429
- .array(z.string())
430
- .optional()
431
- .openapi({ description: 'OAuth scopes granted' }),
432
- oauthStatus: z
433
- .enum(['active', 'expired', 'needs_refresh'])
434
- .optional()
435
- .openapi({ description: 'OAuth token status' }),
436
- })
437
- .openapi('CredentialResponse');
438
- // POST /credentials - Create credential response
439
- export const createCredentialResponseSchema = z
440
- .object({
441
- id: z.number().openapi({ description: 'Credential ID' }),
442
- message: z.string().openapi({ description: 'Success message' }),
443
- })
444
- .openapi('CreateCredentialResponse');
445
- // PUT /credentials/:id - Update credential response
446
- export const updateCredentialResponseSchema = z
447
- .object({
448
- id: z.number().openapi({ description: 'Credential ID' }),
449
- message: z.string().openapi({ description: 'Success message' }),
450
- })
451
- .openapi('UpdateCredentialResponse');
452
- // General success message response (used by DELETE /credentials/:id, DELETE /bubble-flow/:id, PUT /bubble-flow/:id)
453
- export const successMessageResponseSchema = z
454
- .object({
455
- message: z.string().openapi({ description: 'Success message' }),
456
- })
457
- .openapi('SuccessMessageResponse');
458
- //# sourceMappingURL=credential-schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"credential-schema.js","sourceRoot":"","sources":["../src/credential-schema.ts"],"names":[],"mappings":"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"}
@@ -1,47 +0,0 @@
1
- /**
2
- * Utility functions for parsing and working with cron expressions
3
- * Supports standard 5-field cron format: minute hour day month day-of-week
4
- */
5
- export interface CronExpression {
6
- minute: string;
7
- hour: string;
8
- dayOfMonth: string;
9
- month: string;
10
- dayOfWeek: string;
11
- original: string;
12
- }
13
- export interface CronScheduleInfo {
14
- expression: CronExpression;
15
- description: string;
16
- nextRun?: Date;
17
- isValid: boolean;
18
- error?: string;
19
- }
20
- /**
21
- * Parse a cron expression string into its components
22
- * @param cronString - Cron expression (e.g., "0 0 * * *")
23
- * @returns Parsed cron expression object
24
- */
25
- export declare function parseCronExpression(cronString: string): CronExpression;
26
- /**
27
- * Validate a cron expression
28
- * @param cronString - Cron expression to validate
29
- * @returns Object with validation result
30
- */
31
- export declare function validateCronExpression(cronString: string): {
32
- valid: boolean;
33
- error?: string;
34
- };
35
- /**
36
- * Generate a human-readable description of a cron expression
37
- * @param cronString - Cron expression to describe
38
- * @returns Human-readable description
39
- */
40
- export declare function describeCronExpression(cronString: string): string;
41
- /**
42
- * Get schedule information for a cron expression
43
- * @param cronString - Cron expression
44
- * @returns Schedule information including description and validation status
45
- */
46
- export declare function getCronScheduleInfo(cronString: string): CronScheduleInfo;
47
- //# sourceMappingURL=cron-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cron-utils.d.ts","sourceRoot":"","sources":["../src/cron-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,cAAc,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAmBtE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG;IAC1D,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CA0BA;AAgED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA4FjE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAmBxE"}