files.com 1.1.660 → 1.1.662

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 82209e3d411a0f6df1666efe608ea199a5293809e6cb7a20d4acbe7093e42695
4
- data.tar.gz: 88273779926a5da5cb0f365bee0a3eaedcca4964883477897f6c60da311ecd64
3
+ metadata.gz: e67bcae8fe31ba697a3571ce860e0e36ecc6ff23ff79ae01dea228808cf6290a
4
+ data.tar.gz: d1a31219d290878b4555f62d03629a42cea58f6be7fad7c53ff4255074f169bb
5
5
  SHA512:
6
- metadata.gz: 80f6239481ce085d7b19ebfd1f62c2d2b81f055ca5481cf8edf30813a63407ff3cad3e0df3c7cfa6609f44aec30eeebeb8705077d3b047c421fd3d99a919144b
7
- data.tar.gz: 9d105b1d03b25af9bb3d0d1ccabb08c1645baff7c83f34d53c87b28e728042a5fbd8b1860a7b851cd2e15e4376eb30401441d181d2b8cda11750f17e3ced7d18
6
+ metadata.gz: 0202ce12d6796ea0b971b888fc8ec04b10461279d9d2618666a647b81487625cd5cede6bfb7daaf8c803a10caf412c4a0940684bcf5334775a022801d1fb71c6
7
+ data.tar.gz: '0088572e60118954c8deee9eefeba98f1baa8eb050606712320acc3f4c13a008973cbf83a842f2bebafca85fed80d0b6fc952cede8ec91deabf6a4b0886c71f4'
data/README.md CHANGED
@@ -617,6 +617,7 @@ Files::FolderAdminPermissionRequiredError -> Files::NotAuthorizedError -> Files:
617
617
  |`SiteNotFoundError`| `NotFoundError` |
618
618
  |`UserNotFoundError`| `NotFoundError` |
619
619
  |`AgentUnavailableError`| `ProcessingFailureError` |
620
+ |`AiTaskCannotBeRunManuallyError`| `ProcessingFailureError` |
620
621
  |`AlreadyCompletedError`| `ProcessingFailureError` |
621
622
  |`AutomationCannotBeRunManuallyError`| `ProcessingFailureError` |
622
623
  |`BehaviorNotAllowedOnRemoteServerError`| `ProcessingFailureError` |
