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 +4 -4
- data/README.md +1 -0
- data/_VERSION +1 -1
- data/docs/ai_task.md +277 -0
- data/docs/bundle.md +8 -0
- data/docs/chat_session.md +3 -0
- data/lib/files.com/errors.rb +1 -0
- data/lib/files.com/models/ai_task.rb +410 -0
- data/lib/files.com/models/bundle.rb +15 -0
- data/lib/files.com/models/chat_session.rb +7 -0
- data/lib/files.com/version.rb +1 -1
- data/lib/files.com.rb +1 -0
- metadata +4 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e67bcae8fe31ba697a3571ce860e0e36ecc6ff23ff79ae01dea228808cf6290a
|
|
4
|
+
data.tar.gz: d1a31219d290878b4555f62d03629a42cea58f6be7fad7c53ff4255074f169bb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
|
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
|
---
|
data/lib/files.com/errors.rb
CHANGED
|
@@ -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)
|
data/lib/files.com/version.rb
CHANGED
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.
|
|
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-
|
|
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
|