@hostwebhook/platform-contracts 0.11.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -106,7 +106,7 @@ export interface DescripcionDeCredencial {
106
106
  * registro es forense, no un índice: se prefiere que de hoy en adelante diga
107
107
  * una sola cosa.
108
108
  */
109
- export type TipoDeEntidad = 'trigger' | 'webhook' | 'aiNode' | 'socialMediaAction' | 'socialPost' | 'calendarAction' | 'docsAction' | 'driveAction' | 'sheetsAction' | 'emailAction' | 'gmailAction' | 'approvalNode' | 'telegramAction' | 'whatsappAction' | 'discordAction' | 'slackAction' | 'mongoAction' | 'postgresAction' | 'httpAction' | 'githubAction' | 'notionAction' | 'jiraAction' | 'shopifyAction' | 'mailchimpAction' | 'firecrawlAction' | 'notificationAction' | 'googleAnalyticsAction' | 'googleContactsAction' | 'vectorStore' | 'voiceAgent';
109
+ export type TipoDeEntidad = 'trigger' | 'webhook' | 'aiNode' | 'socialMediaAction' | 'socialPost' | 'calendarAction' | 'docsAction' | 'driveAction' | 'sheetsAction' | 'emailAction' | 'gmailAction' | 'approvalNode' | 'telegramAction' | 'whatsappAction' | 'discordAction' | 'slackAction' | 'mongoAction' | 'postgresAction' | 'httpAction' | 'githubAction' | 'notionAction' | 'jiraAction' | 'bucketAction' | 'shopifyAction' | 'mailchimpAction' | 'firecrawlAction' | 'notificationAction' | 'googleAnalyticsAction' | 'googleContactsAction' | 'vectorStore' | 'voiceAgent';
110
110
  /**
111
111
  * Por qué esta lectura NO se puede comprobar contra el documento de hoy.
112
112
  *
@@ -69,7 +69,24 @@ export interface TunelLocal {
69
69
  * `getOrCreate`, y hay que conservarlo: devolver una dirección que no
70
70
  * escucha convertiría un error claro en un timeout del driver.
71
71
  */
72
- direccionLocalPara(tunnelId: string, host: string, port: number): Promise<DireccionLocal>;
72
+ /**
73
+ * @param orgId La organización dueña del túnel.
74
+ *
75
+ * 🔥 No es un parámetro de comodidad: es la autorización.
76
+ *
77
+ * Mientras esto se resolvía dentro del propio api, el `tunnelId` bastaba —
78
+ * quien lo tenía en la mano ya había pasado por la puerta que lo sacó de su
79
+ * propia credencial. Ahora la dirección la da hw-tunnels por HTTP, y ese
80
+ * servicio no tiene forma de saber quién pregunta: sin `orgId` no puede
81
+ * comprobar que el túnel es tuyo, así que su `/interno/direccion-tcp`
82
+ * contesta 400 y NO adivina.
83
+ *
84
+ * ⚠️ Va aquí y no como un campo del túnel porque el que autoriza es el que
85
+ * PREGUNTA, no el preguntado. Con el `orgId` sacado de la fila del túnel, la
86
+ * comprobación sería «este túnel pertenece a su propio dueño», que es cierta
87
+ * siempre y no protege de nada.
88
+ */
89
+ direccionLocalPara(tunnelId: string, orgId: string, host: string, port: number): Promise<DireccionLocal>;
73
90
  }
74
91
  /** Lo llama `tunnels/monta-el-tunel-local.ts` al arrancar. */
75
92
  export declare function registrarTunelLocal(t: TunelLocal): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hostwebhook/platform-contracts",
3
- "version": "0.11.0",
3
+ "version": "0.13.0",
4
4
  "description": "Contratos compartidos entre los servicios de HostWebhook: addons del plan, identidad interna, y las formas que cruzan una frontera de red",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",