@hostwebhook/platform-contracts 0.15.0 → 0.17.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.
package/dist/operadores.d.ts
CHANGED
|
@@ -34,20 +34,28 @@
|
|
|
34
34
|
export declare const FILTER_OPERATORS: readonly ["eq", "neq", "gt", "gte", "lt", "lte", "contains", "not_contains", "starts_with", "not_starts_with", "ends_with", "not_ends_with", "matches_regex", "is_empty", "is_not_empty", "exists", "not_exists", "has_key", "is_true", "is_false", "array_contains", "array_not_contains", "array_empty", "array_not_empty", "array_length_eq", "array_length_gt", "array_length_lt", "date_eq", "date_before", "date_after"];
|
|
35
35
|
export type FilterOperator = (typeof FILTER_OPERATORS)[number];
|
|
36
36
|
/**
|
|
37
|
-
* Lo que
|
|
37
|
+
* Lo que una regla de router sabe resolver: los treinta de arriba y dos más.
|
|
38
38
|
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
39
|
+
* Hasta [2026-09-11] eran nueve, y el aviso que había aquí decía por qué no
|
|
40
|
+
* se unificaban: el router tenía su propio `switch` y heredar los treinta
|
|
41
|
+
* habría dejado guardar reglas que caían en `default: false` sin ruido. Ya
|
|
42
|
+
* no hay dos evaluadores: `RoutersService.matchRule` delega en
|
|
43
|
+
* `evaluateFilters` de `filter-utils` para todo lo que está en
|
|
44
|
+
* `FILTER_OPERATORS`, así que la lista del router ES la de los filtros más
|
|
45
|
+
* lo que sólo tiene sentido en un router:
|
|
42
46
|
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* es
|
|
47
|
+
* - `in` / `not_in` — parten el valor por comas y miran si el del campo
|
|
48
|
+
* está dentro. Un filtro no los tiene porque un filtro es una puerta
|
|
49
|
+
* («¿pasa o no?») y una lista de valores es la forma natural de decir
|
|
50
|
+
* «esta rama es para estos tres»; en un filtro se escribe con `or`.
|
|
47
51
|
*
|
|
48
|
-
*
|
|
52
|
+
* Lo pidió el dueño al ver que al router le faltaba `is empty`.
|
|
53
|
+
*
|
|
54
|
+
* ⚠️ Derivada y no copiada: el día que `filter-utils` aprenda un operador,
|
|
55
|
+
* el router lo tiene sin tocar nada aquí. `una-sola-lista-de-operadores.spec`
|
|
56
|
+
* de hw-nodes ata los `case` propios del router a los dos de la cola.
|
|
49
57
|
*/
|
|
50
|
-
export declare const ROUTER_OPERATORS: readonly ["eq", "neq", "
|
|
58
|
+
export declare const ROUTER_OPERATORS: readonly ["eq", "neq", "gt", "gte", "lt", "lte", "contains", "not_contains", "starts_with", "not_starts_with", "ends_with", "not_ends_with", "matches_regex", "is_empty", "is_not_empty", "exists", "not_exists", "has_key", "is_true", "is_false", "array_contains", "array_not_contains", "array_empty", "array_not_empty", "array_length_eq", "array_length_gt", "array_length_lt", "date_eq", "date_before", "date_after", "in", "not_in"];
|
|
51
59
|
export type RouterOperator = (typeof ROUTER_OPERATORS)[number];
|
|
52
60
|
/**
|
|
53
61
|
* Los operadores que no llevan valor.
|
package/dist/operadores.js
CHANGED
|
@@ -76,30 +76,28 @@ exports.FILTER_OPERATORS = [
|
|
|
76
76
|
];
|
|
77
77
|
/* ── Router ──────────────────────────────────────────────────────── */
|
|
78
78
|
/**
|
|
79
|
-
* Lo que
|
|
79
|
+
* Lo que una regla de router sabe resolver: los treinta de arriba y dos más.
|
|
80
80
|
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
81
|
+
* Hasta [2026-09-11] eran nueve, y el aviso que había aquí decía por qué no
|
|
82
|
+
* se unificaban: el router tenía su propio `switch` y heredar los treinta
|
|
83
|
+
* habría dejado guardar reglas que caían en `default: false` sin ruido. Ya
|
|
84
|
+
* no hay dos evaluadores: `RoutersService.matchRule` delega en
|
|
85
|
+
* `evaluateFilters` de `filter-utils` para todo lo que está en
|
|
86
|
+
* `FILTER_OPERATORS`, así que la lista del router ES la de los filtros más
|
|
87
|
+
* lo que sólo tiene sentido en un router:
|
|
84
88
|
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
* es
|
|
89
|
+
* - `in` / `not_in` — parten el valor por comas y miran si el del campo
|
|
90
|
+
* está dentro. Un filtro no los tiene porque un filtro es una puerta
|
|
91
|
+
* («¿pasa o no?») y una lista de valores es la forma natural de decir
|
|
92
|
+
* «esta rama es para estos tres»; en un filtro se escribe con `or`.
|
|
89
93
|
*
|
|
90
|
-
*
|
|
94
|
+
* Lo pidió el dueño al ver que al router le faltaba `is empty`.
|
|
95
|
+
*
|
|
96
|
+
* ⚠️ Derivada y no copiada: el día que `filter-utils` aprenda un operador,
|
|
97
|
+
* el router lo tiene sin tocar nada aquí. `una-sola-lista-de-operadores.spec`
|
|
98
|
+
* de hw-nodes ata los `case` propios del router a los dos de la cola.
|
|
91
99
|
*/
|
|
92
|
-
exports.ROUTER_OPERATORS = [
|
|
93
|
-
'eq',
|
|
94
|
-
'neq',
|
|
95
|
-
'contains',
|
|
96
|
-
'gt',
|
|
97
|
-
'lt',
|
|
98
|
-
'exists',
|
|
99
|
-
'not_exists',
|
|
100
|
-
'in',
|
|
101
|
-
'not_in',
|
|
102
|
-
];
|
|
100
|
+
exports.ROUTER_OPERATORS = [...exports.FILTER_OPERATORS, 'in', 'not_in'];
|
|
103
101
|
/* ── Lo que tienen en común ──────────────────────────────────────── */
|
|
104
102
|
/**
|
|
105
103
|
* Los operadores que no llevan valor.
|
|
@@ -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' | 'bucketAction' | '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' | 'apifyAction' | '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
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hostwebhook/platform-contracts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.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",
|