@swirls/sdk 0.0.10 → 0.0.11

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,16 +1,12 @@
1
- import {
2
- external_exports
3
- } from "../chunk-YLVKU5J3.js";
4
- import "../chunk-MLKGABMK.js";
5
-
6
1
  // src/config/config.ts
7
2
  import path from "path";
3
+ import { z } from "zod";
8
4
  var configFileName = "swirls.config.ts";
9
5
  var configImportPath = "@swirls/sdk/config";
10
6
  var generatedFileName = "swirls.gen.ts";
11
- var configSchema = external_exports.object({
12
- projectId: external_exports.uuid(),
13
- genPath: external_exports.string().min(1)
7
+ var configSchema = z.object({
8
+ projectId: z.uuid(),
9
+ genPath: z.string().min(1)
14
10
  });
15
11
  function defineConfig(config) {
16
12
  const root = process.cwd();
package/dist/form/form.js CHANGED
@@ -1,219 +1,9 @@
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
-
216
1
  // src/form/submit.ts
2
+ import { z } from "zod";
3
+ var formSubmissionResponseSchema = z.object({
4
+ message: z.string(),
5
+ executionIds: z.array(z.string())
6
+ });
217
7
  var API_URL = "https://swirls.ai/api";
218
8
  async function submitForm(form, value) {
219
9
  const submission = parseSubmission(form.schema, value);
@@ -233,7 +23,7 @@ async function submitForm(form, value) {
233
23
  function parseSubmission(schema, value) {
234
24
  const parse = schema.safeParse(value);
235
25
  if (!parse.success) {
236
- const message = external_exports.prettifyError(parse.error);
26
+ const message = z.prettifyError(parse.error);
237
27
  throw new Error(`Invalid submission: ${message}`, {
238
28
  cause: parse.error
239
29
  });
@@ -1,9 +1,9 @@
1
- import { JsonSchema } from '@swirls/core/schemas';
1
+ import { JSONSchema7 } from 'json-schema';
2
2
 
3
3
  type Form = {
4
4
  id: string;
5
5
  name: string;
6
- schema: JsonSchema;
6
+ schema: JSONSchema7;
7
7
  };
8
8
  declare function generateFormsCode(forms: Form[], header: string[]): string;
9
9
 
@@ -1,5 +1,3 @@
1
- import "../chunk-MLKGABMK.js";
2
-
3
1
  // ../../node_modules/.bun/json-schema-to-zod@2.7.0/node_modules/json-schema-to-zod/dist/esm/parsers/parseAnyOf.js
4
2
  var parseAnyOf = (schema, refs) => {
5
3
  return schema.anyOf.length ? schema.anyOf.length === 1 ? parseSchema(schema.anyOf[0], {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swirls/sdk",
3
- "version": "0.0.10",
3
+ "version": "0.0.11",
4
4
  "description": "Swirls SDK",
5
5
  "author": {
6
6
  "name": "Swirls",
@@ -8,33 +8,52 @@
8
8
  },
9
9
  "type": "module",
10
10
  "exports": {
11
- "./client": "./dist/client/client.js",
12
- "./form": "./dist/form/form.js",
13
- "./form/generate": "./dist/form/generate.js",
14
- "./config": "./dist/config/config.js"
11
+ "./client": {
12
+ "types": "./dist/client/client.d.ts",
13
+ "import": "./dist/client/client.js",
14
+ "default": "./dist/client/client.js"
15
+ },
16
+ "./form": {
17
+ "types": "./dist/form/form.d.ts",
18
+ "import": "./dist/form/form.js",
19
+ "default": "./dist/form/form.js"
20
+ },
21
+ "./form/generate": {
22
+ "types": "./dist/form/generate.d.ts",
23
+ "import": "./dist/form/generate.js",
24
+ "default": "./dist/form/generate.js"
25
+ },
26
+ "./config": {
27
+ "types": "./dist/config/config.d.ts",
28
+ "import": "./dist/config/config.js",
29
+ "default": "./dist/config/config.js"
30
+ }
15
31
  },
16
32
  "files": [
17
33
  "dist",
18
34
  "README.md"
19
35
  ],
20
36
  "scripts": {
21
- "build": "bun run generate:client && tsup",
22
- "generate:client": "bun run scripts/generate-client.ts",
37
+ "build": "tsup",
23
38
  "generate:docs": "bun run scripts/generate-docs.ts",
24
39
  "pkg:publish": "bun publish",
25
40
  "prepublishOnly": "bun run build"
26
41
  },
42
+ "dependencies": {
43
+ "@orpc/client": "1.12.2",
44
+ "@orpc/contract": "1.12.2",
45
+ "@orpc/tanstack-query": "1.12.2",
46
+ "@types/json-schema": "7.0.15",
47
+ "zod": "4.3.5"
48
+ },
27
49
  "devDependencies": {
28
50
  "@swirls/core": "0.0.1",
29
- "@orpc/contract": "1.12.2",
30
- "evlog": "1.9.0",
31
51
  "@types/node": "24.10.0",
32
52
  "@types/react": "19.2.6",
33
53
  "json-schema-to-zod": "2.7.0",
34
54
  "react": "19.2.1",
35
55
  "text-case": "1.2.9",
36
- "tsup": "8.5.1",
37
- "zod": "4.3.5"
56
+ "tsup": "8.5.1"
38
57
  },
39
58
  "peerDependencies": {
40
59
  "react": "^18.0.0 || ^19.0.0"
@@ -1,9 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __export = (target, all) => {
3
- for (var name in all)
4
- __defProp(target, name, { get: all[name], enumerable: true });
5
- };
6
-
7
- export {
8
- __export
9
- };