@soat/sdk 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.d.cts +2691 -73
  2. package/dist/index.d.ts +2691 -73
  3. package/package.json +9 -3
package/dist/index.d.cts CHANGED
@@ -233,6 +233,58 @@ interface paths {
233
233
  patch?: never;
234
234
  trace?: never;
235
235
  };
236
+ "/ai-providers": {
237
+ parameters: {
238
+ query?: never;
239
+ header?: never;
240
+ path?: never;
241
+ cookie?: never;
242
+ };
243
+ /**
244
+ * List AI providers
245
+ * @description Returns a list of AI provider configurations for a project
246
+ */
247
+ get: operations["listAiProviders"];
248
+ put?: never;
249
+ /**
250
+ * Create an AI provider
251
+ * @description Creates a new LLM provider configuration
252
+ */
253
+ post: operations["createAiProvider"];
254
+ delete?: never;
255
+ options?: never;
256
+ head?: never;
257
+ patch?: never;
258
+ trace?: never;
259
+ };
260
+ "/ai-providers/{aiProviderId}": {
261
+ parameters: {
262
+ query?: never;
263
+ header?: never;
264
+ path?: never;
265
+ cookie?: never;
266
+ };
267
+ /**
268
+ * Get an AI provider
269
+ * @description Returns a specific AI provider configuration
270
+ */
271
+ get: operations["getAiProvider"];
272
+ put?: never;
273
+ post?: never;
274
+ /**
275
+ * Delete an AI provider
276
+ * @description Deletes an AI provider configuration
277
+ */
278
+ delete: operations["deleteAiProvider"];
279
+ options?: never;
280
+ head?: never;
281
+ /**
282
+ * Update an AI provider
283
+ * @description Updates an AI provider configuration
284
+ */
285
+ patch: operations["updateAiProvider"];
286
+ trace?: never;
287
+ };
236
288
  "/chats": {
237
289
  parameters: {
238
290
  query?: never;
@@ -636,6 +688,318 @@ interface paths {
636
688
  patch: operations["updateFileMetadata"];
637
689
  trace?: never;
638
690
  };
691
+ "/project-keys": {
692
+ parameters: {
693
+ query?: never;
694
+ header?: never;
695
+ path?: never;
696
+ cookie?: never;
697
+ };
698
+ get?: never;
699
+ put?: never;
700
+ /**
701
+ * Create a project key
702
+ * @description Creates a new API key for programmatic access to a project
703
+ */
704
+ post: operations["createProjectKey"];
705
+ delete?: never;
706
+ options?: never;
707
+ head?: never;
708
+ patch?: never;
709
+ trace?: never;
710
+ };
711
+ "/project-keys/{id}": {
712
+ parameters: {
713
+ query?: never;
714
+ header?: never;
715
+ path?: never;
716
+ cookie?: never;
717
+ };
718
+ /**
719
+ * Get a project key
720
+ * @description Returns details of a project key
721
+ */
722
+ get: operations["getProjectKey"];
723
+ /**
724
+ * Update a project key
725
+ * @description Updates an existing project key's policy
726
+ */
727
+ put: operations["updateProjectKey"];
728
+ post?: never;
729
+ /**
730
+ * Delete a project key
731
+ * @description Deletes a project key
732
+ */
733
+ delete: operations["deleteProjectKey"];
734
+ options?: never;
735
+ head?: never;
736
+ patch?: never;
737
+ trace?: never;
738
+ };
739
+ "/projects": {
740
+ parameters: {
741
+ query?: never;
742
+ header?: never;
743
+ path?: never;
744
+ cookie?: never;
745
+ };
746
+ get?: never;
747
+ put?: never;
748
+ /**
749
+ * Create a project
750
+ * @description Creates a new project. Requires admin role.
751
+ */
752
+ post: operations["createProject"];
753
+ delete?: never;
754
+ options?: never;
755
+ head?: never;
756
+ patch?: never;
757
+ trace?: never;
758
+ };
759
+ "/projects/{projectId}/policies": {
760
+ parameters: {
761
+ query?: never;
762
+ header?: never;
763
+ path?: never;
764
+ cookie?: never;
765
+ };
766
+ /**
767
+ * List project policies
768
+ * @description Returns a list of policies for a project
769
+ */
770
+ get: operations["listProjectPolicies"];
771
+ put?: never;
772
+ /**
773
+ * Create a project policy
774
+ * @description Creates a new policy for a project. Requires admin role.
775
+ */
776
+ post: operations["createProjectPolicy"];
777
+ delete?: never;
778
+ options?: never;
779
+ head?: never;
780
+ patch?: never;
781
+ trace?: never;
782
+ };
783
+ "/projects/{projectId}/policies/{policyId}": {
784
+ parameters: {
785
+ query?: never;
786
+ header?: never;
787
+ path?: never;
788
+ cookie?: never;
789
+ };
790
+ /**
791
+ * Get a project policy
792
+ * @description Returns a specific policy
793
+ */
794
+ get: operations["getProjectPolicy"];
795
+ /**
796
+ * Update a project policy
797
+ * @description Updates an existing policy. Requires admin role.
798
+ */
799
+ put: operations["updateProjectPolicy"];
800
+ post?: never;
801
+ delete?: never;
802
+ options?: never;
803
+ head?: never;
804
+ patch?: never;
805
+ trace?: never;
806
+ };
807
+ "/secrets": {
808
+ parameters: {
809
+ query?: never;
810
+ header?: never;
811
+ path?: never;
812
+ cookie?: never;
813
+ };
814
+ /**
815
+ * List secrets
816
+ * @description Returns a list of secrets for a project
817
+ */
818
+ get: operations["listSecrets"];
819
+ put?: never;
820
+ /**
821
+ * Create a secret
822
+ * @description Creates a new encrypted secret in a project
823
+ */
824
+ post: operations["createSecret"];
825
+ delete?: never;
826
+ options?: never;
827
+ head?: never;
828
+ patch?: never;
829
+ trace?: never;
830
+ };
831
+ "/secrets/{secretId}": {
832
+ parameters: {
833
+ query?: never;
834
+ header?: never;
835
+ path?: never;
836
+ cookie?: never;
837
+ };
838
+ /**
839
+ * Get a secret
840
+ * @description Returns a specific secret
841
+ */
842
+ get: operations["getSecret"];
843
+ put?: never;
844
+ post?: never;
845
+ /**
846
+ * Delete a secret
847
+ * @description Deletes a secret
848
+ */
849
+ delete: operations["deleteSecret"];
850
+ options?: never;
851
+ head?: never;
852
+ /**
853
+ * Update a secret
854
+ * @description Updates a secret's name and/or value
855
+ */
856
+ patch: operations["updateSecret"];
857
+ trace?: never;
858
+ };
859
+ "/agents/{agentId}/sessions": {
860
+ parameters: {
861
+ query?: never;
862
+ header?: never;
863
+ path?: never;
864
+ cookie?: never;
865
+ };
866
+ /**
867
+ * List sessions
868
+ * @description Returns sessions for the specified agent, optionally filtered by actorId and status.
869
+ */
870
+ get: operations["listSessions"];
871
+ put?: never;
872
+ /**
873
+ * Create a session
874
+ * @description Creates a new session for the specified agent. Internally creates a conversation and two actors (agent + user) so the caller only needs this single call to start interacting with the agent.
875
+ */
876
+ post: operations["createSession"];
877
+ delete?: never;
878
+ options?: never;
879
+ head?: never;
880
+ patch?: never;
881
+ trace?: never;
882
+ };
883
+ "/agents/{agentId}/sessions/{sessionId}": {
884
+ parameters: {
885
+ query?: never;
886
+ header?: never;
887
+ path?: never;
888
+ cookie?: never;
889
+ };
890
+ /**
891
+ * Get a session
892
+ * @description Returns details of a single session.
893
+ */
894
+ get: operations["getSession"];
895
+ put?: never;
896
+ post?: never;
897
+ /**
898
+ * Delete a session
899
+ * @description Deletes the session and its underlying conversation and actors.
900
+ */
901
+ delete: operations["deleteSession"];
902
+ options?: never;
903
+ head?: never;
904
+ /**
905
+ * Update a session
906
+ * @description Updates the session name and/or status.
907
+ */
908
+ patch: operations["updateSession"];
909
+ trace?: never;
910
+ };
911
+ "/agents/{agentId}/sessions/{sessionId}/messages": {
912
+ parameters: {
913
+ query?: never;
914
+ header?: never;
915
+ path?: never;
916
+ cookie?: never;
917
+ };
918
+ /**
919
+ * List session messages
920
+ * @description Returns messages in the session with simplified roles (user/assistant) instead of raw actor IDs.
921
+ */
922
+ get: operations["listSessionMessages"];
923
+ put?: never;
924
+ /**
925
+ * Add a user message
926
+ * @description Saves a user message to the session. When autoGenerate is enabled on the session and no generation is currently in progress, generation is triggered automatically and the response mirrors GenerateSessionResponse. Otherwise returns the saved user message.
927
+ */
928
+ post: operations["addSessionMessage"];
929
+ delete?: never;
930
+ options?: never;
931
+ head?: never;
932
+ patch?: never;
933
+ trace?: never;
934
+ };
935
+ "/agents/{agentId}/sessions/{sessionId}/generate": {
936
+ parameters: {
937
+ query?: never;
938
+ header?: never;
939
+ path?: never;
940
+ cookie?: never;
941
+ };
942
+ get?: never;
943
+ put?: never;
944
+ /**
945
+ * Trigger agent generation
946
+ * @description Triggers the agent to generate a response based on the current conversation. Returns the assistant reply or a requires_action status if the agent needs client tool outputs. Pass ?async=true for a 202 accepted response when you do not need to wait for the result.
947
+ */
948
+ post: operations["generateSessionResponse"];
949
+ delete?: never;
950
+ options?: never;
951
+ head?: never;
952
+ patch?: never;
953
+ trace?: never;
954
+ };
955
+ "/agents/{agentId}/sessions/{sessionId}/tool-outputs": {
956
+ parameters: {
957
+ query?: never;
958
+ header?: never;
959
+ path?: never;
960
+ cookie?: never;
961
+ };
962
+ get?: never;
963
+ put?: never;
964
+ /**
965
+ * Submit tool outputs
966
+ * @description Submits client tool outputs for a generation that returned requires_action. The agent continues its loop and returns the final or next requires_action result.
967
+ */
968
+ post: operations["submitSessionToolOutputs"];
969
+ delete?: never;
970
+ options?: never;
971
+ head?: never;
972
+ patch?: never;
973
+ trace?: never;
974
+ };
975
+ "/agents/{agentId}/sessions/{sessionId}/tags": {
976
+ parameters: {
977
+ query?: never;
978
+ header?: never;
979
+ path?: never;
980
+ cookie?: never;
981
+ };
982
+ /**
983
+ * Get session tags
984
+ * @description Returns the session's tags object.
985
+ */
986
+ get: operations["getSessionTags"];
987
+ /**
988
+ * Replace session tags
989
+ * @description Replaces all tags on the session.
990
+ */
991
+ put: operations["replaceSessionTags"];
992
+ post?: never;
993
+ delete?: never;
994
+ options?: never;
995
+ head?: never;
996
+ /**
997
+ * Merge session tags
998
+ * @description Merges the provided tags into the session's existing tags.
999
+ */
1000
+ patch: operations["mergeSessionTags"];
1001
+ trace?: never;
1002
+ };
639
1003
  "/users": {
640
1004
  parameters: {
641
1005
  query?: never;
@@ -700,6 +1064,94 @@ interface paths {
700
1064
  patch?: never;
701
1065
  trace?: never;
702
1066
  };
1067
+ "/projects/{projectId}/webhooks": {
1068
+ parameters: {
1069
+ query?: never;
1070
+ header?: never;
1071
+ path?: never;
1072
+ cookie?: never;
1073
+ };
1074
+ /** List webhooks for a project */
1075
+ get: operations["listWebhooks"];
1076
+ put?: never;
1077
+ /** Create a webhook */
1078
+ post: operations["createWebhook"];
1079
+ delete?: never;
1080
+ options?: never;
1081
+ head?: never;
1082
+ patch?: never;
1083
+ trace?: never;
1084
+ };
1085
+ "/projects/{projectId}/webhooks/{webhookId}": {
1086
+ parameters: {
1087
+ query?: never;
1088
+ header?: never;
1089
+ path?: never;
1090
+ cookie?: never;
1091
+ };
1092
+ /** Get a webhook */
1093
+ get: operations["getWebhook"];
1094
+ /** Update a webhook */
1095
+ put: operations["updateWebhook"];
1096
+ post?: never;
1097
+ /** Delete a webhook */
1098
+ delete: operations["deleteWebhook"];
1099
+ options?: never;
1100
+ head?: never;
1101
+ patch?: never;
1102
+ trace?: never;
1103
+ };
1104
+ "/projects/{projectId}/webhooks/{webhookId}/deliveries": {
1105
+ parameters: {
1106
+ query?: never;
1107
+ header?: never;
1108
+ path?: never;
1109
+ cookie?: never;
1110
+ };
1111
+ /** List deliveries for a webhook */
1112
+ get: operations["listWebhookDeliveries"];
1113
+ put?: never;
1114
+ post?: never;
1115
+ delete?: never;
1116
+ options?: never;
1117
+ head?: never;
1118
+ patch?: never;
1119
+ trace?: never;
1120
+ };
1121
+ "/projects/{projectId}/webhooks/{webhookId}/deliveries/{deliveryId}": {
1122
+ parameters: {
1123
+ query?: never;
1124
+ header?: never;
1125
+ path?: never;
1126
+ cookie?: never;
1127
+ };
1128
+ /** Get a delivery */
1129
+ get: operations["getWebhookDelivery"];
1130
+ put?: never;
1131
+ post?: never;
1132
+ delete?: never;
1133
+ options?: never;
1134
+ head?: never;
1135
+ patch?: never;
1136
+ trace?: never;
1137
+ };
1138
+ "/projects/{projectId}/webhooks/{webhookId}/rotate-secret": {
1139
+ parameters: {
1140
+ query?: never;
1141
+ header?: never;
1142
+ path?: never;
1143
+ cookie?: never;
1144
+ };
1145
+ get?: never;
1146
+ put?: never;
1147
+ /** Rotate webhook secret */
1148
+ post: operations["rotateWebhookSecret"];
1149
+ delete?: never;
1150
+ options?: never;
1151
+ head?: never;
1152
+ patch?: never;
1153
+ trace?: never;
1154
+ };
703
1155
  }
704
1156
  interface components {
705
1157
  schemas: {
@@ -1114,6 +1566,11 @@ interface components {
1114
1566
  * @description Last update timestamp
1115
1567
  */
1116
1568
  updatedAt?: string;
1569
+ /**
1570
+ * @description Actor ID associated with this conversation
1571
+ * @example act_V1StGXR8Z5jdHi6B
1572
+ */
1573
+ actorId?: string | null;
1117
1574
  };
1118
1575
  ConversationMessageRecord: {
1119
1576
  /**
@@ -1131,6 +1588,18 @@ interface components {
1131
1588
  * @example 0
1132
1589
  */
1133
1590
  position?: number;
1591
+ /**
1592
+ * @description Optional structured metadata attached to the message
1593
+ * @example {
1594
+ * "phone": "5511999998888",
1595
+ * "channel": "whatsapp"
1596
+ * }
1597
+ */
1598
+ metadata?: {
1599
+ [key: string]: unknown;
1600
+ } | null;
1601
+ /** @description Full text content of the message */
1602
+ content?: string | null;
1134
1603
  };
1135
1604
  ConversationActorRecord: {
1136
1605
  /**
@@ -1169,6 +1638,52 @@ interface components {
1169
1638
  */
1170
1639
  updatedAt?: string;
1171
1640
  };
1641
+ GenerateConversationMessageResponse: {
1642
+ /**
1643
+ * @description Indicates generation finished successfully.
1644
+ * @enum {string}
1645
+ */
1646
+ status: "completed";
1647
+ /**
1648
+ * @description The AI-generated text of the reply. This is the canonical field for the assistant's response text.
1649
+ * @example Hello! How can I help you today?
1650
+ */
1651
+ content: string;
1652
+ message: components["schemas"]["ConversationMessageRecord"];
1653
+ /**
1654
+ * @description ID of the underlying generation record.
1655
+ * @example gen_V1StGXR8Z5jdHi6B
1656
+ */
1657
+ generationId: string;
1658
+ /**
1659
+ * @description Trace ID for observability.
1660
+ * @example trc_V1StGXR8Z5jdHi6B
1661
+ */
1662
+ traceId: string;
1663
+ /**
1664
+ * @description Model used for generation.
1665
+ * @example gpt-4o
1666
+ */
1667
+ model?: string;
1668
+ } | {
1669
+ /**
1670
+ * @description Indicates the agent requires tool-call outputs before it can produce a reply. No message is persisted yet.
1671
+ * @enum {string}
1672
+ */
1673
+ status: "requires_action";
1674
+ /**
1675
+ * @description ID of the paused generation. Pass to the tool-outputs endpoint.
1676
+ * @example gen_V1StGXR8Z5jdHi6B
1677
+ */
1678
+ generationId: string;
1679
+ /**
1680
+ * @description Trace ID for observability.
1681
+ * @example trc_V1StGXR8Z5jdHi6B
1682
+ */
1683
+ traceId: string;
1684
+ /** @description Tool-call information the client must resolve. */
1685
+ requiredAction: Record<string, never>;
1686
+ };
1172
1687
  DocumentRecord: {
1173
1688
  /**
1174
1689
  * @description Document ID
@@ -1254,6 +1769,166 @@ interface components {
1254
1769
  */
1255
1770
  updatedAt?: string;
1256
1771
  };
1772
+ SessionRecord: {
1773
+ /**
1774
+ * @description Session public ID
1775
+ * @example sess_V1StGXR8Z5jdHi6B
1776
+ */
1777
+ id?: string;
1778
+ /**
1779
+ * @description Agent public ID
1780
+ * @example agt_V1StGXR8Z5jdHi6B
1781
+ */
1782
+ agentId?: string;
1783
+ /**
1784
+ * @description Underlying conversation public ID
1785
+ * @example conv_V1StGXR8Z5jdHi6B
1786
+ */
1787
+ conversationId?: string;
1788
+ /**
1789
+ * @example open
1790
+ * @enum {string}
1791
+ */
1792
+ status?: "open" | "closed";
1793
+ /** @example Support chat */
1794
+ name?: string | null;
1795
+ /**
1796
+ * @description Public ID of the user actor
1797
+ * @example actr_V1StGXR8Z5jdHi6B
1798
+ */
1799
+ actorId?: string | null;
1800
+ tags?: {
1801
+ [key: string]: string;
1802
+ };
1803
+ /**
1804
+ * @description When true, automatically triggers generation after each user message (if no generation is in progress).
1805
+ * @default false
1806
+ */
1807
+ autoGenerate: boolean;
1808
+ /**
1809
+ * Format: date-time
1810
+ * @description Timestamp when the current generation started, or null if not generating.
1811
+ */
1812
+ generatingAt?: string | null;
1813
+ /** Format: date-time */
1814
+ createdAt?: string;
1815
+ /** Format: date-time */
1816
+ updatedAt?: string;
1817
+ };
1818
+ SessionMessage: {
1819
+ /** @enum {string} */
1820
+ role?: "user" | "assistant" | "unknown";
1821
+ content?: string;
1822
+ documentId?: string | null;
1823
+ position?: number;
1824
+ metadata?: Record<string, never> | null;
1825
+ };
1826
+ CreateSessionRequest: {
1827
+ /**
1828
+ * @description Optional session name
1829
+ * @example Support chat
1830
+ */
1831
+ name?: string;
1832
+ /**
1833
+ * @description Optional public ID of an existing actor to use as the user actor
1834
+ * @example actr_V1StGXR8Z5jdHi6B
1835
+ */
1836
+ actorId?: string;
1837
+ /**
1838
+ * @description When true, automatically triggers generation after each user message.
1839
+ * @default false
1840
+ */
1841
+ autoGenerate: boolean;
1842
+ };
1843
+ UpdateSessionRequest: {
1844
+ /** @description Session name (set to null to clear) */
1845
+ name?: string | null;
1846
+ /**
1847
+ * @description Session status
1848
+ * @enum {string}
1849
+ */
1850
+ status?: "open" | "closed";
1851
+ /** @description Enable or disable automatic generation after user messages. */
1852
+ autoGenerate?: boolean;
1853
+ };
1854
+ AddSessionMessageRequest: {
1855
+ /**
1856
+ * @description User message text
1857
+ * @example Hello, how can I deploy my app?
1858
+ */
1859
+ message: string;
1860
+ };
1861
+ AddSessionMessageResponse: {
1862
+ /** @enum {string} */
1863
+ role?: "user";
1864
+ content?: string;
1865
+ } | components["schemas"]["GenerateSessionResponse"];
1866
+ GenerateSessionRequest: {
1867
+ /**
1868
+ * @description Optional model override
1869
+ * @example gpt-4o
1870
+ */
1871
+ model?: string;
1872
+ };
1873
+ GenerateSessionResponse: {
1874
+ /** @enum {string} */
1875
+ status?: "completed" | "requires_action";
1876
+ message?: {
1877
+ role?: string;
1878
+ content?: string;
1879
+ model?: string;
1880
+ };
1881
+ generationId?: string;
1882
+ traceId?: string;
1883
+ /** @description Present when status is requires_action */
1884
+ requiredAction?: {
1885
+ toolCalls?: {
1886
+ id?: string;
1887
+ name?: string;
1888
+ arguments?: Record<string, never>;
1889
+ }[];
1890
+ };
1891
+ };
1892
+ SendSessionMessageRequest: {
1893
+ /**
1894
+ * @description User message text
1895
+ * @example Hello, how can I deploy my app?
1896
+ */
1897
+ message: string;
1898
+ /**
1899
+ * @description Optional model override
1900
+ * @example gpt-4o
1901
+ */
1902
+ model?: string;
1903
+ };
1904
+ SendSessionMessageResponse: {
1905
+ /** @enum {string} */
1906
+ status?: "completed" | "requires_action";
1907
+ message?: {
1908
+ role?: string;
1909
+ content?: string;
1910
+ model?: string;
1911
+ };
1912
+ generationId?: string;
1913
+ traceId?: string;
1914
+ /** @description Present when status is requires_action */
1915
+ requiredAction?: {
1916
+ toolCalls?: {
1917
+ id?: string;
1918
+ name?: string;
1919
+ arguments?: Record<string, never>;
1920
+ }[];
1921
+ };
1922
+ };
1923
+ SubmitSessionToolOutputsRequest: {
1924
+ /** @description The generation ID from the requires_action response */
1925
+ generationId: string;
1926
+ toolOutputs: {
1927
+ toolCallId: string;
1928
+ /** @description The tool output value */
1929
+ output: unknown;
1930
+ }[];
1931
+ };
1257
1932
  UserRecord: {
1258
1933
  /**
1259
1934
  * @description Public user ID (usr_ prefix)
@@ -1278,6 +1953,60 @@ interface components {
1278
1953
  */
1279
1954
  updatedAt?: string;
1280
1955
  };
1956
+ Webhook: {
1957
+ id?: string;
1958
+ projectId?: string;
1959
+ policyId?: string | null;
1960
+ name?: string;
1961
+ description?: string | null;
1962
+ url?: string;
1963
+ events?: string[];
1964
+ active?: boolean;
1965
+ /** Format: date-time */
1966
+ createdAt?: string;
1967
+ /** Format: date-time */
1968
+ updatedAt?: string;
1969
+ };
1970
+ WebhookWithSecret: components["schemas"]["Webhook"] & {
1971
+ secret?: string;
1972
+ };
1973
+ CreateWebhookRequest: {
1974
+ name: string;
1975
+ description?: string;
1976
+ url: string;
1977
+ events: string[];
1978
+ policyId?: string;
1979
+ };
1980
+ UpdateWebhookRequest: {
1981
+ name?: string;
1982
+ description?: string;
1983
+ url?: string;
1984
+ events?: string[];
1985
+ active?: boolean;
1986
+ policyId?: string | null;
1987
+ };
1988
+ Delivery: {
1989
+ id?: string;
1990
+ eventType?: string;
1991
+ payload?: Record<string, never>;
1992
+ /** @enum {string} */
1993
+ status?: "pending" | "success" | "failed";
1994
+ statusCode?: number | null;
1995
+ attempts?: number;
1996
+ /** Format: date-time */
1997
+ lastAttemptAt?: string | null;
1998
+ responseBody?: string | null;
1999
+ /** Format: date-time */
2000
+ createdAt?: string;
2001
+ /** Format: date-time */
2002
+ updatedAt?: string;
2003
+ };
2004
+ DeliveryListResponse: {
2005
+ data?: components["schemas"]["Delivery"][];
2006
+ total?: number;
2007
+ limit?: number;
2008
+ offset?: number;
2009
+ };
1281
2010
  };
1282
2011
  responses: {
1283
2012
  /** @description Authentication required */
@@ -1299,8 +2028,22 @@ interface components {
1299
2028
  "application/json": components["schemas"]["ErrorResponse"];
1300
2029
  };
1301
2030
  };
2031
+ /** @description Not found */
2032
+ NotFound: {
2033
+ headers: {
2034
+ [name: string]: unknown;
2035
+ };
2036
+ content: {
2037
+ "application/json": components["schemas"]["ErrorResponse"];
2038
+ };
2039
+ };
2040
+ };
2041
+ parameters: {
2042
+ /** @description Agent public ID */
2043
+ AgentId: string;
2044
+ /** @description Session public ID */
2045
+ SessionId: string;
1302
2046
  };
1303
- parameters: never;
1304
2047
  requestBodies: never;
1305
2048
  headers: never;
1306
2049
  pathItems: never;
@@ -1372,7 +2115,7 @@ interface operations {
1372
2115
  */
1373
2116
  type?: string;
1374
2117
  /**
1375
- * @description Optional external identifier (e.g. WhatsApp phone number). Must be unique within a project.
2118
+ * @description Optional external identifier (e.g. WhatsApp phone number). If provided and an actor with this externalId already exists in the project, the existing actor is returned (idempotent — 200 OK).
1376
2119
  * @example +15551234567
1377
2120
  */
1378
2121
  externalId?: string;
@@ -1380,6 +2123,15 @@ interface operations {
1380
2123
  };
1381
2124
  };
1382
2125
  responses: {
2126
+ /** @description Actor already exists — returned when externalId matches an existing actor in this project (idempotent) */
2127
+ 200: {
2128
+ headers: {
2129
+ [name: string]: unknown;
2130
+ };
2131
+ content: {
2132
+ "application/json": components["schemas"]["ActorRecord"];
2133
+ };
2134
+ };
1383
2135
  /** @description Actor created */
1384
2136
  201: {
1385
2137
  headers: {
@@ -2223,11 +2975,15 @@ interface operations {
2223
2975
  };
2224
2976
  };
2225
2977
  };
2226
- listChats: {
2978
+ listAiProviders: {
2227
2979
  parameters: {
2228
2980
  query?: {
2229
- /** @description Project public ID to filter by */
2981
+ /** @description Project ID (required if not using project key auth) */
2230
2982
  projectId?: string;
2983
+ /** @description Number of results per page */
2984
+ limit?: number;
2985
+ /** @description Number of results to skip */
2986
+ offset?: number;
2231
2987
  };
2232
2988
  header?: never;
2233
2989
  path?: never;
@@ -2235,13 +2991,22 @@ interface operations {
2235
2991
  };
2236
2992
  requestBody?: never;
2237
2993
  responses: {
2238
- /** @description List of chats */
2994
+ /** @description List of AI providers */
2239
2995
  200: {
2240
2996
  headers: {
2241
2997
  [name: string]: unknown;
2242
2998
  };
2243
2999
  content: {
2244
- "application/json": components["schemas"]["Chat"][];
3000
+ "application/json": {
3001
+ id?: string;
3002
+ name?: string;
3003
+ /** @enum {string} */
3004
+ provider?: "openai" | "anthropic" | "google" | "cohere" | "mistral";
3005
+ defaultModel?: string;
3006
+ projectId?: string;
3007
+ /** Format: date-time */
3008
+ createdAt?: string;
3009
+ }[];
2245
3010
  };
2246
3011
  };
2247
3012
  /** @description Unauthorized */
@@ -2249,22 +3014,25 @@ interface operations {
2249
3014
  headers: {
2250
3015
  [name: string]: unknown;
2251
3016
  };
2252
- content: {
2253
- "application/json": components["schemas"]["ErrorResponse"];
2254
- };
3017
+ content?: never;
2255
3018
  };
2256
3019
  /** @description Forbidden */
2257
3020
  403: {
2258
3021
  headers: {
2259
3022
  [name: string]: unknown;
2260
3023
  };
2261
- content: {
2262
- "application/json": components["schemas"]["ErrorResponse"];
3024
+ content?: never;
3025
+ };
3026
+ /** @description Internal server error */
3027
+ 500: {
3028
+ headers: {
3029
+ [name: string]: unknown;
2263
3030
  };
3031
+ content?: never;
2264
3032
  };
2265
3033
  };
2266
3034
  };
2267
- createChat: {
3035
+ createAiProvider: {
2268
3036
  parameters: {
2269
3037
  query?: never;
2270
3038
  header?: never;
@@ -2273,11 +3041,299 @@ interface operations {
2273
3041
  };
2274
3042
  requestBody: {
2275
3043
  content: {
2276
- "application/json": components["schemas"]["CreateChatRequest"];
3044
+ "application/json": {
3045
+ /**
3046
+ * @description Project ID (required if not using project key auth)
3047
+ * @example proj_V1StGXR8Z5jdHi6B
3048
+ */
3049
+ projectId?: string;
3050
+ /**
3051
+ * @description Provider configuration name
3052
+ * @example OpenAI Production
3053
+ */
3054
+ name: string;
3055
+ /**
3056
+ * @description LLM provider
3057
+ * @example openai
3058
+ * @enum {string}
3059
+ */
3060
+ provider: "openai" | "anthropic" | "google" | "cohere" | "mistral";
3061
+ /**
3062
+ * @description Default model to use
3063
+ * @example gpt-4
3064
+ */
3065
+ defaultModel: string;
3066
+ /**
3067
+ * @description Secret ID containing API credentials
3068
+ * @example secret_V1StGXR8Z5jdHi6B
3069
+ */
3070
+ secretId?: string;
3071
+ /** @description Custom base URL for the provider */
3072
+ baseUrl?: string;
3073
+ /** @description Additional provider-specific configuration */
3074
+ config?: Record<string, never>;
3075
+ };
2277
3076
  };
2278
3077
  };
2279
3078
  responses: {
2280
- /** @description Chat created */
3079
+ /** @description AI provider created successfully */
3080
+ 201: {
3081
+ headers: {
3082
+ [name: string]: unknown;
3083
+ };
3084
+ content: {
3085
+ "application/json": {
3086
+ id?: string;
3087
+ name?: string;
3088
+ provider?: string;
3089
+ defaultModel?: string;
3090
+ projectId?: string;
3091
+ /** Format: date-time */
3092
+ createdAt?: string;
3093
+ };
3094
+ };
3095
+ };
3096
+ /** @description Bad request (invalid provider or missing fields) */
3097
+ 400: {
3098
+ headers: {
3099
+ [name: string]: unknown;
3100
+ };
3101
+ content?: never;
3102
+ };
3103
+ /** @description Unauthorized */
3104
+ 401: {
3105
+ headers: {
3106
+ [name: string]: unknown;
3107
+ };
3108
+ content?: never;
3109
+ };
3110
+ /** @description Forbidden */
3111
+ 403: {
3112
+ headers: {
3113
+ [name: string]: unknown;
3114
+ };
3115
+ content?: never;
3116
+ };
3117
+ /** @description Internal server error */
3118
+ 500: {
3119
+ headers: {
3120
+ [name: string]: unknown;
3121
+ };
3122
+ content?: never;
3123
+ };
3124
+ };
3125
+ };
3126
+ getAiProvider: {
3127
+ parameters: {
3128
+ query?: never;
3129
+ header?: never;
3130
+ path: {
3131
+ /** @description AI Provider ID */
3132
+ aiProviderId: string;
3133
+ };
3134
+ cookie?: never;
3135
+ };
3136
+ requestBody?: never;
3137
+ responses: {
3138
+ /** @description AI provider details */
3139
+ 200: {
3140
+ headers: {
3141
+ [name: string]: unknown;
3142
+ };
3143
+ content: {
3144
+ "application/json": {
3145
+ id?: string;
3146
+ name?: string;
3147
+ provider?: string;
3148
+ defaultModel?: string;
3149
+ projectId?: string;
3150
+ secretId?: string;
3151
+ baseUrl?: string;
3152
+ config?: Record<string, never>;
3153
+ /** Format: date-time */
3154
+ createdAt?: string;
3155
+ };
3156
+ };
3157
+ };
3158
+ /** @description Unauthorized */
3159
+ 401: {
3160
+ headers: {
3161
+ [name: string]: unknown;
3162
+ };
3163
+ content?: never;
3164
+ };
3165
+ /** @description Forbidden */
3166
+ 403: {
3167
+ headers: {
3168
+ [name: string]: unknown;
3169
+ };
3170
+ content?: never;
3171
+ };
3172
+ /** @description AI provider not found */
3173
+ 404: {
3174
+ headers: {
3175
+ [name: string]: unknown;
3176
+ };
3177
+ content?: never;
3178
+ };
3179
+ };
3180
+ };
3181
+ deleteAiProvider: {
3182
+ parameters: {
3183
+ query?: never;
3184
+ header?: never;
3185
+ path: {
3186
+ /** @description AI Provider ID */
3187
+ aiProviderId: string;
3188
+ };
3189
+ cookie?: never;
3190
+ };
3191
+ requestBody?: never;
3192
+ responses: {
3193
+ /** @description AI provider deleted successfully */
3194
+ 200: {
3195
+ headers: {
3196
+ [name: string]: unknown;
3197
+ };
3198
+ content?: never;
3199
+ };
3200
+ /** @description Unauthorized */
3201
+ 401: {
3202
+ headers: {
3203
+ [name: string]: unknown;
3204
+ };
3205
+ content?: never;
3206
+ };
3207
+ /** @description Forbidden */
3208
+ 403: {
3209
+ headers: {
3210
+ [name: string]: unknown;
3211
+ };
3212
+ content?: never;
3213
+ };
3214
+ /** @description AI provider not found */
3215
+ 404: {
3216
+ headers: {
3217
+ [name: string]: unknown;
3218
+ };
3219
+ content?: never;
3220
+ };
3221
+ };
3222
+ };
3223
+ updateAiProvider: {
3224
+ parameters: {
3225
+ query?: never;
3226
+ header?: never;
3227
+ path: {
3228
+ /** @description AI Provider ID */
3229
+ aiProviderId: string;
3230
+ };
3231
+ cookie?: never;
3232
+ };
3233
+ requestBody: {
3234
+ content: {
3235
+ "application/json": {
3236
+ name?: string;
3237
+ defaultModel?: string;
3238
+ secretId?: string;
3239
+ baseUrl?: string;
3240
+ config?: Record<string, never>;
3241
+ };
3242
+ };
3243
+ };
3244
+ responses: {
3245
+ /** @description AI provider updated successfully */
3246
+ 200: {
3247
+ headers: {
3248
+ [name: string]: unknown;
3249
+ };
3250
+ content?: never;
3251
+ };
3252
+ /** @description Bad request */
3253
+ 400: {
3254
+ headers: {
3255
+ [name: string]: unknown;
3256
+ };
3257
+ content?: never;
3258
+ };
3259
+ /** @description Unauthorized */
3260
+ 401: {
3261
+ headers: {
3262
+ [name: string]: unknown;
3263
+ };
3264
+ content?: never;
3265
+ };
3266
+ /** @description Forbidden */
3267
+ 403: {
3268
+ headers: {
3269
+ [name: string]: unknown;
3270
+ };
3271
+ content?: never;
3272
+ };
3273
+ /** @description AI provider not found */
3274
+ 404: {
3275
+ headers: {
3276
+ [name: string]: unknown;
3277
+ };
3278
+ content?: never;
3279
+ };
3280
+ };
3281
+ };
3282
+ listChats: {
3283
+ parameters: {
3284
+ query?: {
3285
+ /** @description Project public ID to filter by */
3286
+ projectId?: string;
3287
+ };
3288
+ header?: never;
3289
+ path?: never;
3290
+ cookie?: never;
3291
+ };
3292
+ requestBody?: never;
3293
+ responses: {
3294
+ /** @description List of chats */
3295
+ 200: {
3296
+ headers: {
3297
+ [name: string]: unknown;
3298
+ };
3299
+ content: {
3300
+ "application/json": components["schemas"]["Chat"][];
3301
+ };
3302
+ };
3303
+ /** @description Unauthorized */
3304
+ 401: {
3305
+ headers: {
3306
+ [name: string]: unknown;
3307
+ };
3308
+ content: {
3309
+ "application/json": components["schemas"]["ErrorResponse"];
3310
+ };
3311
+ };
3312
+ /** @description Forbidden */
3313
+ 403: {
3314
+ headers: {
3315
+ [name: string]: unknown;
3316
+ };
3317
+ content: {
3318
+ "application/json": components["schemas"]["ErrorResponse"];
3319
+ };
3320
+ };
3321
+ };
3322
+ };
3323
+ createChat: {
3324
+ parameters: {
3325
+ query?: never;
3326
+ header?: never;
3327
+ path?: never;
3328
+ cookie?: never;
3329
+ };
3330
+ requestBody: {
3331
+ content: {
3332
+ "application/json": components["schemas"]["CreateChatRequest"];
3333
+ };
3334
+ };
3335
+ responses: {
3336
+ /** @description Chat created */
2281
3337
  201: {
2282
3338
  headers: {
2283
3339
  [name: string]: unknown;
@@ -2572,6 +3628,13 @@ interface operations {
2572
3628
  * @enum {string}
2573
3629
  */
2574
3630
  status?: "open" | "closed";
3631
+ /** @description Optional name for the conversation */
3632
+ name?: string | null;
3633
+ /**
3634
+ * @description Actor ID to associate with this conversation
3635
+ * @example act_V1StGXR8Z5jdHi6B
3636
+ */
3637
+ actorId?: string | null;
2575
3638
  };
2576
3639
  };
2577
3640
  };
@@ -2859,6 +3922,16 @@ interface operations {
2859
3922
  * @example 0
2860
3923
  */
2861
3924
  position?: number;
3925
+ /**
3926
+ * @description Optional structured metadata to attach to the message (e.g. phone number, channel). Stored as-is and injected into the AI prompt context.
3927
+ * @example {
3928
+ * "phone": "5511999998888",
3929
+ * "channel": "whatsapp"
3930
+ * }
3931
+ */
3932
+ metadata?: {
3933
+ [key: string]: unknown;
3934
+ } | null;
2862
3935
  };
2863
3936
  };
2864
3937
  };
@@ -2938,7 +4011,7 @@ interface operations {
2938
4011
  [name: string]: unknown;
2939
4012
  };
2940
4013
  content: {
2941
- "application/json": Record<string, never>;
4014
+ "application/json": components["schemas"]["GenerateConversationMessageResponse"];
2942
4015
  };
2943
4016
  };
2944
4017
  /** @description Invalid request */
@@ -3657,169 +4730,1714 @@ interface operations {
3657
4730
  };
3658
4731
  };
3659
4732
  };
3660
- listUsers: {
4733
+ createProjectKey: {
3661
4734
  parameters: {
3662
4735
  query?: never;
3663
4736
  header?: never;
3664
4737
  path?: never;
3665
4738
  cookie?: never;
3666
4739
  };
3667
- requestBody?: never;
4740
+ requestBody: {
4741
+ content: {
4742
+ "application/json": {
4743
+ /**
4744
+ * @description Project ID
4745
+ * @example proj_V1StGXR8Z5jdHi6B
4746
+ */
4747
+ projectId: string;
4748
+ /**
4749
+ * @description Policy ID that determines the key's permissions
4750
+ * @example policy_abc123
4751
+ */
4752
+ policyId: string;
4753
+ /**
4754
+ * @description Key name for identification
4755
+ * @example CI/CD Pipeline
4756
+ */
4757
+ name: string;
4758
+ };
4759
+ };
4760
+ };
3668
4761
  responses: {
3669
- /** @description List of users returned successfully */
3670
- 200: {
4762
+ /** @description Project key created successfully */
4763
+ 201: {
3671
4764
  headers: {
3672
4765
  [name: string]: unknown;
3673
4766
  };
3674
4767
  content: {
3675
- "application/json": components["schemas"]["UserRecord"][];
4768
+ "application/json": {
4769
+ /**
4770
+ * @description The API key ID (to use as bearer token)
4771
+ * @example SDK_V1StGXR8Z5jdHi6B
4772
+ */
4773
+ id?: string;
4774
+ name?: string;
4775
+ projectId?: string;
4776
+ /** Format: date-time */
4777
+ createdAt?: string;
4778
+ };
3676
4779
  };
3677
4780
  };
3678
- /** @description Internal server error */
3679
- 500: {
4781
+ /** @description Bad request (missing fields, invalid project/policy) */
4782
+ 400: {
3680
4783
  headers: {
3681
4784
  [name: string]: unknown;
3682
4785
  };
3683
- content: {
3684
- "application/json": components["schemas"]["ErrorResponse"];
4786
+ content?: never;
4787
+ };
4788
+ /** @description Unauthorized */
4789
+ 401: {
4790
+ headers: {
4791
+ [name: string]: unknown;
3685
4792
  };
4793
+ content?: never;
3686
4794
  };
3687
- };
4795
+ /** @description Forbidden (not a project member) */
4796
+ 403: {
4797
+ headers: {
4798
+ [name: string]: unknown;
4799
+ };
4800
+ content?: never;
4801
+ };
4802
+ /** @description Internal server error */
4803
+ 500: {
4804
+ headers: {
4805
+ [name: string]: unknown;
4806
+ };
4807
+ content?: never;
4808
+ };
4809
+ };
3688
4810
  };
3689
- createUser: {
4811
+ getProjectKey: {
3690
4812
  parameters: {
3691
4813
  query?: never;
3692
4814
  header?: never;
3693
- path?: never;
4815
+ path: {
4816
+ /** @description Project key ID */
4817
+ id: string;
4818
+ };
4819
+ cookie?: never;
4820
+ };
4821
+ requestBody?: never;
4822
+ responses: {
4823
+ /** @description Project key details */
4824
+ 200: {
4825
+ headers: {
4826
+ [name: string]: unknown;
4827
+ };
4828
+ content: {
4829
+ "application/json": {
4830
+ id?: string;
4831
+ name?: string;
4832
+ projectId?: string;
4833
+ /** Format: date-time */
4834
+ createdAt?: string;
4835
+ };
4836
+ };
4837
+ };
4838
+ /** @description Unauthorized */
4839
+ 401: {
4840
+ headers: {
4841
+ [name: string]: unknown;
4842
+ };
4843
+ content?: never;
4844
+ };
4845
+ /** @description Forbidden (not the key owner) */
4846
+ 403: {
4847
+ headers: {
4848
+ [name: string]: unknown;
4849
+ };
4850
+ content?: never;
4851
+ };
4852
+ /** @description Project key not found */
4853
+ 404: {
4854
+ headers: {
4855
+ [name: string]: unknown;
4856
+ };
4857
+ content?: never;
4858
+ };
4859
+ };
4860
+ };
4861
+ updateProjectKey: {
4862
+ parameters: {
4863
+ query?: never;
4864
+ header?: never;
4865
+ path: {
4866
+ /** @description Project key ID */
4867
+ id: string;
4868
+ };
3694
4869
  cookie?: never;
3695
4870
  };
3696
4871
  requestBody: {
3697
4872
  content: {
3698
4873
  "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";
4874
+ /** @description New policy ID */
4875
+ policyId: string;
3711
4876
  };
3712
4877
  };
3713
4878
  };
3714
4879
  responses: {
3715
- /** @description User created successfully */
3716
- 201: {
4880
+ /** @description Project key updated successfully */
4881
+ 200: {
3717
4882
  headers: {
3718
4883
  [name: string]: unknown;
3719
4884
  };
3720
- content: {
3721
- "application/json": components["schemas"]["UserRecord"];
4885
+ content?: never;
4886
+ };
4887
+ /** @description Bad request (invalid policy) */
4888
+ 400: {
4889
+ headers: {
4890
+ [name: string]: unknown;
4891
+ };
4892
+ content?: never;
4893
+ };
4894
+ /** @description Unauthorized */
4895
+ 401: {
4896
+ headers: {
4897
+ [name: string]: unknown;
3722
4898
  };
4899
+ content?: never;
3723
4900
  };
3724
- /** @description Internal server error */
3725
- 500: {
4901
+ /** @description Forbidden (not the key owner) */
4902
+ 403: {
3726
4903
  headers: {
3727
4904
  [name: string]: unknown;
3728
4905
  };
3729
- content: {
3730
- "application/json": components["schemas"]["ErrorResponse"];
4906
+ content?: never;
4907
+ };
4908
+ /** @description Project key not found */
4909
+ 404: {
4910
+ headers: {
4911
+ [name: string]: unknown;
3731
4912
  };
4913
+ content?: never;
3732
4914
  };
3733
4915
  };
3734
4916
  };
3735
- getUser: {
4917
+ deleteProjectKey: {
3736
4918
  parameters: {
3737
4919
  query?: never;
3738
4920
  header?: never;
3739
4921
  path: {
3740
- /** @description User ID */
4922
+ /** @description Project key ID */
3741
4923
  id: string;
3742
4924
  };
3743
4925
  cookie?: never;
3744
4926
  };
3745
4927
  requestBody?: never;
3746
4928
  responses: {
3747
- /** @description User found */
4929
+ /** @description Project key deleted successfully */
3748
4930
  200: {
3749
4931
  headers: {
3750
4932
  [name: string]: unknown;
3751
4933
  };
3752
- content: {
3753
- "application/json": components["schemas"]["UserRecord"];
4934
+ content?: never;
4935
+ };
4936
+ /** @description Unauthorized */
4937
+ 401: {
4938
+ headers: {
4939
+ [name: string]: unknown;
3754
4940
  };
4941
+ content?: never;
3755
4942
  };
3756
- /** @description User not found */
4943
+ /** @description Forbidden (not the key owner) */
4944
+ 403: {
4945
+ headers: {
4946
+ [name: string]: unknown;
4947
+ };
4948
+ content?: never;
4949
+ };
4950
+ /** @description Project key not found */
3757
4951
  404: {
4952
+ headers: {
4953
+ [name: string]: unknown;
4954
+ };
4955
+ content?: never;
4956
+ };
4957
+ };
4958
+ };
4959
+ createProject: {
4960
+ parameters: {
4961
+ query?: never;
4962
+ header?: never;
4963
+ path?: never;
4964
+ cookie?: never;
4965
+ };
4966
+ requestBody: {
4967
+ content: {
4968
+ "application/json": {
4969
+ /** @example My Project */
4970
+ name: string;
4971
+ };
4972
+ };
4973
+ };
4974
+ responses: {
4975
+ /** @description Project created successfully */
4976
+ 201: {
3758
4977
  headers: {
3759
4978
  [name: string]: unknown;
3760
4979
  };
3761
4980
  content: {
3762
- "application/json": components["schemas"]["ErrorResponse"];
4981
+ "application/json": {
4982
+ /** @example proj_V1StGXR8Z5jdHi6B */
4983
+ id?: string;
4984
+ name?: string;
4985
+ /** Format: date-time */
4986
+ createdAt?: string;
4987
+ };
4988
+ };
4989
+ };
4990
+ /** @description Unauthorized */
4991
+ 401: {
4992
+ headers: {
4993
+ [name: string]: unknown;
4994
+ };
4995
+ content?: never;
4996
+ };
4997
+ /** @description Forbidden (non-admin user) */
4998
+ 403: {
4999
+ headers: {
5000
+ [name: string]: unknown;
3763
5001
  };
5002
+ content?: never;
3764
5003
  };
3765
5004
  /** @description Internal server error */
3766
5005
  500: {
5006
+ headers: {
5007
+ [name: string]: unknown;
5008
+ };
5009
+ content?: never;
5010
+ };
5011
+ };
5012
+ };
5013
+ listProjectPolicies: {
5014
+ parameters: {
5015
+ query?: never;
5016
+ header?: never;
5017
+ path: {
5018
+ /** @description Project ID */
5019
+ projectId: string;
5020
+ };
5021
+ cookie?: never;
5022
+ };
5023
+ requestBody?: never;
5024
+ responses: {
5025
+ /** @description List of policies */
5026
+ 200: {
3767
5027
  headers: {
3768
5028
  [name: string]: unknown;
3769
5029
  };
3770
5030
  content: {
3771
- "application/json": components["schemas"]["ErrorResponse"];
5031
+ "application/json": {
5032
+ id?: string;
5033
+ name?: string;
5034
+ description?: string;
5035
+ }[];
5036
+ };
5037
+ };
5038
+ /** @description Unauthorized */
5039
+ 401: {
5040
+ headers: {
5041
+ [name: string]: unknown;
5042
+ };
5043
+ content?: never;
5044
+ };
5045
+ /** @description Forbidden */
5046
+ 403: {
5047
+ headers: {
5048
+ [name: string]: unknown;
3772
5049
  };
5050
+ content?: never;
5051
+ };
5052
+ /** @description Project not found */
5053
+ 404: {
5054
+ headers: {
5055
+ [name: string]: unknown;
5056
+ };
5057
+ content?: never;
3773
5058
  };
3774
5059
  };
3775
5060
  };
3776
- bootstrapUser: {
5061
+ createProjectPolicy: {
3777
5062
  parameters: {
3778
5063
  query?: never;
3779
5064
  header?: never;
3780
- path?: never;
5065
+ path: {
5066
+ /** @description Project ID */
5067
+ projectId: string;
5068
+ };
3781
5069
  cookie?: never;
3782
5070
  };
3783
5071
  requestBody: {
3784
5072
  content: {
3785
5073
  "application/json": {
3786
- /** @example admin */
3787
- username: string;
5074
+ /** @example Editor */
5075
+ name: string;
5076
+ description?: string;
3788
5077
  /**
3789
- * Format: password
3790
- * @example supersecret
5078
+ * @example [
5079
+ * "files:ListFiles",
5080
+ * "files:CreateFile"
5081
+ * ]
3791
5082
  */
3792
- password: string;
5083
+ permissions: string[];
5084
+ notPermissions?: string[];
3793
5085
  };
3794
5086
  };
3795
5087
  };
3796
5088
  responses: {
3797
- /** @description Admin user created successfully */
5089
+ /** @description Policy created successfully */
3798
5090
  201: {
3799
5091
  headers: {
3800
5092
  [name: string]: unknown;
3801
5093
  };
3802
- content: {
3803
- "application/json": components["schemas"]["UserRecord"];
5094
+ content?: never;
5095
+ };
5096
+ /** @description Bad request */
5097
+ 400: {
5098
+ headers: {
5099
+ [name: string]: unknown;
3804
5100
  };
5101
+ content?: never;
3805
5102
  };
3806
- /** @description Users already exist */
3807
- 409: {
5103
+ /** @description Unauthorized */
5104
+ 401: {
3808
5105
  headers: {
3809
5106
  [name: string]: unknown;
3810
5107
  };
3811
- content: {
3812
- "application/json": components["schemas"]["ErrorResponse"];
5108
+ content?: never;
5109
+ };
5110
+ /** @description Forbidden */
5111
+ 403: {
5112
+ headers: {
5113
+ [name: string]: unknown;
3813
5114
  };
5115
+ content?: never;
3814
5116
  };
3815
- /** @description Internal server error */
3816
- 500: {
5117
+ /** @description Project not found */
5118
+ 404: {
3817
5119
  headers: {
3818
5120
  [name: string]: unknown;
3819
5121
  };
3820
- content: {
3821
- "application/json": components["schemas"]["ErrorResponse"];
5122
+ content?: never;
5123
+ };
5124
+ };
5125
+ };
5126
+ getProjectPolicy: {
5127
+ parameters: {
5128
+ query?: never;
5129
+ header?: never;
5130
+ path: {
5131
+ projectId: string;
5132
+ policyId: string;
5133
+ };
5134
+ cookie?: never;
5135
+ };
5136
+ requestBody?: never;
5137
+ responses: {
5138
+ /** @description Policy details */
5139
+ 200: {
5140
+ headers: {
5141
+ [name: string]: unknown;
5142
+ };
5143
+ content?: never;
5144
+ };
5145
+ /** @description Unauthorized */
5146
+ 401: {
5147
+ headers: {
5148
+ [name: string]: unknown;
3822
5149
  };
5150
+ content?: never;
5151
+ };
5152
+ /** @description Forbidden */
5153
+ 403: {
5154
+ headers: {
5155
+ [name: string]: unknown;
5156
+ };
5157
+ content?: never;
5158
+ };
5159
+ /** @description Policy not found */
5160
+ 404: {
5161
+ headers: {
5162
+ [name: string]: unknown;
5163
+ };
5164
+ content?: never;
5165
+ };
5166
+ };
5167
+ };
5168
+ updateProjectPolicy: {
5169
+ parameters: {
5170
+ query?: never;
5171
+ header?: never;
5172
+ path: {
5173
+ projectId: string;
5174
+ policyId: string;
5175
+ };
5176
+ cookie?: never;
5177
+ };
5178
+ requestBody: {
5179
+ content: {
5180
+ "application/json": {
5181
+ name?: string;
5182
+ description?: string;
5183
+ document?: Record<string, never>;
5184
+ };
5185
+ };
5186
+ };
5187
+ responses: {
5188
+ /** @description Policy updated successfully */
5189
+ 200: {
5190
+ headers: {
5191
+ [name: string]: unknown;
5192
+ };
5193
+ content?: never;
5194
+ };
5195
+ /** @description Bad request */
5196
+ 400: {
5197
+ headers: {
5198
+ [name: string]: unknown;
5199
+ };
5200
+ content?: never;
5201
+ };
5202
+ /** @description Unauthorized */
5203
+ 401: {
5204
+ headers: {
5205
+ [name: string]: unknown;
5206
+ };
5207
+ content?: never;
5208
+ };
5209
+ /** @description Forbidden */
5210
+ 403: {
5211
+ headers: {
5212
+ [name: string]: unknown;
5213
+ };
5214
+ content?: never;
5215
+ };
5216
+ /** @description Policy not found */
5217
+ 404: {
5218
+ headers: {
5219
+ [name: string]: unknown;
5220
+ };
5221
+ content?: never;
5222
+ };
5223
+ };
5224
+ };
5225
+ listSecrets: {
5226
+ parameters: {
5227
+ query?: {
5228
+ /** @description Project ID (required if not using project key auth) */
5229
+ projectId?: string;
5230
+ /** @description Number of results per page */
5231
+ limit?: number;
5232
+ /** @description Number of results to skip */
5233
+ offset?: number;
5234
+ };
5235
+ header?: never;
5236
+ path?: never;
5237
+ cookie?: never;
5238
+ };
5239
+ requestBody?: never;
5240
+ responses: {
5241
+ /** @description List of secrets */
5242
+ 200: {
5243
+ headers: {
5244
+ [name: string]: unknown;
5245
+ };
5246
+ content: {
5247
+ "application/json": {
5248
+ id?: string;
5249
+ name?: string;
5250
+ projectId?: string;
5251
+ /** Format: date-time */
5252
+ createdAt?: string;
5253
+ }[];
5254
+ };
5255
+ };
5256
+ /** @description Unauthorized */
5257
+ 401: {
5258
+ headers: {
5259
+ [name: string]: unknown;
5260
+ };
5261
+ content?: never;
5262
+ };
5263
+ /** @description Forbidden */
5264
+ 403: {
5265
+ headers: {
5266
+ [name: string]: unknown;
5267
+ };
5268
+ content?: never;
5269
+ };
5270
+ /** @description Internal server error */
5271
+ 500: {
5272
+ headers: {
5273
+ [name: string]: unknown;
5274
+ };
5275
+ content?: never;
5276
+ };
5277
+ };
5278
+ };
5279
+ createSecret: {
5280
+ parameters: {
5281
+ query?: never;
5282
+ header?: never;
5283
+ path?: never;
5284
+ cookie?: never;
5285
+ };
5286
+ requestBody: {
5287
+ content: {
5288
+ "application/json": {
5289
+ /**
5290
+ * @description Project ID (required if not using project key auth)
5291
+ * @example proj_V1StGXR8Z5jdHi6B
5292
+ */
5293
+ projectId?: string;
5294
+ /**
5295
+ * @description Secret name
5296
+ * @example DATABASE_PASSWORD
5297
+ */
5298
+ name: string;
5299
+ /**
5300
+ * @description Secret value (will be encrypted)
5301
+ * @example supersecretpassword
5302
+ */
5303
+ value: string;
5304
+ };
5305
+ };
5306
+ };
5307
+ responses: {
5308
+ /** @description Secret created successfully */
5309
+ 201: {
5310
+ headers: {
5311
+ [name: string]: unknown;
5312
+ };
5313
+ content: {
5314
+ "application/json": {
5315
+ id?: string;
5316
+ name?: string;
5317
+ projectId?: string;
5318
+ /** Format: date-time */
5319
+ createdAt?: string;
5320
+ };
5321
+ };
5322
+ };
5323
+ /** @description Bad request (missing required fields) */
5324
+ 400: {
5325
+ headers: {
5326
+ [name: string]: unknown;
5327
+ };
5328
+ content?: never;
5329
+ };
5330
+ /** @description Unauthorized */
5331
+ 401: {
5332
+ headers: {
5333
+ [name: string]: unknown;
5334
+ };
5335
+ content?: never;
5336
+ };
5337
+ /** @description Forbidden */
5338
+ 403: {
5339
+ headers: {
5340
+ [name: string]: unknown;
5341
+ };
5342
+ content?: never;
5343
+ };
5344
+ /** @description Internal server error */
5345
+ 500: {
5346
+ headers: {
5347
+ [name: string]: unknown;
5348
+ };
5349
+ content?: never;
5350
+ };
5351
+ };
5352
+ };
5353
+ getSecret: {
5354
+ parameters: {
5355
+ query?: never;
5356
+ header?: never;
5357
+ path: {
5358
+ /** @description Secret ID */
5359
+ secretId: string;
5360
+ };
5361
+ cookie?: never;
5362
+ };
5363
+ requestBody?: never;
5364
+ responses: {
5365
+ /** @description Secret details */
5366
+ 200: {
5367
+ headers: {
5368
+ [name: string]: unknown;
5369
+ };
5370
+ content: {
5371
+ "application/json": {
5372
+ id?: string;
5373
+ name?: string;
5374
+ /** @description Decrypted secret value */
5375
+ value?: string;
5376
+ projectId?: string;
5377
+ /** Format: date-time */
5378
+ createdAt?: string;
5379
+ };
5380
+ };
5381
+ };
5382
+ /** @description Unauthorized */
5383
+ 401: {
5384
+ headers: {
5385
+ [name: string]: unknown;
5386
+ };
5387
+ content?: never;
5388
+ };
5389
+ /** @description Forbidden */
5390
+ 403: {
5391
+ headers: {
5392
+ [name: string]: unknown;
5393
+ };
5394
+ content?: never;
5395
+ };
5396
+ /** @description Secret not found */
5397
+ 404: {
5398
+ headers: {
5399
+ [name: string]: unknown;
5400
+ };
5401
+ content?: never;
5402
+ };
5403
+ };
5404
+ };
5405
+ deleteSecret: {
5406
+ parameters: {
5407
+ query?: never;
5408
+ header?: never;
5409
+ path: {
5410
+ /** @description Secret ID */
5411
+ secretId: string;
5412
+ };
5413
+ cookie?: never;
5414
+ };
5415
+ requestBody?: never;
5416
+ responses: {
5417
+ /** @description Secret deleted successfully */
5418
+ 200: {
5419
+ headers: {
5420
+ [name: string]: unknown;
5421
+ };
5422
+ content?: never;
5423
+ };
5424
+ /** @description Unauthorized */
5425
+ 401: {
5426
+ headers: {
5427
+ [name: string]: unknown;
5428
+ };
5429
+ content?: never;
5430
+ };
5431
+ /** @description Forbidden */
5432
+ 403: {
5433
+ headers: {
5434
+ [name: string]: unknown;
5435
+ };
5436
+ content?: never;
5437
+ };
5438
+ /** @description Secret not found */
5439
+ 404: {
5440
+ headers: {
5441
+ [name: string]: unknown;
5442
+ };
5443
+ content?: never;
5444
+ };
5445
+ };
5446
+ };
5447
+ updateSecret: {
5448
+ parameters: {
5449
+ query?: never;
5450
+ header?: never;
5451
+ path: {
5452
+ /** @description Secret ID */
5453
+ secretId: string;
5454
+ };
5455
+ cookie?: never;
5456
+ };
5457
+ requestBody: {
5458
+ content: {
5459
+ "application/json": {
5460
+ /** @description New secret name */
5461
+ name?: string;
5462
+ /** @description New secret value */
5463
+ value?: string;
5464
+ };
5465
+ };
5466
+ };
5467
+ responses: {
5468
+ /** @description Secret updated successfully */
5469
+ 200: {
5470
+ headers: {
5471
+ [name: string]: unknown;
5472
+ };
5473
+ content?: never;
5474
+ };
5475
+ /** @description Bad request */
5476
+ 400: {
5477
+ headers: {
5478
+ [name: string]: unknown;
5479
+ };
5480
+ content?: never;
5481
+ };
5482
+ /** @description Unauthorized */
5483
+ 401: {
5484
+ headers: {
5485
+ [name: string]: unknown;
5486
+ };
5487
+ content?: never;
5488
+ };
5489
+ /** @description Forbidden */
5490
+ 403: {
5491
+ headers: {
5492
+ [name: string]: unknown;
5493
+ };
5494
+ content?: never;
5495
+ };
5496
+ /** @description Secret not found */
5497
+ 404: {
5498
+ headers: {
5499
+ [name: string]: unknown;
5500
+ };
5501
+ content?: never;
5502
+ };
5503
+ };
5504
+ };
5505
+ listSessions: {
5506
+ parameters: {
5507
+ query?: {
5508
+ /** @description Filter by actor public ID */
5509
+ actorId?: string;
5510
+ /** @description Filter by session status (open or closed) */
5511
+ status?: "open" | "closed";
5512
+ limit?: number;
5513
+ offset?: number;
5514
+ };
5515
+ header?: never;
5516
+ path: {
5517
+ /** @description Agent public ID */
5518
+ agentId: components["parameters"]["AgentId"];
5519
+ };
5520
+ cookie?: never;
5521
+ };
5522
+ requestBody?: never;
5523
+ responses: {
5524
+ /** @description Paginated list of sessions */
5525
+ 200: {
5526
+ headers: {
5527
+ [name: string]: unknown;
5528
+ };
5529
+ content: {
5530
+ "application/json": {
5531
+ data?: components["schemas"]["SessionRecord"][];
5532
+ total?: number;
5533
+ limit?: number;
5534
+ offset?: number;
5535
+ };
5536
+ };
5537
+ };
5538
+ 401: components["responses"]["Unauthorized"];
5539
+ 403: components["responses"]["Forbidden"];
5540
+ 404: components["responses"]["NotFound"];
5541
+ };
5542
+ };
5543
+ createSession: {
5544
+ parameters: {
5545
+ query?: never;
5546
+ header?: never;
5547
+ path: {
5548
+ /** @description Agent public ID */
5549
+ agentId: components["parameters"]["AgentId"];
5550
+ };
5551
+ cookie?: never;
5552
+ };
5553
+ requestBody?: {
5554
+ content: {
5555
+ "application/json": components["schemas"]["CreateSessionRequest"];
5556
+ };
5557
+ };
5558
+ responses: {
5559
+ /** @description Session created */
5560
+ 201: {
5561
+ headers: {
5562
+ [name: string]: unknown;
5563
+ };
5564
+ content: {
5565
+ "application/json": components["schemas"]["SessionRecord"];
5566
+ };
5567
+ };
5568
+ 401: components["responses"]["Unauthorized"];
5569
+ 403: components["responses"]["Forbidden"];
5570
+ 404: components["responses"]["NotFound"];
5571
+ };
5572
+ };
5573
+ getSession: {
5574
+ parameters: {
5575
+ query?: never;
5576
+ header?: never;
5577
+ path: {
5578
+ /** @description Agent public ID */
5579
+ agentId: components["parameters"]["AgentId"];
5580
+ /** @description Session public ID */
5581
+ sessionId: components["parameters"]["SessionId"];
5582
+ };
5583
+ cookie?: never;
5584
+ };
5585
+ requestBody?: never;
5586
+ responses: {
5587
+ /** @description Session details */
5588
+ 200: {
5589
+ headers: {
5590
+ [name: string]: unknown;
5591
+ };
5592
+ content: {
5593
+ "application/json": components["schemas"]["SessionRecord"];
5594
+ };
5595
+ };
5596
+ 401: components["responses"]["Unauthorized"];
5597
+ 403: components["responses"]["Forbidden"];
5598
+ 404: components["responses"]["NotFound"];
5599
+ };
5600
+ };
5601
+ deleteSession: {
5602
+ parameters: {
5603
+ query?: never;
5604
+ header?: never;
5605
+ path: {
5606
+ /** @description Agent public ID */
5607
+ agentId: components["parameters"]["AgentId"];
5608
+ /** @description Session public ID */
5609
+ sessionId: components["parameters"]["SessionId"];
5610
+ };
5611
+ cookie?: never;
5612
+ };
5613
+ requestBody?: never;
5614
+ responses: {
5615
+ /** @description Session deleted */
5616
+ 204: {
5617
+ headers: {
5618
+ [name: string]: unknown;
5619
+ };
5620
+ content?: never;
5621
+ };
5622
+ 401: components["responses"]["Unauthorized"];
5623
+ 403: components["responses"]["Forbidden"];
5624
+ 404: components["responses"]["NotFound"];
5625
+ };
5626
+ };
5627
+ updateSession: {
5628
+ parameters: {
5629
+ query?: never;
5630
+ header?: never;
5631
+ path: {
5632
+ /** @description Agent public ID */
5633
+ agentId: components["parameters"]["AgentId"];
5634
+ /** @description Session public ID */
5635
+ sessionId: components["parameters"]["SessionId"];
5636
+ };
5637
+ cookie?: never;
5638
+ };
5639
+ requestBody?: {
5640
+ content: {
5641
+ "application/json": components["schemas"]["UpdateSessionRequest"];
5642
+ };
5643
+ };
5644
+ responses: {
5645
+ /** @description Updated session */
5646
+ 200: {
5647
+ headers: {
5648
+ [name: string]: unknown;
5649
+ };
5650
+ content: {
5651
+ "application/json": components["schemas"]["SessionRecord"];
5652
+ };
5653
+ };
5654
+ 401: components["responses"]["Unauthorized"];
5655
+ 403: components["responses"]["Forbidden"];
5656
+ 404: components["responses"]["NotFound"];
5657
+ };
5658
+ };
5659
+ listSessionMessages: {
5660
+ parameters: {
5661
+ query?: {
5662
+ limit?: number;
5663
+ offset?: number;
5664
+ };
5665
+ header?: never;
5666
+ path: {
5667
+ /** @description Agent public ID */
5668
+ agentId: components["parameters"]["AgentId"];
5669
+ /** @description Session public ID */
5670
+ sessionId: components["parameters"]["SessionId"];
5671
+ };
5672
+ cookie?: never;
5673
+ };
5674
+ requestBody?: never;
5675
+ responses: {
5676
+ /** @description Paginated list of messages */
5677
+ 200: {
5678
+ headers: {
5679
+ [name: string]: unknown;
5680
+ };
5681
+ content: {
5682
+ "application/json": {
5683
+ data?: components["schemas"]["SessionMessage"][];
5684
+ total?: number;
5685
+ limit?: number;
5686
+ offset?: number;
5687
+ };
5688
+ };
5689
+ };
5690
+ 401: components["responses"]["Unauthorized"];
5691
+ 403: components["responses"]["Forbidden"];
5692
+ 404: components["responses"]["NotFound"];
5693
+ };
5694
+ };
5695
+ addSessionMessage: {
5696
+ parameters: {
5697
+ query?: never;
5698
+ header?: never;
5699
+ path: {
5700
+ /** @description Agent public ID */
5701
+ agentId: components["parameters"]["AgentId"];
5702
+ /** @description Session public ID */
5703
+ sessionId: components["parameters"]["SessionId"];
5704
+ };
5705
+ cookie?: never;
5706
+ };
5707
+ requestBody: {
5708
+ content: {
5709
+ "application/json": components["schemas"]["AddSessionMessageRequest"];
5710
+ };
5711
+ };
5712
+ responses: {
5713
+ /** @description User message saved */
5714
+ 201: {
5715
+ headers: {
5716
+ [name: string]: unknown;
5717
+ };
5718
+ content: {
5719
+ "application/json": components["schemas"]["AddSessionMessageResponse"];
5720
+ };
5721
+ };
5722
+ 401: components["responses"]["Unauthorized"];
5723
+ 403: components["responses"]["Forbidden"];
5724
+ 404: components["responses"]["NotFound"];
5725
+ };
5726
+ };
5727
+ generateSessionResponse: {
5728
+ parameters: {
5729
+ query?: {
5730
+ /** @description When true, generation runs in the background and 202 is returned immediately */
5731
+ async?: boolean;
5732
+ };
5733
+ header?: never;
5734
+ path: {
5735
+ /** @description Agent public ID */
5736
+ agentId: components["parameters"]["AgentId"];
5737
+ /** @description Session public ID */
5738
+ sessionId: components["parameters"]["SessionId"];
5739
+ };
5740
+ cookie?: never;
5741
+ };
5742
+ requestBody?: {
5743
+ content: {
5744
+ "application/json": components["schemas"]["GenerateSessionRequest"];
5745
+ };
5746
+ };
5747
+ responses: {
5748
+ /** @description Agent reply or requires_action */
5749
+ 200: {
5750
+ headers: {
5751
+ [name: string]: unknown;
5752
+ };
5753
+ content: {
5754
+ "application/json": components["schemas"]["GenerateSessionResponse"];
5755
+ };
5756
+ };
5757
+ /** @description Generation accepted (async mode) */
5758
+ 202: {
5759
+ headers: {
5760
+ [name: string]: unknown;
5761
+ };
5762
+ content: {
5763
+ "application/json": {
5764
+ /** @enum {string} */
5765
+ status?: "accepted";
5766
+ sessionId?: string;
5767
+ };
5768
+ };
5769
+ };
5770
+ 401: components["responses"]["Unauthorized"];
5771
+ 403: components["responses"]["Forbidden"];
5772
+ 404: components["responses"]["NotFound"];
5773
+ /** @description Generation already in progress */
5774
+ 409: {
5775
+ headers: {
5776
+ [name: string]: unknown;
5777
+ };
5778
+ content: {
5779
+ "application/json": components["schemas"]["ErrorResponse"];
5780
+ };
5781
+ };
5782
+ };
5783
+ };
5784
+ submitSessionToolOutputs: {
5785
+ parameters: {
5786
+ query?: never;
5787
+ header?: never;
5788
+ path: {
5789
+ /** @description Agent public ID */
5790
+ agentId: components["parameters"]["AgentId"];
5791
+ /** @description Session public ID */
5792
+ sessionId: components["parameters"]["SessionId"];
5793
+ };
5794
+ cookie?: never;
5795
+ };
5796
+ requestBody: {
5797
+ content: {
5798
+ "application/json": components["schemas"]["SubmitSessionToolOutputsRequest"];
5799
+ };
5800
+ };
5801
+ responses: {
5802
+ /** @description Generation result */
5803
+ 200: {
5804
+ headers: {
5805
+ [name: string]: unknown;
5806
+ };
5807
+ content: {
5808
+ "application/json": components["schemas"]["SendSessionMessageResponse"];
5809
+ };
5810
+ };
5811
+ 401: components["responses"]["Unauthorized"];
5812
+ 403: components["responses"]["Forbidden"];
5813
+ 404: components["responses"]["NotFound"];
5814
+ };
5815
+ };
5816
+ getSessionTags: {
5817
+ parameters: {
5818
+ query?: never;
5819
+ header?: never;
5820
+ path: {
5821
+ /** @description Agent public ID */
5822
+ agentId: components["parameters"]["AgentId"];
5823
+ /** @description Session public ID */
5824
+ sessionId: components["parameters"]["SessionId"];
5825
+ };
5826
+ cookie?: never;
5827
+ };
5828
+ requestBody?: never;
5829
+ responses: {
5830
+ /** @description Session tags */
5831
+ 200: {
5832
+ headers: {
5833
+ [name: string]: unknown;
5834
+ };
5835
+ content: {
5836
+ "application/json": {
5837
+ [key: string]: string;
5838
+ };
5839
+ };
5840
+ };
5841
+ 401: components["responses"]["Unauthorized"];
5842
+ 403: components["responses"]["Forbidden"];
5843
+ 404: components["responses"]["NotFound"];
5844
+ };
5845
+ };
5846
+ replaceSessionTags: {
5847
+ parameters: {
5848
+ query?: never;
5849
+ header?: never;
5850
+ path: {
5851
+ /** @description Agent public ID */
5852
+ agentId: components["parameters"]["AgentId"];
5853
+ /** @description Session public ID */
5854
+ sessionId: components["parameters"]["SessionId"];
5855
+ };
5856
+ cookie?: never;
5857
+ };
5858
+ requestBody: {
5859
+ content: {
5860
+ "application/json": {
5861
+ [key: string]: string;
5862
+ };
5863
+ };
5864
+ };
5865
+ responses: {
5866
+ /** @description Updated tags */
5867
+ 200: {
5868
+ headers: {
5869
+ [name: string]: unknown;
5870
+ };
5871
+ content: {
5872
+ "application/json": {
5873
+ [key: string]: string;
5874
+ };
5875
+ };
5876
+ };
5877
+ 401: components["responses"]["Unauthorized"];
5878
+ 403: components["responses"]["Forbidden"];
5879
+ 404: components["responses"]["NotFound"];
5880
+ };
5881
+ };
5882
+ mergeSessionTags: {
5883
+ parameters: {
5884
+ query?: never;
5885
+ header?: never;
5886
+ path: {
5887
+ /** @description Agent public ID */
5888
+ agentId: components["parameters"]["AgentId"];
5889
+ /** @description Session public ID */
5890
+ sessionId: components["parameters"]["SessionId"];
5891
+ };
5892
+ cookie?: never;
5893
+ };
5894
+ requestBody: {
5895
+ content: {
5896
+ "application/json": {
5897
+ [key: string]: string;
5898
+ };
5899
+ };
5900
+ };
5901
+ responses: {
5902
+ /** @description Updated tags */
5903
+ 200: {
5904
+ headers: {
5905
+ [name: string]: unknown;
5906
+ };
5907
+ content: {
5908
+ "application/json": {
5909
+ [key: string]: string;
5910
+ };
5911
+ };
5912
+ };
5913
+ 401: components["responses"]["Unauthorized"];
5914
+ 403: components["responses"]["Forbidden"];
5915
+ 404: components["responses"]["NotFound"];
5916
+ };
5917
+ };
5918
+ listUsers: {
5919
+ parameters: {
5920
+ query?: never;
5921
+ header?: never;
5922
+ path?: never;
5923
+ cookie?: never;
5924
+ };
5925
+ requestBody?: never;
5926
+ responses: {
5927
+ /** @description List of users returned successfully */
5928
+ 200: {
5929
+ headers: {
5930
+ [name: string]: unknown;
5931
+ };
5932
+ content: {
5933
+ "application/json": components["schemas"]["UserRecord"][];
5934
+ };
5935
+ };
5936
+ /** @description Internal server error */
5937
+ 500: {
5938
+ headers: {
5939
+ [name: string]: unknown;
5940
+ };
5941
+ content: {
5942
+ "application/json": components["schemas"]["ErrorResponse"];
5943
+ };
5944
+ };
5945
+ };
5946
+ };
5947
+ createUser: {
5948
+ parameters: {
5949
+ query?: never;
5950
+ header?: never;
5951
+ path?: never;
5952
+ cookie?: never;
5953
+ };
5954
+ requestBody: {
5955
+ content: {
5956
+ "application/json": {
5957
+ /** @example johndoe */
5958
+ username: string;
5959
+ /**
5960
+ * Format: password
5961
+ * @example supersecret
5962
+ */
5963
+ password: string;
5964
+ /**
5965
+ * @example user
5966
+ * @enum {string}
5967
+ */
5968
+ role?: "admin" | "user";
5969
+ };
5970
+ };
5971
+ };
5972
+ responses: {
5973
+ /** @description User created successfully */
5974
+ 201: {
5975
+ headers: {
5976
+ [name: string]: unknown;
5977
+ };
5978
+ content: {
5979
+ "application/json": components["schemas"]["UserRecord"];
5980
+ };
5981
+ };
5982
+ /** @description Internal server error */
5983
+ 500: {
5984
+ headers: {
5985
+ [name: string]: unknown;
5986
+ };
5987
+ content: {
5988
+ "application/json": components["schemas"]["ErrorResponse"];
5989
+ };
5990
+ };
5991
+ };
5992
+ };
5993
+ getUser: {
5994
+ parameters: {
5995
+ query?: never;
5996
+ header?: never;
5997
+ path: {
5998
+ /** @description User ID */
5999
+ id: string;
6000
+ };
6001
+ cookie?: never;
6002
+ };
6003
+ requestBody?: never;
6004
+ responses: {
6005
+ /** @description User found */
6006
+ 200: {
6007
+ headers: {
6008
+ [name: string]: unknown;
6009
+ };
6010
+ content: {
6011
+ "application/json": components["schemas"]["UserRecord"];
6012
+ };
6013
+ };
6014
+ /** @description User not found */
6015
+ 404: {
6016
+ headers: {
6017
+ [name: string]: unknown;
6018
+ };
6019
+ content: {
6020
+ "application/json": components["schemas"]["ErrorResponse"];
6021
+ };
6022
+ };
6023
+ /** @description Internal server error */
6024
+ 500: {
6025
+ headers: {
6026
+ [name: string]: unknown;
6027
+ };
6028
+ content: {
6029
+ "application/json": components["schemas"]["ErrorResponse"];
6030
+ };
6031
+ };
6032
+ };
6033
+ };
6034
+ bootstrapUser: {
6035
+ parameters: {
6036
+ query?: never;
6037
+ header?: never;
6038
+ path?: never;
6039
+ cookie?: never;
6040
+ };
6041
+ requestBody: {
6042
+ content: {
6043
+ "application/json": {
6044
+ /** @example admin */
6045
+ username: string;
6046
+ /**
6047
+ * Format: password
6048
+ * @example supersecret
6049
+ */
6050
+ password: string;
6051
+ };
6052
+ };
6053
+ };
6054
+ responses: {
6055
+ /** @description Admin user created successfully */
6056
+ 201: {
6057
+ headers: {
6058
+ [name: string]: unknown;
6059
+ };
6060
+ content: {
6061
+ "application/json": components["schemas"]["UserRecord"];
6062
+ };
6063
+ };
6064
+ /** @description Users already exist */
6065
+ 409: {
6066
+ headers: {
6067
+ [name: string]: unknown;
6068
+ };
6069
+ content: {
6070
+ "application/json": components["schemas"]["ErrorResponse"];
6071
+ };
6072
+ };
6073
+ /** @description Internal server error */
6074
+ 500: {
6075
+ headers: {
6076
+ [name: string]: unknown;
6077
+ };
6078
+ content: {
6079
+ "application/json": components["schemas"]["ErrorResponse"];
6080
+ };
6081
+ };
6082
+ };
6083
+ };
6084
+ listWebhooks: {
6085
+ parameters: {
6086
+ query?: never;
6087
+ header?: never;
6088
+ path: {
6089
+ projectId: string;
6090
+ };
6091
+ cookie?: never;
6092
+ };
6093
+ requestBody?: never;
6094
+ responses: {
6095
+ /** @description A list of webhooks */
6096
+ 200: {
6097
+ headers: {
6098
+ [name: string]: unknown;
6099
+ };
6100
+ content: {
6101
+ "application/json": components["schemas"]["Webhook"][];
6102
+ };
6103
+ };
6104
+ /** @description Unauthorized */
6105
+ 401: {
6106
+ headers: {
6107
+ [name: string]: unknown;
6108
+ };
6109
+ content?: never;
6110
+ };
6111
+ /** @description Forbidden */
6112
+ 403: {
6113
+ headers: {
6114
+ [name: string]: unknown;
6115
+ };
6116
+ content?: never;
6117
+ };
6118
+ };
6119
+ };
6120
+ createWebhook: {
6121
+ parameters: {
6122
+ query?: never;
6123
+ header?: never;
6124
+ path: {
6125
+ projectId: string;
6126
+ };
6127
+ cookie?: never;
6128
+ };
6129
+ requestBody: {
6130
+ content: {
6131
+ "application/json": components["schemas"]["CreateWebhookRequest"];
6132
+ };
6133
+ };
6134
+ responses: {
6135
+ /** @description Webhook created */
6136
+ 201: {
6137
+ headers: {
6138
+ [name: string]: unknown;
6139
+ };
6140
+ content: {
6141
+ "application/json": components["schemas"]["WebhookWithSecret"];
6142
+ };
6143
+ };
6144
+ /** @description Bad request */
6145
+ 400: {
6146
+ headers: {
6147
+ [name: string]: unknown;
6148
+ };
6149
+ content?: never;
6150
+ };
6151
+ /** @description Unauthorized */
6152
+ 401: {
6153
+ headers: {
6154
+ [name: string]: unknown;
6155
+ };
6156
+ content?: never;
6157
+ };
6158
+ /** @description Forbidden */
6159
+ 403: {
6160
+ headers: {
6161
+ [name: string]: unknown;
6162
+ };
6163
+ content?: never;
6164
+ };
6165
+ };
6166
+ };
6167
+ getWebhook: {
6168
+ parameters: {
6169
+ query?: never;
6170
+ header?: never;
6171
+ path: {
6172
+ projectId: string;
6173
+ webhookId: string;
6174
+ };
6175
+ cookie?: never;
6176
+ };
6177
+ requestBody?: never;
6178
+ responses: {
6179
+ /** @description Webhook details */
6180
+ 200: {
6181
+ headers: {
6182
+ [name: string]: unknown;
6183
+ };
6184
+ content: {
6185
+ "application/json": components["schemas"]["Webhook"];
6186
+ };
6187
+ };
6188
+ /** @description Unauthorized */
6189
+ 401: {
6190
+ headers: {
6191
+ [name: string]: unknown;
6192
+ };
6193
+ content?: never;
6194
+ };
6195
+ /** @description Forbidden */
6196
+ 403: {
6197
+ headers: {
6198
+ [name: string]: unknown;
6199
+ };
6200
+ content?: never;
6201
+ };
6202
+ /** @description Webhook not found */
6203
+ 404: {
6204
+ headers: {
6205
+ [name: string]: unknown;
6206
+ };
6207
+ content?: never;
6208
+ };
6209
+ };
6210
+ };
6211
+ updateWebhook: {
6212
+ parameters: {
6213
+ query?: never;
6214
+ header?: never;
6215
+ path: {
6216
+ projectId: string;
6217
+ webhookId: string;
6218
+ };
6219
+ cookie?: never;
6220
+ };
6221
+ requestBody: {
6222
+ content: {
6223
+ "application/json": components["schemas"]["UpdateWebhookRequest"];
6224
+ };
6225
+ };
6226
+ responses: {
6227
+ /** @description Webhook updated */
6228
+ 200: {
6229
+ headers: {
6230
+ [name: string]: unknown;
6231
+ };
6232
+ content: {
6233
+ "application/json": components["schemas"]["Webhook"];
6234
+ };
6235
+ };
6236
+ /** @description Bad request */
6237
+ 400: {
6238
+ headers: {
6239
+ [name: string]: unknown;
6240
+ };
6241
+ content?: never;
6242
+ };
6243
+ /** @description Unauthorized */
6244
+ 401: {
6245
+ headers: {
6246
+ [name: string]: unknown;
6247
+ };
6248
+ content?: never;
6249
+ };
6250
+ /** @description Forbidden */
6251
+ 403: {
6252
+ headers: {
6253
+ [name: string]: unknown;
6254
+ };
6255
+ content?: never;
6256
+ };
6257
+ /** @description Webhook not found */
6258
+ 404: {
6259
+ headers: {
6260
+ [name: string]: unknown;
6261
+ };
6262
+ content?: never;
6263
+ };
6264
+ };
6265
+ };
6266
+ deleteWebhook: {
6267
+ parameters: {
6268
+ query?: never;
6269
+ header?: never;
6270
+ path: {
6271
+ projectId: string;
6272
+ webhookId: string;
6273
+ };
6274
+ cookie?: never;
6275
+ };
6276
+ requestBody?: never;
6277
+ responses: {
6278
+ /** @description Webhook deleted */
6279
+ 204: {
6280
+ headers: {
6281
+ [name: string]: unknown;
6282
+ };
6283
+ content?: never;
6284
+ };
6285
+ /** @description Unauthorized */
6286
+ 401: {
6287
+ headers: {
6288
+ [name: string]: unknown;
6289
+ };
6290
+ content?: never;
6291
+ };
6292
+ /** @description Forbidden */
6293
+ 403: {
6294
+ headers: {
6295
+ [name: string]: unknown;
6296
+ };
6297
+ content?: never;
6298
+ };
6299
+ /** @description Webhook not found */
6300
+ 404: {
6301
+ headers: {
6302
+ [name: string]: unknown;
6303
+ };
6304
+ content?: never;
6305
+ };
6306
+ };
6307
+ };
6308
+ listWebhookDeliveries: {
6309
+ parameters: {
6310
+ query?: {
6311
+ limit?: number;
6312
+ offset?: number;
6313
+ };
6314
+ header?: never;
6315
+ path: {
6316
+ projectId: string;
6317
+ webhookId: string;
6318
+ };
6319
+ cookie?: never;
6320
+ };
6321
+ requestBody?: never;
6322
+ responses: {
6323
+ /** @description A list of deliveries */
6324
+ 200: {
6325
+ headers: {
6326
+ [name: string]: unknown;
6327
+ };
6328
+ content: {
6329
+ "application/json": components["schemas"]["DeliveryListResponse"];
6330
+ };
6331
+ };
6332
+ /** @description Unauthorized */
6333
+ 401: {
6334
+ headers: {
6335
+ [name: string]: unknown;
6336
+ };
6337
+ content?: never;
6338
+ };
6339
+ /** @description Forbidden */
6340
+ 403: {
6341
+ headers: {
6342
+ [name: string]: unknown;
6343
+ };
6344
+ content?: never;
6345
+ };
6346
+ /** @description Webhook not found */
6347
+ 404: {
6348
+ headers: {
6349
+ [name: string]: unknown;
6350
+ };
6351
+ content?: never;
6352
+ };
6353
+ };
6354
+ };
6355
+ getWebhookDelivery: {
6356
+ parameters: {
6357
+ query?: never;
6358
+ header?: never;
6359
+ path: {
6360
+ projectId: string;
6361
+ webhookId: string;
6362
+ deliveryId: string;
6363
+ };
6364
+ cookie?: never;
6365
+ };
6366
+ requestBody?: never;
6367
+ responses: {
6368
+ /** @description Delivery details */
6369
+ 200: {
6370
+ headers: {
6371
+ [name: string]: unknown;
6372
+ };
6373
+ content: {
6374
+ "application/json": components["schemas"]["Delivery"];
6375
+ };
6376
+ };
6377
+ /** @description Unauthorized */
6378
+ 401: {
6379
+ headers: {
6380
+ [name: string]: unknown;
6381
+ };
6382
+ content?: never;
6383
+ };
6384
+ /** @description Forbidden */
6385
+ 403: {
6386
+ headers: {
6387
+ [name: string]: unknown;
6388
+ };
6389
+ content?: never;
6390
+ };
6391
+ /** @description Delivery not found */
6392
+ 404: {
6393
+ headers: {
6394
+ [name: string]: unknown;
6395
+ };
6396
+ content?: never;
6397
+ };
6398
+ };
6399
+ };
6400
+ rotateWebhookSecret: {
6401
+ parameters: {
6402
+ query?: never;
6403
+ header?: never;
6404
+ path: {
6405
+ projectId: string;
6406
+ webhookId: string;
6407
+ };
6408
+ cookie?: never;
6409
+ };
6410
+ requestBody?: never;
6411
+ responses: {
6412
+ /** @description Secret rotated */
6413
+ 200: {
6414
+ headers: {
6415
+ [name: string]: unknown;
6416
+ };
6417
+ content: {
6418
+ "application/json": components["schemas"]["WebhookWithSecret"];
6419
+ };
6420
+ };
6421
+ /** @description Unauthorized */
6422
+ 401: {
6423
+ headers: {
6424
+ [name: string]: unknown;
6425
+ };
6426
+ content?: never;
6427
+ };
6428
+ /** @description Forbidden */
6429
+ 403: {
6430
+ headers: {
6431
+ [name: string]: unknown;
6432
+ };
6433
+ content?: never;
6434
+ };
6435
+ /** @description Webhook not found */
6436
+ 404: {
6437
+ headers: {
6438
+ [name: string]: unknown;
6439
+ };
6440
+ content?: never;
3823
6441
  };
3824
6442
  };
3825
6443
  };