@cervio/plugin-core 0.1.1 → 0.1.4

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.
@@ -2,7 +2,7 @@
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "$id": "https://cervio.app/schemas/plugin-manifest.json",
4
4
  "title": "Cervio Plugin Manifest",
5
- "description": "Author-facing plugin manifest. The `version` field is ignored — Cervio assigns release versions.",
5
+ "description": "Author-facing plugin manifest. The `version` field is ignored - Cervio assigns release versions.",
6
6
  "$ref": "#/definitions/CervioPluginManifest",
7
7
  "definitions": {
8
8
  "CervioPluginManifest": {
@@ -30,8 +30,11 @@
30
30
  "task",
31
31
  "form",
32
32
  "task_form",
33
- "route"
34
- ]
33
+ "route",
34
+ "policy",
35
+ "server"
36
+ ],
37
+ "description": "Use `policy` for Policy Plugins. `server` is a legacy alias for `policy`."
35
38
  },
36
39
  "kind": {
37
40
  "type": "string",
@@ -39,7 +42,46 @@
39
42
  },
40
43
  "version": {
41
44
  "type": "string",
42
- "description": "Ignored by Cervio — the host assigns release versions."
45
+ "description": "Ignored by Cervio - the host assigns release versions."
46
+ },
47
+ "hooks": {
48
+ "type": "array",
49
+ "items": {
50
+ "type": "object",
51
+ "properties": {
52
+ "event": {
53
+ "type": "string",
54
+ "enum": [
55
+ "before_create",
56
+ "before_update"
57
+ ]
58
+ },
59
+ "entities": {
60
+ "type": "array",
61
+ "items": {
62
+ "type": "string"
63
+ }
64
+ },
65
+ "blocking": {
66
+ "type": "boolean"
67
+ },
68
+ "identity": {
69
+ "type": "string",
70
+ "enum": [
71
+ "caller",
72
+ "plugin_principal"
73
+ ]
74
+ },
75
+ "entry": {
76
+ "type": "string"
77
+ }
78
+ },
79
+ "required": [
80
+ "event"
81
+ ],
82
+ "additionalProperties": false
83
+ },
84
+ "description": "Policy Plugin hook declarations (plugin_type=policy; legacy server)."
43
85
  },
44
86
  "required_connection_capabilities": {
45
87
  "type": "array",
@@ -169,6 +211,78 @@
169
211
  "cervioApis": {
170
212
  "type": "array",
171
213
  "items": {}
214
+ },
215
+ "settings": {
216
+ "type": "array",
217
+ "items": {
218
+ "type": "object",
219
+ "properties": {
220
+ "key": {
221
+ "type": "string"
222
+ },
223
+ "type": {
224
+ "type": "string",
225
+ "enum": [
226
+ "string",
227
+ "boolean",
228
+ "select",
229
+ "multiselect"
230
+ ]
231
+ },
232
+ "label": {
233
+ "type": "string"
234
+ },
235
+ "hint": {
236
+ "type": "string"
237
+ },
238
+ "placeholder": {
239
+ "type": "string"
240
+ },
241
+ "default": {
242
+ "anyOf": [
243
+ {
244
+ "type": "string"
245
+ },
246
+ {
247
+ "type": "boolean"
248
+ },
249
+ {
250
+ "type": "array",
251
+ "items": {
252
+ "type": "string"
253
+ }
254
+ }
255
+ ]
256
+ },
257
+ "options": {
258
+ "type": "array",
259
+ "items": {
260
+ "type": "object",
261
+ "properties": {
262
+ "value": {
263
+ "type": "string"
264
+ },
265
+ "label": {
266
+ "type": "string"
267
+ }
268
+ },
269
+ "required": [
270
+ "value",
271
+ "label"
272
+ ],
273
+ "additionalProperties": false
274
+ },
275
+ "description": "Required for `select` / `multiselect`."
276
+ }
277
+ },
278
+ "required": [
279
+ "key",
280
+ "type",
281
+ "label"
282
+ ],
283
+ "additionalProperties": false
284
+ },
285
+ "description": "Admin-editable settings fields (drives Impostazioni dynamic form)."
172
286
  }
173
287
  },
174
288
  "additionalProperties": true
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cervio/plugin-core",
3
- "version": "0.1.1",
3
+ "version": "0.1.4",
4
4
  "description": "Shared Cervio plugin manifest validation, ZIP safety, content hash, and packing.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -11,6 +11,11 @@
11
11
  "import": "./dist/index.js",
12
12
  "require": "./dist/index.cjs"
13
13
  },
14
+ "./browser": {
15
+ "types": "./dist/browser.d.ts",
16
+ "import": "./dist/browser.js",
17
+ "require": "./dist/browser.cjs"
18
+ },
14
19
  "./manifest.schema.json": "./manifest.schema.json"
15
20
  },
16
21
  "files": [
@@ -18,12 +23,6 @@
18
23
  "manifest.schema.json",
19
24
  "README.md"
20
25
  ],
21
- "scripts": {
22
- "build": "tsup --config tsup.config.ts && node scripts/emit-manifest-schema.mjs",
23
- "typecheck": "tsc -p tsconfig.json --noEmit",
24
- "test": "vitest run",
25
- "emit-schema": "node scripts/emit-manifest-schema.mjs"
26
- },
27
26
  "dependencies": {
28
27
  "jszip": "^3.10.1",
29
28
  "zod": "^3.25.76",
@@ -42,5 +41,11 @@
42
41
  "keywords": [
43
42
  "cervio",
44
43
  "plugin"
45
- ]
46
- }
44
+ ],
45
+ "scripts": {
46
+ "build": "tsup --config tsup.config.ts && node scripts/emit-manifest-schema.mjs",
47
+ "typecheck": "tsc -p tsconfig.json --noEmit",
48
+ "test": "vitest run",
49
+ "emit-schema": "node scripts/emit-manifest-schema.mjs"
50
+ }
51
+ }