@agentforge4j/workflow-builder-react 0.2.1
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.
- package/LICENSE +201 -0
- package/README.md +28 -0
- package/dist/index.cjs +3557 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.css +699 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.cts +191 -0
- package/dist/index.d.ts +191 -0
- package/dist/index.js +3538 -0
- package/dist/index.js.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/styles/tokens.css","../src/api/workflow-builder.css"],"sourcesContent":["/* SPDX-License-Identifier: Apache-2.0 */\n\n:root,\n.workflow-builder {\n --builder-color-bg: var(--color-surface, var(--surface-bg));\n --builder-color-fg: var(--color-text, var(--text-primary));\n --builder-color-border: var(--color-border, var(--border-default));\n --builder-color-muted: var(--color-text-muted, var(--text-secondary));\n --builder-color-accent: var(--color-accent, var(--accent-primary));\n --builder-color-accent-fg: var(--color-accent-fg, var(--text-on-accent));\n --builder-color-danger: var(--color-danger, var(--status-error));\n --builder-color-success: var(--color-success, var(--status-success));\n --builder-color-warning: var(--color-warning, var(--status-warning));\n --builder-color-card: var(--color-card, var(--surface-raised));\n --builder-color-canvas: var(--color-canvas, var(--canvas-surface));\n --builder-color-canvas-dot: var(--canvas-dot);\n --builder-color-edge: var(--canvas-edge);\n --builder-color-edge-approval: var(--canvas-edge-approval);\n --builder-color-edge-review: var(--canvas-edge-review);\n --builder-space-xs: var(--space-xs, 0.25rem);\n --builder-space-sm: var(--space-sm, 0.5rem);\n --builder-space-md: var(--space-md, 1rem);\n --builder-space-lg: var(--space-lg, 1.5rem);\n --builder-radius: var(--radius-md, 0.375rem);\n --builder-radius-lg: var(--radius-lg, 0.75rem);\n --builder-font-size-sm: 0.875rem;\n --builder-font-size-xs: 0.75rem;\n --builder-shadow: 0 1px 2px rgb(0 0 0 / 0.06);\n --builder-shadow-lg: 0 4px 12px rgb(0 0 0 / 0.12);\n}\n","@import '../styles/tokens.css';\r\n\r\n.workflow-builder {\r\n display: flex;\r\n flex-direction: column;\r\n min-height: 24rem;\r\n height: 100%;\r\n background: var(--builder-color-bg);\r\n color: var(--builder-color-fg);\r\n border: 1px solid var(--builder-color-border);\r\n border-radius: var(--builder-radius);\r\n font-family: inherit;\r\n position: relative;\r\n overflow: hidden;\r\n}\r\n\r\n.workflow-builder__header {\r\n display: flex;\r\n flex-wrap: wrap;\r\n align-items: center;\r\n gap: var(--builder-space-sm);\r\n padding: var(--builder-space-sm) var(--builder-space-md);\r\n border-bottom: 1px solid var(--builder-color-border);\r\n background: var(--builder-color-card);\r\n z-index: 2;\r\n}\r\n\r\n.workflow-builder__name-input,\r\n.workflow-builder__id-input {\r\n border: 1px solid transparent;\r\n background: transparent;\r\n color: var(--builder-color-fg);\r\n font: inherit;\r\n border-radius: var(--builder-radius);\r\n padding: var(--builder-space-xs) var(--builder-space-sm);\r\n}\r\n\r\n.workflow-builder__name-input {\r\n flex: 1;\r\n min-width: 8rem;\r\n max-width: 16rem;\r\n font-weight: 600;\r\n font-size: 1rem;\r\n}\r\n\r\n.workflow-builder__id-input {\r\n max-width: 10rem;\r\n font-size: var(--builder-font-size-xs);\r\n}\r\n\r\n.workflow-builder__name-input:focus-visible,\r\n.workflow-builder__id-input:focus-visible {\r\n outline: none;\r\n border-color: var(--builder-color-border);\r\n background: var(--builder-color-bg);\r\n}\r\n\r\n.workflow-builder__mode-toggle {\r\n display: flex;\r\n gap: var(--builder-space-xs);\r\n border: 1px solid var(--builder-color-border);\r\n border-radius: var(--builder-radius);\r\n padding: 2px;\r\n}\r\n\r\n.workflow-builder__subtitle {\r\n flex-basis: 100%;\r\n margin: 0;\r\n color: var(--builder-color-muted);\r\n font-size: var(--builder-font-size-xs);\r\n}\r\n\r\n.workflow-builder__workspace {\r\n position: relative;\r\n flex: 1;\r\n min-height: 16rem;\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n\r\n.workflow-builder__guided {\r\n position: absolute;\r\n top: var(--builder-space-sm);\r\n left: 3.5rem;\r\n right: var(--builder-space-md);\r\n z-index: 2;\r\n pointer-events: none;\r\n}\r\n\r\n.workflow-builder__guided > * {\r\n pointer-events: auto;\r\n}\r\n\r\n.workflow-builder__canvas {\r\n flex: 1;\r\n min-height: 16rem;\r\n position: relative;\r\n}\r\n\r\n.workflow-builder__canvas .react-flow {\r\n background: var(--builder-color-canvas);\r\n}\r\n\r\n.workflow-builder__actions {\r\n display: flex;\r\n flex-wrap: wrap;\r\n gap: var(--builder-space-sm);\r\n padding: var(--builder-space-sm) var(--builder-space-md);\r\n border-top: 1px solid var(--builder-color-border);\r\n}\r\n\r\n.workflow-builder__button {\r\n padding: var(--builder-space-sm) var(--builder-space-md);\r\n border: 1px solid var(--builder-color-border);\r\n border-radius: var(--builder-radius);\r\n background: var(--builder-color-bg);\r\n color: var(--builder-color-fg);\r\n cursor: pointer;\r\n font: inherit;\r\n}\r\n\r\n.workflow-builder__button:disabled {\r\n opacity: 0.6;\r\n cursor: not-allowed;\r\n}\r\n\r\n.workflow-builder__status {\r\n padding: 0 var(--builder-space-md) var(--builder-space-md);\r\n font-size: var(--builder-font-size-sm);\r\n color: var(--builder-color-muted);\r\n}\r\n\r\n.workflow-builder__status--error {\r\n color: var(--builder-color-danger);\r\n}\r\n\r\n.workflow-builder__banner {\r\n padding: var(--builder-space-sm) var(--builder-space-md);\r\n border-bottom: 1px solid var(--builder-color-border);\r\n font-size: var(--builder-font-size-sm);\r\n}\r\n\r\n.workflow-builder__banner--warning {\r\n background: color-mix(in srgb, var(--builder-color-warning) 12%, transparent);\r\n border-color: color-mix(in srgb, var(--builder-color-warning) 35%, transparent);\r\n}\r\n\r\n.workflow-builder__banner-title {\r\n margin: 0;\r\n font-weight: 600;\r\n}\r\n\r\n.workflow-builder__banner-list {\r\n margin: var(--builder-space-xs) 0 0;\r\n padding-left: 1.25rem;\r\n font-size: var(--builder-font-size-xs);\r\n color: var(--builder-color-muted);\r\n}\r\n\r\n/* Shared controls */\r\n.wf-button {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: var(--builder-space-xs);\r\n padding: var(--builder-space-xs) var(--builder-space-sm);\r\n border: 1px solid var(--builder-color-border);\r\n border-radius: var(--builder-radius);\r\n background: var(--builder-color-bg);\r\n color: var(--builder-color-fg);\r\n font: inherit;\r\n font-size: var(--builder-font-size-sm);\r\n cursor: pointer;\r\n line-height: 1.25;\r\n}\r\n\r\n.wf-button:disabled {\r\n opacity: 0.55;\r\n cursor: not-allowed;\r\n}\r\n\r\n.wf-button--primary {\r\n background: var(--builder-color-accent);\r\n border-color: var(--builder-color-accent);\r\n color: var(--builder-color-accent-fg, var(--builder-color-bg));\r\n}\r\n\r\n.wf-button--secondary {\r\n background: var(--builder-color-card);\r\n}\r\n\r\n.wf-button--ghost {\r\n background: transparent;\r\n border-color: transparent;\r\n}\r\n\r\n.wf-button--icon {\r\n min-width: 2rem;\r\n min-height: 2rem;\r\n padding: 0;\r\n}\r\n\r\n.wf-panel {\r\n background: var(--builder-color-card);\r\n border: 1px solid var(--builder-color-border);\r\n border-radius: var(--builder-radius-lg);\r\n box-shadow: var(--builder-shadow-lg);\r\n}\r\n\r\n.wf-panel__header {\r\n padding: var(--builder-space-md);\r\n border-bottom: 1px solid var(--builder-color-border);\r\n position: relative;\r\n}\r\n\r\n.wf-panel__title {\r\n margin: 0;\r\n font-size: var(--builder-font-size-sm);\r\n font-weight: 600;\r\n}\r\n\r\n.wf-panel__description {\r\n margin: var(--builder-space-xs) 0 0;\r\n font-size: var(--builder-font-size-xs);\r\n color: var(--builder-color-muted);\r\n}\r\n\r\n.wf-panel__close {\r\n position: absolute;\r\n top: var(--builder-space-sm);\r\n right: var(--builder-space-sm);\r\n}\r\n\r\n.wf-panel__body {\r\n padding: var(--builder-space-md);\r\n overflow: auto;\r\n}\r\n\r\n/* Canvas nodes */\r\n.wf-flow-node {\r\n position: relative;\r\n}\r\n\r\n.wf-handle {\r\n width: 0.625rem !important;\r\n height: 0.625rem !important;\r\n border: 2px solid var(--builder-color-card) !important;\r\n background: var(--builder-color-accent) !important;\r\n}\r\n\r\n.wf-handle--selected {\r\n background: var(--builder-color-accent) !important;\r\n}\r\n\r\n.wf-node {\r\n min-width: 13.75rem;\r\n max-width: 17.5rem;\r\n border: 1px solid var(--builder-color-border);\r\n border-radius: var(--builder-radius-lg);\r\n background: var(--builder-color-card);\r\n box-shadow: var(--builder-shadow);\r\n}\r\n\r\n.wf-node--selected {\r\n border-color: var(--builder-color-accent);\r\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--builder-color-accent) 25%, transparent);\r\n}\r\n\r\n.wf-node--loop {\r\n min-width: 18.75rem;\r\n max-width: none;\r\n border-style: dashed;\r\n border-color: color-mix(in srgb, var(--builder-color-accent) 35%, transparent);\r\n background: color-mix(in srgb, var(--builder-color-canvas) 80%, var(--builder-color-card));\r\n}\r\n\r\n.wf-node__header {\r\n display: flex;\r\n gap: var(--builder-space-sm);\r\n align-items: center;\r\n padding: var(--builder-space-sm) var(--builder-space-md);\r\n border-bottom: 1px solid var(--builder-color-border);\r\n}\r\n\r\n.wf-node__icon {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 2rem;\r\n height: 2rem;\r\n border-radius: var(--builder-radius);\r\n background: color-mix(in srgb, var(--builder-color-muted) 15%, transparent);\r\n font-size: var(--builder-font-size-xs);\r\n font-weight: 700;\r\n}\r\n\r\n.wf-node__titles {\r\n min-width: 0;\r\n flex: 1;\r\n}\r\n\r\n.wf-node__kind {\r\n margin: 0;\r\n font-size: 0.625rem;\r\n font-weight: 600;\r\n text-transform: uppercase;\r\n letter-spacing: 0.04em;\r\n color: var(--builder-color-muted);\r\n}\r\n\r\n.wf-node__title {\r\n margin: 0;\r\n font-size: var(--builder-font-size-sm);\r\n font-weight: 600;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n}\r\n\r\n.wf-node__body {\r\n padding: var(--builder-space-sm) var(--builder-space-md);\r\n}\r\n\r\n.wf-node__subtitle {\r\n margin: 0 0 var(--builder-space-xs);\r\n font-size: var(--builder-font-size-xs);\r\n color: var(--builder-color-muted);\r\n display: -webkit-box;\r\n -webkit-line-clamp: 2;\r\n -webkit-box-orient: vertical;\r\n overflow: hidden;\r\n}\r\n\r\n.wf-node-badge {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 0.25rem;\r\n padding: 0.125rem 0.5rem;\r\n border-radius: 999px;\r\n font-size: 0.625rem;\r\n font-weight: 600;\r\n}\r\n\r\n.wf-node-badge--success {\r\n background: color-mix(in srgb, var(--builder-color-success) 12%, transparent);\r\n color: var(--builder-color-success);\r\n}\r\n\r\n.wf-node-badge--warning {\r\n background: color-mix(in srgb, var(--builder-color-warning) 15%, transparent);\r\n color: var(--builder-color-warning);\r\n}\r\n\r\n.wf-node-badge--error {\r\n background: color-mix(in srgb, var(--builder-color-danger) 12%, transparent);\r\n color: var(--builder-color-danger);\r\n}\r\n\r\n.wf-node__branches {\r\n border-top: 1px solid var(--builder-color-border);\r\n padding: var(--builder-space-xs) var(--builder-space-md) var(--builder-space-sm);\r\n}\r\n\r\n.wf-node__branch {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-end;\r\n min-height: 1.75rem;\r\n font-size: var(--builder-font-size-xs);\r\n}\r\n\r\n.wf-node__branch-label {\r\n padding-right: var(--builder-space-sm);\r\n color: var(--builder-color-muted);\r\n}\r\n\r\n.wf-edge-label {\r\n position: absolute;\r\n pointer-events: none;\r\n padding: 0.125rem 0.5rem;\r\n border-radius: 999px;\r\n border: 1px solid var(--builder-color-border);\r\n background: var(--builder-color-card);\r\n font-size: 0.625rem;\r\n font-weight: 600;\r\n text-transform: uppercase;\r\n letter-spacing: 0.04em;\r\n}\r\n\r\n/* Palette */\r\n.wf-palette {\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n z-index: 3;\r\n display: flex;\r\n flex-direction: column;\r\n height: 100%;\r\n border-right: 1px solid var(--builder-color-border);\r\n background: color-mix(in srgb, var(--builder-color-card) 95%, transparent);\r\n box-shadow: var(--builder-shadow-lg);\r\n transition: width 0.2s ease;\r\n}\r\n\r\n.wf-palette--expanded {\r\n width: 15rem;\r\n}\r\n\r\n.wf-palette--collapsed {\r\n width: 3.5rem;\r\n}\r\n\r\n.wf-palette__header {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n padding: var(--builder-space-sm) var(--builder-space-md);\r\n border-bottom: 1px solid var(--builder-color-border);\r\n}\r\n\r\n.wf-palette__title {\r\n font-size: var(--builder-font-size-sm);\r\n font-weight: 600;\r\n}\r\n\r\n.wf-palette__body {\r\n flex: 1;\r\n overflow: auto;\r\n padding: var(--builder-space-sm);\r\n}\r\n\r\n.wf-palette__section-label {\r\n margin: 0 0 var(--builder-space-xs);\r\n padding: 0 var(--builder-space-xs);\r\n font-size: var(--builder-font-size-xs);\r\n font-weight: 600;\r\n text-transform: uppercase;\r\n letter-spacing: 0.04em;\r\n color: var(--builder-color-muted);\r\n}\r\n\r\n.wf-palette__list {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 2px;\r\n}\r\n\r\n.wf-palette__item {\r\n display: flex;\r\n align-items: flex-start;\r\n gap: var(--builder-space-sm);\r\n width: 100%;\r\n padding: var(--builder-space-sm);\r\n border: 1px solid transparent;\r\n border-radius: var(--builder-radius);\r\n background: transparent;\r\n color: inherit;\r\n text-align: left;\r\n cursor: grab;\r\n font: inherit;\r\n}\r\n\r\n.wf-palette__item:hover {\r\n border-color: var(--builder-color-border);\r\n background: color-mix(in srgb, var(--builder-color-muted) 8%, transparent);\r\n}\r\n\r\n.wf-palette__item--compact {\r\n justify-content: center;\r\n padding: var(--builder-space-sm) 0;\r\n}\r\n\r\n.wf-palette__item-icon {\r\n flex-shrink: 0;\r\n width: 1.25rem;\r\n text-align: center;\r\n font-size: var(--builder-font-size-xs);\r\n font-weight: 700;\r\n color: var(--builder-color-muted);\r\n}\r\n\r\n.wf-palette__item-text {\r\n display: flex;\r\n flex-direction: column;\r\n min-width: 0;\r\n}\r\n\r\n.wf-palette__item-label {\r\n font-size: var(--builder-font-size-sm);\r\n font-weight: 600;\r\n}\r\n\r\n.wf-palette__item-description {\r\n margin-top: 2px;\r\n font-size: var(--builder-font-size-xs);\r\n color: var(--builder-color-muted);\r\n}\r\n\r\n.wf-palette__advanced-toggle {\r\n display: flex;\r\n align-items: center;\r\n gap: var(--builder-space-xs);\r\n width: 100%;\r\n margin-top: var(--builder-space-md);\r\n padding: 0 var(--builder-space-xs);\r\n border: none;\r\n background: transparent;\r\n color: inherit;\r\n font: inherit;\r\n font-size: var(--builder-font-size-xs);\r\n font-weight: 600;\r\n cursor: pointer;\r\n}\r\n\r\n.wf-palette__panel--hidden {\r\n display: none;\r\n}\r\n\r\n.wf-palette__collapsed-list {\r\n flex: 1;\r\n overflow: auto;\r\n padding: var(--builder-space-xs) 0;\r\n}\r\n\r\n.wf-palette__collapsed-header {\r\n display: flex;\r\n justify-content: center;\r\n padding: var(--builder-space-sm) 0;\r\n border-bottom: 1px solid var(--builder-color-border);\r\n}\r\n\r\n/* Inspector */\r\n.wf-inspector {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n z-index: 3;\r\n width: min(100%, 22rem);\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n border-left: 1px solid var(--builder-color-border);\r\n background: var(--builder-color-card);\r\n box-shadow: var(--builder-shadow-lg);\r\n}\r\n\r\n.wf-inspector__header {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n padding: var(--builder-space-sm) var(--builder-space-md);\r\n border-bottom: 1px solid var(--builder-color-border);\r\n}\r\n\r\n.wf-inspector__title {\r\n margin: 0;\r\n font-size: var(--builder-font-size-sm);\r\n font-weight: 600;\r\n}\r\n\r\n.wf-inspector__body {\r\n flex: 1;\r\n overflow: auto;\r\n padding: var(--builder-space-md);\r\n}\r\n\r\n.wf-field {\r\n display: block;\r\n margin-bottom: var(--builder-space-md);\r\n}\r\n\r\n.wf-field__label {\r\n display: block;\r\n margin-bottom: var(--builder-space-xs);\r\n font-size: var(--builder-font-size-xs);\r\n font-weight: 600;\r\n color: var(--builder-color-muted);\r\n}\r\n\r\n.wf-input,\r\n.wf-select,\r\n.wf-textarea {\r\n width: 100%;\r\n padding: var(--builder-space-xs) var(--builder-space-sm);\r\n border: 1px solid var(--builder-color-border);\r\n border-radius: var(--builder-radius);\r\n background: var(--builder-color-bg);\r\n color: var(--builder-color-fg);\r\n font: inherit;\r\n font-size: var(--builder-font-size-sm);\r\n}\r\n\r\n.wf-textarea {\r\n min-height: 5rem;\r\n resize: vertical;\r\n}\r\n\r\n.wf-section {\r\n margin-bottom: var(--builder-space-md);\r\n}\r\n\r\n.wf-section__title {\r\n margin: 0 0 var(--builder-space-sm);\r\n font-size: var(--builder-font-size-xs);\r\n font-weight: 600;\r\n text-transform: uppercase;\r\n letter-spacing: 0.04em;\r\n color: var(--builder-color-muted);\r\n}\r\n\r\n.wf-notice {\r\n padding: var(--builder-space-sm);\r\n border: 1px solid color-mix(in srgb, var(--builder-color-warning) 40%, transparent);\r\n border-radius: var(--builder-radius);\r\n background: color-mix(in srgb, var(--builder-color-warning) 10%, transparent);\r\n font-size: var(--builder-font-size-xs);\r\n}\r\n\r\n/* Empty state */\r\n.wf-empty-state {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n gap: var(--builder-space-sm);\r\n padding: var(--builder-space-lg);\r\n text-align: center;\r\n max-width: 24rem;\r\n background: var(--builder-color-card);\r\n border: 1px solid var(--builder-color-border);\r\n border-radius: var(--builder-radius-lg);\r\n box-shadow: var(--builder-shadow-lg);\r\n}\r\n\r\n.wf-empty-state__title {\r\n margin: 0;\r\n font-size: var(--builder-font-size-sm);\r\n font-weight: 600;\r\n}\r\n\r\n.wf-empty-state__description {\r\n margin: 0;\r\n font-size: var(--builder-font-size-xs);\r\n color: var(--builder-color-muted);\r\n}\r\n\r\n.wf-empty-state__actions {\r\n display: flex;\r\n flex-wrap: wrap;\r\n gap: var(--builder-space-sm);\r\n justify-content: center;\r\n}\r\n\r\n/* Guided stepper */\r\n.wf-guided-stepper__list {\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--builder-space-sm);\r\n margin: 0;\r\n padding: var(--builder-space-sm);\r\n list-style: none;\r\n}\r\n\r\n@media (min-width: 64rem) {\r\n .wf-guided-stepper__list {\r\n flex-direction: row;\r\n align-items: center;\r\n }\r\n}\r\n\r\n.wf-guided-stepper__item {\r\n display: flex;\r\n align-items: center;\r\n gap: var(--builder-space-sm);\r\n flex: 1;\r\n min-width: 0;\r\n}\r\n\r\n.wf-guided-stepper__marker {\r\n flex-shrink: 0;\r\n width: 1rem;\r\n height: 1rem;\r\n border-radius: 999px;\r\n border: 2px solid var(--builder-color-muted);\r\n}\r\n\r\n.wf-guided-stepper__marker--done {\r\n border-color: var(--builder-color-success);\r\n background: var(--builder-color-success);\r\n}\r\n\r\n.wf-guided-stepper__marker--active {\r\n border-color: var(--builder-color-accent);\r\n}\r\n\r\n.wf-guided-stepper__text {\r\n font-size: var(--builder-font-size-sm);\r\n color: var(--builder-color-muted);\r\n}\r\n\r\n.wf-guided-stepper__text--done {\r\n color: var(--builder-color-fg);\r\n}\r\n\r\n/* Validation */\r\n.wf-validation-pill__glyph {\r\n font-weight: 700;\r\n}\r\n\r\n.wf-validation-pill__label-mobile {\r\n display: inline;\r\n}\r\n\r\n.wf-validation-pill__label-desktop {\r\n display: none;\r\n}\r\n\r\n@media (min-width: 40rem) {\r\n .wf-validation-pill__label-mobile {\r\n display: none;\r\n }\r\n\r\n .wf-validation-pill__label-desktop {\r\n display: inline;\r\n }\r\n}\r\n\r\n.wf-validation-pill__overlay {\r\n position: fixed;\r\n inset: 0;\r\n z-index: 50;\r\n background: color-mix(in srgb, var(--builder-color-fg) 25%, transparent);\r\n display: flex;\r\n justify-content: flex-end;\r\n}\r\n\r\n.wf-validation-pill__drawer {\r\n width: min(100%, 24rem);\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n border-radius: 0;\r\n}\r\n\r\n.wf-validation-group {\r\n margin-bottom: var(--builder-space-md);\r\n}\r\n\r\n.wf-validation-group__title {\r\n margin: 0 0 var(--builder-space-sm);\r\n font-size: var(--builder-font-size-xs);\r\n font-weight: 600;\r\n text-transform: uppercase;\r\n color: var(--builder-color-muted);\r\n}\r\n\r\n.wf-validation-issue {\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--builder-space-sm);\r\n padding: var(--builder-space-sm);\r\n border: 1px solid var(--builder-color-border);\r\n border-radius: var(--builder-radius);\r\n margin-bottom: var(--builder-space-sm);\r\n font-size: var(--builder-font-size-sm);\r\n}\r\n\r\n.wf-validation-issue__fix {\r\n align-self: flex-start;\r\n padding: 0;\r\n border: none;\r\n background: none;\r\n color: var(--builder-color-accent);\r\n font: inherit;\r\n font-size: var(--builder-font-size-xs);\r\n font-weight: 600;\r\n cursor: pointer;\r\n}\r\n\r\n.wf-validation-issue__fix:disabled {\r\n color: var(--builder-color-muted);\r\n cursor: not-allowed;\r\n}\r\n"],"mappings":"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","names":[]}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { Dispatch } from 'react';
|
|
3
|
+
|
|
4
|
+
type BehaviourType = 'INPUT' | 'AGENT' | 'SPAR' | 'BRANCH' | 'WORKFLOW_BEHAVIOUR' | 'RESOURCE' | 'FAIL' | 'RETRY_PREVIOUS';
|
|
5
|
+
type StepTransition = 'AUTO' | 'HUMAN_REVIEW' | 'HUMAN_APPROVAL';
|
|
6
|
+
type RetryMode = 'SINGLE_STEP' | 'FROM_STEP';
|
|
7
|
+
type ArtifactItemType = 'TEXT' | 'TEXT_AREA' | 'SINGLE_CHOICE' | 'MULTI_CHOICE' | 'BOOLEAN' | 'NUMBER' | 'DATE';
|
|
8
|
+
type ContextMapping = {
|
|
9
|
+
inputKeys: string[];
|
|
10
|
+
outputKeys: string[];
|
|
11
|
+
};
|
|
12
|
+
type InputConfig = {
|
|
13
|
+
artifactId: string;
|
|
14
|
+
transition: StepTransition;
|
|
15
|
+
};
|
|
16
|
+
type AgentConfig = {
|
|
17
|
+
agentRef: string;
|
|
18
|
+
transition: StepTransition;
|
|
19
|
+
maxRetries?: number;
|
|
20
|
+
};
|
|
21
|
+
type SparConfig = {
|
|
22
|
+
agentRef: string;
|
|
23
|
+
challengerAgentId: string;
|
|
24
|
+
maxRounds: number;
|
|
25
|
+
resolutionPrompt: string;
|
|
26
|
+
transition: StepTransition;
|
|
27
|
+
};
|
|
28
|
+
type BranchConfig = {
|
|
29
|
+
contextKey: string;
|
|
30
|
+
branches: Record<string, string>;
|
|
31
|
+
defaultBranch: string;
|
|
32
|
+
};
|
|
33
|
+
type WorkflowBehaviourConfig = {
|
|
34
|
+
workflowRef: string;
|
|
35
|
+
transition: StepTransition;
|
|
36
|
+
};
|
|
37
|
+
type ResourceConfig = {
|
|
38
|
+
resourcePath: string;
|
|
39
|
+
contextKey: string;
|
|
40
|
+
transition: StepTransition;
|
|
41
|
+
};
|
|
42
|
+
type FailConfig = {
|
|
43
|
+
reason: string;
|
|
44
|
+
};
|
|
45
|
+
type RetryPreviousConfig = {
|
|
46
|
+
retryStepId: string;
|
|
47
|
+
retryMode: RetryMode;
|
|
48
|
+
maxAttempts: number;
|
|
49
|
+
fallback: string;
|
|
50
|
+
};
|
|
51
|
+
type StepConfig = InputConfig | AgentConfig | SparConfig | BranchConfig | WorkflowBehaviourConfig | ResourceConfig | FailConfig | RetryPreviousConfig;
|
|
52
|
+
type EditableArtifactItem = {
|
|
53
|
+
id: string;
|
|
54
|
+
type: ArtifactItemType;
|
|
55
|
+
label: string;
|
|
56
|
+
required: boolean;
|
|
57
|
+
options?: string[];
|
|
58
|
+
};
|
|
59
|
+
type EditableArtifact = {
|
|
60
|
+
id: string;
|
|
61
|
+
items: EditableArtifactItem[];
|
|
62
|
+
};
|
|
63
|
+
type EditableStep = {
|
|
64
|
+
stepId: string;
|
|
65
|
+
name: string;
|
|
66
|
+
behaviourType: BehaviourType;
|
|
67
|
+
config: StepConfig;
|
|
68
|
+
stepPrompt?: string;
|
|
69
|
+
contextMapping?: ContextMapping;
|
|
70
|
+
};
|
|
71
|
+
type BlueprintJsonObject = Record<string, unknown>;
|
|
72
|
+
type TopLevelScheduleEntry = {
|
|
73
|
+
kind: 'STEP';
|
|
74
|
+
stepIndex: number;
|
|
75
|
+
} | {
|
|
76
|
+
kind: 'BLUEPRINT_REF';
|
|
77
|
+
blueprintId: string;
|
|
78
|
+
};
|
|
79
|
+
/** Canonical workflow document shape used by the builder draft and host adapters. */
|
|
80
|
+
interface WorkflowDefinition {
|
|
81
|
+
id: string;
|
|
82
|
+
name: string;
|
|
83
|
+
description: string;
|
|
84
|
+
steps: EditableStep[];
|
|
85
|
+
artifacts: Record<string, EditableArtifact>;
|
|
86
|
+
blueprintBodies?: Record<string, BlueprintJsonObject>;
|
|
87
|
+
topLevelSchedule?: TopLevelScheduleEntry[];
|
|
88
|
+
}
|
|
89
|
+
type ExportFormat = 'json';
|
|
90
|
+
interface ValidationIssue {
|
|
91
|
+
path: string;
|
|
92
|
+
message: string;
|
|
93
|
+
severity: 'error' | 'warning';
|
|
94
|
+
}
|
|
95
|
+
interface ValidationResult {
|
|
96
|
+
valid: boolean;
|
|
97
|
+
issues: ValidationIssue[];
|
|
98
|
+
}
|
|
99
|
+
interface AgentRef {
|
|
100
|
+
id: string;
|
|
101
|
+
name: string;
|
|
102
|
+
}
|
|
103
|
+
interface BuilderCapabilities {
|
|
104
|
+
import: boolean;
|
|
105
|
+
export: boolean;
|
|
106
|
+
save: boolean;
|
|
107
|
+
run: boolean;
|
|
108
|
+
publish: boolean;
|
|
109
|
+
aiAssist: boolean;
|
|
110
|
+
}
|
|
111
|
+
interface BuilderTheme {
|
|
112
|
+
/** Optional root class; layout uses semantic CSS variables only. */
|
|
113
|
+
className?: string;
|
|
114
|
+
/** Optional CSS custom properties applied on the builder root element. */
|
|
115
|
+
variables?: Record<string, string>;
|
|
116
|
+
}
|
|
117
|
+
interface BuilderAdapters {
|
|
118
|
+
validateWorkflow?: (draft: WorkflowDefinition) => ValidationResult | Promise<ValidationResult>;
|
|
119
|
+
importBundle?: () => Promise<WorkflowDefinition>;
|
|
120
|
+
exportBundle?: (draft: WorkflowDefinition, format: ExportFormat) => Promise<void>;
|
|
121
|
+
}
|
|
122
|
+
interface BuilderActions {
|
|
123
|
+
save?: (draft: WorkflowDefinition) => Promise<void>;
|
|
124
|
+
run?: (draft: WorkflowDefinition) => Promise<void>;
|
|
125
|
+
publish?: (draft: WorkflowDefinition) => Promise<void>;
|
|
126
|
+
}
|
|
127
|
+
interface WorkflowBuilderProps {
|
|
128
|
+
capabilities: BuilderCapabilities;
|
|
129
|
+
adapters?: BuilderAdapters;
|
|
130
|
+
actions?: BuilderActions;
|
|
131
|
+
theme?: BuilderTheme;
|
|
132
|
+
initialWorkflow?: WorkflowDefinition;
|
|
133
|
+
/** Host-supplied agent catalog for inspector pickers (text fallback when omitted). */
|
|
134
|
+
agentCatalog?: AgentRef[];
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
declare function WorkflowBuilder({ capabilities, adapters, actions, theme, initialWorkflow, agentCatalog, }: WorkflowBuilderProps): react_jsx_runtime.JSX.Element;
|
|
138
|
+
|
|
139
|
+
interface BuilderSelection {
|
|
140
|
+
nodeId: string | null;
|
|
141
|
+
edgeId: string | null;
|
|
142
|
+
}
|
|
143
|
+
interface ImportMeta {
|
|
144
|
+
source: string | null;
|
|
145
|
+
importedAt: string | null;
|
|
146
|
+
}
|
|
147
|
+
interface BuilderState {
|
|
148
|
+
draft: WorkflowDefinition;
|
|
149
|
+
baseline: WorkflowDefinition;
|
|
150
|
+
selection: BuilderSelection;
|
|
151
|
+
validation: ValidationResult;
|
|
152
|
+
importMeta: ImportMeta;
|
|
153
|
+
}
|
|
154
|
+
type BuilderAction = {
|
|
155
|
+
type: 'SET_DRAFT';
|
|
156
|
+
draft: WorkflowDefinition;
|
|
157
|
+
} | {
|
|
158
|
+
type: 'SET_BASELINE';
|
|
159
|
+
baseline: WorkflowDefinition;
|
|
160
|
+
} | {
|
|
161
|
+
type: 'SELECT_NODE';
|
|
162
|
+
nodeId: string | null;
|
|
163
|
+
} | {
|
|
164
|
+
type: 'SELECT_EDGE';
|
|
165
|
+
edgeId: string | null;
|
|
166
|
+
} | {
|
|
167
|
+
type: 'SET_VALIDATION';
|
|
168
|
+
validation: ValidationResult;
|
|
169
|
+
} | {
|
|
170
|
+
type: 'SET_IMPORT_META';
|
|
171
|
+
importMeta: ImportMeta;
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
declare function builderReducer(state: BuilderState, action: BuilderAction): BuilderState;
|
|
175
|
+
|
|
176
|
+
interface UseBuilderStateResult {
|
|
177
|
+
state: BuilderState;
|
|
178
|
+
dispatch: Dispatch<BuilderAction>;
|
|
179
|
+
dirty: boolean;
|
|
180
|
+
}
|
|
181
|
+
declare function useBuilderState(initialWorkflow?: WorkflowDefinition): UseBuilderStateResult;
|
|
182
|
+
|
|
183
|
+
declare function validateWorkflow(draft: WorkflowDefinition): ValidationResult;
|
|
184
|
+
|
|
185
|
+
declare class WorkflowParseError extends Error {
|
|
186
|
+
constructor(message: string);
|
|
187
|
+
}
|
|
188
|
+
declare function serializeWorkflowJson(workflow: WorkflowDefinition): string;
|
|
189
|
+
declare function parseWorkflowJson(text: string): WorkflowDefinition;
|
|
190
|
+
|
|
191
|
+
export { type AgentRef, type BuilderAction, type BuilderActions, type BuilderAdapters, type BuilderCapabilities, type BuilderState, type BuilderTheme, type ExportFormat, type UseBuilderStateResult, type ValidationIssue, type ValidationResult, WorkflowBuilder, type WorkflowBuilderProps, type WorkflowDefinition, WorkflowParseError, builderReducer, WorkflowBuilder as default, parseWorkflowJson, serializeWorkflowJson, useBuilderState, validateWorkflow };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { Dispatch } from 'react';
|
|
3
|
+
|
|
4
|
+
type BehaviourType = 'INPUT' | 'AGENT' | 'SPAR' | 'BRANCH' | 'WORKFLOW_BEHAVIOUR' | 'RESOURCE' | 'FAIL' | 'RETRY_PREVIOUS';
|
|
5
|
+
type StepTransition = 'AUTO' | 'HUMAN_REVIEW' | 'HUMAN_APPROVAL';
|
|
6
|
+
type RetryMode = 'SINGLE_STEP' | 'FROM_STEP';
|
|
7
|
+
type ArtifactItemType = 'TEXT' | 'TEXT_AREA' | 'SINGLE_CHOICE' | 'MULTI_CHOICE' | 'BOOLEAN' | 'NUMBER' | 'DATE';
|
|
8
|
+
type ContextMapping = {
|
|
9
|
+
inputKeys: string[];
|
|
10
|
+
outputKeys: string[];
|
|
11
|
+
};
|
|
12
|
+
type InputConfig = {
|
|
13
|
+
artifactId: string;
|
|
14
|
+
transition: StepTransition;
|
|
15
|
+
};
|
|
16
|
+
type AgentConfig = {
|
|
17
|
+
agentRef: string;
|
|
18
|
+
transition: StepTransition;
|
|
19
|
+
maxRetries?: number;
|
|
20
|
+
};
|
|
21
|
+
type SparConfig = {
|
|
22
|
+
agentRef: string;
|
|
23
|
+
challengerAgentId: string;
|
|
24
|
+
maxRounds: number;
|
|
25
|
+
resolutionPrompt: string;
|
|
26
|
+
transition: StepTransition;
|
|
27
|
+
};
|
|
28
|
+
type BranchConfig = {
|
|
29
|
+
contextKey: string;
|
|
30
|
+
branches: Record<string, string>;
|
|
31
|
+
defaultBranch: string;
|
|
32
|
+
};
|
|
33
|
+
type WorkflowBehaviourConfig = {
|
|
34
|
+
workflowRef: string;
|
|
35
|
+
transition: StepTransition;
|
|
36
|
+
};
|
|
37
|
+
type ResourceConfig = {
|
|
38
|
+
resourcePath: string;
|
|
39
|
+
contextKey: string;
|
|
40
|
+
transition: StepTransition;
|
|
41
|
+
};
|
|
42
|
+
type FailConfig = {
|
|
43
|
+
reason: string;
|
|
44
|
+
};
|
|
45
|
+
type RetryPreviousConfig = {
|
|
46
|
+
retryStepId: string;
|
|
47
|
+
retryMode: RetryMode;
|
|
48
|
+
maxAttempts: number;
|
|
49
|
+
fallback: string;
|
|
50
|
+
};
|
|
51
|
+
type StepConfig = InputConfig | AgentConfig | SparConfig | BranchConfig | WorkflowBehaviourConfig | ResourceConfig | FailConfig | RetryPreviousConfig;
|
|
52
|
+
type EditableArtifactItem = {
|
|
53
|
+
id: string;
|
|
54
|
+
type: ArtifactItemType;
|
|
55
|
+
label: string;
|
|
56
|
+
required: boolean;
|
|
57
|
+
options?: string[];
|
|
58
|
+
};
|
|
59
|
+
type EditableArtifact = {
|
|
60
|
+
id: string;
|
|
61
|
+
items: EditableArtifactItem[];
|
|
62
|
+
};
|
|
63
|
+
type EditableStep = {
|
|
64
|
+
stepId: string;
|
|
65
|
+
name: string;
|
|
66
|
+
behaviourType: BehaviourType;
|
|
67
|
+
config: StepConfig;
|
|
68
|
+
stepPrompt?: string;
|
|
69
|
+
contextMapping?: ContextMapping;
|
|
70
|
+
};
|
|
71
|
+
type BlueprintJsonObject = Record<string, unknown>;
|
|
72
|
+
type TopLevelScheduleEntry = {
|
|
73
|
+
kind: 'STEP';
|
|
74
|
+
stepIndex: number;
|
|
75
|
+
} | {
|
|
76
|
+
kind: 'BLUEPRINT_REF';
|
|
77
|
+
blueprintId: string;
|
|
78
|
+
};
|
|
79
|
+
/** Canonical workflow document shape used by the builder draft and host adapters. */
|
|
80
|
+
interface WorkflowDefinition {
|
|
81
|
+
id: string;
|
|
82
|
+
name: string;
|
|
83
|
+
description: string;
|
|
84
|
+
steps: EditableStep[];
|
|
85
|
+
artifacts: Record<string, EditableArtifact>;
|
|
86
|
+
blueprintBodies?: Record<string, BlueprintJsonObject>;
|
|
87
|
+
topLevelSchedule?: TopLevelScheduleEntry[];
|
|
88
|
+
}
|
|
89
|
+
type ExportFormat = 'json';
|
|
90
|
+
interface ValidationIssue {
|
|
91
|
+
path: string;
|
|
92
|
+
message: string;
|
|
93
|
+
severity: 'error' | 'warning';
|
|
94
|
+
}
|
|
95
|
+
interface ValidationResult {
|
|
96
|
+
valid: boolean;
|
|
97
|
+
issues: ValidationIssue[];
|
|
98
|
+
}
|
|
99
|
+
interface AgentRef {
|
|
100
|
+
id: string;
|
|
101
|
+
name: string;
|
|
102
|
+
}
|
|
103
|
+
interface BuilderCapabilities {
|
|
104
|
+
import: boolean;
|
|
105
|
+
export: boolean;
|
|
106
|
+
save: boolean;
|
|
107
|
+
run: boolean;
|
|
108
|
+
publish: boolean;
|
|
109
|
+
aiAssist: boolean;
|
|
110
|
+
}
|
|
111
|
+
interface BuilderTheme {
|
|
112
|
+
/** Optional root class; layout uses semantic CSS variables only. */
|
|
113
|
+
className?: string;
|
|
114
|
+
/** Optional CSS custom properties applied on the builder root element. */
|
|
115
|
+
variables?: Record<string, string>;
|
|
116
|
+
}
|
|
117
|
+
interface BuilderAdapters {
|
|
118
|
+
validateWorkflow?: (draft: WorkflowDefinition) => ValidationResult | Promise<ValidationResult>;
|
|
119
|
+
importBundle?: () => Promise<WorkflowDefinition>;
|
|
120
|
+
exportBundle?: (draft: WorkflowDefinition, format: ExportFormat) => Promise<void>;
|
|
121
|
+
}
|
|
122
|
+
interface BuilderActions {
|
|
123
|
+
save?: (draft: WorkflowDefinition) => Promise<void>;
|
|
124
|
+
run?: (draft: WorkflowDefinition) => Promise<void>;
|
|
125
|
+
publish?: (draft: WorkflowDefinition) => Promise<void>;
|
|
126
|
+
}
|
|
127
|
+
interface WorkflowBuilderProps {
|
|
128
|
+
capabilities: BuilderCapabilities;
|
|
129
|
+
adapters?: BuilderAdapters;
|
|
130
|
+
actions?: BuilderActions;
|
|
131
|
+
theme?: BuilderTheme;
|
|
132
|
+
initialWorkflow?: WorkflowDefinition;
|
|
133
|
+
/** Host-supplied agent catalog for inspector pickers (text fallback when omitted). */
|
|
134
|
+
agentCatalog?: AgentRef[];
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
declare function WorkflowBuilder({ capabilities, adapters, actions, theme, initialWorkflow, agentCatalog, }: WorkflowBuilderProps): react_jsx_runtime.JSX.Element;
|
|
138
|
+
|
|
139
|
+
interface BuilderSelection {
|
|
140
|
+
nodeId: string | null;
|
|
141
|
+
edgeId: string | null;
|
|
142
|
+
}
|
|
143
|
+
interface ImportMeta {
|
|
144
|
+
source: string | null;
|
|
145
|
+
importedAt: string | null;
|
|
146
|
+
}
|
|
147
|
+
interface BuilderState {
|
|
148
|
+
draft: WorkflowDefinition;
|
|
149
|
+
baseline: WorkflowDefinition;
|
|
150
|
+
selection: BuilderSelection;
|
|
151
|
+
validation: ValidationResult;
|
|
152
|
+
importMeta: ImportMeta;
|
|
153
|
+
}
|
|
154
|
+
type BuilderAction = {
|
|
155
|
+
type: 'SET_DRAFT';
|
|
156
|
+
draft: WorkflowDefinition;
|
|
157
|
+
} | {
|
|
158
|
+
type: 'SET_BASELINE';
|
|
159
|
+
baseline: WorkflowDefinition;
|
|
160
|
+
} | {
|
|
161
|
+
type: 'SELECT_NODE';
|
|
162
|
+
nodeId: string | null;
|
|
163
|
+
} | {
|
|
164
|
+
type: 'SELECT_EDGE';
|
|
165
|
+
edgeId: string | null;
|
|
166
|
+
} | {
|
|
167
|
+
type: 'SET_VALIDATION';
|
|
168
|
+
validation: ValidationResult;
|
|
169
|
+
} | {
|
|
170
|
+
type: 'SET_IMPORT_META';
|
|
171
|
+
importMeta: ImportMeta;
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
declare function builderReducer(state: BuilderState, action: BuilderAction): BuilderState;
|
|
175
|
+
|
|
176
|
+
interface UseBuilderStateResult {
|
|
177
|
+
state: BuilderState;
|
|
178
|
+
dispatch: Dispatch<BuilderAction>;
|
|
179
|
+
dirty: boolean;
|
|
180
|
+
}
|
|
181
|
+
declare function useBuilderState(initialWorkflow?: WorkflowDefinition): UseBuilderStateResult;
|
|
182
|
+
|
|
183
|
+
declare function validateWorkflow(draft: WorkflowDefinition): ValidationResult;
|
|
184
|
+
|
|
185
|
+
declare class WorkflowParseError extends Error {
|
|
186
|
+
constructor(message: string);
|
|
187
|
+
}
|
|
188
|
+
declare function serializeWorkflowJson(workflow: WorkflowDefinition): string;
|
|
189
|
+
declare function parseWorkflowJson(text: string): WorkflowDefinition;
|
|
190
|
+
|
|
191
|
+
export { type AgentRef, type BuilderAction, type BuilderActions, type BuilderAdapters, type BuilderCapabilities, type BuilderState, type BuilderTheme, type ExportFormat, type UseBuilderStateResult, type ValidationIssue, type ValidationResult, WorkflowBuilder, type WorkflowBuilderProps, type WorkflowDefinition, WorkflowParseError, builderReducer, WorkflowBuilder as default, parseWorkflowJson, serializeWorkflowJson, useBuilderState, validateWorkflow };
|