@swirls/sdk 0.0.7 → 0.0.8
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/chunk-MLKGABMK.js +9 -0
- package/dist/chunk-YLVKU5J3.js +13775 -0
- package/dist/client/client.js +2 -0
- package/dist/config/config.js +8 -4
- package/dist/form/form.js +132 -129
- package/dist/form/generate.js +741 -2
- package/package.json +11 -9
package/dist/client/client.js
CHANGED
package/dist/config/config.js
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
|
+
import {
|
|
2
|
+
external_exports
|
|
3
|
+
} from "../chunk-YLVKU5J3.js";
|
|
4
|
+
import "../chunk-MLKGABMK.js";
|
|
5
|
+
|
|
1
6
|
// src/config/config.ts
|
|
2
7
|
import path from "path";
|
|
3
|
-
import { z } from "zod";
|
|
4
8
|
var configFileName = "swirls.config.ts";
|
|
5
9
|
var configImportPath = "@swirls/sdk/config";
|
|
6
10
|
var generatedFileName = "swirls.gen.ts";
|
|
7
|
-
var configSchema =
|
|
8
|
-
projectId:
|
|
9
|
-
genPath:
|
|
11
|
+
var configSchema = external_exports.object({
|
|
12
|
+
projectId: external_exports.uuid(),
|
|
13
|
+
genPath: external_exports.string().min(1)
|
|
10
14
|
});
|
|
11
15
|
function defineConfig(config) {
|
|
12
16
|
const root = process.cwd();
|
package/dist/form/form.js
CHANGED
|
@@ -1,42 +1,46 @@
|
|
|
1
|
+
import {
|
|
2
|
+
external_exports
|
|
3
|
+
} from "../chunk-YLVKU5J3.js";
|
|
4
|
+
import "../chunk-MLKGABMK.js";
|
|
5
|
+
|
|
1
6
|
// ../core/src/schemas.ts
|
|
2
|
-
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
$
|
|
7
|
-
$
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
z.array(z.custom())
|
|
7
|
+
var positionSchema = external_exports.object({ x: external_exports.number(), y: external_exports.number() });
|
|
8
|
+
var jsonSchemaSchema = external_exports.lazy(
|
|
9
|
+
() => external_exports.object({
|
|
10
|
+
$schema: external_exports.string().optional(),
|
|
11
|
+
$id: external_exports.string().optional(),
|
|
12
|
+
$ref: external_exports.string().optional(),
|
|
13
|
+
type: external_exports.union([
|
|
14
|
+
external_exports.custom(),
|
|
15
|
+
external_exports.array(external_exports.custom())
|
|
12
16
|
]).optional(),
|
|
13
|
-
properties:
|
|
14
|
-
required:
|
|
15
|
-
title:
|
|
16
|
-
description:
|
|
17
|
-
default:
|
|
18
|
-
examples:
|
|
19
|
-
items:
|
|
20
|
-
additionalProperties:
|
|
21
|
-
patternProperties:
|
|
17
|
+
properties: external_exports.record(external_exports.string(), jsonSchemaSchema).optional(),
|
|
18
|
+
required: external_exports.array(external_exports.string()).optional(),
|
|
19
|
+
title: external_exports.string().optional(),
|
|
20
|
+
description: external_exports.string().optional(),
|
|
21
|
+
default: external_exports.custom().optional(),
|
|
22
|
+
examples: external_exports.array(external_exports.custom()).optional(),
|
|
23
|
+
items: external_exports.union([jsonSchemaSchema, external_exports.array(jsonSchemaSchema)]).optional(),
|
|
24
|
+
additionalProperties: external_exports.union([external_exports.boolean(), jsonSchemaSchema]).optional(),
|
|
25
|
+
patternProperties: external_exports.record(external_exports.string(), jsonSchemaSchema).optional(),
|
|
22
26
|
// General validations
|
|
23
|
-
enum:
|
|
24
|
-
const:
|
|
27
|
+
enum: external_exports.array(external_exports.custom()).optional(),
|
|
28
|
+
const: external_exports.custom().optional(),
|
|
25
29
|
// Number validations
|
|
26
|
-
minimum:
|
|
27
|
-
maximum:
|
|
30
|
+
minimum: external_exports.number().optional(),
|
|
31
|
+
maximum: external_exports.number().optional(),
|
|
28
32
|
// String validations
|
|
29
|
-
minLength:
|
|
30
|
-
maxLength:
|
|
31
|
-
pattern:
|
|
33
|
+
minLength: external_exports.number().optional(),
|
|
34
|
+
maxLength: external_exports.number().optional(),
|
|
35
|
+
pattern: external_exports.string().optional(),
|
|
32
36
|
// Array validations
|
|
33
|
-
minItems:
|
|
34
|
-
maxItems:
|
|
35
|
-
uniqueItems:
|
|
37
|
+
minItems: external_exports.number().optional(),
|
|
38
|
+
maxItems: external_exports.number().optional(),
|
|
39
|
+
uniqueItems: external_exports.boolean().optional(),
|
|
36
40
|
// Composition
|
|
37
|
-
allOf:
|
|
38
|
-
anyOf:
|
|
39
|
-
oneOf:
|
|
41
|
+
allOf: external_exports.array(jsonSchemaSchema).optional(),
|
|
42
|
+
anyOf: external_exports.array(jsonSchemaSchema).optional(),
|
|
43
|
+
oneOf: external_exports.array(jsonSchemaSchema).optional(),
|
|
40
44
|
not: jsonSchemaSchema.optional(),
|
|
41
45
|
if: jsonSchemaSchema.optional(),
|
|
42
46
|
else: jsonSchemaSchema.optional(),
|
|
@@ -57,110 +61,110 @@ var nodeTypeMap = {
|
|
|
57
61
|
switch: "switch",
|
|
58
62
|
wait: "wait"
|
|
59
63
|
};
|
|
60
|
-
var nodeTypeSchema =
|
|
61
|
-
var llmNodeConfigSchema =
|
|
62
|
-
type:
|
|
63
|
-
model:
|
|
64
|
-
prompt:
|
|
65
|
-
temperature:
|
|
66
|
-
maxTokens:
|
|
64
|
+
var nodeTypeSchema = external_exports.enum(Object.values(nodeTypeMap));
|
|
65
|
+
var llmNodeConfigSchema = external_exports.object({
|
|
66
|
+
type: external_exports.literal(nodeTypeMap.llm),
|
|
67
|
+
model: external_exports.string().optional(),
|
|
68
|
+
prompt: external_exports.string().optional(),
|
|
69
|
+
temperature: external_exports.number().optional(),
|
|
70
|
+
maxTokens: external_exports.number().optional()
|
|
67
71
|
});
|
|
68
|
-
var codeNodeConfigSchema =
|
|
69
|
-
type:
|
|
70
|
-
code:
|
|
72
|
+
var codeNodeConfigSchema = external_exports.object({
|
|
73
|
+
type: external_exports.literal(nodeTypeMap.code),
|
|
74
|
+
code: external_exports.string().optional()
|
|
71
75
|
});
|
|
72
|
-
var httpNodeConfigSchema =
|
|
73
|
-
type:
|
|
74
|
-
url:
|
|
75
|
-
method:
|
|
76
|
-
headers:
|
|
77
|
-
body:
|
|
76
|
+
var httpNodeConfigSchema = external_exports.object({
|
|
77
|
+
type: external_exports.literal(nodeTypeMap.http),
|
|
78
|
+
url: external_exports.string().optional(),
|
|
79
|
+
method: external_exports.enum(["GET", "POST", "PUT", "DELETE", "PATCH"]).optional(),
|
|
80
|
+
headers: external_exports.string().optional(),
|
|
81
|
+
body: external_exports.string().optional()
|
|
78
82
|
});
|
|
79
|
-
var streamNodeFilterSchema =
|
|
80
|
-
field:
|
|
81
|
-
operator:
|
|
82
|
-
value:
|
|
83
|
+
var streamNodeFilterSchema = external_exports.object({
|
|
84
|
+
field: external_exports.string(),
|
|
85
|
+
operator: external_exports.enum(["eq", "ne", "gt", "lt", "gte", "lte", "like", "in"]),
|
|
86
|
+
value: external_exports.union([external_exports.string(), external_exports.number(), external_exports.boolean(), external_exports.array(external_exports.string())])
|
|
83
87
|
});
|
|
84
|
-
var streamNodeConfigSchema =
|
|
85
|
-
type:
|
|
86
|
-
streamId:
|
|
87
|
-
query:
|
|
88
|
-
filter:
|
|
89
|
-
sort:
|
|
90
|
-
|
|
91
|
-
field:
|
|
92
|
-
direction:
|
|
88
|
+
var streamNodeConfigSchema = external_exports.object({
|
|
89
|
+
type: external_exports.literal(nodeTypeMap.stream),
|
|
90
|
+
streamId: external_exports.string().optional(),
|
|
91
|
+
query: external_exports.object({
|
|
92
|
+
filter: external_exports.string().optional(),
|
|
93
|
+
sort: external_exports.array(
|
|
94
|
+
external_exports.object({
|
|
95
|
+
field: external_exports.string(),
|
|
96
|
+
direction: external_exports.enum(["asc", "desc"])
|
|
93
97
|
})
|
|
94
98
|
).optional(),
|
|
95
|
-
limit:
|
|
96
|
-
offset:
|
|
99
|
+
limit: external_exports.number().optional(),
|
|
100
|
+
offset: external_exports.number().optional()
|
|
97
101
|
}).optional()
|
|
98
102
|
});
|
|
99
|
-
var emailNodeConfigSchema =
|
|
100
|
-
type:
|
|
101
|
-
from:
|
|
102
|
-
to:
|
|
103
|
-
subject:
|
|
104
|
-
text:
|
|
105
|
-
html:
|
|
106
|
-
replyTo:
|
|
103
|
+
var emailNodeConfigSchema = external_exports.object({
|
|
104
|
+
type: external_exports.literal(nodeTypeMap.email),
|
|
105
|
+
from: external_exports.string().optional(),
|
|
106
|
+
to: external_exports.string().optional(),
|
|
107
|
+
subject: external_exports.string().optional(),
|
|
108
|
+
text: external_exports.string().optional(),
|
|
109
|
+
html: external_exports.string().optional(),
|
|
110
|
+
replyTo: external_exports.string().optional()
|
|
107
111
|
});
|
|
108
|
-
var scrapeNodeConfigSchema =
|
|
109
|
-
type:
|
|
110
|
-
url:
|
|
111
|
-
onlyMainContent:
|
|
112
|
-
formats:
|
|
113
|
-
maxAge:
|
|
114
|
-
parsers:
|
|
112
|
+
var scrapeNodeConfigSchema = external_exports.object({
|
|
113
|
+
type: external_exports.literal(nodeTypeMap.scrape),
|
|
114
|
+
url: external_exports.string().optional(),
|
|
115
|
+
onlyMainContent: external_exports.boolean().optional(),
|
|
116
|
+
formats: external_exports.array(external_exports.string()).optional(),
|
|
117
|
+
maxAge: external_exports.number().optional(),
|
|
118
|
+
parsers: external_exports.array(external_exports.string()).optional()
|
|
115
119
|
});
|
|
116
|
-
var waitNodeConfigSchema =
|
|
117
|
-
type:
|
|
118
|
-
amount:
|
|
119
|
-
unit:
|
|
120
|
-
secondsFromConfig:
|
|
120
|
+
var waitNodeConfigSchema = external_exports.object({
|
|
121
|
+
type: external_exports.literal(nodeTypeMap.wait),
|
|
122
|
+
amount: external_exports.number().optional(),
|
|
123
|
+
unit: external_exports.enum(["seconds", "minutes", "hours", "days"]).optional(),
|
|
124
|
+
secondsFromConfig: external_exports.string().optional()
|
|
121
125
|
});
|
|
122
|
-
var documentNodeConfigSchema =
|
|
123
|
-
type:
|
|
124
|
-
documentId:
|
|
126
|
+
var documentNodeConfigSchema = external_exports.object({
|
|
127
|
+
type: external_exports.literal(nodeTypeMap.document),
|
|
128
|
+
documentId: external_exports.string().uuid().optional()
|
|
125
129
|
});
|
|
126
|
-
var subgraphNodeConfigSchema =
|
|
127
|
-
type:
|
|
128
|
-
graphId:
|
|
130
|
+
var subgraphNodeConfigSchema = external_exports.object({
|
|
131
|
+
type: external_exports.literal(nodeTypeMap.graph),
|
|
132
|
+
graphId: external_exports.string().uuid().optional()
|
|
129
133
|
});
|
|
130
|
-
var bucketNodeConfigSchema =
|
|
131
|
-
type:
|
|
132
|
-
operation:
|
|
133
|
-
path:
|
|
134
|
+
var bucketNodeConfigSchema = external_exports.object({
|
|
135
|
+
type: external_exports.literal(nodeTypeMap.bucket),
|
|
136
|
+
operation: external_exports.enum(["download", "upload"]),
|
|
137
|
+
path: external_exports.string().optional()
|
|
134
138
|
});
|
|
135
|
-
var switchNodeConfigSchema =
|
|
136
|
-
type:
|
|
137
|
-
outputs:
|
|
138
|
-
|
|
139
|
+
var switchNodeConfigSchema = external_exports.object({
|
|
140
|
+
type: external_exports.literal(nodeTypeMap.switch),
|
|
141
|
+
outputs: external_exports.array(
|
|
142
|
+
external_exports.string().min(1, "Output name is required").regex(
|
|
139
143
|
/^[a-zA-Z0-9_]+$/,
|
|
140
144
|
"Output must contain only letters, numbers, and underscores"
|
|
141
145
|
)
|
|
142
146
|
).min(1, "At least one output is required"),
|
|
143
|
-
code:
|
|
147
|
+
code: external_exports.string().optional()
|
|
144
148
|
});
|
|
145
|
-
var reviewActionSchema =
|
|
146
|
-
id:
|
|
149
|
+
var reviewActionSchema = external_exports.object({
|
|
150
|
+
id: external_exports.string().regex(
|
|
147
151
|
/^[a-zA-Z0-9_]+$/,
|
|
148
152
|
"Action id must contain only letters, numbers, and underscores"
|
|
149
153
|
),
|
|
150
|
-
label:
|
|
151
|
-
outcome:
|
|
154
|
+
label: external_exports.string().min(1, "Label is required"),
|
|
155
|
+
outcome: external_exports.enum(["approve", "reject"])
|
|
152
156
|
});
|
|
153
|
-
var reviewConfigSchema =
|
|
154
|
-
enabled:
|
|
155
|
-
title:
|
|
156
|
-
description:
|
|
157
|
-
content:
|
|
158
|
-
approvedOutput:
|
|
159
|
-
rejectedOutput:
|
|
157
|
+
var reviewConfigSchema = external_exports.object({
|
|
158
|
+
enabled: external_exports.boolean(),
|
|
159
|
+
title: external_exports.string().optional(),
|
|
160
|
+
description: external_exports.string().optional(),
|
|
161
|
+
content: external_exports.string().optional(),
|
|
162
|
+
approvedOutput: external_exports.string().optional(),
|
|
163
|
+
rejectedOutput: external_exports.string().optional(),
|
|
160
164
|
schema: jsonSchemaSchema.optional().nullable(),
|
|
161
|
-
actions:
|
|
165
|
+
actions: external_exports.array(reviewActionSchema).optional()
|
|
162
166
|
});
|
|
163
|
-
var graphNodeConfigSchema =
|
|
167
|
+
var graphNodeConfigSchema = external_exports.discriminatedUnion("type", [
|
|
164
168
|
llmNodeConfigSchema,
|
|
165
169
|
codeNodeConfigSchema,
|
|
166
170
|
documentNodeConfigSchema,
|
|
@@ -179,38 +183,37 @@ var triggerTypeMap = {
|
|
|
179
183
|
schedule: "schedule",
|
|
180
184
|
agent: "agent"
|
|
181
185
|
};
|
|
182
|
-
var triggerTypeSchema =
|
|
183
|
-
var formTriggerConfigSchema =
|
|
184
|
-
type:
|
|
186
|
+
var triggerTypeSchema = external_exports.enum(Object.values(triggerTypeMap));
|
|
187
|
+
var formTriggerConfigSchema = external_exports.object({
|
|
188
|
+
type: external_exports.literal(triggerTypeMap.form)
|
|
185
189
|
});
|
|
186
|
-
var webhookTriggerConfigSchema =
|
|
187
|
-
type:
|
|
190
|
+
var webhookTriggerConfigSchema = external_exports.object({
|
|
191
|
+
type: external_exports.literal(triggerTypeMap.webhook)
|
|
188
192
|
});
|
|
189
|
-
var scheduleTriggerConfigSchema =
|
|
190
|
-
type:
|
|
191
|
-
cron:
|
|
192
|
-
timezone:
|
|
193
|
+
var scheduleTriggerConfigSchema = external_exports.object({
|
|
194
|
+
type: external_exports.literal(triggerTypeMap.schedule),
|
|
195
|
+
cron: external_exports.string(),
|
|
196
|
+
timezone: external_exports.string().optional()
|
|
193
197
|
});
|
|
194
|
-
var agentTriggerConfigSchema =
|
|
195
|
-
type:
|
|
198
|
+
var agentTriggerConfigSchema = external_exports.object({
|
|
199
|
+
type: external_exports.literal(triggerTypeMap.agent)
|
|
196
200
|
});
|
|
197
|
-
var triggerConfigSchema =
|
|
201
|
+
var triggerConfigSchema = external_exports.discriminatedUnion("type", [
|
|
198
202
|
formTriggerConfigSchema,
|
|
199
203
|
webhookTriggerConfigSchema,
|
|
200
204
|
scheduleTriggerConfigSchema,
|
|
201
205
|
agentTriggerConfigSchema
|
|
202
206
|
]);
|
|
203
|
-
var resourceNameSchema =
|
|
207
|
+
var resourceNameSchema = external_exports.string().min(1, "Name is required").regex(
|
|
204
208
|
/^[a-zA-Z0-9_]+$/,
|
|
205
209
|
"Name must contain only letters, numbers, and underscores"
|
|
206
210
|
);
|
|
207
|
-
var formSubmissionResponseSchema =
|
|
208
|
-
message:
|
|
209
|
-
executionIds:
|
|
211
|
+
var formSubmissionResponseSchema = external_exports.object({
|
|
212
|
+
message: external_exports.string(),
|
|
213
|
+
executionIds: external_exports.array(external_exports.string())
|
|
210
214
|
});
|
|
211
215
|
|
|
212
216
|
// src/form/submit.ts
|
|
213
|
-
import { z as z2 } from "zod";
|
|
214
217
|
var API_URL = "https://swirls.ai/api";
|
|
215
218
|
async function submitForm(form, value) {
|
|
216
219
|
const submission = parseSubmission(form.schema, value);
|
|
@@ -230,7 +233,7 @@ async function submitForm(form, value) {
|
|
|
230
233
|
function parseSubmission(schema, value) {
|
|
231
234
|
const parse = schema.safeParse(value);
|
|
232
235
|
if (!parse.success) {
|
|
233
|
-
const message =
|
|
236
|
+
const message = external_exports.prettifyError(parse.error);
|
|
234
237
|
throw new Error(`Invalid submission: ${message}`, {
|
|
235
238
|
cause: parse.error
|
|
236
239
|
});
|