@oktis-works/core 0.5.8 → 0.5.10
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/index.d.ts.map +1 -1
- package/dist/bootstrap/index.js +9 -3
- package/dist/bootstrap/index.js.map +1 -1
- package/dist/extensions/project-directories.d.ts +6 -0
- package/dist/extensions/project-directories.d.ts.map +1 -1
- package/dist/extensions/project-directories.js +10 -1
- package/dist/extensions/project-directories.js.map +1 -1
- package/dist/hooks/wiring.d.ts +16 -0
- package/dist/hooks/wiring.d.ts.map +1 -0
- package/dist/hooks/wiring.js +63 -0
- package/dist/hooks/wiring.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/plugin/load.d.ts +52 -4
- package/dist/plugin/load.d.ts.map +1 -1
- package/dist/plugin/load.js +286 -12
- package/dist/plugin/load.js.map +1 -1
- package/dist/plugin/service.d.ts +44 -9
- package/dist/plugin/service.d.ts.map +1 -1
- package/dist/plugin/service.js +173 -49
- package/dist/plugin/service.js.map +1 -1
- package/dist/tenant/context.d.ts +13 -0
- package/dist/tenant/context.d.ts.map +1 -1
- package/dist/tenant/context.js +19 -0
- package/dist/tenant/context.js.map +1 -1
- package/dist/theme/service.d.ts +5 -4
- package/dist/theme/service.d.ts.map +1 -1
- package/dist/theme/service.js +13 -16
- package/dist/theme/service.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bootstrap/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bootstrap/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAK7D,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,SAAS,CAAC,QAAQ,GAAE,gBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAkB9F;AAED,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAIxF"}
|
package/dist/bootstrap/index.js
CHANGED
|
@@ -3,13 +3,19 @@ import { loadConfig } from '@oktis-works/config';
|
|
|
3
3
|
import { ApplicationLifecycle } from '../lifecycle/index.js';
|
|
4
4
|
import { establishTenantContext } from '../tenant/context.js';
|
|
5
5
|
import { syncEnabledPlugins } from '../plugin/load.js';
|
|
6
|
+
import { installHookRuntimeWiring } from '../hooks/wiring.js';
|
|
6
7
|
export async function bootstrap(_options = {}) {
|
|
7
8
|
const config = loadConfig();
|
|
8
9
|
const lifecycle = new ApplicationLifecycle(config);
|
|
9
10
|
await lifecycle.start();
|
|
10
|
-
//
|
|
11
|
-
// de
|
|
12
|
-
|
|
11
|
+
// Fiação do runtime de hooks: catálogo oficial (allowlist em dev) + resolução
|
|
12
|
+
// de registry por tenant. Antes de qualquer carga de plugin.
|
|
13
|
+
installHookRuntimeWiring();
|
|
14
|
+
// Plugins habilitados da plataforma (plugin_tenants/ACTIVATED) entram no
|
|
15
|
+
// registry platform. Internamente nunca lança: plugin quebrado ou banco
|
|
16
|
+
// indisponível não impedem o boot (isolamento de falha). Os plugins por
|
|
17
|
+
// tenant são carregados sob demanda (ensureTenantPluginsLoaded) quando a
|
|
18
|
+
// requisição já tem contexto de tenant.
|
|
13
19
|
await syncEnabledPlugins();
|
|
14
20
|
return lifecycle;
|
|
15
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bootstrap/index.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bootstrap/index.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAM9D,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,WAA6B,EAAE;IAC7D,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAEnD,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;IAExB,8EAA8E;IAC9E,6DAA6D;IAC7D,wBAAwB,EAAE,CAAC;IAE3B,yEAAyE;IACzE,wEAAwE;IACxE,wEAAwE;IACxE,yEAAyE;IACzE,wCAAwC;IACxC,MAAM,kBAAkB,EAAE,CAAC;IAE3B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IACvD,MAAM,SAAS,GAAG,MAAM,SAAS,EAAE,CAAC;IACpC,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -2,6 +2,12 @@ type ExtensionKind = 'plugin' | 'theme';
|
|
|
2
2
|
/**
|
|
3
3
|
* Resolve os diretórios reais do projeto. O diretório pode ser sobrescrito
|
|
4
4
|
* por ambiente; caso contrário, respeita okcms.config.json e os defaults.
|
|
5
|
+
*
|
|
6
|
+
* Contrato único de env por tipo (o web runtime consome ESTA função — não
|
|
7
|
+
* inventa outro nome de variável):
|
|
8
|
+
* - tema: `OKCMS_THEMES_DIR` (canônico) ou `THEMES_DIR` (alias usado
|
|
9
|
+
* pelo web runtime e pelos scripts e2e)
|
|
10
|
+
* - plugin: `OKCMS_PLUGINS_DIR`
|
|
5
11
|
*/
|
|
6
12
|
export declare function resolveExtensionDirectory(kind: ExtensionKind, cwd?: string): string;
|
|
7
13
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-directories.d.ts","sourceRoot":"","sources":["../../src/extensions/project-directories.ts"],"names":[],"mappings":"AAKA,KAAK,aAAa,GAAG,QAAQ,GAAG,OAAO,CAAC;AAExC
|
|
1
|
+
{"version":3,"file":"project-directories.d.ts","sourceRoot":"","sources":["../../src/extensions/project-directories.ts"],"names":[],"mappings":"AAKA,KAAK,aAAa,GAAG,QAAQ,GAAG,OAAO,CAAC;AAExC;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,SAAgB,GAAG,MAAM,CAuB1F"}
|
|
@@ -4,11 +4,20 @@ import { resolve } from 'node:path';
|
|
|
4
4
|
/**
|
|
5
5
|
* Resolve os diretórios reais do projeto. O diretório pode ser sobrescrito
|
|
6
6
|
* por ambiente; caso contrário, respeita okcms.config.json e os defaults.
|
|
7
|
+
*
|
|
8
|
+
* Contrato único de env por tipo (o web runtime consome ESTA função — não
|
|
9
|
+
* inventa outro nome de variável):
|
|
10
|
+
* - tema: `OKCMS_THEMES_DIR` (canônico) ou `THEMES_DIR` (alias usado
|
|
11
|
+
* pelo web runtime e pelos scripts e2e)
|
|
12
|
+
* - plugin: `OKCMS_PLUGINS_DIR`
|
|
7
13
|
*/
|
|
8
14
|
export function resolveExtensionDirectory(kind, cwd = process.cwd()) {
|
|
9
15
|
const envKey = kind === 'plugin' ? 'OKCMS_PLUGINS_DIR' : 'OKCMS_THEMES_DIR';
|
|
16
|
+
// Alias aceito para o mesmo diretório (evita dois nomes de env divergindo
|
|
17
|
+
// entre apps: o web runtime e o e2e usavam THEMES_DIR, a API OKCMS_THEMES_DIR).
|
|
18
|
+
const aliasKey = kind === 'plugin' ? null : 'THEMES_DIR';
|
|
10
19
|
const fallback = kind === 'plugin' ? 'plugins' : 'themes';
|
|
11
|
-
const configured = process.env[envKey];
|
|
20
|
+
const configured = process.env[envKey] ?? (aliasKey ? process.env[aliasKey] : undefined);
|
|
12
21
|
if (configured)
|
|
13
22
|
return resolve(cwd, configured);
|
|
14
23
|
const configPath = resolve(cwd, 'okcms.config.json');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-directories.js","sourceRoot":"","sources":["../../src/extensions/project-directories.ts"],"names":[],"mappings":"AAAA,yDAAyD;AAEzD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC
|
|
1
|
+
{"version":3,"file":"project-directories.js","sourceRoot":"","sources":["../../src/extensions/project-directories.ts"],"names":[],"mappings":"AAAA,yDAAyD;AAEzD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAmB,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAChF,MAAM,MAAM,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAC5E,0EAA0E;IAC1E,gFAAgF;IAChF,MAAM,QAAQ,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEzF,IAAI,UAAU;QAAE,OAAO,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAEhD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IACrD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAA4B,CAAC;YACvF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YACrE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE;gBAAE,OAAO,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5E,CAAC;QAAC,MAAM,CAAC;YACP,qEAAqE;YACrE,oEAAoE;QACtE,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Nomes oficiais do catálogo, incluindo prefixos de hooks parametrizados.
|
|
3
|
+
*
|
|
4
|
+
* - estáticos entram exatos (`content:query`);
|
|
5
|
+
* - parametrizados viram `prefixo*` (`before_publish_content_*`,
|
|
6
|
+
* `theme:data:*`, `manage:*`, `rest:*`, `settings:defaults:*`) — cada tipo
|
|
7
|
+
* real de conteúdo continua casando com o mesmo prefixo.
|
|
8
|
+
*/
|
|
9
|
+
export declare function hookCatalogNames(): string[];
|
|
10
|
+
/**
|
|
11
|
+
* Instala a fiação do runtime de hooks. Idempotente — segura de chamar no boot
|
|
12
|
+
* de qualquer processo (API, web, worker, CLI) e em testes.
|
|
13
|
+
*/
|
|
14
|
+
export declare function installHookRuntimeWiring(): void;
|
|
15
|
+
export declare function isHookRuntimeWiringInstalled(): boolean;
|
|
16
|
+
//# sourceMappingURL=wiring.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wiring.d.ts","sourceRoot":"","sources":["../../src/hooks/wiring.ts"],"names":[],"mappings":"AAoBA;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAyB3C;AAID;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAK/C;AAED,wBAAgB,4BAA4B,IAAI,OAAO,CAEtD"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// @oktis-works/core - Fiação do runtime de hooks (catálogo oficial + tenant)
|
|
2
|
+
//
|
|
3
|
+
// O plugin-runtime não depende do core (seria ciclo de dependência), então ele
|
|
4
|
+
// não conhece o catálogo de pontos de extensão nem o contexto de tenant. Aqui o
|
|
5
|
+
// core injeta as duas coisas:
|
|
6
|
+
//
|
|
7
|
+
// 1. **Catálogo**: em modo dev o registry exige prefixo `okcms.`/`plugin.`;
|
|
8
|
+
// sem isto, os próprios nomes oficiais (`content:query`, `theme:data:*`,
|
|
9
|
+
// `after_publish_content_*`, `manage:*`) seriam reprovados e o plugin
|
|
10
|
+
// cairia em falha isolada. O catálogo é injetado por nome/prefixo.
|
|
11
|
+
// 2. **Tenant**: `getHookRegistry()` resolve síncronamente o tenant ativo
|
|
12
|
+
// (ALS) → registry daquele tenant; sem contexto → registry platform.
|
|
13
|
+
import { getHookRegistryStore, setHookTenantResolver, } from '@oktis-works/plugin-runtime';
|
|
14
|
+
import { getCurrentTenantIdSync } from '../tenant/context.js';
|
|
15
|
+
import { HOOK_POINTS } from './points.js';
|
|
16
|
+
/**
|
|
17
|
+
* Nomes oficiais do catálogo, incluindo prefixos de hooks parametrizados.
|
|
18
|
+
*
|
|
19
|
+
* - estáticos entram exatos (`content:query`);
|
|
20
|
+
* - parametrizados viram `prefixo*` (`before_publish_content_*`,
|
|
21
|
+
* `theme:data:*`, `manage:*`, `rest:*`, `settings:defaults:*`) — cada tipo
|
|
22
|
+
* real de conteúdo continua casando com o mesmo prefixo.
|
|
23
|
+
*/
|
|
24
|
+
export function hookCatalogNames() {
|
|
25
|
+
const names = [];
|
|
26
|
+
for (const value of Object.values(HOOK_POINTS)) {
|
|
27
|
+
if (typeof value === 'string') {
|
|
28
|
+
names.push(value);
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
if (typeof value !== 'function')
|
|
32
|
+
continue;
|
|
33
|
+
const fn = value;
|
|
34
|
+
try {
|
|
35
|
+
const sample = fn.length >= 2 ? fn('post', 'field') : fn('post');
|
|
36
|
+
names.push(sample);
|
|
37
|
+
// `before_save_content_post` → prefixo `before_save_content_`
|
|
38
|
+
const index = sample.indexOf('post');
|
|
39
|
+
if (index >= 0 && sample.length > 'post'.length) {
|
|
40
|
+
names.push(`${sample.slice(0, index)}*`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
// função parametrizada exigindo outro formato: não faz parte do allowlist
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return [...new Set(names)];
|
|
48
|
+
}
|
|
49
|
+
let installed = false;
|
|
50
|
+
/**
|
|
51
|
+
* Instala a fiação do runtime de hooks. Idempotente — segura de chamar no boot
|
|
52
|
+
* de qualquer processo (API, web, worker, CLI) e em testes.
|
|
53
|
+
*/
|
|
54
|
+
export function installHookRuntimeWiring() {
|
|
55
|
+
const store = getHookRegistryStore();
|
|
56
|
+
setHookTenantResolver(getCurrentTenantIdSync);
|
|
57
|
+
store.setKnownHooks(hookCatalogNames());
|
|
58
|
+
installed = true;
|
|
59
|
+
}
|
|
60
|
+
export function isHookRuntimeWiringInstalled() {
|
|
61
|
+
return installed;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=wiring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wiring.js","sourceRoot":"","sources":["../../src/hooks/wiring.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,8BAA8B;AAC9B,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,2EAA2E;AAC3E,wEAAwE;AACxE,4EAA4E;AAC5E,0EAA0E;AAE1E,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,UAAU;YAAE,SAAS;QAE1C,MAAM,EAAE,GAAG,KAAsC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,8DAA8D;YAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,0EAA0E;QAC5E,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB;;;GAGG;AACH,MAAM,UAAU,wBAAwB;IACtC,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,qBAAqB,CAAC,sBAAsB,CAAC,CAAC;IAC9C,KAAK,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACxC,SAAS,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export { createLogger, AuditService, auditService } from './observability/index.
|
|
|
12
12
|
export type { Logger, LogLevel, AuditEntry, AuditFilter } from './observability/index.js';
|
|
13
13
|
export { MemoryCache, createCache, getCache } from './cache/index.js';
|
|
14
14
|
export type { CacheEntry } from './cache/index.js';
|
|
15
|
-
export { establishTenantContext, runWithTenantContext, getCurrentContext, clearCurrentContext, requireTenantContext } from './tenant/context.js';
|
|
15
|
+
export { establishTenantContext, runWithTenantContext, getCurrentContext, clearCurrentContext, requireTenantContext, getCurrentTenantIdSync, getCurrentUserIdSync, getCurrentRequestIdSync } from './tenant/context.js';
|
|
16
16
|
export type { TenantContext } from './tenant/context.js';
|
|
17
17
|
export { tenantService, TenantService } from './tenant/service.js';
|
|
18
18
|
export { userService, UserService } from './user/service.js';
|
|
@@ -39,6 +39,7 @@ export { LocalStorageDriver } from './storage/drivers/local.js';
|
|
|
39
39
|
export { S3StorageDriver } from './storage/drivers/s3.js';
|
|
40
40
|
export { HOOK_POINTS, hooks } from './hooks/points.js';
|
|
41
41
|
export { getHookCatalog, type HookCatalog, type HookCatalogEntry } from './hooks/catalog.js';
|
|
42
|
+
export { hookCatalogNames, installHookRuntimeWiring } from './hooks/wiring.js';
|
|
42
43
|
export { contentFieldResolver, ContentFieldResolver } from './content/field-resolver.js';
|
|
43
44
|
export type { ContentFieldsResult } from './content/field-resolver.js';
|
|
44
45
|
export { contentPublisher, ContentPublisher } from './content/publisher.js';
|
|
@@ -49,7 +50,8 @@ export { settingsService, SettingsService } from './settings/service.js';
|
|
|
49
50
|
export { categoryService, CategoryService } from './category/service.js';
|
|
50
51
|
export { tagService, TagService } from './tag/service.js';
|
|
51
52
|
export { pluginService, PluginService } from './plugin/service.js';
|
|
52
|
-
export { syncEnabledPlugins } from './plugin/load.js';
|
|
53
|
+
export { syncEnabledPlugins, ensureTenantPluginsLoaded, invalidateTenantPlugins, invalidatePlatformPlugins, getPluginsRuntimeState, getRegisteredPluginRoutes, registerPluginRoutes, unregisterPluginRoutes, type PluginRouteEntry } from './plugin/load.js';
|
|
54
|
+
export type { PluginsRuntimeState, PluginsScopeState } from './plugin/load.js';
|
|
53
55
|
export { themeService, ThemeService } from './theme/service.js';
|
|
54
56
|
export { resolveExtensionDirectory } from './extensions/project-directories.js';
|
|
55
57
|
export { buildService, BuildService } from './build/service.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACxE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGpE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/E,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAG1F,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACpH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACpF,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG1F,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACtE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -13,7 +13,7 @@ export { createLogger, AuditService, auditService } from './observability/index.
|
|
|
13
13
|
// Cache
|
|
14
14
|
export { MemoryCache, createCache, getCache } from './cache/index.js';
|
|
15
15
|
// Tenant Context
|
|
16
|
-
export { establishTenantContext, runWithTenantContext, getCurrentContext, clearCurrentContext, requireTenantContext } from './tenant/context.js';
|
|
16
|
+
export { establishTenantContext, runWithTenantContext, getCurrentContext, clearCurrentContext, requireTenantContext, getCurrentTenantIdSync, getCurrentUserIdSync, getCurrentRequestIdSync } from './tenant/context.js';
|
|
17
17
|
// Core Services
|
|
18
18
|
export { tenantService, TenantService } from './tenant/service.js';
|
|
19
19
|
export { userService, UserService } from './user/service.js';
|
|
@@ -33,6 +33,7 @@ export { S3StorageDriver } from './storage/drivers/s3.js';
|
|
|
33
33
|
// Hooks
|
|
34
34
|
export { HOOK_POINTS, hooks } from './hooks/points.js';
|
|
35
35
|
export { getHookCatalog } from './hooks/catalog.js';
|
|
36
|
+
export { hookCatalogNames, installHookRuntimeWiring } from './hooks/wiring.js';
|
|
36
37
|
// Field delivery
|
|
37
38
|
export { contentFieldResolver, ContentFieldResolver } from './content/field-resolver.js';
|
|
38
39
|
export { contentPublisher, ContentPublisher } from './content/publisher.js';
|
|
@@ -42,7 +43,7 @@ export { settingsService, SettingsService } from './settings/service.js';
|
|
|
42
43
|
export { categoryService, CategoryService } from './category/service.js';
|
|
43
44
|
export { tagService, TagService } from './tag/service.js';
|
|
44
45
|
export { pluginService, PluginService } from './plugin/service.js';
|
|
45
|
-
export { syncEnabledPlugins } from './plugin/load.js';
|
|
46
|
+
export { syncEnabledPlugins, ensureTenantPluginsLoaded, invalidateTenantPlugins, invalidatePlatformPlugins, getPluginsRuntimeState, getRegisteredPluginRoutes, registerPluginRoutes, unregisterPluginRoutes } from './plugin/load.js';
|
|
46
47
|
export { themeService, ThemeService } from './theme/service.js';
|
|
47
48
|
export { resolveExtensionDirectory } from './extensions/project-directories.js';
|
|
48
49
|
export { buildService, BuildService } from './build/service.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AAEvC,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5D,SAAS;AACT,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGxE,8DAA8D;AAC9D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAE1F,gBAAgB;AAChB,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACpH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGpF,QAAQ;AACR,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGtE,iBAAiB;AACjB,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin/load.d.ts
CHANGED
|
@@ -1,8 +1,56 @@
|
|
|
1
1
|
import { type PluginBootstrapResult } from '@oktis-works/plugin-runtime';
|
|
2
|
+
import type { RouteDefinition } from '@oktis-works/plugin-runtime';
|
|
3
|
+
export interface PluginsScopeState {
|
|
4
|
+
/** `platform` ou `tenant:<id>`. */
|
|
5
|
+
scope: string;
|
|
6
|
+
tenantId: string | null;
|
|
7
|
+
loadedAt: string;
|
|
8
|
+
enabled: string[];
|
|
9
|
+
loaded: string[];
|
|
10
|
+
unloaded: string[];
|
|
11
|
+
failed: Array<{
|
|
12
|
+
name: string;
|
|
13
|
+
error: string;
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
16
|
+
export interface PluginsRuntimeState {
|
|
17
|
+
generatedAt: string;
|
|
18
|
+
scopes: PluginsScopeState[];
|
|
19
|
+
}
|
|
20
|
+
/** Registro global de rotas de plugins (coletadas durante bootstrap). */
|
|
21
|
+
export interface PluginRouteEntry {
|
|
22
|
+
pluginName: string;
|
|
23
|
+
routes: RouteDefinition[];
|
|
24
|
+
}
|
|
25
|
+
/** Registra rotas de um plugin (chamado durante bootstrap). */
|
|
26
|
+
export declare function registerPluginRoutes(pluginName: string, routes: RouteDefinition[]): void;
|
|
27
|
+
/** Remove rotas de um plugin (quando desativado/desinstalado). */
|
|
28
|
+
export declare function unregisterPluginRoutes(pluginName: string): boolean;
|
|
29
|
+
/** Obtém todas as rotas registradas para montagem no router da API. */
|
|
30
|
+
export declare function getRegisteredPluginRoutes(): PluginRouteEntry[];
|
|
2
31
|
/**
|
|
3
|
-
* Sincroniza o registry
|
|
4
|
-
*
|
|
5
|
-
*
|
|
32
|
+
* Sincroniza o registry **platform** com os plugins habilitados no banco.
|
|
33
|
+
* Force implícito: é a chamada explícita de boot/ativação — reflete o banco
|
|
34
|
+
* na hora. Idempotente e nunca lança.
|
|
6
35
|
*/
|
|
7
|
-
export declare function syncEnabledPlugins(
|
|
36
|
+
export declare function syncEnabledPlugins(options?: {
|
|
37
|
+
force?: boolean;
|
|
38
|
+
}): Promise<PluginBootstrapResult>;
|
|
39
|
+
/**
|
|
40
|
+
* Garante que os plugins do tenant estão carregados no registry dele.
|
|
41
|
+
* Chamado sob demanda (middleware/API, web, worker) — com cache de TTL para
|
|
42
|
+
* não bater no banco a cada requisição. Nunca lança.
|
|
43
|
+
*/
|
|
44
|
+
export declare function ensureTenantPluginsLoaded(tenantId: string, options?: {
|
|
45
|
+
force?: boolean;
|
|
46
|
+
}): Promise<PluginBootstrapResult>;
|
|
47
|
+
/**
|
|
48
|
+
* Invalida o cache/registry de um tenant (após ativar/desativar vínculo,
|
|
49
|
+
* desinstalar ou mudar permissões). A próxima requisição do tenant recarrega.
|
|
50
|
+
*/
|
|
51
|
+
export declare function invalidateTenantPlugins(tenantId: string): void;
|
|
52
|
+
/** Invalida o escopo platform (após mudanças globais). */
|
|
53
|
+
export declare function invalidatePlatformPlugins(): void;
|
|
54
|
+
/** Estado de carga por escopo — superfície de observabilidade (WP2). */
|
|
55
|
+
export declare function getPluginsRuntimeState(): PluginsRuntimeState;
|
|
8
56
|
//# sourceMappingURL=load.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/plugin/load.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/plugin/load.ts"],"names":[],"mappings":"AAiBA,OAAO,EAKL,KAAK,qBAAqB,EAE3B,MAAM,6BAA6B,CAAC;AAWrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED,yEAAyE;AACzE,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAID,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAGxF;AAED,kEAAkE;AAClE,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAElE;AAED,uEAAuE;AACvE,wBAAgB,yBAAyB,IAAI,gBAAgB,EAAE,CAE9D;AAkOD;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAS1G;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAChC,OAAO,CAAC,qBAAqB,CAAC,CAUhC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAO9D;AAED,0DAA0D;AAC1D,wBAAgB,yBAAyB,IAAI,IAAI,CAGhD;AAED,wEAAwE;AACxE,wBAAgB,sBAAsB,IAAI,mBAAmB,CAa5D"}
|