data/_VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.660
1
+ 1.1.662
data/docs/ai_task.md ADDED
@@ -0,0 +1,277 @@
1
+ # AiTask
2
+
3
+ ## Example AiTask Object
4
+
5
+ ```
6
+ {
7
+ "id": 1,
8
+ "workspace_id": 1,
9
+ "name": "Summarize daily reports",
10
+ "description": "Summarizes files uploaded by the accounting team.",
11
+ "prompt": "Summarize the uploaded file and identify follow-up actions.",
12
+ "path": "incoming/reports",
13
+ "source": "*.pdf",
14
+ "disabled": true,
15
+ "trigger": "daily",
16
+ "trigger_actions": [
17
+ "create"
18
+ ],
19
+ "interval": "day",
20
+ "recurring_day": 1,
21
+ "schedule_days_of_week": [
22
+ 1,
23
+ 3,
24
+ 5
25
+ ],
26
+ "schedule_times_of_day": [
27
+ "06:30"
28
+ ],
29
+ "schedule_time_zone": "Eastern Time (US & Canada)",
30
+ "holiday_region": "us",
31
+ "human_readable_schedule": "Runs every day at 06:30 AM UTC TZ.",
32
+ "last_run_at": "2000-01-01T01:00:00Z",
33
+ "master_admin_user_id": 1,
34
+ "created_at": "2000-01-01T01:00:00Z",
35
+ "updated_at": "2000-01-01T01:00:00Z"
36
+ }
37
+ ```
38
+
39
+ * `id` (int64): AI Task ID.
40
+ * `workspace_id` (int64): Workspace ID. `0` means the default workspace.
41
+ * `name` (string): AI Task name.
42
+ * `description` (string): AI Task description.
43
+ * `prompt` (string): Prompt sent when this AI Task is invoked.
44
+ * `path` (string): Path scope used for action-triggered AI Tasks. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
45
+ * `source` (string): Source glob used with `path` for action-triggered AI Tasks.
46
+ * `disabled` (boolean): If true, this AI Task will not run.
47
+ * `trigger` (string): How this AI Task is triggered.
48
+ * `trigger_actions` (array(string)): If trigger is `action`, the file action types that invoke this AI Task. Valid actions are create, copy, move, archived_delete, update, read, destroy.
49
+ * `interval` (string): If trigger is `daily`, this specifies how often to run the AI Task.
50
+ * `recurring_day` (int64): If trigger is `daily`, this selects the day number inside the chosen interval.
51
+ * `schedule_days_of_week` (array(int64)): If trigger is `custom_schedule`, the 0-based weekdays used by the schedule.
52
+ * `schedule_times_of_day` (array(string)): Times of day in HH:MM format for scheduled AI Tasks.
53
+ * `schedule_time_zone` (string): Time zone used by the AI Task schedule.
54
+ * `holiday_region` (string): Optional holiday region used by scheduled AI Tasks.
55
+ * `human_readable_schedule` (string): Human-readable schedule description.
56
+ * `last_run_at` (date-time): Most recent successful invocation time.
57
+ * `master_admin_user_id` (int64): Master User ID used for AI Task invocations.
58
+ * `created_at` (date-time): Creation time.
59
+ * `updated_at` (date-time): Last update time.
60
+
61
+
62
+ ---
63
+
64
+ ## List Ai Tasks
65
+
66
+ ```
67
+ Files::AiTask.list
68
+ ```
69
+
70
+ ### Parameters
71
+
72
+ * `cursor` (string): Used for pagination. When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`. Send one of those cursor value here to resume an existing list from the next available record. Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.
73
+ * `per_page` (int64): Number of records to show per page. (Max: 10000, 1,000 or less is recommended).
74
+ * `sort_by` (object): If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `workspace_id`, `id`, `disabled` or `updated_at`.
75
+ * `filter` (object): If set, return records where the specified field is equal to the supplied value. Valid fields are `disabled`, `trigger` or `workspace_id`. Valid field combinations are `[ workspace_id, disabled ]`.
76
+
77
+
78
+ ---
79
+
80
+ ## Show Ai Task
81
+
82
+ ```
83
+ Files::AiTask.find(id)
84
+ ```
85
+
86
+ ### Parameters
87
+
88
+ * `id` (int64): Required - Ai Task ID.
89
+
90
+
91
+ ---
92
+
93
+ ## Create Ai Task
94
+
95
+ ```
96
+ Files::AiTask.create(
97
+ description: "Summarizes files uploaded by the accounting team.",
98
+ disabled: true,
99
+ holiday_region: "us",
100
+ interval: "day",
101
+ name: "Summarize daily reports",
102
+ path: "incoming/reports",
103
+ prompt: "Summarize the uploaded file and identify follow-up actions.",
104
+ recurring_day: 1,
105
+ schedule_days_of_week: [1,3,5],
106
+ schedule_time_zone: "Eastern Time (US & Canada)",
107
+ schedule_times_of_day: ["06:30"],
108
+ source: "*.pdf",
109
+ trigger: "daily",
110
+ trigger_actions: ["create"],
111
+ workspace_id: 0
112
+ )
113
+ ```
114
+
115
+ ### Parameters
116
+
117
+ * `description` (string): AI Task description.
118
+ * `disabled` (boolean): If true, this AI Task will not run.
119
+ * `holiday_region` (string): Optional holiday region used by scheduled AI Tasks.
120
+ * `interval` (string): If trigger is `daily`, this specifies how often to run the AI Task.
121
+ * `name` (string): Required - AI Task name.
122
+ * `path` (string): Path scope used for action-triggered AI Tasks.
123
+ * `prompt` (string): Required - Prompt sent when this AI Task is invoked.
124
+ * `recurring_day` (int64): If trigger is `daily`, this selects the day number inside the chosen interval.
125
+ * `schedule_days_of_week` (array(int64)): If trigger is `custom_schedule`, the 0-based weekdays used by the schedule.
126
+ * `schedule_time_zone` (string): Time zone used by the AI Task schedule.
127
+ * `schedule_times_of_day` (array(string)): Times of day in HH:MM format for scheduled AI Tasks.
128
+ * `source` (string): Source glob used with `path` for action-triggered AI Tasks.
129
+ * `trigger` (string): How this AI Task is triggered.
130
+ * `trigger_actions` (array(string)): If trigger is `action`, the file action types that invoke this AI Task. Valid actions are create, copy, move, archived_delete, update, read, destroy.
131
+ * `workspace_id` (int64): Workspace ID. `0` means the default workspace.
132
+
133
+
134
+ ---
135
+
136
+ ## Manually Run AI Task
137
+
138
+ ```
139
+ Files::AiTask.manual_run(id)
140
+ ```
141
+
142
+ ### Parameters
143
+
144
+ * `id` (int64): Required - Ai Task ID.
145
+
146
+
147
+ ---
148
+
149
+ ## Update Ai Task
150
+
151
+ ```
152
+ Files::AiTask.update(id,
153
+ description: "Summarizes files uploaded by the accounting team.",
154
+ disabled: true,
155
+ holiday_region: "us",
156
+ interval: "day",
157
+ name: "Summarize daily reports",
158
+ path: "incoming/reports",
159
+ prompt: "Summarize the uploaded file and identify follow-up actions.",
160
+ recurring_day: 1,
161
+ schedule_days_of_week: [1,3,5],
162
+ schedule_time_zone: "Eastern Time (US & Canada)",
163
+ schedule_times_of_day: ["06:30"],
164
+ source: "*.pdf",
165
+ trigger: "daily",
166
+ trigger_actions: ["create"],
167
+ workspace_id: 0
168
+ )
169
+ ```
170
+
171
+ ### Parameters
172
+
173
+ * `id` (int64): Required - Ai Task ID.
174
+ * `description` (string): AI Task description.
175
+ * `disabled` (boolean): If true, this AI Task will not run.
176
+ * `holiday_region` (string): Optional holiday region used by scheduled AI Tasks.
177
+ * `interval` (string): If trigger is `daily`, this specifies how often to run the AI Task.
178
+ * `name` (string): AI Task name.
179
+ * `path` (string): Path scope used for action-triggered AI Tasks.
180
+ * `prompt` (string): Prompt sent when this AI Task is invoked.
181
+ * `recurring_day` (int64): If trigger is `daily`, this selects the day number inside the chosen interval.
182
+ * `schedule_days_of_week` (array(int64)): If trigger is `custom_schedule`, the 0-based weekdays used by the schedule.
183
+ * `schedule_time_zone` (string): Time zone used by the AI Task schedule.
184
+ * `schedule_times_of_day` (array(string)): Times of day in HH:MM format for scheduled AI Tasks.
185
+ * `source` (string): Source glob used with `path` for action-triggered AI Tasks.
186
+ * `trigger` (string): How this AI Task is triggered.
187
+ * `trigger_actions` (array(string)): If trigger is `action`, the file action types that invoke this AI Task. Valid actions are create, copy, move, archived_delete, update, read, destroy.
188
+ * `workspace_id` (int64): Workspace ID. `0` means the default workspace.
189
+
190
+
191
+ ---
192
+
193
+ ## Delete Ai Task
194
+
195
+ ```
196
+ Files::AiTask.delete(id)
197
+ ```
198
+
199
+ ### Parameters
200
+
201
+ * `id` (int64): Required - Ai Task ID.
202
+
203
+
204
+ ---
205
+
206
+ ## Manually Run AI Task
207
+
208
+ ```
209
+ ai_task = Files::AiTask.find(id)
210
+
211
+ ai_task.manual_run
212
+ ```
213
+
214
+ ### Parameters
215
+
216
+ * `id` (int64): Required - Ai Task ID.
217
+
218
+
219
+ ---
220
+
221
+ ## Update Ai Task
222
+
223
+ ```
224
+ ai_task = Files::AiTask.find(id)
225
+
226
+ ai_task.update(
227
+ description: "Summarizes files uploaded by the accounting team.",
228
+ disabled: true,
229
+ holiday_region: "us",
230
+ interval: "day",
231
+ name: "Summarize daily reports",
232
+ path: "incoming/reports",
233
+ prompt: "Summarize the uploaded file and identify follow-up actions.",
234
+ recurring_day: 1,
235
+ schedule_days_of_week: [1,3,5],
236
+ schedule_time_zone: "Eastern Time (US & Canada)",
237
+ schedule_times_of_day: ["06:30"],
238
+ source: "*.pdf",
239
+ trigger: "daily",
240
+ trigger_actions: ["create"],
241
+ workspace_id: 0
242
+ )
243
+ ```
244
+
245
+ ### Parameters
246
+
247
+ * `id` (int64): Required - Ai Task ID.
248
+ * `description` (string): AI Task description.
249
+ * `disabled` (boolean): If true, this AI Task will not run.
250
+ * `holiday_region` (string): Optional holiday region used by scheduled AI Tasks.
251
+ * `interval` (string): If trigger is `daily`, this specifies how often to run the AI Task.
252
+ * `name` (string): AI Task name.
253
+ * `path` (string): Path scope used for action-triggered AI Tasks.
254
+ * `prompt` (string): Prompt sent when this AI Task is invoked.
255
+ * `recurring_day` (int64): If trigger is `daily`, this selects the day number inside the chosen interval.
256
+ * `schedule_days_of_week` (array(int64)): If trigger is `custom_schedule`, the 0-based weekdays used by the schedule.
257
+ * `schedule_time_zone` (string): Time zone used by the AI Task schedule.
258
+ * `schedule_times_of_day` (array(string)): Times of day in HH:MM format for scheduled AI Tasks.
259
+ * `source` (string): Source glob used with `path` for action-triggered AI Tasks.
260
+ * `trigger` (string): How this AI Task is triggered.
261
+ * `trigger_actions` (array(string)): If trigger is `action`, the file action types that invoke this AI Task. Valid actions are create, copy, move, archived_delete, update, read, destroy.
262
+ * `workspace_id` (int64): Workspace ID. `0` means the default workspace.
263
+
264
+
265
+ ---
266
+
267
+ ## Delete Ai Task
268
+
269
+ ```
270
+ ai_task = Files::AiTask.find(id)
271
+
272
+ ai_task.delete
273
+ ```
274
+
275
+ ### Parameters
276
+
277
+ * `id` (int64): Required - Ai Task ID.
data/docs/bundle.md CHANGED
@@ -61,6 +61,7 @@
61
61
  "deleted_at": "2000-01-01T01:00:00Z",
62
62
  "dont_separate_submissions_by_folder": true,
63
63
  "max_uses": 1,
64
+ "internal_name": "Quarterly reports",
64
65
  "note": "The internal note on the bundle.",
65
66
  "path_template": "{{name}}_{{ip}}",
66
67
  "path_template_time_zone": "Eastern Time (US & Canada)",
@@ -122,6 +123,7 @@
122
123
  * `deleted_at` (date-time): Bundle deleted at date/time
123
124
  * `dont_separate_submissions_by_folder` (boolean): Do not create subfolders for files uploaded to this share. Note: there are subtle security pitfalls with allowing anonymous uploads from multiple users to live in the same folder. We strongly discourage use of this option unless absolutely required.
124
125
  * `max_uses` (int64): Maximum number of times bundle can be accessed
126
+ * `internal_name` (string): Internal name for identifying this Share Link.
125
127
  * `note` (string): Bundle internal note
126
128
  * `path_template` (string): Template for creating submission subfolders. Can use the uploader's name, email address, ip, company, `strftime` directives, and any custom form data.
127
129
  * `path_template_time_zone` (string): Timezone to use when rendering timestamps in path templates.
@@ -207,6 +209,7 @@ Files::Bundle.create(
207
209
  finalize_snapshot: false,
208
210
  max_uses: 1,
209
211
  group_id: 1,
212
+ internal_name: "Quarterly reports",
210
213
  description: "The public description of the bundle.",
211
214
  note: "The internal note on the bundle.",
212
215
  code: "abc123",
@@ -241,6 +244,7 @@ Files::Bundle.create(
241
244
  * `finalize_snapshot` (boolean): If true, finalize the snapshot of this bundle's contents. Note that `create_snapshot` must also be true.
242
245
  * `max_uses` (int64): Maximum number of times bundle can be accessed
243
246
  * `group_id` (int64): Owning group ID. If set, members of this group can view, edit, and share this Share Link.
247
+ * `internal_name` (string): Internal name for identifying this Share Link.
244
248
  * `description` (string): Public description
245
249
  * `note` (string): Bundle internal note
246
250
  * `code` (string): Bundle code. This code forms the end part of the Public URL.
@@ -302,6 +306,7 @@ Files::Bundle.update(id,
302
306
  inbox_id: 1,
303
307
  max_uses: 1,
304
308
  group_id: 1,
309
+ internal_name: "Quarterly reports",
305
310
  note: "The internal note on the bundle.",
306
311
  path_template: "{{name}}_{{ip}}",
307
312
  path_template_time_zone: "Eastern Time (US & Canada)",
@@ -337,6 +342,7 @@ Files::Bundle.update(id,
337
342
  * `inbox_id` (int64): ID of the associated inbox, if available.
338
343
  * `max_uses` (int64): Maximum number of times bundle can be accessed
339
344
  * `group_id` (int64): Owning group ID. If set, members of this group can view, edit, and share this Share Link.
345
+ * `internal_name` (string): Internal name for identifying this Share Link.
340
346
  * `note` (string): Bundle internal note
341
347
  * `path_template` (string): Template for creating submission subfolders. Can use the uploader's name, email address, ip, company, `strftime` directives, and any custom form data.
342
348
  * `path_template_time_zone` (string): Timezone to use when rendering timestamps in path templates.
@@ -412,6 +418,7 @@ bundle.update(
412
418
  inbox_id: 1,
413
419
  max_uses: 1,
414
420
  group_id: 1,
421
+ internal_name: "Quarterly reports",
415
422
  note: "The internal note on the bundle.",
416
423
  path_template: "{{name}}_{{ip}}",
417
424
  path_template_time_zone: "Eastern Time (US & Canada)",
@@ -447,6 +454,7 @@ bundle.update(
447
454
  * `inbox_id` (int64): ID of the associated inbox, if available.
448
455
  * `max_uses` (int64): Maximum number of times bundle can be accessed
449
456
  * `group_id` (int64): Owning group ID. If set, members of this group can view, edit, and share this Share Link.
457
+ * `internal_name` (string): Internal name for identifying this Share Link.
450
458
  * `note` (string): Bundle internal note
451
459
  * `path_template` (string): Template for creating submission subfolders. Can use the uploader's name, email address, ip, company, `strftime` directives, and any custom form data.
452
460
  * `path_template_time_zone` (string): Timezone to use when rendering timestamps in path templates.
data/docs/chat_session.md CHANGED
@@ -6,6 +6,7 @@
6
6
  {
7
7
  "id": "example",
8
8
  "user_id": 1,
9
+ "ai_task_id": 1,
9
10
  "workspace_id": 1,
10
11
  "last_active_at": "2000-01-01T01:00:00Z",
11
12
  "created_at": "2000-01-01T01:00:00Z",
@@ -22,6 +23,7 @@
22
23
 
23
24
  * `id` (string): Chat Session ID.
24
25
  * `user_id` (int64): User ID.
26
+ * `ai_task_id` (int64): AI Task ID. Present when the conversation was started by an AI Task.
25
27
  * `workspace_id` (int64): Workspace ID. `0` means the default workspace.
26
28
  * `last_active_at` (date-time): Most recent chat activity date/time.
27
29
  * `created_at` (date-time): Chat session creation date/time.
@@ -40,6 +42,7 @@ Files::ChatSession.list
40
42
 
41
43
  * `cursor` (string): Used for pagination. When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`. Send one of those cursor value here to resume an existing list from the next available record. Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.
