@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
package/dist/cron-utils.js
DELETED
|
@@ -1,228 +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
|
-
/**
|
|
6
|
-
* Parse a cron expression string into its components
|
|
7
|
-
* @param cronString - Cron expression (e.g., "0 0 * * *")
|
|
8
|
-
* @returns Parsed cron expression object
|
|
9
|
-
*/
|
|
10
|
-
export function parseCronExpression(cronString) {
|
|
11
|
-
const parts = cronString.trim().split(/\s+/);
|
|
12
|
-
if (parts.length !== 5) {
|
|
13
|
-
throw new Error(`Invalid cron expression: expected 5 fields, got ${parts.length}`);
|
|
14
|
-
}
|
|
15
|
-
const [minute, hour, dayOfMonth, month, dayOfWeek] = parts;
|
|
16
|
-
return {
|
|
17
|
-
minute,
|
|
18
|
-
hour,
|
|
19
|
-
dayOfMonth,
|
|
20
|
-
month,
|
|
21
|
-
dayOfWeek,
|
|
22
|
-
original: cronString,
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Validate a cron expression
|
|
27
|
-
* @param cronString - Cron expression to validate
|
|
28
|
-
* @returns Object with validation result
|
|
29
|
-
*/
|
|
30
|
-
export function validateCronExpression(cronString) {
|
|
31
|
-
try {
|
|
32
|
-
const expr = parseCronExpression(cronString);
|
|
33
|
-
// Validate each field
|
|
34
|
-
const validations = [
|
|
35
|
-
validateCronField(expr.minute, 0, 59, 'minute'),
|
|
36
|
-
validateCronField(expr.hour, 0, 23, 'hour'),
|
|
37
|
-
validateCronField(expr.dayOfMonth, 1, 31, 'day of month'),
|
|
38
|
-
validateCronField(expr.month, 1, 12, 'month'),
|
|
39
|
-
validateCronField(expr.dayOfWeek, 0, 6, 'day of week'),
|
|
40
|
-
];
|
|
41
|
-
for (const validation of validations) {
|
|
42
|
-
if (!validation.valid) {
|
|
43
|
-
return validation;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return { valid: true };
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
return {
|
|
50
|
-
valid: false,
|
|
51
|
-
error: error instanceof Error ? error.message : 'Invalid cron expression',
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Validate a single cron field
|
|
57
|
-
*/
|
|
58
|
-
function validateCronField(field, min, max, fieldName) {
|
|
59
|
-
// Wildcard
|
|
60
|
-
if (field === '*')
|
|
61
|
-
return { valid: true };
|
|
62
|
-
// Step values (*/n)
|
|
63
|
-
if (field.startsWith('*/')) {
|
|
64
|
-
const step = parseInt(field.substring(2), 10);
|
|
65
|
-
if (isNaN(step) || step <= 0) {
|
|
66
|
-
return {
|
|
67
|
-
valid: false,
|
|
68
|
-
error: `Invalid step value in ${fieldName}: ${field}`,
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
return { valid: true };
|
|
72
|
-
}
|
|
73
|
-
// Ranges (n-m)
|
|
74
|
-
if (field.includes('-')) {
|
|
75
|
-
const [start, end] = field.split('-').map((v) => parseInt(v, 10));
|
|
76
|
-
if (isNaN(start) || isNaN(end) || start < min || end > max || start > end) {
|
|
77
|
-
return {
|
|
78
|
-
valid: false,
|
|
79
|
-
error: `Invalid range in ${fieldName}: ${field} (must be ${min}-${max})`,
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
return { valid: true };
|
|
83
|
-
}
|
|
84
|
-
// Lists (n,m,o)
|
|
85
|
-
if (field.includes(',')) {
|
|
86
|
-
const values = field.split(',').map((v) => parseInt(v.trim(), 10));
|
|
87
|
-
for (const val of values) {
|
|
88
|
-
if (isNaN(val) || val < min || val > max) {
|
|
89
|
-
return {
|
|
90
|
-
valid: false,
|
|
91
|
-
error: `Invalid value in ${fieldName} list: ${val} (must be ${min}-${max})`,
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
return { valid: true };
|
|
96
|
-
}
|
|
97
|
-
// Single value
|
|
98
|
-
const value = parseInt(field, 10);
|
|
99
|
-
if (isNaN(value) || value < min || value > max) {
|
|
100
|
-
return {
|
|
101
|
-
valid: false,
|
|
102
|
-
error: `Invalid ${fieldName}: ${field} (must be ${min}-${max})`,
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
return { valid: true };
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Generate a human-readable description of a cron expression
|
|
109
|
-
* @param cronString - Cron expression to describe
|
|
110
|
-
* @returns Human-readable description
|
|
111
|
-
*/
|
|
112
|
-
export function describeCronExpression(cronString) {
|
|
113
|
-
try {
|
|
114
|
-
const expr = parseCronExpression(cronString);
|
|
115
|
-
// Common patterns
|
|
116
|
-
if (cronString === '* * * * *')
|
|
117
|
-
return 'Every minute';
|
|
118
|
-
if (cronString === '0 * * * *')
|
|
119
|
-
return 'Every hour';
|
|
120
|
-
if (cronString === '0 0 * * *')
|
|
121
|
-
return 'Daily at midnight';
|
|
122
|
-
if (cronString === '0 0 * * 0')
|
|
123
|
-
return 'Weekly on Sunday at midnight';
|
|
124
|
-
if (cronString === '0 0 1 * *')
|
|
125
|
-
return 'Monthly on the 1st at midnight';
|
|
126
|
-
if (cronString === '0 0 1 1 *')
|
|
127
|
-
return 'Yearly on January 1st at midnight';
|
|
128
|
-
// Step patterns
|
|
129
|
-
if (expr.minute.startsWith('*/')) {
|
|
130
|
-
const step = expr.minute.substring(2);
|
|
131
|
-
return `Every ${step} minute${step === '1' ? '' : 's'}`;
|
|
132
|
-
}
|
|
133
|
-
if (expr.hour.startsWith('*/') && expr.minute === '0') {
|
|
134
|
-
const step = expr.hour.substring(2);
|
|
135
|
-
return `Every ${step} hour${step === '1' ? '' : 's'}`;
|
|
136
|
-
}
|
|
137
|
-
// Weekday patterns
|
|
138
|
-
if (expr.dayOfWeek === '1-5' && expr.hour === '9' && expr.minute === '0') {
|
|
139
|
-
return 'Every weekday at 9:00 AM';
|
|
140
|
-
}
|
|
141
|
-
// Build description from parts
|
|
142
|
-
let description = 'At ';
|
|
143
|
-
// Time
|
|
144
|
-
if (expr.minute !== '*' && expr.hour !== '*') {
|
|
145
|
-
const hour = parseInt(expr.hour, 10);
|
|
146
|
-
const minute = parseInt(expr.minute, 10);
|
|
147
|
-
const ampm = hour >= 12 ? 'PM' : 'AM';
|
|
148
|
-
const hour12 = hour % 12 || 12;
|
|
149
|
-
description += `${hour12}:${minute.toString().padStart(2, '0')} ${ampm}`;
|
|
150
|
-
}
|
|
151
|
-
else if (expr.minute !== '*') {
|
|
152
|
-
description += `minute ${expr.minute}`;
|
|
153
|
-
}
|
|
154
|
-
else if (expr.hour !== '*') {
|
|
155
|
-
description += `hour ${expr.hour}`;
|
|
156
|
-
}
|
|
157
|
-
// Day
|
|
158
|
-
if (expr.dayOfMonth !== '*') {
|
|
159
|
-
description += ` on day ${expr.dayOfMonth}`;
|
|
160
|
-
}
|
|
161
|
-
if (expr.dayOfWeek !== '*') {
|
|
162
|
-
const days = [
|
|
163
|
-
'Sunday',
|
|
164
|
-
'Monday',
|
|
165
|
-
'Tuesday',
|
|
166
|
-
'Wednesday',
|
|
167
|
-
'Thursday',
|
|
168
|
-
'Friday',
|
|
169
|
-
'Saturday',
|
|
170
|
-
];
|
|
171
|
-
if (expr.dayOfWeek.includes('-')) {
|
|
172
|
-
const [start, end] = expr.dayOfWeek
|
|
173
|
-
.split('-')
|
|
174
|
-
.map((v) => parseInt(v, 10));
|
|
175
|
-
description += ` on ${days[start]} through ${days[end]}`;
|
|
176
|
-
}
|
|
177
|
-
else {
|
|
178
|
-
const day = parseInt(expr.dayOfWeek, 10);
|
|
179
|
-
description += ` on ${days[day]}`;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
// Month
|
|
183
|
-
if (expr.month !== '*') {
|
|
184
|
-
const months = [
|
|
185
|
-
'January',
|
|
186
|
-
'February',
|
|
187
|
-
'March',
|
|
188
|
-
'April',
|
|
189
|
-
'May',
|
|
190
|
-
'June',
|
|
191
|
-
'July',
|
|
192
|
-
'August',
|
|
193
|
-
'September',
|
|
194
|
-
'October',
|
|
195
|
-
'November',
|
|
196
|
-
'December',
|
|
197
|
-
];
|
|
198
|
-
const month = parseInt(expr.month, 10);
|
|
199
|
-
description += ` in ${months[month - 1]}`;
|
|
200
|
-
}
|
|
201
|
-
return description;
|
|
202
|
-
}
|
|
203
|
-
catch (error) {
|
|
204
|
-
return 'Invalid cron expression';
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
/**
|
|
208
|
-
* Get schedule information for a cron expression
|
|
209
|
-
* @param cronString - Cron expression
|
|
210
|
-
* @returns Schedule information including description and validation status
|
|
211
|
-
*/
|
|
212
|
-
export function getCronScheduleInfo(cronString) {
|
|
213
|
-
const validation = validateCronExpression(cronString);
|
|
214
|
-
if (!validation.valid) {
|
|
215
|
-
return {
|
|
216
|
-
expression: parseCronExpression(cronString.split(/\s+/).length === 5 ? cronString : '0 0 * * *'),
|
|
217
|
-
description: 'Invalid cron expression',
|
|
218
|
-
isValid: false,
|
|
219
|
-
error: validation.error,
|
|
220
|
-
};
|
|
221
|
-
}
|
|
222
|
-
return {
|
|
223
|
-
expression: parseCronExpression(cronString),
|
|
224
|
-
description: describeCronExpression(cronString),
|
|
225
|
-
isValid: true,
|
|
226
|
-
};
|
|
227
|
-
}
|
|
228
|
-
//# sourceMappingURL=cron-utils.js.map
|
package/dist/cron-utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cron-utils.js","sourceRoot":"","sources":["../src/cron-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Database Definition Schema
|
|
3
|
-
*
|
|
4
|
-
* This schema is designed to store database table definitions and metadata
|
|
5
|
-
*/
|
|
6
|
-
import { z } from '@hono/zod-openapi';
|
|
7
|
-
export interface DatabaseConnection {
|
|
8
|
-
id: string;
|
|
9
|
-
name: string;
|
|
10
|
-
type: 'postgresql' | 'mysql' | 'mongodb' | 'bigquery' | 'sqlite';
|
|
11
|
-
host: string;
|
|
12
|
-
port: number;
|
|
13
|
-
database: string;
|
|
14
|
-
username?: string;
|
|
15
|
-
status: 'connected' | 'disconnected' | 'error';
|
|
16
|
-
createdAt: string;
|
|
17
|
-
lastUsed: string;
|
|
18
|
-
description?: string;
|
|
19
|
-
}
|
|
20
|
-
export type DatabaseStatus = 'connected' | 'disconnected' | 'error';
|
|
21
|
-
export type DatabaseType = 'postgresql' | 'mysql' | 'mongodb' | 'bigquery' | 'sqlite';
|
|
22
|
-
export interface DatabaseColumn {
|
|
23
|
-
name: string;
|
|
24
|
-
type: string;
|
|
25
|
-
isNullable: boolean;
|
|
26
|
-
defaultValue?: string;
|
|
27
|
-
constraints?: string[];
|
|
28
|
-
}
|
|
29
|
-
export interface DatabaseTable {
|
|
30
|
-
name: string;
|
|
31
|
-
schema: string;
|
|
32
|
-
columns: DatabaseColumn[];
|
|
33
|
-
rowCount?: number;
|
|
34
|
-
size?: string;
|
|
35
|
-
}
|
|
36
|
-
export interface DatabaseSchema {
|
|
37
|
-
tables: DatabaseTable[];
|
|
38
|
-
totalTables: number;
|
|
39
|
-
totalSize?: string;
|
|
40
|
-
}
|
|
41
|
-
export declare const databaseMetadataSchema: z.ZodObject<{
|
|
42
|
-
tables: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
43
|
-
tableNotes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
44
|
-
databaseName: z.ZodOptional<z.ZodString>;
|
|
45
|
-
databaseType: z.ZodOptional<z.ZodEnum<["postgresql", "mysql", "sqlite", "mssql", "oracle"]>>;
|
|
46
|
-
rules: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
47
|
-
id: z.ZodString;
|
|
48
|
-
text: z.ZodString;
|
|
49
|
-
enabled: z.ZodBoolean;
|
|
50
|
-
createdAt: z.ZodString;
|
|
51
|
-
updatedAt: z.ZodString;
|
|
52
|
-
}, "strip", z.ZodTypeAny, {
|
|
53
|
-
id: string;
|
|
54
|
-
text: string;
|
|
55
|
-
enabled: boolean;
|
|
56
|
-
createdAt: string;
|
|
57
|
-
updatedAt: string;
|
|
58
|
-
}, {
|
|
59
|
-
id: string;
|
|
60
|
-
text: string;
|
|
61
|
-
enabled: boolean;
|
|
62
|
-
createdAt: string;
|
|
63
|
-
updatedAt: string;
|
|
64
|
-
}>, "many">>;
|
|
65
|
-
notes: z.ZodOptional<z.ZodString>;
|
|
66
|
-
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
67
|
-
}, "strip", z.ZodTypeAny, {
|
|
68
|
-
tables: Record<string, Record<string, string>>;
|
|
69
|
-
tableNotes?: Record<string, string> | undefined;
|
|
70
|
-
databaseName?: string | undefined;
|
|
71
|
-
databaseType?: "postgresql" | "mysql" | "sqlite" | "mssql" | "oracle" | undefined;
|
|
72
|
-
rules?: {
|
|
73
|
-
id: string;
|
|
74
|
-
text: string;
|
|
75
|
-
enabled: boolean;
|
|
76
|
-
createdAt: string;
|
|
77
|
-
updatedAt: string;
|
|
78
|
-
}[] | undefined;
|
|
79
|
-
notes?: string | undefined;
|
|
80
|
-
tags?: string[] | undefined;
|
|
81
|
-
}, {
|
|
82
|
-
tables: Record<string, Record<string, string>>;
|
|
83
|
-
tableNotes?: Record<string, string> | undefined;
|
|
84
|
-
databaseName?: string | undefined;
|
|
85
|
-
databaseType?: "postgresql" | "mysql" | "sqlite" | "mssql" | "oracle" | undefined;
|
|
86
|
-
rules?: {
|
|
87
|
-
id: string;
|
|
88
|
-
text: string;
|
|
89
|
-
enabled: boolean;
|
|
90
|
-
createdAt: string;
|
|
91
|
-
updatedAt: string;
|
|
92
|
-
}[] | undefined;
|
|
93
|
-
notes?: string | undefined;
|
|
94
|
-
tags?: string[] | undefined;
|
|
95
|
-
}>;
|
|
96
|
-
export type DatabaseMetadata = z.infer<typeof databaseMetadataSchema>;
|
|
97
|
-
//# sourceMappingURL=database-definition-schema.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"database-definition-schema.d.ts","sourceRoot":"","sources":["../src/database-definition-schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAGtC,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,GAAG,cAAc,GAAG,OAAO,CAAC;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,cAAc,GAAG,OAAO,CAAC;AACpE,MAAM,MAAM,YAAY,GACpB,YAAY,GACZ,OAAO,GACP,SAAS,GACT,UAAU,GACV,QAAQ,CAAC;AAGb,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Database Definition Schema
|
|
3
|
-
*
|
|
4
|
-
* This schema is designed to store database table definitions and metadata
|
|
5
|
-
*/
|
|
6
|
-
import { z } from '@hono/zod-openapi';
|
|
7
|
-
// Schema for database metadata that can be stored in credentials
|
|
8
|
-
export const databaseMetadataSchema = z.object({
|
|
9
|
-
// Core database definition - mapping of table names to column definitions
|
|
10
|
-
// Format: { [tableName]: { [columnName]: columnType } }
|
|
11
|
-
tables: z.record(z.string(), // table name
|
|
12
|
-
z.record(z.string(), // column name
|
|
13
|
-
z.string() // notes about it
|
|
14
|
-
)),
|
|
15
|
-
// Table-level notes - mapping of table names to notes about the entire table
|
|
16
|
-
tableNotes: z.record(z.string(), z.string()).optional(),
|
|
17
|
-
// Optional metadata
|
|
18
|
-
databaseName: z.string().optional(),
|
|
19
|
-
databaseType: z
|
|
20
|
-
.enum(['postgresql', 'mysql', 'sqlite', 'mssql', 'oracle'])
|
|
21
|
-
.optional(),
|
|
22
|
-
// Rules and constraints - simplified to match frontend
|
|
23
|
-
rules: z
|
|
24
|
-
.array(z.object({
|
|
25
|
-
id: z.string(),
|
|
26
|
-
text: z.string(),
|
|
27
|
-
enabled: z.boolean(),
|
|
28
|
-
createdAt: z.string(), // ISO string
|
|
29
|
-
updatedAt: z.string(), // ISO string
|
|
30
|
-
}))
|
|
31
|
-
.optional(),
|
|
32
|
-
// Additional context
|
|
33
|
-
notes: z.string().optional(),
|
|
34
|
-
tags: z.array(z.string()).optional(),
|
|
35
|
-
});
|
|
36
|
-
//# sourceMappingURL=database-definition-schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"database-definition-schema.js","sourceRoot":"","sources":["../src/database-definition-schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAgDtC,iEAAiE;AACjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,0EAA0E;IAC1E,wDAAwD;IACxD,MAAM,EAAE,CAAC,CAAC,MAAM,CACd,CAAC,CAAC,MAAM,EAAE,EAAE,aAAa;IACzB,CAAC,CAAC,MAAM,CACN,CAAC,CAAC,MAAM,EAAE,EAAE,cAAc;IAC1B,CAAC,CAAC,MAAM,EAAE,CAAC,iBAAiB;KAC7B,CACF;IACD,6EAA6E;IAC7E,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvD,oBAAoB;IACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,YAAY,EAAE,CAAC;SACZ,IAAI,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;SAC1D,QAAQ,EAAE;IACb,uDAAuD;IACvD,KAAK,EAAE,CAAC;SACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;QACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,aAAa;QACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,aAAa;KACrC,CAAC,CACH;SACA,QAAQ,EAAE;IACb,qBAAqB;IACrB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC"}
|
package/dist/error-enhancer.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enhances TypeScript error messages with helpful hints about available options
|
|
3
|
-
* for BubbleTriggerEventRegistry, BubbleError, and LogMetadata
|
|
4
|
-
*/
|
|
5
|
-
export declare function enhanceErrorMessage(errorMessage: string): string;
|
|
6
|
-
//# sourceMappingURL=error-enhancer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-enhancer.d.ts","sourceRoot":"","sources":["../src/error-enhancer.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAoGhE"}
|
package/dist/error-enhancer.js
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { BUBBLE_TRIGGER_EVENTS } from './trigger.js';
|
|
2
|
-
/**
|
|
3
|
-
* Enhances TypeScript error messages with helpful hints about available options
|
|
4
|
-
* for BubbleTriggerEventRegistry, BubbleError, and LogMetadata
|
|
5
|
-
*/
|
|
6
|
-
export function enhanceErrorMessage(errorMessage) {
|
|
7
|
-
let enhanced = errorMessage;
|
|
8
|
-
// Pattern 1: BubbleTriggerEventRegistry errors
|
|
9
|
-
// Matches: "Type 'X' does not satisfy the constraint 'keyof BubbleTriggerEventRegistry'"
|
|
10
|
-
const triggerRegistryPattern = /does not satisfy the constraint 'keyof BubbleTriggerEventRegistry'/;
|
|
11
|
-
if (triggerRegistryPattern.test(enhanced)) {
|
|
12
|
-
const availableKeys = Object.keys(BUBBLE_TRIGGER_EVENTS);
|
|
13
|
-
const hint = `\nAvailable trigger event types: ${availableKeys.map((k) => `'${k}'`).join(', ')}`;
|
|
14
|
-
enhanced = enhanced + hint;
|
|
15
|
-
}
|
|
16
|
-
// Pattern 2: Generic "keyof BubbleTriggerEventRegistry" constraint errors
|
|
17
|
-
// Matches: "Type 'X' does not satisfy the constraint 'keyof BubbleTriggerEventRegistry'"
|
|
18
|
-
const keyofTriggerPattern = /Type '([^']+)' does not satisfy the constraint 'keyof BubbleTriggerEventRegistry'/;
|
|
19
|
-
if (keyofTriggerPattern.test(enhanced) &&
|
|
20
|
-
!enhanced.includes('Available trigger event types')) {
|
|
21
|
-
const availableKeys = Object.keys(BUBBLE_TRIGGER_EVENTS);
|
|
22
|
-
const hint = `\nAvailable trigger event types: ${availableKeys.map((k) => `'${k}'`).join(', ')}`;
|
|
23
|
-
enhanced = enhanced + hint;
|
|
24
|
-
}
|
|
25
|
-
// Pattern 3: BubbleError type errors
|
|
26
|
-
// Matches whenever "BubbleError" appears in the error message
|
|
27
|
-
const bubbleErrorPattern = /BubbleError/;
|
|
28
|
-
if (bubbleErrorPattern.test(enhanced)) {
|
|
29
|
-
const hint = `\nBubbleLogger.error() method signature:\n` +
|
|
30
|
-
`- this.logger?.error(message: string, error?: BubbleError, metadata?: Partial<LogMetadata>)\n` +
|
|
31
|
-
`\nIMPORTANT: The second parameter must be a BubbleError instance, NOT a string!\n` +
|
|
32
|
-
`\n❌ INCORRECT: this.logger?.error("msg1", "msg2")\n` +
|
|
33
|
-
`❌ INCORRECT: this.logger?.error(msg1, msg2) // where msg2 is a string\n` +
|
|
34
|
-
`\n✅ CORRECT: this.logger?.error("Error message")\n` +
|
|
35
|
-
`✅ CORRECT: this.logger?.error("Error message", bubbleError)\n` +
|
|
36
|
-
`✅ CORRECT: this.logger?.error("Error message", bubbleError, { variableId: 1 })\n` +
|
|
37
|
-
`\nBubbleError minimal interface:\n` +
|
|
38
|
-
`- message: string (from Error)\n` +
|
|
39
|
-
`- variableId?: number\n` +
|
|
40
|
-
`- bubbleName?: string\n` +
|
|
41
|
-
`\nCreating a BubbleError:\n` +
|
|
42
|
-
`- new BubbleError("Error message", { variableId?: number, bubbleName?: string })\n` +
|
|
43
|
-
`- new BubbleValidationError("Validation failed", { variableId?: number, bubbleName?: string, validationErrors?: string[] })\n` +
|
|
44
|
-
`- new BubbleExecutionError("Execution failed", { variableId?: number, bubbleName?: string, executionPhase?: 'instantiation' | 'execution' | 'validation' })\n` +
|
|
45
|
-
`\nLogMetadata minimal interface (for metadata parameter):\n` +
|
|
46
|
-
`- variableId?: number\n` +
|
|
47
|
-
`- bubbleName?: string\n` +
|
|
48
|
-
`- lineNumber?: number\n` +
|
|
49
|
-
`- additionalData?: Record<string, unknown>\n` +
|
|
50
|
-
`\nExample usage:\n` +
|
|
51
|
-
`- this.logger?.error("Bubble execution failed", new BubbleError("Details", { variableId: 1, bubbleName: "MyBubble" }))\n` +
|
|
52
|
-
`- this.logger?.error("Error occurred", undefined, { variableId: 1, additionalData: { custom: "data" } })`;
|
|
53
|
-
enhanced = enhanced + hint;
|
|
54
|
-
}
|
|
55
|
-
// Pattern 4: LogMetadata property errors
|
|
56
|
-
// Matches: "'X' does not exist in type 'LogMetadata'" or "'X' does not exist in type 'Partial<LogMetadata>'"
|
|
57
|
-
// We only allow additional data to be part of AI agent's context for simplicity
|
|
58
|
-
const logMetadataPropertyPattern = /'(\w+)' does not exist in type '(?:Partial<)?LogMetadata(?:>)?'/;
|
|
59
|
-
const logMetadataMatch = enhanced.match(logMetadataPropertyPattern);
|
|
60
|
-
if (logMetadataMatch) {
|
|
61
|
-
const [, propertyName] = logMetadataMatch;
|
|
62
|
-
const hint = `\nLogMetadata does not support '${propertyName}'. Available properties:\n` +
|
|
63
|
-
`- additionalData?: Record<string, unknown>`;
|
|
64
|
-
enhanced = enhanced + hint;
|
|
65
|
-
}
|
|
66
|
-
// Pattern 5: LogMetadata type assignment errors
|
|
67
|
-
// Matches whenever "LogMetadata" appears in the error message
|
|
68
|
-
const logMetadataTypePattern = /LogMetadata/;
|
|
69
|
-
if (logMetadataTypePattern.test(enhanced) &&
|
|
70
|
-
!enhanced.includes('Available properties:')) {
|
|
71
|
-
const hint = `\nLogMetadata interface properties:\n` +
|
|
72
|
-
`- additionalData?: Record<string, unknown> (optional)\n` +
|
|
73
|
-
`\nTo add custom data, use the additionalData property.`;
|
|
74
|
-
enhanced = enhanced + hint;
|
|
75
|
-
}
|
|
76
|
-
// Pattern 6: Module has no exported member errors
|
|
77
|
-
// Matches: "Module 'X' has no exported member 'Y'"
|
|
78
|
-
const noExportedMemberPattern = /Module '([^']+)' has no exported member '(\w+)'/;
|
|
79
|
-
const noExportedMemberMatch = enhanced.match(noExportedMemberPattern);
|
|
80
|
-
if (noExportedMemberMatch) {
|
|
81
|
-
const [, moduleName, memberName] = noExportedMemberMatch;
|
|
82
|
-
const hint = `\n'${memberName}' is not exported from '${moduleName}'. ` +
|
|
83
|
-
`Please remove it from your import statement or check the module's exports for the correct name.`;
|
|
84
|
-
enhanced = enhanced + hint;
|
|
85
|
-
}
|
|
86
|
-
return enhanced;
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=error-enhancer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-enhancer.js","sourceRoot":"","sources":["../src/error-enhancer.ts"],"names":[],"mappings":"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"}
|