@swirls/sdk 0.0.6 → 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.
@@ -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 = z.object({
8
- projectId: z.uuid(),
9
- genPath: z.string().min(1)
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,6 +1,219 @@
1
+ import {
2
+ external_exports
3
+ } from "../chunk-YLVKU5J3.js";
4
+ import "../chunk-MLKGABMK.js";
5
+
6
+ // ../core/src/schemas.ts
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())
16
+ ]).optional(),
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(),
26
+ // General validations
27
+ enum: external_exports.array(external_exports.custom()).optional(),
28
+ const: external_exports.custom().optional(),
29
+ // Number validations
30
+ minimum: external_exports.number().optional(),
31
+ maximum: external_exports.number().optional(),
32
+ // String validations
33
+ minLength: external_exports.number().optional(),
34
+ maxLength: external_exports.number().optional(),
35
+ pattern: external_exports.string().optional(),
36
+ // Array validations
37
+ minItems: external_exports.number().optional(),
38
+ maxItems: external_exports.number().optional(),
39
+ uniqueItems: external_exports.boolean().optional(),
40
+ // Composition
41
+ allOf: external_exports.array(jsonSchemaSchema).optional(),
42
+ anyOf: external_exports.array(jsonSchemaSchema).optional(),
43
+ oneOf: external_exports.array(jsonSchemaSchema).optional(),
44
+ not: jsonSchemaSchema.optional(),
45
+ if: jsonSchemaSchema.optional(),
46
+ else: jsonSchemaSchema.optional(),
47
+ // biome-ignore lint/suspicious/noThenProperty: `then` is a valid JSON Schema property
48
+ then: jsonSchemaSchema.optional()
49
+ })
50
+ );
51
+ var nodeTypeMap = {
52
+ bucket: "bucket",
53
+ code: "code",
54
+ document: "document",
55
+ email: "email",
56
+ graph: "graph",
57
+ http: "http",
58
+ llm: "llm",
59
+ scrape: "scrape",
60
+ stream: "stream",
61
+ switch: "switch",
62
+ wait: "wait"
63
+ };
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()
71
+ });
72
+ var codeNodeConfigSchema = external_exports.object({
73
+ type: external_exports.literal(nodeTypeMap.code),
74
+ code: external_exports.string().optional()
75
+ });
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()
82
+ });
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())])
87
+ });
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"])
97
+ })
98
+ ).optional(),
99
+ limit: external_exports.number().optional(),
100
+ offset: external_exports.number().optional()
101
+ }).optional()
102
+ });
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()
111
+ });
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()
119
+ });
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()
125
+ });
126
+ var documentNodeConfigSchema = external_exports.object({
127
+ type: external_exports.literal(nodeTypeMap.document),
128
+ documentId: external_exports.string().uuid().optional()
129
+ });
130
+ var subgraphNodeConfigSchema = external_exports.object({
131
+ type: external_exports.literal(nodeTypeMap.graph),
132
+ graphId: external_exports.string().uuid().optional()
133
+ });
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()
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(
143
+ /^[a-zA-Z0-9_]+$/,
144
+ "Output must contain only letters, numbers, and underscores"
145
+ )
146
+ ).min(1, "At least one output is required"),
147
+ code: external_exports.string().optional()
148
+ });
149
+ var reviewActionSchema = external_exports.object({
150
+ id: external_exports.string().regex(
151
+ /^[a-zA-Z0-9_]+$/,
152
+ "Action id must contain only letters, numbers, and underscores"
153
+ ),
154
+ label: external_exports.string().min(1, "Label is required"),
155
+ outcome: external_exports.enum(["approve", "reject"])
156
+ });
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(),
164
+ schema: jsonSchemaSchema.optional().nullable(),
165
+ actions: external_exports.array(reviewActionSchema).optional()
166
+ });
167
+ var graphNodeConfigSchema = external_exports.discriminatedUnion("type", [
168
+ llmNodeConfigSchema,
169
+ codeNodeConfigSchema,
170
+ documentNodeConfigSchema,
171
+ emailNodeConfigSchema,
172
+ subgraphNodeConfigSchema,
173
+ httpNodeConfigSchema,
174
+ scrapeNodeConfigSchema,
175
+ streamNodeConfigSchema,
176
+ switchNodeConfigSchema,
177
+ waitNodeConfigSchema,
178
+ bucketNodeConfigSchema
179
+ ]);
180
+ var triggerTypeMap = {
181
+ form: "form",
182
+ webhook: "webhook",
183
+ schedule: "schedule",
184
+ agent: "agent"
185
+ };
186
+ var triggerTypeSchema = external_exports.enum(Object.values(triggerTypeMap));
187
+ var formTriggerConfigSchema = external_exports.object({
188
+ type: external_exports.literal(triggerTypeMap.form)
189
+ });
190
+ var webhookTriggerConfigSchema = external_exports.object({
191
+ type: external_exports.literal(triggerTypeMap.webhook)
192
+ });
193
+ var scheduleTriggerConfigSchema = external_exports.object({
194
+ type: external_exports.literal(triggerTypeMap.schedule),
195
+ cron: external_exports.string(),
196
+ timezone: external_exports.string().optional()
197
+ });
198
+ var agentTriggerConfigSchema = external_exports.object({
199
+ type: external_exports.literal(triggerTypeMap.agent)
200
+ });
201
+ var triggerConfigSchema = external_exports.discriminatedUnion("type", [
202
+ formTriggerConfigSchema,
203
+ webhookTriggerConfigSchema,
204
+ scheduleTriggerConfigSchema,
205
+ agentTriggerConfigSchema
206
+ ]);
207
+ var resourceNameSchema = external_exports.string().min(1, "Name is required").regex(
208
+ /^[a-zA-Z0-9_]+$/,
209
+ "Name must contain only letters, numbers, and underscores"
210
+ );
211
+ var formSubmissionResponseSchema = external_exports.object({
212
+ message: external_exports.string(),
213
+ executionIds: external_exports.array(external_exports.string())
214
+ });
215
+
1
216
  // src/form/submit.ts
2
- import { formSubmissionResponseSchema } from "@swirls/core/schemas";
3
- import { z } from "zod";
4
217
  var API_URL = "https://swirls.ai/api";
5
218
  async function submitForm(form, value) {
6
219
  const submission = parseSubmission(form.schema, value);
@@ -20,7 +233,7 @@ async function submitForm(form, value) {
20
233
  function parseSubmission(schema, value) {
21
234
  const parse = schema.safeParse(value);
22
235
  if (!parse.success) {
23
- const message = z.prettifyError(parse.error);
236
+ const message = external_exports.prettifyError(parse.error);
24
237
  throw new Error(`Invalid submission: ${message}`, {
25
238
  cause: parse.error
26
239
  });