42
44
  * `per_page` (int64): Number of records to show per page. (Max: 10000, 1,000 or less is recommended).
45
+ * `filter` (object): If set, return records where the specified field is equal to the supplied value. Valid fields are `ai_task_id`.
43
46
 
44
47
 
45
48
  ---
@@ -182,6 +182,7 @@ module Files
182
182
 
183
183
  class ProcessingFailureError < APIError; end
184
184
  class AgentUnavailableError < ProcessingFailureError; end
185
+ class AiTaskCannotBeRunManuallyError < ProcessingFailureError; end
185
186
  class AlreadyCompletedError < ProcessingFailureError; end
186
187
  class AutomationCannotBeRunManuallyError < ProcessingFailureError; end
187
188
  class BehaviorNotAllowedOnRemoteServerError < ProcessingFailureError; end
@@ -0,0 +1,410 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Files
4
+ class AiTask
5
+ attr_reader :options, :attributes
6
+
7
+ def initialize(attributes = {}, options = {})
8
+ @attributes = attributes || {}
9
+ @options = options || {}
10
+ end
11
+
12
+ # int64 - AI Task ID.
13
+ def id
14
+ @attributes[:id]
15
+ end
16
+
17
+ def id=(value)
18
+ @attributes[:id] = value
19
+ end
20
+
21
+ # int64 - Workspace ID. `0` means the default workspace.
22
+ def workspace_id
23
+ @attributes[:workspace_id]
24
+ end
25
+
26
+ def workspace_id=(value)
27
+ @attributes[:workspace_id] = value
28
+ end
29
+
30
+ # string - AI Task name.
31
+ def name
32
+ @attributes[:name]
33
+ end
34
+
35
+ def name=(value)
36
+ @attributes[:name] = value
37
+ end
38
+
39
+ # string - AI Task description.
40
+ def description
41
+ @attributes[:description]
42
+ end
43
+
44
+ def description=(value)
45
+ @attributes[:description] = value
46
+ end
47
+
48
+ # string - Prompt sent when this AI Task is invoked.
49
+ def prompt
50
+ @attributes[:prompt]
51
+ end
52
+
53
+ def prompt=(value)
54
+ @attributes[:prompt] = value
55
+ end
56
+
57
+ # string - Path scope used for action-triggered AI Tasks. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
58
+ def path
59
+ @attributes[:path]
60
+ end
61
+
62
+ def path=(value)
63
+ @attributes[:path] = value
64
+ end
65
+
66
+ # string - Source glob used with `path` for action-triggered AI Tasks.
67
+ def source
68
+ @attributes[:source]
69
+ end
70
+
71
+ def source=(value)
72
+ @attributes[:source] = value
73
+ end
74
+
75
+ # boolean - If true, this AI Task will not run.
76
+ def disabled
77
+ @attributes[:disabled]
78
+ end
79
+
80
+ def disabled=(value)
81
+ @attributes[:disabled] = value
82
+ end
83
+
84
+ # string - How this AI Task is triggered.
85
+ def trigger
86
+ @attributes[:trigger]
87
+ end
88
+
89
+ def trigger=(value)
90
+ @attributes[:trigger] = value
91
+ end
92
+
93
+ # array(string) - If trigger is `action`, the file action types that invoke this AI Task. Valid actions are create, copy, move, archived_delete, update, read, destroy.
94
+ def trigger_actions
95
+ @attributes[:trigger_actions]
96
+ end
97
+
98
+ def trigger_actions=(value)
99
+ @attributes[:trigger_actions] = value
100
+ end
101
+
102
+ # string - If trigger is `daily`, this specifies how often to run the AI Task.
103
+ def interval
104
+ @attributes[:interval]
105
+ end
106
+
107
+ def interval=(value)
108
+ @attributes[:interval] = value
109
+ end
110
+
111
+ # int64 - If trigger is `daily`, this selects the day number inside the chosen interval.
112
+ def recurring_day
113
+ @attributes[:recurring_day]
114
+ end
115
+
116
+ def recurring_day=(value)
117
+ @attributes[:recurring_day] = value
118
+ end
119
+
120
+ # array(int64) - If trigger is `custom_schedule`, the 0-based weekdays used by the schedule.
121
+ def schedule_days_of_week
122
+ @attributes[:schedule_days_of_week]
123
+ end
124
+
125
+ def schedule_days_of_week=(value)
126
+ @attributes[:schedule_days_of_week] = value
127
+ end
128
+
129
+ # array(string) - Times of day in HH:MM format for scheduled AI Tasks.
130
+ def schedule_times_of_day
131
+ @attributes[:schedule_times_of_day]
132
+ end
133
+
134
+ def schedule_times_of_day=(value)
135
+ @attributes[:schedule_times_of_day] = value
136
+ end
137
+
138
+ # string - Time zone used by the AI Task schedule.
139
+ def schedule_time_zone
140
+ @attributes[:schedule_time_zone]
141
+ end
142
+
143
+ def schedule_time_zone=(value)
144
+ @attributes[:schedule_time_zone] = value
145
+ end
146
+
147
+ # string - Optional holiday region used by scheduled AI Tasks.
148
+ def holiday_region
149
+ @attributes[:holiday_region]
150
+ end
151
+
152
+ def holiday_region=(value)
153
+ @attributes[:holiday_region] = value
154
+ end
155
+
156
+ # string - Human-readable schedule description.
157
+ def human_readable_schedule
158
+ @attributes[:human_readable_schedule]
159
+ end
160
+
161
+ def human_readable_schedule=(value)
162
+ @attributes[:human_readable_schedule] = value
163
+ end
164
+
165
+ # date-time - Most recent successful invocation time.
166
+ def last_run_at
167
+ @attributes[:last_run_at]
168
+ end
169
+
170
+ def last_run_at=(value)
171
+ @attributes[:last_run_at] = value
172
+ end
173
+
174
+ # int64 - Master User ID used for AI Task invocations.
175
+ def master_admin_user_id
176
+ @attributes[:master_admin_user_id]
177
+ end
178
+
179
+ def master_admin_user_id=(value)
180
+ @attributes[:master_admin_user_id] = value
181
+ end
182
+
183
+ # date-time - Creation time.
184
+ def created_at
185
+ @attributes[:created_at]
186
+ end
187
+
188
+ # date-time - Last update time.
189
+ def updated_at
190
+ @attributes[:updated_at]
191
+ end
192
+
193
+ # Manually Run AI Task
194
+ def manual_run(params = {})
195
+ params ||= {}
196
+ params[:id] = @attributes[:id]
197
+ raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
198
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
199
+ raise MissingParameterError.new("Parameter missing: id") unless params[:id]
200
+
201
+ Api.send_request("/ai_tasks/#{@attributes[:id]}/manual_run", :post, params, @options)
202
+ end
203
+
204
+ # Parameters:
205
+ # description - string - AI Task description.
206
+ # disabled - boolean - If true, this AI Task will not run.
207
+ # holiday_region - string - Optional holiday region used by scheduled AI Tasks.
208
+ # interval - string - If trigger is `daily`, this specifies how often to run the AI Task.
209
+ # name - string - AI Task name.
210
+ # path - string - Path scope used for action-triggered AI Tasks.
211
+ # prompt - string - Prompt sent when this AI Task is invoked.
212
+ # recurring_day - int64 - If trigger is `daily`, this selects the day number inside the chosen interval.
213
+ # schedule_days_of_week - array(int64) - If trigger is `custom_schedule`, the 0-based weekdays used by the schedule.
214
+ # schedule_time_zone - string - Time zone used by the AI Task schedule.
215
+ # schedule_times_of_day - array(string) - Times of day in HH:MM format for scheduled AI Tasks.
216
+ # source - string - Source glob used with `path` for action-triggered AI Tasks.
217
+ # trigger - string - How this AI Task is triggered.
218
+ # trigger_actions - array(string) - If trigger is `action`, the file action types that invoke this AI Task. Valid actions are create, copy, move, archived_delete, update, read, destroy.
219
+ # workspace_id - int64 - Workspace ID. `0` means the default workspace.
220
+ def update(params = {})
221
+ params ||= {}
222
+ params[:id] = @attributes[:id]
223
+ raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
224
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
225
+ raise InvalidParameterError.new("Bad parameter: description must be an String") if params[:description] and !params[:description].is_a?(String)
226
+ raise InvalidParameterError.new("Bad parameter: holiday_region must be an String") if params[:holiday_region] and !params[:holiday_region].is_a?(String)
227
+ raise InvalidParameterError.new("Bad parameter: interval must be an String") if params[:interval] and !params[:interval].is_a?(String)
228
+ raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String)
229
+ raise InvalidParameterError.new("Bad parameter: path must be an String") if params[:path] and !params[:path].is_a?(String)
230
+ raise InvalidParameterError.new("Bad parameter: prompt must be an String") if params[:prompt] and !params[:prompt].is_a?(String)
231
+ raise InvalidParameterError.new("Bad parameter: recurring_day must be an Integer") if params[:recurring_day] and !params[:recurring_day].is_a?(Integer)
232
+ raise InvalidParameterError.new("Bad parameter: schedule_days_of_week must be an Array") if params[:schedule_days_of_week] and !params[:schedule_days_of_week].is_a?(Array)
233
+ raise InvalidParameterError.new("Bad parameter: schedule_time_zone must be an String") if params[:schedule_time_zone] and !params[:schedule_time_zone].is_a?(String)
234
+ raise InvalidParameterError.new("Bad parameter: schedule_times_of_day must be an Array") if params[:schedule_times_of_day] and !params[:schedule_times_of_day].is_a?(Array)
235
+ raise InvalidParameterError.new("Bad parameter: source must be an String") if params[:source] and !params[:source].is_a?(String)
236
+ raise InvalidParameterError.new("Bad parameter: trigger must be an String") if params[:trigger] and !params[:trigger].is_a?(String)
237
+ raise InvalidParameterError.new("Bad parameter: trigger_actions must be an Array") if params[:trigger_actions] and !params[:trigger_actions].is_a?(Array)
238
+ raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if params[:workspace_id] and !params[:workspace_id].is_a?(Integer)
239
+ raise MissingParameterError.new("Parameter missing: id") unless params[:id]
240
+
241
+ Api.send_request("/ai_tasks/#{@attributes[:id]}", :patch, params, @options)
242
+ end
243
+
244
+ def delete(params = {})
245
+ params ||= {}
246
+ params[:id] = @attributes[:id]
247
+ raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
248
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
249
+ raise MissingParameterError.new("Parameter missing: id") unless params[:id]
250
+
251
+ Api.send_request("/ai_tasks/#{@attributes[:id]}", :delete, params, @options)
252
+ end
253
+
254
+ def destroy(params = {})
255
+ delete(params)
256
+ nil
257
+ end
258
+
259
+ def save
260
+ if @attributes[:id]
261
+ new_obj = update(@attributes)
262
+ else
263
+ new_obj = AiTask.create(@attributes, @options)
264
+ end
265
+
266
+ @attributes = new_obj.attributes
267
+ true
268
+ end
269
+
270
+ # Parameters:
271
+ # cursor - string - Used for pagination. When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`. Send one of those cursor value here to resume an existing list from the next available record. Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.
272
+ # per_page - int64 - Number of records to show per page. (Max: 10000, 1,000 or less is recommended).
273
+ # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `workspace_id`, `id`, `disabled` or `updated_at`.
274
+ # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `disabled`, `trigger` or `workspace_id`. Valid field combinations are `[ workspace_id, disabled ]`.
275
+ def self.list(params = {}, options = {})
276
+ raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params[:cursor] and !params[:cursor].is_a?(String)
277
+ raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params[:per_page] and !params[:per_page].is_a?(Integer)
278
+ raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params[:sort_by] and !params[:sort_by].is_a?(Hash)
279
+ raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params[:filter] and !params[:filter].is_a?(Hash)
280
+
281
+ List.new(AiTask, params) do
282
+ Api.send_request("/ai_tasks", :get, params, options)
283
+ end
284
+ end
285
+
286
+ def self.all(params = {}, options = {})
287
+ list(params, options)
288
+ end
289
+
290
+ # Parameters:
291
+ # id (required) - int64 - Ai Task ID.
292
+ def self.find(id, params = {}, options = {})
293
+ params ||= {}
294
+ params[:id] = id
295
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
296
+ raise MissingParameterError.new("Parameter missing: id") unless params[:id]
297
+
298
+ response, options = Api.send_request("/ai_tasks/#{params[:id]}", :get, params, options)
299
+ AiTask.new(response.data, options)
300
+ end
301
+
302
+ def self.get(id, params = {}, options = {})
303
+ find(id, params, options)
304
+ end
305
+
306
+ # Parameters:
307
+ # description - string - AI Task description.
308
+ # disabled - boolean - If true, this AI Task will not run.
309
+ # holiday_region - string - Optional holiday region used by scheduled AI Tasks.
310
+ # interval - string - If trigger is `daily`, this specifies how often to run the AI Task.
311
+ # name (required) - string - AI Task name.
312
+ # path - string - Path scope used for action-triggered AI Tasks.
313
+ # prompt (required) - string - Prompt sent when this AI Task is invoked.
314
+ # recurring_day - int64 - If trigger is `daily`, this selects the day number inside the chosen interval.
315
+ # schedule_days_of_week - array(int64) - If trigger is `custom_schedule`, the 0-based weekdays used by the schedule.
316
+ # schedule_time_zone - string - Time zone used by the AI Task schedule.
317
+ # schedule_times_of_day - array(string) - Times of day in HH:MM format for scheduled AI Tasks.
318
+ # source - string - Source glob used with `path` for action-triggered AI Tasks.
319
+ # trigger - string - How this AI Task is triggered.
320
+ # trigger_actions - array(string) - If trigger is `action`, the file action types that invoke this AI Task. Valid actions are create, copy, move, archived_delete, update, read, destroy.
321
+ # workspace_id - int64 - Workspace ID. `0` means the default workspace.
322
+ def self.create(params = {}, options = {})
323
+ raise InvalidParameterError.new("Bad parameter: description must be an String") if params[:description] and !params[:description].is_a?(String)
324
+ raise InvalidParameterError.new("Bad parameter: holiday_region must be an String") if params[:holiday_region] and !params[:holiday_region].is_a?(String)
325
+ raise InvalidParameterError.new("Bad parameter: interval must be an String") if params[:interval] and !params[:interval].is_a?(String)
326
+ raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String)
327
+ raise InvalidParameterError.new("Bad parameter: path must be an String") if params[:path] and !params[:path].is_a?(String)
328
+ raise InvalidParameterError.new("Bad parameter: prompt must be an String") if params[:prompt] and !params[:prompt].is_a?(String)
329
+ raise InvalidParameterError.new("Bad parameter: recurring_day must be an Integer") if params[:recurring_day] and !params[:recurring_day].is_a?(Integer)
330
+ raise InvalidParameterError.new("Bad parameter: schedule_days_of_week must be an Array") if params[:schedule_days_of_week] and !params[:schedule_days_of_week].is_a?(Array)
331
+ raise InvalidParameterError.new("Bad parameter: schedule_time_zone must be an String") if params[:schedule_time_zone] and !params[:schedule_time_zone].is_a?(String)
332
+ raise InvalidParameterError.new("Bad parameter: schedule_times_of_day must be an Array") if params[:schedule_times_of_day] and !params[:schedule_times_of_day].is_a?(Array)
333
+ raise InvalidParameterError.new("Bad parameter: source must be an String") if params[:source] and !params[:source].is_a?(String)
334
+ raise InvalidParameterError.new("Bad parameter: trigger must be an String") if params[:trigger] and !params[:trigger].is_a?(String)
335
+ raise InvalidParameterError.new("Bad parameter: trigger_actions must be an Array") if params[:trigger_actions] and !params[:trigger_actions].is_a?(Array)
336
+ raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if params[:workspace_id] and !params[:workspace_id].is_a?(Integer)
337
+ raise MissingParameterError.new("Parameter missing: name") unless params[:name]
338
+ raise MissingParameterError.new("Parameter missing: prompt") unless params[:prompt]
339
+
340
+ response, options = Api.send_request("/ai_tasks", :post, params, options)
341
+ AiTask.new(response.data, options)
342
+ end
343
+
344
+ # Manually Run AI Task
345
+ def self.manual_run(id, params = {}, options = {})
346
+ params ||= {}
347
+ params[:id] = id
348
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
349
+ raise MissingParameterError.new("Parameter missing: id") unless params[:id]
350
+
351
+ Api.send_request("/ai_tasks/#{params[:id]}/manual_run", :post, params, options)
352
+ nil
353
+ end
354
+
355
+ # Parameters:
356
+ # description - string - AI Task description.
357
+ # disabled - boolean - If true, this AI Task will not run.
358
+ # holiday_region - string - Optional holiday region used by scheduled AI Tasks.
359
+ # interval - string - If trigger is `daily`, this specifies how often to run the AI Task.
360
+ # name - string - AI Task name.
361
+ # path - string - Path scope used for action-triggered AI Tasks.
362
+ # prompt - string - Prompt sent when this AI Task is invoked.
363
+ # recurring_day - int64 - If trigger is `daily`, this selects the day number inside the chosen interval.
364
+ # schedule_days_of_week - array(int64) - If trigger is `custom_schedule`, the 0-based weekdays used by the schedule.
365
+ # schedule_time_zone - string - Time zone used by the AI Task schedule.
366
+ # schedule_times_of_day - array(string) - Times of day in HH:MM format for scheduled AI Tasks.
367
+ # source - string - Source glob used with `path` for action-triggered AI Tasks.
368
+ # trigger - string - How this AI Task is triggered.
369
+ # trigger_actions - array(string) - If trigger is `action`, the file action types that invoke this AI Task. Valid actions are create, copy, move, archived_delete, update, read, destroy.
370
+ # workspace_id - int64 - Workspace ID. `0` means the default workspace.
371
+ def self.update(id, params = {}, options = {})
372
+ params ||= {}
373
+ params[:id] = id
374
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
375
+ raise InvalidParameterError.new("Bad parameter: description must be an String") if params[:description] and !params[:description].is_a?(String)
376
+ raise InvalidParameterError.new("Bad parameter: holiday_region must be an String") if params[:holiday_region] and !params[:holiday_region].is_a?(String)
377
+ raise InvalidParameterError.new("Bad parameter: interval must be an String") if params[:interval] and !params[:interval].is_a?(String)
378
+ raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String)
379
+ raise InvalidParameterError.new("Bad parameter: path must be an String") if params[:path] and !params[:path].is_a?(String)
380
+ raise InvalidParameterError.new("Bad parameter: prompt must be an String") if params[:prompt] and !params[:prompt].is_a?(String)
381
+ raise InvalidParameterError.new("Bad parameter: recurring_day must be an Integer") if params[:recurring_day] and !params[:recurring_day].is_a?(Integer)
382
+ raise InvalidParameterError.new("Bad parameter: schedule_days_of_week must be an Array") if params[:schedule_days_of_week] and !params[:schedule_days_of_week].is_a?(Array)
383
+ raise InvalidParameterError.new("Bad parameter: schedule_time_zone must be an String") if params[:schedule_time_zone] and !params[:schedule_time_zone].is_a?(String)
384
+ raise InvalidParameterError.new("Bad parameter: schedule_times_of_day must be an Array") if params[:schedule_times_of_day] and !params[:schedule_times_of_day].is_a?(Array)
385
+ raise InvalidParameterError.new("Bad parameter: source must be an String") if params[:source] and !params[:source].is_a?(String)
386
+ raise InvalidParameterError.new("Bad parameter: trigger must be an String") if params[:trigger] and !params[:trigger].is_a?(String)
387
+ raise InvalidParameterError.new("Bad parameter: trigger_actions must be an Array") if params[:trigger_actions] and !params[:trigger_actions].is_a?(Array)
388
+ raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if params[:workspace_id] and !params[:workspace_id].is_a?(Integer)
389
+ raise MissingParameterError.new("Parameter missing: id") unless params[:id]
390
+
391
+ response, options = Api.send_request("/ai_tasks/#{params[:id]}", :patch, params, options)
392
+ AiTask.new(response.data, options)
393
+ end
394
+
395
+ def self.delete(id, params = {}, options = {})
396
+ params ||= {}
397
+ params[:id] = id
398
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
399
+ raise MissingParameterError.new("Parameter missing: id") unless params[:id]
400
+
401
+ Api.send_request("/ai_tasks/#{params[:id]}", :delete, params, options)
402
+ nil
403
+ end
404
+
405
+ def self.destroy(id, params = {}, options = {})
406
+ delete(id, params, options)
407
+ nil
408
+ end
409
+ end
410
+ end
@@ -257,6 +257,15 @@ module Files
257
257
  @attributes[:max_uses] = value
