@auxx/sdk 0.0.6 → 0.0.7

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 (33) hide show
  1. package/lib/auxx.js +4 -1
  2. package/lib/client/workflow/components/fields/index.d.ts +4 -0
  3. package/lib/client/workflow/components/fields/index.d.ts.map +1 -0
  4. package/lib/client/workflow/components/fields/index.js +3 -0
  5. package/lib/client/workflow/components/fields/var-field-group.d.ts +9 -0
  6. package/lib/client/workflow/components/fields/var-field-group.d.ts.map +1 -0
  7. package/lib/client/workflow/components/fields/var-field-group.js +3 -0
  8. package/lib/client/workflow/components/fields/var-field.d.ts +12 -0
  9. package/lib/client/workflow/components/fields/var-field.d.ts.map +1 -0
  10. package/lib/client/workflow/components/fields/var-field.js +3 -0
  11. package/lib/client/workflow/components/fields/var-input.d.ts +16 -0
  12. package/lib/client/workflow/components/fields/var-input.d.ts.map +1 -0
  13. package/lib/client/workflow/components/fields/var-input.js +3 -0
  14. package/lib/client/workflow/hooks/use-workflow.d.ts +31 -4
  15. package/lib/client/workflow/hooks/use-workflow.d.ts.map +1 -1
  16. package/lib/root/workflow/types.d.ts +10 -0
  17. package/lib/root/workflow/types.d.ts.map +1 -1
  18. package/lib/runtime/reconciler/tags/index.d.ts +3 -0
  19. package/lib/runtime/reconciler/tags/index.d.ts.map +1 -1
  20. package/lib/runtime/reconciler/tags/index.js +9 -0
  21. package/lib/runtime/reconciler/tags/workflow-var-field-group-tag.d.ts +7 -0
  22. package/lib/runtime/reconciler/tags/workflow-var-field-group-tag.d.ts.map +1 -0
  23. package/lib/runtime/reconciler/tags/workflow-var-field-group-tag.js +17 -0
  24. package/lib/runtime/reconciler/tags/workflow-var-field-tag.d.ts +7 -0
  25. package/lib/runtime/reconciler/tags/workflow-var-field-tag.d.ts.map +1 -0
  26. package/lib/runtime/reconciler/tags/workflow-var-field-tag.js +20 -0
  27. package/lib/runtime/reconciler/tags/workflow-var-input-tag.d.ts +7 -0
  28. package/lib/runtime/reconciler/tags/workflow-var-input-tag.d.ts.map +1 -0
  29. package/lib/runtime/reconciler/tags/workflow-var-input-tag.js +22 -0
  30. package/lib/runtime/workflow.d.ts +9 -0
  31. package/lib/runtime/workflow.d.ts.map +1 -1
  32. package/lib/runtime/workflow.js +126 -7
  33. package/package.json +1 -1
package/lib/auxx.js CHANGED
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import './env-loader.js';
3
+ import { createRequire } from 'node:module';
3
4
  import { Command } from 'commander';
4
5
  import { apps } from './commands/apps.js';
5
6
  import { build } from './commands/build.js';
@@ -10,11 +11,13 @@ import { logout } from './commands/logout.js';
10
11
  import { logs } from './commands/logs.js';
11
12
  import { version } from './commands/version/index.js';
12
13
  import { whoami } from './commands/whoami.js';
14
+ const require = createRequire(import.meta.url);
15
+ const pkg = require('../package.json');
13
16
  const program = new Command();
14
17
  program
15
18
  .name('auxx')
16
19
  .description('CLI tool to create Auxx apps')
17
- .version('0.0.1-experimental.1')
20
+ .version(pkg.version)
18
21
  .addCommand(init)
19
22
  .addCommand(apps)
20
23
  .addCommand(build)
