aegis-platform-sdk 0.1.0 → 1.0.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/dist/index.d.ts CHANGED
@@ -1,7 +1,9 @@
1
- type QueryParams = Record<string, string | number | boolean | undefined | null>;
1
+ type QueryParams = Record<string, string | number | boolean | ReadonlyArray<string | number> | undefined | null>;
2
2
  interface RequestOptions {
3
3
  params?: QueryParams;
4
4
  json?: unknown;
5
+ /** Multipart body (e.g. logo upload) — mutually exclusive with `json`. */
6
+ form?: FormData;
5
7
  signal?: AbortSignal;
6
8
  }
7
9
  /** The verb-agnostic transport contract every resource is built on. */
@@ -9,6 +11,30 @@ interface Transport {
9
11
  request<T = unknown>(method: string, path: string, opts?: RequestOptions): Promise<T>;
10
12
  }
11
13
 
14
+ /**
15
+ * Minimal SSE (text/event-stream) support — zero dependencies.
16
+ *
17
+ * AEGIS exposes server-sent-event endpoints for long-running work
18
+ * (operator task progress, AIP chat streaming). `AegisClient.stream()`
19
+ * yields parsed events as an async iterator:
20
+ *
21
+ * ```ts
22
+ * for await (const ev of client.stream("/operator/tasks/t1/events")) {
23
+ * if (ev.event === "progress") console.log(JSON.parse(ev.data));
24
+ * }
25
+ * ```
26
+ */
27
+ interface SseEvent {
28
+ /** Event name — defaults to "message" per the SSE spec. */
29
+ event: string;
30
+ /** Raw data payload (multi-line `data:` fields joined with `\n`). */
31
+ data: string;
32
+ id?: string;
33
+ retry?: number;
34
+ }
35
+ /** Parse a `text/event-stream` byte stream into events (spec-compliant subset). */
36
+ declare function parseSseStream(stream: ReadableStream<Uint8Array>): AsyncGenerator<SseEvent, void, undefined>;
37
+
12
38
  /**
13
39
  * Core wire types — mirrors `aegis/types.py` in the Python SDK.
14
40
  *
@@ -97,12 +123,18 @@ interface LoginOptions {
97
123
  /** Attach the issued JWT to the client for subsequent calls (default true). */
98
124
  attach?: boolean;
99
125
  }
