@tai42/studio-sdk 19.3.0 → 21.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.
Files changed (106) hide show
  1. package/dist/components/components.css +7 -0
  2. package/dist/components/execution-key-picker.js.map +1 -1
  3. package/dist/components/extension-grouping.d.ts +8 -12
  4. package/dist/components/extension-grouping.d.ts.map +1 -1
  5. package/dist/components/extension-grouping.js +12 -15
  6. package/dist/components/extension-grouping.js.map +1 -1
  7. package/dist/components/extension-picker.d.ts +3 -4
  8. package/dist/components/extension-picker.d.ts.map +1 -1
  9. package/dist/components/extension-picker.js +10 -10
  10. package/dist/components/extension-picker.js.map +1 -1
  11. package/dist/components/fleet-report.d.ts +10 -5
  12. package/dist/components/fleet-report.d.ts.map +1 -1
  13. package/dist/components/fleet-report.js +20 -3
  14. package/dist/components/fleet-report.js.map +1 -1
  15. package/dist/components/icons/index.d.ts +1 -1
  16. package/dist/components/icons/index.d.ts.map +1 -1
  17. package/dist/components/icons/index.js +1 -1
  18. package/dist/components/icons/index.js.map +1 -1
  19. package/dist/components/icons/nav-map.d.ts.map +1 -1
  20. package/dist/components/icons/nav-map.js +2 -1
  21. package/dist/components/icons/nav-map.js.map +1 -1
  22. package/dist/components/icons/nav-marks.d.ts +2 -0
  23. package/dist/components/icons/nav-marks.d.ts.map +1 -1
  24. package/dist/components/icons/nav-marks.js +2 -0
  25. package/dist/components/icons/nav-marks.js.map +1 -1
  26. package/dist/components/json-tree-model.d.ts +19 -7
  27. package/dist/components/json-tree-model.d.ts.map +1 -1
  28. package/dist/components/json-tree-model.js +32 -8
  29. package/dist/components/json-tree-model.js.map +1 -1
  30. package/dist/components/json-tree.d.ts +10 -1
  31. package/dist/components/json-tree.d.ts.map +1 -1
  32. package/dist/components/json-tree.js +7 -4
  33. package/dist/components/json-tree.js.map +1 -1
  34. package/dist/components/select.d.ts +6 -0
  35. package/dist/components/select.d.ts.map +1 -1
  36. package/dist/components/select.js +3 -2
  37. package/dist/components/select.js.map +1 -1
  38. package/dist/components/served-media.d.ts +50 -4
  39. package/dist/components/served-media.d.ts.map +1 -1
  40. package/dist/components/served-media.js +69 -19
  41. package/dist/components/served-media.js.map +1 -1
  42. package/dist/env-markers.d.ts +25 -0
  43. package/dist/env-markers.d.ts.map +1 -0
  44. package/dist/env-markers.js +63 -0
  45. package/dist/env-markers.js.map +1 -0
  46. package/dist/hooks/interactions-stream.d.ts.map +1 -1
  47. package/dist/hooks/interactions-stream.js +9 -7
  48. package/dist/hooks/interactions-stream.js.map +1 -1
  49. package/dist/hooks/useApi.d.ts +2244 -862
  50. package/dist/hooks/useApi.d.ts.map +1 -1
  51. package/dist/hooks/useCapabilities.d.ts +5 -9
  52. package/dist/hooks/useCapabilities.d.ts.map +1 -1
  53. package/dist/hooks/useCapabilities.js +8 -33
  54. package/dist/hooks/useCapabilities.js.map +1 -1
  55. package/dist/host.d.ts +2 -0
  56. package/dist/host.d.ts.map +1 -1
  57. package/dist/host.js +8 -0
  58. package/dist/host.js.map +1 -1
  59. package/dist/index.d.ts +9 -5
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +4 -3
  62. package/dist/index.js.map +1 -1
  63. package/dist/navigation/types.d.ts +1 -0
  64. package/dist/navigation/types.d.ts.map +1 -1
  65. package/dist/plugin/coverage.d.ts +14 -0
  66. package/dist/plugin/coverage.d.ts.map +1 -0
  67. package/dist/plugin/coverage.js +14 -0
  68. package/dist/plugin/coverage.js.map +1 -0
  69. package/dist/plugin/registry.d.ts +11 -1
  70. package/dist/plugin/registry.d.ts.map +1 -1
  71. package/dist/plugin/registry.js +33 -4
  72. package/dist/plugin/registry.js.map +1 -1
  73. package/dist/plugin/types.d.ts +43 -1
  74. package/dist/plugin/types.d.ts.map +1 -1
  75. package/dist/state-binding/UpdateRow.d.ts +2 -2
  76. package/dist/state-binding/UpdateRow.js +1 -1
  77. package/dist/state-binding/UpdateRow.js.map +1 -1
  78. package/dist/state-binding/adapter.d.ts +12 -8
  79. package/dist/state-binding/adapter.d.ts.map +1 -1
  80. package/dist/state-binding/adapter.js +30 -13
  81. package/dist/state-binding/adapter.js.map +1 -1
  82. package/package.json +5 -4
  83. package/src/components/components.css +7 -0
  84. package/src/components/execution-key-picker.tsx +1 -1
  85. package/src/components/extension-grouping.ts +22 -22
  86. package/src/components/extension-picker.tsx +13 -14
  87. package/src/components/fleet-report.tsx +66 -7
  88. package/src/components/icons/index.ts +1 -0
  89. package/src/components/icons/nav-map.ts +2 -0
  90. package/src/components/icons/nav-marks.tsx +10 -0
  91. package/src/components/json-tree-model.ts +36 -8
  92. package/src/components/json-tree.tsx +24 -4
  93. package/src/components/select.tsx +11 -1
  94. package/src/components/served-media.tsx +150 -16
  95. package/src/env-markers.ts +70 -0
  96. package/src/hooks/interactions-stream.ts +9 -7
  97. package/src/hooks/useCapabilities.ts +8 -31
  98. package/src/host.ts +2 -0
  99. package/src/index.ts +17 -2
  100. package/src/navigation/types.ts +3 -0
  101. package/src/plugin/coverage.ts +23 -0
  102. package/src/plugin/registry.ts +58 -3
  103. package/src/plugin/types.ts +45 -1
  104. package/src/state-binding/README.md +10 -7
  105. package/src/state-binding/UpdateRow.tsx +3 -3
  106. package/src/state-binding/adapter.ts +31 -16
