@soat/sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3833 @@
1
+ import * as openapi_fetch from 'openapi-fetch';
2
+
3
+ interface paths {
4
+ "/actors": {
5
+ parameters: {
6
+ query?: never;
7
+ header?: never;
8
+ path?: never;
9
+ cookie?: never;
10
+ };
11
+ /**
12
+ * List actors
13
+ * @description Returns all actors the caller has access to. If projectId is provided, returns only actors in that project. project keys are scoped to a single project automatically. JWT users without projectId receive actors across all their accessible projects.
14
+ */
15
+ get: operations["listActors"];
16
+ put?: never;
17
+ /**
18
+ * Create an actor
19
+ * @description Creates a new actor. project keys automatically infer the project from the key's scope; JWT callers must supply projectId.
20
+ */
21
+ post: operations["createActor"];
22
+ delete?: never;
23
+ options?: never;
24
+ head?: never;
25
+ patch?: never;
26
+ trace?: never;
27
+ };
28
+ "/actors/{id}": {
29
+ parameters: {
30
+ query?: never;
31
+ header?: never;
32
+ path?: never;
33
+ cookie?: never;
34
+ };
35
+ /**
36
+ * Get an actor by ID
37
+ * @description Returns an actor by its ID
38
+ */
39
+ get: operations["getActor"];
40
+ put?: never;
41
+ post?: never;
42
+ /**
43
+ * Delete an actor
44
+ * @description Deletes an actor by its ID
45
+ */
46
+ delete: operations["deleteActor"];
47
+ options?: never;
48
+ head?: never;
49
+ patch?: never;
50
+ trace?: never;
51
+ };
52
+ "/agents/tools": {
53
+ parameters: {
54
+ query?: never;
55
+ header?: never;
56
+ path?: never;
57
+ cookie?: never;
58
+ };
59
+ /**
60
+ * List agent tools
61
+ * @description Returns all agent tools in the project.
62
+ */
63
+ get: operations["listAgentTools"];
64
+ put?: never;
65
+ /**
66
+ * Create an agent tool
67
+ * @description Creates a new agent tool in the project.
68
+ */
69
+ post: operations["createAgentTool"];
70
+ delete?: never;
71
+ options?: never;
72
+ head?: never;
73
+ patch?: never;
74
+ trace?: never;
75
+ };
76
+ "/agents/tools/{toolId}": {
77
+ parameters: {
78
+ query?: never;
79
+ header?: never;
80
+ path?: never;
81
+ cookie?: never;
82
+ };
83
+ /**
84
+ * Get an agent tool
85
+ * @description Returns a single agent tool by ID.
86
+ */
87
+ get: operations["getAgentTool"];
88
+ /**
89
+ * Update an agent tool
90
+ * @description Updates an existing agent tool.
91
+ */
92
+ put: operations["updateAgentTool"];
93
+ post?: never;
94
+ /**
95
+ * Delete an agent tool
96
+ * @description Deletes an agent tool by ID.
97
+ */
98
+ delete: operations["deleteAgentTool"];
99
+ options?: never;
100
+ head?: never;
101
+ patch?: never;
102
+ trace?: never;
103
+ };
104
+ "/agents/traces": {
105
+ parameters: {
106
+ query?: never;
107
+ header?: never;
108
+ path?: never;
109
+ cookie?: never;
110
+ };
111
+ /**
112
+ * List agent traces
113
+ * @description Returns all traces for the project.
114
+ */
115
+ get: operations["listAgentTraces"];
116
+ put?: never;
117
+ post?: never;
118
+ delete?: never;
119
+ options?: never;
120
+ head?: never;
121
+ patch?: never;
122
+ trace?: never;
123
+ };
124
+ "/agents/traces/{traceId}": {
125
+ parameters: {
126
+ query?: never;
127
+ header?: never;
128
+ path?: never;
129
+ cookie?: never;
130
+ };
131
+ /**
132
+ * Get a trace
133
+ * @description Returns a single trace by ID.
134
+ */
135
+ get: operations["getAgentTrace"];
136
+ put?: never;
137
+ post?: never;
138
+ delete?: never;
139
+ options?: never;
140
+ head?: never;
141
+ patch?: never;
142
+ trace?: never;
143
+ };
144
+ "/agents": {
145
+ parameters: {
146
+ query?: never;
147
+ header?: never;
148
+ path?: never;
149
+ cookie?: never;
150
+ };
151
+ /**
152
+ * List agents
153
+ * @description Returns all agents in the project.
154
+ */
155
+ get: operations["listAgents"];
156
+ put?: never;
157
+ /**
158
+ * Create an agent
159
+ * @description Creates a new agent bound to an AI provider.
160
+ */
161
+ post: operations["createAgent"];
162
+ delete?: never;
163
+ options?: never;
164
+ head?: never;
165
+ patch?: never;
166
+ trace?: never;
167
+ };
168
+ "/agents/{agentId}": {
169
+ parameters: {
170
+ query?: never;
171
+ header?: never;
172
+ path?: never;
173
+ cookie?: never;
174
+ };
175
+ /**
176
+ * Get an agent
177
+ * @description Returns a single agent by ID.
178
+ */
179
+ get: operations["getAgent"];
180
+ /**
181
+ * Update an agent
182
+ * @description Updates an existing agent.
183
+ */
184
+ put: operations["updateAgent"];
185
+ post?: never;
186
+ /**
187
+ * Delete an agent
188
+ * @description Deletes an agent by ID.
189
+ */
190
+ delete: operations["deleteAgent"];
191
+ options?: never;
192
+ head?: never;
193
+ patch?: never;
194
+ trace?: never;
195
+ };
196
+ "/agents/{agentId}/generate": {
197
+ parameters: {
198
+ query?: never;
199
+ header?: never;
200
+ path?: never;
201
+ cookie?: never;
202
+ };
203
+ get?: never;
204
+ put?: never;
205
+ /**
206
+ * Run an agent generation
207
+ * @description Sends messages to the agent, resolves its tools, and runs the AI model loop. Supports streaming via `stream: true`. Client tools pause the generation and return `requires_action`.
208
+ */
209
+ post: operations["createAgentGeneration"];
210
+ delete?: never;
211
+ options?: never;
212
+ head?: never;
213
+ patch?: never;
214
+ trace?: never;
215
+ };
216
+ "/agents/{agentId}/generate/{generationId}/tool-outputs": {
217
+ parameters: {
218
+ query?: never;
219
+ header?: never;
220
+ path?: never;
221
+ cookie?: never;
222
+ };
223
+ get?: never;
224
+ put?: never;
225
+ /**
226
+ * Submit tool outputs for a paused generation
227
+ * @description Resumes a generation that was paused due to client tool calls. Provide tool outputs for each pending tool call.
228
+ */
229
+ post: operations["submitAgentToolOutputs"];
230
+ delete?: never;
231
+ options?: never;
232
+ head?: never;
233
+ patch?: never;
234
+ trace?: never;
235
+ };
236
+ "/chats": {
237
+ parameters: {
238
+ query?: never;
239
+ header?: never;
240
+ path?: never;
241
+ cookie?: never;
242
+ };
243
+ /**
244
+ * List chats
245
+ * @description Returns all chats in the project.
246
+ */
247
+ get: operations["listChats"];
248
+ put?: never;
249
+ /**
250
+ * Create a chat
251
+ * @description Creates a new chat resource bound to an AI provider.
252
+ */
253
+ post: operations["createChat"];
254
+ delete?: never;
255
+ options?: never;
256
+ head?: never;
257
+ patch?: never;
258
+ trace?: never;
259
+ };
260
+ "/chats/{chatId}": {
261
+ parameters: {
262
+ query?: never;
263
+ header?: never;
264
+ path?: never;
265
+ cookie?: never;
266
+ };
267
+ /**
268
+ * Get a chat
269
+ * @description Returns a single chat by ID.
270
+ */
271
+ get: operations["getChat"];
272
+ put?: never;
273
+ post?: never;
274
+ /**
275
+ * Delete a chat
276
+ * @description Deletes a chat by ID.
277
+ */
278
+ delete: operations["deleteChat"];
279
+ options?: never;
280
+ head?: never;
281
+ patch?: never;
282
+ trace?: never;
283
+ };
284
+ "/chats/{chatId}/completions": {
285
+ parameters: {
286
+ query?: never;
287
+ header?: never;
288
+ path?: never;
289
+ cookie?: never;
290
+ };
291
+ get?: never;
292
+ put?: never;
293
+ /**
294
+ * Create a chat completion for a stored chat
295
+ * @description Runs a completion using the AI provider and settings stored in the chat. Pass `stream: true` for SSE streaming. A system message in `messages` overrides the chat's stored system message for this call only. Messages may use `documentId` instead of `content`.
296
+ */
297
+ post: operations["createChatCompletionForChat"];
298
+ delete?: never;
299
+ options?: never;
300
+ head?: never;
301
+ patch?: never;
302
+ trace?: never;
303
+ };
304
+ "/chats/completions": {
305
+ parameters: {
306
+ query?: never;
307
+ header?: never;
308
+ path?: never;
309
+ cookie?: never;
310
+ };
311
+ get?: never;
312
+ put?: never;
313
+ /**
314
+ * Create a chat completion (stateless)
315
+ * @description OpenAI Chat Completions-compatible endpoint. Resolves the AI provider from `aiProviderId`, decrypts its secret, and calls the appropriate Vercel AI SDK provider. Falls back to Ollama when `aiProviderId` is omitted.
316
+ */
317
+ post: operations["createChatCompletion"];
318
+ delete?: never;
319
+ options?: never;
320
+ head?: never;
321
+ patch?: never;
322
+ trace?: never;
323
+ };
324
+ "/conversations": {
325
+ parameters: {
326
+ query?: never;
327
+ header?: never;
328
+ path?: never;
329
+ cookie?: never;
330
+ };
331
+ /**
332
+ * List conversations
333
+ * @description Returns all conversations the caller has access to. If projectId is provided, returns only conversations in that project. project keys are scoped to a single project automatically.
334
+ */
335
+ get: operations["listConversations"];
336
+ put?: never;
337
+ /**
338
+ * Create a conversation
339
+ * @description Creates a new conversation. project keys automatically infer the project from the key's scope; JWT callers must supply projectId.
340
+ */
341
+ post: operations["createConversation"];
342
+ delete?: never;
343
+ options?: never;
344
+ head?: never;
345
+ patch?: never;
346
+ trace?: never;
347
+ };
348
+ "/conversations/{id}": {
349
+ parameters: {
350
+ query?: never;
351
+ header?: never;
352
+ path?: never;
353
+ cookie?: never;
354
+ };
355
+ /**
356
+ * Get a conversation by ID
357
+ * @description Returns a conversation by its ID
358
+ */
359
+ get: operations["getConversation"];
360
+ put?: never;
361
+ post?: never;
362
+ /**
363
+ * Delete a conversation
364
+ * @description Deletes a conversation by its ID
365
+ */
366
+ delete: operations["deleteConversation"];
367
+ options?: never;
368
+ head?: never;
369
+ /**
370
+ * Update a conversation
371
+ * @description Updates the status of a conversation
372
+ */
373
+ patch: operations["updateConversation"];
374
+ trace?: never;
375
+ };
376
+ "/conversations/{id}/messages": {
377
+ parameters: {
378
+ query?: never;
379
+ header?: never;
380
+ path?: never;
381
+ cookie?: never;
382
+ };
383
+ /**
384
+ * List conversation messages
385
+ * @description Returns all messages (documents) attached to a conversation, ordered by position
386
+ */
387
+ get: operations["listConversationMessages"];
388
+ put?: never;
389
+ /**
390
+ * Add a message to a conversation
391
+ * @description Creates a document from the message text and attaches it to the conversation at the given position. If position is omitted, it is appended at the end.
392
+ */
393
+ post: operations["addConversationMessage"];
394
+ delete?: never;
395
+ options?: never;
396
+ head?: never;
397
+ patch?: never;
398
+ trace?: never;
399
+ };
400
+ "/conversations/{id}/generate": {
401
+ parameters: {
402
+ query?: never;
403
+ header?: never;
404
+ path?: never;
405
+ cookie?: never;
406
+ };
407
+ get?: never;
408
+ put?: never;
409
+ /**
410
+ * Generate the next message in a conversation
411
+ * @description Generates the next message using the specified actor's linked agent or chat.
412
+ * On `completed`, the reply is persisted as a new ConversationMessage authored
413
+ * by that actor. On `requires_action`, nothing is persisted; the caller must
414
+ * submit tool outputs via the Agents module and re-invoke generate.
415
+ */
416
+ post: operations["generateConversationMessage"];
417
+ delete?: never;
418
+ options?: never;
419
+ head?: never;
420
+ patch?: never;
421
+ trace?: never;
422
+ };
423
+ "/conversations/{id}/actors": {
424
+ parameters: {
425
+ query?: never;
426
+ header?: never;
427
+ path?: never;
428
+ cookie?: never;
429
+ };
430
+ /**
431
+ * List actors in a conversation
432
+ * @description Returns all distinct actors who have sent at least one message in the conversation
433
+ */
434
+ get: operations["listConversationActors"];
435
+ put?: never;
436
+ post?: never;
437
+ delete?: never;
438
+ options?: never;
439
+ head?: never;
440
+ patch?: never;
441
+ trace?: never;
442
+ };
443
+ "/conversations/{id}/messages/{documentId}": {
444
+ parameters: {
445
+ query?: never;
446
+ header?: never;
447
+ path?: never;
448
+ cookie?: never;
449
+ };
450
+ get?: never;
451
+ put?: never;
452
+ post?: never;
453
+ /**
454
+ * Remove a message from a conversation
455
+ * @description Removes a document from a conversation
456
+ */
457
+ delete: operations["removeConversationMessage"];
458
+ options?: never;
459
+ head?: never;
460
+ patch?: never;
461
+ trace?: never;
462
+ };
463
+ "/documents": {
464
+ parameters: {
465
+ query?: never;
466
+ header?: never;
467
+ path?: never;
468
+ cookie?: never;
469
+ };
470
+ /**
471
+ * List documents
472
+ * @description Returns all documents the caller has access to. If projectId is provided, returns only documents in that project. project keys are scoped to a single project automatically. JWT users without projectId receive documents across all their accessible projects.
473
+ */
474
+ get: operations["listDocuments"];
475
+ put?: never;
476
+ /**
477
+ * Create a document
478
+ * @description Creates a new text document and generates an embedding vector for semantic search. project keys automatically infer the project from the key's scope; JWT callers must supply projectId.
479
+ */
480
+ post: operations["createDocument"];
481
+ delete?: never;
482
+ options?: never;
483
+ head?: never;
484
+ patch?: never;
485
+ trace?: never;
486
+ };
487
+ "/documents/{id}": {
488
+ parameters: {
489
+ query?: never;
490
+ header?: never;
491
+ path?: never;
492
+ cookie?: never;
493
+ };
494
+ /**
495
+ * Get a document by ID
496
+ * @description Returns a document with its text content
497
+ */
498
+ get: operations["getDocument"];
499
+ put?: never;
500
+ post?: never;
501
+ /**
502
+ * Delete a document
503
+ * @description Deletes a document and its underlying file
504
+ */
505
+ delete: operations["deleteDocument"];
506
+ options?: never;
507
+ head?: never;
508
+ patch?: never;
509
+ trace?: never;
510
+ };
511
+ "/documents/search": {
512
+ parameters: {
513
+ query?: never;
514
+ header?: never;
515
+ path?: never;
516
+ cookie?: never;
517
+ };
518
+ get?: never;
519
+ put?: never;
520
+ /**
521
+ * Semantic search over documents
522
+ * @description Embeds the query text and returns the most similar documents using cosine distance. If projectId is omitted, searches across all projects the caller has access to.
523
+ */
524
+ post: operations["searchDocuments"];
525
+ delete?: never;
526
+ options?: never;
527
+ head?: never;
528
+ patch?: never;
529
+ trace?: never;
530
+ };
531
+ "/files": {
532
+ parameters: {
533
+ query?: never;
534
+ header?: never;
535
+ path?: never;
536
+ cookie?: never;
537
+ };
538
+ /**
539
+ * List all files
540
+ * @description Returns a list of all stored files
541
+ */
542
+ get: operations["listFiles"];
543
+ put?: never;
544
+ /**
545
+ * Create a file
546
+ * @description Creates a new file record in the system
547
+ */
548
+ post: operations["createFile"];
549
+ delete?: never;
550
+ options?: never;
551
+ head?: never;
552
+ patch?: never;
553
+ trace?: never;
554
+ };
555
+ "/files/upload": {
556
+ parameters: {
557
+ query?: never;
558
+ header?: never;
559
+ path?: never;
560
+ cookie?: never;
561
+ };
562
+ get?: never;
563
+ put?: never;
564
+ /**
565
+ * Upload a file
566
+ * @description Uploads a file to the server and stores it in the configured storage directory
567
+ */
568
+ post: operations["uploadFile"];
569
+ delete?: never;
570
+ options?: never;
571
+ head?: never;
572
+ patch?: never;
573
+ trace?: never;
574
+ };
575
+ "/files/{id}": {
576
+ parameters: {
577
+ query?: never;
578
+ header?: never;
579
+ path?: never;
580
+ cookie?: never;
581
+ };
582
+ /**
583
+ * Get a file by ID
584
+ * @description Returns the data and metadata of a specific file
585
+ */
586
+ get: operations["getFile"];
587
+ put?: never;
588
+ post?: never;
589
+ /**
590
+ * Delete a file
591
+ * @description Removes a file from the system by ID
592
+ */
593
+ delete: operations["deleteFile"];
594
+ options?: never;
595
+ head?: never;
596
+ patch?: never;
597
+ trace?: never;
598
+ };
599
+ "/files/{id}/download": {
600
+ parameters: {
601
+ query?: never;
602
+ header?: never;
603
+ path?: never;
604
+ cookie?: never;
605
+ };
606
+ /**
607
+ * Download a file
608
+ * @description Streams the file content to the client
609
+ */
610
+ get: operations["downloadFile"];
611
+ put?: never;
612
+ post?: never;
613
+ delete?: never;
614
+ options?: never;
615
+ head?: never;
616
+ patch?: never;
617
+ trace?: never;
618
+ };
619
+ "/files/{id}/metadata": {
620
+ parameters: {
621
+ query?: never;
622
+ header?: never;
623
+ path?: never;
624
+ cookie?: never;
625
+ };
626
+ get?: never;
627
+ put?: never;
628
+ post?: never;
629
+ delete?: never;
630
+ options?: never;
631
+ head?: never;
632
+ /**
633
+ * Update file metadata
634
+ * @description Updates the metadata field of a file
635
+ */
636
+ patch: operations["updateFileMetadata"];
637
+ trace?: never;
638
+ };
639
+ "/users": {
640
+ parameters: {
641
+ query?: never;
642
+ header?: never;
643
+ path?: never;
644
+ cookie?: never;
645
+ };
646
+ /**
647
+ * List all users
648
+ * @description Returns a list of all users
649
+ */
650
+ get: operations["listUsers"];
651
+ put?: never;
652
+ /**
653
+ * Create a user
654
+ * @description Creates a new user in the system
655
+ */
656
+ post: operations["createUser"];
657
+ delete?: never;
658
+ options?: never;
659
+ head?: never;
660
+ patch?: never;
661
+ trace?: never;
662
+ };
663
+ "/users/{id}": {
664
+ parameters: {
665
+ query?: never;
666
+ header?: never;
667
+ path?: never;
668
+ cookie?: never;
669
+ };
670
+ /**
671
+ * Get a user by ID
672
+ * @description Returns the data of a specific user
673
+ */
674
+ get: operations["getUser"];
675
+ put?: never;
676
+ post?: never;
677
+ delete?: never;
678
+ options?: never;
679
+ head?: never;
680
+ patch?: never;
681
+ trace?: never;
682
+ };
683
+ "/users/bootstrap": {
684
+ parameters: {
685
+ query?: never;
686
+ header?: never;
687
+ path?: never;
688
+ cookie?: never;
689
+ };
690
+ get?: never;
691
+ put?: never;
692
+ /**
693
+ * Create the first admin user
694
+ * @description Creates the first admin user. Returns 409 if any user already exists.
695
+ */
696
+ post: operations["bootstrapUser"];
697
+ delete?: never;
698
+ options?: never;
699
+ head?: never;
700
+ patch?: never;
701
+ trace?: never;
702
+ };
703
+ }
704
+ interface components {
705
+ schemas: {
706
+ ActorRecord: {
707
+ /**
708
+ * @description Actor ID
709
+ * @example act_V1StGXR8Z5jdHi6B
710
+ */
711
+ id?: string;
712
+ /**
713
+ * @description Project ID
714
+ * @example proj_V1StGXR8Z5jdHi6B
715
+ */
716
+ projectId?: string;
717
+ /** @example Alice */
718
+ name?: string;
719
+ /**
720
+ * @description Actor type (e.g. 'customer', 'agent')
721
+ * @example customer
722
+ */
723
+ type?: string | null;
724
+ /**
725
+ * @description External identifier (e.g. WhatsApp phone number)
726
+ * @example +15551234567
727
+ */
728
+ externalId?: string | null;
729
+ /** @description Persona-specific instructions composed into the effective system prompt during conversation generation. */
730
+ instructions?: string | null;
731
+ /** @description Agent this actor is linked to (mutually exclusive with chatId). */
732
+ agentId?: string | null;
733
+ /** @description Chat this actor is linked to (mutually exclusive with agentId). */
734
+ chatId?: string | null;
735
+ tags?: {
736
+ [key: string]: string;
737
+ };
738
+ /** Format: date-time */
739
+ createdAt?: string;
740
+ /** Format: date-time */
741
+ updatedAt?: string;
742
+ };
743
+ ErrorResponse: {
744
+ /** @example Actor not found */
745
+ error?: string;
746
+ };
747
+ AgentTool: {
748
+ /**
749
+ * @description Public ID of the agent tool
750
+ * @example agt_tool_V1StGXR8Z5jdHi6B
751
+ */
752
+ id?: string;
753
+ /**
754
+ * @description Public ID of the owning project
755
+ * @example proj_V1StGXR8Z5jdHi6B
756
+ */
757
+ projectId?: string;
758
+ /**
759
+ * @description Tool name
760
+ * @example get-weather
761
+ */
762
+ name?: string;
763
+ /**
764
+ * @description Tool type
765
+ * @example http
766
+ * @enum {string}
767
+ */
768
+ type?: "http" | "client" | "mcp" | "soat";
769
+ /** @description What the tool does (sent to the model) */
770
+ description?: string | null;
771
+ /** @description JSON Schema for tool input */
772
+ parameters?: Record<string, never> | null;
773
+ /** @description Execution config for http tools. Supported fields: `url` (required), `method` (default `POST`), and `headers`. The `url` may contain `{paramName}` placeholders (e.g. `/users/{userId}`) that are replaced at call time with the corresponding tool argument value (URL-encoded). Arguments consumed as path parameters are excluded from the query string and request body. */
774
+ execute?: Record<string, never> | null;
775
+ /** @description MCP server config (url, headers) */
776
+ mcp?: Record<string, never> | null;
777
+ /** @description SOAT platform actions to expose */
778
+ actions?: string[] | null;
779
+ /** Format: date-time */
780
+ createdAt?: string;
781
+ /** Format: date-time */
782
+ updatedAt?: string;
783
+ };
784
+ CreateAgentToolRequest: {
785
+ /** @description Public ID of the project */
786
+ projectId?: string;
787
+ /** @description Tool name */
788
+ name: string;
789
+ /**
790
+ * @description Tool type (default http)
791
+ * @enum {string}
792
+ */
793
+ type?: "http" | "client" | "mcp" | "soat";
794
+ /** @description What the tool does */
795
+ description?: string;
796
+ /** @description JSON Schema for tool input */
797
+ parameters?: Record<string, never>;
798
+ /** @description Execution config for http tools. Supported fields: `url` (required), `method` (default `POST`), and `headers`. The `url` may contain `{paramName}` placeholders (e.g. `/users/{userId}`) that are replaced at call time with the corresponding tool argument value (URL-encoded). Arguments consumed as path parameters are excluded from the query string and request body. */
799
+ execute?: Record<string, never>;
800
+ /** @description MCP server config (url, headers) */
801
+ mcp?: Record<string, never>;
802
+ /** @description SOAT platform actions */
803
+ actions?: string[];
804
+ };
805
+ UpdateAgentToolRequest: {
806
+ name?: string;
807
+ /** @enum {string} */
808
+ type?: "http" | "client" | "mcp" | "soat";
809
+ description?: string | null;
810
+ parameters?: Record<string, never> | null;
811
+ /** @description Execution config for http tools. Supported fields: `url` (required), `method` (default `POST`), and `headers`. The `url` may contain `{paramName}` placeholders (e.g. `/users/{userId}`) that are replaced at call time with the corresponding tool argument value (URL-encoded). Arguments consumed as path parameters are excluded from the query string and request body. */
812
+ execute?: Record<string, never> | null;
813
+ mcp?: Record<string, never> | null;
814
+ actions?: string[] | null;
815
+ };
816
+ Agent: {
817
+ /**
818
+ * @description Public ID of the agent
819
+ * @example agt_V1StGXR8Z5jdHi6B
820
+ */
821
+ id?: string;
822
+ /** @description Public ID of the owning project */
823
+ projectId?: string;
824
+ /** @description Public ID of the AI provider */
825
+ aiProviderId?: string;
826
+ /** @description Display name */
827
+ name?: string | null;
828
+ /** @description System instructions guiding behavior */
829
+ instructions?: string | null;
830
+ /** @description Model identifier */
831
+ model?: string | null;
832
+ /** @description Public IDs of attached agent tools */
833
+ toolIds?: string[] | null;
834
+ /** @description Maximum reasoning steps */
835
+ maxSteps?: number | null;
836
+ /** @description Tool choice strategy */
837
+ toolChoice?: Record<string, never> | null;
838
+ /** @description Stop conditions */
839
+ stopConditions?: Record<string, never>[] | null;
840
+ /** @description Subset of toolIds active per step */
841
+ activeToolIds?: string[] | null;
842
+ /** @description Per-step overrides */
843
+ stepRules?: Record<string, never>[] | null;
844
+ /** @description Allowed/denied SOAT actions */
845
+ boundaryPolicy?: Record<string, never> | null;
846
+ /** @description Sampling temperature */
847
+ temperature?: number | null;
848
+ /** Format: date-time */
849
+ createdAt?: string;
850
+ /** Format: date-time */
851
+ updatedAt?: string;
852
+ };
853
+ CreateAgentRequest: {
854
+ /** @description Public ID of the project */
855
+ projectId?: string;
856
+ /** @description Public ID of the AI provider */
857
+ aiProviderId: string;
858
+ name?: string;
859
+ instructions?: string;
860
+ model?: string;
861
+ toolIds?: string[];
862
+ maxSteps?: number;
863
+ toolChoice?: Record<string, never>;
864
+ stopConditions?: Record<string, never>[];
865
+ activeToolIds?: string[];
866
+ stepRules?: Record<string, never>[];
867
+ boundaryPolicy?: Record<string, never>;
868
+ temperature?: number;
869
+ };
870
+ UpdateAgentRequest: {
871
+ aiProviderId?: string;
872
+ name?: string | null;
873
+ instructions?: string | null;
874
+ model?: string | null;
875
+ toolIds?: string[] | null;
876
+ maxSteps?: number | null;
877
+ toolChoice?: Record<string, never> | null;
878
+ stopConditions?: Record<string, never>[] | null;
879
+ activeToolIds?: string[] | null;
880
+ stepRules?: Record<string, never>[] | null;
881
+ boundaryPolicy?: Record<string, never> | null;
882
+ temperature?: number | null;
883
+ };
884
+ CreateAgentGenerationRequest: {
885
+ messages: {
886
+ /** @enum {string} */
887
+ role: "system" | "user" | "assistant";
888
+ content: string;
889
+ }[];
890
+ /**
891
+ * @description When true the response is an SSE stream
892
+ * @default false
893
+ */
894
+ stream: boolean;
895
+ /** @description Optional trace ID to group generations */
896
+ traceId?: string;
897
+ /**
898
+ * @description Maximum nested agent-call depth; 0 short-circuits with a depth-guard response
899
+ * @default 10
900
+ */
901
+ maxCallDepth: number;
902
+ };
903
+ SubmitToolOutputsRequest: {
904
+ toolOutputs: {
905
+ /** @description ID of the tool call to respond to */
906
+ toolCallId: string;
907
+ /** @description Result of the tool execution */
908
+ output: unknown;
909
+ }[];
910
+ };
911
+ AgentGenerationResponse: {
912
+ /**
913
+ * @description Public ID of the generation
914
+ * @example agt_gen_V1StGXR8Z5jdHi6B
915
+ */
916
+ id?: string;
917
+ /**
918
+ * @description Generation status
919
+ * @enum {string}
920
+ */
921
+ status?: "completed" | "requires_action";
922
+ /** @description Final text output (when completed) */
923
+ text?: string | null;
924
+ /** @description Pending tool calls (when requires_action) */
925
+ toolCalls?: {
926
+ toolCallId?: string;
927
+ toolName?: string;
928
+ args?: Record<string, never>;
929
+ }[] | null;
930
+ };
931
+ AgentTrace: {
932
+ /**
933
+ * @description Public ID of the trace
934
+ * @example agt_trace_V1StGXR8Z5jdHi6B
935
+ */
936
+ id?: string;
937
+ projectId?: string;
938
+ agentId?: string;
939
+ generations?: Record<string, never>[];
940
+ /** Format: date-time */
941
+ createdAt?: string;
942
+ };
943
+ Chat: {
944
+ /**
945
+ * @description Public ID of the chat
946
+ * @example cht_V1StGXR8Z5jdHi6B
947
+ */
948
+ id?: string;
949
+ /**
950
+ * @description Public ID of the owning project
951
+ * @example proj_V1StGXR8Z5jdHi6B
952
+ */
953
+ projectId?: string;
954
+ /**
955
+ * @description Public ID of the AI provider
956
+ * @example aip_V1StGXR8Z5jdHi6B
957
+ */
958
+ aiProviderId?: string;
959
+ /**
960
+ * @description Optional human-readable name
961
+ * @example Support Bot
962
+ */
963
+ name?: string | null;
964
+ /**
965
+ * @description Optional system message sent with every completion
966
+ * @example You are a helpful support assistant.
967
+ */
968
+ systemMessage?: string | null;
969
+ /**
970
+ * @description Optional model override for this chat
971
+ * @example gpt-4o
972
+ */
973
+ model?: string | null;
974
+ /** Format: date-time */
975
+ createdAt?: string;
976
+ /** Format: date-time */
977
+ updatedAt?: string;
978
+ };
979
+ CreateChatRequest: {
980
+ /**
981
+ * @description Public ID of the AI provider
982
+ * @example aip_V1StGXR8Z5jdHi6B
983
+ */
984
+ aiProviderId: string;
985
+ /**
986
+ * @description Public ID of the project. Required when the user belongs to multiple projects and no project key is used.
987
+ * @example proj_V1StGXR8Z5jdHi6B
988
+ */
989
+ projectId?: string;
990
+ /**
991
+ * @description Optional human-readable name
992
+ * @example Support Bot
993
+ */
994
+ name?: string;
995
+ /**
996
+ * @description Optional system message applied to all completions on this chat
997
+ * @example You are a helpful support assistant.
998
+ */
999
+ systemMessage?: string;
1000
+ /**
1001
+ * @description Optional default model override
1002
+ * @example gpt-4o
1003
+ */
1004
+ model?: string;
1005
+ };
1006
+ ChatMessageInput: {
1007
+ /**
1008
+ * @example user
1009
+ * @enum {string}
1010
+ */
1011
+ role: "system" | "user" | "assistant";
1012
+ /**
1013
+ * @description Text content of the message (mutually exclusive with documentId)
1014
+ * @example What can you help me with?
1015
+ */
1016
+ content?: string;
1017
+ /**
1018
+ * @description Public ID of a document whose content is used as the message body (mutually exclusive with content). Only valid for user/assistant roles.
1019
+ * @example doc_V1StGXR8Z5jdHi6B
1020
+ */
1021
+ documentId?: string;
1022
+ };
1023
+ ChatCompletionForChatRequest: {
1024
+ messages: components["schemas"]["ChatMessageInput"][];
1025
+ /**
1026
+ * @description Override the chat's default model for this call
1027
+ * @example gpt-4o-mini
1028
+ */
1029
+ model?: string;
1030
+ /**
1031
+ * @description When `true` the response is an SSE stream.
1032
+ * @default false
1033
+ */
1034
+ stream: boolean;
1035
+ };
1036
+ ChatMessage: {
1037
+ /**
1038
+ * @description Role of the message author
1039
+ * @example user
1040
+ * @enum {string}
1041
+ */
1042
+ role: "system" | "user" | "assistant";
1043
+ /**
1044
+ * @description Text content of the message
1045
+ * @example Hello, how are you?
1046
+ */
1047
+ content: string;
1048
+ };
1049
+ ChatCompletionRequest: {
1050
+ /**
1051
+ * @description Public ID of the AI provider to use. When omitted the server falls back to Ollama.
1052
+ * @example aip_V1StGXR8Z5jdHi6B
1053
+ */
1054
+ aiProviderId?: string;
1055
+ /**
1056
+ * @description Model identifier. Overrides the provider's `defaultModel` when specified.
1057
+ * @example gpt-4o
1058
+ */
1059
+ model?: string;
1060
+ /** @description Ordered list of chat messages */
1061
+ messages: components["schemas"]["ChatMessage"][];
1062
+ /**
1063
+ * @description When `true` the response is an SSE stream of delta chunks. When `false` (default) a single JSON object is returned.
1064
+ * @default false
1065
+ */
1066
+ stream: boolean;
1067
+ };
1068
+ ChatCompletionResponseMessage: {
1069
+ /** @example assistant */
1070
+ role?: string;
1071
+ /** @example Hello! I am doing well, thank you. */
1072
+ content?: string;
1073
+ };
1074
+ ChatCompletionChoice: {
1075
+ /** @example 0 */
1076
+ index?: number;
1077
+ message?: components["schemas"]["ChatCompletionResponseMessage"];
1078
+ /** @example stop */
1079
+ finish_reason?: string;
1080
+ };
1081
+ ChatCompletionResponse: {
1082
+ /** @example chat.completion */
1083
+ object?: string;
1084
+ /** @example gpt-4o */
1085
+ model?: string;
1086
+ choices?: components["schemas"]["ChatCompletionChoice"][];
1087
+ };
1088
+ ConversationRecord: {
1089
+ /**
1090
+ * @description Conversation ID
1091
+ * @example conv_V1StGXR8Z5jdHi6B
1092
+ */
1093
+ id?: string;
1094
+ /**
1095
+ * @description Project ID
1096
+ * @example proj_V1StGXR8Z5jdHi6B
1097
+ */
1098
+ projectId?: string;
1099
+ /** @description Optional human-readable name for the conversation. */
1100
+ name?: string | null;
1101
+ /**
1102
+ * @description Conversation status
1103
+ * @example open
1104
+ * @enum {string}
1105
+ */
1106
+ status?: "open" | "closed";
1107
+ /**
1108
+ * Format: date-time
1109
+ * @description Creation timestamp
1110
+ */
1111
+ createdAt?: string;
1112
+ /**
1113
+ * Format: date-time
1114
+ * @description Last update timestamp
1115
+ */
1116
+ updatedAt?: string;
1117
+ };
1118
+ ConversationMessageRecord: {
1119
+ /**
1120
+ * @description Document ID
1121
+ * @example doc_V1StGXR8Z5jdHi6B
1122
+ */
1123
+ documentId?: string;
1124
+ /**
1125
+ * @description Actor ID who sent this message
1126
+ * @example act_V1StGXR8Z5jdHi6B
1127
+ */
1128
+ actorId?: string;
1129
+ /**
1130
+ * @description Zero-based position in the conversation
1131
+ * @example 0
1132
+ */
1133
+ position?: number;
1134
+ };
1135
+ ConversationActorRecord: {
1136
+ /**
1137
+ * @description Actor ID
1138
+ * @example act_V1StGXR8Z5jdHi6B
1139
+ */
1140
+ id?: string;
1141
+ /**
1142
+ * @description Project ID
1143
+ * @example proj_V1StGXR8Z5jdHi6B
1144
+ */
1145
+ projectId?: string;
1146
+ /**
1147
+ * @description Actor name
1148
+ * @example Alice
1149
+ */
1150
+ name?: string;
1151
+ /**
1152
+ * @description Actor type
1153
+ * @example human
1154
+ */
1155
+ type?: string;
1156
+ /**
1157
+ * @description External identifier
1158
+ * @example ext_123
1159
+ */
1160
+ externalId?: string;
1161
+ /**
1162
+ * Format: date-time
1163
+ * @description Creation timestamp
1164
+ */
1165
+ createdAt?: string;
1166
+ /**
1167
+ * Format: date-time
1168
+ * @description Last update timestamp
1169
+ */
1170
+ updatedAt?: string;
1171
+ };
1172
+ DocumentRecord: {
1173
+ /**
1174
+ * @description Document ID
1175
+ * @example doc_V1StGXR8Z5jdHi6B
1176
+ */
1177
+ id?: string;
1178
+ /**
1179
+ * @description Underlying file ID
1180
+ * @example file_V1StGXR8Z5jdHi6B
1181
+ */
1182
+ fileId?: string;
1183
+ /**
1184
+ * @description Project ID
1185
+ * @example proj_V1StGXR8Z5jdHi6B
1186
+ */
1187
+ projectId?: string;
1188
+ /**
1189
+ * @description Original filename
1190
+ * @example my-doc.txt
1191
+ */
1192
+ filename?: string;
1193
+ /**
1194
+ * @description File size in bytes
1195
+ * @example 42
1196
+ */
1197
+ size?: number;
1198
+ /**
1199
+ * @description Text content (only present on getDocument)
1200
+ * @example The quick brown fox jumps over the lazy dog.
1201
+ */
1202
+ content?: string | null;
1203
+ /** Format: date-time */
1204
+ createdAt?: string;
1205
+ /** Format: date-time */
1206
+ updatedAt?: string;
1207
+ };
1208
+ /** @description Stored file metadata */
1209
+ FileRecord: {
1210
+ /**
1211
+ * @description Unique file identifier
1212
+ * @example abc123
1213
+ */
1214
+ id?: string;
1215
+ /**
1216
+ * @description Name of the file
1217
+ * @example document.pdf
1218
+ */
1219
+ filename?: string;
1220
+ /**
1221
+ * @description MIME type of the file
1222
+ * @example application/pdf
1223
+ */
1224
+ contentType?: string;
1225
+ /**
1226
+ * @description File size in bytes
1227
+ * @example 1024
1228
+ */
1229
+ size?: number;
1230
+ /**
1231
+ * @description Storage backend type
1232
+ * @example local
1233
+ * @enum {string}
1234
+ */
1235
+ storageType?: "local" | "s3" | "gcs";
1236
+ /**
1237
+ * @description Path where the file is stored
1238
+ * @example /uploads/document.pdf
1239
+ */
1240
+ storagePath?: string;
1241
+ /**
1242
+ * @description JSON string with additional metadata
1243
+ * @example {"author":"John"}
1244
+ */
1245
+ metadata?: string;
1246
+ /**
1247
+ * Format: date-time
1248
+ * @description Creation timestamp
1249
+ */
1250
+ createdAt?: string;
1251
+ /**
1252
+ * Format: date-time
1253
+ * @description Last update timestamp
1254
+ */
1255
+ updatedAt?: string;
1256
+ };
1257
+ UserRecord: {
1258
+ /**
1259
+ * @description Public user ID (usr_ prefix)
1260
+ * @example usr_V1StGXR8Z5jdHi6B
1261
+ */
1262
+ id?: string;
1263
+ /** @example johndoe */
1264
+ username?: string;
1265
+ /**
1266
+ * @example user
1267
+ * @enum {string}
1268
+ */
1269
+ role?: "admin" | "user";
1270
+ /**
1271
+ * Format: date-time
1272
+ * @example 2024-01-01T00:00:00.000Z
1273
+ */
1274
+ createdAt?: string;
1275
+ /**
1276
+ * Format: date-time
1277
+ * @example 2024-01-01T00:00:00.000Z
1278
+ */
1279
+ updatedAt?: string;
1280
+ };
1281
+ };
1282
+ responses: {
1283
+ /** @description Authentication required */
1284
+ Unauthorized: {
1285
+ headers: {
1286
+ [name: string]: unknown;
1287
+ };
1288
+ content: {
1289
+ "application/json": components["schemas"]["ErrorResponse"];
1290
+ };
1291
+ };
1292
+ /** @description Insufficient permissions */
1293
+ Forbidden: {
1294
+ headers: {
1295
+ [name: string]: unknown;
1296
+ };
1297
+ content: {
1298
+ /** @example File not found */
1299
+ "application/json": components["schemas"]["ErrorResponse"];
1300
+ };
1301
+ };
1302
+ };
1303
+ parameters: never;
1304
+ requestBodies: never;
1305
+ headers: never;
1306
+ pathItems: never;
1307
+ }
1308
+ interface operations {
1309
+ listActors: {
1310
+ parameters: {
1311
+ query?: {
1312
+ /** @description Project ID (optional) */
1313
+ projectId?: string;
1314
+ /** @description External ID to filter by (e.g. WhatsApp phone number) */
1315
+ externalId?: string;
1316
+ };
1317
+ header?: never;
1318
+ path?: never;
1319
+ cookie?: never;
1320
+ };
1321
+ requestBody?: never;
1322
+ responses: {
1323
+ /** @description List of actors */
1324
+ 200: {
1325
+ headers: {
1326
+ [name: string]: unknown;
1327
+ };
1328
+ content: {
1329
+ "application/json": components["schemas"]["ActorRecord"][];
1330
+ };
1331
+ };
1332
+ /** @description Unauthorized */
1333
+ 401: {
1334
+ headers: {
1335
+ [name: string]: unknown;
1336
+ };
1337
+ content: {
1338
+ "application/json": components["schemas"]["ErrorResponse"];
1339
+ };
1340
+ };
1341
+ /** @description Forbidden */
1342
+ 403: {
1343
+ headers: {
1344
+ [name: string]: unknown;
1345
+ };
1346
+ content: {
1347
+ "application/json": components["schemas"]["ErrorResponse"];
1348
+ };
1349
+ };
1350
+ };
1351
+ };
1352
+ createActor: {
1353
+ parameters: {
1354
+ query?: never;
1355
+ header?: never;
1356
+ path?: never;
1357
+ cookie?: never;
1358
+ };
1359
+ requestBody: {
1360
+ content: {
1361
+ "application/json": {
1362
+ /**
1363
+ * @description Project ID. Required for JWT auth; omit when using an project key.
1364
+ * @example proj_V1StGXR8Z5jdHi6B
1365
+ */
1366
+ projectId?: string;
1367
+ /** @example Alice */
1368
+ name: string;
1369
+ /**
1370
+ * @description Optional actor type (e.g. 'customer', 'agent')
1371
+ * @example customer
1372
+ */
1373
+ type?: string;
1374
+ /**
1375
+ * @description Optional external identifier (e.g. WhatsApp phone number). Must be unique within a project.
1376
+ * @example +15551234567
1377
+ */
1378
+ externalId?: string;
1379
+ };
1380
+ };
1381
+ };
1382
+ responses: {
1383
+ /** @description Actor created */
1384
+ 201: {
1385
+ headers: {
1386
+ [name: string]: unknown;
1387
+ };
1388
+ content: {
1389
+ "application/json": components["schemas"]["ActorRecord"];
1390
+ };
1391
+ };
1392
+ /** @description Invalid request body */
1393
+ 400: {
1394
+ headers: {
1395
+ [name: string]: unknown;
1396
+ };
1397
+ content: {
1398
+ "application/json": components["schemas"]["ErrorResponse"];
1399
+ };
1400
+ };
1401
+ /** @description Unauthorized */
1402
+ 401: {
1403
+ headers: {
1404
+ [name: string]: unknown;
1405
+ };
1406
+ content: {
1407
+ "application/json": components["schemas"]["ErrorResponse"];
1408
+ };
1409
+ };
1410
+ /** @description Forbidden */
1411
+ 403: {
1412
+ headers: {
1413
+ [name: string]: unknown;
1414
+ };
1415
+ content: {
1416
+ "application/json": components["schemas"]["ErrorResponse"];
1417
+ };
1418
+ };
1419
+ };
1420
+ };
1421
+ getActor: {
1422
+ parameters: {
1423
+ query?: never;
1424
+ header?: never;
1425
+ path: {
1426
+ /** @description Actor ID */
1427
+ id: string;
1428
+ };
1429
+ cookie?: never;
1430
+ };
1431
+ requestBody?: never;
1432
+ responses: {
1433
+ /** @description Actor found */
1434
+ 200: {
1435
+ headers: {
1436
+ [name: string]: unknown;
1437
+ };
1438
+ content: {
1439
+ "application/json": components["schemas"]["ActorRecord"];
1440
+ };
1441
+ };
1442
+ /** @description Unauthorized */
1443
+ 401: {
1444
+ headers: {
1445
+ [name: string]: unknown;
1446
+ };
1447
+ content: {
1448
+ "application/json": components["schemas"]["ErrorResponse"];
1449
+ };
1450
+ };
1451
+ /** @description Forbidden */
1452
+ 403: {
1453
+ headers: {
1454
+ [name: string]: unknown;
1455
+ };
1456
+ content: {
1457
+ "application/json": components["schemas"]["ErrorResponse"];
1458
+ };
1459
+ };
1460
+ /** @description Actor not found */
1461
+ 404: {
1462
+ headers: {
1463
+ [name: string]: unknown;
1464
+ };
1465
+ content: {
1466
+ "application/json": components["schemas"]["ErrorResponse"];
1467
+ };
1468
+ };
1469
+ };
1470
+ };
1471
+ deleteActor: {
1472
+ parameters: {
1473
+ query?: never;
1474
+ header?: never;
1475
+ path: {
1476
+ /** @description Actor ID */
1477
+ id: string;
1478
+ };
1479
+ cookie?: never;
1480
+ };
1481
+ requestBody?: never;
1482
+ responses: {
1483
+ /** @description Actor deleted */
1484
+ 204: {
1485
+ headers: {
1486
+ [name: string]: unknown;
1487
+ };
1488
+ content?: never;
1489
+ };
1490
+ /** @description Unauthorized */
1491
+ 401: {
1492
+ headers: {
1493
+ [name: string]: unknown;
1494
+ };
1495
+ content: {
1496
+ "application/json": components["schemas"]["ErrorResponse"];
1497
+ };
1498
+ };
1499
+ /** @description Forbidden */
1500
+ 403: {
1501
+ headers: {
1502
+ [name: string]: unknown;
1503
+ };
1504
+ content: {
1505
+ "application/json": components["schemas"]["ErrorResponse"];
1506
+ };
1507
+ };
1508
+ /** @description Actor not found */
1509
+ 404: {
1510
+ headers: {
1511
+ [name: string]: unknown;
1512
+ };
1513
+ content: {
1514
+ "application/json": components["schemas"]["ErrorResponse"];
1515
+ };
1516
+ };
1517
+ };
1518
+ };
1519
+ listAgentTools: {
1520
+ parameters: {
1521
+ query?: {
1522
+ /** @description Project public ID to filter by */
1523
+ projectId?: string;
1524
+ };
1525
+ header?: never;
1526
+ path?: never;
1527
+ cookie?: never;
1528
+ };
1529
+ requestBody?: never;
1530
+ responses: {
1531
+ /** @description List of agent tools */
1532
+ 200: {
1533
+ headers: {
1534
+ [name: string]: unknown;
1535
+ };
1536
+ content: {
1537
+ "application/json": components["schemas"]["AgentTool"][];
1538
+ };
1539
+ };
1540
+ /** @description Unauthorized */
1541
+ 401: {
1542
+ headers: {
1543
+ [name: string]: unknown;
1544
+ };
1545
+ content: {
1546
+ "application/json": components["schemas"]["ErrorResponse"];
1547
+ };
1548
+ };
1549
+ /** @description Forbidden */
1550
+ 403: {
1551
+ headers: {
1552
+ [name: string]: unknown;
1553
+ };
1554
+ content: {
1555
+ "application/json": components["schemas"]["ErrorResponse"];
1556
+ };
1557
+ };
1558
+ };
1559
+ };
1560
+ createAgentTool: {
1561
+ parameters: {
1562
+ query?: never;
1563
+ header?: never;
1564
+ path?: never;
1565
+ cookie?: never;
1566
+ };
1567
+ requestBody: {
1568
+ content: {
1569
+ "application/json": components["schemas"]["CreateAgentToolRequest"];
1570
+ };
1571
+ };
1572
+ responses: {
1573
+ /** @description Agent tool created */
1574
+ 201: {
1575
+ headers: {
1576
+ [name: string]: unknown;
1577
+ };
1578
+ content: {
1579
+ "application/json": components["schemas"]["AgentTool"];
1580
+ };
1581
+ };
1582
+ /** @description Bad Request */
1583
+ 400: {
1584
+ headers: {
1585
+ [name: string]: unknown;
1586
+ };
1587
+ content: {
1588
+ "application/json": components["schemas"]["ErrorResponse"];
1589
+ };
1590
+ };
1591
+ /** @description Unauthorized */
1592
+ 401: {
1593
+ headers: {
1594
+ [name: string]: unknown;
1595
+ };
1596
+ content: {
1597
+ "application/json": components["schemas"]["ErrorResponse"];
1598
+ };
1599
+ };
1600
+ /** @description Forbidden */
1601
+ 403: {
1602
+ headers: {
1603
+ [name: string]: unknown;
1604
+ };
1605
+ content: {
1606
+ "application/json": components["schemas"]["ErrorResponse"];
1607
+ };
1608
+ };
1609
+ };
1610
+ };
1611
+ getAgentTool: {
1612
+ parameters: {
1613
+ query?: never;
1614
+ header?: never;
1615
+ path: {
1616
+ toolId: string;
1617
+ };
1618
+ cookie?: never;
1619
+ };
1620
+ requestBody?: never;
1621
+ responses: {
1622
+ /** @description Agent tool */
1623
+ 200: {
1624
+ headers: {
1625
+ [name: string]: unknown;
1626
+ };
1627
+ content: {
1628
+ "application/json": components["schemas"]["AgentTool"];
1629
+ };
1630
+ };
1631
+ /** @description Unauthorized */
1632
+ 401: {
1633
+ headers: {
1634
+ [name: string]: unknown;
1635
+ };
1636
+ content: {
1637
+ "application/json": components["schemas"]["ErrorResponse"];
1638
+ };
1639
+ };
1640
+ /** @description Forbidden */
1641
+ 403: {
1642
+ headers: {
1643
+ [name: string]: unknown;
1644
+ };
1645
+ content: {
1646
+ "application/json": components["schemas"]["ErrorResponse"];
1647
+ };
1648
+ };
1649
+ /** @description Not found */
1650
+ 404: {
1651
+ headers: {
1652
+ [name: string]: unknown;
1653
+ };
1654
+ content: {
1655
+ "application/json": components["schemas"]["ErrorResponse"];
1656
+ };
1657
+ };
1658
+ };
1659
+ };
1660
+ updateAgentTool: {
1661
+ parameters: {
1662
+ query?: never;
1663
+ header?: never;
1664
+ path: {
1665
+ toolId: string;
1666
+ };
1667
+ cookie?: never;
1668
+ };
1669
+ requestBody: {
1670
+ content: {
1671
+ "application/json": components["schemas"]["UpdateAgentToolRequest"];
1672
+ };
1673
+ };
1674
+ responses: {
1675
+ /** @description Agent tool updated */
1676
+ 200: {
1677
+ headers: {
1678
+ [name: string]: unknown;
1679
+ };
1680
+ content: {
1681
+ "application/json": components["schemas"]["AgentTool"];
1682
+ };
1683
+ };
1684
+ /** @description Unauthorized */
1685
+ 401: {
1686
+ headers: {
1687
+ [name: string]: unknown;
1688
+ };
1689
+ content: {
1690
+ "application/json": components["schemas"]["ErrorResponse"];
1691
+ };
1692
+ };
1693
+ /** @description Forbidden */
1694
+ 403: {
1695
+ headers: {
1696
+ [name: string]: unknown;
1697
+ };
1698
+ content: {
1699
+ "application/json": components["schemas"]["ErrorResponse"];
1700
+ };
1701
+ };
1702
+ /** @description Not found */
1703
+ 404: {
1704
+ headers: {
1705
+ [name: string]: unknown;
1706
+ };
1707
+ content: {
1708
+ "application/json": components["schemas"]["ErrorResponse"];
1709
+ };
1710
+ };
1711
+ };
1712
+ };
1713
+ deleteAgentTool: {
1714
+ parameters: {
1715
+ query?: never;
1716
+ header?: never;
1717
+ path: {
1718
+ toolId: string;
1719
+ };
1720
+ cookie?: never;
1721
+ };
1722
+ requestBody?: never;
1723
+ responses: {
1724
+ /** @description Deleted */
1725
+ 204: {
1726
+ headers: {
1727
+ [name: string]: unknown;
1728
+ };
1729
+ content?: never;
1730
+ };
1731
+ /** @description Unauthorized */
1732
+ 401: {
1733
+ headers: {
1734
+ [name: string]: unknown;
1735
+ };
1736
+ content: {
1737
+ "application/json": components["schemas"]["ErrorResponse"];
1738
+ };
1739
+ };
1740
+ /** @description Forbidden */
1741
+ 403: {
1742
+ headers: {
1743
+ [name: string]: unknown;
1744
+ };
1745
+ content: {
1746
+ "application/json": components["schemas"]["ErrorResponse"];
1747
+ };
1748
+ };
1749
+ /** @description Not found */
1750
+ 404: {
1751
+ headers: {
1752
+ [name: string]: unknown;
1753
+ };
1754
+ content: {
1755
+ "application/json": components["schemas"]["ErrorResponse"];
1756
+ };
1757
+ };
1758
+ };
1759
+ };
1760
+ listAgentTraces: {
1761
+ parameters: {
1762
+ query?: {
1763
+ /** @description Project public ID to filter by */
1764
+ projectId?: string;
1765
+ };
1766
+ header?: never;
1767
+ path?: never;
1768
+ cookie?: never;
1769
+ };
1770
+ requestBody?: never;
1771
+ responses: {
1772
+ /** @description List of traces */
1773
+ 200: {
1774
+ headers: {
1775
+ [name: string]: unknown;
1776
+ };
1777
+ content: {
1778
+ "application/json": components["schemas"]["AgentTrace"][];
1779
+ };
1780
+ };
1781
+ /** @description Unauthorized */
1782
+ 401: {
1783
+ headers: {
1784
+ [name: string]: unknown;
1785
+ };
1786
+ content: {
1787
+ "application/json": components["schemas"]["ErrorResponse"];
1788
+ };
1789
+ };
1790
+ /** @description Forbidden */
1791
+ 403: {
1792
+ headers: {
1793
+ [name: string]: unknown;
1794
+ };
1795
+ content: {
1796
+ "application/json": components["schemas"]["ErrorResponse"];
1797
+ };
1798
+ };
1799
+ };
1800
+ };
1801
+ getAgentTrace: {
1802
+ parameters: {
1803
+ query?: never;
1804
+ header?: never;
1805
+ path: {
1806
+ traceId: string;
1807
+ };
1808
+ cookie?: never;
1809
+ };
1810
+ requestBody?: never;
1811
+ responses: {
1812
+ /** @description Trace details */
1813
+ 200: {
1814
+ headers: {
1815
+ [name: string]: unknown;
1816
+ };
1817
+ content: {
1818
+ "application/json": components["schemas"]["AgentTrace"];
1819
+ };
1820
+ };
1821
+ /** @description Unauthorized */
1822
+ 401: {
1823
+ headers: {
1824
+ [name: string]: unknown;
1825
+ };
1826
+ content: {
1827
+ "application/json": components["schemas"]["ErrorResponse"];
1828
+ };
1829
+ };
1830
+ /** @description Forbidden */
1831
+ 403: {
1832
+ headers: {
1833
+ [name: string]: unknown;
1834
+ };
1835
+ content: {
1836
+ "application/json": components["schemas"]["ErrorResponse"];
1837
+ };
1838
+ };
1839
+ /** @description Not found */
1840
+ 404: {
1841
+ headers: {
1842
+ [name: string]: unknown;
1843
+ };
1844
+ content: {
1845
+ "application/json": components["schemas"]["ErrorResponse"];
1846
+ };
1847
+ };
1848
+ };
1849
+ };
1850
+ listAgents: {
1851
+ parameters: {
1852
+ query?: {
1853
+ /** @description Project public ID to filter by */
1854
+ projectId?: string;
1855
+ };
1856
+ header?: never;
1857
+ path?: never;
1858
+ cookie?: never;
1859
+ };
1860
+ requestBody?: never;
1861
+ responses: {
1862
+ /** @description List of agents */
1863
+ 200: {
1864
+ headers: {
1865
+ [name: string]: unknown;
1866
+ };
1867
+ content: {
1868
+ "application/json": components["schemas"]["Agent"][];
1869
+ };
1870
+ };
1871
+ /** @description Unauthorized */
1872
+ 401: {
1873
+ headers: {
1874
+ [name: string]: unknown;
1875
+ };
1876
+ content: {
1877
+ "application/json": components["schemas"]["ErrorResponse"];
1878
+ };
1879
+ };
1880
+ /** @description Forbidden */
1881
+ 403: {
1882
+ headers: {
1883
+ [name: string]: unknown;
1884
+ };
1885
+ content: {
1886
+ "application/json": components["schemas"]["ErrorResponse"];
1887
+ };
1888
+ };
1889
+ };
1890
+ };
1891
+ createAgent: {
1892
+ parameters: {
1893
+ query?: never;
1894
+ header?: never;
1895
+ path?: never;
1896
+ cookie?: never;
1897
+ };
1898
+ requestBody: {
1899
+ content: {
1900
+ "application/json": components["schemas"]["CreateAgentRequest"];
1901
+ };
1902
+ };
1903
+ responses: {
1904
+ /** @description Agent created */
1905
+ 201: {
1906
+ headers: {
1907
+ [name: string]: unknown;
1908
+ };
1909
+ content: {
1910
+ "application/json": components["schemas"]["Agent"];
1911
+ };
1912
+ };
1913
+ /** @description Bad Request */
1914
+ 400: {
1915
+ headers: {
1916
+ [name: string]: unknown;
1917
+ };
1918
+ content: {
1919
+ "application/json": components["schemas"]["ErrorResponse"];
1920
+ };
1921
+ };
1922
+ /** @description Unauthorized */
1923
+ 401: {
1924
+ headers: {
1925
+ [name: string]: unknown;
1926
+ };
1927
+ content: {
1928
+ "application/json": components["schemas"]["ErrorResponse"];
1929
+ };
1930
+ };
1931
+ /** @description Forbidden */
1932
+ 403: {
1933
+ headers: {
1934
+ [name: string]: unknown;
1935
+ };
1936
+ content: {
1937
+ "application/json": components["schemas"]["ErrorResponse"];
1938
+ };
1939
+ };
1940
+ /** @description AI provider not found */
1941
+ 404: {
1942
+ headers: {
1943
+ [name: string]: unknown;
1944
+ };
1945
+ content: {
1946
+ "application/json": components["schemas"]["ErrorResponse"];
1947
+ };
1948
+ };
1949
+ };
1950
+ };
1951
+ getAgent: {
1952
+ parameters: {
1953
+ query?: never;
1954
+ header?: never;
1955
+ path: {
1956
+ agentId: string;
1957
+ };
1958
+ cookie?: never;
1959
+ };
1960
+ requestBody?: never;
1961
+ responses: {
1962
+ /** @description Agent details */
1963
+ 200: {
1964
+ headers: {
1965
+ [name: string]: unknown;
1966
+ };
1967
+ content: {
1968
+ "application/json": components["schemas"]["Agent"];
1969
+ };
1970
+ };
1971
+ /** @description Unauthorized */
1972
+ 401: {
1973
+ headers: {
1974
+ [name: string]: unknown;
1975
+ };
1976
+ content: {
1977
+ "application/json": components["schemas"]["ErrorResponse"];
1978
+ };
1979
+ };
1980
+ /** @description Forbidden */
1981
+ 403: {
1982
+ headers: {
1983
+ [name: string]: unknown;
1984
+ };
1985
+ content: {
1986
+ "application/json": components["schemas"]["ErrorResponse"];
1987
+ };
1988
+ };
1989
+ /** @description Not found */
1990
+ 404: {
1991
+ headers: {
1992
+ [name: string]: unknown;
1993
+ };
1994
+ content: {
1995
+ "application/json": components["schemas"]["ErrorResponse"];
1996
+ };
1997
+ };
1998
+ };
1999
+ };
2000
+ updateAgent: {
2001
+ parameters: {
2002
+ query?: never;
2003
+ header?: never;
2004
+ path: {
2005
+ agentId: string;
2006
+ };
2007
+ cookie?: never;
2008
+ };
2009
+ requestBody: {
2010
+ content: {
2011
+ "application/json": components["schemas"]["UpdateAgentRequest"];
2012
+ };
2013
+ };
2014
+ responses: {
2015
+ /** @description Agent updated */
2016
+ 200: {
2017
+ headers: {
2018
+ [name: string]: unknown;
2019
+ };
2020
+ content: {
2021
+ "application/json": components["schemas"]["Agent"];
2022
+ };
2023
+ };
2024
+ /** @description Unauthorized */
2025
+ 401: {
2026
+ headers: {
2027
+ [name: string]: unknown;
2028
+ };
2029
+ content: {
2030
+ "application/json": components["schemas"]["ErrorResponse"];
2031
+ };
2032
+ };
2033
+ /** @description Forbidden */
2034
+ 403: {
2035
+ headers: {
2036
+ [name: string]: unknown;
2037
+ };
2038
+ content: {
2039
+ "application/json": components["schemas"]["ErrorResponse"];
2040
+ };
2041
+ };
2042
+ /** @description Not found */
2043
+ 404: {
2044
+ headers: {
2045
+ [name: string]: unknown;
2046
+ };
2047
+ content: {
2048
+ "application/json": components["schemas"]["ErrorResponse"];
2049
+ };
2050
+ };
2051
+ };
2052
+ };
2053
+ deleteAgent: {
2054
+ parameters: {
2055
+ query?: never;
2056
+ header?: never;
2057
+ path: {
2058
+ agentId: string;
2059
+ };
2060
+ cookie?: never;
2061
+ };
2062
+ requestBody?: never;
2063
+ responses: {
2064
+ /** @description Deleted */
2065
+ 204: {
2066
+ headers: {
2067
+ [name: string]: unknown;
2068
+ };
2069
+ content?: never;
2070
+ };
2071
+ /** @description Unauthorized */
2072
+ 401: {
2073
+ headers: {
2074
+ [name: string]: unknown;
2075
+ };
2076
+ content: {
2077
+ "application/json": components["schemas"]["ErrorResponse"];
2078
+ };
2079
+ };
2080
+ /** @description Forbidden */
2081
+ 403: {
2082
+ headers: {
2083
+ [name: string]: unknown;
2084
+ };
2085
+ content: {
2086
+ "application/json": components["schemas"]["ErrorResponse"];
2087
+ };
2088
+ };
2089
+ /** @description Not found */
2090
+ 404: {
2091
+ headers: {
2092
+ [name: string]: unknown;
2093
+ };
2094
+ content: {
2095
+ "application/json": components["schemas"]["ErrorResponse"];
2096
+ };
2097
+ };
2098
+ };
2099
+ };
2100
+ createAgentGeneration: {
2101
+ parameters: {
2102
+ query?: never;
2103
+ header?: never;
2104
+ path: {
2105
+ agentId: string;
2106
+ };
2107
+ cookie?: never;
2108
+ };
2109
+ requestBody: {
2110
+ content: {
2111
+ "application/json": components["schemas"]["CreateAgentGenerationRequest"];
2112
+ };
2113
+ };
2114
+ responses: {
2115
+ /** @description Generation result or SSE stream */
2116
+ 200: {
2117
+ headers: {
2118
+ [name: string]: unknown;
2119
+ };
2120
+ content: {
2121
+ "application/json": components["schemas"]["AgentGenerationResponse"];
2122
+ "text/event-stream": string;
2123
+ };
2124
+ };
2125
+ /** @description Bad Request */
2126
+ 400: {
2127
+ headers: {
2128
+ [name: string]: unknown;
2129
+ };
2130
+ content: {
2131
+ "application/json": components["schemas"]["ErrorResponse"];
2132
+ };
2133
+ };
2134
+ /** @description Unauthorized */
2135
+ 401: {
2136
+ headers: {
2137
+ [name: string]: unknown;
2138
+ };
2139
+ content: {
2140
+ "application/json": components["schemas"]["ErrorResponse"];
2141
+ };
2142
+ };
2143
+ /** @description Forbidden */
2144
+ 403: {
2145
+ headers: {
2146
+ [name: string]: unknown;
2147
+ };
2148
+ content: {
2149
+ "application/json": components["schemas"]["ErrorResponse"];
2150
+ };
2151
+ };
2152
+ /** @description Agent or AI provider not found */
2153
+ 404: {
2154
+ headers: {
2155
+ [name: string]: unknown;
2156
+ };
2157
+ content: {
2158
+ "application/json": components["schemas"]["ErrorResponse"];
2159
+ };
2160
+ };
2161
+ };
2162
+ };
2163
+ submitAgentToolOutputs: {
2164
+ parameters: {
2165
+ query?: never;
2166
+ header?: never;
2167
+ path: {
2168
+ agentId: string;
2169
+ generationId: string;
2170
+ };
2171
+ cookie?: never;
2172
+ };
2173
+ requestBody: {
2174
+ content: {
2175
+ "application/json": components["schemas"]["SubmitToolOutputsRequest"];
2176
+ };
2177
+ };
2178
+ responses: {
2179
+ /** @description Generation result after resuming */
2180
+ 200: {
2181
+ headers: {
2182
+ [name: string]: unknown;
2183
+ };
2184
+ content: {
2185
+ "application/json": components["schemas"]["AgentGenerationResponse"];
2186
+ };
2187
+ };
2188
+ /** @description Bad Request */
2189
+ 400: {
2190
+ headers: {
2191
+ [name: string]: unknown;
2192
+ };
2193
+ content: {
2194
+ "application/json": components["schemas"]["ErrorResponse"];
2195
+ };
2196
+ };
2197
+ /** @description Unauthorized */
2198
+ 401: {
2199
+ headers: {
2200
+ [name: string]: unknown;
2201
+ };
2202
+ content: {
2203
+ "application/json": components["schemas"]["ErrorResponse"];
2204
+ };
2205
+ };
2206
+ /** @description Forbidden */
2207
+ 403: {
2208
+ headers: {
2209
+ [name: string]: unknown;
2210
+ };
2211
+ content: {
2212
+ "application/json": components["schemas"]["ErrorResponse"];
2213
+ };
2214
+ };
2215
+ /** @description Agent or generation not found */
2216
+ 404: {
2217
+ headers: {
2218
+ [name: string]: unknown;
2219
+ };
2220
+ content: {
2221
+ "application/json": components["schemas"]["ErrorResponse"];
2222
+ };
2223
+ };
2224
+ };
2225
+ };
2226
+ listChats: {
2227
+ parameters: {
2228
+ query?: {
2229
+ /** @description Project public ID to filter by */
2230
+ projectId?: string;
2231
+ };
2232
+ header?: never;
2233
+ path?: never;
2234
+ cookie?: never;
2235
+ };
2236
+ requestBody?: never;
2237
+ responses: {
2238
+ /** @description List of chats */
2239
+ 200: {
2240
+ headers: {
2241
+ [name: string]: unknown;
2242
+ };
2243
+ content: {
2244
+ "application/json": components["schemas"]["Chat"][];
2245
+ };
2246
+ };
2247
+ /** @description Unauthorized */
2248
+ 401: {
2249
+ headers: {
2250
+ [name: string]: unknown;
2251
+ };
2252
+ content: {
2253
+ "application/json": components["schemas"]["ErrorResponse"];
2254
+ };
2255
+ };
2256
+ /** @description Forbidden */
2257
+ 403: {
2258
+ headers: {
2259
+ [name: string]: unknown;
2260
+ };
2261
+ content: {
2262
+ "application/json": components["schemas"]["ErrorResponse"];
2263
+ };
2264
+ };
2265
+ };
2266
+ };
2267
+ createChat: {
2268
+ parameters: {
2269
+ query?: never;
2270
+ header?: never;
2271
+ path?: never;
2272
+ cookie?: never;
2273
+ };
2274
+ requestBody: {
2275
+ content: {
2276
+ "application/json": components["schemas"]["CreateChatRequest"];
2277
+ };
2278
+ };
2279
+ responses: {
2280
+ /** @description Chat created */
2281
+ 201: {
2282
+ headers: {
2283
+ [name: string]: unknown;
2284
+ };
2285
+ content: {
2286
+ "application/json": components["schemas"]["Chat"];
2287
+ };
2288
+ };
2289
+ /** @description Bad Request */
2290
+ 400: {
2291
+ headers: {
2292
+ [name: string]: unknown;
2293
+ };
2294
+ content: {
2295
+ "application/json": components["schemas"]["ErrorResponse"];
2296
+ };
2297
+ };
2298
+ /** @description Unauthorized */
2299
+ 401: {
2300
+ headers: {
2301
+ [name: string]: unknown;
2302
+ };
2303
+ content: {
2304
+ "application/json": components["schemas"]["ErrorResponse"];
2305
+ };
2306
+ };
2307
+ /** @description Forbidden */
2308
+ 403: {
2309
+ headers: {
2310
+ [name: string]: unknown;
2311
+ };
2312
+ content: {
2313
+ "application/json": components["schemas"]["ErrorResponse"];
2314
+ };
2315
+ };
2316
+ /** @description AI provider not found */
2317
+ 404: {
2318
+ headers: {
2319
+ [name: string]: unknown;
2320
+ };
2321
+ content: {
2322
+ "application/json": components["schemas"]["ErrorResponse"];
2323
+ };
2324
+ };
2325
+ };
2326
+ };
2327
+ getChat: {
2328
+ parameters: {
2329
+ query?: never;
2330
+ header?: never;
2331
+ path: {
2332
+ chatId: string;
2333
+ };
2334
+ cookie?: never;
2335
+ };
2336
+ requestBody?: never;
2337
+ responses: {
2338
+ /** @description Chat record */
2339
+ 200: {
2340
+ headers: {
2341
+ [name: string]: unknown;
2342
+ };
2343
+ content: {
2344
+ "application/json": components["schemas"]["Chat"];
2345
+ };
2346
+ };
2347
+ /** @description Unauthorized */
2348
+ 401: {
2349
+ headers: {
2350
+ [name: string]: unknown;
2351
+ };
2352
+ content: {
2353
+ "application/json": components["schemas"]["ErrorResponse"];
2354
+ };
2355
+ };
2356
+ /** @description Chat not found */
2357
+ 404: {
2358
+ headers: {
2359
+ [name: string]: unknown;
2360
+ };
2361
+ content: {
2362
+ "application/json": components["schemas"]["ErrorResponse"];
2363
+ };
2364
+ };
2365
+ };
2366
+ };
2367
+ deleteChat: {
2368
+ parameters: {
2369
+ query?: never;
2370
+ header?: never;
2371
+ path: {
2372
+ chatId: string;
2373
+ };
2374
+ cookie?: never;
2375
+ };
2376
+ requestBody?: never;
2377
+ responses: {
2378
+ /** @description Chat deleted */
2379
+ 204: {
2380
+ headers: {
2381
+ [name: string]: unknown;
2382
+ };
2383
+ content?: never;
2384
+ };
2385
+ /** @description Unauthorized */
2386
+ 401: {
2387
+ headers: {
2388
+ [name: string]: unknown;
2389
+ };
2390
+ content: {
2391
+ "application/json": components["schemas"]["ErrorResponse"];
2392
+ };
2393
+ };
2394
+ /** @description Chat not found */
2395
+ 404: {
2396
+ headers: {
2397
+ [name: string]: unknown;
2398
+ };
2399
+ content: {
2400
+ "application/json": components["schemas"]["ErrorResponse"];
2401
+ };
2402
+ };
2403
+ };
2404
+ };
2405
+ createChatCompletionForChat: {
2406
+ parameters: {
2407
+ query?: never;
2408
+ header?: never;
2409
+ path: {
2410
+ chatId: string;
2411
+ };
2412
+ cookie?: never;
2413
+ };
2414
+ requestBody: {
2415
+ content: {
2416
+ "application/json": components["schemas"]["ChatCompletionForChatRequest"];
2417
+ };
2418
+ };
2419
+ responses: {
2420
+ /** @description Chat completion result (JSON or SSE stream) */
2421
+ 200: {
2422
+ headers: {
2423
+ [name: string]: unknown;
2424
+ };
2425
+ content: {
2426
+ "application/json": components["schemas"]["ChatCompletionResponse"];
2427
+ "text/event-stream": string;
2428
+ };
2429
+ };
2430
+ /** @description Bad Request */
2431
+ 400: {
2432
+ headers: {
2433
+ [name: string]: unknown;
2434
+ };
2435
+ content: {
2436
+ "application/json": components["schemas"]["ErrorResponse"];
2437
+ };
2438
+ };
2439
+ /** @description Unauthorized */
2440
+ 401: {
2441
+ headers: {
2442
+ [name: string]: unknown;
2443
+ };
2444
+ content: {
2445
+ "application/json": components["schemas"]["ErrorResponse"];
2446
+ };
2447
+ };
2448
+ /** @description Chat or AI provider not found */
2449
+ 404: {
2450
+ headers: {
2451
+ [name: string]: unknown;
2452
+ };
2453
+ content: {
2454
+ "application/json": components["schemas"]["ErrorResponse"];
2455
+ };
2456
+ };
2457
+ };
2458
+ };
2459
+ createChatCompletion: {
2460
+ parameters: {
2461
+ query?: never;
2462
+ header?: never;
2463
+ path?: never;
2464
+ cookie?: never;
2465
+ };
2466
+ requestBody: {
2467
+ content: {
2468
+ "application/json": components["schemas"]["ChatCompletionRequest"];
2469
+ };
2470
+ };
2471
+ responses: {
2472
+ /** @description Chat completion result (JSON or SSE stream) */
2473
+ 200: {
2474
+ headers: {
2475
+ [name: string]: unknown;
2476
+ };
2477
+ content: {
2478
+ "application/json": components["schemas"]["ChatCompletionResponse"];
2479
+ "text/event-stream": string;
2480
+ };
2481
+ };
2482
+ /** @description Bad Request — `messages` is missing or empty */
2483
+ 400: {
2484
+ headers: {
2485
+ [name: string]: unknown;
2486
+ };
2487
+ content: {
2488
+ "application/json": components["schemas"]["ErrorResponse"];
2489
+ };
2490
+ };
2491
+ /** @description Unauthorized — missing or invalid bearer token */
2492
+ 401: {
2493
+ headers: {
2494
+ [name: string]: unknown;
2495
+ };
2496
+ content: {
2497
+ "application/json": components["schemas"]["ErrorResponse"];
2498
+ };
2499
+ };
2500
+ /** @description AI provider not found */
2501
+ 404: {
2502
+ headers: {
2503
+ [name: string]: unknown;
2504
+ };
2505
+ content: {
2506
+ "application/json": components["schemas"]["ErrorResponse"];
2507
+ };
2508
+ };
2509
+ };
2510
+ };
2511
+ listConversations: {
2512
+ parameters: {
2513
+ query?: {
2514
+ /** @description Project ID (optional) */
2515
+ projectId?: string;
2516
+ /** @description Filter by actor ID */
2517
+ actorId?: string;
2518
+ };
2519
+ header?: never;
2520
+ path?: never;
2521
+ cookie?: never;
2522
+ };
2523
+ requestBody?: never;
2524
+ responses: {
2525
+ /** @description List of conversations */
2526
+ 200: {
2527
+ headers: {
2528
+ [name: string]: unknown;
2529
+ };
2530
+ content: {
2531
+ "application/json": components["schemas"]["ConversationRecord"][];
2532
+ };
2533
+ };
2534
+ /** @description Unauthorized */
2535
+ 401: {
2536
+ headers: {
2537
+ [name: string]: unknown;
2538
+ };
2539
+ content: {
2540
+ "application/json": components["schemas"]["ErrorResponse"];
2541
+ };
2542
+ };
2543
+ /** @description Forbidden */
2544
+ 403: {
2545
+ headers: {
2546
+ [name: string]: unknown;
2547
+ };
2548
+ content: {
2549
+ "application/json": components["schemas"]["ErrorResponse"];
2550
+ };
2551
+ };
2552
+ };
2553
+ };
2554
+ createConversation: {
2555
+ parameters: {
2556
+ query?: never;
2557
+ header?: never;
2558
+ path?: never;
2559
+ cookie?: never;
2560
+ };
2561
+ requestBody: {
2562
+ content: {
2563
+ "application/json": {
2564
+ /**
2565
+ * @description Project ID. Required for JWT auth; omit when using an project key.
2566
+ * @example proj_V1StGXR8Z5jdHi6B
2567
+ */
2568
+ projectId?: string;
2569
+ /**
2570
+ * @description Initial conversation status
2571
+ * @default open
2572
+ * @enum {string}
2573
+ */
2574
+ status?: "open" | "closed";
2575
+ };
2576
+ };
2577
+ };
2578
+ responses: {
2579
+ /** @description Conversation created */
2580
+ 201: {
2581
+ headers: {
2582
+ [name: string]: unknown;
2583
+ };
2584
+ content: {
2585
+ "application/json": components["schemas"]["ConversationRecord"];
2586
+ };
2587
+ };
2588
+ /** @description Invalid request body */
2589
+ 400: {
2590
+ headers: {
2591
+ [name: string]: unknown;
2592
+ };
2593
+ content: {
2594
+ "application/json": components["schemas"]["ErrorResponse"];
2595
+ };
2596
+ };
2597
+ /** @description Unauthorized */
2598
+ 401: {
2599
+ headers: {
2600
+ [name: string]: unknown;
2601
+ };
2602
+ content: {
2603
+ "application/json": components["schemas"]["ErrorResponse"];
2604
+ };
2605
+ };
2606
+ /** @description Forbidden */
2607
+ 403: {
2608
+ headers: {
2609
+ [name: string]: unknown;
2610
+ };
2611
+ content: {
2612
+ "application/json": components["schemas"]["ErrorResponse"];
2613
+ };
2614
+ };
2615
+ };
2616
+ };
2617
+ getConversation: {
2618
+ parameters: {
2619
+ query?: never;
2620
+ header?: never;
2621
+ path: {
2622
+ /** @description Conversation ID */
2623
+ id: string;
2624
+ };
2625
+ cookie?: never;
2626
+ };
2627
+ requestBody?: never;
2628
+ responses: {
2629
+ /** @description Conversation found */
2630
+ 200: {
2631
+ headers: {
2632
+ [name: string]: unknown;
2633
+ };
2634
+ content: {
2635
+ "application/json": components["schemas"]["ConversationRecord"];
2636
+ };
2637
+ };
2638
+ /** @description Unauthorized */
2639
+ 401: {
2640
+ headers: {
2641
+ [name: string]: unknown;
2642
+ };
2643
+ content: {
2644
+ "application/json": components["schemas"]["ErrorResponse"];
2645
+ };
2646
+ };
2647
+ /** @description Forbidden */
2648
+ 403: {
2649
+ headers: {
2650
+ [name: string]: unknown;
2651
+ };
2652
+ content: {
2653
+ "application/json": components["schemas"]["ErrorResponse"];
2654
+ };
2655
+ };
2656
+ /** @description Conversation not found */
2657
+ 404: {
2658
+ headers: {
2659
+ [name: string]: unknown;
2660
+ };
2661
+ content: {
2662
+ "application/json": components["schemas"]["ErrorResponse"];
2663
+ };
2664
+ };
2665
+ };
2666
+ };
2667
+ deleteConversation: {
2668
+ parameters: {
2669
+ query?: never;
2670
+ header?: never;
2671
+ path: {
2672
+ /** @description Conversation ID */
2673
+ id: string;
2674
+ };
2675
+ cookie?: never;
2676
+ };
2677
+ requestBody?: never;
2678
+ responses: {
2679
+ /** @description Conversation deleted */
2680
+ 204: {
2681
+ headers: {
2682
+ [name: string]: unknown;
2683
+ };
2684
+ content?: never;
2685
+ };
2686
+ /** @description Unauthorized */
2687
+ 401: {
2688
+ headers: {
2689
+ [name: string]: unknown;
2690
+ };
2691
+ content: {
2692
+ "application/json": components["schemas"]["ErrorResponse"];
2693
+ };
2694
+ };
2695
+ /** @description Forbidden */
2696
+ 403: {
2697
+ headers: {
2698
+ [name: string]: unknown;
2699
+ };
2700
+ content: {
2701
+ "application/json": components["schemas"]["ErrorResponse"];
2702
+ };
2703
+ };
2704
+ /** @description Conversation not found */
2705
+ 404: {
2706
+ headers: {
2707
+ [name: string]: unknown;
2708
+ };
2709
+ content: {
2710
+ "application/json": components["schemas"]["ErrorResponse"];
2711
+ };
2712
+ };
2713
+ };
2714
+ };
2715
+ updateConversation: {
2716
+ parameters: {
2717
+ query?: never;
2718
+ header?: never;
2719
+ path: {
2720
+ /** @description Conversation ID */
2721
+ id: string;
2722
+ };
2723
+ cookie?: never;
2724
+ };
2725
+ requestBody: {
2726
+ content: {
2727
+ "application/json": {
2728
+ /**
2729
+ * @description New conversation status
2730
+ * @enum {string}
2731
+ */
2732
+ status: "open" | "closed";
2733
+ };
2734
+ };
2735
+ };
2736
+ responses: {
2737
+ /** @description Conversation updated */
2738
+ 200: {
2739
+ headers: {
2740
+ [name: string]: unknown;
2741
+ };
2742
+ content: {
2743
+ "application/json": components["schemas"]["ConversationRecord"];
2744
+ };
2745
+ };
2746
+ /** @description Invalid request body */
2747
+ 400: {
2748
+ headers: {
2749
+ [name: string]: unknown;
2750
+ };
2751
+ content: {
2752
+ "application/json": components["schemas"]["ErrorResponse"];
2753
+ };
2754
+ };
2755
+ /** @description Unauthorized */
2756
+ 401: {
2757
+ headers: {
2758
+ [name: string]: unknown;
2759
+ };
2760
+ content: {
2761
+ "application/json": components["schemas"]["ErrorResponse"];
2762
+ };
2763
+ };
2764
+ /** @description Forbidden */
2765
+ 403: {
2766
+ headers: {
2767
+ [name: string]: unknown;
2768
+ };
2769
+ content: {
2770
+ "application/json": components["schemas"]["ErrorResponse"];
2771
+ };
2772
+ };
2773
+ /** @description Conversation not found */
2774
+ 404: {
2775
+ headers: {
2776
+ [name: string]: unknown;
2777
+ };
2778
+ content: {
2779
+ "application/json": components["schemas"]["ErrorResponse"];
2780
+ };
2781
+ };
2782
+ };
2783
+ };
2784
+ listConversationMessages: {
2785
+ parameters: {
2786
+ query?: never;
2787
+ header?: never;
2788
+ path: {
2789
+ /** @description Conversation ID */
2790
+ id: string;
2791
+ };
2792
+ cookie?: never;
2793
+ };
2794
+ requestBody?: never;
2795
+ responses: {
2796
+ /** @description List of messages */
2797
+ 200: {
2798
+ headers: {
2799
+ [name: string]: unknown;
2800
+ };
2801
+ content: {
2802
+ "application/json": components["schemas"]["ConversationMessageRecord"][];
2803
+ };
2804
+ };
2805
+ /** @description Unauthorized */
2806
+ 401: {
2807
+ headers: {
2808
+ [name: string]: unknown;
2809
+ };
2810
+ content: {
2811
+ "application/json": components["schemas"]["ErrorResponse"];
2812
+ };
2813
+ };
2814
+ /** @description Forbidden */
2815
+ 403: {
2816
+ headers: {
2817
+ [name: string]: unknown;
2818
+ };
2819
+ content: {
2820
+ "application/json": components["schemas"]["ErrorResponse"];
2821
+ };
2822
+ };
2823
+ /** @description Conversation not found */
2824
+ 404: {
2825
+ headers: {
2826
+ [name: string]: unknown;
2827
+ };
2828
+ content: {
2829
+ "application/json": components["schemas"]["ErrorResponse"];
2830
+ };
2831
+ };
2832
+ };
2833
+ };
2834
+ addConversationMessage: {
2835
+ parameters: {
2836
+ query?: never;
2837
+ header?: never;
2838
+ path: {
2839
+ /** @description Conversation ID */
2840
+ id: string;
2841
+ };
2842
+ cookie?: never;
2843
+ };
2844
+ requestBody: {
2845
+ content: {
2846
+ "application/json": {
2847
+ /**
2848
+ * @description Message text content to add to the conversation
2849
+ * @example Hello, how can I help you?
2850
+ */
2851
+ message: string;
2852
+ /**
2853
+ * @description Actor ID who is sending this message
2854
+ * @example act_V1StGXR8Z5jdHi6B
2855
+ */
2856
+ actorId: string;
2857
+ /**
2858
+ * @description Zero-based position. Defaults to MAX+1 (append).
2859
+ * @example 0
2860
+ */
2861
+ position?: number;
2862
+ };
2863
+ };
2864
+ };
2865
+ responses: {
2866
+ /** @description Message added */
2867
+ 201: {
2868
+ headers: {
2869
+ [name: string]: unknown;
2870
+ };
2871
+ content: {
2872
+ "application/json": components["schemas"]["ConversationMessageRecord"];
2873
+ };
2874
+ };
2875
+ /** @description Invalid request body */
2876
+ 400: {
2877
+ headers: {
2878
+ [name: string]: unknown;
2879
+ };
2880
+ content: {
2881
+ "application/json": components["schemas"]["ErrorResponse"];
2882
+ };
2883
+ };
2884
+ /** @description Unauthorized */
2885
+ 401: {
2886
+ headers: {
2887
+ [name: string]: unknown;
2888
+ };
2889
+ content: {
2890
+ "application/json": components["schemas"]["ErrorResponse"];
2891
+ };
2892
+ };
2893
+ /** @description Forbidden */
2894
+ 403: {
2895
+ headers: {
2896
+ [name: string]: unknown;
2897
+ };
2898
+ content: {
2899
+ "application/json": components["schemas"]["ErrorResponse"];
2900
+ };
2901
+ };
2902
+ /** @description Conversation or actor not found */
2903
+ 404: {
2904
+ headers: {
2905
+ [name: string]: unknown;
2906
+ };
2907
+ content: {
2908
+ "application/json": components["schemas"]["ErrorResponse"];
2909
+ };
2910
+ };
2911
+ };
2912
+ };
2913
+ generateConversationMessage: {
2914
+ parameters: {
2915
+ query?: never;
2916
+ header?: never;
2917
+ path: {
2918
+ id: string;
2919
+ };
2920
+ cookie?: never;
2921
+ };
2922
+ requestBody: {
2923
+ content: {
2924
+ "application/json": {
2925
+ /** @description ID of the actor that will produce the next message. Must have `agentId` or `chatId` set. */
2926
+ actorId: string;
2927
+ /** @description Optional model override. Only honored for chat-backed actors. */
2928
+ model?: string;
2929
+ /** @description If true, stream tokens via SSE. NOT IMPLEMENTED in v1 — returns 501. */
2930
+ stream?: boolean;
2931
+ };
2932
+ };
2933
+ };
2934
+ responses: {
2935
+ /** @description Generation completed or requires action */
2936
+ 200: {
2937
+ headers: {
2938
+ [name: string]: unknown;
2939
+ };
2940
+ content: {
2941
+ "application/json": Record<string, never>;
2942
+ };
2943
+ };
2944
+ /** @description Invalid request */
2945
+ 400: {
2946
+ headers: {
2947
+ [name: string]: unknown;
2948
+ };
2949
+ content: {
2950
+ "application/json": components["schemas"]["ErrorResponse"];
2951
+ };
2952
+ };
2953
+ /** @description Unauthorized */
2954
+ 401: {
2955
+ headers: {
2956
+ [name: string]: unknown;
2957
+ };
2958
+ content: {
2959
+ "application/json": components["schemas"]["ErrorResponse"];
2960
+ };
2961
+ };
2962
+ /** @description Forbidden */
2963
+ 403: {
2964
+ headers: {
2965
+ [name: string]: unknown;
2966
+ };
2967
+ content: {
2968
+ "application/json": components["schemas"]["ErrorResponse"];
2969
+ };
2970
+ };
2971
+ /** @description Conversation or actor not found */
2972
+ 404: {
2973
+ headers: {
2974
+ [name: string]: unknown;
2975
+ };
2976
+ content: {
2977
+ "application/json": components["schemas"]["ErrorResponse"];
2978
+ };
2979
+ };
2980
+ /** @description Streaming not implemented */
2981
+ 501: {
2982
+ headers: {
2983
+ [name: string]: unknown;
2984
+ };
2985
+ content: {
2986
+ "application/json": components["schemas"]["ErrorResponse"];
2987
+ };
2988
+ };
2989
+ };
2990
+ };
2991
+ listConversationActors: {
2992
+ parameters: {
2993
+ query?: never;
2994
+ header?: never;
2995
+ path: {
2996
+ /** @description Conversation ID */
2997
+ id: string;
2998
+ };
2999
+ cookie?: never;
3000
+ };
3001
+ requestBody?: never;
3002
+ responses: {
3003
+ /** @description List of actors */
3004
+ 200: {
3005
+ headers: {
3006
+ [name: string]: unknown;
3007
+ };
3008
+ content: {
3009
+ "application/json": components["schemas"]["ConversationActorRecord"][];
3010
+ };
3011
+ };
3012
+ /** @description Unauthorized */
3013
+ 401: {
3014
+ headers: {
3015
+ [name: string]: unknown;
3016
+ };
3017
+ content: {
3018
+ "application/json": components["schemas"]["ErrorResponse"];
3019
+ };
3020
+ };
3021
+ /** @description Forbidden */
3022
+ 403: {
3023
+ headers: {
3024
+ [name: string]: unknown;
3025
+ };
3026
+ content: {
3027
+ "application/json": components["schemas"]["ErrorResponse"];
3028
+ };
3029
+ };
3030
+ /** @description Conversation not found */
3031
+ 404: {
3032
+ headers: {
3033
+ [name: string]: unknown;
3034
+ };
3035
+ content: {
3036
+ "application/json": components["schemas"]["ErrorResponse"];
3037
+ };
3038
+ };
3039
+ };
3040
+ };
3041
+ removeConversationMessage: {
3042
+ parameters: {
3043
+ query?: never;
3044
+ header?: never;
3045
+ path: {
3046
+ /** @description Conversation ID */
3047
+ id: string;
3048
+ /** @description Document ID */
3049
+ documentId: string;
3050
+ };
3051
+ cookie?: never;
3052
+ };
3053
+ requestBody?: never;
3054
+ responses: {
3055
+ /** @description Message removed */
3056
+ 204: {
3057
+ headers: {
3058
+ [name: string]: unknown;
3059
+ };
3060
+ content?: never;
3061
+ };
3062
+ /** @description Unauthorized */
3063
+ 401: {
3064
+ headers: {
3065
+ [name: string]: unknown;
3066
+ };
3067
+ content: {
3068
+ "application/json": components["schemas"]["ErrorResponse"];
3069
+ };
3070
+ };
3071
+ /** @description Forbidden */
3072
+ 403: {
3073
+ headers: {
3074
+ [name: string]: unknown;
3075
+ };
3076
+ content: {
3077
+ "application/json": components["schemas"]["ErrorResponse"];
3078
+ };
3079
+ };
3080
+ /** @description Conversation or message not found */
3081
+ 404: {
3082
+ headers: {
3083
+ [name: string]: unknown;
3084
+ };
3085
+ content: {
3086
+ "application/json": components["schemas"]["ErrorResponse"];
3087
+ };
3088
+ };
3089
+ };
3090
+ };
3091
+ listDocuments: {
3092
+ parameters: {
3093
+ query?: {
3094
+ /** @description Project ID (optional) */
3095
+ projectId?: string;
3096
+ };
3097
+ header?: never;
3098
+ path?: never;
3099
+ cookie?: never;
3100
+ };
3101
+ requestBody?: never;
3102
+ responses: {
3103
+ /** @description List of documents */
3104
+ 200: {
3105
+ headers: {
3106
+ [name: string]: unknown;
3107
+ };
3108
+ content: {
3109
+ "application/json": components["schemas"]["DocumentRecord"][];
3110
+ };
3111
+ };
3112
+ /** @description Unauthorized */
3113
+ 401: {
3114
+ headers: {
3115
+ [name: string]: unknown;
3116
+ };
3117
+ content: {
3118
+ "application/json": components["schemas"]["ErrorResponse"];
3119
+ };
3120
+ };
3121
+ /** @description Forbidden */
3122
+ 403: {
3123
+ headers: {
3124
+ [name: string]: unknown;
3125
+ };
3126
+ content: {
3127
+ "application/json": components["schemas"]["ErrorResponse"];
3128
+ };
3129
+ };
3130
+ };
3131
+ };
3132
+ createDocument: {
3133
+ parameters: {
3134
+ query?: never;
3135
+ header?: never;
3136
+ path?: never;
3137
+ cookie?: never;
3138
+ };
3139
+ requestBody: {
3140
+ content: {
3141
+ "application/json": {
3142
+ /**
3143
+ * @description Project ID. Required for JWT auth; omit when using an project key.
3144
+ * @example proj_V1StGXR8Z5jdHi6B
3145
+ */
3146
+ projectId?: string;
3147
+ /** @example The quick brown fox jumps over the lazy dog. */
3148
+ content: string;
3149
+ /** @example my-doc.txt */
3150
+ filename?: string;
3151
+ };
3152
+ };
3153
+ };
3154
+ responses: {
3155
+ /** @description Document created */
3156
+ 201: {
3157
+ headers: {
3158
+ [name: string]: unknown;
3159
+ };
3160
+ content: {
3161
+ "application/json": components["schemas"]["DocumentRecord"];
3162
+ };
3163
+ };
3164
+ /** @description Invalid request body */
3165
+ 400: {
3166
+ headers: {
3167
+ [name: string]: unknown;
3168
+ };
3169
+ content: {
3170
+ "application/json": components["schemas"]["ErrorResponse"];
3171
+ };
3172
+ };
3173
+ /** @description Unauthorized */
3174
+ 401: {
3175
+ headers: {
3176
+ [name: string]: unknown;
3177
+ };
3178
+ content: {
3179
+ "application/json": components["schemas"]["ErrorResponse"];
3180
+ };
3181
+ };
3182
+ /** @description Forbidden */
3183
+ 403: {
3184
+ headers: {
3185
+ [name: string]: unknown;
3186
+ };
3187
+ content: {
3188
+ "application/json": components["schemas"]["ErrorResponse"];
3189
+ };
3190
+ };
3191
+ };
3192
+ };
3193
+ getDocument: {
3194
+ parameters: {
3195
+ query?: never;
3196
+ header?: never;
3197
+ path: {
3198
+ /** @description Document ID */
3199
+ id: string;
3200
+ };
3201
+ cookie?: never;
3202
+ };
3203
+ requestBody?: never;
3204
+ responses: {
3205
+ /** @description Document found */
3206
+ 200: {
3207
+ headers: {
3208
+ [name: string]: unknown;
3209
+ };
3210
+ content: {
3211
+ "application/json": components["schemas"]["DocumentRecord"];
3212
+ };
3213
+ };
3214
+ /** @description Unauthorized */
3215
+ 401: {
3216
+ headers: {
3217
+ [name: string]: unknown;
3218
+ };
3219
+ content: {
3220
+ "application/json": components["schemas"]["ErrorResponse"];
3221
+ };
3222
+ };
3223
+ /** @description Forbidden */
3224
+ 403: {
3225
+ headers: {
3226
+ [name: string]: unknown;
3227
+ };
3228
+ content: {
3229
+ "application/json": components["schemas"]["ErrorResponse"];
3230
+ };
3231
+ };
3232
+ /** @description Document not found */
3233
+ 404: {
3234
+ headers: {
3235
+ [name: string]: unknown;
3236
+ };
3237
+ content: {
3238
+ "application/json": components["schemas"]["ErrorResponse"];
3239
+ };
3240
+ };
3241
+ };
3242
+ };
3243
+ deleteDocument: {
3244
+ parameters: {
3245
+ query?: never;
3246
+ header?: never;
3247
+ path: {
3248
+ /** @description Document ID */
3249
+ id: string;
3250
+ };
3251
+ cookie?: never;
3252
+ };
3253
+ requestBody?: never;
3254
+ responses: {
3255
+ /** @description Document deleted */
3256
+ 204: {
3257
+ headers: {
3258
+ [name: string]: unknown;
3259
+ };
3260
+ content?: never;
3261
+ };
3262
+ /** @description Unauthorized */
3263
+ 401: {
3264
+ headers: {
3265
+ [name: string]: unknown;
3266
+ };
3267
+ content: {
3268
+ "application/json": components["schemas"]["ErrorResponse"];
3269
+ };
3270
+ };
3271
+ /** @description Forbidden */
3272
+ 403: {
3273
+ headers: {
3274
+ [name: string]: unknown;
3275
+ };
3276
+ content: {
3277
+ "application/json": components["schemas"]["ErrorResponse"];
3278
+ };
3279
+ };
3280
+ /** @description Document not found */
3281
+ 404: {
3282
+ headers: {
3283
+ [name: string]: unknown;
3284
+ };
3285
+ content: {
3286
+ "application/json": components["schemas"]["ErrorResponse"];
3287
+ };
3288
+ };
3289
+ };
3290
+ };
3291
+ searchDocuments: {
3292
+ parameters: {
3293
+ query?: never;
3294
+ header?: never;
3295
+ path?: never;
3296
+ cookie?: never;
3297
+ };
3298
+ requestBody: {
3299
+ content: {
3300
+ "application/json": {
3301
+ /**
3302
+ * @description Project ID (optional). Omit to search across all accessible projects.
3303
+ * @example proj_V1StGXR8Z5jdHi6B
3304
+ */
3305
+ projectId?: string;
3306
+ /** @example What is the capital of France? */
3307
+ query: string;
3308
+ /** @example 5 */
3309
+ limit?: number;
3310
+ };
3311
+ };
3312
+ };
3313
+ responses: {
3314
+ /** @description Search results */
3315
+ 200: {
3316
+ headers: {
3317
+ [name: string]: unknown;
3318
+ };
3319
+ content: {
3320
+ "application/json": components["schemas"]["DocumentRecord"][];
3321
+ };
3322
+ };
3323
+ /** @description Invalid request body */
3324
+ 400: {
3325
+ headers: {
3326
+ [name: string]: unknown;
3327
+ };
3328
+ content: {
3329
+ "application/json": components["schemas"]["ErrorResponse"];
3330
+ };
3331
+ };
3332
+ /** @description Unauthorized */
3333
+ 401: {
3334
+ headers: {
3335
+ [name: string]: unknown;
3336
+ };
3337
+ content: {
3338
+ "application/json": components["schemas"]["ErrorResponse"];
3339
+ };
3340
+ };
3341
+ /** @description Forbidden */
3342
+ 403: {
3343
+ headers: {
3344
+ [name: string]: unknown;
3345
+ };
3346
+ content: {
3347
+ "application/json": components["schemas"]["ErrorResponse"];
3348
+ };
3349
+ };
3350
+ };
3351
+ };
3352
+ listFiles: {
3353
+ parameters: {
3354
+ query?: never;
3355
+ header?: never;
3356
+ path?: never;
3357
+ cookie?: never;
3358
+ };
3359
+ requestBody?: never;
3360
+ responses: {
3361
+ /** @description List of files returned successfully */
3362
+ 200: {
3363
+ headers: {
3364
+ [name: string]: unknown;
3365
+ };
3366
+ content: {
3367
+ "application/json": components["schemas"]["FileRecord"][];
3368
+ };
3369
+ };
3370
+ /** @description Internal server error */
3371
+ 500: {
3372
+ headers: {
3373
+ [name: string]: unknown;
3374
+ };
3375
+ content: {
3376
+ "application/json": components["schemas"]["ErrorResponse"];
3377
+ };
3378
+ };
3379
+ };
3380
+ };
3381
+ createFile: {
3382
+ parameters: {
3383
+ query?: never;
3384
+ header?: never;
3385
+ path?: never;
3386
+ cookie?: never;
3387
+ };
3388
+ requestBody: {
3389
+ content: {
3390
+ "application/json": {
3391
+ /**
3392
+ * @description Name of the file
3393
+ * @example document.pdf
3394
+ */
3395
+ filename?: string;
3396
+ /**
3397
+ * @description MIME type of the file
3398
+ * @example application/pdf
3399
+ */
3400
+ contentType?: string;
3401
+ /**
3402
+ * @description File size in bytes
3403
+ * @example 1024
3404
+ */
3405
+ size?: number;
3406
+ /**
3407
+ * @description Storage backend type
3408
+ * @example local
3409
+ * @enum {string}
3410
+ */
3411
+ storageType: "local" | "s3" | "gcs";
3412
+ /**
3413
+ * @description Path where the file is stored
3414
+ * @example /uploads/document.pdf
3415
+ */
3416
+ storagePath: string;
3417
+ /**
3418
+ * @description JSON string with additional metadata
3419
+ * @example {"author":"John"}
3420
+ */
3421
+ metadata?: string;
3422
+ };
3423
+ };
3424
+ };
3425
+ responses: {
3426
+ /** @description File created successfully */
3427
+ 201: {
3428
+ headers: {
3429
+ [name: string]: unknown;
3430
+ };
3431
+ content: {
3432
+ "application/json": components["schemas"]["FileRecord"];
3433
+ };
3434
+ };
3435
+ /** @description Internal server error */
3436
+ 500: {
3437
+ headers: {
3438
+ [name: string]: unknown;
3439
+ };
3440
+ content: {
3441
+ "application/json": components["schemas"]["ErrorResponse"];
3442
+ };
3443
+ };
3444
+ };
3445
+ };
3446
+ uploadFile: {
3447
+ parameters: {
3448
+ query?: never;
3449
+ header?: never;
3450
+ path?: never;
3451
+ cookie?: never;
3452
+ };
3453
+ requestBody: {
3454
+ content: {
3455
+ "multipart/form-data": {
3456
+ /**
3457
+ * Format: binary
3458
+ * @description File content
3459
+ */
3460
+ file: string;
3461
+ /**
3462
+ * @description Project ID to associate the file with
3463
+ * @example proj_V1StGXR8Z5jdHi6B
3464
+ */
3465
+ projectId: string;
3466
+ /**
3467
+ * @description Additional metadata as a JSON string
3468
+ * @example {"author":"John"}
3469
+ */
3470
+ metadata?: string;
3471
+ };
3472
+ };
3473
+ };
3474
+ responses: {
3475
+ /** @description File uploaded successfully */
3476
+ 201: {
3477
+ headers: {
3478
+ [name: string]: unknown;
3479
+ };
3480
+ content: {
3481
+ "application/json": components["schemas"]["FileRecord"];
3482
+ };
3483
+ };
3484
+ /** @description Missing file or invalid project */
3485
+ 400: {
3486
+ headers: {
3487
+ [name: string]: unknown;
3488
+ };
3489
+ content: {
3490
+ "application/json": components["schemas"]["ErrorResponse"];
3491
+ };
3492
+ };
3493
+ 401: components["responses"]["Unauthorized"];
3494
+ 403: components["responses"]["Forbidden"];
3495
+ };
3496
+ };
3497
+ getFile: {
3498
+ parameters: {
3499
+ query?: never;
3500
+ header?: never;
3501
+ path: {
3502
+ /** @description File ID */
3503
+ id: string;
3504
+ };
3505
+ cookie?: never;
3506
+ };
3507
+ requestBody?: never;
3508
+ responses: {
3509
+ /** @description File found */
3510
+ 200: {
3511
+ headers: {
3512
+ [name: string]: unknown;
3513
+ };
3514
+ content: {
3515
+ "application/json": components["schemas"]["FileRecord"];
3516
+ };
3517
+ };
3518
+ /** @description File not found */
3519
+ 404: {
3520
+ headers: {
3521
+ [name: string]: unknown;
3522
+ };
3523
+ content: {
3524
+ "application/json": components["schemas"]["ErrorResponse"];
3525
+ };
3526
+ };
3527
+ /** @description Internal server error */
3528
+ 500: {
3529
+ headers: {
3530
+ [name: string]: unknown;
3531
+ };
3532
+ content: {
3533
+ "application/json": components["schemas"]["ErrorResponse"];
3534
+ };
3535
+ };
3536
+ };
3537
+ };
3538
+ deleteFile: {
3539
+ parameters: {
3540
+ query?: never;
3541
+ header?: never;
3542
+ path: {
3543
+ /** @description ID of the file to delete */
3544
+ id: string;
3545
+ };
3546
+ cookie?: never;
3547
+ };
3548
+ requestBody?: never;
3549
+ responses: {
3550
+ /** @description File deleted successfully */
3551
+ 204: {
3552
+ headers: {
3553
+ [name: string]: unknown;
3554
+ };
3555
+ content?: never;
3556
+ };
3557
+ /** @description File not found */
3558
+ 404: {
3559
+ headers: {
3560
+ [name: string]: unknown;
3561
+ };
3562
+ content: {
3563
+ "application/json": components["schemas"]["ErrorResponse"];
3564
+ };
3565
+ };
3566
+ /** @description Internal server error */
3567
+ 500: {
3568
+ headers: {
3569
+ [name: string]: unknown;
3570
+ };
3571
+ content: {
3572
+ "application/json": components["schemas"]["ErrorResponse"];
3573
+ };
3574
+ };
3575
+ };
3576
+ };
3577
+ downloadFile: {
3578
+ parameters: {
3579
+ query?: never;
3580
+ header?: never;
3581
+ path: {
3582
+ /** @description File ID */
3583
+ id: string;
3584
+ };
3585
+ cookie?: never;
3586
+ };
3587
+ requestBody?: never;
3588
+ responses: {
3589
+ /** @description File content */
3590
+ 200: {
3591
+ headers: {
3592
+ [name: string]: unknown;
3593
+ };
3594
+ content: {
3595
+ "application/octet-stream": string;
3596
+ };
3597
+ };
3598
+ 401: components["responses"]["Unauthorized"];
3599
+ 403: components["responses"]["Forbidden"];
3600
+ /** @description File not found */
3601
+ 404: {
3602
+ headers: {
3603
+ [name: string]: unknown;
3604
+ };
3605
+ content: {
3606
+ "application/json": components["schemas"]["ErrorResponse"];
3607
+ };
3608
+ };
3609
+ };
3610
+ };
3611
+ updateFileMetadata: {
3612
+ parameters: {
3613
+ query?: never;
3614
+ header?: never;
3615
+ path: {
3616
+ /** @description File ID */
3617
+ id: string;
3618
+ };
3619
+ cookie?: never;
3620
+ };
3621
+ requestBody: {
3622
+ content: {
3623
+ "application/json": {
3624
+ /**
3625
+ * @description New metadata as a JSON string
3626
+ * @example {"author":"Jane","tags":["report"]}
3627
+ */
3628
+ metadata?: string;
3629
+ /**
3630
+ * @description New filename for the file
3631
+ * @example renamed-file.txt
3632
+ */
3633
+ filename?: string;
3634
+ };
3635
+ };
3636
+ };
3637
+ responses: {
3638
+ /** @description Metadata updated successfully */
3639
+ 200: {
3640
+ headers: {
3641
+ [name: string]: unknown;
3642
+ };
3643
+ content: {
3644
+ "application/json": components["schemas"]["FileRecord"];
3645
+ };
3646
+ };
3647
+ 401: components["responses"]["Unauthorized"];
3648
+ 403: components["responses"]["Forbidden"];
3649
+ /** @description File not found */
3650
+ 404: {
3651
+ headers: {
3652
+ [name: string]: unknown;
3653
+ };
3654
+ content: {
3655
+ "application/json": components["schemas"]["ErrorResponse"];
3656
+ };
3657
+ };
3658
+ };
3659
+ };
3660
+ listUsers: {
3661
+ parameters: {
3662
+ query?: never;
3663
+ header?: never;
3664
+ path?: never;
3665
+ cookie?: never;
3666
+ };
3667
+ requestBody?: never;
3668
+ responses: {
3669
+ /** @description List of users returned successfully */
3670
+ 200: {
3671
+ headers: {
3672
+ [name: string]: unknown;
3673
+ };
3674
+ content: {
3675
+ "application/json": components["schemas"]["UserRecord"][];
3676
+ };
3677
+ };
3678
+ /** @description Internal server error */
3679
+ 500: {
3680
+ headers: {
3681
+ [name: string]: unknown;
3682
+ };
3683
+ content: {
3684
+ "application/json": components["schemas"]["ErrorResponse"];
3685
+ };
3686
+ };
3687
+ };
3688
+ };
3689
+ createUser: {
3690
+ parameters: {
3691
+ query?: never;
3692
+ header?: never;
3693
+ path?: never;
3694
+ cookie?: never;
3695
+ };
3696
+ requestBody: {
3697
+ content: {
3698
+ "application/json": {
3699
+ /** @example johndoe */
3700
+ username: string;
3701
+ /**
3702
+ * Format: password
3703
+ * @example supersecret
3704
+ */
3705
+ password: string;
3706
+ /**
3707
+ * @example user
3708
+ * @enum {string}
3709
+ */
3710
+ role?: "admin" | "user";
3711
+ };
3712
+ };
3713
+ };
3714
+ responses: {
3715
+ /** @description User created successfully */
3716
+ 201: {
3717
+ headers: {
3718
+ [name: string]: unknown;
3719
+ };
3720
+ content: {
3721
+ "application/json": components["schemas"]["UserRecord"];
3722
+ };
3723
+ };
3724
+ /** @description Internal server error */
3725
+ 500: {
3726
+ headers: {
3727
+ [name: string]: unknown;
3728
+ };
3729
+ content: {
3730
+ "application/json": components["schemas"]["ErrorResponse"];
3731
+ };
3732
+ };
3733
+ };
3734
+ };
3735
+ getUser: {
3736
+ parameters: {
3737
+ query?: never;
3738
+ header?: never;
3739
+ path: {
3740
+ /** @description User ID */
3741
+ id: string;
3742
+ };
3743
+ cookie?: never;
3744
+ };
3745
+ requestBody?: never;
3746
+ responses: {
3747
+ /** @description User found */
3748
+ 200: {
3749
+ headers: {
3750
+ [name: string]: unknown;
3751
+ };
3752
+ content: {
3753
+ "application/json": components["schemas"]["UserRecord"];
3754
+ };
3755
+ };
3756
+ /** @description User not found */
3757
+ 404: {
3758
+ headers: {
3759
+ [name: string]: unknown;
3760
+ };
3761
+ content: {
3762
+ "application/json": components["schemas"]["ErrorResponse"];
3763
+ };
3764
+ };
3765
+ /** @description Internal server error */
3766
+ 500: {
3767
+ headers: {
3768
+ [name: string]: unknown;
3769
+ };
3770
+ content: {
3771
+ "application/json": components["schemas"]["ErrorResponse"];
3772
+ };
3773
+ };
3774
+ };
3775
+ };
3776
+ bootstrapUser: {
3777
+ parameters: {
3778
+ query?: never;
3779
+ header?: never;
3780
+ path?: never;
3781
+ cookie?: never;
3782
+ };
3783
+ requestBody: {
3784
+ content: {
3785
+ "application/json": {
3786
+ /** @example admin */
3787
+ username: string;
3788
+ /**
3789
+ * Format: password
3790
+ * @example supersecret
3791
+ */
3792
+ password: string;
3793
+ };
3794
+ };
3795
+ };
3796
+ responses: {
3797
+ /** @description Admin user created successfully */
3798
+ 201: {
3799
+ headers: {
3800
+ [name: string]: unknown;
3801
+ };
3802
+ content: {
3803
+ "application/json": components["schemas"]["UserRecord"];
3804
+ };
3805
+ };
3806
+ /** @description Users already exist */
3807
+ 409: {
3808
+ headers: {
3809
+ [name: string]: unknown;
3810
+ };
3811
+ content: {
3812
+ "application/json": components["schemas"]["ErrorResponse"];
3813
+ };
3814
+ };
3815
+ /** @description Internal server error */
3816
+ 500: {
3817
+ headers: {
3818
+ [name: string]: unknown;
3819
+ };
3820
+ content: {
3821
+ "application/json": components["schemas"]["ErrorResponse"];
3822
+ };
3823
+ };
3824
+ };
3825
+ };
3826
+ }
3827
+
3828
+ declare const createSoatClient: (args: {
3829
+ baseUrl: string;
3830
+ token?: string;
3831
+ }) => openapi_fetch.Client<paths, `${string}/${string}`>;
3832
+
3833
+ export { createSoatClient, type paths };