258
258
  end
259
259
 
260
+ # string - Internal name for identifying this Share Link.
261
+ def internal_name
262
+ @attributes[:internal_name]
263
+ end
264
+
265
+ def internal_name=(value)
266
+ @attributes[:internal_name] = value
267
+ end
268
+
260
269
  # string - Bundle internal note
261
270
  def note
262
271
  @attributes[:note]
@@ -507,6 +516,7 @@ module Files
507
516
  # inbox_id - int64 - ID of the associated inbox, if available.
508
517
  # max_uses - int64 - Maximum number of times bundle can be accessed
509
518
  # group_id - int64 - Owning group ID. If set, members of this group can view, edit, and share this Share Link.
519
+ # internal_name - string - Internal name for identifying this Share Link.
510
520
  # note - string - Bundle internal note
511
521
  # path_template - string - Template for creating submission subfolders. Can use the uploader's name, email address, ip, company, `strftime` directives, and any custom form data.
512
522
  # path_template_time_zone - string - Timezone to use when rendering timestamps in path templates.
@@ -538,6 +548,7 @@ module Files
538
548
  raise InvalidParameterError.new("Bad parameter: inbox_id must be an Integer") if params[:inbox_id] and !params[:inbox_id].is_a?(Integer)
539
549
  raise InvalidParameterError.new("Bad parameter: max_uses must be an Integer") if params[:max_uses] and !params[:max_uses].is_a?(Integer)
