@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.
Files changed (48) hide show
  1. package/dist/bootstrap.d.ts +90 -22
  2. package/dist/bootstrap.d.ts.map +1 -1
  3. package/dist/bootstrap.js +301 -52
  4. package/dist/bootstrap.js.map +1 -1
  5. package/dist/content-query.d.ts +29 -0
  6. package/dist/content-query.d.ts.map +1 -0
  7. package/dist/content-query.js +109 -0
  8. package/dist/content-query.js.map +1 -0
  9. package/dist/hook-registry.d.ts +21 -21
  10. package/dist/hook-registry.d.ts.map +1 -1
  11. package/dist/hook-registry.js +26 -26
  12. package/dist/hook-registry.js.map +1 -1
  13. package/dist/http.d.ts +50 -0
  14. package/dist/http.d.ts.map +1 -0
  15. package/dist/http.js +314 -0
  16. package/dist/http.js.map +1 -0
  17. package/dist/i18n.d.ts +16 -0
  18. package/dist/i18n.d.ts.map +1 -0
  19. package/dist/i18n.js +73 -0
  20. package/dist/i18n.js.map +1 -0
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/loader.d.ts +8 -0
  26. package/dist/loader.d.ts.map +1 -1
  27. package/dist/loader.js +98 -10
  28. package/dist/loader.js.map +1 -1
  29. package/dist/manifest.d.ts +11 -6
  30. package/dist/manifest.d.ts.map +1 -1
  31. package/dist/manifest.js +290 -17
  32. package/dist/manifest.js.map +1 -1
  33. package/dist/plugin-api.d.ts +194 -40
  34. package/dist/plugin-api.d.ts.map +1 -1
  35. package/dist/plugin-api.js +655 -13
  36. package/dist/plugin-api.js.map +1 -1
  37. package/dist/plugin-migrations.d.ts +15 -0
  38. package/dist/plugin-migrations.d.ts.map +1 -0
  39. package/dist/plugin-migrations.js +68 -0
  40. package/dist/plugin-migrations.js.map +1 -0
  41. package/dist/sandbox.d.ts +13 -11
  42. package/dist/sandbox.d.ts.map +1 -1
  43. package/dist/sandbox.js +11 -9
  44. package/dist/sandbox.js.map +1 -1
  45. package/dist/style-isolation.d.ts +3 -3
  46. package/dist/style-isolation.js +6 -6
  47. package/dist/style-isolation.js.map +1 -1
  48. package/package.json +6 -5
@@ -1,23 +1,25 @@
1
1
  import type { HookRegistryLike } from '@oktis-works/plugin-sdk';
2
- import type { PluginManifest, PluginFieldTypeManifest } from '@oktis-works/plugin-sdk';
3
- /** Contexto disponível para o plugin em cada execução de hook. */
2
+ import type { PluginManifest, PluginFieldTypeManifest, PluginPostTypeDeclaration, PluginTaxonomyDeclaration, PluginBlockManifest, PluginPatternManifest, PluginCacheApi, PluginJobsApi, PluginJobHandler, PluginHttpApi, PluginAdminApi, PluginRolesApi, PluginAssetsApi, PluginI18nApi, PluginHealthApi, PluginHealthCheck, PluginMailApi, PluginContentApi, EnqueuedAsset, AdminExtensionsState } from '@oktis-works/plugin-sdk';
3
+ /** Context available to the plugin on every hook execution. */
4
4
  export interface PluginContext {
5
5
  tenantId: string;
6
6
  userId: string;
7
7
  requestId: string;
8
8
  api: PluginAPI;
9
9
  }
