@d34dman/flowdrop 0.0.18 → 0.0.19

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.
Files changed (46) hide show
  1. package/README.md +0 -55
  2. package/dist/api/enhanced-client.d.ts +2 -2
  3. package/dist/api/enhanced-client.js +5 -5
  4. package/dist/components/NotesNode.svelte +3 -3
  5. package/dist/components/NotesNode.svelte.d.ts +3 -3
  6. package/dist/components/SimpleNode.svelte +3 -3
  7. package/dist/components/SimpleNode.svelte.d.ts +3 -3
  8. package/dist/components/SquareNode.svelte +3 -3
  9. package/dist/components/SquareNode.svelte.d.ts +3 -3
  10. package/dist/components/TerminalNode.svelte +84 -66
  11. package/dist/components/TerminalNode.svelte.d.ts +3 -3
  12. package/dist/components/UniversalNode.svelte +7 -33
  13. package/dist/components/WorkflowEditor.svelte +1 -9
  14. package/dist/helpers/workflowEditorHelper.d.ts +3 -3
  15. package/dist/helpers/workflowEditorHelper.js +5 -7
  16. package/dist/index.d.ts +4 -7
  17. package/dist/index.js +2 -5
  18. package/dist/registry/builtinNodes.d.ts +2 -2
  19. package/dist/registry/builtinNodes.js +2 -2
  20. package/dist/services/api.d.ts +0 -5
  21. package/dist/services/api.js +0 -20
  22. package/dist/svelte-app.d.ts +0 -6
  23. package/dist/svelte-app.js +0 -8
  24. package/dist/types/auth.d.ts +0 -15
  25. package/dist/types/auth.js +0 -15
  26. package/dist/types/config.d.ts +11 -151
  27. package/dist/types/config.js +3 -0
  28. package/dist/types/index.d.ts +0 -6
  29. package/dist/utils/colors.d.ts +0 -5
  30. package/dist/utils/colors.js +3 -4
  31. package/dist/utils/config.d.ts +0 -8
  32. package/dist/utils/config.js +0 -14
  33. package/dist/utils/connections.d.ts +0 -5
  34. package/dist/utils/connections.js +10 -16
  35. package/dist/utils/icons.js +1 -1
  36. package/dist/utils/nodeTypes.d.ts +1 -1
  37. package/dist/utils/nodeTypes.js +3 -20
  38. package/package.json +144 -138
  39. package/dist/clients/ApiClient.d.ts +0 -199
  40. package/dist/clients/ApiClient.js +0 -214
  41. package/dist/config/apiConfig.d.ts +0 -34
  42. package/dist/config/apiConfig.js +0 -40
  43. package/dist/examples/adapter-usage.d.ts +0 -66
  44. package/dist/examples/adapter-usage.js +0 -133
  45. package/dist/examples/api-client-usage.d.ts +0 -32
  46. package/dist/examples/api-client-usage.js +0 -243
@@ -11,19 +11,6 @@
11
11
  */
12
12
  import { nodeComponentRegistry } from '../registry/nodeComponentRegistry.js';
13
13
  import { resolveBuiltinAlias, isBuiltinType } from '../registry/builtinNodes.js';
14
- /**
15
- * Maps built-in NodeType to SvelteFlow component names.
16
- * This is kept for backwards compatibility.
17
- */
18
- const NODE_TYPE_TO_COMPONENT_MAP = {
19
- note: 'note',
20
- simple: 'simple',
21
- square: 'square',
22
- tool: 'tool',
23
- gateway: 'gateway',
24
- terminal: 'terminal',
25
- default: 'workflowNode'
26
- };
27
14
  /**
28
15
  * Display names for built-in node types.
29
16
  */
@@ -38,7 +25,7 @@ const TYPE_DISPLAY_NAMES = {
38
25
  };