540
550
  raise InvalidParameterError.new("Bad parameter: group_id must be an Integer") if params[:group_id] and !params[:group_id].is_a?(Integer)
551
+ raise InvalidParameterError.new("Bad parameter: internal_name must be an String") if params[:internal_name] and !params[:internal_name].is_a?(String)
541
552
  raise InvalidParameterError.new("Bad parameter: note must be an String") if params[:note] and !params[:note].is_a?(String)
542
553
  raise InvalidParameterError.new("Bad parameter: path_template must be an String") if params[:path_template] and !params[:path_template].is_a?(String)
543
554
  raise InvalidParameterError.new("Bad parameter: path_template_time_zone must be an String") if params[:path_template_time_zone] and !params[:path_template_time_zone].is_a?(String)
@@ -638,6 +649,7 @@ module Files
638
649
  # finalize_snapshot - boolean - If true, finalize the snapshot of this bundle's contents. Note that `create_snapshot` must also be true.
639
650
  # max_uses - int64 - Maximum number of times bundle can be accessed
640
651
  # group_id - int64 - Owning group ID. If set, members of this group can view, edit, and share this Share Link.
652
+ # internal_name - string - Internal name for identifying this Share Link.
641
653
  # description - string - Public description
642
654
  # note - string - Bundle internal note
