@bubblelab/shared-schemas 0.1.6 → 0.1.9
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/README.md +1 -136
- package/dist/ai-models.d.ts +4 -0
- package/dist/ai-models.d.ts.map +1 -0
- package/dist/ai-models.js +20 -0
- package/dist/ai-models.js.map +1 -0
- package/dist/bubble-definition-schema.d.ts +133 -25
- package/dist/bubble-definition-schema.d.ts.map +1 -1
- package/dist/bubble-definition-schema.js +21 -3
- package/dist/bubble-definition-schema.js.map +1 -1
- package/dist/bubbleflow-execution-schema.d.ts +100 -48
- package/dist/bubbleflow-execution-schema.d.ts.map +1 -1
- package/dist/bubbleflow-schema.d.ts +394 -125
- package/dist/bubbleflow-schema.d.ts.map +1 -1
- package/dist/bubbleflow-schema.js +19 -0
- package/dist/bubbleflow-schema.js.map +1 -1
- package/dist/credential-schema.d.ts +46 -46
- package/dist/credential-schema.d.ts.map +1 -1
- package/dist/credential-schema.js +7 -0
- package/dist/credential-schema.js.map +1 -1
- package/dist/cron-utils.d.ts +47 -0
- package/dist/cron-utils.d.ts.map +1 -0
- package/dist/cron-utils.js +228 -0
- package/dist/cron-utils.js.map +1 -0
- package/dist/general-chat.d.ts +81 -0
- package/dist/general-chat.d.ts.map +1 -0
- package/dist/general-chat.js +58 -0
- package/dist/general-chat.js.map +1 -0
- package/dist/generate-bubbleflow-schema.d.ts +92 -40
- package/dist/generate-bubbleflow-schema.d.ts.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/milk-tea.d.ts +108 -0
- package/dist/milk-tea.d.ts.map +1 -0
- package/dist/milk-tea.js +74 -0
- package/dist/milk-tea.js.map +1 -0
- package/dist/pearl.d.ts +276 -0
- package/dist/pearl.d.ts.map +1 -0
- package/dist/pearl.js +75 -0
- package/dist/pearl.js.map +1 -0
- package/dist/streaming-events.d.ts +70 -0
- package/dist/streaming-events.d.ts.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,228 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron-utils.js","sourceRoot":"","sources":["../src/cron-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Request schema for General Chat agent
|
|
4
|
+
* General Chat helps users build complete workflows without requiring specific bubbles
|
|
5
|
+
*/
|
|
6
|
+
export declare const GeneralChatRequestSchema: z.ZodObject<{
|
|
7
|
+
userRequest: z.ZodString;
|
|
8
|
+
currentCode: z.ZodOptional<z.ZodString>;
|
|
9
|
+
userName: z.ZodString;
|
|
10
|
+
conversationHistory: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
11
|
+
role: z.ZodEnum<["user", "assistant"]>;
|
|
12
|
+
content: z.ZodString;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
role: "user" | "assistant";
|
|
15
|
+
content: string;
|
|
16
|
+
}, {
|
|
17
|
+
role: "user" | "assistant";
|
|
18
|
+
content: string;
|
|
19
|
+
}>, "many">>>;
|
|
20
|
+
model: z.ZodDefault<z.ZodEnum<["openai/gpt-5", "openai/gpt-5-mini", "openai/gpt-o4-mini", "openai/gpt-4o", "google/gemini-2.5-pro", "google/gemini-2.5-flash", "google/gemini-2.5-flash-lite", "google/gemini-2.5-flash-image-preview", "anthropic/claude-sonnet-4-5-20250929", "openrouter/x-ai/grok-code-fast-1", "openrouter/z-ai/glm-4.5-air"]>>;
|
|
21
|
+
}, "strip", z.ZodTypeAny, {
|
|
22
|
+
userRequest: string;
|
|
23
|
+
userName: string;
|
|
24
|
+
conversationHistory: {
|
|
25
|
+
role: "user" | "assistant";
|
|
26
|
+
content: string;
|
|
27
|
+
}[];
|
|
28
|
+
model: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-o4-mini" | "openai/gpt-4o" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview" | "anthropic/claude-sonnet-4-5-20250929" | "openrouter/x-ai/grok-code-fast-1" | "openrouter/z-ai/glm-4.5-air";
|
|
29
|
+
currentCode?: string | undefined;
|
|
30
|
+
}, {
|
|
31
|
+
userRequest: string;
|
|
32
|
+
userName: string;
|
|
33
|
+
currentCode?: string | undefined;
|
|
34
|
+
conversationHistory?: {
|
|
35
|
+
role: "user" | "assistant";
|
|
36
|
+
content: string;
|
|
37
|
+
}[] | undefined;
|
|
38
|
+
model?: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-o4-mini" | "openai/gpt-4o" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview" | "anthropic/claude-sonnet-4-5-20250929" | "openrouter/x-ai/grok-code-fast-1" | "openrouter/z-ai/glm-4.5-air" | undefined;
|
|
39
|
+
}>;
|
|
40
|
+
/**
|
|
41
|
+
* Response schema for General Chat agent
|
|
42
|
+
*/
|
|
43
|
+
export declare const GeneralChatResponseSchema: z.ZodObject<{
|
|
44
|
+
type: z.ZodEnum<["code", "question", "reject"]>;
|
|
45
|
+
message: z.ZodString;
|
|
46
|
+
snippet: z.ZodOptional<z.ZodString>;
|
|
47
|
+
success: z.ZodBoolean;
|
|
48
|
+
error: z.ZodOptional<z.ZodString>;
|
|
49
|
+
}, "strip", z.ZodTypeAny, {
|
|
50
|
+
message: string;
|
|
51
|
+
type: "code" | "question" | "reject";
|
|
52
|
+
success: boolean;
|
|
53
|
+
snippet?: string | undefined;
|
|
54
|
+
error?: string | undefined;
|
|
55
|
+
}, {
|
|
56
|
+
message: string;
|
|
57
|
+
type: "code" | "question" | "reject";
|
|
58
|
+
success: boolean;
|
|
59
|
+
snippet?: string | undefined;
|
|
60
|
+
error?: string | undefined;
|
|
61
|
+
}>;
|
|
62
|
+
/**
|
|
63
|
+
* Internal agent response format (JSON mode output from AI)
|
|
64
|
+
*/
|
|
65
|
+
export declare const GeneralChatAgentOutputSchema: z.ZodObject<{
|
|
66
|
+
type: z.ZodEnum<["code", "question", "reject"]>;
|
|
67
|
+
message: z.ZodString;
|
|
68
|
+
snippet: z.ZodOptional<z.ZodString>;
|
|
69
|
+
}, "strip", z.ZodTypeAny, {
|
|
70
|
+
message: string;
|
|
71
|
+
type: "code" | "question" | "reject";
|
|
72
|
+
snippet?: string | undefined;
|
|
73
|
+
}, {
|
|
74
|
+
message: string;
|
|
75
|
+
type: "code" | "question" | "reject";
|
|
76
|
+
snippet?: string | undefined;
|
|
77
|
+
}>;
|
|
78
|
+
export type GeneralChatRequest = z.infer<typeof GeneralChatRequestSchema>;
|
|
79
|
+
export type GeneralChatResponse = z.infer<typeof GeneralChatResponseSchema>;
|
|
80
|
+
export type GeneralChatAgentOutput = z.infer<typeof GeneralChatAgentOutputSchema>;
|
|
81
|
+
//# sourceMappingURL=general-chat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"general-chat.d.ts","sourceRoot":"","sources":["../src/general-chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;EA0BpC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;EAIvC,CAAC;AAGH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { AvailableModels } from './ai-models.js';
|
|
3
|
+
// Reuse the ConversationMessageSchema from milk-tea to avoid duplication
|
|
4
|
+
const ConversationMessageSchema = z.object({
|
|
5
|
+
role: z.enum(['user', 'assistant']),
|
|
6
|
+
content: z.string(),
|
|
7
|
+
});
|
|
8
|
+
/**
|
|
9
|
+
* Request schema for General Chat agent
|
|
10
|
+
* General Chat helps users build complete workflows without requiring specific bubbles
|
|
11
|
+
*/
|
|
12
|
+
export const GeneralChatRequestSchema = z.object({
|
|
13
|
+
userRequest: z
|
|
14
|
+
.string()
|
|
15
|
+
.min(1, 'User request is required')
|
|
16
|
+
.describe('The user request or question about building a workflow'),
|
|
17
|
+
currentCode: z
|
|
18
|
+
.string()
|
|
19
|
+
.optional()
|
|
20
|
+
.describe('The current workflow code for context and modification'),
|
|
21
|
+
userName: z.string().describe('Name of the user making the request'),
|
|
22
|
+
conversationHistory: z
|
|
23
|
+
.array(ConversationMessageSchema)
|
|
24
|
+
.optional()
|
|
25
|
+
.default([])
|
|
26
|
+
.describe('Previous conversation messages for multi-turn interactions (frontend manages state)'),
|
|
27
|
+
model: AvailableModels.default('google/gemini-2.5-pro').describe('AI model to use for General Chat agent'),
|
|
28
|
+
});
|
|
29
|
+
/**
|
|
30
|
+
* Response schema for General Chat agent
|
|
31
|
+
*/
|
|
32
|
+
export const GeneralChatResponseSchema = z.object({
|
|
33
|
+
type: z
|
|
34
|
+
.enum(['code', 'question', 'reject'])
|
|
35
|
+
.describe('Type of response: code (generated workflow), question (needs clarification), reject (infeasible request)'),
|
|
36
|
+
message: z
|
|
37
|
+
.string()
|
|
38
|
+
.describe('Human-readable message: explanation for code, question text, or rejection reason'),
|
|
39
|
+
snippet: z
|
|
40
|
+
.string()
|
|
41
|
+
.optional()
|
|
42
|
+
.describe('Generated TypeScript code for complete workflow (only present when type is "code")'),
|
|
43
|
+
success: z.boolean().describe('Whether the operation completed successfully'),
|
|
44
|
+
error: z
|
|
45
|
+
.string()
|
|
46
|
+
.optional()
|
|
47
|
+
.describe('Error message if the operation failed'),
|
|
48
|
+
});
|
|
49
|
+
/**
|
|
50
|
+
* Internal agent response format (JSON mode output from AI)
|
|
51
|
+
*/
|
|
52
|
+
export const GeneralChatAgentOutputSchema = z.object({
|
|
53
|
+
type: z.enum(['code', 'question', 'reject']),
|
|
54
|
+
message: z.string(),
|
|
55
|
+
snippet: z.string().optional(),
|
|
56
|
+
});
|
|
57
|
+
// Note: ConversationMessage type is exported from milk-tea.ts to avoid duplication
|
|
58
|
+
//# sourceMappingURL=general-chat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"general-chat.js","sourceRoot":"","sources":["../src/general-chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,yEAAyE;AACzE,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,0BAA0B,CAAC;SAClC,QAAQ,CAAC,wDAAwD,CAAC;IAErE,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,wDAAwD,CAAC;IAErE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAEpE,mBAAmB,EAAE,CAAC;SACnB,KAAK,CAAC,yBAAyB,CAAC;SAChC,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CACP,qFAAqF,CACtF;IAEH,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAC9D,wCAAwC,CACzC;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;SACpC,QAAQ,CACP,0GAA0G,CAC3G;IAEH,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,CACP,kFAAkF,CACnF;IAEH,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,oFAAoF,CACrF;IAEH,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAE7E,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uCAAuC,CAAC;CACrD,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAQH,mFAAmF"}
|
|
@@ -18,19 +18,47 @@ export declare const generateBubbleFlowCodeResponseSchema: z.ZodObject<{
|
|
|
18
18
|
bubbleName: z.ZodString;
|
|
19
19
|
className: z.ZodString;
|
|
20
20
|
parameters: z.ZodArray<z.ZodObject<{
|
|
21
|
+
location: z.ZodOptional<z.ZodObject<{
|
|
22
|
+
startLine: z.ZodNumber;
|
|
23
|
+
startCol: z.ZodNumber;
|
|
24
|
+
endLine: z.ZodNumber;
|
|
25
|
+
endCol: z.ZodNumber;
|
|
26
|
+
}, "strip", z.ZodTypeAny, {
|
|
27
|
+
startLine: number;
|
|
28
|
+
startCol: number;
|
|
29
|
+
endLine: number;
|
|
30
|
+
endCol: number;
|
|
31
|
+
}, {
|
|
32
|
+
startLine: number;
|
|
33
|
+
startCol: number;
|
|
34
|
+
endLine: number;
|
|
35
|
+
endCol: number;
|
|
36
|
+
}>>;
|
|
21
37
|
variableId: z.ZodOptional<z.ZodNumber>;
|
|
22
38
|
name: z.ZodString;
|
|
23
|
-
value: z.ZodUnknown
|
|
39
|
+
value: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodArray<z.ZodUnknown, "many">]>;
|
|
24
40
|
type: z.ZodNativeEnum<typeof BubbleParameterType>;
|
|
25
41
|
}, "strip", z.ZodTypeAny, {
|
|
42
|
+
value: string | number | boolean | unknown[] | Record<string, unknown>;
|
|
26
43
|
type: BubbleParameterType;
|
|
27
44
|
name: string;
|
|
28
|
-
|
|
45
|
+
location?: {
|
|
46
|
+
startLine: number;
|
|
47
|
+
startCol: number;
|
|
48
|
+
endLine: number;
|
|
49
|
+
endCol: number;
|
|
50
|
+
} | undefined;
|
|
29
51
|
variableId?: number | undefined;
|
|
30
52
|
}, {
|
|
53
|
+
value: string | number | boolean | unknown[] | Record<string, unknown>;
|
|
31
54
|
type: BubbleParameterType;
|
|
32
55
|
name: string;
|
|
33
|
-
|
|
56
|
+
location?: {
|
|
57
|
+
startLine: number;
|
|
58
|
+
startCol: number;
|
|
59
|
+
endLine: number;
|
|
60
|
+
endCol: number;
|
|
61
|
+
} | undefined;
|
|
34
62
|
variableId?: number | undefined;
|
|
35
63
|
}>, "many">;
|
|
36
64
|
hasAwait: z.ZodBoolean;
|
|
@@ -56,47 +84,59 @@ export declare const generateBubbleFlowCodeResponseSchema: z.ZodObject<{
|
|
|
56
84
|
endCol: number;
|
|
57
85
|
}>;
|
|
58
86
|
}, "strip", z.ZodTypeAny, {
|
|
87
|
+
location: {
|
|
88
|
+
startLine: number;
|
|
89
|
+
startCol: number;
|
|
90
|
+
endLine: number;
|
|
91
|
+
endCol: number;
|
|
92
|
+
};
|
|
59
93
|
variableId: number;
|
|
60
94
|
variableName: string;
|
|
61
|
-
nodeType: "unknown" | "service" | "tool" | "workflow";
|
|
62
95
|
bubbleName: string;
|
|
63
96
|
className: string;
|
|
64
97
|
parameters: {
|
|
98
|
+
value: string | number | boolean | unknown[] | Record<string, unknown>;
|
|
65
99
|
type: BubbleParameterType;
|
|
66
100
|
name: string;
|
|
67
|
-
|
|
101
|
+
location?: {
|
|
102
|
+
startLine: number;
|
|
103
|
+
startCol: number;
|
|
104
|
+
endLine: number;
|
|
105
|
+
endCol: number;
|
|
106
|
+
} | undefined;
|
|
68
107
|
variableId?: number | undefined;
|
|
69
108
|
}[];
|
|
70
109
|
hasAwait: boolean;
|
|
71
110
|
hasActionCall: boolean;
|
|
111
|
+
nodeType: "unknown" | "service" | "tool" | "workflow";
|
|
112
|
+
dependencies?: import("./types").BubbleName[] | undefined;
|
|
113
|
+
dependencyGraph?: import("./bubble-definition-schema").DependencyGraphNode | undefined;
|
|
114
|
+
}, {
|
|
72
115
|
location: {
|
|
73
116
|
startLine: number;
|
|
74
117
|
startCol: number;
|
|
75
118
|
endLine: number;
|
|
76
119
|
endCol: number;
|
|
77
120
|
};
|
|
78
|
-
dependencies?: import("./types").BubbleName[] | undefined;
|
|
79
|
-
dependencyGraph?: import("./bubble-definition-schema").DependencyGraphNode | undefined;
|
|
80
|
-
}, {
|
|
81
121
|
variableId: number;
|
|
82
122
|
variableName: string;
|
|
83
|
-
nodeType: "unknown" | "service" | "tool" | "workflow";
|
|
84
123
|
bubbleName: string;
|
|
85
124
|
className: string;
|
|
86
125
|
parameters: {
|
|
126
|
+
value: string | number | boolean | unknown[] | Record<string, unknown>;
|
|
87
127
|
type: BubbleParameterType;
|
|
88
128
|
name: string;
|
|
89
|
-
|
|
129
|
+
location?: {
|
|
130
|
+
startLine: number;
|
|
131
|
+
startCol: number;
|
|
132
|
+
endLine: number;
|
|
133
|
+
endCol: number;
|
|
134
|
+
} | undefined;
|
|
90
135
|
variableId?: number | undefined;
|
|
91
136
|
}[];
|
|
92
137
|
hasAwait: boolean;
|
|
93
138
|
hasActionCall: boolean;
|
|
94
|
-
|
|
95
|
-
startLine: number;
|
|
96
|
-
startCol: number;
|
|
97
|
-
endLine: number;
|
|
98
|
-
endCol: number;
|
|
99
|
-
};
|
|
139
|
+
nodeType: "unknown" | "service" | "tool" | "workflow";
|
|
100
140
|
dependencies?: import("./types").BubbleName[] | undefined;
|
|
101
141
|
dependencyGraph?: import("./bubble-definition-schema").DependencyGraphNode | undefined;
|
|
102
142
|
}>>;
|
|
@@ -106,25 +146,31 @@ export declare const generateBubbleFlowCodeResponseSchema: z.ZodObject<{
|
|
|
106
146
|
success: boolean;
|
|
107
147
|
requiredCredentials: Record<string, string[]>;
|
|
108
148
|
bubbleParameters: Record<string, {
|
|
149
|
+
location: {
|
|
150
|
+
startLine: number;
|
|
151
|
+
startCol: number;
|
|
152
|
+
endLine: number;
|
|
153
|
+
endCol: number;
|
|
154
|
+
};
|
|
109
155
|
variableId: number;
|
|
110
156
|
variableName: string;
|
|
111
|
-
nodeType: "unknown" | "service" | "tool" | "workflow";
|
|
112
157
|
bubbleName: string;
|
|
113
158
|
className: string;
|
|
114
159
|
parameters: {
|
|
160
|
+
value: string | number | boolean | unknown[] | Record<string, unknown>;
|
|
115
161
|
type: BubbleParameterType;
|
|
116
162
|
name: string;
|
|
117
|
-
|
|
163
|
+
location?: {
|
|
164
|
+
startLine: number;
|
|
165
|
+
startCol: number;
|
|
166
|
+
endLine: number;
|
|
167
|
+
endCol: number;
|
|
168
|
+
} | undefined;
|
|
118
169
|
variableId?: number | undefined;
|
|
119
170
|
}[];
|
|
120
171
|
hasAwait: boolean;
|
|
121
172
|
hasActionCall: boolean;
|
|
122
|
-
|
|
123
|
-
startLine: number;
|
|
124
|
-
startCol: number;
|
|
125
|
-
endLine: number;
|
|
126
|
-
endCol: number;
|
|
127
|
-
};
|
|
173
|
+
nodeType: "unknown" | "service" | "tool" | "workflow";
|
|
128
174
|
dependencies?: import("./types").BubbleName[] | undefined;
|
|
129
175
|
dependencyGraph?: import("./bubble-definition-schema").DependencyGraphNode | undefined;
|
|
130
176
|
}>;
|
|
@@ -135,25 +181,31 @@ export declare const generateBubbleFlowCodeResponseSchema: z.ZodObject<{
|
|
|
135
181
|
success: boolean;
|
|
136
182
|
requiredCredentials: Record<string, string[]>;
|
|
137
183
|
bubbleParameters: Record<string, {
|
|
184
|
+
location: {
|
|
185
|
+
startLine: number;
|
|
186
|
+
startCol: number;
|
|
187
|
+
endLine: number;
|
|
188
|
+
endCol: number;
|
|
189
|
+
};
|
|
138
190
|
variableId: number;
|
|
139
191
|
variableName: string;
|
|
140
|
-
nodeType: "unknown" | "service" | "tool" | "workflow";
|
|
141
192
|
bubbleName: string;
|
|
142
193
|
className: string;
|
|
143
194
|
parameters: {
|
|
195
|
+
value: string | number | boolean | unknown[] | Record<string, unknown>;
|
|
144
196
|
type: BubbleParameterType;
|
|
145
197
|
name: string;
|
|
146
|
-
|
|
198
|
+
location?: {
|
|
199
|
+
startLine: number;
|
|
200
|
+
startCol: number;
|
|
201
|
+
endLine: number;
|
|
202
|
+
endCol: number;
|
|
203
|
+
} | undefined;
|
|
147
204
|
variableId?: number | undefined;
|
|
148
205
|
}[];
|
|
149
206
|
hasAwait: boolean;
|
|
150
207
|
hasActionCall: boolean;
|
|
151
|
-
|
|
152
|
-
startLine: number;
|
|
153
|
-
startCol: number;
|
|
154
|
-
endLine: number;
|
|
155
|
-
endCol: number;
|
|
156
|
-
};
|
|
208
|
+
nodeType: "unknown" | "service" | "tool" | "workflow";
|
|
157
209
|
dependencies?: import("./types").BubbleName[] | undefined;
|
|
158
210
|
dependencyGraph?: import("./bubble-definition-schema").DependencyGraphNode | undefined;
|
|
159
211
|
}>;
|
|
@@ -388,19 +440,21 @@ export declare const bubbleFlowTemplateResponseSchema: z.ZodObject<{
|
|
|
388
440
|
active: z.ZodBoolean;
|
|
389
441
|
}, "strip", z.ZodTypeAny, {
|
|
390
442
|
path: string;
|
|
391
|
-
id: number;
|
|
392
443
|
url: string;
|
|
444
|
+
id: number;
|
|
393
445
|
active: boolean;
|
|
394
446
|
}, {
|
|
395
447
|
path: string;
|
|
396
|
-
id: number;
|
|
397
448
|
url: string;
|
|
449
|
+
id: number;
|
|
398
450
|
active: boolean;
|
|
399
451
|
}>>;
|
|
400
452
|
}, "strip", z.ZodTypeAny, {
|
|
401
453
|
description: string;
|
|
402
454
|
name: string;
|
|
403
455
|
id: number;
|
|
456
|
+
createdAt: string;
|
|
457
|
+
updatedAt: string;
|
|
404
458
|
eventType: string;
|
|
405
459
|
bubbleParameters: Record<string, {
|
|
406
460
|
variableName: string;
|
|
@@ -426,19 +480,19 @@ export declare const bubbleFlowTemplateResponseSchema: z.ZodObject<{
|
|
|
426
480
|
hasAwait: boolean;
|
|
427
481
|
hasActionCall: boolean;
|
|
428
482
|
}>;
|
|
429
|
-
createdAt: string;
|
|
430
|
-
updatedAt: string;
|
|
431
483
|
requiredCredentials?: Record<string, CredentialType[]> | undefined;
|
|
432
484
|
webhook?: {
|
|
433
485
|
path: string;
|
|
434
|
-
id: number;
|
|
435
486
|
url: string;
|
|
487
|
+
id: number;
|
|
436
488
|
active: boolean;
|
|
437
489
|
} | undefined;
|
|
438
490
|
}, {
|
|
439
491
|
description: string;
|
|
440
492
|
name: string;
|
|
441
493
|
id: number;
|
|
494
|
+
createdAt: string;
|
|
495
|
+
updatedAt: string;
|
|
442
496
|
eventType: string;
|
|
443
497
|
bubbleParameters: Record<string, {
|
|
444
498
|
variableName: string;
|
|
@@ -464,13 +518,11 @@ export declare const bubbleFlowTemplateResponseSchema: z.ZodObject<{
|
|
|
464
518
|
hasAwait: boolean;
|
|
465
519
|
hasActionCall: boolean;
|
|
466
520
|
}>;
|
|
467
|
-
createdAt: string;
|
|
468
|
-
updatedAt: string;
|
|
469
521
|
requiredCredentials?: Record<string, CredentialType[]> | undefined;
|
|
470
522
|
webhook?: {
|
|
471
523
|
path: string;
|
|
472
|
-
id: number;
|
|
473
524
|
url: string;
|
|
525
|
+
id: number;
|
|
474
526
|
active: boolean;
|
|
475
527
|
} | undefined;
|
|
476
528
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-bubbleflow-schema.d.ts","sourceRoot":"","sources":["../src/generate-bubbleflow-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGzC,eAAO,MAAM,4BAA4B;;;;;;EAMvC,CAAC;AAEH,eAAO,MAAM,oCAAoC
|
|
1
|
+
{"version":3,"file":"generate-bubbleflow-schema.d.ts","sourceRoot":"","sources":["../src/generate-bubbleflow-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGzC,eAAO,MAAM,4BAA4B;;;;;;EAMvC,CAAC;AAEH,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe/C,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2CE,CAAC;AAGhD,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4FE,CAAC;AAGxD,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiGL,CAAC;AACzC,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAClD,OAAO,oCAAoC,CAC5C,CAAC;AACF,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CACrD,OAAO,gCAAgC,CACxC,CAAC;AACF,MAAM,MAAM,yCAAyC,GAAG,CAAC,CAAC,KAAK,CAC7D,OAAO,wCAAwC,CAChD,CAAC;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,gCAAgC,CACxC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -13,4 +13,7 @@ export * from './generate-bubbleflow-schema.js';
|
|
|
13
13
|
export * from './webhook-schema.js';
|
|
14
14
|
export * from './subscription-status-schema.js';
|
|
15
15
|
export * from './api-schema.js';
|
|
16
|
+
export * from './milk-tea.js';
|
|
17
|
+
export * from './pearl.js';
|
|
18
|
+
export * from './ai-models.js';
|
|
16
19
|
//# sourceMappingURL=index.d.ts.map
|