@kivox/client 0.1.0-beta.43 → 0.1.0-beta.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@ import createClient from "openapi-fetch";
4
4
  * Do not make direct changes to the file.
5
5
  */
6
6
  interface paths {
7
- "/auth/signup": {
7
+ "/auth/registrations": {
8
8
  parameters: {
9
9
  query?: never
10
10
  header?: never
@@ -14,7 +14,7 @@ interface paths {
14
14
  get?: never
15
15
  put?: never
16
16
  /** Register a new user account */
17
- post: operations["signup"]
17
+ post: operations["createRegistration"]
18
18
  delete?: never
19
19
  options?: never
20
20
  head?: never
@@ -50,13 +50,13 @@ interface paths {
50
50
  put?: never
51
51
  post?: never
52
52
  /** Log out of the current session */
53
- delete: operations["revokeSession"]
53
+ delete: operations["revokeCurrentSession"]
54
54
  options?: never
55
55
  head?: never
56
56
  patch?: never
57
57
  trace?: never
58
58
  };
59
- "/auth/password/recover": {
59
+ "/auth/password-recoveries": {
60
60
  parameters: {
61
61
  query?: never
62
62
  header?: never
@@ -67,17 +67,17 @@ interface paths {
67
67
  put?: never
68
68
  /**
69
69
  * Request a password reset email
70
- * @description Always returns 204 regardless of whether the email exists,
70
+ * @description Always returns 204 regardless of whether the email exists
71
71
  * to prevent email enumeration.
72
72
  */
73
- post: operations["recoverPassword"]
73
+ post: operations["createPasswordRecovery"]
74
74
  delete?: never
75
75
  options?: never
76
76
  head?: never
77
77
  patch?: never
78
78
  trace?: never
79
79
  };
80
- "/auth/password/reset": {
80
+ "/auth/password-resets": {
81
81
  parameters: {
82
82
  query?: never
83
83
  header?: never
@@ -91,7 +91,7 @@ interface paths {
91
91
  * @description Consumes the token and updates the password.
92
92
  * All existing sessions are revoked on success.
93
93
  */
94
- post: operations["resetPassword"]
94
+ post: operations["createPasswordReset"]
95
95
  delete?: never
96
96
  options?: never
97
97
  head?: never
@@ -116,12 +116,12 @@ interface paths {
116
116
  patch?: never
117
117
  trace?: never
118
118
  };
119
- "/auth/api-keys/{keyID}": {
119
+ "/auth/api-keys/{key_id}": {
120
120
  parameters: {
121
121
  query?: never
122
122
  header?: never
123
123
  path: {
124
- keyID: components["parameters"]["KeyID"]
124
+ key_id: string
125
125
  }
126
126
  cookie?: never
127
127
  }
@@ -135,7 +135,7 @@ interface paths {
135
135
  patch?: never
136
136
  trace?: never
137
137
  };
138
- "/users/me": {
138
+ "/user": {
139
139
  parameters: {
140
140
  query?: never
141
141
  header?: never
@@ -143,18 +143,18 @@ interface paths {
143
143
  cookie?: never
144
144
  }
145
145
  /** Get the authenticated user's profile */
146
- get: operations["getMe"]
146
+ get: operations["getUser"]
147
147
  put?: never
148
148
  post?: never
149
- /** Soft-delete the authenticated user's account */
150
- delete: operations["deleteMe"]
149
+ /** Soft delete the authenticated user's account */
150
+ delete: operations["deleteUser"]
151
151
  options?: never
152
152
  head?: never
153
153
  /** Update the authenticated user's profile */
154
- patch: operations["updateMe"]
154
+ patch: operations["updateUser"]
155
155
  trace?: never
156
156
  };
157
- "/users/me/email": {
157
+ "/user/email": {
158
158
  parameters: {
159
159
  query?: never
160
160
  header?: never
@@ -168,7 +168,133 @@ interface paths {
168
168
  options?: never
169
169
  head?: never
170
170
  /** Update the authenticated user's email address */
171
- patch: operations["updateMyEmail"]
171
+ patch: operations["updateUserEmail"]
172
+ trace?: never
173
+ };
174
+ "/user/agents": {
175
+ parameters: {
176
+ query?: never
177
+ header?: never
178
+ path?: never
179
+ cookie?: never
180
+ }
181
+ /** List agents owned by the authenticated user */
182
+ get: operations["listUserAgents"]
183
+ put?: never
184
+ /** Create an agent owned by the authenticated user */
185
+ post: operations["createUserAgent"]
186
+ delete?: never
187
+ options?: never
188
+ head?: never
189
+ patch?: never
190
+ trace?: never
191
+ };
192
+ "/user/conversations": {
193
+ parameters: {
194
+ query?: never
195
+ header?: never
196
+ path?: never
197
+ cookie?: never
198
+ }
199
+ /** List conversations created by the authenticated user */
200
+ get: operations["listUserConversations"]
201
+ put?: never
202
+ post?: never
203
+ delete?: never
204
+ options?: never
205
+ head?: never
206
+ patch?: never
207
+ trace?: never
208
+ };
209
+ "/user/knowledge-bases": {
210
+ parameters: {
211
+ query?: never
212
+ header?: never
213
+ path?: never
214
+ cookie?: never
215
+ }
216
+ /** List knowledge bases owned by the authenticated user */
217
+ get: operations["listUserKnowledgeBases"]
218
+ put?: never
219
+ /** Create a knowledge base owned by the authenticated user */
220
+ post: operations["createUserKnowledgeBase"]
221
+ delete?: never
222
+ options?: never
223
+ head?: never
224
+ patch?: never
225
+ trace?: never
226
+ };
227
+ "/user/invitations": {
228
+ parameters: {
229
+ query?: never
230
+ header?: never
231
+ path?: never
232
+ cookie?: never
233
+ }
234
+ /** List pending org invitations for the authenticated user */
235
+ get: operations["listUserInvitations"]
236
+ put?: never
237
+ post?: never
238
+ delete?: never
239
+ options?: never
240
+ head?: never
241
+ patch?: never
242
+ trace?: never
243
+ };
244
+ "/user/invitations/{invitation_id}": {
245
+ parameters: {
246
+ query?: never
247
+ header?: never
248
+ path: {
249
+ invitation_id: string
250
+ }
251
+ cookie?: never
252
+ }
253
+ get?: never
254
+ put?: never
255
+ post?: never
256
+ delete?: never
257
+ options?: never
258
+ head?: never
259
+ /** Accept or decline an invitation */
260
+ patch: operations["updateUserInvitation"]
261
+ trace?: never
262
+ };
263
+ "/models": {
264
+ parameters: {
265
+ query?: never
266
+ header?: never
267
+ path?: never
268
+ cookie?: never
269
+ }
270
+ /** List available curated models */
271
+ get: operations["listModels"]
272
+ put?: never
273
+ post?: never
274
+ delete?: never
275
+ options?: never
276
+ head?: never
277
+ patch?: never
278
+ trace?: never
279
+ };
280
+ "/models/{model_slug}": {
281
+ parameters: {
282
+ query?: never
283
+ header?: never
284
+ path: {
285
+ /** @description Permanent slug for the model that never changes. */
286
+ model_slug: string
287
+ }
288
+ cookie?: never
289
+ }
290
+ /** Get a model by canonical slug */
291
+ get: operations["getModel"]
292
+ put?: never
293
+ post?: never
294
+ delete?: never
295
+ options?: never
296
+ head?: never
297
+ patch?: never
172
298
  trace?: never
173
299
  };
174
300
  "/orgs": {
@@ -189,13 +315,12 @@ interface paths {
189
315
  patch?: never
190
316
  trace?: never
191
317
  };
192
- "/orgs/{orgSlug}": {
318
+ "/orgs/{org_slug}": {
193
319
  parameters: {
194
320
  query?: never
195
321
  header?: never
196
322
  path: {
197
- /** @description URL-safe organization identifier. */
198
- orgSlug: components["parameters"]["OrgSlug"]
323
+ org_slug: string
199
324
  }
200
325
  cookie?: never
201
326
  }
@@ -203,7 +328,7 @@ interface paths {
203
328
  get: operations["getOrg"]
204
329
  put?: never
205
330
  post?: never
206
- /** Soft-delete an organization (requires owner) */
331
+ /** Soft delete an organization (requires owner) */
207
332
  delete: operations["deleteOrg"]
208
333
  options?: never
209
334
  head?: never
@@ -211,42 +336,39 @@ interface paths {
211
336
  patch: operations["updateOrg"]
212
337
  trace?: never
213
338
  };
214
- "/orgs/{orgSlug}/members": {
339
+ "/orgs/{org_slug}/members": {
215
340
  parameters: {
216
341
  query?: never
217
342
  header?: never
218
343
  path: {
219
- /** @description URL-safe organization identifier. */
220
- orgSlug: components["parameters"]["OrgSlug"]
344
+ org_slug: string
221
345
  }
222
346
  cookie?: never
223
347
  }
224
348
  /** List members of an organization (requires viewer) */
225
349
  get: operations["listOrgMembers"]
226
350
  put?: never
227
- /** Add a member to an organization (requires admin) */
228
- post: operations["addOrgMember"]
351
+ post?: never
229
352
  delete?: never
230
353
  options?: never
231
354
  head?: never
232
355
  patch?: never
233
356
  trace?: never
234
357
  };
235
- "/orgs/{orgSlug}/members/{userID}": {
358
+ "/orgs/{org_slug}/members/{user_id}": {
236
359
  parameters: {
237
360
  query?: never
238
361
  header?: never
239
362
  path: {
240
- /** @description URL-safe organization identifier. */
241
- orgSlug: components["parameters"]["OrgSlug"]
242
- userID: components["parameters"]["UserID"]
363
+ org_slug: string
364
+ user_id: string
243
365
  }
244
366
  cookie?: never
245
367
  }
246
368
  get?: never
247
369
  put?: never
248
370
  post?: never
249
- /** Remove a member (admin required, unless removing self) */
371
+ /** Remove a member from an organization (requires admin) */
250
372
  delete: operations["removeOrgMember"]
251
373
  options?: never
252
374
  head?: never
@@ -254,31 +376,52 @@ interface paths {
254
376
  patch: operations["updateOrgMember"]
255
377
  trace?: never
256
378
  };
257
- "/users/me/agents": {
379
+ "/orgs/{org_slug}/invitations": {
258
380
  parameters: {
259
381
  query?: never
260
382
  header?: never
261
- path?: never
383
+ path: {
384
+ org_slug: string
385
+ }
262
386
  cookie?: never
263
387
  }
264
- /** List agents owned by the authenticated user */
265
- get: operations["listUserAgents"]
388
+ /** List invitations for an organization (requires admin) */
389
+ get: operations["listOrgInvitations"]
266
390
  put?: never
267
- /** Create an agent owned by the authenticated user */
268
- post: operations["createUserAgent"]
391
+ /** Invite a user to an organization (requires admin) */
392
+ post: operations["createOrgInvitation"]
269
393
  delete?: never
270
394
  options?: never
271
395
  head?: never
272
396
  patch?: never
273
397
  trace?: never
274
398
  };
275
- "/orgs/{orgSlug}/agents": {
399
+ "/orgs/{org_slug}/invitations/{invitation_id}": {
400
+ parameters: {
401
+ query?: never
402
+ header?: never
403
+ path: {
404
+ org_slug: string
405
+ invitation_id: string
406
+ }
407
+ cookie?: never
408
+ }
409
+ get?: never
410
+ put?: never
411
+ post?: never
412
+ /** Cancel a pending invitation (requires admin) */
413
+ delete: operations["cancelOrgInvitation"]
414
+ options?: never
415
+ head?: never
416
+ patch?: never
417
+ trace?: never
418
+ };
419
+ "/orgs/{org_slug}/agents": {
276
420
  parameters: {
277
421
  query?: never
278
422
  header?: never
279
423
  path: {
280
- /** @description URL-safe organization identifier. */
281
- orgSlug: components["parameters"]["OrgSlug"]
424
+ org_slug: string
282
425
  }
283
426
  cookie?: never
284
427
  }
@@ -293,12 +436,74 @@ interface paths {
293
436
  patch?: never
294
437
  trace?: never
295
438
  };
296
- "/agents/{agentID}": {
439
+ "/orgs/{org_slug}/knowledge-bases": {
440
+ parameters: {
441
+ query?: never
442
+ header?: never
443
+ path: {
444
+ org_slug: string
445
+ }
446
+ cookie?: never
447
+ }
448
+ /** List knowledge bases owned by an organization (requires viewer) */
449
+ get: operations["listOrgKnowledgeBases"]
450
+ put?: never
451
+ /** Create a knowledge base owned by an organization (requires member) */
452
+ post: operations["createOrgKnowledgeBase"]
453
+ delete?: never
454
+ options?: never
455
+ head?: never
456
+ patch?: never
457
+ trace?: never
458
+ };
459
+ "/orgs/{org_slug}/webhooks": {
460
+ parameters: {
461
+ query?: never
462
+ header?: never
463
+ path: {
464
+ org_slug: string
465
+ }
466
+ cookie?: never
467
+ }
468
+ /** List webhooks for an organization (requires admin) */
469
+ get: operations["listOrgWebhooks"]
470
+ put?: never
471
+ /** Create a webhook for an organization (requires admin) */
472
+ post: operations["createOrgWebhook"]
473
+ delete?: never
474
+ options?: never
475
+ head?: never
476
+ patch?: never
477
+ trace?: never
478
+ };
479
+ "/orgs/{org_slug}/webhooks/{webhook_id}": {
480
+ parameters: {
481
+ query?: never
482
+ header?: never
483
+ path: {
484
+ org_slug: string
485
+ webhook_id: string
486
+ }
487
+ cookie?: never
488
+ }
489
+ /** Get an organization webhook by ID (requires admin) */
490
+ get: operations["getOrgWebhook"]
491
+ put?: never
492
+ post?: never
493
+ /** Delete an organization webhook (requires admin) */
494
+ delete: operations["deleteOrgWebhook"]
495
+ options?: never
496
+ head?: never
497
+ /** Update an organization webhook (requires admin) */
498
+ patch: operations["updateOrgWebhook"]
499
+ trace?: never
500
+ };
501
+ "/agents/{agent_id}": {
297
502
  parameters: {
298
503
  query?: never
299
504
  header?: never
300
505
  path: {
301
- agentID: components["parameters"]["AgentID"]
506
+ agent_id: string
302
507
  }
303
508
  cookie?: never
304
509
  }
@@ -306,7 +511,7 @@ interface paths {
306
511
  get: operations["getAgent"]
307
512
  put?: never
308
513
  post?: never
309
- /** Soft-delete an agent (requires admin) */
514
+ /** Soft delete an agent (requires admin) */
310
515
  delete: operations["deleteAgent"]
311
516
  options?: never
312
517
  head?: never
@@ -314,12 +519,12 @@ interface paths {
314
519
  patch: operations["updateAgent"]
315
520
  trace?: never
316
521
  };
317
- "/agents/{agentID}/status": {
522
+ "/agents/{agent_id}/status": {
318
523
  parameters: {
319
524
  query?: never
320
525
  header?: never
321
526
  path: {
322
- agentID: components["parameters"]["AgentID"]
527
+ agent_id: string
323
528
  }
324
529
  cookie?: never
325
530
  }
@@ -333,35 +538,35 @@ interface paths {
333
538
  patch: operations["updateAgentStatus"]
334
539
  trace?: never
335
540
  };
336
- "/agents/{agentID}/lint": {
541
+ "/agents/{agent_id}/diagnostics": {
337
542
  parameters: {
338
543
  query?: never
339
544
  header?: never
340
545
  path: {
341
- agentID: components["parameters"]["AgentID"]
546
+ agent_id: string
342
547
  }
343
548
  cookie?: never
344
549
  }
345
550
  get?: never
346
551
  put?: never
347
552
  /**
348
- * Lint an agent's blueprint (requires viewer)
349
- * @description Pass a `blueprint` in the request body to lint that instead of the
553
+ * Run diagnostics on an agent's blueprint (requires viewer)
554
+ * @description Pass a blueprint in the request body to validate it instead of the
350
555
  * agent's saved blueprint. Useful for pre-save validation in the editor.
351
556
  */
352
- post: operations["lintAgent"]
557
+ post: operations["createAgentDiagnostics"]
353
558
  delete?: never
354
559
  options?: never
355
560
  head?: never
356
561
  patch?: never
357
562
  trace?: never
358
563
  };
359
- "/agents/{agentID}/conversations": {
564
+ "/agents/{agent_id}/conversations": {
360
565
  parameters: {
361
566
  query?: never
362
567
  header?: never
363
568
  path: {
364
- agentID: components["parameters"]["AgentID"]
569
+ agent_id: string
365
570
  }
366
571
  cookie?: never
367
572
  }
@@ -375,168 +580,345 @@ interface paths {
375
580
  patch?: never
376
581
  trace?: never
377
582
  };
378
- "/conversations/{conversationID}": {
583
+ "/agents/{agent_id}/knowledge-bases": {
379
584
  parameters: {
380
585
  query?: never
381
586
  header?: never
382
587
  path: {
383
- conversationID: components["parameters"]["ConversationID"]
588
+ agent_id: string
384
589
  }
385
590
  cookie?: never
386
591
  }
387
- /** Get a conversation by ID (requires viewer on the parent agent) */
388
- get: operations["getConversation"]
592
+ /** List knowledge bases linked to an agent (requires viewer) */
593
+ get: operations["listAgentKnowledgeBases"]
389
594
  put?: never
390
595
  post?: never
391
- /** Soft-delete a conversation (requires admin on the parent agent) */
392
- delete: operations["deleteConversation"]
596
+ delete?: never
393
597
  options?: never
394
598
  head?: never
395
599
  patch?: never
396
600
  trace?: never
397
601
  };
398
- "/conversations/{conversationID}/messages": {
602
+ "/agents/{agent_id}/knowledge-bases/{knowledge_base_id}": {
399
603
  parameters: {
400
604
  query?: never
401
605
  header?: never
402
606
  path: {
403
- conversationID: components["parameters"]["ConversationID"]
607
+ agent_id: string
608
+ knowledge_base_id: string
404
609
  }
405
610
  cookie?: never
406
611
  }
407
- /** List messages in a conversation (requires viewer on the parent agent) */
408
- get: operations["listConversationMessages"]
409
- put?: never
612
+ get?: never
613
+ /** Link a knowledge base to an agent (requires member) */
614
+ put: operations["linkAgentKnowledgeBase"]
410
615
  post?: never
411
- delete?: never
616
+ /** Unlink a knowledge base from an agent (requires member) */
617
+ delete: operations["unlinkAgentKnowledgeBase"]
412
618
  options?: never
413
619
  head?: never
414
620
  patch?: never
415
621
  trace?: never
416
622
  };
417
- "/users/me/templates": {
623
+ "/agents/{agent_id}/webhooks": {
418
624
  parameters: {
419
625
  query?: never
420
626
  header?: never
421
- path?: never
627
+ path: {
628
+ agent_id: string
629
+ }
422
630
  cookie?: never
423
631
  }
424
- /** List templates owned by the authenticated user */
425
- get: operations["listUserTemplates"]
632
+ /** List webhooks for an agent (requires member) */
633
+ get: operations["listAgentWebhooks"]
426
634
  put?: never
427
- /** Create a template owned by the authenticated user */
428
- post: operations["createUserTemplate"]
635
+ /** Create a webhook for an agent (requires member) */
636
+ post: operations["createAgentWebhook"]
429
637
  delete?: never
430
638
  options?: never
431
639
  head?: never
432
640
  patch?: never
433
641
  trace?: never
434
642
  };
435
- "/orgs/{orgSlug}/templates": {
643
+ "/agents/{agent_id}/webhooks/{webhook_id}": {
436
644
  parameters: {
437
645
  query?: never
438
646
  header?: never
439
647
  path: {
440
- /** @description URL-safe organization identifier. */
441
- orgSlug: components["parameters"]["OrgSlug"]
648
+ agent_id: string
649
+ webhook_id: string
442
650
  }
443
651
  cookie?: never
444
652
  }
445
- /** List templates owned by an organization (requires viewer) */
446
- get: operations["listOrgTemplates"]
653
+ /** Get an agent webhook by ID (requires member) */
654
+ get: operations["getAgentWebhook"]
655
+ put?: never
656
+ post?: never
657
+ /** Delete an agent webhook (requires member) */
658
+ delete: operations["deleteAgentWebhook"]
659
+ options?: never
660
+ head?: never
661
+ /** Update an agent webhook (requires member) */
662
+ patch: operations["updateAgentWebhook"]
663
+ trace?: never
664
+ };
665
+ "/conversations": {
666
+ parameters: {
667
+ query?: never
668
+ header?: never
669
+ path?: never
670
+ cookie?: never
671
+ }
672
+ get?: never
447
673
  put?: never
448
- /** Create a template owned by an organization (requires member) */
449
- post: operations["createOrgTemplate"]
674
+ /** Start a new conversation with an agent */
675
+ post: operations["createConversation"]
450
676
  delete?: never
451
677
  options?: never
452
678
  head?: never
453
679
  patch?: never
454
680
  trace?: never
455
681
  };
456
- "/templates/{templateID}": {
682
+ "/conversations/{conversation_id}": {
457
683
  parameters: {
458
684
  query?: never
459
685
  header?: never
460
686
  path: {
461
- templateID: components["parameters"]["TemplateID"]
687
+ conversation_id: string
462
688
  }
463
689
  cookie?: never
464
690
  }
465
- /** Get a template by ID */
466
- get: operations["getTemplate"]
691
+ /** Get a conversation by ID (requires viewer on the parent agent) */
692
+ get: operations["getConversation"]
467
693
  put?: never
468
694
  post?: never
469
- /** Soft-delete a template (requires admin if org-owned) */
470
- delete: operations["deleteTemplate"]
695
+ /** Soft delete a conversation (requires admin on the parent agent) */
696
+ delete: operations["deleteConversation"]
471
697
  options?: never
472
698
  head?: never
473
- /** Update a template (requires member if org-owned) */
474
- patch: operations["updateTemplate"]
699
+ patch?: never
475
700
  trace?: never
476
701
  };
477
- }
478
- interface components {
479
- schemas: {
480
- Error: {
481
- /**
482
- * @description Stable dot-notation error identifier, e.g. `resource.not_found`.
483
- * Use this for programmatic handling; never parse `message`.
484
- * @example resource.not_found
485
- */
486
- code: string
487
- /** @description Localized, human-readable description of the error. */
488
- message: string
489
- /**
490
- * Format: uri
491
- * @description Link to the canonical documentation page for this error code.
492
- * @example https://kivox.com.co/docs/reference/errors#resource-not-found
493
- */
494
- doc_url: string
495
- /**
496
- * @description Named interpolation values used to render `message`.
497
- * Present only when the error carries contextual parameters.
498
- */
499
- params?: {
500
- [key: string]: unknown
702
+ "/conversations/{conversation_id}/messages": {
703
+ parameters: {
704
+ query?: never
705
+ header?: never
706
+ path: {
707
+ conversation_id: string
501
708
  }
709
+ cookie?: never
502
710
  }
503
- SignupRequest: {
504
- /** Format: email */
505
- email: string
506
- password: string
507
- name: string
508
- }
509
- LoginRequest: {
510
- /** Format: email */
511
- email: string
512
- password: string
513
- }
514
- RecoverPasswordRequest: {
515
- /** Format: email */
516
- email: string
517
- }
518
- ResetPasswordRequest: {
519
- token: string
520
- password: string
521
- }
711
+ /** List messages in a conversation (requires viewer on the parent agent) */
712
+ get: operations["listConversationMessages"]
713
+ put?: never
522
714
  /**
523
- * @description Returned after a successful login or signup.
524
- * The session token is delivered as an HttpOnly cookie (`kivox_session`),
525
- * not in this response body.
715
+ * Send a user message and stream the assistant response via SSE
716
+ * @description Sends a user message and streams the assistant's response as Server-Sent Events (SSE).
717
+ *
718
+ * **Event types:**
719
+ * - `delta`: Streaming text chunk.
720
+ * - `text`: Complete text message.
721
+ * - `tool_start`: A tool execution started.
722
+ * - `tool_complete`: A tool execution completed.
723
+ * - `tool_error`: A tool execution failed.
724
+ * - `turn_complete`: The turn finished successfully.
725
+ * - `session_ended`: The conversation ended.
726
+ * - `transfer_agent`: Agent transfer requested.
727
+ * - `transfer_human`: Human transfer requested.
728
+ * - `error`: An error occurred.
729
+ *
730
+ * Connect with `EventSource` in browsers or any SSE client.
526
731
  */
527
- AuthSessionResponse: {
528
- /** Format: date-time */
529
- expires_at: string
732
+ post: operations["createConversationMessage"]
733
+ delete?: never
734
+ options?: never
735
+ head?: never
736
+ patch?: never
737
+ trace?: never
738
+ };
739
+ "/conversations/{conversation_id}/stream": {
740
+ parameters: {
741
+ query: {
742
+ /** @description Must be "voice" for WebSocket upgrade. */
743
+ medium: "voice"
744
+ }
745
+ header?: never
746
+ path: {
747
+ conversation_id: string
748
+ }
749
+ cookie?: never
530
750
  }
531
- /** @description API key record. The raw key value is never returned after creation. */
532
- AuthAPIKey: {
533
- /** Format: uuid */
534
- id: string
535
- /** Format: uuid */
536
- owner_user_id?: string
537
- /** Format: uuid */
538
- owner_org_id?: string
539
- /** Format: uuid */
751
+ /**
752
+ * Establish a WebSocket connection for real-time voice conversation
753
+ * @description Upgrades to a WebSocket connection for bidirectional voice streaming.
754
+ * The protocol is documented at https://kivox.com.co/docs/reference/ws-protocol.
755
+ */
756
+ get: operations["streamConversation"]
757
+ put?: never
758
+ post?: never
759
+ delete?: never
760
+ options?: never
761
+ head?: never
762
+ patch?: never
763
+ trace?: never
764
+ };
765
+ "/knowledge-bases/{knowledge_base_id}": {
766
+ parameters: {
767
+ query?: never
768
+ header?: never
769
+ path: {
770
+ knowledge_base_id: string
771
+ }
772
+ cookie?: never
773
+ }
774
+ /** Get a knowledge base by ID */
775
+ get: operations["getKnowledgeBase"]
776
+ put?: never
777
+ post?: never
778
+ /** Soft delete a knowledge base */
779
+ delete: operations["deleteKnowledgeBase"]
780
+ options?: never
781
+ head?: never
782
+ /** Update a knowledge base */
783
+ patch: operations["updateKnowledgeBase"]
784
+ trace?: never
785
+ };
786
+ "/knowledge-bases/{knowledge_base_id}/documents": {
787
+ parameters: {
788
+ query?: never
789
+ header?: never
790
+ path: {
791
+ knowledge_base_id: string
792
+ }
793
+ cookie?: never
794
+ }
795
+ /** List documents in a knowledge base */
796
+ get: operations["listKnowledgeBaseDocuments"]
797
+ put?: never
798
+ /**
799
+ * Add a document to a knowledge base
800
+ * @description Accepts three content types depending on the document source.
801
+ * Use `application/json` for URL and raw text documents.
802
+ * Use `multipart/form-data` for binary file uploads.
803
+ * All variants require a `type` field matching the content type used.
804
+ */
805
+ post: operations["createKnowledgeBaseDocument"]
806
+ delete?: never
807
+ options?: never
808
+ head?: never
809
+ patch?: never
810
+ trace?: never
811
+ };
812
+ "/knowledge-bases/{knowledge_base_id}/documents/{document_id}": {
813
+ parameters: {
814
+ query?: never
815
+ header?: never
816
+ path: {
817
+ knowledge_base_id: string
818
+ document_id: string
819
+ }
820
+ cookie?: never
821
+ }
822
+ /** Get a document by ID */
823
+ get: operations["getKnowledgeBaseDocument"]
824
+ put?: never
825
+ post?: never
826
+ /** Delete a document from a knowledge base */
827
+ delete: operations["deleteKnowledgeBaseDocument"]
828
+ options?: never
829
+ head?: never
830
+ patch?: never
831
+ trace?: never
832
+ };
833
+ "/knowledge-bases/{knowledge_base_id}/queries": {
834
+ parameters: {
835
+ query?: never
836
+ header?: never
837
+ path: {
838
+ knowledge_base_id: string
839
+ }
840
+ cookie?: never
841
+ }
842
+ get?: never
843
+ put?: never
844
+ /** Run a semantic search query against a knowledge base */
845
+ post: operations["queryKnowledgeBase"]
846
+ delete?: never
847
+ options?: never
848
+ head?: never
849
+ patch?: never
850
+ trace?: never
851
+ };
852
+ }
853
+ interface components {
854
+ schemas: {
855
+ AuthSignupRequest: {
856
+ /** Format: email */
857
+ email: string
858
+ password: string
859
+ name: string
860
+ }
861
+ ErrorDetail: {
862
+ code: string
863
+ field?: string
864
+ message: string
865
+ }
866
+ Error: {
867
+ /** @enum {string} */
868
+ type: "security" | "auth" | "validation" | "permission" | "resource" | "limit" | "dependency" | "internal"
869
+ /**
870
+ * @description Stable dot-notation ref, e.g. `validation.field_required`.
871
+ * @example validation.field_required
872
+ */
873
+ code: string
874
+ /** @description English fallback. Never parse this string. */
875
+ message: string
876
+ /** @description Top-level request field that triggered the error, if applicable. */
877
+ param?: string
878
+ /** @description Named interpolation values for the client i18n bundle. */
879
+ params?: {
880
+ [key: string]: unknown
881
+ }
882
+ details?: components["schemas"]["ErrorDetail"][]
883
+ /**
884
+ * Format: uri
885
+ * @example https://kivox.com.co/docs/reference/errors#validation-field-required
886
+ */
887
+ doc_url: string
888
+ /**
889
+ * @description Include in support tickets.
890
+ * @example req_a1b2c3d4
891
+ */
892
+ request_id: string
893
+ }
894
+ AuthSessionResponse: {
895
+ session_token?: string
896
+ /** Format: date-time */
897
+ expires_at: string
898
+ }
899
+ AuthSigninRequest: {
900
+ /** Format: email */
901
+ email: string
902
+ password: string
903
+ }
904
+ AuthPasswordRecoverRequest: {
905
+ /** Format: email */
906
+ email: string
907
+ }
908
+ AuthPasswordResetRequest: {
909
+ token: string
910
+ password: string
911
+ }
912
+ APIKey: {
913
+ /** Format: uuid */
914
+ id: string
915
+ /** @enum {string} */
916
+ object: "api_key"
917
+ /** Format: uuid */
918
+ owner_user_id?: string
919
+ /** Format: uuid */
920
+ owner_org_id?: string
921
+ /** Format: uuid */
540
922
  created_by_user_id: string
541
923
  name: string
542
924
  /** @example sk_live */
@@ -549,13 +931,26 @@ interface components {
549
931
  /** Format: date-time */
550
932
  created_at: string
551
933
  }
552
- /**
553
- * @description Returned **once** when an API key is created.
554
- * The `key` field contains the full raw value. Store it now, it will not be shown again.
555
- */
556
- AuthAPIKeyResponse: {
934
+ OffsetMeta: {
935
+ total: number
936
+ limit: number
937
+ page: number
938
+ }
939
+ APIKeyListResponse: {
940
+ data: components["schemas"]["APIKey"][]
941
+ meta: components["schemas"]["OffsetMeta"]
942
+ }
943
+ APIKeyCreateRequest: {
944
+ name: string
945
+ scopes?: string[]
946
+ /** Format: date-time */
947
+ expires_at?: string
948
+ }
949
+ APIKeyCreateResponse: {
557
950
  /** Format: uuid */
558
951
  id: string
952
+ /** @enum {string} */
953
+ object: "api_key"
559
954
  name: string
560
955
  prefix: string
561
956
  /**
@@ -569,112 +964,39 @@ interface components {
569
964
  /** Format: date-time */
570
965
  created_at: string
571
966
  }
572
- CreateAPIKeyRequest: {
573
- name: string
574
- scopes?: string[]
575
- /** Format: date-time */
576
- expires_at?: string
577
- }
578
967
  User: {
579
968
  /** Format: uuid */
580
969
  id: string
970
+ /** @enum {string} */
971
+ object: "user"
581
972
  /** Format: email */
582
973
  email: string
583
974
  name: string
584
975
  /** Format: uri */
585
976
  avatar_url?: string
977
+ /** @default false */
978
+ is_admin: boolean
979
+ /** @default false */
980
+ is_banned: boolean
981
+ ban_reason?: string
586
982
  /** Format: date-time */
587
983
  created_at: string
588
984
  /** Format: date-time */
589
985
  updated_at: string
590
986
  }
591
- UpdateUserRequest: {
987
+ UserUpdateRequest: {
592
988
  name?: string
593
989
  /** Format: uri */
594
990
  avatar_url?: string
595
991
  }
596
- UpdateEmailRequest: {
992
+ UserUpdateEmailRequest: {
597
993
  /** Format: email */
598
994
  email: string
599
995
  }
600
- Org: {
601
- /** Format: uuid */
602
- id: string
603
- /** Format: uuid */
604
- created_by?: string
605
- name: string
606
- description?: string
607
- /** Format: uri */
608
- avatar_url?: string
609
- slug: string
610
- tier: components["schemas"]["OrgTier"]
611
- /** Format: date-time */
612
- created_at: string
613
- /** Format: date-time */
614
- updated_at: string
615
- }
616
- OrgMember: {
617
- /** Format: uuid */
618
- org_id: string
619
- /** Format: uuid */
620
- user_id: string
621
- role: components["schemas"]["MemberRole"]
622
- /** Format: date-time */
623
- created_at: string
624
- /** Format: date-time */
625
- updated_at: string
626
- }
627
- /**
628
- * @description Role hierarchy (highest → lowest): `owner > admin > member > viewer`.
629
- * @enum {string}
630
- */
631
- MemberRole: "owner" | "admin" | "member" | "viewer"
632
- CreateOrgRequest: {
633
- name: string
634
- description?: string
635
- slug: string
636
- }
637
- UpdateOrgRequest: {
638
- name?: string
639
- description?: string
640
- /** Format: uri */
641
- avatar_url?: string
642
- }
643
- AddMemberRequest: {
644
- /** Format: uuid */
645
- user_id: string
646
- /** @enum {string} */
647
- role: "admin" | "member" | "viewer"
648
- }
649
- UpdateMemberRequest: {
650
- role: components["schemas"]["MemberRole"]
651
- }
652
- Agent: {
653
- /** Format: uuid */
654
- id: string
655
- /** Format: uuid */
656
- owner_user_id?: string
657
- /** Format: uuid */
658
- owner_org_id?: string
659
- /** Format: uuid */
660
- template_id?: string
661
- config: components["schemas"]["AgentConfig"]
662
- secrets: components["schemas"]["AgentSecret"][]
663
- blueprint: components["schemas"]["Blueprint"]
664
- status: components["schemas"]["AgentStatus"]
665
- /** Format: date-time */
666
- created_at: string
667
- /** Format: date-time */
668
- updated_at: string
669
- }
670
- /** @enum {string} */
671
- AgentStatus: "draft" | "live" | "archived"
672
- /** @enum {string} */
673
- AgentLLMEngine: "deepseek" | "mistral" | "gemini" | "openai"
674
996
  AgentConfig: {
997
+ name: string
675
998
  /** Format: uri */
676
999
  avatar_url?: string
677
- name: string
678
1000
  description?: string
679
1001
  /** @example es */
680
1002
  language?: string
@@ -684,53 +1006,14 @@ interface components {
684
1006
  max_session_duration_minutes?: number
685
1007
  max_silence_timeout_seconds?: number
686
1008
  allow_interruptions?: boolean
687
- llm_engine?: components["schemas"]["AgentLLMEngine"]
688
- llm_model?: string
1009
+ model_llm?: string
689
1010
  }
690
1011
  AgentSecret: {
691
1012
  key: string
692
1013
  value: string
693
1014
  description?: string
694
1015
  }
695
- AgentLintDiagnostics: {
696
- errors: string[]
697
- }
698
- CreateAgentRequest: {
699
- /** Format: uuid */
700
- template_id?: string
701
- config?: components["schemas"]["AgentConfig"]
702
- secrets?: components["schemas"]["AgentSecret"][]
703
- blueprint?: components["schemas"]["Blueprint"]
704
- }
705
- UpdateAgentRequest: {
706
- config?: components["schemas"]["AgentConfig"]
707
- secrets?: components["schemas"]["AgentSecret"][]
708
- blueprint?: components["schemas"]["Blueprint"]
709
- }
710
- UpdateAgentStatusRequest: {
711
- status: components["schemas"]["AgentStatus"]
712
- }
713
- LintAgentRequest: {
714
- blueprint?: components["schemas"]["Blueprint"]
715
- }
716
- AgentPage: {
717
- items: components["schemas"]["Agent"][]
718
- total: number
719
- limit: number
720
- page: number
721
- }
722
- Blueprint: {
723
- /** @default 1 */
724
- version: string
725
- entries: {
726
- name: string
727
- workflow: {
728
- nodes: components["schemas"]["BlueprintNode"][]
729
- edges: components["schemas"]["BlueprintEdge"][]
730
- }
731
- }[]
732
- }
733
- BlueprintNode: {
1016
+ AgentBlueprintNode: {
734
1017
  id: string
735
1018
  type: string
736
1019
  data: {
@@ -739,93 +1022,567 @@ interface components {
739
1022
  } & {
740
1023
  [key: string]: unknown
741
1024
  }
742
- BlueprintEdge: {
1025
+ AgentBlueprintEdge: {
743
1026
  source: string
744
1027
  target: string
745
1028
  } & {
746
1029
  [key: string]: unknown
747
1030
  }
748
- Conversation: {
1031
+ AgentBlueprint: {
1032
+ /** @default 1 */
1033
+ version: string
1034
+ entries: {
1035
+ name: string
1036
+ workflow: {
1037
+ nodes: components["schemas"]["AgentBlueprintNode"][]
1038
+ edges: components["schemas"]["AgentBlueprintEdge"][]
1039
+ }
1040
+ }[]
1041
+ }
1042
+ /** @enum {string} */
1043
+ AgentStatus: "draft" | "live" | "archived"
1044
+ Agent: {
749
1045
  /** Format: uuid */
750
1046
  id: string
1047
+ /** @enum {string} */
1048
+ object: "agent"
751
1049
  /** Format: uuid */
752
- agent_id: string
753
- status: components["schemas"]["ConversationStatus"]
754
- summary?: string
1050
+ owner_user_id?: string
1051
+ /** Format: uuid */
1052
+ owner_org_id?: string
1053
+ config: components["schemas"]["AgentConfig"]
1054
+ secrets?: components["schemas"]["AgentSecret"][]
1055
+ blueprint: components["schemas"]["AgentBlueprint"]
1056
+ status: components["schemas"]["AgentStatus"]
755
1057
  /** Format: date-time */
756
- started_at: string
1058
+ created_at: string
757
1059
  /** Format: date-time */
758
- ended_at?: string
759
- end_reason?: components["schemas"]["ConversationEndReason"]
1060
+ updated_at: string
760
1061
  }
761
- ConversationMessage: {
1062
+ AgentListResponse: {
1063
+ data: components["schemas"]["Agent"][]
1064
+ meta: components["schemas"]["OffsetMeta"]
1065
+ }
1066
+ AgentCreateRequest: {
1067
+ config?: components["schemas"]["AgentConfig"]
1068
+ secrets?: components["schemas"]["AgentSecret"][]
1069
+ blueprint?: components["schemas"]["AgentBlueprint"]
1070
+ }
1071
+ /** @enum {string} */
1072
+ ConversationStatus: "active" | "ended"
1073
+ Conversation: {
762
1074
  /** Format: uuid */
763
1075
  id: string
1076
+ /** @enum {string} */
1077
+ object: "conversation"
764
1078
  /** Format: uuid */
765
- conversation_id: string
766
- role: components["schemas"]["ConversationMessageRole"]
767
- content: string
1079
+ agent_id: string
1080
+ /** Format: uuid */
1081
+ created_by?: string
1082
+ status: components["schemas"]["ConversationStatus"]
1083
+ title?: string
1084
+ summary?: string
768
1085
  /** Format: date-time */
769
- created_at: string
1086
+ started_at: string
1087
+ /** Format: date-time */
1088
+ ended_at?: string
1089
+ end_reason?: string
1090
+ /** Format: date-time */
1091
+ updated_at?: string
770
1092
  }
771
- /** @enum {string} */
772
- ConversationStatus: "active" | "ended"
773
- /** @enum {string} */
774
- ConversationEndReason: "user_exit" | "timeout" | "script_terminate" | "socket_shutdown" | "error" | "flow_end" | "client_end" | "agent_transfer"
775
- /** @enum {string} */
776
- ConversationMessageRole: "user" | "assistant" | "system" | "tool"
777
- ConversationPage: {
778
- items: components["schemas"]["Conversation"][]
779
- next_cursor: string
1093
+ CursorMeta: {
1094
+ next_cursor: string | null
780
1095
  has_more: boolean
781
1096
  }
782
- ConversationMessagePage: {
783
- items: components["schemas"]["ConversationMessage"][]
784
- next_cursor: string
785
- has_more: boolean
1097
+ ConversationListResponse: {
1098
+ data: components["schemas"]["Conversation"][]
1099
+ meta: components["schemas"]["CursorMeta"]
1100
+ }
1101
+ /** @description Controls how documents are split before embedding. */
1102
+ KnowledgeBaseChunkStrategy: {
1103
+ /** @default 1000 */
1104
+ chunk_size: number
1105
+ /** @default 200 */
1106
+ chunk_overlap: number
786
1107
  }
787
- Template: {
1108
+ KnowledgeBase: {
788
1109
  /** Format: uuid */
789
1110
  id: string
1111
+ /** @enum {string} */
1112
+ object: "knowledge_base"
790
1113
  /** Format: uuid */
791
1114
  owner_user_id?: string
792
1115
  /** Format: uuid */
793
1116
  owner_org_id?: string
794
1117
  name: string
795
1118
  description?: string
796
- config: components["schemas"]["AgentConfig"]
797
- blueprint: components["schemas"]["Blueprint"]
1119
+ /** @example text-embedding-3-small */
1120
+ embedding_model: string
1121
+ chunk_strategy: components["schemas"]["KnowledgeBaseChunkStrategy"]
798
1122
  /** Format: date-time */
799
1123
  created_at: string
800
1124
  /** Format: date-time */
801
1125
  updated_at: string
1126
+ /** @description Number of documents in the KB. This field is computed at runtime. */
1127
+ document_count?: number
1128
+ /** @description Number of chunks in the KB. This field is computed at runtime. */
1129
+ chunk_count?: number
802
1130
  }
803
- CreateTemplateRequest: {
1131
+ KnowledgeBaseListResponse: {
1132
+ data: components["schemas"]["KnowledgeBase"][]
1133
+ meta: components["schemas"]["OffsetMeta"]
1134
+ }
1135
+ KnowledgeBaseCreateRequest: {
804
1136
  name: string
805
1137
  description?: string
806
- config?: components["schemas"]["AgentConfig"]
807
- secrets?: components["schemas"]["AgentSecret"][]
808
- blueprint?: components["schemas"]["Blueprint"]
1138
+ embedding_model: string
1139
+ chunk_strategy?: components["schemas"]["KnowledgeBaseChunkStrategy"]
1140
+ }
1141
+ /** @enum {string} */
1142
+ OrgInvitationRole: "admin" | "member" | "viewer"
1143
+ /** @enum {string} */
1144
+ OrgInvitationState: "pending" | "accepted" | "declined" | "expired"
1145
+ OrgInvitation: {
1146
+ /** Format: uuid */
1147
+ id: string
1148
+ /** @enum {string} */
1149
+ object: "org_invitation"
1150
+ /** Format: uuid */
1151
+ org_id: string
1152
+ /** Format: uuid */
1153
+ inviter_id: string
1154
+ /** Format: uuid */
1155
+ user_id: string
1156
+ role: components["schemas"]["OrgInvitationRole"]
1157
+ state: components["schemas"]["OrgInvitationState"]
1158
+ /** Format: date-time */
1159
+ created_at: string
1160
+ /** Format: date-time */
1161
+ expires_at: string
1162
+ }
1163
+ OrgInvitationListResponse: {
1164
+ data: components["schemas"]["OrgInvitation"][]
1165
+ meta: components["schemas"]["OffsetMeta"]
1166
+ }
1167
+ OrgInvitationStateUpdateRequest: {
1168
+ /** @enum {string} */
1169
+ state: "accepted" | "declined"
1170
+ }
1171
+ /** @description Describes the model's technical capabilities and supported modalities. */
1172
+ ModelArchitecture: {
1173
+ /**
1174
+ * @description Content types accepted as input by the model.
1175
+ * @example [
1176
+ * "text",
1177
+ * "image"
1178
+ * ]
1179
+ */
1180
+ input_modalities: ("text" | "image" | "audio" | "file")[]
1181
+ /**
1182
+ * @description Content types this model can produce as output.
1183
+ * @example [
1184
+ * "text"
1185
+ * ]
1186
+ */
1187
+ output_modalities: ("text" | "image" | "audio" | "embeddings")[]
1188
+ /**
1189
+ * @description Tokenization method or family used by the model (e.g. "cl100k", "llama3").
1190
+ * @example cl100k
1191
+ */
1192
+ tokenizer?: string
1193
+ /**
1194
+ * @description Instruction format type the model was fine-tuned on (e.g. "chat", "alpaca"). Null if not applicable.
1195
+ * @example chat
1196
+ */
1197
+ instruct_type?: string
1198
+ }
1199
+ /** @description Cost structure for using this model. All values are in USD per token/request/unit. A value of "0" indicates the operation is free. */
1200
+ ModelPricing: {
1201
+ /**
1202
+ * @description Cost per input token.
1203
+ * @example 0.00000025
1204
+ */
1205
+ prompt?: string
1206
+ /**
1207
+ * @description Cost per output token.
1208
+ * @example 0.00000075
1209
+ */
1210
+ completion?: string
1211
+ /**
1212
+ * @description Fixed cost per API request, regardless of token count.
1213
+ * @example 0
1214
+ */
1215
+ request?: string
1216
+ /**
1217
+ * @description Cost per image provided as input.
1218
+ * @example 0
1219
+ */
1220
+ image?: string
1221
+ /**
1222
+ * @description Cost per web search operation, if supported.
1223
+ * @example 0
1224
+ */
1225
+ web_search?: string
1226
+ /**
1227
+ * @description Cost per internal reasoning token, if the model supports extended thinking.
1228
+ * @example 0
1229
+ */
1230
+ internal_reasoning?: string
1231
+ /**
1232
+ * @description Cost per cached input token read (prompt caching).
1233
+ * @example 0
1234
+ */
1235
+ input_cache_read?: string
1236
+ /**
1237
+ * @description Cost per input token written to cache (prompt caching).
1238
+ * @example 0
1239
+ */
1240
+ input_cache_write?: string
1241
+ }
1242
+ Model: {
1243
+ /**
1244
+ * @description Unique model identifier used in API requests.
1245
+ * @example google/gemini-2.5-pro-preview
1246
+ */
1247
+ id: string
1248
+ /** @enum {string} */
1249
+ object: "model"
1250
+ /** @description Permanent slug for the model that never changes. */
1251
+ slug: string
1252
+ /**
1253
+ * @description Aggregator which this model is accessed.
1254
+ * @example openrouter
1255
+ */
1256
+ backend: string
1257
+ /**
1258
+ * @description Company which owns this model.
1259
+ * @example Google
1260
+ */
1261
+ company: string
1262
+ /**
1263
+ * @description Human-readable display name for the model.
1264
+ * @example Gemini 2.5 Pro Preview
1265
+ */
1266
+ name: string
1267
+ /** @description Detailed description of the model's capabilities and characteristics. */
1268
+ description?: string
1269
+ /**
1270
+ * @description Maximum context window size in tokens.
1271
+ * @example 1048576
1272
+ */
1273
+ context_length: number
1274
+ architecture: components["schemas"]["ModelArchitecture"]
1275
+ pricing: components["schemas"]["ModelPricing"]
1276
+ /**
1277
+ * @description API parameters supported by this model.
1278
+ * @example [
1279
+ * "tools",
1280
+ * "tool_choice",
1281
+ * "temperature",
1282
+ * "max_tokens",
1283
+ * "structured_outputs"
1284
+ * ]
1285
+ */
1286
+ supported_parameters: string[]
1287
+ /** @description Default parameter values applied to requests for this model, if any. */
1288
+ default_parameters?: {
1289
+ [key: string]: unknown
1290
+ }
1291
+ /**
1292
+ * @description Whether this model has been deprecated and may be removed.
1293
+ * @default false
1294
+ */
1295
+ is_deprecated: boolean
1296
+ /**
1297
+ * Format: date-time
1298
+ * @description Deprecation date for the model endpoint (null if not deprecated).
1299
+ */
1300
+ expiration_date?: string
1301
+ /**
1302
+ * @description Categorical tags assigned to the model by the platform (e.g., voice_agent, free, embedding).
1303
+ * @example [
1304
+ * "voice_agent",
1305
+ * "free"
1306
+ * ]
1307
+ */
1308
+ tags: string[]
1309
+ /** Format: date-time */
1310
+ created_at: string
1311
+ }
1312
+ ModelListResponse: {
1313
+ /** @enum {string} */
1314
+ object: "list"
1315
+ data: components["schemas"]["Model"][]
1316
+ }
1317
+ Org: {
1318
+ /** Format: uuid */
1319
+ id: string
1320
+ /** @enum {string} */
1321
+ object: "org"
1322
+ /** Format: uuid */
1323
+ created_by?: string
1324
+ name: string
1325
+ description?: string
1326
+ /** Format: uri */
1327
+ avatar_url?: string
1328
+ slug: string
1329
+ /** Format: date-time */
1330
+ created_at: string
1331
+ /** Format: date-time */
1332
+ updated_at: string
1333
+ }
1334
+ OrgListResponse: {
1335
+ data: components["schemas"]["Org"][]
1336
+ meta: components["schemas"]["OffsetMeta"]
1337
+ }
1338
+ OrgCreateRequest: {
1339
+ name: string
1340
+ description?: string
1341
+ slug: string
809
1342
  }
810
- UpdateTemplateRequest: {
1343
+ OrgUpdateRequest: {
811
1344
  name?: string
812
1345
  description?: string
1346
+ /** Format: uri */
1347
+ avatar_url?: string
1348
+ }
1349
+ /**
1350
+ * @description Hierarchy (highest to lowest): owner > admin > member > viewer.
1351
+ * @enum {string}
1352
+ */
1353
+ OrgMemberRole: "owner" | "admin" | "member" | "viewer"
1354
+ OrgMember: {
1355
+ /** Format: uuid */
1356
+ id: string
1357
+ /** @enum {string} */
1358
+ object: "org_member"
1359
+ /** Format: uuid */
1360
+ org_id: string
1361
+ /** Format: uuid */
1362
+ user_id: string
1363
+ role: components["schemas"]["OrgMemberRole"]
1364
+ /** Format: date-time */
1365
+ created_at: string
1366
+ /** Format: date-time */
1367
+ updated_at: string
1368
+ }
1369
+ OrgMemberListResponse: {
1370
+ data: components["schemas"]["OrgMember"][]
1371
+ meta: components["schemas"]["OffsetMeta"]
1372
+ }
1373
+ OrgMemberUpdateRequest: {
1374
+ role: components["schemas"]["OrgMemberRole"]
1375
+ }
1376
+ OrgInvitationCreateRequest: {
1377
+ /** Format: uuid */
1378
+ user_id?: string
1379
+ role: components["schemas"]["OrgInvitationRole"]
1380
+ }
1381
+ /** @enum {string} */
1382
+ WebhookScope: "agent" | "org"
1383
+ /** @enum {string} */
1384
+ WebhookEvent: "conversation.started" | "conversation.ended" | "conversation.message.created" | "agent.status.updated" | "agent.updated" | "agent.deleted"
1385
+ /** @enum {string} */
1386
+ WebhookDeliveryStatus: "pending" | "success" | "failed"
1387
+ Webhook: {
1388
+ /** Format: uuid */
1389
+ id: string
1390
+ /** @enum {string} */
1391
+ object: "webhook"
1392
+ scope: components["schemas"]["WebhookScope"]
1393
+ /** Format: uuid */
1394
+ agent_id?: string
1395
+ /** Format: uuid */
1396
+ org_id?: string
1397
+ active: boolean
1398
+ /** Format: uri */
1399
+ url: string
1400
+ /**
1401
+ * @default json
1402
+ * @enum {string}
1403
+ */
1404
+ content_type: "json" | "form"
1405
+ secret?: string
1406
+ events: components["schemas"]["WebhookEvent"][]
1407
+ /** Format: date-time */
1408
+ last_delivery_at?: string
1409
+ last_delivery_status?: components["schemas"]["WebhookDeliveryStatus"]
1410
+ /** Format: date-time */
1411
+ created_at: string
1412
+ /** Format: date-time */
1413
+ updated_at: string
1414
+ }
1415
+ WebhookListResponse: {
1416
+ data: components["schemas"]["Webhook"][]
1417
+ meta: components["schemas"]["OffsetMeta"]
1418
+ }
1419
+ WebhookCreateRequest: {
1420
+ /** Format: uri */
1421
+ url: string
1422
+ /**
1423
+ * @default json
1424
+ * @enum {string}
1425
+ */
1426
+ content_type: "json" | "form"
1427
+ secret?: string
1428
+ events: components["schemas"]["WebhookEvent"][]
1429
+ /** @default true */
1430
+ active: boolean
1431
+ }
1432
+ WebhookUpdateRequest: {
1433
+ /** Format: uri */
1434
+ url?: string
1435
+ /** @enum {string} */
1436
+ content_type?: "json" | "form"
1437
+ secret?: string
1438
+ events?: components["schemas"]["WebhookEvent"][]
1439
+ active?: boolean
1440
+ }
1441
+ AgentUpdateRequest: {
813
1442
  config?: components["schemas"]["AgentConfig"]
814
1443
  secrets?: components["schemas"]["AgentSecret"][]
815
- blueprint?: components["schemas"]["Blueprint"]
1444
+ blueprint?: components["schemas"]["AgentBlueprint"]
816
1445
  }
817
- TemplatePage: {
818
- items: components["schemas"]["Template"][]
819
- total: number
820
- limit: number
821
- page: number
1446
+ AgentUpdateStatusRequest: {
1447
+ status: components["schemas"]["AgentStatus"]
1448
+ }
1449
+ AgentLintRequest: {
1450
+ blueprint?: components["schemas"]["AgentBlueprint"]
1451
+ }
1452
+ AgentLintResponse: {
1453
+ errors: string[]
1454
+ }
1455
+ /** @enum {string} */
1456
+ ConversationMessageRole: "user" | "assistant" | "tool"
1457
+ ConversationToolCall: {
1458
+ /** @description The unique invocation ID assigned by the LLM for this specific tool call. Echoed back in the tool result message via tool_call_id. */
1459
+ id: string
1460
+ /** @description The name of the tool that was invoked. */
1461
+ name: string
1462
+ /** @description The parsed arguments the LLM passed to the tool. */
1463
+ arguments: {
1464
+ [key: string]: unknown
1465
+ }
1466
+ }
1467
+ ConversationMessage: {
1468
+ /** Format: uuid */
1469
+ id: string
1470
+ /** @enum {string} */
1471
+ object: "conversation_message"
1472
+ /** Format: uuid */
1473
+ conversation_id: string
1474
+ role: components["schemas"]["ConversationMessageRole"]
1475
+ /** @description The text content of the message. Always present for user and tool messages. May be empty for assistant messages that only contain tool_calls. */
1476
+ content?: string
1477
+ /** @description Only present when role is assistant and the model invoked one or more tools. Null or absent for all other roles. */
1478
+ tool_calls?: components["schemas"]["ConversationToolCall"][]
1479
+ /** @description Only present when role is tool. References the id field of the ConversationToolCall in the preceding assistant message that triggered this tool execution. */
1480
+ tool_call_id?: string
1481
+ /** Format: date-time */
1482
+ created_at: string
1483
+ }
1484
+ ConversationMessageListResponse: {
1485
+ data: components["schemas"]["ConversationMessage"][]
1486
+ meta: components["schemas"]["CursorMeta"]
822
1487
  }
1488
+ KnowledgeBaseUpdateRequest: {
1489
+ name?: string
1490
+ description?: string
1491
+ embedding_model?: string
1492
+ chunk_strategy?: components["schemas"]["KnowledgeBaseChunkStrategy"]
1493
+ }
1494
+ /**
1495
+ * @description How the document content was provided.
1496
+ * `file` uploaded binary (PDF, DOCX, TXT, etc.).
1497
+ * `url` fetched from a remote URL.
1498
+ * `raw_text` plain text submitted inline.
1499
+ * @enum {string}
1500
+ */
1501
+ KnowledgeBaseDocumentType: "file" | "url" | "raw_text"
823
1502
  /** @enum {string} */
824
- OrgTier: "free" | "enterprise"
1503
+ KnowledgeBaseIngestionStatus: "pending" | "processing" | "ready" | "failed"
1504
+ KnowledgeBaseDocument: {
1505
+ /** Format: uuid */
1506
+ id: string
1507
+ /** @enum {string} */
1508
+ object: "knowledge_base_document"
1509
+ /** Format: uuid */
1510
+ knowledge_base_id: string
1511
+ /** @description Original filename, URL, or user-provided label. */
1512
+ name: string
1513
+ source_type: components["schemas"]["KnowledgeBaseDocumentType"]
1514
+ /** @description The internal storage path or external URL. */
1515
+ source_uri?: string
1516
+ /** @description The MIME type of the document. */
1517
+ mime_type: string
1518
+ status: components["schemas"]["KnowledgeBaseIngestionStatus"]
1519
+ /** @description Present only when status is `failed`. */
1520
+ error_message?: string
1521
+ /** Format: int64 */
1522
+ size_bytes: number
1523
+ /** @description Number of chunks after processing. 0 until complete. */
1524
+ chunk_count: number
1525
+ /** Format: date-time */
1526
+ processed_at?: string
1527
+ /** Format: date-time */
1528
+ created_at: string
1529
+ /** Format: date-time */
1530
+ updated_at: string
1531
+ }
1532
+ KnowledgeBaseDocumentListResponse: {
1533
+ data: components["schemas"]["KnowledgeBaseDocument"][]
1534
+ meta: components["schemas"]["OffsetMeta"]
1535
+ }
1536
+ KnowledgeBaseDocumentCreateFromURLRequest: {
1537
+ /**
1538
+ * @description discriminator enum property added by openapi-typescript
1539
+ * @enum {string}
1540
+ */
1541
+ source_type: "url"
1542
+ name: string
1543
+ /** Format: uri */
1544
+ source_uri: string
1545
+ }
1546
+ KnowledgeBaseDocumentCreateFromTextRequest: {
1547
+ /**
1548
+ * @description discriminator enum property added by openapi-typescript
1549
+ * @enum {string}
1550
+ */
1551
+ source_type: "raw_text"
1552
+ name: string
1553
+ content: string
1554
+ }
1555
+ KnowledgeBaseDocumentCreateFromFileRequest: {
1556
+ /** @enum {string} */
1557
+ source_type: "file"
1558
+ name: string
1559
+ /** Format: binary */
1560
+ file: string
1561
+ }
1562
+ KnowledgeBaseQueryRequest: {
1563
+ query: string
1564
+ /** @default 3 */
1565
+ top_k: number
1566
+ }
1567
+ KnowledgeBaseQueryMatch: {
1568
+ content: string
1569
+ /** @description The JSONB metadata associated with this chunk. */
1570
+ metadata: {
1571
+ [key: string]: unknown
1572
+ }
1573
+ /**
1574
+ * Format: float
1575
+ * @description Cosine similarity score (closer to 1 is better depending on metric).
1576
+ */
1577
+ score: number
1578
+ }
1579
+ KnowledgeBaseQueryResponse: {
1580
+ data: components["schemas"]["KnowledgeBaseQueryMatch"][]
1581
+ }
825
1582
  };
826
1583
  responses: {
827
- /** @description Not authenticated. */
828
- Unauthorized: {
1584
+ /** @description An unexpected internal server error occurred */
1585
+ Internal: {
829
1586
  headers: {
830
1587
  [name: string]: unknown
831
1588
  }
@@ -833,8 +1590,8 @@ interface components {
833
1590
  "application/json": components["schemas"]["Error"]
834
1591
  }
835
1592
  }
836
- /** @description Insufficient permissions. */
837
- Forbidden: {
1593
+ /** @description Request body or parameters failed validation */
1594
+ BadRequest: {
838
1595
  headers: {
839
1596
  [name: string]: unknown
840
1597
  }
@@ -842,8 +1599,8 @@ interface components {
842
1599
  "application/json": components["schemas"]["Error"]
843
1600
  }
844
1601
  }
845
- /** @description Resource not found. */
846
- NotFound: {
1602
+ /** @description Resource already exists or state conflict */
1603
+ Conflict: {
847
1604
  headers: {
848
1605
  [name: string]: unknown
849
1606
  }
@@ -851,8 +1608,8 @@ interface components {
851
1608
  "application/json": components["schemas"]["Error"]
852
1609
  }
853
1610
  }
854
- /** @description Resource already exists or state conflict. */
855
- Conflict: {
1611
+ /** @description Not authenticated */
1612
+ Unauthorized: {
856
1613
  headers: {
857
1614
  [name: string]: unknown
858
1615
  }
@@ -860,8 +1617,8 @@ interface components {
860
1617
  "application/json": components["schemas"]["Error"]
861
1618
  }
862
1619
  }
863
- /** @description Request body failed validation. */
864
- UnprocessableEntity: {
1620
+ /** @description Resource not found */
1621
+ NotFound: {
865
1622
  headers: {
866
1623
  [name: string]: unknown
867
1624
  }
@@ -869,8 +1626,8 @@ interface components {
869
1626
  "application/json": components["schemas"]["Error"]
870
1627
  }
871
1628
  }
872
- /** @description An unexpected error occurred. */
873
- DefaultError: {
1629
+ /** @description Insufficient permissions */
1630
+ Forbidden: {
874
1631
  headers: {
875
1632
  [name: string]: unknown
876
1633
  }
@@ -879,174 +1636,804 @@ interface components {
879
1636
  }
880
1637
  }
881
1638
  };
882
- parameters: {
883
- /** @description URL-safe organization identifier. */
884
- OrgSlug: string
885
- AgentID: string
886
- KeyID: string
887
- ConversationID: string
888
- TemplateID: string
889
- UserID: string
890
- LimitParam: number
891
- PageParam: number
892
- /** @description Opaque cursor returned in the previous response's `next_cursor`. */
893
- AfterParam: string
894
- /** @description Full-text search filter. */
895
- SearchParam: string
896
- };
897
- requestBodies: never;
898
- headers: never;
899
- pathItems: never;
900
- }
901
- interface operations {
902
- signup: {
1639
+ parameters: never;
1640
+ requestBodies: never;
1641
+ headers: never;
1642
+ pathItems: never;
1643
+ }
1644
+ interface operations {
1645
+ createRegistration: {
1646
+ parameters: {
1647
+ query?: never
1648
+ header: {
1649
+ /** @description Cloudflare Turnstile challenge token. */
1650
+ "X-Turnstile-Token": string
1651
+ }
1652
+ path?: never
1653
+ cookie?: never
1654
+ }
1655
+ requestBody: {
1656
+ content: {
1657
+ "application/json": components["schemas"]["AuthSignupRequest"]
1658
+ }
1659
+ }
1660
+ responses: {
1661
+ /** @description Account created. Session cookie set in `Set-Cookie`. */
1662
+ 201: {
1663
+ headers: {
1664
+ "Set-Cookie"?: string
1665
+ [name: string]: unknown
1666
+ }
1667
+ content: {
1668
+ "application/json": components["schemas"]["AuthSessionResponse"]
1669
+ }
1670
+ }
1671
+ 400: components["responses"]["BadRequest"]
1672
+ 409: components["responses"]["Conflict"]
1673
+ default: components["responses"]["Internal"]
1674
+ }
1675
+ };
1676
+ createSession: {
1677
+ parameters: {
1678
+ query?: never
1679
+ header: {
1680
+ "X-Turnstile-Token": string
1681
+ }
1682
+ path?: never
1683
+ cookie?: never
1684
+ }
1685
+ requestBody: {
1686
+ content: {
1687
+ "application/json": components["schemas"]["AuthSigninRequest"]
1688
+ }
1689
+ }
1690
+ responses: {
1691
+ /** @description Session created. Cookie set in `Set-Cookie`. */
1692
+ 201: {
1693
+ headers: {
1694
+ "Set-Cookie"?: string
1695
+ [name: string]: unknown
1696
+ }
1697
+ content: {
1698
+ "application/json": components["schemas"]["AuthSessionResponse"]
1699
+ }
1700
+ }
1701
+ 400: components["responses"]["BadRequest"]
1702
+ 401: components["responses"]["Unauthorized"]
1703
+ default: components["responses"]["Internal"]
1704
+ }
1705
+ };
1706
+ revokeAllSessions: {
1707
+ parameters: {
1708
+ query?: never
1709
+ header?: never
1710
+ path?: never
1711
+ cookie?: never
1712
+ }
1713
+ requestBody?: never
1714
+ responses: {
1715
+ /** @description All sessions revoked. */
1716
+ 204: {
1717
+ headers: {
1718
+ [name: string]: unknown
1719
+ }
1720
+ content?: never
1721
+ }
1722
+ 401: components["responses"]["Unauthorized"]
1723
+ default: components["responses"]["Internal"]
1724
+ }
1725
+ };
1726
+ revokeCurrentSession: {
1727
+ parameters: {
1728
+ query?: never
1729
+ header?: never
1730
+ path?: never
1731
+ cookie?: never
1732
+ }
1733
+ requestBody?: never
1734
+ responses: {
1735
+ /** @description Session revoked. */
1736
+ 204: {
1737
+ headers: {
1738
+ [name: string]: unknown
1739
+ }
1740
+ content?: never
1741
+ }
1742
+ 401: components["responses"]["Unauthorized"]
1743
+ default: components["responses"]["Internal"]
1744
+ }
1745
+ };
1746
+ createPasswordRecovery: {
1747
+ parameters: {
1748
+ query?: never
1749
+ header: {
1750
+ "X-Turnstile-Token": string
1751
+ }
1752
+ path?: never
1753
+ cookie?: never
1754
+ }
1755
+ requestBody: {
1756
+ content: {
1757
+ "application/json": components["schemas"]["AuthPasswordRecoverRequest"]
1758
+ }
1759
+ }
1760
+ responses: {
1761
+ /** @description Reset email sent (or silently dropped if not found). */
1762
+ 204: {
1763
+ headers: {
1764
+ [name: string]: unknown
1765
+ }
1766
+ content?: never
1767
+ }
1768
+ 400: components["responses"]["BadRequest"]
1769
+ default: components["responses"]["Internal"]
1770
+ }
1771
+ };
1772
+ createPasswordReset: {
1773
+ parameters: {
1774
+ query?: never
1775
+ header?: never
1776
+ path?: never
1777
+ cookie?: never
1778
+ }
1779
+ requestBody: {
1780
+ content: {
1781
+ "application/json": components["schemas"]["AuthPasswordResetRequest"]
1782
+ }
1783
+ }
1784
+ responses: {
1785
+ /** @description Password updated. All sessions revoked. */
1786
+ 204: {
1787
+ headers: {
1788
+ [name: string]: unknown
1789
+ }
1790
+ content?: never
1791
+ }
1792
+ 400: components["responses"]["BadRequest"]
1793
+ default: components["responses"]["Internal"]
1794
+ }
1795
+ };
1796
+ listAPIKeys: {
1797
+ parameters: {
1798
+ query?: {
1799
+ limit?: number
1800
+ page?: number
1801
+ }
1802
+ header?: never
1803
+ path?: never
1804
+ cookie?: never
1805
+ }
1806
+ requestBody?: never
1807
+ responses: {
1808
+ /** @description OK */
1809
+ 200: {
1810
+ headers: {
1811
+ [name: string]: unknown
1812
+ }
1813
+ content: {
1814
+ "application/json": components["schemas"]["APIKeyListResponse"]
1815
+ }
1816
+ }
1817
+ 401: components["responses"]["Unauthorized"]
1818
+ default: components["responses"]["Internal"]
1819
+ }
1820
+ };
1821
+ createAPIKey: {
1822
+ parameters: {
1823
+ query?: never
1824
+ header?: never
1825
+ path?: never
1826
+ cookie?: never
1827
+ }
1828
+ requestBody: {
1829
+ content: {
1830
+ "application/json": components["schemas"]["APIKeyCreateRequest"]
1831
+ }
1832
+ }
1833
+ responses: {
1834
+ /** @description Key created. The `key` field contains the full raw value and will not be returned again. */
1835
+ 201: {
1836
+ headers: {
1837
+ [name: string]: unknown
1838
+ }
1839
+ content: {
1840
+ "application/json": components["schemas"]["APIKeyCreateResponse"]
1841
+ }
1842
+ }
1843
+ 400: components["responses"]["BadRequest"]
1844
+ 401: components["responses"]["Unauthorized"]
1845
+ default: components["responses"]["Internal"]
1846
+ }
1847
+ };
1848
+ revokeAPIKey: {
1849
+ parameters: {
1850
+ query?: never
1851
+ header?: never
1852
+ path: {
1853
+ key_id: string
1854
+ }
1855
+ cookie?: never
1856
+ }
1857
+ requestBody?: never
1858
+ responses: {
1859
+ /** @description Key revoked. */
1860
+ 204: {
1861
+ headers: {
1862
+ [name: string]: unknown
1863
+ }
1864
+ content?: never
1865
+ }
1866
+ 401: components["responses"]["Unauthorized"]
1867
+ 404: components["responses"]["NotFound"]
1868
+ default: components["responses"]["Internal"]
1869
+ }
1870
+ };
1871
+ getUser: {
1872
+ parameters: {
1873
+ query?: never
1874
+ header?: never
1875
+ path?: never
1876
+ cookie?: never
1877
+ }
1878
+ requestBody?: never
1879
+ responses: {
1880
+ /** @description OK */
1881
+ 200: {
1882
+ headers: {
1883
+ [name: string]: unknown
1884
+ }
1885
+ content: {
1886
+ "application/json": components["schemas"]["User"]
1887
+ }
1888
+ }
1889
+ 401: components["responses"]["Unauthorized"]
1890
+ default: components["responses"]["Internal"]
1891
+ }
1892
+ };
1893
+ deleteUser: {
1894
+ parameters: {
1895
+ query?: never
1896
+ header?: never
1897
+ path?: never
1898
+ cookie?: never
1899
+ }
1900
+ requestBody?: never
1901
+ responses: {
1902
+ /** @description Account deleted. */
1903
+ 204: {
1904
+ headers: {
1905
+ [name: string]: unknown
1906
+ }
1907
+ content?: never
1908
+ }
1909
+ 401: components["responses"]["Unauthorized"]
1910
+ default: components["responses"]["Internal"]
1911
+ }
1912
+ };
1913
+ updateUser: {
1914
+ parameters: {
1915
+ query?: never
1916
+ header?: never
1917
+ path?: never
1918
+ cookie?: never
1919
+ }
1920
+ requestBody: {
1921
+ content: {
1922
+ "application/json": components["schemas"]["UserUpdateRequest"]
1923
+ }
1924
+ }
1925
+ responses: {
1926
+ /** @description Updated. */
1927
+ 200: {
1928
+ headers: {
1929
+ [name: string]: unknown
1930
+ }
1931
+ content: {
1932
+ "application/json": components["schemas"]["User"]
1933
+ }
1934
+ }
1935
+ 400: components["responses"]["BadRequest"]
1936
+ 401: components["responses"]["Unauthorized"]
1937
+ default: components["responses"]["Internal"]
1938
+ }
1939
+ };
1940
+ updateUserEmail: {
1941
+ parameters: {
1942
+ query?: never
1943
+ header?: never
1944
+ path?: never
1945
+ cookie?: never
1946
+ }
1947
+ requestBody: {
1948
+ content: {
1949
+ "application/json": components["schemas"]["UserUpdateEmailRequest"]
1950
+ }
1951
+ }
1952
+ responses: {
1953
+ /** @description Email updated. */
1954
+ 200: {
1955
+ headers: {
1956
+ [name: string]: unknown
1957
+ }
1958
+ content: {
1959
+ "application/json": components["schemas"]["User"]
1960
+ }
1961
+ }
1962
+ 400: components["responses"]["BadRequest"]
1963
+ 401: components["responses"]["Unauthorized"]
1964
+ 409: components["responses"]["Conflict"]
1965
+ default: components["responses"]["Internal"]
1966
+ }
1967
+ };
1968
+ listUserAgents: {
1969
+ parameters: {
1970
+ query?: {
1971
+ limit?: number
1972
+ page?: number
1973
+ search?: string
1974
+ }
1975
+ header?: never
1976
+ path?: never
1977
+ cookie?: never
1978
+ }
1979
+ requestBody?: never
1980
+ responses: {
1981
+ /** @description OK */
1982
+ 200: {
1983
+ headers: {
1984
+ [name: string]: unknown
1985
+ }
1986
+ content: {
1987
+ "application/json": components["schemas"]["AgentListResponse"]
1988
+ }
1989
+ }
1990
+ 401: components["responses"]["Unauthorized"]
1991
+ default: components["responses"]["Internal"]
1992
+ }
1993
+ };
1994
+ createUserAgent: {
1995
+ parameters: {
1996
+ query?: never
1997
+ header?: never
1998
+ path?: never
1999
+ cookie?: never
2000
+ }
2001
+ requestBody: {
2002
+ content: {
2003
+ "application/json": components["schemas"]["AgentCreateRequest"]
2004
+ }
2005
+ }
2006
+ responses: {
2007
+ /** @description Agent created. */
2008
+ 201: {
2009
+ headers: {
2010
+ [name: string]: unknown
2011
+ }
2012
+ content: {
2013
+ "application/json": components["schemas"]["Agent"]
2014
+ }
2015
+ }
2016
+ 400: components["responses"]["BadRequest"]
2017
+ 401: components["responses"]["Unauthorized"]
2018
+ default: components["responses"]["Internal"]
2019
+ }
2020
+ };
2021
+ listUserConversations: {
2022
+ parameters: {
2023
+ query?: {
2024
+ limit?: number
2025
+ /** @description Cursor for pagination */
2026
+ cursor?: string
2027
+ }
2028
+ header?: never
2029
+ path?: never
2030
+ cookie?: never
2031
+ }
2032
+ requestBody?: never
2033
+ responses: {
2034
+ /** @description OK */
2035
+ 200: {
2036
+ headers: {
2037
+ [name: string]: unknown
2038
+ }
2039
+ content: {
2040
+ "application/json": components["schemas"]["ConversationListResponse"]
2041
+ }
2042
+ }
2043
+ 401: components["responses"]["Unauthorized"]
2044
+ default: components["responses"]["Internal"]
2045
+ }
2046
+ };
2047
+ listUserKnowledgeBases: {
2048
+ parameters: {
2049
+ query?: {
2050
+ limit?: number
2051
+ page?: number
2052
+ }
2053
+ header?: never
2054
+ path?: never
2055
+ cookie?: never
2056
+ }
2057
+ requestBody?: never
2058
+ responses: {
2059
+ /** @description OK */
2060
+ 200: {
2061
+ headers: {
2062
+ [name: string]: unknown
2063
+ }
2064
+ content: {
2065
+ "application/json": components["schemas"]["KnowledgeBaseListResponse"]
2066
+ }
2067
+ }
2068
+ 401: components["responses"]["Unauthorized"]
2069
+ default: components["responses"]["Internal"]
2070
+ }
2071
+ };
2072
+ createUserKnowledgeBase: {
2073
+ parameters: {
2074
+ query?: never
2075
+ header?: never
2076
+ path?: never
2077
+ cookie?: never
2078
+ }
2079
+ requestBody: {
2080
+ content: {
2081
+ "application/json": components["schemas"]["KnowledgeBaseCreateRequest"]
2082
+ }
2083
+ }
2084
+ responses: {
2085
+ /** @description Knowledge base created. */
2086
+ 201: {
2087
+ headers: {
2088
+ [name: string]: unknown
2089
+ }
2090
+ content: {
2091
+ "application/json": components["schemas"]["KnowledgeBase"]
2092
+ }
2093
+ }
2094
+ 400: components["responses"]["BadRequest"]
2095
+ 401: components["responses"]["Unauthorized"]
2096
+ default: components["responses"]["Internal"]
2097
+ }
2098
+ };
2099
+ listUserInvitations: {
2100
+ parameters: {
2101
+ query?: {
2102
+ limit?: number
2103
+ page?: number
2104
+ }
2105
+ header?: never
2106
+ path?: never
2107
+ cookie?: never
2108
+ }
2109
+ requestBody?: never
2110
+ responses: {
2111
+ /** @description OK */
2112
+ 200: {
2113
+ headers: {
2114
+ [name: string]: unknown
2115
+ }
2116
+ content: {
2117
+ "application/json": components["schemas"]["OrgInvitationListResponse"]
2118
+ }
2119
+ }
2120
+ 401: components["responses"]["Unauthorized"]
2121
+ default: components["responses"]["Internal"]
2122
+ }
2123
+ };
2124
+ updateUserInvitation: {
2125
+ parameters: {
2126
+ query?: never
2127
+ header?: never
2128
+ path: {
2129
+ invitation_id: string
2130
+ }
2131
+ cookie?: never
2132
+ }
2133
+ requestBody: {
2134
+ content: {
2135
+ "application/json": components["schemas"]["OrgInvitationStateUpdateRequest"]
2136
+ }
2137
+ }
2138
+ responses: {
2139
+ /** @description State updated. */
2140
+ 200: {
2141
+ headers: {
2142
+ [name: string]: unknown
2143
+ }
2144
+ content: {
2145
+ "application/json": components["schemas"]["OrgInvitation"]
2146
+ }
2147
+ }
2148
+ 400: components["responses"]["BadRequest"]
2149
+ 401: components["responses"]["Unauthorized"]
2150
+ 404: components["responses"]["NotFound"]
2151
+ default: components["responses"]["Internal"]
2152
+ }
2153
+ };
2154
+ listModels: {
2155
+ parameters: {
2156
+ query?: {
2157
+ /** @description Filter models by name or id. */
2158
+ search?: string
2159
+ /** @description Filter models by capabilities (e.g. "llm", "embedding", "free"). */
2160
+ tags?: string[]
2161
+ }
2162
+ header?: never
2163
+ path?: never
2164
+ cookie?: never
2165
+ }
2166
+ requestBody?: never
2167
+ responses: {
2168
+ /** @description OK */
2169
+ 200: {
2170
+ headers: {
2171
+ [name: string]: unknown
2172
+ }
2173
+ content: {
2174
+ "application/json": components["schemas"]["ModelListResponse"]
2175
+ }
2176
+ }
2177
+ 401: components["responses"]["Unauthorized"]
2178
+ default: components["responses"]["Internal"]
2179
+ }
2180
+ };
2181
+ getModel: {
903
2182
  parameters: {
904
2183
  query?: never
905
- header: {
906
- /** @description Cloudflare Turnstile challenge token. */
907
- "X-Turnstile-Token": string
2184
+ header?: never
2185
+ path: {
2186
+ /** @description Permanent slug for the model that never changes. */
2187
+ model_slug: string
908
2188
  }
909
- path?: never
910
2189
  cookie?: never
911
2190
  }
912
- requestBody: {
913
- content: {
914
- "application/json": components["schemas"]["SignupRequest"]
2191
+ requestBody?: never
2192
+ responses: {
2193
+ /** @description OK */
2194
+ 200: {
2195
+ headers: {
2196
+ [name: string]: unknown
2197
+ }
2198
+ content: {
2199
+ "application/json": components["schemas"]["Model"]
2200
+ }
2201
+ }
2202
+ 401: components["responses"]["Unauthorized"]
2203
+ 404: components["responses"]["NotFound"]
2204
+ default: components["responses"]["Internal"]
2205
+ }
2206
+ };
2207
+ listOrgs: {
2208
+ parameters: {
2209
+ query?: {
2210
+ limit?: number
2211
+ page?: number
915
2212
  }
2213
+ header?: never
2214
+ path?: never
2215
+ cookie?: never
916
2216
  }
2217
+ requestBody?: never
917
2218
  responses: {
918
- /** @description Account created. Session cookie is set in `Set-Cookie`. */
919
- 201: {
2219
+ /** @description OK */
2220
+ 200: {
920
2221
  headers: {
921
- "Set-Cookie"?: string
922
2222
  [name: string]: unknown
923
2223
  }
924
2224
  content: {
925
- "application/json": components["schemas"]["AuthSessionResponse"]
2225
+ "application/json": components["schemas"]["OrgListResponse"]
926
2226
  }
927
2227
  }
928
- default: components["responses"]["DefaultError"]
2228
+ 401: components["responses"]["Unauthorized"]
2229
+ default: components["responses"]["Internal"]
929
2230
  }
930
2231
  };
931
- createSession: {
2232
+ createOrg: {
932
2233
  parameters: {
933
2234
  query?: never
934
- header: {
935
- "X-Turnstile-Token": string
936
- }
2235
+ header?: never
937
2236
  path?: never
938
2237
  cookie?: never
939
2238
  }
940
2239
  requestBody: {
941
2240
  content: {
942
- "application/json": components["schemas"]["LoginRequest"]
2241
+ "application/json": components["schemas"]["OrgCreateRequest"]
943
2242
  }
944
2243
  }
945
2244
  responses: {
946
- /** @description Session created. Session cookie is set in `Set-Cookie`. */
2245
+ /** @description Organization created. */
947
2246
  201: {
948
2247
  headers: {
949
- "Set-Cookie"?: string
950
2248
  [name: string]: unknown
951
2249
  }
952
2250
  content: {
953
- "application/json": components["schemas"]["AuthSessionResponse"]
2251
+ "application/json": components["schemas"]["Org"]
954
2252
  }
955
2253
  }
956
- default: components["responses"]["DefaultError"]
2254
+ 400: components["responses"]["BadRequest"]
2255
+ 401: components["responses"]["Unauthorized"]
2256
+ 409: components["responses"]["Conflict"]
2257
+ default: components["responses"]["Internal"]
957
2258
  }
958
2259
  };
959
- revokeAllSessions: {
2260
+ getOrg: {
960
2261
  parameters: {
961
2262
  query?: never
962
2263
  header?: never
963
- path?: never
2264
+ path: {
2265
+ org_slug: string
2266
+ }
964
2267
  cookie?: never
965
2268
  }
966
2269
  requestBody?: never
967
2270
  responses: {
968
- /** @description All sessions revoked. */
969
- 204: {
2271
+ /** @description OK */
2272
+ 200: {
970
2273
  headers: {
971
2274
  [name: string]: unknown
972
2275
  }
973
- content?: never
2276
+ content: {
2277
+ "application/json": components["schemas"]["Org"]
2278
+ }
974
2279
  }
975
- default: components["responses"]["DefaultError"]
2280
+ 401: components["responses"]["Unauthorized"]
2281
+ 403: components["responses"]["Forbidden"]
2282
+ 404: components["responses"]["NotFound"]
2283
+ default: components["responses"]["Internal"]
976
2284
  }
977
2285
  };
978
- revokeSession: {
2286
+ deleteOrg: {
979
2287
  parameters: {
980
2288
  query?: never
981
2289
  header?: never
982
- path?: never
2290
+ path: {
2291
+ org_slug: string
2292
+ }
983
2293
  cookie?: never
984
2294
  }
985
2295
  requestBody?: never
986
2296
  responses: {
987
- /** @description Session revoked. */
2297
+ /** @description Organization deleted. */
988
2298
  204: {
989
2299
  headers: {
990
2300
  [name: string]: unknown
991
2301
  }
992
2302
  content?: never
993
2303
  }
994
- default: components["responses"]["DefaultError"]
2304
+ 401: components["responses"]["Unauthorized"]
2305
+ 403: components["responses"]["Forbidden"]
2306
+ 404: components["responses"]["NotFound"]
2307
+ default: components["responses"]["Internal"]
995
2308
  }
996
2309
  };
997
- recoverPassword: {
2310
+ updateOrg: {
998
2311
  parameters: {
999
2312
  query?: never
1000
- header: {
1001
- "X-Turnstile-Token": string
2313
+ header?: never
2314
+ path: {
2315
+ org_slug: string
1002
2316
  }
1003
- path?: never
1004
2317
  cookie?: never
1005
2318
  }
1006
2319
  requestBody: {
1007
2320
  content: {
1008
- "application/json": components["schemas"]["RecoverPasswordRequest"]
2321
+ "application/json": components["schemas"]["OrgUpdateRequest"]
2322
+ }
2323
+ }
2324
+ responses: {
2325
+ /** @description Updated. */
2326
+ 200: {
2327
+ headers: {
2328
+ [name: string]: unknown
2329
+ }
2330
+ content: {
2331
+ "application/json": components["schemas"]["Org"]
2332
+ }
2333
+ }
2334
+ 400: components["responses"]["BadRequest"]
2335
+ 401: components["responses"]["Unauthorized"]
2336
+ 403: components["responses"]["Forbidden"]
2337
+ 404: components["responses"]["NotFound"]
2338
+ default: components["responses"]["Internal"]
2339
+ }
2340
+ };
2341
+ listOrgMembers: {
2342
+ parameters: {
2343
+ query?: {
2344
+ limit?: number
2345
+ page?: number
2346
+ }
2347
+ header?: never
2348
+ path: {
2349
+ org_slug: string
2350
+ }
2351
+ cookie?: never
2352
+ }
2353
+ requestBody?: never
2354
+ responses: {
2355
+ /** @description OK */
2356
+ 200: {
2357
+ headers: {
2358
+ [name: string]: unknown
2359
+ }
2360
+ content: {
2361
+ "application/json": components["schemas"]["OrgMemberListResponse"]
2362
+ }
2363
+ }
2364
+ 401: components["responses"]["Unauthorized"]
2365
+ 403: components["responses"]["Forbidden"]
2366
+ 404: components["responses"]["NotFound"]
2367
+ default: components["responses"]["Internal"]
2368
+ }
2369
+ };
2370
+ removeOrgMember: {
2371
+ parameters: {
2372
+ query?: never
2373
+ header?: never
2374
+ path: {
2375
+ org_slug: string
2376
+ user_id: string
1009
2377
  }
2378
+ cookie?: never
1010
2379
  }
2380
+ requestBody?: never
1011
2381
  responses: {
1012
- /** @description Reset email sent (or silently dropped if email not found). */
2382
+ /** @description Member removed. */
1013
2383
  204: {
1014
2384
  headers: {
1015
2385
  [name: string]: unknown
1016
2386
  }
1017
2387
  content?: never
1018
2388
  }
1019
- default: components["responses"]["DefaultError"]
2389
+ 401: components["responses"]["Unauthorized"]
2390
+ 403: components["responses"]["Forbidden"]
2391
+ 404: components["responses"]["NotFound"]
2392
+ default: components["responses"]["Internal"]
1020
2393
  }
1021
2394
  };
1022
- resetPassword: {
2395
+ updateOrgMember: {
1023
2396
  parameters: {
1024
2397
  query?: never
1025
2398
  header?: never
1026
- path?: never
2399
+ path: {
2400
+ org_slug: string
2401
+ user_id: string
2402
+ }
1027
2403
  cookie?: never
1028
2404
  }
1029
2405
  requestBody: {
1030
2406
  content: {
1031
- "application/json": components["schemas"]["ResetPasswordRequest"]
2407
+ "application/json": components["schemas"]["OrgMemberUpdateRequest"]
1032
2408
  }
1033
2409
  }
1034
2410
  responses: {
1035
- /** @description Password updated; all sessions revoked. */
1036
- 204: {
2411
+ /** @description Updated. */
2412
+ 200: {
1037
2413
  headers: {
1038
2414
  [name: string]: unknown
1039
2415
  }
1040
- content?: never
2416
+ content: {
2417
+ "application/json": components["schemas"]["OrgMember"]
2418
+ }
1041
2419
  }
1042
- default: components["responses"]["DefaultError"]
2420
+ 400: components["responses"]["BadRequest"]
2421
+ 401: components["responses"]["Unauthorized"]
2422
+ 403: components["responses"]["Forbidden"]
2423
+ 404: components["responses"]["NotFound"]
2424
+ default: components["responses"]["Internal"]
1043
2425
  }
1044
2426
  };
1045
- listAPIKeys: {
2427
+ listOrgInvitations: {
1046
2428
  parameters: {
1047
- query?: never
2429
+ query?: {
2430
+ limit?: number
2431
+ page?: number
2432
+ }
1048
2433
  header?: never
1049
- path?: never
2434
+ path: {
2435
+ org_slug: string
2436
+ }
1050
2437
  cookie?: never
1051
2438
  }
1052
2439
  requestBody?: never
@@ -1057,66 +2444,83 @@ interface operations {
1057
2444
  [name: string]: unknown
1058
2445
  }
1059
2446
  content: {
1060
- "application/json": components["schemas"]["AuthAPIKey"][]
2447
+ "application/json": components["schemas"]["OrgInvitationListResponse"]
1061
2448
  }
1062
2449
  }
1063
- default: components["responses"]["DefaultError"]
2450
+ 401: components["responses"]["Unauthorized"]
2451
+ 403: components["responses"]["Forbidden"]
2452
+ 404: components["responses"]["NotFound"]
2453
+ default: components["responses"]["Internal"]
1064
2454
  }
1065
2455
  };
1066
- createAPIKey: {
2456
+ createOrgInvitation: {
1067
2457
  parameters: {
1068
2458
  query?: never
1069
2459
  header?: never
1070
- path?: never
2460
+ path: {
2461
+ org_slug: string
2462
+ }
1071
2463
  cookie?: never
1072
2464
  }
1073
2465
  requestBody: {
1074
2466
  content: {
1075
- "application/json": components["schemas"]["CreateAPIKeyRequest"]
2467
+ "application/json": components["schemas"]["OrgInvitationCreateRequest"]
1076
2468
  }
1077
2469
  }
1078
2470
  responses: {
1079
- /**
1080
- * @description API key created. The `key` field contains the full raw value.
1081
- * It will **not** be returned again.
1082
- */
2471
+ /** @description Invitation created. */
1083
2472
  201: {
1084
2473
  headers: {
1085
2474
  [name: string]: unknown
1086
2475
  }
1087
2476
  content: {
1088
- "application/json": components["schemas"]["AuthAPIKeyResponse"]
2477
+ "application/json": components["schemas"]["OrgInvitation"]
1089
2478
  }
1090
2479
  }
1091
- default: components["responses"]["DefaultError"]
2480
+ 400: components["responses"]["BadRequest"]
2481
+ 401: components["responses"]["Unauthorized"]
2482
+ 403: components["responses"]["Forbidden"]
2483
+ 404: components["responses"]["NotFound"]
2484
+ 409: components["responses"]["Conflict"]
2485
+ default: components["responses"]["Internal"]
1092
2486
  }
1093
2487
  };
1094
- revokeAPIKey: {
2488
+ cancelOrgInvitation: {
1095
2489
  parameters: {
1096
2490
  query?: never
1097
2491
  header?: never
1098
2492
  path: {
1099
- keyID: components["parameters"]["KeyID"]
2493
+ org_slug: string
2494
+ invitation_id: string
1100
2495
  }
1101
2496
  cookie?: never
1102
2497
  }
1103
2498
  requestBody?: never
1104
2499
  responses: {
1105
- /** @description Key revoked. */
2500
+ /** @description Invitation cancelled. */
1106
2501
  204: {
1107
2502
  headers: {
1108
2503
  [name: string]: unknown
1109
2504
  }
1110
2505
  content?: never
1111
2506
  }
1112
- default: components["responses"]["DefaultError"]
2507
+ 401: components["responses"]["Unauthorized"]
2508
+ 403: components["responses"]["Forbidden"]
2509
+ 404: components["responses"]["NotFound"]
2510
+ default: components["responses"]["Internal"]
1113
2511
  }
1114
2512
  };
1115
- getMe: {
2513
+ listOrgAgents: {
1116
2514
  parameters: {
1117
- query?: never
2515
+ query?: {
2516
+ limit?: number
2517
+ page?: number
2518
+ search?: string
2519
+ }
1118
2520
  header?: never
1119
- path?: never
2521
+ path: {
2522
+ org_slug: string
2523
+ }
1120
2524
  cookie?: never
1121
2525
  }
1122
2526
  requestBody?: never
@@ -1127,86 +2531,116 @@ interface operations {
1127
2531
  [name: string]: unknown
1128
2532
  }
1129
2533
  content: {
1130
- "application/json": components["schemas"]["User"]
2534
+ "application/json": components["schemas"]["AgentListResponse"]
1131
2535
  }
1132
2536
  }
1133
- default: components["responses"]["DefaultError"]
2537
+ 401: components["responses"]["Unauthorized"]
2538
+ 403: components["responses"]["Forbidden"]
2539
+ 404: components["responses"]["NotFound"]
2540
+ default: components["responses"]["Internal"]
1134
2541
  }
1135
2542
  };
1136
- deleteMe: {
2543
+ createOrgAgent: {
1137
2544
  parameters: {
1138
2545
  query?: never
1139
2546
  header?: never
1140
- path?: never
2547
+ path: {
2548
+ org_slug: string
2549
+ }
1141
2550
  cookie?: never
1142
2551
  }
1143
- requestBody?: never
2552
+ requestBody: {
2553
+ content: {
2554
+ "application/json": components["schemas"]["AgentCreateRequest"]
2555
+ }
2556
+ }
1144
2557
  responses: {
1145
- /** @description Account deleted. */
1146
- 204: {
2558
+ /** @description Agent created. */
2559
+ 201: {
1147
2560
  headers: {
1148
2561
  [name: string]: unknown
1149
2562
  }
1150
- content?: never
2563
+ content: {
2564
+ "application/json": components["schemas"]["Agent"]
2565
+ }
1151
2566
  }
1152
- default: components["responses"]["DefaultError"]
2567
+ 400: components["responses"]["BadRequest"]
2568
+ 401: components["responses"]["Unauthorized"]
2569
+ 403: components["responses"]["Forbidden"]
2570
+ 404: components["responses"]["NotFound"]
2571
+ default: components["responses"]["Internal"]
1153
2572
  }
1154
2573
  };
1155
- updateMe: {
2574
+ listOrgKnowledgeBases: {
1156
2575
  parameters: {
1157
- query?: never
2576
+ query?: {
2577
+ limit?: number
2578
+ page?: number
2579
+ }
1158
2580
  header?: never
1159
- path?: never
1160
- cookie?: never
1161
- }
1162
- requestBody: {
1163
- content: {
1164
- "application/json": components["schemas"]["UpdateUserRequest"]
2581
+ path: {
2582
+ org_slug: string
1165
2583
  }
2584
+ cookie?: never
1166
2585
  }
2586
+ requestBody?: never
1167
2587
  responses: {
1168
- /** @description Updated. */
2588
+ /** @description OK */
1169
2589
  200: {
1170
2590
  headers: {
1171
2591
  [name: string]: unknown
1172
2592
  }
1173
2593
  content: {
1174
- "application/json": components["schemas"]["User"]
2594
+ "application/json": components["schemas"]["KnowledgeBaseListResponse"]
1175
2595
  }
1176
2596
  }
1177
- default: components["responses"]["DefaultError"]
2597
+ 401: components["responses"]["Unauthorized"]
2598
+ 403: components["responses"]["Forbidden"]
2599
+ 404: components["responses"]["NotFound"]
2600
+ default: components["responses"]["Internal"]
1178
2601
  }
1179
2602
  };
1180
- updateMyEmail: {
2603
+ createOrgKnowledgeBase: {
1181
2604
  parameters: {
1182
2605
  query?: never
1183
2606
  header?: never
1184
- path?: never
2607
+ path: {
2608
+ org_slug: string
2609
+ }
1185
2610
  cookie?: never
1186
2611
  }
1187
2612
  requestBody: {
1188
2613
  content: {
1189
- "application/json": components["schemas"]["UpdateEmailRequest"]
2614
+ "application/json": components["schemas"]["KnowledgeBaseCreateRequest"]
1190
2615
  }
1191
2616
  }
1192
2617
  responses: {
1193
- /** @description Email updated. */
1194
- 200: {
2618
+ /** @description Knowledge base created. */
2619
+ 201: {
1195
2620
  headers: {
1196
2621
  [name: string]: unknown
1197
2622
  }
1198
2623
  content: {
1199
- "application/json": components["schemas"]["User"]
2624
+ "application/json": components["schemas"]["KnowledgeBase"]
1200
2625
  }
1201
2626
  }
1202
- default: components["responses"]["DefaultError"]
2627
+ 400: components["responses"]["BadRequest"]
2628
+ 401: components["responses"]["Unauthorized"]
2629
+ 403: components["responses"]["Forbidden"]
2630
+ 404: components["responses"]["NotFound"]
2631
+ default: components["responses"]["Internal"]
1203
2632
  }
1204
2633
  };
1205
- listOrgs: {
2634
+ listOrgWebhooks: {
1206
2635
  parameters: {
1207
- query?: never
2636
+ query?: {
2637
+ limit?: number
2638
+ page?: number
2639
+ }
1208
2640
  header?: never
1209
- path?: never
2641
+ path: {
2642
+ org_slug: string
2643
+ }
1210
2644
  cookie?: never
1211
2645
  }
1212
2646
  requestBody?: never
@@ -1217,44 +2651,53 @@ interface operations {
1217
2651
  [name: string]: unknown
1218
2652
  }
1219
2653
  content: {
1220
- "application/json": components["schemas"]["Org"][]
2654
+ "application/json": components["schemas"]["WebhookListResponse"]
1221
2655
  }
1222
2656
  }
1223
- default: components["responses"]["DefaultError"]
2657
+ 401: components["responses"]["Unauthorized"]
2658
+ 403: components["responses"]["Forbidden"]
2659
+ 404: components["responses"]["NotFound"]
2660
+ default: components["responses"]["Internal"]
1224
2661
  }
1225
2662
  };
1226
- createOrg: {
2663
+ createOrgWebhook: {
1227
2664
  parameters: {
1228
2665
  query?: never
1229
2666
  header?: never
1230
- path?: never
2667
+ path: {
2668
+ org_slug: string
2669
+ }
1231
2670
  cookie?: never
1232
2671
  }
1233
2672
  requestBody: {
1234
2673
  content: {
1235
- "application/json": components["schemas"]["CreateOrgRequest"]
2674
+ "application/json": components["schemas"]["WebhookCreateRequest"]
1236
2675
  }
1237
2676
  }
1238
2677
  responses: {
1239
- /** @description Organization created. */
2678
+ /** @description Webhook created. */
1240
2679
  201: {
1241
2680
  headers: {
1242
2681
  [name: string]: unknown
1243
2682
  }
1244
2683
  content: {
1245
- "application/json": components["schemas"]["Org"]
2684
+ "application/json": components["schemas"]["Webhook"]
1246
2685
  }
1247
2686
  }
1248
- default: components["responses"]["DefaultError"]
2687
+ 400: components["responses"]["BadRequest"]
2688
+ 401: components["responses"]["Unauthorized"]
2689
+ 403: components["responses"]["Forbidden"]
2690
+ 404: components["responses"]["NotFound"]
2691
+ default: components["responses"]["Internal"]
1249
2692
  }
1250
2693
  };
1251
- getOrg: {
2694
+ getOrgWebhook: {
1252
2695
  parameters: {
1253
2696
  query?: never
1254
2697
  header?: never
1255
2698
  path: {
1256
- /** @description URL-safe organization identifier. */
1257
- orgSlug: components["parameters"]["OrgSlug"]
2699
+ org_slug: string
2700
+ webhook_id: string
1258
2701
  }
1259
2702
  cookie?: never
1260
2703
  }
@@ -1266,47 +2709,53 @@ interface operations {
1266
2709
  [name: string]: unknown
1267
2710
  }
1268
2711
  content: {
1269
- "application/json": components["schemas"]["Org"]
2712
+ "application/json": components["schemas"]["Webhook"]
1270
2713
  }
1271
2714
  }
1272
- default: components["responses"]["DefaultError"]
2715
+ 401: components["responses"]["Unauthorized"]
2716
+ 403: components["responses"]["Forbidden"]
2717
+ 404: components["responses"]["NotFound"]
2718
+ default: components["responses"]["Internal"]
1273
2719
  }
1274
2720
  };
1275
- deleteOrg: {
2721
+ deleteOrgWebhook: {
1276
2722
  parameters: {
1277
2723
  query?: never
1278
2724
  header?: never
1279
2725
  path: {
1280
- /** @description URL-safe organization identifier. */
1281
- orgSlug: components["parameters"]["OrgSlug"]
2726
+ org_slug: string
2727
+ webhook_id: string
1282
2728
  }
1283
2729
  cookie?: never
1284
2730
  }
1285
2731
  requestBody?: never
1286
2732
  responses: {
1287
- /** @description Organization deleted. */
2733
+ /** @description Webhook deleted. */
1288
2734
  204: {
1289
2735
  headers: {
1290
2736
  [name: string]: unknown
1291
2737
  }
1292
2738
  content?: never
1293
2739
  }
1294
- default: components["responses"]["DefaultError"]
2740
+ 401: components["responses"]["Unauthorized"]
2741
+ 403: components["responses"]["Forbidden"]
2742
+ 404: components["responses"]["NotFound"]
2743
+ default: components["responses"]["Internal"]
1295
2744
  }
1296
2745
  };
1297
- updateOrg: {
2746
+ updateOrgWebhook: {
1298
2747
  parameters: {
1299
2748
  query?: never
1300
2749
  header?: never
1301
2750
  path: {
1302
- /** @description URL-safe organization identifier. */
1303
- orgSlug: components["parameters"]["OrgSlug"]
2751
+ org_slug: string
2752
+ webhook_id: string
1304
2753
  }
1305
2754
  cookie?: never
1306
2755
  }
1307
2756
  requestBody: {
1308
2757
  content: {
1309
- "application/json": components["schemas"]["UpdateOrgRequest"]
2758
+ "application/json": components["schemas"]["WebhookUpdateRequest"]
1310
2759
  }
1311
2760
  }
1312
2761
  responses: {
@@ -1316,19 +2765,22 @@ interface operations {
1316
2765
  [name: string]: unknown
1317
2766
  }
1318
2767
  content: {
1319
- "application/json": components["schemas"]["Org"]
2768
+ "application/json": components["schemas"]["Webhook"]
1320
2769
  }
1321
2770
  }
1322
- default: components["responses"]["DefaultError"]
2771
+ 400: components["responses"]["BadRequest"]
2772
+ 401: components["responses"]["Unauthorized"]
2773
+ 403: components["responses"]["Forbidden"]
2774
+ 404: components["responses"]["NotFound"]
2775
+ default: components["responses"]["Internal"]
1323
2776
  }
1324
2777
  };
1325
- listOrgMembers: {
2778
+ getAgent: {
1326
2779
  parameters: {
1327
2780
  query?: never
1328
2781
  header?: never
1329
2782
  path: {
1330
- /** @description URL-safe organization identifier. */
1331
- orgSlug: components["parameters"]["OrgSlug"]
2783
+ agent_id: string
1332
2784
  }
1333
2785
  cookie?: never
1334
2786
  }
@@ -1340,102 +2792,172 @@ interface operations {
1340
2792
  [name: string]: unknown
1341
2793
  }
1342
2794
  content: {
1343
- "application/json": components["schemas"]["OrgMember"][]
2795
+ "application/json": components["schemas"]["Agent"]
2796
+ }
2797
+ }
2798
+ 401: components["responses"]["Unauthorized"]
2799
+ 403: components["responses"]["Forbidden"]
2800
+ 404: components["responses"]["NotFound"]
2801
+ default: components["responses"]["Internal"]
2802
+ }
2803
+ };
2804
+ deleteAgent: {
2805
+ parameters: {
2806
+ query?: never
2807
+ header?: never
2808
+ path: {
2809
+ agent_id: string
2810
+ }
2811
+ cookie?: never
2812
+ }
2813
+ requestBody?: never
2814
+ responses: {
2815
+ /** @description Agent deleted. */
2816
+ 204: {
2817
+ headers: {
2818
+ [name: string]: unknown
2819
+ }
2820
+ content?: never
2821
+ }
2822
+ 401: components["responses"]["Unauthorized"]
2823
+ 403: components["responses"]["Forbidden"]
2824
+ 404: components["responses"]["NotFound"]
2825
+ default: components["responses"]["Internal"]
2826
+ }
2827
+ };
2828
+ updateAgent: {
2829
+ parameters: {
2830
+ query?: never
2831
+ header?: never
2832
+ path: {
2833
+ agent_id: string
2834
+ }
2835
+ cookie?: never
2836
+ }
2837
+ requestBody: {
2838
+ content: {
2839
+ "application/json": components["schemas"]["AgentUpdateRequest"]
2840
+ }
2841
+ }
2842
+ responses: {
2843
+ /** @description Updated. */
2844
+ 200: {
2845
+ headers: {
2846
+ [name: string]: unknown
2847
+ }
2848
+ content: {
2849
+ "application/json": components["schemas"]["Agent"]
1344
2850
  }
1345
2851
  }
1346
- default: components["responses"]["DefaultError"]
2852
+ 400: components["responses"]["BadRequest"]
2853
+ 401: components["responses"]["Unauthorized"]
2854
+ 403: components["responses"]["Forbidden"]
2855
+ 404: components["responses"]["NotFound"]
2856
+ default: components["responses"]["Internal"]
1347
2857
  }
1348
2858
  };
1349
- addOrgMember: {
2859
+ updateAgentStatus: {
1350
2860
  parameters: {
1351
2861
  query?: never
1352
2862
  header?: never
1353
2863
  path: {
1354
- /** @description URL-safe organization identifier. */
1355
- orgSlug: components["parameters"]["OrgSlug"]
2864
+ agent_id: string
1356
2865
  }
1357
2866
  cookie?: never
1358
2867
  }
1359
2868
  requestBody: {
1360
2869
  content: {
1361
- "application/json": components["schemas"]["AddMemberRequest"]
2870
+ "application/json": components["schemas"]["AgentUpdateStatusRequest"]
1362
2871
  }
1363
2872
  }
1364
2873
  responses: {
1365
- /** @description Member added. */
1366
- 201: {
2874
+ /** @description Status updated. */
2875
+ 200: {
1367
2876
  headers: {
1368
2877
  [name: string]: unknown
1369
2878
  }
1370
2879
  content: {
1371
- "application/json": components["schemas"]["OrgMember"]
2880
+ "application/json": components["schemas"]["Agent"]
1372
2881
  }
1373
2882
  }
1374
- default: components["responses"]["DefaultError"]
2883
+ 400: components["responses"]["BadRequest"]
2884
+ 401: components["responses"]["Unauthorized"]
2885
+ 403: components["responses"]["Forbidden"]
2886
+ 404: components["responses"]["NotFound"]
2887
+ default: components["responses"]["Internal"]
1375
2888
  }
1376
2889
  };
1377
- removeOrgMember: {
2890
+ createAgentDiagnostics: {
1378
2891
  parameters: {
1379
2892
  query?: never
1380
2893
  header?: never
1381
2894
  path: {
1382
- /** @description URL-safe organization identifier. */
1383
- orgSlug: components["parameters"]["OrgSlug"]
1384
- userID: components["parameters"]["UserID"]
2895
+ agent_id: string
1385
2896
  }
1386
2897
  cookie?: never
1387
2898
  }
1388
- requestBody?: never
2899
+ requestBody: {
2900
+ content: {
2901
+ "application/json": components["schemas"]["AgentLintRequest"]
2902
+ }
2903
+ }
1389
2904
  responses: {
1390
- /** @description Member removed. */
1391
- 204: {
2905
+ /** @description Diagnostics complete. Empty `errors` array means valid. */
2906
+ 200: {
1392
2907
  headers: {
1393
2908
  [name: string]: unknown
1394
2909
  }
1395
- content?: never
2910
+ content: {
2911
+ "application/json": components["schemas"]["AgentLintResponse"]
2912
+ }
1396
2913
  }
1397
- default: components["responses"]["DefaultError"]
2914
+ 400: components["responses"]["BadRequest"]
2915
+ 401: components["responses"]["Unauthorized"]
2916
+ 403: components["responses"]["Forbidden"]
2917
+ 404: components["responses"]["NotFound"]
2918
+ default: components["responses"]["Internal"]
1398
2919
  }
1399
2920
  };
1400
- updateOrgMember: {
2921
+ listAgentConversations: {
1401
2922
  parameters: {
1402
- query?: never
2923
+ query?: {
2924
+ limit?: number
2925
+ /** @description Cursor for pagination */
2926
+ cursor?: string
2927
+ }
1403
2928
  header?: never
1404
2929
  path: {
1405
- /** @description URL-safe organization identifier. */
1406
- orgSlug: components["parameters"]["OrgSlug"]
1407
- userID: components["parameters"]["UserID"]
2930
+ agent_id: string
1408
2931
  }
1409
2932
  cookie?: never
1410
2933
  }
1411
- requestBody: {
1412
- content: {
1413
- "application/json": components["schemas"]["UpdateMemberRequest"]
1414
- }
1415
- }
2934
+ requestBody?: never
1416
2935
  responses: {
1417
- /** @description Role updated. */
2936
+ /** @description OK */
1418
2937
  200: {
1419
2938
  headers: {
1420
2939
  [name: string]: unknown
1421
2940
  }
1422
2941
  content: {
1423
- "application/json": components["schemas"]["OrgMember"]
2942
+ "application/json": components["schemas"]["ConversationListResponse"]
1424
2943
  }
1425
2944
  }
1426
- default: components["responses"]["DefaultError"]
2945
+ 401: components["responses"]["Unauthorized"]
2946
+ 403: components["responses"]["Forbidden"]
2947
+ 404: components["responses"]["NotFound"]
2948
+ default: components["responses"]["Internal"]
1427
2949
  }
1428
2950
  };
1429
- listUserAgents: {
2951
+ listAgentKnowledgeBases: {
1430
2952
  parameters: {
1431
2953
  query?: {
1432
- limit?: components["parameters"]["LimitParam"]
1433
- page?: components["parameters"]["PageParam"]
1434
- /** @description Full-text search filter. */
1435
- search?: components["parameters"]["SearchParam"]
2954
+ limit?: number
2955
+ page?: number
1436
2956
  }
1437
2957
  header?: never
1438
- path?: never
2958
+ path: {
2959
+ agent_id: string
2960
+ }
1439
2961
  cookie?: never
1440
2962
  }
1441
2963
  requestBody?: never
@@ -1446,49 +2968,74 @@ interface operations {
1446
2968
  [name: string]: unknown
1447
2969
  }
1448
2970
  content: {
1449
- "application/json": components["schemas"]["AgentPage"]
2971
+ "application/json": components["schemas"]["KnowledgeBaseListResponse"]
1450
2972
  }
1451
2973
  }
1452
- default: components["responses"]["DefaultError"]
2974
+ 401: components["responses"]["Unauthorized"]
2975
+ 403: components["responses"]["Forbidden"]
2976
+ 404: components["responses"]["NotFound"]
2977
+ default: components["responses"]["Internal"]
1453
2978
  }
1454
2979
  };
1455
- createUserAgent: {
2980
+ linkAgentKnowledgeBase: {
1456
2981
  parameters: {
1457
2982
  query?: never
1458
2983
  header?: never
1459
- path?: never
2984
+ path: {
2985
+ agent_id: string
2986
+ knowledge_base_id: string
2987
+ }
1460
2988
  cookie?: never
1461
2989
  }
1462
- requestBody: {
1463
- content: {
1464
- "application/json": components["schemas"]["CreateAgentRequest"]
2990
+ requestBody?: never
2991
+ responses: {
2992
+ /** @description Linked. */
2993
+ 204: {
2994
+ headers: {
2995
+ [name: string]: unknown
2996
+ }
2997
+ content?: never
1465
2998
  }
2999
+ 401: components["responses"]["Unauthorized"]
3000
+ 403: components["responses"]["Forbidden"]
3001
+ 404: components["responses"]["NotFound"]
3002
+ default: components["responses"]["Internal"]
1466
3003
  }
3004
+ };
3005
+ unlinkAgentKnowledgeBase: {
3006
+ parameters: {
3007
+ query?: never
3008
+ header?: never
3009
+ path: {
3010
+ agent_id: string
3011
+ knowledge_base_id: string
3012
+ }
3013
+ cookie?: never
3014
+ }
3015
+ requestBody?: never
1467
3016
  responses: {
1468
- /** @description Agent created. */
1469
- 201: {
3017
+ /** @description Unlinked. */
3018
+ 204: {
1470
3019
  headers: {
1471
3020
  [name: string]: unknown
1472
3021
  }
1473
- content: {
1474
- "application/json": components["schemas"]["Agent"]
1475
- }
3022
+ content?: never
1476
3023
  }
1477
- default: components["responses"]["DefaultError"]
3024
+ 401: components["responses"]["Unauthorized"]
3025
+ 403: components["responses"]["Forbidden"]
3026
+ 404: components["responses"]["NotFound"]
3027
+ default: components["responses"]["Internal"]
1478
3028
  }
1479
3029
  };
1480
- listOrgAgents: {
3030
+ listAgentWebhooks: {
1481
3031
  parameters: {
1482
3032
  query?: {
1483
- limit?: components["parameters"]["LimitParam"]
1484
- page?: components["parameters"]["PageParam"]
1485
- /** @description Full-text search filter. */
1486
- search?: components["parameters"]["SearchParam"]
3033
+ limit?: number
3034
+ page?: number
1487
3035
  }
1488
3036
  header?: never
1489
3037
  path: {
1490
- /** @description URL-safe organization identifier. */
1491
- orgSlug: components["parameters"]["OrgSlug"]
3038
+ agent_id: string
1492
3039
  }
1493
3040
  cookie?: never
1494
3041
  }
@@ -1500,46 +3047,53 @@ interface operations {
1500
3047
  [name: string]: unknown
1501
3048
  }
1502
3049
  content: {
1503
- "application/json": components["schemas"]["AgentPage"]
3050
+ "application/json": components["schemas"]["WebhookListResponse"]
1504
3051
  }
1505
3052
  }
1506
- default: components["responses"]["DefaultError"]
3053
+ 401: components["responses"]["Unauthorized"]
3054
+ 403: components["responses"]["Forbidden"]
3055
+ 404: components["responses"]["NotFound"]
3056
+ default: components["responses"]["Internal"]
1507
3057
  }
1508
3058
  };
1509
- createOrgAgent: {
3059
+ createAgentWebhook: {
1510
3060
  parameters: {
1511
3061
  query?: never
1512
3062
  header?: never
1513
3063
  path: {
1514
- /** @description URL-safe organization identifier. */
1515
- orgSlug: components["parameters"]["OrgSlug"]
3064
+ agent_id: string
1516
3065
  }
1517
3066
  cookie?: never
1518
3067
  }
1519
3068
  requestBody: {
1520
3069
  content: {
1521
- "application/json": components["schemas"]["CreateAgentRequest"]
3070
+ "application/json": components["schemas"]["WebhookCreateRequest"]
1522
3071
  }
1523
3072
  }
1524
3073
  responses: {
1525
- /** @description Agent created. */
3074
+ /** @description Webhook created. */
1526
3075
  201: {
1527
3076
  headers: {
1528
3077
  [name: string]: unknown
1529
3078
  }
1530
3079
  content: {
1531
- "application/json": components["schemas"]["Agent"]
3080
+ "application/json": components["schemas"]["Webhook"]
1532
3081
  }
1533
3082
  }
1534
- default: components["responses"]["DefaultError"]
3083
+ 400: components["responses"]["BadRequest"]
3084
+ 401: components["responses"]["Unauthorized"]
3085
+ 403: components["responses"]["Forbidden"]
3086
+ 404: components["responses"]["NotFound"]
3087
+ default: components["responses"]["Internal"]
1535
3088
  }
1536
3089
  };
1537
- getAgent: {
3090
+ getAgentWebhook: {
1538
3091
  parameters: {
1539
3092
  query?: never
1540
3093
  header?: never
1541
3094
  path: {
1542
- agentID: components["parameters"]["AgentID"]
3095
+ agent_id: string
3096
+ webhook_id: string
1543
3097
  }
1544
3098
  cookie?: never
1545
3099
  }
@@ -1551,45 +3105,53 @@ interface operations {
1551
3105
  [name: string]: unknown
1552
3106
  }
1553
3107
  content: {
1554
- "application/json": components["schemas"]["Agent"]
3108
+ "application/json": components["schemas"]["Webhook"]
1555
3109
  }
1556
3110
  }
1557
- default: components["responses"]["DefaultError"]
3111
+ 401: components["responses"]["Unauthorized"]
3112
+ 403: components["responses"]["Forbidden"]
3113
+ 404: components["responses"]["NotFound"]
3114
+ default: components["responses"]["Internal"]
1558
3115
  }
1559
3116
  };
1560
- deleteAgent: {
3117
+ deleteAgentWebhook: {
1561
3118
  parameters: {
1562
3119
  query?: never
1563
3120
  header?: never
1564
3121
  path: {
1565
- agentID: components["parameters"]["AgentID"]
3122
+ agent_id: string
3123
+ webhook_id: string
1566
3124
  }
1567
3125
  cookie?: never
1568
3126
  }
1569
3127
  requestBody?: never
1570
3128
  responses: {
1571
- /** @description Agent deleted. */
3129
+ /** @description Webhook deleted. */
1572
3130
  204: {
1573
3131
  headers: {
1574
3132
  [name: string]: unknown
1575
3133
  }
1576
3134
  content?: never
1577
3135
  }
1578
- default: components["responses"]["DefaultError"]
3136
+ 401: components["responses"]["Unauthorized"]
3137
+ 403: components["responses"]["Forbidden"]
3138
+ 404: components["responses"]["NotFound"]
3139
+ default: components["responses"]["Internal"]
1579
3140
  }
1580
3141
  };
1581
- updateAgent: {
3142
+ updateAgentWebhook: {
1582
3143
  parameters: {
1583
3144
  query?: never
1584
3145
  header?: never
1585
3146
  path: {
1586
- agentID: components["parameters"]["AgentID"]
3147
+ agent_id: string
3148
+ webhook_id: string
1587
3149
  }
1588
3150
  cookie?: never
1589
3151
  }
1590
3152
  requestBody: {
1591
3153
  content: {
1592
- "application/json": components["schemas"]["UpdateAgentRequest"]
3154
+ "application/json": components["schemas"]["WebhookUpdateRequest"]
1593
3155
  }
1594
3156
  }
1595
3157
  responses: {
@@ -1599,76 +3161,111 @@ interface operations {
1599
3161
  [name: string]: unknown
1600
3162
  }
1601
3163
  content: {
1602
- "application/json": components["schemas"]["Agent"]
3164
+ "application/json": components["schemas"]["Webhook"]
1603
3165
  }
1604
3166
  }
1605
- default: components["responses"]["DefaultError"]
3167
+ 400: components["responses"]["BadRequest"]
3168
+ 401: components["responses"]["Unauthorized"]
3169
+ 403: components["responses"]["Forbidden"]
3170
+ 404: components["responses"]["NotFound"]
3171
+ default: components["responses"]["Internal"]
1606
3172
  }
1607
3173
  };
1608
- updateAgentStatus: {
3174
+ createConversation: {
1609
3175
  parameters: {
1610
3176
  query?: never
1611
3177
  header?: never
1612
- path: {
1613
- agentID: components["parameters"]["AgentID"]
1614
- }
3178
+ path?: never
1615
3179
  cookie?: never
1616
3180
  }
1617
3181
  requestBody: {
1618
3182
  content: {
1619
- "application/json": components["schemas"]["UpdateAgentStatusRequest"]
3183
+ "application/json": {
3184
+ /**
3185
+ * Format: uuid
3186
+ * @description The agent to converse with.
3187
+ */
3188
+ agent_id: string
3189
+ }
1620
3190
  }
1621
3191
  }
1622
3192
  responses: {
1623
- /** @description Status updated. */
1624
- 200: {
3193
+ /** @description Conversation created. */
3194
+ 201: {
1625
3195
  headers: {
1626
3196
  [name: string]: unknown
1627
3197
  }
1628
3198
  content: {
1629
- "application/json": components["schemas"]["Agent"]
3199
+ "application/json": components["schemas"]["Conversation"]
1630
3200
  }
1631
3201
  }
1632
- default: components["responses"]["DefaultError"]
3202
+ 400: components["responses"]["BadRequest"]
3203
+ 401: components["responses"]["Unauthorized"]
3204
+ 403: components["responses"]["Forbidden"]
3205
+ 404: components["responses"]["NotFound"]
3206
+ default: components["responses"]["Internal"]
1633
3207
  }
1634
3208
  };
1635
- lintAgent: {
3209
+ getConversation: {
1636
3210
  parameters: {
1637
3211
  query?: never
1638
3212
  header?: never
1639
3213
  path: {
1640
- agentID: components["parameters"]["AgentID"]
3214
+ conversation_id: string
1641
3215
  }
1642
3216
  cookie?: never
1643
3217
  }
1644
- requestBody: {
1645
- content: {
1646
- "application/json": components["schemas"]["LintAgentRequest"]
1647
- }
1648
- }
3218
+ requestBody?: never
1649
3219
  responses: {
1650
- /** @description Lint result. An empty `errors` array means the blueprint is valid. */
3220
+ /** @description OK */
1651
3221
  200: {
1652
3222
  headers: {
1653
3223
  [name: string]: unknown
1654
3224
  }
1655
3225
  content: {
1656
- "application/json": components["schemas"]["AgentLintDiagnostics"]
3226
+ "application/json": components["schemas"]["Conversation"]
1657
3227
  }
1658
3228
  }
1659
- default: components["responses"]["DefaultError"]
3229
+ 401: components["responses"]["Unauthorized"]
3230
+ 403: components["responses"]["Forbidden"]
3231
+ 404: components["responses"]["NotFound"]
3232
+ default: components["responses"]["Internal"]
1660
3233
  }
1661
3234
  };
1662
- listAgentConversations: {
3235
+ deleteConversation: {
3236
+ parameters: {
3237
+ query?: never
3238
+ header?: never
3239
+ path: {
3240
+ conversation_id: string
3241
+ }
3242
+ cookie?: never
3243
+ }
3244
+ requestBody?: never
3245
+ responses: {
3246
+ /** @description Conversation deleted. */
3247
+ 204: {
3248
+ headers: {
3249
+ [name: string]: unknown
3250
+ }
3251
+ content?: never
3252
+ }
3253
+ 401: components["responses"]["Unauthorized"]
3254
+ 403: components["responses"]["Forbidden"]
3255
+ 404: components["responses"]["NotFound"]
3256
+ default: components["responses"]["Internal"]
3257
+ }
3258
+ };
3259
+ listConversationMessages: {
1663
3260
  parameters: {
1664
3261
  query?: {
1665
- /** @description Opaque cursor returned in the previous response's `next_cursor`. */
1666
- after?: components["parameters"]["AfterParam"]
1667
- limit?: components["parameters"]["LimitParam"]
3262
+ limit?: number
3263
+ /** @description Cursor for pagination */
3264
+ cursor?: string
1668
3265
  }
1669
3266
  header?: never
1670
3267
  path: {
1671
- agentID: components["parameters"]["AgentID"]
3268
+ conversation_id: string
1672
3269
  }
1673
3270
  cookie?: never
1674
3271
  }
@@ -1680,66 +3277,89 @@ interface operations {
1680
3277
  [name: string]: unknown
1681
3278
  }
1682
3279
  content: {
1683
- "application/json": components["schemas"]["ConversationPage"]
3280
+ "application/json": components["schemas"]["ConversationMessageListResponse"]
1684
3281
  }
1685
3282
  }
1686
- default: components["responses"]["DefaultError"]
3283
+ 401: components["responses"]["Unauthorized"]
3284
+ 403: components["responses"]["Forbidden"]
3285
+ 404: components["responses"]["NotFound"]
3286
+ default: components["responses"]["Internal"]
1687
3287
  }
1688
3288
  };
1689
- getConversation: {
3289
+ createConversationMessage: {
1690
3290
  parameters: {
1691
3291
  query?: never
1692
3292
  header?: never
1693
3293
  path: {
1694
- conversationID: components["parameters"]["ConversationID"]
3294
+ conversation_id: string
1695
3295
  }
1696
3296
  cookie?: never
1697
3297
  }
1698
- requestBody?: never
3298
+ requestBody: {
3299
+ content: {
3300
+ "application/json": {
3301
+ /** @description The user's message text. */
3302
+ content: string
3303
+ }
3304
+ }
3305
+ }
1699
3306
  responses: {
1700
- /** @description OK */
3307
+ /** @description SSE stream of events. */
1701
3308
  200: {
1702
3309
  headers: {
1703
3310
  [name: string]: unknown
1704
3311
  }
1705
3312
  content: {
1706
- "application/json": components["schemas"]["Conversation"]
3313
+ "text/event-stream": string
1707
3314
  }
1708
3315
  }
1709
- default: components["responses"]["DefaultError"]
3316
+ 400: components["responses"]["BadRequest"]
3317
+ 401: components["responses"]["Unauthorized"]
3318
+ 403: components["responses"]["Forbidden"]
3319
+ 404: components["responses"]["NotFound"]
3320
+ default: components["responses"]["Internal"]
1710
3321
  }
1711
3322
  };
1712
- deleteConversation: {
3323
+ streamConversation: {
1713
3324
  parameters: {
1714
- query?: never
3325
+ query: {
3326
+ /** @description Must be "voice" for WebSocket upgrade. */
3327
+ medium: "voice"
3328
+ }
1715
3329
  header?: never
1716
3330
  path: {
1717
- conversationID: components["parameters"]["ConversationID"]
3331
+ conversation_id: string
1718
3332
  }
1719
3333
  cookie?: never
1720
3334
  }
1721
3335
  requestBody?: never
1722
3336
  responses: {
1723
- /** @description Conversation deleted. */
1724
- 204: {
3337
+ /** @description WebSocket upgrade successful. */
3338
+ 101: {
3339
+ headers: {
3340
+ [name: string]: unknown
3341
+ }
3342
+ content?: never
3343
+ }
3344
+ /** @description Missing or invalid medium parameter. */
3345
+ 400: {
1725
3346
  headers: {
1726
3347
  [name: string]: unknown
1727
3348
  }
1728
3349
  content?: never
1729
3350
  }
1730
- default: components["responses"]["DefaultError"]
3351
+ 401: components["responses"]["Unauthorized"]
3352
+ 403: components["responses"]["Forbidden"]
3353
+ 404: components["responses"]["NotFound"]
3354
+ default: components["responses"]["Internal"]
1731
3355
  }
1732
3356
  };
1733
- listConversationMessages: {
3357
+ getKnowledgeBase: {
1734
3358
  parameters: {
1735
- query?: {
1736
- /** @description Opaque cursor returned in the previous response's `next_cursor`. */
1737
- after?: components["parameters"]["AfterParam"]
1738
- limit?: components["parameters"]["LimitParam"]
1739
- }
3359
+ query?: never
1740
3360
  header?: never
1741
3361
  path: {
1742
- conversationID: components["parameters"]["ConversationID"]
3362
+ knowledge_base_id: string
1743
3363
  }
1744
3364
  cookie?: never
1745
3365
  }
@@ -1751,71 +3371,79 @@ interface operations {
1751
3371
  [name: string]: unknown
1752
3372
  }
1753
3373
  content: {
1754
- "application/json": components["schemas"]["ConversationMessagePage"]
3374
+ "application/json": components["schemas"]["KnowledgeBase"]
1755
3375
  }
1756
3376
  }
1757
- default: components["responses"]["DefaultError"]
3377
+ 401: components["responses"]["Unauthorized"]
3378
+ 403: components["responses"]["Forbidden"]
3379
+ 404: components["responses"]["NotFound"]
3380
+ default: components["responses"]["Internal"]
1758
3381
  }
1759
3382
  };
1760
- listUserTemplates: {
3383
+ deleteKnowledgeBase: {
1761
3384
  parameters: {
1762
- query?: {
1763
- limit?: components["parameters"]["LimitParam"]
1764
- page?: components["parameters"]["PageParam"]
1765
- }
3385
+ query?: never
1766
3386
  header?: never
1767
- path?: never
3387
+ path: {
3388
+ knowledge_base_id: string
3389
+ }
1768
3390
  cookie?: never
1769
3391
  }
1770
3392
  requestBody?: never
1771
3393
  responses: {
1772
- /** @description OK */
1773
- 200: {
3394
+ /** @description Knowledge base deleted. */
3395
+ 204: {
1774
3396
  headers: {
1775
3397
  [name: string]: unknown
1776
3398
  }
1777
- content: {
1778
- "application/json": components["schemas"]["TemplatePage"]
1779
- }
3399
+ content?: never
1780
3400
  }
1781
- default: components["responses"]["DefaultError"]
3401
+ 401: components["responses"]["Unauthorized"]
3402
+ 403: components["responses"]["Forbidden"]
3403
+ 404: components["responses"]["NotFound"]
3404
+ default: components["responses"]["Internal"]
1782
3405
  }
1783
3406
  };
1784
- createUserTemplate: {
3407
+ updateKnowledgeBase: {
1785
3408
  parameters: {
1786
3409
  query?: never
1787
3410
  header?: never
1788
- path?: never
3411
+ path: {
3412
+ knowledge_base_id: string
3413
+ }
1789
3414
  cookie?: never
1790
3415
  }
1791
3416
  requestBody: {
1792
3417
  content: {
1793
- "application/json": components["schemas"]["CreateTemplateRequest"]
3418
+ "application/json": components["schemas"]["KnowledgeBaseUpdateRequest"]
1794
3419
  }
1795
3420
  }
1796
3421
  responses: {
1797
- /** @description Template created. */
1798
- 201: {
3422
+ /** @description Updated. */
3423
+ 200: {
1799
3424
  headers: {
1800
3425
  [name: string]: unknown
1801
3426
  }
1802
3427
  content: {
1803
- "application/json": components["schemas"]["Template"]
3428
+ "application/json": components["schemas"]["KnowledgeBase"]
1804
3429
  }
1805
3430
  }
1806
- default: components["responses"]["DefaultError"]
3431
+ 400: components["responses"]["BadRequest"]
3432
+ 401: components["responses"]["Unauthorized"]
3433
+ 403: components["responses"]["Forbidden"]
3434
+ 404: components["responses"]["NotFound"]
3435
+ default: components["responses"]["Internal"]
1807
3436
  }
1808
3437
  };
1809
- listOrgTemplates: {
3438
+ listKnowledgeBaseDocuments: {
1810
3439
  parameters: {
1811
3440
  query?: {
1812
- limit?: components["parameters"]["LimitParam"]
1813
- page?: components["parameters"]["PageParam"]
3441
+ limit?: number
3442
+ page?: number
1814
3443
  }
1815
3444
  header?: never
1816
3445
  path: {
1817
- /** @description URL-safe organization identifier. */
1818
- orgSlug: components["parameters"]["OrgSlug"]
3446
+ knowledge_base_id: string
1819
3447
  }
1820
3448
  cookie?: never
1821
3449
  }
@@ -1827,46 +3455,54 @@ interface operations {
1827
3455
  [name: string]: unknown
1828
3456
  }
1829
3457
  content: {
1830
- "application/json": components["schemas"]["TemplatePage"]
3458
+ "application/json": components["schemas"]["KnowledgeBaseDocumentListResponse"]
1831
3459
  }
1832
3460
  }
1833
- default: components["responses"]["DefaultError"]
3461
+ 401: components["responses"]["Unauthorized"]
3462
+ 403: components["responses"]["Forbidden"]
3463
+ 404: components["responses"]["NotFound"]
3464
+ default: components["responses"]["Internal"]
1834
3465
  }
1835
3466
  };
1836
- createOrgTemplate: {
3467
+ createKnowledgeBaseDocument: {
1837
3468
  parameters: {
1838
3469
  query?: never
1839
3470
  header?: never
1840
3471
  path: {
1841
- /** @description URL-safe organization identifier. */
1842
- orgSlug: components["parameters"]["OrgSlug"]
3472
+ knowledge_base_id: string
1843
3473
  }
1844
3474
  cookie?: never
1845
3475
  }
1846
3476
  requestBody: {
1847
3477
  content: {
1848
- "application/json": components["schemas"]["CreateTemplateRequest"]
3478
+ "application/json": components["schemas"]["KnowledgeBaseDocumentCreateFromURLRequest"] | components["schemas"]["KnowledgeBaseDocumentCreateFromTextRequest"]
3479
+ "multipart/form-data": components["schemas"]["KnowledgeBaseDocumentCreateFromFileRequest"]
1849
3480
  }
1850
3481
  }
1851
3482
  responses: {
1852
- /** @description Template created. */
3483
+ /** @description Document created and queued for ingestion. */
1853
3484
  201: {
1854
3485
  headers: {
1855
3486
  [name: string]: unknown
1856
3487
  }
1857
3488
  content: {
1858
- "application/json": components["schemas"]["Template"]
3489
+ "application/json": components["schemas"]["KnowledgeBaseDocument"]
1859
3490
  }
1860
3491
  }
1861
- default: components["responses"]["DefaultError"]
3492
+ 400: components["responses"]["BadRequest"]
3493
+ 401: components["responses"]["Unauthorized"]
3494
+ 403: components["responses"]["Forbidden"]
3495
+ 404: components["responses"]["NotFound"]
3496
+ default: components["responses"]["Internal"]
1862
3497
  }
1863
3498
  };
1864
- getTemplate: {
3499
+ getKnowledgeBaseDocument: {
1865
3500
  parameters: {
1866
3501
  query?: never
1867
3502
  header?: never
1868
3503
  path: {
1869
- templateID: components["parameters"]["TemplateID"]
3504
+ knowledge_base_id: string
3505
+ document_id: string
1870
3506
  }
1871
3507
  cookie?: never
1872
3508
  }
@@ -1878,412 +3514,73 @@ interface operations {
1878
3514
  [name: string]: unknown
1879
3515
  }
1880
3516
  content: {
1881
- "application/json": components["schemas"]["Template"]
3517
+ "application/json": components["schemas"]["KnowledgeBaseDocument"]
1882
3518
  }
1883
3519
  }
1884
- default: components["responses"]["DefaultError"]
3520
+ 401: components["responses"]["Unauthorized"]
3521
+ 403: components["responses"]["Forbidden"]
3522
+ 404: components["responses"]["NotFound"]
3523
+ default: components["responses"]["Internal"]
1885
3524
  }
1886
3525
  };
1887
- deleteTemplate: {
3526
+ deleteKnowledgeBaseDocument: {
1888
3527
  parameters: {
1889
3528
  query?: never
1890
3529
  header?: never
1891
3530
  path: {
1892
- templateID: components["parameters"]["TemplateID"]
3531
+ knowledge_base_id: string
3532
+ document_id: string
1893
3533
  }
1894
3534
  cookie?: never
1895
3535
  }
1896
3536
  requestBody?: never
1897
3537
  responses: {
1898
- /** @description Template deleted. */
3538
+ /** @description Document deleted. */
1899
3539
  204: {
1900
3540
  headers: {
1901
3541
  [name: string]: unknown
1902
3542
  }
1903
3543
  content?: never
1904
3544
  }
1905
- default: components["responses"]["DefaultError"]
3545
+ 401: components["responses"]["Unauthorized"]
3546
+ 403: components["responses"]["Forbidden"]
3547
+ 404: components["responses"]["NotFound"]
3548
+ default: components["responses"]["Internal"]
1906
3549
  }
1907
3550
  };
1908
- updateTemplate: {
3551
+ queryKnowledgeBase: {
1909
3552
  parameters: {
1910
3553
  query?: never
1911
3554
  header?: never
1912
3555
  path: {
1913
- templateID: components["parameters"]["TemplateID"]
3556
+ knowledge_base_id: string
1914
3557
  }
1915
3558
  cookie?: never
1916
3559
  }
1917
3560
  requestBody: {
1918
3561
  content: {
1919
- "application/json": components["schemas"]["UpdateTemplateRequest"]
3562
+ "application/json": components["schemas"]["KnowledgeBaseQueryRequest"]
1920
3563
  }
1921
3564
  }
1922
3565
  responses: {
1923
- /** @description Updated. */
3566
+ /** @description Query results ordered by relevance score. */
1924
3567
  200: {
1925
3568
  headers: {
1926
3569
  [name: string]: unknown
1927
3570
  }
1928
3571
  content: {
1929
- "application/json": components["schemas"]["Template"]
3572
+ "application/json": components["schemas"]["KnowledgeBaseQueryResponse"]
1930
3573
  }
1931
3574
  }
1932
- default: components["responses"]["DefaultError"]
3575
+ 400: components["responses"]["BadRequest"]
3576
+ 401: components["responses"]["Unauthorized"]
3577
+ 403: components["responses"]["Forbidden"]
3578
+ 404: components["responses"]["NotFound"]
3579
+ default: components["responses"]["Internal"]
1933
3580
  }
1934
3581
  };
1935
3582
  }
1936
3583
  /**
1937
- * Initializes a new conversational session.
1938
- * It must be the first message sent after connection establishment.
1939
- */
1940
- type ClientHandshake = {
1941
- type: "handshake"
1942
- agent_id: string
1943
- channel?: "web-text" | "web-voice" | "mobile-text" | "mobile-voice" | (string & {})
1944
- render_directive?: string
1945
- };
1946
- /**
1947
- * Carries a single user text message.
1948
- */
1949
- type ClientInputText = {
1950
- type: "input_text"
1951
- text: string
1952
- };
1953
- /**
1954
- * Signals that audio input will begin.
1955
- * Typically followed by one or more binary WebSocket frames.
1956
- */
1957
- type ClientInputAudio = {
1958
- type: "input_audio"
1959
- };
1960
- /**
1961
- * Signals that a streamed audio chunk will follow in the next binary frame.
1962
- */
1963
- type ClientInputAudioStream = {
1964
- type: "input_audio_stream"
1965
- };
1966
- /**
1967
- * Requests interruption of the current streaming response.
1968
- */
1969
- type ClientCancel = {
1970
- type: "cancel"
1971
- };
1972
- /**
1973
- * Requests graceful session termination.
1974
- */
1975
- type ClientEndSession = {
1976
- type: "end"
1977
- };
1978
- /**
1979
- * Union type for all JSON messages sent from the client to the server.
1980
- */
1981
- type ClientMessage = ClientHandshake | ClientInputText | ClientInputAudio | ClientInputAudioStream | ClientCancel | ClientEndSession;
1982
- /**
1983
- * Confirms successful session initialization.
1984
- */
1985
- type ServerHandshakeOK = {
1986
- type: "handshake_ok"
1987
- conversation_id: string
1988
- };
1989
- /**
1990
- * Indicates that the session could not be created.
1991
- */
1992
- type ServerHandshakeError = {
1993
- type: "handshake_error"
1994
- reason: string
1995
- };
1996
- /**
1997
- * Carries a full text message generated by the runtime.
1998
- */
1999
- type ServerTextFull = {
2000
- type: "text_full"
2001
- content: string
2002
- };
2003
- /**
2004
- * Carries a streamed text fragment generated by the runtime.
2005
- */
2006
- type ServerTextDelta = {
2007
- type: "text_delta"
2008
- chunk: string
2009
- };
2010
- /**
2011
- * Carries metadata for a streamed audio fragment generated by the runtime.
2012
- * The actual binary audio data is delivered in the immediately following binary frame
2013
- * and merged into this object by the transport layer.
2014
- */
2015
- type ServerAudioDelta = {
2016
- type: "audio_delta"
2017
- /** Expected size of the incoming binary payload in bytes */
2018
- size: number
2019
- /** The binary audio data attached dynamically by the transport layer */
2020
- audio: Blob
2021
- };
2022
- /**
2023
- * Signals that the runtime has completed its turn and is awaiting further user input.
2024
- */
2025
- type ServerTurnComplete = {
2026
- type: "turn_complete"
2027
- };
2028
- /**
2029
- * Signals that the conversation flow reached its exit node.
2030
- * The session will close shortly after this event.
2031
- */
2032
- type ServerFlowComplete = {
2033
- type: "flow_complete"
2034
- };
2035
- /**
2036
- * Relays a signal from the runtime to the client.
2037
- */
2038
- type ServerSignal = {
2039
- type: "signal"
2040
- name: string
2041
- data: Record<string, unknown>
2042
- };
2043
- /**
2044
- * Indicates that the session is being transferred to another agent.
2045
- * The client should initiate a new session with the provided AgentID.
2046
- */
2047
- type ServerTransfer = {
2048
- type: "transfer"
2049
- agent_id: string
2050
- reason: string
2051
- };
2052
- /**
2053
- * Represents a non-fatal execution or protocol error.
2054
- * The session remains active unless followed by a SessionClosed event.
2055
- */
2056
- type ServerError = {
2057
- type: "error"
2058
- code: string
2059
- message: string
2060
- };
2061
- /**
2062
- * Provides periodic timing information for the active session.
2063
- */
2064
- type ServerTick = {
2065
- type: "tick"
2066
- /** Milliseconds until the session times out */
2067
- remaining_ms: number
2068
- /** Milliseconds elapsed since the session started */
2069
- elapsed_ms: number
2070
- };
2071
- /**
2072
- * Indicates that the session is closing.
2073
- */
2074
- type ServerSessionClosed = {
2075
- type: "session_closed"
2076
- reason: string
2077
- };
2078
- /**
2079
- * Union type for all messages sent from the server to the client.
2080
- */
2081
- type ServerMessage = ServerHandshakeOK | ServerHandshakeError | ServerTextFull | ServerTextDelta | ServerAudioDelta | ServerTurnComplete | ServerFlowComplete | ServerSignal | ServerTransfer | ServerError | ServerTick | ServerSessionClosed;
2082
- /**
2083
- * Messages related to the initial connection phase.
2084
- */
2085
- type ServerConnectionMessage = ServerHandshakeOK | ServerHandshakeError;
2086
- /**
2087
- * Synthetic event emitted when the WebSocket connection to the server drops unexpectedly.
2088
- */
2089
- type SessionConnectionLostEvent = {
2090
- type: "connection_lost"
2091
- reason: "socket_closed" | "socket_error"
2092
- };
2093
- /**
2094
- * Union type of all events that can be emitted during an active conversation session.
2095
- */
2096
- type ServerSessionEvent = ServerTextFull | ServerTextDelta | ServerAudioDelta | ServerTurnComplete | ServerFlowComplete | ServerSignal | ServerTransfer | ServerError | ServerTick | ServerSessionClosed | SessionConnectionLostEvent;
2097
- /**
2098
- * Error thrown by the transport layer when connection or state issues occur.
2099
- */
2100
- declare class ConversationTransportError extends Error {
2101
- readonly code: string;
2102
- constructor(message: string, code?: string);
2103
- }
2104
- /**
2105
- * Low-level WebSocket transport for the conversation protocol.
2106
- * Handles connection lifecycle and distinct routing for JSON and binary messages.
2107
- */
2108
- declare class ConversationTransport {
2109
- private;
2110
- private readonly _ws;
2111
- private _closed;
2112
- private _onMessage;
2113
- private _onBinary;
2114
- private _onError;
2115
- private _onClose;
2116
- /**
2117
- * Creates a new ConversationTransport.
2118
- * @param _ws The underlying WebSocket instance to wrap.
2119
- */
2120
- constructor(_ws: WebSocket);
2121
- /**
2122
- * Waits for the WebSocket connection to fully open.
2123
- * @throws {ConversationTransportError} If the socket is already connected, closing, or fails to connect.
2124
- */
2125
- connect(): Promise<void>;
2126
- /**
2127
- * Sends a structured JSON message to the server.
2128
- * @param message The client message to send.
2129
- * @throws {ConversationTransportError} If the WebSocket is not currently open.
2130
- */
2131
- send(message: ClientMessage): void;
2132
- /**
2133
- * Sends binary data (like raw audio) to the server via a pure binary WebSocket frame.
2134
- * @param data The Blob representing the binary data.
2135
- * @throws {ConversationTransportError} If the WebSocket is not currently open.
2136
- */
2137
- sendBinary(data: Blob): Promise<void>;
2138
- /**
2139
- * Registers a callback to be invoked when a JSON message is received from the server.
2140
- * @param handler The callback function.
2141
- */
2142
- onMessage(handler: (msg: ServerMessage) => void): void;
2143
- /**
2144
- * Registers a callback to be invoked when a pure binary frame is received from the server.
2145
- * @param handler The callback function.
2146
- */
2147
- onBinary(handler: (blob: Blob) => void): void;
2148
- /**
2149
- * Registers a callback to be invoked if a WebSocket error occurs.
2150
- * @param handler The callback function.
2151
- */
2152
- onError(handler: (error: Error) => void): void;
2153
- /**
2154
- * Registers a callback to be invoked when the WebSocket connection is closed.
2155
- * @param handler The callback function.
2156
- */
2157
- onClose(handler: () => void): void;
2158
- /**
2159
- * Closes the underlying WebSocket connection and cleans up resources.
2160
- */
2161
- close(): void;
2162
- }
2163
- /**
2164
- * Configuration options provided when establishing a conversation session.
2165
- */
2166
- type ConversationSessionConfig = {
2167
- /**
2168
- * A callback function invoked whenever an event is emitted by the server during the session.
2169
- *
2170
- * @remarks
2171
- * For `audio_delta` events, the SDK automatically waits for the subsequent binary WebSocket frame
2172
- * and attaches the resulting `Blob` to the event object before triggering this callback.
2173
- */
2174
- onEvent?: (event: ServerSessionEvent) => void
2175
- };
2176
- /**
2177
- * Represents an active, real-time conversation session with a Kivox agent.
2178
- * Provides methods to dispatch user inputs and lifecycle commands, as well as tracking basic session state.
2179
- */
2180
- declare class ConversationSession {
2181
- private;
2182
- private _transport;
2183
- private _conversationId;
2184
- private _closed;
2185
- private _onEvent;
2186
- private _pendingAudioMetadata;
2187
- private _remainingMs;
2188
- private _elapsedMs;
2189
- /**
2190
- * The unique server-generated ID for this active conversation.
2191
- */
2192
- get conversationId(): string;
2193
- /**
2194
- * The number of milliseconds remaining until the engine enforces a session timeout.
2195
- * This value is periodically synced via server 'tick' events.
2196
- */
2197
- get remainingMs(): number;
2198
- /**
2199
- * The number of milliseconds elapsed since the session was initiated.
2200
- * This value is periodically synced via server 'tick' events.
2201
- */
2202
- get elapsedMs(): number;
2203
- /**
2204
- * Indicates whether the session has been permanently closed.
2205
- */
2206
- get closed(): boolean;
2207
- /**
2208
- * Constructs a new active ConversationSession.
2209
- * Normally called internally by `ConversationClient.connect()`.
2210
- *
2211
- * @param transport The underlying active WebSocket transport.
2212
- * @param conversationId The ID assigned by the server during the handshake.
2213
- * @param config User-provided configuration options (e.g., event handlers).
2214
- */
2215
- constructor(transport: ConversationTransport, conversationId: string, config: ConversationSessionConfig);
2216
- /**
2217
- * Sends a single textual user input to the agent.
2218
- *
2219
- * @param text The textual payload provided by the user.
2220
- */
2221
- sendText(text: string): void;
2222
- /**
2223
- * Sends a complete, recorded audio buffer to the agent.
2224
- * First sends an `input_audio` header, then dispatches the binary frame.
2225
- *
2226
- * @param audio The raw binary audio file/buffer.
2227
- */
2228
- sendAudio(audio: Blob): void;
2229
- /**
2230
- * Streams a fragment of real-time audio to the agent.
2231
- * First sends an `input_audio_stream` header, then dispatches the binary frame.
2232
- *
2233
- * @param chunk The raw binary audio fragment.
2234
- */
2235
- streamAudio(chunk: Blob): void;
2236
- /**
2237
- * Requests that the server immediately halt the currently streaming assistant response.
2238
- * The session remains open and the agent will await the next user input.
2239
- */
2240
- cancelRequest(): void;
2241
- /**
2242
- * Instructs the server to gracefully terminate the conversation.
2243
- * Wait for the resulting `session_closed` event to confirm termination.
2244
- */
2245
- end(): void;
2246
- /**
2247
- * Immediately tears down the underlying WebSocket transport and marks the session closed locally.
2248
- * Does not wait for a graceful server acknowledgment.
2249
- */
2250
- close(): void;
2251
- }
2252
- type ConversationConnectParams = Omit<ClientHandshake, "type"> & ConversationSessionConfig & {
2253
- /** Optional callback invoked during the initial handshake phase */
2254
- onConnection?: (event: ServerConnectionMessage) => void
2255
- };
2256
- /**
2257
- * Provides real-time WebSocket session management for Kivox agents.
2258
- * REST operations (list, get) are handled directly via the Kiota client.
2259
- *
2260
- * @example
2261
- * ```ts
2262
- * const session = await kivox.realtime.connect({
2263
- * agentId: 'agent-123',
2264
- * onEvent: (event) => {
2265
- * if (event.type === 'text_delta') console.log(event.chunk);
2266
- * }
2267
- * });
2268
- * session.sendText('Hello!');
2269
- * ```
2270
- */
2271
- declare class RealtimeClient {
2272
- private;
2273
- /** @internal */
2274
- constructor(baseUrl: string);
2275
- /**
2276
- * Establishes a real-time WebSocket session with a Kivox agent.
2277
- * Authentication is passed as a query parameter since browser WebSockets
2278
- * do not support custom headers.
2279
- *
2280
- * @param params - Connection and session configuration.
2281
- * @returns A promise resolving to an active {@link ConversationSession}.
2282
- * @throws {Error} If the handshake fails or the connection drops during negotiation.
2283
- */
2284
- connect(params: ConversationConnectParams): Promise<ConversationSession>;
2285
- }
2286
- /**
2287
3584
  * Extract a schema type from `components.schemas` by key.
2288
3585
  *
2289
3586
  * @typeParam T - Schema name
@@ -2327,24 +3624,94 @@ type ApiResponse<T extends keyof operations> = operations[T] extends {
2327
3624
  }
2328
3625
  }
2329
3626
  } ? Res : never;
3627
+ /**
3628
+ * All event types emitted by the backend `runtime` package runtime.
3629
+ */
3630
+ type SSEEvent = {
3631
+ event: "assistant_tool_calls"
3632
+ data: {
3633
+ tool_calls: {
3634
+ id: string
3635
+ name: string
3636
+ arguments: Record<string, unknown>
3637
+ }[]
3638
+ }
3639
+ } | {
3640
+ event: "tool_call_start"
3641
+ data: {
3642
+ name: string
3643
+ tool_call_id: string
3644
+ arguments?: Record<string, unknown>
3645
+ }
3646
+ } | {
3647
+ event: "tool_call_end"
3648
+ data: {
3649
+ name: string
3650
+ tool_call_id: string
3651
+ result?: Record<string, unknown>
3652
+ error?: string
3653
+ }
3654
+ } | {
3655
+ event: "node_start"
3656
+ data: {
3657
+ node_id: string
3658
+ }
3659
+ } | {
3660
+ event: "node_end"
3661
+ data: {
3662
+ node_id: string
3663
+ }
3664
+ } | {
3665
+ event: "message_chunk"
3666
+ data: {
3667
+ chunk: string
3668
+ }
3669
+ } | {
3670
+ event: "message_static"
3671
+ data: {
3672
+ content: string
3673
+ }
3674
+ } | {
3675
+ event: "message_complete"
3676
+ data: {
3677
+ content?: string
3678
+ outcome?: string
3679
+ vars?: Record<string, unknown>
3680
+ }
3681
+ } | {
3682
+ event: "error"
3683
+ data: {
3684
+ message: string
3685
+ }
3686
+ };
3687
+ /**
3688
+ * Parses a `ReadableStream<Uint8Array>` as a Server-Sent Events stream,
3689
+ * yielding one {@link SSEEvent} per `event/data` block.
3690
+ *
3691
+ * Compatible with any SSE response body; pass `response.body` directly.
3692
+ *
3693
+ * @yields {SSEEvent}
3694
+ */
3695
+ declare function readSSE(stream: ReadableStream<Uint8Array>): AsyncGenerator<SSEEvent>;
2330
3696
  type KivoxFetchClient = ReturnType<typeof createClient<paths>>;
2331
3697
  type KivoxClient = {
2332
3698
  api: KivoxFetchClient
2333
- realtime: RealtimeClient
2334
3699
  };
2335
- type SessionClientOptions = {
3700
+ type CommonClientOptions = {
2336
3701
  baseUrl?: string
3702
+ version?: "v1"
3703
+ headers?: Record<string, string>
2337
3704
  };
2338
- type BearerClientOptions = {
3705
+ type SessionClientOptions = CommonClientOptions;
3706
+ type BearerClientOptions = CommonClientOptions & {
2339
3707
  bearerToken: string
2340
- baseUrl?: string
2341
3708
  };
2342
3709
  /**
2343
3710
  * Browser/Studio client. Authenticates via HttpOnly session cookie.
2344
3711
  */
2345
- declare function createSessionClient({ baseUrl }?: SessionClientOptions): KivoxClient;
3712
+ declare function createSessionClient(options?: SessionClientOptions): KivoxClient;
2346
3713
  /**
2347
3714
  * Server-side / programmatic client. Authenticates via Bearer token.
2348
3715
  */
2349
- declare function createBearerClient({ bearerToken, baseUrl }: BearerClientOptions): KivoxClient;
2350
- export { paths, operations, createSessionClient, createBearerClient, components, SessionConnectionLostEvent, SessionClientOptions, ServerTurnComplete, ServerTransfer, ServerTick, ServerTextFull, ServerTextDelta, ServerSignal, ServerSessionEvent, ServerSessionClosed, ServerMessage, ServerHandshakeOK, ServerHandshakeError, ServerFlowComplete, ServerError, ServerConnectionMessage, ServerAudioDelta, KivoxFetchClient, KivoxClient, ConversationTransportError, ConversationSessionConfig, ConversationSession, ClientMessage, ClientInputText, ClientInputAudioStream, ClientInputAudio, ClientHandshake, ClientEndSession, ClientCancel, BearerClientOptions, ApiSchema, ApiResponse, ApiRequest };
3716
+ declare function createBearerClient(options: BearerClientOptions): KivoxClient;
3717
+ export { readSSE, paths, operations, createSessionClient, createBearerClient, components, SessionClientOptions, SSEEvent, KivoxFetchClient, KivoxClient, CommonClientOptions, BearerClientOptions, ApiSchema, ApiResponse, ApiRequest };