@@ -14,10 +14,10 @@ export declare const ApiProvider: import("react").Provider<{
14
14
  readonly streamInteractions: (signal?: AbortSignal, lastEventId?: string) => Promise<AsyncGenerator<import("@tai42/api-client").SseFrame, any, any>>;
15
15
  readonly getHealth: (signal?: AbortSignal) => Promise<string>;
16
16
  readonly getSystemKinds: (signal?: AbortSignal) => Promise<{
17
+ detail: string;
17
18
  kind: string;
18
- state: "default" | "active" | "off";
19
19
  plugin: string | null;
20
- detail: string;
20
+ state: "default" | "active" | "off";
21
21
  }[]>;
22
22
  readonly searchMarketplace: (query?: import("@tai42/api-client").MarketplaceSearchQuery, signal?: AbortSignal) => Promise<{
23
23
  listings: {
@@ -81,7 +81,7 @@ export declare const ApiProvider: import("react").Provider<{
81
81
  base: string;
82
82
  paths: {
83
83
  path: string;
84
- methods: ("GET" | "POST" | "PUT" | "PATCH" | "DELETE")[];
84
+ methods: ("GET" | "DELETE" | "PATCH" | "POST" | "PUT")[];
85
85
  public: boolean;
86
86
  }[];
87
87
  } | null | undefined;
@@ -105,70 +105,120 @@ export declare const ApiProvider: import("react").Provider<{
105
105
  readonly listMarketplaceKinds: (signal?: AbortSignal) => Promise<string[]>;
106
106
  readonly listInstalledMarketplacePlugins: (signal?: AbortSignal) => Promise<{
107
107
  installed: {
108
- ref: string;
109
- version: string;
110
- source: string;
111
- delivery: "package" | "descriptor";
112
- installed_at: string;
113
- latest: string | null;
114
- update_available: boolean;
115
- incompatible_newer: string | null;
116
- missing_upstream: boolean;
117
108
  compat: {
118
- status: "unknown" | "compatible" | "incompatible";
119
109
  reason: string | null;
110
+ status: "unknown" | "compatible" | "incompatible";
120
111
  };
112
+ delivery: "package" | "descriptor";
113
+ incompatible_newer: string | null;
114
+ installed_at: string;
121
115
  items: {
122
- name: string;
123
116
  kind: string;
117
+ name: string;
124
118
  }[];
119
+ latest: string | null;
120
+ missing_upstream: boolean;
121
+ ref: string;
125
122
  route_mounts: Record<string, string>;
123
+ source: string;
124
+ update_available: boolean;
125
+ version: string;
126
126
  }[];
127
127
  }>;
128
128
  readonly previewMarketplaceInstall: (body: import("@tai42/api-client").MarketplaceInstallPreviewBody, signal?: AbortSignal) => Promise<{
129
- ref: string;
130
- version: string;
131
- items: {
129
+ collisions: {
130
+ conflict_owner: string;
131
+ conflict_path: string;
132
+ full_path: string;
132
133
  item: string;
133
- kind: string;
134
+ methods: ("GET" | "DELETE" | "PATCH" | "POST" | "PUT")[];
135
+ }[];
136
+ delivery: "package" | "descriptor";
137
+ items: {
134
138
  base: string;
135
139
  default_base: string;
140
+ item: string;
141
+ kind: string;
136
142
  routes: {
137
- path: string;
138
143
  full_path: string;
139
- methods: ("GET" | "POST" | "PUT" | "PATCH" | "DELETE")[];
144
+ methods: ("GET" | "DELETE" | "PATCH" | "POST" | "PUT")[];
145
+ path: string;
140
146
  public: boolean;
141
147
  }[];
142
148
  }[];
143
- collisions: {
144
- item: string;
149
+ missing_env: string[];
150
+ new_public_routes: {
145
151
  full_path: string;
146
- methods: ("GET" | "POST" | "PUT" | "PATCH" | "DELETE")[];
147
- conflict_owner: string;
148
- conflict_path: string;
152
+ item: string;
153
+ methods: ("GET" | "DELETE" | "PATCH" | "POST" | "PUT")[];
149
154
  }[];
150
155
  public_routes: {
151
- item: string;
152
156
  full_path: string;
153
- methods: ("GET" | "POST" | "PUT" | "PATCH" | "DELETE")[];
154
- }[];
155
- new_public_routes: {
156
157
  item: string;
157
- full_path: string;
158
- methods: ("GET" | "POST" | "PUT" | "PATCH" | "DELETE")[];
158
+ methods: ("GET" | "DELETE" | "PATCH" | "POST" | "PUT")[];
159
159
  }[];
160
- requires_public_acceptance: boolean;
160
+ ref: string;
161
161
  required_env: {
162
162
  name: string;
163
163
  secret: boolean;
164
164
  }[];
165
- missing_env: string[];
166
- delivery: "package" | "descriptor";
165
+ requires_public_acceptance: boolean;
166
+ version: string;
167
167
  }>;
168
168
  readonly installMarketplacePlugin: (body: import("@tai42/api-client").MarketplaceInstallBody) => Promise<{
169
+ notes: string[];
170
+ package: string | null;
171
+ pip_output: string | null;
169
172
  ref: string;
173
+ reload: {
174
+ awaiting_respawn: {
175
+ keys: string[];
176
+ name: string;
177
+ }[];
178
+ env_keys: number;
179
+ fanout: {
180
+ error: string | null;
181
+ local_only: boolean | null;
182
+ mode: string;
183
+ note: string | null;
184
+ op: string | null;
185
+ reachable: boolean | null;
186
+ results: {
187
+ detail: string | null;
188
+ error: string | null;
189
+ name: string;
190
+ outcome: string;
191
+ payload: unknown;
192
+ }[] | null;
193
+ };
194
+ recycle: {
195
+ fresh: {
196
+ generation: number;
197
+ kind: string;
198
+ name: string;
199
+ }[];
200
+ recycle: {
201
+ detail: string | null;
202
+ generation_before: number;
203
+ kind: string;
204
+ name: string;
205
+ status: string;
206
+ }[];
207
+ recycle_stopped: {
208
+ detail: string;
209
+ kind: string;
210
+ name: string | null;
211
+ } | null;
212
+ } | null;
213
+ status: string;
214
+ };
215
+ routes: {
216
+ full_path: string;
217
+ item: string;
218
+ methods: ("GET" | "DELETE" | "PATCH" | "POST" | "PUT")[];
219
+ public: boolean;
220
+ }[];
170
221
  version: string;
171
- notes: string[];
172
222
  advisories: {
173
223
  id: number;
174
224
  listing: string;
@@ -178,22 +228,108 @@ export declare const ApiProvider: import("react").Provider<{
178
228
  created_at: string;
179
229
  withdrawn_at: string | null;
180
230
  }[];
181
- routes: {
182
- item: string;
183
- full_path: string;
184
- methods: ("GET" | "POST" | "PUT" | "PATCH" | "DELETE")[];
185
- public: boolean;
186
- }[];
187
231
  }>;
188
232
  readonly uninstallMarketplacePlugin: (body: import("@tai42/api-client").MarketplaceUninstallBody) => Promise<{
189
- ref: string;
190
- uninstalled: true;
191
233
  notes: string[];
234
+ ref: string;
235
+ reload: {
236
+ awaiting_respawn: {
237
+ keys: string[];
238
+ name: string;
239
+ }[];
240
+ env_keys: number;
241
+ fanout: {
242
+ error: string | null;
243
+ local_only: boolean | null;
244
+ mode: string;
245
+ note: string | null;
246
+ op: string | null;
247
+ reachable: boolean | null;
248
+ results: {
249
+ detail: string | null;
250
+ error: string | null;
251
+ name: string;
252
+ outcome: string;
253
+ payload: unknown;
254
+ }[] | null;
255
+ };
256
+ recycle: {
257
+ fresh: {
258
+ generation: number;
259
+ kind: string;
260
+ name: string;
261
+ }[];
262
+ recycle: {
263
+ detail: string | null;
264
+ generation_before: number;
265
+ kind: string;
266
+ name: string;
267
+ status: string;
268
+ }[];
269
+ recycle_stopped: {
270
+ detail: string;
271
+ kind: string;
272
+ name: string | null;
273
+ } | null;
274
+ } | null;
275
+ status: string;
276
+ } | null;
277
+ uninstalled: boolean;
192
278
  }>;
193
279
  readonly updateMarketplacePlugin: (body: import("@tai42/api-client").MarketplaceInstallBody) => Promise<{
280
+ notes: string[];
281
+ package: string | null;
282
+ pip_output: string | null;
194
283
  ref: string;
284
+ reload: {
285
+ awaiting_respawn: {
286
+ keys: string[];
287
+ name: string;
288
+ }[];
289
+ env_keys: number;
290
+ fanout: {
291
+ error: string | null;
292
+ local_only: boolean | null;
293
+ mode: string;
294
+ note: string | null;
295
+ op: string | null;
296
+ reachable: boolean | null;
297
+ results: {
298
+ detail: string | null;
299
+ error: string | null;
300
+ name: string;
301
+ outcome: string;
302
+ payload: unknown;
303
+ }[] | null;
304
+ };
305
+ recycle: {
306
+ fresh: {
307
+ generation: number;
308
+ kind: string;
309
+ name: string;
310
+ }[];
311
+ recycle: {
312
+ detail: string | null;
313
+ generation_before: number;
314
+ kind: string;
315
+ name: string;
316
+ status: string;
317
+ }[];
318
+ recycle_stopped: {
319
+ detail: string;
320
+ kind: string;
321
+ name: string | null;
322
+ } | null;
323
+ } | null;
324
+ status: string;
325
+ };
326
+ routes: {
327
+ full_path: string;
328
+ item: string;
329
+ methods: ("GET" | "DELETE" | "PATCH" | "POST" | "PUT")[];
330
+ public: boolean;
331
+ }[];
195
332
  version: string;
196
- notes: string[];
197
333
  advisories: {
198
334
  id: number;
199
335
  listing: string;
@@ -203,21 +339,16 @@ export declare const ApiProvider: import("react").Provider<{
203
339
  created_at: string;
204
340
  withdrawn_at: string | null;
205
341
  }[];
206
- routes: {
207
- item: string;
208
- full_path: string;
209
- methods: ("GET" | "POST" | "PUT" | "PATCH" | "DELETE")[];
210
- public: boolean;
211
- }[];
212
342
  }>;
213
343
  readonly upgradeAllMarketplacePlugins: () => Promise<{
214
344
  results: {
215
- ref: string;
216
- outcome: "failed" | "upgraded" | "up-to-date" | "no-compatible-version";
217
345
  detail: string;
346
+ outcome: "failed" | "upgraded" | "up-to-date" | "no-compatible-version";
347
+ ref: string;
218
348
  }[];
219
349
  }>;
220
350
  readonly getMarketplaceAdvisories: (signal?: AbortSignal) => Promise<{
351
+ fetched_at: string;
221
352
  advisories: {
222
353
  id: number;
223
354
  listing: string;
@@ -227,89 +358,142 @@ export declare const ApiProvider: import("react").Provider<{
227
358
  created_at: string;
228
359
  withdrawn_at: string | null;
229
360
  }[];
230
- fetched_at: string;
231
361
  }>;
232
362
  readonly getObservabilityMetrics: (params?: import("@tai42/api-client").MetricsQuery, signal?: AbortSignal) => Promise<{
233
- summary: {
234
- totalRuns: number;
235
- totalCost: number;
363
+ byModel: {
364
+ avgLatencyMs: number;
365
+ calls: number;
366
+ cost: number;
367
+ model: string;
236
368
  totalTokens: number;
369
+ }[];
370
+ byModelAvailable: boolean;
371
+ granularity: "hour" | "day" | "week";
372
+ summary: {
237
373
  averageLatencyMs: number;
238
374
  avgCostPerRun: number;
239
375
  avgTokensPerRun: number;
240
376
  timeToFirstTokenMs: number | null;
377
+ totalCost: number;
378
+ totalRuns: number;
379
+ totalTokens: number;
241
380
  };
242
381
  timeSeries: {
243
- bucket: string | null;
244
- runs: number;
245
- cost: number;
246
382
  avgLatencyMs: number;
247
- totalTokens: number;
248
- }[];
249
- byModel: {
250
- model: string;
251
- calls: number;
383
+ bucket: string | null;
252
384
  cost: number;
385
+ runs: number;
253
386
  totalTokens: number;
254
- avgLatencyMs: number;
255
387
  }[];
256
- byModelAvailable: boolean;
257
- granularity: "hour" | "day" | "week";
258
388
  }>;
259
389
  readonly listRuns: (params?: import("@tai42/api-client").RunsQuery, signal?: AbortSignal) => Promise<{
260
390
  items: {
261
- id: string;
262
- traceId: string;
263
- createdAt: string | null;
264
- tags: string[];
265
- status: "error" | "success";
266
391
  cost: number | null;
267
- latencyMs: number | null;
268
- totalTokens: number | null;
392
+ createdAt: string | null;
393
+ id: string;
269
394
  inputPreview: unknown;
395
+ latencyMs: number | null;
270
396
  outputPreview: unknown;
397
+ status: "error" | "success";
398
+ tags: string[];
399
+ totalTokens: number | null;
400
+ traceId: string;
271
401
  }[];
272
- page: number;
273
402
  nextPage: number | null;
403
+ page: number;
404
+ }>;
405
+ readonly getObservabilityCapabilities: (signal?: AbortSignal) => Promise<{
406
+ incompatibleFilters: Record<string, string[]>;
407
+ metrics: {
408
+ dimensions: string[];
409
+ measures: string[];
410
+ };
411
+ pageSizeMax: number;
412
+ sortKeys: ("totalTokens" | "cost" | "createdAt" | "latencyMs")[];
274
413
  }>;
275
414
  readonly getRunTrace: (traceId: string, signal?: AbortSignal) => Promise<{
276
- traceId: string;
277
- timestamp: string | null;
278
- tags: string[];
279
- totalCost: number | null;
280
415
  input: unknown;
281
- output: unknown;
282
416
  metadata: unknown;
417
+ output: unknown;
283
418
  spans: {
419
+ end: string | null;
284
420
  id: string;
285
- parentId: string | null;
286
- traceId: string | null;
287
- name: string | null;
288
- type: string | null;
421
+ input: unknown;
422
+ inputTokens: number | null;
423
+ kind: "LLM" | "TOOL" | "CHAIN" | "EVENT" | null;
289
424
  level: string | null;
290
- statusMessage: string | null;
425
+ metadata: unknown;
426
+ model: string | null;
427
+ name: string | null;
428
+ output: unknown;
429
+ outputTokens: number | null;
430
+ parentId: string | null;
291
431
  start: string | null;
432
+ statusMessage: string | null;
433
+ totalTokens: number | null;
434
+ traceId: string | null;
435
+ }[];
436
+ tags: string[];
437
+ timestamp: string | null;
438
+ totalCost: number | null;
439
+ traceId: string;
440
+ }>;
441
+ readonly getRunTraceOutline: (traceId: string, signal?: AbortSignal) => Promise<{
442
+ spans: {
292
443
  end: string | null;
293
- model: string | null;
294
- usage: unknown;
444
+ id: string;
445
+ inputTokens: number | null;
446
+ kind: "LLM" | "TOOL" | "CHAIN" | "EVENT" | null;
447
+ level: string | null;
295
448
  metadata: unknown;
296
- input: unknown;
297
- output: unknown;
298
- nodeId: string | null;
449
+ model: string | null;
450
+ name: string | null;
451
+ outputTokens: number | null;
452
+ parentId: string | null;
453
+ start: string | null;
454
+ statusMessage: string | null;
455
+ totalTokens: number | null;
456
+ traceId: string | null;
299
457
  }[];
458
+ traceId: string;
300
459
  }>;
301
- readonly exportTrace: (traceId: string, signal?: AbortSignal) => Promise<Blob>;
460
+ readonly getResolvedSpanValue: (traceId: string, spanId: string, field: "input" | "output", options?: {
461
+ readonly pointer?: string;
462
+ }, signal?: AbortSignal) => Promise<{
463
+ field: "output" | "input";
464
+ pointer: string;
465
+ spanId: string;
466
+ traceId: string;
467
+ value: unknown;
468
+ }>;
469
+ readonly exportTrace: (traceId: string, options?: {
470
+ readonly resolve?: boolean;
471
+ }, signal?: AbortSignal) => Promise<Blob>;
302
472
  readonly exportRuns: (params: import("@tai42/api-client").RunsQuery & {
303
473
  format: "csv" | "json";
304
474
  }, signal?: AbortSignal) => Promise<Blob>;
305
475
  readonly listSchedules: (signal?: AbortSignal) => Promise<{
306
- [x: string]: unknown;
476
+ cadence: {
477
+ day_of_month: string;
478
+ day_of_week: string;
479
+ hour: string;
480
+ kind: "crontab";
481
+ minute: string;
482
+ month_of_year: string;
483
+ } | {
484
+ every: number;
485
+ kind: "interval";
486
+ relative: boolean;
487
+ };
488
+ enabled: boolean;
489
+ error: {
490
+ at_iso: string | null;
491
+ message: string;
492
+ } | null;
307
493
  name: string;
308
- enabled?: boolean | undefined;
309
- schedule?: unknown;
310
- target?: unknown;
311
- args?: unknown[] | undefined;
312
- kwargs?: Record<string, unknown> | undefined;
494
+ next_run_at_iso: string | null;
495
+ next_run_at_ts: number | null;
496
+ tool: string;
313
497
  }[]>;
314
498
  readonly getServerDateTime: (signal?: AbortSignal) => Promise<{
315
499
  [x: string]: unknown;
@@ -317,17 +501,7 @@ export declare const ApiProvider: import("react").Provider<{
317
501
  local?: unknown;
318
502
  system?: unknown;
319
503
  }>;
320
- readonly addSchedule: (body: {
321
- tool_name: string;
322
- tool_kwargs: Record<string, unknown>;
323
- schedule_kwargs: Record<string, unknown>;
324
- execution_key?: string | null;
325
- state_binding?: import("@tai42/api-client").StateBinding | null;
326
- start_expr?: import("@tai42/api-client").TemplatedText | null;
327
- cancel_expr?: import("@tai42/api-client").TemplatedText | null;
328
- resume_expr?: import("@tai42/api-client").TemplatedText | null;
329
- extras_expr?: import("@tai42/api-client").TemplatedText | null;
330
- }) => Promise<unknown>;
504
+ readonly addSchedule: (body: import("@tai42/api-client").ScheduleCreate) => Promise<unknown>;
331
505
  readonly deleteSchedule: (name: string) => Promise<unknown>;
332
506
  readonly listBackupSections: (signal?: AbortSignal) => Promise<{
333
507
  name: string;
@@ -340,45 +514,71 @@ export declare const ApiProvider: import("react").Provider<{
340
514
  }) => Promise<{
341
515
  ok: boolean;
342
516
  sections: Record<string, {
517
+ awaiting_respawn: {
518
+ keys: string[];
519
+ name: string;
520
+ }[];
343
521
  created: number;
344
- updated: number;
345
- skipped: number;
346
522
  errors: string[];
347
- new_api_keys?: {
348
- user_id: string;
349
- description: string;
350
- api_key: string;
351
- }[] | undefined;
352
- fanout?: {
523
+ recycle: {
524
+ fresh: {
525
+ generation: number;
526
+ kind: string;
527
+ name: string;
528
+ }[];
529
+ recycle: {
530
+ detail: string | null;
531
+ generation_before: number;
532
+ kind: string;
533
+ name: string;
534
+ status: string;
535
+ }[];
536
+ recycle_stopped: {
537
+ detail: string;
538
+ kind: string;
539
+ name: string | null;
540
+ } | null;
541
+ } | null;
542
+ skipped: number;
543
+ updated: number;
544
+ fanout: {
353
545
  mode: "local-only";
354
546
  note: string;
355
547
  } | {
548
+ error: string | null;
549
+ local_only: boolean;
356
550
  op: string;
357
551
  reachable: boolean;
358
- local_only: boolean;
359
552
  results: {
553
+ detail: string | null;
554
+ error: string | null;
360
555
  name: string;
361
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
556
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
362
557
  payload: unknown;
363
- error: string | null;
364
- detail: string | null;
365
558
  }[];
366
- error: string | null;
367
559
  mode: "fleet";
368
560
  } | {
561
+ error: string | null;
562
+ local_only: boolean;
369
563
  op: string;
370
564
  reachable: boolean;
371
- local_only: boolean;
372
565
  results: {
566
+ detail: string | null;
567
+ error: string | null;
373
568
  name: string;
374
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
569
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
375
570
  payload: unknown;
376
- error: string | null;
377
- detail: string | null;
378
571
  }[];
379
- error: string | null;
380
572
  mode: "unreachable";
381
- } | undefined;
573
+ } | null;
574
+ details: {
575
+ [x: string]: unknown;
576
+ new_api_keys?: {
577
+ user_id: string;
578
+ description: string;
579
+ api_key: string;
580
+ }[] | undefined;
581
+ };
382
582
  }>;
383
583
  }>;
384
584
  readonly validateCondition: (body: import("@tai42/api-client").ValidateConditionBody) => Promise<{
@@ -386,6 +586,9 @@ export declare const ApiProvider: import("react").Provider<{
386
586
  result: boolean | null;
387
587
  }>;
388
588
  readonly listPolicyVersions: (userId: string, signal?: AbortSignal) => Promise<{
589
+ created_at: string;
590
+ is_current: boolean;
591
+ tags: string[];
389
592
  version: number;
390
593
  body: {
391
594
  condition: {
@@ -396,13 +599,10 @@ export declare const ApiProvider: import("react").Provider<{
396
599
  policy_data: Record<string, unknown>;
397
600
  scopes: string[];
398
601
  };
399
- tags: string[];
400
- created_at: string;
401
- is_current: boolean;
402
602
  }[]>;
403
603
  readonly rollbackPolicy: (userId: string, version: number) => Promise<{
404
- user_id: string;
405
604
  active_version: number;
605
+ user_id: string;
406
606
  }>;
407
607
  readonly logout: () => Promise<{
408
608
  revoked: boolean;
@@ -410,36 +610,37 @@ export declare const ApiProvider: import("react").Provider<{
410
610
  readonly getAuthCapabilities: (signal?: AbortSignal) => Promise<{
411
611
  mintable: boolean;
412
612
  providers: {
413
- name: string;
414
613
  mintable: boolean;
614
+ name: string;
415
615
  }[];
416
616
  }>;
417
617
  readonly getLoginMethods: (options?: {
418
618
  signal?: AbortSignal;
419
619
  }) => Promise<{
620
+ claim_fragment_key: string;
420
621
  methods: ({
421
- shape: "form";
622
+ href: string;
623
+ icon: string | null;
422
624
  id: string;
423
- title: string;
424
- purpose: "login" | "invite";
625
+ label: string;
626
+ shape: "button";
627
+ } | {
425
628
  fields: {
426
- name: string;
629
+ autocomplete: string | null;
427
630
  label: string;
631
+ name: string;
428
632
  secret: boolean;
429
- autocomplete?: string | undefined;
430
633
  }[];
431
- submit_path: string;
432
- } | {
433
- shape: "button";
434
634
  id: string;
435
- label: string;
436
- href: string;
437
- icon?: string | undefined;
635
+ purpose: "login" | "invite";
636
+ shape: "form";
637
+ submit_path: string;
638
+ title: string;
438
639
  })[];
439
640
  needs_setup: boolean;
440
- setup_login?: {
641
+ setup_login: {
441
642
  kinds: ("invite" | "password")[];
442
- } | null | undefined;
643
+ } | null;
443
644
  }>;
444
645
  readonly submitLoginForm: (path: string, values: Record<string, string>) => Promise<{
445
646
  token: string;
@@ -456,69 +657,149 @@ export declare const ApiProvider: import("react").Provider<{
456
657
  user_id: string;
457
658
  }>;
458
659
  readonly submitSetup: (body: import("@tai42/api-client").SetupBody) => Promise<{
459
- owner_user_id: string;
460
- key_user_id: string;
461
660
  api_key: string;
661
+ invite_token: string | null;
462
662
  key_fingerprint: string;
663
+ key_user_id: string;
463
664
  login_attached: boolean;
464
- invite_token?: string | null | undefined;
465
- login_path?: string | null | undefined;
665
+ login_path: string | null;
666
+ owner_user_id: string;
466
667
  }>;
467
668
  readonly getMe: (signal?: AbortSignal) => Promise<{
468
- user_id: string;
469
- owner_user_id: string | null;
470
669
  admin: boolean;
471
- scopes: string[];
472
- routes: {
473
- path: string;
474
- methods: string[];
475
- }[];
670
+ agents: string[];
671
+ mintable: boolean;
672
+ owner_user_id: string | null;
673
+ principal: {
674
+ display_name: string;
675
+ kind: "human" | "service";
676
+ user_id: string;
677
+ } | null;
678
+ public_resource_id: string;
476
679
  route_patterns: {
680
+ open_prefix: string | null;
477
681
  pattern: string;
478
682
  scope_id: string;
479
683
  }[];
684
+ routes: {
685
+ methods: string[];
686
+ path: string;
687
+ }[];
688
+ scopes: string[];
480
689
  sub_mcp: {
690
+ access_pattern: string;
691
+ mount_url: string;
692
+ slug: string;
481
693
  tools: string[];
482
694
  transport: string;
483
- slug: string;
484
695
  }[];
485
696
  tools: string[];
486
- agents: string[];
487
- mintable: boolean;
488
- principal?: {
489
- user_id: string;
490
- kind: "human" | "service";
491
- display_name: string;
492
- } | null | undefined;
697
+ user_id: string;
493
698
  }>;
494
- readonly listScopes: (signal?: AbortSignal) => Promise<Record<string, string>>;
495
- readonly addUrlToScope: (body: import("@tai42/api-client").AddUrlToScopeBody) => Promise<{
496
- scope_id: string;
497
- url: string;
699
+ readonly listPrincipals: (signal?: AbortSignal) => Promise<{
700
+ created_at: string;
701
+ created_by: string | null;
702
+ disabled: boolean;
703
+ display_name: string;
704
+ kind: "human" | "service";
705
+ user_id: string;
706
+ }[]>;
707
+ readonly createPrincipal: (body: {
708
+ user_id?: string;
709
+ kind: import("@tai42/api-client").PrincipalKind;
710
+ display_name: string;
711
+ role: string;
712
+ }) => Promise<{
713
+ created_at: string;
714
+ created_by: string | null;
715
+ disabled: boolean;
716
+ display_name: string;
717
+ kind: "human" | "service";
718
+ user_id: string;
498
719
  }>;
499
- readonly removeUrlFromScope: (body: {
500
- url: string;
720
+ readonly updatePrincipal: (userId: string, body: {
721
+ display_name?: string;
722
+ disabled?: boolean;
501
723
  }) => Promise<{
502
- url: string;
724
+ created_at: string;
725
+ created_by: string | null;
726
+ disabled: boolean;
727
+ display_name: string;
728
+ kind: "human" | "service";
729
+ user_id: string;
503
730
  }>;
504
- readonly removeScope: (scopeId: string) => Promise<{
505
- scope_id: string;
506
- deleted_keys: number;
731
+ readonly deletePrincipal: (userId: string) => Promise<{
732
+ deleted: boolean;
733
+ user_id: string;
507
734
  }>;
508
- readonly listAuthRoutes: (signal?: AbortSignal) => Promise<{
509
- path: string;
510
- methods: string[];
511
- mapped: string | null;
512
- tags: string[];
513
- summary: string;
514
- action: "read" | "write" | "fenced" | "secret" | null;
735
+ readonly listTokensPayload: (signal?: AbortSignal) => Promise<{
736
+ condition: {
737
+ content?: string | undefined;
738
+ id?: string | undefined;
739
+ kwargs?: Record<string, unknown> | undefined;
740
+ } | null;
741
+ description: string;
742
+ orphaned: boolean;
743
+ policy_data: Record<string, unknown> | null;
744
+ principal: {
745
+ display_name: string;
746
+ kind: "human" | "service";
747
+ user_id: string;
748
+ } | null;
749
+ scopes: string[] | null;
750
+ user_id: string;
515
751
  }[]>;
516
- readonly listPublicRoutes: (signal?: AbortSignal) => Promise<string[]>;
517
- readonly pinRoutePublic: (body: import("@tai42/api-client").PinRoutePublicBody) => Promise<{
518
- url: string;
752
+ readonly createApiKey: (body: import("@tai42/api-client").ApiKeyBody) => Promise<string>;
753
+ readonly editApiKey: (userId: string, body: Omit<import("@tai42/api-client").ApiKeyBody, "user_id">) => Promise<{
754
+ updated: boolean;
755
+ user_id: string;
519
756
  }>;
520
- readonly unpinPublicRoute: (url: string) => Promise<{
521
- url: string;
757
+ readonly revokeApiKey: (userId: string) => Promise<{
758
+ revoked: boolean;
759
+ user_id: string;
760
+ }>;
761
+ readonly createClaimLink: (body: import("@tai42/api-client").ClaimLinkBody) => Promise<{
762
+ claim_path: string;
763
+ expires_at: string;
764
+ token: string;
765
+ }>;
766
+ readonly listMembers: (signal?: AbortSignal) => Promise<{
767
+ invites: {
768
+ action_keys: string[];
769
+ created_at: string;
770
+ email: string;
771
+ expires_at: string;
772
+ handle: string;
773
+ id: string;
774
+ role: string | null;
775
+ }[];
776
+ members: {
777
+ action_keys: string[];
778
+ created_at: string;
779
+ disabled: boolean;
780
+ email: string;
781
+ handle: string;
782
+ id: string;
783
+ principals: {
784
+ disabled: boolean;
785
+ role: string | null;
786
+ user_id: string;
787
+ }[];
788
+ role: string | null;
789
+ }[];
790
+ }>;
791
+ readonly listMemberActions: (signal?: AbortSignal) => Promise<{
792
+ actions: {
793
+ destructive: boolean;
794
+ input_schema: Record<string, unknown>;
795
+ key: string;
796
+ label: string;
797
+ result_schema: Record<string, unknown>;
798
+ scope: "page" | "member_row" | "invite_row";
799
+ }[];
800
+ }>;
801
+ readonly invokeMemberAction: (body: import("../../../api-client/dist/client/auth-client").InvokeMemberActionBody) => Promise<{
802
+ result: Record<string, unknown>;
522
803
  }>;
523
804
  readonly listRoles: (signal?: AbortSignal) => Promise<{
524
805
  allow_all: boolean;
@@ -560,11 +841,14 @@ export declare const ApiProvider: import("react").Provider<{
560
841
  scopes: string[];
561
842
  }>;
562
843
  readonly deleteRole: (name: string) => Promise<{
563
- name: string;
564
844
  deleted: boolean;
845
+ name: string;
565
846
  }>;
566
847
  readonly listRoleVersions: (name: string, signal?: AbortSignal) => Promise<{
567
848
  versions: {
849
+ created_at: string;
850
+ is_current: boolean;
851
+ tags: string[];
568
852
  version: number;
569
853
  body: {
570
854
  allow_all: boolean;
@@ -579,11 +863,11 @@ export declare const ApiProvider: import("react").Provider<{
579
863
  name: string;
580
864
  scopes: string[];
581
865
  };
582
- tags: string[];
583
- created_at: string;
584
- is_current: boolean;
585
866
  }[];
586
867
  audit: {
868
+ created_at: string;
869
+ is_current: boolean;
870
+ tags: string[];
587
871
  version: number;
588
872
  body: {
589
873
  action: string;
@@ -591,95 +875,55 @@ export declare const ApiProvider: import("react").Provider<{
591
875
  before: unknown;
592
876
  after: unknown;
593
877
  };
594
- tags: string[];
595
- created_at: string;
596
- is_current: boolean;
597
878
  }[];
598
879
  }>;
599
- readonly rollbackRole: (name: string, version: number) => Promise<{
600
- allow_all: boolean;
601
- base_tier: string | null;
602
- condition: {
603
- content?: string | undefined;
604
- id?: string | undefined;
605
- kwargs?: Record<string, unknown> | undefined;
606
- } | null;
607
- description: string;
608
- grants: Record<string, "none" | "read" | "write">;
609
- name: string;
610
- scopes: string[];
611
- }>;
612
- readonly listTokensPayload: (signal?: AbortSignal) => Promise<{
613
- user_id: string;
614
- description: string;
615
- scopes: string[];
616
- policy_data: unknown;
617
- condition?: {
618
- content?: string | undefined;
619
- id?: string | undefined;
620
- kwargs?: Record<string, unknown> | undefined;
621
- } | null | undefined;
622
- principal?: {
623
- user_id: string;
624
- kind: "human" | "service";
625
- display_name: string;
626
- } | null | undefined;
627
- orphaned?: boolean | undefined;
628
- }[]>;
629
- readonly createApiKey: (body: import("@tai42/api-client").ApiKeyBody) => Promise<string>;
630
- readonly editApiKey: (userId: string, body: Omit<import("@tai42/api-client").ApiKeyBody, "user_id">) => Promise<{
631
- user_id: string;
632
- updated: boolean;
633
- }>;
634
- readonly revokeApiKey: (userId: string) => Promise<{
635
- user_id: string;
636
- revoked: boolean;
637
- }>;
638
- readonly createClaimLink: (body: import("@tai42/api-client").ClaimLinkBody) => Promise<{
639
- claim_path: string;
640
- token: string;
641
- expires_at: string;
880
+ readonly rollbackRole: (name: string, version: number) => Promise<{
881
+ allow_all: boolean;
882
+ base_tier: string | null;
883
+ condition: {
884
+ content?: string | undefined;
885
+ id?: string | undefined;
886
+ kwargs?: Record<string, unknown> | undefined;
887
+ } | null;
888
+ description: string;
889
+ grants: Record<string, "none" | "read" | "write">;
890
+ name: string;
891
+ scopes: string[];
642
892
  }>;
643
- readonly listPrincipals: (signal?: AbortSignal) => Promise<{
644
- user_id: string;
645
- kind: "human" | "service";
646
- display_name: string;
647
- created_by: string | null;
648
- disabled: boolean;
649
- created_at: string;
650
- }[]>;
651
- readonly createPrincipal: (body: {
652
- user_id?: string;
653
- kind: "human" | "service";
654
- display_name: string;
655
- role: string;
656
- }) => Promise<{
657
- user_id: string;
658
- kind: "human" | "service";
659
- display_name: string;
660
- created_by: string | null;
661
- disabled: boolean;
662
- created_at: string;
893
+ readonly listScopes: (signal?: AbortSignal) => Promise<Record<string, string>>;
894
+ readonly addUrlToScope: (body: import("@tai42/api-client").AddUrlToScopeBody) => Promise<{
895
+ scope_id: string;
896
+ url: string;
663
897
  }>;
664
- readonly updatePrincipal: (userId: string, body: {
665
- display_name?: string;
666
- disabled?: boolean;
898
+ readonly removeUrlFromScope: (body: {
899
+ url: string;
667
900
  }) => Promise<{
668
- user_id: string;
669
- kind: "human" | "service";
670
- display_name: string;
671
- created_by: string | null;
672
- disabled: boolean;
673
- created_at: string;
901
+ url: string;
674
902
  }>;
675
- readonly deletePrincipal: (userId: string) => Promise<{
676
- user_id: string;
677
- deleted: boolean;
903
+ readonly removeScope: (scopeId: string) => Promise<{
904
+ deleted_keys: number;
905
+ scope_id: string;
906
+ }>;
907
+ readonly listAuthRoutes: (signal?: AbortSignal) => Promise<{
908
+ action: "read" | "write" | "secret" | "fenced" | null;
909
+ declared_public: boolean;
910
+ mapped: string | null;
911
+ methods: string[];
912
+ path: string;
913
+ summary: string;
914
+ tags: string[];
915
+ }[]>;
916
+ readonly listPublicRoutes: (signal?: AbortSignal) => Promise<string[]>;
917
+ readonly pinRoutePublic: (body: import("@tai42/api-client").PinRoutePublicBody) => Promise<{
918
+ url: string;
919
+ }>;
920
+ readonly unpinPublicRoute: (url: string) => Promise<{
921
+ url: string;
678
922
  }>;
679
923
  readonly getSettingsSchema: (signal?: AbortSignal) => Promise<{
680
924
  groups: {
681
- name: string;
682
925
  module: string;
926
+ name: string;
683
927
  qualname: string;
684
928
  fields: {
685
929
  name: string;
@@ -697,29 +941,31 @@ export declare const ApiProvider: import("react").Provider<{
697
941
  }>;
698
942
  readonly getMcpConfigSchema: (signal?: AbortSignal) => Promise<Record<string, unknown>>;
699
943
  readonly createTriggerLink: (body: import("@tai42/api-client").TriggerLinkCreateBody) => Promise<{
944
+ expires_at: string | null;
700
945
  name: string;
701
- trigger_path: string;
702
946
  token: string;
703
947
  topic: string;
704
- expires_at: string | null;
948
+ trigger_path: string;
705
949
  }>;
706
950
  readonly listTriggerLinks: (signal?: AbortSignal) => Promise<{
707
951
  items: {
708
- name: string;
709
- topic: string;
710
- execution_key: string;
711
- trigger_auth: "token" | "public" | "verifier" | "token+api_key" | "out-of-service";
712
- tool_kwargs: Record<string, unknown> | null;
713
- created_by: string | null;
714
952
  created_at: string;
953
+ created_by: string | null;
954
+ execution_key: string;
955
+ execution_key_fingerprint: string;
715
956
  expires_at: string | null;
957
+ name: string;
958
+ require_api_key: boolean;
716
959
  token_hash_prefix: string;
960
+ tool_kwargs: Record<string, unknown> | null;
961
+ topic: string;
962
+ trigger_auth: "token" | "public" | "verifier" | "token+api_key" | "out-of-service";
717
963
  }[];
718
964
  total: number;
719
965
  }>;
720
966
  readonly deleteTriggerLink: (name: string) => Promise<{
721
- removed: boolean;
722
967
  name: string;
968
+ removed: boolean;
723
969
  }>;
724
970
  readonly listHooks: (topic?: string, signal?: AbortSignal) => Promise<{
725
971
  items: {
@@ -809,19 +1055,19 @@ export declare const ApiProvider: import("react").Provider<{
809
1055
  topic: string;
810
1056
  }[];
811
1057
  total: number;
1058
+ trigger_auth: Record<string, "token" | "public" | "verifier" | "token+api_key" | "out-of-service">;
812
1059
  topic_verifiers: Record<string, {
813
1060
  verifier: string;
814
1061
  config: Record<string, unknown>;
815
1062
  }>;
816
- trigger_auth: Record<string, "token" | "public" | "verifier" | "token+api_key" | "out-of-service">;
817
1063
  }>;
818
1064
  readonly registerHook: (params: import("@tai42/api-client").HookRegister) => Promise<{
819
- registered: boolean;
820
1065
  name: string;
1066
+ registered: boolean;
821
1067
  }>;
822
1068
  readonly unregisterHook: (name: string) => Promise<{
823
- removed: boolean;
824
1069
  name: string;
1070
+ removed: boolean;
825
1071
  }>;
826
1072
  readonly listHookVerifiers: (signal?: AbortSignal) => Promise<string[]>;
827
1073
  readonly setTopicVerifier: (topic: string, body: import("@tai42/api-client").TopicVerifierBody) => Promise<{
@@ -856,58 +1102,67 @@ export declare const ApiProvider: import("react").Provider<{
856
1102
  readonly streamAuthoredAgentRun: (name: string, input: unknown, signal?: AbortSignal) => Promise<AsyncGenerator<import("@tai42/api-client").ParsedAgentEvent, any, any>>;
857
1103
  readonly listNotifications: (signal?: AbortSignal) => Promise<{
858
1104
  notifications: {
1105
+ audience: string | null;
1106
+ created_at: string;
1107
+ footer: string | null;
1108
+ header: {
1109
+ caption: string | null;
1110
+ filename: string | null;
1111
+ kind: "image" | "link" | "document" | "video" | "audio";
1112
+ url: string;
1113
+ } | null;
859
1114
  id: string;
1115
+ location: {
1116
+ address: string | null;
1117
+ latitude: number;
1118
+ longitude: number;
1119
+ name: string | null;
1120
+ } | null;
1121
+ media: {
1122
+ caption: string | null;
1123
+ filename: string | null;
1124
+ kind: "image" | "link" | "document" | "video" | "audio";
1125
+ url: string;
1126
+ }[] | null;
860
1127
  message: string;
1128
+ options: ({
1129
+ kind: "link";
1130
+ label: string;
1131
+ url: string;
1132
+ } | {
1133
+ description: string | null;
1134
+ id: string | null;
1135
+ kind: "reply";
1136
+ text: string;
1137
+ })[] | null;
861
1138
  recipient: string | null;
862
- created_at: string;
863
- audience?: string | null | undefined;
864
- media?: unknown[] | null | undefined;
865
- template?: {
866
- body_parameters: string[];
867
- buttons: unknown[];
868
- header_media: {
869
- caption: string | null;
870
- filename: string | null;
871
- kind: "image" | "link" | "document" | "video" | "audio";
872
- url: string;
873
- } | null;
1139
+ schema: unknown;
1140
+ sections: {
1141
+ rows: {
1142
+ description: string | null;
1143
+ id: string | null;
1144
+ kind: "reply";
1145
+ text: string;
1146
+ }[];
1147
+ title: string;
1148
+ }[] | null;
1149
+ template: {
874
1150
  language: string;
875
1151
  name: string;
876
- } | null | undefined;
877
- options?: string[] | null | undefined;
878
- }[];
879
- }>;
880
- readonly getWebEntryGate: (identity: string, signal?: AbortSignal) => Promise<{
881
- enabled: boolean;
882
- codes: {
883
- code_id: string;
884
- label: string | null;
885
- created_at: string;
886
- expires_at: string | null;
1152
+ parameters: Record<string, unknown> | null;
1153
+ } | null;
887
1154
  }[];
888
1155
  }>;
889
- readonly setWebEntryGate: (identity: string, enabled: boolean) => Promise<{
890
- enabled: boolean;
891
- }>;
892
- readonly mintWebEntryCode: (identity: string, body: import("@tai42/api-client").WebEntryCodeMintBody) => Promise<{
893
- code: string;
894
- code_id: string;
895
- expires_at: string | null;
896
- }>;
897
- readonly revokeWebEntryCode: (identity: string, codeId: string) => Promise<{
898
- status: "revoked";
899
- }>;
900
1156
  readonly listConversationRoutes: (signal?: AbortSignal) => Promise<{
901
- items: {
902
- callback_secret: string | null;
1157
+ items: ({
903
1158
  callback_url: string | null;
904
1159
  cancel_expr: {
905
1160
  content?: string | undefined;
906
1161
  id?: string | undefined;
907
1162
  kwargs?: Record<string, unknown> | undefined;
908
1163
  } | null;
909
- channel: string | null;
910
- door: "channel" | "api";
1164
+ channel: null;
1165
+ door: "api";
911
1166
  error_reply_text: string | null;
912
1167
  execution_key: string;
913
1168
  execution_key_fingerprint: string;
@@ -918,7 +1173,7 @@ export declare const ApiProvider: import("react").Provider<{
918
1173
  } | null;
919
1174
  initial_mode: "agent" | "manual";
920
1175
  locale: string | null;
921
- our_identity: string | null;
1176
+ our_identity: null;
922
1177
  overlap: {
923
1178
  deliver: "one" | "all";
924
1179
  running: "continue" | "cancel";
@@ -943,22 +1198,66 @@ export declare const ApiProvider: import("react").Provider<{
943
1198
  target_kind: "tool" | "agent";
944
1199
  target_name: string;
945
1200
  turns_per_hour_override: number | null;
946
- }[];
1201
+ } | {
1202
+ callback_url: null;
1203
+ cancel_expr: {
1204
+ content?: string | undefined;
1205
+ id?: string | undefined;
1206
+ kwargs?: Record<string, unknown> | undefined;
1207
+ } | null;
1208
+ channel: string;
1209
+ door: "channel";
1210
+ error_reply_text: string | null;
1211
+ execution_key: string;
1212
+ execution_key_fingerprint: string;
1213
+ extras_expr: {
1214
+ content?: string | undefined;
1215
+ id?: string | undefined;
1216
+ kwargs?: Record<string, unknown> | undefined;
1217
+ } | null;
1218
+ initial_mode: "agent" | "manual";
1219
+ locale: string | null;
1220
+ our_identity: string;
1221
+ overlap: {
1222
+ deliver: "one" | "all";
1223
+ running: "continue" | "cancel";
1224
+ settle_seconds: number;
1225
+ };
1226
+ reply_expr: {
1227
+ content?: string | undefined;
1228
+ id?: string | undefined;
1229
+ kwargs?: Record<string, unknown> | undefined;
1230
+ } | null;
1231
+ resume_expr: {
1232
+ content?: string | undefined;
1233
+ id?: string | undefined;
1234
+ kwargs?: Record<string, unknown> | undefined;
1235
+ } | null;
1236
+ route_name: string;
1237
+ start_expr: {
1238
+ content?: string | undefined;
1239
+ id?: string | undefined;
1240
+ kwargs?: Record<string, unknown> | undefined;
1241
+ } | null;
1242
+ target_kind: "tool" | "agent";
1243
+ target_name: string;
1244
+ turns_per_hour_override: number | null;
1245
+ })[];
947
1246
  total: number;
1247
+ unreadable: number;
948
1248
  }>;
949
1249
  readonly createOrReplaceConversationRoute: (route: import("@tai42/api-client").ConversationRouteCreate) => Promise<{
1250
+ callback_secret: string | null;
950
1251
  created: boolean;
951
- route_name: string;
952
1252
  route: {
953
- callback_secret: string | null;
954
1253
  callback_url: string | null;
955
1254
  cancel_expr: {
956
1255
  content?: string | undefined;
957
1256
  id?: string | undefined;
958
1257
  kwargs?: Record<string, unknown> | undefined;
959
1258
  } | null;
960
- channel: string | null;
961
- door: "channel" | "api";
1259
+ channel: null;
1260
+ door: "api";
962
1261
  error_reply_text: string | null;
963
1262
  execution_key: string;
964
1263
  execution_key_fingerprint: string;
@@ -969,7 +1268,51 @@ export declare const ApiProvider: import("react").Provider<{
969
1268
  } | null;
970
1269
  initial_mode: "agent" | "manual";
971
1270
  locale: string | null;
972
- our_identity: string | null;
1271
+ our_identity: null;
1272
+ overlap: {
1273
+ deliver: "one" | "all";
1274
+ running: "continue" | "cancel";
1275
+ settle_seconds: number;
1276
+ };
1277
+ reply_expr: {
1278
+ content?: string | undefined;
1279
+ id?: string | undefined;
1280
+ kwargs?: Record<string, unknown> | undefined;
1281
+ } | null;
1282
+ resume_expr: {
1283
+ content?: string | undefined;
1284
+ id?: string | undefined;
1285
+ kwargs?: Record<string, unknown> | undefined;
1286
+ } | null;
1287
+ route_name: string;
1288
+ start_expr: {
1289
+ content?: string | undefined;
1290
+ id?: string | undefined;
1291
+ kwargs?: Record<string, unknown> | undefined;
1292
+ } | null;
1293
+ target_kind: "tool" | "agent";
1294
+ target_name: string;
1295
+ turns_per_hour_override: number | null;
1296
+ } | {
1297
+ callback_url: null;
1298
+ cancel_expr: {
1299
+ content?: string | undefined;
1300
+ id?: string | undefined;
1301
+ kwargs?: Record<string, unknown> | undefined;
1302
+ } | null;
1303
+ channel: string;
1304
+ door: "channel";
1305
+ error_reply_text: string | null;
1306
+ execution_key: string;
1307
+ execution_key_fingerprint: string;
1308
+ extras_expr: {
1309
+ content?: string | undefined;
1310
+ id?: string | undefined;
1311
+ kwargs?: Record<string, unknown> | undefined;
1312
+ } | null;
1313
+ initial_mode: "agent" | "manual";
1314
+ locale: string | null;
1315
+ our_identity: string;
973
1316
  overlap: {
974
1317
  deliver: "one" | "all";
975
1318
  running: "continue" | "cancel";
@@ -995,88 +1338,266 @@ export declare const ApiProvider: import("react").Provider<{
995
1338
  target_name: string;
996
1339
  turns_per_hour_override: number | null;
997
1340
  };
998
- callback_secret: string | null;
1341
+ route_name: string;
999
1342
  }>;
1000
1343
  readonly deleteConversationRoute: (routeName: string) => Promise<{
1001
1344
  removed: boolean;
1002
1345
  route_name: string;
1003
1346
  }>;
1004
1347
  readonly listConversationThreads: (routeName: string, page: number, pageSize: number, filters?: import("@tai42/api-client").ConversationThreadFilters, signal?: AbortSignal) => Promise<{
1005
- total: number;
1006
- page: number;
1007
- page_size: number;
1008
- next_page: number | null;
1009
- truncated: boolean;
1010
1348
  items: {
1011
- thread_id: string;
1012
1349
  client_address: string;
1013
1350
  last_activity_at: number;
1351
+ last_delivery_status: "superseded" | "failed" | "silent" | "merged" | "accepted" | "pending_delivery" | "provisional" | "delivered" | "shed";
1014
1352
  message_count: number;
1015
- last_delivery_status: "failed" | "accepted" | "pending_delivery" | "provisional" | "delivered" | "shed" | "silent" | "merged" | "superseded";
1353
+ thread_id: string;
1016
1354
  }[];
1017
- }>;
1018
- readonly readConversationTranscript: (query: import("@tai42/api-client").ConversationTranscriptQuery, signal?: AbortSignal) => Promise<{
1019
- order: "asc" | "desc";
1020
- total: number;
1355
+ next_page: number | null;
1021
1356
  page: number;
1022
1357
  page_size: number;
1023
- next_page: number | null;
1358
+ total: number;
1024
1359
  truncated: boolean;
1360
+ unreadable: number;
1361
+ }>;
1362
+ readonly readConversationTranscript: (query: import("@tai42/api-client").ConversationTranscriptQuery, signal?: AbortSignal) => Promise<{
1025
1363
  items: {
1026
- message_id: string;
1027
- route_name: string;
1028
- door: "channel" | "api";
1029
- thread_id: string;
1030
- client_address: string;
1364
+ answer: string | null;
1365
+ answer_parts: {
1366
+ data: {
1367
+ options: Record<string, {
1368
+ label: string | null;
1369
+ value: string;
1370
+ }[]>;
1371
+ values: Record<string, unknown>;
1372
+ } | null;
1373
+ footer: string | null;
1374
+ form_tag: string | null;
1375
+ header: {
1376
+ caption: string | null;
1377
+ filename: string | null;
1378
+ kind: "image" | "link" | "document" | "video" | "audio";
1379
+ url: string;
1380
+ } | null;
1381
+ location: {
1382
+ address: string | null;
1383
+ latitude: number;
1384
+ longitude: number;
1385
+ name: string | null;
1386
+ } | null;
1387
+ media: {
1388
+ caption: string | null;
1389
+ filename: string | null;
1390
+ kind: "image" | "link" | "document" | "video" | "audio";
1391
+ url: string;
1392
+ }[] | null;
1393
+ message: string;
1394
+ options: ({
1395
+ kind: "link";
1396
+ label: string;
1397
+ url: string;
1398
+ } | {
1399
+ description: string | null;
1400
+ id: string | null;
1401
+ kind: "reply";
1402
+ text: string;
1403
+ })[] | null;
1404
+ pages: {
1405
+ display: {
1406
+ alt: string | null;
1407
+ kind: "heading" | "body" | "image";
1408
+ slot: string | null;
1409
+ src: string | null;
1410
+ text: string | null;
1411
+ }[];
1412
+ fields: string[];
1413
+ kind: "input" | "review";
1414
+ title: string;
1415
+ }[] | null;
1416
+ schema: Record<string, unknown> | null;
1417
+ sections: {
1418
+ rows: {
1419
+ description: string | null;
1420
+ id: string | null;
1421
+ kind: "reply";
1422
+ text: string;
1423
+ }[];
1424
+ title: string;
1425
+ }[] | null;
1426
+ template: {
1427
+ language: string;
1428
+ name: string;
1429
+ parameters: Record<string, unknown> | null;
1430
+ } | null;
1431
+ }[] | null;
1432
+ answer_status: "error" | "superseded" | "answered" | "silent" | "merged" | null;
1433
+ attempts: number | null;
1434
+ callback_url: string | null;
1031
1435
  caller_principal: string | null;
1436
+ channel: string | null;
1437
+ client_address: string;
1438
+ created_at: number;
1439
+ delivery_status: "superseded" | "failed" | "silent" | "merged" | "accepted" | "pending_delivery" | "provisional" | "delivered" | "shed";
1440
+ door: "channel" | "api";
1441
+ error: string | null;
1442
+ inbound_attachments: {
1443
+ caption: string | null;
1444
+ filename: string | null;
1445
+ kind: "image" | "link" | "document" | "video" | "audio";
1446
+ url: string;
1447
+ }[] | null;
1448
+ inbound_event: Record<string, unknown> | null;
1449
+ inbound_form: Record<string, unknown> | null;
1450
+ inbound_form_tag: string | null;
1451
+ inbound_kind: "message" | "event";
1452
+ inbound_locale: string | null;
1453
+ inbound_location: {
1454
+ address: string | null;
1455
+ latitude: number;
1456
+ longitude: number;
1457
+ name: string | null;
1458
+ } | null;
1032
1459
  inbound_text: string;
1033
- inbound_attachments: unknown[] | null;
1034
- answer_status: "error" | "silent" | "merged" | "superseded" | "answered" | null;
1035
- answer: string | null;
1460
+ message_id: string;
1461
+ operator_send: boolean;
1462
+ origin: "operator" | "client";
1463
+ our_identity: string | null;
1464
+ outbound_message_ids: string[] | null;
1465
+ pending_receipt: "superseded" | "failed" | "silent" | "merged" | "accepted" | "pending_delivery" | "provisional" | "delivered" | "shed" | null;
1466
+ provider_message_id: string | null;
1467
+ route_missing: boolean;
1468
+ route_name: string;
1469
+ submitted_by: string | null;
1036
1470
  successor_id: string | null;
1037
- origin: "client" | "operator";
1038
- delivery_status: "failed" | "accepted" | "pending_delivery" | "provisional" | "delivered" | "shed" | "silent" | "merged" | "superseded";
1039
- created_at: number;
1471
+ thread_id: string;
1040
1472
  updated_at: number;
1041
- channel?: string | null | undefined;
1042
- our_identity?: string | null | undefined;
1043
- provider_message_id?: string | null | undefined;
1044
- callback_url?: string | null | undefined;
1045
- error?: string | null | undefined;
1046
- outbound_message_ids?: string[] | undefined;
1047
- attempts?: number | undefined;
1048
1473
  }[];
1049
- }>;
1050
- readonly searchConversationMessages: (query: import("@tai42/api-client").ConversationMessageSearchQuery, signal?: AbortSignal) => Promise<{
1051
- total: number;
1474
+ next_page: number | null;
1475
+ order: "asc" | "desc";
1052
1476
  page: number;
1053
1477
  page_size: number;
1054
- next_page: number | null;
1478
+ person_id: string | null;
1479
+ total: number;
1055
1480
  truncated: boolean;
1481
+ unreadable: number;
1482
+ }>;
1483
+ readonly searchConversationMessages: (query: import("@tai42/api-client").ConversationMessageSearchQuery, signal?: AbortSignal) => Promise<{
1056
1484
  items: {
1057
- message_id: string;
1058
- route_name: string;
1059
- door: "channel" | "api";
1060
- thread_id: string;
1061
- client_address: string;
1485
+ answer: string | null;
1486
+ answer_parts: {
1487
+ data: {
1488
+ options: Record<string, {
1489
+ label: string | null;
1490
+ value: string;
1491
+ }[]>;
1492
+ values: Record<string, unknown>;
1493
+ } | null;
1494
+ footer: string | null;
1495
+ form_tag: string | null;
1496
+ header: {
1497
+ caption: string | null;
1498
+ filename: string | null;
1499
+ kind: "image" | "link" | "document" | "video" | "audio";
1500
+ url: string;
1501
+ } | null;
1502
+ location: {
1503
+ address: string | null;
1504
+ latitude: number;
1505
+ longitude: number;
1506
+ name: string | null;
1507
+ } | null;
1508
+ media: {
1509
+ caption: string | null;
1510
+ filename: string | null;
1511
+ kind: "image" | "link" | "document" | "video" | "audio";
1512
+ url: string;
1513
+ }[] | null;
1514
+ message: string;
1515
+ options: ({
1516
+ kind: "link";
1517
+ label: string;
1518
+ url: string;
1519
+ } | {
1520
+ description: string | null;
1521
+ id: string | null;
1522
+ kind: "reply";
1523
+ text: string;
1524
+ })[] | null;
1525
+ pages: {
1526
+ display: {
1527
+ alt: string | null;
1528
+ kind: "heading" | "body" | "image";
1529
+ slot: string | null;
1530
+ src: string | null;
1531
+ text: string | null;
1532
+ }[];
1533
+ fields: string[];
1534
+ kind: "input" | "review";
1535
+ title: string;
1536
+ }[] | null;
1537
+ schema: Record<string, unknown> | null;
1538
+ sections: {
1539
+ rows: {
1540
+ description: string | null;
1541
+ id: string | null;
1542
+ kind: "reply";
1543
+ text: string;
1544
+ }[];
1545
+ title: string;
1546
+ }[] | null;
1547
+ template: {
1548
+ language: string;
1549
+ name: string;
1550
+ parameters: Record<string, unknown> | null;
1551
+ } | null;
1552
+ }[] | null;
1553
+ answer_status: "error" | "superseded" | "answered" | "silent" | "merged" | null;
1554
+ attempts: number | null;
1555
+ callback_url: string | null;
1062
1556
  caller_principal: string | null;
1557
+ channel: string | null;
1558
+ client_address: string;
1559
+ created_at: number;
1560
+ delivery_status: "superseded" | "failed" | "silent" | "merged" | "accepted" | "pending_delivery" | "provisional" | "delivered" | "shed";
1561
+ door: "channel" | "api";
1562
+ error: string | null;
1563
+ inbound_attachments: {
1564
+ caption: string | null;
1565
+ filename: string | null;
1566
+ kind: "image" | "link" | "document" | "video" | "audio";
1567
+ url: string;
1568
+ }[] | null;
1569
+ inbound_event: Record<string, unknown> | null;
1570
+ inbound_form: Record<string, unknown> | null;
1571
+ inbound_form_tag: string | null;
1572
+ inbound_kind: "message" | "event";
1573
+ inbound_locale: string | null;
1574
+ inbound_location: {
1575
+ address: string | null;
1576
+ latitude: number;
1577
+ longitude: number;
1578
+ name: string | null;
1579
+ } | null;
1063
1580
  inbound_text: string;
1064
- inbound_attachments: unknown[] | null;
1065
- answer_status: "error" | "silent" | "merged" | "superseded" | "answered" | null;
1066
- answer: string | null;
1581
+ message_id: string;
1582
+ operator_send: boolean;
1583
+ origin: "operator" | "client";
1584
+ our_identity: string | null;
1585
+ outbound_message_ids: string[] | null;
1586
+ pending_receipt: "superseded" | "failed" | "silent" | "merged" | "accepted" | "pending_delivery" | "provisional" | "delivered" | "shed" | null;
1587
+ provider_message_id: string | null;
1588
+ route_missing: boolean;
1589
+ route_name: string;
1590
+ submitted_by: string | null;
1067
1591
  successor_id: string | null;
1068
- origin: "client" | "operator";
1069
- delivery_status: "failed" | "accepted" | "pending_delivery" | "provisional" | "delivered" | "shed" | "silent" | "merged" | "superseded";
1070
- created_at: number;
1592
+ thread_id: string;
1071
1593
  updated_at: number;
1072
- channel?: string | null | undefined;
1073
- our_identity?: string | null | undefined;
1074
- provider_message_id?: string | null | undefined;
1075
- callback_url?: string | null | undefined;
1076
- error?: string | null | undefined;
1077
- outbound_message_ids?: string[] | undefined;
1078
- attempts?: number | undefined;
1079
1594
  }[];
1595
+ next_page: number | null;
1596
+ page: number;
1597
+ page_size: number;
1598
+ total: number;
1599
+ truncated: boolean;
1600
+ unreadable: number;
1080
1601
  }>;
1081
1602
  readonly sendConversationThreadMessage: (routeName: string, body: import("@tai42/api-client").ConversationThreadMessageBody) => Promise<{
1082
1603
  message_id: string;
@@ -1141,6 +1662,7 @@ export declare const ApiProvider: import("react").Provider<{
1141
1662
  target_name: string;
1142
1663
  }[];
1143
1664
  total: number;
1665
+ unreadable: number;
1144
1666
  }>;
1145
1667
  readonly getConversationConfig: (targetKind: import("@tai42/api-client").ConversationTargetKind, targetName: string, signal?: AbortSignal) => Promise<{
1146
1668
  greeting_template: string | null;
@@ -1192,9 +1714,6 @@ export declare const ApiProvider: import("react").Provider<{
1192
1714
  target_name: string;
1193
1715
  }>;
1194
1716
  readonly setConversationConfig: (config: import("@tai42/api-client").TargetConversationConfig) => Promise<{
1195
- created: boolean;
1196
- target_kind: "tool" | "agent";
1197
- target_name: string;
1198
1717
  config: {
1199
1718
  greeting_template: string | null;
1200
1719
  multichannel: boolean;
@@ -1244,6 +1763,9 @@ export declare const ApiProvider: import("react").Provider<{
1244
1763
  target_kind: "tool" | "agent";
1245
1764
  target_name: string;
1246
1765
  };
1766
+ created: boolean;
1767
+ target_kind: "tool" | "agent";
1768
+ target_name: string;
1247
1769
  }>;
1248
1770
  readonly deleteConversationConfig: (targetKind: import("@tai42/api-client").ConversationTargetKind, targetName: string) => Promise<{
1249
1771
  removed: boolean;
@@ -1252,30 +1774,118 @@ export declare const ApiProvider: import("react").Provider<{
1252
1774
  }>;
1253
1775
  readonly listFailedConversationMessages: (signal?: AbortSignal) => Promise<{
1254
1776
  items: {
1255
- message_id: string;
1256
- route_name: string;
1257
- door: "channel" | "api";
1258
- thread_id: string;
1259
- client_address: string;
1777
+ answer: string | null;
1778
+ answer_parts: {
1779
+ data: {
1780
+ options: Record<string, {
1781
+ label: string | null;
1782
+ value: string;
1783
+ }[]>;
1784
+ values: Record<string, unknown>;
1785
+ } | null;
1786
+ footer: string | null;
1787
+ form_tag: string | null;
1788
+ header: {
1789
+ caption: string | null;
1790
+ filename: string | null;
1791
+ kind: "image" | "link" | "document" | "video" | "audio";
1792
+ url: string;
1793
+ } | null;
1794
+ location: {
1795
+ address: string | null;
1796
+ latitude: number;
1797
+ longitude: number;
1798
+ name: string | null;
1799
+ } | null;
1800
+ media: {
1801
+ caption: string | null;
1802
+ filename: string | null;
1803
+ kind: "image" | "link" | "document" | "video" | "audio";
1804
+ url: string;
1805
+ }[] | null;
1806
+ message: string;
1807
+ options: ({
1808
+ kind: "link";
1809
+ label: string;
1810
+ url: string;
1811
+ } | {
1812
+ description: string | null;
1813
+ id: string | null;
1814
+ kind: "reply";
1815
+ text: string;
1816
+ })[] | null;
1817
+ pages: {
1818
+ display: {
1819
+ alt: string | null;
1820
+ kind: "heading" | "body" | "image";
1821
+ slot: string | null;
1822
+ src: string | null;
1823
+ text: string | null;
1824
+ }[];
1825
+ fields: string[];
1826
+ kind: "input" | "review";
1827
+ title: string;
1828
+ }[] | null;
1829
+ schema: Record<string, unknown> | null;
1830
+ sections: {
1831
+ rows: {
1832
+ description: string | null;
1833
+ id: string | null;
1834
+ kind: "reply";
1835
+ text: string;
1836
+ }[];
1837
+ title: string;
1838
+ }[] | null;
1839
+ template: {
1840
+ language: string;
1841
+ name: string;
1842
+ parameters: Record<string, unknown> | null;
1843
+ } | null;
1844
+ }[] | null;
1845
+ answer_status: "error" | "superseded" | "answered" | "silent" | "merged" | null;
1846
+ attempts: number | null;
1847
+ callback_url: string | null;
1260
1848
  caller_principal: string | null;
1849
+ channel: string | null;
1850
+ client_address: string;
1851
+ created_at: number;
1852
+ delivery_status: "superseded" | "failed" | "silent" | "merged" | "accepted" | "pending_delivery" | "provisional" | "delivered" | "shed";
1853
+ door: "channel" | "api";
1854
+ error: string | null;
1855
+ inbound_attachments: {
1856
+ caption: string | null;
1857
+ filename: string | null;
1858
+ kind: "image" | "link" | "document" | "video" | "audio";
1859
+ url: string;
1860
+ }[] | null;
1861
+ inbound_event: Record<string, unknown> | null;
1862
+ inbound_form: Record<string, unknown> | null;
1863
+ inbound_form_tag: string | null;
1864
+ inbound_kind: "message" | "event";
1865
+ inbound_locale: string | null;
1866
+ inbound_location: {
1867
+ address: string | null;
1868
+ latitude: number;
1869
+ longitude: number;
1870
+ name: string | null;
1871
+ } | null;
1261
1872
  inbound_text: string;
1262
- inbound_attachments: unknown[] | null;
1263
- answer_status: "error" | "silent" | "merged" | "superseded" | "answered" | null;
1264
- answer: string | null;
1873
+ message_id: string;
1874
+ operator_send: boolean;
1875
+ origin: "operator" | "client";
1876
+ our_identity: string | null;
1877
+ outbound_message_ids: string[] | null;
1878
+ pending_receipt: "superseded" | "failed" | "silent" | "merged" | "accepted" | "pending_delivery" | "provisional" | "delivered" | "shed" | null;
1879
+ provider_message_id: string | null;
1880
+ route_missing: boolean;
1881
+ route_name: string;
1882
+ submitted_by: string | null;
1265
1883
  successor_id: string | null;
1266
- origin: "client" | "operator";
1267
- delivery_status: "failed" | "accepted" | "pending_delivery" | "provisional" | "delivered" | "shed" | "silent" | "merged" | "superseded";
1268
- created_at: number;
1884
+ thread_id: string;
1269
1885
  updated_at: number;
1270
- channel?: string | null | undefined;
1271
- our_identity?: string | null | undefined;
1272
- provider_message_id?: string | null | undefined;
1273
- callback_url?: string | null | undefined;
1274
- error?: string | null | undefined;
1275
- outbound_message_ids?: string[] | undefined;
1276
- attempts?: number | undefined;
1277
1886
  }[];
1278
1887
  total: number;
1888
+ unreadable: number;
1279
1889
  }>;
1280
1890
  readonly deleteConversationThread: (routeName: string, threadId: string) => Promise<{
1281
1891
  removed: number;
@@ -1283,34 +1893,39 @@ export declare const ApiProvider: import("react").Provider<{
1283
1893
  thread_id: string;
1284
1894
  }>;
1285
1895
  readonly deleteConversationPerson: (personId: string) => Promise<{
1896
+ erased: boolean;
1286
1897
  person_id: string;
1287
1898
  removed: number;
1288
- erased: boolean;
1289
1899
  }>;
1290
1900
  readonly listChannels: (signal?: AbortSignal) => Promise<{
1291
1901
  channels: string[];
1292
1902
  }>;
1293
1903
  readonly listInteractions: (page: number, pageSize: number, signal?: AbortSignal) => Promise<{
1294
- total: number;
1904
+ next_page: number | null;
1295
1905
  page: number;
1296
1906
  page_size: number;
1297
- next_page: number | null;
1907
+ total: number;
1298
1908
  truncated: boolean;
1299
1909
  items: {
1300
- interaction_id: string;
1910
+ answer_format: "text" | "free" | "confirm" | "form" | "select" | "external";
1911
+ audience: string | null;
1912
+ channel: string | null;
1913
+ created_at: string;
1301
1914
  group_id: string;
1915
+ interaction_id: string;
1916
+ media: {
1917
+ caption: string | null;
1918
+ filename: string | null;
1919
+ kind: "image" | "link" | "document" | "video" | "audio";
1920
+ url: string;
1921
+ }[] | null;
1922
+ origin: string | null;
1302
1923
  question: string;
1303
- answer_format: "text" | "external" | "confirm" | "select" | "form";
1304
- format_payload: Record<string, unknown>;
1305
- created_at: string;
1306
- timeout_at: string;
1924
+ recipient: string | null;
1307
1925
  sensitive: boolean;
1308
- server_verified?: boolean | undefined;
1309
- channel?: string | undefined;
1310
- recipient?: string | undefined;
1311
- origin?: string | undefined;
1312
- audience?: string | undefined;
1313
- media?: unknown[] | undefined;
1926
+ server_verified: boolean | null;
1927
+ timeout_at: string;
1928
+ format_payload: Record<string, unknown>;
1314
1929
  }[];
1315
1930
  }>;
1316
1931
  readonly answerInteraction: (interactionId: string, answer: unknown) => Promise<{
@@ -1320,8 +1935,8 @@ export declare const ApiProvider: import("react").Provider<{
1320
1935
  readonly reactInteraction: (interactionId: string, event: import("@tai42/api-client").ReactionEvent, values: unknown) => Promise<{
1321
1936
  values: Record<string, unknown>;
1322
1937
  options: Record<string, {
1938
+ label: string | null;
1323
1939
  value: string;
1324
- label?: string | null | undefined;
1325
1940
  }[]>;
1326
1941
  errors: Record<string, string>;
1327
1942
  display: Record<string, unknown>;
@@ -1331,267 +1946,459 @@ export declare const ApiProvider: import("react").Provider<{
1331
1946
  status: string;
1332
1947
  }>;
1333
1948
  readonly listStudioPlugins: (signal?: AbortSignal) => Promise<{
1334
- name: string;
1335
- version: string;
1336
1949
  api_version: number;
1337
- entry: string;
1338
- integrity: Record<string, string>;
1339
1950
  contributions: {
1340
- tool_panels: Record<string, string>;
1951
+ nav_entries: string[];
1341
1952
  pages: string[];
1953
+ route_panels: string[];
1342
1954
  settings_tabs: string[];
1343
- nav_entries: string[];
1955
+ tool_panels: Record<string, string>;
1344
1956
  };
1957
+ entry: string;
1958
+ integrity: Record<string, string>;
1959
+ mounts: Record<string, string>;
1960
+ name: string;
1961
+ version: string;
1345
1962
  }[]>;
1963
+ readonly discoverServer: (target: import("@tai42/api-client").DiscoverServerTarget) => Promise<{
1964
+ authorization_servers: string[];
1965
+ automatic_client: boolean;
1966
+ client_issuer: string | null;
1967
+ issuer: string;
1968
+ redirect_uri: string | null;
1969
+ registration_supported: boolean;
1970
+ resource: string;
1971
+ resource_name: string | null;
1972
+ scopes_supported: string[];
1973
+ suggested_display_name: string;
1974
+ suggested_id: string;
1975
+ url: string;
1976
+ }>;
1977
+ readonly addServer: (args: import("@tai42/api-client").AddServerArgs) => Promise<{
1978
+ provider: {
1979
+ category: string;
1980
+ client_source: "manual" | "env" | "dynamic" | "unset" | null;
1981
+ config_fields: {
1982
+ key: string;
1983
+ label: string;
1984
+ required: boolean;
1985
+ secret: boolean;
1986
+ target: "header" | "env";
1987
+ }[];
1988
+ description: string;
1989
+ display_name: string;
1990
+ icon_url: string | null;
1991
+ id: string;
1992
+ kind: "none" | "oauth";
1993
+ origin: "system" | "community";
1994
+ removable: boolean;
1995
+ sub_services: {
1996
+ description: string;
1997
+ display_name: string;
1998
+ id: string;
1999
+ scopes: string[];
2000
+ }[];
2001
+ };
2002
+ fanout: {
2003
+ mode: "local-only";
2004
+ note: string;
2005
+ } | {
2006
+ error: string | null;
2007
+ local_only: boolean;
2008
+ op: string;
2009
+ reachable: boolean;
2010
+ results: {
2011
+ detail: string | null;
2012
+ error: string | null;
2013
+ name: string;
2014
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
2015
+ payload: unknown;
2016
+ }[];
2017
+ mode: "fleet";
2018
+ } | {
2019
+ error: string | null;
2020
+ local_only: boolean;
2021
+ op: string;
2022
+ reachable: boolean;
2023
+ results: {
2024
+ detail: string | null;
2025
+ error: string | null;
2026
+ name: string;
2027
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
2028
+ payload: unknown;
2029
+ }[];
2030
+ mode: "unreachable";
2031
+ } | null;
2032
+ }>;
2033
+ readonly removeProvider: (id: string) => Promise<{
2034
+ provider_id: string;
2035
+ removed_clients: number;
2036
+ fanout: {
2037
+ mode: "local-only";
2038
+ note: string;
2039
+ } | {
2040
+ error: string | null;
2041
+ local_only: boolean;
2042
+ op: string;
2043
+ reachable: boolean;
2044
+ results: {
2045
+ detail: string | null;
2046
+ error: string | null;
2047
+ name: string;
2048
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
2049
+ payload: unknown;
2050
+ }[];
2051
+ mode: "fleet";
2052
+ } | {
2053
+ error: string | null;
2054
+ local_only: boolean;
2055
+ op: string;
2056
+ reachable: boolean;
2057
+ results: {
2058
+ detail: string | null;
2059
+ error: string | null;
2060
+ name: string;
2061
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
2062
+ payload: unknown;
2063
+ }[];
2064
+ mode: "unreachable";
2065
+ } | null;
2066
+ }>;
2067
+ readonly setProviderClient: (id: string, args: import("@tai42/api-client").SetProviderClientArgs) => Promise<{
2068
+ provider: {
2069
+ category: string;
2070
+ client_source: "manual" | "env" | "dynamic" | "unset" | null;
2071
+ config_fields: {
2072
+ key: string;
2073
+ label: string;
2074
+ required: boolean;
2075
+ secret: boolean;
2076
+ target: "header" | "env";
2077
+ }[];
2078
+ description: string;
2079
+ display_name: string;
2080
+ icon_url: string | null;
2081
+ id: string;
2082
+ kind: "none" | "oauth";
2083
+ origin: "system" | "community";
2084
+ removable: boolean;
2085
+ sub_services: {
2086
+ description: string;
2087
+ display_name: string;
2088
+ id: string;
2089
+ scopes: string[];
2090
+ }[];
2091
+ };
2092
+ fanout: {
2093
+ mode: "local-only";
2094
+ note: string;
2095
+ } | {
2096
+ error: string | null;
2097
+ local_only: boolean;
2098
+ op: string;
2099
+ reachable: boolean;
2100
+ results: {
2101
+ detail: string | null;
2102
+ error: string | null;
2103
+ name: string;
2104
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
2105
+ payload: unknown;
2106
+ }[];
2107
+ mode: "fleet";
2108
+ } | {
2109
+ error: string | null;
2110
+ local_only: boolean;
2111
+ op: string;
2112
+ reachable: boolean;
2113
+ results: {
2114
+ detail: string | null;
2115
+ error: string | null;
2116
+ name: string;
2117
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
2118
+ payload: unknown;
2119
+ }[];
2120
+ mode: "unreachable";
2121
+ } | null;
2122
+ }>;
1346
2123
  readonly listProviders: (signal?: AbortSignal) => Promise<{
1347
- providers: {
1348
- id: string;
2124
+ categories: {
1349
2125
  display_name: string;
1350
- description: string;
1351
- icon_url: string;
1352
- kind: "none" | "oauth";
1353
- origin: "system" | "community";
2126
+ id: string;
2127
+ sort_order: number;
2128
+ }[];
2129
+ providers: {
1354
2130
  category: string;
1355
- sub_services: {
1356
- id: string;
1357
- display_name: string;
1358
- description: string;
1359
- scopes: string[];
1360
- }[];
2131
+ client_source: "manual" | "env" | "dynamic" | "unset" | null;
1361
2132
  config_fields: {
1362
2133
  key: string;
1363
2134
  label: string;
1364
- target: "env" | "header";
1365
2135
  required: boolean;
1366
2136
  secret: boolean;
2137
+ target: "header" | "env";
1367
2138
  }[];
1368
- }[];
1369
- categories: {
1370
- id: string;
2139
+ description: string;
1371
2140
  display_name: string;
1372
- sort_order: number;
2141
+ icon_url: string | null;
2142
+ id: string;
2143
+ kind: "none" | "oauth";
2144
+ origin: "system" | "community";
2145
+ removable: boolean;
2146
+ sub_services: {
2147
+ description: string;
2148
+ display_name: string;
2149
+ id: string;
2150
+ scopes: string[];
2151
+ }[];
1373
2152
  }[];
1374
2153
  }>;
1375
2154
  readonly listConnections: (signal?: AbortSignal) => Promise<{
1376
2155
  items: {
1377
- connection_id: string;
1378
- provider_id: string;
1379
- alias: string;
1380
- kind: "none" | "oauth";
1381
2156
  account_identity: string | null;
2157
+ alias: string;
2158
+ auth_health_state: "healthy" | "reconnect_required" | "refresh_failing";
2159
+ connection_id: string;
2160
+ created_at: string;
1382
2161
  enabled_sub_services: string[];
1383
2162
  granted_scopes: string[];
2163
+ kind: "none" | "oauth";
2164
+ provider_id: string;
2165
+ scopes_wanted: string[];
1384
2166
  unreachable_sub_services: string[];
1385
- auth_health_state: "healthy" | "reconnect_required" | "refresh_failing";
1386
- created_at: string;
1387
2167
  }[];
1388
2168
  total: number;
1389
- unhealthy?: number | undefined;
2169
+ unhealthy: number;
1390
2170
  }>;
1391
2171
  readonly getConnection: (id: string, signal?: AbortSignal) => Promise<{
1392
- connection_id: string;
1393
- provider_id: string;
1394
- alias: string;
1395
- kind: "none" | "oauth";
1396
2172
  account_identity: string | null;
2173
+ alias: string;
2174
+ auth_health_state: "healthy" | "reconnect_required" | "refresh_failing";
2175
+ connection_id: string;
2176
+ created_at: string;
1397
2177
  enabled_sub_services: string[];
1398
2178
  granted_scopes: string[];
2179
+ kind: "none" | "oauth";
2180
+ provider_id: string;
2181
+ scopes_wanted: string[];
1399
2182
  unreachable_sub_services: string[];
1400
- auth_health_state: "healthy" | "reconnect_required" | "refresh_failing";
1401
- created_at: string;
1402
2183
  }>;
1403
2184
  readonly startConnect: (args: import("@tai42/api-client").StartConnectArgs) => Promise<{
1404
- flow_id: string;
1405
2185
  authorize_url: string;
2186
+ flow_id: string;
1406
2187
  } | {
1407
- connection_id: string;
1408
2188
  added_manifest_entries: string[];
2189
+ connection_id: string;
1409
2190
  fanout: {
1410
2191
  mode: "local-only";
1411
2192
  note: string;
1412
2193
  } | {
2194
+ error: string | null;
2195
+ local_only: boolean;
1413
2196
  op: string;
1414
2197
  reachable: boolean;
1415
- local_only: boolean;
1416
2198
  results: {
2199
+ detail: string | null;
2200
+ error: string | null;
1417
2201
  name: string;
1418
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2202
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1419
2203
  payload: unknown;
1420
- error: string | null;
1421
- detail: string | null;
1422
2204
  }[];
1423
- error: string | null;
1424
2205
  mode: "fleet";
1425
2206
  } | {
2207
+ error: string | null;
2208
+ local_only: boolean;
1426
2209
  op: string;
1427
2210
  reachable: boolean;
1428
- local_only: boolean;
1429
2211
  results: {
2212
+ detail: string | null;
2213
+ error: string | null;
1430
2214
  name: string;
1431
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2215
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1432
2216
  payload: unknown;
1433
- error: string | null;
1434
- detail: string | null;
1435
2217
  }[];
1436
- error: string | null;
1437
2218
  mode: "unreachable";
1438
2219
  } | null;
1439
2220
  }>;
1440
2221
  readonly disconnect: (id: string) => Promise<{
1441
2222
  connection_id: string;
1442
- upstream_revoke_outcome: "success" | "failed" | "skipped";
1443
- upstream_revoke_status: number | null;
1444
2223
  removed_manifest_entries: string[];
2224
+ upstream_revoke_outcome: "success" | "skipped" | "failed";
2225
+ upstream_revoke_status: number | null;
1445
2226
  fanout: {
1446
2227
  mode: "local-only";
1447
2228
  note: string;
1448
2229
  } | {
2230
+ error: string | null;
2231
+ local_only: boolean;
1449
2232
  op: string;
1450
2233
  reachable: boolean;
1451
- local_only: boolean;
1452
2234
  results: {
2235
+ detail: string | null;
2236
+ error: string | null;
1453
2237
  name: string;
1454
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2238
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1455
2239
  payload: unknown;
1456
- error: string | null;
1457
- detail: string | null;
1458
2240
  }[];
1459
- error: string | null;
1460
2241
  mode: "fleet";
1461
2242
  } | {
2243
+ error: string | null;
2244
+ local_only: boolean;
1462
2245
  op: string;
1463
2246
  reachable: boolean;
1464
- local_only: boolean;
1465
2247
  results: {
2248
+ detail: string | null;
2249
+ error: string | null;
1466
2250
  name: string;
1467
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2251
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1468
2252
  payload: unknown;
1469
- error: string | null;
1470
- detail: string | null;
1471
2253
  }[];
1472
- error: string | null;
1473
2254
  mode: "unreachable";
1474
2255
  } | null;
1475
2256
  }>;
1476
2257
  readonly reconnect: (id: string, enabled_sub_services: string[], return_url?: string) => Promise<{
1477
- flow_id: string;
1478
2258
  authorize_url: string;
2259
+ flow_id: string;
1479
2260
  }>;
1480
2261
  readonly patchSubServices: (id: string, enabled_sub_services: string[], return_url?: string) => Promise<{
2262
+ added_manifest_entries: string[];
2263
+ authorize_url: string | null;
1481
2264
  connection_id: string;
1482
- enabled_sub_services: string[];
1483
2265
  consent_required: boolean;
2266
+ enabled_sub_services: string[];
1484
2267
  flow_id: string | null;
1485
- authorize_url: string | null;
1486
- added_manifest_entries: string[];
1487
2268
  removed_manifest_entries: string[];
1488
2269
  fanout: {
1489
2270
  mode: "local-only";
1490
2271
  note: string;
1491
2272
  } | {
2273
+ error: string | null;
2274
+ local_only: boolean;
1492
2275
  op: string;
1493
2276
  reachable: boolean;
1494
- local_only: boolean;
1495
2277
  results: {
2278
+ detail: string | null;
2279
+ error: string | null;
1496
2280
  name: string;
1497
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2281
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1498
2282
  payload: unknown;
1499
- error: string | null;
1500
- detail: string | null;
1501
2283
  }[];
1502
- error: string | null;
1503
2284
  mode: "fleet";
1504
2285
  } | {
2286
+ error: string | null;
2287
+ local_only: boolean;
1505
2288
  op: string;
1506
2289
  reachable: boolean;
1507
- local_only: boolean;
1508
2290
  results: {
2291
+ detail: string | null;
2292
+ error: string | null;
1509
2293
  name: string;
1510
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2294
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1511
2295
  payload: unknown;
1512
- error: string | null;
1513
- detail: string | null;
1514
2296
  }[];
1515
- error: string | null;
1516
2297
  mode: "unreachable";
1517
2298
  } | null;
1518
2299
  }>;
1519
- readonly completeOAuth: (state: string, code: string, error?: string) => Promise<{
1520
- kind: "success";
2300
+ readonly completeOAuth: (state: string, code: string, error?: string, iss?: string) => Promise<{
2301
+ kind: "cancelled";
2302
+ message: string;
2303
+ } | {
2304
+ kind: "failed";
2305
+ reason: string;
2306
+ } | {
2307
+ kind: "not_configured";
2308
+ } | {
1521
2309
  connection_id: string;
2310
+ kind: "success";
1522
2311
  return_url: string;
1523
2312
  fanout: {
1524
2313
  mode: "local-only";
1525
2314
  note: string;
1526
2315
  } | {
2316
+ error: string | null;
2317
+ local_only: boolean;
1527
2318
  op: string;
1528
2319
  reachable: boolean;
1529
- local_only: boolean;
1530
2320
  results: {
2321
+ detail: string | null;
2322
+ error: string | null;
1531
2323
  name: string;
1532
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2324
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1533
2325
  payload: unknown;
1534
- error: string | null;
1535
- detail: string | null;
1536
2326
  }[];
1537
- error: string | null;
1538
2327
  mode: "fleet";
1539
2328
  } | {
2329
+ error: string | null;
2330
+ local_only: boolean;
1540
2331
  op: string;
1541
2332
  reachable: boolean;
1542
- local_only: boolean;
1543
2333
  results: {
2334
+ detail: string | null;
2335
+ error: string | null;
1544
2336
  name: string;
1545
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2337
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1546
2338
  payload: unknown;
1547
- error: string | null;
1548
- detail: string | null;
1549
2339
  }[];
1550
- error: string | null;
1551
2340
  mode: "unreachable";
1552
- } | null;
1553
- } | {
1554
- kind: "failed";
1555
- reason: string;
1556
- } | {
1557
- kind: "cancelled";
1558
- message: string;
2341
+ };
1559
2342
  }>;
1560
2343
  readonly setMcpSecretEnv: (body: import("../../../api-client/dist/client/manifest-client").SetMcpSecretEnvBody) => Promise<{
1561
- status: string;
2344
+ awaiting_respawn: {
2345
+ keys: string[];
2346
+ name: string;
2347
+ }[];
1562
2348
  env_keys: number;
2349
+ recycle: {
2350
+ fresh: {
2351
+ generation: number;
2352
+ kind: string;
2353
+ name: string;
2354
+ }[];
2355
+ recycle: {
2356
+ detail: string | null;
2357
+ generation_before: number;
2358
+ kind: string;
2359
+ name: string;
2360
+ status: string;
2361
+ }[];
2362
+ recycle_stopped: {
2363
+ detail: string;
2364
+ kind: string;
2365
+ name: string | null;
2366
+ } | null;
2367
+ } | null;
2368
+ status: string;
1563
2369
  fanout: {
1564
2370
  mode: "local-only";
1565
2371
  note: string;
1566
2372
  } | {
2373
+ error: string | null;
2374
+ local_only: boolean;
1567
2375
  op: string;
1568
2376
  reachable: boolean;
1569
- local_only: boolean;
1570
2377
  results: {
2378
+ detail: string | null;
2379
+ error: string | null;
1571
2380
  name: string;
1572
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2381
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1573
2382
  payload: unknown;
1574
- error: string | null;
1575
- detail: string | null;
1576
2383
  }[];
1577
- error: string | null;
1578
2384
  mode: "fleet";
1579
2385
  } | {
2386
+ error: string | null;
2387
+ local_only: boolean;
1580
2388
  op: string;
1581
2389
  reachable: boolean;
1582
- local_only: boolean;
1583
2390
  results: {
2391
+ detail: string | null;
2392
+ error: string | null;
1584
2393
  name: string;
1585
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2394
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1586
2395
  payload: unknown;
1587
- error: string | null;
1588
- detail: string | null;
1589
2396
  }[];
1590
- error: string | null;
1591
2397
  mode: "unreachable";
1592
2398
  };
1593
2399
  }>;
1594
2400
  readonly getManifestPreserved: (signal?: AbortSignal) => Promise<{
2401
+ user_tools: string[];
1595
2402
  mcp: {
1596
2403
  [x: string]: unknown;
1597
2404
  managed?: {
@@ -1600,17 +2407,16 @@ export declare const ApiProvider: import("react").Provider<{
1600
2407
  sub_service: string;
1601
2408
  } | null | undefined;
1602
2409
  }[];
1603
- user_tools: string[];
1604
2410
  }>;
1605
2411
  readonly getMcpEnvRefs: (signal?: AbortSignal) => Promise<{
1606
- var: string;
1607
- pointer: string;
1608
2412
  has_default: boolean;
2413
+ pointer: string;
1609
2414
  set: boolean;
2415
+ var: string;
1610
2416
  }[]>;
1611
2417
  readonly listSettingsProfiles: (signal?: AbortSignal) => Promise<{
1612
- name: string;
1613
2418
  description: string;
2419
+ name: string;
1614
2420
  }[]>;
1615
2421
  readonly getSettingsProfile: (name: string, signal?: AbortSignal) => Promise<{
1616
2422
  description: string;
@@ -1618,127 +2424,160 @@ export declare const ApiProvider: import("react").Provider<{
1618
2424
  secret_keys: string[];
1619
2425
  }>;
1620
2426
  readonly putSettingsProfile: (name: string, body: import("../../../api-client/dist/schemas").SettingsProfileBody) => Promise<{
1621
- ok: true;
1622
- version?: number | undefined;
2427
+ ok: boolean;
2428
+ version: number;
1623
2429
  }>;
1624
2430
  readonly deleteSettingsProfile: (name: string) => Promise<{
1625
- ok: true;
2431
+ ok: boolean;
1626
2432
  }>;
1627
2433
  readonly diffSettingsProfile: (name: string) => Promise<{
1628
2434
  added: string[];
1629
- removed: string[];
1630
2435
  changed: {
1631
2436
  key: string;
1632
- old: string;
1633
2437
  new: string;
2438
+ old: string;
1634
2439
  }[];
1635
2440
  recycle_keys: string[];
1636
2441
  refused_keys: string[];
2442
+ removed: string[];
1637
2443
  }>;
1638
2444
  readonly applySettingsProfile: (name: string) => Promise<{
1639
- hot: string[];
1640
- recycle: {
2445
+ awaiting_respawn: {
2446
+ keys: string[];
1641
2447
  name: string;
1642
- kind: string;
1643
- status: string;
1644
- generation_before: number;
1645
2448
  }[];
1646
2449
  fresh: {
1647
- name: string;
1648
- kind: string;
1649
2450
  generation: number;
2451
+ kind: string;
2452
+ name: string;
1650
2453
  }[];
1651
- refused: {
1652
- key: string;
1653
- reason: string;
2454
+ hot: string[];
2455
+ recycle: {
2456
+ detail: string | null;
2457
+ generation_before: number;
2458
+ kind: string;
2459
+ name: string;
2460
+ status: string;
1654
2461
  }[];
2462
+ recycle_stopped: {
2463
+ detail: string;
2464
+ kind: string;
2465
+ name: string | null;
2466
+ } | null;
2467
+ refused: string[];
1655
2468
  fanout: {
1656
2469
  mode: "local-only";
1657
2470
  note: string;
1658
2471
  } | {
2472
+ error: string | null;
2473
+ local_only: boolean;
1659
2474
  op: string;
1660
2475
  reachable: boolean;
1661
- local_only: boolean;
1662
2476
  results: {
2477
+ detail: string | null;
2478
+ error: string | null;
1663
2479
  name: string;
1664
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2480
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1665
2481
  payload: unknown;
1666
- error: string | null;
1667
- detail: string | null;
1668
2482
  }[];
1669
- error: string | null;
1670
2483
  mode: "fleet";
1671
2484
  } | {
2485
+ error: string | null;
2486
+ local_only: boolean;
1672
2487
  op: string;
1673
2488
  reachable: boolean;
1674
- local_only: boolean;
1675
2489
  results: {
2490
+ detail: string | null;
2491
+ error: string | null;
1676
2492
  name: string;
1677
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2493
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1678
2494
  payload: unknown;
1679
- error: string | null;
1680
- detail: string | null;
1681
2495
  }[];
1682
- error: string | null;
1683
2496
  mode: "unreachable";
1684
2497
  };
1685
2498
  }>;
1686
2499
  readonly listSettingsProfileVersions: (name: string, signal?: AbortSignal) => Promise<{
1687
- version: number;
1688
- tags: string[];
1689
2500
  created_at: string;
1690
2501
  is_current: boolean;
2502
+ tags: string[];
2503
+ version: number;
1691
2504
  }[]>;
1692
2505
  readonly getSettingsProfileVersion: (name: string, version: number, signal?: AbortSignal) => Promise<{
1693
- version: number;
1694
- tags: string[];
1695
- created_at: string;
1696
- is_current: boolean;
1697
2506
  body: {
1698
2507
  description: string;
1699
2508
  env: Record<string, string>;
1700
2509
  secret_keys: string[];
1701
2510
  };
2511
+ created_at: string;
2512
+ is_current: boolean;
2513
+ tags: string[];
2514
+ version: number;
1702
2515
  }>;
1703
2516
  readonly rollbackSettingsProfile: (name: string, version: number) => Promise<{
1704
- ok: true;
2517
+ ok: boolean;
1705
2518
  version: number;
1706
2519
  }>;
1707
2520
  readonly getEnvConfig: (signal?: AbortSignal) => Promise<{
1708
2521
  env: Record<string, string>;
1709
2522
  secret_keys: string[];
1710
2523
  }>;
1711
- readonly setEnvConfig: (env: Record<string, string>) => Promise<{
1712
- status: string;
2524
+ readonly setEnvConfig: (body: {
2525
+ env: Record<string, string>;
2526
+ secret_keys?: string[] | null;
2527
+ }) => Promise<{
2528
+ awaiting_respawn: {
2529
+ keys: string[];
2530
+ name: string;
2531
+ }[];
1713
2532
  env_keys: number;
2533
+ recycle: {
2534
+ fresh: {
2535
+ generation: number;
2536
+ kind: string;
2537
+ name: string;
2538
+ }[];
2539
+ recycle: {
2540
+ detail: string | null;
2541
+ generation_before: number;
2542
+ kind: string;
2543
+ name: string;
2544
+ status: string;
2545
+ }[];
2546
+ recycle_stopped: {
2547
+ detail: string;
2548
+ kind: string;
2549
+ name: string | null;
2550
+ } | null;
2551
+ } | null;
2552
+ status: string;
1714
2553
  fanout: {
1715
2554
  mode: "local-only";
1716
2555
  note: string;
1717
2556
  } | {
2557
+ error: string | null;
2558
+ local_only: boolean;
1718
2559
  op: string;
1719
2560
  reachable: boolean;
1720
- local_only: boolean;
1721
2561
  results: {
2562
+ detail: string | null;
2563
+ error: string | null;
1722
2564
  name: string;
1723
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2565
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1724
2566
  payload: unknown;
1725
- error: string | null;
1726
- detail: string | null;
1727
2567
  }[];
1728
- error: string | null;
1729
2568
  mode: "fleet";
1730
2569
  } | {
2570
+ error: string | null;
2571
+ local_only: boolean;
1731
2572
  op: string;
1732
2573
  reachable: boolean;
1733
- local_only: boolean;
1734
2574
  results: {
2575
+ detail: string | null;
2576
+ error: string | null;
1735
2577
  name: string;
1736
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2578
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1737
2579
  payload: unknown;
1738
- error: string | null;
1739
- detail: string | null;
1740
2580
  }[];
1741
- error: string | null;
1742
2581
  mode: "unreachable";
1743
2582
  };
1744
2583
  }>;
@@ -1747,19 +2586,22 @@ export declare const ApiProvider: import("react").Provider<{
1747
2586
  read_only: boolean;
1748
2587
  }>;
1749
2588
  readonly reloadConfig: (targets?: string[] | null) => Promise<{
2589
+ error: string | null;
2590
+ local_only: boolean;
2591
+ ok: boolean;
1750
2592
  op: string;
1751
2593
  reachable: boolean;
1752
- local_only: boolean;
1753
2594
  results: {
2595
+ detail: string | null;
2596
+ error: string | null;
1754
2597
  name: string;
1755
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2598
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1756
2599
  payload: unknown;
1757
- error: string | null;
1758
- detail: string | null;
1759
2600
  }[];
1760
- error: string | null;
1761
2601
  }>;
1762
2602
  readonly listSubMcp: (signal?: AbortSignal) => Promise<Record<string, {
2603
+ access_pattern: string;
2604
+ mount_url: string;
1763
2605
  tools: string[];
1764
2606
  transport: string;
1765
2607
  }>>;
@@ -1769,10 +2611,11 @@ export declare const ApiProvider: import("react").Provider<{
1769
2611
  transport: string;
1770
2612
  }>;
1771
2613
  readonly deleteSubMcp: (slug: string) => Promise<{
2614
+ removed: boolean;
1772
2615
  slug: string;
1773
- removed: true;
1774
2616
  }>;
1775
2617
  readonly getManifest: (signal?: AbortSignal) => Promise<{
2618
+ user_tools: string[];
1776
2619
  mcp: {
1777
2620
  [x: string]: unknown;
1778
2621
  managed?: {
@@ -1781,404 +2624,637 @@ export declare const ApiProvider: import("react").Provider<{
1781
2624
  sub_service: string;
1782
2625
  } | null | undefined;
1783
2626
  }[];
1784
- user_tools: string[];
1785
2627
  }>;
1786
2628
  readonly setMcpConfig: (mcp: unknown[]) => Promise<{
1787
- status: string;
2629
+ awaiting_respawn: {
2630
+ keys: string[];
2631
+ name: string;
2632
+ }[];
1788
2633
  env_keys: number;
2634
+ recycle: {
2635
+ fresh: {
2636
+ generation: number;
2637
+ kind: string;
2638
+ name: string;
2639
+ }[];
2640
+ recycle: {
2641
+ detail: string | null;
2642
+ generation_before: number;
2643
+ kind: string;
2644
+ name: string;
2645
+ status: string;
2646
+ }[];
2647
+ recycle_stopped: {
2648
+ detail: string;
2649
+ kind: string;
2650
+ name: string | null;
2651
+ } | null;
2652
+ } | null;
2653
+ status: string;
1789
2654
  fanout: {
1790
2655
  mode: "local-only";
1791
2656
  note: string;
1792
2657
  } | {
2658
+ error: string | null;
2659
+ local_only: boolean;
1793
2660
  op: string;
1794
2661
  reachable: boolean;
1795
- local_only: boolean;
1796
2662
  results: {
2663
+ detail: string | null;
2664
+ error: string | null;
1797
2665
  name: string;
1798
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2666
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1799
2667
  payload: unknown;
1800
- error: string | null;
1801
- detail: string | null;
1802
2668
  }[];
1803
- error: string | null;
1804
2669
  mode: "fleet";
1805
2670
  } | {
2671
+ error: string | null;
2672
+ local_only: boolean;
1806
2673
  op: string;
1807
2674
  reachable: boolean;
1808
- local_only: boolean;
1809
2675
  results: {
2676
+ detail: string | null;
2677
+ error: string | null;
1810
2678
  name: string;
1811
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2679
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1812
2680
  payload: unknown;
1813
- error: string | null;
1814
- detail: string | null;
1815
2681
  }[];
1816
- error: string | null;
1817
2682
  mode: "unreachable";
1818
2683
  };
1819
2684
  }>;
1820
2685
  readonly getMcpStatus: (signal?: AbortSignal) => Promise<{
1821
2686
  bound: Record<string, string[]>;
1822
2687
  failed: {
1823
- title: string;
2688
+ category: string;
2689
+ http_status: number | null;
2690
+ message: string;
1824
2691
  status: string;
1825
- category?: string | undefined;
1826
- message?: string | undefined;
1827
- http_status?: number | null | undefined;
2692
+ title: string;
1828
2693
  }[];
2694
+ health: Record<string, {
2695
+ consecutive_failures: number;
2696
+ failing_since: string | null;
2697
+ last_error: Record<string, string> | null;
2698
+ last_success: string | null;
2699
+ }>;
1829
2700
  }>;
1830
2701
  readonly reloadMcp: (title: string) => Promise<{
2702
+ error: string | null;
2703
+ local_only: boolean;
2704
+ ok: boolean;
1831
2705
  op: string;
1832
2706
  reachable: boolean;
1833
- local_only: boolean;
1834
2707
  results: {
2708
+ detail: string | null;
2709
+ error: string | null;
1835
2710
  name: string;
1836
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2711
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1837
2712
  payload: unknown;
1838
- error: string | null;
1839
- detail: string | null;
1840
2713
  }[];
1841
- error: string | null;
1842
2714
  }>;
1843
2715
  readonly addToolsEntries: (entries: readonly unknown[], replace?: boolean) => Promise<{
1844
- status: string;
2716
+ awaiting_respawn: {
2717
+ keys: string[];
2718
+ name: string;
2719
+ }[];
1845
2720
  env_keys: number;
2721
+ recycle: {
2722
+ fresh: {
2723
+ generation: number;
2724
+ kind: string;
2725
+ name: string;
2726
+ }[];
2727
+ recycle: {
2728
+ detail: string | null;
2729
+ generation_before: number;
2730
+ kind: string;
2731
+ name: string;
2732
+ status: string;
2733
+ }[];
2734
+ recycle_stopped: {
2735
+ detail: string;
2736
+ kind: string;
2737
+ name: string | null;
2738
+ } | null;
2739
+ } | null;
2740
+ status: string;
1846
2741
  fanout: {
1847
2742
  mode: "local-only";
1848
2743
  note: string;
1849
2744
  } | {
2745
+ error: string | null;
2746
+ local_only: boolean;
1850
2747
  op: string;
1851
2748
  reachable: boolean;
1852
- local_only: boolean;
1853
2749
  results: {
2750
+ detail: string | null;
2751
+ error: string | null;
1854
2752
  name: string;
1855
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2753
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1856
2754
  payload: unknown;
1857
- error: string | null;
1858
- detail: string | null;
1859
2755
  }[];
1860
- error: string | null;
1861
2756
  mode: "fleet";
1862
2757
  } | {
2758
+ error: string | null;
2759
+ local_only: boolean;
1863
2760
  op: string;
1864
2761
  reachable: boolean;
1865
- local_only: boolean;
1866
2762
  results: {
2763
+ detail: string | null;
2764
+ error: string | null;
1867
2765
  name: string;
1868
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2766
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1869
2767
  payload: unknown;
1870
- error: string | null;
1871
- detail: string | null;
1872
2768
  }[];
1873
- error: string | null;
1874
2769
  mode: "unreachable";
1875
2770
  };
1876
2771
  }>;
1877
2772
  readonly removeToolsEntry: (title: string) => Promise<{
1878
- status: string;
2773
+ awaiting_respawn: {
2774
+ keys: string[];
2775
+ name: string;
2776
+ }[];
1879
2777
  env_keys: number;
2778
+ recycle: {
2779
+ fresh: {
2780
+ generation: number;
2781
+ kind: string;
2782
+ name: string;
2783
+ }[];
2784
+ recycle: {
2785
+ detail: string | null;
2786
+ generation_before: number;
2787
+ kind: string;
2788
+ name: string;
2789
+ status: string;
2790
+ }[];
2791
+ recycle_stopped: {
2792
+ detail: string;
2793
+ kind: string;
2794
+ name: string | null;
2795
+ } | null;
2796
+ } | null;
2797
+ status: string;
1880
2798
  fanout: {
1881
2799
  mode: "local-only";
1882
2800
  note: string;
1883
2801
  } | {
2802
+ error: string | null;
2803
+ local_only: boolean;
1884
2804
  op: string;
1885
2805
  reachable: boolean;
1886
- local_only: boolean;
1887
2806
  results: {
2807
+ detail: string | null;
2808
+ error: string | null;
1888
2809
  name: string;
1889
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2810
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1890
2811
  payload: unknown;
1891
- error: string | null;
1892
- detail: string | null;
1893
2812
  }[];
1894
- error: string | null;
1895
2813
  mode: "fleet";
1896
2814
  } | {
2815
+ error: string | null;
2816
+ local_only: boolean;
1897
2817
  op: string;
1898
2818
  reachable: boolean;
1899
- local_only: boolean;
1900
2819
  results: {
2820
+ detail: string | null;
2821
+ error: string | null;
1901
2822
  name: string;
1902
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2823
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1903
2824
  payload: unknown;
1904
- error: string | null;
1905
- detail: string | null;
1906
2825
  }[];
1907
- error: string | null;
1908
2826
  mode: "unreachable";
1909
2827
  };
1910
2828
  }>;
1911
2829
  readonly addAgentsEntries: (entries: readonly unknown[], replace?: boolean) => Promise<{
1912
- status: string;
2830
+ awaiting_respawn: {
2831
+ keys: string[];
2832
+ name: string;
2833
+ }[];
1913
2834
  env_keys: number;
2835
+ recycle: {
2836
+ fresh: {
2837
+ generation: number;
2838
+ kind: string;
2839
+ name: string;
2840
+ }[];
2841
+ recycle: {
2842
+ detail: string | null;
2843
+ generation_before: number;
2844
+ kind: string;
2845
+ name: string;
2846
+ status: string;
2847
+ }[];
2848
+ recycle_stopped: {
2849
+ detail: string;
2850
+ kind: string;
2851
+ name: string | null;
2852
+ } | null;
2853
+ } | null;
2854
+ status: string;
1914
2855
  fanout: {
1915
2856
  mode: "local-only";
1916
2857
  note: string;
1917
2858
  } | {
2859
+ error: string | null;
2860
+ local_only: boolean;
1918
2861
  op: string;
1919
2862
  reachable: boolean;
1920
- local_only: boolean;
1921
2863
  results: {
2864
+ detail: string | null;
2865
+ error: string | null;
1922
2866
  name: string;
1923
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2867
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1924
2868
  payload: unknown;
1925
- error: string | null;
1926
- detail: string | null;
1927
2869
  }[];
1928
- error: string | null;
1929
2870
  mode: "fleet";
1930
2871
  } | {
2872
+ error: string | null;
2873
+ local_only: boolean;
1931
2874
  op: string;
1932
2875
  reachable: boolean;
1933
- local_only: boolean;
1934
2876
  results: {
2877
+ detail: string | null;
2878
+ error: string | null;
1935
2879
  name: string;
1936
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2880
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1937
2881
  payload: unknown;
1938
- error: string | null;
1939
- detail: string | null;
1940
2882
  }[];
1941
- error: string | null;
1942
2883
  mode: "unreachable";
1943
2884
  };
1944
2885
  }>;
1945
2886
  readonly removeAgentsEntry: (title: string) => Promise<{
1946
- status: string;
2887
+ awaiting_respawn: {
2888
+ keys: string[];
2889
+ name: string;
2890
+ }[];
1947
2891
  env_keys: number;
2892
+ recycle: {
2893
+ fresh: {
2894
+ generation: number;
2895
+ kind: string;
2896
+ name: string;
2897
+ }[];
2898
+ recycle: {
2899
+ detail: string | null;
2900
+ generation_before: number;
2901
+ kind: string;
2902
+ name: string;
2903
+ status: string;
2904
+ }[];
2905
+ recycle_stopped: {
2906
+ detail: string;
2907
+ kind: string;
2908
+ name: string | null;
2909
+ } | null;
2910
+ } | null;
2911
+ status: string;
1948
2912
  fanout: {
1949
2913
  mode: "local-only";
1950
2914
  note: string;
1951
2915
  } | {
2916
+ error: string | null;
2917
+ local_only: boolean;
1952
2918
  op: string;
1953
2919
  reachable: boolean;
1954
- local_only: boolean;
1955
2920
  results: {
2921
+ detail: string | null;
2922
+ error: string | null;
1956
2923
  name: string;
1957
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2924
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1958
2925
  payload: unknown;
1959
- error: string | null;
1960
- detail: string | null;
1961
2926
  }[];
1962
- error: string | null;
1963
2927
  mode: "fleet";
1964
2928
  } | {
2929
+ error: string | null;
2930
+ local_only: boolean;
1965
2931
  op: string;
1966
2932
  reachable: boolean;
1967
- local_only: boolean;
1968
2933
  results: {
2934
+ detail: string | null;
2935
+ error: string | null;
1969
2936
  name: string;
1970
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2937
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1971
2938
  payload: unknown;
1972
- error: string | null;
1973
- detail: string | null;
1974
2939
  }[];
1975
- error: string | null;
1976
2940
  mode: "unreachable";
1977
2941
  };
1978
2942
  }>;
1979
2943
  readonly updateApiTools: (body: import("@tai42/api-client").ApiToolsListsBody) => Promise<{
1980
- status: string;
2944
+ awaiting_respawn: {
2945
+ keys: string[];
2946
+ name: string;
2947
+ }[];
1981
2948
  env_keys: number;
2949
+ recycle: {
2950
+ fresh: {
2951
+ generation: number;
2952
+ kind: string;
2953
+ name: string;
2954
+ }[];
2955
+ recycle: {
2956
+ detail: string | null;
2957
+ generation_before: number;
2958
+ kind: string;
2959
+ name: string;
2960
+ status: string;
2961
+ }[];
2962
+ recycle_stopped: {
2963
+ detail: string;
2964
+ kind: string;
2965
+ name: string | null;
2966
+ } | null;
2967
+ } | null;
2968
+ status: string;
1982
2969
  fanout: {
1983
2970
  mode: "local-only";
1984
2971
  note: string;
1985
2972
  } | {
2973
+ error: string | null;
2974
+ local_only: boolean;
1986
2975
  op: string;
1987
2976
  reachable: boolean;
1988
- local_only: boolean;
1989
2977
  results: {
2978
+ detail: string | null;
2979
+ error: string | null;
1990
2980
  name: string;
1991
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2981
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
1992
2982
  payload: unknown;
1993
- error: string | null;
1994
- detail: string | null;
1995
2983
  }[];
1996
- error: string | null;
1997
2984
  mode: "fleet";
1998
2985
  } | {
2986
+ error: string | null;
2987
+ local_only: boolean;
1999
2988
  op: string;
2000
2989
  reachable: boolean;
2001
- local_only: boolean;
2002
2990
  results: {
2991
+ detail: string | null;
2992
+ error: string | null;
2003
2993
  name: string;
2004
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
2994
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
2005
2995
  payload: unknown;
2006
- error: string | null;
2007
- detail: string | null;
2008
2996
  }[];
2009
- error: string | null;
2010
2997
  mode: "unreachable";
2011
2998
  };
2012
2999
  }>;
2013
3000
  readonly listFailedMcps: (signal?: AbortSignal) => Promise<{
3001
+ error: string | null;
3002
+ local_only: boolean;
3003
+ ok: boolean;
2014
3004
  op: string;
2015
3005
  reachable: boolean;
2016
- local_only: boolean;
2017
3006
  results: {
3007
+ detail: string | null;
3008
+ error: string | null;
2018
3009
  name: string;
2019
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
3010
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
2020
3011
  payload: unknown;
2021
- error: string | null;
2022
- detail: string | null;
2023
3012
  }[];
2024
- error: string | null;
2025
3013
  }>;
2026
3014
  readonly reloadFailedMcps: () => Promise<{
3015
+ error: string | null;
3016
+ local_only: boolean;
3017
+ ok: boolean;
2027
3018
  op: string;
2028
3019
  reachable: boolean;
2029
- local_only: boolean;
2030
3020
  results: {
3021
+ detail: string | null;
3022
+ error: string | null;
2031
3023
  name: string;
2032
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
3024
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
2033
3025
  payload: unknown;
2034
- error: string | null;
2035
- detail: string | null;
2036
3026
  }[];
2037
- error: string | null;
2038
3027
  }>;
2039
3028
  readonly deregisterMcp: (title: string) => Promise<{
3029
+ error: string | null;
3030
+ local_only: boolean;
3031
+ ok: boolean;
2040
3032
  op: string;
2041
3033
  reachable: boolean;
2042
- local_only: boolean;
2043
3034
  results: {
3035
+ detail: string | null;
3036
+ error: string | null;
2044
3037
  name: string;
2045
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
3038
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
2046
3039
  payload: unknown;
2047
- error: string | null;
2048
- detail: string | null;
2049
3040
  }[];
2050
- error: string | null;
2051
3041
  }>;
2052
3042
  readonly listTemplates: (signal?: AbortSignal) => Promise<string[]>;
2053
3043
  readonly getTemplate: (templateId: string) => Promise<{
2054
- template: string;
2055
3044
  schema: Record<string, unknown>;
3045
+ template: string;
2056
3046
  }>;
2057
3047
  readonly uploadTemplate: (path: string, content: string) => Promise<{
3048
+ fanout: {
3049
+ error: string | null;
3050
+ local_only: boolean | null;
3051
+ mode: string;
3052
+ note: string | null;
3053
+ op: string | null;
3054
+ reachable: boolean | null;
3055
+ results: {
3056
+ detail: string | null;
3057
+ error: string | null;
3058
+ name: string;
3059
+ outcome: string;
3060
+ payload: unknown;
3061
+ }[] | null;
3062
+ };
2058
3063
  path: string;
2059
- uploaded: true;
3064
+ uploaded: boolean;
2060
3065
  }>;
2061
3066
  readonly deleteTemplate: (path: string) => Promise<{
3067
+ deleted: boolean;
3068
+ fanout: {
3069
+ error: string | null;
3070
+ local_only: boolean | null;
3071
+ mode: string;
3072
+ note: string | null;
3073
+ op: string | null;
3074
+ reachable: boolean | null;
3075
+ results: {
3076
+ detail: string | null;
3077
+ error: string | null;
3078
+ name: string;
3079
+ outcome: string;
3080
+ payload: unknown;
3081
+ }[] | null;
3082
+ };
2062
3083
  path: string;
2063
- deleted: true;
2064
3084
  }>;
2065
3085
  readonly deleteTemplateDir: (path: string) => Promise<{
3086
+ deleted: boolean;
3087
+ fanout: {
3088
+ error: string | null;
3089
+ local_only: boolean | null;
3090
+ mode: string;
3091
+ note: string | null;
3092
+ op: string | null;
3093
+ reachable: boolean | null;
3094
+ results: {
3095
+ detail: string | null;
3096
+ error: string | null;
3097
+ name: string;
3098
+ outcome: string;
3099
+ payload: unknown;
3100
+ }[] | null;
3101
+ };
2066
3102
  path: string;
2067
- deleted: true;
2068
3103
  }>;
2069
3104
  readonly renderTemplate: (text: import("@tai42/api-client").TemplatedText) => Promise<{
2070
3105
  rendered: string;
2071
3106
  }>;
2072
3107
  readonly clearTemplatesCache: () => Promise<{
2073
- cleared: true;
3108
+ cleared: boolean;
3109
+ fanout: {
3110
+ error: string | null;
3111
+ local_only: boolean | null;
3112
+ mode: string;
3113
+ note: string | null;
3114
+ op: string | null;
3115
+ reachable: boolean | null;
3116
+ results: {
3117
+ detail: string | null;
3118
+ error: string | null;
3119
+ name: string;
3120
+ outcome: string;
3121
+ payload: unknown;
3122
+ }[] | null;
3123
+ };
2074
3124
  }>;
2075
3125
  readonly listExtensions: (signal?: AbortSignal) => Promise<{
2076
- name: string;
2077
3126
  kind: string;
3127
+ multiple: boolean;
3128
+ name: string;
2078
3129
  }[]>;
2079
3130
  readonly getToolExtensions: (name: string, signal?: AbortSignal) => Promise<{
3131
+ available: {
3132
+ kind: string;
3133
+ multiple: boolean;
3134
+ name: string;
3135
+ }[];
2080
3136
  combos: (string | {
2081
3137
  name: string;
2082
3138
  config: Record<string, unknown>;
2083
3139
  })[][];
2084
- available: {
2085
- name: string;
2086
- kind: string;
2087
- }[];
2088
3140
  }>;
2089
3141
  readonly setToolExtensions: (name: string, combos: readonly import("@tai42/api-client").PresetExtensionElement[][]) => Promise<{
2090
- status: string;
3142
+ awaiting_respawn: {
3143
+ keys: string[];
3144
+ name: string;
3145
+ }[];
2091
3146
  env_keys: number;
3147
+ recycle: {
3148
+ fresh: {
3149
+ generation: number;
3150
+ kind: string;
3151
+ name: string;
3152
+ }[];
3153
+ recycle: {
3154
+ detail: string | null;
3155
+ generation_before: number;
3156
+ kind: string;
3157
+ name: string;
3158
+ status: string;
3159
+ }[];
3160
+ recycle_stopped: {
3161
+ detail: string;
3162
+ kind: string;
3163
+ name: string | null;
3164
+ } | null;
3165
+ } | null;
3166
+ status: string;
2092
3167
  fanout: {
2093
3168
  mode: "local-only";
2094
3169
  note: string;
2095
3170
  } | {
3171
+ error: string | null;
3172
+ local_only: boolean;
2096
3173
  op: string;
2097
3174
  reachable: boolean;
2098
- local_only: boolean;
2099
3175
  results: {
3176
+ detail: string | null;
3177
+ error: string | null;
2100
3178
  name: string;
2101
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
3179
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
2102
3180
  payload: unknown;
2103
- error: string | null;
2104
- detail: string | null;
2105
3181
  }[];
2106
- error: string | null;
2107
3182
  mode: "fleet";
2108
3183
  } | {
3184
+ error: string | null;
3185
+ local_only: boolean;
2109
3186
  op: string;
2110
3187
  reachable: boolean;
2111
- local_only: boolean;
2112
3188
  results: {
3189
+ detail: string | null;
3190
+ error: string | null;
2113
3191
  name: string;
2114
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
3192
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
2115
3193
  payload: unknown;
2116
- error: string | null;
2117
- detail: string | null;
2118
3194
  }[];
2119
- error: string | null;
2120
3195
  mode: "unreachable";
2121
3196
  };
2122
3197
  }>;
2123
3198
  readonly getBackendInfo: (signal?: AbortSignal) => Promise<{
2124
- present: boolean;
2125
3199
  backend: string | null;
2126
3200
  module: string | null;
3201
+ present: boolean;
2127
3202
  }>;
2128
3203
  readonly listFleetWorkers: (signal?: AbortSignal) => Promise<{
2129
3204
  workers: {
2130
- name: string;
2131
- kind: "backend" | "serve";
2132
- pid: number;
3205
+ beat_at: string;
2133
3206
  generation: number;
2134
3207
  joined_at: string;
2135
- beat_at: string;
2136
- state: "ready" | "resyncing" | "recycling";
2137
- stale: boolean;
3208
+ kind: "backend" | "serve";
2138
3209
  last_op: {
3210
+ at: string;
2139
3211
  op: string;
2140
3212
  outcome: string;
2141
- at: string;
2142
3213
  } | null;
3214
+ name: string;
3215
+ pid: number;
3216
+ stale: boolean;
3217
+ state: "resyncing" | "recycling" | "ready";
2143
3218
  }[];
2144
3219
  }>;
2145
3220
  readonly reloadFleetConfig: (targets: string[] | null) => Promise<{
3221
+ error: string | null;
3222
+ local_only: boolean;
3223
+ ok: boolean;
2146
3224
  op: string;
2147
3225
  reachable: boolean;
2148
- local_only: boolean;
2149
3226
  results: {
3227
+ detail: string | null;
3228
+ error: string | null;
2150
3229
  name: string;
2151
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
3230
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
2152
3231
  payload: unknown;
2153
- error: string | null;
2154
- detail: string | null;
2155
3232
  }[];
2156
- error: string | null;
2157
3233
  }>;
2158
3234
  readonly getStorageInfo: (signal?: AbortSignal) => Promise<{
3235
+ module: string | null;
2159
3236
  present: boolean;
2160
3237
  provider: string | null;
2161
- module: string | null;
2162
3238
  }>;
2163
3239
  readonly listStorageResources: (signal?: AbortSignal) => Promise<{
2164
3240
  resources: string[];
2165
3241
  }>;
2166
3242
  readonly statStorageResource: (id: string, signal?: AbortSignal) => Promise<{
2167
- id: string;
2168
3243
  content_type: string | null;
3244
+ id: string;
2169
3245
  }>;
2170
3246
  readonly downloadStorageResource: (id: string, signal?: AbortSignal) => Promise<Blob>;
2171
3247
  readonly uploadStorageResource: (body: import("@tai42/api-client").StorageUploadBody) => Promise<{
2172
3248
  id: string;
2173
- stored: true;
3249
+ stored: boolean;
2174
3250
  }>;
2175
3251
  readonly deleteStorageResource: (id: string) => Promise<{
3252
+ deleted: boolean;
2176
3253
  id: string;
2177
- deleted: true;
2178
3254
  }>;
2179
3255
  readonly deleteStorageDir: (path: string) => Promise<{
3256
+ deleted: boolean;
2180
3257
  dir: string;
2181
- deleted: true;
2182
3258
  }>;
2183
3259
  readonly listToolMeta: (signal?: AbortSignal) => Promise<{
2184
3260
  folders: {
@@ -2187,25 +3263,25 @@ export declare const ApiProvider: import("react").Provider<{
2187
3263
  parent_id: string | null;
2188
3264
  }[];
2189
3265
  meta: {
2190
- tool_name: string;
3266
+ badges: string[];
2191
3267
  display_name: string | null;
2192
3268
  folder_id: string | null;
2193
- tags: string[];
2194
- badges: string[];
2195
3269
  hidden: boolean | null;
3270
+ tags: string[];
3271
+ tool_name: string;
2196
3272
  }[];
2197
3273
  }>;
2198
3274
  readonly upsertToolMeta: (toolName: string, patch: import("@tai42/api-client").ToolMetaPatch) => Promise<{
2199
- tool_name: string;
3275
+ badges: string[];
2200
3276
  display_name: string | null;
2201
3277
  folder_id: string | null;
2202
- tags: string[];
2203
- badges: string[];
2204
3278
  hidden: boolean | null;
3279
+ tags: string[];
3280
+ tool_name: string;
2205
3281
  }>;
2206
3282
  readonly deleteToolMeta: (toolName: string) => Promise<{
3283
+ deleted: boolean;
2207
3284
  tool_name: string;
2208
- deleted: true;
2209
3285
  }>;
2210
3286
  readonly createFolder: (name: string, parentId?: string | null) => Promise<{
2211
3287
  id: string;
@@ -2223,15 +3299,18 @@ export declare const ApiProvider: import("react").Provider<{
2223
3299
  parent_id: string | null;
2224
3300
  }>;
2225
3301
  readonly deleteFolder: (folderId: string) => Promise<{
3302
+ deleted: boolean;
2226
3303
  folder_id: string;
2227
- deleted: true;
2228
3304
  }>;
2229
3305
  readonly listStates: (signal?: AbortSignal) => Promise<{
2230
3306
  default_subject_kind: string;
2231
3307
  description: string;
2232
3308
  effective_schema: Record<string, unknown> | null;
2233
3309
  name: string;
2234
- regimes: Record<string, unknown>[] | null;
3310
+ regimes: {
3311
+ path: string[];
3312
+ regime: "single" | "composing" | "free";
3313
+ }[] | null;
2235
3314
  retention_days: number | null;
2236
3315
  subject_kinds: string[];
2237
3316
  updated_at: string | null;
@@ -2246,15 +3325,18 @@ export declare const ApiProvider: import("react").Provider<{
2246
3325
  description: string;
2247
3326
  effective_schema: Record<string, unknown> | null;
2248
3327
  name: string;
2249
- regimes: Record<string, unknown>[] | null;
3328
+ regimes: {
3329
+ path: string[];
3330
+ regime: "single" | "composing" | "free";
3331
+ }[] | null;
2250
3332
  retention_days: number | null;
2251
3333
  subject_kinds: string[];
2252
3334
  updated_at: string | null;
2253
3335
  attachments: {
2254
- template: string;
2255
- path: string[];
2256
- parameters: Record<string, unknown>;
2257
3336
  declarations: Record<string, unknown>;
3337
+ parameters: Record<string, unknown>;
3338
+ path: string[];
3339
+ template: string;
2258
3340
  }[];
2259
3341
  schema?: Record<string, unknown> | {
2260
3342
  content?: string | undefined;
@@ -2267,16 +3349,23 @@ export declare const ApiProvider: import("react").Provider<{
2267
3349
  description: string;
2268
3350
  effective_schema: Record<string, unknown> | null;
2269
3351
  name: string;
2270
- regimes: Record<string, unknown>[] | null;
3352
+ regimes: {
3353
+ path: string[];
3354
+ regime: "single" | "composing" | "free";
3355
+ }[] | null;
2271
3356
  retention_days: number | null;
2272
3357
  subject_kinds: string[];
2273
3358
  updated_at: string | null;
2274
- attachments: {
2275
- template: string;
2276
- path: string[];
2277
- parameters: Record<string, unknown>;
2278
- declarations: Record<string, unknown>;
2279
- }[];
3359
+ held?: {
3360
+ held_by: string;
3361
+ save_id: string;
3362
+ subjects: {
3363
+ key: string;
3364
+ kind: string;
3365
+ target_kind: "tool" | "agent";
3366
+ target_name: string;
3367
+ }[];
3368
+ }[] | undefined;
2280
3369
  schema?: Record<string, unknown> | {
2281
3370
  content?: string | undefined;
2282
3371
  id?: string | undefined;
@@ -2284,138 +3373,179 @@ export declare const ApiProvider: import("react").Provider<{
2284
3373
  } | undefined;
2285
3374
  }>;
2286
3375
  readonly deleteState: (name: string) => Promise<{
3376
+ deleted: boolean;
2287
3377
  name: string;
2288
- deleted: true;
2289
3378
  }>;
2290
3379
  readonly getStateStats: (name: string, signal?: AbortSignal) => Promise<{
2291
- records: number;
3380
+ consumers: number;
2292
3381
  per_field: Record<string, number>;
2293
3382
  per_kind: Record<string, number>;
2294
- consumers: number;
3383
+ records: number;
3384
+ held?: {
3385
+ held_by: string;
3386
+ save_id: string;
3387
+ subjects: {
3388
+ key: string;
3389
+ kind: string;
3390
+ target_kind: "tool" | "agent";
3391
+ target_name: string;
3392
+ }[];
3393
+ }[] | undefined;
2295
3394
  }>;
2296
3395
  readonly listStateAttachments: (name: string, signal?: AbortSignal) => Promise<{
2297
- template: string;
2298
- path: string[];
2299
- parameters: Record<string, unknown>;
2300
3396
  declarations: Record<string, unknown>;
3397
+ parameters: Record<string, unknown>;
3398
+ path: string[];
3399
+ state: string;
3400
+ template: string;
2301
3401
  }[]>;
2302
3402
  readonly getStateAttachment: (name: string, template: string, signal?: AbortSignal) => Promise<{
2303
- template: string;
2304
- path: string[];
2305
- parameters: Record<string, unknown>;
2306
3403
  declarations: Record<string, unknown>;
3404
+ parameters: Record<string, unknown>;
3405
+ path: string[];
3406
+ template: string;
2307
3407
  }>;
2308
3408
  readonly attachStateTemplate: (name: string, template: string, body: import("@tai42/api-client").StateAttachmentBody) => Promise<{
2309
- attached: true;
3409
+ attached: boolean;
2310
3410
  state: string;
2311
3411
  template: string;
3412
+ held?: {
3413
+ held_by: string;
3414
+ save_id: string;
3415
+ subjects: {
3416
+ key: string;
3417
+ kind: string;
3418
+ target_kind: "tool" | "agent";
3419
+ target_name: string;
3420
+ }[];
3421
+ }[] | undefined;
2312
3422
  }>;
2313
3423
  readonly patchStateAttachment: (name: string, template: string, body: import("@tai42/api-client").StateAttachmentBody) => Promise<{
2314
- updated: true;
2315
3424
  state: string;
2316
3425
  template: string;
3426
+ updated: boolean;
2317
3427
  }>;
2318
3428
  readonly detachStateTemplate: (name: string, template: string) => Promise<{
2319
- detached: true;
3429
+ detached: boolean;
2320
3430
  state: string;
2321
3431
  template: string;
2322
3432
  }>;
2323
3433
  readonly listStateSubjects: (name: string, params: {
2324
3434
  kind?: string;
2325
3435
  } & import("@tai42/api-client").StatePageQuery, signal?: AbortSignal) => Promise<{
3436
+ next_cursor: string | null;
2326
3437
  subjects: {
2327
3438
  subject: {
3439
+ key: string;
3440
+ kind: string;
2328
3441
  target_kind: "tool" | "agent";
2329
3442
  target_name: string;
2330
- kind: string;
2331
- key: string;
2332
3443
  };
2333
3444
  updated_at: number;
2334
3445
  }[];
2335
- next_cursor: string | null;
3446
+ held?: {
3447
+ held_by: string;
3448
+ save_id: string;
3449
+ subjects: {
3450
+ key: string;
3451
+ kind: string;
3452
+ target_kind: "tool" | "agent";
3453
+ target_name: string;
3454
+ }[];
3455
+ }[] | undefined;
2336
3456
  }>;
2337
3457
  readonly searchStateRecords: (name: string, body: {
2338
3458
  filters: Record<string, unknown>;
2339
3459
  } & import("@tai42/api-client").StatePageQuery, signal?: AbortSignal) => Promise<{
2340
3460
  matches: {
2341
3461
  subject: {
3462
+ key: string;
3463
+ kind: string;
2342
3464
  target_kind: "tool" | "agent";
2343
3465
  target_name: string;
2344
- kind: string;
2345
- key: string;
2346
3466
  };
2347
3467
  updated_at: number;
2348
3468
  }[];
2349
3469
  next_cursor: string | null;
3470
+ held?: {
3471
+ held_by: string;
3472
+ save_id: string;
3473
+ subjects: {
3474
+ key: string;
3475
+ kind: string;
3476
+ target_kind: "tool" | "agent";
3477
+ target_name: string;
3478
+ }[];
3479
+ }[] | undefined;
2350
3480
  }>;
2351
3481
  readonly getStateRecord: (name: string, subject: import("@tai42/api-client").StateSubjectRef, signal?: AbortSignal) => Promise<{
2352
- state: string;
2353
- subject: {
2354
- target_kind: "tool" | "agent";
2355
- target_name: string;
2356
- kind: string;
2357
- key: string;
2358
- };
2359
- data: Record<string, unknown>;
2360
- seq: number;
2361
3482
  canonical_subject: {
3483
+ key: string;
3484
+ kind: string;
2362
3485
  target_kind: "tool" | "agent";
2363
3486
  target_name: string;
2364
- kind: string;
2365
- key: string;
2366
3487
  };
3488
+ data: Record<string, unknown>;
2367
3489
  folded_from: {
3490
+ key: string;
3491
+ kind: string;
2368
3492
  target_kind: "tool" | "agent";
2369
3493
  target_name: string;
2370
- kind: string;
2371
- key: string;
2372
3494
  }[];
2373
- } | null>;
2374
- readonly putStateRecord: (name: string, subject: import("@tai42/api-client").StateSubjectRef, data: Record<string, unknown>) => Promise<{
3495
+ seq: number;
2375
3496
  state: string;
2376
3497
  subject: {
3498
+ key: string;
3499
+ kind: string;
2377
3500
  target_kind: "tool" | "agent";
2378
3501
  target_name: string;
2379
- kind: string;
2380
- key: string;
2381
3502
  };
2382
- data: Record<string, unknown>;
2383
- seq: number;
3503
+ } | null>;
3504
+ readonly putStateRecord: (name: string, subject: import("@tai42/api-client").StateSubjectRef, data: Record<string, unknown>) => Promise<{
2384
3505
  canonical_subject: {
3506
+ key: string;
3507
+ kind: string;
2385
3508
  target_kind: "tool" | "agent";
2386
3509
  target_name: string;
2387
- kind: string;
2388
- key: string;
2389
3510
  };
3511
+ data: Record<string, unknown>;
2390
3512
  folded_from: {
3513
+ key: string;
3514
+ kind: string;
2391
3515
  target_kind: "tool" | "agent";
2392
3516
  target_name: string;
2393
- kind: string;
2394
- key: string;
2395
3517
  }[];
2396
- }>;
2397
- readonly patchStateRecord: (name: string, subject: import("@tai42/api-client").StateSubjectRef, data: Record<string, unknown>) => Promise<{
3518
+ seq: number;
2398
3519
  state: string;
2399
3520
  subject: {
3521
+ key: string;
3522
+ kind: string;
3523
+ target_kind: "tool" | "agent";
3524
+ target_name: string;
3525
+ };
3526
+ }>;
3527
+ readonly patchStateRecord: (name: string, subject: import("@tai42/api-client").StateSubjectRef, data: Record<string, unknown>) => Promise<{
3528
+ canonical_subject: {
3529
+ key: string;
3530
+ kind: string;
2400
3531
  target_kind: "tool" | "agent";
2401
3532
  target_name: string;
2402
- kind: string;
2403
- key: string;
2404
3533
  };
2405
3534
  data: Record<string, unknown>;
2406
- seq: number;
2407
- canonical_subject: {
3535
+ folded_from: {
3536
+ key: string;
3537
+ kind: string;
2408
3538
  target_kind: "tool" | "agent";
2409
3539
  target_name: string;
2410
- kind: string;
3540
+ }[];
3541
+ seq: number;
3542
+ state: string;
3543
+ subject: {
2411
3544
  key: string;
2412
- };
2413
- folded_from: {
3545
+ kind: string;
2414
3546
  target_kind: "tool" | "agent";
2415
3547
  target_name: string;
2416
- kind: string;
2417
- key: string;
2418
- }[];
3548
+ };
2419
3549
  }>;
2420
3550
  readonly applyStateRecord: (name: string, subject: import("@tai42/api-client").StateSubjectRef, ops: readonly Record<string, unknown>[]) => Promise<{
2421
3551
  applied: boolean;
@@ -2432,55 +3562,56 @@ export declare const ApiProvider: import("react").Provider<{
2432
3562
  input?: unknown;
2433
3563
  op_id?: string;
2434
3564
  }) => Promise<{
2435
- name: string;
2436
3565
  applied: boolean;
2437
3566
  data: Record<string, unknown> | null;
3567
+ name: string;
2438
3568
  seq: number | null;
2439
3569
  skipped: Record<string, unknown>[];
2440
3570
  }>;
2441
3571
  readonly deleteStateRecord: (name: string, subject: import("@tai42/api-client").StateSubjectRef) => Promise<{
2442
- erased: true;
3572
+ erased: boolean;
2443
3573
  }>;
2444
3574
  readonly foldStateRecord: (name: string, subject: import("@tai42/api-client").StateSubjectRef, into: import("@tai42/api-client").StateSubjectRef, mode: "switch" | "merge") => Promise<{
2445
- mode: "switch" | "merge";
3575
+ already: boolean;
3576
+ flattened: number;
2446
3577
  from: {
2447
- kind: string;
2448
3578
  key: string;
3579
+ kind: string;
2449
3580
  };
2450
3581
  into: {
2451
- kind: string;
2452
3582
  key: string;
3583
+ kind: string;
2453
3584
  };
2454
- already: boolean;
2455
- flattened: number;
3585
+ merged_members: string[] | null;
3586
+ mode: "switch" | "merge";
2456
3587
  }>;
2457
3588
  readonly listStateWrites: (name: string, subject: import("@tai42/api-client").StateSubjectRef, params?: import("@tai42/api-client").StatePageQuery, signal?: AbortSignal) => Promise<{
2458
3589
  items: {
2459
- seq: number;
2460
3590
  at: string;
2461
3591
  origin: {
3592
+ actor: string | null;
2462
3593
  consumer: string | null;
3594
+ door: "tool" | "api" | "conversation" | "hook" | "schedule" | "operator";
3595
+ inbound_id: string | null;
2463
3596
  meta: Record<string, unknown> | null;
2464
- run_id: string | null;
2465
3597
  op_id: string | null;
2466
- door: string;
2467
- actor: string | null;
3598
+ run_id: string | null;
2468
3599
  turn_id: string | null;
2469
- inbound_id: string | null;
2470
3600
  };
2471
3601
  paths: (string | number)[][];
3602
+ seq: number;
2472
3603
  }[];
2473
3604
  next_cursor: string | null;
2474
3605
  }>;
2475
3606
  readonly stateConsumers: (name: string, signal?: AbortSignal) => Promise<{
2476
- kind: string;
2477
- name: string | null;
2478
3607
  detail: string | null;
3608
+ kind: string;
2479
3609
  link: {
2480
- token: string | null;
2481
3610
  plugin_path: string | null;
2482
3611
  search: Record<string, unknown> | null;
3612
+ token: string | null;
2483
3613
  } | null;
3614
+ name: string | null;
2484
3615
  unavailable: string | null;
2485
3616
  }[]>;
2486
3617
  readonly listStateTemplates: (signal?: AbortSignal) => Promise<{
@@ -2495,7 +3626,10 @@ export declare const ApiProvider: import("react").Provider<{
2495
3626
  description: string;
2496
3627
  kind: "state-template";
2497
3628
  name: string;
2498
- parameters: Record<string, unknown>;
3629
+ parameters: Record<string, {
3630
+ schema: Record<string, unknown>;
3631
+ default?: unknown;
3632
+ }>;
2499
3633
  reconcile: {
2500
3634
  close: {
2501
3635
  content?: string | undefined;
@@ -2513,7 +3647,10 @@ export declare const ApiProvider: import("react").Provider<{
2513
3647
  kwargs?: Record<string, unknown> | undefined;
2514
3648
  };
2515
3649
  } | null;
2516
- regimes: Record<string, unknown>[];
3650
+ regimes: {
3651
+ path: string[];
3652
+ regime: "single" | "composing" | "free";
3653
+ }[];
2517
3654
  template_jq: Record<string, {
2518
3655
  description: string;
2519
3656
  jq: {
@@ -2526,7 +3663,6 @@ export declare const ApiProvider: import("react").Provider<{
2526
3663
  reads: string[][];
2527
3664
  writes: string[][];
2528
3665
  }> | null;
2529
- trace: Record<string, unknown>;
2530
3666
  attached_to: number;
2531
3667
  shipped_default: boolean;
2532
3668
  schema?: Record<string, unknown> | {
@@ -2534,6 +3670,9 @@ export declare const ApiProvider: import("react").Provider<{
2534
3670
  id?: string | undefined;
2535
3671
  kwargs?: Record<string, unknown> | undefined;
2536
3672
  } | undefined;
3673
+ trace?: {
3674
+ enabled: boolean;
3675
+ } | undefined;
2537
3676
  }[]>;
2538
3677
  readonly getStateTemplate: (name: string, signal?: AbortSignal) => Promise<{
2539
3678
  declarations: {
@@ -2547,7 +3686,10 @@ export declare const ApiProvider: import("react").Provider<{
2547
3686
  description: string;
2548
3687
  kind: "state-template";
2549
3688
  name: string;
2550
- parameters: Record<string, unknown>;
3689
+ parameters: Record<string, {
3690
+ schema: Record<string, unknown>;
3691
+ default?: unknown;
3692
+ }>;
2551
3693
  reconcile: {
2552
3694
  close: {
2553
3695
  content?: string | undefined;
@@ -2565,7 +3707,10 @@ export declare const ApiProvider: import("react").Provider<{
2565
3707
  kwargs?: Record<string, unknown> | undefined;
2566
3708
  };
2567
3709
  } | null;
2568
- regimes: Record<string, unknown>[];
3710
+ regimes: {
3711
+ path: string[];
3712
+ regime: "single" | "composing" | "free";
3713
+ }[];
2569
3714
  template_jq: Record<string, {
2570
3715
  description: string;
2571
3716
  jq: {
@@ -2578,12 +3723,14 @@ export declare const ApiProvider: import("react").Provider<{
2578
3723
  reads: string[][];
2579
3724
  writes: string[][];
2580
3725
  }> | null;
2581
- trace: Record<string, unknown>;
2582
3726
  schema?: Record<string, unknown> | {
2583
3727
  content?: string | undefined;
2584
3728
  id?: string | undefined;
2585
3729
  kwargs?: Record<string, unknown> | undefined;
2586
3730
  } | undefined;
3731
+ trace?: {
3732
+ enabled: boolean;
3733
+ } | undefined;
2587
3734
  }>;
2588
3735
  readonly putStateTemplate: (name: string, body: import("@tai42/api-client").StateTemplateBody, replace?: boolean) => Promise<{
2589
3736
  declarations: {
@@ -2597,7 +3744,10 @@ export declare const ApiProvider: import("react").Provider<{
2597
3744
  description: string;
2598
3745
  kind: "state-template";
2599
3746
  name: string;
2600
- parameters: Record<string, unknown>;
3747
+ parameters: Record<string, {
3748
+ schema: Record<string, unknown>;
3749
+ default?: unknown;
3750
+ }>;
2601
3751
  reconcile: {
2602
3752
  close: {
2603
3753
  content?: string | undefined;
@@ -2615,7 +3765,10 @@ export declare const ApiProvider: import("react").Provider<{
2615
3765
  kwargs?: Record<string, unknown> | undefined;
2616
3766
  };
2617
3767
  } | null;
2618
- regimes: Record<string, unknown>[];
3768
+ regimes: {
3769
+ path: string[];
3770
+ regime: "single" | "composing" | "free";
3771
+ }[];
2619
3772
  template_jq: Record<string, {
2620
3773
  description: string;
2621
3774
  jq: {
@@ -2628,70 +3781,124 @@ export declare const ApiProvider: import("react").Provider<{
2628
3781
  reads: string[][];
2629
3782
  writes: string[][];
2630
3783
  }> | null;
2631
- trace: Record<string, unknown>;
2632
3784
  schema?: Record<string, unknown> | {
2633
3785
  content?: string | undefined;
2634
3786
  id?: string | undefined;
2635
3787
  kwargs?: Record<string, unknown> | undefined;
2636
3788
  } | undefined;
3789
+ trace?: {
3790
+ enabled: boolean;
3791
+ } | undefined;
2637
3792
  }>;
2638
3793
  readonly deleteStateTemplate: (name: string) => Promise<{
3794
+ deleted: boolean;
2639
3795
  name: string;
2640
- deleted: true;
2641
3796
  }>;
2642
3797
  readonly pruneStateRetention: () => Promise<{
2643
3798
  pruned: Record<string, number>;
3799
+ held?: {
3800
+ held_by: string;
3801
+ save_id: string;
3802
+ subjects: {
3803
+ key: string;
3804
+ kind: string;
3805
+ target_kind: "tool" | "agent";
3806
+ target_name: string;
3807
+ }[];
3808
+ }[] | undefined;
3809
+ }>;
3810
+ readonly listPendingSaves: (params: {
3811
+ status?: "outstanding" | "failed";
3812
+ } & import("@tai42/api-client").StatePageQuery, signal?: AbortSignal) => Promise<{
3813
+ failed: number;
3814
+ items: {
3815
+ attempts: number;
3816
+ calls: {
3817
+ kind: string;
3818
+ target: string;
3819
+ }[];
3820
+ created_at: string;
3821
+ failed_at: string | null;
3822
+ failed_phase: "calls" | "records" | null;
3823
+ id: string;
3824
+ last_error: string | null;
3825
+ run_id: string | null;
3826
+ states: string[];
3827
+ status: "running" | "failed" | "calls" | "pending";
3828
+ subjects: {
3829
+ state: string;
3830
+ subject: {
3831
+ key: string;
3832
+ kind: string;
3833
+ target_kind: "tool" | "agent";
3834
+ target_name: string;
3835
+ };
3836
+ }[];
3837
+ }[];
3838
+ next_cursor: string | null;
3839
+ outstanding: number;
3840
+ }>;
3841
+ readonly retryPendingSave: (id: string) => Promise<{
3842
+ id: string;
3843
+ last_error: string | null;
3844
+ status: "running" | "applied" | "failed" | "calls" | "pending";
3845
+ }>;
3846
+ readonly discardPendingSave: (id: string) => Promise<{
3847
+ discarded: string;
2644
3848
  }>;
2645
3849
  readonly listPresets: (signal?: AbortSignal) => Promise<{
2646
- name: string;
3850
+ active_version: number;
2647
3851
  base_tool: string;
3852
+ conflicted: boolean;
3853
+ conflicted_reason: string | null;
2648
3854
  description: string;
2649
- active_version: number;
3855
+ input_schema: Record<string, unknown> | null;
3856
+ name: string;
3857
+ output_schema: Record<string, unknown> | null;
3858
+ used_by: string[];
3859
+ uses: string[];
2650
3860
  extensions: (string | {
2651
3861
  name: string;
2652
3862
  config: Record<string, unknown>;
2653
3863
  })[][];
2654
- output_schema: Record<string, unknown> | null;
2655
- input_schema: Record<string, unknown> | null;
2656
- conflicted: boolean;
2657
- conflicted_reason: string | null;
2658
- uses: string[];
2659
- used_by: string[];
2660
3864
  }[]>;
2661
3865
  readonly createPreset: (body: import("@tai42/api-client").CreatePresetBody) => Promise<{
2662
- name: string;
3866
+ active_version: number;
2663
3867
  base_tool: string;
3868
+ conflicted: boolean;
3869
+ conflicted_reason: string | null;
2664
3870
  description: string;
2665
- active_version: number;
3871
+ input_schema: Record<string, unknown> | null;
3872
+ name: string;
3873
+ output_schema: Record<string, unknown> | null;
3874
+ used_by: string[];
3875
+ uses: string[];
2666
3876
  extensions: (string | {
2667
3877
  name: string;
2668
3878
  config: Record<string, unknown>;
2669
3879
  })[][];
2670
- output_schema: Record<string, unknown> | null;
2671
- input_schema: Record<string, unknown> | null;
2672
- conflicted: boolean;
2673
- conflicted_reason: string | null;
2674
- uses: string[];
2675
- used_by: string[];
2676
3880
  }>;
2677
3881
  readonly getPreset: (name: string, signal?: AbortSignal) => Promise<{
2678
- name: string;
3882
+ active_version: number;
2679
3883
  base_tool: string;
3884
+ conflicted: boolean;
3885
+ conflicted_reason: string | null;
2680
3886
  description: string;
2681
- active_version: number;
3887
+ fixed_kwargs: Record<string, unknown>;
3888
+ input_schema: Record<string, unknown> | null;
3889
+ name: string;
3890
+ output_schema: Record<string, unknown> | null;
3891
+ used_by: string[];
3892
+ uses: string[];
2682
3893
  extensions: (string | {
2683
3894
  name: string;
2684
3895
  config: Record<string, unknown>;
2685
3896
  })[][];
2686
- output_schema: Record<string, unknown> | null;
2687
- input_schema: Record<string, unknown> | null;
2688
- conflicted: boolean;
2689
- conflicted_reason: string | null;
2690
- uses: string[];
2691
- used_by: string[];
2692
- fixed_kwargs: Record<string, unknown>;
2693
3897
  }>;
2694
3898
  readonly listPresetVersions: (name: string, signal?: AbortSignal) => Promise<{
3899
+ created_at: string;
3900
+ is_current: boolean;
3901
+ tags: string[];
2695
3902
  version: number;
2696
3903
  body: {
2697
3904
  base_tool: string;
@@ -2752,11 +3959,11 @@ export declare const ApiProvider: import("react").Provider<{
2752
3959
  }[];
2753
3960
  } | null;
2754
3961
  };
2755
- tags: string[];
2756
- created_at: string;
2757
- is_current: boolean;
2758
3962
  }[]>;
2759
3963
  readonly getPresetVersion: (name: string, version: number, signal?: AbortSignal) => Promise<{
3964
+ created_at: string;
3965
+ is_current: boolean;
3966
+ tags: string[];
2760
3967
  version: number;
2761
3968
  body: {
2762
3969
  base_tool: string;
@@ -2817,11 +4024,11 @@ export declare const ApiProvider: import("react").Provider<{
2817
4024
  }[];
2818
4025
  } | null;
2819
4026
  };
2820
- tags: string[];
2821
- created_at: string;
2822
- is_current: boolean;
2823
4027
  }>;
2824
4028
  readonly savePresetVersion: (name: string, body: import("@tai42/api-client").SavePresetVersionBody) => Promise<{
4029
+ created_at: string;
4030
+ is_current: boolean;
4031
+ tags: string[];
2825
4032
  version: number;
2826
4033
  body: {
2827
4034
  base_tool: string;
@@ -2882,101 +4089,276 @@ export declare const ApiProvider: import("react").Provider<{
2882
4089
  }[];
2883
4090
  } | null;
2884
4091
  };
2885
- tags: string[];
2886
- created_at: string;
2887
- is_current: boolean;
2888
4092
  }>;
2889
4093
  readonly rollbackPreset: (name: string, version: number) => Promise<{
2890
- name: string;
2891
4094
  active_version: number;
4095
+ fanout: {
4096
+ error: string | null;
4097
+ local_only: boolean | null;
4098
+ mode: string;
4099
+ note: string | null;
4100
+ op: string | null;
4101
+ reachable: boolean | null;
4102
+ results: {
4103
+ detail: string | null;
4104
+ error: string | null;
4105
+ name: string;
4106
+ outcome: string;
4107
+ payload: unknown;
4108
+ }[] | null;
4109
+ };
4110
+ name: string;
2892
4111
  }>;
2893
4112
  readonly deletePreset: (name: string) => Promise<{
4113
+ deleted: boolean;
4114
+ fanout: {
4115
+ error: string | null;
4116
+ local_only: boolean | null;
4117
+ mode: string;
4118
+ note: string | null;
4119
+ op: string | null;
4120
+ reachable: boolean | null;
4121
+ results: {
4122
+ detail: string | null;
4123
+ error: string | null;
4124
+ name: string;
4125
+ outcome: string;
4126
+ payload: unknown;
4127
+ }[] | null;
4128
+ };
2894
4129
  name: string;
2895
- deleted: true;
2896
4130
  }>;
2897
4131
  readonly renamePreset: (name: string, newName: string) => Promise<{
4132
+ active_version: number;
4133
+ fanout: {
4134
+ error: string | null;
4135
+ local_only: boolean | null;
4136
+ mode: string;
4137
+ note: string | null;
4138
+ op: string | null;
4139
+ reachable: boolean | null;
4140
+ results: {
4141
+ detail: string | null;
4142
+ error: string | null;
4143
+ name: string;
4144
+ outcome: string;
4145
+ payload: unknown;
4146
+ }[] | null;
4147
+ };
2898
4148
  name: string;
2899
4149
  renamed_from: string;
2900
- active_version: number;
2901
4150
  }>;
2902
4151
  readonly getPresetReferees: (name: string, signal?: AbortSignal) => Promise<{
2903
4152
  name: string;
2904
4153
  referees: string[];
2905
4154
  }>;
2906
4155
  readonly validatePreset: (body: import("@tai42/api-client").ValidatePresetBody) => Promise<{
2907
- valid: boolean;
2908
4156
  error: string | null;
4157
+ valid: boolean;
2909
4158
  }>;
2910
4159
  readonly setPresetVersionTags: (name: string, version: number, tags: readonly string[]) => Promise<{
2911
4160
  name: string;
2912
- version: number;
2913
4161
  tags: string[];
4162
+ version: number;
2914
4163
  }>;
2915
4164
  readonly listTools: (signal?: AbortSignal) => Promise<string[]>;
2916
4165
  readonly getToolSchema: (name: string, signal?: AbortSignal) => Promise<{
4166
+ description: string | null;
2917
4167
  input: Record<string, unknown>;
2918
4168
  output: Record<string, unknown> | null;
2919
- description: string | null;
2920
4169
  }>;
2921
4170
  readonly getAllToolSchemas: (signal?: AbortSignal) => Promise<Record<string, {
4171
+ description: string | null;
2922
4172
  input: Record<string, unknown>;
2923
4173
  output: Record<string, unknown> | null;
2924
- description: string | null;
2925
4174
  }>>;
2926
- readonly runTool: (args: import("@tai42/api-client").RunToolArgs, signal?: AbortSignal) => Promise<unknown>;
4175
+ readonly runTool: (args: import("@tai42/api-client").RunToolArgs, signal?: AbortSignal) => Promise<{
4176
+ asks: {
4177
+ answer_format: string | null;
4178
+ asked_by: string[] | null;
4179
+ audience: string | null;
4180
+ channel: string | null;
4181
+ created_at: string | null;
4182
+ error: unknown;
4183
+ expiry_at: string | null;
4184
+ format_payload: Record<string, unknown> | null;
4185
+ group_id: string | null;
4186
+ id: string;
4187
+ media: Record<string, unknown>[] | null;
4188
+ on_expiry: "kill" | "resume" | null;
4189
+ payload: Record<string, unknown> | null;
4190
+ question: string | null;
4191
+ recipient: string | null;
4192
+ result: unknown;
4193
+ status: "running" | "asking" | "failed" | "finished";
4194
+ thread_id: string | null;
4195
+ to: "caller" | "user" | null;
4196
+ }[];
4197
+ kind: "asks";
4198
+ suspended: {
4199
+ caller_interaction_ids: string[];
4200
+ expiry_at: string | null;
4201
+ interaction_id: string;
4202
+ interaction_ids: string[];
4203
+ resume_owner: string | null;
4204
+ };
4205
+ } | {
4206
+ kind: "none";
4207
+ } | {
4208
+ kind: "parked";
4209
+ suspended: {
4210
+ caller_interaction_ids: string[];
4211
+ expiry_at: string | null;
4212
+ interaction_id: string;
4213
+ interaction_ids: string[];
4214
+ resume_owner: string | null;
4215
+ };
4216
+ } | {
4217
+ kind: "result";
4218
+ result: unknown;
4219
+ }>;
2927
4220
  readonly reloadTool: (args: import("@tai42/api-client").ToolAdminArgs) => Promise<{
4221
+ error: string | null;
4222
+ local_only: boolean;
4223
+ ok: boolean;
2928
4224
  op: string;
2929
4225
  reachable: boolean;
2930
- local_only: boolean;
2931
4226
  results: {
4227
+ detail: string | null;
4228
+ error: string | null;
2932
4229
  name: string;
2933
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
4230
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
2934
4231
  payload: unknown;
2935
- error: string | null;
2936
- detail: string | null;
2937
4232
  }[];
2938
- error: string | null;
2939
4233
  }>;
2940
4234
  readonly removeTool: (args: import("@tai42/api-client").ToolAdminArgs) => Promise<{
4235
+ error: string | null;
4236
+ local_only: boolean;
4237
+ ok: boolean;
2941
4238
  op: string;
2942
4239
  reachable: boolean;
2943
- local_only: boolean;
2944
4240
  results: {
4241
+ detail: string | null;
4242
+ error: string | null;
2945
4243
  name: string;
2946
- outcome: "failed" | "applied" | "resyncing" | "recycling" | "stale" | "missing" | "departed" | "timed_out";
4244
+ outcome: "applied" | "failed" | "missing" | "departed" | "timed_out" | "resyncing" | "recycling" | "stale";
2947
4245
  payload: unknown;
2948
- error: string | null;
2949
- detail: string | null;
2950
4246
  }[];
2951
- error: string | null;
2952
4247
  }>;
2953
4248
  readonly submitToolRun: (args: import("@tai42/api-client").SubmitToolRunArgs, signal?: AbortSignal) => Promise<{
2954
4249
  run_id: string;
2955
4250
  }>;
2956
4251
  readonly getToolRun: (runId: string, signal?: AbortSignal) => Promise<{
4252
+ error: string | null;
4253
+ finished_at: string | null;
4254
+ outcome: unknown;
4255
+ result: unknown;
4256
+ resumed_interactions: string[] | null;
2957
4257
  run_id: string;
4258
+ started_at: string;
4259
+ tool_name: string;
4260
+ status: "running";
4261
+ } | {
4262
+ error: string | null;
4263
+ finished_at: string | null;
4264
+ outcome: unknown;
4265
+ result: unknown;
4266
+ resumed_interactions: string[] | null;
4267
+ run_id: string;
4268
+ started_at: string;
4269
+ tool_name: string;
4270
+ status: "succeeded";
4271
+ } | {
4272
+ error: string | null;
4273
+ finished_at: string | null;
4274
+ outcome: unknown;
4275
+ result: unknown;
4276
+ resumed_interactions: string[] | null;
4277
+ run_id: string;
4278
+ started_at: string;
4279
+ tool_name: string;
4280
+ status: "failed";
4281
+ } | {
4282
+ error: string | null;
4283
+ finished_at: string | null;
4284
+ outcome: unknown;
4285
+ result: unknown;
4286
+ resumed_interactions: string[] | null;
4287
+ run_id: string;
4288
+ started_at: string;
2958
4289
  tool_name: string;
2959
- status: "running" | "failed" | "parked" | "succeeded" | "lost";
4290
+ status: "lost";
4291
+ } | {
4292
+ error: string | null;
4293
+ finished_at: string | null;
4294
+ outcome: unknown;
4295
+ resumed_interactions: string[] | null;
4296
+ run_id: string;
2960
4297
  started_at: string;
2961
- finished_at?: string | undefined;
2962
- result?: unknown;
2963
- error?: string | undefined;
2964
- resumed_interactions?: string[] | undefined;
4298
+ tool_name: string;
4299
+ status: "parked";
4300
+ result: {
4301
+ asks: {
4302
+ answer_format: string | null;
4303
+ asked_by: string[] | null;
4304
+ audience: string | null;
4305
+ channel: string | null;
4306
+ created_at: string | null;
4307
+ error: unknown;
4308
+ expiry_at: string | null;
4309
+ format_payload: Record<string, unknown> | null;
4310
+ group_id: string | null;
4311
+ id: string;
4312
+ media: Record<string, unknown>[] | null;
4313
+ on_expiry: "kill" | "resume" | null;
4314
+ payload: Record<string, unknown> | null;
4315
+ question: string | null;
4316
+ recipient: string | null;
4317
+ result: unknown;
4318
+ status: "running" | "asking" | "failed" | "finished";
4319
+ thread_id: string | null;
4320
+ to: "caller" | "user" | null;
4321
+ }[];
4322
+ kind: "asks";
4323
+ suspended: {
4324
+ caller_interaction_ids: string[];
4325
+ expiry_at: string | null;
4326
+ interaction_id: string;
4327
+ interaction_ids: string[];
4328
+ resume_owner: string | null;
4329
+ };
4330
+ } | {
4331
+ kind: "parked";
4332
+ suspended: {
4333
+ caller_interaction_ids: string[];
4334
+ expiry_at: string | null;
4335
+ interaction_id: string;
4336
+ interaction_ids: string[];
4337
+ resume_owner: string | null;
4338
+ };
4339
+ };
2965
4340
  }>;
2966
4341
  readonly listToolRuns: (toolName: string, signal?: AbortSignal) => Promise<{
4342
+ finished_at: string | null;
2967
4343
  run_id: string;
2968
- tool_name: string;
2969
- status: "running" | "failed" | "parked" | "succeeded" | "lost";
2970
4344
  started_at: string;
2971
- finished_at?: string | undefined;
4345
+ tool_name: string;
4346
+ status: "running" | "parked" | "failed" | "succeeded" | "lost";
2972
4347
  }[]>;
2973
4348
  readonly listToolTags: (signal?: AbortSignal) => Promise<{
2974
- name: string;
2975
- tags: string[];
2976
4349
  badges: string[];
2977
4350
  hidden: boolean;
4351
+ name: string;
4352
+ schedulable: boolean;
4353
+ tags: string[];
2978
4354
  }[]>;
2979
4355
  readonly baseUrl: string;
4356
+ readonly constants: {
4357
+ readonly MEDIA_ID_PATTERN: "[A-Za-z0-9_-]{43}";
4358
+ readonly MEDIA_ROUTE_PREFIX: "/api/interactions/media/";
4359
+ readonly PERSON_KIND: "person";
4360
+ };
4361
+ readonly request: <S extends Parameters<typeof import("@tai42/api-client").apiRequest>[2]>(path: string, schema: S, options?: Parameters<typeof import("@tai42/api-client").apiRequest>[3]) => Promise<import("zod").infer<S>>;
2980
4362
  } | null>;
2981
4363
  export declare function useApi(): ApiClient;
2982
4364
  export type { ApiClient };