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.
Files changed (87) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +355 -0
  3. package/dist/action.d.ts +34 -0
  4. package/dist/action.d.ts.map +1 -0
  5. package/dist/action.js +62 -0
  6. package/dist/action.js.map +1 -0
  7. package/dist/api_client/client/client.gen.d.ts +3 -0
  8. package/dist/api_client/client/client.gen.d.ts.map +1 -0
  9. package/dist/api_client/client/client.gen.js +217 -0
  10. package/dist/api_client/client/client.gen.js.map +1 -0
  11. package/dist/api_client/client/index.d.ts +9 -0
  12. package/dist/api_client/client/index.d.ts.map +1 -0
  13. package/dist/api_client/client/index.js +7 -0
  14. package/dist/api_client/client/index.js.map +1 -0
  15. package/dist/api_client/client/types.gen.d.ts +121 -0
  16. package/dist/api_client/client/types.gen.d.ts.map +1 -0
  17. package/dist/api_client/client/types.gen.js +3 -0
  18. package/dist/api_client/client/types.gen.js.map +1 -0
  19. package/dist/api_client/client/utils.gen.d.ts +38 -0
  20. package/dist/api_client/client/utils.gen.d.ts.map +1 -0
  21. package/dist/api_client/client/utils.gen.js +229 -0
  22. package/dist/api_client/client/utils.gen.js.map +1 -0
  23. package/dist/api_client/client.gen.d.ts +13 -0
  24. package/dist/api_client/client.gen.d.ts.map +1 -0
  25. package/dist/api_client/client.gen.js +4 -0
  26. package/dist/api_client/client.gen.js.map +1 -0
  27. package/dist/api_client/core/auth.gen.d.ts +19 -0
  28. package/dist/api_client/core/auth.gen.d.ts.map +1 -0
  29. package/dist/api_client/core/auth.gen.js +15 -0
  30. package/dist/api_client/core/auth.gen.js.map +1 -0
  31. package/dist/api_client/core/bodySerializer.gen.d.ts +26 -0
  32. package/dist/api_client/core/bodySerializer.gen.d.ts.map +1 -0
  33. package/dist/api_client/core/bodySerializer.gen.js +58 -0
  34. package/dist/api_client/core/bodySerializer.gen.js.map +1 -0
  35. package/dist/api_client/core/params.gen.d.ts +44 -0
  36. package/dist/api_client/core/params.gen.d.ts.map +1 -0
  37. package/dist/api_client/core/params.gen.js +101 -0
  38. package/dist/api_client/core/params.gen.js.map +1 -0
  39. package/dist/api_client/core/pathSerializer.gen.d.ts +34 -0
  40. package/dist/api_client/core/pathSerializer.gen.d.ts.map +1 -0
  41. package/dist/api_client/core/pathSerializer.gen.js +107 -0
  42. package/dist/api_client/core/pathSerializer.gen.js.map +1 -0
  43. package/dist/api_client/core/queryKeySerializer.gen.d.ts +19 -0
  44. package/dist/api_client/core/queryKeySerializer.gen.d.ts.map +1 -0
  45. package/dist/api_client/core/queryKeySerializer.gen.js +93 -0
  46. package/dist/api_client/core/queryKeySerializer.gen.js.map +1 -0
  47. package/dist/api_client/core/serverSentEvents.gen.d.ts +72 -0
  48. package/dist/api_client/core/serverSentEvents.gen.d.ts.map +1 -0
  49. package/dist/api_client/core/serverSentEvents.gen.js +133 -0
  50. package/dist/api_client/core/serverSentEvents.gen.js.map +1 -0
  51. package/dist/api_client/core/types.gen.d.ts +79 -0
  52. package/dist/api_client/core/types.gen.d.ts.map +1 -0
  53. package/dist/api_client/core/types.gen.js +3 -0
  54. package/dist/api_client/core/types.gen.js.map +1 -0
  55. package/dist/api_client/core/utils.gen.d.ts +20 -0
  56. package/dist/api_client/core/utils.gen.d.ts.map +1 -0
  57. package/dist/api_client/core/utils.gen.js +88 -0
  58. package/dist/api_client/core/utils.gen.js.map +1 -0
  59. package/dist/api_client/index.d.ts +3 -0
  60. package/dist/api_client/index.d.ts.map +1 -0
  61. package/dist/api_client/index.js +3 -0
  62. package/dist/api_client/index.js.map +1 -0
  63. package/dist/api_client/sdk.gen.d.ts +1000 -0
  64. package/dist/api_client/sdk.gen.d.ts.map +1 -0
  65. package/dist/api_client/sdk.gen.js +2145 -0
  66. package/dist/api_client/sdk.gen.js.map +1 -0
  67. package/dist/api_client/types.gen.d.ts +19794 -0
  68. package/dist/api_client/types.gen.d.ts.map +1 -0
  69. package/dist/api_client/types.gen.js +3 -0
  70. package/dist/api_client/types.gen.js.map +1 -0
  71. package/dist/client.d.ts +42 -0
  72. package/dist/client.d.ts.map +1 -0
  73. package/dist/client.js +73 -0
  74. package/dist/client.js.map +1 -0
  75. package/dist/context.d.ts +112 -0
  76. package/dist/context.d.ts.map +1 -0
  77. package/dist/context.js +108 -0
  78. package/dist/context.js.map +1 -0
  79. package/dist/index.d.ts +43 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +38 -0
  82. package/dist/index.js.map +1 -0
  83. package/dist/sensor.d.ts +127 -0
  84. package/dist/sensor.d.ts.map +1 -0
  85. package/dist/sensor.js +880 -0
  86. package/dist/sensor.js.map +1 -0
  87. 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