100
- /** `client.auth.*` — login, whoami, dev-mode. */
126
+ /** `client.auth.*` — login, refresh, whoami, dev-mode. */
101
127
  declare class AuthResource {
102
128
  private readonly t;
103
- private readonly setToken;
104
- constructor(t: Transport, setToken: (token: string | null) => void);
129
+ private readonly attach;
130
+ constructor(t: Transport, attach: (pair: TokenPair) => void);
105
131
  login(username: string, password: string, opts?: LoginOptions): Promise<TokenPair>;
132
+ /** Rotate a refresh token explicitly (`POST /auth/refresh`). The client
133
+ * already does this transparently on 401 — call this only for manual
134
+ * flows. Attaches the new pair unless `attach: false`. */
135
+ refresh(refreshToken: string, opts?: {
136
+ attach?: boolean;
137
+ }): Promise<TokenPair>;
106
138
  me(): Promise<WhoAmI>;
107
139
  /** Activate a vendor dev-mode session; requires the `vendor` role. */
108
140
  enableDevMode(password: string): Promise<DevMode>;
@@ -123,21 +155,21 @@ declare class RolesResource {
123
155
  declare class GroupsResource {
124
156
  private readonly t;
125
157
  constructor(t: Transport);
126
- list(opts?: {
158
+ list<T = Json>(opts?: {
127
159
  limit?: number;
128
160
  offset?: number;
129
- }): Promise<Json[]>;
130
- get(groupId: string): Promise<Json>;
131
- create(name: string, description?: string): Promise<Json>;
132
- update(groupId: string, patch: {
161
+ }): Promise<T[]>;
162
+ get<T = Json>(groupId: string): Promise<T>;
163
+ create<T = Json>(name: string, description?: string): Promise<T>;
164
+ update<T = Json>(groupId: string, patch: {
133
165
  name?: string;
134
166
  description?: string;
135
- }): Promise<Json>;
167
+ }): Promise<T>;
136
168
  delete(groupId: string): Promise<void>;
137
- listMembers(groupId: string): Promise<Json[]>;
138
- addMember(groupId: string, userId: string): Promise<Json>;
169
+ listMembers<T = Json>(groupId: string): Promise<T[]>;
170
+ addMember<T = Json>(groupId: string, userId: string): Promise<T>;
139
171
  removeMember(groupId: string, userId: string): Promise<void>;
140
- listForUser(userId: string): Promise<Json[]>;
172
+ listForUser<T = Json>(userId: string): Promise<T[]>;
141
173
  }
142
174
  declare class PermissionsResource {
143
175
  private readonly t;
@@ -147,7 +179,7 @@ declare class PermissionsResource {
147
179
  declare class NavResource {
148
180
  private readonly t;
149
181
  constructor(t: Transport);
150
- tree(asRoleId?: string): Promise<Json>;
182
+ tree<T = Json>(asRoleId?: string): Promise<T>;
151
183
  }
152
184
  /** `client.iam.*` — users, roles, groups, permissions, nav tree. */
153
185
  declare class IamResource {
@@ -189,12 +221,12 @@ interface OperatorTaskCreate {
189
221
  declare class OperatorTasksResource {
190
222
  private readonly t;
191
223
  constructor(t: Transport);
192
- list(opts?: OperatorTaskListOptions): Promise<Json[]>;
193
- get(taskId: string): Promise<Json>;
194
- create(input: OperatorTaskCreate): Promise<Json>;
195
- cancel(taskId: string): Promise<Json>;
196
- retry(taskId: string): Promise<Json>;
197
- reprioritize(taskId: string, priority: string): Promise<Json>;
224
+ list<T = Json>(opts?: OperatorTaskListOptions): Promise<T[]>;
225
+ get<T = Json>(taskId: string): Promise<T>;
226
+ create<T = Json>(input: OperatorTaskCreate): Promise<T>;
227
+ cancel<T = Json>(taskId: string): Promise<T>;
228
+ retry<T = Json>(taskId: string): Promise<T>;
229
+ reprioritize<T = Json>(taskId: string, priority: string): Promise<T>;
198
230
  }
199
231
  /** `client.operator.*` — operator task queue (NL kanban). */
200
232
  declare class OperatorResource {
@@ -205,44 +237,44 @@ declare class OperatorResource {
205
237
  declare class ObjectsResource {
206
238
  private readonly t;
207
239
  constructor(t: Transport);
208
- get(objectId: string): Promise<Json>;
209
- list(kind: string, opts?: {
240
+ get<T = Json>(objectId: string): Promise<T>;
241
+ list<T = Json>(kind: string, opts?: {
210
242
  limit?: number;
211
243
  offset?: number;
212
244
  q?: string;
213
- }): Promise<Json[]>;
214
- create(kind: string, properties: Json, name?: string): Promise<Json>;
215
- createMany(kind: string, items: Json[], markings?: string[]): Promise<Json>;
216
- delete(objectId: string): Promise<Json>;
217
- bulkDelete(opts: {
245
+ }): Promise<T[]>;
246
+ create<T = Json>(kind: string, properties: Json, name?: string): Promise<T>;
247
+ createMany<T = Json>(kind: string, items: Json[], markings?: string[]): Promise<T>;
248
+ delete<T = Json>(objectId: string): Promise<T>;
249
+ bulkDelete<T = Json>(opts: {
218
250
  object_ids?: string[];
219
251
  kind?: string;
220
252
  dry_run?: boolean;
221
253
  confirm?: boolean;
222
254
  expected_count?: number;
223
- }): Promise<Json>;
224
- links(objectId: string): Promise<Json[]>;
225
- history(objectId: string): Promise<Json[]>;
226
- queryTimeseries(objectId: string, propertyName: string, opts?: {
255
+ }): Promise<T>;
256
+ links<T = Json>(objectId: string): Promise<T[]>;
257
+ history<T = Json>(objectId: string): Promise<T[]>;
258
+ queryTimeseries<T = Json>(objectId: string, propertyName: string, opts?: {
227
259
  from_time?: string;
228
260
  to_time?: string;
229
261
  max_points?: number;
230
- }): Promise<Json>;
231
- appendTimeseries(objectId: string, propertyName: string, points: Json[]): Promise<Json>;
262
+ }): Promise<T>;
263
+ appendTimeseries<T = Json>(objectId: string, propertyName: string, points: Json[]): Promise<T>;
232
264
  }
233
265
  declare class GraphResource {
234
266
  private readonly t;
235
267
  constructor(t: Transport);
236
- expand(seedId: string, opts?: {
268
+ expand<T = Json>(seedId: string, opts?: {
237
269
  depth?: number;
238
270
  limit?: number;
239
- }): Promise<Json>;
271
+ }): Promise<T>;
240
272
  }
241
273
  declare class ExplorerResource {
242
274
  private readonly t;
243
275
  constructor(t: Transport);
244
- histogram(property: string, filters?: Json): Promise<Json[]>;
245
- timeline(filters?: Json, bin?: string): Promise<Json[]>;
276
+ histogram<T = Json>(property: string, filters?: Json): Promise<T[]>;
277
+ timeline<T = Json>(filters?: Json, bin?: string): Promise<T[]>;
246
278
  }
247
279
  interface ObjectTypeWrite {
248
280
  title_property: string;
@@ -254,22 +286,22 @@ interface ObjectTypeWrite {
254
286
  declare class ObjectTypesResource {
255
287
  private readonly t;
256
288
  constructor(t: Transport);
257
- get(kind: string): Promise<Json>;
258
- create(kind: string, input: ObjectTypeWrite): Promise<Json>;
259
- update(kind: string, input: ObjectTypeWrite): Promise<Json>;
260
- delete(kind: string): Promise<Json>;
289
+ get<T = Json>(kind: string): Promise<T>;
290
+ create<T = Json>(kind: string, input: ObjectTypeWrite): Promise<T>;
291
+ update<T = Json>(kind: string, input: ObjectTypeWrite): Promise<T>;
292
+ delete<T = Json>(kind: string): Promise<T>;
261
293
  }
262
294
  declare class LinkTypesResource {
263
295
  private readonly t;
264
296
  constructor(t: Transport);
265
- declare(input: {
297
+ declare<T = Json>(input: {
266
298
  source_kind: string;
267
299
  target_kind: string;
268
300
  relation: string;
269
301
  cardinality: string;
270
302
  inverse_label?: string;
271
- }): Promise<Json>;
272
- delete(edgeId: string): Promise<Json>;
303
+ }): Promise<T>;
304
+ delete<T = Json>(edgeId: string): Promise<T>;
273
305
  }
274
306
  /** `client.ontology.*` — objects, graph, explorer, object/link types, OSDK manifest. */
275
307
  declare class OntologyResource {
@@ -282,46 +314,46 @@ declare class OntologyResource {
282
314
  constructor(t: Transport);
283
315
  /** Shortcut — same as `objectTypes.get(kind)`. */
284
316
  objectType(kind: string): Promise<Json>;
285
- osdkManifest(): Promise<Json[]>;
286
- osdkFunctions(): Promise<Json[]>;
287
- osdkGenerate(lang?: string): Promise<Json>;
317
+ osdkManifest<T = Json>(): Promise<T[]>;
318
+ osdkFunctions<T = Json>(): Promise<T[]>;
319
+ osdkGenerate<T = Json>(lang?: string): Promise<T>;
288
320
  }
289
321
 
290
322
  declare class FlowsResource {
291
323
  private readonly t;
292
324
  constructor(t: Transport);
293
- list(): Promise<Json[]>;
294
- get(flowId: string): Promise<Json>;
295
- runs(flowId: string): Promise<Json[]>;
296
- patch(flowId: string, payload: Json): Promise<Json>;
297
- run(flowId: string, dryRun?: boolean): Promise<Json>;
325
+ list<T = Json>(): Promise<T[]>;
326
+ get<T = Json>(flowId: string): Promise<T>;
327
+ runs<T = Json>(flowId: string): Promise<T[]>;
328
+ patch<T = Json>(flowId: string, payload: Json): Promise<T>;
329
+ run<T = Json>(flowId: string, dryRun?: boolean): Promise<T>;
298
330
  }
299
331
  declare class AgentsResource {
300
332
  private readonly t;
301
333
  constructor(t: Transport);
302
- list(): Promise<Json[]>;
303
- get(agentId: string): Promise<Json>;
304
- patch(agentId: string, config: Json): Promise<Json>;
305
- manualRun(agentId: string): Promise<Json>;
306
- runs(agentId: string): Promise<Json[]>;
334
+ list<T = Json>(): Promise<T[]>;
335
+ get<T = Json>(agentId: string): Promise<T>;
336
+ patch<T = Json>(agentId: string, config: Json): Promise<T>;
337
+ manualRun<T = Json>(agentId: string): Promise<T>;
338
+ runs<T = Json>(agentId: string): Promise<T[]>;
307
339
  }
308
340
  declare class ModelsResource {
309
341
  private readonly t;
310
342
  constructor(t: Transport);
311
- catalog(provider?: string): Promise<Json[]>;
312
- defaults(): Promise<Json[]>;
313
- setDefault(input: {
343
+ catalog<T = Json>(provider?: string): Promise<T[]>;
344
+ defaults<T = Json>(): Promise<T[]>;
345
+ setDefault<T = Json>(input: {
314
346
  provider: string;
315
347
  model: string;
316
348
  purpose?: string;
317
349
  provider_id?: string;
318
- }): Promise<Json>;
350
+ }): Promise<T>;
319
351
  }
320
352
  declare class BudgetResource {
321
353
  private readonly t;
322
354
  constructor(t: Transport);
323
- get(): Promise<Json>;
324
- set(tokensPerMonth: number): Promise<Json>;
355
+ get<T = Json>(): Promise<T>;
356
+ set<T = Json>(tokensPerMonth: number): Promise<T>;
325
357
  }
326
358
  /** `client.aip.*` — flows, agents, model catalog/defaults, LLM budget. */
327
359
  declare class AipResource {
@@ -358,43 +390,43 @@ interface PullRequestCreate {
358
390
  declare class FunctionsResource {
359
391
  private readonly t;
360
392
  constructor(t: Transport);
361
- list(): Promise<Json[]>;
362
- get(slug: string): Promise<Json>;
363
- create(input: FunctionCreate): Promise<Json>;
364
- invoke(slug: string, inputs?: Json, opts?: {
393
+ list<T = Json>(): Promise<T[]>;
394
+ get<T = Json>(slug: string): Promise<T>;
395
+ create<T = Json>(input: FunctionCreate): Promise<T>;
396
+ invoke<T = Json>(slug: string, inputs?: Json, opts?: {
365
397
  branch?: string;
366
398
  draft?: boolean;
367
- }): Promise<Json>;
368
- tests(slug: string): Promise<Json[]>;
369
- addTest(slug: string, name: string, inputs?: Json, expectedContains?: string): Promise<Json>;
370
- runTest(slug: string, testId: string): Promise<Json>;
371
- runTests(slug: string): Promise<Json>;
372
- publish(slug: string, branch?: string): Promise<Json>;
373
- versions(slug: string): Promise<Json[]>;
374
- pullRequests(slug: string, status?: string): Promise<Json[]>;
375
- openPullRequest(slug: string, input: PullRequestCreate): Promise<Json>;
376
- updatePullRequest(slug: string, prId: string, patch: Json): Promise<Json>;
377
- runPrCi(slug: string, prId: string): Promise<Json>;
378
- reviewPullRequest(slug: string, prId: string, decision: string, comment?: string): Promise<Json>;
379
- mergePullRequest(slug: string, prId: string): Promise<Json>;
399
+ }): Promise<T>;
400
+ tests<T = Json>(slug: string): Promise<T[]>;
401
+ addTest<T = Json>(slug: string, name: string, inputs?: Json, expectedContains?: string): Promise<T>;
402
+ runTest<T = Json>(slug: string, testId: string): Promise<T>;
403
+ runTests<T = Json>(slug: string): Promise<T>;
404
+ publish<T = Json>(slug: string, branch?: string): Promise<T>;
405
+ versions<T = Json>(slug: string): Promise<T[]>;
406
+ pullRequests<T = Json>(slug: string, status?: string): Promise<T[]>;
407
+ openPullRequest<T = Json>(slug: string, input: PullRequestCreate): Promise<T>;
408
+ updatePullRequest<T = Json>(slug: string, prId: string, patch: Json): Promise<T>;
409
+ runPrCi<T = Json>(slug: string, prId: string): Promise<T>;
410
+ reviewPullRequest<T = Json>(slug: string, prId: string, decision: string, comment?: string): Promise<T>;
411
+ mergePullRequest<T = Json>(slug: string, prId: string): Promise<T>;
380
412
  }
381
413
  /** `client.codeRepositories.*` — repos/branches around Code Functions. */
382
414
  declare class CodeRepositoriesResource {
383
415
  private readonly t;
384
416
  constructor(t: Transport);
385
- list(): Promise<Json[]>;
386
- create(input: {
417
+ list<T = Json>(): Promise<T[]>;
418
+ create<T = Json>(input: {
387
419
  slug: string;
388
420
  display_name: string;
389
421
  description?: string;
390
422
  default_branch?: string;
391
- }): Promise<Json>;
392
- branches(repoId: string): Promise<Json[]>;
393
- createBranch(repoId: string, name: string, description?: string): Promise<Json>;
394
- functions(repoId: string): Promise<Json[]>;
395
- assignFunction(repoId: string, slug: string): Promise<Json>;
396
- runCi(repoId: string): Promise<Json>;
397
- mergeBranch(repoId: string, sourceBranch: string, into?: string): Promise<Json>;
423
+ }): Promise<T>;
424
+ branches<T = Json>(repoId: string): Promise<T[]>;
425
+ createBranch<T = Json>(repoId: string, name: string, description?: string): Promise<T>;
426
+ functions<T = Json>(repoId: string): Promise<T[]>;
427
+ assignFunction<T = Json>(repoId: string, slug: string): Promise<T>;
428
+ runCi<T = Json>(repoId: string): Promise<T>;
429
+ mergeBranch<T = Json>(repoId: string, sourceBranch: string, into?: string): Promise<T>;
398
430
  }
399
431
 
400
432
  type TransactionKind = "SNAPSHOT" | "APPEND" | "UPDATE" | "DELETE";
@@ -402,34 +434,1702 @@ type TransactionKind = "SNAPSHOT" | "APPEND" | "UPDATE" | "DELETE";
402
434
  declare class DatasetsResource {
403
435
  private readonly t;
404
436
  constructor(t: Transport);
405
- list(): Promise<Json[]>;
406
- get(name: string): Promise<Json>;
407
- sample(name: string, limit?: number): Promise<Json>;
408
- listBranches(name: string): Promise<Json[]>;
409
- createBranch(name: string, branchName: string, opts?: {
437
+ list<T = Json>(): Promise<T[]>;
438
+ get<T = Json>(name: string): Promise<T>;
439
+ sample<T = Json>(name: string, limit?: number): Promise<T>;
440
+ listBranches<T = Json>(name: string): Promise<T[]>;
441
+ createBranch<T = Json>(name: string, branchName: string, opts?: {
410
442
  from_branch?: string;
411
443
  from_asset_id?: string;
412
444
  description?: string;
413
445
  project_id?: string;
414
- }): Promise<Json>;
415
- deactivateBranch(name: string, branchName: string): Promise<Json>;
416
- listTransactions(name: string, branch?: string): Promise<Json[]>;
417
- beginTransaction(name: string, kind: TransactionKind, branch?: string): Promise<Json>;
418
- commitTransaction(name: string, txId: string, inputPayload: Json): Promise<Json>;
419
- abortTransaction(name: string, txId: string, reason?: string): Promise<Json>;
420
- mergeFastForward(name: string, source: string, into: string): Promise<Json>;
446
+ }): Promise<T>;
447
+ deactivateBranch<T = Json>(name: string, branchName: string): Promise<T>;
448
+ listTransactions<T = Json>(name: string, branch?: string): Promise<T[]>;
449
+ beginTransaction<T = Json>(name: string, kind: TransactionKind, branch?: string): Promise<T>;
450
+ commitTransaction<T = Json>(name: string, txId: string, inputPayload: Json): Promise<T>;
451
+ abortTransaction<T = Json>(name: string, txId: string, reason?: string): Promise<T>;
452
+ mergeFastForward<T = Json>(name: string, source: string, into: string): Promise<T>;
421
453
  /** 409 responses carry the conflict body in `AegisAPIError.payload`. */
422
- mergeThreeWay(name: string, source: string, into: string, resolutions?: Json): Promise<Json>;
423
- getClassification(name: string): Promise<Json>;
424
- setClassification(name: string, patch: {
454
+ mergeThreeWay<T = Json>(name: string, source: string, into: string, resolutions?: Json): Promise<T>;
455
+ getClassification<T = Json>(name: string): Promise<T>;
456
+ setClassification<T = Json>(name: string, patch: {
425
457
  data_classification?: string;
426
458
  file_classification?: string;
427
- }): Promise<Json>;
428
- listMarkings(name: string): Promise<Json[]>;
429
- applyMarking(name: string, markingId: string): Promise<Json>;
459
+ }): Promise<T>;
460
+ listMarkings<T = Json>(name: string): Promise<T[]>;
461
+ applyMarking<T = Json>(name: string, markingId: string): Promise<T>;
430
462
  removeMarking(name: string, markingId: string): Promise<void>;
431
463
  }
432
464
 
465
+ /** `client.geo.*` — geospatial read layer over the ontology (/api/v1/geo). */
466
+ declare class GeoResource {
467
+ private readonly t;
468
+ constructor(t: Transport);
469
+ nodes<T = Json>(opts?: {
470
+ node_type?: string;
471
+ since_minutes?: number;
472
+ limit?: number;
473
+ bbox?: string;
474
+ }): Promise<T>;
475
+ nodeTypes<T = Json>(): Promise<T>;
476
+ sources<T = Json>(): Promise<T>;
477
+ edges<T = Json>(nodeIds: string[], relationTypes?: string[]): Promise<T>;
478
+ /** Catalog of keyless reference layers (IBGE limits, CNES health, …). */
479
+ referenceLayers<T = Json>(): Promise<T>;
480
+ /** GeoJSON of one reference layer (resilient keyless proxy). */
481
+ referenceLayer<T = Json>(layerId: string, opts?: {
482
+ uf?: string;
483
+ municipio?: string;
484
+ }): Promise<T>;
485
+ zones<T = Json>(): Promise<T>;
486
+ importZones<T = Json>(features: Json[], opts?: {
487
+ default_zone_type?: string;
488
+ extruded_height?: number;
489
+ source_name?: string;
490
+ }): Promise<T>;
491
+ deleteZone(zoneId: string): Promise<void>;
492
+ }
493
+ /** `client.mapTemplates.*` — reusable map specs (v22).
494
+ * (The Python SDK's stdout `Map` builder is sandbox-IDE-only and is not ported.) */
495
+ declare class MapTemplatesResource {
496
+ private readonly t;
497
+ constructor(t: Transport);
498
+ list(): Promise<Json[]>;
499
+ get<T = Json>(templateId: string): Promise<T>;
500
+ create<T = Json>(name: string, spec: Json, description?: string): Promise<T>;
501
+ instantiate<T = Json>(templateId: string, variables?: Json): Promise<T>;
502
+ /** Returns the raw SVG markup (non-JSON body). */
503
+ exportSvg(templateId: string): Promise<string>;
504
+ }
505
+ /** `client.media.*` — media sets + item metadata (bytes live in MinIO via `uri`). */
506
+ declare class MediaResource {
507
+ private readonly t;
508
+ constructor(t: Transport);
509
+ listSets<T = Json>(): Promise<T[]>;
510
+ createSet<T = Json>(input: {
511
+ slug: string;
512
+ display_name: string;
513
+ /** image | video | audio | document | mixed */
514
+ media_type: string;
515
+ bucket?: string;
516
+ markings?: string[];
517
+ project_id?: string;
518
+ }): Promise<T>;
519
+ deleteSet<T = Json>(setId: string): Promise<T>;
520
+ listItems<T = Json>(setId: string): Promise<T[]>;
521
+ /** Metadata only — no file bytes are uploaded (pass a pre-supplied `uri`). */
522
+ addItem<T = Json>(setId: string, input: {
523
+ filename: string;
524
+ content_type?: string;
525
+ size_bytes?: number;
526
+ uri?: string;
527
+ meta?: Json;
528
+ }): Promise<T>;
529
+ }
530
+ /** `client.docs.*` — platform documentation tree. */
531
+ declare class DocsResource {
532
+ private readonly t;
533
+ constructor(t: Transport);
534
+ tree<T = Json>(): Promise<T>;
535
+ read<T = Json>(path: string): Promise<T>;
536
+ }
537
+ /** `client.pages.*` — registered pages (v23 page registry). */
538
+ declare class PagesResource {
539
+ private readonly t;
540
+ constructor(t: Transport);
541
+ list<T = Json>(opts?: {
542
+ status?: string;
543
+ scope?: string;
544
+ perm?: string;
545
+ }): Promise<T[]>;
546
+ get<T = Json>(slug: string): Promise<T>;
547
+ getConfig<T = Json>(slug: string): Promise<T>;
548
+ create<T = Json>(input: {
549
+ slug: string;
550
+ title: string;
551
+ route: string;
552
+ status?: string;
553
+ workspace_bindings?: Json[];
554
+ marking_requirements?: string[];
555
+ iam_perm_required?: string;
556
+ config?: Json;
557
+ }): Promise<T>;
558
+ update<T = Json>(slug: string, patch: Json): Promise<T>;
559
+ /** Soft delete — page moves to status=archived. */
560
+ delete<T = Json>(slug: string): Promise<T>;
561
+ duplicate<T = Json>(slug: string): Promise<T>;
562
+ putConfig<T = Json>(slug: string, config: Json): Promise<T>;
563
+ publish<T = Json>(slug: string): Promise<T>;
564
+ }
565
+ /** `client.dossier.*` — async dossier generation (start → poll `get`). */
566
+ declare class DossierResource {
567
+ private readonly t;
568
+ constructor(t: Transport);
569
+ startGeneric<T = Json>(nodeId: string, purpose?: string): Promise<T>;
570
+ /** Requires `anchor_node_id` or `node_ids`. */
571
+ startComposite<T = Json>(input: {
572
+ anchor_node_id?: string;
573
+ node_ids?: string[];
574
+ purpose?: string;
575
+ correlate?: boolean;
576
+ scene?: boolean;
577
+ max_depth?: number;
578
+ budget_nodes?: number;
579
+ }): Promise<T>;
580
+ /** Poll until `status === "done"`; `result` is then populated. */
581
+ get<T = Json>(taskId: string): Promise<T>;
582
+ }
583
+ /** `client.timeseries.*` — chart definitions + render (v23). */
584
+ declare class TimeSeriesResource {
585
+ private readonly t;
586
+ constructor(t: Transport);
587
+ list<T = Json>(): Promise<T[]>;
588
+ create<T = Json>(input: {
589
+ slug: string;
590
+ display_name: string;
591
+ node_type: string;
592
+ /** e.g. `{ bucket: "day" | "hour" }` */
593
+ config?: Json;
594
+ markings?: string[];
595
+ }): Promise<T>;
596
+ delete<T = Json>(chartId: string): Promise<T>;
597
+ render<T = Json>(chartId: string): Promise<T>;
598
+ }
599
+
600
+ declare class AlertFeedsResource {
601
+ private readonly t;
602
+ constructor(t: Transport);
603
+ list<T = Json>(): Promise<T[]>;
604
+ create<T = Json>(name: string, filters: Json, cadenceSeconds?: number): Promise<T>;
605
+ delete(feedId: string): Promise<void>;
606
+ alerts<T = Json>(): Promise<T[]>;
607
+ acknowledge(alertId: string): Promise<void>;
608
+ }
609
+ declare class AlertWatchesResource {
610
+ private readonly t;
611
+ constructor(t: Transport);
612
+ list<T = Json>(): Promise<T[]>;
613
+ create<T = Json>(objectId: string): Promise<T>;
614
+ delete(watchId: string): Promise<void>;
615
+ alerts<T = Json>(): Promise<T[]>;
616
+ acknowledge(alertId: string): Promise<void>;
617
+ }
618
+ declare class AlertGeofencesResource {
619
+ private readonly t;
620
+ constructor(t: Transport);
621
+ list<T = Json>(): Promise<T[]>;
622
+ /** `coordinates` is shape-dependent: polygon `[[lon,lat],…]`, circle
623
+ * `{center, radius_meters}`, corridor/route `{waypoints, width_meters}`. */
624
+ create<T = Json>(input: {
625
+ name: string;
626
+ shape: string;
627
+ coordinates: unknown;
628
+ severity?: string;
629
+ baseline_silent?: boolean;
630
+ }): Promise<T>;
631
+ update<T = Json>(geofenceId: string, patch: Json): Promise<T>;
632
+ delete(geofenceId: string): Promise<void>;
633
+ alerts<T = Json>(): Promise<T[]>;
634
+ acknowledge(alertId: string): Promise<void>;
635
+ }
636
+ declare class AlertSharesResource {
637
+ private readonly t;
638
+ constructor(t: Transport);
639
+ list<T = Json>(): Promise<T[]>;
640
+ acknowledge(alertId: string): Promise<void>;
641
+ }
642
+ declare class AlertRoutesResource {
643
+ private readonly t;
644
+ constructor(t: Transport);
645
+ list<T = Json>(): Promise<T[]>;
646
+ create<T = Json>(input: {
647
+ name: string;
648
+ channel: string;
649
+ match?: Json;
650
+ channel_config_ref?: string;
651
+ escalation?: Json;
652
+ active?: boolean;
653
+ }): Promise<T>;
654
+ update<T = Json>(routeId: string, patch: Json): Promise<T>;
655
+ delete(routeId: string): Promise<void>;
656
+ silence<T = Json>(routeId: string, minutes: number): Promise<T>;
657
+ unsilence(routeId: string): Promise<Json>;
658
+ silenceState<T = Json>(routeId: string): Promise<T>;
659
+ kinds(): Promise<string[]>;
660
+ }
661
+ declare class AlertInboxResource {
662
+ private readonly t;
663
+ constructor(t: Transport);
664
+ list<T = Json>(opts?: {
665
+ kinds?: string[];
666
+ severities?: string[];
667
+ status?: string;
668
+ limit?: number;
669
+ offset?: number;
670
+ }): Promise<T[]>;
671
+ countPending(): Promise<number>;
672
+ acknowledge<T = Json>(alertId: string): Promise<T>;
673
+ }
674
+ /** `client.alerts.*` — feeds, watches, geofences, shares, routes, inbox. */
675
+ declare class AlertsResource {
676
+ private readonly t;
677
+ readonly feeds: AlertFeedsResource;
678
+ readonly watches: AlertWatchesResource;
679
+ readonly geofences: AlertGeofencesResource;
680
+ readonly shares: AlertSharesResource;
681
+ readonly routes: AlertRoutesResource;
682
+ readonly inbox: AlertInboxResource;
683
+ constructor(t: Transport);
684
+ escalate(alertId: string): Promise<void>;
685
+ channels<T = Json>(): Promise<T[]>;
686
+ }
687
+ /** `client.alarms.*` — threshold alarm rules on node properties (v26). */
688
+ declare class AlarmsResource {
689
+ private readonly t;
690
+ constructor(t: Transport);
691
+ list<T = Json>(): Promise<T[]>;
692
+ /** `node_id` XOR `node_type`; operator ∈ gt|gte|lt|lte|eq|ne. */
693
+ create<T = Json>(input: {
694
+ name: string;
695
+ property_name: string;
696
+ operator: string;
697
+ threshold: number;
698
+ node_id?: string;
699
+ node_type?: string;
700
+ action_type_name?: string;
701
+ action_payload?: Json;
702
+ cooldown_seconds?: number;
703
+ active?: boolean;
704
+ }): Promise<T>;
705
+ update<T = Json>(ruleId: string, patch: Json): Promise<T>;
706
+ delete(ruleId: string): Promise<void>;
707
+ events<T = Json>(opts?: {
708
+ rule_id?: string;
709
+ limit?: number;
710
+ }): Promise<T[]>;
711
+ }
712
+ /** `client.events.*` — detections pipeline status + dead-letter queue. */
713
+ declare class EventsResource {
714
+ private readonly t;
715
+ constructor(t: Transport);
716
+ pipelineStatus<T = Json>(): Promise<T>;
717
+ dlqList<T = Json>(limit?: number): Promise<T>;
718
+ /** Exactly one of `ids` / `all` is required. */
719
+ dlqRetry<T = Json>(opts: {
720
+ ids?: string[];
721
+ all?: boolean;
722
+ }): Promise<T>;
723
+ /** Exactly one of `ids` / `all` is required. */
724
+ dlqPurge<T = Json>(opts: {
725
+ ids?: string[];
726
+ all?: boolean;
727
+ }): Promise<T>;
728
+ }
729
+ /** `client.connectors.*` — HTTP connector agents under governance. */
730
+ declare class ConnectorsResource {
731
+ private readonly t;
732
+ constructor(t: Transport);
733
+ list<T = Json>(): Promise<T[]>;
734
+ patch<T = Json>(agentId: string, patch: Json): Promise<T>;
735
+ /** status ∈ inactive|active|running|degraded|failed */
736
+ setStatus(agentId: string, status: string): Promise<Json>;
737
+ bindings<T = Json>(agentId: string): Promise<T[]>;
738
+ /** Two calls: creates the worker agent, then binds the `connector.http` skill. */
739
+ register(input: {
740
+ slug: string;
741
+ display_name: string;
742
+ base_url: string;
743
+ node_type: string;
744
+ id_field: string;
745
+ path?: string;
746
+ name_field?: string;
747
+ records_path?: string;
748
+ auth?: Json;
749
+ pagination?: Json;
750
+ cron_preset?: string;
751
+ }): Promise<Json>;
752
+ test<T = Json>(agentId: string): Promise<T>;
753
+ run<T = Json>(agentId: string): Promise<T>;
754
+ schedulerTick<T = Json>(): Promise<T>;
755
+ /** source ∈ native|clawhub */
756
+ skillCatalog<T = Json>(source?: string): Promise<T[]>;
757
+ installOpenclaw<T = Json>(slug: string): Promise<T>;
758
+ refreshOpenclaw<T = Json>(): Promise<T>;
759
+ }
760
+ /** `client.pipelines.*` — data pipelines (v22 CRUD + v23 preview/dry-run). */
761
+ declare class PipelinesResource {
762
+ private readonly t;
763
+ constructor(t: Transport);
764
+ list<T = Json>(): Promise<T[]>;
765
+ transformPreview<T = Json>(sampleRows: Json[], steps: Json[]): Promise<T>;
766
+ dryRun<T = Json>(boardId: string): Promise<T>;
767
+ syncPreview<T = Json>(format: string, opts?: {
768
+ sample?: string;
769
+ source_url?: string;
770
+ options?: Json;
771
+ headers?: Json;
772
+ }): Promise<T>;
773
+ create<T = Json>(input: {
774
+ slug: string;
775
+ display_name: string;
776
+ description?: string;
777
+ /** `{ source, steps[], output?: { target_node_type, id_field } }` */
778
+ spec?: Json;
779
+ }): Promise<T>;
780
+ update<T = Json>(pipelineId: string, patch: Json): Promise<T>;
781
+ setSchedule(pipelineId: string, preset: string): Promise<Json>;
782
+ build<T = Json>(pipelineId: string, opts?: {
783
+ incremental?: boolean;
784
+ branch?: string;
785
+ }): Promise<T>;
786
+ runs<T = Json>(pipelineId: string, limit?: number): Promise<T[]>;
787
+ }
788
+ declare class ChatChannelsResource {
789
+ private readonly t;
790
+ constructor(t: Transport);
791
+ list<T = Json>(): Promise<T[]>;
792
+ get<T = Json>(channelId: string): Promise<T>;
793
+ create<T = Json>(input: {
794
+ name: string;
795
+ visibility?: string;
796
+ min_classification?: string;
797
+ project_id?: string;
798
+ description?: string;
799
+ }): Promise<T>;
800
+ patch<T = Json>(channelId: string, payload: Json): Promise<T>;
801
+ delete(channelId: string): Promise<void>;
802
+ }
803
+ declare class ChatMessagesResource {
804
+ private readonly t;
805
+ constructor(t: Transport);
806
+ list<T = Json>(channelId: string, opts?: {
807
+ limit?: number;
808
+ before?: string;
809
+ }): Promise<T[]>;
810
+ send<T = Json>(channelId: string, body: string, opts?: {
811
+ classification?: string;
812
+ embeds?: Json[];
813
+ }): Promise<T>;
814
+ }
815
+ /** `client.chat.*` — operator chat channels + messages. */
816
+ declare class ChatResource {
817
+ readonly channels: ChatChannelsResource;
818
+ readonly messages: ChatMessagesResource;
819
+ constructor(t: Transport);
820
+ }
821
+ /** `client.notepad.*` — markdown docs (v23). */
822
+ declare class NotepadResource {
823
+ private readonly t;
824
+ constructor(t: Transport);
825
+ list<T = Json>(): Promise<T[]>;
826
+ get<T = Json>(docId: string): Promise<T>;
827
+ create<T = Json>(input: {
828
+ slug: string;
829
+ title: string;
830
+ body_md?: string;
831
+ markings?: string[];
832
+ pinned?: boolean;
833
+ project_id?: string;
834
+ }): Promise<T>;
835
+ /** Mirrors Python: all keys are sent (null = unchanged server-side). */
836
+ update<T = Json>(docId: string, patch: {
837
+ title?: string;
838
+ body_md?: string;
839
+ markings?: string[];
840
+ pinned?: boolean;
841
+ }): Promise<T>;
842
+ delete<T = Json>(docId: string): Promise<T>;
843
+ }
844
+
845
+ /** `client.lineage.*` — workflow lineage graph + event log. */
846
+ declare class LineageResource {
847
+ private readonly t;
848
+ constructor(t: Transport);
849
+ graph<T = Json>(opts?: {
850
+ marking?: string;
851
+ since?: string;
852
+ kind?: string;
853
+ limit_events?: number;
854
+ }): Promise<T>;
855
+ events<T = Json>(opts?: {
856
+ limit?: number;
857
+ offset?: number;
858
+ event_type?: string;
859
+ status?: string;
860
+ }): Promise<T[]>;
861
+ }
862
+ /** `client.accessAudit.*` — governance access-audit trail. */
863
+ declare class AccessAuditResource {
864
+ private readonly t;
865
+ constructor(t: Transport);
866
+ list<T = Json>(opts?: {
867
+ resource_type?: string;
868
+ resource_id?: string;
869
+ user_id?: string;
870
+ since?: string;
871
+ until?: string;
872
+ limit?: number;
873
+ }): Promise<T[]>;
874
+ }
875
+ declare class MarkingCategoriesResource {
876
+ private readonly t;
877
+ constructor(t: Transport);
878
+ list<T = Json>(opts?: {
879
+ limit?: number;
880
+ offset?: number;
881
+ }): Promise<T[]>;
882
+ create<T = Json>(input: {
883
+ slug: string;
884
+ display_name: string;
885
+ mode?: string;
886
+ description?: string;
887
+ }): Promise<T>;
888
+ }
889
+ /** `client.markings.*` — marking catalog + per-user eligibility. */
890
+ declare class MarkingsResource {
891
+ private readonly t;
892
+ readonly categories: MarkingCategoriesResource;
893
+ constructor(t: Transport);
894
+ list<T = Json>(opts?: {
895
+ limit?: number;
896
+ offset?: number;
897
+ category_id?: string;
898
+ }): Promise<T[]>;
899
+ get<T = Json>(markingId: string): Promise<T>;
900
+ create<T = Json>(input: {
901
+ slug: string;
902
+ display_name: string;
903
+ description?: string;
904
+ category_id?: string;
905
+ }): Promise<T>;
906
+ update<T = Json>(markingId: string, patch: {
907
+ display_name?: string;
908
+ description?: string;
909
+ category_id?: string;
910
+ active?: boolean;
911
+ }): Promise<T>;
912
+ listEligibility<T = Json>(markingId: string): Promise<T[]>;
913
+ grantEligibility<T = Json>(markingId: string, userId: string, canApply?: boolean): Promise<T>;
914
+ revokeEligibility(markingId: string, userId: string): Promise<void>;
915
+ }
916
+ /** `client.resourceMarkings.*` — markings applied to arbitrary resources. */
917
+ declare class ResourceMarkingsResource {
918
+ private readonly t;
919
+ constructor(t: Transport);
920
+ list<T = Json>(resourceKind: string, resourceId: string): Promise<T[]>;
921
+ apply<T = Json>(resourceKind: string, resourceId: string, markingId: string): Promise<T>;
922
+ remove(resourceKind: string, resourceId: string, markingId: string): Promise<void>;
923
+ }
924
+ /** `client.propertyMarkings.*` — markings on individual node properties. */
925
+ declare class PropertyMarkingsResource {
926
+ private readonly t;
927
+ constructor(t: Transport);
928
+ listForNode<T = Json>(nodeId: string): Promise<T>;
929
+ listOne<T = Json>(nodeId: string, propertyKey: string): Promise<T[]>;
930
+ apply<T = Json>(nodeId: string, propertyKey: string, markingId: string): Promise<T>;
931
+ remove(nodeId: string, propertyKey: string, markingId: string): Promise<void>;
932
+ }
933
+ /** `client.rowPolicies.*` — row-level security policy templates (v26). */
934
+ declare class RowPoliciesResource {
935
+ private readonly t;
936
+ constructor(t: Transport);
937
+ list<T = Json>(): Promise<T[]>;
938
+ create<T = Json>(input: {
939
+ object_type: string;
940
+ role: string;
941
+ predicate_template: string;
942
+ description?: string;
943
+ active?: boolean;
944
+ }): Promise<T>;
945
+ delete(policyId: string): Promise<void>;
946
+ }
947
+ interface ErasureSelector {
948
+ node_ids?: string[];
949
+ property?: string;
950
+ value?: string;
951
+ node_type?: string;
952
+ }
953
+ /** `client.erasure.*` — right-to-be-forgotten (preview first, then forget). */
954
+ declare class ErasureResource {
955
+ private readonly t;
956
+ constructor(t: Transport);
957
+ /** Dry-run: shows the match radius without mutating anything. */
958
+ preview<T = Json>(selector: ErasureSelector): Promise<T>;
959
+ /** Requires `confirm: true`; pass `expected_count` to guard the radius (422 on mismatch). */
960
+ forget<T = Json>(selector: ErasureSelector, opts?: {
961
+ mode?: string;
962
+ reason?: string;
963
+ confirm?: boolean;
964
+ expected_count?: number;
965
+ }): Promise<T>;
966
+ }
967
+ /** `client.retention.*` — retention windows per target + manual prune. */
968
+ declare class RetentionResource {
969
+ private readonly t;
970
+ constructor(t: Transport);
971
+ list<T = Json>(): Promise<T[]>;
972
+ set<T = Json>(target: string, retentionDays: number, active?: boolean): Promise<T>;
973
+ delete(target: string): Promise<void>;
974
+ run<T = Json>(target: string): Promise<T>;
975
+ }
976
+ interface GuestTokenIssue {
977
+ allowed_action_ids: string[];
978
+ label?: string;
979
+ subject?: string;
980
+ ttl_hours?: number;
981
+ max_uses?: number;
982
+ min_interval_seconds?: number;
983
+ /** `{ fence, target, arrival_radius_m }` */
984
+ geo?: Json;
985
+ /** `{ channel, to, text? }` */
986
+ share?: Json;
987
+ link_base?: string;
988
+ }
989
+ /** `client.guestTokens.*` — public /m/{token} guest links. */
990
+ declare class GuestTokensResource {
991
+ private readonly t;
992
+ constructor(t: Transport);
993
+ list<T = Json>(): Promise<T[]>;
994
+ /** Plaintext token appears once in the response — treat as a secret. */
995
+ issue<T = Json>(input: GuestTokenIssue): Promise<T>;
996
+ revoke<T = Json>(tokenId: string): Promise<T>;
997
+ }
998
+
999
+ declare class WorkshopBriefingsResource {
1000
+ private readonly t;
1001
+ constructor(t: Transport);
1002
+ list<T = Json>(): Promise<T[]>;
1003
+ get<T = Json>(briefingId: string): Promise<T>;
1004
+ create<T = Json>(name: string): Promise<T>;
1005
+ patch<T = Json>(briefingId: string, payload: Json): Promise<T>;
1006
+ broadcast<T = Json>(briefingId: string): Promise<T>;
1007
+ }
1008
+ declare class WorkshopDossiersResource {
1009
+ private readonly t;
1010
+ constructor(t: Transport);
1011
+ list<T = Json>(): Promise<T[]>;
1012
+ get<T = Json>(dossierId: string): Promise<T>;
1013
+ create<T = Json>(title: string): Promise<T>;
1014
+ patch<T = Json>(dossierId: string, body: Json): Promise<T>;
1015
+ delete(dossierId: string): Promise<void>;
1016
+ addEmbed<T = Json>(dossierId: string, kind: string, sourceRef: string, nodeId: string): Promise<T>;
1017
+ embeds<T = Json>(dossierId: string): Promise<T[]>;
1018
+ }
1019
+ declare class WorkshopCovsResource {
1020
+ private readonly t;
1021
+ constructor(t: Transport);
1022
+ list<T = Json>(objectType?: string): Promise<T[]>;
1023
+ get<T = Json>(covId: string): Promise<T>;
1024
+ /** Full-object upsert. */
1025
+ save<T = Json>(cov: Json): Promise<T>;
1026
+ delete(covId: string): Promise<void>;
1027
+ setTeamDefault(covId: string): Promise<void>;
1028
+ }
1029
+ /** `client.workshop.*` — briefings, dossiers, custom object views, widget catalog. */
1030
+ declare class WorkshopResource {
1031
+ private readonly t;
1032
+ readonly briefings: WorkshopBriefingsResource;
1033
+ readonly dossiers: WorkshopDossiersResource;
1034
+ readonly covs: WorkshopCovsResource;
1035
+ constructor(t: Transport);
1036
+ widgetCatalog<T = Json>(proposableOnly?: boolean): Promise<T[]>;
1037
+ }
1038
+ declare class ComputeProvidersResource {
1039
+ private readonly t;
1040
+ constructor(t: Transport);
1041
+ catalog<T = Json>(): Promise<T>;
1042
+ list<T = Json>(): Promise<T[]>;
1043
+ /** `api_key` is write-only — never returned by the API. */
1044
+ create<T = Json>(input: {
1045
+ display_name: string;
1046
+ vendor: string;
1047
+ api_key?: string;
1048
+ base_url?: string;
1049
+ country?: string;
1050
+ jurisdictions?: string[];
1051
+ capabilities?: string[];
1052
+ cert_metadata?: Json;
1053
+ pricing_hint?: Json;
1054
+ provider_kind?: string;
1055
+ enabled?: boolean;
1056
+ }): Promise<T>;
1057
+ update<T = Json>(providerId: string, patch: Json): Promise<T>;
1058
+ delete<T = Json>(providerId: string): Promise<T>;
1059
+ test<T = Json>(providerId: string): Promise<T>;
1060
+ }
1061
+ declare class ComputeReleasesResource {
1062
+ private readonly t;
1063
+ constructor(t: Transport);
1064
+ list<T = Json>(name?: string): Promise<T>;
1065
+ publish<T = Json>(input: {
1066
+ name: string;
1067
+ image: string;
1068
+ eval_score?: number;
1069
+ metrics_sha256?: string;
1070
+ eval_notes?: string;
1071
+ notes?: string;
1072
+ spec?: Json;
1073
+ }): Promise<T>;
1074
+ /** 409 if `eval_score` is below the gate. */
1075
+ promote<T = Json>(name: string, version: string, minEvalScore?: number): Promise<T>;
1076
+ deploy<T = Json>(providerId: string, name: string, channel?: string, extra?: Json): Promise<T>;
1077
+ }
1078
+ /** Scoped control-plane for one provider — `client.compute.control(providerId)`. */
1079
+ declare class ComputeControlResource {
1080
+ private readonly t;
1081
+ private readonly base;
1082
+ constructor(t: Transport, providerId: string);
1083
+ listTemplates<T = Json>(): Promise<T>;
1084
+ saveTemplate<T = Json>(name: string, imageName: string, extra?: Json): Promise<T>;
1085
+ deleteTemplate<T = Json>(templateId: string): Promise<T>;
1086
+ listEndpoints<T = Json>(): Promise<T>;
1087
+ createEndpoint<T = Json>(templateId: string, name: string, extra?: Json): Promise<T>;
1088
+ updateEndpoint<T = Json>(endpointId: string, patch: Json): Promise<T>;
1089
+ deleteEndpoint<T = Json>(endpointId: string): Promise<T>;
1090
+ endpointHealth<T = Json>(endpointId: string): Promise<T>;
1091
+ /** `sync: true` long-polls server-side up to `timeout_s` — pass a matching
1092
+ * `signal` (or raise the client `timeoutMs`) for long jobs. */
1093
+ submitJob<T = Json>(endpointId: string, input: Json, opts?: {
1094
+ sync?: boolean;
1095
+ webhook?: string;
1096
+ timeout_s?: number;
1097
+ }): Promise<T>;
1098
+ jobStatus<T = Json>(endpointId: string, jobId: string): Promise<T>;
1099
+ cancelJob<T = Json>(endpointId: string, jobId: string): Promise<T>;
1100
+ listPods<T = Json>(): Promise<T>;
1101
+ createPod<T = Json>(name: string, imageName: string, extra?: Json): Promise<T>;
1102
+ stopPod<T = Json>(podId: string): Promise<T>;
1103
+ terminatePod<T = Json>(podId: string): Promise<T>;
1104
+ }
1105
+ /** `client.compute.*` — vision compute, providers, releases, per-provider control plane. */
1106
+ declare class ComputeResource {
1107
+ private readonly t;
1108
+ readonly providers: ComputeProvidersResource;
1109
+ readonly releases: ComputeReleasesResource;
1110
+ constructor(t: Transport);
1111
+ selectModel<T = Json>(objective: string, opts?: {
1112
+ intention?: string;
1113
+ jurisdiction?: string;
1114
+ }): Promise<T>;
1115
+ generateSpec<T = Json>(objective: string, opts?: {
1116
+ base_image?: string;
1117
+ contract?: Json;
1118
+ pip?: string[];
1119
+ env?: Json;
1120
+ }): Promise<T>;
1121
+ visionCount<T = Json>(imageUrl: string, instruction: string, opts?: {
1122
+ provider?: string;
1123
+ jurisdiction?: string;
1124
+ /** `{ nw: {lat,lng}, se: {lat,lng} }` */
1125
+ geo_bounds?: Json;
1126
+ /** detect | segment */
1127
+ capability?: string;
1128
+ /** geoshape | point */
1129
+ output_as?: string;
1130
+ }): Promise<T>;
1131
+ /** Factory (no HTTP) — control plane scoped to one provider. */
1132
+ control(providerId: string): ComputeControlResource;
1133
+ }
1134
+ /** `client.inference.*` — audited LLM inference (server-side InferenceLog). */
1135
+ declare class InferenceResource {
1136
+ private readonly t;
1137
+ constructor(t: Transport);
1138
+ complete<T = Json>(prompt: string, opts?: {
1139
+ provider?: string;
1140
+ model?: string;
1141
+ system_prompt?: string;
1142
+ temperature?: number;
1143
+ max_tokens?: number;
1144
+ }): Promise<T>;
1145
+ chat<T = Json>(messages: Json[], opts?: {
1146
+ rag_sources?: string[];
1147
+ rag_limit?: number;
1148
+ provider?: string;
1149
+ model?: string;
1150
+ temperature?: number;
1151
+ max_tokens?: number;
1152
+ }): Promise<T>;
1153
+ models<T = Json>(): Promise<T[]>;
1154
+ collections<T = Json>(): Promise<T[]>;
1155
+ chatWithRag(query: string, opts?: {
1156
+ sources?: string[];
1157
+ limit?: number;
1158
+ provider?: string;
1159
+ model?: string;
1160
+ temperature?: number;
1161
+ max_tokens?: number;
1162
+ system?: string;
1163
+ }): Promise<Json>;
1164
+ auditTrail<T = Json>(opts?: {
1165
+ limit?: number;
1166
+ provider?: string;
1167
+ }): Promise<T[]>;
1168
+ }
1169
+ /** `client.codegen.*` — LLM code generation (server AST-validates; invalid → 400). */
1170
+ declare class CodegenResource {
1171
+ private readonly t;
1172
+ constructor(t: Transport);
1173
+ /** kind ∈ transform|script */
1174
+ generate<T = Json>(objective: string, kind?: string, context?: Json): Promise<T>;
1175
+ }
1176
+ /** `client.correlation.*` — chain correlation (quick 1-hop sync + multi-hop async). */
1177
+ declare class CorrelationResource {
1178
+ private readonly t;
1179
+ constructor(t: Transport);
1180
+ quickLinks<T = Json>(value: string, kind?: string): Promise<T>;
1181
+ startChain<T = Json>(value: string, opts?: {
1182
+ kind?: string;
1183
+ max_depth?: number;
1184
+ budget_nodes?: number;
1185
+ deep_osint_depth?: number;
1186
+ }): Promise<T>;
1187
+ /** Poll until `status === "done"`. */
1188
+ getChain<T = Json>(taskId: string): Promise<T>;
1189
+ /** Opt-in: materializes the chain graph into the ontology. */
1190
+ saveChain<T = Json>(taskId: string, nodeIds?: string[]): Promise<T>;
1191
+ }
1192
+ /** `client.situational.*` — spatio-temporal correlation over positioned nodes. */
1193
+ declare class SituationalResource {
1194
+ private readonly t;
1195
+ constructor(t: Transport);
1196
+ nearby<T = Json>(nodeId: string, opts?: {
1197
+ radius_m?: number;
1198
+ window_s?: number;
1199
+ kinds?: string[];
1200
+ limit?: number;
1201
+ }): Promise<T>;
1202
+ correlations<T = Json>(nodeId: string): Promise<T>;
1203
+ correlate<T = Json>(anchorNodeId: string, opts?: {
1204
+ radius_m?: number;
1205
+ window_s?: number;
1206
+ kinds?: string[];
1207
+ limit?: number;
1208
+ }): Promise<T>;
1209
+ /** Reversible — removes the correlation edge. */
1210
+ cut(edgeId: string): Promise<void>;
1211
+ }
1212
+ /** Merge target selector: `{object_id}` | `{node_type, canonical}` | `{create: node_type}`. */
1213
+ type MergeTarget = Json;
1214
+ /** `client.merge.*` — evidence-preserving merge into canonical objects (perm `ontology.merge`). */
1215
+ declare class MergeResource {
1216
+ private readonly t;
1217
+ constructor(t: Transport);
1218
+ suggestTarget<T = Json>(nodeType: string, canonical: string): Promise<T>;
1219
+ /** Pass `result_payload` (raw) OR `properties` (ready). */
1220
+ preview<T = Json>(target: MergeTarget, opts?: {
1221
+ result_payload?: Json;
1222
+ properties?: Json;
1223
+ }): Promise<T>;
1224
+ /** `field_resolutions`: `{field: "keep"|"replace"|"append"}`;
1225
+ * `link`: `{target_object_id, relation_type, metadata?}`. */
1226
+ apply<T = Json>(target: MergeTarget, opts?: {
1227
+ result_payload?: Json;
1228
+ properties?: Json;
1229
+ field_resolutions?: Json;
1230
+ link?: Json;
1231
+ }): Promise<T>;
1232
+ }
1233
+
1234
+ declare class AtlasLayersResource {
1235
+ private readonly t;
1236
+ constructor(t: Transport);
1237
+ list<T = Json>(): Promise<T[]>;
1238
+ create<T = Json>(name: string, kind: string, extra?: Json): Promise<T>;
1239
+ delete(layerId: string): Promise<void>;
1240
+ /** KML content travels inside the JSON body (not multipart) — same as Python. */
1241
+ importKml<T = Json>(layerId: string, kmlText: string): Promise<T>;
1242
+ }
1243
+ declare class AtlasEvaluationResource {
1244
+ private readonly t;
1245
+ constructor(t: Transport);
1246
+ status<T = Json>(): Promise<T>;
1247
+ runOnce<T = Json>(): Promise<T>;
1248
+ }
1249
+ /** `client.atlas.*` — atlas layers + rule evaluator. */
1250
+ declare class AtlasResource {
1251
+ readonly layers: AtlasLayersResource;
1252
+ readonly evaluation: AtlasEvaluationResource;
1253
+ constructor(t: Transport);
1254
+ }
1255
+ /** `client.briefing.*` — per-slug home briefing. */
1256
+ declare class BriefingResource {
1257
+ private readonly t;
1258
+ constructor(t: Transport);
1259
+ get<T = Json>(slug: string): Promise<T>;
1260
+ refresh<T = Json>(slug: string): Promise<T>;
1261
+ crisisPlan<T = Json>(slug: string): Promise<T>;
1262
+ }
1263
+ declare class CctvBookmarksResource {
1264
+ private readonly t;
1265
+ constructor(t: Transport);
1266
+ create<T = Json>(streamId: string, input: {
1267
+ t_ms: number;
1268
+ label: string;
1269
+ t_end_ms?: number;
1270
+ severity?: string;
1271
+ }): Promise<T>;
1272
+ list<T = Json>(streamId: string, opts?: {
1273
+ from_ms?: number;
1274
+ to_ms?: number;
1275
+ }): Promise<T[]>;
1276
+ delete(bookmarkId: string): Promise<void>;
1277
+ }
1278
+ declare class CctvGcpsResource {
1279
+ private readonly t;
1280
+ constructor(t: Transport);
1281
+ put<T = Json>(streamId: string, gcps: Json[]): Promise<T>;
1282
+ get<T = Json>(streamId: string): Promise<T>;
1283
+ delete(streamId: string): Promise<void>;
1284
+ }
1285
+ declare class CctvHotlistResource {
1286
+ private readonly t;
1287
+ constructor(t: Transport);
1288
+ list<T = Json>(activeOnly?: boolean): Promise<T[]>;
1289
+ add<T = Json>(plate: string, opts?: {
1290
+ reason?: string;
1291
+ severity?: string;
1292
+ }): Promise<T>;
1293
+ remove(watchedId: string): Promise<void>;
1294
+ }
1295
+ /** `client.cctv.*` — CCTV streams, detections, recordings, exports, LPR hotlist. */
1296
+ declare class CctvResource {
1297
+ private readonly t;
1298
+ readonly bookmarks: CctvBookmarksResource;
1299
+ readonly gcps: CctvGcpsResource;
1300
+ readonly hotlist: CctvHotlistResource;
1301
+ constructor(t: Transport);
1302
+ streamsPage<T = Json>(opts?: {
1303
+ offset?: number;
1304
+ limit?: number;
1305
+ q?: string;
1306
+ status?: string;
1307
+ city?: string;
1308
+ detection_enabled?: boolean;
1309
+ }): Promise<T>;
1310
+ detections<T = Json>(streamId: string, opts?: {
1311
+ limit?: number;
1312
+ from_ms?: number;
1313
+ to_ms?: number;
1314
+ }): Promise<T[]>;
1315
+ detectorClasses<T = Json>(): Promise<T>;
1316
+ presets<T = Json>(): Promise<T[]>;
1317
+ bridgeBackfill<T = Json>(): Promise<T>;
1318
+ /** 202 — returns a provider job to poll. */
1319
+ detectNow<T = Json>(streamId: string, opts?: {
1320
+ frames?: number;
1321
+ frame_stride?: number;
1322
+ push?: boolean;
1323
+ }): Promise<T>;
1324
+ /** 202 — export job; poll with `exportStatus`. */
1325
+ exportClip<T = Json>(streamId: string, opts?: {
1326
+ duration_s?: number;
1327
+ from_ms?: number;
1328
+ to_ms?: number;
1329
+ }): Promise<T>;
1330
+ exportStatus<T = Json>(jobId: string): Promise<T>;
1331
+ recordings<T = Json>(streamId: string, opts?: {
1332
+ from_ms?: number;
1333
+ to_ms?: number;
1334
+ }): Promise<T>;
1335
+ recordingStatus<T = Json>(streamId: string): Promise<T>;
1336
+ /** action ∈ start|stop */
1337
+ recordingControl<T = Json>(streamId: string, action: "start" | "stop", cadence?: number): Promise<T>;
1338
+ /** Returns the raw HLS VOD playlist text (m3u8), not JSON. */
1339
+ recordingsPlaylist(streamId: string, opts?: {
1340
+ from_ms?: number;
1341
+ to_ms?: number;
1342
+ }): Promise<string>;
1343
+ }
1344
+ /** `client.edge.*` — edge node pairing + fleet version pinning. */
1345
+ declare class EdgeResource {
1346
+ private readonly t;
1347
+ constructor(t: Transport);
1348
+ createPairingCode<T = Json>(opts?: {
1349
+ label?: string;
1350
+ ttl_seconds?: number;
1351
+ }): Promise<T>;
1352
+ listNodes<T = Json>(): Promise<T>;
1353
+ listDiscovered<T = Json>(): Promise<T[]>;
1354
+ revoke<T = Json>(edgeId: string): Promise<T>;
1355
+ setExpectedVersion<T = Json>(version: string): Promise<T>;
1356
+ getExpectedVersion<T = Json>(): Promise<T>;
1357
+ }
1358
+ declare class VideoStreamsResource {
1359
+ private readonly t;
1360
+ constructor(t: Transport);
1361
+ list<T = Json>(): Promise<T[]>;
1362
+ create<T = Json>(input: {
1363
+ name: string;
1364
+ source_url: string;
1365
+ source_kind: string;
1366
+ classification?: string;
1367
+ camera_pose?: Json;
1368
+ }): Promise<T>;
1369
+ delete(streamId: string): Promise<void>;
1370
+ }
1371
+ /** `client.video.*` — video streams, detections, tags, soak heatmap, exports. */
1372
+ declare class VideoResource {
1373
+ private readonly t;
1374
+ readonly streams: VideoStreamsResource;
1375
+ constructor(t: Transport);
1376
+ listDetections<T = Json>(streamId: string, opts?: {
1377
+ from?: string;
1378
+ to?: string;
1379
+ }): Promise<T[]>;
1380
+ submitDetection<T = Json>(detection: Json): Promise<T>;
1381
+ listTags<T = Json>(streamId: string): Promise<T[]>;
1382
+ submitTag<T = Json>(tag: Json): Promise<T>;
1383
+ soakHeatmap<T = Json>(streamId: string, from: string, to: string, precision?: number): Promise<T[]>;
1384
+ createExport<T = Json>(streamId: string, frameRange: Json, redactions?: Json[]): Promise<T>;
1385
+ getExport<T = Json>(exportId: string): Promise<T>;
1386
+ }
1387
+ /** `client.comunicados.*` — tenant-wide announcements (v23). */
1388
+ declare class ComunicadosResource {
1389
+ private readonly t;
1390
+ constructor(t: Transport);
1391
+ list<T = Json>(opts?: {
1392
+ kind?: string;
1393
+ status_temporal?: string;
1394
+ include_deleted?: boolean;
1395
+ }): Promise<T[]>;
1396
+ listActive<T = Json>(): Promise<T[]>;
1397
+ create<T = Json>(input: {
1398
+ kind: string;
1399
+ title: string;
1400
+ body?: string;
1401
+ icon?: string;
1402
+ closable?: boolean;
1403
+ duration_s?: number;
1404
+ audience_roles?: string[];
1405
+ audience_iam_perms?: string[];
1406
+ audience_groups?: string[];
1407
+ schedule_start?: string;
1408
+ schedule_end?: string;
1409
+ schedule_days_of_week?: number[];
1410
+ cta_label?: string;
1411
+ cta_href?: string;
1412
+ }): Promise<T>;
1413
+ /** Sparse patch — only provided keys are sent. */
1414
+ patch<T = Json>(comunicadoId: string, patch: Json): Promise<T>;
1415
+ /** Soft delete. */
1416
+ delete(comunicadoId: string): Promise<void>;
1417
+ /** Idempotent per-user dismissal. */
1418
+ dismissMe(comunicadoId: string): Promise<void>;
1419
+ }
1420
+ declare class CampaignBriefingResource {
1421
+ private readonly t;
1422
+ constructor(t: Transport);
1423
+ refresh<T = Json>(opts?: {
1424
+ candidato_nome?: string;
1425
+ candidato_slug?: string;
1426
+ perfil_payload?: Json;
1427
+ clipping_items?: Json[];
1428
+ default_modo_inicial?: string;
1429
+ }): Promise<T>;
1430
+ get<T = Json>(candidatoSlug: string, includeHeadline?: boolean): Promise<T>;
1431
+ /** 409 when the briefing is in crisis mode. */
1432
+ regenerateHeadline<T = Json>(candidatoSlug: string): Promise<T>;
1433
+ /** duration_hours ∈ 1..168 (default 24). */
1434
+ overrideModo<T = Json>(candidatoSlug: string, novoModo: string, durationHours?: number): Promise<T>;
1435
+ }
1436
+ /** `client.campaign.*` — campaign home-briefing engine. */
1437
+ declare class CampaignResource {
1438
+ readonly briefing: CampaignBriefingResource;
1439
+ constructor(t: Transport);
1440
+ }
1441
+
1442
+ /** `client.forms.*` — governed form submissions (v23). */
1443
+ declare class FormsResource {
1444
+ private readonly t;
1445
+ constructor(t: Transport);
1446
+ submit<T = Json>(formKey: string, payload: Json, opts?: {
1447
+ fields?: Json[];
1448
+ visibility_policy?: string;
1449
+ required_perm?: string;
1450
+ action_id?: string;
1451
+ target_node_type?: string;
1452
+ note?: string;
1453
+ }): Promise<T>;
1454
+ listSubmissions<T = Json>(opts?: {
1455
+ form_key?: string;
1456
+ limit?: number;
1457
+ offset?: number;
1458
+ }): Promise<T[]>;
1459
+ }
1460
+ declare class AppShellSection {
1461
+ private readonly t;
1462
+ private readonly path;
1463
+ constructor(t: Transport, path: string);
1464
+ get<T = Json>(): Promise<T>;
1465
+ put<T = Json>(value: Json): Promise<T>;
1466
+ }
1467
+ /** `client.appShell.*` — chrome configuration (banner/footer/user-menu/sidenav/homepage). */
1468
+ declare class AppShellResource {
1469
+ private readonly t;
1470
+ readonly banner: AppShellSection;
1471
+ readonly footer: AppShellSection;
1472
+ readonly userMenu: AppShellSection;
1473
+ readonly sidenav: AppShellSection;
1474
+ readonly homepage: AppShellSection;
1475
+ constructor(t: Transport);
1476
+ getMe<T = Json>(): Promise<T>;
1477
+ putMe<T = Json>(config: Json): Promise<T>;
1478
+ getTenant<T = Json>(): Promise<T>;
1479
+ putTenant<T = Json>(config: Json): Promise<T>;
1480
+ }
1481
+ declare class ProjectConstraintsResource {
1482
+ private readonly t;
1483
+ constructor(t: Transport);
1484
+ get<T = Json>(projectId: string): Promise<T>;
1485
+ put<T = Json>(projectId: string, opts?: {
1486
+ mode?: string;
1487
+ markings?: string[];
1488
+ classification_ceiling?: string;
1489
+ }): Promise<T>;
1490
+ clear(projectId: string): Promise<void>;
1491
+ /** Report-only — deletes nothing. */
1492
+ revalidate<T = Json>(projectId: string): Promise<T>;
1493
+ }
1494
+ /** `client.projects.*` — project placement + governance constraints. */
1495
+ declare class ProjectsResource {
1496
+ private readonly t;
1497
+ readonly constraints: ProjectConstraintsResource;
1498
+ constructor(t: Transport);
1499
+ /** `spaceId: null` removes the project from its Space. */
1500
+ move<T = Json>(projectId: string, spaceId: string | null): Promise<T>;
1501
+ }
1502
+ /** `client.organizations.*` — org listing + cross-org guests. */
1503
+ declare class OrganizationsResource {
1504
+ private readonly t;
1505
+ constructor(t: Transport);
1506
+ list<T = Json>(opts?: {
1507
+ limit?: number;
1508
+ offset?: number;
1509
+ }): Promise<T[]>;
1510
+ get<T = Json>(organizationId: string): Promise<T>;
1511
+ listGuests<T = Json>(organizationId: string, includeRevoked?: boolean): Promise<T[]>;
1512
+ inviteGuest<T = Json>(organizationId: string, userId: string, expiresAt?: string): Promise<T>;
1513
+ revokeGuest(organizationId: string, userId: string): Promise<void>;
1514
+ }
1515
+ /** `client.spaces.*` — spaces (project grouping) + org membership. */
1516
+ declare class SpacesResource {
1517
+ private readonly t;
1518
+ constructor(t: Transport);
1519
+ list<T = Json>(opts?: {
1520
+ limit?: number;
1521
+ offset?: number;
1522
+ }): Promise<T[]>;
1523
+ get<T = Json>(spaceId: string): Promise<T>;
1524
+ create<T = Json>(slug: string, displayName: string, description?: string): Promise<T>;
1525
+ update<T = Json>(spaceId: string, patch: {
1526
+ display_name?: string;
1527
+ description?: string;
1528
+ active?: boolean;
1529
+ }): Promise<T>;
1530
+ addOrganization<T = Json>(spaceId: string, tenantId: string): Promise<T>;
1531
+ removeOrganization(spaceId: string, tenantId: string): Promise<void>;
1532
+ }
1533
+ /** Valid project roles (mirror of `aegis.taxonomy.VALID_ROLES`). */
1534
+ declare const VALID_PROJECT_ROLES: readonly ["owner", "editor", "reviewer", "viewer", "discoverer"];
1535
+ /** `client.solutions.*` — AIP solution designer (blueprints, diagrams, materialize, teardown, marketplace). */
1536
+ declare class SolutionsResource {
1537
+ private readonly t;
1538
+ constructor(t: Transport);
1539
+ design<T = Json>(problem: string, opts?: {
1540
+ domain?: string;
1541
+ wizard?: Json;
1542
+ }): Promise<T>;
1543
+ /** Accept-flags travel nested under `accept`; blueprint/diagram_id/app_id/linked_sources stay top-level. */
1544
+ materialize<T = Json>(blueprint: Json, accept?: {
1545
+ ontology_types?: boolean;
1546
+ logic_functions?: boolean;
1547
+ action_types?: boolean;
1548
+ workspace_layout?: boolean;
1549
+ project?: boolean;
1550
+ project_id?: string;
1551
+ agents?: boolean;
1552
+ flows?: boolean;
1553
+ }, opts?: {
1554
+ diagram_id?: string;
1555
+ app_id?: string;
1556
+ linked_sources?: Json[];
1557
+ }): Promise<T>;
1558
+ /** depth ∈ lean|full */
1559
+ designGraph<T = Json>(problem: string, opts?: {
1560
+ wizard?: Json;
1561
+ depth?: string;
1562
+ }): Promise<T>;
1563
+ mergeGraph<T = Json>(currentGraph: Json, baseBlueprint: Json, incomingBlueprint: Json): Promise<T>;
1564
+ listPatterns<T = Json>(): Promise<T[]>;
1565
+ listDiagrams<T = Json>(opts?: {
1566
+ limit?: number;
1567
+ offset?: number;
1568
+ }): Promise<T[]>;
1569
+ get<T = Json>(diagramId: string): Promise<T>;
1570
+ create<T = Json>(input: {
1571
+ slug: string;
1572
+ title: string;
1573
+ nodes: Json[];
1574
+ edges: Json[];
1575
+ wizard?: Json;
1576
+ description?: string;
1577
+ project_id?: string;
1578
+ }): Promise<T>;
1579
+ /** Save == publish. */
1580
+ save<T = Json>(diagramId: string, input: {
1581
+ nodes: Json[];
1582
+ edges: Json[];
1583
+ wizard?: Json;
1584
+ message?: string;
1585
+ }): Promise<T>;
1586
+ delete(diagramId: string): Promise<void>;
1587
+ versions<T = Json>(diagramId: string): Promise<T[]>;
1588
+ walkthrough<T = Json>(diagramId: string): Promise<T>;
1589
+ implementations<T = Json>(graph: Json, nodeId: string, opts?: {
1590
+ problem?: string;
1591
+ wizard?: Json;
1592
+ }): Promise<T[]>;
1593
+ expandNode<T = Json>(graph: Json, nodeId: string, planId: string, wizard?: Json): Promise<T>;
1594
+ ontologyModel<T = Json>(prompt: string): Promise<T>;
1595
+ fromLineage<T = Json>(events?: Json[]): Promise<T>;
1596
+ teardownPlan<T = Json>(appId: string): Promise<T>;
1597
+ teardown<T = Json>(appId: string): Promise<T>;
1598
+ marketplaceListings<T = Json>(opts?: {
1599
+ status?: string;
1600
+ q?: string;
1601
+ tag?: string;
1602
+ category?: string;
1603
+ }): Promise<T[]>;
1604
+ marketplaceDetail<T = Json>(listingId: string): Promise<T>;
1605
+ marketplacePublish<T = Json>(diagramId: string, opts?: {
1606
+ title?: string;
1607
+ description?: string;
1608
+ category?: string;
1609
+ tags?: string[];
1610
+ }): Promise<T>;
1611
+ /** Re-materializes the listing in the caller's tenant. */
1612
+ marketplaceInstall<T = Json>(listingId: string): Promise<T>;
1613
+ marketplacePatch<T = Json>(listingId: string, fields: Json): Promise<T>;
1614
+ }
1615
+
1616
+ declare class WorkspaceVersionsResource {
1617
+ private readonly t;
1618
+ constructor(t: Transport);
1619
+ list<T = Json>(workspaceId: string): Promise<T[]>;
1620
+ get<T = Json>(workspaceId: string, versionNumber: number): Promise<T>;
1621
+ republish<T = Json>(workspaceId: string, versionNumber: number, message?: string): Promise<T>;
1622
+ }
1623
+ /** `client.workspaces.*` — Workshop workspaces: publish, navigation, promotions, kiosk. */
1624
+ declare class WorkspacesResource {
1625
+ private readonly t;
1626
+ readonly versions: WorkspaceVersionsResource;
1627
+ constructor(t: Transport);
1628
+ list<T = Json>(opts?: {
1629
+ limit?: number;
1630
+ offset?: number;
1631
+ include_inactive?: boolean;
1632
+ }): Promise<T[]>;
1633
+ get<T = Json>(workspaceId: string): Promise<T>;
1634
+ create<T = Json>(input: {
1635
+ slug: string;
1636
+ display_name: string;
1637
+ description?: string;
1638
+ project_id?: string;
1639
+ config?: Json;
1640
+ }): Promise<T>;
1641
+ /** Save == immediate publish — bumps version + snapshot. */
1642
+ publish<T = Json>(workspaceId: string, config: Json, message?: string): Promise<T>;
1643
+ /** Soft delete (`active=false`). */
1644
+ delete(workspaceId: string): Promise<void>;
1645
+ getNavigation<T = Json>(workspaceId: string): Promise<T>;
1646
+ setNavigation<T = Json>(workspaceId: string, opts?: {
1647
+ navigate_out_allowed?: boolean;
1648
+ allowed_applications?: string[];
1649
+ message?: string;
1650
+ }): Promise<T>;
1651
+ listPromotions<T = Json>(workspaceId: string): Promise<T[]>;
1652
+ /** Idempotent. */
1653
+ promote<T = Json>(workspaceId: string, organizationId: string, ordering?: number): Promise<T>;
1654
+ unpromote(workspaceId: string, organizationId: string): Promise<void>;
1655
+ listPromotedForOrganization<T = Json>(organizationId: string): Promise<T[]>;
1656
+ getKiosk<T = Json>(workspaceId: string): Promise<T>;
1657
+ setKiosk<T = Json>(workspaceId: string, opts?: {
1658
+ hide_chrome?: boolean;
1659
+ allow_exit?: boolean;
1660
+ auto_fullscreen?: boolean;
1661
+ message?: string;
1662
+ }): Promise<T>;
1663
+ startKioskSession<T = Json>(workspaceId: string, clientInfo?: Json): Promise<T>;
1664
+ endKioskSession<T = Json>(workspaceId: string, sessionId: string): Promise<T>;
1665
+ listKioskSessions<T = Json>(workspaceId: string, opts?: {
1666
+ active_only?: boolean;
1667
+ limit?: number;
1668
+ offset?: number;
1669
+ }): Promise<T[]>;
1670
+ }
1671
+ /** `client.workspaceUpdates.*` — workspace release-notes tours. */
1672
+ declare class WorkspaceUpdatesResource {
1673
+ private readonly t;
1674
+ constructor(t: Transport);
1675
+ list<T = Json>(workspaceId: string, includeArchived?: boolean): Promise<T[]>;
1676
+ /** Active updates not yet seen by the caller. */
1677
+ listUnseen<T = Json>(workspaceId: string): Promise<T[]>;
1678
+ get<T = Json>(workspaceId: string, updateId: string): Promise<T>;
1679
+ create<T = Json>(workspaceId: string, input: {
1680
+ title: string;
1681
+ pages: Json[];
1682
+ summary?: string;
1683
+ }): Promise<T>;
1684
+ patch<T = Json>(workspaceId: string, updateId: string, patch: {
1685
+ title?: string;
1686
+ summary?: string;
1687
+ pages?: Json[];
1688
+ }): Promise<T>;
1689
+ archive<T = Json>(workspaceId: string, updateId: string): Promise<T>;
1690
+ /** Hard delete — cascades pages + views. */
1691
+ delete(workspaceId: string, updateId: string): Promise<void>;
1692
+ markSeen(workspaceId: string, updateId: string, dismissed?: boolean): Promise<void>;
1693
+ }
1694
+
1695
+ /**
1696
+ * Versioned platform surfaces (`/platform/v22..v26`) — mirrors the Python
1697
+ * `platform_v22..platform_v26` modules, unified over the single client
1698
+ * transport (Python uses four different transports; TS uses one).
1699
+ *
1700
+ * Surfaces already mirrored on first-class resources are NOT duplicated
1701
+ * here (pipelines v22, notepad/media/timeseries/pages/guest-tokens/
1702
+ * lineage-graph/llm-budget v23, aip models v25, functions/code-repos/
1703
+ * row-policies/alarms v26).
1704
+ */
1705
+
1706
+ declare class V22ActionLogResource {
1707
+ private readonly t;
1708
+ constructor(t: Transport);
1709
+ record<T = Json>(input: {
1710
+ subject_type: string;
1711
+ subject_id: string;
1712
+ action: string;
1713
+ summary?: string;
1714
+ before?: Json;
1715
+ after?: Json;
1716
+ markings?: string[];
1717
+ }): Promise<T>;
1718
+ list<T = Json>(opts?: {
1719
+ subject_type?: string;
1720
+ subject_id?: string;
1721
+ }): Promise<T[]>;
1722
+ }
1723
+ declare class V22NotepadResource {
1724
+ private readonly t;
1725
+ constructor(t: Transport);
1726
+ create<T = Json>(title: string, opts?: {
1727
+ body?: string;
1728
+ is_template?: boolean;
1729
+ markings?: string[];
1730
+ }): Promise<T>;
1731
+ freeze<T = Json>(docId: string): Promise<T>;
1732
+ instantiate<T = Json>(templateId: string, title: string, variables?: Json): Promise<T>;
1733
+ }
1734
+ declare class V22QuiverResource {
1735
+ private readonly t;
1736
+ constructor(t: Transport);
1737
+ create<T = Json>(input: {
1738
+ slug: string;
1739
+ display_name: string;
1740
+ cells?: Json[];
1741
+ input_vars?: Json;
1742
+ output_vars?: Json;
1743
+ }): Promise<T>;
1744
+ render<T = Json>(dashId: string, opts?: {
1745
+ variables?: Json;
1746
+ range?: Json;
1747
+ }): Promise<T>;
1748
+ }
1749
+ /** `client.platformV22.*` — action log, notepad templates, quiver dashboards, usage metering. */
1750
+ declare class PlatformV22Resource {
1751
+ private readonly t;
1752
+ readonly actionLog: V22ActionLogResource;
1753
+ readonly notepad: V22NotepadResource;
1754
+ readonly quiver: V22QuiverResource;
1755
+ constructor(t: Transport);
1756
+ /** Returns the transformed value (unwraps the response's `value` field). */
1757
+ applyVariableTransform(kind: string, inputs: Json): Promise<unknown>;
1758
+ recordUsage<T = Json>(input: {
1759
+ object_type: string;
1760
+ op: string;
1761
+ app_type: string;
1762
+ user_count_delta?: number;
1763
+ event_count_delta?: number;
1764
+ }): Promise<T>;
1765
+ queryUsage<T = Json>(opts?: {
1766
+ object_type?: string;
1767
+ op?: string;
1768
+ app_type?: string;
1769
+ days?: number;
1770
+ }): Promise<T[]>;
1771
+ }
1772
+ declare class V23LogicResource {
1773
+ private readonly t;
1774
+ constructor(t: Transport);
1775
+ list<T = Json>(): Promise<T[]>;
1776
+ get<T = Json>(fid: string): Promise<T>;
1777
+ create<T = Json>(input: Json): Promise<T>;
1778
+ update<T = Json>(fid: string, patch: Json): Promise<T>;
1779
+ delete(fid: string): Promise<void>;
1780
+ invoke<T = Json>(fid: string, inputs?: Json): Promise<T>;
1781
+ addTest<T = Json>(fid: string, input: Json): Promise<T>;
1782
+ runTest<T = Json>(fid: string, testId: string): Promise<T>;
1783
+ }
1784
+ declare class V23ActionsResource {
1785
+ private readonly t;
1786
+ constructor(t: Transport);
1787
+ list<T = Json>(): Promise<T[]>;
1788
+ get<T = Json>(aid: string): Promise<T>;
1789
+ create<T = Json>(input: Json): Promise<T>;
1790
+ update<T = Json>(aid: string, patch: Json): Promise<T>;
1791
+ delete(aid: string): Promise<void>;
1792
+ execute<T = Json>(aid: string, inputs?: Json, note?: string): Promise<T>;
1793
+ plan<T = Json>(steps: Json[]): Promise<T>;
1794
+ executions<T = Json>(aid: string): Promise<T[]>;
1795
+ }
1796
+ declare class V23AssistResource {
1797
+ private readonly t;
1798
+ constructor(t: Transport);
1799
+ list<T = Json>(opts?: {
1800
+ scope?: string;
1801
+ resource_id?: string;
1802
+ }): Promise<T[]>;
1803
+ create<T = Json>(input: Json): Promise<T>;
1804
+ delete(cid: string): Promise<void>;
1805
+ suggest<T = Json>(input: Json): Promise<T>;
1806
+ }
1807
+ declare class V23PipelineResource {
1808
+ private readonly t;
1809
+ constructor(t: Transport);
1810
+ list<T = Json>(): Promise<T[]>;
1811
+ create<T = Json>(input: Json): Promise<T>;
1812
+ update<T = Json>(pid: string, patch: Json): Promise<T>;
1813
+ delete(pid: string): Promise<void>;
1814
+ run<T = Json>(pid: string, opts?: Json): Promise<T>;
1815
+ runs<T = Json>(pid: string, limit?: number): Promise<T[]>;
1816
+ }
1817
+ declare class V23StylesBrandResource {
1818
+ private readonly t;
1819
+ constructor(t: Transport);
1820
+ get<T = Json>(): Promise<T>;
1821
+ update<T = Json>(patch: Json): Promise<T>;
1822
+ /** Unauthenticated-safe read. */
1823
+ getPublic<T = Json>(tenant?: string): Promise<T>;
1824
+ }
1825
+ declare class V23StylesResource {
1826
+ private readonly t;
1827
+ readonly brand: V23StylesBrandResource;
1828
+ constructor(t: Transport);
1829
+ get<T = Json>(): Promise<T>;
1830
+ update<T = Json>(tokens: Json, message?: string): Promise<T>;
1831
+ getRegionColors<T = Json>(): Promise<T>;
1832
+ updateRegionColors<T = Json>(patch: Json): Promise<T>;
1833
+ /** Multipart upload (the only non-JSON write in the v2x surfaces). */
1834
+ uploadLogo<T = Json>(file: Blob, filename?: string): Promise<T>;
1835
+ }
1836
+ /** `client.platformV23.*` — logic, action-types, assist, pipeline, quiver,
1837
+ * connectors, automate, health, contour, vertex, repos, object-sets, carbon, styles. */
1838
+ declare class PlatformV23Resource {
1839
+ private readonly t;
1840
+ readonly logic: V23LogicResource;
1841
+ readonly actions: V23ActionsResource;
1842
+ readonly assist: V23AssistResource;
1843
+ readonly pipeline: V23PipelineResource;
1844
+ readonly styles: V23StylesResource;
1845
+ readonly quiver: {
1846
+ list(): Promise<Json[]>;
1847
+ create(input: Json): Promise<Json>;
1848
+ delete(id: string): Promise<void>;
1849
+ update(id: string, patch: Json): Promise<Json>;
1850
+ run(id: string): Promise<Json>;
1851
+ };
1852
+ readonly connectors: {
1853
+ list(): Promise<Json[]>;
1854
+ register(input: Json): Promise<Json>;
1855
+ delete(id: string): Promise<void>;
1856
+ heartbeat(id: string, status?: string, error?: string): Promise<Json>;
1857
+ };
1858
+ readonly automate: {
1859
+ list(): Promise<Json[]>;
1860
+ create(input: Json): Promise<Json>;
1861
+ delete(id: string): Promise<void>;
1862
+ fire(id: string): Promise<Json>;
1863
+ runs(id: string): Promise<Json[]>;
1864
+ };
1865
+ readonly health: {
1866
+ list(): Promise<Json[]>;
1867
+ create(input: Json): Promise<Json>;
1868
+ delete(id: string): Promise<void>;
1869
+ run(id: string): Promise<Json>;
1870
+ };
1871
+ readonly contour: {
1872
+ list(): Promise<Json[]>;
1873
+ create(input: Json): Promise<Json>;
1874
+ delete(id: string): Promise<void>;
1875
+ evaluate(id: string, limit?: number): Promise<Json>;
1876
+ };
1877
+ readonly vertex: {
1878
+ list(): Promise<Json[]>;
1879
+ create(input: Json): Promise<Json>;
1880
+ delete(id: string): Promise<void>;
1881
+ };
1882
+ readonly repos: {
1883
+ list(): Promise<Json[]>;
1884
+ create(input: Json): Promise<Json>;
1885
+ delete(id: string): Promise<void>;
1886
+ commit(id: string, input: Json): Promise<Json>;
1887
+ commits(id: string, branch?: string): Promise<Json[]>;
1888
+ show(id: string, commitId: string): Promise<Json>;
1889
+ };
1890
+ readonly objectSets: {
1891
+ list(): Promise<Json[]>;
1892
+ create(input: Json): Promise<Json>;
1893
+ delete(id: string): Promise<void>;
1894
+ materialize(id: string, limit?: number): Promise<Json>;
1895
+ };
1896
+ constructor(t: Transport);
1897
+ carbonValidate<T = Json>(config: Json): Promise<T>;
1898
+ catalog<T = Json>(): Promise<T>;
1899
+ }
1900
+ /** `client.marketplace.*` — product storefront + install wizard (v23). */
1901
+ declare class MarketplaceResource {
1902
+ private readonly t;
1903
+ constructor(t: Transport);
1904
+ storefront<T = Json>(opts?: {
1905
+ category?: string;
1906
+ sort?: string;
1907
+ search?: string;
1908
+ tags?: string[];
1909
+ }): Promise<T[]>;
1910
+ products<T = Json>(publishedOnly?: boolean): Promise<T[]>;
1911
+ create<T = Json>(input: Json): Promise<T>;
1912
+ publish<T = Json>(pid: string): Promise<T>;
1913
+ details<T = Json>(pid: string): Promise<T>;
1914
+ ontologyImpact<T = Json>(pid: string): Promise<T>;
1915
+ installPrecheck<T = Json>(pid: string): Promise<T>;
1916
+ /** 422 with `{ok:false, gaps}` in the error payload when modules are missing. */
1917
+ install<T = Json>(pid: string, opts?: {
1918
+ confirm_text?: string;
1919
+ config?: Json;
1920
+ notes?: string;
1921
+ }): Promise<T>;
1922
+ installed<T = Json>(): Promise<T[]>;
1923
+ uninstall<T = Json>(installId: string): Promise<T>;
1924
+ /** Admin, idempotent. */
1925
+ seed<T = Json>(): Promise<T>;
1926
+ }
1927
+ /** `client.platformV24.*` — flat surface (logic functions, assist sessions,
1928
+ * views, rules, checkpoints, expectations, change requests, scenarios,
1929
+ * aggregations, object-set traversal, automations, metrics). */
1930
+ declare class PlatformV24Resource {
1931
+ private readonly t;
1932
+ constructor(t: Transport);
1933
+ createLogicFunction<T = Json>(input: Json): Promise<T>;
1934
+ listLogicFunctions<T = Json>(): Promise<T[]>;
1935
+ invokeLogicFunction<T = Json>(fnId: string, inputs: Json): Promise<T>;
1936
+ openAssistSession<T = Json>(surface: string, context?: Json): Promise<T>;
1937
+ assistTurn<T = Json>(sessionId: string, content: string): Promise<T>;
1938
+ createView<T = Json>(input: Json): Promise<T>;
1939
+ materializeView<T = Json>(viewId: string): Promise<T>;
1940
+ listTemplates<T = Json>(): Promise<T[]>;
1941
+ installTemplate<T = Json>(templateId: string, config?: Json): Promise<T>;
1942
+ createRule<T = Json>(input: Json): Promise<T>;
1943
+ evaluateRules<T = Json>(trigger: string, subject: Json): Promise<T>;
1944
+ recordCheckpoint<T = Json>(pipeline: string, step: string, opts?: {
1945
+ status?: string;
1946
+ state?: Json;
1947
+ }): Promise<T>;
1948
+ resumePipeline<T = Json>(pipeline: string): Promise<T>;
1949
+ createExpectation<T = Json>(input: Json): Promise<T>;
1950
+ runExpectation<T = Json>(expId: string): Promise<T>;
1951
+ submitChangeRequest<T = Json>(input: Json): Promise<T>;
1952
+ reviewChangeRequest<T = Json>(crId: string, status: string, note?: string): Promise<T>;
1953
+ createScenario<T = Json>(input: Json): Promise<T>;
1954
+ simulateScenario<T = Json>(scenarioId: string): Promise<T>;
1955
+ createNotebook<T = Json>(input: Json): Promise<T>;
1956
+ createAgent<T = Json>(input: Json): Promise<T>;
1957
+ createEvalDashboard<T = Json>(input: Json): Promise<T>;
1958
+ renderEvalDashboard<T = Json>(dashId: string): Promise<T>;
1959
+ addVerticalTab<T = Json>(input: Json): Promise<T>;
1960
+ createAggregation<T = Json>(input: Json): Promise<T>;
1961
+ runAggregation<T = Json>(aggId: string): Promise<T>;
1962
+ /** Multi-hop object-set traversal (gate `workshop.apps.read`). */
1963
+ searchAround<T = Json>(input: Json): Promise<T>;
1964
+ /** On-the-fly aggregation: count/sum/avg/min/max/distinct_count/cardinality. */
1965
+ aggregateObjectSet<T = Json>(input: Json): Promise<T>;
1966
+ createOsdkToken<T = Json>(name: string, scopes?: string[]): Promise<T>;
1967
+ verifyOsdkToken<T = Json>(token: string): Promise<T>;
1968
+ createAutomation<T = Json>(input: Json): Promise<T>;
1969
+ runAutomation<T = Json>(autoId: string): Promise<T>;
1970
+ computeOntologyMetrics<T = Json>(): Promise<T>;
1971
+ forkThread<T = Json>(parentSessionId: string, branchName: string, forkAtMessage?: number): Promise<T>;
1972
+ }
1973
+ /** `client.platformV25.*` — machinery processes, branch protection, kiosk
1974
+ * tokens, analyst threads, dataset rollback/snapshots/limits, freshness,
1975
+ * code scan, evals generation. */
1976
+ declare class PlatformV25Resource {
1977
+ private readonly t;
1978
+ constructor(t: Transport);
1979
+ listProcesses<T = Json>(): Promise<T[]>;
1980
+ createProcess<T = Json>(input: {
1981
+ slug: string;
1982
+ display_name: string;
1983
+ graph: Json;
1984
+ description?: string;
1985
+ markings?: string[];
1986
+ project_id?: string;
1987
+ }): Promise<T>;
1988
+ startProcessInstance<T = Json>(processId: string, opts?: {
1989
+ subject_ref?: string;
1990
+ context?: Json;
1991
+ initial_state?: string;
1992
+ }): Promise<T>;
1993
+ transitionProcessInstance<T = Json>(instanceId: string, to: string, reason?: string): Promise<T>;
1994
+ setBranchProtection<T = Json>(dataset: string, branch: string, opts?: {
1995
+ require_approvals?: number;
1996
+ required_clearances?: string[];
1997
+ required_reviewers?: string[];
1998
+ block_direct_commit?: boolean;
1999
+ }): Promise<T>;
2000
+ evaluateBranchProtection<T = Json>(dataset: string, branch: string, opts?: {
2001
+ approvals?: number;
2002
+ committer?: string;
2003
+ }): Promise<T>;
2004
+ mintKioskSession<T = Json>(appId: string, opts?: {
2005
+ display_name?: string;
2006
+ allowed_markings?: string[];
2007
+ ttl_hours?: number;
2008
+ }): Promise<T>;
2009
+ verifyKioskToken<T = Json>(token: string): Promise<T>;
2010
+ newAnalystThread<T = Json>(title?: string): Promise<T>;
2011
+ postAnalystMessage<T = Json>(threadId: string, input: {
2012
+ role: string;
2013
+ content: string;
2014
+ citations?: Json[];
2015
+ depends_on?: string[];
2016
+ kind?: string;
2017
+ }): Promise<T>;
2018
+ rollbackDataset<T = Json>(dataset: string, toAssetId: string, opts?: {
2019
+ branch?: string;
2020
+ reason?: string;
2021
+ }): Promise<T>;
2022
+ queueSnapshot<T = Json>(dataset: string, branch?: string): Promise<T>;
2023
+ peekSnapshotQueue<T = Json>(dataset: string, branch?: string): Promise<T>;
2024
+ setTransactionLimits<T = Json>(dataset: string, opts?: {
2025
+ branch?: string;
2026
+ max_rows?: number;
2027
+ max_bytes?: number;
2028
+ max_open?: number;
2029
+ }): Promise<T>;
2030
+ /** Repeated `dataset` query params. */
2031
+ checkFreshness<T = Json>(datasets: string[]): Promise<T>;
2032
+ raiseCodeScanFinding<T = Json>(input: {
2033
+ repo_ref: string;
2034
+ path: string;
2035
+ rule_id: string;
2036
+ severity: string;
2037
+ message: string;
2038
+ line?: number;
2039
+ commit_sha?: string;
2040
+ }): Promise<T>;
2041
+ codeScanSummary<T = Json>(repoRef: string): Promise<T>;
2042
+ generateEvals<T = Json>(subjectFunction: string, opts?: {
2043
+ description?: string;
2044
+ count?: number;
2045
+ }): Promise<T>;
2046
+ analyzeEvals<T = Json>(evalRunId: string, failures: Json[]): Promise<T>;
2047
+ }
2048
+ /** `client.platformV26.*` — promotions, object/core views, capacity,
2049
+ * listeners, sensitive-data scanner, monitoring, health checks, media
2050
+ * versions, insight, peers, run history. */
2051
+ declare class PlatformV26Resource {
2052
+ private readonly t;
2053
+ constructor(t: Transport);
2054
+ listPromotions<T = Json>(): Promise<T[]>;
2055
+ promoteObjectType<T = Json>(objectType: string, opts?: {
2056
+ status?: string;
2057
+ justification?: string;
2058
+ }): Promise<T>;
2059
+ listObjectViews<T = Json>(objectType?: string): Promise<T[]>;
2060
+ createObjectView<T = Json>(objectType: string, branch: string, opts?: {
2061
+ parent_branch?: string;
2062
+ view_spec?: Json;
2063
+ }): Promise<T>;
2064
+ publishObjectView<T = Json>(branchId: string): Promise<T>;
2065
+ generateCoreView<T = Json>(objectType: string, topN?: number): Promise<T>;
2066
+ getCoreView<T = Json>(objectType: string): Promise<T>;
2067
+ reserveCapacity<T = Json>(provider: string, model: string, opts?: {
2068
+ reserved_tpm?: number;
2069
+ reserved_rpm?: number;
2070
+ reason?: string;
2071
+ }): Promise<T>;
2072
+ consumeCapacity<T = Json>(provider: string, model: string, opts?: {
2073
+ tokens?: number;
2074
+ requests?: number;
2075
+ }): Promise<T>;
2076
+ /** Webhook listener — the secret is returned once. */
2077
+ createListener<T = Json>(slug: string, opts?: {
2078
+ integration?: string;
2079
+ target_ontology_type?: string;
2080
+ markings?: string[];
2081
+ }): Promise<T>;
2082
+ listenerEvents<T = Json>(listenerId: string): Promise<T[]>;
2083
+ /** mode ∈ report_only|hash|redact */
2084
+ scanSensitive<T = Json>(payload: Json, opts?: {
2085
+ mode?: string;
2086
+ scope?: string;
2087
+ scope_ref?: string;
2088
+ }): Promise<T>;
2089
+ scanHistory<T = Json>(limit?: number): Promise<T[]>;
2090
+ createMonitoringView<T = Json>(slug: string, displayName: string, opts?: {
2091
+ project_scope?: string;
2092
+ resource_kinds?: string[];
2093
+ }): Promise<T>;
2094
+ monitoringRollup<T = Json>(slug: string): Promise<T>;
2095
+ createHealthCheck<T = Json>(datasetName: string, name: string, checkType: string, spec?: Json): Promise<T>;
2096
+ runHealthCheck<T = Json>(checkId: string, branch?: string): Promise<T>;
2097
+ healthRuns<T = Json>(checkId: string, limit?: number): Promise<T[]>;
2098
+ /** Hash-referenced version metadata — no binary body. */
2099
+ uploadMediaVersion<T = Json>(mediaSet: string, path: string, input: {
2100
+ content_hash: string;
2101
+ mime_type?: string;
2102
+ size_bytes?: number;
2103
+ metadata?: Json;
2104
+ }): Promise<T>;
2105
+ mediaHistory<T = Json>(mediaSet: string, path: string): Promise<T[]>;
2106
+ createInsight<T = Json>(slug: string, input: {
2107
+ display_name: string;
2108
+ base_object_type: string;
2109
+ path: Json[];
2110
+ markings?: string[];
2111
+ project_id?: string;
2112
+ }): Promise<T>;
2113
+ executeInsight<T = Json>(analysisId: string): Promise<T>;
2114
+ createPeer<T = Json>(slug: string, displayName: string, remoteUrl: string, authToken?: string): Promise<T>;
2115
+ syncPeer<T = Json>(peerId: string, input: {
2116
+ resource_kind: string;
2117
+ remote_path: string;
2118
+ local_ref?: string;
2119
+ }): Promise<T>;
2120
+ listPeerMirrors<T = Json>(peerId: string): Promise<T[]>;
2121
+ runHistory<T = Json>(opts?: {
2122
+ status?: string;
2123
+ since?: string;
2124
+ until?: string;
2125
+ user?: string;
2126
+ action?: string;
2127
+ min_duration_ms?: number;
2128
+ failed_only?: boolean;
2129
+ limit?: number;
2130
+ }): Promise<T[]>;
2131
+ }
2132
+
433
2133
  interface AegisClientOptions {
434
2134
  /** Root URL of the AEGIS deployment, e.g. `https://aegis.example.com`.
435
2135
  * Falls back to `process.env.AEGIS_API_URL`, then `http://localhost:8002`. */
@@ -441,12 +2141,38 @@ interface AegisClientOptions {
441
2141
  timeoutMs?: number;
442
2142
  /** Custom fetch implementation (tests, proxies, polyfills). */
443
2143
  fetch?: typeof globalThis.fetch;
2144
+ /** Extra fetch init merged into every request — e.g. cookie-proxy setups
2145
+ * use `{ credentials: "include", cache: "no-store" }` with a relative
2146
+ * `baseUrl` like `/api` (the browser cookie carries the auth). */
2147
+ fetchInit?: Omit<RequestInit, "method" | "body" | "signal">;
2148
+ /** Refresh token to seed automatic JWT refresh (normally captured from
2149
+ * `auth.login`). On a 401 the client rotates it via `POST /auth/refresh`
2150
+ * and retries the request once. */
2151
+ refreshToken?: string;
2152
+ /** Retry/backoff for transient failures (network errors, timeouts, 429/
2153
+ * 502/503/504). GET/HEAD only unless `retryPost`. Exponential backoff
2154
+ * with full jitter. Pass `{ retries: 0 }` to disable. */
2155
+ retry?: RetryOptions;
2156
+ }
2157
+ interface RetryOptions {
2158
+ /** Extra attempts after the first (default 2). */
2159
+ retries?: number;
2160
+ /** First backoff delay in ms (default 250; doubles per attempt). */
2161
+ baseDelayMs?: number;
2162
+ /** Backoff ceiling in ms (default 4000). */
2163
+ maxDelayMs?: number;
2164
+ /** Also retry non-idempotent verbs (default false). */
2165
+ retryPost?: boolean;
444
2166
  }
445
2167
  declare class AegisClient implements Transport {
446
2168
  readonly baseUrl: string;
447
2169
  private _token;
448
2170
  private readonly timeoutMs;
449
- private readonly _fetch;
2171
+ private readonly _fetchOverride?;
2172
+ private readonly _fetchInit;
2173
+ private _refreshToken;
2174
+ private readonly _retry;
2175
+ private _refreshInFlight;
450
2176
  readonly auth: AuthResource;
451
2177
  readonly iam: IamResource;
452
2178
  readonly osdk: OsdkResource;
@@ -456,12 +2182,86 @@ declare class AegisClient implements Transport {
456
2182
  readonly functions: FunctionsResource;
457
2183
  readonly codeRepositories: CodeRepositoriesResource;
458
2184
  readonly datasets: DatasetsResource;
2185
+ readonly geo: GeoResource;
2186
+ readonly mapTemplates: MapTemplatesResource;
2187
+ readonly media: MediaResource;
2188
+ readonly docs: DocsResource;
2189
+ readonly pages: PagesResource;
2190
+ readonly dossier: DossierResource;
2191
+ readonly timeseries: TimeSeriesResource;
2192
+ readonly alerts: AlertsResource;
2193
+ readonly alarms: AlarmsResource;
2194
+ readonly events: EventsResource;
2195
+ readonly connectors: ConnectorsResource;
2196
+ readonly pipelines: PipelinesResource;
2197
+ readonly chat: ChatResource;
2198
+ readonly notepad: NotepadResource;
2199
+ readonly lineage: LineageResource;
2200
+ readonly accessAudit: AccessAuditResource;
2201
+ readonly markings: MarkingsResource;
2202
+ readonly resourceMarkings: ResourceMarkingsResource;
2203
+ readonly propertyMarkings: PropertyMarkingsResource;
2204
+ readonly rowPolicies: RowPoliciesResource;
2205
+ readonly erasure: ErasureResource;
2206
+ readonly retention: RetentionResource;
2207
+ readonly guestTokens: GuestTokensResource;
2208
+ readonly atlas: AtlasResource;
2209
+ readonly briefing: BriefingResource;
2210
+ readonly campaign: CampaignResource;
2211
+ readonly cctv: CctvResource;
2212
+ readonly comunicados: ComunicadosResource;
2213
+ readonly edge: EdgeResource;
2214
+ readonly video: VideoResource;
2215
+ readonly appShell: AppShellResource;
2216
+ readonly forms: FormsResource;
2217
+ /** Alias of `iam.groups` (mirrors Python's standalone `client.groups`). */
2218
+ readonly groups: GroupsResource;
2219
+ readonly organizations: OrganizationsResource;
2220
+ readonly projects: ProjectsResource;
2221
+ readonly solutions: SolutionsResource;
2222
+ readonly spaces: SpacesResource;
2223
+ readonly workspaces: WorkspacesResource;
2224
+ readonly workspaceUpdates: WorkspaceUpdatesResource;
2225
+ readonly marketplace: MarketplaceResource;
2226
+ readonly platformV22: PlatformV22Resource;
2227
+ readonly platformV23: PlatformV23Resource;
2228
+ readonly platformV24: PlatformV24Resource;
2229
+ readonly platformV25: PlatformV25Resource;
2230
+ readonly platformV26: PlatformV26Resource;
2231
+ readonly workshop: WorkshopResource;
2232
+ readonly compute: ComputeResource;
2233
+ readonly inference: InferenceResource;
2234
+ readonly codegen: CodegenResource;
2235
+ readonly correlation: CorrelationResource;
2236
+ readonly situational: SituationalResource;
2237
+ readonly merge: MergeResource;
459
2238
  constructor(options?: AegisClientOptions);
460
2239
  /** Replace the active bearer token (or clear with `null`). */
461
2240
  setToken(token: string | null): void;
2241
+ /** Replace the refresh token used for automatic 401 recovery. */
2242
+ setRefreshToken(token: string | null): void;
462
2243
  get token(): string | null;
463
- /** Generic escape hatch — call any AEGIS endpoint not yet wrapped. */
2244
+ private get _fetch();
2245
+ /** Generic escape hatch — call any AEGIS endpoint not yet wrapped.
2246
+ * Transient failures are retried with backoff (see `RetryOptions`);
2247
+ * a 401 triggers one transparent `POST /auth/refresh` + retry when a
2248
+ * refresh token is held. */
464
2249
  request<T = unknown>(method: string, path: string, opts?: RequestOptions): Promise<T>;
2250
+ /** Rotate the refresh token (single-flight) and attach the new pair. */
2251
+ private _refreshOnce;
2252
+ private _requestWithRetry;
2253
+ private _doRequest;
2254
+ /**
2255
+ * Open a server-sent-events endpoint and iterate its events. Long-lived:
2256
+ * no default timeout is applied — pass `signal` to cancel.
2257
+ *
2258
+ * ```ts
2259
+ * for await (const ev of client.stream("/operator/tasks/t1/events")) { … }
2260
+ * ```
2261
+ */
2262
+ stream(path: string, opts?: RequestOptions & {
2263
+ method?: string;
2264
+ }): AsyncGenerator<SseEvent, void, undefined>;
465
2265
  }
466
2266
 
467
2267
  /**
@@ -494,4 +2294,79 @@ declare class PermissionDeniedError extends AegisAPIError {
494
2294
  declare class NotFoundError extends AegisAPIError {
495
2295
  }
496
2296
 
497
- export { AegisAPIError, AegisClient, type AegisClientOptions, AuthError, type DevMode, type FunctionCreate, type Json, type LoginOptions, NotFoundError, type ObjectTypeWrite, type OperatorTaskCreate, type OperatorTaskListOptions, type OsdkToken, type OsdkTokenWithSecret, type Permission, PermissionDeniedError, type PullRequestCreate, type QueryParams, type RequestOptions, type Role, type Tenant, type TokenPair, type TransactionKind, type Transport, type User, type WhoAmI };
2297
+ /**
2298
+ * Pure client-side CBAC helpers — mirrors `aegis/classification.py`.
2299
+ * No HTTP: these validate the classification invariant before writes.
2300
+ */
2301
+ type ClassificationLevel = "PUBLICO" | "INTERNO" | "RESTRITO" | "SECRETO";
2302
+ declare const VALID_LEVELS: readonly ClassificationLevel[];
2303
+ declare const CLASSIFICATION_RANK: Readonly<Record<ClassificationLevel, number>>;
2304
+ declare const CLASSIFICATION_LABEL: Readonly<Record<ClassificationLevel, string>>;
2305
+ declare class ClassificationInvariantViolation extends Error {
2306
+ constructor(message: string);
2307
+ }
2308
+ /** Highest classification level among the given ones. */
2309
+ declare function maxLevel(levels: Iterable<string>): ClassificationLevel;
2310
+ /**
2311
+ * The file classification must dominate the data classification, and the
2312
+ * data classification must dominate every upstream input. Throws
2313
+ * `ClassificationInvariantViolation` on breach.
2314
+ */
2315
+ declare function validateInvariant(fileCls: string, dataCls: string, upstreamData?: Iterable<string>): void;
2316
+
2317
+ /**
2318
+ * IAM permission catalog — mirrors `aegis/iam/permissions.py` verbatim.
2319
+ * Pure client-side (no HTTP): lets SDK consumers reference permission keys
2320
+ * statically instead of hardcoding strings.
2321
+ */
2322
+ declare const NAV_PERMISSIONS: readonly ["nav.section.discover", "nav.item.discover.home", "nav.section.operations", "nav.item.operations.tasks", "nav.section.core_loop", "nav.item.core_loop.alerts", "nav.item.core_loop.proposals", "nav.item.core_loop.actions", "nav.section.ontology", "nav.item.ontology.manager", "nav.item.ontology.explorer", "nav.item.ontology.types", "nav.item.ontology.actions", "nav.item.ontology.interfaces", "nav.item.ontology.links", "nav.item.ontology.views", "nav.item.ontology.aggregations", "nav.item.ontology.object_sets", "nav.section.data", "nav.item.data.datasets", "nav.item.data.pipelines", "nav.item.data.connectors", "nav.item.data.media", "nav.item.data.schedules", "nav.item.data.notepad", "nav.item.data.lineage", "nav.item.data.health", "nav.section.aip", "nav.item.aip.threads", "nav.item.aip.agents", "nav.item.aip.tools", "nav.item.aip.logic", "nav.item.aip.models", "nav.item.aip.capacity", "nav.item.aip.scenarios", "nav.item.aip.evals", "nav.item.aip.memory", "nav.item.aip.mcp_adapters", "nav.section.workshop", "nav.item.workshop.apps", "nav.section.governance", "nav.item.governance.projects", "nav.item.governance.audit", "nav.item.governance.lgpd", "nav.item.governance.trace", "nav.item.governance.rules", "nav.item.governance.change_requests", "nav.item.governance.automations", "nav.item.governance.tokens", "nav.item.governance.peers", "nav.item.governance.code_scan", "nav.item.governance.kiosk", "nav.item.governance.access", "nav.item.governance.osdk", "nav.section.resources", "nav.item.resources.docs", "nav.item.resources.template_gallery", "nav.item.resources.aegis_sdk", "nav.section.other", "nav.item.other.intel_map", "nav.item.other.cognitive", "nav.item.other.map_view", "nav.section.campanha", "nav.item.campaign.hub", "nav.item.campaign.chat", "nav.item.campaign.visibility", "nav.item.campaign.agents", "nav.item.campaign.scenarios", "nav.item.campaign.brief", "nav.section.painel-de-controle", "nav.item.painel.home", "nav.item.painel.aprovacoes", "nav.item.painel.comunicacoes", "nav.item.painel.atividade"];
2323
+ declare const CAPABILITY_PERMISSIONS: readonly ["ontology.types.read", "ontology.types.write", "ontology.actions.read", "ontology.actions.write", "ontology.actions.execute", "ontology.actions.execute_external", "ontology.objects.read", "ontology.objects.write", "ontology.objects.bulk_delete", "ontology.links.read", "ontology.links.write", "solution.diagram.read", "solution.diagram.write", "solution.diagram.publish", "solution.diagram.delete", "solution.diagram.history.read", "solution.materialize.delete", "solution.refactor", "data.datasets.read", "data.datasets.write", "data.pipelines.read", "data.pipelines.write", "data.lineage.read", "data.connectors.read", "data.connectors.write", "aip.threads.read", "aip.threads.write", "aip.agents.read", "aip.agents.write", "aip.models.read", "aip.models.write", "aip.evals.read", "aip.evals.run", "aip.memory.read", "aip.memory.write", "workshop.apps.read", "workshop.apps.write", "workshop.apps.purge", "operator.tasks.read", "operator.tasks.write", "governance.audit.read", "governance.rules.read", "governance.rules.write", "governance.change_requests.read", "governance.change_requests.write", "governance.change_requests.approve", "governance.tokens.read", "governance.tokens.write", "governance.lgpd.read", "governance.lgpd.write", "governance.peers.read", "governance.peers.write", "governance.kiosk.read", "governance.kiosk.write", "admin.acessos", "admin.classificacao", "admin.auditoria", "admin.federacao", "admin.unidades", "admin.templates", "admin.automacoes", "admin.tokens", "campaign.chat.read", "campaign.chat.write", "campaign.brief.read", "campaign.brief.generate", "campaign.brief.sign", "campaign.scenario.read", "campaign.scenario.run", "campaign.scenario.write", "campaign.visibility.read", "campaign.visibility.pin", "campaign.visibility.escalate", "campaign.agents.read", "campaign.agents.write", "campaign.agents.run", "campaign.flows.read", "campaign.flows.write", "campaign.flows.run", "campaign.briefing.read", "campaign.briefing.refresh", "campaign.briefing.headline", "campaign.briefing.crisis_override", "vault.cookies.manage", "iam.users.read", "iam.users.write", "iam.roles.read", "iam.roles.write", "iam.permissions.read", "iam.permissions.write", "iam.nav.read", "iam.nav.write", "iam.audit.read", "iam.groups.read", "iam.groups.write", "iam.groups.manage_members", "docs.tree.read", "docs.content.read", "aip.flows.read", "aip.flows.write", "aip.flows.execute", "aip.agents.execute", "briefing.read", "briefing.refresh", "ontology.objects.view", "ontology.graph.read", "ontology.graph.export", "ontology.explorer.aggregate", "workshop.briefings.read", "workshop.briefings.write", "workshop.briefings.broadcast", "workshop.dossiers.read", "workshop.dossiers.write", "workshop.dossiers.share", "workshop.covs.read", "workshop.covs.write", "workshop.covs.share", "chat.channels.read", "chat.channels.write", "chat.channels.manage", "chat.messages.send", "chat.messages.read", "alerts.feeds.read", "alerts.feeds.subscribe", "alerts.watches.read", "alerts.watches.subscribe", "alerts.geofences.read", "alerts.geofences.manage", "alerts.shares.read", "alerts.read", "alerts.escalate", "alerts.routes.view", "alerts.routes.manage", "atlas.layers.read", "atlas.layers.manage", "atlas.geofences.draw", "atlas.evaluation.read", "atlas.evaluation.manage", "video.exports.create", "connectors.manage", "events.pipeline.view", "events.pipeline.manage", "situational.correlate.view", "situational.correlate.manage", "security.painel.view", "security.buscar.view", "security.geo.view", "security.geo.cerca.create", "security.cameras.view", "security.cameras.tag", "security.cameras.export", "security.cameras.manage", "security.cameras.bookmark", "security.cameras.hotlist", "security.cameras.cloud_inference", "security.explorador.view", "security.rede.view", "security.rede.edit", "security.ficha.view", "security.ficha.edit", "security.alertas.view", "security.alertas.resolve", "security.relatorios.view", "security.relatorios.edit", "security.relatorios.close", "security.briefings.view", "security.briefings.edit", "security.briefings.broadcast", "security.workshop.view", "security.workshop.edit", "security.workshop.publish_global", "security.fluxos.view", "security.fluxos.edit", "security.fluxos.run", "security.agentes.view", "security.agentes.edit", "security.agentes.run", "security.ontologia.view", "security.ontologia.edit", "security.workshop.kiosk", "security.configuracoes.view", "security.browser.manage", "painel.home.view", "painel.aprovacoes.view", "painel.aprovacoes.act", "painel.comunicacoes.view", "painel.comunicacoes.edit", "painel.atividade.view", "painel.atividade.export", "painel.favoritos.edit", "organization.read", "organization.write", "organization.invite_guest", "space.read", "space.write", "space.add_organization", "project.read", "project.write", "project.move", "project.link", "markings.read", "markings.write", "markings.apply", "markings.remove", "markings.expand_access", "markings.manage_eligibility", "classification.read", "classification.set", "classification.upgrade", "project.constraints.read", "project.constraints.configure", "project.constraints.revalidate", "workspace.read", "workspace.write", "workspace.delete", "workspace.publish", "workspace.history.read", "workspace.republish", "workspace.update.read", "workspace.update.write", "workspace.update.archive", "workspace.update.delete", "workspace.update.view", "workspace.navigation.read", "workspace.navigation.configure", "workspace.promote.read", "workspace.promote.set", "workspace.promote.unset", "workspace.kiosk.read", "workspace.kiosk.configure", "workspace.kiosk.session.start", "workspace.kiosk.session.end", "app_shell.manage", "comunicado.read", "comunicado.write", "comunicado.delete", "forms.submit", "forms.submissions.read", "vendor.dev_mode", "public.token.read", "public.token.issue", "public.token.revoke", "messaging.send", "automation.alarms.read", "automation.alarms.write", "data.media.read", "data.media.write", "function.read", "function.write", "function.invoke", "function.review", "sandbox.install", "sandbox.terminal", "llm.budget.read", "llm.budget.write", "governance.retention.read", "governance.retention.write", "rowpolicy.read", "rowpolicy.write", "compute.providers.read", "compute.providers.write", "compute.pipelines.deploy", "vision.count.execute", "ontology.objects.bulk_write"];
2324
+ type NavPermissionKey = (typeof NAV_PERMISSIONS)[number];
2325
+ type CapabilityPermissionKey = (typeof CAPABILITY_PERMISSIONS)[number];
2326
+ type PermissionKey = NavPermissionKey | CapabilityPermissionKey;
2327
+ declare const ALL_PERMISSIONS: readonly PermissionKey[];
2328
+ interface IamPermissionDef {
2329
+ key: PermissionKey;
2330
+ kind: "nav" | "capability";
2331
+ /** Key minus its last segment. */
2332
+ resource: string;
2333
+ /** Last segment of the key. */
2334
+ action: string;
2335
+ }
2336
+ declare function listPermissions(kind?: "nav" | "capability"): IamPermissionDef[];
2337
+ declare function isSystemPermission(key: string): boolean;
2338
+
2339
+ interface OsdkApplication {
2340
+ slug: string;
2341
+ display_name: string;
2342
+ description: string;
2343
+ permissions: readonly string[];
2344
+ }
2345
+ declare const APPLICATIONS: readonly OsdkApplication[];
2346
+ declare function listApplications(): readonly OsdkApplication[];
2347
+ declare function applicationBySlug(slug: string): OsdkApplication | undefined;
2348
+ declare function applicationHas(app: OsdkApplication, key: string): boolean;
2349
+ /** Throws if the application references a permission key unknown to the catalog. */
2350
+ declare function validateApplication(app: OsdkApplication): void;
2351
+
2352
+ /**
2353
+ * Adapter between `AegisClient` and the `OSDKClient` contract expected by
2354
+ * code generated from the live ontology (`aegis-osdk generate` /
2355
+ * `GET /ontology/osdk/generate?lang=typescript`):
2356
+ *
2357
+ * ```ts
2358
+ * import { AegisClient, asOsdkClient } from "aegis-platform-sdk";
2359
+ * import { CameraApi } from "./aegis_osdk"; // generated
2360
+ *
2361
+ * const osdk = asOsdkClient(new AegisClient({ ... }));
2362
+ * ```
2363
+ */
2364
+
2365
+ /** The client contract emitted at the top of every generated OSDK module. */
2366
+ interface OSDKClient {
2367
+ get(path: string, params?: Record<string, unknown>): Promise<any>;
2368
+ post(path: string, body?: unknown): Promise<any>;
2369
+ }
2370
+ declare function asOsdkClient(client: AegisClient): OSDKClient;
2371
+
2372
+ export { ALL_PERMISSIONS, APPLICATIONS, AccessAuditResource, AegisAPIError, AegisClient, type AegisClientOptions, AipResource, AlarmsResource, AlertsResource, AppShellResource, AtlasResource, AuthError, AuthResource, BriefingResource, CAPABILITY_PERMISSIONS, CLASSIFICATION_LABEL, CLASSIFICATION_RANK, CampaignResource, type CapabilityPermissionKey, CctvResource, ChatResource, ClassificationInvariantViolation, type ClassificationLevel, CodeRepositoriesResource, CodegenResource, ComputeControlResource, ComputeResource, ComunicadosResource, ConnectorsResource, CorrelationResource, DatasetsResource, type DevMode, DocsResource, DossierResource, EdgeResource, ErasureResource, type ErasureSelector, EventsResource, FormsResource, type FunctionCreate, FunctionsResource, GeoResource, GroupsResource, type GuestTokenIssue, GuestTokensResource, type IamPermissionDef, IamResource, InferenceResource, type Json, LineageResource, type LoginOptions, MapTemplatesResource, MarketplaceResource, MarkingsResource, MediaResource, MergeResource, type MergeTarget, NAV_PERMISSIONS, type NavPermissionKey, NotFoundError, NotepadResource, type OSDKClient, type ObjectTypeWrite, OntologyResource, OperatorResource, type OperatorTaskCreate, type OperatorTaskListOptions, OrganizationsResource, type OsdkApplication, OsdkResource, type OsdkToken, type OsdkTokenWithSecret, PagesResource, type Permission, PermissionDeniedError, type PermissionKey, PipelinesResource, PlatformV22Resource, PlatformV23Resource, PlatformV24Resource, PlatformV25Resource, PlatformV26Resource, ProjectsResource, PropertyMarkingsResource, type PullRequestCreate, type QueryParams, type RequestOptions, ResourceMarkingsResource, RetentionResource, type RetryOptions, type Role, RowPoliciesResource, SituationalResource, SolutionsResource, SpacesResource, type SseEvent, type Tenant, TimeSeriesResource, type TokenPair, type TransactionKind, type Transport, type User, VALID_LEVELS, VALID_PROJECT_ROLES, VideoResource, type WhoAmI, WorkshopResource, WorkspaceUpdatesResource, WorkspacesResource, applicationBySlug, applicationHas, asOsdkClient, isSystemPermission, listApplications, listPermissions, maxLevel, parseSseStream, validateApplication, validateInvariant };