@revoengine/sdk 1.5.7 → 1.6.2

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.
@@ -1,8 +1,8 @@
1
1
  import * as node_worker_threads from 'node:worker_threads';
2
2
 
3
- declare const SDK_VERSION: "1.5.7";
3
+ declare const SDK_VERSION: "1.6.2";
4
4
  declare const PROTOCOL_VERSION: 1;
5
- declare const CONTRACT_REVISION: "6e40b0c7b8650b52573b3ea81cb1b0b67e62cdb4c342c6b33c3021c26af496d0";
5
+ declare const CONTRACT_REVISION: "904f6aea1cacfc32b7fda4e976b2e01f73202462f8a4785dc12deac7c4563e38";
6
6
  type RuntimeSurfaceName = 'api' | 'storage' | 'transport' | 'agents' | 'lowCode';
7
7
 
8
8
  // AUTO-GENERATED FILE. DO NOT EDIT DIRECTLY.
@@ -43,9 +43,9 @@ interface SwaggerAgentCheapTurnPolicyDto {
43
43
  }
44
44
  interface SwaggerAgentConfigDto {
45
45
  /** Supported assistant model used when the agent starts a thread. */
46
- "model"?: "gpt-5.6-sol" | "gpt-5.6-terra" | "gpt-5.6-luna";
46
+ "model"?: "gpt-6-sol" | "gpt-6-luna";
47
47
  /** Reasoning effort passed to assistant threads. */
48
- "reasoningEffort"?: "low" | "medium" | "high" | "xhigh";
48
+ "reasoningEffort"?: "none" | "low" | "medium" | "high" | "xhigh";
49
49
  /** Durable execution-mode default used for agent-loop turns. Per-turn fast-path routing and prompt-tier selection are derived by runtime, not configured here. */
50
50
  "executionMode"?: "interactive" | "execute" | "background" | "automation";
51
51
  /** Durable planning policy default used for agent-loop turns. standard executes normally; review_required creates a reviewed plan before interactive execution. */
@@ -114,7 +114,7 @@ interface SwaggerAgentPluginApprovalConfigDto {
114
114
  interface SwaggerAgentPluginComponentToolConfigDto {
115
115
  /** Whether this component-backed tool is enabled for runtime selection and execution. */
116
116
  "enabled"?: boolean;
117
- /** Whether this component-backed tool is deferred behind discovery instead of eagerly exposed. */
117
+ /** Whether this exact expanded component action is deferred behind plugin discovery/loading instead of eagerly exposed. */
118
118
  "deferLoading"?: boolean;
119
119
  /** Explicit local tool alias exposed to the runtime when set. */
120
120
  "alias"?: string;
@@ -128,7 +128,7 @@ interface SwaggerAgentPluginComponentToolConfigDto {
128
128
  "inputs"?: Record<string, unknown>;
129
129
  /** Named component result to return when the component executor supports result popping. */
130
130
  "popResult"?: string;
131
- /** Strict structured input schema exposed for this tool. The component receives matching arguments under api.input().agentTool.args. Must be an object schema with additionalProperties=false and descriptions on every declared property. */
131
+ /** Strict model-facing input schema for this exact action. The component receives matching arguments under api.input().agentTool.args and must explicitly translate them when a downstream provider uses a different wire shape. Must be an object schema with additionalProperties=false and descriptions on every declared property. */
132
132
  "inputSchema"?: Record<string, unknown>;
133
133
  /** Structured output schema expected from this tool. */
134
134
  "outputSchema"?: Record<string, unknown>;
@@ -150,7 +150,7 @@ interface SwaggerAgentPluginComponentToolConfigDto {
150
150
  interface SwaggerAgentPluginComponentToolsetDto {
151
151
  /** Default governance and loading policy for component-backed tools. */
152
152
  "defaultConfig"?: SwaggerAgentPluginComponentToolConfigDto;
153
- /** Component-backed tools keyed by stable capability name. */
153
+ /** Component-backed actions keyed by stable capability name. Every entry expands into a separate executable tool; alias is its exact local model-visible action name when set. */
154
154
  "tools"?: Record<string, unknown>;
155
155
  }
156
156
  interface SwaggerAgentPluginConfigDto {
@@ -170,6 +170,8 @@ interface SwaggerAgentPluginConfigDto {
170
170
  "executionMode"?: "sync" | "background";
171
171
  /** Component id executed when this plugin runs. */
172
172
  "componentId"?: string;
173
+ /** Portable component revision digest. */
174
+ "componentDigest"?: string;
173
175
  /** Optional fixed component version. */
174
176
  "componentVersion"?: number;
175
177
  /** Multiple governed tool contracts backed by the same component implementation. */
@@ -210,8 +212,10 @@ interface SwaggerAgentPluginConfigDto {
210
212
  interface SwaggerAgentPluginMcpConfigDto {
211
213
  /** Remote MCP transport supported by the SaaS runtime. */
212
214
  "transport": "streamable_http" | "sse";
213
- /** Absolute HTTPS endpoint for the remote MCP server. */
215
+ /** Absolute public HTTPS MCP endpoint URL. Private and localhost destinations are blocked at connection time. */
214
216
  "url": string;
217
+ /** Public HTTPS network policy. Legacy private values are restricted to public HTTPS at execution time. */
218
+ "networkAccess"?: "public";
215
219
  /** Manifest cache time-to-live in milliseconds. */
216
220
  "manifestTtlMs"?: number;
217
221
  /** Connection and handshake timeout in milliseconds. */
@@ -236,6 +240,8 @@ interface SwaggerAgentPluginMcpConfigDto {
236
240
  interface SwaggerAgentPluginMcpHeaderBindingDto {
237
241
  /** Header name sent to the remote MCP server. */
238
242
  "name": string;
243
+ /** Vault BoundValue resolved for the executing user, organization, or instance after an explicit grant. */
244
+ "vault"?: SwaggerAgentPluginMcpVaultRefDto;
239
245
  /** Secret id containing the header value. */
240
246
  "secretId"?: string;
241
247
  /** Optional secret data revision id when the binding should pin a specific secret revision. */
@@ -248,7 +254,7 @@ interface SwaggerAgentPluginMcpHeaderBindingDto {
248
254
  interface SwaggerAgentPluginMcpToolConfigDto {
249
255
  /** Whether the tool is enabled for runtime selection and execution. */
250
256
  "enabled"?: boolean;
251
- /** Whether the tool is deferred behind discovery instead of eagerly exposed. */
257
+ /** Whether the remote tool schema is deferred behind plugin discovery/loading instead of eagerly exposed. The manifest tool remains known by remote name; alias changes only its local exposed name. */
252
258
  "deferLoading"?: boolean;
253
259
  /** Explicit local tool alias exposed to the runtime when set. */
254
260
  "alias"?: string;
@@ -268,9 +274,23 @@ interface SwaggerAgentPluginMcpToolConfigDto {
268
274
  interface SwaggerAgentPluginMcpToolsetDto {
269
275
  /** Default governance and loading policy for tools discovered from this MCP server. */
270
276
  "defaultConfig"?: SwaggerAgentPluginMcpToolConfigDto;
271
- /** Per-remote-tool overrides keyed by remote tool name. */
277
+ /** Per-remote-tool overrides keyed by exact remote manifest tool name, never by local alias or plugin registry id. */
272
278
  "configs"?: Record<string, unknown>;
273
279
  }
280
+ interface SwaggerAgentPluginMcpVaultRefDto {
281
+ /** Opaque Vault reference marker. */
282
+ "__revoBoundValue": "vault-v1";
283
+ /** Credential requirement name declared by the plugin. */
284
+ "name": string;
285
+ /** Credential owner scope. */
286
+ "scope": "instance" | "user" | "organization";
287
+ /** Vault value source. */
288
+ "source": "secret" | "integration";
289
+ /** Literal text prepended to the resolved value. */
290
+ "prefix": string;
291
+ /** Literal text appended to the resolved value. */
292
+ "suffix": string;
293
+ }
274
294
  interface SwaggerAgentPluginPackageConfigDto {
275
295
  /** Stable package identity used across internal catalogs and future community marketplace publishing. */
276
296
  "externalId": string;
@@ -278,12 +298,12 @@ interface SwaggerAgentPluginPackageConfigDto {
278
298
  "format"?: "markdown";
279
299
  /** Markdown instruction content loaded into the assistant runtime when the package is attached. */
280
300
  "content": string;
281
- /** Registry plugin ids declared as package dependencies. */
301
+ /** Exact direct registry plugin UUIDs exposed lazily when this package is loaded. Dependencies may be skill, tools, or MCP plugins, never packages. */
282
302
  "pluginIds"?: Array<string>;
283
303
  /** Disabled marketplace-facing package metadata reserved for catalog publishing. */
284
304
  "metadata"?: SwaggerAgentPluginPackageMetadataDto;
285
- /** Maximum number of package content characters allowed into one prompt. */
286
- "maxPromptChars"?: number;
305
+ /** Maximum number of package content tokens allowed into one prompt. Defaults to 10000. */
306
+ "maxPromptTokens"?: number;
287
307
  }
288
308
  interface SwaggerAgentPluginPackageMetadataDto {
289
309
  /** Package avatar or icon URL shown in package catalogs. */
@@ -320,10 +340,10 @@ interface SwaggerAgentPluginSkillConfigDto {
320
340
  "format"?: "markdown";
321
341
  /** Markdown instruction content loaded into the assistant runtime when the plugin is attached. */
322
342
  "content": string;
323
- /** Registry plugin ids declared as one-level skill dependencies. */
343
+ /** Exact registry plugin UUIDs exposed lazily when this skill is loaded. Dependencies may be skill, tools, or MCP plugins, never packages. */
324
344
  "pluginIds"?: Array<string>;
325
- /** Maximum number of skill content characters allowed into one prompt. */
326
- "maxPromptChars"?: number;
345
+ /** Maximum number of skill content tokens allowed into one prompt. Defaults to 10000. */
346
+ "maxPromptTokens"?: number;
327
347
  }
328
348
  interface SwaggerAgentPolicyDto {
329
349
  /** Default approval mode applied to agent tool calls when no per-tool override exists. */
@@ -523,8 +543,8 @@ interface SwaggerStorageSheetColumnDto {
523
543
  "key": string;
524
544
  /** Visible header. Defaults to key. */
525
545
  "header"?: string;
526
- /** Logical value type retained in XLSX fileStats and used by typed row producers and getFileData reads. Without a declared type, imported XLSX values remain strings; styles never infer a type. */
527
- "type"?: "string" | "number" | "boolean" | "date";
546
+ /** Logical value type retained in XLSX/CSV/TSV fileStats and used by typed row producers and getFileData reads. Object parses a JSON object or array from text. Without a declared type, imported tabular values remain strings; XLSX styles never infer a type. */
547
+ "type"?: "string" | "number" | "boolean" | "date" | "object";
528
548
  /** Column width in Excel character units. */
529
549
  "width"?: number;
530
550
  /** Hide the worksheet column. */
@@ -558,9 +578,15 @@ interface SwaggerStorageSheetTableDto {
558
578
  "header"?: boolean;
559
579
  /** Add an auto-filter to the table header. */
560
580
  "autoFilter"?: boolean;
561
- /** Stable column order. Required for every worksheet in writeMode "direct"; optional in "staged" mode, where keys may be inferred from appended rows. */
581
+ /** Stable XLSX/CSV/TSV column order, keys, headers, and logical types. Required for every logical sheet in writeMode "direct"; optional in "staged" mode, where keys may be inferred from appended rows. */
562
582
  "columns"?: Array<SwaggerStorageSheetColumnDto>;
563
583
  }
584
+ interface SwaggerStorageTabularSchemaPolicyDto {
585
+ /** How missing sheets or columns and invalid declared values are handled. fallback retains imperfect data with diagnostics; strict fails structured indexing. Defaults to fallback. */
586
+ "profile"?: "fallback" | "strict";
587
+ /** How undeclared source columns are handled. allow retains them, strip omits them from structured rows, and reject fails indexing. Defaults to allow for fallback and reject for strict. The raw file is preserved. */
588
+ "additionalProperties"?: "allow" | "strip" | "reject";
589
+ }
564
590
  interface SwaggerWebhookRequestDetailsDto {
565
591
  "url": string;
566
592
  "method": "POST" | "GET" | "HEAD" | "PUT" | "DELETE" | "PATCH" | "OPTIONS";
@@ -668,14 +694,14 @@ interface AssistantMessageInput {
668
694
  "content": string;
669
695
  /** Optional hidden draft user message id created before attachment uploads. When provided, the send operation finalizes that draft instead of creating a new user message. */
670
696
  "preflightMessageId"?: string;
671
- /** Optional assistant execution-model override. GPT-5.6 Luna is the default; GPT-5.6 Sol, Terra, and Luna are supported. */
672
- "model"?: "gpt-5.6-sol" | "gpt-5.6-terra" | "gpt-5.6-luna";
673
- /** Optional GPT-5.6 Luna Fast mode. The backend rejects enabling it for any other model. Defaults to false and remains opt-in per thread. */
697
+ /** Optional assistant execution-model override. GPT-6 Luna is the default; GPT-6 Sol and Luna are supported. */
698
+ "model"?: "gpt-6-sol" | "gpt-6-luna";
699
+ /** Optional GPT-6 Sol or Luna Fast mode. Defaults to false and remains opt-in per thread. */
674
700
  "fastMode"?: boolean;
675
- /** Optional assistant reasoning effort override: low, medium, high, or xhigh. Defaults to low. */
676
- "reasoningEffort"?: "low" | "medium" | "high" | "xhigh";
701
+ /** Optional assistant reasoning effort override: none, low, medium, high, or xhigh. Defaults to medium. */
702
+ "reasoningEffort"?: "none" | "low" | "medium" | "high" | "xhigh";
677
703
  /** Alias for reasoningEffort used by assistant preferences. Prefer reasoningEffort for new clients. */
678
- "reasoning"?: "low" | "medium" | "high" | "xhigh";
704
+ "reasoning"?: "none" | "low" | "medium" | "high" | "xhigh";
679
705
  /** Optional flag selecting deadline-bounded background provider recovery. On SSE routes it also allows the turn to continue after client disconnect. Defaults to false. */
680
706
  "backgroundProcessing"?: boolean;
681
707
  /** Optional flag for send-message endpoints. When true, an active streamed assistant turn for the thread is interrupted before appending this message. */
@@ -704,7 +730,7 @@ interface StorageFolderInput {
704
730
  "name": string;
705
731
  /** Parent folder id. Omit for root. */
706
732
  "parentStorageEntryId"?: string;
707
- /** Optional provider config id for root-level folders. Omit for the internal/default provider. Ignored when parentStorageEntryId is provided. */
733
+ /** Optional registered Storage destination for root-level folders. Omit to use the default destination. Ignored when parentStorageEntryId is provided. */
708
734
  "storageProviderConfigId"?: string;
709
735
  /** Folder metadata. Values may use any JSON type. Maximum 16 KiB and 64 top-level keys. Top-level keys starting with "__" are reserved for backend use. */
710
736
  "metadata"?: Record<string, unknown> | null;
@@ -726,7 +752,7 @@ interface StorageUploadSessionInput {
726
752
  "retention"?: SwaggerStorageRetentionDto | null;
727
753
  /** Parent folder id. Required for create mode when uploading into a folder. */
728
754
  "parentStorageEntryId"?: string;
729
- /** Optional provider config id for root-level uploads. Omit for the internal/default provider. Ignored when parentStorageEntryId is provided or when replacing an existing file. */
755
+ /** Optional registered Storage destination for a root-level upload. Omit to use the default destination. Ignored when parentStorageEntryId is provided or when replacing an existing file. */
730
756
  "storageProviderConfigId"?: string;
731
757
  /** Existing storage entry id to replace instead of creating a new file. */
732
758
  "replaceStorageEntryId"?: string;
@@ -744,18 +770,22 @@ interface StorageUploadSessionInput {
744
770
  COLD: Compliance snapshots, historic imports, and retained evidence that is rarely opened.
745
771
  FROZEN: Deep archive or legal-hold data kept mainly for audit or recovery obligations. */
746
772
  "tier"?: "HOT" | "WARM" | "COLD" | "FROZEN";
747
- /** Upload mode. Use "direct" for provider resumable uploads, "chunked" for explicit numbered parts, and "incremental" for server-assigned part numbering by default. Incremental sessions can still re-upload a specific part number when repairing an upload. */
773
+ /** Byte-transfer mode. Use "direct" when the client sends the complete file to the returned temporary upload target, "chunked" for explicit numbered parts, and "incremental" for server-assigned part numbering by default. Incremental sessions can still re-upload a specific part number when repairing an upload. */
748
774
  "uploadMode"?: "direct" | "chunked" | "incremental";
749
775
  /** Post-finalize compute mode for this upload session. Defaults to sync for XLSX and text/* sessions and none for other binary sessions; an explicit value always overrides the default. */
750
776
  "computeStats"?: "none" | "sync" | "async";
777
+ /** Independent validation and undeclared-column policies for an uploaded XLSX, CSV, or TSV. Defaults to fallback validation with additional columns allowed; strict validation defaults to rejecting additional columns. The raw file is preserved. */
778
+ "schemaPolicy"?: SwaggerStorageTabularSchemaPolicyDto;
751
779
  /** Structured file write mode. Use "direct" for a predeclared CSV/XLSX layout with row-only XLSX parts. Use the default "staged" mode for independent requests that may be retried, replaced, reordered, or use inferred columns, sparse cells, formulas, or dynamic worksheets. For direct XLSX, declare every worksheet and its table.columns before the first append. */
752
780
  "writeMode"?: "staged" | "direct";
753
- /** CSV dialect used when row payloads are appended to a text/csv session. */
781
+ /** CSV/TSV dialect used when row payloads are appended or direct uploaded bytes are indexed. */
754
782
  "csv"?: SwaggerStorageCsvOptionsDto;
755
- /** Workbook worksheet layout. XLSX is inferred from contentTypeHint. In writeMode "direct", declare every worksheet here and configure table.columns for each one. */
783
+ /** Shared tabular layout. XLSX accepts multiple worksheets; CSV/TSV accepts one logical sheet used for column keys, types, and schema diagnostics. In writeMode "direct", configure table.columns for every declared sheet. */
756
784
  "sheets"?: Array<SwaggerStorageSheetOptionsDto>;
757
785
  /** File metadata. Values may use any JSON type. Maximum 16 KiB and 64 top-level keys. Top-level keys starting with "__" are reserved for backend use. */
758
786
  "metadata"?: Record<string, unknown> | null;
787
+ /** Suppress Storage lifecycle events for the finalized file. Omit to preserve the existing setting on replacement; false explicitly enables events. */
788
+ "ignoreEvent"?: boolean;
759
789
  /** Optional external reference id. */
760
790
  "refId"?: string;
761
791
  /** Optional external reference type. */
@@ -798,7 +828,7 @@ interface StoragePutObjectInput {
798
828
  "retention"?: SwaggerStorageRetentionDto | null;
799
829
  /** Parent folder id. Omit for root. */
800
830
  "parentStorageEntryId"?: string;
801
- /** Optional provider config id for root-level writes. */
831
+ /** Optional registered Storage destination for root-level writes. Omit to use the default destination. */
802
832
  "storageProviderConfigId"?: string;
803
833
  /** Existing file entry id to replace. */
804
834
  "replaceStorageEntryId"?: string;
@@ -826,6 +856,8 @@ interface StoragePutObjectInput {
826
856
  "refVer"?: number;
827
857
  /** Entry metadata. Values may use any JSON type. Maximum 16 KiB and 64 top-level keys. Top-level keys starting with "__" are reserved for backend use. */
828
858
  "metadata"?: Record<string, unknown> | null;
859
+ /** Suppress Storage lifecycle events for this file. Omit to preserve the existing setting on replacement; false explicitly enables events. */
860
+ "ignoreEvent"?: boolean;
829
861
  /** Logical storage lifecycle tier. Select only when creating a new file or upload session; existing files keep their tier.
830
862
  HOT: Active files used in live workflows, previews, and frequent downloads.
831
863
  WARM: Completed or less-active business files that are still occasionally accessed.
@@ -849,13 +881,13 @@ interface AssistantActionResolutionInput {
849
881
  /** Optional flag selecting deadline-bounded background provider recovery. On the SSE route it also allows the resumed turn to continue after client disconnect. Streamed action resolution defaults this to true. */
850
882
  "backgroundProcessing"?: boolean;
851
883
  /** Optional assistant model override for the resumed turn after this action is resolved. */
852
- "model"?: "gpt-5.6-sol" | "gpt-5.6-terra" | "gpt-5.6-luna";
853
- /** Optional GPT-5.6 Luna Fast-mode override for the resumed turn. The backend rejects enabling it for any other model. */
884
+ "model"?: "gpt-6-sol" | "gpt-6-luna";
885
+ /** Optional Fast-mode override for the resumed turn. Available on GPT-6 Sol and Luna. */
854
886
  "fastMode"?: boolean;
855
- /** Optional assistant reasoning effort override for the resumed turn: low, medium, high, or xhigh. */
856
- "reasoningEffort"?: "low" | "medium" | "high" | "xhigh";
887
+ /** Optional assistant reasoning effort override for the resumed turn: none, low, medium, high, or xhigh. */
888
+ "reasoningEffort"?: "none" | "low" | "medium" | "high" | "xhigh";
857
889
  /** Alias for reasoningEffort used by assistant preferences. Prefer reasoningEffort for new clients. */
858
- "reasoning"?: "low" | "medium" | "high" | "xhigh";
890
+ "reasoning"?: "none" | "low" | "medium" | "high" | "xhigh";
859
891
  /** Execution mode override for the resumed turn after this action is resolved. */
860
892
  "executionMode"?: "interactive" | "execute" | "background" | "automation";
861
893
  /** Planning policy override for the resumed turn after this action is resolved. */
@@ -1258,7 +1290,8 @@ interface SelectJoinOn {
1258
1290
  }
1259
1291
  /**
1260
1292
  * Join definition.
1261
- * If alias is omitted, the backend defaults it to the join table name.
1293
+ * `table` is the logical name of a database, view, or materialized view.
1294
+ * If alias is omitted, the backend defaults it to that logical relation name.
1262
1295
  */
1263
1296
  interface SelectJoin {
1264
1297
  alias?: string;
@@ -1268,7 +1301,8 @@ interface SelectJoin {
1268
1301
  }
1269
1302
  /**
1270
1303
  * Public structured input accepted by api.getDatabaseData(name, options).
1271
- * The backend injects the source table schema automatically based on the name argument.
1304
+ * The backend resolves databases, views, and materialized views by logical name
1305
+ * and injects their physical relation and schema metadata automatically.
1272
1306
  */
1273
1307
  interface SelectInput {
1274
1308
  /**
@@ -1277,8 +1311,8 @@ interface SelectInput {
1277
1311
  */
1278
1312
  fields?: SelectItem[];
1279
1313
  /**
1280
- * Related tables to join.
1281
- * The backend resolves join definitions automatically.
1314
+ * Related databases, views, or materialized views to join.
1315
+ * The backend resolves each logical relation and its definition automatically.
1282
1316
  */
1283
1317
  joins?: SelectJoin[];
1284
1318
  /**
@@ -1567,19 +1601,26 @@ interface HttpRequestOptionsInterface {
1567
1601
  /**
1568
1602
  * JSON handling is the default. `requestType: 'json'` and `responseType: 'json'` may be stated together
1569
1603
  * when an integration should expose an explicit, self-documenting JSON contract.
1604
+ * Use `buffer` explicitly for binary data: requests accept Buffer/Uint8Array and responses return Buffer.
1605
+ * `base64buffer` retains its string contract. Keep JSON as JSON; converting it to bytes is unnecessary.
1570
1606
  */
1571
1607
  //@default: 'json'
1572
- responseType?: 'json' | 'base64buffer' | 'document' | 'text' | 'storage';
1608
+ responseType?: 'json' | 'buffer' | 'base64buffer' | 'document' | 'text' | 'storage';
1573
1609
  //@default: 'json'
1574
- requestType?: 'json' | 'base64buffer' | 'form-data' | 'text' | 'storage';
1610
+ requestType?: 'json' | 'buffer' | 'base64buffer' | 'form-data' | 'text' | 'storage';
1575
1611
  //@default: false
1576
1612
  currentCredentials?: boolean;
1577
1613
  }
1614
+ interface HttpRevoResponseScope {
1615
+ sameInstance: boolean;
1616
+ operationId?: string;
1617
+ }
1578
1618
  interface HttpRequestInterface {
1579
1619
  url: string;
1580
1620
  method: 'POST' | 'PUT' | 'DELETE' | 'GET' | 'PATCH' | 'OPTIONS' | 'HEAD' | 'PURGE' | 'LINK' | 'UNLINK';
1581
1621
  timeout?: number;
1582
- headers?: LooseObject<string>;
1622
+ /** Vault references are resolved only by the trusted HTTP sender, never in low-code. */
1623
+ headers?: LooseObject<string | VaultBoundValue>;
1583
1624
  params?: TemplateParameters[];
1584
1625
  data?: any;
1585
1626
  //@default: undefined
@@ -1687,6 +1728,8 @@ interface StorageUploadSessionPart {
1687
1728
  interface StorageUploadPartResult {
1688
1729
  storageUploadSessionId: string;
1689
1730
  partNumber: number;
1731
+ /** UPLOADED after provider acceptance; RETRY_WAIT/UPLOADING remains durably queued by the platform. */
1732
+ status: 'UPLOADED' | 'UPLOADING' | 'RETRY_WAIT' | null;
1690
1733
  size: number;
1691
1734
  checksumMd5: string | null;
1692
1735
  }
@@ -1756,7 +1799,7 @@ interface StorageFileReadOptions {
1756
1799
  buffer?: boolean;
1757
1800
  start?: number;
1758
1801
  end?: number;
1759
- /** Continue a structured CSV/XLSX read. Cursor restores sheet and batch position. */
1802
+ /** Continue a structured CSV/TSV, XLSX, NDJSON/JSONL, JSON-array, or XML read. Keep the opaque cursor unchanged. */
1760
1803
  cursor?: string;
1761
1804
  /** XLSX sheet name. The first visible sheet is used when omitted. */
1762
1805
  sheet?: string;
@@ -1778,7 +1821,7 @@ interface StorageFileReadOptions {
1778
1821
  columns?: Array<string | {
1779
1822
  source: string;
1780
1823
  key?: string;
1781
- type?: 'string' | 'number' | 'boolean' | 'date';
1824
+ type?: StorageTabularColumnType;
1782
1825
  }>;
1783
1826
  }
1784
1827
  interface StorageFileStatsOptions {
@@ -1794,6 +1837,29 @@ interface StorageFileStatsOptions {
1794
1837
  /** XML record path such as `Orders/Order`; required for XML row stats. */
1795
1838
  recordPath?: string;
1796
1839
  }
1840
+ type StorageTabularColumnType = 'string' | 'number' | 'boolean' | 'date' | 'object';
1841
+ interface StorageTabularColumn {
1842
+ key: string;
1843
+ header: string;
1844
+ type?: StorageTabularColumnType;
1845
+ }
1846
+ interface StorageTabularSchemaIssue {
1847
+ code: 'SHEET_MISSING' | 'SHEET_UNDECLARED' | 'COLUMN_MISSING' | 'COLUMN_UNDECLARED' | 'COLUMN_KEY_DUPLICATE' | 'COLUMN_TYPE_FALLBACK';
1848
+ sheet: string;
1849
+ column?: string;
1850
+ declaredType?: StorageTabularColumnType;
1851
+ invalidRows?: number;
1852
+ sampleRows?: number[];
1853
+ }
1854
+ interface StorageTabularSchemaPolicy {
1855
+ profile: 'fallback' | 'strict';
1856
+ additionalProperties: 'allow' | 'strip' | 'reject';
1857
+ }
1858
+ interface StorageTabularSchemaResult {
1859
+ policy: StorageTabularSchemaPolicy;
1860
+ status: 'MATCHED' | 'FALLBACK' | 'FAILED';
1861
+ issues: StorageTabularSchemaIssue[];
1862
+ }
1797
1863
  interface StorageFileStats {
1798
1864
  lineCount?: number;
1799
1865
  map?: LooseObject<number>;
@@ -1802,42 +1868,29 @@ interface StorageFileStats {
1802
1868
  batchSize?: number;
1803
1869
  encoding?: string | null;
1804
1870
  format?: 'csv' | 'xlsx' | 'ndjson' | 'json-array' | 'xml';
1805
- columns?: Array<{
1806
- key: string;
1807
- header: string;
1808
- }>;
1871
+ columns?: StorageTabularColumn[];
1809
1872
  bom?: boolean;
1810
1873
  delimiter?: string;
1811
1874
  recordDelimiter?: string;
1812
1875
  quote?: string;
1813
1876
  escape?: string;
1814
1877
  rowCount?: number;
1815
- headers?: Array<{
1816
- key: string;
1817
- header: string;
1818
- }>;
1878
+ headers?: StorageTabularColumn[];
1879
+ /** Present when an XLSX/CSV/TSV upload session declared table columns. */
1880
+ schema?: StorageTabularSchemaResult;
1819
1881
  sheets?: Array<{
1820
1882
  name: string;
1821
1883
  state: 'visible' | 'hidden' | 'veryHidden';
1822
1884
  rowCount: number;
1823
1885
  batches: number;
1824
- columns: Array<{
1825
- key: string;
1826
- header: string;
1827
- }>;
1886
+ columns: StorageTabularColumn[];
1828
1887
  }>;
1829
1888
  }
1830
1889
  interface StorageStructuredFileDataPage {
1831
1890
  format: 'csv' | 'xlsx' | 'ndjson' | 'json-array' | 'xml';
1832
1891
  sheet: string | null;
1833
- headers: Array<{
1834
- key: string;
1835
- header: string;
1836
- }>;
1837
- columns: Array<{
1838
- key: string;
1839
- header: string;
1840
- }>;
1892
+ headers: StorageTabularColumn[];
1893
+ columns: StorageTabularColumn[];
1841
1894
  rows: Array<LooseObject<any>>;
1842
1895
  rowCount: number;
1843
1896
  totalRows: number;
@@ -2009,7 +2062,7 @@ type ExportDatabaseOptions = Omit<SelectInput, 'from'> & {
2009
2062
  /** Suppress the export completion/failure System notification for this low-code call. */
2010
2063
  skipNotification?: boolean;
2011
2064
  /** Output format. CSV is the default. XLSX validates the effective row count before starting. */
2012
- format?: 'csv' | 'xlsx';
2065
+ format?: 'csv' | 'tsv' | 'ndjson' | 'xlsx';
2013
2066
  /** Omit for private user storage, use ROOT, or provide an accessible explorer folder id. */
2014
2067
  storageDestination?: 'ROOT' | string;
2015
2068
  /** Dedicated output name. Omit for an automatic database-and-timestamp name using the selected extension. */
@@ -2028,14 +2081,30 @@ type ExportDatabaseOptions = Omit<SelectInput, 'from'> & {
2028
2081
  /** Omit for the destination default, null for no expiration. */
2029
2082
  retention?: StorageRetentionInput;
2030
2083
  };
2084
+ type ImportDatabaseOptions = {
2085
+ storageEntryId: string;
2086
+ format: 'csv' | 'tsv' | 'ndjson' | 'xlsx';
2087
+ mode: 'insert' | 'upsert';
2088
+ onError: 'abort' | 'skipRow';
2089
+ mapping?: {
2090
+ columns: Record<string, {
2091
+ databaseName: string;
2092
+ column: string;
2093
+ } | null>;
2094
+ nullMode?: 'escaped' | 'literal' | 'empty' | 'nullText';
2095
+ };
2096
+ /** Skips manual approval after the same full validation; ambiguous mapping still needs review. */
2097
+ autoCommit?: boolean;
2098
+ };
2031
2099
  interface ExportDatabaseAcceptedResponse {
2032
2100
  accepted: true;
2033
2101
  databaseId: string;
2034
2102
  exportId: string;
2103
+ jobId: string;
2035
2104
  storageNamespace: string;
2036
2105
  parentStorageEntryId: string | null;
2037
2106
  fileName: string;
2038
- format: 'csv' | 'xlsx';
2107
+ format: 'csv' | 'tsv' | 'ndjson' | 'xlsx';
2039
2108
  restricted: boolean;
2040
2109
  message: string;
2041
2110
  }
@@ -2044,10 +2113,11 @@ interface ExportDatabaseCompletedResponse {
2044
2113
  completed: true;
2045
2114
  databaseId: string;
2046
2115
  exportId: string;
2116
+ jobId: string;
2047
2117
  storageNamespace: string;
2048
2118
  parentStorageEntryId: string | null;
2049
2119
  fileName: string;
2050
- format: 'csv' | 'xlsx';
2120
+ format: 'csv' | 'tsv' | 'ndjson' | 'xlsx';
2051
2121
  restricted: boolean;
2052
2122
  storageEntryId: string;
2053
2123
  storageEntry: StorageEntryView;
@@ -2258,7 +2328,7 @@ interface AgentPluginSkillConfig {
2258
2328
  format?: 'markdown';
2259
2329
  content: string;
2260
2330
  pluginIds?: string[];
2261
- maxPromptChars?: number;
2331
+ maxPromptTokens?: number;
2262
2332
  }
2263
2333
  interface AgentPluginPackageMetadata {
2264
2334
  avatarUrl?: string | null;
@@ -2279,7 +2349,7 @@ interface AgentPluginPackageConfig {
2279
2349
  content: string;
2280
2350
  pluginIds?: string[];
2281
2351
  metadata?: AgentPluginPackageMetadata;
2282
- maxPromptChars?: number;
2352
+ maxPromptTokens?: number;
2283
2353
  }
2284
2354
  interface AgentPluginConfig {
2285
2355
  contractVersion?: 1;
@@ -2688,9 +2758,19 @@ interface RevoApi {
2688
2758
  exportDatabase<TAsync extends boolean = false>(name: string, options?: ExportDatabaseOptions & {
2689
2759
  async?: TAsync;
2690
2760
  }): Promise<TAsync extends true ? ExportDatabaseAcceptedResponse : TAsync extends false ? ExportDatabaseCompletedResponse : ExportDatabaseResponse>;
2691
- exportDatabaseView<TAsync extends boolean = false>(name: string, options?: ExportDatabaseOptions & {
2692
- async?: TAsync;
2693
- }): Promise<TAsync extends true ? ExportDatabaseAcceptedResponse : TAsync extends false ? ExportDatabaseCompletedResponse : ExportDatabaseResponse>;
2761
+ importDatabase(name: string, options: ImportDatabaseOptions): Promise<{
2762
+ importId: string;
2763
+ jobId: string;
2764
+ status: string;
2765
+ }>;
2766
+ updateDatabaseImportMapping(importId: string, mapping: NonNullable<ImportDatabaseOptions['mapping']>): Promise<{
2767
+ importId: string;
2768
+ status: string;
2769
+ }>;
2770
+ commitDatabaseImport(importId: string): Promise<{
2771
+ importId: string;
2772
+ status: string;
2773
+ }>;
2694
2774
  updateDatabase(name: string, data: DatabaseUpdateInput): Promise<Database>;
2695
2775
  deleteDatabase(name: string): Promise<void>;
2696
2776
  restoreDatabase(name: string): Promise<void>;
@@ -2698,12 +2778,11 @@ interface RevoApi {
2698
2778
  getDatabaseData<T = any>(name: string, request?: DatabaseBoundedReadQuery): Promise<GetDatabaseDataResponse<T>>;
2699
2779
  getDatabaseDataRow<T = any>(name: string, query: DatabaseRowQuery): Promise<T | null>;
2700
2780
  countDatabase(name: string, query?: DatabaseCountQuery): Promise<number>;
2701
- getDatabaseViewData<T = any>(name: string, request?: SelectInput): Promise<GetDatabaseDataResponse<T>>;
2702
2781
  getDatabaseAudit(name: string, query?: DatabaseAuditQuery): Promise<DatabaseAuditResponse>;
2703
2782
  insertDatabaseData(name: string, data: LooseObject<any>[], options?: DatabaseDataWriteOptions): Promise<DatabaseDataActionResponse>;
2704
2783
  upsertDatabaseData(name: string, data: LooseObject<any>[], options?: DatabaseUpsertOptions): Promise<DatabaseDataActionResponse>;
2705
2784
  updateDatabaseData(name: string, oldObject: LooseObject<any>, newObject: LooseObject<any>): Promise<ResourceItem>;
2706
- deleteDatabaseData(name: string, data: ResourceItem[]): Promise<any>;
2785
+ deleteDatabaseData(name: string, data: LooseObject<any>[]): Promise<any>;
2707
2786
  updateDatabaseDataRequest(name: string, request: DatabaseMutationRequest, payload: DatabaseUpdateData, options?: {
2708
2787
  return?: boolean;
2709
2788
  onlyKeys?: boolean;
@@ -2729,9 +2808,7 @@ interface RevoApi {
2729
2808
  setCache(key: string, value: any): void;
2730
2809
  getContext(): Context;
2731
2810
  getErrors(): ProcessLog[];
2732
- getWarnings(): ProcessLog[];
2733
2811
  getExecutionId(): string;
2734
- getLogs(): LooseObject<any>[];
2735
2812
  getOperationId(): string;
2736
2813
  executeComponent<T = LooseObject<any>>(request: ComponentExecuteRequest): Promise<ComponentExecuteResult<T>>;
2737
2814
  input(name?: string): Input;
@@ -2780,6 +2857,7 @@ interface RevoApi {
2780
2857
  statusText: string;
2781
2858
  time: number;
2782
2859
  headers: LooseObject<string>;
2860
+ revo?: HttpRevoResponseScope;
2783
2861
  request: {
2784
2862
  config: HttpRequestInterface;
2785
2863
  options: HttpRequestOptionsInterface;
@@ -2802,6 +2880,7 @@ interface RevoApi {
2802
2880
  statusText: string;
2803
2881
  time: number;
2804
2882
  headers: LooseObject<string>;
2883
+ revo?: HttpRevoResponseScope;
2805
2884
  data: any;
2806
2885
  storage?: {
2807
2886
  session: StorageUploadSession;
@@ -2835,8 +2914,8 @@ interface RevoStorage {
2835
2914
  getEntry(namespace: string, storageEntryId: string, includeDeleted?: boolean): Promise<StorageEntryView>;
2836
2915
  createFolder(data: StorageFolderInput): Promise<StorageEntryView>;
2837
2916
  createFolder(namespace: string, data: StorageFolderInput): Promise<StorageEntryView>;
2838
- putObject(data: StoragePutObjectInput): Promise<StorageEntryView>;
2839
- putObject(namespace: string, data: StoragePutObjectInput): Promise<StorageEntryView>;
2917
+ putObject(data: StorageBinaryPutObjectInput): Promise<StorageEntryView>;
2918
+ putObject(namespace: string, data: StorageBinaryPutObjectInput): Promise<StorageEntryView>;
2840
2919
  createUploadSession(data: StorageUploadSessionInput): Promise<{
2841
2920
  session: StorageUploadSession;
2842
2921
  upload: StorageUploadTarget;
@@ -2849,8 +2928,8 @@ interface RevoStorage {
2849
2928
  extendUploadSession(namespace: string, storageUploadSessionId: string): Promise<StorageUploadSession>;
2850
2929
  getUploadSession(storageUploadSessionId: string): Promise<StorageUploadSessionView>;
2851
2930
  getUploadSession(namespace: string, storageUploadSessionId: string): Promise<StorageUploadSessionView>;
2852
- uploadPart(storageUploadSessionId: string, partNumber: number | StorageUploadPartInput, data?: StorageUploadPartInput): Promise<StorageUploadPartResult>;
2853
- uploadPart(namespace: string, storageUploadSessionId: string, partNumber: number | StorageUploadPartInput, data?: StorageUploadPartInput): Promise<StorageUploadPartResult>;
2931
+ uploadPart(storageUploadSessionId: string, partNumber: number | StorageBinaryUploadPartInput, data?: StorageBinaryUploadPartInput): Promise<StorageUploadPartResult>;
2932
+ uploadPart(namespace: string, storageUploadSessionId: string, partNumber: number | StorageBinaryUploadPartInput, data?: StorageBinaryUploadPartInput): Promise<StorageUploadPartResult>;
2854
2933
  finalizeUploadSession(storageUploadSessionId: string, data?: StorageUploadSessionFinalizeInput): Promise<{
2855
2934
  session: StorageUploadSession;
2856
2935
  entry: StorageEntryView;
@@ -3019,6 +3098,25 @@ interface RevoUtils {
3019
3098
  rsaSign(privateKey: string, payload: string, passphrase?: string): Promise<string>;
3020
3099
  rsaVerify(publicKey: string, payload: string, signature: string): Promise<boolean>;
3021
3100
  }
3101
+ type VaultScope = 'instance' | 'user' | 'organization';
3102
+ type VaultSource = 'secret' | 'integration';
3103
+ type VaultBoundValue = Readonly<{
3104
+ __revoBoundValue: 'vault-v1';
3105
+ name: string;
3106
+ scope: VaultScope;
3107
+ source: VaultSource;
3108
+ prefix: string;
3109
+ suffix: string;
3110
+ }>;
3111
+ /** Low-code byte payloads; REST JSON callers retain the base64 option. */
3112
+ /** Text arrays retain their existing joining rules; bytes are snapshotted before asynchronous upload. */
3113
+ type StorageBinaryPutObjectInput = Omit<StoragePutObjectInput, 'data'> & {
3114
+ data: string | string[] | Uint8Array | Buffer;
3115
+ };
3116
+ /** Bytes need no base64 encoding. One call remains one logical part, including retry/checksum/finalize. */
3117
+ type StorageBinaryUploadPartInput = Omit<StorageUploadPartInput, 'data'> & {
3118
+ data?: string | string[] | Uint8Array | Buffer;
3119
+ };
3022
3120
  /**
3023
3121
  * Source language for an ad-hoc low-code execution.
3024
3122
  */