@d34dman/flowdrop 0.0.56 → 0.0.58

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 (83) hide show
  1. package/README.md +4 -4
  2. package/dist/adapters/WorkflowAdapter.d.ts +2 -1
  3. package/dist/adapters/agentspec/AgentSpecAdapter.d.ts +96 -0
  4. package/dist/adapters/agentspec/AgentSpecAdapter.js +663 -0
  5. package/dist/adapters/agentspec/agentAdapter.d.ts +59 -0
  6. package/dist/adapters/agentspec/agentAdapter.js +91 -0
  7. package/dist/adapters/agentspec/autoLayout.d.ts +34 -0
  8. package/dist/adapters/agentspec/autoLayout.js +127 -0
  9. package/dist/adapters/agentspec/componentTypeDefaults.d.ts +73 -0
  10. package/dist/adapters/agentspec/componentTypeDefaults.js +238 -0
  11. package/dist/adapters/agentspec/defaultNodeTypes.d.ts +53 -0
  12. package/dist/adapters/agentspec/defaultNodeTypes.js +561 -0
  13. package/dist/adapters/agentspec/index.d.ts +37 -0
  14. package/dist/adapters/agentspec/index.js +39 -0
  15. package/dist/adapters/agentspec/validator.d.ts +34 -0
  16. package/dist/adapters/agentspec/validator.js +169 -0
  17. package/dist/components/App.svelte +57 -13
  18. package/dist/components/ConfigForm.svelte +46 -12
  19. package/dist/components/ConfigForm.svelte.d.ts +8 -0
  20. package/dist/components/NodeSidebar.svelte +20 -8
  21. package/dist/components/NodeSidebar.svelte.d.ts +2 -1
  22. package/dist/components/SchemaForm.svelte +34 -12
  23. package/dist/components/SchemaForm.svelte.d.ts +8 -0
  24. package/dist/components/WorkflowEditor.svelte +14 -13
  25. package/dist/components/form/FormFieldset.svelte +142 -0
  26. package/dist/components/form/FormFieldset.svelte.d.ts +11 -0
  27. package/dist/components/form/FormMarkdownEditor.svelte +546 -422
  28. package/dist/components/form/FormMarkdownEditor.svelte.d.ts +2 -0
  29. package/dist/components/form/FormUISchemaRenderer.svelte +136 -0
  30. package/dist/components/form/FormUISchemaRenderer.svelte.d.ts +32 -0
  31. package/dist/components/form/index.d.ts +2 -0
  32. package/dist/components/form/index.js +3 -0
  33. package/dist/components/form/types.d.ts +1 -1
  34. package/dist/components/nodes/WorkflowNode.svelte +1 -2
  35. package/dist/config/agentSpecEndpoints.d.ts +70 -0
  36. package/dist/config/agentSpecEndpoints.js +65 -0
  37. package/dist/config/endpoints.d.ts +6 -0
  38. package/dist/core/index.d.ts +29 -3
  39. package/dist/core/index.js +31 -1
  40. package/dist/form/code.js +6 -1
  41. package/dist/form/fieldRegistry.d.ts +79 -15
  42. package/dist/form/fieldRegistry.js +104 -49
  43. package/dist/form/full.d.ts +2 -2
  44. package/dist/form/full.js +2 -2
  45. package/dist/form/index.d.ts +5 -3
  46. package/dist/form/index.js +9 -2
  47. package/dist/form/markdown.d.ts +3 -3
  48. package/dist/form/markdown.js +8 -4
  49. package/dist/helpers/workflowEditorHelper.d.ts +24 -0
  50. package/dist/helpers/workflowEditorHelper.js +55 -0
  51. package/dist/index.d.ts +2 -2
  52. package/dist/index.js +2 -2
  53. package/dist/registry/BaseRegistry.d.ts +92 -0
  54. package/dist/registry/BaseRegistry.js +124 -0
  55. package/dist/registry/builtinFormats.d.ts +23 -0
  56. package/dist/registry/builtinFormats.js +70 -0
  57. package/dist/registry/builtinNodes.js +4 -0
  58. package/dist/registry/index.d.ts +2 -1
  59. package/dist/registry/index.js +2 -0
  60. package/dist/registry/nodeComponentRegistry.d.ts +26 -57
  61. package/dist/registry/nodeComponentRegistry.js +29 -82
  62. package/dist/registry/workflowFormatRegistry.d.ts +122 -0
  63. package/dist/registry/workflowFormatRegistry.js +96 -0
  64. package/dist/schema/index.d.ts +23 -0
  65. package/dist/schema/index.js +23 -0
  66. package/dist/services/agentSpecExecutionService.d.ts +106 -0
  67. package/dist/services/agentSpecExecutionService.js +333 -0
  68. package/dist/stores/portCoordinateStore.js +1 -4
  69. package/dist/stores/workflowStore.d.ts +3 -0
  70. package/dist/stores/workflowStore.js +3 -0
  71. package/dist/svelte-app.d.ts +4 -0
  72. package/dist/svelte-app.js +9 -1
  73. package/dist/types/agentspec.d.ts +318 -0
  74. package/dist/types/agentspec.js +48 -0
  75. package/dist/types/events.d.ts +28 -1
  76. package/dist/types/index.d.ts +31 -0
  77. package/dist/types/index.js +5 -0
  78. package/dist/types/uischema.d.ts +144 -0
  79. package/dist/types/uischema.js +51 -0
  80. package/dist/utils/uischema.d.ts +52 -0
  81. package/dist/utils/uischema.js +88 -0
  82. package/package.json +231 -225
  83. package/schemas/v1/workflow.schema.json +952 -0
