@oktis-works/validation 0.6.0 → 0.7.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.
@@ -11,7 +11,7 @@ export interface CompatibilityIssue {
11
11
  message: string;
12
12
  }
13
13
  /** Versão do CMS contra a qual a compatibilidade é avaliada. */
14
- export declare const CMS_VERSION = "0.12.0";
14
+ export declare const CMS_VERSION = "0.17.0";
15
15
  /**
16
16
  * Valida o manifesto de uma extensão (plugin|theme) contra a versão do CMS.
17
17
  * BUSI-022: manifest deve conter name, version, type e compatibility.okcms;
@@ -1,7 +1,7 @@
1
1
  // @oktis-works/validation - Extension Compatibility (BUSI-022 / RULE-semver-compatibility)
2
2
  import { satisfies, validRange } from 'semver';
3
3
  /** Versão do CMS contra a qual a compatibilidade é avaliada. */
4
- export const CMS_VERSION = '0.12.0';
4
+ export const CMS_VERSION = '0.17.0';
5
5
  /**
6
6
  * Valida o manifesto de uma extensão (plugin|theme) contra a versão do CMS.
7
7
  * BUSI-022: manifest deve conter name, version, type e compatibility.okcms;
@@ -1,4 +1,4 @@
1
- export declare const PLUGIN_PERMISSIONS: readonly ["content:read", "content:write", "settings:read", "settings:write", "events:emit", "storage:read", "storage:write", "http:outbound", "db:query", "db:write", "routes:register", "admin:ui"];
1
+ export declare const PLUGIN_PERMISSIONS: readonly ["content:read", "content:write", "settings:read", "settings:write", "events:emit", "storage:read", "storage:write", "http:outbound", "db:query", "db:write", "routes:register", "admin:ui", "field-types:register", "post-types:register", "taxonomies:register", "cache:read", "cache:write", "jobs:schedule", "blocks:register", "patterns:register", "roles:create", "assets:enqueue", "mail:send", "health:register"];
2
2
  export type PluginPermission = (typeof PLUGIN_PERMISSIONS)[number];
3
3
  /** Política default: todo o catálogo é concedível (configuração pode restringir). */
4
4
  export declare const PLUGIN_PERMISSION_DEFAULT: readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-permissions.d.ts","sourceRoot":"","sources":["../src/plugin-permissions.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,kBAAkB,uMAarB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE,qFAAqF;AACrF,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAAuB,CAAC;AAE/E,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,IAAI,gBAAgB,CAE1F;AAED,0DAA0D;AAC1D,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,EAAE,CAIlF;AAED,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,oEAAoE;IACpE,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,gBAAgB,CAoBrG"}
1
+ {"version":3,"file":"plugin-permissions.d.ts","sourceRoot":"","sources":["../src/plugin-permissions.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,kBAAkB,qaA+BrB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE,qFAAqF;AACrF,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAAuB,CAAC;AAE/E,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,IAAI,gBAAgB,CAE1F;AAED,0DAA0D;AAC1D,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,EAAE,CAIlF;AAED,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,oEAAoE;IACpE,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,gBAAgB,CAoBrG"}
@@ -6,6 +6,7 @@
6
6
  // aprovação garantida). Permissão fora do catálogo é rejeitada na
7
7
  // instalação/sync (falhar cedo, não no boot).
8
8
  export const PLUGIN_PERMISSIONS = [
9
+ // ── Core ────────────────────────────────────────────────────────────────
9
10
  'content:read',
10
11
  'content:write',
11
12
  'settings:read',
@@ -18,6 +19,23 @@ export const PLUGIN_PERMISSIONS = [
18
19
  'db:write',
19
20
  'routes:register',
20
21
  'admin:ui',
22
+ // ── Field types (registrado via api.addFieldType) ───────────────────────
23
+ 'field-types:register',
24
+ // ── Paridade WordPress: Custom Post Types / Taxonomies ──────────────────
25
+ 'post-types:register',
26
+ 'taxonomies:register',
27
+ // ── Paridade WordPress: cache/transient, jobs/cron ──────────────────────
28
+ 'cache:read',
29
+ 'cache:write',
30
+ 'jobs:schedule',
31
+ // ── Editor de blocos ────────────────────────────────────────────────────
32
+ 'blocks:register',
33
+ 'patterns:register',
34
+ // ── Paridade WordPress: roles, assets, mail, health ─────────────────────
35
+ 'roles:create',
36
+ 'assets:enqueue',
37
+ 'mail:send',
38
+ 'health:register',
21
39
  ];
22
40
  /** Política default: todo o catálogo é concedível (configuração pode restringir). */
23
41
  export const PLUGIN_PERMISSION_DEFAULT = PLUGIN_PERMISSIONS;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-permissions.js","sourceRoot":"","sources":["../src/plugin-permissions.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,6EAA6E;AAC7E,2EAA2E;AAC3E,6EAA6E;AAC7E,kEAAkE;AAClE,8CAA8C;AAE9C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,cAAc;IACd,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,aAAa;IACb,cAAc;IACd,eAAe;IACf,eAAe;IACf,UAAU;IACV,UAAU;IACV,iBAAiB;IACjB,UAAU;CACF,CAAC;AAIX,qFAAqF;AACrF,MAAM,CAAC,MAAM,yBAAyB,GAAsB,kBAAkB,CAAC;AAE/E,MAAM,UAAU,uBAAuB,CAAC,UAAkB;IACxD,OAAQ,kBAAwC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACxE,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,wBAAwB,CAAC,WAA+B;IACtE,OAAO,WAAW,CAAC,MAAM,CACvB,CAAC,UAAU,EAAwB,EAAE,CAAC,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAC7G,CAAC;AACJ,CAAC;AASD;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,UAAqC;IACjF,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QACzE,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,yBAAyB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QACvC,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,UAAU;aACP,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,uBAAuB,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;;YAClD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"plugin-permissions.js","sourceRoot":"","sources":["../src/plugin-permissions.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,6EAA6E;AAC7E,2EAA2E;AAC3E,6EAA6E;AAC7E,kEAAkE;AAClE,8CAA8C;AAE9C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,2EAA2E;IAC3E,cAAc;IACd,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,aAAa;IACb,cAAc;IACd,eAAe;IACf,eAAe;IACf,UAAU;IACV,UAAU;IACV,iBAAiB;IACjB,UAAU;IACV,2EAA2E;IAC3E,sBAAsB;IACtB,2EAA2E;IAC3E,qBAAqB;IACrB,qBAAqB;IACrB,2EAA2E;IAC3E,YAAY;IACZ,aAAa;IACb,eAAe;IACf,2EAA2E;IAC3E,iBAAiB;IACjB,mBAAmB;IACnB,2EAA2E;IAC3E,cAAc;IACd,gBAAgB;IAChB,WAAW;IACX,iBAAiB;CACT,CAAC;AAIX,qFAAqF;AACrF,MAAM,CAAC,MAAM,yBAAyB,GAAsB,kBAAkB,CAAC;AAE/E,MAAM,UAAU,uBAAuB,CAAC,UAAkB;IACxD,OAAQ,kBAAwC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACxE,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,wBAAwB,CAAC,WAA+B;IACtE,OAAO,WAAW,CAAC,MAAM,CACvB,CAAC,UAAU,EAAwB,EAAE,CAAC,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAC7G,CAAC;AACJ,CAAC;AASD;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,UAAqC;IACjF,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QACzE,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,yBAAyB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QACvC,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,UAAU;aACP,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,uBAAuB,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;;YAClD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;AAC5C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oktis-works/validation",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "Pure field validation library — UI-safe, sem dependência de banco",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",