643
655
  # code - string - Bundle code. This code forms the end part of the Public URL.
@@ -665,6 +677,7 @@ module Files
665
677
  raise InvalidParameterError.new("Bad parameter: expires_at must be an String") if params[:expires_at] and !params[:expires_at].is_a?(String)
666
678
  raise InvalidParameterError.new("Bad parameter: max_uses must be an Integer") if params[:max_uses] and !params[:max_uses].is_a?(Integer)
667
679
  raise InvalidParameterError.new("Bad parameter: group_id must be an Integer") if params[:group_id] and !params[:group_id].is_a?(Integer)
680
+ raise InvalidParameterError.new("Bad parameter: internal_name must be an String") if params[:internal_name] and !params[:internal_name].is_a?(String)
668
681
  raise InvalidParameterError.new("Bad parameter: description must be an String") if params[:description] and !params[:description].is_a?(String)
669
682
  raise InvalidParameterError.new("Bad parameter: note must be an String") if params[:note] and !params[:note].is_a?(String)
670
683
  raise InvalidParameterError.new("Bad parameter: code must be an String") if params[:code] and !params[:code].is_a?(String)
@@ -716,6 +729,7 @@ module Files
716
729
  # inbox_id - int64 - ID of the associated inbox, if available.
717
730
  # max_uses - int64 - Maximum number of times bundle can be accessed
