attune-sdk 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +190 -0
- package/README.md +355 -0
- package/dist/action.d.ts +34 -0
- package/dist/action.d.ts.map +1 -0
- package/dist/action.js +62 -0
- package/dist/action.js.map +1 -0
- package/dist/api_client/client/client.gen.d.ts +3 -0
- package/dist/api_client/client/client.gen.d.ts.map +1 -0
- package/dist/api_client/client/client.gen.js +217 -0
- package/dist/api_client/client/client.gen.js.map +1 -0
- package/dist/api_client/client/index.d.ts +9 -0
- package/dist/api_client/client/index.d.ts.map +1 -0
- package/dist/api_client/client/index.js +7 -0
- package/dist/api_client/client/index.js.map +1 -0
- package/dist/api_client/client/types.gen.d.ts +121 -0
- package/dist/api_client/client/types.gen.d.ts.map +1 -0
- package/dist/api_client/client/types.gen.js +3 -0
- package/dist/api_client/client/types.gen.js.map +1 -0
- package/dist/api_client/client/utils.gen.d.ts +38 -0
- package/dist/api_client/client/utils.gen.d.ts.map +1 -0
- package/dist/api_client/client/utils.gen.js +229 -0
- package/dist/api_client/client/utils.gen.js.map +1 -0
- package/dist/api_client/client.gen.d.ts +13 -0
- package/dist/api_client/client.gen.d.ts.map +1 -0
- package/dist/api_client/client.gen.js +4 -0
- package/dist/api_client/client.gen.js.map +1 -0
- package/dist/api_client/core/auth.gen.d.ts +19 -0
- package/dist/api_client/core/auth.gen.d.ts.map +1 -0
- package/dist/api_client/core/auth.gen.js +15 -0
- package/dist/api_client/core/auth.gen.js.map +1 -0
- package/dist/api_client/core/bodySerializer.gen.d.ts +26 -0
- package/dist/api_client/core/bodySerializer.gen.d.ts.map +1 -0
- package/dist/api_client/core/bodySerializer.gen.js +58 -0
- package/dist/api_client/core/bodySerializer.gen.js.map +1 -0
- package/dist/api_client/core/params.gen.d.ts +44 -0
- package/dist/api_client/core/params.gen.d.ts.map +1 -0
- package/dist/api_client/core/params.gen.js +101 -0
- package/dist/api_client/core/params.gen.js.map +1 -0
- package/dist/api_client/core/pathSerializer.gen.d.ts +34 -0
- package/dist/api_client/core/pathSerializer.gen.d.ts.map +1 -0
- package/dist/api_client/core/pathSerializer.gen.js +107 -0
- package/dist/api_client/core/pathSerializer.gen.js.map +1 -0
- package/dist/api_client/core/queryKeySerializer.gen.d.ts +19 -0
- package/dist/api_client/core/queryKeySerializer.gen.d.ts.map +1 -0
- package/dist/api_client/core/queryKeySerializer.gen.js +93 -0
- package/dist/api_client/core/queryKeySerializer.gen.js.map +1 -0
- package/dist/api_client/core/serverSentEvents.gen.d.ts +72 -0
- package/dist/api_client/core/serverSentEvents.gen.d.ts.map +1 -0
- package/dist/api_client/core/serverSentEvents.gen.js +133 -0
- package/dist/api_client/core/serverSentEvents.gen.js.map +1 -0
- package/dist/api_client/core/types.gen.d.ts +79 -0
- package/dist/api_client/core/types.gen.d.ts.map +1 -0
- package/dist/api_client/core/types.gen.js +3 -0
- package/dist/api_client/core/types.gen.js.map +1 -0
- package/dist/api_client/core/utils.gen.d.ts +20 -0
- package/dist/api_client/core/utils.gen.d.ts.map +1 -0
- package/dist/api_client/core/utils.gen.js +88 -0
- package/dist/api_client/core/utils.gen.js.map +1 -0
- package/dist/api_client/index.d.ts +3 -0
- package/dist/api_client/index.d.ts.map +1 -0
- package/dist/api_client/index.js +3 -0
- package/dist/api_client/index.js.map +1 -0
- package/dist/api_client/sdk.gen.d.ts +1000 -0
- package/dist/api_client/sdk.gen.d.ts.map +1 -0
- package/dist/api_client/sdk.gen.js +2145 -0
- package/dist/api_client/sdk.gen.js.map +1 -0
- package/dist/api_client/types.gen.d.ts +19794 -0
- package/dist/api_client/types.gen.d.ts.map +1 -0
- package/dist/api_client/types.gen.js +3 -0
- package/dist/api_client/types.gen.js.map +1 -0
- package/dist/client.d.ts +42 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +73 -0
- package/dist/client.js.map +1 -0
- package/dist/context.d.ts +112 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +108 -0
- package/dist/context.js.map +1 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -0
- package/dist/sensor.d.ts +127 -0
- package/dist/sensor.d.ts.map +1 -0
- package/dist/sensor.js +880 -0
- package/dist/sensor.js.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1,2145 @@
|
|
|
1
|
+
// This file is auto-generated by @hey-api/openapi-ts
|
|
2
|
+
import { formDataBodySerializer } from './client.js';
|
|
3
|
+
import { client } from './client.gen.js';
|
|
4
|
+
/**
|
|
5
|
+
* List all actions with pagination
|
|
6
|
+
*/
|
|
7
|
+
export const listActions = (options) => (options?.client ?? client).get({
|
|
8
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
9
|
+
url: '/api/v1/actions',
|
|
10
|
+
...options
|
|
11
|
+
});
|
|
12
|
+
/**
|
|
13
|
+
* Create a new action
|
|
14
|
+
*/
|
|
15
|
+
export const createAction = (options) => (options.client ?? client).post({
|
|
16
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
17
|
+
url: '/api/v1/actions',
|
|
18
|
+
...options,
|
|
19
|
+
headers: {
|
|
20
|
+
'Content-Type': 'application/json',
|
|
21
|
+
...options.headers
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
/**
|
|
25
|
+
* Search for actions by keyword and pack filter.
|
|
26
|
+
*
|
|
27
|
+
* Returns lean `ActionSearchHit` rows optimized for action discovery — useful
|
|
28
|
+
* for AI agents and human browsing of large action catalogs. Whitespace-separated
|
|
29
|
+
* tokens in `q` are AND-matched (each token must appear in at least one of
|
|
30
|
+
* `ref`, `label`, `description`, or `pack_ref`).
|
|
31
|
+
*/
|
|
32
|
+
export const searchActions = (options) => (options?.client ?? client).get({
|
|
33
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
34
|
+
url: '/api/v1/actions/search',
|
|
35
|
+
...options
|
|
36
|
+
});
|
|
37
|
+
export const listPoliciesByAction = (options) => (options.client ?? client).get({
|
|
38
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
39
|
+
url: '/api/v1/actions/{action_ref}/policies',
|
|
40
|
+
...options
|
|
41
|
+
});
|
|
42
|
+
/**
|
|
43
|
+
* List rules by action reference
|
|
44
|
+
*/
|
|
45
|
+
export const listRulesByAction = (options) => (options.client ?? client).get({ url: '/api/v1/actions/{action_ref}/rules', ...options });
|
|
46
|
+
/**
|
|
47
|
+
* Delete an action
|
|
48
|
+
*/
|
|
49
|
+
export const deleteAction = (options) => (options.client ?? client).delete({
|
|
50
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
51
|
+
url: '/api/v1/actions/{ref}',
|
|
52
|
+
...options
|
|
53
|
+
});
|
|
54
|
+
/**
|
|
55
|
+
* Get a single action by reference
|
|
56
|
+
*/
|
|
57
|
+
export const getAction = (options) => (options.client ?? client).get({
|
|
58
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
59
|
+
url: '/api/v1/actions/{ref}',
|
|
60
|
+
...options
|
|
61
|
+
});
|
|
62
|
+
/**
|
|
63
|
+
* Update an existing action
|
|
64
|
+
*/
|
|
65
|
+
export const updateAction = (options) => (options.client ?? client).put({
|
|
66
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
67
|
+
url: '/api/v1/actions/{ref}',
|
|
68
|
+
...options,
|
|
69
|
+
headers: {
|
|
70
|
+
'Content-Type': 'application/json',
|
|
71
|
+
...options.headers
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
/**
|
|
75
|
+
* Get queue statistics for an action
|
|
76
|
+
*/
|
|
77
|
+
export const getQueueStats = (options) => (options.client ?? client).get({
|
|
78
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
79
|
+
url: '/api/v1/actions/{ref}/queue-stats',
|
|
80
|
+
...options
|
|
81
|
+
});
|
|
82
|
+
/**
|
|
83
|
+
* Download the agent binary
|
|
84
|
+
*
|
|
85
|
+
* Returns the statically-linked attune-agent binary for the requested architecture.
|
|
86
|
+
* The binary can be injected into any container to turn it into an Attune worker.
|
|
87
|
+
*/
|
|
88
|
+
export const downloadAgentBinary = (options) => (options?.client ?? client).get({ url: '/api/v1/agent/binary', ...options });
|
|
89
|
+
/**
|
|
90
|
+
* Get agent binary metadata
|
|
91
|
+
*
|
|
92
|
+
* Returns information about available agent binaries, including
|
|
93
|
+
* supported architectures and binary sizes.
|
|
94
|
+
*/
|
|
95
|
+
export const agentInfo = (options) => (options?.client ?? client).get({ url: '/api/v1/agent/info', ...options });
|
|
96
|
+
/**
|
|
97
|
+
* Get a combined dashboard analytics payload.
|
|
98
|
+
*
|
|
99
|
+
* Returns all key metrics in a single response to avoid multiple round-trips
|
|
100
|
+
* from the dashboard page. Includes execution throughput, status transitions,
|
|
101
|
+
* event volume, enforcement volume, worker status, and failure rate.
|
|
102
|
+
*/
|
|
103
|
+
export const getDashboardAnalytics = (options) => (options?.client ?? client).get({
|
|
104
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
105
|
+
url: '/api/v1/analytics/dashboard',
|
|
106
|
+
...options
|
|
107
|
+
});
|
|
108
|
+
/**
|
|
109
|
+
* Get enforcement volume over time.
|
|
110
|
+
*
|
|
111
|
+
* Returns hourly buckets of enforcement creation counts, aggregated across all rules.
|
|
112
|
+
*/
|
|
113
|
+
export const getEnforcementVolumeAnalytics = (options) => (options?.client ?? client).get({
|
|
114
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
115
|
+
url: '/api/v1/analytics/enforcements/volume',
|
|
116
|
+
...options
|
|
117
|
+
});
|
|
118
|
+
/**
|
|
119
|
+
* Get event volume over time.
|
|
120
|
+
*
|
|
121
|
+
* Returns hourly buckets of event creation counts, aggregated across all triggers.
|
|
122
|
+
*/
|
|
123
|
+
export const getEventVolumeAnalytics = (options) => (options?.client ?? client).get({
|
|
124
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
125
|
+
url: '/api/v1/analytics/events/volume',
|
|
126
|
+
...options
|
|
127
|
+
});
|
|
128
|
+
/**
|
|
129
|
+
* Get the execution failure rate summary.
|
|
130
|
+
*
|
|
131
|
+
* Returns aggregate failure/timeout/completion counts and the failure rate
|
|
132
|
+
* percentage over the requested time range.
|
|
133
|
+
*/
|
|
134
|
+
export const getFailureRateAnalytics = (options) => (options?.client ?? client).get({
|
|
135
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
136
|
+
url: '/api/v1/analytics/executions/failure-rate',
|
|
137
|
+
...options
|
|
138
|
+
});
|
|
139
|
+
/**
|
|
140
|
+
* Get execution status transitions over time.
|
|
141
|
+
*
|
|
142
|
+
* Returns hourly buckets of execution status transitions (e.g., how many
|
|
143
|
+
* executions moved to "completed", "failed", "running" per hour).
|
|
144
|
+
*/
|
|
145
|
+
export const getExecutionStatusAnalytics = (options) => (options?.client ?? client).get({
|
|
146
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
147
|
+
url: '/api/v1/analytics/executions/status',
|
|
148
|
+
...options
|
|
149
|
+
});
|
|
150
|
+
/**
|
|
151
|
+
* Get execution throughput over time.
|
|
152
|
+
*
|
|
153
|
+
* Returns hourly buckets of execution creation counts.
|
|
154
|
+
*/
|
|
155
|
+
export const getExecutionThroughputAnalytics = (options) => (options?.client ?? client).get({
|
|
156
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
157
|
+
url: '/api/v1/analytics/executions/throughput',
|
|
158
|
+
...options
|
|
159
|
+
});
|
|
160
|
+
/**
|
|
161
|
+
* Get worker status transitions over time.
|
|
162
|
+
*
|
|
163
|
+
* Returns hourly buckets of worker status changes (online/offline/draining).
|
|
164
|
+
*/
|
|
165
|
+
export const getWorkerStatusAnalytics = (options) => (options?.client ?? client).get({
|
|
166
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
167
|
+
url: '/api/v1/analytics/workers/status',
|
|
168
|
+
...options
|
|
169
|
+
});
|
|
170
|
+
/**
|
|
171
|
+
* List artifacts with pagination and optional filters
|
|
172
|
+
*/
|
|
173
|
+
export const listArtifacts = (options) => (options?.client ?? client).get({
|
|
174
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
175
|
+
url: '/api/v1/artifacts',
|
|
176
|
+
...options
|
|
177
|
+
});
|
|
178
|
+
/**
|
|
179
|
+
* Create a new artifact
|
|
180
|
+
*/
|
|
181
|
+
export const createArtifact = (options) => (options.client ?? client).post({
|
|
182
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
183
|
+
url: '/api/v1/artifacts',
|
|
184
|
+
...options,
|
|
185
|
+
headers: {
|
|
186
|
+
'Content-Type': 'application/json',
|
|
187
|
+
...options.headers
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
/**
|
|
191
|
+
* Get a single artifact by ref
|
|
192
|
+
*/
|
|
193
|
+
export const getArtifactByRef = (options) => (options.client ?? client).get({
|
|
194
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
195
|
+
url: '/api/v1/artifacts/ref/{ref}',
|
|
196
|
+
...options
|
|
197
|
+
});
|
|
198
|
+
/**
|
|
199
|
+
* Upsert an artifact by ref and allocate a file-backed version in one call.
|
|
200
|
+
*
|
|
201
|
+
* If the artifact doesn't exist, it is created using the supplied metadata.
|
|
202
|
+
* If it already exists, the execution link is updated (if provided).
|
|
203
|
+
* Then a new file-backed version is allocated and the `file_path` is returned.
|
|
204
|
+
*
|
|
205
|
+
* The caller writes the file to `$ATTUNE_ARTIFACTS_DIR/{file_path}` on the
|
|
206
|
+
* shared volume — no HTTP upload needed.
|
|
207
|
+
*/
|
|
208
|
+
export const allocateFileVersionByRef = (options) => (options.client ?? client).post({
|
|
209
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
210
|
+
url: '/api/v1/artifacts/ref/{ref}/versions/file',
|
|
211
|
+
...options,
|
|
212
|
+
headers: {
|
|
213
|
+
'Content-Type': 'application/json',
|
|
214
|
+
...options.headers
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
/**
|
|
218
|
+
* Upload a file version to an artifact identified by ref, creating the artifact if it does not
|
|
219
|
+
* already exist.
|
|
220
|
+
*
|
|
221
|
+
* This is the recommended way for actions to produce versioned file artifacts. The caller
|
|
222
|
+
* provides the artifact ref and file content in a single multipart request. The server:
|
|
223
|
+
*
|
|
224
|
+
* 1. Looks up the artifact by `ref`.
|
|
225
|
+
* 2. If not found, creates it using the metadata fields in the multipart body.
|
|
226
|
+
* 3. If found, optionally updates the `execution` link to the current execution.
|
|
227
|
+
* 4. Uploads the file bytes as a new version (version number is auto-assigned).
|
|
228
|
+
*
|
|
229
|
+
* **Multipart fields:**
|
|
230
|
+
* - `file` (required) — the binary file content
|
|
231
|
+
* - `ref` (required for creation) — artifact reference (ignored if artifact already exists)
|
|
232
|
+
* - `scope` — owner scope: `system`, `pack`, `action`, `sensor`, `rule` (default: `action`)
|
|
233
|
+
* - `owner` — owner identifier (default: empty string)
|
|
234
|
+
* - `type` — artifact type: `file_text`, `file_image`, etc. (default: `file_text`)
|
|
235
|
+
* - `visibility` — `public` or `private` (default: type-aware server default)
|
|
236
|
+
* - `name` — human-readable name
|
|
237
|
+
* - `description` — optional description
|
|
238
|
+
* - `content_type` — MIME type (default: auto-detected from multipart or `application/octet-stream`)
|
|
239
|
+
* - `execution` — execution ID to link this artifact to (updates existing artifacts too)
|
|
240
|
+
* - `retention_policy` — `versions`, `days`, `hours`, `minutes` (default: `versions`)
|
|
241
|
+
* - `retention_limit` — limit value (default: `10`)
|
|
242
|
+
* - `created_by` — who created this version
|
|
243
|
+
* - `meta` — JSON metadata for this version
|
|
244
|
+
*/
|
|
245
|
+
export const uploadVersionByRef = (options) => (options.client ?? client).post({
|
|
246
|
+
...formDataBodySerializer,
|
|
247
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
248
|
+
url: '/api/v1/artifacts/ref/{ref}/versions/upload',
|
|
249
|
+
...options,
|
|
250
|
+
headers: {
|
|
251
|
+
'Content-Type': null,
|
|
252
|
+
...options.headers
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
/**
|
|
256
|
+
* Delete an artifact (cascades to all versions, including disk files)
|
|
257
|
+
*/
|
|
258
|
+
export const deleteArtifact = (options) => (options.client ?? client).delete({
|
|
259
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
260
|
+
url: '/api/v1/artifacts/{id}',
|
|
261
|
+
...options
|
|
262
|
+
});
|
|
263
|
+
/**
|
|
264
|
+
* Get a single artifact by ID
|
|
265
|
+
*/
|
|
266
|
+
export const getArtifact = (options) => (options.client ?? client).get({
|
|
267
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
268
|
+
url: '/api/v1/artifacts/{id}',
|
|
269
|
+
...options
|
|
270
|
+
});
|
|
271
|
+
/**
|
|
272
|
+
* Update an existing artifact
|
|
273
|
+
*/
|
|
274
|
+
export const updateArtifact = (options) => (options.client ?? client).put({
|
|
275
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
276
|
+
url: '/api/v1/artifacts/{id}',
|
|
277
|
+
...options,
|
|
278
|
+
headers: {
|
|
279
|
+
'Content-Type': 'application/json',
|
|
280
|
+
...options.headers
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
/**
|
|
284
|
+
* Set the full data payload on an artifact (replaces existing data).
|
|
285
|
+
*
|
|
286
|
+
* Useful for resetting progress, updating metadata, or setting structured content.
|
|
287
|
+
*/
|
|
288
|
+
export const setArtifactData = (options) => (options.client ?? client).put({
|
|
289
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
290
|
+
url: '/api/v1/artifacts/{id}/data',
|
|
291
|
+
...options,
|
|
292
|
+
headers: {
|
|
293
|
+
'Content-Type': 'application/json',
|
|
294
|
+
...options.headers
|
|
295
|
+
}
|
|
296
|
+
});
|
|
297
|
+
/**
|
|
298
|
+
* Download the latest version's content
|
|
299
|
+
*/
|
|
300
|
+
export const downloadLatest = (options) => (options.client ?? client).get({
|
|
301
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
302
|
+
url: '/api/v1/artifacts/{id}/download',
|
|
303
|
+
...options
|
|
304
|
+
});
|
|
305
|
+
/**
|
|
306
|
+
* Append an entry to a progress-type artifact's data array.
|
|
307
|
+
*
|
|
308
|
+
* The entry is atomically appended to `artifact.data` (initialized as `[]` if null).
|
|
309
|
+
* This is the primary mechanism for actions to stream progress updates.
|
|
310
|
+
*/
|
|
311
|
+
export const appendProgress = (options) => (options.client ?? client).post({
|
|
312
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
313
|
+
url: '/api/v1/artifacts/{id}/progress',
|
|
314
|
+
...options,
|
|
315
|
+
headers: {
|
|
316
|
+
'Content-Type': 'application/json',
|
|
317
|
+
...options.headers
|
|
318
|
+
}
|
|
319
|
+
});
|
|
320
|
+
/**
|
|
321
|
+
* Stream the latest file-backed artifact version as Server-Sent Events.
|
|
322
|
+
*
|
|
323
|
+
* The endpoint:
|
|
324
|
+
* 1. Waits (up to ~30 s) for the file to appear on disk if it has been
|
|
325
|
+
* allocated but not yet written by the worker.
|
|
326
|
+
* 2. Once the file exists it sends the current content as an initial `content`
|
|
327
|
+
* event, then tails the file every 500 ms, sending `append` events with new
|
|
328
|
+
* bytes.
|
|
329
|
+
* 3. When no new bytes have appeared for several consecutive checks **and** the
|
|
330
|
+
* linked execution (if any) has reached a terminal status, it sends a `done`
|
|
331
|
+
* event and the stream ends.
|
|
332
|
+
* 4. If the client disconnects the stream is cleaned up automatically.
|
|
333
|
+
*
|
|
334
|
+
* **Event types** (SSE `event:` field):
|
|
335
|
+
* - `content` – full file content up to the current offset (sent once)
|
|
336
|
+
* - `append` – incremental bytes appended since the last event
|
|
337
|
+
* - `waiting` – file does not exist yet; sent periodically while waiting
|
|
338
|
+
* - `done` – no more data expected; stream will close
|
|
339
|
+
* - `error` – something went wrong; `data` contains a human-readable message
|
|
340
|
+
*/
|
|
341
|
+
export const streamArtifact = (options) => (options.client ?? client).sse.get({ url: '/api/v1/artifacts/{id}/stream', ...options });
|
|
342
|
+
/**
|
|
343
|
+
* List all versions for an artifact (without binary content)
|
|
344
|
+
*/
|
|
345
|
+
export const listVersions = (options) => (options.client ?? client).get({
|
|
346
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
347
|
+
url: '/api/v1/artifacts/{id}/versions',
|
|
348
|
+
...options
|
|
349
|
+
});
|
|
350
|
+
/**
|
|
351
|
+
* Create a new version with JSON content
|
|
352
|
+
*/
|
|
353
|
+
export const createVersionJson = (options) => (options.client ?? client).post({
|
|
354
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
355
|
+
url: '/api/v1/artifacts/{id}/versions',
|
|
356
|
+
...options,
|
|
357
|
+
headers: {
|
|
358
|
+
'Content-Type': 'application/json',
|
|
359
|
+
...options.headers
|
|
360
|
+
}
|
|
361
|
+
});
|
|
362
|
+
/**
|
|
363
|
+
* Create a new file-backed version (no file content in request).
|
|
364
|
+
*
|
|
365
|
+
* This endpoint allocates a version number and computes a `file_path` on the
|
|
366
|
+
* shared artifact volume. The caller (execution process) is expected to write
|
|
367
|
+
* the file content directly to `$ATTUNE_ARTIFACTS_DIR/{file_path}` after
|
|
368
|
+
* receiving the response. The worker finalizes `size_bytes` after execution.
|
|
369
|
+
*
|
|
370
|
+
* Only applicable to file-type artifacts (FileBinary, FileDatatable, FileText, Log).
|
|
371
|
+
*/
|
|
372
|
+
export const createVersionFile = (options) => (options.client ?? client).post({
|
|
373
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
374
|
+
url: '/api/v1/artifacts/{id}/versions/file',
|
|
375
|
+
...options,
|
|
376
|
+
headers: {
|
|
377
|
+
'Content-Type': 'application/json',
|
|
378
|
+
...options.headers
|
|
379
|
+
}
|
|
380
|
+
});
|
|
381
|
+
/**
|
|
382
|
+
* Get the latest version's metadata and JSON content
|
|
383
|
+
*/
|
|
384
|
+
export const getLatestVersion = (options) => (options.client ?? client).get({
|
|
385
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
386
|
+
url: '/api/v1/artifacts/{id}/versions/latest',
|
|
387
|
+
...options
|
|
388
|
+
});
|
|
389
|
+
/**
|
|
390
|
+
* Upload a binary file as a new version (multipart/form-data)
|
|
391
|
+
*
|
|
392
|
+
* The file is sent as a multipart form field named `file`. Optional fields:
|
|
393
|
+
* - `content_type`: MIME type override (auto-detected from filename if omitted)
|
|
394
|
+
* - `meta`: JSON metadata string
|
|
395
|
+
* - `created_by`: Creator identifier
|
|
396
|
+
*/
|
|
397
|
+
export const uploadVersion = (options) => (options.client ?? client).post({
|
|
398
|
+
...formDataBodySerializer,
|
|
399
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
400
|
+
url: '/api/v1/artifacts/{id}/versions/upload',
|
|
401
|
+
...options,
|
|
402
|
+
headers: {
|
|
403
|
+
'Content-Type': null,
|
|
404
|
+
...options.headers
|
|
405
|
+
}
|
|
406
|
+
});
|
|
407
|
+
/**
|
|
408
|
+
* Delete a specific version by version number (including disk file if file-backed)
|
|
409
|
+
*/
|
|
410
|
+
export const deleteVersion = (options) => (options.client ?? client).delete({
|
|
411
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
412
|
+
url: '/api/v1/artifacts/{id}/versions/{version}',
|
|
413
|
+
...options
|
|
414
|
+
});
|
|
415
|
+
/**
|
|
416
|
+
* Get a specific version's metadata and JSON content (no binary)
|
|
417
|
+
*/
|
|
418
|
+
export const getVersion = (options) => (options.client ?? client).get({
|
|
419
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
420
|
+
url: '/api/v1/artifacts/{id}/versions/{version}',
|
|
421
|
+
...options
|
|
422
|
+
});
|
|
423
|
+
/**
|
|
424
|
+
* Download the binary content of a specific version.
|
|
425
|
+
*
|
|
426
|
+
* For file-backed versions, reads from the shared artifact volume on disk.
|
|
427
|
+
* For DB-stored versions, reads from the BYTEA/JSON content column.
|
|
428
|
+
*/
|
|
429
|
+
export const downloadVersion = (options) => (options.client ?? client).get({
|
|
430
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
431
|
+
url: '/api/v1/artifacts/{id}/versions/{version}/download',
|
|
432
|
+
...options
|
|
433
|
+
});
|
|
434
|
+
/**
|
|
435
|
+
* List audit events with optional filters.
|
|
436
|
+
*/
|
|
437
|
+
export const listAuditEvents = (options) => (options?.client ?? client).get({
|
|
438
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
439
|
+
url: '/api/v1/audit-events',
|
|
440
|
+
...options
|
|
441
|
+
});
|
|
442
|
+
/**
|
|
443
|
+
* Get all audit events sharing a request_id (full request lineage).
|
|
444
|
+
*/
|
|
445
|
+
export const getAuditEventsByRequest = (options) => (options.client ?? client).get({
|
|
446
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
447
|
+
url: '/api/v1/audit-events/by-request/{request_id}',
|
|
448
|
+
...options
|
|
449
|
+
});
|
|
450
|
+
/**
|
|
451
|
+
* Get a single audit event by ID.
|
|
452
|
+
*/
|
|
453
|
+
export const getAuditEvent = (options) => (options.client ?? client).get({
|
|
454
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
455
|
+
url: '/api/v1/audit-events/{id}',
|
|
456
|
+
...options
|
|
457
|
+
});
|
|
458
|
+
/**
|
|
459
|
+
* List cache namespaces for one owner scope.
|
|
460
|
+
*/
|
|
461
|
+
export const listNamespaces = (options) => (options.client ?? client).get({
|
|
462
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
463
|
+
url: '/api/v1/cache/namespaces',
|
|
464
|
+
...options
|
|
465
|
+
});
|
|
466
|
+
/**
|
|
467
|
+
* Create a cache namespace.
|
|
468
|
+
*/
|
|
469
|
+
export const createNamespace = (options) => (options.client ?? client).post({
|
|
470
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
471
|
+
url: '/api/v1/cache/namespaces',
|
|
472
|
+
...options,
|
|
473
|
+
headers: {
|
|
474
|
+
'Content-Type': 'application/json',
|
|
475
|
+
...options.headers
|
|
476
|
+
}
|
|
477
|
+
});
|
|
478
|
+
/**
|
|
479
|
+
* Tombstone a cache namespace and queue bounded cleanup.
|
|
480
|
+
*/
|
|
481
|
+
export const deleteNamespace = (options) => (options.client ?? client).delete({
|
|
482
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
483
|
+
url: '/api/v1/cache/namespaces/{namespace}',
|
|
484
|
+
...options
|
|
485
|
+
});
|
|
486
|
+
/**
|
|
487
|
+
* Show cache namespace metadata and health.
|
|
488
|
+
*/
|
|
489
|
+
export const showNamespace = (options) => (options.client ?? client).get({
|
|
490
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
491
|
+
url: '/api/v1/cache/namespaces/{namespace}',
|
|
492
|
+
...options
|
|
493
|
+
});
|
|
494
|
+
/**
|
|
495
|
+
* Update a cache namespace's publication policy.
|
|
496
|
+
*/
|
|
497
|
+
export const updateNamespace = (options) => (options.client ?? client).put({
|
|
498
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
499
|
+
url: '/api/v1/cache/namespaces/{namespace}',
|
|
500
|
+
...options,
|
|
501
|
+
headers: {
|
|
502
|
+
'Content-Type': 'application/json',
|
|
503
|
+
...options.headers
|
|
504
|
+
}
|
|
505
|
+
});
|
|
506
|
+
/**
|
|
507
|
+
* Generation-pinned cursor scan.
|
|
508
|
+
*/
|
|
509
|
+
export const scanEntries = (options) => (options.client ?? client).get({
|
|
510
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
511
|
+
url: '/api/v1/cache/namespaces/{namespace}/entries',
|
|
512
|
+
...options
|
|
513
|
+
});
|
|
514
|
+
/**
|
|
515
|
+
* Point lookup by external id.
|
|
516
|
+
*/
|
|
517
|
+
export const lookupEntry = (options) => (options.client ?? client).post({
|
|
518
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
519
|
+
url: '/api/v1/cache/namespaces/{namespace}/entries/lookup',
|
|
520
|
+
...options,
|
|
521
|
+
headers: {
|
|
522
|
+
'Content-Type': 'application/json',
|
|
523
|
+
...options.headers
|
|
524
|
+
}
|
|
525
|
+
});
|
|
526
|
+
/**
|
|
527
|
+
* Bounded multi-ID lookup.
|
|
528
|
+
*/
|
|
529
|
+
export const lookupEntries = (options) => (options.client ?? client).post({
|
|
530
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
531
|
+
url: '/api/v1/cache/namespaces/{namespace}/entries/lookup-many',
|
|
532
|
+
...options,
|
|
533
|
+
headers: {
|
|
534
|
+
'Content-Type': 'application/json',
|
|
535
|
+
...options.headers
|
|
536
|
+
}
|
|
537
|
+
});
|
|
538
|
+
/**
|
|
539
|
+
* List generations for a namespace.
|
|
540
|
+
*/
|
|
541
|
+
export const listGenerations = (options) => (options.client ?? client).get({
|
|
542
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
543
|
+
url: '/api/v1/cache/namespaces/{namespace}/generations',
|
|
544
|
+
...options
|
|
545
|
+
});
|
|
546
|
+
/**
|
|
547
|
+
* Begin a staging generation.
|
|
548
|
+
*/
|
|
549
|
+
export const createGeneration = (options) => (options.client ?? client).post({
|
|
550
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
551
|
+
url: '/api/v1/cache/namespaces/{namespace}/generations',
|
|
552
|
+
...options,
|
|
553
|
+
headers: {
|
|
554
|
+
'Content-Type': 'application/json',
|
|
555
|
+
...options.headers
|
|
556
|
+
}
|
|
557
|
+
});
|
|
558
|
+
/**
|
|
559
|
+
* Show a single generation.
|
|
560
|
+
*/
|
|
561
|
+
export const showGeneration = (options) => (options.client ?? client).get({
|
|
562
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
563
|
+
url: '/api/v1/cache/namespaces/{namespace}/generations/{generation_id}',
|
|
564
|
+
...options
|
|
565
|
+
});
|
|
566
|
+
/**
|
|
567
|
+
* Abandon a staging or ready generation.
|
|
568
|
+
*/
|
|
569
|
+
export const abandonGeneration = (options) => (options.client ?? client).post({
|
|
570
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
571
|
+
url: '/api/v1/cache/namespaces/{namespace}/generations/{generation_id}/abandon',
|
|
572
|
+
...options,
|
|
573
|
+
headers: {
|
|
574
|
+
'Content-Type': 'application/json',
|
|
575
|
+
...options.headers
|
|
576
|
+
}
|
|
577
|
+
});
|
|
578
|
+
/**
|
|
579
|
+
* Upload a numbered ingest chunk. Idempotent by generation/chunk index and a
|
|
580
|
+
* server-computed request digest.
|
|
581
|
+
*/
|
|
582
|
+
export const uploadChunk = (options) => (options.client ?? client).put({
|
|
583
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
584
|
+
url: '/api/v1/cache/namespaces/{namespace}/generations/{generation_id}/chunks/{chunk_index}',
|
|
585
|
+
...options,
|
|
586
|
+
headers: {
|
|
587
|
+
'Content-Type': 'application/json',
|
|
588
|
+
...options.headers
|
|
589
|
+
}
|
|
590
|
+
});
|
|
591
|
+
/**
|
|
592
|
+
* Atomically promote a ready generation.
|
|
593
|
+
*/
|
|
594
|
+
export const promoteGeneration = (options) => (options.client ?? client).post({
|
|
595
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
596
|
+
url: '/api/v1/cache/namespaces/{namespace}/generations/{generation_id}/promote',
|
|
597
|
+
...options,
|
|
598
|
+
headers: {
|
|
599
|
+
'Content-Type': 'application/json',
|
|
600
|
+
...options.headers
|
|
601
|
+
}
|
|
602
|
+
});
|
|
603
|
+
/**
|
|
604
|
+
* Seal a staging generation into `ready`.
|
|
605
|
+
*/
|
|
606
|
+
export const sealGeneration = (options) => (options.client ?? client).post({
|
|
607
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
608
|
+
url: '/api/v1/cache/namespaces/{namespace}/generations/{generation_id}/seal',
|
|
609
|
+
...options,
|
|
610
|
+
headers: {
|
|
611
|
+
'Content-Type': 'application/json',
|
|
612
|
+
...options.headers
|
|
613
|
+
}
|
|
614
|
+
});
|
|
615
|
+
export const listDashboards = (options) => (options?.client ?? client).get({
|
|
616
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
617
|
+
url: '/api/v1/dashboards',
|
|
618
|
+
...options
|
|
619
|
+
});
|
|
620
|
+
export const createDashboard = (options) => (options.client ?? client).post({
|
|
621
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
622
|
+
url: '/api/v1/dashboards',
|
|
623
|
+
...options,
|
|
624
|
+
headers: {
|
|
625
|
+
'Content-Type': 'application/json',
|
|
626
|
+
...options.headers
|
|
627
|
+
}
|
|
628
|
+
});
|
|
629
|
+
export const previewDashboard = (options) => (options.client ?? client).post({
|
|
630
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
631
|
+
url: '/api/v1/dashboards/preview',
|
|
632
|
+
...options,
|
|
633
|
+
headers: {
|
|
634
|
+
'Content-Type': 'application/json',
|
|
635
|
+
...options.headers
|
|
636
|
+
}
|
|
637
|
+
});
|
|
638
|
+
export const getDashboardSourceCatalog = (options) => (options?.client ?? client).get({
|
|
639
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
640
|
+
url: '/api/v1/dashboards/source-catalog',
|
|
641
|
+
...options
|
|
642
|
+
});
|
|
643
|
+
export const deleteDashboard = (options) => (options.client ?? client).delete({
|
|
644
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
645
|
+
url: '/api/v1/dashboards/{ref}',
|
|
646
|
+
...options
|
|
647
|
+
});
|
|
648
|
+
export const getDashboard = (options) => (options.client ?? client).get({
|
|
649
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
650
|
+
url: '/api/v1/dashboards/{ref}',
|
|
651
|
+
...options
|
|
652
|
+
});
|
|
653
|
+
export const updateDashboard = (options) => (options.client ?? client).put({
|
|
654
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
655
|
+
url: '/api/v1/dashboards/{ref}',
|
|
656
|
+
...options,
|
|
657
|
+
headers: {
|
|
658
|
+
'Content-Type': 'application/json',
|
|
659
|
+
...options.headers
|
|
660
|
+
}
|
|
661
|
+
});
|
|
662
|
+
export const cloneDashboard = (options) => (options.client ?? client).post({
|
|
663
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
664
|
+
url: '/api/v1/dashboards/{ref}/clone',
|
|
665
|
+
...options,
|
|
666
|
+
headers: {
|
|
667
|
+
'Content-Type': 'application/json',
|
|
668
|
+
...options.headers
|
|
669
|
+
}
|
|
670
|
+
});
|
|
671
|
+
export const getDashboardData = (options) => (options.client ?? client).post({
|
|
672
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
673
|
+
url: '/api/v1/dashboards/{ref}/data',
|
|
674
|
+
...options,
|
|
675
|
+
headers: {
|
|
676
|
+
'Content-Type': 'application/json',
|
|
677
|
+
...options.headers
|
|
678
|
+
}
|
|
679
|
+
});
|
|
680
|
+
/**
|
|
681
|
+
* List all enforcements with pagination and optional filters
|
|
682
|
+
*/
|
|
683
|
+
export const listEnforcements = (options) => (options?.client ?? client).get({
|
|
684
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
685
|
+
url: '/api/v1/enforcements',
|
|
686
|
+
...options
|
|
687
|
+
});
|
|
688
|
+
/**
|
|
689
|
+
* List executions by enforcement ID
|
|
690
|
+
*/
|
|
691
|
+
export const listExecutionsByEnforcement = (options) => (options.client ?? client).get({
|
|
692
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
693
|
+
url: '/api/v1/enforcements/{enforcement_id}/executions',
|
|
694
|
+
...options
|
|
695
|
+
});
|
|
696
|
+
/**
|
|
697
|
+
* Get a single enforcement by ID
|
|
698
|
+
*/
|
|
699
|
+
export const getEnforcement = (options) => (options.client ?? client).get({
|
|
700
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
701
|
+
url: '/api/v1/enforcements/{id}',
|
|
702
|
+
...options
|
|
703
|
+
});
|
|
704
|
+
/**
|
|
705
|
+
* List all events with pagination and optional filters
|
|
706
|
+
*/
|
|
707
|
+
export const listEvents = (options) => (options?.client ?? client).get({
|
|
708
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
709
|
+
url: '/api/v1/events',
|
|
710
|
+
...options
|
|
711
|
+
});
|
|
712
|
+
/**
|
|
713
|
+
* Create a new event
|
|
714
|
+
*/
|
|
715
|
+
export const createEvent = (options) => (options.client ?? client).post({
|
|
716
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
717
|
+
url: '/api/v1/events',
|
|
718
|
+
...options,
|
|
719
|
+
headers: {
|
|
720
|
+
'Content-Type': 'application/json',
|
|
721
|
+
...options.headers
|
|
722
|
+
}
|
|
723
|
+
});
|
|
724
|
+
/**
|
|
725
|
+
* Get a single event by ID
|
|
726
|
+
*/
|
|
727
|
+
export const getEvent = (options) => (options.client ?? client).get({
|
|
728
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
729
|
+
url: '/api/v1/events/{id}',
|
|
730
|
+
...options
|
|
731
|
+
});
|
|
732
|
+
/**
|
|
733
|
+
* List all executions with pagination and optional filters
|
|
734
|
+
*/
|
|
735
|
+
export const listExecutions = (options) => (options?.client ?? client).get({
|
|
736
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
737
|
+
url: '/api/v1/executions',
|
|
738
|
+
...options
|
|
739
|
+
});
|
|
740
|
+
/**
|
|
741
|
+
* Create a new execution (manual execution)
|
|
742
|
+
*
|
|
743
|
+
* This endpoint allows directly executing an action without a trigger or rule.
|
|
744
|
+
* The execution is queued and will be picked up by the executor service.
|
|
745
|
+
*/
|
|
746
|
+
export const createExecution = (options) => (options.client ?? client).post({
|
|
747
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
748
|
+
url: '/api/v1/executions/execute',
|
|
749
|
+
...options,
|
|
750
|
+
headers: {
|
|
751
|
+
'Content-Type': 'application/json',
|
|
752
|
+
...options.headers
|
|
753
|
+
}
|
|
754
|
+
});
|
|
755
|
+
/**
|
|
756
|
+
* Get execution statistics
|
|
757
|
+
*/
|
|
758
|
+
export const getExecutionStats = (options) => (options?.client ?? client).get({
|
|
759
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
760
|
+
url: '/api/v1/executions/stats',
|
|
761
|
+
...options
|
|
762
|
+
});
|
|
763
|
+
/**
|
|
764
|
+
* List executions by status
|
|
765
|
+
*/
|
|
766
|
+
export const listExecutionsByStatus = (options) => (options.client ?? client).get({
|
|
767
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
768
|
+
url: '/api/v1/executions/status/{status}',
|
|
769
|
+
...options
|
|
770
|
+
});
|
|
771
|
+
/**
|
|
772
|
+
* Create execution routes
|
|
773
|
+
* Stream execution updates via Server-Sent Events
|
|
774
|
+
*
|
|
775
|
+
* This endpoint streams real-time updates for execution status changes.
|
|
776
|
+
* Optionally filter by execution_id to watch a specific execution.
|
|
777
|
+
*
|
|
778
|
+
*
|
|
779
|
+
*/
|
|
780
|
+
export const streamExecutionUpdates = (options) => (options?.client ?? client).sse.get({ url: '/api/v1/executions/stream', ...options });
|
|
781
|
+
/**
|
|
782
|
+
* List all artifacts for a given execution
|
|
783
|
+
*/
|
|
784
|
+
export const listArtifactsByExecution = (options) => (options.client ?? client).get({
|
|
785
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
786
|
+
url: '/api/v1/executions/{execution_id}/artifacts',
|
|
787
|
+
...options
|
|
788
|
+
});
|
|
789
|
+
/**
|
|
790
|
+
* List inquiries for a specific execution
|
|
791
|
+
*/
|
|
792
|
+
export const listInquiriesByExecution = (options) => (options.client ?? client).get({
|
|
793
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
794
|
+
url: '/api/v1/executions/{execution_id}/inquiries',
|
|
795
|
+
...options
|
|
796
|
+
});
|
|
797
|
+
/**
|
|
798
|
+
* Get a single execution by ID
|
|
799
|
+
*/
|
|
800
|
+
export const getExecution = (options) => (options.client ?? client).get({
|
|
801
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
802
|
+
url: '/api/v1/executions/{id}',
|
|
803
|
+
...options
|
|
804
|
+
});
|
|
805
|
+
/**
|
|
806
|
+
* Cancel a running execution
|
|
807
|
+
*
|
|
808
|
+
* This endpoint requests cancellation of an execution. The execution must be in a
|
|
809
|
+
* cancellable state (requested, scheduling, scheduled, running, or canceling).
|
|
810
|
+
* For running executions, the worker will send SIGINT to the process, then SIGTERM
|
|
811
|
+
* after a 10-second grace period if it hasn't stopped.
|
|
812
|
+
*
|
|
813
|
+
* **Workflow cascading**: When a workflow (parent) execution is cancelled, all of
|
|
814
|
+
* its incomplete child task executions are also cancelled. Children that haven't
|
|
815
|
+
* reached a worker yet are set to Cancelled immediately; children that are running
|
|
816
|
+
* receive a cancel MQ message so their worker can gracefully stop the process.
|
|
817
|
+
* The workflow_execution record is also marked as Cancelled to prevent the
|
|
818
|
+
* scheduler from dispatching any further tasks.
|
|
819
|
+
*/
|
|
820
|
+
export const cancelExecution = (options) => (options.client ?? client).post({
|
|
821
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
822
|
+
url: '/api/v1/executions/{id}/cancel',
|
|
823
|
+
...options
|
|
824
|
+
});
|
|
825
|
+
/**
|
|
826
|
+
* Get history for a specific execution by ID.
|
|
827
|
+
*
|
|
828
|
+
* Returns all change records for the given execution, ordered by time descending.
|
|
829
|
+
*/
|
|
830
|
+
export const getExecutionHistory = (options) => (options.client ?? client).get({
|
|
831
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
832
|
+
url: '/api/v1/executions/{id}/history',
|
|
833
|
+
...options
|
|
834
|
+
});
|
|
835
|
+
/**
|
|
836
|
+
* Stream stdout/stderr for an execution as SSE.
|
|
837
|
+
*
|
|
838
|
+
* This tails the worker's live log files directly from the shared artifacts
|
|
839
|
+
* volume. The file may not exist yet when the worker has not emitted any
|
|
840
|
+
* output, so the stream waits briefly for it to appear.
|
|
841
|
+
*/
|
|
842
|
+
export const streamExecutionLog = (options) => (options.client ?? client).sse.get({ url: '/api/v1/executions/{id}/logs/{stream}/stream', ...options });
|
|
843
|
+
/**
|
|
844
|
+
* Republish a Requested execution's scheduler message.
|
|
845
|
+
*
|
|
846
|
+
* This is a recovery control for executions that are still `requested` after
|
|
847
|
+
* their original `ExecutionRequested` message may have been consumed during a
|
|
848
|
+
* transient scheduler failure. It does not restart running work.
|
|
849
|
+
*/
|
|
850
|
+
export const rescheduleExecution = (options) => (options.client ?? client).post({
|
|
851
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
852
|
+
url: '/api/v1/executions/{id}/reschedule',
|
|
853
|
+
...options
|
|
854
|
+
});
|
|
855
|
+
/**
|
|
856
|
+
* List safe workflow cache iteration status for an execution.
|
|
857
|
+
*/
|
|
858
|
+
export const listWorkflowCacheIterations = (options) => (options.client ?? client).get({
|
|
859
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
860
|
+
url: '/api/v1/executions/{id}/workflow-cache-iterations',
|
|
861
|
+
...options
|
|
862
|
+
});
|
|
863
|
+
/**
|
|
864
|
+
* List history records for a given entity type.
|
|
865
|
+
*
|
|
866
|
+
* Supported entity types: `execution`, `worker`.
|
|
867
|
+
* Returns a paginated list of change records ordered by time descending.
|
|
868
|
+
*/
|
|
869
|
+
export const listEntityHistory = (options) => (options.client ?? client).get({
|
|
870
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
871
|
+
url: '/api/v1/history/{entity_type}',
|
|
872
|
+
...options
|
|
873
|
+
});
|
|
874
|
+
export const listIdentities = (options) => (options?.client ?? client).get({
|
|
875
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
876
|
+
url: '/api/v1/identities',
|
|
877
|
+
...options
|
|
878
|
+
});
|
|
879
|
+
export const createIdentity = (options) => (options.client ?? client).post({
|
|
880
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
881
|
+
url: '/api/v1/identities',
|
|
882
|
+
...options,
|
|
883
|
+
headers: {
|
|
884
|
+
'Content-Type': 'application/json',
|
|
885
|
+
...options.headers
|
|
886
|
+
}
|
|
887
|
+
});
|
|
888
|
+
export const deleteIdentityRoleAssignment = (options) => (options.client ?? client).delete({
|
|
889
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
890
|
+
url: '/api/v1/identities/roles/{id}',
|
|
891
|
+
...options
|
|
892
|
+
});
|
|
893
|
+
export const deleteIdentity = (options) => (options.client ?? client).delete({
|
|
894
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
895
|
+
url: '/api/v1/identities/{id}',
|
|
896
|
+
...options
|
|
897
|
+
});
|
|
898
|
+
export const getIdentity = (options) => (options.client ?? client).get({
|
|
899
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
900
|
+
url: '/api/v1/identities/{id}',
|
|
901
|
+
...options
|
|
902
|
+
});
|
|
903
|
+
export const updateIdentity = (options) => (options.client ?? client).put({
|
|
904
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
905
|
+
url: '/api/v1/identities/{id}',
|
|
906
|
+
...options,
|
|
907
|
+
headers: {
|
|
908
|
+
'Content-Type': 'application/json',
|
|
909
|
+
...options.headers
|
|
910
|
+
}
|
|
911
|
+
});
|
|
912
|
+
export const freezeIdentity = (options) => (options.client ?? client).post({
|
|
913
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
914
|
+
url: '/api/v1/identities/{id}/freeze',
|
|
915
|
+
...options
|
|
916
|
+
});
|
|
917
|
+
export const listIntegrationTokens = (options) => (options.client ?? client).get({
|
|
918
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
919
|
+
url: '/api/v1/identities/{id}/integration-tokens',
|
|
920
|
+
...options
|
|
921
|
+
});
|
|
922
|
+
export const createIntegrationToken = (options) => (options.client ?? client).post({
|
|
923
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
924
|
+
url: '/api/v1/identities/{id}/integration-tokens',
|
|
925
|
+
...options,
|
|
926
|
+
headers: {
|
|
927
|
+
'Content-Type': 'application/json',
|
|
928
|
+
...options.headers
|
|
929
|
+
}
|
|
930
|
+
});
|
|
931
|
+
export const deleteIntegrationToken = (options) => (options.client ?? client).delete({
|
|
932
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
933
|
+
url: '/api/v1/identities/{id}/integration-tokens/{token_id}',
|
|
934
|
+
...options
|
|
935
|
+
});
|
|
936
|
+
export const revokeIntegrationToken = (options) => (options.client ?? client).post({
|
|
937
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
938
|
+
url: '/api/v1/identities/{id}/integration-tokens/{token_id}/revoke',
|
|
939
|
+
...options,
|
|
940
|
+
headers: {
|
|
941
|
+
'Content-Type': 'application/json',
|
|
942
|
+
...options.headers
|
|
943
|
+
}
|
|
944
|
+
});
|
|
945
|
+
export const listIdentityPermissions = (options) => (options.client ?? client).get({
|
|
946
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
947
|
+
url: '/api/v1/identities/{id}/permissions',
|
|
948
|
+
...options
|
|
949
|
+
});
|
|
950
|
+
export const createIdentityRoleAssignment = (options) => (options.client ?? client).post({
|
|
951
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
952
|
+
url: '/api/v1/identities/{id}/roles',
|
|
953
|
+
...options,
|
|
954
|
+
headers: {
|
|
955
|
+
'Content-Type': 'application/json',
|
|
956
|
+
...options.headers
|
|
957
|
+
}
|
|
958
|
+
});
|
|
959
|
+
export const unfreezeIdentity = (options) => (options.client ?? client).post({
|
|
960
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
961
|
+
url: '/api/v1/identities/{id}/unfreeze',
|
|
962
|
+
...options
|
|
963
|
+
});
|
|
964
|
+
/**
|
|
965
|
+
* List all inquiries with pagination and optional filters
|
|
966
|
+
*/
|
|
967
|
+
export const listInquiries = (options) => (options?.client ?? client).get({
|
|
968
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
969
|
+
url: '/api/v1/inquiries',
|
|
970
|
+
...options
|
|
971
|
+
});
|
|
972
|
+
/**
|
|
973
|
+
* Create a new inquiry
|
|
974
|
+
*/
|
|
975
|
+
export const createInquiry = (options) => (options.client ?? client).post({
|
|
976
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
977
|
+
url: '/api/v1/inquiries',
|
|
978
|
+
...options,
|
|
979
|
+
headers: {
|
|
980
|
+
'Content-Type': 'application/json',
|
|
981
|
+
...options.headers
|
|
982
|
+
}
|
|
983
|
+
});
|
|
984
|
+
/**
|
|
985
|
+
* List inquiries by status
|
|
986
|
+
*/
|
|
987
|
+
export const listInquiriesByStatus = (options) => (options.client ?? client).get({
|
|
988
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
989
|
+
url: '/api/v1/inquiries/status/{status}',
|
|
990
|
+
...options
|
|
991
|
+
});
|
|
992
|
+
/**
|
|
993
|
+
* Delete an inquiry
|
|
994
|
+
*/
|
|
995
|
+
export const deleteInquiry = (options) => (options.client ?? client).delete({
|
|
996
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
997
|
+
url: '/api/v1/inquiries/{id}',
|
|
998
|
+
...options
|
|
999
|
+
});
|
|
1000
|
+
/**
|
|
1001
|
+
* Get a single inquiry by ID
|
|
1002
|
+
*/
|
|
1003
|
+
export const getInquiry = (options) => (options.client ?? client).get({
|
|
1004
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1005
|
+
url: '/api/v1/inquiries/{id}',
|
|
1006
|
+
...options
|
|
1007
|
+
});
|
|
1008
|
+
/**
|
|
1009
|
+
* Update an existing inquiry
|
|
1010
|
+
*/
|
|
1011
|
+
export const updateInquiry = (options) => (options.client ?? client).put({
|
|
1012
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1013
|
+
url: '/api/v1/inquiries/{id}',
|
|
1014
|
+
...options,
|
|
1015
|
+
headers: {
|
|
1016
|
+
'Content-Type': 'application/json',
|
|
1017
|
+
...options.headers
|
|
1018
|
+
}
|
|
1019
|
+
});
|
|
1020
|
+
/**
|
|
1021
|
+
* Respond to an inquiry (user-facing endpoint)
|
|
1022
|
+
*/
|
|
1023
|
+
export const respondToInquiry = (options) => (options.client ?? client).post({
|
|
1024
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1025
|
+
url: '/api/v1/inquiries/{id}/respond',
|
|
1026
|
+
...options,
|
|
1027
|
+
headers: {
|
|
1028
|
+
'Content-Type': 'application/json',
|
|
1029
|
+
...options.headers
|
|
1030
|
+
}
|
|
1031
|
+
});
|
|
1032
|
+
/**
|
|
1033
|
+
* Wrapper to avoid conflict with the `delete` import from axum::routing
|
|
1034
|
+
*/
|
|
1035
|
+
export const deleteFileHandler = (options) => (options.client ?? client).delete({
|
|
1036
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1037
|
+
url: '/api/v1/internal/files/{file_path}',
|
|
1038
|
+
...options
|
|
1039
|
+
});
|
|
1040
|
+
/**
|
|
1041
|
+
* Download file content at the given path.
|
|
1042
|
+
*/
|
|
1043
|
+
export const downloadFile = (options) => (options.client ?? client).get({
|
|
1044
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1045
|
+
url: '/api/v1/internal/files/{file_path}',
|
|
1046
|
+
...options
|
|
1047
|
+
});
|
|
1048
|
+
/**
|
|
1049
|
+
* Check file existence and return size via HEAD request.
|
|
1050
|
+
*/
|
|
1051
|
+
export const checkFile = (options) => (options.client ?? client).head({
|
|
1052
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1053
|
+
url: '/api/v1/internal/files/{file_path}',
|
|
1054
|
+
...options
|
|
1055
|
+
});
|
|
1056
|
+
/**
|
|
1057
|
+
* Append content to an existing file (or create it).
|
|
1058
|
+
*
|
|
1059
|
+
* Used for streaming log writes — workers send periodic chunks.
|
|
1060
|
+
*/
|
|
1061
|
+
export const appendToFile = (options) => (options.client ?? client).patch({
|
|
1062
|
+
bodySerializer: null,
|
|
1063
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1064
|
+
url: '/api/v1/internal/files/{file_path}',
|
|
1065
|
+
...options,
|
|
1066
|
+
headers: {
|
|
1067
|
+
'Content-Type': 'application/octet-stream',
|
|
1068
|
+
...options.headers
|
|
1069
|
+
}
|
|
1070
|
+
});
|
|
1071
|
+
/**
|
|
1072
|
+
* Upload or overwrite a file at the given path.
|
|
1073
|
+
*
|
|
1074
|
+
* The request body is the raw file content.
|
|
1075
|
+
* Content-Type header is stored alongside the file if needed.
|
|
1076
|
+
*/
|
|
1077
|
+
export const uploadFile = (options) => (options.client ?? client).put({
|
|
1078
|
+
bodySerializer: null,
|
|
1079
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1080
|
+
url: '/api/v1/internal/files/{file_path}',
|
|
1081
|
+
...options,
|
|
1082
|
+
headers: {
|
|
1083
|
+
'Content-Type': 'application/octet-stream',
|
|
1084
|
+
...options.headers
|
|
1085
|
+
}
|
|
1086
|
+
});
|
|
1087
|
+
/**
|
|
1088
|
+
* Stream the staged candidate for a pending pack-install test.
|
|
1089
|
+
*/
|
|
1090
|
+
export const downloadPackInstallCandidateArchive = (options) => (options.client ?? client).get({
|
|
1091
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1092
|
+
url: '/api/v1/internal/pack-installs/{pack_install_id}/archive',
|
|
1093
|
+
...options
|
|
1094
|
+
});
|
|
1095
|
+
/**
|
|
1096
|
+
* Stream a pack directory as a `.tar.gz` archive.
|
|
1097
|
+
*
|
|
1098
|
+
* Used by remote workers/sensors to download pack contents when they
|
|
1099
|
+
* don't share a mounted volume with the API.
|
|
1100
|
+
*/
|
|
1101
|
+
export const downloadPackArchive = (options) => (options.client ?? client).get({
|
|
1102
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1103
|
+
url: '/api/v1/internal/packs/{pack_ref}/archive',
|
|
1104
|
+
...options
|
|
1105
|
+
});
|
|
1106
|
+
/**
|
|
1107
|
+
* List all keys with pagination and optional filters (values redacted)
|
|
1108
|
+
*/
|
|
1109
|
+
export const listKeys = (options) => (options?.client ?? client).get({
|
|
1110
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1111
|
+
url: '/api/v1/keys',
|
|
1112
|
+
...options
|
|
1113
|
+
});
|
|
1114
|
+
/**
|
|
1115
|
+
* Create a new key/secret
|
|
1116
|
+
*/
|
|
1117
|
+
export const createKey = (options) => (options.client ?? client).post({
|
|
1118
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1119
|
+
url: '/api/v1/keys',
|
|
1120
|
+
...options,
|
|
1121
|
+
headers: {
|
|
1122
|
+
'Content-Type': 'application/json',
|
|
1123
|
+
...options.headers
|
|
1124
|
+
}
|
|
1125
|
+
});
|
|
1126
|
+
/**
|
|
1127
|
+
* Delete a key/secret
|
|
1128
|
+
*/
|
|
1129
|
+
export const deleteKey = (options) => (options.client ?? client).delete({
|
|
1130
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1131
|
+
url: '/api/v1/keys/{ref}',
|
|
1132
|
+
...options
|
|
1133
|
+
});
|
|
1134
|
+
/**
|
|
1135
|
+
* Get a single key by reference (includes decrypted value)
|
|
1136
|
+
*/
|
|
1137
|
+
export const getKey = (options) => (options.client ?? client).get({
|
|
1138
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1139
|
+
url: '/api/v1/keys/{ref}',
|
|
1140
|
+
...options
|
|
1141
|
+
});
|
|
1142
|
+
/**
|
|
1143
|
+
* Update an existing key/secret
|
|
1144
|
+
*/
|
|
1145
|
+
export const updateKey = (options) => (options.client ?? client).put({
|
|
1146
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1147
|
+
url: '/api/v1/keys/{ref}',
|
|
1148
|
+
...options,
|
|
1149
|
+
headers: {
|
|
1150
|
+
'Content-Type': 'application/json',
|
|
1151
|
+
...options.headers
|
|
1152
|
+
}
|
|
1153
|
+
});
|
|
1154
|
+
export const listPackIndices = (options) => (options?.client ?? client).get({
|
|
1155
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1156
|
+
url: '/api/v1/pack-indices',
|
|
1157
|
+
...options
|
|
1158
|
+
});
|
|
1159
|
+
export const createPackIndex = (options) => (options.client ?? client).post({
|
|
1160
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1161
|
+
url: '/api/v1/pack-indices',
|
|
1162
|
+
...options,
|
|
1163
|
+
headers: {
|
|
1164
|
+
'Content-Type': 'application/json',
|
|
1165
|
+
...options.headers
|
|
1166
|
+
}
|
|
1167
|
+
});
|
|
1168
|
+
export const browseIndexedPacks = (options) => (options?.client ?? client).get({
|
|
1169
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1170
|
+
url: '/api/v1/pack-indices/packs',
|
|
1171
|
+
...options
|
|
1172
|
+
});
|
|
1173
|
+
export const getIndexedPack = (options) => (options.client ?? client).get({
|
|
1174
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1175
|
+
url: '/api/v1/pack-indices/packs/{ref}',
|
|
1176
|
+
...options
|
|
1177
|
+
});
|
|
1178
|
+
export const deletePackIndex = (options) => (options.client ?? client).delete({
|
|
1179
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1180
|
+
url: '/api/v1/pack-indices/{id}',
|
|
1181
|
+
...options
|
|
1182
|
+
});
|
|
1183
|
+
export const updatePackIndex = (options) => (options.client ?? client).put({
|
|
1184
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1185
|
+
url: '/api/v1/pack-indices/{id}',
|
|
1186
|
+
...options,
|
|
1187
|
+
headers: {
|
|
1188
|
+
'Content-Type': 'application/json',
|
|
1189
|
+
...options.headers
|
|
1190
|
+
}
|
|
1191
|
+
});
|
|
1192
|
+
/**
|
|
1193
|
+
* List all packs with pagination
|
|
1194
|
+
*/
|
|
1195
|
+
export const listPacks = (options) => (options?.client ?? client).get({
|
|
1196
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1197
|
+
url: '/api/v1/packs',
|
|
1198
|
+
...options
|
|
1199
|
+
});
|
|
1200
|
+
/**
|
|
1201
|
+
* Create a new pack
|
|
1202
|
+
*/
|
|
1203
|
+
export const createPack = (options) => (options.client ?? client).post({
|
|
1204
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1205
|
+
url: '/api/v1/packs',
|
|
1206
|
+
...options,
|
|
1207
|
+
headers: {
|
|
1208
|
+
'Content-Type': 'application/json',
|
|
1209
|
+
...options.headers
|
|
1210
|
+
}
|
|
1211
|
+
});
|
|
1212
|
+
/**
|
|
1213
|
+
* Build pack environments
|
|
1214
|
+
*/
|
|
1215
|
+
export const buildPackEnvs = (options) => (options.client ?? client).post({
|
|
1216
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1217
|
+
url: '/api/v1/packs/build-envs',
|
|
1218
|
+
...options,
|
|
1219
|
+
headers: {
|
|
1220
|
+
'Content-Type': 'application/json',
|
|
1221
|
+
...options.headers
|
|
1222
|
+
}
|
|
1223
|
+
});
|
|
1224
|
+
/**
|
|
1225
|
+
* Get pack dependencies
|
|
1226
|
+
*/
|
|
1227
|
+
export const getPackDependencies = (options) => (options.client ?? client).post({
|
|
1228
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1229
|
+
url: '/api/v1/packs/dependencies',
|
|
1230
|
+
...options,
|
|
1231
|
+
headers: {
|
|
1232
|
+
'Content-Type': 'application/json',
|
|
1233
|
+
...options.headers
|
|
1234
|
+
}
|
|
1235
|
+
});
|
|
1236
|
+
/**
|
|
1237
|
+
* Create pack routes
|
|
1238
|
+
*
|
|
1239
|
+
* Note: Nested resource routes (e.g., /packs/:ref/actions) are defined
|
|
1240
|
+
* in their respective modules (actions.rs, triggers.rs, rules.rs) to avoid
|
|
1241
|
+
* route conflicts and maintain proper separation of concerns.
|
|
1242
|
+
* Download packs from various sources
|
|
1243
|
+
*/
|
|
1244
|
+
export const downloadPacks = (options) => (options.client ?? client).post({
|
|
1245
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1246
|
+
url: '/api/v1/packs/download',
|
|
1247
|
+
...options,
|
|
1248
|
+
headers: {
|
|
1249
|
+
'Content-Type': 'application/json',
|
|
1250
|
+
...options.headers
|
|
1251
|
+
}
|
|
1252
|
+
});
|
|
1253
|
+
/**
|
|
1254
|
+
* Install a pack from a Git, archive, local, or managed-registry source.
|
|
1255
|
+
*/
|
|
1256
|
+
export const installPack = (options) => (options.client ?? client).post({
|
|
1257
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1258
|
+
url: '/api/v1/packs/install',
|
|
1259
|
+
...options,
|
|
1260
|
+
headers: {
|
|
1261
|
+
'Content-Type': 'application/json',
|
|
1262
|
+
...options.headers
|
|
1263
|
+
}
|
|
1264
|
+
});
|
|
1265
|
+
/**
|
|
1266
|
+
* Get the status of a specific pack install record.
|
|
1267
|
+
*/
|
|
1268
|
+
export const getPackInstall = (options) => (options.client ?? client).get({
|
|
1269
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1270
|
+
url: '/api/v1/packs/install/{id}',
|
|
1271
|
+
...options
|
|
1272
|
+
});
|
|
1273
|
+
/**
|
|
1274
|
+
* Register a pack from local filesystem
|
|
1275
|
+
*/
|
|
1276
|
+
export const registerPack = (options) => (options.client ?? client).post({
|
|
1277
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1278
|
+
url: '/api/v1/packs/register',
|
|
1279
|
+
...options,
|
|
1280
|
+
headers: {
|
|
1281
|
+
'Content-Type': 'application/json',
|
|
1282
|
+
...options.headers
|
|
1283
|
+
}
|
|
1284
|
+
});
|
|
1285
|
+
/**
|
|
1286
|
+
* Register multiple packs
|
|
1287
|
+
*/
|
|
1288
|
+
export const registerPacksBatch = (options) => (options.client ?? client).post({
|
|
1289
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1290
|
+
url: '/api/v1/packs/register-batch',
|
|
1291
|
+
...options,
|
|
1292
|
+
headers: {
|
|
1293
|
+
'Content-Type': 'application/json',
|
|
1294
|
+
...options.headers
|
|
1295
|
+
}
|
|
1296
|
+
});
|
|
1297
|
+
/**
|
|
1298
|
+
* Get a single pack test execution by ID
|
|
1299
|
+
*/
|
|
1300
|
+
export const getPackTest = (options) => (options.client ?? client).get({
|
|
1301
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1302
|
+
url: '/api/v1/packs/tests/{id}',
|
|
1303
|
+
...options
|
|
1304
|
+
});
|
|
1305
|
+
/**
|
|
1306
|
+
* Upload and register a pack from a tar.gz archive (multipart/form-data)
|
|
1307
|
+
*
|
|
1308
|
+
* The archive should be a gzipped tar containing the pack directory at its root
|
|
1309
|
+
* (i.e. the archive should unpack to files like `pack.yaml`, `actions/`, etc.).
|
|
1310
|
+
* The multipart field name must be `pack`.
|
|
1311
|
+
*
|
|
1312
|
+
* Optional form fields:
|
|
1313
|
+
* - `force`: `"true"` to overwrite an existing pack with the same ref
|
|
1314
|
+
* - `skip_tests`: `"true"` to skip test execution after registration
|
|
1315
|
+
*/
|
|
1316
|
+
export const uploadPack = (options) => (options.client ?? client).post({
|
|
1317
|
+
...formDataBodySerializer,
|
|
1318
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1319
|
+
url: '/api/v1/packs/upload',
|
|
1320
|
+
...options,
|
|
1321
|
+
headers: {
|
|
1322
|
+
'Content-Type': null,
|
|
1323
|
+
...options.headers
|
|
1324
|
+
}
|
|
1325
|
+
});
|
|
1326
|
+
/**
|
|
1327
|
+
* List actions by pack reference
|
|
1328
|
+
*/
|
|
1329
|
+
export const listActionsByPack = (options) => (options.client ?? client).get({
|
|
1330
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1331
|
+
url: '/api/v1/packs/{pack_ref}/actions',
|
|
1332
|
+
...options
|
|
1333
|
+
});
|
|
1334
|
+
export const listPoliciesByPack = (options) => (options.client ?? client).get({
|
|
1335
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1336
|
+
url: '/api/v1/packs/{pack_ref}/policies',
|
|
1337
|
+
...options
|
|
1338
|
+
});
|
|
1339
|
+
export const listQueuesByPack = (options) => (options.client ?? client).get({
|
|
1340
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1341
|
+
url: '/api/v1/packs/{pack_ref}/queues',
|
|
1342
|
+
...options
|
|
1343
|
+
});
|
|
1344
|
+
/**
|
|
1345
|
+
* List rules by pack reference
|
|
1346
|
+
*/
|
|
1347
|
+
export const listRulesByPack = (options) => (options.client ?? client).get({ url: '/api/v1/packs/{pack_ref}/rules', ...options });
|
|
1348
|
+
export const listRuntimesByPack = (options) => (options.client ?? client).get({
|
|
1349
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1350
|
+
url: '/api/v1/packs/{pack_ref}/runtimes',
|
|
1351
|
+
...options
|
|
1352
|
+
});
|
|
1353
|
+
/**
|
|
1354
|
+
* List sensors by pack reference
|
|
1355
|
+
*/
|
|
1356
|
+
export const listSensorsByPack = (options) => (options.client ?? client).get({ url: '/api/v1/packs/{pack_ref}/sensors', ...options });
|
|
1357
|
+
/**
|
|
1358
|
+
* List triggers by pack reference
|
|
1359
|
+
*/
|
|
1360
|
+
export const listTriggersByPack = (options) => (options.client ?? client).get({ url: '/api/v1/packs/{pack_ref}/triggers', ...options });
|
|
1361
|
+
/**
|
|
1362
|
+
* Save a workflow file to disk and sync it to the database
|
|
1363
|
+
*
|
|
1364
|
+
* Writes a `{name}.workflow.yaml` file to `{packs_base_dir}/{pack_ref}/actions/workflows/`
|
|
1365
|
+
* and creates or updates the corresponding workflow_definition record in the database.
|
|
1366
|
+
* Also creates a companion action record so the workflow appears in action lists and palettes.
|
|
1367
|
+
*/
|
|
1368
|
+
export const saveWorkflowFile = (options) => (options.client ?? client).post({
|
|
1369
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1370
|
+
url: '/api/v1/packs/{pack_ref}/workflow-files',
|
|
1371
|
+
...options,
|
|
1372
|
+
headers: {
|
|
1373
|
+
'Content-Type': 'application/json',
|
|
1374
|
+
...options.headers
|
|
1375
|
+
}
|
|
1376
|
+
});
|
|
1377
|
+
/**
|
|
1378
|
+
* List workflows by pack reference
|
|
1379
|
+
*/
|
|
1380
|
+
export const listWorkflowsByPack = (options) => (options.client ?? client).get({
|
|
1381
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1382
|
+
url: '/api/v1/packs/{pack_ref}/workflows',
|
|
1383
|
+
...options
|
|
1384
|
+
});
|
|
1385
|
+
/**
|
|
1386
|
+
* Delete a pack
|
|
1387
|
+
*/
|
|
1388
|
+
export const deletePack = (options) => (options.client ?? client).delete({
|
|
1389
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1390
|
+
url: '/api/v1/packs/{ref}',
|
|
1391
|
+
...options
|
|
1392
|
+
});
|
|
1393
|
+
/**
|
|
1394
|
+
* Get a single pack by reference
|
|
1395
|
+
*/
|
|
1396
|
+
export const getPack = (options) => (options.client ?? client).get({
|
|
1397
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1398
|
+
url: '/api/v1/packs/{ref}',
|
|
1399
|
+
...options
|
|
1400
|
+
});
|
|
1401
|
+
/**
|
|
1402
|
+
* Update an existing pack
|
|
1403
|
+
*/
|
|
1404
|
+
export const updatePack = (options) => (options.client ?? client).put({
|
|
1405
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1406
|
+
url: '/api/v1/packs/{ref}',
|
|
1407
|
+
...options,
|
|
1408
|
+
headers: {
|
|
1409
|
+
'Content-Type': 'application/json',
|
|
1410
|
+
...options.headers
|
|
1411
|
+
}
|
|
1412
|
+
});
|
|
1413
|
+
/**
|
|
1414
|
+
* Serve the optional icon bundled at a pack root as `pack-icon.{jpg,png,ico,svg}`.
|
|
1415
|
+
*/
|
|
1416
|
+
export const getPackIcon = (options) => (options.client ?? client).get({ url: '/api/v1/packs/{ref}/icon', ...options });
|
|
1417
|
+
/**
|
|
1418
|
+
* Get the most recent install status for a pack (survives a rollback).
|
|
1419
|
+
*/
|
|
1420
|
+
export const getPackLatestInstall = (options) => (options.client ?? client).get({
|
|
1421
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1422
|
+
url: '/api/v1/packs/{ref}/install/latest',
|
|
1423
|
+
...options
|
|
1424
|
+
});
|
|
1425
|
+
/**
|
|
1426
|
+
* Execute tests for a pack
|
|
1427
|
+
*/
|
|
1428
|
+
export const testPack = (options) => (options.client ?? client).post({
|
|
1429
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1430
|
+
url: '/api/v1/packs/{ref}/test',
|
|
1431
|
+
...options
|
|
1432
|
+
});
|
|
1433
|
+
/**
|
|
1434
|
+
* Get test history for a pack
|
|
1435
|
+
*/
|
|
1436
|
+
export const getPackTestHistory = (options) => (options.client ?? client).get({
|
|
1437
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1438
|
+
url: '/api/v1/packs/{ref}/tests',
|
|
1439
|
+
...options
|
|
1440
|
+
});
|
|
1441
|
+
/**
|
|
1442
|
+
* Get latest test result for a pack
|
|
1443
|
+
*/
|
|
1444
|
+
export const getPackLatestTest = (options) => (options.client ?? client).get({
|
|
1445
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1446
|
+
url: '/api/v1/packs/{ref}/tests/latest',
|
|
1447
|
+
...options
|
|
1448
|
+
});
|
|
1449
|
+
/**
|
|
1450
|
+
* Sync workflows from filesystem to database for a pack
|
|
1451
|
+
*/
|
|
1452
|
+
export const syncPackWorkflows = (options) => (options.client ?? client).post({
|
|
1453
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1454
|
+
url: '/api/v1/packs/{ref}/workflows/sync',
|
|
1455
|
+
...options
|
|
1456
|
+
});
|
|
1457
|
+
/**
|
|
1458
|
+
* Validate workflows for a pack without syncing
|
|
1459
|
+
*/
|
|
1460
|
+
export const validatePackWorkflows = (options) => (options.client ?? client).post({
|
|
1461
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1462
|
+
url: '/api/v1/packs/{ref}/workflows/validate',
|
|
1463
|
+
...options
|
|
1464
|
+
});
|
|
1465
|
+
export const createPermissionAssignment = (options) => (options.client ?? client).post({
|
|
1466
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1467
|
+
url: '/api/v1/permissions/assignments',
|
|
1468
|
+
...options,
|
|
1469
|
+
headers: {
|
|
1470
|
+
'Content-Type': 'application/json',
|
|
1471
|
+
...options.headers
|
|
1472
|
+
}
|
|
1473
|
+
});
|
|
1474
|
+
export const deletePermissionAssignment = (options) => (options.client ?? client).delete({
|
|
1475
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1476
|
+
url: '/api/v1/permissions/assignments/{id}',
|
|
1477
|
+
...options
|
|
1478
|
+
});
|
|
1479
|
+
export const listPermissionSets = (options) => (options?.client ?? client).get({
|
|
1480
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1481
|
+
url: '/api/v1/permissions/sets',
|
|
1482
|
+
...options
|
|
1483
|
+
});
|
|
1484
|
+
export const deletePermissionSetRoleAssignment = (options) => (options.client ?? client).delete({
|
|
1485
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1486
|
+
url: '/api/v1/permissions/sets/roles/{id}',
|
|
1487
|
+
...options
|
|
1488
|
+
});
|
|
1489
|
+
export const updatePermissionSet = (options) => (options.client ?? client).put({
|
|
1490
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1491
|
+
url: '/api/v1/permissions/sets/{id}',
|
|
1492
|
+
...options,
|
|
1493
|
+
headers: {
|
|
1494
|
+
'Content-Type': 'application/json',
|
|
1495
|
+
...options.headers
|
|
1496
|
+
}
|
|
1497
|
+
});
|
|
1498
|
+
export const createPermissionSetRoleAssignment = (options) => (options.client ?? client).post({
|
|
1499
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1500
|
+
url: '/api/v1/permissions/sets/{id}/roles',
|
|
1501
|
+
...options,
|
|
1502
|
+
headers: {
|
|
1503
|
+
'Content-Type': 'application/json',
|
|
1504
|
+
...options.headers
|
|
1505
|
+
}
|
|
1506
|
+
});
|
|
1507
|
+
export const listPolicies = (options) => (options?.client ?? client).get({
|
|
1508
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1509
|
+
url: '/api/v1/policies',
|
|
1510
|
+
...options
|
|
1511
|
+
});
|
|
1512
|
+
export const createPolicy = (options) => (options.client ?? client).post({
|
|
1513
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1514
|
+
url: '/api/v1/policies',
|
|
1515
|
+
...options,
|
|
1516
|
+
headers: {
|
|
1517
|
+
'Content-Type': 'application/json',
|
|
1518
|
+
...options.headers
|
|
1519
|
+
}
|
|
1520
|
+
});
|
|
1521
|
+
export const deletePolicy = (options) => (options.client ?? client).delete({
|
|
1522
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1523
|
+
url: '/api/v1/policies/{ref}',
|
|
1524
|
+
...options
|
|
1525
|
+
});
|
|
1526
|
+
export const getPolicy = (options) => (options.client ?? client).get({
|
|
1527
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1528
|
+
url: '/api/v1/policies/{ref}',
|
|
1529
|
+
...options
|
|
1530
|
+
});
|
|
1531
|
+
export const updatePolicy = (options) => (options.client ?? client).put({
|
|
1532
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1533
|
+
url: '/api/v1/policies/{ref}',
|
|
1534
|
+
...options,
|
|
1535
|
+
headers: {
|
|
1536
|
+
'Content-Type': 'application/json',
|
|
1537
|
+
...options.headers
|
|
1538
|
+
}
|
|
1539
|
+
});
|
|
1540
|
+
export const listQueues = (options) => (options?.client ?? client).get({
|
|
1541
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1542
|
+
url: '/api/v1/queues',
|
|
1543
|
+
...options
|
|
1544
|
+
});
|
|
1545
|
+
export const createQueue = (options) => (options.client ?? client).post({
|
|
1546
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1547
|
+
url: '/api/v1/queues',
|
|
1548
|
+
...options,
|
|
1549
|
+
headers: {
|
|
1550
|
+
'Content-Type': 'application/json',
|
|
1551
|
+
...options.headers
|
|
1552
|
+
}
|
|
1553
|
+
});
|
|
1554
|
+
export const deleteQueue = (options) => (options.client ?? client).delete({
|
|
1555
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1556
|
+
url: '/api/v1/queues/{ref}',
|
|
1557
|
+
...options
|
|
1558
|
+
});
|
|
1559
|
+
export const getQueue = (options) => (options.client ?? client).get({
|
|
1560
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1561
|
+
url: '/api/v1/queues/{ref}',
|
|
1562
|
+
...options
|
|
1563
|
+
});
|
|
1564
|
+
export const updateQueue = (options) => (options.client ?? client).put({
|
|
1565
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1566
|
+
url: '/api/v1/queues/{ref}',
|
|
1567
|
+
...options,
|
|
1568
|
+
headers: {
|
|
1569
|
+
'Content-Type': 'application/json',
|
|
1570
|
+
...options.headers
|
|
1571
|
+
}
|
|
1572
|
+
});
|
|
1573
|
+
export const listQueueItems = (options) => (options.client ?? client).get({
|
|
1574
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1575
|
+
url: '/api/v1/queues/{ref}/items',
|
|
1576
|
+
...options
|
|
1577
|
+
});
|
|
1578
|
+
export const enqueueQueueItem = (options) => (options.client ?? client).post({
|
|
1579
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1580
|
+
url: '/api/v1/queues/{ref}/items',
|
|
1581
|
+
...options,
|
|
1582
|
+
headers: {
|
|
1583
|
+
'Content-Type': 'application/json',
|
|
1584
|
+
...options.headers
|
|
1585
|
+
}
|
|
1586
|
+
});
|
|
1587
|
+
export const bulkEnqueueQueueItems = (options) => (options.client ?? client).post({
|
|
1588
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1589
|
+
url: '/api/v1/queues/{ref}/items/bulk',
|
|
1590
|
+
...options,
|
|
1591
|
+
headers: {
|
|
1592
|
+
'Content-Type': 'application/json',
|
|
1593
|
+
...options.headers
|
|
1594
|
+
}
|
|
1595
|
+
});
|
|
1596
|
+
export const applyQueueItemsBySelector = (options) => (options.client ?? client).post({
|
|
1597
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1598
|
+
url: '/api/v1/queues/{ref}/items/query/apply',
|
|
1599
|
+
...options,
|
|
1600
|
+
headers: {
|
|
1601
|
+
'Content-Type': 'application/json',
|
|
1602
|
+
...options.headers
|
|
1603
|
+
}
|
|
1604
|
+
});
|
|
1605
|
+
export const previewQueueItemsBySelector = (options) => (options.client ?? client).post({
|
|
1606
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1607
|
+
url: '/api/v1/queues/{ref}/items/query/preview',
|
|
1608
|
+
...options,
|
|
1609
|
+
headers: {
|
|
1610
|
+
'Content-Type': 'application/json',
|
|
1611
|
+
...options.headers
|
|
1612
|
+
}
|
|
1613
|
+
});
|
|
1614
|
+
export const deleteQueueItem = (options) => (options.client ?? client).delete({
|
|
1615
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1616
|
+
url: '/api/v1/queues/{ref}/items/{item_id}',
|
|
1617
|
+
...options
|
|
1618
|
+
});
|
|
1619
|
+
export const updateQueueItem = (options) => (options.client ?? client).put({
|
|
1620
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1621
|
+
url: '/api/v1/queues/{ref}/items/{item_id}',
|
|
1622
|
+
...options,
|
|
1623
|
+
headers: {
|
|
1624
|
+
'Content-Type': 'application/json',
|
|
1625
|
+
...options.headers
|
|
1626
|
+
}
|
|
1627
|
+
});
|
|
1628
|
+
/**
|
|
1629
|
+
* Get runtime retention configuration.
|
|
1630
|
+
*/
|
|
1631
|
+
export const getRetentionConfig = (options) => (options?.client ?? client).get({
|
|
1632
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1633
|
+
url: '/api/v1/retention-config',
|
|
1634
|
+
...options
|
|
1635
|
+
});
|
|
1636
|
+
/**
|
|
1637
|
+
* Update runtime retention configuration.
|
|
1638
|
+
*/
|
|
1639
|
+
export const updateRetentionConfig = (options) => (options.client ?? client).put({
|
|
1640
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1641
|
+
url: '/api/v1/retention-config',
|
|
1642
|
+
...options,
|
|
1643
|
+
headers: {
|
|
1644
|
+
'Content-Type': 'application/json',
|
|
1645
|
+
...options.headers
|
|
1646
|
+
}
|
|
1647
|
+
});
|
|
1648
|
+
/**
|
|
1649
|
+
* List all rules with pagination
|
|
1650
|
+
*/
|
|
1651
|
+
export const listRules = (options) => (options?.client ?? client).get({ url: '/api/v1/rules', ...options });
|
|
1652
|
+
/**
|
|
1653
|
+
* Create a new rule
|
|
1654
|
+
*/
|
|
1655
|
+
export const createRule = (options) => (options.client ?? client).post({
|
|
1656
|
+
url: '/api/v1/rules',
|
|
1657
|
+
...options,
|
|
1658
|
+
headers: {
|
|
1659
|
+
'Content-Type': 'application/json',
|
|
1660
|
+
...options.headers
|
|
1661
|
+
}
|
|
1662
|
+
});
|
|
1663
|
+
/**
|
|
1664
|
+
* List enabled rules
|
|
1665
|
+
*/
|
|
1666
|
+
export const listEnabledRules = (options) => (options?.client ?? client).get({ url: '/api/v1/rules/enabled', ...options });
|
|
1667
|
+
/**
|
|
1668
|
+
* Delete a rule
|
|
1669
|
+
*/
|
|
1670
|
+
export const deleteRule = (options) => (options.client ?? client).delete({ url: '/api/v1/rules/{ref}', ...options });
|
|
1671
|
+
/**
|
|
1672
|
+
* Get a single rule by reference
|
|
1673
|
+
*/
|
|
1674
|
+
export const getRule = (options) => (options.client ?? client).get({ url: '/api/v1/rules/{ref}', ...options });
|
|
1675
|
+
/**
|
|
1676
|
+
* Update an existing rule
|
|
1677
|
+
*/
|
|
1678
|
+
export const updateRule = (options) => (options.client ?? client).put({
|
|
1679
|
+
url: '/api/v1/rules/{ref}',
|
|
1680
|
+
...options,
|
|
1681
|
+
headers: {
|
|
1682
|
+
'Content-Type': 'application/json',
|
|
1683
|
+
...options.headers
|
|
1684
|
+
}
|
|
1685
|
+
});
|
|
1686
|
+
/**
|
|
1687
|
+
* Disable a rule
|
|
1688
|
+
*/
|
|
1689
|
+
export const disableRule = (options) => (options.client ?? client).post({ url: '/api/v1/rules/{ref}/disable', ...options });
|
|
1690
|
+
/**
|
|
1691
|
+
* Enable a rule
|
|
1692
|
+
*/
|
|
1693
|
+
export const enableRule = (options) => (options.client ?? client).post({ url: '/api/v1/rules/{ref}/enable', ...options });
|
|
1694
|
+
export const listRuntimes = (options) => (options?.client ?? client).get({
|
|
1695
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1696
|
+
url: '/api/v1/runtimes',
|
|
1697
|
+
...options
|
|
1698
|
+
});
|
|
1699
|
+
export const createRuntime = (options) => (options.client ?? client).post({
|
|
1700
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1701
|
+
url: '/api/v1/runtimes',
|
|
1702
|
+
...options,
|
|
1703
|
+
headers: {
|
|
1704
|
+
'Content-Type': 'application/json',
|
|
1705
|
+
...options.headers
|
|
1706
|
+
}
|
|
1707
|
+
});
|
|
1708
|
+
export const deleteRuntime = (options) => (options.client ?? client).delete({
|
|
1709
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1710
|
+
url: '/api/v1/runtimes/{ref}',
|
|
1711
|
+
...options
|
|
1712
|
+
});
|
|
1713
|
+
export const getRuntime = (options) => (options.client ?? client).get({
|
|
1714
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1715
|
+
url: '/api/v1/runtimes/{ref}',
|
|
1716
|
+
...options
|
|
1717
|
+
});
|
|
1718
|
+
export const updateRuntime = (options) => (options.client ?? client).put({
|
|
1719
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1720
|
+
url: '/api/v1/runtimes/{ref}',
|
|
1721
|
+
...options,
|
|
1722
|
+
headers: {
|
|
1723
|
+
'Content-Type': 'application/json',
|
|
1724
|
+
...options.headers
|
|
1725
|
+
}
|
|
1726
|
+
});
|
|
1727
|
+
/**
|
|
1728
|
+
* List all sensors with pagination
|
|
1729
|
+
*/
|
|
1730
|
+
export const listSensors = (options) => (options?.client ?? client).get({ url: '/api/v1/sensors', ...options });
|
|
1731
|
+
/**
|
|
1732
|
+
* Create a new sensor
|
|
1733
|
+
*/
|
|
1734
|
+
export const createSensor = (options) => (options.client ?? client).post({
|
|
1735
|
+
url: '/api/v1/sensors',
|
|
1736
|
+
...options,
|
|
1737
|
+
headers: {
|
|
1738
|
+
'Content-Type': 'application/json',
|
|
1739
|
+
...options.headers
|
|
1740
|
+
}
|
|
1741
|
+
});
|
|
1742
|
+
/**
|
|
1743
|
+
* List enabled sensors
|
|
1744
|
+
*/
|
|
1745
|
+
export const listEnabledSensors = (options) => (options?.client ?? client).get({ url: '/api/v1/sensors/enabled', ...options });
|
|
1746
|
+
/**
|
|
1747
|
+
* Delete a sensor
|
|
1748
|
+
*/
|
|
1749
|
+
export const deleteSensor = (options) => (options.client ?? client).delete({ url: '/api/v1/sensors/{ref}', ...options });
|
|
1750
|
+
/**
|
|
1751
|
+
* Get a single sensor by reference
|
|
1752
|
+
*/
|
|
1753
|
+
export const getSensor = (options) => (options.client ?? client).get({ url: '/api/v1/sensors/{ref}', ...options });
|
|
1754
|
+
/**
|
|
1755
|
+
* Update an existing sensor
|
|
1756
|
+
*/
|
|
1757
|
+
export const updateSensor = (options) => (options.client ?? client).put({
|
|
1758
|
+
url: '/api/v1/sensors/{ref}',
|
|
1759
|
+
...options,
|
|
1760
|
+
headers: {
|
|
1761
|
+
'Content-Type': 'application/json',
|
|
1762
|
+
...options.headers
|
|
1763
|
+
}
|
|
1764
|
+
});
|
|
1765
|
+
/**
|
|
1766
|
+
* Disable a sensor
|
|
1767
|
+
*/
|
|
1768
|
+
export const disableSensor = (options) => (options.client ?? client).post({ url: '/api/v1/sensors/{ref}/disable', ...options });
|
|
1769
|
+
/**
|
|
1770
|
+
* Enable a sensor
|
|
1771
|
+
*/
|
|
1772
|
+
export const enableSensor = (options) => (options.client ?? client).post({ url: '/api/v1/sensors/{ref}/enable', ...options });
|
|
1773
|
+
/**
|
|
1774
|
+
* List available log streams for a sensor.
|
|
1775
|
+
*/
|
|
1776
|
+
export const listSensorLogs = (options) => (options.client ?? client).get({
|
|
1777
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1778
|
+
url: '/api/v1/sensors/{sensor_ref}/logs',
|
|
1779
|
+
...options
|
|
1780
|
+
});
|
|
1781
|
+
/**
|
|
1782
|
+
* Download a specific sensor log stream.
|
|
1783
|
+
*
|
|
1784
|
+
* Resolves the sensor ref + stream to a log file on disk and serves
|
|
1785
|
+
* the content as plain text.
|
|
1786
|
+
*/
|
|
1787
|
+
export const getSensorLog = (options) => (options.client ?? client).get({
|
|
1788
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1789
|
+
url: '/api/v1/sensors/{sensor_ref}/logs/{stream}',
|
|
1790
|
+
...options
|
|
1791
|
+
});
|
|
1792
|
+
export const getTraceReport = (options) => (options.client ?? client).get({
|
|
1793
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1794
|
+
url: '/api/v1/traces/{trace_tag}',
|
|
1795
|
+
...options
|
|
1796
|
+
});
|
|
1797
|
+
/**
|
|
1798
|
+
* List all triggers with pagination
|
|
1799
|
+
*/
|
|
1800
|
+
export const listTriggers = (options) => (options?.client ?? client).get({ url: '/api/v1/triggers', ...options });
|
|
1801
|
+
/**
|
|
1802
|
+
* Create a new trigger
|
|
1803
|
+
*/
|
|
1804
|
+
export const createTrigger = (options) => (options.client ?? client).post({
|
|
1805
|
+
url: '/api/v1/triggers',
|
|
1806
|
+
...options,
|
|
1807
|
+
headers: {
|
|
1808
|
+
'Content-Type': 'application/json',
|
|
1809
|
+
...options.headers
|
|
1810
|
+
}
|
|
1811
|
+
});
|
|
1812
|
+
/**
|
|
1813
|
+
* List enabled triggers
|
|
1814
|
+
*/
|
|
1815
|
+
export const listEnabledTriggers = (options) => (options?.client ?? client).get({ url: '/api/v1/triggers/enabled', ...options });
|
|
1816
|
+
/**
|
|
1817
|
+
* Delete a trigger
|
|
1818
|
+
*/
|
|
1819
|
+
export const deleteTrigger = (options) => (options.client ?? client).delete({ url: '/api/v1/triggers/{ref}', ...options });
|
|
1820
|
+
/**
|
|
1821
|
+
* Get a single trigger by reference
|
|
1822
|
+
*/
|
|
1823
|
+
export const getTrigger = (options) => (options.client ?? client).get({ url: '/api/v1/triggers/{ref}', ...options });
|
|
1824
|
+
/**
|
|
1825
|
+
* Update an existing trigger
|
|
1826
|
+
*/
|
|
1827
|
+
export const updateTrigger = (options) => (options.client ?? client).put({
|
|
1828
|
+
url: '/api/v1/triggers/{ref}',
|
|
1829
|
+
...options,
|
|
1830
|
+
headers: {
|
|
1831
|
+
'Content-Type': 'application/json',
|
|
1832
|
+
...options.headers
|
|
1833
|
+
}
|
|
1834
|
+
});
|
|
1835
|
+
/**
|
|
1836
|
+
* Disable a trigger
|
|
1837
|
+
*/
|
|
1838
|
+
export const disableTrigger = (options) => (options.client ?? client).post({ url: '/api/v1/triggers/{ref}/disable', ...options });
|
|
1839
|
+
/**
|
|
1840
|
+
* Enable a trigger
|
|
1841
|
+
*/
|
|
1842
|
+
export const enableTrigger = (options) => (options.client ?? client).post({ url: '/api/v1/triggers/{ref}/enable', ...options });
|
|
1843
|
+
/**
|
|
1844
|
+
* Disable webhooks for a trigger
|
|
1845
|
+
*/
|
|
1846
|
+
export const disableWebhook = (options) => (options.client ?? client).post({ url: '/api/v1/triggers/{ref}/webhooks/disable', ...options });
|
|
1847
|
+
/**
|
|
1848
|
+
* Enable webhooks for a trigger
|
|
1849
|
+
*/
|
|
1850
|
+
export const enableWebhook = (options) => (options.client ?? client).post({ url: '/api/v1/triggers/{ref}/webhooks/enable', ...options });
|
|
1851
|
+
/**
|
|
1852
|
+
* Regenerate webhook key for a trigger
|
|
1853
|
+
*/
|
|
1854
|
+
export const regenerateWebhookKey = (options) => (options.client ?? client).post({ url: '/api/v1/triggers/{ref}/webhooks/regenerate', ...options });
|
|
1855
|
+
/**
|
|
1856
|
+
* List rules by trigger reference
|
|
1857
|
+
*/
|
|
1858
|
+
export const listRulesByTrigger = (options) => (options.client ?? client).get({ url: '/api/v1/triggers/{trigger_ref}/rules', ...options });
|
|
1859
|
+
/**
|
|
1860
|
+
* List sensors by trigger reference
|
|
1861
|
+
*/
|
|
1862
|
+
export const listSensorsByTrigger = (options) => (options.client ?? client).get({ url: '/api/v1/triggers/{trigger_ref}/sensors', ...options });
|
|
1863
|
+
/**
|
|
1864
|
+
* Webhook receiver endpoint - receives webhook events and creates events
|
|
1865
|
+
*/
|
|
1866
|
+
export const receiveWebhook = (options) => (options.client ?? client).post({
|
|
1867
|
+
url: '/api/v1/webhooks/{webhook_key}',
|
|
1868
|
+
...options,
|
|
1869
|
+
headers: {
|
|
1870
|
+
'Content-Type': 'application/json',
|
|
1871
|
+
...options.headers
|
|
1872
|
+
}
|
|
1873
|
+
});
|
|
1874
|
+
export const listWorkers = (options) => (options?.client ?? client).get({
|
|
1875
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1876
|
+
url: '/api/v1/workers',
|
|
1877
|
+
...options
|
|
1878
|
+
});
|
|
1879
|
+
export const getWorker = (options) => (options.client ?? client).get({
|
|
1880
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1881
|
+
url: '/api/v1/workers/{id}',
|
|
1882
|
+
...options
|
|
1883
|
+
});
|
|
1884
|
+
export const cordonWorker = (options) => (options.client ?? client).post({
|
|
1885
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1886
|
+
url: '/api/v1/workers/{id}/cordon',
|
|
1887
|
+
...options,
|
|
1888
|
+
headers: {
|
|
1889
|
+
'Content-Type': 'application/json',
|
|
1890
|
+
...options.headers
|
|
1891
|
+
}
|
|
1892
|
+
});
|
|
1893
|
+
/**
|
|
1894
|
+
* Get history for a specific worker by ID.
|
|
1895
|
+
*
|
|
1896
|
+
* Returns all change records for the given worker, ordered by time descending.
|
|
1897
|
+
*/
|
|
1898
|
+
export const getWorkerHistory = (options) => (options.client ?? client).get({
|
|
1899
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1900
|
+
url: '/api/v1/workers/{id}/history',
|
|
1901
|
+
...options
|
|
1902
|
+
});
|
|
1903
|
+
export const uncordonWorker = (options) => (options.client ?? client).post({
|
|
1904
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1905
|
+
url: '/api/v1/workers/{id}/uncordon',
|
|
1906
|
+
...options
|
|
1907
|
+
});
|
|
1908
|
+
/**
|
|
1909
|
+
* List all workflows with pagination and filtering
|
|
1910
|
+
*/
|
|
1911
|
+
export const listWorkflows = (options) => (options?.client ?? client).get({
|
|
1912
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1913
|
+
url: '/api/v1/workflows',
|
|
1914
|
+
...options
|
|
1915
|
+
});
|
|
1916
|
+
/**
|
|
1917
|
+
* Create a new workflow
|
|
1918
|
+
*/
|
|
1919
|
+
export const createWorkflow = (options) => (options.client ?? client).post({
|
|
1920
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1921
|
+
url: '/api/v1/workflows',
|
|
1922
|
+
...options,
|
|
1923
|
+
headers: {
|
|
1924
|
+
'Content-Type': 'application/json',
|
|
1925
|
+
...options.headers
|
|
1926
|
+
}
|
|
1927
|
+
});
|
|
1928
|
+
/**
|
|
1929
|
+
* Delete a workflow
|
|
1930
|
+
*/
|
|
1931
|
+
export const deleteWorkflow = (options) => (options.client ?? client).delete({
|
|
1932
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1933
|
+
url: '/api/v1/workflows/{ref}',
|
|
1934
|
+
...options
|
|
1935
|
+
});
|
|
1936
|
+
/**
|
|
1937
|
+
* Get a single workflow by reference
|
|
1938
|
+
*/
|
|
1939
|
+
export const getWorkflow = (options) => (options.client ?? client).get({
|
|
1940
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1941
|
+
url: '/api/v1/workflows/{ref}',
|
|
1942
|
+
...options
|
|
1943
|
+
});
|
|
1944
|
+
/**
|
|
1945
|
+
* Update an existing workflow
|
|
1946
|
+
*/
|
|
1947
|
+
export const updateWorkflow = (options) => (options.client ?? client).put({
|
|
1948
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1949
|
+
url: '/api/v1/workflows/{ref}',
|
|
1950
|
+
...options,
|
|
1951
|
+
headers: {
|
|
1952
|
+
'Content-Type': 'application/json',
|
|
1953
|
+
...options.headers
|
|
1954
|
+
}
|
|
1955
|
+
});
|
|
1956
|
+
/**
|
|
1957
|
+
* Update a workflow file on disk and sync changes to the database
|
|
1958
|
+
*/
|
|
1959
|
+
export const updateWorkflowFile = (options) => (options.client ?? client).put({
|
|
1960
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1961
|
+
url: '/api/v1/workflows/{ref}/file',
|
|
1962
|
+
...options,
|
|
1963
|
+
headers: {
|
|
1964
|
+
'Content-Type': 'application/json',
|
|
1965
|
+
...options.headers
|
|
1966
|
+
}
|
|
1967
|
+
});
|
|
1968
|
+
/**
|
|
1969
|
+
* Handle the OIDC authorization code callback.
|
|
1970
|
+
*/
|
|
1971
|
+
export const oidcCallback = (options) => (options?.client ?? client).get({ url: '/auth/callback', ...options });
|
|
1972
|
+
/**
|
|
1973
|
+
* Change password endpoint
|
|
1974
|
+
*
|
|
1975
|
+
* POST /auth/change-password
|
|
1976
|
+
*/
|
|
1977
|
+
export const changePassword = (options) => (options.client ?? client).post({
|
|
1978
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1979
|
+
url: '/auth/change-password',
|
|
1980
|
+
...options,
|
|
1981
|
+
headers: {
|
|
1982
|
+
'Content-Type': 'application/json',
|
|
1983
|
+
...options.headers
|
|
1984
|
+
}
|
|
1985
|
+
});
|
|
1986
|
+
/**
|
|
1987
|
+
* Create sensor token endpoint for internal service-to-service use.
|
|
1988
|
+
*
|
|
1989
|
+
* POST /auth/internal/sensor-token
|
|
1990
|
+
*
|
|
1991
|
+
* Worker/service callers can provision tokens by supplying `sensor_ref` and
|
|
1992
|
+
* `trigger_types`. Sensor callers can refresh their own tokens; `sensor_ref`
|
|
1993
|
+
* and `trigger_types` are derived from authenticated sensor identity state.
|
|
1994
|
+
*/
|
|
1995
|
+
export const createSensorTokenInternal = (options) => (options.client ?? client).post({
|
|
1996
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1997
|
+
url: '/auth/internal/sensor-token',
|
|
1998
|
+
...options,
|
|
1999
|
+
headers: {
|
|
2000
|
+
'Content-Type': 'application/json',
|
|
2001
|
+
...options.headers
|
|
2002
|
+
}
|
|
2003
|
+
});
|
|
2004
|
+
/**
|
|
2005
|
+
* Authenticate via LDAP directory.
|
|
2006
|
+
*
|
|
2007
|
+
* POST /auth/ldap/login
|
|
2008
|
+
*/
|
|
2009
|
+
export const ldapLogin = (options) => (options.client ?? client).post({
|
|
2010
|
+
url: '/auth/ldap/login',
|
|
2011
|
+
...options,
|
|
2012
|
+
headers: {
|
|
2013
|
+
'Content-Type': 'application/json',
|
|
2014
|
+
...options.headers
|
|
2015
|
+
}
|
|
2016
|
+
});
|
|
2017
|
+
/**
|
|
2018
|
+
* Login endpoint
|
|
2019
|
+
*
|
|
2020
|
+
* POST /auth/login
|
|
2021
|
+
*/
|
|
2022
|
+
export const login = (options) => (options.client ?? client).post({
|
|
2023
|
+
url: '/auth/login',
|
|
2024
|
+
...options,
|
|
2025
|
+
headers: {
|
|
2026
|
+
'Content-Type': 'application/json',
|
|
2027
|
+
...options.headers
|
|
2028
|
+
}
|
|
2029
|
+
});
|
|
2030
|
+
/**
|
|
2031
|
+
* Logout the current browser session and optionally redirect through the provider logout flow.
|
|
2032
|
+
*/
|
|
2033
|
+
export const logout = (options) => (options?.client ?? client).get({ url: '/auth/logout', ...options });
|
|
2034
|
+
/**
|
|
2035
|
+
* Get current user endpoint
|
|
2036
|
+
*
|
|
2037
|
+
* GET /auth/me
|
|
2038
|
+
*/
|
|
2039
|
+
export const getCurrentUser = (options) => (options?.client ?? client).get({
|
|
2040
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
2041
|
+
url: '/auth/me',
|
|
2042
|
+
...options
|
|
2043
|
+
});
|
|
2044
|
+
/**
|
|
2045
|
+
* Update current user profile endpoint
|
|
2046
|
+
*
|
|
2047
|
+
* PUT /auth/me
|
|
2048
|
+
*/
|
|
2049
|
+
export const updateCurrentUser = (options) => (options.client ?? client).put({
|
|
2050
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
2051
|
+
url: '/auth/me',
|
|
2052
|
+
...options,
|
|
2053
|
+
headers: {
|
|
2054
|
+
'Content-Type': 'application/json',
|
|
2055
|
+
...options.headers
|
|
2056
|
+
}
|
|
2057
|
+
});
|
|
2058
|
+
/**
|
|
2059
|
+
* Begin browser OIDC login by redirecting to the provider.
|
|
2060
|
+
*/
|
|
2061
|
+
export const oidcLogin = (options) => (options?.client ?? client).get({ url: '/auth/oidc/login', ...options });
|
|
2062
|
+
/**
|
|
2063
|
+
* Refresh token endpoint
|
|
2064
|
+
*
|
|
2065
|
+
* POST /auth/refresh
|
|
2066
|
+
*/
|
|
2067
|
+
export const refreshToken = (options) => (options.client ?? client).post({
|
|
2068
|
+
url: '/auth/refresh',
|
|
2069
|
+
...options,
|
|
2070
|
+
headers: {
|
|
2071
|
+
'Content-Type': 'application/json',
|
|
2072
|
+
...options.headers
|
|
2073
|
+
}
|
|
2074
|
+
});
|
|
2075
|
+
/**
|
|
2076
|
+
* Register endpoint
|
|
2077
|
+
*
|
|
2078
|
+
* POST /auth/register
|
|
2079
|
+
*/
|
|
2080
|
+
export const register = (options) => (options.client ?? client).post({
|
|
2081
|
+
url: '/auth/register',
|
|
2082
|
+
...options,
|
|
2083
|
+
headers: {
|
|
2084
|
+
'Content-Type': 'application/json',
|
|
2085
|
+
...options.headers
|
|
2086
|
+
}
|
|
2087
|
+
});
|
|
2088
|
+
/**
|
|
2089
|
+
* Create sensor token endpoint (internal use by sensor service)
|
|
2090
|
+
*
|
|
2091
|
+
* POST /auth/sensor-token
|
|
2092
|
+
*/
|
|
2093
|
+
export const createSensorToken = (options) => (options.client ?? client).post({
|
|
2094
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
2095
|
+
url: '/auth/sensor-token',
|
|
2096
|
+
...options,
|
|
2097
|
+
headers: {
|
|
2098
|
+
'Content-Type': 'application/json',
|
|
2099
|
+
...options.headers
|
|
2100
|
+
}
|
|
2101
|
+
});
|
|
2102
|
+
/**
|
|
2103
|
+
* Authentication settings endpoint
|
|
2104
|
+
*
|
|
2105
|
+
* GET /auth/settings
|
|
2106
|
+
*/
|
|
2107
|
+
export const authSettings = (options) => (options?.client ?? client).get({ url: '/auth/settings', ...options });
|
|
2108
|
+
/**
|
|
2109
|
+
* Passwordless integration-token login endpoint.
|
|
2110
|
+
*
|
|
2111
|
+
* POST /auth/token-login
|
|
2112
|
+
*/
|
|
2113
|
+
export const tokenLogin = (options) => (options.client ?? client).post({
|
|
2114
|
+
url: '/auth/token-login',
|
|
2115
|
+
...options,
|
|
2116
|
+
headers: {
|
|
2117
|
+
'Content-Type': 'application/json',
|
|
2118
|
+
...options.headers
|
|
2119
|
+
}
|
|
2120
|
+
});
|
|
2121
|
+
/**
|
|
2122
|
+
* Basic health check endpoint
|
|
2123
|
+
*
|
|
2124
|
+
* Returns 200 OK if the service is running
|
|
2125
|
+
*/
|
|
2126
|
+
export const health = (options) => (options?.client ?? client).get({ url: '/health', ...options });
|
|
2127
|
+
/**
|
|
2128
|
+
* Detailed health check endpoint
|
|
2129
|
+
*
|
|
2130
|
+
* Checks database connectivity and returns detailed status
|
|
2131
|
+
*/
|
|
2132
|
+
export const healthDetailed = (options) => (options?.client ?? client).get({ url: '/health/detailed', ...options });
|
|
2133
|
+
/**
|
|
2134
|
+
* Liveness check endpoint
|
|
2135
|
+
*
|
|
2136
|
+
* Returns 200 OK if the service process is alive
|
|
2137
|
+
*/
|
|
2138
|
+
export const liveness = (options) => (options?.client ?? client).get({ url: '/health/live', ...options });
|
|
2139
|
+
/**
|
|
2140
|
+
* Readiness check endpoint
|
|
2141
|
+
*
|
|
2142
|
+
* Returns 200 OK if the service is ready to accept requests
|
|
2143
|
+
*/
|
|
2144
|
+
export const readiness = (options) => (options?.client ?? client).get({ url: '/health/ready', ...options });
|
|
2145
|
+
//# sourceMappingURL=sdk.gen.js.map
|