@revoengine/sdk 1.5.5 → 1.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,14 +1,14 @@
1
1
  # @revoengine/sdk
2
2
 
3
3
  Official Node.js SDK for RevoEngine. It provides the modern `api`, `utils`,
4
- `storage`, and `agents` namespaces, top-level `execute()`, and the `batch` controller in both
4
+ `storage`, `transport`, and `agents` namespaces, top-level `execute()`, and the `batch` controller in both
5
5
  Revo-hosted `CUSTOM_NODEJS` components and standalone Node.js applications.
6
6
 
7
7
  Requirements: Node.js 22 or newer.
8
8
 
9
- ## SDK 2.0.0 compatibility
9
+ ## SDK 1.5.7 compatibility
10
10
 
11
- This major release synchronizes the complete public SDK contract with the current
11
+ This release synchronizes the complete public SDK contract with the current
12
12
  platform low-code declarations. Remote calls require a platform runtime that admits
13
13
  the bundled contract revision; publishing the SDK alone does not deploy that runtime.
14
14
  Use SDK 1.0.1 with older deployments until their platform contract is upgraded.
@@ -21,6 +21,13 @@ network or hosted bridge dispatch. Automation schedules use `{ scheduleFor }`
21
21
  options instead of positional dates. Regenerated types also include the current
22
22
  Storage and database contracts; use those declarations when migrating callers.
23
23
 