@@ -0,0 +1,4 @@
1
+ export { VarField, type VarFieldProps } from './var-field.js';
2
+ export { VarFieldGroup, type VarFieldGroupProps } from './var-field-group.js';
3
+ export { VarInput, type VarInputProps } from './var-input.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/client/workflow/components/fields/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // Implementation stripped - provided by runtime
@@ -0,0 +1,9 @@
1
+ import type React from 'react';
2
+ export interface VarFieldGroupProps {
3
+ orientation?: 'horizontal' | 'vertical';
4
+ validationError?: string;
5
+ validationType?: 'error' | 'warning';
6
+ children?: React.ReactNode;
7
+ }
8
+ export declare const VarFieldGroup: React.FC<VarFieldGroupProps>;
9
+ //# sourceMappingURL=var-field-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"var-field-group.d.ts","sourceRoot":"","sources":["../../../../../src/client/workflow/components/fields/var-field-group.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,MAAM,WAAW,kBAAkB;IAEjC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IAEvC,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAEpC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B;AAKD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAoBtD,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // Implementation stripped - provided by runtime
@@ -0,0 +1,12 @@
1
+ import type React from 'react';
2
+ export interface VarFieldProps {
3
+ name?: string;
4
+ title?: string;
5
+ description?: string;
6
+ required?: boolean;
7
+ type?: string;
8
+ showIcon?: boolean;
9
+ children?: React.ReactNode;
10
+ }
11
+ export declare const VarField: React.FC<VarFieldProps>;
12
+ //# sourceMappingURL=var-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"var-field.d.ts","sourceRoot":"","sources":["../../../../../src/client/workflow/components/fields/var-field.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,MAAM,WAAW,aAAa;IAE5B,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B;AAKD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA0B5C,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // Implementation stripped - provided by runtime
@@ -0,0 +1,16 @@
1
+ import type React from 'react';
2
+ export interface VarInputProps {
3
+ name: string;
4
+ type: string;
5
+ placeholder?: string;
6
+ acceptsVariables?: boolean;
7
+ variableTypes?: string[];
8
+ format?: string;
9
+ options?: readonly (string | {
10
+ label: string;
11
+ value: string;
12
+ })[];
13
+ multiline?: boolean;
14
+ }
15
+ export declare const VarInput: React.FC<VarInputProps>;
16
+ //# sourceMappingURL=var-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"var-input.d.ts","sourceRoot":"","sources":["../../../../../src/client/workflow/components/fields/var-input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,MAAM,WAAW,aAAa;IAE5B,IAAI,EAAE,MAAM,CAAA;IAEZ,IAAI,EAAE,MAAM,CAAA;IAEZ,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAE1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IAExB,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAA;IAEhE,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAQD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAS5C,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // Implementation stripped - provided by runtime
@@ -1,9 +1,11 @@
1
1
  import { type ReactElement } from 'react';
2
2
  import type { InferWorkflowInput, WorkflowSchema } from '../../../root/workflow/types.js';
3
- import { type BooleanInputProps } from '../components/inputs/boolean-input.js';
4
- import { type NumberInputProps } from '../components/inputs/number-input.js';
5
- import { type SelectInputProps } from '../components/inputs/select-input.js';
6
- import { type StringInputProps } from '../components/inputs/string-input.js';
3
+ import { type VarFieldProps } from '../components/fields/var-field.js';
4
+ import { type VarFieldGroupProps } from '../components/fields/var-field-group.js';
5
+ import type { BooleanInputProps } from '../components/inputs/boolean-input.js';
6
+ import type { NumberInputProps } from '../components/inputs/number-input.js';
7
+ import type { SelectInputProps } from '../components/inputs/select-input.js';
8
+ import type { StringInputProps } from '../components/inputs/string-input.js';
7
9
  import { type InputGroupProps } from '../components/layout/input-group.js';
8
10
  import { type SectionProps } from '../components/layout/section.js';
9
11
  import { type ConditionalRenderProps } from '../components/utility/conditional-render.js';
@@ -20,14 +22,39 @@ export interface WorkflowBooleanInputProps<TSchema extends WorkflowSchema> exten
20
22
  export interface WorkflowSelectInputProps<TSchema extends WorkflowSchema> extends Omit<SelectInputProps, 'name' | 'value' | 'onChange'> {
21
23
  name: PathToField<TSchema['inputs'], 'select'>;
22
24
  }
