@octaviaflow/flow-rules 0.17.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/catalog/storage/csv-action/config.d.ts +2 -2
- package/dist/catalog/storage/excel-action/config.d.ts +2 -2
- package/dist/catalog/storage/fileEditContract.d.ts +2 -2
- package/dist/catalog/storage/fileHelp.d.ts +51 -0
- package/dist/catalog/storage/json-action/config.d.ts +2 -2
- package/dist/catalog/storage/xml-action/config.d.ts +2 -2
- package/dist/index.cjs +51 -19
- package/dist/index.d.ts +1 -0
- package/dist/index.js +51 -19
- package/package.json +1 -1
|
@@ -66,7 +66,7 @@ export declare const CsvActionConfig: {
|
|
|
66
66
|
readonly type: "select";
|
|
67
67
|
readonly required: false;
|
|
68
68
|
readonly options: readonly import("../fileEditContract").FileEditDestination[];
|
|
69
|
-
readonly description: "\"new\" writes an edited copy (default); \"in_place\" overwrites
|
|
69
|
+
readonly description: "\"new\" writes an edited copy (default); \"in_place\" overwrites the source file";
|
|
70
70
|
};
|
|
71
71
|
outputFileName: {
|
|
72
72
|
readonly type: "string";
|
|
@@ -82,7 +82,7 @@ export declare const CsvActionConfig: {
|
|
|
82
82
|
s3Key: {
|
|
83
83
|
readonly type: "string";
|
|
84
84
|
readonly required: false;
|
|
85
|
-
readonly description: "source \"s3\":
|
|
85
|
+
readonly description: "source \"s3\": an earlier step's file (its s3Key output) to edit";
|
|
86
86
|
};
|
|
87
87
|
url: {
|
|
88
88
|
readonly type: "url";
|
|
@@ -67,7 +67,7 @@ export declare const ExcelActionConfig: {
|
|
|
67
67
|
readonly type: "select";
|
|
68
68
|
readonly required: false;
|
|
69
69
|
readonly options: readonly import("../fileEditContract").FileEditDestination[];
|
|
70
|
-
readonly description: "\"new\" writes an edited copy (default); \"in_place\" overwrites
|
|
70
|
+
readonly description: "\"new\" writes an edited copy (default); \"in_place\" overwrites the source file";
|
|
71
71
|
};
|
|
72
72
|
outputFileName: {
|
|
73
73
|
readonly type: "string";
|
|
@@ -83,7 +83,7 @@ export declare const ExcelActionConfig: {
|
|
|
83
83
|
s3Key: {
|
|
84
84
|
readonly type: "string";
|
|
85
85
|
readonly required: false;
|
|
86
|
-
readonly description: "source \"s3\":
|
|
86
|
+
readonly description: "source \"s3\": an earlier step's file (its s3Key output) to edit";
|
|
87
87
|
};
|
|
88
88
|
url: {
|
|
89
89
|
readonly type: "url";
|
|
@@ -90,7 +90,7 @@ export declare const FILE_EDIT_SCHEMA: {
|
|
|
90
90
|
readonly type: "select";
|
|
91
91
|
readonly required: false;
|
|
92
92
|
readonly options: readonly FileEditDestination[];
|
|
93
|
-
readonly description: "\"new\" writes an edited copy (default); \"in_place\" overwrites
|
|
93
|
+
readonly description: "\"new\" writes an edited copy (default); \"in_place\" overwrites the source file";
|
|
94
94
|
};
|
|
95
95
|
readonly outputFileName: {
|
|
96
96
|
readonly type: "string";
|
|
@@ -106,7 +106,7 @@ export declare const FILE_EDIT_SCHEMA: {
|
|
|
106
106
|
readonly s3Key: {
|
|
107
107
|
readonly type: "string";
|
|
108
108
|
readonly required: false;
|
|
109
|
-
readonly description: "source \"s3\":
|
|
109
|
+
readonly description: "source \"s3\": an earlier step's file (its s3Key output) to edit";
|
|
110
110
|
};
|
|
111
111
|
readonly url: {
|
|
112
112
|
readonly type: "url";
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/** Help for the fields a file step outputs, keyed by field name. */
|
|
2
|
+
export declare const FILE_OUTPUT_HELP: {
|
|
3
|
+
readonly operation: "The operation that ran";
|
|
4
|
+
readonly data: "File contents, for text files such as CSV, JSON or TXT";
|
|
5
|
+
readonly s3Key: "The file itself, for PDF, Excel, images and other non-text files. Pass it to Excel, CSV, IDP or an Upload step.";
|
|
6
|
+
readonly fileName: "File name";
|
|
7
|
+
readonly mimeType: "File type, e.g. text/csv or application/pdf";
|
|
8
|
+
readonly path: "Where the file was read from";
|
|
9
|
+
};
|
|
10
|
+
/** Help for an input that takes text or a file from an earlier step. */
|
|
11
|
+
export declare const FILE_INPUT_HELP: {
|
|
12
|
+
/** Upload content: blank takes the file the step before produced. */
|
|
13
|
+
readonly uploadContent: "Leave blank to upload the file from the step before, or pick a value from an earlier step, or type the content.";
|
|
14
|
+
/** A format action's input (CSV / JSON / XML). */
|
|
15
|
+
readonly formatContent: (format: string) => string;
|
|
16
|
+
/** The Excel action's input. */
|
|
17
|
+
readonly excelContent: "The Excel file from an earlier step (a download or a generated file).";
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* The output of a Storage `download`, as a JSON Schema. The editor stores it on
|
|
21
|
+
* the step so Data References shows bindable fields before the first run.
|
|
22
|
+
*/
|
|
23
|
+
export declare const STORAGE_DOWNLOAD_OUTPUT_SCHEMA: {
|
|
24
|
+
readonly type: "object";
|
|
25
|
+
readonly properties: {
|
|
26
|
+
readonly operation: {
|
|
27
|
+
readonly type: "string";
|
|
28
|
+
readonly description: "The operation that ran";
|
|
29
|
+
};
|
|
30
|
+
readonly data: {
|
|
31
|
+
readonly type: "string";
|
|
32
|
+
readonly description: "File contents, for text files such as CSV, JSON or TXT";
|
|
33
|
+
};
|
|
34
|
+
readonly s3Key: {
|
|
35
|
+
readonly type: "string";
|
|
36
|
+
readonly description: "The file itself, for PDF, Excel, images and other non-text files. Pass it to Excel, CSV, IDP or an Upload step.";
|
|
37
|
+
};
|
|
38
|
+
readonly fileName: {
|
|
39
|
+
readonly type: "string";
|
|
40
|
+
readonly description: "File name";
|
|
41
|
+
};
|
|
42
|
+
readonly mimeType: {
|
|
43
|
+
readonly type: "string";
|
|
44
|
+
readonly description: "File type, e.g. text/csv or application/pdf";
|
|
45
|
+
};
|
|
46
|
+
readonly path: {
|
|
47
|
+
readonly type: "string";
|
|
48
|
+
readonly description: "Where the file was read from";
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
};
|
|
@@ -66,7 +66,7 @@ export declare const JsonActionConfig: {
|
|
|
66
66
|
readonly type: "select";
|
|
67
67
|
readonly required: false;
|
|
68
68
|
readonly options: readonly import("../fileEditContract").FileEditDestination[];
|
|
69
|
-
readonly description: "\"new\" writes an edited copy (default); \"in_place\" overwrites
|
|
69
|
+
readonly description: "\"new\" writes an edited copy (default); \"in_place\" overwrites the source file";
|
|
70
70
|
};
|
|
71
71
|
outputFileName: {
|
|
72
72
|
readonly type: "string";
|
|
@@ -82,7 +82,7 @@ export declare const JsonActionConfig: {
|
|
|
82
82
|
s3Key: {
|
|
83
83
|
readonly type: "string";
|
|
84
84
|
readonly required: false;
|
|
85
|
-
readonly description: "source \"s3\":
|
|
85
|
+
readonly description: "source \"s3\": an earlier step's file (its s3Key output) to edit";
|
|
86
86
|
};
|
|
87
87
|
url: {
|
|
88
88
|
readonly type: "url";
|
|
@@ -64,7 +64,7 @@ export declare const XmlActionConfig: {
|
|
|
64
64
|
readonly type: "select";
|
|
65
65
|
readonly required: false;
|
|
66
66
|
readonly options: readonly import("../fileEditContract").FileEditDestination[];
|
|
67
|
-
readonly description: "\"new\" writes an edited copy (default); \"in_place\" overwrites
|
|
67
|
+
readonly description: "\"new\" writes an edited copy (default); \"in_place\" overwrites the source file";
|
|
68
68
|
};
|
|
69
69
|
outputFileName: {
|
|
70
70
|
readonly type: "string";
|
|
@@ -80,7 +80,7 @@ export declare const XmlActionConfig: {
|
|
|
80
80
|
s3Key: {
|
|
81
81
|
readonly type: "string";
|
|
82
82
|
readonly required: false;
|
|
83
|
-
readonly description: "source \"s3\":
|
|
83
|
+
readonly description: "source \"s3\": an earlier step's file (its s3Key output) to edit";
|
|
84
84
|
};
|
|
85
85
|
url: {
|
|
86
86
|
readonly type: "url";
|
package/dist/index.cjs
CHANGED
|
@@ -67,6 +67,8 @@ __export(exports_src, {
|
|
|
67
67
|
FILE_EDIT_SCHEMA: () => FILE_EDIT_SCHEMA,
|
|
68
68
|
FILE_EDIT_SOURCES: () => FILE_EDIT_SOURCES,
|
|
69
69
|
FILE_FORMAT_OPERATIONS: () => FILE_FORMAT_OPERATIONS,
|
|
70
|
+
FILE_INPUT_HELP: () => FILE_INPUT_HELP,
|
|
71
|
+
FILE_OUTPUT_HELP: () => FILE_OUTPUT_HELP,
|
|
70
72
|
FTP_OPERATIONS: () => FTP_OPERATIONS,
|
|
71
73
|
FieldType: () => FieldType,
|
|
72
74
|
ForEachConfig: () => ForEachConfig,
|
|
@@ -92,6 +94,7 @@ __export(exports_src, {
|
|
|
92
94
|
S3ActionConfig: () => S3ActionConfig,
|
|
93
95
|
S3_OPERATIONS: () => S3_OPERATIONS,
|
|
94
96
|
STORAGE_CONNECTOR_IDS: () => STORAGE_CONNECTOR_IDS,
|
|
97
|
+
STORAGE_DOWNLOAD_OUTPUT_SCHEMA: () => STORAGE_DOWNLOAD_OUTPUT_SCHEMA,
|
|
95
98
|
SortDirection: () => SortDirection,
|
|
96
99
|
StorageActionConfig: () => StorageActionConfig,
|
|
97
100
|
TRANSFORM_MODES: () => TRANSFORM_MODES,
|
|
@@ -1784,6 +1787,32 @@ var aggregateDefinition = {
|
|
|
1784
1787
|
testable: false
|
|
1785
1788
|
};
|
|
1786
1789
|
|
|
1790
|
+
// src/catalog/storage/fileHelp.ts
|
|
1791
|
+
var FILE_OUTPUT_HELP = {
|
|
1792
|
+
operation: "The operation that ran",
|
|
1793
|
+
data: "File contents, for text files such as CSV, JSON or TXT",
|
|
1794
|
+
s3Key: "The file itself, for PDF, Excel, images and other non-text files. Pass it to Excel, CSV, IDP or an Upload step.",
|
|
1795
|
+
fileName: "File name",
|
|
1796
|
+
mimeType: "File type, e.g. text/csv or application/pdf",
|
|
1797
|
+
path: "Where the file was read from"
|
|
1798
|
+
};
|
|
1799
|
+
var FILE_INPUT_HELP = {
|
|
1800
|
+
uploadContent: "Leave blank to upload the file from the step before, or pick a value from an earlier step, or type the content.",
|
|
1801
|
+
formatContent: (format) => `The ${format} from an earlier step (a download or a generated file), or paste the ${format} here.`,
|
|
1802
|
+
excelContent: "The Excel file from an earlier step (a download or a generated file)."
|
|
1803
|
+
};
|
|
1804
|
+
var STORAGE_DOWNLOAD_OUTPUT_SCHEMA = {
|
|
1805
|
+
type: "object",
|
|
1806
|
+
properties: {
|
|
1807
|
+
operation: { type: "string", description: FILE_OUTPUT_HELP.operation },
|
|
1808
|
+
data: { type: "string", description: FILE_OUTPUT_HELP.data },
|
|
1809
|
+
s3Key: { type: "string", description: FILE_OUTPUT_HELP.s3Key },
|
|
1810
|
+
fileName: { type: "string", description: FILE_OUTPUT_HELP.fileName },
|
|
1811
|
+
mimeType: { type: "string", description: FILE_OUTPUT_HELP.mimeType },
|
|
1812
|
+
path: { type: "string", description: FILE_OUTPUT_HELP.path }
|
|
1813
|
+
}
|
|
1814
|
+
};
|
|
1815
|
+
|
|
1787
1816
|
// src/catalog/storage/csv-action/index.ts
|
|
1788
1817
|
var csvActionDefinition = {
|
|
1789
1818
|
id: "csv_action",
|
|
@@ -1798,7 +1827,7 @@ var csvActionDefinition = {
|
|
|
1798
1827
|
inputSchema: {
|
|
1799
1828
|
fields: [
|
|
1800
1829
|
{ key: "operation", label: "Operation", type: "select" /* Select */, options: [{ label: "Parse (CSV → Records)", value: "parse" }, { label: "Generate (Records → CSV)", value: "generate" }, { label: "Edit existing file", value: "edit" }], defaultValue: "parse", validation: { required: true } },
|
|
1801
|
-
{ key: "content", label: "CSV Content", type: "string" /* String */, description: "
|
|
1830
|
+
{ key: "content", label: "CSV Content", type: "string" /* String */, description: FILE_INPUT_HELP.formatContent("CSV") },
|
|
1802
1831
|
{ key: "delimiter", label: "Delimiter", type: "select" /* Select */, options: [{ label: "Comma (,)", value: "," }, { label: "Semicolon (;)", value: ";" }, { label: "Tab", value: "\t" }, { label: "Pipe (|)", value: "|" }], defaultValue: "," },
|
|
1803
1832
|
{ key: "headerRow", label: "Header Row", type: "number" /* Number */, description: "Row number containing column headers (default: 1)", defaultValue: 1 },
|
|
1804
1833
|
{ key: "encoding", label: "Encoding", type: "select" /* Select */, options: [{ label: "UTF-8", value: "utf-8" }, { label: "Latin-1", value: "latin1" }, { label: "ASCII", value: "ascii" }], defaultValue: "utf-8" },
|
|
@@ -1838,7 +1867,7 @@ var jsonActionDefinition = {
|
|
|
1838
1867
|
fields: [
|
|
1839
1868
|
{ key: "operation", label: "Operation", type: "select" /* Select */, options: [{ label: "Parse (JSON → Records)", value: "parse" }, { label: "Generate (Records → JSON)", value: "generate" }, { label: "Edit existing file", value: "edit" }], defaultValue: "parse", validation: { required: true } },
|
|
1840
1869
|
{ key: "format", label: "Format", type: "select" /* Select */, options: [{ label: "JSON (array)", value: "json" }, { label: "JSONL (one object per line)", value: "jsonl" }], defaultValue: "json" },
|
|
1841
|
-
{ key: "content", label: "JSON Content", type: "string" /* String */, description: "
|
|
1870
|
+
{ key: "content", label: "JSON Content", type: "string" /* String */, description: FILE_INPUT_HELP.formatContent("JSON") },
|
|
1842
1871
|
{ key: "prettyPrint", label: "Pretty Print", type: "boolean" /* Boolean */, description: "Format output with indentation", defaultValue: true },
|
|
1843
1872
|
{ key: "fileName", label: "Output File Name", type: "string" /* String */, defaultValue: "export.json" }
|
|
1844
1873
|
]
|
|
@@ -1874,7 +1903,7 @@ var xmlActionDefinition = {
|
|
|
1874
1903
|
inputSchema: {
|
|
1875
1904
|
fields: [
|
|
1876
1905
|
{ key: "operation", label: "Operation", type: "select" /* Select */, options: [{ label: "Parse (XML → Records)", value: "parse" }, { label: "Generate (Records → XML)", value: "generate" }, { label: "Edit existing file", value: "edit" }], defaultValue: "parse", validation: { required: true } },
|
|
1877
|
-
{ key: "content", label: "XML Content", type: "string" /* String */, description: "
|
|
1906
|
+
{ key: "content", label: "XML Content", type: "string" /* String */, description: FILE_INPUT_HELP.formatContent("XML") },
|
|
1878
1907
|
{ key: "rootElement", label: "Root Element", type: "string" /* String */, description: "Root XML element name (for generate)", defaultValue: "data" },
|
|
1879
1908
|
{ key: "rowElement", label: "Row Element", type: "string" /* String */, description: "Element name per record (for generate)", defaultValue: "row" },
|
|
1880
1909
|
{ key: "fileName", label: "Output File Name", type: "string" /* String */, defaultValue: "export.xml" }
|
|
@@ -1911,7 +1940,7 @@ var excelActionDefinition = {
|
|
|
1911
1940
|
inputSchema: {
|
|
1912
1941
|
fields: [
|
|
1913
1942
|
{ key: "operation", label: "Operation", type: "select" /* Select */, options: [{ label: "Parse (Excel → Records)", value: "parse" }, { label: "Generate (Records → Excel)", value: "generate" }, { label: "Edit existing file", value: "edit" }], defaultValue: "parse", validation: { required: true } },
|
|
1914
|
-
{ key: "content", label: "Excel File", type: "string" /* String */, description:
|
|
1943
|
+
{ key: "content", label: "Excel File", type: "string" /* String */, description: FILE_INPUT_HELP.excelContent },
|
|
1915
1944
|
{ key: "sheetName", label: "Sheet Name", type: "string" /* String */, description: "Name of sheet to read (default: first sheet)" },
|
|
1916
1945
|
{ key: "headerRow", label: "Header Row", type: "number" /* Number */, description: "Row number containing headers", defaultValue: 1 },
|
|
1917
1946
|
{ key: "fileName", label: "Output File Name", type: "string" /* String */, defaultValue: "export.xlsx" }
|
|
@@ -1923,7 +1952,7 @@ var excelActionDefinition = {
|
|
|
1923
1952
|
{ key: "data", type: "array" /* Array */, description: "Parsed records (parse mode) — loop these with a ForEach. File metadata in generate mode." },
|
|
1924
1953
|
{ key: "columns", type: "json" /* JSON */, description: "Column names" },
|
|
1925
1954
|
{ key: "rowCount", type: "number" /* Number */, description: "Number of records" },
|
|
1926
|
-
{ key: "s3Key", type: "string" /* String */, description: "
|
|
1955
|
+
{ key: "s3Key", type: "string" /* String */, description: "The generated Excel file. Pass it to an Upload step to save it." }
|
|
1927
1956
|
],
|
|
1928
1957
|
sampleOutput: { data: [{ id: 1, name: "Widget" }], columns: ["id", "name"], rowCount: 1 }
|
|
1929
1958
|
},
|
|
@@ -1953,7 +1982,7 @@ var s3ActionDefinition = {
|
|
|
1953
1982
|
{ key: "bucket", label: "Bucket Name", type: "string" /* String */, description: "S3 bucket name (defaults to the connector’s bucket)" },
|
|
1954
1983
|
{ key: "key", label: "Object Key (Path)", type: "string" /* String */, description: "S3 object key, e.g. data/reports/monthly.csv" },
|
|
1955
1984
|
{ key: "prefix", label: "Prefix (for List)", type: "string" /* String */, description: "Filter objects by prefix (folder path)" },
|
|
1956
|
-
{ key: "content", label: "File Content (for Upload)", type: "string" /* String */, description:
|
|
1985
|
+
{ key: "content", label: "File Content (for Upload)", type: "string" /* String */, description: FILE_INPUT_HELP.uploadContent },
|
|
1957
1986
|
{ key: "contentType", label: "Content Type", type: "string" /* String */, description: "MIME type (e.g. text/csv, application/json)", defaultValue: "application/octet-stream" },
|
|
1958
1987
|
{ key: "destBucket", label: "Destination Bucket (for Copy)", type: "string" /* String */ },
|
|
1959
1988
|
{ key: "destKey", label: "Destination Key (for Copy)", type: "string" /* String */ },
|
|
@@ -1994,7 +2023,7 @@ var ftpActionDefinition = {
|
|
|
1994
2023
|
{ key: "connector", label: "FTP / SFTP Connection", type: "connection" /* Connection */, description: "Select a configured FTP/SFTP connector from Integrations", validation: { required: true } },
|
|
1995
2024
|
{ key: "operation", label: "Operation", type: "select" /* Select */, options: [{ label: "Download File", value: "download" }, { label: "Upload File", value: "upload" }, { label: "List Files", value: "list" }, { label: "Delete File", value: "delete" }, { label: "Move / Rename", value: "move" }], defaultValue: "download", validation: { required: true } },
|
|
1996
2025
|
{ key: "remotePath", label: "Remote Path", type: "string" /* String */, description: "File or folder path on the server (use file explorer to browse)" },
|
|
1997
|
-
{ key: "content", label: "File Content (Upload)", type: "string" /* String */, description:
|
|
2026
|
+
{ key: "content", label: "File Content (Upload)", type: "string" /* String */, description: FILE_INPUT_HELP.uploadContent },
|
|
1998
2027
|
{ key: "fileName", label: "File Name (Upload)", type: "string" /* String */, description: "Name for the uploaded file" },
|
|
1999
2028
|
{ key: "destPath", label: "Destination Path (Move)", type: "string" /* String */, description: "New path for moved/renamed file" },
|
|
2000
2029
|
{ key: "ifExists", label: "If File Exists", type: "select" /* Select */, options: [{ label: "Overwrite", value: "overwrite" }, { label: "Skip", value: "skip" }], defaultValue: "overwrite" }
|
|
@@ -2035,7 +2064,7 @@ var googleDriveActionDefinition = {
|
|
|
2035
2064
|
{ key: "fileId", label: "File ID / Path", type: "string" /* String */, description: "Google Drive file ID (use file explorer to browse)" },
|
|
2036
2065
|
{ key: "folderId", label: "Folder ID", type: "string" /* String */, description: "Target folder (root if empty)" },
|
|
2037
2066
|
{ key: "fileName", label: "File Name", type: "string" /* String */ },
|
|
2038
|
-
{ key: "content", label: "File Content (Upload)", type: "string" /* String */, description:
|
|
2067
|
+
{ key: "content", label: "File Content (Upload)", type: "string" /* String */, description: FILE_INPUT_HELP.uploadContent },
|
|
2039
2068
|
{ key: "mimeType", label: "MIME Type", type: "string" /* String */, defaultValue: "application/octet-stream" },
|
|
2040
2069
|
{ key: "destFolderId", label: "Destination Folder (Move/Copy)", type: "string" /* String */ },
|
|
2041
2070
|
{ key: "shareEmail", label: "Share With Email", type: "string" /* String */ },
|
|
@@ -2077,7 +2106,7 @@ var dropboxActionDefinition = {
|
|
|
2077
2106
|
{ key: "connector", label: "Dropbox Account", type: "connection" /* Connection */, description: "Select a connected Dropbox account", validation: { required: true } },
|
|
2078
2107
|
{ key: "operation", label: "Operation", type: "select" /* Select */, options: [{ label: "Download File", value: "download" }, { label: "Upload File", value: "upload" }, { label: "List Files", value: "list" }, { label: "Delete", value: "delete" }, { label: "Move", value: "move" }, { label: "Copy", value: "copy" }, { label: "Create Folder", value: "create_folder" }, { label: "Get Shared Link", value: "shared_link" }], defaultValue: "download", validation: { required: true } },
|
|
2079
2108
|
{ key: "path", label: "File / Folder Path", type: "string" /* String */, description: "Path on Dropbox (use file explorer to browse)" },
|
|
2080
|
-
{ key: "content", label: "File Content (Upload)", type: "string" /* String */, description:
|
|
2109
|
+
{ key: "content", label: "File Content (Upload)", type: "string" /* String */, description: FILE_INPUT_HELP.uploadContent },
|
|
2081
2110
|
{ key: "fileName", label: "File Name (Upload)", type: "string" /* String */ },
|
|
2082
2111
|
{ key: "destPath", label: "Destination Path (Move/Copy)", type: "string" /* String */ },
|
|
2083
2112
|
{ key: "mode", label: "Upload Mode", type: "select" /* Select */, options: [{ label: "Add (fail if exists)", value: "add" }, { label: "Overwrite", value: "overwrite" }], defaultValue: "overwrite" }
|
|
@@ -2117,7 +2146,7 @@ var onedriveActionDefinition = {
|
|
|
2117
2146
|
{ key: "operation", label: "Operation", type: "select" /* Select */, options: [{ label: "Download File", value: "download" }, { label: "Upload File", value: "upload" }, { label: "List Files", value: "list" }, { label: "Delete", value: "delete" }, { label: "Move", value: "move" }, { label: "Copy", value: "copy" }], defaultValue: "download", validation: { required: true } },
|
|
2118
2147
|
{ key: "path", label: "File / Folder Path", type: "string" /* String */, description: "Path on OneDrive (use file explorer to browse)" },
|
|
2119
2148
|
{ key: "itemId", label: "Item ID", type: "string" /* String */, description: "OneDrive item ID (alternative to path)" },
|
|
2120
|
-
{ key: "content", label: "File Content (Upload)", type: "string" /* String */, description:
|
|
2149
|
+
{ key: "content", label: "File Content (Upload)", type: "string" /* String */, description: FILE_INPUT_HELP.uploadContent },
|
|
2121
2150
|
{ key: "fileName", label: "File Name (Upload)", type: "string" /* String */ },
|
|
2122
2151
|
{ key: "destPath", label: "Destination Path (Move/Copy)", type: "string" /* String */ }
|
|
2123
2152
|
]
|
|
@@ -2175,14 +2204,17 @@ var storageActionDefinition = {
|
|
|
2175
2204
|
},
|
|
2176
2205
|
{ key: "path", label: "Path", type: "string" /* String */, description: "File or folder path — use the file browser in the panel." },
|
|
2177
2206
|
{ key: "destPath", label: "Destination path", type: "string" /* String */, description: "Target for copy / move." },
|
|
2178
|
-
{ key: "content", label: "File content (for Upload)", type: "string" /* String */, description:
|
|
2207
|
+
{ key: "content", label: "File content (for Upload)", type: "string" /* String */, description: FILE_INPUT_HELP.uploadContent }
|
|
2179
2208
|
]
|
|
2180
2209
|
},
|
|
2181
2210
|
outputSchema: {
|
|
2182
2211
|
type: "object",
|
|
2183
2212
|
properties: [
|
|
2184
2213
|
{ key: "operation", type: "string" /* String */, description: "The operation that ran" },
|
|
2185
|
-
{ key: "data", type: "json" /* JSON */, description:
|
|
2214
|
+
{ key: "data", type: "json" /* JSON */, description: `Download: ${FILE_OUTPUT_HELP.data}. Other operations: their result.` },
|
|
2215
|
+
{ key: "s3Key", type: "string" /* String */, description: `Download: ${FILE_OUTPUT_HELP.s3Key}` },
|
|
2216
|
+
{ key: "fileName", type: "string" /* String */, description: `Download: ${FILE_OUTPUT_HELP.fileName}` },
|
|
2217
|
+
{ key: "mimeType", type: "string" /* String */, description: `Download: ${FILE_OUTPUT_HELP.mimeType}` },
|
|
2186
2218
|
{ key: "files", type: "json" /* JSON */, description: "Listing (for the List operation)" },
|
|
2187
2219
|
{ key: "path", type: "string" /* String */, description: "Affected file/folder path" },
|
|
2188
2220
|
{ key: "url", type: "string" /* String */, description: "Signed URL (for the Get signed URL operation)" }
|
|
@@ -4628,10 +4660,10 @@ var FILE_EDIT_SCHEMA = {
|
|
|
4628
4660
|
matchOp: { type: "select", required: false, options: FILE_EDIT_MATCH_OPS, description: 'set_fields: comparison; "=" by default' },
|
|
4629
4661
|
matchValue: { type: "string", required: false, description: "set_fields: value compared against" },
|
|
4630
4662
|
setFields: { type: "object", required: false, description: "set_fields: { column: newValue } applied to matching rows" },
|
|
4631
|
-
destination: { type: "select", required: false, options: FILE_EDIT_DESTINATIONS, description: '"new" writes an edited copy (default); "in_place" overwrites
|
|
4663
|
+
destination: { type: "select", required: false, options: FILE_EDIT_DESTINATIONS, description: '"new" writes an edited copy (default); "in_place" overwrites the source file' },
|
|
4632
4664
|
outputFileName: { type: "string", required: false, description: 'Name of the edited copy when destination is "new"' },
|
|
4633
4665
|
source: { type: "select", required: false, options: FILE_EDIT_SOURCES, description: "Where the file to edit comes from; inferred from content when absent" },
|
|
4634
|
-
s3Key: { type: "string", required: false, description:
|
|
4666
|
+
s3Key: { type: "string", required: false, description: `source "s3": an earlier step's file (its s3Key output) to edit` },
|
|
4635
4667
|
url: { type: "url", required: false, description: 'source "url": the file to edit is fetched from here' }
|
|
4636
4668
|
};
|
|
4637
4669
|
function fileEditErrors(config) {
|
|
@@ -4663,7 +4695,7 @@ var CsvActionConfig = {
|
|
|
4663
4695
|
},
|
|
4664
4696
|
schema: {
|
|
4665
4697
|
operation: { type: "select", required: true, options: FILE_FORMAT_OPERATIONS, description: "parse (CSV → records), generate (records → CSV) or edit an existing file" },
|
|
4666
|
-
content: { type: "text", required: false, description: "CSV text, or
|
|
4698
|
+
content: { type: "text", required: false, description: "CSV text, or a reference to an earlier step's file content" },
|
|
4667
4699
|
delimiter: { type: "select", required: false, options: [",", ";", "\t", "|"] },
|
|
4668
4700
|
headerRow: { type: "number", required: false, min: 1, description: "1-based row that holds the column headers" },
|
|
4669
4701
|
encoding: { type: "string", required: false, description: "Text encoding (utf-8 by default)" },
|
|
@@ -4689,7 +4721,7 @@ var JsonActionConfig = {
|
|
|
4689
4721
|
schema: {
|
|
4690
4722
|
operation: { type: "select", required: true, options: FILE_FORMAT_OPERATIONS, description: "parse (JSON → records), generate (records → JSON) or edit an existing file" },
|
|
4691
4723
|
format: { type: "select", required: false, options: ["json", "jsonl"], description: "json (array) or jsonl (one object per line)" },
|
|
4692
|
-
content: { type: "text", required: false, description: "JSON text, or
|
|
4724
|
+
content: { type: "text", required: false, description: "JSON text, or a reference to an earlier step's file content" },
|
|
4693
4725
|
prettyPrint: { type: "boolean", required: false, description: "generate: indent the output" },
|
|
4694
4726
|
fileName: { type: "string", required: false, description: "generate: name of the produced file" },
|
|
4695
4727
|
jsonl: { type: "boolean", required: false, description: "edit: treat the file as JSONL" },
|
|
@@ -4716,7 +4748,7 @@ var XmlActionConfig = {
|
|
|
4716
4748
|
},
|
|
4717
4749
|
schema: {
|
|
4718
4750
|
operation: { type: "select", required: true, options: FILE_FORMAT_OPERATIONS, description: "parse (XML → records), generate (records → XML) or edit an existing file" },
|
|
4719
|
-
content: { type: "text", required: false, description: "XML text, or
|
|
4751
|
+
content: { type: "text", required: false, description: "XML text, or a reference to an earlier step's file content" },
|
|
4720
4752
|
rootElement: { type: "string", required: false, description: "generate: root element name" },
|
|
4721
4753
|
rowElement: { type: "string", required: false, description: "Element that holds one record" },
|
|
4722
4754
|
fileName: { type: "string", required: false, description: "generate: name of the produced file" },
|
|
@@ -4738,7 +4770,7 @@ var ExcelActionConfig = {
|
|
|
4738
4770
|
},
|
|
4739
4771
|
schema: {
|
|
4740
4772
|
operation: { type: "select", required: true, options: FILE_FORMAT_OPERATIONS, description: "parse (Excel → records), generate (records → Excel) or edit an existing file" },
|
|
4741
|
-
content: { type: "text", required: false, description: "
|
|
4773
|
+
content: { type: "text", required: false, description: "A reference to an earlier step's Excel file (its s3Key output), or base64 bytes" },
|
|
4742
4774
|
sheetName: { type: "string", required: false, description: "Sheet to read; the first sheet when absent" },
|
|
4743
4775
|
headerRow: { type: "number", required: false, min: 1, description: "1-based row that holds the column headers" },
|
|
4744
4776
|
fileName: { type: "string", required: false, description: "generate: name of the produced file" },
|
|
@@ -4756,7 +4788,7 @@ var FIXED_SCHEMA = {
|
|
|
4756
4788
|
connector: { type: "connection", required: true, description: "Storage connector instance; its provider decides the operations" },
|
|
4757
4789
|
operation: { type: "select", required: true, description: "Per provider: list, download, upload, delete, copy, move, presign, share, create_folder, transfer, sync" },
|
|
4758
4790
|
outputAs: { type: "string", required: false, description: "Name of this step's output in the run's data bag" },
|
|
4759
|
-
content: { type: "text", required: false, description: "upload: the
|
|
4791
|
+
content: { type: "text", required: false, description: "upload: the file content; blank uploads the file the step before produced" },
|
|
4760
4792
|
destConnector: { type: "connection", required: false, description: "transfer / sync: destination connector instance" },
|
|
4761
4793
|
destPath: { type: "string", required: false, description: "transfer / sync: destination path; also move / copy destination on path-based providers" },
|
|
4762
4794
|
sourceIsDirectory: { type: "boolean", required: false, description: "transfer: copy a folder recursively" },
|
package/dist/index.d.ts
CHANGED
|
@@ -40,6 +40,7 @@ export { DATABASE_CONNECTOR_IDS, type FieldMapping, TRANSFORM_MODES, TRANSFORM_O
|
|
|
40
40
|
export { AGGREGATE_FUNCTIONS, AGGREGATE_FUNCTION_DESCRIPTIONS, AggregateConfig, type AggregateConfigType, type AggregateFn, type AggregateMetric, type AggregateSchemaNode, groupKeyName, } from "./catalog/general/aggregate/config";
|
|
41
41
|
export { detectRecordFields, resolveRecordSchema, type RecordSchemaLike, } from "./catalog/logic/for-each/recordSchema";
|
|
42
42
|
export { STORAGE_CONNECTOR_IDS, type StorageExtraField, type StoragePathField, getStorageProvider, storageConfigKeys, } from "./catalog/storage/storageCapabilities";
|
|
43
|
+
export { FILE_OUTPUT_HELP, FILE_INPUT_HELP, STORAGE_DOWNLOAD_OUTPUT_SCHEMA, } from "./catalog/storage/fileHelp";
|
|
43
44
|
export { ManualTriggerConfig } from "./catalog/triggers/manual-trigger/index";
|
|
44
45
|
export { AiAgentConfig, type AiAgentConfigType, type AiAgentOverrides } from "./catalog/ai/ai-agent/config";
|
|
45
46
|
export { IdpExtractConfig, IDP_EXTRACT_STRATEGIES, type IdpExtractConfigType } from "./catalog/ai/idp-extract/config";
|
package/dist/index.js
CHANGED
|
@@ -1626,6 +1626,32 @@ var aggregateDefinition = {
|
|
|
1626
1626
|
testable: false
|
|
1627
1627
|
};
|
|
1628
1628
|
|
|
1629
|
+
// src/catalog/storage/fileHelp.ts
|
|
1630
|
+
var FILE_OUTPUT_HELP = {
|
|
1631
|
+
operation: "The operation that ran",
|
|
1632
|
+
data: "File contents, for text files such as CSV, JSON or TXT",
|
|
1633
|
+
s3Key: "The file itself, for PDF, Excel, images and other non-text files. Pass it to Excel, CSV, IDP or an Upload step.",
|
|
1634
|
+
fileName: "File name",
|
|
1635
|
+
mimeType: "File type, e.g. text/csv or application/pdf",
|
|
1636
|
+
path: "Where the file was read from"
|
|
1637
|
+
};
|
|
1638
|
+
var FILE_INPUT_HELP = {
|
|
1639
|
+
uploadContent: "Leave blank to upload the file from the step before, or pick a value from an earlier step, or type the content.",
|
|
1640
|
+
formatContent: (format) => `The ${format} from an earlier step (a download or a generated file), or paste the ${format} here.`,
|
|
1641
|
+
excelContent: "The Excel file from an earlier step (a download or a generated file)."
|
|
1642
|
+
};
|
|
1643
|
+
var STORAGE_DOWNLOAD_OUTPUT_SCHEMA = {
|
|
1644
|
+
type: "object",
|
|
1645
|
+
properties: {
|
|
1646
|
+
operation: { type: "string", description: FILE_OUTPUT_HELP.operation },
|
|
1647
|
+
data: { type: "string", description: FILE_OUTPUT_HELP.data },
|
|
1648
|
+
s3Key: { type: "string", description: FILE_OUTPUT_HELP.s3Key },
|
|
1649
|
+
fileName: { type: "string", description: FILE_OUTPUT_HELP.fileName },
|
|
1650
|
+
mimeType: { type: "string", description: FILE_OUTPUT_HELP.mimeType },
|
|
1651
|
+
path: { type: "string", description: FILE_OUTPUT_HELP.path }
|
|
1652
|
+
}
|
|
1653
|
+
};
|
|
1654
|
+
|
|
1629
1655
|
// src/catalog/storage/csv-action/index.ts
|
|
1630
1656
|
var csvActionDefinition = {
|
|
1631
1657
|
id: "csv_action",
|
|
@@ -1640,7 +1666,7 @@ var csvActionDefinition = {
|
|
|
1640
1666
|
inputSchema: {
|
|
1641
1667
|
fields: [
|
|
1642
1668
|
{ key: "operation", label: "Operation", type: "select" /* Select */, options: [{ label: "Parse (CSV → Records)", value: "parse" }, { label: "Generate (Records → CSV)", value: "generate" }, { label: "Edit existing file", value: "edit" }], defaultValue: "parse", validation: { required: true } },
|
|
1643
|
-
{ key: "content", label: "CSV Content", type: "string" /* String */, description: "
|
|
1669
|
+
{ key: "content", label: "CSV Content", type: "string" /* String */, description: FILE_INPUT_HELP.formatContent("CSV") },
|
|
1644
1670
|
{ key: "delimiter", label: "Delimiter", type: "select" /* Select */, options: [{ label: "Comma (,)", value: "," }, { label: "Semicolon (;)", value: ";" }, { label: "Tab", value: "\t" }, { label: "Pipe (|)", value: "|" }], defaultValue: "," },
|
|
1645
1671
|
{ key: "headerRow", label: "Header Row", type: "number" /* Number */, description: "Row number containing column headers (default: 1)", defaultValue: 1 },
|
|
1646
1672
|
{ key: "encoding", label: "Encoding", type: "select" /* Select */, options: [{ label: "UTF-8", value: "utf-8" }, { label: "Latin-1", value: "latin1" }, { label: "ASCII", value: "ascii" }], defaultValue: "utf-8" },
|
|
@@ -1680,7 +1706,7 @@ var jsonActionDefinition = {
|
|
|
1680
1706
|
fields: [
|
|
1681
1707
|
{ key: "operation", label: "Operation", type: "select" /* Select */, options: [{ label: "Parse (JSON → Records)", value: "parse" }, { label: "Generate (Records → JSON)", value: "generate" }, { label: "Edit existing file", value: "edit" }], defaultValue: "parse", validation: { required: true } },
|
|
1682
1708
|
{ key: "format", label: "Format", type: "select" /* Select */, options: [{ label: "JSON (array)", value: "json" }, { label: "JSONL (one object per line)", value: "jsonl" }], defaultValue: "json" },
|
|
1683
|
-
{ key: "content", label: "JSON Content", type: "string" /* String */, description: "
|
|
1709
|
+
{ key: "content", label: "JSON Content", type: "string" /* String */, description: FILE_INPUT_HELP.formatContent("JSON") },
|
|
1684
1710
|
{ key: "prettyPrint", label: "Pretty Print", type: "boolean" /* Boolean */, description: "Format output with indentation", defaultValue: true },
|
|
1685
1711
|
{ key: "fileName", label: "Output File Name", type: "string" /* String */, defaultValue: "export.json" }
|
|
1686
1712
|
]
|
|
@@ -1716,7 +1742,7 @@ var xmlActionDefinition = {
|
|
|
1716
1742
|
inputSchema: {
|
|
1717
1743
|
fields: [
|
|
1718
1744
|
{ key: "operation", label: "Operation", type: "select" /* Select */, options: [{ label: "Parse (XML → Records)", value: "parse" }, { label: "Generate (Records → XML)", value: "generate" }, { label: "Edit existing file", value: "edit" }], defaultValue: "parse", validation: { required: true } },
|
|
1719
|
-
{ key: "content", label: "XML Content", type: "string" /* String */, description: "
|
|
1745
|
+
{ key: "content", label: "XML Content", type: "string" /* String */, description: FILE_INPUT_HELP.formatContent("XML") },
|
|
1720
1746
|
{ key: "rootElement", label: "Root Element", type: "string" /* String */, description: "Root XML element name (for generate)", defaultValue: "data" },
|
|
1721
1747
|
{ key: "rowElement", label: "Row Element", type: "string" /* String */, description: "Element name per record (for generate)", defaultValue: "row" },
|
|
1722
1748
|
{ key: "fileName", label: "Output File Name", type: "string" /* String */, defaultValue: "export.xml" }
|
|
@@ -1753,7 +1779,7 @@ var excelActionDefinition = {
|
|
|
1753
1779
|
inputSchema: {
|
|
1754
1780
|
fields: [
|
|
1755
1781
|
{ key: "operation", label: "Operation", type: "select" /* Select */, options: [{ label: "Parse (Excel → Records)", value: "parse" }, { label: "Generate (Records → Excel)", value: "generate" }, { label: "Edit existing file", value: "edit" }], defaultValue: "parse", validation: { required: true } },
|
|
1756
|
-
{ key: "content", label: "Excel File", type: "string" /* String */, description:
|
|
1782
|
+
{ key: "content", label: "Excel File", type: "string" /* String */, description: FILE_INPUT_HELP.excelContent },
|
|
1757
1783
|
{ key: "sheetName", label: "Sheet Name", type: "string" /* String */, description: "Name of sheet to read (default: first sheet)" },
|
|
1758
1784
|
{ key: "headerRow", label: "Header Row", type: "number" /* Number */, description: "Row number containing headers", defaultValue: 1 },
|
|
1759
1785
|
{ key: "fileName", label: "Output File Name", type: "string" /* String */, defaultValue: "export.xlsx" }
|
|
@@ -1765,7 +1791,7 @@ var excelActionDefinition = {
|
|
|
1765
1791
|
{ key: "data", type: "array" /* Array */, description: "Parsed records (parse mode) — loop these with a ForEach. File metadata in generate mode." },
|
|
1766
1792
|
{ key: "columns", type: "json" /* JSON */, description: "Column names" },
|
|
1767
1793
|
{ key: "rowCount", type: "number" /* Number */, description: "Number of records" },
|
|
1768
|
-
{ key: "s3Key", type: "string" /* String */, description: "
|
|
1794
|
+
{ key: "s3Key", type: "string" /* String */, description: "The generated Excel file. Pass it to an Upload step to save it." }
|
|
1769
1795
|
],
|
|
1770
1796
|
sampleOutput: { data: [{ id: 1, name: "Widget" }], columns: ["id", "name"], rowCount: 1 }
|
|
1771
1797
|
},
|
|
@@ -1795,7 +1821,7 @@ var s3ActionDefinition = {
|
|
|
1795
1821
|
{ key: "bucket", label: "Bucket Name", type: "string" /* String */, description: "S3 bucket name (defaults to the connector’s bucket)" },
|
|
1796
1822
|
{ key: "key", label: "Object Key (Path)", type: "string" /* String */, description: "S3 object key, e.g. data/reports/monthly.csv" },
|
|
1797
1823
|
{ key: "prefix", label: "Prefix (for List)", type: "string" /* String */, description: "Filter objects by prefix (folder path)" },
|
|
1798
|
-
{ key: "content", label: "File Content (for Upload)", type: "string" /* String */, description:
|
|
1824
|
+
{ key: "content", label: "File Content (for Upload)", type: "string" /* String */, description: FILE_INPUT_HELP.uploadContent },
|
|
1799
1825
|
{ key: "contentType", label: "Content Type", type: "string" /* String */, description: "MIME type (e.g. text/csv, application/json)", defaultValue: "application/octet-stream" },
|
|
1800
1826
|
{ key: "destBucket", label: "Destination Bucket (for Copy)", type: "string" /* String */ },
|
|
1801
1827
|
{ key: "destKey", label: "Destination Key (for Copy)", type: "string" /* String */ },
|
|
@@ -1836,7 +1862,7 @@ var ftpActionDefinition = {
|
|
|
1836
1862
|
{ key: "connector", label: "FTP / SFTP Connection", type: "connection" /* Connection */, description: "Select a configured FTP/SFTP connector from Integrations", validation: { required: true } },
|
|
1837
1863
|
{ key: "operation", label: "Operation", type: "select" /* Select */, options: [{ label: "Download File", value: "download" }, { label: "Upload File", value: "upload" }, { label: "List Files", value: "list" }, { label: "Delete File", value: "delete" }, { label: "Move / Rename", value: "move" }], defaultValue: "download", validation: { required: true } },
|
|
1838
1864
|
{ key: "remotePath", label: "Remote Path", type: "string" /* String */, description: "File or folder path on the server (use file explorer to browse)" },
|
|
1839
|
-
{ key: "content", label: "File Content (Upload)", type: "string" /* String */, description:
|
|
1865
|
+
{ key: "content", label: "File Content (Upload)", type: "string" /* String */, description: FILE_INPUT_HELP.uploadContent },
|
|
1840
1866
|
{ key: "fileName", label: "File Name (Upload)", type: "string" /* String */, description: "Name for the uploaded file" },
|
|
1841
1867
|
{ key: "destPath", label: "Destination Path (Move)", type: "string" /* String */, description: "New path for moved/renamed file" },
|
|
1842
1868
|
{ key: "ifExists", label: "If File Exists", type: "select" /* Select */, options: [{ label: "Overwrite", value: "overwrite" }, { label: "Skip", value: "skip" }], defaultValue: "overwrite" }
|
|
@@ -1877,7 +1903,7 @@ var googleDriveActionDefinition = {
|
|
|
1877
1903
|
{ key: "fileId", label: "File ID / Path", type: "string" /* String */, description: "Google Drive file ID (use file explorer to browse)" },
|
|
1878
1904
|
{ key: "folderId", label: "Folder ID", type: "string" /* String */, description: "Target folder (root if empty)" },
|
|
1879
1905
|
{ key: "fileName", label: "File Name", type: "string" /* String */ },
|
|
1880
|
-
{ key: "content", label: "File Content (Upload)", type: "string" /* String */, description:
|
|
1906
|
+
{ key: "content", label: "File Content (Upload)", type: "string" /* String */, description: FILE_INPUT_HELP.uploadContent },
|
|
1881
1907
|
{ key: "mimeType", label: "MIME Type", type: "string" /* String */, defaultValue: "application/octet-stream" },
|
|
1882
1908
|
{ key: "destFolderId", label: "Destination Folder (Move/Copy)", type: "string" /* String */ },
|
|
1883
1909
|
{ key: "shareEmail", label: "Share With Email", type: "string" /* String */ },
|
|
@@ -1919,7 +1945,7 @@ var dropboxActionDefinition = {
|
|
|
1919
1945
|
{ key: "connector", label: "Dropbox Account", type: "connection" /* Connection */, description: "Select a connected Dropbox account", validation: { required: true } },
|
|
1920
1946
|
{ key: "operation", label: "Operation", type: "select" /* Select */, options: [{ label: "Download File", value: "download" }, { label: "Upload File", value: "upload" }, { label: "List Files", value: "list" }, { label: "Delete", value: "delete" }, { label: "Move", value: "move" }, { label: "Copy", value: "copy" }, { label: "Create Folder", value: "create_folder" }, { label: "Get Shared Link", value: "shared_link" }], defaultValue: "download", validation: { required: true } },
|
|
1921
1947
|
{ key: "path", label: "File / Folder Path", type: "string" /* String */, description: "Path on Dropbox (use file explorer to browse)" },
|
|
1922
|
-
{ key: "content", label: "File Content (Upload)", type: "string" /* String */, description:
|
|
1948
|
+
{ key: "content", label: "File Content (Upload)", type: "string" /* String */, description: FILE_INPUT_HELP.uploadContent },
|
|
1923
1949
|
{ key: "fileName", label: "File Name (Upload)", type: "string" /* String */ },
|
|
1924
1950
|
{ key: "destPath", label: "Destination Path (Move/Copy)", type: "string" /* String */ },
|
|
1925
1951
|
{ key: "mode", label: "Upload Mode", type: "select" /* Select */, options: [{ label: "Add (fail if exists)", value: "add" }, { label: "Overwrite", value: "overwrite" }], defaultValue: "overwrite" }
|
|
@@ -1959,7 +1985,7 @@ var onedriveActionDefinition = {
|
|
|
1959
1985
|
{ key: "operation", label: "Operation", type: "select" /* Select */, options: [{ label: "Download File", value: "download" }, { label: "Upload File", value: "upload" }, { label: "List Files", value: "list" }, { label: "Delete", value: "delete" }, { label: "Move", value: "move" }, { label: "Copy", value: "copy" }], defaultValue: "download", validation: { required: true } },
|
|
1960
1986
|
{ key: "path", label: "File / Folder Path", type: "string" /* String */, description: "Path on OneDrive (use file explorer to browse)" },
|
|
1961
1987
|
{ key: "itemId", label: "Item ID", type: "string" /* String */, description: "OneDrive item ID (alternative to path)" },
|
|
1962
|
-
{ key: "content", label: "File Content (Upload)", type: "string" /* String */, description:
|
|
1988
|
+
{ key: "content", label: "File Content (Upload)", type: "string" /* String */, description: FILE_INPUT_HELP.uploadContent },
|
|
1963
1989
|
{ key: "fileName", label: "File Name (Upload)", type: "string" /* String */ },
|
|
1964
1990
|
{ key: "destPath", label: "Destination Path (Move/Copy)", type: "string" /* String */ }
|
|
1965
1991
|
]
|
|
@@ -2017,14 +2043,17 @@ var storageActionDefinition = {
|
|
|
2017
2043
|
},
|
|
2018
2044
|
{ key: "path", label: "Path", type: "string" /* String */, description: "File or folder path — use the file browser in the panel." },
|
|
2019
2045
|
{ key: "destPath", label: "Destination path", type: "string" /* String */, description: "Target for copy / move." },
|
|
2020
|
-
{ key: "content", label: "File content (for Upload)", type: "string" /* String */, description:
|
|
2046
|
+
{ key: "content", label: "File content (for Upload)", type: "string" /* String */, description: FILE_INPUT_HELP.uploadContent }
|
|
2021
2047
|
]
|
|
2022
2048
|
},
|
|
2023
2049
|
outputSchema: {
|
|
2024
2050
|
type: "object",
|
|
2025
2051
|
properties: [
|
|
2026
2052
|
{ key: "operation", type: "string" /* String */, description: "The operation that ran" },
|
|
2027
|
-
{ key: "data", type: "json" /* JSON */, description:
|
|
2053
|
+
{ key: "data", type: "json" /* JSON */, description: `Download: ${FILE_OUTPUT_HELP.data}. Other operations: their result.` },
|
|
2054
|
+
{ key: "s3Key", type: "string" /* String */, description: `Download: ${FILE_OUTPUT_HELP.s3Key}` },
|
|
2055
|
+
{ key: "fileName", type: "string" /* String */, description: `Download: ${FILE_OUTPUT_HELP.fileName}` },
|
|
2056
|
+
{ key: "mimeType", type: "string" /* String */, description: `Download: ${FILE_OUTPUT_HELP.mimeType}` },
|
|
2028
2057
|
{ key: "files", type: "json" /* JSON */, description: "Listing (for the List operation)" },
|
|
2029
2058
|
{ key: "path", type: "string" /* String */, description: "Affected file/folder path" },
|
|
2030
2059
|
{ key: "url", type: "string" /* String */, description: "Signed URL (for the Get signed URL operation)" }
|
|
@@ -4470,10 +4499,10 @@ var FILE_EDIT_SCHEMA = {
|
|
|
4470
4499
|
matchOp: { type: "select", required: false, options: FILE_EDIT_MATCH_OPS, description: 'set_fields: comparison; "=" by default' },
|
|
4471
4500
|
matchValue: { type: "string", required: false, description: "set_fields: value compared against" },
|
|
4472
4501
|
setFields: { type: "object", required: false, description: "set_fields: { column: newValue } applied to matching rows" },
|
|
4473
|
-
destination: { type: "select", required: false, options: FILE_EDIT_DESTINATIONS, description: '"new" writes an edited copy (default); "in_place" overwrites
|
|
4502
|
+
destination: { type: "select", required: false, options: FILE_EDIT_DESTINATIONS, description: '"new" writes an edited copy (default); "in_place" overwrites the source file' },
|
|
4474
4503
|
outputFileName: { type: "string", required: false, description: 'Name of the edited copy when destination is "new"' },
|
|
4475
4504
|
source: { type: "select", required: false, options: FILE_EDIT_SOURCES, description: "Where the file to edit comes from; inferred from content when absent" },
|
|
4476
|
-
s3Key: { type: "string", required: false, description:
|
|
4505
|
+
s3Key: { type: "string", required: false, description: `source "s3": an earlier step's file (its s3Key output) to edit` },
|
|
4477
4506
|
url: { type: "url", required: false, description: 'source "url": the file to edit is fetched from here' }
|
|
4478
4507
|
};
|
|
4479
4508
|
function fileEditErrors(config) {
|
|
@@ -4505,7 +4534,7 @@ var CsvActionConfig = {
|
|
|
4505
4534
|
},
|
|
4506
4535
|
schema: {
|
|
4507
4536
|
operation: { type: "select", required: true, options: FILE_FORMAT_OPERATIONS, description: "parse (CSV → records), generate (records → CSV) or edit an existing file" },
|
|
4508
|
-
content: { type: "text", required: false, description: "CSV text, or
|
|
4537
|
+
content: { type: "text", required: false, description: "CSV text, or a reference to an earlier step's file content" },
|
|
4509
4538
|
delimiter: { type: "select", required: false, options: [",", ";", "\t", "|"] },
|
|
4510
4539
|
headerRow: { type: "number", required: false, min: 1, description: "1-based row that holds the column headers" },
|
|
4511
4540
|
encoding: { type: "string", required: false, description: "Text encoding (utf-8 by default)" },
|
|
@@ -4531,7 +4560,7 @@ var JsonActionConfig = {
|
|
|
4531
4560
|
schema: {
|
|
4532
4561
|
operation: { type: "select", required: true, options: FILE_FORMAT_OPERATIONS, description: "parse (JSON → records), generate (records → JSON) or edit an existing file" },
|
|
4533
4562
|
format: { type: "select", required: false, options: ["json", "jsonl"], description: "json (array) or jsonl (one object per line)" },
|
|
4534
|
-
content: { type: "text", required: false, description: "JSON text, or
|
|
4563
|
+
content: { type: "text", required: false, description: "JSON text, or a reference to an earlier step's file content" },
|
|
4535
4564
|
prettyPrint: { type: "boolean", required: false, description: "generate: indent the output" },
|
|
4536
4565
|
fileName: { type: "string", required: false, description: "generate: name of the produced file" },
|
|
4537
4566
|
jsonl: { type: "boolean", required: false, description: "edit: treat the file as JSONL" },
|
|
@@ -4558,7 +4587,7 @@ var XmlActionConfig = {
|
|
|
4558
4587
|
},
|
|
4559
4588
|
schema: {
|
|
4560
4589
|
operation: { type: "select", required: true, options: FILE_FORMAT_OPERATIONS, description: "parse (XML → records), generate (records → XML) or edit an existing file" },
|
|
4561
|
-
content: { type: "text", required: false, description: "XML text, or
|
|
4590
|
+
content: { type: "text", required: false, description: "XML text, or a reference to an earlier step's file content" },
|
|
4562
4591
|
rootElement: { type: "string", required: false, description: "generate: root element name" },
|
|
4563
4592
|
rowElement: { type: "string", required: false, description: "Element that holds one record" },
|
|
4564
4593
|
fileName: { type: "string", required: false, description: "generate: name of the produced file" },
|
|
@@ -4580,7 +4609,7 @@ var ExcelActionConfig = {
|
|
|
4580
4609
|
},
|
|
4581
4610
|
schema: {
|
|
4582
4611
|
operation: { type: "select", required: true, options: FILE_FORMAT_OPERATIONS, description: "parse (Excel → records), generate (records → Excel) or edit an existing file" },
|
|
4583
|
-
content: { type: "text", required: false, description: "
|
|
4612
|
+
content: { type: "text", required: false, description: "A reference to an earlier step's Excel file (its s3Key output), or base64 bytes" },
|
|
4584
4613
|
sheetName: { type: "string", required: false, description: "Sheet to read; the first sheet when absent" },
|
|
4585
4614
|
headerRow: { type: "number", required: false, min: 1, description: "1-based row that holds the column headers" },
|
|
4586
4615
|
fileName: { type: "string", required: false, description: "generate: name of the produced file" },
|
|
@@ -4598,7 +4627,7 @@ var FIXED_SCHEMA = {
|
|
|
4598
4627
|
connector: { type: "connection", required: true, description: "Storage connector instance; its provider decides the operations" },
|
|
4599
4628
|
operation: { type: "select", required: true, description: "Per provider: list, download, upload, delete, copy, move, presign, share, create_folder, transfer, sync" },
|
|
4600
4629
|
outputAs: { type: "string", required: false, description: "Name of this step's output in the run's data bag" },
|
|
4601
|
-
content: { type: "text", required: false, description: "upload: the
|
|
4630
|
+
content: { type: "text", required: false, description: "upload: the file content; blank uploads the file the step before produced" },
|
|
4602
4631
|
destConnector: { type: "connection", required: false, description: "transfer / sync: destination connector instance" },
|
|
4603
4632
|
destPath: { type: "string", required: false, description: "transfer / sync: destination path; also move / copy destination on path-based providers" },
|
|
4604
4633
|
sourceIsDirectory: { type: "boolean", required: false, description: "transfer: copy a folder recursively" },
|
|
@@ -6002,6 +6031,8 @@ export {
|
|
|
6002
6031
|
FILE_EDIT_SCHEMA,
|
|
6003
6032
|
FILE_EDIT_SOURCES,
|
|
6004
6033
|
FILE_FORMAT_OPERATIONS,
|
|
6034
|
+
FILE_INPUT_HELP,
|
|
6035
|
+
FILE_OUTPUT_HELP,
|
|
6005
6036
|
FTP_OPERATIONS,
|
|
6006
6037
|
FieldType,
|
|
6007
6038
|
ForEachConfig,
|
|
@@ -6027,6 +6058,7 @@ export {
|
|
|
6027
6058
|
S3ActionConfig,
|
|
6028
6059
|
S3_OPERATIONS,
|
|
6029
6060
|
STORAGE_CONNECTOR_IDS,
|
|
6061
|
+
STORAGE_DOWNLOAD_OUTPUT_SCHEMA,
|
|
6030
6062
|
SortDirection,
|
|
6031
6063
|
StorageActionConfig,
|
|
6032
6064
|
TRANSFORM_MODES,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@octaviaflow/flow-rules",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.0",
|
|
4
4
|
"description": "The flow action catalog and the rules engine behind Flow Doctor — one definition of what a step accepts and what makes a flow valid, shared by the editor and the server",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|