24
+ The `transport` namespace exposes `sftpImport`, `sftpExport`, and `sftpCommands`
25
+ with active Secret names or IDs instead of inline credentials. Storage references
26
+ use the same namespace and effective access rules as other file operations.
27
+ Legacy SFTP helpers and the removed thread-goal methods are not exposed by the
28
+ current SDK contract. Refer to the [transfer guide](https://docs.revoengine.com/build/transport)
29
+ for Secret formats and file-transfer examples.
30
+
24
31
  ## Choose your runtime
25
32
 
26
33
  | Environment | How to start | Authentication |
@@ -28,7 +35,7 @@ Storage and database contracts; use those declarations when migrating callers.
28
35
  | Revo-hosted `CUSTOM_NODEJS` | Export `async function init(runtime)` | Revo injects an execution-bound runtime; user code receives no API key. |
29
36
  | Standalone Node.js | Create `new RevoClient(options)` | Supply a RevoEngine API key explicitly or through an environment variable. |
30
37
 
31
- Both modes expose the same `api`, `utils`, `storage`, `agents`, `execute`, and `batch`
38
+ Both modes expose the same `api`, `utils`, `storage`, `transport`, `agents`, `execute`, and `batch`
32
39
  properties, but return types reflect where the work happens:
33
40
 
34
41
  | Call kind | Revo-hosted | Standalone |
@@ -52,7 +59,7 @@ RevoEngine pins that version again in the deployment package and injects the
52
59
  runtime into the component entrypoint. Component code does not construct a
53
60
  `RevoClient`.
54
61
 
55
- The platform chooses the hosted package version; publishing SDK 2.0.0 does not
62
+ The platform chooses the hosted package version; publishing SDK 1.5.7 does not
56
63
  upgrade existing hosted deployments or their generated package pins.
57
64
 
58
65
  Hosted user code receives neither a tenant API key nor the private runtime
@@ -1,9 +1,9 @@
1
1
  import * as node_worker_threads from 'node:worker_threads';
2
2
 
3
- declare const SDK_VERSION: "1.5.5";
3
+ declare const SDK_VERSION: "1.5.7";
4
4
  declare const PROTOCOL_VERSION: 1;
5
- declare const CONTRACT_REVISION: "b98c007dbeaf81bb88ab29f6b4b699e85a4f8b1eb5a36f08701ec1cbd553089f";
6
- type RuntimeSurfaceName = 'api' | 'storage' | 'agents' | 'lowCode';
5
+ declare const CONTRACT_REVISION: "6e40b0c7b8650b52573b3ea81cb1b0b67e62cdb4c342c6b33c3021c26af496d0";
6
+ type RuntimeSurfaceName = 'api' | 'storage' | 'transport' | 'agents' | 'lowCode';
7
7
 
8
8
  // AUTO-GENERATED FILE. DO NOT EDIT DIRECTLY.
9
9
  // Sources: api.swagger-contracts.generated.d.ts, api.public.d.ts
@@ -157,11 +157,11 @@ interface SwaggerAgentPluginConfigDto {
157
157
  /** Plugin contract version for the governed runtime surface. */
158
158
  "contractVersion"?: number;
159
159
  /** Stable plugin id used by the agent runtime. */
160
- "id"?: string;
160
+ "id": string;
161
161
  /** Plugin execution provider kind. */
162
162
  "kind"?: "tools" | "mcp_server" | "skill" | "package";
163
163
  /** Operator-facing plugin name. */
164
- "name"?: string;
164
+ "name": string;
165
165
  /** Optional plugin description. */
166
166
  "description"?: string;
167
167
  /** Canonical English routing metadata used for planner and fallback matching. Operator-facing name and description may remain localized. */
@@ -209,9 +209,9 @@ interface SwaggerAgentPluginConfigDto {
209
209
  }
210
210
  interface SwaggerAgentPluginMcpConfigDto {
211
211
  /** Remote MCP transport supported by the SaaS runtime. */
212
- "transport"?: "streamable_http" | "sse";
212
+ "transport": "streamable_http" | "sse";
213
213
  /** Absolute HTTPS endpoint for the remote MCP server. */
214
- "url"?: string;
214
+ "url": string;
215
215
  /** Manifest cache time-to-live in milliseconds. */
216
216
  "manifestTtlMs"?: number;
217
217
  /** Connection and handshake timeout in milliseconds. */
@@ -235,7 +235,7 @@ interface SwaggerAgentPluginMcpConfigDto {
235
235
  }
236
236
  interface SwaggerAgentPluginMcpHeaderBindingDto {
237
237
  /** Header name sent to the remote MCP server. */
238
- "name"?: string;
238
+ "name": string;
239
239
  /** Secret id containing the header value. */
240
240
  "secretId"?: string;
241
241
  /** Optional secret data revision id when the binding should pin a specific secret revision. */
@@ -277,7 +277,7 @@ interface SwaggerAgentPluginPackageConfigDto {
277
277
  /** Package content format. Markdown is the only supported v1 format. */
278
278
  "format"?: "markdown";
279
279
  /** Markdown instruction content loaded into the assistant runtime when the package is attached. */
280
- "content"?: string;
280
+ "content": string;
281
281
  /** Registry plugin ids declared as package dependencies. */
282
282
  "pluginIds"?: Array<string>;
283
283
  /** Disabled marketplace-facing package metadata reserved for catalog publishing. */
@@ -319,7 +319,7 @@ interface SwaggerAgentPluginSkillConfigDto {
319
319
  /** Skill content format. Markdown is the only supported v1 format. */
320
320
  "format"?: "markdown";
321
321
  /** Markdown instruction content loaded into the assistant runtime when the plugin is attached. */
322
- "content"?: string;
322
+ "content": string;
323
323
  /** Registry plugin ids declared as one-level skill dependencies. */
324
324
  "pluginIds"?: Array<string>;
325
325
  /** Maximum number of skill content characters allowed into one prompt. */
@@ -381,7 +381,7 @@ interface SwaggerDatabaseDefinition {
381
381
  /** Description. */
382
382
  "desc"?: string | null;
383
383
  /** Optional column 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. */
384
- "metadata"?: Record<string, unknown>;
384
+ "metadata"?: Record<string, unknown> | null;
385
385
  /** You need to specify type [SMALLINT,INTEGER,BIGINT,REAL,DOUBLE PRECISION,NUMERIC,JSON,JSONB,TEXT,UUID,DATE,TIME,TIMETZ,TIMESTAMP,TIMESTAMPTZ,BOOLEAN]. */
386
386
  "type": "SMALLINT" | "INTEGER" | "BIGINT" | "REAL" | "DOUBLE PRECISION" | "NUMERIC" | "JSON" | "JSONB" | "TEXT" | "UUID" | "DATE" | "TIME" | "TIMETZ" | "TIMESTAMP" | "TIMESTAMPTZ" | "BOOLEAN";
387
387
  /** Provide if this column is primary key. */
@@ -415,6 +415,47 @@ interface SwaggerDatabaseDefinitionForeignReferences {
415
415
  /** You need to specify what happen on update of referenced table data, "none" will raise an error if there are records existing in this table that reference it. */
416
416
  "onDelete": "none" | "cascade" | "restrict" | "default" | "null";
417
417
  }
418
+ interface SwaggerDatabaseIndexColumnDto {
419
+ "name"?: string;
420
+ /** function(col) / cast / expression are not raw SQL; only safe structured input is allowed */
421
+ "expression"?: SwaggerDatabaseIndexExpressionDto;
422
+ "order"?: "ASC" | "DESC";
423
+ "nulls"?: "FIRST" | "LAST";
424
+ "collation"?: string;
425
+ "opclass"?: string;
426
+ }
427
+ interface SwaggerDatabaseIndexDefinitionDto {
428
+ "name"?: string;
429
+ "using"?: "btree" | "hash" | "gist" | "spgist" | "gin" | "brin";
430
+ "columns": Array<SwaggerDatabaseIndexColumnDto>;
431
+ "where"?: SwaggerDatabaseIndexPredicateDto;
432
+ "include"?: Array<string>;
433
+ "unique"?: boolean;
434
+ }
435
+ interface SwaggerDatabaseIndexExpressionDto {
436
+ /** Column reference. */
437
+ "column"?: string;
438
+ /** Safe function name. */
439
+ "fn"?: string;
440
+ "args"?: Array<SwaggerDatabaseIndexExpressionDto>;
441
+ "cast"?: string;
442
+ "literal"?: Record<string, unknown>;
443
+ }
444
+ interface SwaggerDatabaseIndexPredicateDto {
445
+ /** Logical AND. */
446
+ "and"?: Array<string>;
447
+ /** Logical OR. */
448
+ "or"?: Array<string>;
449
+ /** Logical NOT. */
450
+ "not"?: SwaggerDatabaseIndexPredicateDto;
451
+ "column"?: string;
452
+ "op"?: "eq" | "ne" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "between" | "isnull" | "notnull";
453
+ "value"?: Record<string, unknown>;
454
+ "values"?: Array<string>;
455
+ }
456
+ interface SwaggerDatabaseOptionsDto {
457
+ "indexes"?: Array<SwaggerDatabaseIndexDefinitionDto>;
458
+ }
418
459
  interface SwaggerPartitionDefinition {
419
460
  /** Partition type. */
420
461
  "type"?: "LIST" | "RANGE" | "HASH";
@@ -425,9 +466,9 @@ interface SwaggerPartitionDefinition {
425
466
  /** For LIST partitioning: array of values. For RANGE partitioning: not used. */
426
467
  "values"?: Array<string>;
427
468
  /** For RANGE partitioning: starting value (use "MINVALUE" for unbounded start). */
428
- "from"?: Record<string, unknown>;
469
+ "from"?: string | number | boolean | Record<string, unknown> | Array<unknown> | null;
429
470
  /** For RANGE partitioning: ending value (use "MAXVALUE" for unbounded end). */
430
- "to"?: Record<string, unknown>;
471
+ "to"?: string | number | boolean | Record<string, unknown> | Array<unknown> | null;
431
472
  /**
432
473
  The modulus value for a HASH partition.
433
474
  Required only when the partition type is HASH.
@@ -534,31 +575,31 @@ interface AgentRunCancelInput {
534
575
  }
535
576
  interface DatabaseCloneInput {
536
577
  /** Replacement user metadata for the root clone only. Omit to inherit source metadata; pass {} to clear user metadata. Maximum 16 KiB and 64 top-level keys. Keys starting with "__" are reserved for backend use. */
537
- "metadata"?: Record<string, unknown>;
578
+ "metadata"?: Record<string, unknown> | null;
538
579
  /** Optional audit override. Defaults to the source logical table setting. */
539
- "audit"?: boolean;
580
+ "audit"?: boolean | null;
540
581
  /** Optional target root database name. Defaults to the source database name with "_Clone" suffix. */
541
- "name"?: string;
582
+ "name"?: string | null;
542
583
  /** Suffix used for automatically generated clone names. Defaults to "Clone". */
543
- "suffix"?: string;
584
+ "suffix"?: string | null;
544
585
  /** Whether to copy existing rows/items into the clone. Defaults to false. */
545
- "includeItems"?: boolean;
586
+ "includeItems"?: boolean | null;
546
587
  /** Alias for includeItems. Defaults to false. */
547
- "includeData"?: boolean;
588
+ "includeData"?: boolean | null;
548
589
  /** Whether to clone connected table partitions. Defaults to true. */
549
- "includePartitions"?: boolean;
590
+ "includePartitions"?: boolean | null;
550
591
  /** Optional cloned database category override. */
551
- "category"?: string;
592
+ "category"?: string | null;
552
593
  /** Optional cloned database description override. */
553
- "desc"?: string;
594
+ "desc"?: string | null;
554
595
  /** Optional cloned database tags override. */
555
- "tags"?: Array<string>;
596
+ "tags"?: Array<string> | null;
556
597
  /** Optional cloned database restricted flag override. */
557
- "restricted"?: boolean;
598
+ "restricted"?: boolean | null;
558
599
  /** Optional cloned database group access override. */
559
- "groups"?: Array<string>;
600
+ "groups"?: Array<string> | null;
560
601
  /** Optional cloned database user access override. */
561
- "users"?: Array<string>;
602
+ "users"?: Array<string> | null;
562
603
  }
563
604
  interface AgentCreateInput {
564
605
  /** Stable display name of the agent. */
@@ -572,7 +613,7 @@ interface AgentCreateInput {
572
613
  /** Owner type, typically USER or GROUP. */
573
614
  "ownerType"?: string;
574
615
  /** Optional resource 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. */
575
- "metadata"?: Record<string, unknown>;
616
+ "metadata"?: Record<string, unknown> | null;
576
617
  /** Persisted agent identity and runtime defaults such as model, persona, custom system instructions, memory policy, planning mode, and loop limits. Per-turn prompt tier, fast-path eligibility, and route telemetry are derived by runtime and are not accepted here. */
577
618
  "config"?: SwaggerAgentConfigDto;
578
619
  /** Persisted policy constraints such as tool allowlists, agent plugins, and delegation ceilings. Runtime-only route metadata is not configured here. */
@@ -602,9 +643,9 @@ interface DatabaseCreateInput {
602
643
  /** Description. */
603
644
  "desc"?: string;
604
645
  /** Optional resource 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. */
605
- "metadata"?: Record<string, unknown>;
646
+ "metadata"?: Record<string, unknown> | null;
606
647
  /** Provide if access should be restricted. */
607
- "restricted": boolean;
648
+ "restricted"?: boolean;
608
649
  /** Provide which groups should have access to it, once restricted is true. */
609
650
  "groups"?: Array<string>;
610
651
  /** Provide which users should have access to it, once restricted is true. */
@@ -617,6 +658,8 @@ interface DatabaseCreateInput {
617
658
  "parentDatabaseId"?: string;
618
659
  /** Partition configuration. */
619
660
  "partition"?: SwaggerPartitionDefinition;
661
+ /** Advanced structured table options, including composite, expression, covering, and partial indexes. */
662
+ "options"?: SwaggerDatabaseOptionsDto;
620
663
  }
621
664
  interface AssistantMessageInput {
622
665
  /** Finalized Storage files to link to this message. File access is checked on send and every read. */
@@ -664,7 +707,7 @@ interface StorageFolderInput {
664
707
  /** Optional provider config id for root-level folders. Omit for the internal/default provider. Ignored when parentStorageEntryId is provided. */
665
708
  "storageProviderConfigId"?: string;
666
709
  /** 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. */
667
- "metadata"?: Record<string, unknown>;
710
+ "metadata"?: Record<string, unknown> | null;
668
711
  /** Optional external reference id. */
669
712
  "refId"?: string;
670
713
  /** Optional external reference type. */
@@ -712,7 +755,7 @@ interface StorageUploadSessionInput {
712
755
  /** Workbook worksheet layout. XLSX is inferred from contentTypeHint. In writeMode "direct", declare every worksheet here and configure table.columns for each one. */
713
756
  "sheets"?: Array<SwaggerStorageSheetOptionsDto>;
714
757
  /** 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. */
715
- "metadata"?: Record<string, unknown>;
758
+ "metadata"?: Record<string, unknown> | null;
716
759
  /** Optional external reference id. */
717
760
  "refId"?: string;
718
761
  /** Optional external reference type. */
@@ -732,7 +775,7 @@ interface StorageUploadSessionFinalizeInput {
732
775
  /** Expected explicit multipart numbers. Use for sparse distributed uploads; cannot be combined with expectedPartCount. */
733
776
  "expectedPartNumbers"?: Array<number>;
734
777
  /** Optional metadata replacement at finalize time. Values may use any JSON type. Maximum 16 KiB and 64 top-level keys. Top-level keys starting with "__" are reserved for backend use. */
735
- "metadata"?: Record<string, unknown>;
778
+ "metadata"?: Record<string, unknown> | null;
736
779
  /** Optional post-finalize compute mode. */
737
780
  "computeStats"?: "none" | "sync" | "async";
738
781
  }
@@ -748,7 +791,7 @@ interface StorageEntryMoveInput {
748
791
  /** Optional destination provider config id for root-level moves. Omit for the internal/default provider. Ignored when parentStorageEntryId is provided. */
749
792
  "storageProviderConfigId"?: string;
750
793
  /** Current entity version. */
751
- "version"?: number;
794
+ "version": number;
752
795
  }
753
796
  interface StoragePutObjectInput {
754
797
  /** File retention. Omit for the caller default, or set null for no expiration. */
@@ -782,7 +825,7 @@ interface StoragePutObjectInput {
782
825
  /** Optional external reference version. */
783
826
  "refVer"?: number;
784
827
  /** 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. */
785
- "metadata"?: Record<string, unknown>;
828
+ "metadata"?: Record<string, unknown> | null;
786
829
  /** Logical storage lifecycle tier. Select only when creating a new file or upload session; existing files keep their tier.
787
830
  HOT: Active files used in live workflows, previews, and frequent downloads.
788
831
  WARM: Completed or less-active business files that are still occasionally accessed.
@@ -862,7 +905,7 @@ interface AgentUpdateInput {
862
905
  /** Updated owner type. */
863
906
  "ownerType"?: string;
864
907
  /** Replacement resource 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. */
865
- "metadata"?: Record<string, unknown>;
908
+ "metadata"?: Record<string, unknown> | null;
866
909
  /** Replacement persisted agent identity and runtime defaults. Fast-path routing, prompt tier, and per-turn telemetry stay runtime-derived. */
867
910
  "config"?: SwaggerAgentConfigDto;
868
911
  /** Replacement persisted policy constraints. Execution-time route metadata stays derived from the current turn. */
@@ -894,7 +937,9 @@ interface DatabaseUpdateInput {
894
937
  /** Description. */
895
938
  "desc"?: string;
896
939
  /** Replacement resource 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. */
897
- "metadata"?: Record<string, unknown>;
940
+ "metadata"?: Record<string, unknown> | null;
941
+ /** Replacement advanced structured table options. */
942
+ "options"?: SwaggerDatabaseOptionsDto;
898
943
  /** Provide if access should be restricted. */
899
944
  "restricted"?: boolean;
900
945
  /** Provide which groups should have access to it, once restricted is true. */
@@ -912,7 +957,7 @@ interface StorageEntryUpdateInput {
912
957
  /** New display name. */
913
958
  "name"?: string;
914
959
  /** Metadata replacement. Values may use any JSON type. Maximum 16 KiB and 64 top-level keys. Top-level keys starting with "__" are reserved for backend use. */
915
- "metadata"?: Record<string, unknown>;
960
+ "metadata"?: Record<string, unknown> | null;
916
961
  /** Whether this entry is restricted to the provided users/groups. */
917
962
  "restricted"?: boolean;
918
963
  /** Explicit allowed group ids. */
@@ -920,21 +965,7 @@ interface StorageEntryUpdateInput {
920
965
  /** Explicit allowed user ids. */
921
966
  "users"?: Array<string>;
922
967
  /** Current entity version. */
923
- "version"?: number;
924
- }
925
- interface AssistantThreadGoalInput {
926
- /** Durable thread-level objective used to validate assistant completion across turns, tool loops, approval resumes, and compaction. */
927
- "objective": string;
928
- /** Optional concrete criteria the goal reviewer should require before marking the goal satisfied. */
929
- "successCriteria"?: Array<string>;
930
- /** Optional exclusions that should not be treated as required work for this goal. */
931
- "nonGoals"?: Array<string>;
932
- /** Optional evidence the reviewer should expect, such as tests, lint, screenshots, API results, or changed resources. */
933
- "requiredEvidence"?: Array<string>;
934
- /** Optional validation commands or checks relevant to this goal. */
935
- "validationCommands"?: Array<string>;
936
- /** Optional concise definition of done used by the reviewer when evaluating candidate completion. */
937
- "doneDefinition"?: string;
968
+ "version": number;
938
969
  }
939
970
  interface AssistantThreadTitleInput {
940
971
  /** New user-defined title for the thread. */
@@ -968,7 +999,7 @@ interface WebhookInput {
968
999
  /** Override creator. */
969
1000
  "createdBy"?: string;
970
1001
  /** Optional key/value metadata for grouping and querying webhooks. Values may use any JSON type. Maximum 16 KiB and 64 top-level keys. Top-level keys starting with "__" are reserved for backend use. */
971
- "metadata"?: Record<string, unknown>;
1002
+ "metadata"?: Record<string, unknown> | null;
972
1003
  }
973
1004
  /**
974
1005
  * Canonical public low-code API declarations shared by Monaco and local editors.
@@ -2098,26 +2129,22 @@ interface InstanceData {
2098
2129
  id: string;
2099
2130
  };
2100
2131
  }
2101
- interface SFTPClient {
2102
- host: string;
2103
- port: number;
2104
- username: string;
2105
- password?: string;
2106
- privateKey?: string;
2107
- passphrase?: string;
2108
- }
2109
2132
  interface StorageFileTargetRequest extends Omit<StorageUploadSessionInput, 'replaceStorageEntryId' | 'uploadMode'> {
2110
2133
  name: string;
2111
2134
  }
2112
- type SFTPFileSourceRef = {
2135
+ /** Storage destination for transport.sftpImport. Uses the same namespace and ACL contract as storage.* and HTTP targets. */
2136
+ type SFTPImportStorage = (StorageFileTargetRequest & {
2137
+ namespace?: string;
2138
+ }) | {
2113
2139
  storageEntryId: string;
2140
+ namespace?: string;
2141
+ replace: true;
2114
2142
  };
2115
- type SFTPFileTargetRef = {
2143
+ /** Existing Storage file used by transport.sftpExport. */
2144
+ interface SFTPExportStorage {
2116
2145
  storageEntryId: string;
2117
- replace?: true;
2118
- } | {
2119
- storage: StorageFileTargetRequest;
2120
- };
2146
+ namespace?: string;
2147
+ }
2121
2148
  interface JWTHeader {
2122
2149
  alg: string | 'HS256' | 'HS384' | 'HS512' | 'RS256' | 'RS384' | 'RS512' | 'ES256' | 'ES384' | 'ES512' | 'PS256' | 'PS384' | 'PS512' | 'none';
2123
2150
  typ?: string | undefined;
@@ -2592,7 +2619,6 @@ interface AssistantThread {
2592
2619
  actionRequired?: AssistantActionRequired | null;
2593
2620
  executionPlan?: AssistantPublicExecutionPlan | null;
2594
2621
  workerProgress?: AssistantWorkerProgress[] | null;
2595
- goal?: AssistantThreadGoal | null;
2596
2622
  share?: AssistantThreadShare | null;
2597
2623
  createdBy?: string;
2598
2624
  createdAt?: Date | string;
@@ -2602,23 +2628,6 @@ interface AssistantThread {
2602
2628
  deletedAt?: Date | string | null;
2603
2629
  version?: number;
2604
2630
  }
2605
- interface AssistantThreadGoal {
2606
- version: 1;
2607
- assistantThreadId: string;
2608
- revision: number;
2609
- status: 'active' | 'paused' | 'completed' | 'blocked' | 'cleared';
2610
- objective: string | null;
2611
- source: 'user' | 'api' | 'message' | 'system';
2612
- createdAt: string;
2613
- updatedAt: string;
2614
- updatedBy: string | null;
2615
- validation: {
2616
- status: 'satisfied' | 'unsatisfied' | 'partial' | 'skipped';
2617
- reviewedAt: string;
2618
- rationale: string | null;
2619
- evidenceRefs?: string[];
2620
- } | null;
2621
- }
2622
2631
  interface AssistantMessage {
2623
2632
  assistantMessageId: string;
2624
2633
  assistantThreadId: string;
@@ -2635,7 +2644,6 @@ interface AssistantThreadState {
2635
2644
  actionRequired: AssistantActionRequired | null;
2636
2645
  executionPlan: AssistantPublicExecutionPlan | null;
2637
2646
  workerProgress?: AssistantWorkerProgress[] | null;
2638
- goal?: AssistantThreadGoal | null;
2639
2647
  }
2640
2648
  interface AssistantThreadShare {
2641
2649
  shareId: string;
@@ -2809,12 +2817,6 @@ interface RevoApi {
2809
2817
  };
2810
2818
  };
2811
2819
  }>;
2812
- sftpExec(commands: any[], config: SFTPClient): Promise<any>;
2813
- sftpPut(source: SFTPFileSourceRef, path: string, config: SFTPClient): Promise<void>;
2814
- sftpGet(target: SFTPFileTargetRef, path: string, config: SFTPClient): Promise<void | {
2815
- session: StorageUploadSession;
2816
- entry: StorageEntryView;
2817
- }>;
2818
2820
  }
2819
2821
  interface RevoStorage {
2820
2822
  explore(query?: StorageExploreRequest): Promise<StorageExploreResult>;
@@ -2876,6 +2878,14 @@ interface RevoStorage {
2876
2878
  getDocument(storageEntryId: string, options?: StorageDocumentReadOptions): Promise<StorageDocument>;
2877
2879
  getDocument(namespace: string, storageEntryId: string, options?: StorageDocumentReadOptions): Promise<StorageDocument>;
2878
2880
  }
2881
+ interface RevoTransport {
2882
+ sftpImport(path: string, storage: SFTPImportStorage, secretNameOrId: string): Promise<{
2883
+ session: StorageUploadSession;
2884
+ entry: StorageEntryView;
2885
+ }>;
2886
+ sftpExport(path: string, storage: SFTPExportStorage, secretNameOrId: string): Promise<void>;
2887
+ sftpCommands(commands: any[], secretNameOrId: string): Promise<any>;
2888
+ }
2879
2889
  interface RevoAgents {
2880
2890
  list(): Promise<Agent[]>;
2881
2891
  get(agentId: string): Promise<Agent>;
@@ -2903,11 +2913,6 @@ interface RevoAgents {
2903
2913
  hideDeleted?: boolean;
2904
2914
  }): Promise<AssistantThread>;
2905
2915
  getThreadState(assistantThreadId: string): Promise<AssistantThreadState>;
2906
- getThreadGoal(assistantThreadId: string): Promise<AssistantThreadGoal | null>;
2907
- setThreadGoal(assistantThreadId: string, data: AssistantThreadGoalInput): Promise<AssistantThreadGoal>;
2908
- pauseThreadGoal(assistantThreadId: string): Promise<AssistantThreadGoal>;
2909
- resumeThreadGoal(assistantThreadId: string): Promise<AssistantThreadGoal>;
2910
- clearThreadGoal(assistantThreadId: string): Promise<AssistantThreadGoal>;
2911
2916
  getThreadShare(assistantThreadId: string): Promise<AssistantThreadShare | null>;
2912
2917
  enableThreadShare(assistantThreadId: string): Promise<AssistantThreadShare>;
2913
2918
  disableThreadShare(assistantThreadId: string): Promise<AssistantThreadShare>;
@@ -3119,6 +3124,7 @@ interface RevoRuntime {
3119
3124
  readonly api: RevoApi;
3120
3125
  readonly utils: RevoUtils;
3121
3126
  readonly storage: RevoStorage;
3127
+ readonly transport: RevoTransport;
3122
3128
  readonly agents: RevoAgents;
3123
3129
  readonly execute: RevoExecute;
3124
3130
  readonly batch: RevoBatchController;
@@ -3216,4 +3222,4 @@ declare class RevoHttpResponseError extends RevoError {
3216
3222
  constructor(statusCode: number, body?: unknown);
3217
3223
  }
3218
3224
 
3219
- export { RevoTransportError as A, type BatchFailureMode as B, CONTRACT_REVISION as C, type RuntimeBatchRequest as D, type RuntimeBatchResponse as E, type RuntimeCall as F, type RuntimeCallResult as G, type HostedRuntimeBootstrap as H, type SerializedRevoError as I, PROTOCOL_VERSION as P, type RevoRuntime as R, SDK_VERSION as S, RevoExecutionExit as a, RevoHttpResponseError as b, type RevoRuntimeBridgeRequest as c, type RevoRuntimeBridgeResponse as d, type RevoRuntimeBridgeTransportError as e, type RevoStandaloneApi as f, type RevoUtils as g, type RevoStorage as h, type RevoAgents as i, type RevoExecute as j, type RevoBatchController as k, type RevoClientOptions as l, type RevoApi as m, RevoAuthenticationError as n, RevoBatchConfigurationError as o, RevoBatchLimitError as p, type RevoBatchLimits as q, type RevoBatchOptions as r, RevoConfigurationError as s, RevoError as t, type RevoExecuteOptions as u, type RevoExecutionDefaults as v, RevoPermissionDeniedError as w, RevoProtocolError as x, RevoRemoteError as y, RevoRuntimeContextUnavailableError as z };
3225
+ export { RevoRuntimeContextUnavailableError as A, type BatchFailureMode as B, CONTRACT_REVISION as C, RevoTransportError as D, type RuntimeBatchRequest as E, type RuntimeBatchResponse as F, type RuntimeCall as G, type HostedRuntimeBootstrap as H, type RuntimeCallResult as I, type SerializedRevoError as J, PROTOCOL_VERSION as P, type RevoRuntime as R, SDK_VERSION as S, RevoExecutionExit as a, RevoHttpResponseError as b, type RevoRuntimeBridgeRequest as c, type RevoRuntimeBridgeResponse as d, type RevoRuntimeBridgeTransportError as e, type RevoStandaloneApi as f, type RevoUtils as g, type RevoStorage as h, type RevoTransport as i, type RevoAgents as j, type RevoExecute as k, type RevoBatchController as l, type RevoClientOptions as m, type RevoApi as n, RevoAuthenticationError as o, RevoBatchConfigurationError as p, RevoBatchLimitError as q, type RevoBatchLimits as r, type RevoBatchOptions as s, RevoConfigurationError as t, RevoError as u, type RevoExecuteOptions as v, type RevoExecutionDefaults as w, RevoPermissionDeniedError as x, RevoProtocolError as y, RevoRemoteError as z };