ultracart_rest_api_v2_typescript 4.1.146 → 4.1.148

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.
@@ -349,6 +349,7 @@ src/models/ConversationVirtualAgentBudget.ts
349
349
  src/models/ConversationVirtualAgentBudgetResponse.ts
350
350
  src/models/ConversationVirtualAgentCapabilities.ts
351
351
  src/models/ConversationVirtualAgentCapabilitiesResponse.ts
352
+ src/models/ConversationVirtualAgentCapabilityCustomCollection.ts
352
353
  src/models/ConversationVirtualAgentCapabilityZohoDeskDepartment.ts
353
354
  src/models/ConversationWebchatContext.ts
354
355
  src/models/ConversationWebchatQueueStatus.ts
package/README.md CHANGED
@@ -1,12 +1,12 @@
1
1
  # UltraCart Typescript SDK
2
- ## ultracart_rest_api_v2_typescript@4.1.146
2
+ ## ultracart_rest_api_v2_typescript@4.1.148
3
3
 
4
4
  Every API method call has a sample for every language SDK. See https://github.com/UltraCart/sdk_samples
5
5
 
6
6
  Installation
7
7
 
8
8
  ```
9
- npm install ultracart_rest_api_v2_typescript@4.1.146 --save
9
+ npm install ultracart_rest_api_v2_typescript@4.1.148 --save
10
10
  ```
11
11
 
