@oktis-works/plugin-runtime 0.6.1 → 0.7.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.
- package/dist/bootstrap.d.ts +90 -22
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +301 -52
- package/dist/bootstrap.js.map +1 -1
- package/dist/content-query.d.ts +29 -0
- package/dist/content-query.d.ts.map +1 -0
- package/dist/content-query.js +109 -0
- package/dist/content-query.js.map +1 -0
- package/dist/hook-registry.d.ts +21 -21
- package/dist/hook-registry.d.ts.map +1 -1
- package/dist/hook-registry.js +26 -26
- package/dist/hook-registry.js.map +1 -1
- package/dist/http.d.ts +50 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +314 -0
- package/dist/http.js.map +1 -0
- package/dist/i18n.d.ts +16 -0
- package/dist/i18n.d.ts.map +1 -0
- package/dist/i18n.js +73 -0
- package/dist/i18n.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/loader.d.ts +8 -0
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +98 -10
- package/dist/loader.js.map +1 -1
- package/dist/manifest.d.ts +11 -6
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +290 -17
- package/dist/manifest.js.map +1 -1
- package/dist/plugin-api.d.ts +194 -40
- package/dist/plugin-api.d.ts.map +1 -1
- package/dist/plugin-api.js +655 -13
- package/dist/plugin-api.js.map +1 -1
- package/dist/plugin-migrations.d.ts +15 -0
- package/dist/plugin-migrations.d.ts.map +1 -0
- package/dist/plugin-migrations.js +68 -0
- package/dist/plugin-migrations.js.map +1 -0
- package/dist/sandbox.d.ts +13 -11
- package/dist/sandbox.d.ts.map +1 -1
- package/dist/sandbox.js +11 -9
- package/dist/sandbox.js.map +1 -1
- package/dist/style-isolation.d.ts +3 -3
- package/dist/style-isolation.js +6 -6
- package/dist/style-isolation.js.map +1 -1
- package/package.json +6 -5
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
// @oktis-works/plugin-runtime - Typed content query builder (Item 22)
|
|
2
|
+
//
|
|
3
|
+
// Declarative, parameterized filtering for `api.content.query()` — plugins
|
|
4
|
+
// describe the query (no raw SQL). Field names are allowlisted to real
|
|
5
|
+
// content columns, operators map to parameterized SQL and every value goes
|
|
6
|
+
// through placeholders (no string interpolation of user data).
|
|
7
|
+
const ALLOWED_FIELDS = new Set([
|
|
8
|
+
'id',
|
|
9
|
+
'type',
|
|
10
|
+
'slug',
|
|
11
|
+
'title',
|
|
12
|
+
'excerpt',
|
|
13
|
+
'status',
|
|
14
|
+
'author_id',
|
|
15
|
+
'featured_image_id',
|
|
16
|
+
'seo_title',
|
|
17
|
+
'layout',
|
|
18
|
+
'created_at',
|
|
19
|
+
'updated_at',
|
|
20
|
+
'published_at',
|
|
21
|
+
]);
|
|
22
|
+
const OPERATORS = {
|
|
23
|
+
eq: '=',
|
|
24
|
+
neq: '<>',
|
|
25
|
+
gt: '>',
|
|
26
|
+
gte: '>=',
|
|
27
|
+
lt: '<',
|
|
28
|
+
lte: '<=',
|
|
29
|
+
like: 'ILIKE',
|
|
30
|
+
};
|
|
31
|
+
export class ContentQueryBuilder {
|
|
32
|
+
executeFn;
|
|
33
|
+
filters = [];
|
|
34
|
+
order = [];
|
|
35
|
+
limitValue = 50;
|
|
36
|
+
offsetValue = 0;
|
|
37
|
+
constructor(executeFn) {
|
|
38
|
+
this.executeFn = executeFn;
|
|
39
|
+
}
|
|
40
|
+
/** Adds a single-value condition (field must be an allowlisted column). */
|
|
41
|
+
where(field, op, value) {
|
|
42
|
+
if (!ALLOWED_FIELDS.has(field)) {
|
|
43
|
+
throw new Error(`Field "${field}" is not queryable (allowed: ${[...ALLOWED_FIELDS].join(', ')})`);
|
|
44
|
+
}
|
|
45
|
+
if (!(op in OPERATORS)) {
|
|
46
|
+
throw new Error(`Operator "${String(op)}" is not supported`);
|
|
47
|
+
}
|
|
48
|
+
this.filters.push({ field, op, value });
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
/** Adds an IN condition over an array of values. */
|
|
52
|
+
whereIn(field, values) {
|
|
53
|
+
if (!ALLOWED_FIELDS.has(field)) {
|
|
54
|
+
throw new Error(`Field "${field}" is not queryable (allowed: ${[...ALLOWED_FIELDS].join(', ')})`);
|
|
55
|
+
}
|
|
56
|
+
if (!Array.isArray(values) || values.length === 0) {
|
|
57
|
+
throw new Error('whereIn requires a non-empty array');
|
|
58
|
+
}
|
|
59
|
+
this.filters.push({ field, op: 'in', value: values });
|
|
60
|
+
return this;
|
|
61
|
+
}
|
|
62
|
+
orderBy(field, dir = 'desc') {
|
|
63
|
+
if (!ALLOWED_FIELDS.has(field)) {
|
|
64
|
+
throw new Error(`Field "${field}" is not orderable (allowed: ${[...ALLOWED_FIELDS].join(', ')})`);
|
|
65
|
+
}
|
|
66
|
+
this.order.push({ field, dir: dir.toUpperCase() });
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
limit(n) {
|
|
70
|
+
if (!Number.isFinite(n) || n < 1 || n > 200) {
|
|
71
|
+
throw new Error('limit must be between 1 and 200');
|
|
72
|
+
}
|
|
73
|
+
this.limitValue = Math.floor(n);
|
|
74
|
+
return this;
|
|
75
|
+
}
|
|
76
|
+
offset(n) {
|
|
77
|
+
if (!Number.isFinite(n) || n < 0) {
|
|
78
|
+
throw new Error('offset must be >= 0');
|
|
79
|
+
}
|
|
80
|
+
this.offsetValue = Math.floor(n);
|
|
81
|
+
return this;
|
|
82
|
+
}
|
|
83
|
+
/** Renders the parameterized SQL + params (exported for tests/debug). */
|
|
84
|
+
build() {
|
|
85
|
+
const clauses = [];
|
|
86
|
+
const params = [];
|
|
87
|
+
for (const filter of this.filters) {
|
|
88
|
+
if (filter.op === 'in') {
|
|
89
|
+
const values = filter.value.map((value) => {
|
|
90
|
+
params.push(value);
|
|
91
|
+
return `$${params.length}`;
|
|
92
|
+
});
|
|
93
|
+
clauses.push(`${filter.field} IN (${values.join(', ')})`);
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
params.push(filter.value);
|
|
97
|
+
clauses.push(`${filter.field} ${OPERATORS[filter.op]} $${params.length}`);
|
|
98
|
+
}
|
|
99
|
+
const where = clauses.length > 0 ? ` WHERE ${clauses.join(' AND ')}` : '';
|
|
100
|
+
const order = this.order.length > 0 ? ` ORDER BY ${this.order.map((entry) => `${entry.field} ${entry.dir}`).join(', ')}` : '';
|
|
101
|
+
const sqlText = `SELECT * FROM content${where}${order} LIMIT ${this.limitValue} OFFSET ${this.offsetValue}`;
|
|
102
|
+
return { sql: sqlText, params };
|
|
103
|
+
}
|
|
104
|
+
execute() {
|
|
105
|
+
const { sql, params } = this.build();
|
|
106
|
+
return this.executeFn(sql, params);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=content-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-query.js","sourceRoot":"","sources":["../src/content-query.ts"],"names":[],"mappings":"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"}
|
package/dist/hook-registry.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export interface AddHookOptions {
|
|
|
5
5
|
/** Identificador da origem ('okcms' para core ou id do plugin). */
|
|
6
6
|
sourceId?: string;
|
|
7
7
|
sourceType?: 'core' | 'plugin';
|
|
8
|
-
/**
|
|
8
|
+
/** Minimum trust level required by the extension point. */
|
|
9
9
|
requiredTrustLevel?: number;
|
|
10
10
|
}
|
|
11
11
|
export interface AuditLogEntry {
|
|
@@ -25,30 +25,30 @@ export declare class HookRegistry {
|
|
|
25
25
|
private readonly auditLog;
|
|
26
26
|
private devMode;
|
|
27
27
|
private trustLevels;
|
|
28
|
-
/**
|
|
28
|
+
/** Official hook names (core catalog) — always accepted in dev. */
|
|
29
29
|
private readonly knownHooks;
|
|
30
30
|
/** Prefixos de hooks oficiais parametrizados (terminam em '*'). */
|
|
31
31
|
private readonly knownPrefixes;
|
|
32
32
|
setDevMode(enabled: boolean): void;
|
|
33
33
|
/**
|
|
34
|
-
*
|
|
34
|
+
* Registers the core's official hook catalog. In dev mode the naming rule
|
|
35
35
|
* prefixo (`okcms.`/`plugin.`) continua exigida para hooks customizados,
|
|
36
|
-
*
|
|
37
|
-
*
|
|
36
|
+
* but official names (`content:query`, `theme:data:*`, ...) are accepted —
|
|
37
|
+
* without this the core's own catalog would fail in dev.
|
|
38
38
|
*
|
|
39
39
|
* Entradas terminadas em `*` viram prefixos (ex.: `theme:data:*`,
|
|
40
40
|
* `manage:*`, `before_publish_content_*`).
|
|
41
41
|
*
|
|
42
|
-
*
|
|
42
|
+
* The runtime does not depend on the core (it would be a cycle): whoever
|
|
43
43
|
* o chamador (bootstrap do core) e injeta aqui.
|
|
44
44
|
*/
|
|
45
45
|
setKnownHooks(names: Iterable<string>): void;
|
|
46
46
|
clearKnownHooks(): void;
|
|
47
|
-
/** True
|
|
47
|
+
/** True when the name belongs to the official catalog (exact or by prefix). */
|
|
48
48
|
isKnownHook(action: string): boolean;
|
|
49
49
|
setTrustLevel(sourceId: string, level: number): void;
|
|
50
50
|
/**
|
|
51
|
-
*
|
|
51
|
+
* Catalog of registered hooks (REQ-REQU-035-002): lists each hook with type,
|
|
52
52
|
* prioridades e fontes, gerado automaticamente a partir do registry.
|
|
53
53
|
*/
|
|
54
54
|
listRegistered(): Array<{
|
|
@@ -61,7 +61,7 @@ export declare class HookRegistry {
|
|
|
61
61
|
getAuditLog(): AuditLogEntry[];
|
|
62
62
|
clearAuditLog(): void;
|
|
63
63
|
/**
|
|
64
|
-
*
|
|
64
|
+
* Registers an action callback (run for side effects).
|
|
65
65
|
*/
|
|
66
66
|
addAction(action: string, callback: HookCallback, options?: AddHookOptions): void;
|
|
67
67
|
/**
|
|
@@ -75,18 +75,18 @@ export declare class HookRegistry {
|
|
|
75
75
|
didAction(action: string): number;
|
|
76
76
|
getCurrentHook(): string | null;
|
|
77
77
|
/**
|
|
78
|
-
*
|
|
78
|
+
* Runs every callback registered for an action.
|
|
79
79
|
* Reentrante: chamadas aninhadas preservam e restauram o hook atual.
|
|
80
80
|
*/
|
|
81
81
|
doAction(action: string, ...args: unknown[]): Promise<void>;
|
|
82
82
|
/**
|
|
83
83
|
* Aplica filtros em cadeia: cada callback recebe o valor transformado pelo anterior.
|
|
84
|
-
*
|
|
84
|
+
* WordPress-style synchronous semantics (DECI-026).
|
|
85
85
|
*/
|
|
86
86
|
applyFilters(filter: string, value: unknown, ...args: unknown[]): unknown;
|
|
87
87
|
/**
|
|
88
|
-
*
|
|
89
|
-
*
|
|
88
|
+
* Async version of the filter pipeline — callbacks returning a Promise
|
|
89
|
+
* are resolved before feeding the next link in the chain.
|
|
90
90
|
*/
|
|
91
91
|
applyFiltersAsync(filter: string, value: unknown, ...args: unknown[]): Promise<unknown>;
|
|
92
92
|
private sortedEntries;
|
|
@@ -101,10 +101,10 @@ export declare function getCurrentHookTenantId(): string | null;
|
|
|
101
101
|
*
|
|
102
102
|
* - `platform`: hooks do core (`okcms.*`) — compartilhado por todo o processo;
|
|
103
103
|
* - `tenant(tenantId)`: hooks dos plugins habilitados daquele tenant, criado
|
|
104
|
-
*
|
|
104
|
+
* on demand and unloadable (invalidate/drop).
|
|
105
105
|
*
|
|
106
|
-
*
|
|
107
|
-
*
|
|
106
|
+
* The contract is `tenant(id)` so it can evolve to per-tenant vm/worker
|
|
107
|
+
* without changing callers (`getHookRegistry()` stays synchronous).
|
|
108
108
|
*/
|
|
109
109
|
export declare class HookRegistryStore {
|
|
110
110
|
private platformRegistry;
|
|
@@ -112,24 +112,24 @@ export declare class HookRegistryStore {
|
|
|
112
112
|
constructor(platform?: HookRegistry);
|
|
113
113
|
platform(): HookRegistry;
|
|
114
114
|
setPlatform(registry: HookRegistry): void;
|
|
115
|
-
/**
|
|
115
|
+
/** Tenant registry (created on demand with devMode + the core catalog). */
|
|
116
116
|
tenant(tenantId: string): HookRegistry;
|
|
117
117
|
hasTenant(tenantId: string): boolean;
|
|
118
118
|
tenantIds(): string[];
|
|
119
119
|
/**
|
|
120
|
-
*
|
|
120
|
+
* Unloads a tenant's hooks (enable/disable, LRU, shutdown).
|
|
121
121
|
* Retorna true quando havia um registry carregado.
|
|
122
122
|
*/
|
|
123
123
|
invalidateTenant(tenantId: string): boolean;
|
|
124
124
|
clearTenants(): void;
|
|
125
|
-
/**
|
|
125
|
+
/** Propagates the core catalog to every registry (current and future). */
|
|
126
126
|
setKnownHooks(names: Iterable<string>): void;
|
|
127
127
|
get size(): number;
|
|
128
128
|
}
|
|
129
129
|
export declare function getHookRegistryStore(): HookRegistryStore;
|
|
130
130
|
/**
|
|
131
|
-
*
|
|
132
|
-
*
|
|
131
|
+
* Current scope registry: tenant when there is a tenant context (per-tenant
|
|
132
|
+
* plugins), platform when there is none (core hooks).
|
|
133
133
|
*/
|
|
134
134
|
export declare function getHookRegistry(): HookRegistry;
|
|
135
135
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-registry.d.ts","sourceRoot":"","sources":["../src/hook-registry.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC;AAY5F,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC/B,
|
|
1
|
+
{"version":3,"file":"hook-registry.d.ts","sourceRoot":"","sources":["../src/hook-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/hook-registry.js
CHANGED
|
@@ -13,7 +13,7 @@ export class HookRegistry {
|
|
|
13
13
|
auditLog = [];
|
|
14
14
|
devMode = false;
|
|
15
15
|
trustLevels = new Map();
|
|
16
|
-
/**
|
|
16
|
+
/** Official hook names (core catalog) — always accepted in dev. */
|
|
17
17
|
knownHooks = new Set();
|
|
18
18
|
/** Prefixos de hooks oficiais parametrizados (terminam em '*'). */
|
|
19
19
|
knownPrefixes = [];
|
|
@@ -21,15 +21,15 @@ export class HookRegistry {
|
|
|
21
21
|
this.devMode = enabled;
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* Registers the core's official hook catalog. In dev mode the naming rule
|
|
25
25
|
* prefixo (`okcms.`/`plugin.`) continua exigida para hooks customizados,
|
|
26
|
-
*
|
|
27
|
-
*
|
|
26
|
+
* but official names (`content:query`, `theme:data:*`, ...) are accepted —
|
|
27
|
+
* without this the core's own catalog would fail in dev.
|
|
28
28
|
*
|
|
29
29
|
* Entradas terminadas em `*` viram prefixos (ex.: `theme:data:*`,
|
|
30
30
|
* `manage:*`, `before_publish_content_*`).
|
|
31
31
|
*
|
|
32
|
-
*
|
|
32
|
+
* The runtime does not depend on the core (it would be a cycle): whoever
|
|
33
33
|
* o chamador (bootstrap do core) e injeta aqui.
|
|
34
34
|
*/
|
|
35
35
|
setKnownHooks(names) {
|
|
@@ -44,7 +44,7 @@ export class HookRegistry {
|
|
|
44
44
|
this.knownHooks.clear();
|
|
45
45
|
this.knownPrefixes.length = 0;
|
|
46
46
|
}
|
|
47
|
-
/** True
|
|
47
|
+
/** True when the name belongs to the official catalog (exact or by prefix). */
|
|
48
48
|
isKnownHook(action) {
|
|
49
49
|
if (this.knownHooks.has(action))
|
|
50
50
|
return true;
|
|
@@ -54,7 +54,7 @@ export class HookRegistry {
|
|
|
54
54
|
this.trustLevels.set(sourceId, level);
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
|
-
*
|
|
57
|
+
* Catalog of registered hooks (REQ-REQU-035-002): lists each hook with type,
|
|
58
58
|
* prioridades e fontes, gerado automaticamente a partir do registry.
|
|
59
59
|
*/
|
|
60
60
|
listRegistered() {
|
|
@@ -81,7 +81,7 @@ export class HookRegistry {
|
|
|
81
81
|
this.auditLog.length = 0;
|
|
82
82
|
}
|
|
83
83
|
/**
|
|
84
|
-
*
|
|
84
|
+
* Registers an action callback (run for side effects).
|
|
85
85
|
*/
|
|
86
86
|
addAction(action, callback, options = {}) {
|
|
87
87
|
if (!this.authorizeRegistration(action, options))
|
|
@@ -141,7 +141,7 @@ export class HookRegistry {
|
|
|
141
141
|
return this.currentHook;
|
|
142
142
|
}
|
|
143
143
|
/**
|
|
144
|
-
*
|
|
144
|
+
* Runs every callback registered for an action.
|
|
145
145
|
* Reentrante: chamadas aninhadas preservam e restauram o hook atual.
|
|
146
146
|
*/
|
|
147
147
|
async doAction(action, ...args) {
|
|
@@ -154,8 +154,8 @@ export class HookRegistry {
|
|
|
154
154
|
await entry.callback(...args.slice(0, Math.max(entry.acceptedArgs, 0)));
|
|
155
155
|
}
|
|
156
156
|
catch (error) {
|
|
157
|
-
//
|
|
158
|
-
console.error(`[hooks]
|
|
157
|
+
// Failing callbacks do not interrupt the others (BUSI-031).
|
|
158
|
+
console.error(`[hooks] Error in action callback "${action}" (${entry.sourceId}):`, error);
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
161
|
}
|
|
@@ -165,7 +165,7 @@ export class HookRegistry {
|
|
|
165
165
|
}
|
|
166
166
|
/**
|
|
167
167
|
* Aplica filtros em cadeia: cada callback recebe o valor transformado pelo anterior.
|
|
168
|
-
*
|
|
168
|
+
* WordPress-style synchronous semantics (DECI-026).
|
|
169
169
|
*/
|
|
170
170
|
applyFilters(filter, value, ...args) {
|
|
171
171
|
const previous = this.currentHook;
|
|
@@ -187,8 +187,8 @@ export class HookRegistry {
|
|
|
187
187
|
}
|
|
188
188
|
}
|
|
189
189
|
/**
|
|
190
|
-
*
|
|
191
|
-
*
|
|
190
|
+
* Async version of the filter pipeline — callbacks returning a Promise
|
|
191
|
+
* are resolved before feeding the next link in the chain.
|
|
192
192
|
*/
|
|
193
193
|
async applyFiltersAsync(filter, value, ...args) {
|
|
194
194
|
const previous = this.currentHook;
|
|
@@ -220,7 +220,7 @@ export class HookRegistry {
|
|
|
220
220
|
authorizeRegistration(action, options) {
|
|
221
221
|
const sourceId = options.sourceId ?? 'anonymous';
|
|
222
222
|
if (this.devMode && !isPrefixed(action) && !this.isKnownHook(action)) {
|
|
223
|
-
throw new Error(`[hooks]
|
|
223
|
+
throw new Error(`[hooks] In dev mode custom hooks must be prefixed ("${CORE_PREFIX}..." or "plugin.<id>....") or belong to the official catalog. Received: "${action}"`);
|
|
224
224
|
}
|
|
225
225
|
const requiredLevel = options.requiredTrustLevel ?? 0;
|
|
226
226
|
const sourceLevel = this.trustLevels.get(sourceId) ?? 0;
|
|
@@ -231,7 +231,7 @@ export class HookRegistry {
|
|
|
231
231
|
sourceId,
|
|
232
232
|
sourceType: options.sourceType ?? 'plugin',
|
|
233
233
|
action,
|
|
234
|
-
reason: `trust level ${sourceLevel}
|
|
234
|
+
reason: `trust level ${sourceLevel} insufficient (minimum ${requiredLevel})`,
|
|
235
235
|
});
|
|
236
236
|
return false;
|
|
237
237
|
}
|
|
@@ -272,7 +272,7 @@ export class HookRegistry {
|
|
|
272
272
|
return false;
|
|
273
273
|
}
|
|
274
274
|
}
|
|
275
|
-
/**
|
|
275
|
+
/** Core catalog names injected via the store — applied to new registries. */
|
|
276
276
|
const pendingKnownHooks = [];
|
|
277
277
|
function createDefaultRegistry() {
|
|
278
278
|
const registry = new HookRegistry();
|
|
@@ -282,7 +282,7 @@ function createDefaultRegistry() {
|
|
|
282
282
|
return registry;
|
|
283
283
|
}
|
|
284
284
|
/**
|
|
285
|
-
*
|
|
285
|
+
* Synchronous resolution of the active tenant. Injected by the core (tenant ALS);
|
|
286
286
|
* sem contexto → registry platform (hooks do core).
|
|
287
287
|
*/
|
|
288
288
|
let hookTenantResolver = () => null;
|
|
@@ -302,10 +302,10 @@ export function getCurrentHookTenantId() {
|
|
|
302
302
|
*
|
|
303
303
|
* - `platform`: hooks do core (`okcms.*`) — compartilhado por todo o processo;
|
|
304
304
|
* - `tenant(tenantId)`: hooks dos plugins habilitados daquele tenant, criado
|
|
305
|
-
*
|
|
305
|
+
* on demand and unloadable (invalidate/drop).
|
|
306
306
|
*
|
|
307
|
-
*
|
|
308
|
-
*
|
|
307
|
+
* The contract is `tenant(id)` so it can evolve to per-tenant vm/worker
|
|
308
|
+
* without changing callers (`getHookRegistry()` stays synchronous).
|
|
309
309
|
*/
|
|
310
310
|
export class HookRegistryStore {
|
|
311
311
|
platformRegistry;
|
|
@@ -319,7 +319,7 @@ export class HookRegistryStore {
|
|
|
319
319
|
setPlatform(registry) {
|
|
320
320
|
this.platformRegistry = registry;
|
|
321
321
|
}
|
|
322
|
-
/**
|
|
322
|
+
/** Tenant registry (created on demand with devMode + the core catalog). */
|
|
323
323
|
tenant(tenantId) {
|
|
324
324
|
let registry = this.byTenant.get(tenantId);
|
|
325
325
|
if (!registry) {
|
|
@@ -335,7 +335,7 @@ export class HookRegistryStore {
|
|
|
335
335
|
return [...this.byTenant.keys()];
|
|
336
336
|
}
|
|
337
337
|
/**
|
|
338
|
-
*
|
|
338
|
+
* Unloads a tenant's hooks (enable/disable, LRU, shutdown).
|
|
339
339
|
* Retorna true quando havia um registry carregado.
|
|
340
340
|
*/
|
|
341
341
|
invalidateTenant(tenantId) {
|
|
@@ -344,7 +344,7 @@ export class HookRegistryStore {
|
|
|
344
344
|
clearTenants() {
|
|
345
345
|
this.byTenant.clear();
|
|
346
346
|
}
|
|
347
|
-
/**
|
|
347
|
+
/** Propagates the core catalog to every registry (current and future). */
|
|
348
348
|
setKnownHooks(names) {
|
|
349
349
|
const list = [...names];
|
|
350
350
|
pendingKnownHooks.length = 0;
|
|
@@ -364,8 +364,8 @@ export function getHookRegistryStore() {
|
|
|
364
364
|
return globalStore;
|
|
365
365
|
}
|
|
366
366
|
/**
|
|
367
|
-
*
|
|
368
|
-
*
|
|
367
|
+
* Current scope registry: tenant when there is a tenant context (per-tenant
|
|
368
|
+
* plugins), platform when there is none (core hooks).
|
|
369
369
|
*/
|
|
370
370
|
export function getHookRegistry() {
|
|
371
371
|
const store = getHookRegistryStore();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-registry.js","sourceRoot":"","sources":["../src/hook-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hook-registry.js","sourceRoot":"","sources":["../src/hook-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/http.d.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Agent } from 'undici';
|
|
2
|
+
import { type PluginHttpApi } from '@oktis-works/plugin-sdk';
|
|
3
|
+
export declare const DEFAULT_TIMEOUT_MS = 10000;
|
|
4
|
+
export declare const MAX_TIMEOUT_MS = 60000;
|
|
5
|
+
export declare const DEFAULT_MAX_BYTES: number;
|
|
6
|
+
export declare const MAX_BODY_BYTES: number;
|
|
7
|
+
export declare const MAX_REDIRECTS = 3;
|
|
8
|
+
export interface ResolvedAddress {
|
|
9
|
+
address: string;
|
|
10
|
+
family: number;
|
|
11
|
+
}
|
|
12
|
+
/** Erro de api.http com flag de retentativa. */
|
|
13
|
+
export declare class HttpError extends Error {
|
|
14
|
+
readonly retriable: boolean;
|
|
15
|
+
constructor(message: string, retriable: boolean);
|
|
16
|
+
}
|
|
17
|
+
/** Is the IPv4 publicly routable? Fail-closed on any special/reserved range. */
|
|
18
|
+
export declare function isPublicIpv4(ip: string): boolean;
|
|
19
|
+
/** Is the IPv6 publicly routable? Fail-closed: only 2000::/3 (global unicast). */
|
|
20
|
+
export declare function isPublicIpv6(ip: string): boolean;
|
|
21
|
+
/** Any non-public IP in the list → false. */
|
|
22
|
+
export declare function isPublicIp(ip: string): boolean;
|
|
23
|
+
/** Picks the first public address (for pinning). Throws when none. */
|
|
24
|
+
export declare function selectPublicAddresses(addresses: ResolvedAddress[]): ResolvedAddress;
|
|
25
|
+
/**
|
|
26
|
+
* Manifest allowlist: exact entry or `*.suffix.com` (subdomains — the apex
|
|
27
|
+
* needs its own entry). Empty/absent list = any host (advertising is still
|
|
28
|
+
* guaranteed by IP validation).
|
|
29
|
+
*/
|
|
30
|
+
export declare function isAllowedHost(hostname: string, allowHosts?: string[]): boolean;
|
|
31
|
+
type Resolver = (hostname: string) => Promise<ResolvedAddress[]>;
|
|
32
|
+
/**
|
|
33
|
+
* Lookup "puro" usado pelo undici Agent: resolve E valida no MESMO passo —
|
|
34
|
+
* the returned IP is exactly what the connection uses (real pinning, no
|
|
35
|
+
* de rebinding).
|
|
36
|
+
*/
|
|
37
|
+
export declare function createSafeLookup(resolve?: Resolver): (hostname: string, _options: unknown, callback: (err: NodeJS.ErrnoException | null, address?: string | never, family?: number) => void) => void;
|
|
38
|
+
/** Dispatcher compartilhado com lookup validado (pinning). */
|
|
39
|
+
export declare function getSafeAgent(): Agent;
|
|
40
|
+
/** Validates a target before touching the network (scheme + allowlist + public DNS). */
|
|
41
|
+
export declare function validateTargetUrl(rawUrl: string, allowHosts?: string[]): Promise<URL>;
|
|
42
|
+
export interface HttpApiConfig {
|
|
43
|
+
/** Allowlist estrita do manifesto (httpPolicy.allowHosts). */
|
|
44
|
+
allowHosts?: string[];
|
|
45
|
+
/** Permission gate (http:outbound) — injected by the PluginAPI factory. */
|
|
46
|
+
requirePermission: (permission: string) => void;
|
|
47
|
+
}
|
|
48
|
+
export declare function createHttpApi(config: HttpApiConfig): PluginHttpApi;
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAe,KAAK,aAAa,EAAmD,MAAM,yBAAyB,CAAC;AAE3H,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,eAAO,MAAM,cAAc,QAAS,CAAC;AACrC,eAAO,MAAM,iBAAiB,QAAkB,CAAC;AACjD,eAAO,MAAM,cAAc,QAAmB,CAAC;AAC/C,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,gDAAgD;AAChD,qBAAa,SAAU,SAAQ,KAAK;IAGhC,QAAQ,CAAC,SAAS,EAAE,OAAO;gBAD3B,OAAO,EAAE,MAAM,EACN,SAAS,EAAE,OAAO;CAK9B;AAED,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAoBhD;AAED,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAkBhD;AAED,6CAA6C;AAC7C,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE9C;AAED,sEAAsE;AACtE,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,eAAe,CASnF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAY9E;AAED,KAAK,QAAQ,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;AAQjE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,QAA0B,cAEtD,MAAM,YACN,OAAO,YACP,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,KAC/F,IAAI,CAeR;AAID,8DAA8D;AAC9D,wBAAgB,YAAY,IAAI,KAAK,CAUpC;AAED,wFAAwF;AACxF,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAmC3F;AAwGD,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,2EAA2E;IAC3E,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAyClE"}
|