@hablala/api-contract 0.2.0 → 0.2.1

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.ts +1941 -326
  2. package/openapi.json +3488 -1370
  3. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -91,7 +91,7 @@ interface paths {
91
91
  put?: never;
92
92
  /**
93
93
  * Canjear un link de invitación
94
- * @description Canjea el secreto de un workspace invite link para unirse a la organización con el rol configurado en el link. A diferencia de la invitación por email, no requiere email-match: el link es el secreto.
94
+ * @description Canjea el secreto de un organization invite link para unirse a la organización con el rol configurado en el link. A diferencia de la invitación por email, no requiere email-match: el link es el secreto.
95
95
  */
96
96
  post: operations["HablalaApiWeb.Orgs.InviteLinkController.accept"];
97
97
  delete?: never;
@@ -109,7 +109,7 @@ interface paths {
109
109
  };
110
110
  /**
111
111
  * Previsualizar un link de invitación
112
- * @description Devuelve la organización (nombre + icono) a la que lleva un workspace invite link, sin consumirlo ni requerir sesión. Sirve para mostrar a dónde te unes en `/join` antes de confirmar. Siempre 200: el `status` del cuerpo distingue `valid` de `invalid`.
112
+ * @description Devuelve la organización (nombre + icono) a la que lleva un organization invite link, sin consumirlo ni requerir sesión. Sirve para mostrar a dónde te unes en `/join` antes de confirmar. Siempre 200: el `status` del cuerpo distingue `valid` de `invalid`.
113
113
  */
114
114
  get: operations["HablalaApiWeb.Orgs.InviteLinkController.preview"];
115
115
  put?: never;
@@ -120,6 +120,288 @@ interface paths {
120
120
  patch?: never;
121
121
  trace?: never;
122
122
  };
123
+ "/v1/me/blocks": {
124
+ parameters: {
125
+ query?: never;
126
+ header?: never;
127
+ path?: never;
128
+ cookie?: never;
129
+ };
130
+ /** Listar usuarios bloqueados */
131
+ get: operations["HablalaApiWeb.Me.BlockController.index"];
132
+ put?: never;
133
+ /**
134
+ * Bloquear a un usuario
135
+ * @description Idempotente: bloquear a quien ya está bloqueado no falla. Corta el DM en ambos sentidos.
136
+ */
137
+ post: operations["HablalaApiWeb.Me.BlockController.create"];
138
+ delete?: never;
139
+ options?: never;
140
+ head?: never;
141
+ patch?: never;
142
+ trace?: never;
143
+ };
144
+ "/v1/me/blocks/{user_id}": {
145
+ parameters: {
146
+ query?: never;
147
+ header?: never;
148
+ path?: never;
149
+ cookie?: never;
150
+ };
151
+ get?: never;
152
+ put?: never;
153
+ post?: never;
154
+ /** Desbloquear a un usuario */
155
+ delete: operations["HablalaApiWeb.Me.BlockController.delete"];
156
+ options?: never;
157
+ head?: never;
158
+ patch?: never;
159
+ trace?: never;
160
+ };
161
+ "/v1/me/conversations": {
162
+ parameters: {
163
+ query?: never;
164
+ header?: never;
165
+ path?: never;
166
+ cookie?: never;
167
+ };
168
+ /** Listar mis conversaciones personales (DMs de consumo) */
169
+ get: operations["HablalaApiWeb.Me.ConversationController.index"];
170
+ put?: never;
171
+ /**
172
+ * Crear un grupo personal nombrado
173
+ * @description Grupo de consumo (estilo app de consumo): un grupo con nombre + foto SIN organización. Los miembros iniciales se validan por bloqueos (no por tenant). Nace visible para sus miembros.
174
+ */
175
+ post: operations["HablalaApiWeb.Me.ConversationController.create"];
176
+ delete?: never;
177
+ options?: never;
178
+ head?: never;
179
+ patch?: never;
180
+ trace?: never;
181
+ };
182
+ "/v1/me/conversations/directs": {
183
+ parameters: {
184
+ query?: never;
185
+ header?: never;
186
+ path?: never;
187
+ cookie?: never;
188
+ };
189
+ get?: never;
190
+ put?: never;
191
+ /**
192
+ * Abrir (o reutilizar) un DM personal (sin enviar mensaje)
193
+ * @description Idempotente por conjunto de participantes en toda la plataforma. Destinatarios validados por bloqueos (default abierto), no por membresía de organización.
194
+ */
195
+ post: operations["HablalaApiWeb.Me.ConversationController.create_direct"];
196
+ delete?: never;
197
+ options?: never;
198
+ head?: never;
199
+ patch?: never;
200
+ trace?: never;
201
+ };
202
+ "/v1/me/conversations/directs/messages": {
203
+ parameters: {
204
+ query?: never;
205
+ header?: never;
206
+ path?: never;
207
+ cookie?: never;
208
+ };
209
+ get?: never;
210
+ put?: never;
211
+ /**
212
+ * Abrir un DM personal y enviar su primer mensaje (atómico)
213
+ * @description Flujo de 'nueva conversación' de consumo (estilo app de consumo): el DM personal no existe hasta su primer mensaje. Idempotente por conjunto de participantes en toda la plataforma. Los destinatarios se validan por bloqueos (default abierto), no por membresía de organización.
214
+ */
215
+ post: operations["HablalaApiWeb.Me.ConversationController.create_direct_message"];
216
+ delete?: never;
217
+ options?: never;
218
+ head?: never;
219
+ patch?: never;
220
+ trace?: never;
221
+ };
222
+ "/v1/me/conversations/{conversation_id}/members": {
223
+ parameters: {
224
+ query?: never;
225
+ header?: never;
226
+ path?: never;
227
+ cookie?: never;
228
+ };
229
+ /** Listar miembros de una conversación personal */
230
+ get: operations["HablalaApiWeb.Me.ConversationController.members"];
231
+ put?: never;
232
+ /**
233
+ * Añadir a alguien a un grupo personal
234
+ * @description Idempotente. El destinatario debe ser alcanzable: existente/activo y sin bloqueo con quien invita (gate simétrico de consumo).
235
+ */
236
+ post: operations["HablalaApiWeb.Me.ConversationController.add_member"];
237
+ delete?: never;
238
+ options?: never;
239
+ head?: never;
240
+ patch?: never;
241
+ trace?: never;
242
+ };
243
+ "/v1/me/conversations/{conversation_id}/members/{user_id}": {
244
+ parameters: {
245
+ query?: never;
246
+ header?: never;
247
+ path?: never;
248
+ cookie?: never;
249
+ };
250
+ get?: never;
251
+ put?: never;
252
+ post?: never;
253
+ /** Quitar a alguien de un grupo personal */
254
+ delete: operations["HablalaApiWeb.Me.ConversationController.remove_member"];
255
+ options?: never;
256
+ head?: never;
257
+ patch?: never;
258
+ trace?: never;
259
+ };
260
+ "/v1/me/conversations/{conversation_id}/messages": {
261
+ parameters: {
262
+ query?: never;
263
+ header?: never;
264
+ path?: never;
265
+ cookie?: never;
266
+ };
267
+ /** Listar mensajes de una conversación personal */
268
+ get: operations["HablalaApiWeb.Me.MessageController.index"];
269
+ put?: never;
270
+ /** Enviar mensaje en una conversación personal */
271
+ post: operations["HablalaApiWeb.Me.MessageController.create"];
272
+ delete?: never;
273
+ options?: never;
274
+ head?: never;
275
+ patch?: never;
276
+ trace?: never;
277
+ };
278
+ "/v1/me/conversations/{conversation_id}/messages/{id}": {
279
+ parameters: {
280
+ query?: never;
281
+ header?: never;
282
+ path?: never;
283
+ cookie?: never;
284
+ };
285
+ get?: never;
286
+ /** Editar mensaje personal (solo el autor) */
287
+ put: operations["HablalaApiWeb.Me.MessageController.update"];
288
+ post?: never;
289
+ /** Borrar mensaje personal (soft, solo el autor) */
290
+ delete: operations["HablalaApiWeb.Me.MessageController.delete"];
291
+ options?: never;
292
+ head?: never;
293
+ /** Editar mensaje personal (solo el autor) */
294
+ patch: operations["HablalaApiWeb.Me.MessageController.update (2)"];
295
+ trace?: never;
296
+ };
297
+ "/v1/me/conversations/{conversation_id}/messages/{message_id}/reactions": {
298
+ parameters: {
299
+ query?: never;
300
+ header?: never;
301
+ path?: never;
302
+ cookie?: never;
303
+ };
304
+ get?: never;
305
+ put?: never;
306
+ /** Reaccionar a un mensaje personal */
307
+ post: operations["HablalaApiWeb.Me.ReactionController.create"];
308
+ delete?: never;
309
+ options?: never;
310
+ head?: never;
311
+ patch?: never;
312
+ trace?: never;
313
+ };
314
+ "/v1/me/conversations/{conversation_id}/messages/{message_id}/reactions/{emoji}": {
315
+ parameters: {
316
+ query?: never;
317
+ header?: never;
318
+ path?: never;
319
+ cookie?: never;
320
+ };
321
+ get?: never;
322
+ put?: never;
323
+ post?: never;
324
+ /** Quitar reacción de un mensaje personal */
325
+ delete: operations["HablalaApiWeb.Me.ReactionController.delete"];
326
+ options?: never;
327
+ head?: never;
328
+ patch?: never;
329
+ trace?: never;
330
+ };
331
+ "/v1/me/conversations/{conversation_id}/read": {
332
+ parameters: {
333
+ query?: never;
334
+ header?: never;
335
+ path?: never;
336
+ cookie?: never;
337
+ };
338
+ get?: never;
339
+ /** Marcar una conversación personal como leída */
340
+ put: operations["HablalaApiWeb.Me.ConversationController.mark_read"];
341
+ post?: never;
342
+ delete?: never;
343
+ options?: never;
344
+ head?: never;
345
+ patch?: never;
346
+ trace?: never;
347
+ };
348
+ "/v1/me/conversations/{id}": {
349
+ parameters: {
350
+ query?: never;
351
+ header?: never;
352
+ path?: never;
353
+ cookie?: never;
354
+ };
355
+ /** Ver una conversación personal */
356
+ get: operations["HablalaApiWeb.Me.ConversationController.show"];
357
+ put?: never;
358
+ post?: never;
359
+ delete?: never;
360
+ options?: never;
361
+ head?: never;
362
+ patch?: never;
363
+ trace?: never;
364
+ };
365
+ "/v1/me/people/resolve": {
366
+ parameters: {
367
+ query?: never;
368
+ header?: never;
369
+ path?: never;
370
+ cookie?: never;
371
+ };
372
+ /**
373
+ * Resolver una persona por su email (descubrimiento personal)
374
+ * @description Descubrimiento por email exacto (estándar de consumo). Devuelve la persona a la que puedes escribir, o `data: null` si el email no corresponde a nadie alcanzable (no existe, inactivo o bloqueo). La indistinción es deliberada (no filtra existencia de cuentas).
375
+ */
376
+ get: operations["HablalaApiWeb.Me.PeopleController.resolve"];
377
+ put?: never;
378
+ post?: never;
379
+ delete?: never;
380
+ options?: never;
381
+ head?: never;
382
+ patch?: never;
383
+ trace?: never;
384
+ };
385
+ "/v1/me/uploads/presign": {
386
+ parameters: {
387
+ query?: never;
388
+ header?: never;
389
+ path?: never;
390
+ cookie?: never;
391
+ };
392
+ get?: never;
393
+ put?: never;
394
+ /**
395
+ * Pedir una URL de subida prefirmada (adjunto personal)
396
+ * @description Como el presign de organización, pero el blob se namespacea por usuario. El cliente hace `PUT` a `uploadUrl` y referencia `fileUrl` en los adjuntos del mensaje.
397
+ */
398
+ post: operations["HablalaApiWeb.Me.UploadController.presign"];
399
+ delete?: never;
400
+ options?: never;
401
+ head?: never;
402
+ patch?: never;
403
+ trace?: never;
404
+ };
123
405
  "/v1/objects": {
124
406
  parameters: {
125
407
  query?: never;
@@ -316,7 +598,7 @@ interface paths {
316
598
  /** Listar conversaciones del usuario */
317
599
  get: operations["HablalaApiWeb.Messaging.ConversationController.index"];
318
600
  put?: never;
319
- /** Crear canal */
601
+ /** Crear grupo */
320
602
  post: operations["HablalaApiWeb.Messaging.ConversationController.create"];
321
603
  delete?: never;
322
604
  options?: never;
@@ -335,7 +617,7 @@ interface paths {
335
617
  put?: never;
336
618
  /**
337
619
  * Abrir (o reutilizar) un DM
338
- * @description Idempotente por conjunto de participantes (estándar Slack): abrir un DM con las mismas personas —1:1 o grupo— reabre el existente en vez de duplicarlo.
620
+ * @description Idempotente por conjunto de participantes (patrón estándar de mensajería): abrir un DM con las mismas personas —1:1 o grupo— reabre el existente en vez de duplicarlo.
339
621
  */
340
622
  post: operations["HablalaApiWeb.Messaging.ConversationController.create_direct"];
341
623
  delete?: never;
@@ -344,6 +626,26 @@ interface paths {
344
626
  patch?: never;
345
627
  trace?: never;
346
628
  };
629
+ "/v1/organizations/{organization_id}/conversations/directs/messages": {
630
+ parameters: {
631
+ query?: never;
632
+ header?: never;
633
+ path?: never;
634
+ cookie?: never;
635
+ };
636
+ get?: never;
637
+ put?: never;
638
+ /**
639
+ * Abrir un DM y enviar su primer mensaje (atómico)
640
+ * @description Flujo estándar de 'nueva conversación': el DM no existe para nadie hasta su primer mensaje. Resuelve el DM (idempotente por conjunto de miembros) y envía el mensaje en una sola operación; solo entonces la conversación aparece —en vivo— en el sidebar de todos sus miembros. Devuelve la conversación y el mensaje creado.
641
+ */
642
+ post: operations["HablalaApiWeb.Messaging.ConversationController.create_direct_message"];
643
+ delete?: never;
644
+ options?: never;
645
+ head?: never;
646
+ patch?: never;
647
+ trace?: never;
648
+ };
347
649
  "/v1/organizations/{organization_id}/conversations/{conversation_id}/members": {
348
650
  parameters: {
349
651
  query?: never;
@@ -356,7 +658,7 @@ interface paths {
356
658
  put?: never;
357
659
  /**
358
660
  * Añadir un miembro a la conversación
359
- * @description Invita a un usuario del tenant a un canal (flujo Slack: crear y luego 'añadir personas'). Idempotente: si ya es miembro, devuelve la membresía existente.
661
+ * @description Invita a un usuario del tenant a un canal (flujo estándar: crear y luego 'añadir personas'). Idempotente: si ya es miembro, devuelve la membresía existente.
360
662
  */
361
663
  post: operations["HablalaApiWeb.Messaging.ConversationController.add_member"];
362
664
  delete?: never;
@@ -585,6 +887,23 @@ interface paths {
585
887
  patch?: never;
586
888
  trace?: never;
587
889
  };
890
+ "/v1/organizations/{organization_id}/membership": {
891
+ parameters: {
892
+ query?: never;
893
+ header?: never;
894
+ path?: never;
895
+ cookie?: never;
896
+ };
897
+ get?: never;
898
+ put?: never;
899
+ post?: never;
900
+ /** Abandonar la organización */
901
+ delete: operations["HablalaApiWeb.Orgs.MembershipController.leave"];
902
+ options?: never;
903
+ head?: never;
904
+ patch?: never;
905
+ trace?: never;
906
+ };
588
907
  "/v1/organizations/{organization_id}/memberships": {
589
908
  parameters: {
590
909
  query?: never;
@@ -602,22 +921,42 @@ interface paths {
602
921
  patch?: never;
603
922
  trace?: never;
604
923
  };
605
- "/v1/organizations/{organization_id}/memberships/{id}": {
924
+ "/v1/organizations/{organization_id}/memberships/resolve": {
606
925
  parameters: {
607
926
  query?: never;
608
927
  header?: never;
609
928
  path?: never;
610
929
  cookie?: never;
611
930
  };
612
- /** Ver membresía */
613
- get: operations["HablalaApiWeb.Orgs.MembershipController.show"];
614
931
  /**
615
- * Actualizar perfil de membresía
616
- * @description Perfil por-organización: nombre visible, puesto, avatar y estado. Editar el propio siempre se permite; el de otro miembro requiere `memberships:update`.
932
+ * Resolver un miembro por su email (descubrimiento en org)
933
+ * @description Paridad con el descubrimiento personal (`/v1/me/people/resolve`): resuelve un miembro del tenant por email exacto sin listar a todos. Devuelve `data: null` si nadie coincide.
617
934
  */
618
- put: operations["HablalaApiWeb.Orgs.MembershipController.update"];
935
+ get: operations["HablalaApiWeb.Orgs.MembershipController.resolve"];
936
+ put?: never;
619
937
  post?: never;
620
- /** Eliminar membresía */
938
+ delete?: never;
939
+ options?: never;
940
+ head?: never;
941
+ patch?: never;
942
+ trace?: never;
943
+ };
944
+ "/v1/organizations/{organization_id}/memberships/{id}": {
945
+ parameters: {
946
+ query?: never;
947
+ header?: never;
948
+ path?: never;
949
+ cookie?: never;
950
+ };
951
+ /** Ver membresía */
952
+ get: operations["HablalaApiWeb.Orgs.MembershipController.show"];
953
+ /**
954
+ * Actualizar perfil de membresía
955
+ * @description Perfil por-organización: nombre visible, puesto, avatar y estado. Editar el propio siempre se permite; el de otro miembro requiere `memberships:update`.
956
+ */
957
+ put: operations["HablalaApiWeb.Orgs.MembershipController.update"];
958
+ post?: never;
959
+ /** Eliminar membresía */
621
960
  delete: operations["HablalaApiWeb.Orgs.MembershipController.delete"];
622
961
  options?: never;
623
962
  head?: never;
@@ -723,25 +1062,45 @@ interface paths {
723
1062
  patch: operations["HablalaApiWeb.Orgs.RoleController.update (2)"];
724
1063
  trace?: never;
725
1064
  };
726
- "/v1/organizations/{organization_id}/spaces": {
1065
+ "/v1/organizations/{organization_id}/uploads/presign": {
1066
+ parameters: {
1067
+ query?: never;
1068
+ header?: never;
1069
+ path?: never;
1070
+ cookie?: never;
1071
+ };
1072
+ get?: never;
1073
+ put?: never;
1074
+ /**
1075
+ * Pedir una URL de subida prefirmada
1076
+ * @description Devuelve una URL prefirmada para subir un archivo directo al object storage. El cliente hace `PUT` del blob a `uploadUrl` y luego referencia `fileUrl` en los adjuntos del mensaje. (El camino personal usa `HablalaApiWeb.Me.UploadController` en `/v1/me/uploads/presign`.)
1077
+ */
1078
+ post: operations["HablalaApiWeb.UploadController.presign"];
1079
+ delete?: never;
1080
+ options?: never;
1081
+ head?: never;
1082
+ patch?: never;
1083
+ trace?: never;
1084
+ };
1085
+ "/v1/organizations/{organization_id}/workspaces": {
727
1086
  parameters: {
728
1087
  query?: never;
729
1088
  header?: never;
730
1089
  path?: never;
731
1090
  cookie?: never;
732
1091
  };
733
- /** Listar los spaces (gemelos) de la organización */
734
- get: operations["HablalaApiWeb.Orgs.SpaceController.index"];
1092
+ /** Listar los workspaces (gemelos) de la organización */
1093
+ get: operations["HablalaApiWeb.Orgs.WorkspaceController.index"];
735
1094
  put?: never;
736
- /** Crear un space (gemelo) */
737
- post: operations["HablalaApiWeb.Orgs.SpaceController.create"];
1095
+ /** Crear un workspace (gemelo) */
1096
+ post: operations["HablalaApiWeb.Orgs.WorkspaceController.create"];
738
1097
  delete?: never;
739
1098
  options?: never;
740
1099
  head?: never;
741
1100
  patch?: never;
742
1101
  trace?: never;
743
1102
  };
744
- "/v1/organizations/{organization_id}/spaces/{space_id}/access-tokens": {
1103
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/access-tokens": {
745
1104
  parameters: {
746
1105
  query?: never;
747
1106
  header?: never;
@@ -756,7 +1115,7 @@ interface paths {
756
1115
  put?: never;
757
1116
  /**
758
1117
  * Crear un access token
759
- * @description Emite una credencial de máquina (`hpat_…`) con la que un agente (Claude Code / Lá) o un script CI escribe la ontología por HTTP. La respuesta incluye el secreto en claro UNA sola vez (`token`); guárdalo, no se puede recuperar. Los permisos se intersectan con los del creador (un token nunca puede más que quien lo emite).
1118
+ * @description Emite una credencial de máquina (`hpat_…`) con la que un agente (Claude Code) o un script CI escribe la ontología por HTTP. La respuesta incluye el secreto en claro UNA sola vez (`token`); guárdalo, no se puede recuperar. Los permisos se intersectan con los del creador (un token nunca puede más que quien lo emite).
760
1119
  */
761
1120
  post: operations["HablalaApiWeb.AccessTokens.TokenController.create"];
762
1121
  delete?: never;
@@ -765,7 +1124,7 @@ interface paths {
765
1124
  patch?: never;
766
1125
  trace?: never;
767
1126
  };
768
- "/v1/organizations/{organization_id}/spaces/{space_id}/access-tokens/presets": {
1127
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/access-tokens/presets": {
769
1128
  parameters: {
770
1129
  query?: never;
771
1130
  header?: never;
@@ -785,7 +1144,7 @@ interface paths {
785
1144
  patch?: never;
786
1145
  trace?: never;
787
1146
  };
788
- "/v1/organizations/{organization_id}/spaces/{space_id}/access-tokens/{id}": {
1147
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/access-tokens/{id}": {
789
1148
  parameters: {
790
1149
  query?: never;
791
1150
  header?: never;
@@ -805,7 +1164,60 @@ interface paths {
805
1164
  patch?: never;
806
1165
  trace?: never;
807
1166
  };
808
- "/v1/organizations/{organization_id}/spaces/{space_id}/domains": {
1167
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/agents": {
1168
+ parameters: {
1169
+ query?: never;
1170
+ header?: never;
1171
+ path?: never;
1172
+ cookie?: never;
1173
+ };
1174
+ /**
1175
+ * Listar agentes
1176
+ * @description Los agentes activos del workspace.
1177
+ */
1178
+ get: operations["HablalaApiWeb.Agents.AgentController.index"];
1179
+ put?: never;
1180
+ /**
1181
+ * Crear un agente
1182
+ * @description Crea un agente por dato: su bot user (identidad de mensajería), su fila core y su proyección en el diccionario. El agent loop que lo corre es una definición de sistema.
1183
+ */
1184
+ post: operations["HablalaApiWeb.Agents.AgentController.create"];
1185
+ delete?: never;
1186
+ options?: never;
1187
+ head?: never;
1188
+ patch?: never;
1189
+ trace?: never;
1190
+ };
1191
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/agents/{id}": {
1192
+ parameters: {
1193
+ query?: never;
1194
+ header?: never;
1195
+ path?: never;
1196
+ cookie?: never;
1197
+ };
1198
+ /** Ver un agente */
1199
+ get: operations["HablalaApiWeb.Agents.AgentController.show"];
1200
+ /**
1201
+ * Actualizar un agente
1202
+ * @description Edita prompt/tools/modelo/permisos/nombre. El handle y la identidad no cambian.
1203
+ */
1204
+ put: operations["HablalaApiWeb.Agents.AgentController.update"];
1205
+ post?: never;
1206
+ /**
1207
+ * Archivar un agente
1208
+ * @description Soft-delete + revocación: el agente deja de correr (fail-closed) y su bot user se desactiva.
1209
+ */
1210
+ delete: operations["HablalaApiWeb.Agents.AgentController.delete"];
1211
+ options?: never;
1212
+ head?: never;
1213
+ /**
1214
+ * Actualizar un agente
1215
+ * @description Edita prompt/tools/modelo/permisos/nombre. El handle y la identidad no cambian.
1216
+ */
1217
+ patch: operations["HablalaApiWeb.Agents.AgentController.update (2)"];
1218
+ trace?: never;
1219
+ };
1220
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/domains": {
809
1221
  parameters: {
810
1222
  query?: never;
811
1223
  header?: never;
@@ -829,7 +1241,7 @@ interface paths {
829
1241
  patch?: never;
830
1242
  trace?: never;
831
1243
  };
832
- "/v1/organizations/{organization_id}/spaces/{space_id}/domains/{id}": {
1244
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/domains/{id}": {
833
1245
  parameters: {
834
1246
  query?: never;
835
1247
  header?: never;
@@ -850,7 +1262,7 @@ interface paths {
850
1262
  patch?: never;
851
1263
  trace?: never;
852
1264
  };
853
- "/v1/organizations/{organization_id}/spaces/{space_id}/edges": {
1265
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/edges": {
854
1266
  parameters: {
855
1267
  query?: never;
856
1268
  header?: never;
@@ -870,7 +1282,7 @@ interface paths {
870
1282
  patch?: never;
871
1283
  trace?: never;
872
1284
  };
873
- "/v1/organizations/{organization_id}/spaces/{space_id}/edges/{id}": {
1285
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/edges/{id}": {
874
1286
  parameters: {
875
1287
  query?: never;
876
1288
  header?: never;
@@ -887,7 +1299,7 @@ interface paths {
887
1299
  patch?: never;
888
1300
  trace?: never;
889
1301
  };
890
- "/v1/organizations/{organization_id}/spaces/{space_id}/objects": {
1302
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/objects": {
891
1303
  parameters: {
892
1304
  query?: never;
893
1305
  header?: never;
@@ -905,7 +1317,7 @@ interface paths {
905
1317
  patch?: never;
906
1318
  trace?: never;
907
1319
  };
908
- "/v1/organizations/{organization_id}/spaces/{space_id}/objects/{id}": {
1320
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/objects/{id}": {
909
1321
  parameters: {
910
1322
  query?: never;
911
1323
  header?: never;
@@ -928,7 +1340,7 @@ interface paths {
928
1340
  patch: operations["HablalaApiWeb.Data.ObjectController.update (2)"];
929
1341
  trace?: never;
930
1342
  };
931
- "/v1/organizations/{organization_id}/spaces/{space_id}/objects/{object_id}/attributes": {
1343
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/objects/{object_id}/attributes": {
932
1344
  parameters: {
933
1345
  query?: never;
934
1346
  header?: never;
@@ -946,7 +1358,7 @@ interface paths {
946
1358
  patch?: never;
947
1359
  trace?: never;
948
1360
  };
949
- "/v1/organizations/{organization_id}/spaces/{space_id}/objects/{object_id}/attributes/{id}": {
1361
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/objects/{object_id}/attributes/{id}": {
950
1362
  parameters: {
951
1363
  query?: never;
952
1364
  header?: never;
@@ -964,7 +1376,7 @@ interface paths {
964
1376
  patch: operations["HablalaApiWeb.Data.AttributeController.update (2)"];
965
1377
  trace?: never;
966
1378
  };
967
- "/v1/organizations/{organization_id}/spaces/{space_id}/objects/{object_slug}/records": {
1379
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/objects/{object_slug}/records": {
968
1380
  parameters: {
969
1381
  query?: never;
970
1382
  header?: never;
@@ -981,7 +1393,7 @@ interface paths {
981
1393
  patch?: never;
982
1394
  trace?: never;
983
1395
  };
984
- "/v1/organizations/{organization_id}/spaces/{space_id}/objects/{object_slug}/records/{id}": {
1396
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/objects/{object_slug}/records/{id}": {
985
1397
  parameters: {
986
1398
  query?: never;
987
1399
  header?: never;
@@ -1001,7 +1413,7 @@ interface paths {
1001
1413
  patch: operations["HablalaApiWeb.Data.RecordController.update (2)"];
1002
1414
  trace?: never;
1003
1415
  };
1004
- "/v1/organizations/{organization_id}/spaces/{space_id}/objects/{object_slug}/records/{record_id}/events": {
1416
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/objects/{object_slug}/records/{record_id}/events": {
1005
1417
  parameters: {
1006
1418
  query?: never;
1007
1419
  header?: never;
@@ -1018,7 +1430,7 @@ interface paths {
1018
1430
  patch?: never;
1019
1431
  trace?: never;
1020
1432
  };
1021
- "/v1/organizations/{organization_id}/spaces/{space_id}/objects/{object_slug}/records/{record_id}/restore": {
1433
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/objects/{object_slug}/records/{record_id}/restore": {
1022
1434
  parameters: {
1023
1435
  query?: never;
1024
1436
  header?: never;
@@ -1035,7 +1447,7 @@ interface paths {
1035
1447
  patch?: never;
1036
1448
  trace?: never;
1037
1449
  };
1038
- "/v1/organizations/{organization_id}/spaces/{space_id}/policies": {
1450
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/policies": {
1039
1451
  parameters: {
1040
1452
  query?: never;
1041
1453
  header?: never;
@@ -1053,7 +1465,7 @@ interface paths {
1053
1465
  patch?: never;
1054
1466
  trace?: never;
1055
1467
  };
1056
- "/v1/organizations/{organization_id}/spaces/{space_id}/policies/{id}": {
1468
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/policies/{id}": {
1057
1469
  parameters: {
1058
1470
  query?: never;
1059
1471
  header?: never;
@@ -1073,7 +1485,7 @@ interface paths {
1073
1485
  patch: operations["HablalaApiWeb.Orgs.PolicyController.update (2)"];
1074
1486
  trace?: never;
1075
1487
  };
1076
- "/v1/organizations/{organization_id}/spaces/{space_id}/query": {
1488
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/query": {
1077
1489
  parameters: {
1078
1490
  query?: never;
1079
1491
  header?: never;
@@ -1093,7 +1505,7 @@ interface paths {
1093
1505
  patch?: never;
1094
1506
  trace?: never;
1095
1507
  };
1096
- "/v1/organizations/{organization_id}/spaces/{space_id}/relationships": {
1508
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/relationships": {
1097
1509
  parameters: {
1098
1510
  query?: never;
1099
1511
  header?: never;
@@ -1111,7 +1523,7 @@ interface paths {
1111
1523
  patch?: never;
1112
1524
  trace?: never;
1113
1525
  };
1114
- "/v1/organizations/{organization_id}/spaces/{space_id}/relationships/{id}": {
1526
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/relationships/{id}": {
1115
1527
  parameters: {
1116
1528
  query?: never;
1117
1529
  header?: never;
@@ -1128,7 +1540,7 @@ interface paths {
1128
1540
  patch?: never;
1129
1541
  trace?: never;
1130
1542
  };
1131
- "/v1/organizations/{organization_id}/spaces/{space_id}/storefront-tokens": {
1543
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/storefront-tokens": {
1132
1544
  parameters: {
1133
1545
  query?: never;
1134
1546
  header?: never;
@@ -1152,7 +1564,7 @@ interface paths {
1152
1564
  patch?: never;
1153
1565
  trace?: never;
1154
1566
  };
1155
- "/v1/organizations/{organization_id}/spaces/{space_id}/storefront-tokens/{id}": {
1567
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/storefront-tokens/{id}": {
1156
1568
  parameters: {
1157
1569
  query?: never;
1158
1570
  header?: never;
@@ -1172,7 +1584,7 @@ interface paths {
1172
1584
  patch?: never;
1173
1585
  trace?: never;
1174
1586
  };
1175
- "/v1/organizations/{organization_id}/spaces/{space_id}/workflow-executions": {
1587
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/workflow-executions": {
1176
1588
  parameters: {
1177
1589
  query?: never;
1178
1590
  header?: never;
@@ -1192,7 +1604,7 @@ interface paths {
1192
1604
  patch?: never;
1193
1605
  trace?: never;
1194
1606
  };
1195
- "/v1/organizations/{organization_id}/spaces/{space_id}/workflow-executions/{id}": {
1607
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/workflow-executions/{id}": {
1196
1608
  parameters: {
1197
1609
  query?: never;
1198
1610
  header?: never;
@@ -1209,7 +1621,7 @@ interface paths {
1209
1621
  patch?: never;
1210
1622
  trace?: never;
1211
1623
  };
1212
- "/v1/organizations/{organization_id}/spaces/{space_id}/workflows": {
1624
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/workflows": {
1213
1625
  parameters: {
1214
1626
  query?: never;
1215
1627
  header?: never;
@@ -1230,7 +1642,7 @@ interface paths {
1230
1642
  patch?: never;
1231
1643
  trace?: never;
1232
1644
  };
1233
- "/v1/organizations/{organization_id}/spaces/{space_id}/workflows/{id}": {
1645
+ "/v1/organizations/{organization_id}/workspaces/{workspace_id}/workflows/{id}": {
1234
1646
  parameters: {
1235
1647
  query?: never;
1236
1648
  header?: never;
@@ -1253,26 +1665,6 @@ interface paths {
1253
1665
  patch: operations["HablalaApiWeb.Workflows.WorkflowDefinitionController.update (2)"];
1254
1666
  trace?: never;
1255
1667
  };
1256
- "/v1/organizations/{organization_id}/uploads/presign": {
1257
- parameters: {
1258
- query?: never;
1259
- header?: never;
1260
- path?: never;
1261
- cookie?: never;
1262
- };
1263
- get?: never;
1264
- put?: never;
1265
- /**
1266
- * Pedir una URL de subida prefirmada
1267
- * @description Devuelve una URL prefirmada para subir un archivo directo al object storage. El cliente hace `PUT` del blob a `uploadUrl` y luego referencia `fileUrl` en los adjuntos del mensaje.
1268
- */
1269
- post: operations["HablalaApiWeb.UploadController.presign"];
1270
- delete?: never;
1271
- options?: never;
1272
- head?: never;
1273
- patch?: never;
1274
- trace?: never;
1275
- };
1276
1668
  "/v1/policies": {
1277
1669
  parameters: {
1278
1670
  query?: never;
@@ -1366,6 +1758,46 @@ interface paths {
1366
1758
  patch?: never;
1367
1759
  trace?: never;
1368
1760
  };
1761
+ "/v1/sso/callback": {
1762
+ parameters: {
1763
+ query?: never;
1764
+ header?: never;
1765
+ path?: never;
1766
+ cookie?: never;
1767
+ };
1768
+ get?: never;
1769
+ put?: never;
1770
+ /**
1771
+ * Callback de SSO (IdP → plataforma)
1772
+ * @description Recibe la aserción del IdP (ya validada en el borde), resuelve o crea la identidad global del usuario, asegura su membresía en la organización y devuelve un token de API. El IdP solo CONFIRMA pertenencia; no reemplaza la identidad (el `user_id` global se preserva).
1773
+ */
1774
+ post: operations["HablalaApiWeb.Accounts.SsoController.callback"];
1775
+ delete?: never;
1776
+ options?: never;
1777
+ head?: never;
1778
+ patch?: never;
1779
+ trace?: never;
1780
+ };
1781
+ "/v1/sso/init": {
1782
+ parameters: {
1783
+ query?: never;
1784
+ header?: never;
1785
+ path?: never;
1786
+ cookie?: never;
1787
+ };
1788
+ get?: never;
1789
+ put?: never;
1790
+ /**
1791
+ * Iniciar SSO (SP-initiated)
1792
+ * @description Dado un email corporativo, resuelve la conexión SSO de su organización por el dominio y devuelve la URL del IdP a la que redirigir (flujo SP-initiated). Responde 404 si el dominio no tiene una conexión SSO habilitada (el frontend cae al login por contraseña).
1793
+ */
1794
+ post: operations["HablalaApiWeb.Accounts.SsoController.init"];
1795
+ delete?: never;
1796
+ options?: never;
1797
+ head?: never;
1798
+ patch?: never;
1799
+ trace?: never;
1800
+ };
1369
1801
  "/v1/storefront/query": {
1370
1802
  parameters: {
1371
1803
  query?: never;
@@ -1645,7 +2077,7 @@ interface components {
1645
2077
  schemas: {
1646
2078
  /**
1647
2079
  * AccessToken
1648
- * @description Metadatos de un access token de máquina (`hpat_…`): la credencial con la que un agente (Claude Code / Lá) o un script CI escribe la ontología por HTTP. El secreto en claro NO se incluye aquí — solo se devuelve una vez, al crearlo.
2080
+ * @description Metadatos de un access token de máquina (`hpat_…`): la credencial con la que un agente (Claude Code) o un script CI escribe la ontología por HTTP. El secreto en claro NO se incluye aquí — solo se devuelve una vez, al crearlo.
1649
2081
  */
1650
2082
  AccessToken: {
1651
2083
  /** @description ¿Ni revocado ni expirado? */
@@ -1740,6 +2172,68 @@ interface components {
1740
2172
  /** @description ID del usuario a añadir. */
1741
2173
  userId: string;
1742
2174
  };
2175
+ /**
2176
+ * Agent
2177
+ * @description Un agente de IA (GENERIC_AGENTS_ADR): identidad de primera clase con su bot user (handle), prompt, tools, modelo y dueño. El agent loop que lo corre es una definición de sistema.
2178
+ */
2179
+ Agent: {
2180
+ /** @description Permisos RBAC que estrechan el scope delegado por debajo del dueño. */
2181
+ agentPermissions?: string[];
2182
+ /** @description Allowlist de tools (slugs de activity) que el agente puede invocar. */
2183
+ allowedActivities?: string[];
2184
+ /** @enum {string} */
2185
+ authoritySource: "delegated" | "assigned";
2186
+ /** @description Id público del bot user (mensajería). */
2187
+ botUserId: string;
2188
+ description?: string | null;
2189
+ /** @description Identificador legible único por org (`@ventas`). */
2190
+ handle: string;
2191
+ id: string;
2192
+ /** Format: date-time */
2193
+ insertedAt?: string;
2194
+ /** @description Revocación: uno inactivo no corre. */
2195
+ isActive: boolean;
2196
+ /** @description p. ej. claude-opus-4-8. */
2197
+ model?: string | null;
2198
+ /** @description Nombre visible del agente. */
2199
+ name: string;
2200
+ /** @description El humano dueño (OBO). */
2201
+ ownerUserId?: string | null;
2202
+ /** @description p. ej. anthropic, openai. */
2203
+ provider?: string | null;
2204
+ /** @description Persona/instrucciones. */
2205
+ systemPrompt?: string | null;
2206
+ /** Format: date-time */
2207
+ updatedAt?: string;
2208
+ version?: number;
2209
+ };
2210
+ /**
2211
+ * AgentRequest
2212
+ * @description Crea/edita un agente. `organizationId`/`workspaceId` se derivan del scope (no se envían); `ownerUserId` por defecto es el creador. En update, `handle` e identidad no cambian.
2213
+ */
2214
+ AgentRequest: {
2215
+ agent: {
2216
+ agentPermissions?: string[];
2217
+ allowedActivities?: string[];
2218
+ /** @enum {string} */
2219
+ authoritySource?: "delegated" | "assigned";
2220
+ description?: string;
2221
+ handle: string;
2222
+ isActive?: boolean;
2223
+ model?: string;
2224
+ name: string;
2225
+ provider?: string;
2226
+ systemPrompt?: string;
2227
+ };
2228
+ };
2229
+ /** AgentResponse */
2230
+ AgentResponse: {
2231
+ data: components["schemas"]["Agent"];
2232
+ };
2233
+ /** AgentsResponse */
2234
+ AgentsResponse: {
2235
+ data: components["schemas"]["Agent"][];
2236
+ };
1743
2237
  /**
1744
2238
  * AttachmentInput
1745
2239
  * @description Metadatos de un adjunto ya subido al object storage. El blob se sube aparte (ver flujo de uploads); aquí solo se registran los metadatos.
@@ -1770,6 +2264,7 @@ interface components {
1770
2264
  /** @description Si true, se materializa en indexed_values (rango/orden). */
1771
2265
  isIndexed?: boolean;
1772
2266
  isRequired?: boolean;
2267
+ /** @description Si true, el valor es único entre los records del workspace (lo hace cumplir la BD; el duplicado responde 422). No soportado en multiselect/boolean. Activarlo sobre datos existentes exige que no haya duplicados (422 si los hay). */
1773
2268
  isUnique?: boolean;
1774
2269
  objectId?: string;
1775
2270
  slug: string;
@@ -1801,6 +2296,21 @@ interface components {
1801
2296
  AttributesResponse: {
1802
2297
  data: components["schemas"]["Attribute"][];
1803
2298
  };
2299
+ /**
2300
+ * BlockUserRequest
2301
+ * @description Bloquea a un usuario (contexto de consumo). El bloqueo corta el DM en ambos sentidos.
2302
+ */
2303
+ BlockUserRequest: {
2304
+ /** @description ID público del usuario a bloquear. */
2305
+ userId: string;
2306
+ };
2307
+ /**
2308
+ * BlockedUsersResponse
2309
+ * @description Lista de usuarios bloqueados por el usuario actual.
2310
+ */
2311
+ BlockedUsersResponse: {
2312
+ data: components["schemas"]["PublicUser"][];
2313
+ };
1804
2314
  /**
1805
2315
  * BulkInvitationRequest
1806
2316
  * @description Invita a varios emails a la vez, todos con el mismo rol opcional.
@@ -1825,47 +2335,37 @@ interface components {
1825
2335
  status: "sent" | "already" | "invalid";
1826
2336
  }[];
1827
2337
  };
1828
- /** ChannelRequest */
1829
- ChannelRequest: {
1830
- channel: {
1831
- /** @description Opcional. Miembros iniciales del canal (además del creador, que entra como owner). Útil para nacer un canal privado ya poblado. Solo se añaden los que pertenezcan al tenant. */
1832
- memberIds?: string[];
1833
- name: string;
1834
- topic?: string;
1835
- /**
1836
- * @default public_channel
1837
- * @enum {string}
1838
- */
1839
- type: "public_channel" | "private_channel";
1840
- };
1841
- };
1842
2338
  /**
1843
2339
  * Conversation
1844
- * @description Contenedor de mensajes: canal o DM (modelo unificado).
2340
+ * @description Contenedor de mensajes. Modelo de dimensiones ortogonales: `kind` (dm|group) + flags independientes (`isPrivate`, `isBroadcast`). De cara al usuario, un `group` es siempre un 'grupo' (nunca 'canal').
1845
2341
  */
1846
2342
  Conversation: {
2343
+ /** @description Foto del grupo (solo grupos). */
2344
+ avatarUrl?: string | null;
1847
2345
  createdById?: string | null;
1848
2346
  id: string;
1849
2347
  /** Format: date-time */
1850
2348
  insertedAt?: string;
1851
2349
  isArchived?: boolean;
2350
+ /** @description Difusión: `true` solo owners/admins postean (grupos). DMs siempre `false`. */
2351
+ isBroadcast?: boolean;
2352
+ /** @description Visibilidad: `true` solo por invitación; `false` descubrible (grupos de org). */
2353
+ isPrivate?: boolean;
2354
+ /**
2355
+ * @description Estructura base: `dm` (título derivado de participantes) o `group` (nombrado).
2356
+ * @enum {string}
2357
+ */
2358
+ kind: "dm" | "group";
1852
2359
  /** @description Mensaje más reciente (preview + orden). `null` si no hay. */
1853
2360
  lastMessage?: components["schemas"]["Message"] | null;
1854
2361
  /** @description Participantes. Etiqueta los DMs (sin `name`) por su gente. */
1855
- members?: {
1856
- /** @enum {string} */
1857
- role?: "owner" | "member";
1858
- user?: components["schemas"]["PublicUser"];
1859
- userId?: string;
1860
- }[];
1861
- /** @description Solo canales. */
2362
+ members?: components["schemas"]["ConversationMember"][];
2363
+ /** @description Solo grupos nombrados. */
1862
2364
  name?: string | null;
1863
- organizationId: string;
1864
- /** @description Solo canales. */
2365
+ organizationId?: string | null;
2366
+ /** @description Solo grupos de organización. */
1865
2367
  slug?: string | null;
1866
2368
  topic?: string | null;
1867
- /** @enum {string} */
1868
- type: "public_channel" | "private_channel" | "direct" | "group_direct";
1869
2369
  /** @description Mensajes no leídos por el usuario del scope. */
1870
2370
  unreadCount?: number;
1871
2371
  /** Format: date-time */
@@ -1876,6 +2376,8 @@ interface components {
1876
2376
  * @description Pertenencia de un usuario a una conversación (canal o DM).
1877
2377
  */
1878
2378
  ConversationMember: {
2379
+ /** @description `true` si el participante ya no es miembro activo de la org (fue removido). Solo en el embed de conversación. */
2380
+ deactivated?: boolean;
1879
2381
  /** @enum {string} */
1880
2382
  role: "owner" | "member";
1881
2383
  user?: components["schemas"]["PublicUser"];
@@ -1944,6 +2446,39 @@ interface components {
1944
2446
  CustomDomainsResponse: {
1945
2447
  data: components["schemas"]["CustomDomain"][];
1946
2448
  };
2449
+ /**
2450
+ * DirectMessageRequest
2451
+ * @description Abre (o reabre) un DM con los usuarios indicados y manda su primer mensaje, en un paso. Es el flujo de 'nueva conversación': el DM no existe para nadie hasta este mensaje.
2452
+ */
2453
+ DirectMessageRequest: {
2454
+ direct: {
2455
+ /** @description IDs de los otros participantes (el emisor se añade solo). */
2456
+ memberIds: string[];
2457
+ };
2458
+ message: {
2459
+ /** @description Adjuntos ya subidos al object storage (metadatos). */
2460
+ attachments?: components["schemas"]["AttachmentInput"][];
2461
+ body: string;
2462
+ /** @description Opcional: clave de correlación del optimistic UI. El servidor la echa de vuelta en la respuesta y en el evento `message_created` del socket para que el cliente reconcilie su burbuja pendiente. */
2463
+ clientKey?: string;
2464
+ /**
2465
+ * @description `@everyone`: menciona a toda la conversación.
2466
+ * @default false
2467
+ */
2468
+ mentionEveryone: boolean;
2469
+ /** @description IDs de usuarios mencionados (`@usuario`). El servidor valida que sean miembros de la conversación. */
2470
+ mentionedUserIds?: string[];
2471
+ /** @description Opcional: responde en el hilo de este mensaje. */
2472
+ parentMessageId?: string;
2473
+ };
2474
+ };
2475
+ /** DirectMessageResponse */
2476
+ DirectMessageResponse: {
2477
+ data: {
2478
+ conversation: components["schemas"]["Conversation"];
2479
+ message: components["schemas"]["Message"];
2480
+ };
2481
+ };
1947
2482
  /**
1948
2483
  * DirectRequest
1949
2484
  * @description Crea (o reutiliza) un DM con los usuarios indicados.
@@ -2015,6 +2550,31 @@ interface components {
2015
2550
  /** @description Redirect URI usado al pedir el `code` (debe coincidir exactamente). */
2016
2551
  redirectUri: string;
2017
2552
  };
2553
+ /**
2554
+ * GroupRequest
2555
+ * @description Crea un grupo nombrado (modelo ortogonal). En personal (`/v1/me/conversations`) siempre es privado; en org puede ser descubrible (`isPrivate: false`) o de difusión (`isBroadcast`).
2556
+ */
2557
+ GroupRequest: {
2558
+ group: {
2559
+ /** @description Foto del grupo (URL de CDN). */
2560
+ avatarUrl?: string;
2561
+ /**
2562
+ * @description Difusión: `true` = solo owners/admins postean, el resto lee.
2563
+ * @default false
2564
+ */
2565
+ isBroadcast: boolean;
2566
+ /**
2567
+ * @description Visibilidad: `true` (default) solo por invitación; `false` descubrible en el tenant (ignorado en personal, siempre privado).
2568
+ * @default true
2569
+ */
2570
+ isPrivate: boolean;
2571
+ /** @description Opcional. Miembros iniciales (además del creador, que entra como owner). En org se filtran a miembros del tenant; en personal, a usuarios alcanzables (sin bloqueo). */
2572
+ memberIds?: string[];
2573
+ /** @description Nombre del grupo. */
2574
+ name: string;
2575
+ topic?: string;
2576
+ };
2577
+ };
2018
2578
  /** Invitation */
2019
2579
  Invitation: {
2020
2580
  /** Format: email */
@@ -2050,7 +2610,7 @@ interface components {
2050
2610
  invitedByName?: string | null;
2051
2611
  organizationName?: string | null;
2052
2612
  /**
2053
- * @description Estado del enlace: `pending` (aceptable), `expired` (caducado, pedir reenvío), `accepted` (ya aceptada, entrar al workspace) o `invalid` (token inexistente o revocado).
2613
+ * @description Estado del enlace: `pending` (aceptable), `expired` (caducado, pedir reenvío), `accepted` (ya aceptada, entrar a la organización) o `invalid` (token inexistente o revocado).
2054
2614
  * @enum {string}
2055
2615
  */
2056
2616
  status: "pending" | "expired" | "accepted" | "invalid";
@@ -2075,7 +2635,7 @@ interface components {
2075
2635
  };
2076
2636
  /**
2077
2637
  * InviteLink
2078
- * @description Workspace invite link de una organización. El secreto en claro (`token`/`url`) solo está presente al crearlo o rotarlo; en un `show` posterior es `null`.
2638
+ * @description Organization invite link de una organización. El secreto en claro (`token`/`url`) solo está presente al crearlo o rotarlo; en un `show` posterior es `null`.
2079
2639
  */
2080
2640
  InviteLink: {
2081
2641
  /**
@@ -2111,7 +2671,7 @@ interface components {
2111
2671
  */
2112
2672
  InviteLinkPreviewResponse: {
2113
2673
  data: {
2114
- /** @description Icono del workspace; `null` usa el fallback de iniciales. */
2674
+ /** @description Icono de la organización; `null` usa el fallback de iniciales. */
2115
2675
  organizationAvatarUrl?: string | null;
2116
2676
  organizationName?: string | null;
2117
2677
  /**
@@ -2328,7 +2888,7 @@ interface components {
2328
2888
  };
2329
2889
  /** Organization */
2330
2890
  Organization: {
2331
- /** @description Icono del workspace; `null` usa el fallback de iniciales. */
2891
+ /** @description Icono de la organización; `null` usa el fallback de iniciales. */
2332
2892
  avatarUrl?: string | null;
2333
2893
  id: string;
2334
2894
  /** Format: date-time */
@@ -2393,7 +2953,7 @@ interface components {
2393
2953
  };
2394
2954
  /**
2395
2955
  * Policy
2396
- * @description Regla ABAC (fila/campo) encima del RBAC. Vocabulario Cedar/IAM.
2956
+ * @description Regla ABAC (fila/campo) encima del RBAC. Vocabulario ABAC estándar.
2397
2957
  */
2398
2958
  Policy: {
2399
2959
  /** @enum {string} */
@@ -2567,6 +3127,13 @@ interface components {
2567
3127
  /** @description Token recibido en el correo de reset. */
2568
3128
  token: string;
2569
3129
  };
3130
+ /**
3131
+ * ResolvedPersonResponse
3132
+ * @description Descubrimiento personal por email exacto. `data` es la persona alcanzable, o `null` si el email no corresponde a nadie a quien puedas escribir (no existe, inactivo, o bloqueo). La indistinción es deliberada (privacidad).
3133
+ */
3134
+ ResolvedPersonResponse: {
3135
+ data: components["schemas"]["PublicUser"];
3136
+ };
2570
3137
  /** Role */
2571
3138
  Role: {
2572
3139
  id: string;
@@ -2603,38 +3170,36 @@ interface components {
2603
3170
  roleIds: string[];
2604
3171
  };
2605
3172
  /**
2606
- * Space
2607
- * @description Un Space: el gemelo digital (una ontología aislada) de una organización. El contenido del motor (objects/records/grafo/eventos/policies/workflows/credenciales) cuelga del space.
3173
+ * SsoCallbackRequest
3174
+ * @description Callback del IdP. `connectionId` identifica la conexión SSO; el resto de campos son la respuesta del proveedor (SAMLResponse / code+state), validada en el borde.
2608
3175
  */
2609
- Space: {
2610
- /** @description Id público (`space_…`). */
2611
- id: string;
2612
- /** Format: date-time */
2613
- insertedAt?: string;
2614
- name: string;
2615
- /** @description Único por organización. */
2616
- slug: string;
2617
- /** Format: date-time */
2618
- updatedAt?: string;
3176
+ SsoCallbackRequest: {
3177
+ /** @description Código de autorización OIDC, si aplica. */
3178
+ code?: string;
3179
+ /** @description Id público de la conexión (`sso_…`). */
3180
+ connectionId: string;
3181
+ /** @description Aserción SAML (base64), si aplica. */
3182
+ samlResponse?: string;
3183
+ /** @description State OIDC anti-CSRF, si aplica. */
3184
+ state?: string;
2619
3185
  };
2620
3186
  /**
2621
- * SpaceRequest
2622
- * @description Datos para crear un space (gemelo).
3187
+ * SsoInitRequest
3188
+ * @description Email corporativo para resolver su conexión SSO por dominio (SP-initiated).
2623
3189
  */
2624
- SpaceRequest: {
2625
- space: {
2626
- name: string;
2627
- /** @description Opcional; se deriva del nombre si se omite. Único por organización. */
2628
- slug?: string;
2629
- };
2630
- };
2631
- /** SpaceResponse */
2632
- SpaceResponse: {
2633
- data: components["schemas"]["Space"];
3190
+ SsoInitRequest: {
3191
+ /**
3192
+ * Format: email
3193
+ * @description Email corporativo del usuario.
3194
+ */
3195
+ email: string;
2634
3196
  };
2635
- /** SpacesResponse */
2636
- SpacesResponse: {
2637
- data: components["schemas"]["Space"][];
3197
+ /** SsoInitResponse */
3198
+ SsoInitResponse: {
3199
+ data: {
3200
+ /** @description URL del IdP a la que redirigir para autenticar. */
3201
+ redirectUrl: string;
3202
+ };
2638
3203
  };
2639
3204
  /**
2640
3205
  * StorefrontSchemaAttribute
@@ -2867,7 +3432,7 @@ interface components {
2867
3432
  };
2868
3433
  /**
2869
3434
  * Whoami
2870
- * @description Identidad de una credencial de máquina: la organización y el space (gemelo) que resuelve del token y sus permisos efectivos. Deja que una herramienta externa infiera org + space sin que el desarrollador los configure.
3435
+ * @description Identidad de una credencial de máquina: la organización y el workspace (gemelo) que resuelve del token y sus permisos efectivos. Deja que una herramienta externa infiera org + workspace sin que el desarrollador los configure.
2871
3436
  */
2872
3437
  Whoami: {
2873
3438
  organization: components["schemas"]["WhoamiOrganization"];
@@ -2878,7 +3443,7 @@ interface components {
2878
3443
  * @enum {string}
2879
3444
  */
2880
3445
  principal: "access_token" | "storefront";
2881
- space: components["schemas"]["WhoamiSpace"];
3446
+ workspace: components["schemas"]["WhoamiWorkspace"];
2882
3447
  };
2883
3448
  /**
2884
3449
  * WhoamiOrganization
@@ -2895,11 +3460,11 @@ interface components {
2895
3460
  data: components["schemas"]["Whoami"];
2896
3461
  };
2897
3462
  /**
2898
- * WhoamiSpace
2899
- * @description El Space (gemelo digital / ontología) al que apunta la credencial de máquina.
3463
+ * WhoamiWorkspace
3464
+ * @description El Workspace (gemelo digital / ontología) al que apunta la credencial de máquina.
2900
3465
  */
2901
- WhoamiSpace: {
2902
- /** @description Id público (`space_…`). */
3466
+ WhoamiWorkspace: {
3467
+ /** @description Id público (`workspace_…`). */
2903
3468
  id: string;
2904
3469
  name: string;
2905
3470
  slug: string;
@@ -2984,6 +3549,40 @@ interface components {
2984
3549
  WorkflowExecutionsResponse: {
2985
3550
  data: components["schemas"]["WorkflowExecution"][];
2986
3551
  };
3552
+ /**
3553
+ * Workspace
3554
+ * @description Un Workspace: el gemelo digital (una ontología aislada) de una organización. El contenido del motor (objects/records/grafo/eventos/policies/workflows/credenciales) cuelga del workspace.
3555
+ */
3556
+ Workspace: {
3557
+ /** @description Id público (`space_…`). */
3558
+ id: string;
3559
+ /** Format: date-time */
3560
+ insertedAt?: string;
3561
+ name: string;
3562
+ /** @description Único por organización. */
3563
+ slug: string;
3564
+ /** Format: date-time */
3565
+ updatedAt?: string;
3566
+ };
3567
+ /**
3568
+ * WorkspaceRequest
3569
+ * @description Datos para crear un workspace (gemelo).
3570
+ */
3571
+ WorkspaceRequest: {
3572
+ workspace: {
3573
+ name: string;
3574
+ /** @description Opcional; se deriva del nombre si se omite. Único por organización. */
3575
+ slug?: string;
3576
+ };
3577
+ };
3578
+ /** WorkspaceResponse */
3579
+ WorkspaceResponse: {
3580
+ data: components["schemas"]["Workspace"];
3581
+ };
3582
+ /** WorkspacesResponse */
3583
+ WorkspacesResponse: {
3584
+ data: components["schemas"]["Workspace"][];
3585
+ };
2987
3586
  };
2988
3587
  responses: never;
2989
3588
  parameters: never;
@@ -3203,7 +3802,7 @@ interface operations {
3203
3802
  };
3204
3803
  };
3205
3804
  };
3206
- "HablalaApiWeb.Machine.ObjectController.index": {
3805
+ "HablalaApiWeb.Me.BlockController.index": {
3207
3806
  parameters: {
3208
3807
  query?: never;
3209
3808
  header?: never;
@@ -3212,18 +3811,641 @@ interface operations {
3212
3811
  };
3213
3812
  requestBody?: never;
3214
3813
  responses: {
3215
- /** @description Objetos */
3814
+ /** @description Usuarios bloqueados */
3216
3815
  200: {
3217
3816
  headers: {
3218
3817
  [name: string]: unknown;
3219
3818
  };
3220
3819
  content: {
3221
- "application/json": components["schemas"]["ObjectsResponse"];
3820
+ "application/json": components["schemas"]["BlockedUsersResponse"];
3222
3821
  };
3223
3822
  };
3224
3823
  };
3225
3824
  };
3226
- "HablalaApiWeb.Machine.ObjectController.create": {
3825
+ "HablalaApiWeb.Me.BlockController.create": {
3826
+ parameters: {
3827
+ query?: never;
3828
+ header?: never;
3829
+ path?: never;
3830
+ cookie?: never;
3831
+ };
3832
+ /** @description Usuario a bloquear */
3833
+ requestBody?: {
3834
+ content: {
3835
+ "application/json": components["schemas"]["BlockUserRequest"];
3836
+ };
3837
+ };
3838
+ responses: {
3839
+ /** @description Bloqueado */
3840
+ 204: {
3841
+ headers: {
3842
+ [name: string]: unknown;
3843
+ };
3844
+ content?: never;
3845
+ };
3846
+ /** @description Error de validación */
3847
+ 422: {
3848
+ headers: {
3849
+ [name: string]: unknown;
3850
+ };
3851
+ content: {
3852
+ "application/json": components["schemas"]["Error"];
3853
+ };
3854
+ };
3855
+ };
3856
+ };
3857
+ "HablalaApiWeb.Me.BlockController.delete": {
3858
+ parameters: {
3859
+ query?: never;
3860
+ header?: never;
3861
+ path: {
3862
+ user_id: string;
3863
+ };
3864
+ cookie?: never;
3865
+ };
3866
+ requestBody?: never;
3867
+ responses: {
3868
+ /** @description Desbloqueado */
3869
+ 204: {
3870
+ headers: {
3871
+ [name: string]: unknown;
3872
+ };
3873
+ content?: never;
3874
+ };
3875
+ };
3876
+ };
3877
+ "HablalaApiWeb.Me.ConversationController.index": {
3878
+ parameters: {
3879
+ query?: never;
3880
+ header?: never;
3881
+ path?: never;
3882
+ cookie?: never;
3883
+ };
3884
+ requestBody?: never;
3885
+ responses: {
3886
+ /** @description Conversaciones */
3887
+ 200: {
3888
+ headers: {
3889
+ [name: string]: unknown;
3890
+ };
3891
+ content: {
3892
+ "application/json": components["schemas"]["ConversationsResponse"];
3893
+ };
3894
+ };
3895
+ };
3896
+ };
3897
+ "HablalaApiWeb.Me.ConversationController.create": {
3898
+ parameters: {
3899
+ query?: never;
3900
+ header?: never;
3901
+ path?: never;
3902
+ cookie?: never;
3903
+ };
3904
+ /** @description Datos del grupo */
3905
+ requestBody?: {
3906
+ content: {
3907
+ "application/json": components["schemas"]["GroupRequest"];
3908
+ };
3909
+ };
3910
+ responses: {
3911
+ /** @description Grupo creado */
3912
+ 201: {
3913
+ headers: {
3914
+ [name: string]: unknown;
3915
+ };
3916
+ content: {
3917
+ "application/json": components["schemas"]["ConversationResponse"];
3918
+ };
3919
+ };
3920
+ /** @description Error de validación */
3921
+ 422: {
3922
+ headers: {
3923
+ [name: string]: unknown;
3924
+ };
3925
+ content: {
3926
+ "application/json": components["schemas"]["Error"];
3927
+ };
3928
+ };
3929
+ };
3930
+ };
3931
+ "HablalaApiWeb.Me.ConversationController.create_direct": {
3932
+ parameters: {
3933
+ query?: never;
3934
+ header?: never;
3935
+ path?: never;
3936
+ cookie?: never;
3937
+ };
3938
+ /** @description Participantes del DM */
3939
+ requestBody?: {
3940
+ content: {
3941
+ "application/json": components["schemas"]["DirectRequest"];
3942
+ };
3943
+ };
3944
+ responses: {
3945
+ /** @description DM */
3946
+ 201: {
3947
+ headers: {
3948
+ [name: string]: unknown;
3949
+ };
3950
+ content: {
3951
+ "application/json": components["schemas"]["ConversationResponse"];
3952
+ };
3953
+ };
3954
+ /** @description Error de validación */
3955
+ 422: {
3956
+ headers: {
3957
+ [name: string]: unknown;
3958
+ };
3959
+ content: {
3960
+ "application/json": components["schemas"]["Error"];
3961
+ };
3962
+ };
3963
+ };
3964
+ };
3965
+ "HablalaApiWeb.Me.ConversationController.create_direct_message": {
3966
+ parameters: {
3967
+ query?: never;
3968
+ header?: never;
3969
+ path?: never;
3970
+ cookie?: never;
3971
+ };
3972
+ /** @description DM + primer mensaje */
3973
+ requestBody?: {
3974
+ content: {
3975
+ "application/json": components["schemas"]["DirectMessageRequest"];
3976
+ };
3977
+ };
3978
+ responses: {
3979
+ /** @description DM y mensaje */
3980
+ 201: {
3981
+ headers: {
3982
+ [name: string]: unknown;
3983
+ };
3984
+ content: {
3985
+ "application/json": components["schemas"]["DirectMessageResponse"];
3986
+ };
3987
+ };
3988
+ /** @description Error de validación */
3989
+ 422: {
3990
+ headers: {
3991
+ [name: string]: unknown;
3992
+ };
3993
+ content: {
3994
+ "application/json": components["schemas"]["Error"];
3995
+ };
3996
+ };
3997
+ };
3998
+ };
3999
+ "HablalaApiWeb.Me.ConversationController.members": {
4000
+ parameters: {
4001
+ query?: never;
4002
+ header?: never;
4003
+ path: {
4004
+ conversation_id: string;
4005
+ };
4006
+ cookie?: never;
4007
+ };
4008
+ requestBody?: never;
4009
+ responses: {
4010
+ /** @description Miembros */
4011
+ 200: {
4012
+ headers: {
4013
+ [name: string]: unknown;
4014
+ };
4015
+ content: {
4016
+ "application/json": components["schemas"]["ConversationMembersResponse"];
4017
+ };
4018
+ };
4019
+ };
4020
+ };
4021
+ "HablalaApiWeb.Me.ConversationController.add_member": {
4022
+ parameters: {
4023
+ query?: never;
4024
+ header?: never;
4025
+ path: {
4026
+ conversation_id: string;
4027
+ };
4028
+ cookie?: never;
4029
+ };
4030
+ /** @description Usuario a añadir */
4031
+ requestBody?: {
4032
+ content: {
4033
+ "application/json": components["schemas"]["AddMemberRequest"];
4034
+ };
4035
+ };
4036
+ responses: {
4037
+ /** @description Miembro */
4038
+ 201: {
4039
+ headers: {
4040
+ [name: string]: unknown;
4041
+ };
4042
+ content: {
4043
+ "application/json": components["schemas"]["ConversationMemberResponse"];
4044
+ };
4045
+ };
4046
+ /** @description Error de validación */
4047
+ 422: {
4048
+ headers: {
4049
+ [name: string]: unknown;
4050
+ };
4051
+ content: {
4052
+ "application/json": components["schemas"]["Error"];
4053
+ };
4054
+ };
4055
+ };
4056
+ };
4057
+ "HablalaApiWeb.Me.ConversationController.remove_member": {
4058
+ parameters: {
4059
+ query?: never;
4060
+ header?: never;
4061
+ path: {
4062
+ conversation_id: string;
4063
+ user_id: string;
4064
+ };
4065
+ cookie?: never;
4066
+ };
4067
+ requestBody?: never;
4068
+ responses: {
4069
+ /** @description Eliminado */
4070
+ 204: {
4071
+ headers: {
4072
+ [name: string]: unknown;
4073
+ };
4074
+ content?: never;
4075
+ };
4076
+ /** @description No encontrada */
4077
+ 404: {
4078
+ headers: {
4079
+ [name: string]: unknown;
4080
+ };
4081
+ content: {
4082
+ "application/json": components["schemas"]["Error"];
4083
+ };
4084
+ };
4085
+ };
4086
+ };
4087
+ "HablalaApiWeb.Me.MessageController.index": {
4088
+ parameters: {
4089
+ query?: never;
4090
+ header?: never;
4091
+ path: {
4092
+ conversation_id: string;
4093
+ };
4094
+ cookie?: never;
4095
+ };
4096
+ requestBody?: never;
4097
+ responses: {
4098
+ /** @description Mensajes */
4099
+ 200: {
4100
+ headers: {
4101
+ [name: string]: unknown;
4102
+ };
4103
+ content: {
4104
+ "application/json": components["schemas"]["MessagesResponse"];
4105
+ };
4106
+ };
4107
+ };
4108
+ };
4109
+ "HablalaApiWeb.Me.MessageController.create": {
4110
+ parameters: {
4111
+ query?: never;
4112
+ header?: never;
4113
+ path: {
4114
+ conversation_id: string;
4115
+ };
4116
+ cookie?: never;
4117
+ };
4118
+ /** @description Contenido del mensaje */
4119
+ requestBody?: {
4120
+ content: {
4121
+ "application/json": components["schemas"]["MessageRequest"];
4122
+ };
4123
+ };
4124
+ responses: {
4125
+ /** @description Mensaje enviado */
4126
+ 201: {
4127
+ headers: {
4128
+ [name: string]: unknown;
4129
+ };
4130
+ content: {
4131
+ "application/json": components["schemas"]["MessageResponse"];
4132
+ };
4133
+ };
4134
+ /** @description Error de validación */
4135
+ 422: {
4136
+ headers: {
4137
+ [name: string]: unknown;
4138
+ };
4139
+ content: {
4140
+ "application/json": components["schemas"]["Error"];
4141
+ };
4142
+ };
4143
+ };
4144
+ };
4145
+ "HablalaApiWeb.Me.MessageController.update": {
4146
+ parameters: {
4147
+ query?: never;
4148
+ header?: never;
4149
+ path: {
4150
+ conversation_id: string;
4151
+ id: string;
4152
+ };
4153
+ cookie?: never;
4154
+ };
4155
+ /** @description Nuevo contenido */
4156
+ requestBody?: {
4157
+ content: {
4158
+ "application/json": components["schemas"]["MessageRequest"];
4159
+ };
4160
+ };
4161
+ responses: {
4162
+ /** @description Mensaje editado */
4163
+ 200: {
4164
+ headers: {
4165
+ [name: string]: unknown;
4166
+ };
4167
+ content: {
4168
+ "application/json": components["schemas"]["MessageResponse"];
4169
+ };
4170
+ };
4171
+ /** @description No eres el autor */
4172
+ 403: {
4173
+ headers: {
4174
+ [name: string]: unknown;
4175
+ };
4176
+ content: {
4177
+ "application/json": components["schemas"]["Error"];
4178
+ };
4179
+ };
4180
+ };
4181
+ };
4182
+ "HablalaApiWeb.Me.MessageController.delete": {
4183
+ parameters: {
4184
+ query?: never;
4185
+ header?: never;
4186
+ path: {
4187
+ conversation_id: string;
4188
+ id: string;
4189
+ };
4190
+ cookie?: never;
4191
+ };
4192
+ requestBody?: never;
4193
+ responses: {
4194
+ /** @description Borrado */
4195
+ 204: {
4196
+ headers: {
4197
+ [name: string]: unknown;
4198
+ };
4199
+ content?: never;
4200
+ };
4201
+ /** @description No eres el autor */
4202
+ 403: {
4203
+ headers: {
4204
+ [name: string]: unknown;
4205
+ };
4206
+ content: {
4207
+ "application/json": components["schemas"]["Error"];
4208
+ };
4209
+ };
4210
+ };
4211
+ };
4212
+ "HablalaApiWeb.Me.MessageController.update (2)": {
4213
+ parameters: {
4214
+ query?: never;
4215
+ header?: never;
4216
+ path: {
4217
+ conversation_id: string;
4218
+ id: string;
4219
+ };
4220
+ cookie?: never;
4221
+ };
4222
+ /** @description Nuevo contenido */
4223
+ requestBody?: {
4224
+ content: {
4225
+ "application/json": components["schemas"]["MessageRequest"];
4226
+ };
4227
+ };
4228
+ responses: {
4229
+ /** @description Mensaje editado */
4230
+ 200: {
4231
+ headers: {
4232
+ [name: string]: unknown;
4233
+ };
4234
+ content: {
4235
+ "application/json": components["schemas"]["MessageResponse"];
4236
+ };
4237
+ };
4238
+ /** @description No eres el autor */
4239
+ 403: {
4240
+ headers: {
4241
+ [name: string]: unknown;
4242
+ };
4243
+ content: {
4244
+ "application/json": components["schemas"]["Error"];
4245
+ };
4246
+ };
4247
+ };
4248
+ };
4249
+ "HablalaApiWeb.Me.ReactionController.create": {
4250
+ parameters: {
4251
+ query?: never;
4252
+ header?: never;
4253
+ path: {
4254
+ conversation_id: string;
4255
+ message_id: string;
4256
+ };
4257
+ cookie?: never;
4258
+ };
4259
+ /** @description Emoji */
4260
+ requestBody?: {
4261
+ content: {
4262
+ "application/json": components["schemas"]["ReactionRequest"];
4263
+ };
4264
+ };
4265
+ responses: {
4266
+ /** @description Reacción añadida */
4267
+ 201: {
4268
+ headers: {
4269
+ [name: string]: unknown;
4270
+ };
4271
+ content?: never;
4272
+ };
4273
+ /** @description Error de validación */
4274
+ 422: {
4275
+ headers: {
4276
+ [name: string]: unknown;
4277
+ };
4278
+ content: {
4279
+ "application/json": components["schemas"]["Error"];
4280
+ };
4281
+ };
4282
+ };
4283
+ };
4284
+ "HablalaApiWeb.Me.ReactionController.delete": {
4285
+ parameters: {
4286
+ query?: never;
4287
+ header?: never;
4288
+ path: {
4289
+ conversation_id: string;
4290
+ message_id: string;
4291
+ emoji: string;
4292
+ };
4293
+ cookie?: never;
4294
+ };
4295
+ requestBody?: never;
4296
+ responses: {
4297
+ /** @description Reacción quitada */
4298
+ 204: {
4299
+ headers: {
4300
+ [name: string]: unknown;
4301
+ };
4302
+ content?: never;
4303
+ };
4304
+ /** @description No existía la reacción */
4305
+ 404: {
4306
+ headers: {
4307
+ [name: string]: unknown;
4308
+ };
4309
+ content: {
4310
+ "application/json": components["schemas"]["Error"];
4311
+ };
4312
+ };
4313
+ };
4314
+ };
4315
+ "HablalaApiWeb.Me.ConversationController.mark_read": {
4316
+ parameters: {
4317
+ query?: never;
4318
+ header?: never;
4319
+ path: {
4320
+ conversation_id: string;
4321
+ };
4322
+ cookie?: never;
4323
+ };
4324
+ /** @description Último mensaje leído */
4325
+ requestBody?: {
4326
+ content: {
4327
+ "application/json": components["schemas"]["MarkReadRequest"];
4328
+ };
4329
+ };
4330
+ responses: {
4331
+ /** @description Leída */
4332
+ 204: {
4333
+ headers: {
4334
+ [name: string]: unknown;
4335
+ };
4336
+ content?: never;
4337
+ };
4338
+ };
4339
+ };
4340
+ "HablalaApiWeb.Me.ConversationController.show": {
4341
+ parameters: {
4342
+ query?: never;
4343
+ header?: never;
4344
+ path: {
4345
+ id: string;
4346
+ };
4347
+ cookie?: never;
4348
+ };
4349
+ requestBody?: never;
4350
+ responses: {
4351
+ /** @description Conversación */
4352
+ 200: {
4353
+ headers: {
4354
+ [name: string]: unknown;
4355
+ };
4356
+ content: {
4357
+ "application/json": components["schemas"]["ConversationResponse"];
4358
+ };
4359
+ };
4360
+ /** @description No encontrada */
4361
+ 404: {
4362
+ headers: {
4363
+ [name: string]: unknown;
4364
+ };
4365
+ content: {
4366
+ "application/json": components["schemas"]["Error"];
4367
+ };
4368
+ };
4369
+ };
4370
+ };
4371
+ "HablalaApiWeb.Me.PeopleController.resolve": {
4372
+ parameters: {
4373
+ query: {
4374
+ /** @description Email exacto a resolver. */
4375
+ email: string;
4376
+ };
4377
+ header?: never;
4378
+ path?: never;
4379
+ cookie?: never;
4380
+ };
4381
+ requestBody?: never;
4382
+ responses: {
4383
+ /** @description Persona resuelta (o null) */
4384
+ 200: {
4385
+ headers: {
4386
+ [name: string]: unknown;
4387
+ };
4388
+ content: {
4389
+ "application/json": components["schemas"]["ResolvedPersonResponse"];
4390
+ };
4391
+ };
4392
+ };
4393
+ };
4394
+ "HablalaApiWeb.Me.UploadController.presign": {
4395
+ parameters: {
4396
+ query?: never;
4397
+ header?: never;
4398
+ path?: never;
4399
+ cookie?: never;
4400
+ };
4401
+ /** @description Archivo a subir */
4402
+ requestBody?: {
4403
+ content: {
4404
+ "application/json": components["schemas"]["PresignRequest"];
4405
+ };
4406
+ };
4407
+ responses: {
4408
+ /** @description URL prefirmada */
4409
+ 200: {
4410
+ headers: {
4411
+ [name: string]: unknown;
4412
+ };
4413
+ content: {
4414
+ "application/json": components["schemas"]["PresignResponse"];
4415
+ };
4416
+ };
4417
+ /** @description Tipo de archivo no soportado */
4418
+ 415: {
4419
+ headers: {
4420
+ [name: string]: unknown;
4421
+ };
4422
+ content: {
4423
+ "application/json": components["schemas"]["Error"];
4424
+ };
4425
+ };
4426
+ };
4427
+ };
4428
+ "HablalaApiWeb.Machine.ObjectController.index": {
4429
+ parameters: {
4430
+ query?: never;
4431
+ header?: never;
4432
+ path?: never;
4433
+ cookie?: never;
4434
+ };
4435
+ requestBody?: never;
4436
+ responses: {
4437
+ /** @description Objetos */
4438
+ 200: {
4439
+ headers: {
4440
+ [name: string]: unknown;
4441
+ };
4442
+ content: {
4443
+ "application/json": components["schemas"]["ObjectsResponse"];
4444
+ };
4445
+ };
4446
+ };
4447
+ };
4448
+ "HablalaApiWeb.Machine.ObjectController.create": {
3227
4449
  parameters: {
3228
4450
  query?: never;
3229
4451
  header?: never;
@@ -3737,6 +4959,15 @@ interface operations {
3737
4959
  "application/json": components["schemas"]["Error"];
3738
4960
  };
3739
4961
  };
4962
+ /** @description Un valor único del record fue tomado por otro mientras estaba borrado */
4963
+ 422: {
4964
+ headers: {
4965
+ [name: string]: unknown;
4966
+ };
4967
+ content: {
4968
+ "application/json": components["schemas"]["Error"];
4969
+ };
4970
+ };
3740
4971
  };
3741
4972
  };
3742
4973
  "HablalaApiWeb.Orgs.OrganizationController.index": {
@@ -3947,14 +5178,14 @@ interface operations {
3947
5178
  };
3948
5179
  cookie?: never;
3949
5180
  };
3950
- /** @description Datos del canal */
5181
+ /** @description Datos del grupo */
3951
5182
  requestBody?: {
3952
5183
  content: {
3953
- "application/json": components["schemas"]["ChannelRequest"];
5184
+ "application/json": components["schemas"]["GroupRequest"];
3954
5185
  };
3955
5186
  };
3956
5187
  responses: {
3957
- /** @description Canal creado */
5188
+ /** @description Grupo creado */
3958
5189
  201: {
3959
5190
  headers: {
3960
5191
  [name: string]: unknown;
@@ -4010,6 +5241,42 @@ interface operations {
4010
5241
  };
4011
5242
  };
4012
5243
  };
5244
+ "HablalaApiWeb.Messaging.ConversationController.create_direct_message": {
5245
+ parameters: {
5246
+ query?: never;
5247
+ header?: never;
5248
+ path: {
5249
+ organization_id: string;
5250
+ };
5251
+ cookie?: never;
5252
+ };
5253
+ /** @description DM + primer mensaje */
5254
+ requestBody?: {
5255
+ content: {
5256
+ "application/json": components["schemas"]["DirectMessageRequest"];
5257
+ };
5258
+ };
5259
+ responses: {
5260
+ /** @description DM y mensaje */
5261
+ 201: {
5262
+ headers: {
5263
+ [name: string]: unknown;
5264
+ };
5265
+ content: {
5266
+ "application/json": components["schemas"]["DirectMessageResponse"];
5267
+ };
5268
+ };
5269
+ /** @description Error de validación */
5270
+ 422: {
5271
+ headers: {
5272
+ [name: string]: unknown;
5273
+ };
5274
+ content: {
5275
+ "application/json": components["schemas"]["Error"];
5276
+ };
5277
+ };
5278
+ };
5279
+ };
4013
5280
  "HablalaApiWeb.Messaging.ConversationController.members": {
4014
5281
  parameters: {
4015
5282
  query?: never;
@@ -4627,8 +5894,68 @@ interface operations {
4627
5894
  };
4628
5895
  requestBody?: never;
4629
5896
  responses: {
4630
- /** @description Link de invitación */
4631
- 200: {
5897
+ /** @description Link de invitación */
5898
+ 200: {
5899
+ headers: {
5900
+ [name: string]: unknown;
5901
+ };
5902
+ content: {
5903
+ "application/json": components["schemas"]["InviteLinkResponse"];
5904
+ };
5905
+ };
5906
+ /** @description Sin permiso */
5907
+ 403: {
5908
+ headers: {
5909
+ [name: string]: unknown;
5910
+ };
5911
+ content: {
5912
+ "application/json": components["schemas"]["Error"];
5913
+ };
5914
+ };
5915
+ };
5916
+ };
5917
+ "HablalaApiWeb.Orgs.InviteLinkController.delete": {
5918
+ parameters: {
5919
+ query?: never;
5920
+ header?: never;
5921
+ path: {
5922
+ organization_id: string;
5923
+ };
5924
+ cookie?: never;
5925
+ };
5926
+ requestBody?: never;
5927
+ responses: {
5928
+ /** @description Revocado (idempotente: sin link activo también responde 204) */
5929
+ 204: {
5930
+ headers: {
5931
+ [name: string]: unknown;
5932
+ };
5933
+ content?: never;
5934
+ };
5935
+ /** @description Sin permiso */
5936
+ 403: {
5937
+ headers: {
5938
+ [name: string]: unknown;
5939
+ };
5940
+ content: {
5941
+ "application/json": components["schemas"]["Error"];
5942
+ };
5943
+ };
5944
+ };
5945
+ };
5946
+ "HablalaApiWeb.Orgs.InviteLinkController.rotate": {
5947
+ parameters: {
5948
+ query?: never;
5949
+ header?: never;
5950
+ path: {
5951
+ organization_id: string;
5952
+ };
5953
+ cookie?: never;
5954
+ };
5955
+ requestBody?: never;
5956
+ responses: {
5957
+ /** @description Link rotado */
5958
+ 201: {
4632
5959
  headers: {
4633
5960
  [name: string]: unknown;
4634
5961
  };
@@ -4647,7 +5974,7 @@ interface operations {
4647
5974
  };
4648
5975
  };
4649
5976
  };
4650
- "HablalaApiWeb.Orgs.InviteLinkController.delete": {
5977
+ "HablalaApiWeb.Orgs.MembershipController.leave": {
4651
5978
  parameters: {
4652
5979
  query?: never;
4653
5980
  header?: never;
@@ -4658,15 +5985,15 @@ interface operations {
4658
5985
  };
4659
5986
  requestBody?: never;
4660
5987
  responses: {
4661
- /** @description Revocado (idempotente: sin link activo también responde 204) */
5988
+ /** @description Abandonada */
4662
5989
  204: {
4663
5990
  headers: {
4664
5991
  [name: string]: unknown;
4665
5992
  };
4666
5993
  content?: never;
4667
5994
  };
4668
- /** @description Sin permiso */
4669
- 403: {
5995
+ /** @description Eres el único propietario */
5996
+ 409: {
4670
5997
  headers: {
4671
5998
  [name: string]: unknown;
4672
5999
  };
@@ -4676,7 +6003,7 @@ interface operations {
4676
6003
  };
4677
6004
  };
4678
6005
  };
4679
- "HablalaApiWeb.Orgs.InviteLinkController.rotate": {
6006
+ "HablalaApiWeb.Orgs.MembershipController.index": {
4680
6007
  parameters: {
4681
6008
  query?: never;
4682
6009
  header?: never;
@@ -4687,13 +6014,13 @@ interface operations {
4687
6014
  };
4688
6015
  requestBody?: never;
4689
6016
  responses: {
4690
- /** @description Link rotado */
4691
- 201: {
6017
+ /** @description Membresías */
6018
+ 200: {
4692
6019
  headers: {
4693
6020
  [name: string]: unknown;
4694
6021
  };
4695
6022
  content: {
4696
- "application/json": components["schemas"]["InviteLinkResponse"];
6023
+ "application/json": components["schemas"]["MembershipsResponse"];
4697
6024
  };
4698
6025
  };
4699
6026
  /** @description Sin permiso */
@@ -4707,9 +6034,11 @@ interface operations {
4707
6034
  };
4708
6035
  };
4709
6036
  };
4710
- "HablalaApiWeb.Orgs.MembershipController.index": {
6037
+ "HablalaApiWeb.Orgs.MembershipController.resolve": {
4711
6038
  parameters: {
4712
- query?: never;
6039
+ query: {
6040
+ email: string;
6041
+ };
4713
6042
  header?: never;
4714
6043
  path: {
4715
6044
  organization_id: string;
@@ -4718,22 +6047,13 @@ interface operations {
4718
6047
  };
4719
6048
  requestBody?: never;
4720
6049
  responses: {
4721
- /** @description Membresías */
6050
+ /** @description Miembro resuelto (o null) */
4722
6051
  200: {
4723
6052
  headers: {
4724
6053
  [name: string]: unknown;
4725
6054
  };
4726
6055
  content: {
4727
- "application/json": components["schemas"]["MembershipsResponse"];
4728
- };
4729
- };
4730
- /** @description Sin permiso */
4731
- 403: {
4732
- headers: {
4733
- [name: string]: unknown;
4734
- };
4735
- content: {
4736
- "application/json": components["schemas"]["Error"];
6056
+ "application/json": components["schemas"]["MembershipResponse"];
4737
6057
  };
4738
6058
  };
4739
6059
  };
@@ -5067,62 +6387,292 @@ interface operations {
5067
6387
  };
5068
6388
  };
5069
6389
  };
5070
- "HablalaApiWeb.Orgs.RoleController.show": {
6390
+ "HablalaApiWeb.Orgs.RoleController.show": {
6391
+ parameters: {
6392
+ query?: never;
6393
+ header?: never;
6394
+ path: {
6395
+ organization_id: string;
6396
+ id: string;
6397
+ };
6398
+ cookie?: never;
6399
+ };
6400
+ requestBody?: never;
6401
+ responses: {
6402
+ /** @description Rol */
6403
+ 200: {
6404
+ headers: {
6405
+ [name: string]: unknown;
6406
+ };
6407
+ content: {
6408
+ "application/json": components["schemas"]["RoleResponse"];
6409
+ };
6410
+ };
6411
+ /** @description No encontrado */
6412
+ 404: {
6413
+ headers: {
6414
+ [name: string]: unknown;
6415
+ };
6416
+ content: {
6417
+ "application/json": components["schemas"]["Error"];
6418
+ };
6419
+ };
6420
+ };
6421
+ };
6422
+ "HablalaApiWeb.Orgs.RoleController.update": {
6423
+ parameters: {
6424
+ query?: never;
6425
+ header?: never;
6426
+ path: {
6427
+ organization_id: string;
6428
+ id: string;
6429
+ };
6430
+ cookie?: never;
6431
+ };
6432
+ /** @description Datos del rol */
6433
+ requestBody?: {
6434
+ content: {
6435
+ "application/json": components["schemas"]["RoleRequest"];
6436
+ };
6437
+ };
6438
+ responses: {
6439
+ /** @description Rol actualizado */
6440
+ 200: {
6441
+ headers: {
6442
+ [name: string]: unknown;
6443
+ };
6444
+ content: {
6445
+ "application/json": components["schemas"]["RoleResponse"];
6446
+ };
6447
+ };
6448
+ /** @description Error de validación */
6449
+ 422: {
6450
+ headers: {
6451
+ [name: string]: unknown;
6452
+ };
6453
+ content: {
6454
+ "application/json": components["schemas"]["Error"];
6455
+ };
6456
+ };
6457
+ };
6458
+ };
6459
+ "HablalaApiWeb.Orgs.RoleController.delete": {
6460
+ parameters: {
6461
+ query?: never;
6462
+ header?: never;
6463
+ path: {
6464
+ organization_id: string;
6465
+ id: string;
6466
+ };
6467
+ cookie?: never;
6468
+ };
6469
+ requestBody?: never;
6470
+ responses: {
6471
+ /** @description Borrado */
6472
+ 204: {
6473
+ headers: {
6474
+ [name: string]: unknown;
6475
+ };
6476
+ content?: never;
6477
+ };
6478
+ /** @description Sin permiso */
6479
+ 403: {
6480
+ headers: {
6481
+ [name: string]: unknown;
6482
+ };
6483
+ content: {
6484
+ "application/json": components["schemas"]["Error"];
6485
+ };
6486
+ };
6487
+ };
6488
+ };
6489
+ "HablalaApiWeb.Orgs.RoleController.update (2)": {
6490
+ parameters: {
6491
+ query?: never;
6492
+ header?: never;
6493
+ path: {
6494
+ organization_id: string;
6495
+ id: string;
6496
+ };
6497
+ cookie?: never;
6498
+ };
6499
+ /** @description Datos del rol */
6500
+ requestBody?: {
6501
+ content: {
6502
+ "application/json": components["schemas"]["RoleRequest"];
6503
+ };
6504
+ };
6505
+ responses: {
6506
+ /** @description Rol actualizado */
6507
+ 200: {
6508
+ headers: {
6509
+ [name: string]: unknown;
6510
+ };
6511
+ content: {
6512
+ "application/json": components["schemas"]["RoleResponse"];
6513
+ };
6514
+ };
6515
+ /** @description Error de validación */
6516
+ 422: {
6517
+ headers: {
6518
+ [name: string]: unknown;
6519
+ };
6520
+ content: {
6521
+ "application/json": components["schemas"]["Error"];
6522
+ };
6523
+ };
6524
+ };
6525
+ };
6526
+ "HablalaApiWeb.UploadController.presign": {
6527
+ parameters: {
6528
+ query?: never;
6529
+ header?: never;
6530
+ path: {
6531
+ organization_id: string;
6532
+ };
6533
+ cookie?: never;
6534
+ };
6535
+ /** @description Archivo a subir */
6536
+ requestBody?: {
6537
+ content: {
6538
+ "application/json": components["schemas"]["PresignRequest"];
6539
+ };
6540
+ };
6541
+ responses: {
6542
+ /** @description URL prefirmada */
6543
+ 200: {
6544
+ headers: {
6545
+ [name: string]: unknown;
6546
+ };
6547
+ content: {
6548
+ "application/json": components["schemas"]["PresignResponse"];
6549
+ };
6550
+ };
6551
+ /** @description Tipo de archivo no soportado */
6552
+ 415: {
6553
+ headers: {
6554
+ [name: string]: unknown;
6555
+ };
6556
+ content: {
6557
+ "application/json": components["schemas"]["Error"];
6558
+ };
6559
+ };
6560
+ };
6561
+ };
6562
+ "HablalaApiWeb.Orgs.WorkspaceController.index": {
6563
+ parameters: {
6564
+ query?: never;
6565
+ header?: never;
6566
+ path: {
6567
+ organization_id: string;
6568
+ };
6569
+ cookie?: never;
6570
+ };
6571
+ requestBody?: never;
6572
+ responses: {
6573
+ /** @description Workspaces */
6574
+ 200: {
6575
+ headers: {
6576
+ [name: string]: unknown;
6577
+ };
6578
+ content: {
6579
+ "application/json": components["schemas"]["WorkspacesResponse"];
6580
+ };
6581
+ };
6582
+ };
6583
+ };
6584
+ "HablalaApiWeb.Orgs.WorkspaceController.create": {
6585
+ parameters: {
6586
+ query?: never;
6587
+ header?: never;
6588
+ path: {
6589
+ organization_id: string;
6590
+ };
6591
+ cookie?: never;
6592
+ };
6593
+ /** @description Datos del workspace */
6594
+ requestBody?: {
6595
+ content: {
6596
+ "application/json": components["schemas"]["WorkspaceRequest"];
6597
+ };
6598
+ };
6599
+ responses: {
6600
+ /** @description Workspace creado */
6601
+ 201: {
6602
+ headers: {
6603
+ [name: string]: unknown;
6604
+ };
6605
+ content: {
6606
+ "application/json": components["schemas"]["WorkspaceResponse"];
6607
+ };
6608
+ };
6609
+ /** @description Error de validación */
6610
+ 422: {
6611
+ headers: {
6612
+ [name: string]: unknown;
6613
+ };
6614
+ content: {
6615
+ "application/json": components["schemas"]["Error"];
6616
+ };
6617
+ };
6618
+ };
6619
+ };
6620
+ "HablalaApiWeb.AccessTokens.TokenController.index": {
5071
6621
  parameters: {
5072
6622
  query?: never;
5073
6623
  header?: never;
5074
6624
  path: {
5075
6625
  organization_id: string;
5076
- id: string;
6626
+ workspace_id: string;
5077
6627
  };
5078
6628
  cookie?: never;
5079
6629
  };
5080
6630
  requestBody?: never;
5081
6631
  responses: {
5082
- /** @description Rol */
6632
+ /** @description Tokens */
5083
6633
  200: {
5084
6634
  headers: {
5085
6635
  [name: string]: unknown;
5086
6636
  };
5087
6637
  content: {
5088
- "application/json": components["schemas"]["RoleResponse"];
5089
- };
5090
- };
5091
- /** @description No encontrado */
5092
- 404: {
5093
- headers: {
5094
- [name: string]: unknown;
5095
- };
5096
- content: {
5097
- "application/json": components["schemas"]["Error"];
6638
+ "application/json": components["schemas"]["AccessTokensResponse"];
5098
6639
  };
5099
6640
  };
5100
6641
  };
5101
6642
  };
5102
- "HablalaApiWeb.Orgs.RoleController.update": {
6643
+ "HablalaApiWeb.AccessTokens.TokenController.create": {
5103
6644
  parameters: {
5104
6645
  query?: never;
5105
6646
  header?: never;
5106
6647
  path: {
5107
6648
  organization_id: string;
5108
- id: string;
6649
+ workspace_id: string;
5109
6650
  };
5110
6651
  cookie?: never;
5111
6652
  };
5112
- /** @description Datos del rol */
6653
+ /** @description Datos del token */
5113
6654
  requestBody?: {
5114
6655
  content: {
5115
- "application/json": components["schemas"]["RoleRequest"];
6656
+ "application/json": components["schemas"]["AccessTokenRequest"];
5116
6657
  };
5117
6658
  };
5118
6659
  responses: {
5119
- /** @description Rol actualizado */
5120
- 200: {
6660
+ /** @description Token creado (con secreto) */
6661
+ 201: {
5121
6662
  headers: {
5122
6663
  [name: string]: unknown;
5123
6664
  };
5124
6665
  content: {
5125
- "application/json": components["schemas"]["RoleResponse"];
6666
+ "application/json": components["schemas"]["AccessTokenCreatedResponse"];
6667
+ };
6668
+ };
6669
+ /** @description Sin permiso */
6670
+ 403: {
6671
+ headers: {
6672
+ [name: string]: unknown;
6673
+ };
6674
+ content: {
6675
+ "application/json": components["schemas"]["Error"];
5126
6676
  };
5127
6677
  };
5128
6678
  /** @description Error de validación */
@@ -5136,64 +6686,51 @@ interface operations {
5136
6686
  };
5137
6687
  };
5138
6688
  };
5139
- "HablalaApiWeb.Orgs.RoleController.delete": {
6689
+ "HablalaApiWeb.AccessTokens.TokenController.presets": {
5140
6690
  parameters: {
5141
6691
  query?: never;
5142
6692
  header?: never;
5143
6693
  path: {
5144
6694
  organization_id: string;
5145
- id: string;
6695
+ workspace_id: string;
5146
6696
  };
5147
6697
  cookie?: never;
5148
6698
  };
5149
6699
  requestBody?: never;
5150
6700
  responses: {
5151
- /** @description Borrado */
5152
- 204: {
5153
- headers: {
5154
- [name: string]: unknown;
5155
- };
5156
- content?: never;
5157
- };
5158
- /** @description Sin permiso */
5159
- 403: {
6701
+ /** @description Presets */
6702
+ 200: {
5160
6703
  headers: {
5161
6704
  [name: string]: unknown;
5162
6705
  };
5163
6706
  content: {
5164
- "application/json": components["schemas"]["Error"];
6707
+ "application/json": components["schemas"]["AccessTokenPresetsResponse"];
5165
6708
  };
5166
6709
  };
5167
6710
  };
5168
6711
  };
5169
- "HablalaApiWeb.Orgs.RoleController.update (2)": {
6712
+ "HablalaApiWeb.AccessTokens.TokenController.delete": {
5170
6713
  parameters: {
5171
6714
  query?: never;
5172
6715
  header?: never;
5173
6716
  path: {
5174
6717
  organization_id: string;
6718
+ workspace_id: string;
5175
6719
  id: string;
5176
6720
  };
5177
6721
  cookie?: never;
5178
6722
  };
5179
- /** @description Datos del rol */
5180
- requestBody?: {
5181
- content: {
5182
- "application/json": components["schemas"]["RoleRequest"];
5183
- };
5184
- };
6723
+ requestBody?: never;
5185
6724
  responses: {
5186
- /** @description Rol actualizado */
5187
- 200: {
6725
+ /** @description Revocado */
6726
+ 204: {
5188
6727
  headers: {
5189
6728
  [name: string]: unknown;
5190
6729
  };
5191
- content: {
5192
- "application/json": components["schemas"]["RoleResponse"];
5193
- };
6730
+ content?: never;
5194
6731
  };
5195
- /** @description Error de validación */
5196
- 422: {
6732
+ /** @description Sin permiso */
6733
+ 403: {
5197
6734
  headers: {
5198
6735
  [name: string]: unknown;
5199
6736
  };
@@ -5203,51 +6740,71 @@ interface operations {
5203
6740
  };
5204
6741
  };
5205
6742
  };
5206
- "HablalaApiWeb.Orgs.SpaceController.index": {
6743
+ "HablalaApiWeb.Agents.AgentController.index": {
5207
6744
  parameters: {
5208
6745
  query?: never;
5209
6746
  header?: never;
5210
6747
  path: {
5211
6748
  organization_id: string;
6749
+ workspace_id: string;
5212
6750
  };
5213
6751
  cookie?: never;
5214
6752
  };
5215
6753
  requestBody?: never;
5216
6754
  responses: {
5217
- /** @description Spaces */
6755
+ /** @description Agentes */
5218
6756
  200: {
5219
6757
  headers: {
5220
6758
  [name: string]: unknown;
5221
6759
  };
5222
6760
  content: {
5223
- "application/json": components["schemas"]["SpacesResponse"];
6761
+ "application/json": components["schemas"]["AgentsResponse"];
6762
+ };
6763
+ };
6764
+ /** @description Sin permiso */
6765
+ 403: {
6766
+ headers: {
6767
+ [name: string]: unknown;
6768
+ };
6769
+ content: {
6770
+ "application/json": components["schemas"]["Error"];
5224
6771
  };
5225
6772
  };
5226
6773
  };
5227
6774
  };
5228
- "HablalaApiWeb.Orgs.SpaceController.create": {
6775
+ "HablalaApiWeb.Agents.AgentController.create": {
5229
6776
  parameters: {
5230
6777
  query?: never;
5231
6778
  header?: never;
5232
6779
  path: {
5233
6780
  organization_id: string;
6781
+ workspace_id: string;
5234
6782
  };
5235
6783
  cookie?: never;
5236
6784
  };
5237
- /** @description Datos del space */
6785
+ /** @description Datos del agente */
5238
6786
  requestBody?: {
5239
6787
  content: {
5240
- "application/json": components["schemas"]["SpaceRequest"];
6788
+ "application/json": components["schemas"]["AgentRequest"];
5241
6789
  };
5242
6790
  };
5243
6791
  responses: {
5244
- /** @description Space creado */
6792
+ /** @description Agente creado */
5245
6793
  201: {
5246
6794
  headers: {
5247
6795
  [name: string]: unknown;
5248
6796
  };
5249
6797
  content: {
5250
- "application/json": components["schemas"]["SpaceResponse"];
6798
+ "application/json": components["schemas"]["AgentResponse"];
6799
+ };
6800
+ };
6801
+ /** @description Sin permiso */
6802
+ 403: {
6803
+ headers: {
6804
+ [name: string]: unknown;
6805
+ };
6806
+ content: {
6807
+ "application/json": components["schemas"]["Error"];
5251
6808
  };
5252
6809
  };
5253
6810
  /** @description Error de validación */
@@ -5261,62 +6818,64 @@ interface operations {
5261
6818
  };
5262
6819
  };
5263
6820
  };
5264
- "HablalaApiWeb.AccessTokens.TokenController.index": {
6821
+ "HablalaApiWeb.Agents.AgentController.show": {
5265
6822
  parameters: {
5266
6823
  query?: never;
5267
6824
  header?: never;
5268
6825
  path: {
5269
6826
  organization_id: string;
5270
- space_id: string;
6827
+ workspace_id: string;
6828
+ id: string;
5271
6829
  };
5272
6830
  cookie?: never;
5273
6831
  };
5274
6832
  requestBody?: never;
5275
6833
  responses: {
5276
- /** @description Tokens */
6834
+ /** @description Agente */
5277
6835
  200: {
5278
6836
  headers: {
5279
6837
  [name: string]: unknown;
5280
6838
  };
5281
6839
  content: {
5282
- "application/json": components["schemas"]["AccessTokensResponse"];
6840
+ "application/json": components["schemas"]["AgentResponse"];
6841
+ };
6842
+ };
6843
+ /** @description No encontrado */
6844
+ 404: {
6845
+ headers: {
6846
+ [name: string]: unknown;
6847
+ };
6848
+ content: {
6849
+ "application/json": components["schemas"]["Error"];
5283
6850
  };
5284
6851
  };
5285
6852
  };
5286
6853
  };
5287
- "HablalaApiWeb.AccessTokens.TokenController.create": {
6854
+ "HablalaApiWeb.Agents.AgentController.update": {
5288
6855
  parameters: {
5289
6856
  query?: never;
5290
6857
  header?: never;
5291
6858
  path: {
5292
6859
  organization_id: string;
5293
- space_id: string;
6860
+ workspace_id: string;
6861
+ id: string;
5294
6862
  };
5295
6863
  cookie?: never;
5296
6864
  };
5297
- /** @description Datos del token */
6865
+ /** @description Datos del agente */
5298
6866
  requestBody?: {
5299
6867
  content: {
5300
- "application/json": components["schemas"]["AccessTokenRequest"];
6868
+ "application/json": components["schemas"]["AgentRequest"];
5301
6869
  };
5302
6870
  };
5303
6871
  responses: {
5304
- /** @description Token creado (con secreto) */
5305
- 201: {
5306
- headers: {
5307
- [name: string]: unknown;
5308
- };
5309
- content: {
5310
- "application/json": components["schemas"]["AccessTokenCreatedResponse"];
5311
- };
5312
- };
5313
- /** @description Sin permiso */
5314
- 403: {
6872
+ /** @description Agente actualizado */
6873
+ 200: {
5315
6874
  headers: {
5316
6875
  [name: string]: unknown;
5317
6876
  };
5318
6877
  content: {
5319
- "application/json": components["schemas"]["Error"];
6878
+ "application/json": components["schemas"]["AgentResponse"];
5320
6879
  };
5321
6880
  };
5322
6881
  /** @description Error de validación */
@@ -5330,51 +6889,66 @@ interface operations {
5330
6889
  };
5331
6890
  };
5332
6891
  };
5333
- "HablalaApiWeb.AccessTokens.TokenController.presets": {
6892
+ "HablalaApiWeb.Agents.AgentController.delete": {
5334
6893
  parameters: {
5335
6894
  query?: never;
5336
6895
  header?: never;
5337
6896
  path: {
5338
6897
  organization_id: string;
5339
- space_id: string;
6898
+ workspace_id: string;
6899
+ id: string;
5340
6900
  };
5341
6901
  cookie?: never;
5342
6902
  };
5343
6903
  requestBody?: never;
5344
6904
  responses: {
5345
- /** @description Presets */
5346
- 200: {
6905
+ /** @description Archivado */
6906
+ 204: {
6907
+ headers: {
6908
+ [name: string]: unknown;
6909
+ };
6910
+ content?: never;
6911
+ };
6912
+ /** @description Sin permiso */
6913
+ 403: {
5347
6914
  headers: {
5348
6915
  [name: string]: unknown;
5349
6916
  };
5350
6917
  content: {
5351
- "application/json": components["schemas"]["AccessTokenPresetsResponse"];
6918
+ "application/json": components["schemas"]["Error"];
5352
6919
  };
5353
6920
  };
5354
6921
  };
5355
6922
  };
5356
- "HablalaApiWeb.AccessTokens.TokenController.delete": {
6923
+ "HablalaApiWeb.Agents.AgentController.update (2)": {
5357
6924
  parameters: {
5358
6925
  query?: never;
5359
6926
  header?: never;
5360
6927
  path: {
5361
6928
  organization_id: string;
5362
- space_id: string;
6929
+ workspace_id: string;
5363
6930
  id: string;
5364
6931
  };
5365
6932
  cookie?: never;
5366
6933
  };
5367
- requestBody?: never;
6934
+ /** @description Datos del agente */
6935
+ requestBody?: {
6936
+ content: {
6937
+ "application/json": components["schemas"]["AgentRequest"];
6938
+ };
6939
+ };
5368
6940
  responses: {
5369
- /** @description Revocado */
5370
- 204: {
6941
+ /** @description Agente actualizado */
6942
+ 200: {
5371
6943
  headers: {
5372
6944
  [name: string]: unknown;
5373
6945
  };
5374
- content?: never;
6946
+ content: {
6947
+ "application/json": components["schemas"]["AgentResponse"];
6948
+ };
5375
6949
  };
5376
- /** @description Sin permiso */
5377
- 403: {
6950
+ /** @description Error de validación */
6951
+ 422: {
5378
6952
  headers: {
5379
6953
  [name: string]: unknown;
5380
6954
  };
@@ -5390,7 +6964,7 @@ interface operations {
5390
6964
  header?: never;
5391
6965
  path: {
5392
6966
  organization_id: string;
5393
- space_id: string;
6967
+ workspace_id: string;
5394
6968
  };
5395
6969
  cookie?: never;
5396
6970
  };
@@ -5413,7 +6987,7 @@ interface operations {
5413
6987
  header?: never;
5414
6988
  path: {
5415
6989
  organization_id: string;
5416
- space_id: string;
6990
+ workspace_id: string;
5417
6991
  };
5418
6992
  cookie?: never;
5419
6993
  };
@@ -5459,7 +7033,7 @@ interface operations {
5459
7033
  header?: never;
5460
7034
  path: {
5461
7035
  organization_id: string;
5462
- space_id: string;
7036
+ workspace_id: string;
5463
7037
  id: string;
5464
7038
  };
5465
7039
  cookie?: never;
@@ -5492,7 +7066,7 @@ interface operations {
5492
7066
  header?: never;
5493
7067
  path: {
5494
7068
  organization_id: string;
5495
- space_id: string;
7069
+ workspace_id: string;
5496
7070
  id: string;
5497
7071
  };
5498
7072
  cookie?: never;
@@ -5523,7 +7097,7 @@ interface operations {
5523
7097
  header?: never;
5524
7098
  path: {
5525
7099
  organization_id: string;
5526
- space_id: string;
7100
+ workspace_id: string;
5527
7101
  };
5528
7102
  cookie?: never;
5529
7103
  };
@@ -5569,7 +7143,7 @@ interface operations {
5569
7143
  header?: never;
5570
7144
  path: {
5571
7145
  organization_id: string;
5572
- space_id: string;
7146
+ workspace_id: string;
5573
7147
  id: string;
5574
7148
  };
5575
7149
  cookie?: never;
@@ -5591,7 +7165,7 @@ interface operations {
5591
7165
  header?: never;
5592
7166
  path: {
5593
7167
  organization_id: string;
5594
- space_id: string;
7168
+ workspace_id: string;
5595
7169
  };
5596
7170
  cookie?: never;
5597
7171
  };
@@ -5614,7 +7188,7 @@ interface operations {
5614
7188
  header?: never;
5615
7189
  path: {
5616
7190
  organization_id: string;
5617
- space_id: string;
7191
+ workspace_id: string;
5618
7192
  };
5619
7193
  cookie?: never;
5620
7194
  };
@@ -5651,7 +7225,7 @@ interface operations {
5651
7225
  header?: never;
5652
7226
  path: {
5653
7227
  organization_id: string;
5654
- space_id: string;
7228
+ workspace_id: string;
5655
7229
  id: string;
5656
7230
  };
5657
7231
  cookie?: never;
@@ -5684,7 +7258,7 @@ interface operations {
5684
7258
  header?: never;
5685
7259
  path: {
5686
7260
  organization_id: string;
5687
- space_id: string;
7261
+ workspace_id: string;
5688
7262
  id: string;
5689
7263
  };
5690
7264
  cookie?: never;
@@ -5722,7 +7296,7 @@ interface operations {
5722
7296
  header?: never;
5723
7297
  path: {
5724
7298
  organization_id: string;
5725
- space_id: string;
7299
+ workspace_id: string;
5726
7300
  id: string;
5727
7301
  };
5728
7302
  cookie?: never;
@@ -5744,7 +7318,7 @@ interface operations {
5744
7318
  header?: never;
5745
7319
  path: {
5746
7320
  organization_id: string;
5747
- space_id: string;
7321
+ workspace_id: string;
5748
7322
  id: string;
5749
7323
  };
5750
7324
  cookie?: never;
@@ -5782,7 +7356,7 @@ interface operations {
5782
7356
  header?: never;
5783
7357
  path: {
5784
7358
  organization_id: string;
5785
- space_id: string;
7359
+ workspace_id: string;
5786
7360
  object_id: string;
5787
7361
  };
5788
7362
  cookie?: never;
@@ -5806,7 +7380,7 @@ interface operations {
5806
7380
  header?: never;
5807
7381
  path: {
5808
7382
  organization_id: string;
5809
- space_id: string;
7383
+ workspace_id: string;
5810
7384
  object_id: string;
5811
7385
  };
5812
7386
  cookie?: never;
@@ -5844,7 +7418,7 @@ interface operations {
5844
7418
  header?: never;
5845
7419
  path: {
5846
7420
  organization_id: string;
5847
- space_id: string;
7421
+ workspace_id: string;
5848
7422
  object_id: string;
5849
7423
  id: string;
5850
7424
  };
@@ -5883,7 +7457,7 @@ interface operations {
5883
7457
  header?: never;
5884
7458
  path: {
5885
7459
  organization_id: string;
5886
- space_id: string;
7460
+ workspace_id: string;
5887
7461
  object_id: string;
5888
7462
  id: string;
5889
7463
  };
@@ -5922,7 +7496,7 @@ interface operations {
5922
7496
  header?: never;
5923
7497
  path: {
5924
7498
  organization_id: string;
5925
- space_id: string;
7499
+ workspace_id: string;
5926
7500
  object_slug: string;
5927
7501
  };
5928
7502
  cookie?: never;
@@ -5969,7 +7543,7 @@ interface operations {
5969
7543
  header?: never;
5970
7544
  path: {
5971
7545
  organization_id: string;
5972
- space_id: string;
7546
+ workspace_id: string;
5973
7547
  object_slug: string;
5974
7548
  id: string;
5975
7549
  };
@@ -6003,7 +7577,7 @@ interface operations {
6003
7577
  header?: never;
6004
7578
  path: {
6005
7579
  organization_id: string;
6006
- space_id: string;
7580
+ workspace_id: string;
6007
7581
  object_slug: string;
6008
7582
  id: string;
6009
7583
  };
@@ -6042,7 +7616,7 @@ interface operations {
6042
7616
  header?: never;
6043
7617
  path: {
6044
7618
  organization_id: string;
6045
- space_id: string;
7619
+ workspace_id: string;
6046
7620
  object_slug: string;
6047
7621
  id: string;
6048
7622
  };
@@ -6065,7 +7639,7 @@ interface operations {
6065
7639
  header?: never;
6066
7640
  path: {
6067
7641
  organization_id: string;
6068
- space_id: string;
7642
+ workspace_id: string;
6069
7643
  object_slug: string;
6070
7644
  id: string;
6071
7645
  };
@@ -6104,7 +7678,7 @@ interface operations {
6104
7678
  header?: never;
6105
7679
  path: {
6106
7680
  organization_id: string;
6107
- space_id: string;
7681
+ workspace_id: string;
6108
7682
  object_slug: string;
6109
7683
  record_id: string;
6110
7684
  };
@@ -6129,7 +7703,7 @@ interface operations {
6129
7703
  header?: never;
6130
7704
  path: {
6131
7705
  organization_id: string;
6132
- space_id: string;
7706
+ workspace_id: string;
6133
7707
  object_slug: string;
6134
7708
  record_id: string;
6135
7709
  };
@@ -6155,6 +7729,15 @@ interface operations {
6155
7729
  "application/json": components["schemas"]["Error"];
6156
7730
  };
6157
7731
  };
7732
+ /** @description Un valor único del record fue tomado por otro mientras estaba borrado */
7733
+ 422: {
7734
+ headers: {
7735
+ [name: string]: unknown;
7736
+ };
7737
+ content: {
7738
+ "application/json": components["schemas"]["Error"];
7739
+ };
7740
+ };
6158
7741
  };
6159
7742
  };
6160
7743
  "HablalaApiWeb.Orgs.PolicyController.index": {
@@ -6163,7 +7746,7 @@ interface operations {
6163
7746
  header?: never;
6164
7747
  path: {
6165
7748
  organization_id: string;
6166
- space_id: string;
7749
+ workspace_id: string;
6167
7750
  };
6168
7751
  cookie?: never;
6169
7752
  };
@@ -6195,7 +7778,7 @@ interface operations {
6195
7778
  header?: never;
6196
7779
  path: {
6197
7780
  organization_id: string;
6198
- space_id: string;
7781
+ workspace_id: string;
6199
7782
  };
6200
7783
  cookie?: never;
6201
7784
  };
@@ -6241,7 +7824,7 @@ interface operations {
6241
7824
  header?: never;
6242
7825
  path: {
6243
7826
  organization_id: string;
6244
- space_id: string;
7827
+ workspace_id: string;
6245
7828
  id: string;
6246
7829
  };
6247
7830
  cookie?: never;
@@ -6274,7 +7857,7 @@ interface operations {
6274
7857
  header?: never;
6275
7858
  path: {
6276
7859
  organization_id: string;
6277
- space_id: string;
7860
+ workspace_id: string;
6278
7861
  id: string;
6279
7862
  };
6280
7863
  cookie?: never;
@@ -6312,7 +7895,7 @@ interface operations {
6312
7895
  header?: never;
6313
7896
  path: {
6314
7897
  organization_id: string;
6315
- space_id: string;
7898
+ workspace_id: string;
6316
7899
  id: string;
6317
7900
  };
6318
7901
  cookie?: never;
@@ -6343,7 +7926,7 @@ interface operations {
6343
7926
  header?: never;
6344
7927
  path: {
6345
7928
  organization_id: string;
6346
- space_id: string;
7929
+ workspace_id: string;
6347
7930
  id: string;
6348
7931
  };
6349
7932
  cookie?: never;
@@ -6381,7 +7964,7 @@ interface operations {
6381
7964
  header?: never;
6382
7965
  path: {
6383
7966
  organization_id: string;
6384
- space_id: string;
7967
+ workspace_id: string;
6385
7968
  };
6386
7969
  cookie?: never;
6387
7970
  };
@@ -6436,7 +8019,7 @@ interface operations {
6436
8019
  header?: never;
6437
8020
  path: {
6438
8021
  organization_id: string;
6439
- space_id: string;
8022
+ workspace_id: string;
6440
8023
  };
6441
8024
  cookie?: never;
6442
8025
  };
@@ -6459,7 +8042,7 @@ interface operations {
6459
8042
  header?: never;
6460
8043
  path: {
6461
8044
  organization_id: string;
6462
- space_id: string;
8045
+ workspace_id: string;
6463
8046
  };
6464
8047
  cookie?: never;
6465
8048
  };
@@ -6496,7 +8079,7 @@ interface operations {
6496
8079
  header?: never;
6497
8080
  path: {
6498
8081
  organization_id: string;
6499
- space_id: string;
8082
+ workspace_id: string;
6500
8083
  id: string;
6501
8084
  };
6502
8085
  cookie?: never;
@@ -6529,7 +8112,7 @@ interface operations {
6529
8112
  header?: never;
6530
8113
  path: {
6531
8114
  organization_id: string;
6532
- space_id: string;
8115
+ workspace_id: string;
6533
8116
  };
6534
8117
  cookie?: never;
6535
8118
  };
@@ -6552,7 +8135,7 @@ interface operations {
6552
8135
  header?: never;
6553
8136
  path: {
6554
8137
  organization_id: string;
6555
- space_id: string;
8138
+ workspace_id: string;
6556
8139
  };
6557
8140
  cookie?: never;
6558
8141
  };
@@ -6598,7 +8181,7 @@ interface operations {
6598
8181
  header?: never;
6599
8182
  path: {
6600
8183
  organization_id: string;
6601
- space_id: string;
8184
+ workspace_id: string;
6602
8185
  id: string;
6603
8186
  };
6604
8187
  cookie?: never;
@@ -6634,7 +8217,7 @@ interface operations {
6634
8217
  header?: never;
6635
8218
  path: {
6636
8219
  organization_id: string;
6637
- space_id: string;
8220
+ workspace_id: string;
6638
8221
  };
6639
8222
  cookie?: never;
6640
8223
  };
@@ -6666,7 +8249,7 @@ interface operations {
6666
8249
  header?: never;
6667
8250
  path: {
6668
8251
  organization_id: string;
6669
- space_id: string;
8252
+ workspace_id: string;
6670
8253
  id: string;
6671
8254
  };
6672
8255
  cookie?: never;
@@ -6699,7 +8282,7 @@ interface operations {
6699
8282
  header?: never;
6700
8283
  path: {
6701
8284
  organization_id: string;
6702
- space_id: string;
8285
+ workspace_id: string;
6703
8286
  };
6704
8287
  cookie?: never;
6705
8288
  };
@@ -6731,7 +8314,7 @@ interface operations {
6731
8314
  header?: never;
6732
8315
  path: {
6733
8316
  organization_id: string;
6734
- space_id: string;
8317
+ workspace_id: string;
6735
8318
  };
6736
8319
  cookie?: never;
6737
8320
  };
@@ -6777,7 +8360,7 @@ interface operations {
6777
8360
  header?: never;
6778
8361
  path: {
6779
8362
  organization_id: string;
6780
- space_id: string;
8363
+ workspace_id: string;
6781
8364
  id: string;
6782
8365
  };
6783
8366
  cookie?: never;
@@ -6810,7 +8393,7 @@ interface operations {
6810
8393
  header?: never;
6811
8394
  path: {
6812
8395
  organization_id: string;
6813
- space_id: string;
8396
+ workspace_id: string;
6814
8397
  id: string;
6815
8398
  };
6816
8399
  cookie?: never;
@@ -6848,7 +8431,7 @@ interface operations {
6848
8431
  header?: never;
6849
8432
  path: {
6850
8433
  organization_id: string;
6851
- space_id: string;
8434
+ workspace_id: string;
6852
8435
  id: string;
6853
8436
  };
6854
8437
  cookie?: never;
@@ -6879,7 +8462,7 @@ interface operations {
6879
8462
  header?: never;
6880
8463
  path: {
6881
8464
  organization_id: string;
6882
- space_id: string;
8465
+ workspace_id: string;
6883
8466
  id: string;
6884
8467
  };
6885
8468
  cookie?: never;
@@ -6911,42 +8494,6 @@ interface operations {
6911
8494
  };
6912
8495
  };
6913
8496
  };
6914
- "HablalaApiWeb.UploadController.presign": {
6915
- parameters: {
6916
- query?: never;
6917
- header?: never;
6918
- path: {
6919
- organization_id: string;
6920
- };
6921
- cookie?: never;
6922
- };
6923
- /** @description Archivo a subir */
6924
- requestBody?: {
6925
- content: {
6926
- "application/json": components["schemas"]["PresignRequest"];
6927
- };
6928
- };
6929
- responses: {
6930
- /** @description URL prefirmada */
6931
- 200: {
6932
- headers: {
6933
- [name: string]: unknown;
6934
- };
6935
- content: {
6936
- "application/json": components["schemas"]["PresignResponse"];
6937
- };
6938
- };
6939
- /** @description Tipo de archivo no soportado */
6940
- 415: {
6941
- headers: {
6942
- [name: string]: unknown;
6943
- };
6944
- content: {
6945
- "application/json": components["schemas"]["Error"];
6946
- };
6947
- };
6948
- };
6949
- };
6950
8497
  "HablalaApiWeb.Machine.PolicyController.index": {
6951
8498
  parameters: {
6952
8499
  query?: never;
@@ -7288,6 +8835,74 @@ interface operations {
7288
8835
  };
7289
8836
  };
7290
8837
  };
8838
+ "HablalaApiWeb.Accounts.SsoController.callback": {
8839
+ parameters: {
8840
+ query?: never;
8841
+ header?: never;
8842
+ path?: never;
8843
+ cookie?: never;
8844
+ };
8845
+ /** @description Aserción del IdP */
8846
+ requestBody?: {
8847
+ content: {
8848
+ "application/json": components["schemas"]["SsoCallbackRequest"];
8849
+ };
8850
+ };
8851
+ responses: {
8852
+ /** @description Usuario + token */
8853
+ 201: {
8854
+ headers: {
8855
+ [name: string]: unknown;
8856
+ };
8857
+ content: {
8858
+ "application/json": components["schemas"]["UserWithTokenResponse"];
8859
+ };
8860
+ };
8861
+ /** @description Aserción inválida */
8862
+ 401: {
8863
+ headers: {
8864
+ [name: string]: unknown;
8865
+ };
8866
+ content: {
8867
+ "application/json": components["schemas"]["Error"];
8868
+ };
8869
+ };
8870
+ };
8871
+ };
8872
+ "HablalaApiWeb.Accounts.SsoController.init": {
8873
+ parameters: {
8874
+ query?: never;
8875
+ header?: never;
8876
+ path?: never;
8877
+ cookie?: never;
8878
+ };
8879
+ /** @description Email corporativo */
8880
+ requestBody?: {
8881
+ content: {
8882
+ "application/json": components["schemas"]["SsoInitRequest"];
8883
+ };
8884
+ };
8885
+ responses: {
8886
+ /** @description URL de redirección al IdP */
8887
+ 200: {
8888
+ headers: {
8889
+ [name: string]: unknown;
8890
+ };
8891
+ content: {
8892
+ "application/json": components["schemas"]["SsoInitResponse"];
8893
+ };
8894
+ };
8895
+ /** @description Sin SSO para ese dominio */
8896
+ 404: {
8897
+ headers: {
8898
+ [name: string]: unknown;
8899
+ };
8900
+ content: {
8901
+ "application/json": components["schemas"]["Error"];
8902
+ };
8903
+ };
8904
+ };
8905
+ };
7291
8906
  "HablalaApiWeb.Storefront.QueryController.create": {
7292
8907
  parameters: {
7293
8908
  query?: never;