current-cli 0.1.27__tar.gz → 0.1.29__tar.gz
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.
- {current_cli-0.1.27 → current_cli-0.1.29}/PKG-INFO +2 -2
- {current_cli-0.1.27 → current_cli-0.1.29}/current_cli/schema.yml +450 -45
- {current_cli-0.1.27 → current_cli-0.1.29}/llms.txt +133 -18
- {current_cli-0.1.27 → current_cli-0.1.29}/pyproject.toml +1 -1
- {current_cli-0.1.27 → current_cli-0.1.29}/.gitignore +0 -0
- {current_cli-0.1.27 → current_cli-0.1.29}/README.md +0 -0
- {current_cli-0.1.27 → current_cli-0.1.29}/current_cli/__init__.py +0 -0
- {current_cli-0.1.27 → current_cli-0.1.29}/current_cli/build.py +0 -0
- {current_cli-0.1.27 → current_cli-0.1.29}/current_cli/config.py +0 -0
- {current_cli-0.1.27 → current_cli-0.1.29}/current_cli/docs.py +0 -0
- {current_cli-0.1.27 → current_cli-0.1.29}/current_cli/http.py +0 -0
- {current_cli-0.1.27 → current_cli-0.1.29}/current_cli/main.py +0 -0
- {current_cli-0.1.27 → current_cli-0.1.29}/current_cli/schema.py +0 -0
- {current_cli-0.1.27 → current_cli-0.1.29}/scripts/bump_version.py +0 -0
- {current_cli-0.1.27 → current_cli-0.1.29}/tests/__init__.py +0 -0
- {current_cli-0.1.27 → current_cli-0.1.29}/tests/conftest.py +0 -0
- {current_cli-0.1.27 → current_cli-0.1.29}/tests/test_auth.py +0 -0
- {current_cli-0.1.27 → current_cli-0.1.29}/tests/test_bump_version.py +0 -0
- {current_cli-0.1.27 → current_cli-0.1.29}/tests/test_command_tree.py +0 -0
- {current_cli-0.1.27 → current_cli-0.1.29}/tests/test_docs.py +0 -0
- {current_cli-0.1.27 → current_cli-0.1.29}/tests/test_requests.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: current-cli
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.29
|
|
4
4
|
Summary: Command line interface for the Current API, generated from its OpenAPI schema at runtime
|
|
5
5
|
Author-email: Orin <your-email@example.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -63,10 +63,170 @@ paths:
|
|
|
63
63
|
schema:
|
|
64
64
|
$ref: '#/components/schemas/Me'
|
|
65
65
|
description: ''
|
|
66
|
+
/api/accounts/auth/mfa/admin-reset/:
|
|
67
|
+
post:
|
|
68
|
+
operationId: accounts_auth_mfa_admin_reset_create
|
|
69
|
+
description: |-
|
|
70
|
+
Superadmin-only: clear a user's TOTP enrollment so they can enroll a
|
|
71
|
+
new device, for when they've lost their authenticator app. There are no
|
|
72
|
+
recovery codes, so this is the only way back in for such a user.
|
|
73
|
+
tags:
|
|
74
|
+
- accounts
|
|
75
|
+
requestBody:
|
|
76
|
+
content:
|
|
77
|
+
application/json:
|
|
78
|
+
schema:
|
|
79
|
+
$ref: '#/components/schemas/MFAAdminResetRequestRequest'
|
|
80
|
+
application/x-www-form-urlencoded:
|
|
81
|
+
schema:
|
|
82
|
+
$ref: '#/components/schemas/MFAAdminResetRequestRequest'
|
|
83
|
+
multipart/form-data:
|
|
84
|
+
schema:
|
|
85
|
+
$ref: '#/components/schemas/MFAAdminResetRequestRequest'
|
|
86
|
+
required: true
|
|
87
|
+
security:
|
|
88
|
+
- MessagingJobTokenAuth: []
|
|
89
|
+
- tokenAuth: []
|
|
90
|
+
responses:
|
|
91
|
+
'200':
|
|
92
|
+
content:
|
|
93
|
+
application/json:
|
|
94
|
+
schema:
|
|
95
|
+
$ref: '#/components/schemas/DetailResponse'
|
|
96
|
+
description: ''
|
|
97
|
+
/api/accounts/auth/mfa/confirm/:
|
|
98
|
+
post:
|
|
99
|
+
operationId: accounts_auth_mfa_confirm_create
|
|
100
|
+
description: |-
|
|
101
|
+
Confirm enrollment with a code from the authenticator app. Mid-login,
|
|
102
|
+
this also finishes sign-in (a confirmed device is proof of the second
|
|
103
|
+
factor); from Account Settings, it just turns MFA on.
|
|
104
|
+
tags:
|
|
105
|
+
- accounts
|
|
106
|
+
requestBody:
|
|
107
|
+
content:
|
|
108
|
+
application/json:
|
|
109
|
+
schema:
|
|
110
|
+
$ref: '#/components/schemas/MFAConfirmRequestRequest'
|
|
111
|
+
application/x-www-form-urlencoded:
|
|
112
|
+
schema:
|
|
113
|
+
$ref: '#/components/schemas/MFAConfirmRequestRequest'
|
|
114
|
+
multipart/form-data:
|
|
115
|
+
schema:
|
|
116
|
+
$ref: '#/components/schemas/MFAConfirmRequestRequest'
|
|
117
|
+
required: true
|
|
118
|
+
security:
|
|
119
|
+
- MessagingJobTokenAuth: []
|
|
120
|
+
- tokenAuth: []
|
|
121
|
+
- {}
|
|
122
|
+
responses:
|
|
123
|
+
'200':
|
|
124
|
+
content:
|
|
125
|
+
application/json:
|
|
126
|
+
schema:
|
|
127
|
+
$ref: '#/components/schemas/VerifyMagicLinkResponse'
|
|
128
|
+
description: ''
|
|
129
|
+
/api/accounts/auth/mfa/disable/:
|
|
130
|
+
post:
|
|
131
|
+
operationId: accounts_auth_mfa_disable_create
|
|
132
|
+
description: |-
|
|
133
|
+
Turn off TOTP for the current user. Refused when MFA is still
|
|
134
|
+
required for this account (platform superadmin, a workspace admin
|
|
135
|
+
anywhere, or a workspace that requires it of members) — the setting
|
|
136
|
+
would just be silently re-enforced at the next sign-in otherwise.
|
|
137
|
+
tags:
|
|
138
|
+
- accounts
|
|
139
|
+
requestBody:
|
|
140
|
+
content:
|
|
141
|
+
application/json:
|
|
142
|
+
schema:
|
|
143
|
+
$ref: '#/components/schemas/MFADisableRequestRequest'
|
|
144
|
+
application/x-www-form-urlencoded:
|
|
145
|
+
schema:
|
|
146
|
+
$ref: '#/components/schemas/MFADisableRequestRequest'
|
|
147
|
+
multipart/form-data:
|
|
148
|
+
schema:
|
|
149
|
+
$ref: '#/components/schemas/MFADisableRequestRequest'
|
|
150
|
+
required: true
|
|
151
|
+
security:
|
|
152
|
+
- MessagingJobTokenAuth: []
|
|
153
|
+
- tokenAuth: []
|
|
154
|
+
responses:
|
|
155
|
+
'200':
|
|
156
|
+
content:
|
|
157
|
+
application/json:
|
|
158
|
+
schema:
|
|
159
|
+
$ref: '#/components/schemas/DetailResponse'
|
|
160
|
+
description: ''
|
|
161
|
+
/api/accounts/auth/mfa/setup/:
|
|
162
|
+
post:
|
|
163
|
+
operationId: accounts_auth_mfa_setup_create
|
|
164
|
+
description: |-
|
|
165
|
+
Start (or restart) TOTP enrollment: mints a new secret and returns
|
|
166
|
+
the otpauth:// URI for the authenticator app's QR scanner. Callable
|
|
167
|
+
mid-login (with the pending ticket) or from Account Settings (while
|
|
168
|
+
authenticated) — the secret isn't active until ``confirm`` succeeds.
|
|
169
|
+
tags:
|
|
170
|
+
- accounts
|
|
171
|
+
requestBody:
|
|
172
|
+
content:
|
|
173
|
+
application/json:
|
|
174
|
+
schema:
|
|
175
|
+
$ref: '#/components/schemas/MFATicketRequestRequest'
|
|
176
|
+
application/x-www-form-urlencoded:
|
|
177
|
+
schema:
|
|
178
|
+
$ref: '#/components/schemas/MFATicketRequestRequest'
|
|
179
|
+
multipart/form-data:
|
|
180
|
+
schema:
|
|
181
|
+
$ref: '#/components/schemas/MFATicketRequestRequest'
|
|
182
|
+
security:
|
|
183
|
+
- MessagingJobTokenAuth: []
|
|
184
|
+
- tokenAuth: []
|
|
185
|
+
- {}
|
|
186
|
+
responses:
|
|
187
|
+
'200':
|
|
188
|
+
content:
|
|
189
|
+
application/json:
|
|
190
|
+
schema:
|
|
191
|
+
$ref: '#/components/schemas/MFASetupResponse'
|
|
192
|
+
description: ''
|
|
193
|
+
/api/accounts/auth/mfa/verify/:
|
|
194
|
+
post:
|
|
195
|
+
operationId: accounts_auth_mfa_verify_create
|
|
196
|
+
description: |-
|
|
197
|
+
Complete sign-in with a code from an already-enrolled authenticator
|
|
198
|
+
app, exchanging the pending-login ticket for a real auth token.
|
|
199
|
+
tags:
|
|
200
|
+
- accounts
|
|
201
|
+
requestBody:
|
|
202
|
+
content:
|
|
203
|
+
application/json:
|
|
204
|
+
schema:
|
|
205
|
+
$ref: '#/components/schemas/MFAVerifyRequestRequest'
|
|
206
|
+
application/x-www-form-urlencoded:
|
|
207
|
+
schema:
|
|
208
|
+
$ref: '#/components/schemas/MFAVerifyRequestRequest'
|
|
209
|
+
multipart/form-data:
|
|
210
|
+
schema:
|
|
211
|
+
$ref: '#/components/schemas/MFAVerifyRequestRequest'
|
|
212
|
+
required: true
|
|
213
|
+
security:
|
|
214
|
+
- {}
|
|
215
|
+
responses:
|
|
216
|
+
'200':
|
|
217
|
+
content:
|
|
218
|
+
application/json:
|
|
219
|
+
schema:
|
|
220
|
+
$ref: '#/components/schemas/VerifyMagicLinkResponse'
|
|
221
|
+
description: ''
|
|
66
222
|
/api/accounts/auth/verify/:
|
|
67
223
|
post:
|
|
68
224
|
operationId: accounts_auth_verify_create
|
|
69
|
-
description:
|
|
225
|
+
description: |-
|
|
226
|
+
Exchange a magic-link token for an auth token — or, when the account
|
|
227
|
+
needs a second factor, a short-lived ticket for the MFA challenge/setup
|
|
228
|
+
step instead. A real auth token is never issued before that second
|
|
229
|
+
factor is satisfied.
|
|
70
230
|
tags:
|
|
71
231
|
- accounts
|
|
72
232
|
requestBody:
|
|
@@ -305,11 +465,8 @@ paths:
|
|
|
305
465
|
delete:
|
|
306
466
|
operationId: contacts_contacts_addresses_destroy
|
|
307
467
|
description: |-
|
|
308
|
-
Remove an address.
|
|
309
|
-
|
|
310
|
-
regardless of contact, since verification is what makes an address
|
|
311
|
-
approval-capable — a member must not be able to unilaterally strip
|
|
312
|
-
that off their own directory entry.
|
|
468
|
+
Remove an address. Admin-only regardless of contact type or
|
|
469
|
+
verification state — a member can neither see nor mutate addresses.
|
|
313
470
|
parameters:
|
|
314
471
|
- in: path
|
|
315
472
|
name: address_id
|
|
@@ -744,6 +901,45 @@ paths:
|
|
|
744
901
|
schema:
|
|
745
902
|
$ref: '#/components/schemas/ManifestResponse'
|
|
746
903
|
description: ''
|
|
904
|
+
/api/integrations/messaging/history/:
|
|
905
|
+
post:
|
|
906
|
+
operationId: integrations_messaging_history
|
|
907
|
+
description: |-
|
|
908
|
+
What was already said in this conversation, oldest last.
|
|
909
|
+
|
|
910
|
+
The agent is dispatched with one message and no memory of the last
|
|
911
|
+
one, so without this every turn answers out of context — "send it to
|
|
912
|
+
the same person" has no referent. Neither provider will give the
|
|
913
|
+
history back (see ``integrations.transcript``), so this reads current's
|
|
914
|
+
own ledger: the messages people sent the bot, and the replies the bot
|
|
915
|
+
sent them.
|
|
916
|
+
|
|
917
|
+
Unlike the send paths this needs no anti-spoofing guard. It only ever
|
|
918
|
+
reads the calling workspace's own observations, so a forged
|
|
919
|
+
conversation id reads nothing rather than reaching another tenant.
|
|
920
|
+
tags:
|
|
921
|
+
- integrations
|
|
922
|
+
requestBody:
|
|
923
|
+
content:
|
|
924
|
+
application/json:
|
|
925
|
+
schema:
|
|
926
|
+
$ref: '#/components/schemas/MessagingHistoryRequestRequest'
|
|
927
|
+
application/x-www-form-urlencoded:
|
|
928
|
+
schema:
|
|
929
|
+
$ref: '#/components/schemas/MessagingHistoryRequestRequest'
|
|
930
|
+
multipart/form-data:
|
|
931
|
+
schema:
|
|
932
|
+
$ref: '#/components/schemas/MessagingHistoryRequestRequest'
|
|
933
|
+
required: true
|
|
934
|
+
security:
|
|
935
|
+
- MessagingJobTokenAuth: []
|
|
936
|
+
responses:
|
|
937
|
+
'200':
|
|
938
|
+
content:
|
|
939
|
+
application/json:
|
|
940
|
+
schema:
|
|
941
|
+
$ref: '#/components/schemas/MessagingHistoryResponse'
|
|
942
|
+
description: ''
|
|
747
943
|
/api/integrations/messaging/react/:
|
|
748
944
|
post:
|
|
749
945
|
operationId: integrations_messaging_react
|
|
@@ -1224,8 +1420,10 @@ paths:
|
|
|
1224
1420
|
/api/projects/projects/:
|
|
1225
1421
|
get:
|
|
1226
1422
|
operationId: projects_projects_list
|
|
1227
|
-
description:
|
|
1228
|
-
|
|
1423
|
+
description: |-
|
|
1424
|
+
Projects across the caller's workspaces. Any member can create a
|
|
1425
|
+
project (including its initial field values); editing the fields of an
|
|
1426
|
+
existing project is admin-only.
|
|
1229
1427
|
parameters:
|
|
1230
1428
|
- in: query
|
|
1231
1429
|
name: workspace
|
|
@@ -1248,8 +1446,10 @@ paths:
|
|
|
1248
1446
|
description: ''
|
|
1249
1447
|
post:
|
|
1250
1448
|
operationId: projects_projects_create
|
|
1251
|
-
description:
|
|
1252
|
-
|
|
1449
|
+
description: |-
|
|
1450
|
+
Projects across the caller's workspaces. Any member can create a
|
|
1451
|
+
project (including its initial field values); editing the fields of an
|
|
1452
|
+
existing project is admin-only.
|
|
1253
1453
|
tags:
|
|
1254
1454
|
- projects
|
|
1255
1455
|
requestBody:
|
|
@@ -1277,8 +1477,10 @@ paths:
|
|
|
1277
1477
|
/api/projects/projects/{id}/:
|
|
1278
1478
|
get:
|
|
1279
1479
|
operationId: projects_projects_retrieve
|
|
1280
|
-
description:
|
|
1281
|
-
|
|
1480
|
+
description: |-
|
|
1481
|
+
Projects across the caller's workspaces. Any member can create a
|
|
1482
|
+
project (including its initial field values); editing the fields of an
|
|
1483
|
+
existing project is admin-only.
|
|
1282
1484
|
parameters:
|
|
1283
1485
|
- in: path
|
|
1284
1486
|
name: id
|
|
@@ -1301,8 +1503,10 @@ paths:
|
|
|
1301
1503
|
description: ''
|
|
1302
1504
|
put:
|
|
1303
1505
|
operationId: projects_projects_update
|
|
1304
|
-
description:
|
|
1305
|
-
|
|
1506
|
+
description: |-
|
|
1507
|
+
Projects across the caller's workspaces. Any member can create a
|
|
1508
|
+
project (including its initial field values); editing the fields of an
|
|
1509
|
+
existing project is admin-only.
|
|
1306
1510
|
parameters:
|
|
1307
1511
|
- in: path
|
|
1308
1512
|
name: id
|
|
@@ -1337,8 +1541,10 @@ paths:
|
|
|
1337
1541
|
description: ''
|
|
1338
1542
|
patch:
|
|
1339
1543
|
operationId: projects_projects_partial_update
|
|
1340
|
-
description:
|
|
1341
|
-
|
|
1544
|
+
description: |-
|
|
1545
|
+
Projects across the caller's workspaces. Any member can create a
|
|
1546
|
+
project (including its initial field values); editing the fields of an
|
|
1547
|
+
existing project is admin-only.
|
|
1342
1548
|
parameters:
|
|
1343
1549
|
- in: path
|
|
1344
1550
|
name: id
|
|
@@ -1372,8 +1578,10 @@ paths:
|
|
|
1372
1578
|
description: ''
|
|
1373
1579
|
delete:
|
|
1374
1580
|
operationId: projects_projects_destroy
|
|
1375
|
-
description:
|
|
1376
|
-
|
|
1581
|
+
description: |-
|
|
1582
|
+
Projects across the caller's workspaces. Any member can create a
|
|
1583
|
+
project (including its initial field values); editing the fields of an
|
|
1584
|
+
existing project is admin-only.
|
|
1377
1585
|
parameters:
|
|
1378
1586
|
- in: path
|
|
1379
1587
|
name: id
|
|
@@ -1460,6 +1668,41 @@ paths:
|
|
|
1460
1668
|
schema:
|
|
1461
1669
|
$ref: '#/components/schemas/Project'
|
|
1462
1670
|
description: ''
|
|
1671
|
+
/api/projects/projects/search/:
|
|
1672
|
+
get:
|
|
1673
|
+
operationId: projects_projects_search_retrieve
|
|
1674
|
+
description: |-
|
|
1675
|
+
Find projects by their current field values (see state.search_projects).
|
|
1676
|
+
|
|
1677
|
+
Compact on purpose: the full project list serializes every field
|
|
1678
|
+
value of every project — megabytes at production scale — which no
|
|
1679
|
+
chat agent or picker can consume. A hit carries just enough to
|
|
1680
|
+
choose a project and fetch its detail.
|
|
1681
|
+
parameters:
|
|
1682
|
+
- in: query
|
|
1683
|
+
name: q
|
|
1684
|
+
schema:
|
|
1685
|
+
type: string
|
|
1686
|
+
description: Case-insensitive regular expression; a plain word searches as
|
|
1687
|
+
a keyword
|
|
1688
|
+
required: true
|
|
1689
|
+
- in: query
|
|
1690
|
+
name: workspace
|
|
1691
|
+
schema:
|
|
1692
|
+
type: string
|
|
1693
|
+
description: Filter by workspace UUID
|
|
1694
|
+
tags:
|
|
1695
|
+
- projects
|
|
1696
|
+
security:
|
|
1697
|
+
- MessagingJobTokenAuth: []
|
|
1698
|
+
- tokenAuth: []
|
|
1699
|
+
responses:
|
|
1700
|
+
'200':
|
|
1701
|
+
content:
|
|
1702
|
+
application/json:
|
|
1703
|
+
schema:
|
|
1704
|
+
$ref: '#/components/schemas/ProjectSearchResponse'
|
|
1705
|
+
description: ''
|
|
1463
1706
|
/api/tasks/tasks/:
|
|
1464
1707
|
get:
|
|
1465
1708
|
operationId: tasks_tasks_list
|
|
@@ -2237,8 +2480,10 @@ paths:
|
|
|
2237
2480
|
/api/workflows/workflows/:
|
|
2238
2481
|
get:
|
|
2239
2482
|
operationId: workflows_workflows_list
|
|
2240
|
-
description:
|
|
2241
|
-
|
|
2483
|
+
description: |-
|
|
2484
|
+
Workflows (actions) across the caller's workspaces. Any member can
|
|
2485
|
+
read; only admins can create, edit (including enable/disable), or
|
|
2486
|
+
delete a binding.
|
|
2242
2487
|
parameters:
|
|
2243
2488
|
- in: query
|
|
2244
2489
|
name: workspace
|
|
@@ -2261,8 +2506,10 @@ paths:
|
|
|
2261
2506
|
description: ''
|
|
2262
2507
|
post:
|
|
2263
2508
|
operationId: workflows_workflows_create
|
|
2264
|
-
description:
|
|
2265
|
-
|
|
2509
|
+
description: |-
|
|
2510
|
+
Workflows (actions) across the caller's workspaces. Any member can
|
|
2511
|
+
read; only admins can create, edit (including enable/disable), or
|
|
2512
|
+
delete a binding.
|
|
2266
2513
|
tags:
|
|
2267
2514
|
- workflows
|
|
2268
2515
|
requestBody:
|
|
@@ -2290,8 +2537,10 @@ paths:
|
|
|
2290
2537
|
/api/workflows/workflows/{id}/:
|
|
2291
2538
|
get:
|
|
2292
2539
|
operationId: workflows_workflows_retrieve
|
|
2293
|
-
description:
|
|
2294
|
-
|
|
2540
|
+
description: |-
|
|
2541
|
+
Workflows (actions) across the caller's workspaces. Any member can
|
|
2542
|
+
read; only admins can create, edit (including enable/disable), or
|
|
2543
|
+
delete a binding.
|
|
2295
2544
|
parameters:
|
|
2296
2545
|
- in: path
|
|
2297
2546
|
name: id
|
|
@@ -2314,8 +2563,10 @@ paths:
|
|
|
2314
2563
|
description: ''
|
|
2315
2564
|
put:
|
|
2316
2565
|
operationId: workflows_workflows_update
|
|
2317
|
-
description:
|
|
2318
|
-
|
|
2566
|
+
description: |-
|
|
2567
|
+
Workflows (actions) across the caller's workspaces. Any member can
|
|
2568
|
+
read; only admins can create, edit (including enable/disable), or
|
|
2569
|
+
delete a binding.
|
|
2319
2570
|
parameters:
|
|
2320
2571
|
- in: path
|
|
2321
2572
|
name: id
|
|
@@ -2350,8 +2601,10 @@ paths:
|
|
|
2350
2601
|
description: ''
|
|
2351
2602
|
patch:
|
|
2352
2603
|
operationId: workflows_workflows_partial_update
|
|
2353
|
-
description:
|
|
2354
|
-
|
|
2604
|
+
description: |-
|
|
2605
|
+
Workflows (actions) across the caller's workspaces. Any member can
|
|
2606
|
+
read; only admins can create, edit (including enable/disable), or
|
|
2607
|
+
delete a binding.
|
|
2355
2608
|
parameters:
|
|
2356
2609
|
- in: path
|
|
2357
2610
|
name: id
|
|
@@ -2385,8 +2638,10 @@ paths:
|
|
|
2385
2638
|
description: ''
|
|
2386
2639
|
delete:
|
|
2387
2640
|
operationId: workflows_workflows_destroy
|
|
2388
|
-
description:
|
|
2389
|
-
|
|
2641
|
+
description: |-
|
|
2642
|
+
Workflows (actions) across the caller's workspaces. Any member can
|
|
2643
|
+
read; only admins can create, edit (including enable/disable), or
|
|
2644
|
+
delete a binding.
|
|
2390
2645
|
parameters:
|
|
2391
2646
|
- in: path
|
|
2392
2647
|
name: id
|
|
@@ -3029,6 +3284,7 @@ components:
|
|
|
3029
3284
|
type: array
|
|
3030
3285
|
items:
|
|
3031
3286
|
$ref: '#/components/schemas/ContactAddress'
|
|
3287
|
+
nullable: true
|
|
3032
3288
|
readOnly: true
|
|
3033
3289
|
created_at:
|
|
3034
3290
|
type: string
|
|
@@ -3092,18 +3348,6 @@ components:
|
|
|
3092
3348
|
required:
|
|
3093
3349
|
- kind
|
|
3094
3350
|
- value
|
|
3095
|
-
ContactAddressRequest:
|
|
3096
|
-
type: object
|
|
3097
|
-
properties:
|
|
3098
|
-
kind:
|
|
3099
|
-
$ref: '#/components/schemas/KindEnum'
|
|
3100
|
-
value:
|
|
3101
|
-
type: string
|
|
3102
|
-
minLength: 1
|
|
3103
|
-
maxLength: 255
|
|
3104
|
-
required:
|
|
3105
|
-
- kind
|
|
3106
|
-
- value
|
|
3107
3351
|
ContactListResponse:
|
|
3108
3352
|
type: object
|
|
3109
3353
|
description: |-
|
|
@@ -3172,6 +3416,13 @@ components:
|
|
|
3172
3416
|
format: uuid
|
|
3173
3417
|
required:
|
|
3174
3418
|
- workspace
|
|
3419
|
+
DetailResponse:
|
|
3420
|
+
type: object
|
|
3421
|
+
properties:
|
|
3422
|
+
detail:
|
|
3423
|
+
type: string
|
|
3424
|
+
required:
|
|
3425
|
+
- detail
|
|
3175
3426
|
EmojiEnum:
|
|
3176
3427
|
enum:
|
|
3177
3428
|
- eyes
|
|
@@ -3514,6 +3765,67 @@ components:
|
|
|
3514
3765
|
type: string
|
|
3515
3766
|
required:
|
|
3516
3767
|
- detail
|
|
3768
|
+
MFAAdminResetRequestRequest:
|
|
3769
|
+
type: object
|
|
3770
|
+
properties:
|
|
3771
|
+
email:
|
|
3772
|
+
type: string
|
|
3773
|
+
format: email
|
|
3774
|
+
minLength: 1
|
|
3775
|
+
required:
|
|
3776
|
+
- email
|
|
3777
|
+
MFAConfirmRequestRequest:
|
|
3778
|
+
type: object
|
|
3779
|
+
properties:
|
|
3780
|
+
ticket:
|
|
3781
|
+
type: string
|
|
3782
|
+
code:
|
|
3783
|
+
type: string
|
|
3784
|
+
minLength: 1
|
|
3785
|
+
maxLength: 8
|
|
3786
|
+
required:
|
|
3787
|
+
- code
|
|
3788
|
+
MFADisableRequestRequest:
|
|
3789
|
+
type: object
|
|
3790
|
+
properties:
|
|
3791
|
+
code:
|
|
3792
|
+
type: string
|
|
3793
|
+
minLength: 1
|
|
3794
|
+
maxLength: 8
|
|
3795
|
+
required:
|
|
3796
|
+
- code
|
|
3797
|
+
MFASetupResponse:
|
|
3798
|
+
type: object
|
|
3799
|
+
properties:
|
|
3800
|
+
secret:
|
|
3801
|
+
type: string
|
|
3802
|
+
otpauth_url:
|
|
3803
|
+
type: string
|
|
3804
|
+
required:
|
|
3805
|
+
- otpauth_url
|
|
3806
|
+
- secret
|
|
3807
|
+
MFATicketRequestRequest:
|
|
3808
|
+
type: object
|
|
3809
|
+
description: |-
|
|
3810
|
+
A setup/confirm call during login carries the pending ticket instead
|
|
3811
|
+
of an auth token, since issuing a real token before the second factor is
|
|
3812
|
+
verified would defeat the point.
|
|
3813
|
+
properties:
|
|
3814
|
+
ticket:
|
|
3815
|
+
type: string
|
|
3816
|
+
MFAVerifyRequestRequest:
|
|
3817
|
+
type: object
|
|
3818
|
+
properties:
|
|
3819
|
+
ticket:
|
|
3820
|
+
type: string
|
|
3821
|
+
minLength: 1
|
|
3822
|
+
code:
|
|
3823
|
+
type: string
|
|
3824
|
+
minLength: 1
|
|
3825
|
+
maxLength: 8
|
|
3826
|
+
required:
|
|
3827
|
+
- code
|
|
3828
|
+
- ticket
|
|
3517
3829
|
ManifestEntry:
|
|
3518
3830
|
type: object
|
|
3519
3831
|
properties:
|
|
@@ -3561,6 +3873,12 @@ components:
|
|
|
3561
3873
|
is_superadmin:
|
|
3562
3874
|
type: boolean
|
|
3563
3875
|
readOnly: true
|
|
3876
|
+
mfa_enabled:
|
|
3877
|
+
type: boolean
|
|
3878
|
+
readOnly: true
|
|
3879
|
+
mfa_required:
|
|
3880
|
+
type: boolean
|
|
3881
|
+
readOnly: true
|
|
3564
3882
|
required:
|
|
3565
3883
|
- email
|
|
3566
3884
|
- first_name
|
|
@@ -3568,6 +3886,8 @@ components:
|
|
|
3568
3886
|
- is_superadmin
|
|
3569
3887
|
- last_name
|
|
3570
3888
|
- memberships
|
|
3889
|
+
- mfa_enabled
|
|
3890
|
+
- mfa_required
|
|
3571
3891
|
MeMembership:
|
|
3572
3892
|
type: object
|
|
3573
3893
|
description: Inline workspace + role for the /auth/me/ payload.
|
|
@@ -3583,6 +3903,24 @@ components:
|
|
|
3583
3903
|
- role
|
|
3584
3904
|
- workspace_id
|
|
3585
3905
|
- workspace_name
|
|
3906
|
+
MessagingHistoryRequestRequest:
|
|
3907
|
+
type: object
|
|
3908
|
+
properties:
|
|
3909
|
+
workspace:
|
|
3910
|
+
type: string
|
|
3911
|
+
format: uuid
|
|
3912
|
+
reply_ref: {}
|
|
3913
|
+
limit:
|
|
3914
|
+
type: integer
|
|
3915
|
+
required:
|
|
3916
|
+
- reply_ref
|
|
3917
|
+
- workspace
|
|
3918
|
+
MessagingHistoryResponse:
|
|
3919
|
+
type: object
|
|
3920
|
+
properties:
|
|
3921
|
+
messages: {}
|
|
3922
|
+
required:
|
|
3923
|
+
- messages
|
|
3586
3924
|
MessagingOk:
|
|
3587
3925
|
type: object
|
|
3588
3926
|
properties:
|
|
@@ -3961,6 +4299,8 @@ components:
|
|
|
3961
4299
|
type: string
|
|
3962
4300
|
minLength: 1
|
|
3963
4301
|
maxLength: 64
|
|
4302
|
+
require_mfa_for_members:
|
|
4303
|
+
type: boolean
|
|
3964
4304
|
Project:
|
|
3965
4305
|
type: object
|
|
3966
4306
|
properties:
|
|
@@ -4137,6 +4477,56 @@ components:
|
|
|
4137
4477
|
fields: {}
|
|
4138
4478
|
required:
|
|
4139
4479
|
- workspace
|
|
4480
|
+
ProjectSearchMatch:
|
|
4481
|
+
type: object
|
|
4482
|
+
description: One field whose current value matched the search pattern.
|
|
4483
|
+
properties:
|
|
4484
|
+
field:
|
|
4485
|
+
type: string
|
|
4486
|
+
value:
|
|
4487
|
+
type: string
|
|
4488
|
+
required:
|
|
4489
|
+
- field
|
|
4490
|
+
- value
|
|
4491
|
+
ProjectSearchResponse:
|
|
4492
|
+
type: object
|
|
4493
|
+
description: |-
|
|
4494
|
+
``count`` is the total number of matching projects; ``results`` is
|
|
4495
|
+
capped (see ``state.SEARCH_RESULT_LIMIT``), name-field hits first.
|
|
4496
|
+
properties:
|
|
4497
|
+
count:
|
|
4498
|
+
type: integer
|
|
4499
|
+
results:
|
|
4500
|
+
type: array
|
|
4501
|
+
items:
|
|
4502
|
+
$ref: '#/components/schemas/ProjectSearchResult'
|
|
4503
|
+
required:
|
|
4504
|
+
- count
|
|
4505
|
+
- results
|
|
4506
|
+
ProjectSearchResult:
|
|
4507
|
+
type: object
|
|
4508
|
+
description: 'One project hit: identity plus the fields that matched.'
|
|
4509
|
+
properties:
|
|
4510
|
+
id:
|
|
4511
|
+
type: string
|
|
4512
|
+
format: uuid
|
|
4513
|
+
workspace:
|
|
4514
|
+
type: string
|
|
4515
|
+
format: uuid
|
|
4516
|
+
name:
|
|
4517
|
+
type: string
|
|
4518
|
+
status:
|
|
4519
|
+
type: string
|
|
4520
|
+
matched:
|
|
4521
|
+
type: array
|
|
4522
|
+
items:
|
|
4523
|
+
$ref: '#/components/schemas/ProjectSearchMatch'
|
|
4524
|
+
required:
|
|
4525
|
+
- id
|
|
4526
|
+
- matched
|
|
4527
|
+
- name
|
|
4528
|
+
- status
|
|
4529
|
+
- workspace
|
|
4140
4530
|
PromoteRequestRequest:
|
|
4141
4531
|
type: object
|
|
4142
4532
|
properties:
|
|
@@ -4752,14 +5142,25 @@ components:
|
|
|
4752
5142
|
- token
|
|
4753
5143
|
VerifyMagicLinkResponse:
|
|
4754
5144
|
type: object
|
|
5145
|
+
description: |-
|
|
5146
|
+
Either a completed sign-in (``token`` + ``user``) or an MFA challenge
|
|
5147
|
+
(``mfa_required`` true, with a ``ticket`` to carry into the next call).
|
|
4755
5148
|
properties:
|
|
5149
|
+
mfa_required:
|
|
5150
|
+
type: boolean
|
|
5151
|
+
mfa_enrolled:
|
|
5152
|
+
type: boolean
|
|
5153
|
+
ticket:
|
|
5154
|
+
type: string
|
|
4756
5155
|
token:
|
|
4757
5156
|
type: string
|
|
5157
|
+
nullable: true
|
|
4758
5158
|
user:
|
|
4759
|
-
|
|
5159
|
+
allOf:
|
|
5160
|
+
- $ref: '#/components/schemas/User'
|
|
5161
|
+
nullable: true
|
|
4760
5162
|
required:
|
|
4761
|
-
-
|
|
4762
|
-
- user
|
|
5163
|
+
- mfa_required
|
|
4763
5164
|
Workflow:
|
|
4764
5165
|
type: object
|
|
4765
5166
|
properties:
|
|
@@ -5117,6 +5518,8 @@ components:
|
|
|
5117
5518
|
timezone:
|
|
5118
5519
|
type: string
|
|
5119
5520
|
maxLength: 64
|
|
5521
|
+
require_mfa_for_members:
|
|
5522
|
+
type: boolean
|
|
5120
5523
|
required:
|
|
5121
5524
|
- created_at
|
|
5122
5525
|
- id
|
|
@@ -5246,6 +5649,8 @@ components:
|
|
|
5246
5649
|
type: string
|
|
5247
5650
|
minLength: 1
|
|
5248
5651
|
maxLength: 64
|
|
5652
|
+
require_mfa_for_members:
|
|
5653
|
+
type: boolean
|
|
5249
5654
|
required:
|
|
5250
5655
|
- name
|
|
5251
5656
|
securitySchemes:
|
|
@@ -52,9 +52,68 @@ Current user with workspace memberships.
|
|
|
52
52
|
|
|
53
53
|
GET /api/accounts/auth/me/
|
|
54
54
|
|
|
55
|
+
### current accounts auth mfa admin-reset create
|
|
56
|
+
|
|
57
|
+
Superadmin-only: clear a user's TOTP enrollment so they can enroll a
|
|
58
|
+
new device, for when they've lost their authenticator app. There are no
|
|
59
|
+
recovery codes, so this is the only way back in for such a user.
|
|
60
|
+
|
|
61
|
+
POST /api/accounts/auth/mfa/admin-reset/
|
|
62
|
+
|
|
63
|
+
Options:
|
|
64
|
+
- `--data` (required) - Request body as JSON: inline, @file.json, or - for stdin.
|
|
65
|
+
|
|
66
|
+
### current accounts auth mfa confirm create
|
|
67
|
+
|
|
68
|
+
Confirm enrollment with a code from the authenticator app. Mid-login,
|
|
69
|
+
this also finishes sign-in (a confirmed device is proof of the second
|
|
70
|
+
factor); from Account Settings, it just turns MFA on.
|
|
71
|
+
|
|
72
|
+
POST /api/accounts/auth/mfa/confirm/
|
|
73
|
+
|
|
74
|
+
Options:
|
|
75
|
+
- `--data` (required) - Request body as JSON: inline, @file.json, or - for stdin.
|
|
76
|
+
|
|
77
|
+
### current accounts auth mfa disable create
|
|
78
|
+
|
|
79
|
+
Turn off TOTP for the current user. Refused when MFA is still
|
|
80
|
+
required for this account (platform superadmin, a workspace admin
|
|
81
|
+
anywhere, or a workspace that requires it of members) — the setting
|
|
82
|
+
would just be silently re-enforced at the next sign-in otherwise.
|
|
83
|
+
|
|
84
|
+
POST /api/accounts/auth/mfa/disable/
|
|
85
|
+
|
|
86
|
+
Options:
|
|
87
|
+
- `--data` (required) - Request body as JSON: inline, @file.json, or - for stdin.
|
|
88
|
+
|
|
89
|
+
### current accounts auth mfa setup create
|
|
90
|
+
|
|
91
|
+
Start (or restart) TOTP enrollment: mints a new secret and returns
|
|
92
|
+
the otpauth:// URI for the authenticator app's QR scanner. Callable
|
|
93
|
+
mid-login (with the pending ticket) or from Account Settings (while
|
|
94
|
+
authenticated) — the secret isn't active until ``confirm`` succeeds.
|
|
95
|
+
|
|
96
|
+
POST /api/accounts/auth/mfa/setup/
|
|
97
|
+
|
|
98
|
+
Options:
|
|
99
|
+
- `--data` (required) - Request body as JSON: inline, @file.json, or - for stdin.
|
|
100
|
+
|
|
101
|
+
### current accounts auth mfa verify create
|
|
102
|
+
|
|
103
|
+
Complete sign-in with a code from an already-enrolled authenticator
|
|
104
|
+
app, exchanging the pending-login ticket for a real auth token.
|
|
105
|
+
|
|
106
|
+
POST /api/accounts/auth/mfa/verify/
|
|
107
|
+
|
|
108
|
+
Options:
|
|
109
|
+
- `--data` (required) - Request body as JSON: inline, @file.json, or - for stdin.
|
|
110
|
+
|
|
55
111
|
### current accounts auth verify create
|
|
56
112
|
|
|
57
|
-
Exchange a magic-link token for an auth token
|
|
113
|
+
Exchange a magic-link token for an auth token — or, when the account
|
|
114
|
+
needs a second factor, a short-lived ticket for the MFA challenge/setup
|
|
115
|
+
step instead. A real auth token is never issued before that second
|
|
116
|
+
factor is satisfied.
|
|
58
117
|
|
|
59
118
|
POST /api/accounts/auth/verify/
|
|
60
119
|
|
|
@@ -86,11 +145,8 @@ Options:
|
|
|
86
145
|
|
|
87
146
|
### current contacts addresses destroy <id> <address_id>
|
|
88
147
|
|
|
89
|
-
Remove an address.
|
|
90
|
-
|
|
91
|
-
regardless of contact, since verification is what makes an address
|
|
92
|
-
approval-capable — a member must not be able to unilaterally strip
|
|
93
|
-
that off their own directory entry.
|
|
148
|
+
Remove an address. Admin-only regardless of contact type or
|
|
149
|
+
verification state — a member can neither see nor mutate addresses.
|
|
94
150
|
|
|
95
151
|
DELETE /api/contacts/contacts/{id}/addresses/{address_id}/
|
|
96
152
|
|
|
@@ -284,6 +340,26 @@ messaging-job endpoint uses.
|
|
|
284
340
|
|
|
285
341
|
POST /api/integrations/messaging/files/manifest/
|
|
286
342
|
|
|
343
|
+
### current integrations messaging history post
|
|
344
|
+
|
|
345
|
+
What was already said in this conversation, oldest last.
|
|
346
|
+
|
|
347
|
+
The agent is dispatched with one message and no memory of the last
|
|
348
|
+
one, so without this every turn answers out of context — "send it to
|
|
349
|
+
the same person" has no referent. Neither provider will give the
|
|
350
|
+
history back (see ``integrations.transcript``), so this reads current's
|
|
351
|
+
own ledger: the messages people sent the bot, and the replies the bot
|
|
352
|
+
sent them.
|
|
353
|
+
|
|
354
|
+
Unlike the send paths this needs no anti-spoofing guard. It only ever
|
|
355
|
+
reads the calling workspace's own observations, so a forged
|
|
356
|
+
conversation id reads nothing rather than reaching another tenant.
|
|
357
|
+
|
|
358
|
+
POST /api/integrations/messaging/history/
|
|
359
|
+
|
|
360
|
+
Options:
|
|
361
|
+
- `--data` (required) - Request body as JSON: inline, @file.json, or - for stdin.
|
|
362
|
+
|
|
287
363
|
### current integrations messaging react post
|
|
288
364
|
|
|
289
365
|
Add an emoji reaction to the message a reply_ref points at.
|
|
@@ -407,7 +483,9 @@ GET /api/observations/observations/{id}/
|
|
|
407
483
|
|
|
408
484
|
### current projects create
|
|
409
485
|
|
|
410
|
-
Projects across the caller's workspaces. Any member can create
|
|
486
|
+
Projects across the caller's workspaces. Any member can create a
|
|
487
|
+
project (including its initial field values); editing the fields of an
|
|
488
|
+
existing project is admin-only.
|
|
411
489
|
|
|
412
490
|
POST /api/projects/projects/
|
|
413
491
|
|
|
@@ -416,7 +494,9 @@ Options:
|
|
|
416
494
|
|
|
417
495
|
### current projects destroy <id>
|
|
418
496
|
|
|
419
|
-
Projects across the caller's workspaces. Any member can create
|
|
497
|
+
Projects across the caller's workspaces. Any member can create a
|
|
498
|
+
project (including its initial field values); editing the fields of an
|
|
499
|
+
existing project is admin-only.
|
|
420
500
|
|
|
421
501
|
DELETE /api/projects/projects/{id}/
|
|
422
502
|
|
|
@@ -486,7 +566,9 @@ Options:
|
|
|
486
566
|
|
|
487
567
|
### current projects list
|
|
488
568
|
|
|
489
|
-
Projects across the caller's workspaces. Any member can create
|
|
569
|
+
Projects across the caller's workspaces. Any member can create a
|
|
570
|
+
project (including its initial field values); editing the fields of an
|
|
571
|
+
existing project is admin-only.
|
|
490
572
|
|
|
491
573
|
GET /api/projects/projects/
|
|
492
574
|
|
|
@@ -495,7 +577,9 @@ Options:
|
|
|
495
577
|
|
|
496
578
|
### current projects partial-update <id>
|
|
497
579
|
|
|
498
|
-
Projects across the caller's workspaces. Any member can create
|
|
580
|
+
Projects across the caller's workspaces. Any member can create a
|
|
581
|
+
project (including its initial field values); editing the fields of an
|
|
582
|
+
existing project is admin-only.
|
|
499
583
|
|
|
500
584
|
PATCH /api/projects/projects/{id}/
|
|
501
585
|
|
|
@@ -504,7 +588,9 @@ Options:
|
|
|
504
588
|
|
|
505
589
|
### current projects retrieve <id>
|
|
506
590
|
|
|
507
|
-
Projects across the caller's workspaces. Any member can create
|
|
591
|
+
Projects across the caller's workspaces. Any member can create a
|
|
592
|
+
project (including its initial field values); editing the fields of an
|
|
593
|
+
existing project is admin-only.
|
|
508
594
|
|
|
509
595
|
GET /api/projects/projects/{id}/
|
|
510
596
|
|
|
@@ -517,9 +603,26 @@ POST /api/projects/projects/{id}/revert/
|
|
|
517
603
|
Options:
|
|
518
604
|
- `--data` (required) - Request body as JSON: inline, @file.json, or - for stdin.
|
|
519
605
|
|
|
606
|
+
### current projects search retrieve
|
|
607
|
+
|
|
608
|
+
Find projects by their current field values (see state.search_projects).
|
|
609
|
+
|
|
610
|
+
Compact on purpose: the full project list serializes every field
|
|
611
|
+
value of every project — megabytes at production scale — which no
|
|
612
|
+
chat agent or picker can consume. A hit carries just enough to
|
|
613
|
+
choose a project and fetch its detail.
|
|
614
|
+
|
|
615
|
+
GET /api/projects/projects/search/
|
|
616
|
+
|
|
617
|
+
Options:
|
|
618
|
+
- `--q` - Case-insensitive regular expression; a plain word searches as a keyword
|
|
619
|
+
- `--workspace` - Filter by workspace UUID
|
|
620
|
+
|
|
520
621
|
### current projects update <id>
|
|
521
622
|
|
|
522
|
-
Projects across the caller's workspaces. Any member can create
|
|
623
|
+
Projects across the caller's workspaces. Any member can create a
|
|
624
|
+
project (including its initial field values); editing the fields of an
|
|
625
|
+
existing project is admin-only.
|
|
523
626
|
|
|
524
627
|
PUT /api/projects/projects/{id}/
|
|
525
628
|
|
|
@@ -626,7 +729,9 @@ Show the current user and workspace memberships.
|
|
|
626
729
|
|
|
627
730
|
### current workflows create
|
|
628
731
|
|
|
629
|
-
Workflows across the caller's workspaces. Any member can
|
|
732
|
+
Workflows (actions) across the caller's workspaces. Any member can
|
|
733
|
+
read; only admins can create, edit (including enable/disable), or
|
|
734
|
+
delete a binding.
|
|
630
735
|
|
|
631
736
|
POST /api/workflows/workflows/
|
|
632
737
|
|
|
@@ -667,13 +772,17 @@ GET /api/workflows/definitions/{id}/
|
|
|
667
772
|
|
|
668
773
|
### current workflows destroy <id>
|
|
669
774
|
|
|
670
|
-
Workflows across the caller's workspaces. Any member can
|
|
775
|
+
Workflows (actions) across the caller's workspaces. Any member can
|
|
776
|
+
read; only admins can create, edit (including enable/disable), or
|
|
777
|
+
delete a binding.
|
|
671
778
|
|
|
672
779
|
DELETE /api/workflows/workflows/{id}/
|
|
673
780
|
|
|
674
781
|
### current workflows list
|
|
675
782
|
|
|
676
|
-
Workflows across the caller's workspaces. Any member can
|
|
783
|
+
Workflows (actions) across the caller's workspaces. Any member can
|
|
784
|
+
read; only admins can create, edit (including enable/disable), or
|
|
785
|
+
delete a binding.
|
|
677
786
|
|
|
678
787
|
GET /api/workflows/workflows/
|
|
679
788
|
|
|
@@ -682,7 +791,9 @@ Options:
|
|
|
682
791
|
|
|
683
792
|
### current workflows partial-update <id>
|
|
684
793
|
|
|
685
|
-
Workflows across the caller's workspaces. Any member can
|
|
794
|
+
Workflows (actions) across the caller's workspaces. Any member can
|
|
795
|
+
read; only admins can create, edit (including enable/disable), or
|
|
796
|
+
delete a binding.
|
|
686
797
|
|
|
687
798
|
PATCH /api/workflows/workflows/{id}/
|
|
688
799
|
|
|
@@ -691,7 +802,9 @@ Options:
|
|
|
691
802
|
|
|
692
803
|
### current workflows retrieve <id>
|
|
693
804
|
|
|
694
|
-
Workflows across the caller's workspaces. Any member can
|
|
805
|
+
Workflows (actions) across the caller's workspaces. Any member can
|
|
806
|
+
read; only admins can create, edit (including enable/disable), or
|
|
807
|
+
delete a binding.
|
|
695
808
|
|
|
696
809
|
GET /api/workflows/workflows/{id}/
|
|
697
810
|
|
|
@@ -792,7 +905,9 @@ POST /api/workflows/runs/{id}/unarchive/
|
|
|
792
905
|
|
|
793
906
|
### current workflows update <id>
|
|
794
907
|
|
|
795
|
-
Workflows across the caller's workspaces. Any member can
|
|
908
|
+
Workflows (actions) across the caller's workspaces. Any member can
|
|
909
|
+
read; only admins can create, edit (including enable/disable), or
|
|
910
|
+
delete a binding.
|
|
796
911
|
|
|
797
912
|
PUT /api/workflows/workflows/{id}/
|
|
798
913
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|