39
26
  /**
40
27
  * Gets the SvelteFlow component name for a given NodeType.
41
- * Supports both built-in types and registered custom types.
28
+ * Uses the node component registry to resolve types.
42
29
  *
43
30
  * @param nodeType - The node type identifier
44
31
  * @returns The component name to use
@@ -50,12 +37,8 @@ export function getComponentNameForNodeType(nodeType) {
50
37
  if (nodeComponentRegistry.has(resolvedType)) {
51
38
  return resolvedType;
52
39
  }
53
- // Fall back to built-in mapping
54
- if (nodeType in NODE_TYPE_TO_COMPONENT_MAP) {
55
- return NODE_TYPE_TO_COMPONENT_MAP[nodeType];
56
- }
57
- // Unknown type - return as-is (might be a custom type)
58
- return resolvedType;
40
+ // Unknown type - return workflowNode as default
41
+ return 'workflowNode';
59
42
  }
60
43
  /**
61
44
  * Gets the available node types for a given NodeMetadata.
package/package.json CHANGED
@@ -1,139 +1,145 @@
1
1
  {
2
- "name": "@d34dman/flowdrop",
3
- "license": "MIT",
4
- "private": false,
5
- "version": "0.0.18",
6
- "scripts": {
7
- "dev": "vite dev",
8
- "build": "vite build && npm run prepack",
9
- "build:drupal": "vite build --config vite.config.drupal.ts",
10
- "build:production": "vite build --config vite.config.production.ts",
11
- "watch:build:drupal": "npm-watch build:drupal",
12
- "watch:build:production": "npm-watch build:production",
13
- "watch:build": "npm-watch build",
14
- "preview": "vite preview",
15
- "prepare": "svelte-kit sync || echo ''",
16
- "prepack": "svelte-kit sync && svelte-package && publint",
17
- "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
18
- "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
19
- "lint": "eslint . && prettier --check .",
20
- "test:unit": "vitest",
21
- "test": "npm run test:unit -- --run && npm run test:e2e",
22
- "test:e2e": "playwright test",
23
- "format": "prettier --write .",
24
- "storybook": "storybook dev -p 6006",
25
- "build-storybook": "storybook build"
26
- },
27
- "watch": {
28
- "build": {
29
- "ignore": "build",
30
- "patterns": [
31
- "src"
32
- ],
33
- "extensions": "js,ts,svelte,html,css,svg",
34
- "quiet": true,
35
- "legacyWatch": true,
36
- "delay": 2500,
37
- "runOnChangeOnly": false
38
- },
39
- "build:drupal": {
40
- "ignore": "build",
41
- "patterns": [
42
- "src"
43
- ],
44
- "extensions": "js,ts,svelte,html,css,svg",
45
- "quiet": true,
46
- "legacyWatch": true,
47
- "delay": 2500,
48
- "runOnChangeOnly": false
49
- },
50
- "build:production": {
51
- "ignore": "build",
52
- "patterns": [
53
- "src"
54
- ],
55
- "extensions": "js,ts,svelte,html,css,svg",
56
- "quiet": true,
57
- "legacyWatch": true,
58
- "delay": 2500,
59
- "runOnChangeOnly": false
60
- }
61
- },
62
- "files": [
63
- "dist",
64
- "!dist/**/*.test.*",
65
- "!dist/**/*.spec.*"
66
- ],
67
- "sideEffects": [
68
- "**/*.css",
69
- "./dist/styles/base.css"
70
- ],
71
- "svelte": "./dist/index.js",
72
- "types": "./dist/index.d.ts",
73
- "type": "module",
74
- "exports": {
75
- ".": {
76
- "types": "./dist/index.d.ts",
77
- "svelte": "./dist/index.js",
78
- "default": "./dist/index.js"
79
- },
80
- "./styles/base.css": "./dist/styles/base.css"
81
- },
82
- "peerDependencies": {
83
- "@sveltejs/kit": "^2.0.0",
84
- "svelte": "^5.0.0"
85
- },
86
- "repository": {
87
- "type": "git",
88
- "url": "git+https://github.com/d34dman/flowdrop.git"
89
- },
90
- "devDependencies": {
91
- "@chromatic-com/storybook": "^4.0.1",
92
- "@eslint/compat": "^1.2.5",
93
- "@eslint/js": "^9.18.0",
94
- "@iconify/svelte": "^5.0.0",
95
- "@playwright/test": "^1.49.1",
96
- "@storybook/addon-docs": "^9.0.15",
97
- "@storybook/addon-svelte-csf": "^5.0.4",
98
- "@storybook/addon-vitest": "^9.0.15",
99
- "@storybook/sveltekit": "^9.0.15",
100
- "@sveltejs/adapter-auto": "^6.0.0",
101
- "@sveltejs/adapter-node": "^5.4.0",
102
- "@sveltejs/kit": "^2.16.0",
103
- "@sveltejs/package": "^2.0.0",
104
- "@sveltejs/vite-plugin-svelte": "^5.0.0",
105
- "@types/marked": "^6.0.0",
106
- "@types/node": "^20",
107
- "@vitest/browser": "^3.2.3",
108
- "eslint": "^9.18.0",
109
- "eslint-config-prettier": "^10.0.1",
110
- "eslint-plugin-storybook": "^9.0.15",
111
- "eslint-plugin-svelte": "^3.0.0",
112
- "globals": "^16.0.0",
113
- "npm-watch": "^0.13.0",
114
- "playwright": "^1.53.0",
115
- "prettier": "^3.4.2",
116
- "prettier-plugin-svelte": "^3.3.3",
117
- "publint": "^0.3.2",
118
- "storybook": "^9.0.15",
119
- "svelte": "^5.0.0",
120
- "svelte-check": "^4.0.0",
121
- "terser": "^5.43.1",
122
- "typescript": "^5.0.0",
123
- "typescript-eslint": "^8.20.0",
124
- "vite": "^6.2.6",
125
- "vite-plugin-devtools-json": "^0.2.1",
126
- "vitest": "^3.2.3",
127
- "vitest-browser-svelte": "^0.1.0"
128
- },
129
- "keywords": [
130
- "svelte"
131
- ],
132
- "dependencies": {
133
- "@types/uuid": "^10.0.0",
134
- "@xyflow/svelte": "~1.2",
135
- "marked": "^16.1.1",
136
- "svelte-5-french-toast": "^2.0.6",
137
- "uuid": "^11.1.0"
138
- }
139
- }
2
+ "name": "@d34dman/flowdrop",
3
+ "license": "MIT",
4
+ "private": false,
5
+ "version": "0.0.19",
6
+ "scripts": {
7
+ "dev": "vite dev",
8
+ "build": "vite build && npm run prepack",
9
+ "build:drupal": "vite build --config vite.config.drupal.ts",
10
+ "build:production": "vite build --config vite.config.production.ts",
11
+ "watch:build:drupal": "npm-watch build:drupal",
12
+ "watch:build:production": "npm-watch build:production",
13
+ "watch:build": "npm-watch build",
14
+ "preview": "vite preview",
15
+ "prepare": "svelte-kit sync || echo ''",
16
+ "prepack": "svelte-kit sync && svelte-package && publint",
17
+ "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
18
+ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
19
+ "lint": "eslint . && prettier --check .",
20
+ "test:unit": "vitest",
21
+ "test": "npm run test:unit -- --run && npm run test:e2e",
22
+ "test:e2e": "playwright test",
23
+ "format": "prettier --write .",
24
+ "storybook": "storybook dev -p 6006",
25
+ "build-storybook": "storybook build"
26
+ },
27
+ "watch": {
28
+ "build": {
29
+ "ignore": "build",
30
+ "patterns": [
31
+ "src"
32
+ ],
33
+ "extensions": "js,ts,svelte,html,css,svg",
34
+ "quiet": true,
35
+ "legacyWatch": true,
36
+ "delay": 2500,
37
+ "runOnChangeOnly": false
38
+ },
39
+ "build:drupal": {
40
+ "ignore": "build",
41
+ "patterns": [
42
+ "src"
43
+ ],
44
+ "extensions": "js,ts,svelte,html,css,svg",
45
+ "quiet": true,
46
+ "legacyWatch": true,
47
+ "delay": 2500,
48
+ "runOnChangeOnly": false
49
+ },
50
+ "build:production": {
51
+ "ignore": "build",
52
+ "patterns": [
53
+ "src"
54
+ ],
55
+ "extensions": "js,ts,svelte,html,css,svg",
56
+ "quiet": true,
57
+ "legacyWatch": true,
58
+ "delay": 2500,
59
+ "runOnChangeOnly": false
60
+ }
61
+ },
62
+ "files": [
63
+ "dist",
64
+ "!dist/**/*.test.*",
65
+ "!dist/**/*.spec.*"
66
+ ],
67
+ "sideEffects": [
68
+ "**/*.css",
69
+ "./dist/styles/base.css"
70
+ ],
71
+ "svelte": "./dist/index.js",
72
+ "types": "./dist/index.d.ts",
73
+ "type": "module",
74
+ "exports": {
75
+ ".": {
76
+ "types": "./dist/index.d.ts",
77
+ "svelte": "./dist/index.js",
78
+ "default": "./dist/index.js"
79
+ },
80
+ "./styles/base.css": "./dist/styles/base.css"
81
+ },
82
+ "peerDependencies": {
83
+ "@sveltejs/kit": "^2.0.0",
84
+ "svelte": "^5.0.0"
85
+ },
86
+ "repository": {
87
+ "type": "git",
88
+ "url": "git+https://github.com/d34dman/flowdrop.git"
89
+ },
90
+ "devDependencies": {
91
+ "@chromatic-com/storybook": "^4.0.1",
92
+ "@eslint/compat": "^1.2.5",
93
+ "@eslint/js": "^9.18.0",
94
+ "@iconify/svelte": "^5.0.0",
95
+ "@playwright/test": "^1.49.1",
96
+ "@storybook/addon-docs": "^9.0.15",
97
+ "@storybook/addon-svelte-csf": "^5.0.4",
98
+ "@storybook/addon-vitest": "^9.0.15",
99
+ "@storybook/sveltekit": "^9.0.15",
100
+ "@sveltejs/adapter-auto": "^6.0.0",
101
+ "@sveltejs/adapter-node": "^5.4.0",
102
+ "@sveltejs/kit": "^2.16.0",
103
+ "@sveltejs/package": "^2.0.0",
104
+ "@sveltejs/vite-plugin-svelte": "^5.0.0",
105
+ "@types/marked": "^6.0.0",
106
+ "@types/node": "^20",
107
+ "@vitest/browser": "^3.2.3",
108
+ "eslint": "^9.18.0",
109
+ "eslint-config-prettier": "^10.0.1",
110
+ "eslint-plugin-storybook": "^9.0.15",
111
+ "eslint-plugin-svelte": "^3.0.0",
112
+ "globals": "^16.0.0",
113
+ "msw": "^2.12.7",
114
+ "npm-watch": "^0.13.0",
115
+ "playwright": "^1.53.0",
116
+ "prettier": "^3.4.2",
117
+ "prettier-plugin-svelte": "^3.3.3",
118
+ "publint": "^0.3.2",
119
+ "storybook": "^9.0.15",
120
+ "svelte": "^5.0.0",
121
+ "svelte-check": "^4.0.0",
122
+ "terser": "^5.43.1",
123
+ "typescript": "^5.0.0",
124
+ "typescript-eslint": "^8.20.0",
125
+ "vite": "^6.2.6",
126
+ "vite-plugin-devtools-json": "^0.2.1",
127
+ "vitest": "^3.2.3",
128
+ "vitest-browser-svelte": "^0.1.0"
129
+ },
130
+ "keywords": [
131
+ "svelte"
132
+ ],
133
+ "dependencies": {
134
+ "@types/uuid": "^10.0.0",
135
+ "@xyflow/svelte": "~1.2",
136
+ "marked": "^16.1.1",
137
+ "svelte-5-french-toast": "^2.0.6",
138
+ "uuid": "^11.1.0"
139
+ },
140
+ "msw": {
141
+ "workerDirectory": [
142
+ "static"
143
+ ]
144
+ }
145
+ }
@@ -1,199 +0,0 @@
1
- /**
2
- * FlowDrop API Client
3
- * Type-safe client for the FlowDrop API
4
- */
5
- import type { NodeMetadata, Workflow, ApiResponse, NodesResponse, WorkflowResponse, WorkflowsResponse } from '../types/index.js';
6
- /**
7
- * API Client Configuration
8
- */
9
- export interface ApiClientConfig {
10
- baseUrl: string;
11
- apiKey?: string;
12
- timeout?: number;
13
- headers?: Record<string, string>;
14
- }
15
- /**
16
- * Request options for API calls
17
- */
18
- export interface RequestOptions {
19
- headers?: Record<string, string>;
20
- timeout?: number;
21
- }
22
- /**
23
- * Pagination parameters
24
- */
25
- export interface PaginationParams {
26
- limit?: number;
27
- offset?: number;
28
- }
29
- /**
30
- * Node types query parameters
31
- */
32
- export interface NodeTypesQuery {
33
- category?: string;
34
- search?: string;
35
- limit?: number;
36
- offset?: number;
37
- }
38
- /**
39
- * Workflows query parameters
40
- */
41
- export interface WorkflowsQuery {
42
- search?: string;
43
- tags?: string;
44
- limit?: number;
45
- offset?: number;
46
- sort?: 'created_at' | 'updated_at' | 'name';
47
- order?: 'asc' | 'desc';
48
- }
49
- /**
50
- * Create workflow request
51
- */
52
- export interface CreateWorkflowRequest {
53
- name: string;
54
- description?: string;
55
- nodes?: unknown[];
56
- edges?: unknown[];
57
- tags?: string[];
58
- }
59
- /**
60
- * Update workflow request
61
- */
62
- export interface UpdateWorkflowRequest {
63
- name?: string;
64
- description?: string;
65
- nodes?: unknown[];
66
- edges?: unknown[];
67
- tags?: string[];
68
- }
69
- /**
70
- * Execute workflow request
71
- */
72
- export interface ExecuteWorkflowRequest {
73
- inputs: Record<string, unknown>;
74
- options?: {
75
- timeout?: number;
76
- maxSteps?: number;
77
- };
78
- }
79
- /**
80
- * FlowDrop API Client Class
81
- */
82
- export declare class ApiClient {
83
- private config;
84
- private defaultHeaders;
85
- constructor(config: ApiClientConfig);
86
- /**
87
- * Make an HTTP request
88
- */
89
- private request;
90
- /**
91
- * Check API health
92
- */
93
- healthCheck(): Promise<{
94
- status: string;
95
- timestamp: string;
96
- version: string;
97
- }>;
98
- /**
99
- * Get all node types
100
- */
101
- getNodeTypes(query?: NodeTypesQuery): Promise<NodesResponse>;
102
- /**
103
- * Get node type by ID
104
- */
105
- getNodeType(id: string): Promise<NodeTypeResponse>;
106
- /**
107
- * Get all workflows
108
- */
109
- getWorkflows(query?: WorkflowsQuery): Promise<WorkflowsResponse>;
110
- /**
111
- * Get workflow by ID
112
- */
113
- getWorkflow(id: string): Promise<WorkflowResponse>;
114
- /**
115
- * Create a new workflow
116
- */
117
- createWorkflow(data: CreateWorkflowRequest): Promise<WorkflowResponse>;
118
- /**
119
- * Update workflow
120
- */
121
- updateWorkflow(id: string, data: UpdateWorkflowRequest): Promise<WorkflowResponse>;
122
- /**
123
- * Delete workflow
124
- */
125
- deleteWorkflow(id: string): Promise<void>;
126
- /**
127
- * Execute workflow
128
- */
129
- executeWorkflow(id: string, data: ExecuteWorkflowRequest): Promise<ExecutionResponse>;
130
- /**
131
- * Get execution status
132
- */
133
- getExecutionStatus(id: string): Promise<ExecutionStatusResponse>;
134
- /**
135
- * Cancel execution
136
- */
137
- cancelExecution(id: string): Promise<ExecutionResponse>;
138
- /**
139
- * Export workflow
140
- */
141
- exportWorkflow(id: string, format?: 'json' | 'yaml'): Promise<Workflow>;
142
- /**
143
- * Import workflow
144
- */
145
- importWorkflow(workflow: Workflow): Promise<WorkflowResponse>;
146
- /**
147
- * Validate workflow
148
- */
149
- validateWorkflow(workflow: Workflow): Promise<ValidationResponse>;
150
- /**
151
- * Wait for execution completion
152
- */
153
- waitForExecution(id: string, pollInterval?: number): Promise<ExecutionStatusResponse>;
154
- /**
155
- * Get workflows by tag
156
- */
157
- getWorkflowsByTag(tag: string, query?: Omit<WorkflowsQuery, 'tags'>): Promise<WorkflowsResponse>;
158
- /**
159
- * Get node types by category
160
- */
161
- getNodeTypesByCategory(category: string, query?: Omit<NodeTypesQuery, 'category'>): Promise<NodesResponse>;
162
- }
163
- /**
164
- * API Error Class
165
- */
166
- export declare class ApiError extends Error {
167
- status: number;
168
- code?: string;
169
- details?: unknown;
170
- constructor(status: number, message: string, code?: string, details?: unknown);
171
- }
172
- /**
173
- * Execution response types
174
- */
175
- export type ExecutionResponse = ApiResponse<{
176
- executionId: string;
177
- status: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
178
- message: string;
179
- }>;
180
- export type ExecutionStatusResponse = ApiResponse<{
181
- executionId: string;
182
- status: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
183
- result?: unknown;
184
- error?: string;
185
- startTime: string;
186
- endTime?: string;
187
- duration?: number;
188
- nodeResults?: Record<string, unknown>;
189
- }>;
190
- export type ValidationResponse = ApiResponse<{
191
- valid: boolean;
192
- errors: string[];
193
- warnings: string[];
194
- suggestions?: string[];
195
- }>;
196
- /**
197
- * Type for node type response
198
- */
199
- export type NodeTypeResponse = ApiResponse<NodeMetadata>;