10
- /** Definição de rota registrada pelo plugin. */
10
+ /** Route definition registered by the plugin. */
11
11
  export interface RouteDefinition {
12
12
  method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS';
13
13
  path: string;
14
+ /** Private by default; public routes must opt in explicitly. */
15
+ public?: boolean;
14
16
  handler: (c: any, api: PluginAPI) => Promise<Response> | Response;
15
17
  /** Middlewares opcionais (ex.: auth, rate-limit). */
16
18
  middleware?: Array<(c: any, next: () => Promise<void>) => Promise<void>>;
17
- /** Permissões exigidas para acessar esta rota. */
19
+ /** Permissions required to access this route. */
18
20
  requiredPermissions?: string[];
19
21
  }
20
- /** Configuração do tenant (para getTenant). */
22
+ /** Tenant configuration (for getTenant). */
21
23
  export interface TenantInfo {
22
24
  id: string;
23
25
  name: string;
@@ -25,20 +27,22 @@ export interface TenantInfo {
25
27
  domain?: string | null;
26
28
  subdomain?: string | null;
27
29
  }
28
- /** Info do usuário (para getUser). */
30
+ /** User info (for getUser). */
29
31
  export interface UserInfo {
30
32
  id: string;
31
33
  email: string;
32
34
  name: string;
33
35
  roles?: string[];
34
36
  }
35
- /** API exposta aos plugins — implementada pelo core e passada via factory. */
37
+ /** API exposed to plugins — implemented by the core and passed via the factory. */
36
38
  export interface PluginAPI {
37
- /** Registra hook de lifecycle (onInstall, onActivate, etc.). */
39
+ /** Registers a lifecycle hook (onInstall, onActivate, etc.). */
38
40
  registerHook(type: string, handler: (context: PluginContext, payload: unknown) => void | Promise<void>): void;
39
- /** Registra rota HTTP exposta pelo plugin. */
41
+ /** Registers an HTTP route exposed by the plugin. */
40
42
  addRoute(route: RouteDefinition): void;
41
- /** Registra campo de conteúdo customizado. */
43
+ /** Compatibility batch alias for addRoute. */
44
+ registerRoutes(routes: RouteDefinition[]): void;
45
+ /** Registers a custom content field. */
42
46
  addContentField(field: {
43
47
  name: string;
44
48
  type: string;
@@ -46,21 +50,49 @@ export interface PluginAPI {
46
50
  required?: boolean;
47
51
  options?: Record<string, unknown>;
48
52
  }): void;
49
- /** Registra um novo tipo de campo customizado. */
53
+ /** Registers a new custom field type. */
50
54
  addFieldType(definition: PluginFieldTypeManifest): void;
51
- /** Lê setting do tenant (group/key). */
55
+ /** Registers a Custom Post Type (permission post-types:register). */
56
+ addPostType(declaration: PluginPostTypeDeclaration): void;
57
+ /** Registers a Custom Taxonomy (permission taxonomies:register). */
58
+ addTaxonomy(declaration: PluginTaxonomyDeclaration): void;
59
+ /** Registers an editor block (permission blocks:register). Data plane: no table — lives while the plugin is active. */
60
+ registerBlock(block: PluginBlockManifest): void;
61
+ /** Registers an editor pattern (permission patterns:register). Data plane: no table — lives while the plugin is active. */
62
+ registerPattern(pattern: PluginPatternManifest): void;
63
+ /** Per-plugin cache/transient (permissions cache:read/cache:write). */
64
+ readonly cache: PluginCacheApi;
65
+ /** Per-plugin jobs/cron (permission jobs:schedule). */
66
+ readonly jobs: PluginJobsApi;
67
+ /** External HTTP protected against SSRF (permission http:outbound). */
68
+ readonly http: PluginHttpApi;
69
+ /** Slots declarativos do admin (FEAT-098 / DECI-027). */
70
+ readonly admin: PluginAdminApi;
71
+ /** Tenant role management (Item 6 — tenant scope, anti-escalation, audit). */
72
+ readonly roles: PluginRolesApi;
73
+ /** Public-site asset enqueue (Item 8 — permission assets:enqueue). */
74
+ readonly assets: PluginAssetsApi;
75
+ /** Server-side translations (Item 9 — fallback chain locale → base → en). */
76
+ readonly i18n: PluginI18nApi;
77
+ /** Health checks aggregated in /health (Item 14 — permission health:register). */
78
+ readonly health: PluginHealthApi;
79
+ /** Mail sending via the outbox (Item 12 — permission mail:send). */
80
+ readonly mail: PluginMailApi;
81
+ /** Typed content query builder (Item 22 — permission db:query). */
82
+ readonly content: PluginContentApi;
83
+ /** Reads a tenant setting (group/key). */
52
84
  getSetting(key: string, group?: string): Promise<unknown>;
53
- /** Escreve setting do tenant. */
85
+ /** Writes a tenant setting. */
54
86
  setSetting(key: string, value: unknown, group?: string): Promise<void>;
55
- /** Info do tenant atual. */
87
+ /** Current tenant info. */
56
88
  getTenant(): Promise<TenantInfo>;
57
- /** Info do usuário atual. */
89
+ /** Current user info. */
58
90
  getUser(): Promise<UserInfo>;
59
- /** Executa SQL no schema do plugin + RLS do tenant (WP8). */
91
+ /** Executes SQL with tenant RLS (WP8). */
60
92
  query(sql: string, params?: unknown[]): Promise<unknown[]>;
61
- /** Emite evento no barramento interno. */
93
+ /** Emits an event on the internal bus. */
62
94
  emit(eventType: string, payload: Record<string, unknown>): Promise<void>;
63
- /** Hooks WordPress-style (actions/filters) — mantido para compat. */
95
+ /** WordPress-style hooks (actions/filters) — kept for compatibility. */
64
96
  addAction(action: string, callback: (...args: unknown[]) => unknown, options?: {
65
97
  priority?: number;
66
98
  acceptedArgs?: number;
@@ -76,18 +108,18 @@ export interface PluginAPI {
76
108
  didAction(action: string): number;
77
109
  currentHook(): string | null;
78
110
  }
79
- /** Dependências que o core deve prover para criar a API real. */
111
+ /** Dependencies the core must provide to create the real API. */
80
112
  export interface PluginApiDependencies {
81
- /** Registry de hooks do escopo (tenant ou platform). */
113
+ /** Hook registry of the scope (tenant or platform). */
82
114
  hooks: HookRegistryLike;
83
- /** Manifesto do plugin (para validar permissões no query). */
115
+ /** Plugin manifest (to validate permissions on query). */
84
116
  manifest: PluginManifest;
85
- /** Serviço de settings (get/set por grupo/key). */
117
+ /** Settings service (get/set by group/key). */
86
118
  settings: {
87
119
  get(key: string, group?: string): Promise<unknown>;
88
120
  set(key: string, value: unknown, group?: string): Promise<void>;
89
121
  };
90
- /** Bus de eventos interno. */
122
+ /** Internal event bus. */
91
123
  eventBus: {
92
124
  emit(event: {
93
125
  id: string;
@@ -100,47 +132,142 @@ export interface PluginApiDependencies {
100
132
  createdAt: Date;
101
133
  }): Promise<void>;
102
134
  };
103
- /** Conexão PostgreSQL com RLS já configurado para o tenant. */
135
+ /** PostgreSQL connection with RLS already configured for the tenant. */
104
136
  db: {
105
137
  query(sql: string, params?: unknown[]): Promise<unknown[]>;
106
138
  };
107
- /** Resolvedor do tenantId atual (ALS). */
139
+ /** Current tenantId resolver (ALS). */
108
140
  getTenantId: () => string | null;
109
- /** Resolvedor do userId atual (ALS). */
141
+ /** Current userId resolver (ALS). */
110
142
  getUserId: () => string | null;
111
- /** Resolvedor do requestId atual (ALS). */
143
+ /** Current requestId resolver (ALS). */
112
144
  getRequestId: () => string | null;
113
- /** Consulta tenant por id (para getTenant). */
145
+ /** Tenant lookup by id (for getTenant). */
114
146
  getTenantById: (id: string) => Promise<TenantInfo | null>;
115
- /** Consulta usuário por id (para getUser). */
147
+ /** User lookup by id (for getUser). */
116
148
  getUserById: (id: string) => Promise<UserInfo | null>;
117
- /** Registra rotas do plugin (o core monta no router da API). */
149
+ /** Registers plugin routes (the core mounts them on the API router). */
118
150
  registerRoutes: (routes: RouteDefinition[]) => void;
119
- /** Registra campos de conteúdo do plugin (o core expõe via field-groups). */
151
+ /** Registers plugin content fields (the core exposes them via field groups). */
120
152
  registerContentFields: (fields: Array<{
121
153
  name: string;
122
154
  type: string;
123
155
  label: string;
124
156
  required?: boolean;
125
157
  options?: Record<string, unknown>;
126
- }>) => void;
127
- /** Registra tipos de campo do plugin (o core expõe via registry). */
158
+ }>, pluginName?: string) => void | Promise<void>;
159
+ /** Registers plugin field types (the core exposes them via the registry). */
128
160
  registerFieldTypes: (fieldTypes: PluginFieldTypeManifest[]) => void;
129
- /** Permissões concedidas ao plugin (policy já resolvida). */
161
+ /** Registers plugin Custom Post Types (the core persists via postTypeRegistry). */
162
+ registerPostTypes?: (postTypes: Array<PluginPostTypeDeclaration & {
163
+ pluginName: string;
164
+ }>) => void;
165
+ /** Registers plugin Custom Taxonomies (the core persists via taxonomyService). */
166
+ registerTaxonomies?: (taxonomies: Array<PluginTaxonomyDeclaration & {
167
+ pluginName: string;
168
+ }>) => void;
169
+ /**
170
+ * Core cache backend (Redis/memory) — RAW operations, no namespace (the
171
+ * plugin/tenant namespace and tags belong to the PluginAPI).
172
+ * Absent → per-process memory fallback (dev/legacy, never throws).
173
+ */
174
+ cache?: {
175
+ get<T>(key: string): Promise<T | null>;
176
+ set<T>(key: string, value: T, ttlSeconds?: number): Promise<void>;
177
+ del(key: string): Promise<void>;
178
+ };
179
+ /**
180
+ * Core jobs backend (`plugins` queue). Absent → schedule/enqueue/cancel
181
+ * return false (optional queue, never throws — degradation A3).
182
+ */
183
+ jobs?: {
184
+ schedule(jobName: string, spec: {
185
+ every?: number;
186
+ cron?: string;
187
+ }, ctx: {
188
+ pluginName: string;
189
+ tenantId: string | null;
190
+ }): Promise<boolean>;
191
+ cancel(jobName: string, ctx: {
192
+ pluginName: string;
193
+ tenantId: string | null;
194
+ }): Promise<boolean>;
195
+ enqueue(jobName: string, payload: Record<string, unknown>, ctx: {
196
+ pluginName: string;
197
+ tenantId: string | null;
198
+ }): Promise<boolean>;
199
+ };
200
+ /** Permissions granted to the plugin (already-resolved policy). */
130
201
  allowedPermissions: string[];
202
+ /**
203
+ * Backend de roles do core (Item 6 — persiste + audita com anti-escalada).
204
+ * Absent → api.roles throws a clear error (backend not wired).
205
+ */
206
+ roles?: {
207
+ add(input: {
208
+ tenantId: string;
209
+ pluginName: string;
210
+ name: string;
211
+ slug?: string;
212
+ permissions?: string[];
213
+ }): Promise<{
214
+ id: string;
215
+ name: string;
216
+ slug: string;
217
+ permissions: string[];
218
+ }>;
219
+ remove(input: {
220
+ tenantId: string;
221
+ pluginName: string;
222
+ slug: string;
223
+ }): Promise<boolean>;
224
+ addPermission(input: {
225
+ tenantId: string;
226
+ pluginName: string;
227
+ slug: string;
228
+ permission: string;
229
+ }): Promise<boolean>;
230
+ };
231
+ /**
232
+ * Backend de mail do core (Item 12 — outbox + rate limit + audit).
233
+ * Absent → api.mail.send returns false (queue unavailable, like jobs).
234
+ */
235
+ mail?: {
236
+ send(input: {
237
+ tenantId: string | null;
238
+ pluginName: string;
239
+ to: string;
240
+ subject: string;
241
+ html?: string;
242
+ text?: string;
243
+ template?: string;
244
+ params?: Record<string, unknown>;
245
+ }): Promise<boolean>;
246
+ };
247
+ /**
248
+ * Audit backend (Item 18 — sensitive plugin operations → audit_log).
249
+ * Ausente → sem auditoria (degrada silenciosamente, nunca bloqueia).
250
+ */
251
+ audit?: {
252
+ record(entry: {
253
+ tenantId?: string | null;
254
+ action: string;
255
+ resourceType: string;
256
+ resourceId?: string;
257
+ changes?: Record<string, unknown>;
258
+ }): Promise<void>;
259
+ };
131
260
  }
132
- /**
133
- * Cria a PluginAPI real a partir das dependências do core.
134
- * Chamado pelo core no bootstrap (não pelo plugin-runtime diretamente).
135
- * Retorna { api: PluginAPI, internal: PluginApiInternal } para separar a API pública dos detalhes internos.
136
- */
261
+ /** Normalizes and validates a plugin route before it enters the registry. */
262
+ export declare function normalizePluginRoutePath(value: string): string;
137
263
  export declare function createPluginApi(deps: PluginApiDependencies): {
138
264
  api: PluginAPI;
139
265
  internal: PluginApiInternal;
140
266
  };
141
- /** Tipo para o core acessar as rotas/campos registrados internamente. */
267
+ /** Type for the core to access internally registered routes/fields. */
142
268
  export interface PluginApiInternal {
143
269
  getRoutes: () => RouteDefinition[];
270
+ getApi: () => PluginAPI;
144
271
  getFields: () => Array<{
145
272
  name: string;
146
273
  type: string;
@@ -152,5 +279,32 @@ export interface PluginApiInternal {
152
279
  pluginName: string;
153
280
  isPluginType: true;
154
281
  }>;
282
+ getPostTypes: () => Array<PluginPostTypeDeclaration & {
283
+ pluginName: string;
284
+ }>;
285
+ getTaxonomies: () => Array<PluginTaxonomyDeclaration & {
286
+ pluginName: string;
287
+ }>;
288
+ /** Job handlers declared via api.jobs.on (dispatched by the worker). */
289
+ getJobHandlers: () => Map<string, PluginJobHandler>;
290
+ /** Declarative slots registered at runtime via api.admin.*. */
291
+ getAdminState: () => AdminExtensionsState;
292
+ /** Blocos do editor registrados em runtime via api.registerBlock. */
293
+ getBlocks: () => Array<PluginBlockManifest & {
294
+ pluginName: string;
295
+ }>;
296
+ /** Patterns do editor registrados em runtime via api.registerPattern. */
297
+ getPatterns: () => Array<PluginPatternManifest & {
298
+ pluginName: string;
299
+ }>;
300
+ /** Assets enfileirados em runtime via api.assets (Item 8). */
301
+ getEnqueuedAssets: () => EnqueuedAsset[];
302
+ /** Health checks registrados em runtime via api.health (Item 14). */
303
+ getHealthChecks: () => Array<{
304
+ name: string;
305
+ check: PluginHealthCheck;
306
+ }>;
307
+ cleanup: () => Promise<void>;
308
+ reset: () => void;
155
309
  }
156
310
  //# sourceMappingURL=plugin-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-api.d.ts","sourceRoot":"","sources":["../src/plugin-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-api.d.ts","sourceRoot":"","sources":["../src/plugin-api.ts"],"names":[],"mappings":"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"}