25
+ export interface WorkflowOptionsInputProps<TSchema extends WorkflowSchema> {
26
+ name: PathToField<TSchema['inputs'], 'select'>;
27
+ options?: readonly (string | {
28
+ label: string;
29
+ value: string;
30
+ })[];
31
+ placeholder?: string;
32
+ }
33
+ export interface WorkflowVarInputProps {
34
+ name: string;
35
+ type: string;
36
+ placeholder?: string;
37
+ acceptsVariables?: boolean;
38
+ variableTypes?: string[];
39
+ format?: string;
40
+ options?: readonly (string | {
41
+ label: string;
42
+ value: string;
43
+ })[];
44
+ multiline?: boolean;
45
+ }
23
46
  export interface WorkflowConditionalRenderProps<TSchema extends WorkflowSchema> extends Omit<ConditionalRenderProps, 'data'> {
24
47
  when: (data: InferWorkflowInput<TSchema>) => boolean;
25
48
  }
26
49
  export interface UseWorkflowApi<TSchema extends WorkflowSchema> {
50
+ VarInput: (props: WorkflowVarInputProps) => ReactElement;
27
51
  StringInput: (props: WorkflowStringInputProps<TSchema>) => ReactElement;
28
52
  NumberInput: (props: WorkflowNumberInputProps<TSchema>) => ReactElement;
29
53
  BooleanInput: (props: WorkflowBooleanInputProps<TSchema>) => ReactElement;
30
54
  SelectInput: (props: WorkflowSelectInputProps<TSchema>) => ReactElement;
55
+ OptionsInput: (props: WorkflowOptionsInputProps<TSchema>) => ReactElement;
56
+ VarField: (props: VarFieldProps) => ReactElement;
57
+ VarFieldGroup: (props: VarFieldGroupProps) => ReactElement;
31
58
  Section: (props: SectionProps) => ReactElement;
32
59
  InputGroup: (props: InputGroupProps) => ReactElement;
33
60
  ConditionalRender: (props: WorkflowConditionalRenderProps<TSchema>) => ReactElement;
@@ -1 +1 @@
1
- {"version":3,"file":"use-workflow.d.ts","sourceRoot":"","sources":["../../../../src/client/workflow/hooks/use-workflow.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,YAAY,EAA2C,MAAM,OAAO,CAAA;AACjG,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AACzF,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAC5F,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AACzF,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAEzF,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AACzF,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACtF,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,6CAA6C,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAwC3D,MAAM,WAAW,wBAAwB,CAAC,OAAO,SAAS,cAAc,CACtE,SAAQ,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;IAE7D,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAA;CAC/C;AAMD,MAAM,WAAW,wBAAwB,CAAC,OAAO,SAAS,cAAc,CACtE,SAAQ,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;IAE7D,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAA;CAC/C;AAMD,MAAM,WAAW,yBAAyB,CAAC,OAAO,SAAS,cAAc,CACvE,SAAQ,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;IAE9D,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAA;CAChD;AAMD,MAAM,WAAW,wBAAwB,CAAC,OAAO,SAAS,cAAc,CACtE,SAAQ,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;IAE7D,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAA;CAC/C;AAMD,MAAM,WAAW,8BAA8B,CAAC,OAAO,SAAS,cAAc,CAC5E,SAAQ,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAE5C,IAAI,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,KAAK,OAAO,CAAA;CACrD;AAQD,MAAM,WAAW,cAAc,CAAC,OAAO,SAAS,cAAc;IAO5D,WAAW,EAAE,CAAC,KAAK,EAAE,wBAAwB,CAAC,OAAO,CAAC,KAAK,YAAY,CAAA;IAQvE,WAAW,EAAE,CAAC,KAAK,EAAE,wBAAwB,CAAC,OAAO,CAAC,KAAK,YAAY,CAAA;IAQvE,YAAY,EAAE,CAAC,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,KAAK,YAAY,CAAA;IAQzE,WAAW,EAAE,CAAC,KAAK,EAAE,wBAAwB,CAAC,OAAO,CAAC,KAAK,YAAY,CAAA;IAOvE,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,YAAY,CAAA;IAO9C,UAAU,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,YAAY,CAAA;IAOpD,iBAAiB,EAAE,CAAC,KAAK,EAAE,8BAA8B,CAAC,OAAO,CAAC,KAAK,YAAY,CAAA;CACpF;AAkCD,wBAAgB,WAAW,CAAC,OAAO,SAAS,cAAc,EACxD,MAAM,EAAE,OAAO,GACd,cAAc,CAAC,OAAO,CAAC,CAuIzB"}
1
+ {"version":3,"file":"use-workflow.d.ts","sourceRoot":"","sources":["../../../../src/client/workflow/hooks/use-workflow.ts"],"names":[],"mappings":"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"}
@@ -65,9 +65,19 @@ export interface WorkflowExecutionContext {
65
65
  organization: WorkflowOrganization;
66
66
  sdk: WorkflowSDK;
67
67
  }
68
+ export interface WorkflowLayoutSection {
69
+ type: 'section';
70
+ title: string;
71
+ description?: string;
72
+ fields: string[];
73
+ collapsible?: boolean;
74
+ initialOpen?: boolean;
75
+ }
68
76
  export interface WorkflowSchema {
69
77
  inputs: Record<string, any>;
70
78
  outputs: Record<string, any>;
79
+ layout?: WorkflowLayoutSection[];
80
+ computeOutputs?: (inputs: Record<string, any>) => Record<string, any>;
71
81
  }
72
82
  export interface WorkflowBlockConfig {
73
83
  timeout?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/root/workflow/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/root/workflow/types.ts"],"names":[],"mappings":"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"}
@@ -30,5 +30,8 @@ export { WorkflowSectionTag } from './workflow-section-tag.js';
30
30
  export { WorkflowSelectInputTag } from './workflow-select-input-tag.js';
31
31
  export { WorkflowSeparatorTag } from './workflow-separator-tag.js';
32
32
  export { WorkflowStringInputTag } from './workflow-string-input-tag.js';
33
+ export { WorkflowVarFieldGroupTag } from './workflow-var-field-group-tag.js';
34
+ export { WorkflowVarFieldTag } from './workflow-var-field-tag.js';
35
+ export { WorkflowVarInputTag } from './workflow-var-input-tag.js';
33
36
  export { WorkflowVariableInputTag } from './workflow-variable-input-tag.js';
34
37
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/reconciler/tags/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AA8B5C,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CA+BpF,CAAA;AAKD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAExD;AAKD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAM9E;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AACzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/reconciler/tags/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAiC5C,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAmCpF,CAAA;AAKD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAExD;AAKD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAM9E;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AACzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAA"}
@@ -25,6 +25,9 @@ import { WorkflowSectionTag } from './workflow-section-tag.js';
25
25
  import { WorkflowSelectInputTag } from './workflow-select-input-tag.js';
26
26
  import { WorkflowSeparatorTag } from './workflow-separator-tag.js';
27
27
  import { WorkflowStringInputTag } from './workflow-string-input-tag.js';
28
+ import { WorkflowVarFieldGroupTag } from './workflow-var-field-group-tag.js';
29
+ import { WorkflowVarFieldTag } from './workflow-var-field-tag.js';
30
+ import { WorkflowVarInputTag } from './workflow-var-input-tag.js';
28
31
  import { WorkflowVariableInputTag } from './workflow-variable-input-tag.js';
29
32
  export const TAG_REGISTRY = {
30
33
  auxxtextblock: TextBlockTag,
@@ -57,6 +60,9 @@ export const TAG_REGISTRY = {
57
60
  auxxworkflowconditionalrender: WorkflowConditionalRenderTag,
58
61
  auxxworkflowvariableinput: WorkflowVariableInputTag,
59
62
  auxxworkflowinputeditor: WorkflowInputEditorTag,
63
+ auxxworkflowvarinput: WorkflowVarInputTag,
64
+ auxxworkflowvarfield: WorkflowVarFieldTag,
65
+ auxxworkflowvarfieldgroup: WorkflowVarFieldGroupTag,
60
66
  };
61
67
  export function isCustomElement(tagName) {
62
68
  return tagName in TAG_REGISTRY;
@@ -96,4 +102,7 @@ export { WorkflowSectionTag } from './workflow-section-tag.js';
96
102
  export { WorkflowSelectInputTag } from './workflow-select-input-tag.js';
97
103
  export { WorkflowSeparatorTag } from './workflow-separator-tag.js';
98
104
  export { WorkflowStringInputTag } from './workflow-string-input-tag.js';
105
+ export { WorkflowVarFieldGroupTag } from './workflow-var-field-group-tag.js';
106
+ export { WorkflowVarFieldTag } from './workflow-var-field-tag.js';
107
+ export { WorkflowVarInputTag } from './workflow-var-input-tag.js';
99
108
  export { WorkflowVariableInputTag } from './workflow-variable-input-tag.js';
@@ -0,0 +1,7 @@
1
+ import { BaseTag } from './base-tag.js';
2
+ export declare class WorkflowVarFieldGroupTag extends BaseTag {
3
+ getTagName(): string;
4
+ getComponentName(): string;
5
+ getAttributes(props: Record<string, any>): Record<string, any>;
6
+ }
7
+ //# sourceMappingURL=workflow-var-field-group-tag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-var-field-group-tag.d.ts","sourceRoot":"","sources":["../../../../src/runtime/reconciler/tags/workflow-var-field-group-tag.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAMvC,qBAAa,wBAAyB,SAAQ,OAAO;IACnD,UAAU,IAAI,MAAM;IAIpB,gBAAgB,IAAI,MAAM;IAI1B,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAS/D"}
@@ -0,0 +1,17 @@
1
+ import { BaseTag } from './base-tag.js';
2
+ export class WorkflowVarFieldGroupTag extends BaseTag {
3
+ getTagName() {
4
+ return 'div';
5
+ }
6
+ getComponentName() {
7
+ return 'WorkflowVarFieldGroup';
8
+ }
9
+ getAttributes(props) {
10
+ const { orientation, validationError, validationType } = props;
11
+ return {
12
+ orientation,
13
+ validationError,
14
+ validationType,
15
+ };
16
+ }
17
+ }
@@ -0,0 +1,7 @@
1
+ import { BaseTag } from './base-tag.js';
2
+ export declare class WorkflowVarFieldTag extends BaseTag {
3
+ getTagName(): string;
4
+ getComponentName(): string;
5
+ getAttributes(props: Record<string, any>): Record<string, any>;
6
+ }
7
+ //# sourceMappingURL=workflow-var-field-tag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-var-field-tag.d.ts","sourceRoot":"","sources":["../../../../src/runtime/reconciler/tags/workflow-var-field-tag.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAMvC,qBAAa,mBAAoB,SAAQ,OAAO;IAC9C,UAAU,IAAI,MAAM;IAIpB,gBAAgB,IAAI,MAAM;IAI1B,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAY/D"}
@@ -0,0 +1,20 @@
1
+ import { BaseTag } from './base-tag.js';
2
+ export class WorkflowVarFieldTag extends BaseTag {
3
+ getTagName() {
4
+ return 'div';
5
+ }
6
+ getComponentName() {
7
+ return 'WorkflowVarField';
8
+ }
9
+ getAttributes(props) {
10
+ const { name, title, description, required, type, showIcon } = props;
11
+ return {
12
+ name,
13
+ title,
14
+ description,
15
+ required,
16
+ type,
17
+ showIcon,
18
+ };
19
+ }
20
+ }
@@ -0,0 +1,7 @@
1
+ import { BaseTag } from './base-tag.js';
2
+ export declare class WorkflowVarInputTag extends BaseTag {
3
+ getTagName(): string;
4
+ getComponentName(): string;
5
+ getAttributes(props: Record<string, any>): Record<string, any>;
6
+ }
7
+ //# sourceMappingURL=workflow-var-input-tag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-var-input-tag.d.ts","sourceRoot":"","sources":["../../../../src/runtime/reconciler/tags/workflow-var-input-tag.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAOvC,qBAAa,mBAAoB,SAAQ,OAAO;IAC9C,UAAU,IAAI,MAAM;IAIpB,gBAAgB,IAAI,MAAM;IAI1B,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAe/D"}
@@ -0,0 +1,22 @@
1
+ import { BaseTag } from './base-tag.js';
2
+ export class WorkflowVarInputTag extends BaseTag {
3
+ getTagName() {
4
+ return 'div';
5
+ }
6
+ getComponentName() {
7
+ return 'VarInputInternal';
8
+ }
9
+ getAttributes(props) {
10
+ const { name, type, placeholder, acceptsVariables, variableTypes, format, options, multiline } = props;
11
+ return {
12
+ name,
13
+ type,
14
+ placeholder,
15
+ acceptsVariables,
16
+ variableTypes,
17
+ format,
18
+ options,
19
+ multiline,
20
+ };
21
+ }
22
+ }
@@ -29,6 +29,15 @@ interface WorkflowBlock {
29
29
  }>;
30
30
  };
31
31
  };
32
+ layout?: Array<{
33
+ type: 'section';
34
+ title: string;
35
+ description?: string;
36
+ fields: string[];
37
+ collapsible?: boolean;
38
+ initialOpen?: boolean;
39
+ }>;
40
+ computeOutputs?: (inputs: Record<string, any>) => Record<string, any>;
32
41
  };
33
42
  config?: {
34
43
  canRunSingle?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/runtime/workflow.ts"],"names":[],"mappings":"AAEA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAkB/D,UAAU,aAAa;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAC5B,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,EAAE,KAAK,CAAC;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;YAC/C,OAAO,CAAC,EAAE,KAAK,CAAC;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAChD,CAAA;QACD,UAAU,CAAC,EAAE;YACX,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK;gBACtB,KAAK,EAAE,OAAO,CAAA;gBACd,MAAM,EAAE,KAAK,CAAC;oBAAE,KAAK,EAAE,MAAM,CAAC;oBAAC,OAAO,EAAE,MAAM,CAAC;oBAAC,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;iBAAE,CAAC,CAAA;aAC9E,CAAA;SACF,CAAA;KACF,CAAA;IACD,MAAM,CAAC,EAAE;QACP,YAAY,CAAC,EAAE,OAAO,CAAA;KACvB,CAAA;IACD,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CACvC;AAgWD,wBAAgB,iBAAiB,IAAI,aAAa,EAAE,CAuCnD"}
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/runtime/workflow.ts"],"names":[],"mappings":"AAEA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAkB/D,UAAU,aAAa;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAC5B,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,EAAE,KAAK,CAAC;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;YAC/C,OAAO,CAAC,EAAE,KAAK,CAAC;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAChD,CAAA;QACD,UAAU,CAAC,EAAE;YACX,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK;gBACtB,KAAK,EAAE,OAAO,CAAA;gBACd,MAAM,EAAE,KAAK,CAAC;oBAAE,KAAK,EAAE,MAAM,CAAC;oBAAC,OAAO,EAAE,MAAM,CAAC;oBAAC,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;iBAAE,CAAC,CAAA;aAC9E,CAAA;SACF,CAAA;QACD,MAAM,CAAC,EAAE,KAAK,CAAC;YACb,IAAI,EAAE,SAAS,CAAA;YACf,KAAK,EAAE,MAAM,CAAA;YACb,WAAW,CAAC,EAAE,MAAM,CAAA;YACpB,MAAM,EAAE,MAAM,EAAE,CAAA;YAChB,WAAW,CAAC,EAAE,OAAO,CAAA;YACrB,WAAW,CAAC,EAAE,OAAO,CAAA;SACtB,CAAC,CAAA;QACF,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KACtE,CAAA;IACD,MAAM,CAAC,EAAE;QACP,YAAY,CAAC,EAAE,OAAO,CAAA;KACvB,CAAA;IACD,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CACvC;AAyXD,wBAAgB,iBAAiB,IAAI,aAAa,EAAE,CA2CnD"}
@@ -14,6 +14,12 @@ function WorkflowPanelContainer({ blockId, nodeId, initialData, PanelComponent,
14
14
  const unsubscribe = Host.onRequest(`update-panel-data-${nodeId}`, handler);
15
15
  return unsubscribe;
16
16
  }, [nodeId]);
17
+ useEffect(() => {
18
+ const block = getWorkflowBlock(blockId);
19
+ if (block) {
20
+ evaluateComputeOutputs(block, nodeId, data);
21
+ }
22
+ }, [blockId, nodeId, data]);
17
23
  const updateData = useCallback((updates) => {
18
24
  setData((prev) => ({ ...prev, ...updates }));
19
25
  Host.sendMessage('workflow-node-data-update', { nodeId, data: updates });
@@ -200,6 +206,17 @@ function serializeNestedField(fieldJson, kind) {
200
206
  }
201
207
  return field;
202
208
  }
209
+ function resolveBlockIcon(icon) {
210
+ if (typeof icon !== 'string' || !icon)
211
+ return undefined;
212
+ if (icon.startsWith('url:') || icon.startsWith('base64:'))
213
+ return icon;
214
+ if (icon.startsWith('data:'))
215
+ return `base64:${icon}`;
216
+ if (icon.startsWith('http://') || icon.startsWith('https://'))
217
+ return `url:${icon}`;
218
+ return icon;
219
+ }
203
220
  export function getWorkflowBlocks() {
204
221
  const surfaces = SURFACES.getAll();
205
222
  const workflowBlockSurfaces = surfaces.filter((s) => s.type === 'workflow-block');
@@ -213,7 +230,7 @@ export function getWorkflowBlocks() {
213
230
  label: fullBlock.label,
214
231
  description: fullBlock.description,
215
232
  category: fullBlock.category,
216
- icon: fullBlock.icon,
233
+ icon: resolveBlockIcon(fullBlock.icon),
217
234
  color: fullBlock.color,
218
235
  config: fullBlock.config,
219
236
  };
@@ -222,8 +239,10 @@ export function getWorkflowBlocks() {
222
239
  inputs: serializeFields(fullBlock.schema.inputs || {}, 'input'),
223
240
  outputs: serializeFields(fullBlock.schema.outputs || {}, 'output'),
224
241
  handles: fullBlock.schema.handles || { sources: [], targets: [] },
242
+ layout: fullBlock.schema.layout,
225
243
  };
226
244
  }
245
+ metadata.hasPanel = !!fullBlock.panel;
227
246
  return metadata;
228
247
  })
229
248
  .filter(Boolean);
@@ -289,8 +308,10 @@ async function renderWorkflowPanel(blockId, nodeId, data) {
289
308
  }
290
309
  const PanelComponent = block.panel;
291
310
  if (!PanelComponent) {
311
+ const defaultPanel = generateDefaultPanel(block, data);
312
+ evaluateComputeOutputs(block, nodeId, data);
292
313
  return {
293
- component: generateDefaultPanel(block, data),
314
+ component: defaultPanel,
294
315
  };
295
316
  }
296
317
  const renderState = { isInitialRenderComplete: false };
@@ -336,13 +357,65 @@ function createDefaultNodeComponent(block, _data) {
336
357
  };
337
358
  }
338
359
  function generateDefaultPanel(block, _data) {
360
+ const serializedInputs = serializeFields(block.schema.inputs || {}, 'input');
361
+ const inputFields = Object.entries(serializedInputs);
362
+ if (inputFields.length === 0) {
363
+ return {
364
+ children: [{ instance_type: 'text', text: `Configure ${block.label}` }],
365
+ };
366
+ }
367
+ const layout = block.schema.layout || [
368
+ {
369
+ type: 'section',
370
+ title: 'Configuration',
371
+ fields: inputFields.map(([name]) => name),
372
+ },
373
+ ];
339
374
  return {
340
- children: [
341
- {
342
- instance_type: 'text',
343
- text: `Configure ${block.label}`,
375
+ children: layout.map((section) => ({
376
+ instance_type: 'instance',
377
+ component: 'WorkflowSection',
378
+ attributes: {
379
+ title: section.title,
380
+ description: section.description,
381
+ collapsible: section.collapsible,
382
+ defaultOpen: section.initialOpen ?? true,
344
383
  },
345
- ],
384
+ children: [
385
+ {
386
+ instance_type: 'instance',
387
+ component: 'WorkflowVarFieldGroup',
388
+ attributes: {},
389
+ children: section.fields
390
+ .map((fieldName) => {
391
+ const field = serializedInputs[fieldName];
392
+ if (!field)
393
+ return null;
394
+ return {
395
+ instance_type: 'instance',
396
+ component: 'WorkflowVarField',
397
+ attributes: {},
398
+ children: [
399
+ {
400
+ instance_type: 'instance',
401
+ component: 'VarInputInternal',
402
+ attributes: {
403
+ name: fieldName,
404
+ type: field.type,
405
+ placeholder: field.placeholder,
406
+ acceptsVariables: field.acceptsVariables,
407
+ variableTypes: field.variableTypes,
408
+ format: field.format,
409
+ options: field.options,
410
+ },
411
+ },
412
+ ],
413
+ };
414
+ })
415
+ .filter(Boolean),
416
+ },
417
+ ],
418
+ })),
346
419
  };
347
420
  }
348
421
  function cleanupWorkflowPanelRender(nodeId) {
@@ -351,6 +424,52 @@ function cleanupWorkflowPanelRender(nodeId) {
351
424
  function cleanupWorkflowNodeRender(nodeId) {
352
425
  activeNodeRenders.delete(nodeId);
353
426
  }
427
+ const computeOutputsTimers = new Map();
428
+ function evaluateComputeOutputs(block, nodeId, data) {
429
+ if (!block.schema?.computeOutputs)
430
+ return;
431
+ const existing = computeOutputsTimers.get(nodeId);
432
+ if (existing)
433
+ clearTimeout(existing);
434
+ computeOutputsTimers.set(nodeId, setTimeout(() => {
435
+ computeOutputsTimers.delete(nodeId);
436
+ try {
437
+ const computed = block.schema.computeOutputs(data);
438
+ if (computed && typeof computed === 'object') {
439
+ const serialized = serializeComputedOutputs(computed);
440
+ Host.sendMessage('workflow-block-outputs-updated', {
441
+ nodeId,
442
+ blockId: block.id,
443
+ outputs: serialized,
444
+ });
445
+ }
446
+ }
447
+ catch (err) {
448
+ console.error('[Workflow] computeOutputs error:', err);
449
+ }
450
+ }, 300));
451
+ }
452
+ function serializeComputedOutputs(outputs) {
453
+ const result = {};
454
+ for (const [key, fieldNode] of Object.entries(outputs)) {
455
+ if (fieldNode && typeof fieldNode.toJSON === 'function') {
456
+ const json = fieldNode.toJSON();
457
+ const metadata = json._metadata || {};
458
+ result[key] = {
459
+ name: key,
460
+ label: metadata.label || key,
461
+ type: json.type || 'any',
462
+ description: metadata.description,
463
+ required: metadata.required,
464
+ _fieldKind: 'output',
465
+ };
466
+ }
467
+ else if (fieldNode && typeof fieldNode === 'object' && fieldNode.type) {
468
+ result[key] = { name: key, ...fieldNode };
469
+ }
470
+ }
471
+ return result;
472
+ }
354
473
  Host.onRequest('get-workflow-blocks', async () => {
355
474
  const blocks = getWorkflowBlocks();
356
475
  return { blocks };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@auxx/sdk",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "description": "CLI tool and SDK for creating Auxx apps",
5
5
  "type": "module",
6
6
  "bin": {