@legatoacc3/workflow-builder 0.1.0-alpha.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.
- package/README.md +44 -0
- package/dist/components/WorkflowBuilder.vue.d.ts +27 -0
- package/dist/components/WorkflowBuilder.vue.d.ts.map +1 -0
- package/dist/contracts.d.ts +28 -0
- package/dist/contracts.d.ts.map +1 -0
- package/dist/domain/builder-node-definition.d.ts +786 -0
- package/dist/domain/builder-node-definition.d.ts.map +1 -0
- package/dist/domain/builder-node-definition.js +1275 -0
- package/dist/domain/builder-node-metadata-response.d.ts +61 -0
- package/dist/domain/builder-node-metadata-response.d.ts.map +1 -0
- package/dist/domain/builder-node-metadata-response.js +0 -0
- package/dist/domain/workflow-draft.d.ts +169 -0
- package/dist/domain/workflow-draft.d.ts.map +1 -0
- package/dist/domain/workflow-draft.js +2115 -0
- package/dist/form-schema/form-schema-editor.d.ts +13 -0
- package/dist/form-schema/form-schema-editor.d.ts.map +1 -0
- package/dist/form-schema/form-schema-editor.js +65 -0
- package/dist/index.d.ts +98 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9298 -0
- package/dist/inspector/BuilderNodeSettingsPanel.vue.d.ts +136 -0
- package/dist/inspector/BuilderNodeSettingsPanel.vue.d.ts.map +1 -0
- package/dist/inspector/builder-node-settings-registry.d.ts +5 -0
- package/dist/inspector/builder-node-settings-registry.d.ts.map +1 -0
- package/dist/inspector/builder-node-settings-registry.js +37 -0
- package/dist/session/create-builder-session.d.ts +27 -0
- package/dist/session/create-builder-session.d.ts.map +1 -0
- package/dist/session/create-builder-session.js +670 -0
- package/dist/workflow-builder.css +112 -0
- package/package.json +71 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { WorkflowDraft, WorkflowFormField, WorkflowFormFieldOption, WorkflowFormSchema } from '../domain/workflow-draft';
|
|
2
|
+
export declare function addDraftFormField(draft: WorkflowDraft, input: {
|
|
3
|
+
fieldId: string;
|
|
4
|
+
}): void;
|
|
5
|
+
export declare function updateDraftFormField(draft: WorkflowDraft, fieldId: string, patch: Partial<WorkflowFormField>): void;
|
|
6
|
+
export declare function addDraftFormFieldOption(draft: WorkflowDraft, fieldId: string): void;
|
|
7
|
+
export declare function updateDraftFormFieldOption(draft: WorkflowDraft, fieldId: string, optionIndex: number, patch: Partial<WorkflowFormFieldOption>): void;
|
|
8
|
+
export declare function removeDraftFormFieldOption(draft: WorkflowDraft, fieldId: string, optionIndex: number): void;
|
|
9
|
+
export declare function removeDraftFormField(draft: WorkflowDraft, fieldId: string): void;
|
|
10
|
+
export declare function updateDraftFormSchema(draft: WorkflowDraft, patch: Partial<WorkflowFormSchema>): void;
|
|
11
|
+
export declare function replaceDraftFormSchema(draft: WorkflowDraft, formSchema: WorkflowFormSchema): void;
|
|
12
|
+
export declare function getExpandedFormFieldIds(draft: WorkflowDraft): string[];
|
|
13
|
+
//# sourceMappingURL=form-schema-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-schema-editor.d.ts","sourceRoot":"","sources":["../../src/form-schema/form-schema-editor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,0BAA0B,CAAA;AAEjC,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE;IACL,OAAO,EAAE,MAAM,CAAA;CAChB,QAUF;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,QAgBlC;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,MAAM,QAchB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC,QAsBxC;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,QAWpB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,QAEzE;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,OAAO,CAAC,kBAAkB,CAAC,QAMnC;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,kBAAkB,QAG/B;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,YAE3D"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
//#region src/form-schema/form-schema-editor.ts
|
|
2
|
+
function addDraftFormField(draft, input) {
|
|
3
|
+
draft.formSchema.fields.push({
|
|
4
|
+
id: input.fieldId,
|
|
5
|
+
label: `Field ${draft.formSchema.fields.length + 1}`,
|
|
6
|
+
type: "short-text",
|
|
7
|
+
helperText: "",
|
|
8
|
+
required: false,
|
|
9
|
+
validation: {}
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
function updateDraftFormField(draft, fieldId, patch) {
|
|
13
|
+
draft.formSchema.fields = draft.formSchema.fields.map((field) => {
|
|
14
|
+
if (field.id !== fieldId) return field;
|
|
15
|
+
return {
|
|
16
|
+
...field,
|
|
17
|
+
...patch,
|
|
18
|
+
validation: {
|
|
19
|
+
...field.validation,
|
|
20
|
+
...patch.validation ?? {}
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function addDraftFormFieldOption(draft, fieldId) {
|
|
26
|
+
const field = draft.formSchema.fields.find((entry) => entry.id === fieldId);
|
|
27
|
+
const nextIndex = (field?.options?.length ?? 0) + 1;
|
|
28
|
+
updateDraftFormField(draft, fieldId, { options: [...field?.options ?? [], {
|
|
29
|
+
label: `Option ${nextIndex}`,
|
|
30
|
+
value: `option_${nextIndex}`
|
|
31
|
+
}] });
|
|
32
|
+
}
|
|
33
|
+
function updateDraftFormFieldOption(draft, fieldId, optionIndex, patch) {
|
|
34
|
+
const field = draft.formSchema.fields.find((entry) => entry.id === fieldId);
|
|
35
|
+
if (!field) return;
|
|
36
|
+
updateDraftFormField(draft, fieldId, { options: (field.options ?? []).map((option, index) => {
|
|
37
|
+
if (index !== optionIndex) return option;
|
|
38
|
+
return {
|
|
39
|
+
...option,
|
|
40
|
+
...patch
|
|
41
|
+
};
|
|
42
|
+
}) });
|
|
43
|
+
}
|
|
44
|
+
function removeDraftFormFieldOption(draft, fieldId, optionIndex) {
|
|
45
|
+
const field = draft.formSchema.fields.find((entry) => entry.id === fieldId);
|
|
46
|
+
if (!field) return;
|
|
47
|
+
updateDraftFormField(draft, fieldId, { options: (field.options ?? []).filter((_, index) => index !== optionIndex) });
|
|
48
|
+
}
|
|
49
|
+
function removeDraftFormField(draft, fieldId) {
|
|
50
|
+
draft.formSchema.fields = draft.formSchema.fields.filter((field) => field.id !== fieldId);
|
|
51
|
+
}
|
|
52
|
+
function updateDraftFormSchema(draft, patch) {
|
|
53
|
+
draft.formSchema = {
|
|
54
|
+
...draft.formSchema,
|
|
55
|
+
...patch
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function replaceDraftFormSchema(draft, formSchema) {
|
|
59
|
+
draft.formSchema = formSchema;
|
|
60
|
+
}
|
|
61
|
+
function getExpandedFormFieldIds(draft) {
|
|
62
|
+
return draft.formSchema.fields.map((field) => field.id);
|
|
63
|
+
}
|
|
64
|
+
//#endregion
|
|
65
|
+
export { addDraftFormField, addDraftFormFieldOption, getExpandedFormFieldIds, removeDraftFormField, removeDraftFormFieldOption, replaceDraftFormSchema, updateDraftFormField, updateDraftFormFieldOption, updateDraftFormSchema };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
import { type WorkflowCanvasGraphState, type WorkflowCanvasHistoryAction, type WorkflowCanvasHistoryEntry, type WorkflowCanvasMutation, type WorkflowCanvasToolReference } from '@legatoacc3/workflow-canvas';
|
|
3
|
+
import WorkflowBuilder from './components/WorkflowBuilder.vue';
|
|
4
|
+
export interface WorkflowBuilderDraftState {
|
|
5
|
+
graph: WorkflowCanvasGraphState;
|
|
6
|
+
historyEntries?: WorkflowCanvasHistoryEntry[];
|
|
7
|
+
selectedNodeId?: string | null;
|
|
8
|
+
toolReferences?: WorkflowCanvasToolReference[];
|
|
9
|
+
canRedo?: boolean;
|
|
10
|
+
canUndo?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare const WorkflowBuilderShell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
13
|
+
graph: {
|
|
14
|
+
type: PropType<WorkflowCanvasGraphState>;
|
|
15
|
+
required: true;
|
|
16
|
+
};
|
|
17
|
+
frameTitle: {
|
|
18
|
+
type: StringConstructor;
|
|
19
|
+
default: string;
|
|
20
|
+
};
|
|
21
|
+
selectedNodeId: {
|
|
22
|
+
type: PropType<string | null>;
|
|
23
|
+
default: null;
|
|
24
|
+
};
|
|
25
|
+
toolReferences: {
|
|
26
|
+
type: PropType<WorkflowCanvasToolReference[]>;
|
|
27
|
+
default: () => never[];
|
|
28
|
+
};
|
|
29
|
+
historyEntries: {
|
|
30
|
+
type: PropType<WorkflowCanvasHistoryEntry[]>;
|
|
31
|
+
default: () => never[];
|
|
32
|
+
};
|
|
33
|
+
canUndo: {
|
|
34
|
+
type: BooleanConstructor;
|
|
35
|
+
default: boolean;
|
|
36
|
+
};
|
|
37
|
+
canRedo: {
|
|
38
|
+
type: BooleanConstructor;
|
|
39
|
+
default: boolean;
|
|
40
|
+
};
|
|
41
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
42
|
+
[key: string]: any;
|
|
43
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
44
|
+
'draft-mutation': (_mutation: WorkflowCanvasMutation) => true;
|
|
45
|
+
'history-action': (_action: WorkflowCanvasHistoryAction) => true;
|
|
46
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
47
|
+
graph: {
|
|
48
|
+
type: PropType<WorkflowCanvasGraphState>;
|
|
49
|
+
required: true;
|
|
50
|
+
};
|
|
51
|
+
frameTitle: {
|
|
52
|
+
type: StringConstructor;
|
|
53
|
+
default: string;
|
|
54
|
+
};
|
|
55
|
+
selectedNodeId: {
|
|
56
|
+
type: PropType<string | null>;
|
|
57
|
+
default: null;
|
|
58
|
+
};
|
|
59
|
+
toolReferences: {
|
|
60
|
+
type: PropType<WorkflowCanvasToolReference[]>;
|
|
61
|
+
default: () => never[];
|
|
62
|
+
};
|
|
63
|
+
historyEntries: {
|
|
64
|
+
type: PropType<WorkflowCanvasHistoryEntry[]>;
|
|
65
|
+
default: () => never[];
|
|
66
|
+
};
|
|
67
|
+
canUndo: {
|
|
68
|
+
type: BooleanConstructor;
|
|
69
|
+
default: boolean;
|
|
70
|
+
};
|
|
71
|
+
canRedo: {
|
|
72
|
+
type: BooleanConstructor;
|
|
73
|
+
default: boolean;
|
|
74
|
+
};
|
|
75
|
+
}>> & Readonly<{
|
|
76
|
+
"onDraft-mutation"?: ((_mutation: WorkflowCanvasMutation) => any) | undefined;
|
|
77
|
+
"onHistory-action"?: ((_action: WorkflowCanvasHistoryAction) => any) | undefined;
|
|
78
|
+
}>, {
|
|
79
|
+
frameTitle: string;
|
|
80
|
+
toolReferences: WorkflowCanvasToolReference[];
|
|
81
|
+
selectedNodeId: string | null;
|
|
82
|
+
canUndo: boolean;
|
|
83
|
+
canRedo: boolean;
|
|
84
|
+
historyEntries: WorkflowCanvasHistoryEntry[];
|
|
85
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
86
|
+
export type { WorkflowCanvasGraphState, WorkflowCanvasHistoryAction, WorkflowCanvasHistoryEntry, WorkflowCanvasMutation, WorkflowCanvasToolReference } from '@legatoacc3/workflow-canvas';
|
|
87
|
+
export { WorkflowBuilder };
|
|
88
|
+
export type { WorkflowBuilderApiAdapter, WorkflowBuilderDebugAdapter, WorkflowBuilderDraft, WorkflowBuilderNodeMetadata, WorkflowBuilderProps, WorkflowBuilderPublishResult, WorkflowBuilderValidationResult } from './contracts';
|
|
89
|
+
export { createBuilderSession } from './session/create-builder-session';
|
|
90
|
+
export { builderNodeSettingsRegistry, getBuilderNodeSettingsRenderer } from './inspector/builder-node-settings-registry';
|
|
91
|
+
export type { BuilderSession, BuilderSessionState } from './session/create-builder-session';
|
|
92
|
+
export type { BuilderNodeSettingsRendererId } from './inspector/builder-node-settings-registry';
|
|
93
|
+
export { default as BuilderNodeSettingsPanel } from './inspector/BuilderNodeSettingsPanel.vue';
|
|
94
|
+
export * from './domain/workflow-draft';
|
|
95
|
+
export * from './domain/builder-node-definition';
|
|
96
|
+
export * from './domain/builder-node-metadata-response';
|
|
97
|
+
export * from './form-schema/form-schema-editor';
|
|
98
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAA;AACvD,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EACjC,MAAM,6BAA6B,CAAA;AACpC,OAAO,eAAe,MAAM,kCAAkC,CAAA;AAE9D,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,wBAAwB,CAAA;IAC/B,cAAc,CAAC,EAAE,0BAA0B,EAAE,CAAA;IAC7C,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,cAAc,CAAC,EAAE,2BAA2B,EAAE,CAAA;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,oBAAoB;;cAIX,QAAQ,CAAC,wBAAwB,CAAC;;;;;;;;cAQlC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;;;;cAIxB,QAAQ,CAAC,2BAA2B,EAAE,CAAC;;;;cAIvC,QAAQ,CAAC,0BAA0B,EAAE,CAAC;;;;;;;;;;;;;;kCAazB,sBAAsB;gCACxB,2BAA2B;;;cA9BrC,QAAQ,CAAC,wBAAwB,CAAC;;;;;;;;cAQlC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;;;;cAIxB,QAAQ,CAAC,2BAA2B,EAAE,CAAC;;;;cAIvC,QAAQ,CAAC,0BAA0B,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;4EA8BzD,CAAA;AAEF,YAAY,EACV,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,2BAA2B,EAC5B,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,CAAA;AAC1B,YAAY,EACV,yBAAyB,EACzB,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,EACpB,4BAA4B,EAC5B,+BAA+B,EAChC,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,oBAAoB,EACrB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC/B,MAAM,4CAA4C,CAAA;AAEnD,YAAY,EACV,cAAc,EACd,mBAAmB,EACpB,MAAM,kCAAkC,CAAA;AAEzC,YAAY,EACV,6BAA6B,EAC9B,MAAM,4CAA4C,CAAA;AAEnD,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AAE9F,cAAc,yBAAyB,CAAA;AACvC,cAAc,kCAAkC,CAAA;AAChD,cAAc,yCAAyC,CAAA;AACvD,cAAc,kCAAkC,CAAA"}
|