@auxx/sdk 0.0.9 → 0.0.11

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 (75) hide show
  1. package/assets.d.ts +27 -0
  2. package/client.d.ts +2 -0
  3. package/global.d.ts +0 -6
  4. package/lib/build/server/generate-server-entry.js +2 -2
  5. package/lib/build/workflow-block-modules.js +5 -0
  6. package/lib/client/workflow/components/fields/var-input.d.ts +3 -1
  7. package/lib/client/workflow/components/fields/var-input.d.ts.map +1 -1
  8. package/lib/client/workflow/components/index.d.ts +1 -0
  9. package/lib/client/workflow/components/index.d.ts.map +1 -1
  10. package/lib/client/workflow/components/inputs/array-input.d.ts +13 -0
  11. package/lib/client/workflow/components/inputs/array-input.d.ts.map +1 -0
  12. package/lib/client/workflow/components/inputs/array-input.js +3 -0
  13. package/lib/client/workflow/hooks/index.d.ts +1 -0
  14. package/lib/client/workflow/hooks/index.d.ts.map +1 -1
  15. package/lib/client/workflow/hooks/use-array-item.d.ts +10 -0
  16. package/lib/client/workflow/hooks/use-array-item.d.ts.map +1 -0
  17. package/lib/client/workflow/hooks/use-array-item.js +3 -0
  18. package/lib/client/workflow/hooks/use-workflow.d.ts +27 -1
  19. package/lib/client/workflow/hooks/use-workflow.d.ts.map +1 -1
  20. package/lib/client/workflow/types/path-helpers.d.ts +3 -1
  21. package/lib/client/workflow/types/path-helpers.d.ts.map +1 -1
  22. package/lib/commands/build.js +8 -0
  23. package/lib/commands/dev/client-builder.js +9 -1
  24. package/lib/commands/dev/server-builder.js +9 -0
  25. package/lib/commands/dev.js +8 -0
  26. package/lib/commands/init/create-project.js +8 -0
  27. package/lib/print-errors.js +6 -3
  28. package/lib/root/schema/index.d.ts +1 -1
  29. package/lib/root/schema/index.d.ts.map +1 -1
  30. package/lib/root/schema/index.js +1 -1
  31. package/lib/root/schema/string-node.d.ts +2 -1
  32. package/lib/root/schema/string-node.d.ts.map +1 -1
  33. package/lib/root/schema/string-node.js +6 -0
  34. package/lib/root/workflow/base-node.js +3 -3
  35. package/lib/root/workflow/index.d.ts +12 -7
  36. package/lib/root/workflow/index.d.ts.map +1 -1
  37. package/lib/root/workflow/index.js +8 -4
  38. package/lib/root/workflow/input-nodes.d.ts +95 -29
  39. package/lib/root/workflow/input-nodes.d.ts.map +1 -1
  40. package/lib/root/workflow/input-nodes.js +96 -1
  41. package/lib/root/workflow/types.d.ts +21 -1
  42. package/lib/root/workflow/types.d.ts.map +1 -1
  43. package/lib/root/workflow/types.js +3 -0
  44. package/lib/runtime/reconciler/tags/index.d.ts +3 -0
  45. package/lib/runtime/reconciler/tags/index.d.ts.map +1 -1
  46. package/lib/runtime/reconciler/tags/index.js +9 -0
  47. package/lib/runtime/reconciler/tags/workflow-array-input-tag.d.ts +7 -0
  48. package/lib/runtime/reconciler/tags/workflow-array-input-tag.d.ts.map +1 -0
  49. package/lib/runtime/reconciler/tags/workflow-array-input-tag.js +13 -0
  50. package/lib/runtime/reconciler/tags/workflow-field-divider-tag.d.ts +7 -0
  51. package/lib/runtime/reconciler/tags/workflow-field-divider-tag.d.ts.map +1 -0
  52. package/lib/runtime/reconciler/tags/workflow-field-divider-tag.js +12 -0
  53. package/lib/runtime/reconciler/tags/workflow-field-row-tag.d.ts +7 -0
  54. package/lib/runtime/reconciler/tags/workflow-field-row-tag.d.ts.map +1 -0
  55. package/lib/runtime/reconciler/tags/workflow-field-row-tag.js +12 -0
  56. package/lib/runtime/reconciler/tags/workflow-var-input-tag.d.ts.map +1 -1
  57. package/lib/runtime/reconciler/tags/workflow-var-input-tag.js +4 -1
  58. package/lib/runtime/workflow.d.ts +1 -0
  59. package/lib/runtime/workflow.d.ts.map +1 -1
  60. package/lib/runtime/workflow.js +52 -30
  61. package/lib/server/webhooks.d.ts +3 -0
  62. package/lib/server/webhooks.d.ts.map +1 -1
  63. package/lib/server/workflow/index.d.ts +1 -0
  64. package/lib/server/workflow/index.d.ts.map +1 -1
  65. package/lib/shared/errors.d.ts +13 -0
  66. package/lib/shared/errors.d.ts.map +1 -1
  67. package/lib/shared/errors.js +15 -0
  68. package/lib/shared/index.d.ts +1 -1
  69. package/lib/shared/index.d.ts.map +1 -1
  70. package/lib/shared/index.js +1 -1
  71. package/lib/shared/validation.d.ts +6 -6
  72. package/lib/shared/validation.js +2 -2
  73. package/lib/util/generate-app-env-types.js +66 -0
  74. package/package.json +5 -1
  75. package/template/src/auxx-env.d.ts +4 -0