12
12
  ```typescript
@@ -85,6 +85,8 @@ Not every change is committed to every SDK.
85
85
 
86
86
  | Version | Date | Comments |
87
87
  | --: | :-: | --- |
88
+ | 4.1.148 | 09/04/2026 | conversations - added ai agent capabilities |
89
+ | 4.1.147 | 09/04/2026 | sfvb - internal testing |
88
90
  | 4.1.146 | 09/03/2026 | sfvb - internal testing |
89
91
  | 4.1.145 | 09/02/2026 | sfvb - internal testing |
90
92
  | 4.1.144 | 09/02/2026 | sfvb - internal testing |
@@ -195,7 +195,7 @@ export interface SfvbApiInterface {
195
195
  */
196
196
  compileSfvbCjson(requestParameters: CompileSfvbCjsonRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbCompileResponse>;
197
197
  /**
198
- * Returns a server generated session id to push containers into. The id is not caller supplied, because concurrent agents choosing their own would be free to collide, and the browser editor\'s habit of minting one with Math.random is not a property worth carrying into an API. Expires after eight hours and can be deleted sooner. Requires a token that resolves to a user, so use the device authorization flow.
198
+ * Returns a server generated session id to push containers into, and opens the session so that id exists rather than merely being random. The id is not caller supplied, because concurrent agents choosing their own would be free to collide, and the browser editor\'s habit of minting one with Math.random is not a property worth carrying into an API. Expires after eight hours and can be deleted sooner. Requires a token that resolves to a user, so use the device authorization flow.
199
199
  * @summary Create a preview session
200
200
  * @param {number} storefrontOid
201
201
  * @param {*} [options] Override http request option.
@@ -204,7 +204,7 @@ export interface SfvbApiInterface {
204
204
  */
205
205
  createSfvbPreviewSessionRaw(requestParameters: CreateSfvbPreviewSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbPreviewSessionResponse>>;
206
206
  /**
207
- * Returns a server generated session id to push containers into. The id is not caller supplied, because concurrent agents choosing their own would be free to collide, and the browser editor\'s habit of minting one with Math.random is not a property worth carrying into an API. Expires after eight hours and can be deleted sooner. Requires a token that resolves to a user, so use the device authorization flow.
207
+ * Returns a server generated session id to push containers into, and opens the session so that id exists rather than merely being random. The id is not caller supplied, because concurrent agents choosing their own would be free to collide, and the browser editor\'s habit of minting one with Math.random is not a property worth carrying into an API. Expires after eight hours and can be deleted sooner. Requires a token that resolves to a user, so use the device authorization flow.
208
208
  * Create a preview session
209
209
  */
210
210
  createSfvbPreviewSession(requestParameters: CreateSfvbPreviewSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbPreviewSessionResponse>;
@@ -602,7 +602,7 @@ export interface SfvbApiInterface {
602
602
  */
603
603
  putSfvbFileContent(requestParameters: PutSfvbFileContentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbFileWriteResponse>;
604
604
  /**
605
- * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
605
+ * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. The session must exist - this does not create one, so a deleted, expired or never issued id is a 404 rather than a new session. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
606
606
  * @summary Push containers into a preview session
607
607
  * @param {number} storefrontOid
608
608
  * @param {string} previewSessionId
@@ -614,7 +614,7 @@ export interface SfvbApiInterface {
614
614
  */
615
615
  putSfvbPreviewSessionRaw(requestParameters: PutSfvbPreviewSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbPreviewSessionResponse>>;
616
616
  /**
617
- * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
617
+ * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. The session must exist - this does not create one, so a deleted, expired or never issued id is a 404 rather than a new session. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
618
618
  * Push containers into a preview session
619
619
  */
620
620
  putSfvbPreviewSession(requestParameters: PutSfvbPreviewSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbPreviewSessionResponse>;
@@ -779,12 +779,12 @@ export declare class SfvbApi extends runtime.BaseAPI implements SfvbApiInterface
779
779
  */
780
780
  compileSfvbCjson(requestParameters: CompileSfvbCjsonRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbCompileResponse>;
781
781
  /**
782
- * Returns a server generated session id to push containers into. The id is not caller supplied, because concurrent agents choosing their own would be free to collide, and the browser editor\'s habit of minting one with Math.random is not a property worth carrying into an API. Expires after eight hours and can be deleted sooner. Requires a token that resolves to a user, so use the device authorization flow.
782
+ * Returns a server generated session id to push containers into, and opens the session so that id exists rather than merely being random. The id is not caller supplied, because concurrent agents choosing their own would be free to collide, and the browser editor\'s habit of minting one with Math.random is not a property worth carrying into an API. Expires after eight hours and can be deleted sooner. Requires a token that resolves to a user, so use the device authorization flow.
783
783
  * Create a preview session
784
784
  */
785
785
  createSfvbPreviewSessionRaw(requestParameters: CreateSfvbPreviewSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbPreviewSessionResponse>>;
786
786
  /**
787
- * Returns a server generated session id to push containers into. The id is not caller supplied, because concurrent agents choosing their own would be free to collide, and the browser editor\'s habit of minting one with Math.random is not a property worth carrying into an API. Expires after eight hours and can be deleted sooner. Requires a token that resolves to a user, so use the device authorization flow.
787
+ * Returns a server generated session id to push containers into, and opens the session so that id exists rather than merely being random. The id is not caller supplied, because concurrent agents choosing their own would be free to collide, and the browser editor\'s habit of minting one with Math.random is not a property worth carrying into an API. Expires after eight hours and can be deleted sooner. Requires a token that resolves to a user, so use the device authorization flow.
788
788
  * Create a preview session
789
789
  */
790
790
  createSfvbPreviewSession(requestParameters: CreateSfvbPreviewSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbPreviewSessionResponse>;
@@ -1039,12 +1039,12 @@ export declare class SfvbApi extends runtime.BaseAPI implements SfvbApiInterface
1039
1039
  */
1040
1040
  putSfvbFileContent(requestParameters: PutSfvbFileContentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbFileWriteResponse>;
1041
1041
  /**
1042
- * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
1042
+ * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. The session must exist - this does not create one, so a deleted, expired or never issued id is a 404 rather than a new session. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
1043
1043
  * Push containers into a preview session
1044
1044
  */
1045
1045
  putSfvbPreviewSessionRaw(requestParameters: PutSfvbPreviewSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbPreviewSessionResponse>>;
1046
1046
  /**
1047
- * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
1047
+ * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. The session must exist - this does not create one, so a deleted, expired or never issued id is a 404 rather than a new session. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
1048
1048
  * Push containers into a preview session
1049
1049
  */
1050
1050
  putSfvbPreviewSession(requestParameters: PutSfvbPreviewSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbPreviewSessionResponse>;
@@ -137,7 +137,7 @@ var SfvbApi = /** @class */ (function (_super) {
137
137
  });
138
138
  };
139
139
  /**
140
- * Returns a server generated session id to push containers into. The id is not caller supplied, because concurrent agents choosing their own would be free to collide, and the browser editor\'s habit of minting one with Math.random is not a property worth carrying into an API. Expires after eight hours and can be deleted sooner. Requires a token that resolves to a user, so use the device authorization flow.
140
+ * Returns a server generated session id to push containers into, and opens the session so that id exists rather than merely being random. The id is not caller supplied, because concurrent agents choosing their own would be free to collide, and the browser editor\'s habit of minting one with Math.random is not a property worth carrying into an API. Expires after eight hours and can be deleted sooner. Requires a token that resolves to a user, so use the device authorization flow.
141
141
  * Create a preview session
142
142
  */
143
143
  SfvbApi.prototype.createSfvbPreviewSessionRaw = function (requestParameters, initOverrides) {
@@ -178,7 +178,7 @@ var SfvbApi = /** @class */ (function (_super) {
178
178
  });
179
179
  };
180
180
  /**
181
- * Returns a server generated session id to push containers into. The id is not caller supplied, because concurrent agents choosing their own would be free to collide, and the browser editor\'s habit of minting one with Math.random is not a property worth carrying into an API. Expires after eight hours and can be deleted sooner. Requires a token that resolves to a user, so use the device authorization flow.
181
+ * Returns a server generated session id to push containers into, and opens the session so that id exists rather than merely being random. The id is not caller supplied, because concurrent agents choosing their own would be free to collide, and the browser editor\'s habit of minting one with Math.random is not a property worth carrying into an API. Expires after eight hours and can be deleted sooner. Requires a token that resolves to a user, so use the device authorization flow.
182
182
  * Create a preview session
183
183
  */
184
184
  SfvbApi.prototype.createSfvbPreviewSession = function (requestParameters, initOverrides) {
@@ -1833,7 +1833,7 @@ var SfvbApi = /** @class */ (function (_super) {
1833
1833
  });
1834
1834
  };
1835
1835
  /**
1836
- * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
1836
+ * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. The session must exist - this does not create one, so a deleted, expired or never issued id is a 404 rather than a new session. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
1837
1837
  * Push containers into a preview session
1838
1838
  */
1839
1839
  SfvbApi.prototype.putSfvbPreviewSessionRaw = function (requestParameters, initOverrides) {
@@ -1885,7 +1885,7 @@ var SfvbApi = /** @class */ (function (_super) {
1885
1885
  });
1886
1886
  };
1887
1887
  /**
1888
- * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
1888
+ * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. The session must exist - this does not create one, so a deleted, expired or never issued id is a 404 rather than a new session. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
1889
1889
  * Push containers into a preview session
1890
1890
  */
1891
1891
  SfvbApi.prototype.putSfvbPreviewSession = function (requestParameters, initOverrides) {
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import { ConversationVirtualAgentCapabilityCustomCollection } from './ConversationVirtualAgentCapabilityCustomCollection';
12
13
  import { ConversationVirtualAgentCapabilityZohoDeskDepartment } from './ConversationVirtualAgentCapabilityZohoDeskDepartment';
13
14
  /**
14
15
  *
@@ -16,6 +17,12 @@ import { ConversationVirtualAgentCapabilityZohoDeskDepartment } from './Conversa
16
17
  * @interface ConversationVirtualAgentCapabilities
17
18
  */
18
19
  export interface ConversationVirtualAgentCapabilities {
20
+ /**
21
+ * Permission flag to allow this Agent to search the merchant's custom Typesense collections.
22
+ * @type {boolean}
23
+ * @memberof ConversationVirtualAgentCapabilities
24
+ */
25
+ access_custom_collections?: boolean;
19
26
  /**
20
27
  * Permission flag to allow this Agent access to the storefront and item information.
21
28
  * @type {boolean}
@@ -28,6 +35,18 @@ export interface ConversationVirtualAgentCapabilities {
28
35
  * @memberof ConversationVirtualAgentCapabilities
29
36
  */
30
37
  cancel_subscription?: boolean;
38
+ /**
39
+ * The custom collections this Agent is allowed to search. Empty means none, even when access_custom_collections is true.
40
+ * @type {object}
41
+ * @memberof ConversationVirtualAgentCapabilities
42
+ */
43
+ custom_collection_oids?: object;
44
+ /**
45
+ * Read only. All of the merchant's custom collections, to populate the selection list for custom_collection_oids. Changes here are ignored.
46
+ * @type {Array<ConversationVirtualAgentCapabilityCustomCollection>}
47
+ * @memberof ConversationVirtualAgentCapabilities
48
+ */
49
+ custom_collections?: Array<ConversationVirtualAgentCapabilityCustomCollection>;
31
50
  /**
32
51
  *
33
52
  * @type {boolean}
@@ -15,6 +15,7 @@
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.ConversationVirtualAgentCapabilitiesToJSON = exports.ConversationVirtualAgentCapabilitiesFromJSONTyped = exports.ConversationVirtualAgentCapabilitiesFromJSON = exports.instanceOfConversationVirtualAgentCapabilities = exports.ConversationVirtualAgentCapabilitiesOpenSupportTicketChannelEnum = void 0;
17
17
  var runtime_1 = require("../runtime");
18
+ var ConversationVirtualAgentCapabilityCustomCollection_1 = require("./ConversationVirtualAgentCapabilityCustomCollection");
18
19
  var ConversationVirtualAgentCapabilityZohoDeskDepartment_1 = require("./ConversationVirtualAgentCapabilityZohoDeskDepartment");
19
20
  /**
20
21
  * @export
@@ -42,8 +43,11 @@ function ConversationVirtualAgentCapabilitiesFromJSONTyped(json, ignoreDiscrimin
42
43
  return json;
43
44
  }
44
45
  return {
46
+ 'access_custom_collections': !(0, runtime_1.exists)(json, 'access_custom_collections') ? undefined : json['access_custom_collections'],
45
47
  'access_storefront_and_item': !(0, runtime_1.exists)(json, 'access_storefront_and_item') ? undefined : json['access_storefront_and_item'],
46
48
  'cancel_subscription': !(0, runtime_1.exists)(json, 'cancel_subscription') ? undefined : json['cancel_subscription'],
49
+ 'custom_collection_oids': !(0, runtime_1.exists)(json, 'custom_collection_oids') ? undefined : json['custom_collection_oids'],
50
+ 'custom_collections': !(0, runtime_1.exists)(json, 'custom_collections') ? undefined : (json['custom_collections'].map(ConversationVirtualAgentCapabilityCustomCollection_1.ConversationVirtualAgentCapabilityCustomCollectionFromJSON)),
47
51
  'delay_subscription': !(0, runtime_1.exists)(json, 'delay_subscription') ? undefined : json['delay_subscription'],
48
52
  'generate_coupon': !(0, runtime_1.exists)(json, 'generate_coupon') ? undefined : json['generate_coupon'],
49
53
  'lookup_order_information': !(0, runtime_1.exists)(json, 'lookup_order_information') ? undefined : json['lookup_order_information'],
@@ -69,8 +73,11 @@ function ConversationVirtualAgentCapabilitiesToJSON(value) {
69
73
  return null;
70
74
  }
71
75
  return {
76
+ 'access_custom_collections': value.access_custom_collections,
72
77
  'access_storefront_and_item': value.access_storefront_and_item,
73
78
  'cancel_subscription': value.cancel_subscription,
79
+ 'custom_collection_oids': value.custom_collection_oids,
80
+ 'custom_collections': value.custom_collections === undefined ? undefined : (value.custom_collections.map(ConversationVirtualAgentCapabilityCustomCollection_1.ConversationVirtualAgentCapabilityCustomCollectionToJSON)),
74
81
  'delay_subscription': value.delay_subscription,
75
82
  'generate_coupon': value.generate_coupon,
76
83
  'lookup_order_information': value.lookup_order_information,
@@ -0,0 +1,67 @@
1
+ /**
2
+ * UltraCart Rest API V2
3
+ * UltraCart REST API Version 2
4
+ *
5
+ * The version of the OpenAPI document: 2.0.0
6
+ * Contact: support@ultracart.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface ConversationVirtualAgentCapabilityCustomCollection
16
+ */
17
+ export interface ConversationVirtualAgentCapabilityCustomCollection {
18
+ /**
19
+ * Merchant authored description of what is in this collection, which is what the agent sees when deciding whether to search it
20
+ * @type {string}
21
+ * @memberof ConversationVirtualAgentCapabilityCustomCollection
22
+ */
23
+ ai_description?: string;
24
+ /**
25
+ * True if this collection has been enabled for AI access in its own configuration. A collection that is not enabled cannot be searched even if it is selected here.
26
+ * @type {boolean}
27
+ * @memberof ConversationVirtualAgentCapabilityCustomCollection
28
+ */
29
+ ai_enabled?: boolean;
30
+ /**
31
+ * Merchant assigned name of the collection
32
+ * @type {string}
33
+ * @memberof ConversationVirtualAgentCapabilityCustomCollection
34
+ */
35
+ collection_name?: string;
36
+ /**
37
+ * Error from the last build, if it failed. A collection with an error will return nothing to the agent, so this is worth surfacing next to the selection.
38
+ * @type {string}
39
+ * @memberof ConversationVirtualAgentCapabilityCustomCollection
40
+ */
41
+ error_message?: string;
42
+ /**
43
+ * Date/time the collection was last rebuilt from the merchant's BigQuery query
44
+ * @type {string}
45
+ * @memberof ConversationVirtualAgentCapabilityCustomCollection
46
+ */
47
+ last_update_dts?: string;
48
+ /**
49
+ * Number of records loaded on the last build
50
+ * @type {number}
51
+ * @memberof ConversationVirtualAgentCapabilityCustomCollection
52
+ */
53
+ record_count?: number;
54
+ /**
55
+ * The identifier to place in custom_collection_oids to grant the agent access to this collection
56
+ * @type {number}
57
+ * @memberof ConversationVirtualAgentCapabilityCustomCollection
58
+ */
59
+ typesense_custom_collection_oid?: number;
60
+ }
61
+ /**
62
+ * Check if a given object implements the ConversationVirtualAgentCapabilityCustomCollection interface.
63
+ */
64
+ export declare function instanceOfConversationVirtualAgentCapabilityCustomCollection(value: object): boolean;
65
+ export declare function ConversationVirtualAgentCapabilityCustomCollectionFromJSON(json: any): ConversationVirtualAgentCapabilityCustomCollection;
66
+ export declare function ConversationVirtualAgentCapabilityCustomCollectionFromJSONTyped(json: any, ignoreDiscriminator: boolean): ConversationVirtualAgentCapabilityCustomCollection;
67
+ export declare function ConversationVirtualAgentCapabilityCustomCollectionToJSON(value?: ConversationVirtualAgentCapabilityCustomCollection | null): any;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * UltraCart Rest API V2
6
+ * UltraCart REST API Version 2
7
+ *
8
+ * The version of the OpenAPI document: 2.0.0
9
+ * Contact: support@ultracart.com
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.ConversationVirtualAgentCapabilityCustomCollectionToJSON = exports.ConversationVirtualAgentCapabilityCustomCollectionFromJSONTyped = exports.ConversationVirtualAgentCapabilityCustomCollectionFromJSON = exports.instanceOfConversationVirtualAgentCapabilityCustomCollection = void 0;
17
+ var runtime_1 = require("../runtime");
18
+ /**
19
+ * Check if a given object implements the ConversationVirtualAgentCapabilityCustomCollection interface.
20
+ */
21
+ function instanceOfConversationVirtualAgentCapabilityCustomCollection(value) {
22
+ var isInstance = true;
23
+ return isInstance;
24
+ }
25
+ exports.instanceOfConversationVirtualAgentCapabilityCustomCollection = instanceOfConversationVirtualAgentCapabilityCustomCollection;
26
+ function ConversationVirtualAgentCapabilityCustomCollectionFromJSON(json) {
27
+ return ConversationVirtualAgentCapabilityCustomCollectionFromJSONTyped(json, false);
28
+ }
29
+ exports.ConversationVirtualAgentCapabilityCustomCollectionFromJSON = ConversationVirtualAgentCapabilityCustomCollectionFromJSON;
30
+ function ConversationVirtualAgentCapabilityCustomCollectionFromJSONTyped(json, ignoreDiscriminator) {
31
+ if ((json === undefined) || (json === null)) {
32
+ return json;
33
+ }
34
+ return {
35
+ 'ai_description': !(0, runtime_1.exists)(json, 'ai_description') ? undefined : json['ai_description'],
36
+ 'ai_enabled': !(0, runtime_1.exists)(json, 'ai_enabled') ? undefined : json['ai_enabled'],
37
+ 'collection_name': !(0, runtime_1.exists)(json, 'collection_name') ? undefined : json['collection_name'],
38
+ 'error_message': !(0, runtime_1.exists)(json, 'error_message') ? undefined : json['error_message'],
39
+ 'last_update_dts': !(0, runtime_1.exists)(json, 'last_update_dts') ? undefined : json['last_update_dts'],
40
+ 'record_count': !(0, runtime_1.exists)(json, 'record_count') ? undefined : json['record_count'],
41
+ 'typesense_custom_collection_oid': !(0, runtime_1.exists)(json, 'typesense_custom_collection_oid') ? undefined : json['typesense_custom_collection_oid'],
42
+ };
43
+ }
44
+ exports.ConversationVirtualAgentCapabilityCustomCollectionFromJSONTyped = ConversationVirtualAgentCapabilityCustomCollectionFromJSONTyped;
45
+ function ConversationVirtualAgentCapabilityCustomCollectionToJSON(value) {
46
+ if (value === undefined) {
47
+ return undefined;
48
+ }
49
+ if (value === null) {
50
+ return null;
51
+ }
52
+ return {
53
+ 'ai_description': value.ai_description,
54
+ 'ai_enabled': value.ai_enabled,
55
+ 'collection_name': value.collection_name,
56
+ 'error_message': value.error_message,
57
+ 'last_update_dts': value.last_update_dts,
58
+ 'record_count': value.record_count,
59
+ 'typesense_custom_collection_oid': value.typesense_custom_collection_oid,
60
+ };
61
+ }
62
+ exports.ConversationVirtualAgentCapabilityCustomCollectionToJSON = ConversationVirtualAgentCapabilityCustomCollectionToJSON;
@@ -34,7 +34,7 @@ export interface SfvbContainerResponse {
34
34
  */
35
35
  hash_sha256?: string;
36
36
  /**
37
- * When the container was last modified, in the store's own record of it. Present for email, postcardfront and postcardback. Absent for upsell and item, because those tables carry no modification timestamp at all - for those two, read created_dts on the current entry of container_versions, which records when this API last wrote the container. Note that a postcard keeps one timestamp for both of its sides, so writing the front moves the value the back reports.
37
+ * When the container was last modified, in the store's own record of it. Every owner type reports this. It is absent only when the container has never been written since the store began recording it, so treat an absent value as unknown rather than as never modified. Two behaviours worth knowing. A postcard keeps one timestamp for both of its sides, so writing the front moves the value the back reports. An upsell container that is rewritten with byte identical content keeps its original date rather than moving to now, because the timestamp tracks changes to the container and not writes to the offer.
38
38
  * @type {string}
39
39
  * @memberof SfvbContainerResponse
40
40
  */
@@ -16,7 +16,7 @@
16
16
  */
17
17
  export interface SfvbThemeDuplicateRequest {
18
18
  /**
19
- * Directory name for the new theme under /themes/. Letters and numbers; it is cleansed before use. Must not already exist - a collision is refused rather than resolved, because silently creating a differently named theme leaves you unsure what you made.
19
+ * Directory name for the new theme under /themes/. Letters and numbers, one path segment. Used verbatim - anything that is not already a valid directory name is refused rather than adjusted, because this call does not return the new theme's oid and you find your copy by matching the target_path you asked for. Must not already exist - a collision is refused rather than resolved, because silently creating a differently named theme leaves you unsure what you made.
20
20
  * @type {string}
21
21
  * @memberof SfvbThemeDuplicateRequest
22
22
  */
@@ -82,7 +82,7 @@ export interface SfvbThemeJobResponse {
82
82
  */
83
83
  success?: boolean;
84
84
  /**
85
- * Path the new theme was created at. Returned when the job is started; the theme oid itself is NOT returned, because the job's product is a plain text report rather than a structured result. Once the job completes, list themes and match on this path.
85
+ * Path the new theme is being created at. Returned when the job is started and on every poll, so you do not have to keep the response that started it. The theme oid itself is NOT returned, so once the job completes you list themes and match on this path. It is also what success is checked against - a finished job whose theme is not here reports success false rather than pretending.
86
86
  * @type {string}
87
87
  * @memberof SfvbThemeJobResponse
88
88
  */
@@ -33,18 +33,42 @@ export interface SfvbVersionResponse {
33
33
  * @memberof SfvbVersionResponse
34
34
  */
35
35
  element_count?: number;
36
+ /**
37
+ * Largest binary asset that can be uploaded, in bytes, for every accepted type except video.
38
+ * @type {number}
39
+ * @memberof SfvbVersionResponse
40
+ */
41
+ max_asset_bytes?: number;
36
42
  /**
37
43
  * Largest CJSON document that will be parsed, in bytes.
38
44
  * @type {number}
39
45
  * @memberof SfvbVersionResponse
40
46
  */
41
47
  max_cjson_bytes?: number;
48
+ /**
49
+ * Most entries one directory listing returns. Asking for more is silently reduced to this rather than refused, so compare against it instead of trusting that you got what you asked for. The listing does set a truncated flag when it drops entries.
50
+ * @type {number}
51
+ * @memberof SfvbVersionResponse
52
+ */
53
+ max_directory_entries?: number;
54
+ /**
55
+ * Most element library results one page returns. Asking for more is silently reduced to this, and unlike the directory listing there is no truncation flag on the response, so this number is the only way to know a larger request was cut.
56
+ * @type {number}
57
+ * @memberof SfvbVersionResponse
58
+ */
59
+ max_library_results_per_page?: number;
42
60
  /**
43
61
  * Largest payload one preview session may hold, in bytes.
44
62
  * @type {number}
45
63
  * @memberof SfvbVersionResponse
46
64
  */
47
65
  max_preview_session_bytes?: number;
66
+ /**
67
+ * Largest historical version files/revert will restore, in bytes. Higher than max_text_read_bytes deliberately - putting back a version that is already stored is cheaper than serving it as JSON, so a version too large to read can still be reverted to.
68
+ * @type {number}
69
+ * @memberof SfvbVersionResponse
70
+ */
71
+ max_revertable_bytes?: number;
48
72
  /**
49
73
  * Hard ceiling on file search results per page.
50
74
  * @type {number}
@@ -52,11 +76,23 @@ export interface SfvbVersionResponse {
52
76
  */
53
77
  max_search_results?: number;
54
78
  /**
55
- * Largest template file that can be written, in bytes.
79
+ * Largest .vm template that can be written, in bytes. Narrow on purpose - it gates writes, only for files ending in .vm, and it is not the ceiling on reading a file back. Use max_text_read_bytes for that.
56
80
  * @type {number}
57
81
  * @memberof SfvbVersionResponse
58
82
  */
59
83
  max_template_bytes?: number;
84
+ /**
85
+ * Largest file files/content will return as text, in bytes. A file above this is refused with sfvb.too_large however small its history versions are. Bigger than max_template_bytes, so a file can be readable here and still be too large to write back as a template. Anything above this is still readable in full through files/download, which returns raw bytes and applies no ceiling.
86
+ * @type {number}
87
+ * @memberof SfvbVersionResponse
88
+ */
89
+ max_text_read_bytes?: number;
90
+ /**
91
+ * Largest video that can be uploaded, in bytes. Video is the one type allowed past max_asset_bytes.
92
+ * @type {number}
93
+ * @memberof SfvbVersionResponse
94
+ */
95
+ max_video_bytes?: number;
60
96
  /**
61
97
  * Most widget ids that can be reserved in one call.
62
98
  * @type {number}
@@ -43,10 +43,16 @@ function SfvbVersionResponseFromJSONTyped(json, ignoreDiscriminator) {
43
43
  'container_manager_version': !(0, runtime_1.exists)(json, 'container_manager_version') ? undefined : json['container_manager_version'],
44
44
  'container_versions_retained': !(0, runtime_1.exists)(json, 'container_versions_retained') ? undefined : json['container_versions_retained'],
45
45
  'element_count': !(0, runtime_1.exists)(json, 'element_count') ? undefined : json['element_count'],
46
+ 'max_asset_bytes': !(0, runtime_1.exists)(json, 'max_asset_bytes') ? undefined : json['max_asset_bytes'],
46
47
  'max_cjson_bytes': !(0, runtime_1.exists)(json, 'max_cjson_bytes') ? undefined : json['max_cjson_bytes'],
48
+ 'max_directory_entries': !(0, runtime_1.exists)(json, 'max_directory_entries') ? undefined : json['max_directory_entries'],
49
+ 'max_library_results_per_page': !(0, runtime_1.exists)(json, 'max_library_results_per_page') ? undefined : json['max_library_results_per_page'],
47
50
  'max_preview_session_bytes': !(0, runtime_1.exists)(json, 'max_preview_session_bytes') ? undefined : json['max_preview_session_bytes'],
51
+ 'max_revertable_bytes': !(0, runtime_1.exists)(json, 'max_revertable_bytes') ? undefined : json['max_revertable_bytes'],
48
52
  'max_search_results': !(0, runtime_1.exists)(json, 'max_search_results') ? undefined : json['max_search_results'],
49
53
  'max_template_bytes': !(0, runtime_1.exists)(json, 'max_template_bytes') ? undefined : json['max_template_bytes'],
54
+ 'max_text_read_bytes': !(0, runtime_1.exists)(json, 'max_text_read_bytes') ? undefined : json['max_text_read_bytes'],
55
+ 'max_video_bytes': !(0, runtime_1.exists)(json, 'max_video_bytes') ? undefined : json['max_video_bytes'],
50
56
  'max_widget_ids_per_request': !(0, runtime_1.exists)(json, 'max_widget_ids_per_request') ? undefined : json['max_widget_ids_per_request'],
51
57
  'preview_session_ttl_seconds': !(0, runtime_1.exists)(json, 'preview_session_ttl_seconds') ? undefined : json['preview_session_ttl_seconds'],
52
58
  'release': !(0, runtime_1.exists)(json, 'release') ? undefined : json['release'],
@@ -64,10 +70,16 @@ function SfvbVersionResponseToJSON(value) {
64
70
  'container_manager_version': value.container_manager_version,
65
71
  'container_versions_retained': value.container_versions_retained,
66
72
  'element_count': value.element_count,
73
+ 'max_asset_bytes': value.max_asset_bytes,
67
74
  'max_cjson_bytes': value.max_cjson_bytes,
75
+ 'max_directory_entries': value.max_directory_entries,
76
+ 'max_library_results_per_page': value.max_library_results_per_page,
68
77
  'max_preview_session_bytes': value.max_preview_session_bytes,
78
+ 'max_revertable_bytes': value.max_revertable_bytes,
69
79
  'max_search_results': value.max_search_results,
70
80
  'max_template_bytes': value.max_template_bytes,
81
+ 'max_text_read_bytes': value.max_text_read_bytes,
82
+ 'max_video_bytes': value.max_video_bytes,
71
83
  'max_widget_ids_per_request': value.max_widget_ids_per_request,
72
84
  'preview_session_ttl_seconds': value.preview_session_ttl_seconds,
73
85
  'release': value.release,
@@ -319,6 +319,7 @@ export * from './ConversationVirtualAgentBudget';
319
319
  export * from './ConversationVirtualAgentBudgetResponse';
320
320
  export * from './ConversationVirtualAgentCapabilities';
321
321
  export * from './ConversationVirtualAgentCapabilitiesResponse';
322
+ export * from './ConversationVirtualAgentCapabilityCustomCollection';
322
323
  export * from './ConversationVirtualAgentCapabilityZohoDeskDepartment';
323
324
  export * from './ConversationWebchatContext';
324
325
  export * from './ConversationWebchatQueueStatus';
@@ -337,6 +337,7 @@ __exportStar(require("./ConversationVirtualAgentBudget"), exports);
337
337
  __exportStar(require("./ConversationVirtualAgentBudgetResponse"), exports);
338
338
  __exportStar(require("./ConversationVirtualAgentCapabilities"), exports);
339
339
  __exportStar(require("./ConversationVirtualAgentCapabilitiesResponse"), exports);
340
+ __exportStar(require("./ConversationVirtualAgentCapabilityCustomCollection"), exports);
340
341
  __exportStar(require("./ConversationVirtualAgentCapabilityZohoDeskDepartment"), exports);
341
342
  __exportStar(require("./ConversationWebchatContext"), exports);
342
343
  __exportStar(require("./ConversationWebchatQueueStatus"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ultracart_rest_api_v2_typescript",
3
- "version": "4.1.146",
3
+ "version": "4.1.148",
4
4
  "description": "UltraCart Rest TypeScript SDK",
5
5
  "author": "UltraCart",
6
6
  "repository": {
@@ -354,7 +354,7 @@ export interface SfvbApiInterface {
354
354
  compileSfvbCjson(requestParameters: CompileSfvbCjsonRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbCompileResponse>;
355
355
 
356
356
  /**
357
- * Returns a server generated session id to push containers into. The id is not caller supplied, because concurrent agents choosing their own would be free to collide, and the browser editor\'s habit of minting one with Math.random is not a property worth carrying into an API. Expires after eight hours and can be deleted sooner. Requires a token that resolves to a user, so use the device authorization flow.
357
+ * Returns a server generated session id to push containers into, and opens the session so that id exists rather than merely being random. The id is not caller supplied, because concurrent agents choosing their own would be free to collide, and the browser editor\'s habit of minting one with Math.random is not a property worth carrying into an API. Expires after eight hours and can be deleted sooner. Requires a token that resolves to a user, so use the device authorization flow.
358
358
  * @summary Create a preview session
359
359
  * @param {number} storefrontOid
360
360
  * @param {*} [options] Override http request option.
@@ -364,7 +364,7 @@ export interface SfvbApiInterface {
364
364
  createSfvbPreviewSessionRaw(requestParameters: CreateSfvbPreviewSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbPreviewSessionResponse>>;
365
365
 
366
366
  /**
367
- * Returns a server generated session id to push containers into. The id is not caller supplied, because concurrent agents choosing their own would be free to collide, and the browser editor\'s habit of minting one with Math.random is not a property worth carrying into an API. Expires after eight hours and can be deleted sooner. Requires a token that resolves to a user, so use the device authorization flow.
367
+ * Returns a server generated session id to push containers into, and opens the session so that id exists rather than merely being random. The id is not caller supplied, because concurrent agents choosing their own would be free to collide, and the browser editor\'s habit of minting one with Math.random is not a property worth carrying into an API. Expires after eight hours and can be deleted sooner. Requires a token that resolves to a user, so use the device authorization flow.
368
368
  * Create a preview session
369
369
  */
370
370
  createSfvbPreviewSession(requestParameters: CreateSfvbPreviewSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbPreviewSessionResponse>;
@@ -815,7 +815,7 @@ export interface SfvbApiInterface {
815
815
  putSfvbFileContent(requestParameters: PutSfvbFileContentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbFileWriteResponse>;
816
816
 
817
817
  /**
818
- * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
818
+ * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. The session must exist - this does not create one, so a deleted, expired or never issued id is a 404 rather than a new session. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
819
819
  * @summary Push containers into a preview session
820
820
  * @param {number} storefrontOid
821
821
  * @param {string} previewSessionId
@@ -828,7 +828,7 @@ export interface SfvbApiInterface {
828
828
  putSfvbPreviewSessionRaw(requestParameters: PutSfvbPreviewSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbPreviewSessionResponse>>;
829
829
 
830
830
  /**
831
- * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
831
+ * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. The session must exist - this does not create one, so a deleted, expired or never issued id is a 404 rather than a new session. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
832
832
  * Push containers into a preview session
833
833
  */
834
834
  putSfvbPreviewSession(requestParameters: PutSfvbPreviewSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbPreviewSessionResponse>;
@@ -1048,7 +1048,7 @@ export class SfvbApi extends runtime.BaseAPI implements SfvbApiInterface {
1048
1048
  }
1049
1049
 
1050
1050
  /**
1051
- * Returns a server generated session id to push containers into. The id is not caller supplied, because concurrent agents choosing their own would be free to collide, and the browser editor\'s habit of minting one with Math.random is not a property worth carrying into an API. Expires after eight hours and can be deleted sooner. Requires a token that resolves to a user, so use the device authorization flow.
1051
+ * Returns a server generated session id to push containers into, and opens the session so that id exists rather than merely being random. The id is not caller supplied, because concurrent agents choosing their own would be free to collide, and the browser editor\'s habit of minting one with Math.random is not a property worth carrying into an API. Expires after eight hours and can be deleted sooner. Requires a token that resolves to a user, so use the device authorization flow.
1052
1052
  * Create a preview session
1053
1053
  */
1054
1054
  async createSfvbPreviewSessionRaw(requestParameters: CreateSfvbPreviewSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbPreviewSessionResponse>> {
@@ -1080,7 +1080,7 @@ export class SfvbApi extends runtime.BaseAPI implements SfvbApiInterface {
1080
1080
  }
1081
1081
 
1082
1082
  /**
1083
- * Returns a server generated session id to push containers into. The id is not caller supplied, because concurrent agents choosing their own would be free to collide, and the browser editor\'s habit of minting one with Math.random is not a property worth carrying into an API. Expires after eight hours and can be deleted sooner. Requires a token that resolves to a user, so use the device authorization flow.
1083
+ * Returns a server generated session id to push containers into, and opens the session so that id exists rather than merely being random. The id is not caller supplied, because concurrent agents choosing their own would be free to collide, and the browser editor\'s habit of minting one with Math.random is not a property worth carrying into an API. Expires after eight hours and can be deleted sooner. Requires a token that resolves to a user, so use the device authorization flow.
1084
1084
  * Create a preview session
1085
1085
  */
1086
1086
  async createSfvbPreviewSession(requestParameters: CreateSfvbPreviewSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbPreviewSessionResponse> {
@@ -2302,7 +2302,7 @@ export class SfvbApi extends runtime.BaseAPI implements SfvbApiInterface {
2302
2302
  }
2303
2303
 
2304
2304
  /**
2305
- * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
2305
+ * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. The session must exist - this does not create one, so a deleted, expired or never issued id is a 404 rather than a new session. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
2306
2306
  * Push containers into a preview session
2307
2307
  */
2308
2308
  async putSfvbPreviewSessionRaw(requestParameters: PutSfvbPreviewSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbPreviewSessionResponse>> {
@@ -2349,7 +2349,7 @@ export class SfvbApi extends runtime.BaseAPI implements SfvbApiInterface {
2349
2349
  }
2350
2350
 
2351
2351
  /**
2352
- * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
2352
+ * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. The session must exist - this does not create one, so a deleted, expired or never issued id is a 404 rather than a new session. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
2353
2353
  * Push containers into a preview session
2354
2354
  */
2355
2355
  async putSfvbPreviewSession(requestParameters: PutSfvbPreviewSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbPreviewSessionResponse> {
@@ -13,6 +13,12 @@
13
13
  */
14
14
 
15
15
  import { exists, mapValues } from '../runtime';
16
+ import {
17
+ ConversationVirtualAgentCapabilityCustomCollection,
18
+ ConversationVirtualAgentCapabilityCustomCollectionFromJSON,
19
+ ConversationVirtualAgentCapabilityCustomCollectionFromJSONTyped,
20
+ ConversationVirtualAgentCapabilityCustomCollectionToJSON,
21
+ } from './ConversationVirtualAgentCapabilityCustomCollection';
16
22
  import {
17
23
  ConversationVirtualAgentCapabilityZohoDeskDepartment,
18
24
  ConversationVirtualAgentCapabilityZohoDeskDepartmentFromJSON,
@@ -26,6 +32,12 @@ import {
26
32
  * @interface ConversationVirtualAgentCapabilities
27
33
  */
28
34
  export interface ConversationVirtualAgentCapabilities {
35
+ /**
36
+ * Permission flag to allow this Agent to search the merchant's custom Typesense collections.
37
+ * @type {boolean}
38
+ * @memberof ConversationVirtualAgentCapabilities
39
+ */
40
+ access_custom_collections?: boolean;
29
41
  /**
30
42
  * Permission flag to allow this Agent access to the storefront and item information.
31
43
  * @type {boolean}
@@ -38,6 +50,18 @@ export interface ConversationVirtualAgentCapabilities {
38
50
  * @memberof ConversationVirtualAgentCapabilities
39
51
  */
40
52
  cancel_subscription?: boolean;
53
+ /**
54
+ * The custom collections this Agent is allowed to search. Empty means none, even when access_custom_collections is true.
55
+ * @type {object}
56
+ * @memberof ConversationVirtualAgentCapabilities
57
+ */
58
+ custom_collection_oids?: object;
59
+ /**
60
+ * Read only. All of the merchant's custom collections, to populate the selection list for custom_collection_oids. Changes here are ignored.
61
+ * @type {Array<ConversationVirtualAgentCapabilityCustomCollection>}
62
+ * @memberof ConversationVirtualAgentCapabilities
63
+ */
64
+ custom_collections?: Array<ConversationVirtualAgentCapabilityCustomCollection>;
41
65
  /**
42
66
  *
43
67
  * @type {boolean}
@@ -157,8 +181,11 @@ export function ConversationVirtualAgentCapabilitiesFromJSONTyped(json: any, ign
157
181
  }
158
182
  return {
159
183
 
184
+ 'access_custom_collections': !exists(json, 'access_custom_collections') ? undefined : json['access_custom_collections'],
160
185
  'access_storefront_and_item': !exists(json, 'access_storefront_and_item') ? undefined : json['access_storefront_and_item'],
161
186
  'cancel_subscription': !exists(json, 'cancel_subscription') ? undefined : json['cancel_subscription'],
187
+ 'custom_collection_oids': !exists(json, 'custom_collection_oids') ? undefined : json['custom_collection_oids'],
188
+ 'custom_collections': !exists(json, 'custom_collections') ? undefined : ((json['custom_collections'] as Array<any>).map(ConversationVirtualAgentCapabilityCustomCollectionFromJSON)),
162
189
  'delay_subscription': !exists(json, 'delay_subscription') ? undefined : json['delay_subscription'],
163
190
  'generate_coupon': !exists(json, 'generate_coupon') ? undefined : json['generate_coupon'],
164
191
  'lookup_order_information': !exists(json, 'lookup_order_information') ? undefined : json['lookup_order_information'],
@@ -185,8 +212,11 @@ export function ConversationVirtualAgentCapabilitiesToJSON(value?: ConversationV
185
212
  }
186
213
  return {
187
214
 
215
+ 'access_custom_collections': value.access_custom_collections,
188
216
  'access_storefront_and_item': value.access_storefront_and_item,
189
217
  'cancel_subscription': value.cancel_subscription,
218
+ 'custom_collection_oids': value.custom_collection_oids,
219
+ 'custom_collections': value.custom_collections === undefined ? undefined : ((value.custom_collections as Array<any>).map(ConversationVirtualAgentCapabilityCustomCollectionToJSON)),
190
220
  'delay_subscription': value.delay_subscription,
191
221
  'generate_coupon': value.generate_coupon,
192
222
  'lookup_order_information': value.lookup_order_information,
@@ -0,0 +1,115 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * UltraCart Rest API V2
5
+ * UltraCart REST API Version 2
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ * Contact: support@ultracart.com
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { exists, mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface ConversationVirtualAgentCapabilityCustomCollection
20
+ */
21
+ export interface ConversationVirtualAgentCapabilityCustomCollection {
22
+ /**
23
+ * Merchant authored description of what is in this collection, which is what the agent sees when deciding whether to search it
24
+ * @type {string}
25
+ * @memberof ConversationVirtualAgentCapabilityCustomCollection
26
+ */
27
+ ai_description?: string;
28
+ /**
29
+ * True if this collection has been enabled for AI access in its own configuration. A collection that is not enabled cannot be searched even if it is selected here.
30
+ * @type {boolean}
31
+ * @memberof ConversationVirtualAgentCapabilityCustomCollection
32
+ */
33
+ ai_enabled?: boolean;
34
+ /**
35
+ * Merchant assigned name of the collection
36
+ * @type {string}
37
+ * @memberof ConversationVirtualAgentCapabilityCustomCollection
38
+ */
39
+ collection_name?: string;
40
+ /**
41
+ * Error from the last build, if it failed. A collection with an error will return nothing to the agent, so this is worth surfacing next to the selection.
42
+ * @type {string}
43
+ * @memberof ConversationVirtualAgentCapabilityCustomCollection
44
+ */
45
+ error_message?: string;
46
+ /**
47
+ * Date/time the collection was last rebuilt from the merchant's BigQuery query
48
+ * @type {string}
49
+ * @memberof ConversationVirtualAgentCapabilityCustomCollection
50
+ */
51
+ last_update_dts?: string;
52
+ /**
53
+ * Number of records loaded on the last build
54
+ * @type {number}
55
+ * @memberof ConversationVirtualAgentCapabilityCustomCollection
56
+ */
57
+ record_count?: number;
58
+ /**
59
+ * The identifier to place in custom_collection_oids to grant the agent access to this collection
60
+ * @type {number}
61
+ * @memberof ConversationVirtualAgentCapabilityCustomCollection
62
+ */
63
+ typesense_custom_collection_oid?: number;
64
+ }
65
+
66
+
67
+
68
+ /**
69
+ * Check if a given object implements the ConversationVirtualAgentCapabilityCustomCollection interface.
70
+ */
71
+ export function instanceOfConversationVirtualAgentCapabilityCustomCollection(value: object): boolean {
72
+ let isInstance = true;
73
+
74
+ return isInstance;
75
+ }
76
+
77
+ export function ConversationVirtualAgentCapabilityCustomCollectionFromJSON(json: any): ConversationVirtualAgentCapabilityCustomCollection {
78
+ return ConversationVirtualAgentCapabilityCustomCollectionFromJSONTyped(json, false);
79
+ }
80
+
81
+ export function ConversationVirtualAgentCapabilityCustomCollectionFromJSONTyped(json: any, ignoreDiscriminator: boolean): ConversationVirtualAgentCapabilityCustomCollection {
82
+ if ((json === undefined) || (json === null)) {
83
+ return json;
84
+ }
85
+ return {
86
+
87
+ 'ai_description': !exists(json, 'ai_description') ? undefined : json['ai_description'],
88
+ 'ai_enabled': !exists(json, 'ai_enabled') ? undefined : json['ai_enabled'],
89
+ 'collection_name': !exists(json, 'collection_name') ? undefined : json['collection_name'],
90
+ 'error_message': !exists(json, 'error_message') ? undefined : json['error_message'],
91
+ 'last_update_dts': !exists(json, 'last_update_dts') ? undefined : json['last_update_dts'],
92
+ 'record_count': !exists(json, 'record_count') ? undefined : json['record_count'],
93
+ 'typesense_custom_collection_oid': !exists(json, 'typesense_custom_collection_oid') ? undefined : json['typesense_custom_collection_oid'],
94
+ };
95
+ }
96
+
97
+ export function ConversationVirtualAgentCapabilityCustomCollectionToJSON(value?: ConversationVirtualAgentCapabilityCustomCollection | null): any {
98
+ if (value === undefined) {
99
+ return undefined;
100
+ }
101
+ if (value === null) {
102
+ return null;
103
+ }
104
+ return {
105
+
106
+ 'ai_description': value.ai_description,
107
+ 'ai_enabled': value.ai_enabled,
108
+ 'collection_name': value.collection_name,
109
+ 'error_message': value.error_message,
110
+ 'last_update_dts': value.last_update_dts,
111
+ 'record_count': value.record_count,
112
+ 'typesense_custom_collection_oid': value.typesense_custom_collection_oid,
113
+ };
114
+ }
115
+
@@ -38,7 +38,7 @@ export interface SfvbContainerResponse {
38
38
  */
39
39
  hash_sha256?: string;
40
40
  /**
41
- * When the container was last modified, in the store's own record of it. Present for email, postcardfront and postcardback. Absent for upsell and item, because those tables carry no modification timestamp at all - for those two, read created_dts on the current entry of container_versions, which records when this API last wrote the container. Note that a postcard keeps one timestamp for both of its sides, so writing the front moves the value the back reports.
41
+ * When the container was last modified, in the store's own record of it. Every owner type reports this. It is absent only when the container has never been written since the store began recording it, so treat an absent value as unknown rather than as never modified. Two behaviours worth knowing. A postcard keeps one timestamp for both of its sides, so writing the front moves the value the back reports. An upsell container that is rewritten with byte identical content keeps its original date rather than moving to now, because the timestamp tracks changes to the container and not writes to the offer.
42
42
  * @type {string}
43
43
  * @memberof SfvbContainerResponse
44
44
  */
@@ -20,7 +20,7 @@ import { exists, mapValues } from '../runtime';
20
20
  */
21
21
  export interface SfvbThemeDuplicateRequest {
22
22
  /**
23
- * Directory name for the new theme under /themes/. Letters and numbers; it is cleansed before use. Must not already exist - a collision is refused rather than resolved, because silently creating a differently named theme leaves you unsure what you made.
23
+ * Directory name for the new theme under /themes/. Letters and numbers, one path segment. Used verbatim - anything that is not already a valid directory name is refused rather than adjusted, because this call does not return the new theme's oid and you find your copy by matching the target_path you asked for. Must not already exist - a collision is refused rather than resolved, because silently creating a differently named theme leaves you unsure what you made.
24
24
  * @type {string}
25
25
  * @memberof SfvbThemeDuplicateRequest
26
26
  */
@@ -86,7 +86,7 @@ export interface SfvbThemeJobResponse {
86
86
  */
87
87
  success?: boolean;
88
88
  /**
89
- * Path the new theme was created at. Returned when the job is started; the theme oid itself is NOT returned, because the job's product is a plain text report rather than a structured result. Once the job completes, list themes and match on this path.
89
+ * Path the new theme is being created at. Returned when the job is started and on every poll, so you do not have to keep the response that started it. The theme oid itself is NOT returned, so once the job completes you list themes and match on this path. It is also what success is checked against - a finished job whose theme is not here reports success false rather than pretending.
90
90
  * @type {string}
91
91
  * @memberof SfvbThemeJobResponse
92
92
  */
@@ -37,18 +37,42 @@ export interface SfvbVersionResponse {
37
37
  * @memberof SfvbVersionResponse
38
38
  */
39
39
  element_count?: number;
40
+ /**
41
+ * Largest binary asset that can be uploaded, in bytes, for every accepted type except video.
42
+ * @type {number}
43
+ * @memberof SfvbVersionResponse
44
+ */
45
+ max_asset_bytes?: number;
40
46
  /**
41
47
  * Largest CJSON document that will be parsed, in bytes.
42
48
  * @type {number}
43
49
  * @memberof SfvbVersionResponse
44
50
  */
45
51
  max_cjson_bytes?: number;
52
+ /**
53
+ * Most entries one directory listing returns. Asking for more is silently reduced to this rather than refused, so compare against it instead of trusting that you got what you asked for. The listing does set a truncated flag when it drops entries.
54
+ * @type {number}
55
+ * @memberof SfvbVersionResponse
56
+ */
57
+ max_directory_entries?: number;
58
+ /**
59
+ * Most element library results one page returns. Asking for more is silently reduced to this, and unlike the directory listing there is no truncation flag on the response, so this number is the only way to know a larger request was cut.
60
+ * @type {number}
61
+ * @memberof SfvbVersionResponse
62
+ */
63
+ max_library_results_per_page?: number;
46
64
  /**
47
65
  * Largest payload one preview session may hold, in bytes.
48
66
  * @type {number}
49
67
  * @memberof SfvbVersionResponse
50
68
  */
51
69
  max_preview_session_bytes?: number;
70
+ /**
71
+ * Largest historical version files/revert will restore, in bytes. Higher than max_text_read_bytes deliberately - putting back a version that is already stored is cheaper than serving it as JSON, so a version too large to read can still be reverted to.
72
+ * @type {number}
73
+ * @memberof SfvbVersionResponse
74
+ */
75
+ max_revertable_bytes?: number;
52
76
  /**
53
77
  * Hard ceiling on file search results per page.
54
78
  * @type {number}
@@ -56,11 +80,23 @@ export interface SfvbVersionResponse {
56
80
  */
57
81
  max_search_results?: number;
58
82
  /**
59
- * Largest template file that can be written, in bytes.
83
+ * Largest .vm template that can be written, in bytes. Narrow on purpose - it gates writes, only for files ending in .vm, and it is not the ceiling on reading a file back. Use max_text_read_bytes for that.
60
84
  * @type {number}
61
85
  * @memberof SfvbVersionResponse
62
86
  */
63
87
  max_template_bytes?: number;
88
+ /**
89
+ * Largest file files/content will return as text, in bytes. A file above this is refused with sfvb.too_large however small its history versions are. Bigger than max_template_bytes, so a file can be readable here and still be too large to write back as a template. Anything above this is still readable in full through files/download, which returns raw bytes and applies no ceiling.
90
+ * @type {number}
91
+ * @memberof SfvbVersionResponse
92
+ */
93
+ max_text_read_bytes?: number;
94
+ /**
95
+ * Largest video that can be uploaded, in bytes. Video is the one type allowed past max_asset_bytes.
96
+ * @type {number}
97
+ * @memberof SfvbVersionResponse
98
+ */
99
+ max_video_bytes?: number;
64
100
  /**
65
101
  * Most widget ids that can be reserved in one call.
66
102
  * @type {number}
@@ -116,10 +152,16 @@ export function SfvbVersionResponseFromJSONTyped(json: any, ignoreDiscriminator:
116
152
  'container_manager_version': !exists(json, 'container_manager_version') ? undefined : json['container_manager_version'],
117
153
  'container_versions_retained': !exists(json, 'container_versions_retained') ? undefined : json['container_versions_retained'],
118
154
  'element_count': !exists(json, 'element_count') ? undefined : json['element_count'],
155
+ 'max_asset_bytes': !exists(json, 'max_asset_bytes') ? undefined : json['max_asset_bytes'],
119
156
  'max_cjson_bytes': !exists(json, 'max_cjson_bytes') ? undefined : json['max_cjson_bytes'],
157
+ 'max_directory_entries': !exists(json, 'max_directory_entries') ? undefined : json['max_directory_entries'],
158
+ 'max_library_results_per_page': !exists(json, 'max_library_results_per_page') ? undefined : json['max_library_results_per_page'],
120
159
  'max_preview_session_bytes': !exists(json, 'max_preview_session_bytes') ? undefined : json['max_preview_session_bytes'],
160
+ 'max_revertable_bytes': !exists(json, 'max_revertable_bytes') ? undefined : json['max_revertable_bytes'],
121
161
  'max_search_results': !exists(json, 'max_search_results') ? undefined : json['max_search_results'],
122
162
  'max_template_bytes': !exists(json, 'max_template_bytes') ? undefined : json['max_template_bytes'],
163
+ 'max_text_read_bytes': !exists(json, 'max_text_read_bytes') ? undefined : json['max_text_read_bytes'],
164
+ 'max_video_bytes': !exists(json, 'max_video_bytes') ? undefined : json['max_video_bytes'],
123
165
  'max_widget_ids_per_request': !exists(json, 'max_widget_ids_per_request') ? undefined : json['max_widget_ids_per_request'],
124
166
  'preview_session_ttl_seconds': !exists(json, 'preview_session_ttl_seconds') ? undefined : json['preview_session_ttl_seconds'],
125
167
  'release': !exists(json, 'release') ? undefined : json['release'],
@@ -138,10 +180,16 @@ export function SfvbVersionResponseToJSON(value?: SfvbVersionResponse | null): a
138
180
  'container_manager_version': value.container_manager_version,
139
181
  'container_versions_retained': value.container_versions_retained,
140
182
  'element_count': value.element_count,
183
+ 'max_asset_bytes': value.max_asset_bytes,
141
184
  'max_cjson_bytes': value.max_cjson_bytes,
185
+ 'max_directory_entries': value.max_directory_entries,
186
+ 'max_library_results_per_page': value.max_library_results_per_page,
142
187
  'max_preview_session_bytes': value.max_preview_session_bytes,
188
+ 'max_revertable_bytes': value.max_revertable_bytes,
143
189
  'max_search_results': value.max_search_results,
144
190
  'max_template_bytes': value.max_template_bytes,
191
+ 'max_text_read_bytes': value.max_text_read_bytes,
192
+ 'max_video_bytes': value.max_video_bytes,
145
193
  'max_widget_ids_per_request': value.max_widget_ids_per_request,
146
194
  'preview_session_ttl_seconds': value.preview_session_ttl_seconds,
147
195
  'release': value.release,
@@ -321,6 +321,7 @@ export * from './ConversationVirtualAgentBudget';
321
321
  export * from './ConversationVirtualAgentBudgetResponse';
322
322
  export * from './ConversationVirtualAgentCapabilities';
323
323
  export * from './ConversationVirtualAgentCapabilitiesResponse';
324
+ export * from './ConversationVirtualAgentCapabilityCustomCollection';
324
325
  export * from './ConversationVirtualAgentCapabilityZohoDeskDepartment';
325
326
  export * from './ConversationWebchatContext';
326
327
  export * from './ConversationWebchatQueueStatus';