@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.
- package/dist/index.d.ts +10076 -28
- package/dist/index.js +3328 -29
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
- package/dist/agent-memory.d.ts +0 -21
- package/dist/agent-memory.d.ts.map +0 -1
- package/dist/agent-memory.js +0 -11
- package/dist/agent-memory.js.map +0 -1
- package/dist/ai-models.d.ts +0 -4
- package/dist/ai-models.d.ts.map +0 -1
- package/dist/ai-models.js +0 -31
- package/dist/ai-models.js.map +0 -1
- package/dist/api-schema.d.ts +0 -38
- package/dist/api-schema.d.ts.map +0 -1
- package/dist/api-schema.js +0 -26
- package/dist/api-schema.js.map +0 -1
- package/dist/bubble-definition-schema.d.ts +0 -840
- package/dist/bubble-definition-schema.d.ts.map +0 -1
- package/dist/bubble-definition-schema.js +0 -297
- package/dist/bubble-definition-schema.js.map +0 -1
- package/dist/bubbleflow-execution-schema.d.ts +0 -1261
- package/dist/bubbleflow-execution-schema.d.ts.map +0 -1
- package/dist/bubbleflow-execution-schema.js +0 -354
- package/dist/bubbleflow-execution-schema.js.map +0 -1
- package/dist/bubbleflow-generation-prompts.d.ts +0 -25
- package/dist/bubbleflow-generation-prompts.d.ts.map +0 -1
- package/dist/bubbleflow-generation-prompts.js +0 -426
- package/dist/bubbleflow-generation-prompts.js.map +0 -1
- package/dist/bubbleflow-schema.d.ts +0 -2071
- package/dist/bubbleflow-schema.d.ts.map +0 -1
- package/dist/bubbleflow-schema.js +0 -336
- package/dist/bubbleflow-schema.js.map +0 -1
- package/dist/coffee.d.ts +0 -2201
- package/dist/coffee.d.ts.map +0 -1
- package/dist/coffee.js +0 -258
- package/dist/coffee.js.map +0 -1
- package/dist/credential-schema.d.ts +0 -419
- package/dist/credential-schema.d.ts.map +0 -1
- package/dist/credential-schema.js +0 -458
- package/dist/credential-schema.js.map +0 -1
- package/dist/cron-utils.d.ts +0 -47
- package/dist/cron-utils.d.ts.map +0 -1
- package/dist/cron-utils.js +0 -228
- package/dist/cron-utils.js.map +0 -1
- package/dist/database-definition-schema.d.ts +0 -97
- package/dist/database-definition-schema.d.ts.map +0 -1
- package/dist/database-definition-schema.js +0 -36
- package/dist/database-definition-schema.js.map +0 -1
- package/dist/error-enhancer.d.ts +0 -6
- package/dist/error-enhancer.d.ts.map +0 -1
- package/dist/error-enhancer.js +0 -88
- package/dist/error-enhancer.js.map +0 -1
- package/dist/generate-bubbleflow-schema.d.ts +0 -1525
- package/dist/generate-bubbleflow-schema.d.ts.map +0 -1
- package/dist/generate-bubbleflow-schema.js +0 -304
- package/dist/generate-bubbleflow-schema.js.map +0 -1
- package/dist/hash-utils.d.ts +0 -26
- package/dist/hash-utils.d.ts.map +0 -1
- package/dist/hash-utils.js +0 -37
- package/dist/hash-utils.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/milk-tea.d.ts +0 -106
- package/dist/milk-tea.d.ts.map +0 -1
- package/dist/milk-tea.js +0 -71
- package/dist/milk-tea.js.map +0 -1
- package/dist/mock-data-generator.d.ts +0 -51
- package/dist/mock-data-generator.d.ts.map +0 -1
- package/dist/mock-data-generator.js +0 -335
- package/dist/mock-data-generator.js.map +0 -1
- package/dist/oauth-schema.d.ts +0 -61
- package/dist/oauth-schema.d.ts.map +0 -1
- package/dist/oauth-schema.js +0 -75
- package/dist/oauth-schema.js.map +0 -1
- package/dist/param-utils.d.ts +0 -10
- package/dist/param-utils.d.ts.map +0 -1
- package/dist/param-utils.js +0 -13
- package/dist/param-utils.js.map +0 -1
- package/dist/pearl.d.ts +0 -346
- package/dist/pearl.d.ts.map +0 -1
- package/dist/pearl.js +0 -90
- package/dist/pearl.js.map +0 -1
- package/dist/storage-utils.d.ts +0 -19
- package/dist/storage-utils.d.ts.map +0 -1
- package/dist/storage-utils.js +0 -54
- package/dist/storage-utils.js.map +0 -1
- package/dist/streaming-events.d.ts +0 -132
- package/dist/streaming-events.d.ts.map +0 -1
- package/dist/streaming-events.js +0 -5
- package/dist/streaming-events.js.map +0 -1
- package/dist/subscription-status-schema.d.ts +0 -250
- package/dist/subscription-status-schema.d.ts.map +0 -1
- package/dist/subscription-status-schema.js +0 -144
- package/dist/subscription-status-schema.js.map +0 -1
- package/dist/trigger.d.ts +0 -113
- package/dist/trigger.d.ts.map +0 -1
- package/dist/trigger.js +0 -12
- package/dist/trigger.js.map +0 -1
- package/dist/types.d.ts +0 -29
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -43
- package/dist/types.js.map +0 -1
- package/dist/waitlist-schema.d.ts +0 -30
- package/dist/waitlist-schema.d.ts.map +0 -1
- package/dist/waitlist-schema.js +0 -39
- package/dist/waitlist-schema.js.map +0 -1
- package/dist/webhook-schema.d.ts +0 -95
- package/dist/webhook-schema.d.ts.map +0 -1
- package/dist/webhook-schema.js +0 -50
- 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":"AAAA,OAAO,EAAc,cAAc,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAmC;IAChE,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,gBAAgB;IAC9C,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,gBAAgB;IACrD,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,mBAAmB;IACpD,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,oBAAoB;IACxD,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,8BAA8B;IAC9D,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,aAAa;IAC1C,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,oBAAoB;IACzD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,gBAAgB;IAC9C,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,oBAAoB;IACtD,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE,0BAA0B;IACrE,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE,0BAA0B;IACrE,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE,0BAA0B;IACrE,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,iBAAiB;IAC9C,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,oBAAoB;IACzD,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,EAAE;IACtC,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,EAAE;IAC/B,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,EAAE;IACvC,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAE,EAAE;IACzC,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE;IAC7B,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,cAAc;IAC7C,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,aAAa;IAC3C,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,kBAAkB;IAClD,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,EAAE;IACvC,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,mBAAmB;IACvD,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,kBAAkB;CACtD,CAAC;AAEF,+BAA+B;AAC/B,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAiB;IACxD,cAAc,CAAC,kBAAkB;IACjC,cAAc,CAAC,iBAAiB;IAChC,cAAc,CAAC,WAAW;IAC1B,cAAc,CAAC,cAAc;IAC7B,cAAc,CAAC,WAAW;IAC1B,cAAc,CAAC,eAAe;IAC9B,oCAAoC;IACpC,cAAc,CAAC,wBAAwB;IACvC,cAAc,CAAC,wBAAwB;IACvC,cAAc,CAAC,wBAAwB;IACvC,uBAAuB;IACvB,cAAc,CAAC,UAAU;CAC1B,CAAC,CAAC;AAoCH;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAA+C;IACzE,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE;YACf,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE;gBAClC,WAAW,EAAE,cAAc;gBAC3B,aAAa,EAAE;oBACb,4CAA4C;oBAC5C,2CAA2C;oBAC3C,8CAA8C;oBAC9C,uCAAuC;iBACxC;gBACD,WAAW,EAAE,uCAAuC;gBACpD,iBAAiB,EAAE;oBACjB;wBACE,KAAK,EAAE,4CAA4C;wBACnD,WAAW,EACT,sFAAsF;wBACxF,cAAc,EAAE,IAAI;qBACrB;oBACD;wBACE,KAAK,EAAE,2CAA2C;wBAClD,WAAW,EAAE,4CAA4C;wBACzD,cAAc,EAAE,IAAI;qBACrB;oBACD;wBACE,KAAK,EAAE,8CAA8C;wBACrD,WAAW,EAAE,iDAAiD;wBAC9D,cAAc,EAAE,IAAI;qBACrB;oBACD;wBACE,KAAK,EAAE,uCAAuC;wBAC9C,WAAW,EACT,0KAA0K;wBAC5K,cAAc,EAAE,KAAK;qBACtB;iBACF;aACF;YACD,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;gBAC3B,WAAW,EAAE,OAAO;gBACpB,aAAa,EAAE;oBACb,4CAA4C;oBAC5C,8CAA8C;iBAC/C;gBACD,WAAW,EAAE,iCAAiC;gBAC9C,iBAAiB,EAAE;oBACjB;wBACE,KAAK,EAAE,4CAA4C;wBACnD,WAAW,EAAE,2BAA2B;wBACxC,cAAc,EAAE,IAAI;qBACrB;oBACD;wBACE,KAAK,EAAE,8CAA8C;wBACrD,WAAW,EACT,qKAAqK;wBACvK,cAAc,EAAE,KAAK;qBACtB;iBACF;aACF;YACD,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE;gBACnC,WAAW,EAAE,eAAe;gBAC5B,aAAa,EAAE,CAAC,8CAA8C,CAAC;gBAC/D,WAAW,EACT,+DAA+D;gBACjE,iBAAiB,EAAE;oBACjB;wBACE,KAAK,EAAE,8CAA8C;wBACrD,WAAW,EAAE,iDAAiD;wBAC9D,cAAc,EAAE,IAAI;qBACrB;iBACF;aACF;YACD,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAE;gBACrC,WAAW,EAAE,iBAAiB;gBAC9B,aAAa,EAAE,CAAC,0CAA0C,CAAC;gBAC3D,WAAW,EAAE,wDAAwD;gBACrE,iBAAiB,EAAE;oBACjB;wBACE,KAAK,EAAE,0CAA0C;wBACjD,WAAW,EAAE,8CAA8C;wBAC3D,cAAc,EAAE,IAAI;qBACrB;iBACF;aACF;SACF;QACD,mBAAmB,EAAE;YACnB,WAAW,EAAE,SAAS,EAAE,8BAA8B;YACtD,MAAM,EAAE,SAAS,EAAE,yDAAyD;SAC7E;KACF;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,gBAAgB;QAC7B,eAAe,EAAE;YACf,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;gBACzB,WAAW,EAAE,gBAAgB;gBAC7B,aAAa,EAAE,EAAE,EAAE,kCAAkC;gBACrD,WAAW,EACT,yEAAyE;aAC5E;SACF;QACD,mBAAmB,EAAE;YACnB,aAAa,EAAE,WAAW,EAAE,kDAAkD;YAC9E,MAAM,EAAE,OAAO,EAAE,kDAAkD;SACpE;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE;YACf,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE;gBACnC,WAAW,EAAE,kBAAkB;gBAC/B,aAAa,EAAE,EAAE,EAAE,4DAA4D;gBAC/E,WAAW,EACT,qFAAqF;aACxF;SACF;KACF;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,cAA8B;IAE9B,KAAK,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QACrE,IAAI,MAAM,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC;YAC3C,OAAO,YAA6B,CAAC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,cAA8B;IAC9D,OAAO,gBAAgB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,cAA8B;IAE9B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,cAAc,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,gBAAgB,GAAG,cAAc,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IAEzE,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;QACzC,0EAA0E;QAC1E,OAAO,CACL,gBAAgB,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC9C,KAAK;YACL,WAAW,EAAE,WAAW,KAAK,EAAE;YAC/B,cAAc,EAAE,IAAI,EAAE,yCAAyC;SAChE,CAAC,CAAC,IAAI,EAAE,CACV,CAAC;IACJ,CAAC;IAED,OAAO,gBAAgB,CAAC,iBAAiB,CAAC;AAC5C,CAAC;AAOD;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAyC;IAC7E,UAAU,EAAE;QACV,cAAc,CAAC,WAAW;QAC1B,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,cAAc;QAC7B,cAAc,CAAC,iBAAiB;QAChC,cAAc,CAAC,eAAe;KAC/B;IACD,UAAU,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC;IAC1C,KAAK,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;IAClC,QAAQ,EAAE,CAAC,cAAc,CAAC,kBAAkB,CAAC;IAC7C,MAAM,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC;IACpC,mBAAmB,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC;IACnD,gBAAgB,EAAE;QAChB,cAAc,CAAC,UAAU;QACzB,cAAc,CAAC,WAAW;QAC1B,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,cAAc;KAC9B;IACD,uBAAuB,EAAE;QACvB,cAAc,CAAC,WAAW;QAC1B,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,cAAc;KAC9B;IACD,sBAAsB,EAAE;QACtB,cAAc,CAAC,aAAa;QAC5B,cAAc,CAAC,UAAU;QACzB,cAAc,CAAC,WAAW;QAC1B,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,cAAc;KAC9B;IACD,aAAa,EAAE,EAAE;IACjB,IAAI,EAAE,EAAE;IACR,yBAAyB,EAAE,EAAE;IAC7B,mBAAmB,EAAE,EAAE;IACvB,gBAAgB,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC;IAChD,eAAe,EAAE,EAAE;IACnB,4BAA4B,EAAE,EAAE;IAChC,gBAAgB,EAAE,CAAC,cAAc,CAAC,eAAe,CAAC;IAClD,iBAAiB,EAAE,CAAC,cAAc,CAAC,iBAAiB,CAAC;IACrD,iBAAiB,EAAE,CAAC,cAAc,CAAC,iBAAiB,CAAC;IACrD,gBAAgB,EAAE;QAChB,cAAc,CAAC,iBAAiB;QAChC,cAAc,CAAC,kBAAkB;KAClC;IACD,kBAAkB,EAAE,CAAC,cAAc,CAAC,iBAAiB,CAAC;IACtD,qBAAqB,EAAE;QACrB,cAAc,CAAC,iBAAiB;QAChC,cAAc,CAAC,kBAAkB;KAClC;IACD,oBAAoB,EAAE,EAAE;IACxB,2BAA2B,EAAE,EAAE;IAC/B,sBAAsB,EAAE;QACtB,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,eAAe;KAC/B;IACD,qBAAqB,EAAE;QACrB,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,WAAW;QAC1B,cAAc,CAAC,cAAc;QAC7B,cAAc,CAAC,eAAe;KAC/B;IACD,kBAAkB,EAAE;QAClB,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,WAAW;QAC1B,cAAc,CAAC,cAAc;QAC7B,cAAc,CAAC,eAAe;KAC/B;IACD,4BAA4B,EAAE;QAC5B,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,WAAW;QAC1B,cAAc,CAAC,cAAc;QAC7B,cAAc,CAAC,eAAe;KAC/B;IACD,yBAAyB,EAAE;QACzB,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,WAAW;QAC1B,cAAc,CAAC,cAAc;QAC7B,cAAc,CAAC,eAAe;QAC9B,cAAc,CAAC,wBAAwB;QACvC,cAAc,CAAC,wBAAwB;QACvC,cAAc,CAAC,wBAAwB;KACxC;IACD,OAAO,EAAE;QACP,cAAc,CAAC,wBAAwB;QACvC,cAAc,CAAC,wBAAwB;QACvC,cAAc,CAAC,wBAAwB;KACxC;IACD,cAAc,EAAE,CAAC,cAAc,CAAC,iBAAiB,CAAC;IAClD,KAAK,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;IAClC,eAAe,EAAE,CAAC,cAAc,CAAC,kBAAkB,CAAC;IACpD,iBAAiB,EAAE,CAAC,cAAc,CAAC,oBAAoB,CAAC;IACxD,KAAK,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;IAClC,gBAAgB,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;IAC7C,eAAe,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;IAC5C,aAAa,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;IAC1C,cAAc,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;IAC3C,kBAAkB,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;IAC/C,cAAc,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;IAC3C,MAAM,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC;IACrC,aAAa,EAAE,CAAC,cAAc,CAAC,kBAAkB,CAAC;IAClD,YAAY,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC;IACvC,SAAS,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC;IACvC,QAAQ,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC;IACxC,MAAM,EAAE,CAAC,cAAc,CAAC,kBAAkB,CAAC;IAC3C,SAAS,EAAE,CAAC,cAAc,CAAC,iBAAiB,CAAC;IAC7C,aAAa,EAAE;QACb,cAAc,CAAC,iBAAiB;QAChC,cAAc,CAAC,gBAAgB;KAChC;CACF,CAAC;AAEF,+CAA+C;AAC/C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,cAAc,EAAE,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;QACnD,WAAW,EAAE,6BAA6B;QAC1C,OAAO,EAAE,cAAc,CAAC,WAAW;KACpC,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/B,WAAW,EAAE,0CAA0C;QACvD,OAAO,EAAE,qBAAqB;KAC/B,CAAC;IACF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QAClC,WAAW,EAAE,gDAAgD;QAC7D,OAAO,EAAE,eAAe;KACzB,CAAC;IACF,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QAC7C,WAAW,EACT,mEAAmE;QACrE,OAAO,EAAE,KAAK;KACf,CAAC;IACF,wBAAwB,EAAE,CAAC;SACxB,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;SAC/B,QAAQ,EAAE;SACV,OAAO,CAAC;QACP,WAAW,EACT,oFAAoF;QACtF,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;KAC7B,CAAC;IACJ,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QAClD,WAAW,EACT,gFAAgF;QAClF,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,KAAK,EAAE;oBACL,EAAE,EAAE,SAAS;oBACb,KAAK,EAAE,mBAAmB;oBAC1B,UAAU,EAAE,0BAA0B;iBACvC;aACF;YACD,KAAK,EAAE;gBACL;oBACE,EAAE,EAAE,QAAQ;oBACZ,IAAI,EAAE,iCAAiC;oBACvC,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,sBAAsB;oBACjC,SAAS,EAAE,sBAAsB;iBAClC;aACF;SACF;KACF,CAAC;CACH,CAAC;KACD,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAEtC,kDAAkD;AAClD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QACnC,WAAW,EACT,8EAA8E;QAChF,OAAO,EAAE,qBAAqB;KAC/B,CAAC;IACF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QAClC,WAAW,EAAE,gDAAgD;QAC7D,OAAO,EAAE,eAAe;KACzB,CAAC;IACF,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QAC7C,WAAW,EACT,mEAAmE;QACrE,OAAO,EAAE,KAAK;KACf,CAAC;IACF,wBAAwB,EAAE,CAAC;SACxB,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;SAC/B,QAAQ,EAAE;SACV,OAAO,CAAC;QACP,WAAW,EACT,oFAAoF;QACtF,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;KAC7B,CAAC;IACJ,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QAClD,WAAW,EACT,gFAAgF;QAClF,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,KAAK,EAAE;oBACL,EAAE,EAAE,SAAS;oBACb,KAAK,EAAE,mBAAmB;oBAC1B,UAAU,EAAE,0BAA0B;iBACvC;aACF;SACF;KACF,CAAC;CACH,CAAC;KACD,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACtC,+CAA+C;AAC/C,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IACxD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACzE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACvE,QAAQ,EAAE,sBAAsB;SAC7B,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;IAClD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;IAEpE,wBAAwB;IACxB,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,WAAW,EAAE,qCAAqC,EAAE,CAAC;IAClE,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;IAClD,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC;IAC/D,WAAW,EAAE,CAAC;SACX,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC;IACnD,WAAW,EAAE,CAAC;SACX,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;SAC5C,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;CAClD,CAAC;KACD,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEjC,iDAAiD;AACjD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC;KAC5C,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IACxD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;CAChE,CAAC;KACD,OAAO,CAAC,0BAA0B,CAAC,CAAC;AAEvC,oDAAoD;AACpD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC;KAC5C,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IACxD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;CAChE,CAAC;KACD,OAAO,CAAC,0BAA0B,CAAC,CAAC;AAEvC,oHAAoH;AACpH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;CAChE,CAAC;KACD,OAAO,CAAC,wBAAwB,CAAC,CAAC"}
|
package/dist/cron-utils.d.ts
DELETED
|
@@ -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
|
package/dist/cron-utils.d.ts.map
DELETED
|
@@ -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"}
|