package/assets.d.ts ADDED
@@ -0,0 +1,27 @@
1
+ // packages/sdk/assets.d.ts
2
+
3
+ /** Allow importing image files — esbuild resolves them to base64 data URLs at build time. */
4
+ declare module '*.png' {
5
+ const content: string
6
+ export default content
7
+ }
8
+
9
+ declare module '*.jpg' {
10
+ const content: string
11
+ export default content
12
+ }
13
+
14
+ declare module '*.jpeg' {
15
+ const content: string
16
+ export default content
17
+ }
18
+
19
+ declare module '*.gif' {
20
+ const content: string
21
+ export default content
22
+ }
23
+
24
+ declare module '*.webp' {
25
+ const content: string
26
+ export default content
27
+ }
package/client.d.ts CHANGED
@@ -1,2 +1,4 @@
1
1
  // packages/sdk/client.d.ts
2
+ /// <reference path="./assets.d.ts" />
3
+ /// <reference path="./global.d.ts" />
2
4
  export * from './lib/client'
package/global.d.ts CHANGED
@@ -66,10 +66,4 @@ declare global {
66
66
  }
67
67
  }
68
68
 
69
- /** Allow importing PNG files — esbuild resolves them to base64 data URLs at build time. */
70
- declare module '*.png' {
71
- const content: string
72
- export default content
73
- }
74
-
75
69
  export {}