718
731
  # group_id - int64 - Owning group ID. If set, members of this group can view, edit, and share this Share Link.
732
+ # internal_name - string - Internal name for identifying this Share Link.
719
733
  # note - string - Bundle internal note
720
734
  # path_template - string - Template for creating submission subfolders. Can use the uploader's name, email address, ip, company, `strftime` directives, and any custom form data.
721
735
  # path_template_time_zone - string - Timezone to use when rendering timestamps in path templates.
@@ -746,6 +760,7 @@ module Files
746
760
  raise InvalidParameterError.new("Bad parameter: inbox_id must be an Integer") if params[:inbox_id] and !params[:inbox_id].is_a?(Integer)
747
761
  raise InvalidParameterError.new("Bad parameter: max_uses must be an Integer") if params[:max_uses] and !params[:max_uses].is_a?(Integer)
748
762
  raise InvalidParameterError.new("Bad parameter: group_id must be an Integer") if params[:group_id] and !params[:group_id].is_a?(Integer)
763
+ raise InvalidParameterError.new("Bad parameter: internal_name must be an String") if params[:internal_name] and !params[:internal_name].is_a?(String)
749
764
  raise InvalidParameterError.new("Bad parameter: note must be an String") if params[:note] and !params[:note].is_a?(String)
750
765
  raise InvalidParameterError.new("Bad parameter: path_template must be an String") if params[:path_template] and !params[:path_template].is_a?(String)
