@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.
Files changed (55) hide show
  1. package/dist/browser/{createResourceDialog-DZgJsr3e.js → createResourceDialog-BAJXbzNH.js} +20 -7
  2. package/dist/browser/flow-authoring.js +8 -7
  3. package/dist/browser/flow-change-schema.d.ts +1 -0
  4. package/dist/browser/flow-change.d.ts +1 -0
  5. package/dist/browser/flow-change.js +8 -7
  6. package/dist/browser/flow-notifications.d.ts +6 -0
  7. package/dist/browser/{flowChanges-CzYIVevI.js → flowChanges-BAMkSaKF.js} +1771 -1331
  8. package/dist/browser/{flowRunInputEditorStore-Dsxyfwae.js → flowRunInputEditorStore-B2Rw4VsT.js} +1 -1
  9. package/dist/browser/{flowWorkspace-BgZaFKZm.js → flowWorkspace-DxLc1Ybv.js} +429 -205
  10. package/dist/browser/{icons-CajfDpy_.js → icons-Db2Jb2iX.js} +30 -10
  11. package/dist/browser/preview.css +40 -52
  12. package/dist/browser/preview.js +7752 -7452
  13. package/dist/browser/theme.css +4 -0
  14. package/dist/browser/{typeScriptSession-fXPMFGjW.js → typeScriptSession-D0bjYDeg.js} +1 -1
  15. package/dist/browser/ui.css +39 -51
  16. package/dist/browser/ui.js +5 -5
  17. package/dist/browser/{value-DL_poNiC.js → value-BADHeZ9I.js} +12 -1
  18. package/dist/browser/workbench-contract.d.ts +10 -0
  19. package/dist/browser/workbench.css +43 -59
  20. package/dist/browser/workbench.d.ts +5 -3
  21. package/dist/browser/workbench.js +255 -216
  22. package/dist/browser/{workbenchSelect-H9wzEFkH.js → workbenchSelect-C-jf6NIM.js} +1 -1
  23. package/dist/command/index.js +49 -48
  24. package/dist/common/authoringSchema.d.ts +1 -0
  25. package/dist/common/canvas-commands.d.ts +19 -0
  26. package/dist/common/connector-action.d.ts +1 -0
  27. package/dist/common/connector-action.js +15 -12
  28. package/dist/common/control-api-conformance.js +127 -8
  29. package/dist/common/control-api.d.ts +16 -0
  30. package/dist/common/control-api.js +67 -8
  31. package/dist/common/control-requests.d.ts +23 -0
  32. package/dist/common/control-requests.js +64 -19
  33. package/dist/common/decision.js +8 -7
  34. package/dist/common/flow-connectionUsage.d.ts +1 -0
  35. package/dist/common/flow-encoding.d.ts +1 -0
  36. package/dist/common/flow-encoding.js +202 -10
  37. package/dist/common/flow-notifications.d.ts +6 -0
  38. package/dist/common/flow-semantics.js +64 -46
  39. package/dist/common/flow-workflowFile.d.ts +23 -0
  40. package/dist/common/integration-trigger.js +8 -7
  41. package/dist/common/localization.d.ts +1 -0
  42. package/dist/common/localization.js +12 -1
  43. package/dist/common/mcp.d.ts +103 -0
  44. package/dist/common/mcp.js +135 -11
  45. package/dist/common/openapi.js +8 -7
  46. package/dist/common/poll-trigger.js +8 -7
  47. package/dist/common/runtime-contract.js +1 -1
  48. package/dist/common/scheduler.d.ts +22 -2
  49. package/dist/common/scheduler.js +354 -83
  50. package/dist/common/trigger-config.d.ts +2 -0
  51. package/dist/common/webhook-trigger.js +8 -7
  52. package/dist/index.d.ts +2 -2
  53. package/package.json +1 -1
  54. package/skills/open-flow/SKILL.md +1 -1
  55. 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, sr as Input, t as Icon, w as FieldError, x as Spinner, yi as Button } from "./icons-CajfDpy_.js";
3
- import { t as WorkbenchSelect } from "./workbenchSelect-H9wzEFkH.js";
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-row items-center justify-between",
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: t(pending ? "common.creating" : "common.create")
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 == null ? "enum" : "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 == null ? "enum" : "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';