@oomol-lab/open-flow 0.1.0-beta.62 → 0.1.0-beta.64
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/dist/browser/{createResourceDialog-DZgJsr3e.js → createResourceDialog-BAJXbzNH.js} +20 -7
- package/dist/browser/flow-authoring.js +8 -7
- package/dist/browser/flow-change-schema.d.ts +1 -0
- package/dist/browser/flow-change.d.ts +1 -0
- package/dist/browser/flow-change.js +8 -7
- package/dist/browser/flow-notifications.d.ts +6 -0
- package/dist/browser/{flowChanges-CzYIVevI.js → flowChanges-BAMkSaKF.js} +1771 -1331
- package/dist/browser/{flowRunInputEditorStore-Dsxyfwae.js → flowRunInputEditorStore-B2Rw4VsT.js} +1 -1
- package/dist/browser/{flowWorkspace-BgZaFKZm.js → flowWorkspace-DxLc1Ybv.js} +429 -205
- package/dist/browser/{icons-CajfDpy_.js → icons-Db2Jb2iX.js} +30 -10
- package/dist/browser/preview.css +40 -52
- package/dist/browser/preview.js +7752 -7452
- package/dist/browser/theme.css +4 -0
- package/dist/browser/{typeScriptSession-fXPMFGjW.js → typeScriptSession-D0bjYDeg.js} +1 -1
- package/dist/browser/ui.css +39 -51
- package/dist/browser/ui.js +5 -5
- package/dist/browser/{value-DL_poNiC.js → value-BADHeZ9I.js} +12 -1
- package/dist/browser/workbench-contract.d.ts +10 -0
- package/dist/browser/workbench.css +43 -59
- package/dist/browser/workbench.d.ts +5 -3
- package/dist/browser/workbench.js +255 -216
- package/dist/browser/{workbenchSelect-H9wzEFkH.js → workbenchSelect-C-jf6NIM.js} +1 -1
- package/dist/command/index.js +49 -48
- package/dist/common/authoringSchema.d.ts +1 -0
- package/dist/common/canvas-commands.d.ts +19 -0
- package/dist/common/connector-action.d.ts +1 -0
- package/dist/common/connector-action.js +15 -12
- package/dist/common/control-api-conformance.js +127 -8
- package/dist/common/control-api.d.ts +16 -0
- package/dist/common/control-api.js +67 -8
- package/dist/common/control-requests.d.ts +23 -0
- package/dist/common/control-requests.js +64 -19
- package/dist/common/decision.js +8 -7
- package/dist/common/flow-connectionUsage.d.ts +1 -0
- package/dist/common/flow-encoding.d.ts +1 -0
- package/dist/common/flow-encoding.js +202 -10
- package/dist/common/flow-notifications.d.ts +6 -0
- package/dist/common/flow-semantics.js +64 -46
- package/dist/common/flow-workflowFile.d.ts +23 -0
- package/dist/common/integration-trigger.js +8 -7
- package/dist/common/localization.d.ts +1 -0
- package/dist/common/localization.js +12 -1
- package/dist/common/mcp.d.ts +103 -0
- package/dist/common/mcp.js +135 -11
- package/dist/common/openapi.js +8 -7
- package/dist/common/poll-trigger.js +8 -7
- package/dist/common/runtime-contract.js +1 -1
- package/dist/common/scheduler.d.ts +22 -2
- package/dist/common/scheduler.js +354 -83
- package/dist/common/trigger-config.d.ts +2 -0
- package/dist/common/webhook-trigger.js +8 -7
- package/dist/index.d.ts +2 -2
- package/package.json +1 -1
- package/skills/open-flow/SKILL.md +1 -1
- package/skills/open-flow/references/flow-authoring.md +49 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { l as useTranslate } from "./dist-BFmpkX4P.js";
|
|
2
|
-
import { C as FieldDescription, E as FieldLabel, S as Field, T as FieldGroup, c as DialogTitle, i as DialogContent, n as Dialog, o as DialogFooter, r as DialogClose, s as DialogHeader,
|
|
3
|
-
import { t as WorkbenchSelect } from "./workbenchSelect-
|
|
2
|
+
import { C as FieldDescription, E as FieldLabel, S as Field, T as FieldGroup, a as DialogDescription, c as DialogTitle, i as DialogContent, lr as Input, n as Dialog, o as DialogFooter, r as DialogClose, s as DialogHeader, t as Icon, w as FieldError, x as Spinner, xi as Button } from "./icons-Db2Jb2iX.js";
|
|
3
|
+
import { t as WorkbenchSelect } from "./workbenchSelect-C-jf6NIM.js";
|
|
4
4
|
import { useEffect, useRef, useState } from "react";
|
|
5
5
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
//#region src/workbench/browser/runtime/shell/createResourceDialog.tsx
|
|
7
|
-
function CreateResourceDialog({ disabled, field, id, issue, label, name, onNameChange, onOpenChange, onSubmit, pending, title }) {
|
|
7
|
+
function CreateResourceDialog({ disabled, field, id, issue, label, name, onNameChange, onOpenChange, onSubmit, pending, submitLabel, sourceUrl, title }) {
|
|
8
8
|
const t = useTranslate();
|
|
9
9
|
const input = useRef(null);
|
|
10
10
|
const portal = useRef(null);
|
|
@@ -12,6 +12,11 @@ function CreateResourceDialog({ disabled, field, id, issue, label, name, onNameC
|
|
|
12
12
|
const showIssue = name.length > 0 && issue != null;
|
|
13
13
|
const message = showIssue ? t(`resource.nameIssue.${issue}`, { max: 80 }) : t("resource.nameHint", { max: 80 });
|
|
14
14
|
const messageId = `${id}-message`;
|
|
15
|
+
let sourceHref;
|
|
16
|
+
if (sourceUrl != null) try {
|
|
17
|
+
const url = new URL(sourceUrl);
|
|
18
|
+
if (url.protocol == "https:" || url.protocol == "http:") sourceHref = url.href;
|
|
19
|
+
} catch {}
|
|
15
20
|
const fieldId = `${id}-option`;
|
|
16
21
|
useEffect(() => setOpen(true), []);
|
|
17
22
|
return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("div", { ref: portal }), /* @__PURE__ */ jsx(Dialog, {
|
|
@@ -28,8 +33,8 @@ function CreateResourceDialog({ disabled, field, id, issue, label, name, onNameC
|
|
|
28
33
|
className: "flex flex-col gap-4",
|
|
29
34
|
onSubmit,
|
|
30
35
|
children: [
|
|
31
|
-
/* @__PURE__ */ jsxs(DialogHeader, {
|
|
32
|
-
className: "flex
|
|
36
|
+
/* @__PURE__ */ jsxs(DialogHeader, { children: [/* @__PURE__ */ jsxs("div", {
|
|
37
|
+
className: "flex items-center justify-between",
|
|
33
38
|
children: [/* @__PURE__ */ jsx(DialogTitle, { children: title }), /* @__PURE__ */ jsx(DialogClose, {
|
|
34
39
|
"aria-label": t("common.cancel"),
|
|
35
40
|
render: /* @__PURE__ */ jsx(Button, {
|
|
@@ -39,7 +44,15 @@ function CreateResourceDialog({ disabled, field, id, issue, label, name, onNameC
|
|
|
39
44
|
type: "button",
|
|
40
45
|
children: /* @__PURE__ */ jsx(Icon, { name: "close" })
|
|
41
46
|
})]
|
|
42
|
-
}),
|
|
47
|
+
}), sourceUrl != null && /* @__PURE__ */ jsx(DialogDescription, {
|
|
48
|
+
className: "break-all",
|
|
49
|
+
children: sourceHref == null ? sourceUrl : /* @__PURE__ */ jsx("a", {
|
|
50
|
+
href: sourceHref,
|
|
51
|
+
target: "_blank",
|
|
52
|
+
rel: "noreferrer",
|
|
53
|
+
children: sourceUrl
|
|
54
|
+
})
|
|
55
|
+
})] }),
|
|
43
56
|
/* @__PURE__ */ jsxs(FieldGroup, {
|
|
44
57
|
className: "gap-4",
|
|
45
58
|
children: [/* @__PURE__ */ jsxs(Field, {
|
|
@@ -109,7 +122,7 @@ function CreateResourceDialog({ disabled, field, id, issue, label, name, onNameC
|
|
|
109
122
|
}), /* @__PURE__ */ jsx(Button, {
|
|
110
123
|
disabled: disabled || pending || issue != null,
|
|
111
124
|
type: "submit",
|
|
112
|
-
children:
|
|
125
|
+
children: pending ? t("common.creating") : submitLabel ?? t("common.create")
|
|
113
126
|
})]
|
|
114
127
|
})
|
|
115
128
|
]
|
|
@@ -5944,7 +5944,8 @@ var managedFields = object({
|
|
|
5944
5944
|
object({
|
|
5945
5945
|
kind: literal("connector"),
|
|
5946
5946
|
action: text,
|
|
5947
|
-
connectionId: text.optional()
|
|
5947
|
+
connectionId: text.optional(),
|
|
5948
|
+
outputMode: literal("value").optional()
|
|
5948
5949
|
}),
|
|
5949
5950
|
object({
|
|
5950
5951
|
kind: literal("openapi"),
|
|
@@ -7948,10 +7949,10 @@ function compileEnumAndConst(context, enumList, constValue, schema) {
|
|
|
7948
7949
|
}
|
|
7949
7950
|
if (compiledEnum.length === 0) recordWarn(context, "all of elements from list is rejected by currently schema object", "enum");
|
|
7950
7951
|
}
|
|
7951
|
-
if (constValue && valid(schema, constValue) === ValidResult.Invalid) isNever = true;
|
|
7952
|
+
if (constValue !== void 0 && valid(schema, constValue) === ValidResult.Invalid) isNever = true;
|
|
7952
7953
|
if (compiledEnum) {
|
|
7953
7954
|
if (compiledEnum.length === 0) isNever = true;
|
|
7954
|
-
else if (constValue) {
|
|
7955
|
+
else if (constValue !== void 0) {
|
|
7955
7956
|
let foundEquals = false;
|
|
7956
7957
|
for (const enumValue of compiledEnum) if (isDeepEquals(enumValue, constValue)) {
|
|
7957
7958
|
foundEquals = true;
|
|
@@ -7964,7 +7965,7 @@ function compileEnumAndConst(context, enumList, constValue, schema) {
|
|
|
7964
7965
|
const compiledSchema = {};
|
|
7965
7966
|
if (schema.type) compiledSchema.type = schema.type;
|
|
7966
7967
|
if (compiledEnum) compiledSchema.enum = compiledEnum;
|
|
7967
|
-
if (constValue) compiledSchema.const = wrapCompiledValue(deepCopy(constValue));
|
|
7968
|
+
if (constValue !== void 0) compiledSchema.const = wrapCompiledValue(deepCopy(constValue));
|
|
7968
7969
|
return wrapCompiledSchema(kind, compiledSchema, context.delegate, context.path);
|
|
7969
7970
|
}
|
|
7970
7971
|
//#endregion
|
|
@@ -8359,7 +8360,7 @@ function compileSchema(context, schema) {
|
|
|
8359
8360
|
let targetSchema = schema;
|
|
8360
8361
|
let shouldHandleEnumAndConst = false;
|
|
8361
8362
|
const { enum: enumList, const: constValue } = schema;
|
|
8362
|
-
if (enumList || constValue) {
|
|
8363
|
+
if (enumList || constValue !== void 0) {
|
|
8363
8364
|
const { enum: _0, const: _1, ...rest } = schema;
|
|
8364
8365
|
targetSchema = rest;
|
|
8365
8366
|
shouldHandleEnumAndConst = true;
|
|
@@ -8949,7 +8950,7 @@ function schemaEqualsChecker(extendsContext) {
|
|
|
8949
8950
|
}
|
|
8950
8951
|
function isValueEquals(value1, value2) {
|
|
8951
8952
|
if (value1 === value2) return true;
|
|
8952
|
-
if (value1 === null) return false;
|
|
8953
|
+
if (value1 === null || value2 === null) return false;
|
|
8953
8954
|
if (typeof value1 !== "object") return false;
|
|
8954
8955
|
if (typeof value1 !== typeof value2) return false;
|
|
8955
8956
|
if (isCompiledSchema(value1) && isCompiledSchema(value2)) return isCompiledSchemaEquals(value1, value2);
|
|
@@ -9515,7 +9516,7 @@ function findMismatchPath(source, target) {
|
|
|
9515
9516
|
if ((sourceSchema.maxProperties ?? Number.POSITIVE_INFINITY) > (targetSchema.maxProperties ?? Number.POSITIVE_INFINITY)) return [...targetPath, "maxProperties"];
|
|
9516
9517
|
break;
|
|
9517
9518
|
}
|
|
9518
|
-
case CompiledKind.EnumOrConst: return [...targetPath, targetSchema.const
|
|
9519
|
+
case CompiledKind.EnumOrConst: return [...targetPath, targetSchema.const === void 0 ? "enum" : "const"];
|
|
9519
9520
|
}
|
|
9520
9521
|
return targetPath;
|
|
9521
9522
|
}
|
|
@@ -184,6 +184,7 @@ export declare const authoringDefinitionSchemas: {
|
|
|
184
184
|
connector: z.ZodObject<{
|
|
185
185
|
action: z.ZodString;
|
|
186
186
|
connectionId: z.ZodOptional<z.ZodString>;
|
|
187
|
+
outputMode: z.ZodOptional<z.ZodLiteral<"value">>;
|
|
187
188
|
}, z.core.$strict>;
|
|
188
189
|
openapi: z.ZodObject<{
|
|
189
190
|
sourceUrl: z.ZodString;
|
|
@@ -112,6 +112,7 @@ export type ManagedTaskExecutor = import('../common/decision.js').DecisionExecut
|
|
|
112
112
|
readonly kind: 'connector';
|
|
113
113
|
readonly action: string;
|
|
114
114
|
readonly connectionId?: string;
|
|
115
|
+
readonly outputMode?: 'value';
|
|
115
116
|
} | {
|
|
116
117
|
readonly kind: 'llm';
|
|
117
118
|
readonly mode: 'chat' | 'json';
|
|
@@ -6855,10 +6855,10 @@ function compileEnumAndConst(context, enumList, constValue, schema) {
|
|
|
6855
6855
|
}
|
|
6856
6856
|
if (compiledEnum.length === 0) recordWarn(context, "all of elements from list is rejected by currently schema object", "enum");
|
|
6857
6857
|
}
|
|
6858
|
-
if (constValue && valid(schema, constValue) === ValidResult.Invalid) isNever = true;
|
|
6858
|
+
if (constValue !== void 0 && valid(schema, constValue) === ValidResult.Invalid) isNever = true;
|
|
6859
6859
|
if (compiledEnum) {
|
|
6860
6860
|
if (compiledEnum.length === 0) isNever = true;
|
|
6861
|
-
else if (constValue) {
|
|
6861
|
+
else if (constValue !== void 0) {
|
|
6862
6862
|
let foundEquals = false;
|
|
6863
6863
|
for (const enumValue of compiledEnum) if (isDeepEquals(enumValue, constValue)) {
|
|
6864
6864
|
foundEquals = true;
|
|
@@ -6871,7 +6871,7 @@ function compileEnumAndConst(context, enumList, constValue, schema) {
|
|
|
6871
6871
|
const compiledSchema = {};
|
|
6872
6872
|
if (schema.type) compiledSchema.type = schema.type;
|
|
6873
6873
|
if (compiledEnum) compiledSchema.enum = compiledEnum;
|
|
6874
|
-
if (constValue) compiledSchema.const = wrapCompiledValue(deepCopy(constValue));
|
|
6874
|
+
if (constValue !== void 0) compiledSchema.const = wrapCompiledValue(deepCopy(constValue));
|
|
6875
6875
|
return wrapCompiledSchema(kind, compiledSchema, context.delegate, context.path);
|
|
6876
6876
|
}
|
|
6877
6877
|
//#endregion
|
|
@@ -7266,7 +7266,7 @@ function compileSchema(context, schema) {
|
|
|
7266
7266
|
let targetSchema = schema;
|
|
7267
7267
|
let shouldHandleEnumAndConst = false;
|
|
7268
7268
|
const { enum: enumList, const: constValue } = schema;
|
|
7269
|
-
if (enumList || constValue) {
|
|
7269
|
+
if (enumList || constValue !== void 0) {
|
|
7270
7270
|
const { enum: _0, const: _1, ...rest } = schema;
|
|
7271
7271
|
targetSchema = rest;
|
|
7272
7272
|
shouldHandleEnumAndConst = true;
|
|
@@ -7856,7 +7856,7 @@ function schemaEqualsChecker(extendsContext) {
|
|
|
7856
7856
|
}
|
|
7857
7857
|
function isValueEquals(value1, value2) {
|
|
7858
7858
|
if (value1 === value2) return true;
|
|
7859
|
-
if (value1 === null) return false;
|
|
7859
|
+
if (value1 === null || value2 === null) return false;
|
|
7860
7860
|
if (typeof value1 !== "object") return false;
|
|
7861
7861
|
if (typeof value1 !== typeof value2) return false;
|
|
7862
7862
|
if (isCompiledSchema(value1) && isCompiledSchema(value2)) return isCompiledSchemaEquals(value1, value2);
|
|
@@ -8422,7 +8422,7 @@ function findMismatchPath(source, target) {
|
|
|
8422
8422
|
if ((sourceSchema.maxProperties ?? Number.POSITIVE_INFINITY) > (targetSchema.maxProperties ?? Number.POSITIVE_INFINITY)) return [...targetPath, "maxProperties"];
|
|
8423
8423
|
break;
|
|
8424
8424
|
}
|
|
8425
|
-
case CompiledKind.EnumOrConst: return [...targetPath, targetSchema.const
|
|
8425
|
+
case CompiledKind.EnumOrConst: return [...targetPath, targetSchema.const === void 0 ? "enum" : "const"];
|
|
8426
8426
|
}
|
|
8427
8427
|
return targetPath;
|
|
8428
8428
|
}
|
|
@@ -8899,7 +8899,8 @@ var managedFields = object({
|
|
|
8899
8899
|
object({
|
|
8900
8900
|
kind: literal("connector"),
|
|
8901
8901
|
action: text,
|
|
8902
|
-
connectionId: text.optional()
|
|
8902
|
+
connectionId: text.optional(),
|
|
8903
|
+
outputMode: literal("value").optional()
|
|
8903
8904
|
}),
|
|
8904
8905
|
object({
|
|
8905
8906
|
kind: literal("openapi"),
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { CanvasCommand } from '../common/canvas-commands.js';
|
|
1
2
|
export type FlowCatalogEvent = {
|
|
2
3
|
readonly kind: 'flows.changed';
|
|
3
4
|
readonly version: 1;
|
|
@@ -7,6 +8,11 @@ export type FlowCatalogEvent = {
|
|
|
7
8
|
readonly version: 1;
|
|
8
9
|
};
|
|
9
10
|
export type FlowChangeEvent = {
|
|
11
|
+
readonly kind: 'canvas.command';
|
|
12
|
+
readonly flowId: string;
|
|
13
|
+
readonly command: CanvasCommand;
|
|
14
|
+
readonly version: 1;
|
|
15
|
+
} | {
|
|
10
16
|
readonly accessRevision: number;
|
|
11
17
|
readonly flowId: string;
|
|
12
18
|
readonly kind: 'access.changed';
|