751
766
  raise InvalidParameterError.new("Bad parameter: path_template_time_zone must be an String") if params[:path_template_time_zone] and !params[:path_template_time_zone].is_a?(String)
@@ -19,6 +19,11 @@ module Files
19
19
  @attributes[:user_id]
20
20
  end
21
21
 
22
+ # int64 - AI Task ID. Present when the conversation was started by an AI Task.
23
+ def ai_task_id
24
+ @attributes[:ai_task_id]
25
+ end
26
+
22
27
  # int64 - Workspace ID. `0` means the default workspace.
23
28
  def workspace_id
24
29
  @attributes[:workspace_id]
@@ -42,9 +47,11 @@ module Files
42
47
  # Parameters:
43
48
  # cursor - string - Used for pagination. When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`. Send one of those cursor value here to resume an existing list from the next available record. Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.
44
49
  # per_page - int64 - Number of records to show per page. (Max: 10000, 1,000 or less is recommended).
50
+ # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `ai_task_id`.
45
51
  def self.list(params = {}, options = {})
46
52
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params[:cursor] and !params[:cursor].is_a?(String)
47
53
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params[:per_page] and !params[:per_page].is_a?(Integer)
54
+ raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params[:filter] and !params[:filter].is_a?(Hash)
48
55
 
49
56
  List.new(ChatSession, params) do
50
57
  Api.send_request("/chat_sessions", :get, params, options)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Files
4
- VERSION = "1.1.660"
4
+ VERSION = "1.1.662"
5
5
  end
data/lib/files.com.rb CHANGED
@@ -38,6 +38,7 @@ require "files.com/models/action_log"
38
38
  require "files.com/models/action_notification_export"
39
39
  require "files.com/models/action_notification_export_result"
40
40
  require "files.com/models/agent_push_update"
41
+ require "files.com/models/ai_task"
41
42
  require "files.com/models/api_key"
42
43
  require "files.com/models/api_request_log"
43
44
  require "files.com/models/app"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: files.com
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.660
4
+ version: 1.1.662
5
5
  platform: ruby
6
6
  authors:
7
7
  - files.com
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-06-26 00:00:00.000000000 Z
11
+ date: 2026-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -176,6 +176,7 @@ files:
176
176
  - docs/action_notification_export.md
177
177
  - docs/action_notification_export_result.md
178
178
  - docs/agent_push_update.md
179
+ - docs/ai_task.md
179
180
  - docs/api_key.md
180
181
  - docs/api_request_log.md
181
182
  - docs/app.md
@@ -318,6 +319,7 @@ files:
318
319
  - lib/files.com/models/action_notification_export.rb
319
320
  - lib/files.com/models/action_notification_export_result.rb
320
321
  - lib/files.com/models/agent_push_update.rb
322
+ - lib/files.com/models/ai_task.rb
321
323
  - lib/files.com/models/api_key.rb
322
324
  - lib/files.com/models/api_request_log.rb
323
325
  - lib/files.com/models/app.rb