@flowdrop/flowdrop 1.7.0 → 1.8.0

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 (71) hide show
  1. package/README.md +10 -0
  2. package/dist/components/App.svelte +92 -54
  3. package/dist/components/App.svelte.d.ts +13 -0
  4. package/dist/components/ConfigModal.svelte +2 -1
  5. package/dist/components/ConfigPanel.svelte +3 -2
  6. package/dist/components/FlowDropZone.svelte +2 -1
  7. package/dist/components/LogsSidebar.svelte +3 -2
  8. package/dist/components/Navbar.svelte +10 -6
  9. package/dist/components/NodeSidebar.svelte +4 -3
  10. package/dist/components/NodeStatusOverlay.svelte +14 -7
  11. package/dist/components/NodeSwapPicker.svelte +2 -1
  12. package/dist/components/PipelineStatus.svelte +10 -7
  13. package/dist/components/ReadOnlyDetails.svelte +4 -2
  14. package/dist/components/SchemaForm.svelte +20 -9
  15. package/dist/components/SchemaForm.svelte.d.ts +2 -4
  16. package/dist/components/SettingsModal.svelte +4 -3
  17. package/dist/components/SettingsPanel.svelte +3 -2
  18. package/dist/components/SwapMappingEditor.svelte +2 -1
  19. package/dist/components/WorkflowEditor.svelte +3 -2
  20. package/dist/components/chat/AIChatPanel.svelte +22 -7
  21. package/dist/components/chat/AIChatPanel.svelte.d.ts +3 -0
  22. package/dist/components/chat/CommandPreview.svelte +10 -6
  23. package/dist/components/console/CommandConsole.svelte +4 -3
  24. package/dist/components/form/FormArray.svelte +33 -20
  25. package/dist/components/form/FormArray.svelte.d.ts +3 -1
  26. package/dist/components/form/FormAutocomplete.svelte +18 -7
  27. package/dist/components/form/FormCodeEditor.svelte +2 -1
  28. package/dist/components/form/FormFieldWrapper.svelte +2 -1
  29. package/dist/components/form/FormMarkdownEditor.svelte +152 -108
  30. package/dist/components/form/FormMarkdownEditor.svelte.d.ts +1 -1
  31. package/dist/components/form/FormTemplateEditor.svelte +2 -1
  32. package/dist/components/form/FormToggle.svelte +23 -5
  33. package/dist/components/form/FormToggle.svelte.d.ts +6 -2
  34. package/dist/components/interrupt/ChoicePrompt.svelte +14 -5
  35. package/dist/components/interrupt/ConfirmationPrompt.svelte +8 -5
  36. package/dist/components/interrupt/FormPrompt.svelte +28 -7
  37. package/dist/components/interrupt/InterruptBubble.svelte +27 -18
  38. package/dist/components/interrupt/ReviewPrompt.svelte +32 -22
  39. package/dist/components/interrupt/TextInputPrompt.svelte +12 -5
  40. package/dist/components/layouts/MainLayout.svelte +4 -3
  41. package/dist/components/nodes/GatewayNode.svelte +8 -3
  42. package/dist/components/nodes/IdeaNode.svelte +2 -1
  43. package/dist/components/nodes/NotesNode.svelte +18 -12
  44. package/dist/components/nodes/WorkflowNode.svelte +8 -3
  45. package/dist/components/playground/ChatPanel.svelte +36 -24
  46. package/dist/components/playground/MessageBubble.svelte +15 -7
  47. package/dist/components/playground/Playground.svelte +2 -1
  48. package/dist/components/playground/PlaygroundModal.svelte +2 -1
  49. package/dist/components/playground/SessionManager.svelte +14 -10
  50. package/dist/core/index.d.ts +2 -0
  51. package/dist/core/index.js +9 -0
  52. package/dist/editor/index.d.ts +1 -1
  53. package/dist/editor/index.js +1 -1
  54. package/dist/messages/context.d.ts +29 -0
  55. package/dist/messages/context.js +38 -0
  56. package/dist/messages/defaults.d.ts +396 -0
  57. package/dist/messages/defaults.js +356 -0
  58. package/dist/messages/deprecation.d.ts +20 -0
  59. package/dist/messages/deprecation.js +33 -0
  60. package/dist/messages/index.d.ts +11 -0
  61. package/dist/messages/index.js +10 -0
  62. package/dist/messages/merge.d.ts +28 -0
  63. package/dist/messages/merge.js +53 -0
  64. package/dist/messages/types.d.ts +29 -0
  65. package/dist/messages/types.js +13 -0
  66. package/dist/services/draftStorage.d.ts +13 -0
  67. package/dist/services/draftStorage.js +36 -0
  68. package/dist/styles/base.css +13 -4
  69. package/dist/svelte-app.d.ts +11 -0
  70. package/dist/svelte-app.js +11 -2
  71. package/package.json +1 -1