@@ -0,0 +1,142 @@
1
+ <!--
2
+ FormFieldset Component
3
+ Renders a UISchema Group element as a collapsible or static fieldset.
4
+
5
+ Two rendering modes:
6
+ - Collapsible (default): Uses HTML5 <details>/<summary> with .flowdrop-details CSS
7
+ - Static (collapsible: false): Uses a styled <fieldset> with <legend>
8
+
9
+ Features:
10
+ - HTML5 <details> for native accessible collapse behavior
11
+ - Reuses existing .flowdrop-details CSS pattern from base.css
12
+ - Optional description text below the group title
13
+ - Chevron rotation animation on open/close
14
+ -->
15
+
16
+ <script lang="ts">
17
+ import type { Snippet } from 'svelte';
18
+ import type { UISchemaGroup } from '../../types/uischema.js';
19
+ import Icon from '@iconify/svelte';
20
+
21
+ interface Props {
22
+ /** The UISchema Group element to render */
23
+ group: UISchemaGroup;
24
+ /** Slot content for the group's child elements */
25
+ children: Snippet;
26
+ }
27
+
28
+ let { group, children }: Props = $props();
29
+
30
+ const isCollapsible = $derived(group.collapsible !== false);
31
+ const isDefaultOpen = $derived(group.defaultOpen !== false);
32
+ </script>
33
+
34
+ {#if isCollapsible}
35
+ <details class="flowdrop-details form-fieldset" open={isDefaultOpen}>
36
+ <summary class="flowdrop-details__summary form-fieldset__summary">
37
+ <div class="form-fieldset__label">
38
+ <Icon icon="heroicons:chevron-right" class="form-fieldset__chevron" />
39
+ <span class="form-fieldset__title">{group.label}</span>
40
+ </div>
41
+ {#if group.description}
42
+ <span class="form-fieldset__badge">{group.description}</span>
43
+ {/if}
44
+ </summary>
45
+ <div class="flowdrop-details__content form-fieldset__content">
46
+ <div class="form-fieldset__fields">
47
+ {@render children()}
48
+ </div>
49
+ </div>
50
+ </details>
51
+ {:else}
52
+ <fieldset class="form-fieldset form-fieldset--static">
53
+ <legend class="form-fieldset__legend">{group.label}</legend>
54
+ {#if group.description}
55
+ <p class="form-fieldset__description">{group.description}</p>
56
+ {/if}
57
+ <div class="form-fieldset__fields">
58
+ {@render children()}
59
+ </div>
60
+ </fieldset>
61
+ {/if}
62
+
63
+ <style>
64
+ /* ============================================
65
+ COLLAPSIBLE FIELDSET
66
+ Extends .flowdrop-details from base.css
67
+ ============================================ */
68
+
69
+ .form-fieldset__summary {
70
+ gap: var(--fd-space-2);
71
+ }
72
+
73
+ .form-fieldset__label {
74
+ display: flex;
75
+ align-items: center;
76
+ gap: var(--fd-space-2);
77
+ }
78
+
79
+ .form-fieldset__title {
80
+ font-size: var(--fd-text-sm);
81
+ font-weight: 600;
82
+ color: var(--fd-foreground);
83
+ }
84
+
85
+ .form-fieldset :global(.form-fieldset__chevron) {
86
+ width: 1rem;
87
+ height: 1rem;
88
+ color: var(--fd-muted-foreground);
89
+ transition: transform var(--fd-transition-fast);
90
+ flex-shrink: 0;
91
+ }
92
+
93
+ /* Rotate chevron when details is open */
94
+ details.form-fieldset[open] :global(.form-fieldset__chevron) {
95
+ transform: rotate(90deg);
96
+ }
97
+
98
+ .form-fieldset__badge {
99
+ font-size: var(--fd-text-xs);
100
+ color: var(--fd-muted-foreground);
101
+ line-height: 1.4;
102
+ white-space: nowrap;
103
+ overflow: hidden;
104
+ text-overflow: ellipsis;
105
+ max-width: 200px;
106
+ }
107
+
108
+ .form-fieldset__content {
109
+ padding-top: var(--fd-space-2);
110
+ }
111
+
112
+ .form-fieldset__fields {
113
+ display: flex;
114
+ flex-direction: column;
115
+ gap: var(--fd-space-5);
116
+ }
117
+
118
+ /* ============================================
119
+ STATIC FIELDSET (non-collapsible)
120
+ ============================================ */
121
+
122
+ .form-fieldset--static {
123
+ border: 1px solid var(--fd-border-muted);
124
+ border-radius: var(--fd-radius-lg);
125
+ padding: var(--fd-space-4);
126
+ margin: 0;
127
+ }
128
+
129
+ .form-fieldset__legend {
130
+ padding: 0 var(--fd-space-2);
131
+ font-size: var(--fd-text-sm);
132
+ font-weight: 600;
133
+ color: var(--fd-foreground);
134
+ }
135
+
136
+ .form-fieldset__description {
137
+ margin: 0 0 var(--fd-space-3) 0;
138
+ font-size: var(--fd-text-xs);
139
+ color: var(--fd-muted-foreground);
140
+ line-height: 1.4;
141
+ }
142
+ </style>
@@ -0,0 +1,11 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { UISchemaGroup } from '../../types/uischema.js';
3
+ interface Props {
4
+ /** The UISchema Group element to render */
5
+ group: UISchemaGroup;
6
+ /** Slot content for the group's child elements */
7
+ children: Snippet;
8
+ }
9
+ declare const FormFieldset: import("svelte").Component<Props, {}, "">;
10
+ type FormFieldset = ReturnType<typeof FormFieldset>;
11
+ export default FormFieldset;