@@ -87,7 +87,7 @@ export async function generateServerEntry({ appDirAbsolute, srcDirAbsolute, webh
87
87
 
88
88
  for (const [blockId, handlers] of workflowModules.entries()) {
89
89
  __AUXX_WORKFLOW_BLOCKS__[blockId] = {
90
- execute: async (input) => {
90
+ execute: async (...args) => {
91
91
  const executeHandler = handlers.execute;
92
92
  if (!executeHandler) {
93
93
  throw new Error(\`No execute handler for block \${blockId}\`);
@@ -100,7 +100,7 @@ export async function generateServerEntry({ appDirAbsolute, srcDirAbsolute, webh
100
100
  if (typeof func !== "function") {
101
101
  throw new Error(\`Execute export in block \${blockId} is not a function\`);
102
102
  }
103
- return await func(input);
103
+ return await func(...args);
104
104
  }
105
105
  };
106
106
  }
@@ -30,6 +30,11 @@ export function extractObjectProperties(node) {
30
30
  if (value.type === 'Literal') {
31
31
  result[key] = value.value;
32
32
  }
33
+ else if (value.type === 'ObjectExpression') {
34
+ const nested = extractObjectProperties(value);
35
+ if (nested)
36
+ result[key] = nested;
37
+ }
33
38
  }
34
39
  return result;
35
40
  }
@@ -1,7 +1,7 @@
1
1
  import type React from 'react';
2
2
  export interface VarInputProps {
3
3
  name: string;
4
- type: string;
4
+ type?: string;
5
5
  placeholder?: string;
6
6
  acceptsVariables?: boolean;
7
7
  variableTypes?: string[];
@@ -12,6 +12,8 @@ export interface VarInputProps {
12
12
  })[];
13
13
  multiline?: boolean;
14
14
  expand?: boolean;
15
+ variant?: string;
16
+ loading?: boolean;
15
17
  }
16
18
  export declare const VarInput: React.FC<VarInputProps>;
17
19
  //# sourceMappingURL=var-input.d.ts.map
@@ -1 +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;IAMnB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAQD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAS5C,CAAA"}
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,CAAC,EAAE,MAAM,CAAA;IAEb,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;IAMnB,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAQD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAS5C,CAAA"}
@@ -1,3 +1,4 @@
1
+ export * from './inputs/array-input.js';
1
2
  export * from './inputs/boolean-input.js';
2
3
  export * from './inputs/number-input.js';
3
4
  export * from './inputs/select-input.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/workflow/components/index.ts"],"names":[],"mappings":"AAEA,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AAExC,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AAEvC,cAAc,qBAAqB,CAAA;AACnC,YAAY,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AACrF,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACtE,cAAc,oBAAoB,CAAA;AAClC,YAAY,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC1E,OAAO,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAE3D,cAAc,iCAAiC,CAAA;AAC/C,cAAc,6BAA6B,CAAA;AAE3C,cAAc,+BAA+B,CAAA;AAE7C,cAAc,oBAAoB,CAAA;AAClC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/workflow/components/index.ts"],"names":[],"mappings":"AAEA,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AAExC,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AAEvC,cAAc,qBAAqB,CAAA;AACnC,YAAY,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AACrF,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACtE,cAAc,oBAAoB,CAAA;AAClC,YAAY,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC1E,OAAO,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAE3D,cAAc,iCAAiC,CAAA;AAC/C,cAAc,6BAA6B,CAAA;AAE3C,cAAc,+BAA+B,CAAA;AAE7C,cAAc,oBAAoB,CAAA;AAClC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,13 @@
1
+ import type React from 'react';
2
+ export interface ArrayInputProps {
3
+ name: string;
4
+ label?: string;
5
+ minItems?: number;
6
+ maxItems?: number;
7
+ addLabel?: string;
8
+ addPosition?: 'top' | 'bottom';
9
+ canReorder?: boolean;
10
+ children: React.ReactNode;
11
+ }
12
+ export declare const ArrayInput: React.FC<ArrayInputProps>;
13
+ //# sourceMappingURL=array-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array-input.d.ts","sourceRoot":"","sources":["../../../../../src/client/workflow/components/inputs/array-input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,MAAM,WAAW,eAAe;IAE9B,IAAI,EAAE,MAAM,CAAA;IAGZ,KAAK,CAAC,EAAE,MAAM,CAAA;IAGd,QAAQ,CAAC,EAAE,MAAM,CAAA;IAGjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAGjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAGjB,WAAW,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;IAG9B,UAAU,CAAC,EAAE,OAAO,CAAA;IAGpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAMD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA4BhD,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // Implementation stripped - provided by runtime
@@ -1,3 +1,4 @@
1
+ export * from './use-array-item.js';
1
2
  export * from './use-variable.js';
2
3
  export * from './use-workflow.js';
3
4
  export * from './use-workflow-context.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/workflow/hooks/index.ts"],"names":[],"mappings":"AAEA,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/workflow/hooks/index.ts"],"names":[],"mappings":"AAEA,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA"}
@@ -0,0 +1,10 @@
1
+ export interface ArrayItemContextValue {
2
+ index: number;
3
+ isFirst: boolean;
4
+ isLast: boolean;
5
+ total: number;
6
+ remove: () => void;
7
+ }
8
+ export declare const ArrayItemContext: import("react").Context<ArrayItemContextValue | null>;
9
+ export declare function useArrayItem(): ArrayItemContextValue;
10
+ //# sourceMappingURL=use-array-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-array-item.d.ts","sourceRoot":"","sources":["../../../../src/client/workflow/hooks/use-array-item.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,qBAAqB;IAEpC,KAAK,EAAE,MAAM,CAAA;IAEb,OAAO,EAAE,OAAO,CAAA;IAEhB,MAAM,EAAE,OAAO,CAAA;IAEf,KAAK,EAAE,MAAM,CAAA;IAEb,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB;AAED,eAAO,MAAM,gBAAgB,uDAAoD,CAAA;AAmBjF,wBAAgB,YAAY,IAAI,qBAAqB,CAMpD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // Implementation stripped - provided by runtime
@@ -3,6 +3,7 @@ import type { InferWorkflowInput, WorkflowSchema } from '../../../root/workflow/
3
3
  import { type FieldRowProps } from '../components/fields/field-row.js';
4
4
  import { type VarFieldProps } from '../components/fields/var-field.js';
5
5
  import { type VarFieldGroupProps } from '../components/fields/var-field-group.js';
6
+ import { type ArrayInputProps } from '../components/inputs/array-input.js';
6
7
  import type { BooleanInputProps } from '../components/inputs/boolean-input.js';
7
8
  import type { NumberInputProps } from '../components/inputs/number-input.js';
8
9
  import type { SelectInputProps } from '../components/inputs/select-input.js';
@@ -13,20 +14,31 @@ import { type ConditionalRenderProps } from '../components/utility/conditional-r
13
14
  import type { PathToField } from '../types/path-helpers.js';
14
15
  export interface WorkflowStringInputProps<TSchema extends WorkflowSchema> extends Omit<StringInputProps, 'name' | 'value' | 'onChange'> {
15
16
  name: PathToField<TSchema['inputs'], 'string'>;
17
+ acceptsVariables?: boolean;
18
+ variableTypes?: string[];
16
19
  expand?: boolean;
17
20
  }
18
21
  export interface WorkflowNumberInputProps<TSchema extends WorkflowSchema> extends Omit<NumberInputProps, 'name' | 'value' | 'onChange'> {
19
22
  name: PathToField<TSchema['inputs'], 'number'>;
23
+ acceptsVariables?: boolean;
24
+ variableTypes?: string[];
20
25
  expand?: boolean;
21
26
  }
22
27
  export interface WorkflowBooleanInputProps<TSchema extends WorkflowSchema> extends Omit<BooleanInputProps, 'name' | 'value' | 'onChange'> {
23
28
  name: PathToField<TSchema['inputs'], 'boolean'>;
29
+ acceptsVariables?: boolean;
30
+ variableTypes?: string[];
24
31
  expand?: boolean;
25
32
  }
26
33
  export interface WorkflowSelectInputProps<TSchema extends WorkflowSchema> extends Omit<SelectInputProps, 'name' | 'value' | 'onChange'> {
27
34
  name: PathToField<TSchema['inputs'], 'select'>;
35
+ acceptsVariables?: boolean;
36
+ variableTypes?: string[];
28
37
  expand?: boolean;
29
38
  }
39
+ export interface WorkflowArrayInputProps<TSchema extends WorkflowSchema> extends Omit<ArrayInputProps, 'name'> {
40
+ name: PathToField<TSchema['inputs'], 'array'>;
41
+ }
30
42
  export interface WorkflowOptionsInputProps<TSchema extends WorkflowSchema> {
31
43
  name: PathToField<TSchema['inputs'], 'select'>;
32
44
  options?: readonly (string | {
@@ -34,11 +46,15 @@ export interface WorkflowOptionsInputProps<TSchema extends WorkflowSchema> {
34
46
  value: string;
35
47
  })[];
36
48
  placeholder?: string;
49
+ acceptsVariables?: boolean;
50
+ variableTypes?: string[];
37
51
  expand?: boolean;
52
+ variant?: 'transparent' | 'outline';
53
+ loading?: boolean;
38
54
  }
39
55
  export interface WorkflowVarInputProps {
40
56
  name: string;
41
- type: string;
57
+ type?: string;
42
58
  placeholder?: string;
43
59
  acceptsVariables?: boolean;
44
60
  variableTypes?: string[];
@@ -50,16 +66,26 @@ export interface WorkflowVarInputProps {
50
66
  multiline?: boolean;
51
67
  expand?: boolean;
52
68
  }
69
+ export interface WorkflowCurrencyInputProps<TSchema extends WorkflowSchema> {
70
+ name: PathToField<TSchema['inputs'], 'currency'>;
71
+ acceptsVariables?: boolean;
72
+ variableTypes?: string[];
73
+ expand?: boolean;
74
+ }
53
75
  export interface WorkflowConditionalRenderProps<TSchema extends WorkflowSchema> extends Omit<ConditionalRenderProps, 'data'> {
54
76
  when: (data: InferWorkflowInput<TSchema>) => boolean;
55
77
  }
56
78
  export interface UseWorkflowApi<TSchema extends WorkflowSchema> {
79
+ data: InferWorkflowInput<TSchema>;
80
+ updateData: (updates: Partial<InferWorkflowInput<TSchema>>) => void;
57
81
  VarInput: (props: WorkflowVarInputProps) => ReactElement;
58
82
  StringInput: (props: WorkflowStringInputProps<TSchema>) => ReactElement;
59
83
  NumberInput: (props: WorkflowNumberInputProps<TSchema>) => ReactElement;
60
84
  BooleanInput: (props: WorkflowBooleanInputProps<TSchema>) => ReactElement;
85
+ CurrencyInput: (props: WorkflowCurrencyInputProps<TSchema>) => ReactElement;
61
86
  SelectInput: (props: WorkflowSelectInputProps<TSchema>) => ReactElement;
62
87
  OptionsInput: (props: WorkflowOptionsInputProps<TSchema>) => ReactElement;
88
+ ArrayInput: (props: WorkflowArrayInputProps<TSchema>) => ReactElement;
63
89
  VarField: (props: VarFieldProps) => ReactElement;
64
90
  VarFieldGroup: (props: VarFieldGroupProps) => ReactElement;
65
91
  FieldRow: (props: FieldRowProps) => ReactElement;
@@ -1 +1 @@
1
- {"version":3,"file":"use-workflow.d.ts","sourceRoot":"","sources":["../../../../src/client/workflow/hooks/use-workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-workflow.d.ts","sourceRoot":"","sources":["../../../../src/client/workflow/hooks/use-workflow.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { WorkflowFieldNode } from '../../../root/workflow/base-node.js';
2
+ import type { WorkflowArrayNode, WorkflowStructNode } from '../../../root/workflow/input-nodes.js';
2
3
  type Depth = 0 | 1 | 2 | 3 | 4 | 5;
3
4
  type PrevDepth = {
4
5
  0: 0;
@@ -17,8 +18,9 @@ type PathToInner<T, TType extends string, D extends Depth> = {
17
18
  }[Extract<keyof T, string>];
18
19
  export type PathTo<T, TType extends string, MaxDepth extends Depth = 5> = PathToInner<T, TType, MaxDepth>;
19
20
  type IsFieldNodeOfType<V, TT extends string> = V extends WorkflowFieldNode<infer U, any, any> ? U extends TT ? TT extends U ? true : false : false : false;
21
+ type StructFieldNames<V, TType extends string> = V extends WorkflowArrayNode<infer TItem> ? TItem extends WorkflowStructNode<infer TFields> ? PathToFieldInner<TFields, TType, 3> : never : never;
20
22
  type PathToFieldInner<T, TType extends string, D extends Depth> = {
21
- [K in Extract<keyof T, string>]: IsFieldNodeOfType<T[K], TType> extends true ? K : D extends 0 ? never : PlainObject<T[K]> extends true ? `${K}.${PathToFieldInner<T[K], TType, PrevDepth[D]>}` : never;
23
+ [K in Extract<keyof T, string>]: IsFieldNodeOfType<T[K], TType> extends true ? K : T[K] extends WorkflowFieldNode ? StructFieldNames<T[K], TType> : D extends 0 ? never : PlainObject<T[K]> extends true ? `${K}.${PathToFieldInner<T[K], TType, PrevDepth[D]>}` : never;
22
24
  }[Extract<keyof T, string>];
23
25
  export type PathToField<T, TType extends string, MaxDepth extends Depth = 5> = PathToFieldInner<T, TType, MaxDepth>;
24
26
  export type ValueAtPath<T, TPath extends string> = TPath extends `${infer K}.${infer Rest}` ? K extends keyof T ? ValueAtPath<T[K], Rest> : never : TPath extends keyof T ? T[TPath] : never;
@@ -1 +1 @@
1
- {"version":3,"file":"path-helpers.d.ts","sourceRoot":"","sources":["../../../../src/client/workflow/types/path-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"path-helpers.d.ts","sourceRoot":"","sources":["../../../../src/client/workflow/types/path-helpers.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { Command } from 'commander';
3
3
  import { isErrored } from '../errors.js';
4
4
  import { ensureAppEntryPoint } from '../util/ensure-app-entry-point.js';
5
5
  import { printJsError, printTsError } from '../util/error-reporting.js';
6
+ import { generateAppEnvTypes } from '../util/generate-app-env-types.js';
6
7
  import { hardExit } from '../util/hard-exit.js';
7
8
  import { spinnerify } from '../util/spinner.js';
8
9
  import { buildJavaScript } from './build/build-javascript.js';
@@ -16,6 +17,13 @@ export const build = new Command('build')
16
17
  hardExit(`Could not find app entry point at ${entryPointResult.error}\n` +
17
18
  ` Make sure you have a src/index.ts file in your project.`);
18
19
  }
20
+ const appEnvTypesResult = await generateAppEnvTypes();
21
+ if (isErrored(appEnvTypesResult)) {
22
+ process.stderr.write(chalk.yellow(`⚠ Could not generate src/auxx-env.d.ts at ${appEnvTypesResult.error.path}. TypeScript image imports may show warnings.\n`));
23
+ }
24
+ else if (appEnvTypesResult.value === 'skipped_unmanaged') {
25
+ process.stderr.write(chalk.yellow('⚠ Skipping src/auxx-env.d.ts generation because the existing file is unmanaged.\n'));
26
+ }
19
27
  const tsResult = await spinnerify('Validating TypeScript...', 'TypeScript validation passed', validateTypeScript);
20
28
  if (isErrored(tsResult)) {
21
29
  if (tsResult.error.code === 'VALIDATE_TYPESCRIPT_ERROR') {
@@ -40,7 +40,15 @@ export class ClientBuilder {
40
40
  },
41
41
  write: mode === 'write-to-disk',
42
42
  outfile,
43
- loader: { '.png': 'dataurl', '.graphql': 'text', '.gql': 'text' },
43
+ loader: {
44
+ '.png': 'dataurl',
45
+ '.jpg': 'dataurl',
46
+ '.jpeg': 'dataurl',
47
+ '.gif': 'dataurl',
48
+ '.webp': 'dataurl',
49
+ '.graphql': 'text',
50
+ '.gql': 'text',
51
+ },
44
52
  });
45
53
  return complete(new ClientBuilder({ esbuildContext, tempFile, workflowBlockModulesRef, directories }));
46
54
  }
@@ -22,6 +22,15 @@ export class ServerBuilder {
22
22
  ...createServerBuildConfig(tempFile.path),
23
23
  write: mode === 'write-to-disk',
24
24
  outfile,
25
+ loader: {
26
+ '.png': 'dataurl',
27
+ '.jpg': 'dataurl',
28
+ '.jpeg': 'dataurl',
29
+ '.gif': 'dataurl',
30
+ '.webp': 'dataurl',
31
+ '.graphql': 'text',
32
+ '.gql': 'text',
33
+ },
25
34
  });
26
35
  return complete(new ServerBuilder({ esbuildContext, tempFile, directories }));
27
36
  }
@@ -9,6 +9,7 @@ import { isErrored } from '../errors.js';
9
9
  import { printUploadError } from '../print-errors.js';
10
10
  import { addAuxxHiddenDirectoryToTsConfig } from '../util/add-auxx-hidden-directory-to-ts-config.js';
11
11
  import { ensureAppEntryPoint } from '../util/ensure-app-entry-point.js';
12
+ import { generateAppEnvTypes } from '../util/generate-app-env-types.js';
12
13
  import { generateGitignore } from '../util/generate-gitignore.js';
13
14
  import { generateSettingsFiles } from '../util/generate-settings-files.js';
14
15
  import { hardExit } from '../util/hard-exit.js';
@@ -61,6 +62,13 @@ export const dev = new Command('dev')
61
62
  }
62
63
  }
63
64
  await generateGitignore();
65
+ const appEnvTypesResult = await generateAppEnvTypes();
66
+ if (isErrored(appEnvTypesResult)) {
67
+ process.stderr.write(chalk.yellow(`Failed to generate src/auxx-env.d.ts at ${appEnvTypesResult.error.path}. TypeScript image imports may show warnings.\n`));
68
+ }
69
+ else if (appEnvTypesResult.value === 'skipped_unmanaged') {
70
+ process.stderr.write(chalk.yellow('Skipping src/auxx-env.d.ts generation because the existing file is unmanaged. Add imports for @auxx/sdk/client and @auxx/sdk/global manually.\n'));
71
+ }
64
72
  if (USE_SETTINGS) {
65
73
  const updateTsconfigResult = await addAuxxHiddenDirectoryToTsConfig();
66
74
  if (isErrored(updateTsconfigResult)) {
@@ -5,6 +5,7 @@ import { fileURLToPath } from 'url';
5
5
  import { complete, errored, isErrored } from '../../errors.js';
6
6
  import { copyWithTransform } from '../../util/copy-with-transform.js';
7
7
  import { createDirectory } from '../../util/create-directory.js';
8
+ import { generateAppEnvTypes } from '../../util/generate-app-env-types.js';
8
9
  import { spinnerify } from '../../util/spinner.js';
9
10
  export async function createProject({ appSlug, appInfo }) {
10
11
  return await spinnerify('Creating project...', 'Project created successfully', async () => {
@@ -38,6 +39,13 @@ export async function createProject({ appSlug, appInfo }) {
38
39
  if (isErrored(result)) {
39
40
  return result;
40
41
  }
42
+ const appEnvTypesResult = await generateAppEnvTypes(projectDir);
43
+ if (isErrored(appEnvTypesResult)) {
44
+ return errored({
45
+ code: 'COPY_ERROR',
46
+ error: new Error(`Failed to generate auxx env types: ${appEnvTypesResult.error.path}`),
47
+ });
48
+ }
41
49
  return complete(undefined);
42
50
  });
43
51
  }
@@ -5,13 +5,16 @@ export function printFetcherError(message, { error }) {
5
5
  const fetcherError = error;
6
6
  switch (fetcherError.code) {
7
7
  case 'HTTP_ERROR':
8
- process.stderr.write(`HTTP Error (${fetcherError.status}): ${fetcherError}\n`);
8
+ process.stderr.write(`HTTP Error (${fetcherError.status}): ${fetcherError.statusText}${fetcherError.body ? `\n${fetcherError.body}` : ''}\n`);
9
9
  break;
10
10
  case 'INVALID_RESPONSE':
11
- process.stderr.write(`Invalid response: ${fetcherError}\n`);
11
+ process.stderr.write(`Invalid response: ${fetcherError.error?.message ?? fetcherError}\n`);
12
+ break;
13
+ case 'VALIDATION_ERROR':
14
+ process.stderr.write(`Validation error: ${fetcherError.error?.message ?? fetcherError}\n`);
12
15
  break;
13
16
  case 'NETWORK_ERROR':
14
- process.stderr.write(`Network error: ${fetcherError}\n`);
17
+ process.stderr.write(`Network error: ${fetcherError.error?.message ?? 'Unknown error'}\n`);
15
18
  break;
16
19
  case 'UNAUTHORIZED':
17
20
  process.stderr.write(`Unauthorized. You must log in with "auxx login"\n`);
@@ -3,7 +3,7 @@ export { BaseSchemaNode, type BaseSchemaOptions } from './base-node.js';
3
3
  export { type BooleanSchemaOptions, boolean, SchemaBooleanNode } from './boolean-node.js';
4
4
  export { type NumberSchemaOptions, number, SchemaNumberNode } from './number-node.js';
5
5
  export { SchemaSelectNode, type SelectOption, type SelectSchemaOptions, select, } from './select-node.js';
6
- export { date, datetime, email, SchemaStringNode, type StringFormat, type StringSchemaOptions, string, time, url, } from './string-node.js';
6
+ export { date, datetime, email, phone, SchemaStringNode, type StringFormat, type StringSchemaOptions, string, time, url, } from './string-node.js';
7
7
  export { SchemaStructNode, type StructSchemaOptions, struct } from './struct-node.js';
8
8
  import type { SchemaArrayNode } from './array-node.js';
9
9
  import type { SchemaBooleanNode } from './boolean-node.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/root/schema/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjF,OAAO,EAAE,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,EAAE,KAAK,oBAAoB,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACzF,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAErF,OAAO,EACL,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,MAAM,GACP,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,MAAM,EACN,IAAI,EACJ,GAAG,GACJ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAErF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAKxD,MAAM,MAAM,UAAU,GAClB,gBAAgB,GAChB,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/root/schema/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjF,OAAO,EAAE,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,EAAE,KAAK,oBAAoB,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACzF,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAErF,OAAO,EACL,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,MAAM,GACP,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,KAAK,EACL,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,MAAM,EACN,IAAI,EACJ,GAAG,GACJ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAErF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAKxD,MAAM,MAAM,UAAU,GAClB,gBAAgB,GAChB,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,eAAe,CAAA"}
@@ -3,5 +3,5 @@ export { BaseSchemaNode } from './base-node.js';
3
3
  export { boolean, SchemaBooleanNode } from './boolean-node.js';
4
4
  export { number, SchemaNumberNode } from './number-node.js';
5
5
  export { SchemaSelectNode, select, } from './select-node.js';
6
- export { date, datetime, email, SchemaStringNode, string, time, url, } from './string-node.js';
6
+ export { date, datetime, email, phone, SchemaStringNode, string, time, url, } from './string-node.js';
7
7
  export { SchemaStructNode, struct } from './struct-node.js';
@@ -1,5 +1,5 @@
1
1
  import { BaseSchemaNode, type BaseSchemaOptions } from './base-node.js';
2
- export type StringFormat = 'date' | 'datetime' | 'time' | 'email' | 'url' | 'uri';
2
+ export type StringFormat = 'date' | 'datetime' | 'time' | 'email' | 'url' | 'uri' | 'phone';
3
3
  export interface StringSchemaOptions extends BaseSchemaOptions {
4
4
  default?: string;
5
5
  minLength?: number;
@@ -18,4 +18,5 @@ export declare function datetime(options?: Omit<StringSchemaOptions, 'format'>):
18
18
  export declare function time(options?: Omit<StringSchemaOptions, 'format'>): SchemaStringNode;
19
19
  export declare function email(options?: Omit<StringSchemaOptions, 'format'>): SchemaStringNode;
20
20
  export declare function url(options?: Omit<StringSchemaOptions, 'format'>): SchemaStringNode;
21
+ export declare function phone(options?: Omit<StringSchemaOptions, 'format'>): SchemaStringNode;
21
22
  //# sourceMappingURL=string-node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"string-node.d.ts","sourceRoot":"","sources":["../../../src/root/schema/string-node.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAKvE,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,UAAU,GACV,MAAM,GACN,OAAO,GACP,KAAK,GACL,KAAK,CAAA;AAKT,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAE5D,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,MAAM,CAAC,EAAE,YAAY,CAAA;CACtB;AAKD,qBAAa,gBAAiB,SAAQ,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,CAAC;IACzF,IAAI,IAAI,IAAI,QAAQ,CAEnB;IAKD,QAAQ,IAAI,gBAAgB;CAM7B;AAkBD,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,gBAAgB,CAEtE;AAgBD,wBAAgB,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAKpF;AAeD,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAKxF;AAeD,wBAAgB,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAKpF;AAeD,wBAAgB,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAKrF;AAeD,wBAAgB,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAKnF"}
1
+ {"version":3,"file":"string-node.d.ts","sourceRoot":"","sources":["../../../src/root/schema/string-node.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAKvE,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,UAAU,GACV,MAAM,GACN,OAAO,GACP,KAAK,GACL,KAAK,GACL,OAAO,CAAA;AAKX,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAE5D,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,MAAM,CAAC,EAAE,YAAY,CAAA;CACtB;AAKD,qBAAa,gBAAiB,SAAQ,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,CAAC;IACzF,IAAI,IAAI,IAAI,QAAQ,CAEnB;IAKD,QAAQ,IAAI,gBAAgB;CAM7B;AAkBD,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,gBAAgB,CAEtE;AAgBD,wBAAgB,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAKpF;AAeD,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAKxF;AAeD,wBAAgB,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAKpF;AAeD,wBAAgB,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAKrF;AAeD,wBAAgB,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAKnF;AAeD,wBAAgB,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAKrF"}
@@ -43,3 +43,9 @@ export function url(options) {
43
43
  format: 'url',
44
44
  });
45
45
  }
46
+ export function phone(options) {
47
+ return new SchemaStringNode({
48
+ ...options,
49
+ format: 'phone',
50
+ });
51
+ }
@@ -1,7 +1,7 @@
1
1
  import { BaseSchemaNode } from '../schema/base-node.js';
2
2
  export class WorkflowFieldNode extends BaseSchemaNode {
3
3
  get acceptsVariables() {
4
- return this._options.acceptsVariables === true;
4
+ return this._options.acceptsVariables !== false;
5
5
  }
6
6
  get variableTypes() {
7
7
  return this._options.variableTypes;
@@ -10,8 +10,8 @@ export class WorkflowFieldNode extends BaseSchemaNode {
10
10
  const base = super.toJSON();
11
11
  const { acceptsVariables, variableTypes } = this._options;
12
12
  const result = { ...base };
13
- if (acceptsVariables === true) {
14
- result.acceptsVariables = true;
13
+ if (acceptsVariables !== undefined) {
14
+ result.acceptsVariables = acceptsVariables;
15
15
  }
16
16
  if (variableTypes !== undefined && variableTypes.length > 0) {
17
17
  result.variableTypes = variableTypes;
@@ -3,12 +3,12 @@ export type { InputOf, OutputOf, SchemaOf } from './utils.js';
3
3
  import { type BaseWorkflowFieldOptions, WorkflowFieldNode } from './base-node.js';
4
4
  export { WorkflowFieldNode, type BaseWorkflowFieldOptions };
5
5
  export type { SelectOption } from '../schema/select-node.js';
6
- import { WorkflowArrayNode, WorkflowBooleanNode, WorkflowNumberNode, WorkflowSelectNode, WorkflowStringNode, WorkflowStructNode } from './input-nodes.js';
7
- export type { ArrayInputOptions, BooleanInputOptions, NumberInputOptions, SelectInputOptions, StringInputOptions, StructInputOptions, } from './input-nodes.js';
8
- export { WorkflowStringNode, WorkflowNumberNode, WorkflowBooleanNode, WorkflowSelectNode, WorkflowArrayNode, WorkflowStructNode, };
9
- import { date, datetime, email, type StringFormat, time, url } from '../schema/index.js';
6
+ import { WorkflowArrayNode, WorkflowBooleanNode, WorkflowCurrencyNode, type WorkflowFileData, WorkflowFileNode, WorkflowNumberNode, WorkflowObjectNode, WorkflowSecretNode, WorkflowSelectNode, WorkflowStringNode, WorkflowStructNode } from './input-nodes.js';
7
+ export type { ArrayInputOptions, BooleanInputOptions, CurrencyInputOptions, FileInputOptions, NumberInputOptions, ObjectInputOptions, SecretInputOptions, SelectInputOptions, StringInputOptions, StructInputOptions, WorkflowFileData, WorkflowStringFormat, } from './input-nodes.js';
8
+ export { WorkflowStringNode, WorkflowNumberNode, WorkflowBooleanNode, WorkflowSelectNode, WorkflowArrayNode, WorkflowStructNode, WorkflowObjectNode, WorkflowCurrencyNode, WorkflowSecretNode, WorkflowFileNode, };
9
+ import type { StringFormat } from '../schema/index.js';
10
10
  import { AuxxRuleReference, auxxRule, WorkflowAuxxRuleNode } from './auxx-rule-node.js';
11
- import { array, boolean, number, select, string, struct } from './input-nodes.js';
11
+ import { array, boolean, currency, date, datetime, email, file, number, object, phone, secret, select, string, struct, time, url } from './input-nodes.js';
12
12
  export { auxxRule, AuxxRuleReference, WorkflowAuxxRuleNode };
13
13
  export type { AuxxRuleWorkflowFieldOptions } from './auxx-rule-node.js';
14
14
  export { createMockTransformationContext } from './values/mock-context.js';
@@ -23,13 +23,18 @@ export declare const Workflow: {
23
23
  readonly time: typeof time;
24
24
  readonly email: typeof email;
25
25
  readonly url: typeof url;
26
+ readonly phone: typeof phone;
26
27
  readonly select: typeof select;
27
28
  readonly array: typeof array;
28
29
  readonly struct: typeof struct;
30
+ readonly object: typeof object;
31
+ readonly currency: typeof currency;
32
+ readonly secret: typeof secret;
33
+ readonly file: typeof file;
29
34
  };
30
35
  export type { StringFormat };
31
- export type WorkflowNode = WorkflowStringNode | WorkflowNumberNode | WorkflowBooleanNode | WorkflowSelectNode | WorkflowArrayNode | WorkflowStructNode | WorkflowAuxxRuleNode;
32
- export type InferFieldType<T> = T extends WorkflowStringNode ? string : T extends WorkflowNumberNode ? number : T extends WorkflowBooleanNode ? boolean : T extends WorkflowSelectNode<infer TOptions> ? TOptions extends readonly (infer U)[] ? U extends string ? U : U extends {
36
+ export type WorkflowNode = WorkflowStringNode | WorkflowNumberNode | WorkflowBooleanNode | WorkflowSelectNode | WorkflowArrayNode | WorkflowStructNode | WorkflowObjectNode | WorkflowCurrencyNode | WorkflowSecretNode | WorkflowFileNode | WorkflowAuxxRuleNode;
37
+ export type InferFieldType<T> = T extends WorkflowStringNode ? string : T extends WorkflowNumberNode ? number : T extends WorkflowBooleanNode ? boolean : T extends WorkflowObjectNode ? Record<string, unknown> : T extends WorkflowCurrencyNode ? number : T extends WorkflowSecretNode ? string : T extends WorkflowFileNode ? WorkflowFileData | WorkflowFileData[] : T extends WorkflowSelectNode<infer TOptions> ? TOptions extends readonly (infer U)[] ? U extends string ? U : U extends {
33
38
  value: infer V;
34
39
  } ? V : string : string : T extends WorkflowArrayNode<infer TItem> ? InferFieldType<TItem>[] : T extends WorkflowStructNode<infer TFields> ? {
35
40
  [K in keyof TFields]: InferFieldType<TFields[K]>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/root/workflow/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/root/workflow/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
1
  export * from './types.js';
2
2
  import { WorkflowFieldNode } from './base-node.js';
3
3
  export { WorkflowFieldNode };
4
- import { WorkflowArrayNode, WorkflowBooleanNode, WorkflowNumberNode, WorkflowSelectNode, WorkflowStringNode, WorkflowStructNode, } from './input-nodes.js';
5
- export { WorkflowStringNode, WorkflowNumberNode, WorkflowBooleanNode, WorkflowSelectNode, WorkflowArrayNode, WorkflowStructNode, };
6
- import { date, datetime, email, time, url } from '../schema/index.js';
4
+ import { WorkflowArrayNode, WorkflowBooleanNode, WorkflowCurrencyNode, WorkflowFileNode, WorkflowNumberNode, WorkflowObjectNode, WorkflowSecretNode, WorkflowSelectNode, WorkflowStringNode, WorkflowStructNode, } from './input-nodes.js';
5
+ export { WorkflowStringNode, WorkflowNumberNode, WorkflowBooleanNode, WorkflowSelectNode, WorkflowArrayNode, WorkflowStructNode, WorkflowObjectNode, WorkflowCurrencyNode, WorkflowSecretNode, WorkflowFileNode, };
7
6
  import { AuxxRuleReference, auxxRule, WorkflowAuxxRuleNode } from './auxx-rule-node.js';
8
- import { array, boolean, number, select, string, struct } from './input-nodes.js';
7
+ import { array, boolean, currency, date, datetime, email, file, number, object, phone, secret, select, string, struct, time, url, } from './input-nodes.js';
9
8
  export { auxxRule, AuxxRuleReference, WorkflowAuxxRuleNode };
10
9
  export { createMockTransformationContext } from './values/mock-context.js';
11
10
  export { deserializeSchemaValues, serializeSchemaValues, transformSchemaToConfig, transformSchemaToRuntime, } from './values/transform.js';
@@ -18,7 +17,12 @@ export const Workflow = {
18
17
  time,
19
18
  email,
20
19
  url,
20
+ phone,
21
21
  select,
22
22
  array,
23
23
  struct,
24
+ object,
25
+ currency,
26
+ secret,
27
+ file,
24
28
  };