@@ -0,0 +1,396 @@
1
+ /**
2
+ * Default English strings for every user-facing label, message, and tooltip
3
+ * rendered by FlowDrop.
4
+ *
5
+ * Consumers override any subset by passing `messages={() => partial}` to the
6
+ * root `<FlowDrop>` component (see `./context.ts`).
7
+ *
8
+ * Conventions:
9
+ * - Group by **domain** (form, interrupt, chat, navigation, status, nodes,
10
+ * common), not by component file path. Component paths churn; domains
11
+ * don't.
12
+ * - Parameterised strings are **functions**, not template strings with
13
+ * placeholders. The compiler then enforces the param shape at every call
14
+ * site.
15
+ * - Leaves are either `string` or `(params) => string`. Nothing else.
16
+ *
17
+ * The `as const` assertion is load-bearing: without it, every string widens
18
+ * to `string` and the `Messages` type loses its precision.
19
+ */
20
+ export declare const defaultMessages: {
21
+ readonly common: {
22
+ readonly save: "Save";
23
+ readonly cancel: "Cancel";
24
+ readonly confirm: "Confirm";
25
+ readonly close: "Close";
26
+ readonly delete: "Delete";
27
+ readonly yes: "Yes";
28
+ readonly no: "No";
29
+ };
30
+ readonly form: {
31
+ readonly array: {
32
+ readonly itemLabel: ({ n }: {
33
+ n: number;
34
+ }) => string;
35
+ readonly expandItem: "Expand item";
36
+ readonly collapseItem: "Collapse item";
37
+ readonly moveItemUp: ({ n }: {
38
+ n: number;
39
+ }) => string;
40
+ readonly moveItemDown: ({ n }: {
41
+ n: number;
42
+ }) => string;
43
+ readonly deleteItem: ({ n }: {
44
+ n: number;
45
+ }) => string;
46
+ readonly moveUp: "Move up";
47
+ readonly moveDown: "Move down";
48
+ readonly delete: "Delete item";
49
+ readonly yes: "Yes";
50
+ readonly no: "No";
51
+ readonly empty: "No items yet";
52
+ readonly add: "Add Item";
53
+ readonly count: ({ n }: {
54
+ n: number;
55
+ }) => string;
56
+ readonly min: ({ n }: {
57
+ n: number;
58
+ }) => string;
59
+ readonly max: ({ n }: {
60
+ n: number;
61
+ }) => string;
62
+ readonly unsupported: ({ type }: {
63
+ type: string;
64
+ }) => string;
65
+ };
66
+ readonly markdown: {
67
+ readonly placeholder: "Write your markdown here...";
68
+ readonly bold: "Bold";
69
+ readonly italic: "Italic";
70
+ readonly strikethrough: "Strikethrough";
71
+ readonly heading1: "Heading 1";
72
+ readonly heading2: "Heading 2";
73
+ readonly heading3: "Heading 3";
74
+ readonly quote: "Quote";
75
+ readonly unorderedList: "Unordered List";
76
+ readonly orderedList: "Ordered List";
77
+ readonly link: "Link";
78
+ readonly image: "Image";
79
+ readonly table: "Table";
80
+ readonly editor: "Markdown editor";
81
+ readonly toolbar: "Markdown formatting";
82
+ readonly words: "words";
83
+ readonly lines: "lines";
84
+ readonly characters: "characters";
85
+ };
86
+ readonly autocomplete: {
87
+ readonly removeTag: ({ label }: {
88
+ label: string;
89
+ }) => string;
90
+ readonly loading: "Loading suggestions";
91
+ readonly loadingPending: "Loading suggestions...";
92
+ readonly clearAll: "Clear all selections";
93
+ readonly suggestions: "Suggestions";
94
+ readonly retry: "Retry";
95
+ readonly noResults: "No results found";
96
+ };
97
+ readonly field: {
98
+ readonly required: "required";
99
+ };
100
+ readonly toggle: {
101
+ readonly enabled: "Enabled";
102
+ readonly disabled: "Disabled";
103
+ };
104
+ readonly schema: {
105
+ readonly save: "Save";
106
+ readonly cancel: "Cancel";
107
+ readonly empty: "No schema properties defined.";
108
+ };
109
+ readonly code: {
110
+ readonly editor: "JSON editor";
111
+ };
112
+ readonly template: {
113
+ readonly editor: "Template editor";
114
+ };
115
+ };
116
+ readonly interrupt: {
117
+ readonly responseSubmitted: "Response submitted";
118
+ readonly responseSubmittedBy: ({ name }: {
119
+ name: string;
120
+ }) => string;
121
+ readonly confirmation: {
122
+ readonly yes: "Yes";
123
+ readonly no: "No";
124
+ };
125
+ readonly choice: {
126
+ readonly submit: "Submit";
127
+ readonly selectedCount: ({ n, total }: {
128
+ n: number;
129
+ total: number;
130
+ }) => string;
131
+ readonly min: ({ n }: {
132
+ n: number;
133
+ }) => string;
134
+ readonly max: ({ n }: {
135
+ n: number;
136
+ }) => string;
137
+ };
138
+ readonly review: {
139
+ readonly acceptAll: "Accept All";
140
+ readonly rejectAll: "Reject All";
141
+ readonly submit: "Submit Review";
142
+ readonly empty: "(empty)";
143
+ readonly yes: "Yes";
144
+ readonly no: "No";
145
+ readonly acceptItem: ({ label }: {
146
+ label: string;
147
+ }) => string;
148
+ readonly rejectItem: ({ label }: {
149
+ label: string;
150
+ }) => string;
151
+ readonly accept: "Accept";
152
+ readonly reject: "Reject";
153
+ readonly accepted: "Accepted";
154
+ readonly rejected: "Rejected";
155
+ readonly rendered: "Rendered";
156
+ readonly rawHtml: "Raw HTML";
157
+ readonly original: "Original:";
158
+ readonly proposed: "Proposed:";
159
+ readonly diff: "Diff:";
160
+ readonly counter: ({ accepted, total }: {
161
+ accepted: number;
162
+ total: number;
163
+ }) => string;
164
+ readonly summary: ({ accepted, rejected, total }: {
165
+ accepted: number;
166
+ rejected: number;
167
+ total: number;
168
+ }) => string;
169
+ };
170
+ readonly form: {
171
+ readonly submit: "Submit";
172
+ readonly yes: "Yes";
173
+ readonly no: "No";
174
+ readonly empty: "—";
175
+ readonly submittedValuesTitle: "Submitted Values";
176
+ };
177
+ readonly text: {
178
+ readonly placeholder: "Enter your response...";
179
+ readonly min: ({ n }: {
180
+ n: number;
181
+ }) => string;
182
+ readonly submit: "Submit";
183
+ };
184
+ readonly bubble: {
185
+ readonly required: {
186
+ readonly confirmation: "Confirmation Required";
187
+ readonly selection: "Selection Required";
188
+ readonly input: "Input Required";
189
+ readonly form: "Form Required";
190
+ readonly review: "Review Required";
191
+ readonly default: "Action Required";
192
+ };
193
+ readonly submitted: {
194
+ readonly confirmation: "Confirmation Submitted";
195
+ readonly selection: "Selection Made";
196
+ readonly input: "Input Submitted";
197
+ readonly form: "Form Submitted";
198
+ readonly review: "Review Submitted";
199
+ readonly default: "Response Submitted";
200
+ };
201
+ readonly cancelled: "Cancelled";
202
+ readonly errorRetry: "Error - Click to Retry";
203
+ readonly retry: "Retry";
204
+ readonly cancel: "Cancel";
205
+ readonly fromWorkflow: "From workflow node";
206
+ readonly nodeIdTooltip: ({ id }: {
207
+ id: string;
208
+ }) => string;
209
+ };
210
+ };
211
+ readonly navigation: {
212
+ readonly appName: "FlowDrop";
213
+ readonly tagline: "Visual Workflow Manager";
214
+ readonly breadcrumbAriaLabel: "Breadcrumb";
215
+ readonly connected: "Connected";
216
+ readonly settingsTitle: "Settings";
217
+ readonly settingsAriaLabel: "Open settings";
218
+ readonly save: "Save";
219
+ readonly export: "Export";
220
+ readonly import: "Import";
221
+ readonly workflowSettings: "Workflow Settings";
222
+ readonly workflowSettingsPanelTitle: "Workflow Settings";
223
+ readonly workflowSettingsPanelSubtitle: "Settings";
224
+ readonly nodeConfigDescription: "Node configuration";
225
+ readonly closeSettings: "Close settings";
226
+ readonly closeConfigModal: "Close configuration modal";
227
+ readonly copyId: "Copy ID to clipboard";
228
+ readonly bottomPanel: {
229
+ readonly console: "Console";
230
+ readonly chat: "AI Assistant";
231
+ };
232
+ };
233
+ readonly layout: {
234
+ readonly componentsSidebar: "Components sidebar";
235
+ readonly workflowCanvas: "Workflow canvas";
236
+ readonly executionLogs: "Execution logs sidebar";
237
+ readonly settingsCategories: "Settings categories";
238
+ readonly searchComponents: "Search components";
239
+ readonly commandConsole: "Command Console (`)";
240
+ readonly backToConfiguration: "Back to configuration";
241
+ readonly resizeLeftSidebar: "Resize left sidebar";
242
+ readonly resizeRightSidebar: "Resize right sidebar";
243
+ readonly resizeBottomPanel: "Resize bottom panel";
244
+ readonly expandSidebar: "Expand sidebar";
245
+ readonly collapseSidebar: "Collapse sidebar";
246
+ readonly closePlaygroundModal: "Close playground modal";
247
+ readonly closeLogsSidebar: "Close logs sidebar";
248
+ readonly closeConfigPanel: "Close panel";
249
+ readonly closeConsole: "Close console";
250
+ readonly swapNode: "Swap node";
251
+ readonly backToNodeSelection: "Back to node selection";
252
+ readonly loadSession: ({ name }: {
253
+ name: string;
254
+ }) => string;
255
+ };
256
+ readonly chat: {
257
+ readonly aiAssistant: "AI Assistant";
258
+ readonly requiresBackend: "AI Assistant requires backend configuration";
259
+ readonly loadWorkflow: "Load a workflow to start chatting";
260
+ readonly helpBuild: "Ask the AI to help build your workflow";
261
+ readonly placeholder: "Describe what you want to build...";
262
+ readonly send: "Send message";
263
+ readonly autoRetry: ({ attempt, max }: {
264
+ attempt: number;
265
+ max: number;
266
+ }) => string;
267
+ readonly commandPreview: {
268
+ readonly ariaLabel: "Command preview";
269
+ readonly applying: "Applying…";
270
+ readonly applied: "Applied";
271
+ readonly dismissed: "Dismissed";
272
+ readonly applyAll: "Apply All";
273
+ readonly cancel: "Cancel";
274
+ };
275
+ };
276
+ readonly playground: {
277
+ readonly chat: {
278
+ readonly placeholder: "Type your message...";
279
+ readonly predefinedRun: "Run workflow";
280
+ };
281
+ readonly states: {
282
+ readonly viewOnlyTitle: "View only";
283
+ readonly viewOnlyText: "This playground is in view-only mode. No inputs are available.";
284
+ readonly newSessionTitle: "New session";
285
+ readonly newSessionText: "Test your flow with a prompt";
286
+ readonly readyTitle: "Ready to run";
287
+ readonly readyText: "Click Run to execute your workflow";
288
+ readonly processing: "Processing...";
289
+ readonly viewOnlyHelp: "View-only mode. Workflow execution is controlled externally.";
290
+ };
291
+ readonly actions: {
292
+ readonly stopTitle: "Stop execution";
293
+ readonly stop: "Stop";
294
+ readonly sendTitle: "Send message";
295
+ readonly send: "Send";
296
+ readonly runTitle: "Run workflow";
297
+ readonly runWaitingTitle: "Waiting for workflow to be ready...";
298
+ readonly run: "Run";
299
+ };
300
+ readonly roles: {
301
+ readonly you: "You";
302
+ readonly assistant: "Assistant";
303
+ readonly system: "System";
304
+ readonly log: "Log";
305
+ readonly message: "Message";
306
+ };
307
+ readonly messageTooltips: {
308
+ readonly nodeId: ({ id }: {
309
+ id: string;
310
+ }) => string;
311
+ readonly executionDuration: "Execution duration";
312
+ };
313
+ readonly sessions: {
314
+ readonly header: "Sessions";
315
+ readonly newSession: "New Session";
316
+ readonly empty: "No sessions yet";
317
+ readonly clickAgainToConfirm: "Click again to confirm";
318
+ readonly cancel: "Cancel";
319
+ readonly deleteSession: "Delete session";
320
+ readonly justNow: "Just now";
321
+ readonly minutesAgo: ({ n }: {
322
+ n: number;
323
+ }) => string;
324
+ readonly hoursAgo: ({ n }: {
325
+ n: number;
326
+ }) => string;
327
+ readonly daysAgo: ({ n }: {
328
+ n: number;
329
+ }) => string;
330
+ };
331
+ };
332
+ readonly nodes: {
333
+ readonly notes: {
334
+ readonly placeholder: "Add your notes here...";
335
+ readonly types: {
336
+ readonly info: "Info";
337
+ readonly warning: "Warning";
338
+ readonly success: "Success";
339
+ readonly error: "Error";
340
+ readonly default: "Note";
341
+ };
342
+ readonly processing: "Processing...";
343
+ readonly errorOccurred: "Error occurred";
344
+ readonly configure: "Configure note";
345
+ };
346
+ readonly graph: {
347
+ readonly workflowNode: ({ name }: {
348
+ name: string;
349
+ }) => string;
350
+ readonly gatewayNode: ({ title }: {
351
+ title: string;
352
+ }) => string;
353
+ readonly ideaNode: ({ title }: {
354
+ title: string;
355
+ }) => string;
356
+ readonly connectInputPort: ({ name }: {
357
+ name: string;
358
+ }) => string;
359
+ readonly connectOutputPort: ({ name }: {
360
+ name: string;
361
+ }) => string;
362
+ readonly connectBranch: ({ name }: {
363
+ name: string;
364
+ }) => string;
365
+ };
366
+ };
367
+ readonly status: {
368
+ readonly pipeline: {
369
+ readonly refresh: "Refresh Status";
370
+ readonly refreshing: "Refreshing...";
371
+ readonly viewLogs: "View Logs";
372
+ readonly home: "Home";
373
+ readonly workflows: "Workflows";
374
+ readonly workflow: "Workflow";
375
+ readonly pipelines: "Pipelines";
376
+ readonly pipelineCrumb: ({ id, status }: {
377
+ id: string;
378
+ status: string;
379
+ }) => string;
380
+ };
381
+ readonly overlay: {
382
+ readonly tooltip: ({ status, count }: {
383
+ status: string;
384
+ count: number;
385
+ }) => string;
386
+ readonly ariaLabel: ({ status }: {
387
+ status: string;
388
+ }) => string;
389
+ readonly statusLabel: "Status:";
390
+ readonly executionsLabel: "Executions:";
391
+ readonly lastRunLabel: "Last Run:";
392
+ readonly durationLabel: "Duration:";
393
+ readonly errorLabel: "Error:";
394
+ };
395
+ };
396
+ };