@gregiteen/ssss-cli 0.14.0 → 0.14.2
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/CHANGELOG.md +42 -0
- package/VERSION +1 -1
- package/conformance/reference-bundle.ucw.json +1 -1
- package/docs/ssss-spec.md +15 -12
- package/package.json +4 -1
- package/registry/core.json +15 -1
- package/schemas/bundle.schema.json +259 -0
- package/schemas/core-registry.schema.json +386 -0
- package/scripts/audit-registry-field-usage.mjs +3 -0
- package/scripts/check-commit-durability.mjs +1 -0
- package/scripts/cmd-schema.mjs +62 -0
- package/scripts/conformance-09.mjs +147 -0
- package/scripts/ssss.mjs +2 -0
- package/skills/ssss/SKILL.md +2 -2
- package/skills/ssss/core/SKILL.md +3 -3
- package/skills/ssss/core/references/core-registry.json +15 -1
- package/skills/ssss/core/references/ssss-spec.md +127 -19
- package/src/authorization.mjs +31 -3
- package/src/engine.mjs +11 -1
- package/src/kernel.mjs +3 -3
- package/src/registry.mjs +82 -3
- package/src/schema-validator.mjs +134 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,48 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.14.2] - 2026-11-02
|
|
11
|
+
### Added
|
|
12
|
+
- **Canonical JSON Schema Draft 2020-12 Definitions (`JSON_SCHEMA_EXPORT`)**:
|
|
13
|
+
- `schemas/core-registry.schema.json`: Formal JSON Schema Draft 2020-12 defining the full structure of `registry/core.json` and extension registries (document primitives, contract primitives, universal frontmatter, portability classes and export profiles, bundle manifest specifications, provisioning steps and relations, runtime contracts, and semantic search fields).
|
|
14
|
+
- `schemas/bundle.schema.json`: Formal JSON Schema Draft 2020-12 defining the container format for Universal Cloud Workspace (`.ucw`) transport bundles, covering `manifest`, `files`, `dependencies`, `parameters`, `provisioning`, `provenance`, and optional `branding`.
|
|
15
|
+
- `registry/core.json`: Updated `$schema` URI to point to `https://ssss.dev/schemas/core-registry.schema.json`.
|
|
16
|
+
- **Zero-Dependency Schema Validation**:
|
|
17
|
+
- `src/schema-validator.mjs`: High-performance, recursive JSON Schema Draft 2020-12 validator in pure Node ESM supporting `type` unions, `properties`, `additionalProperties`, `required`, `items`, `enum`, `pattern`, and local `$defs`/`$ref` pointers.
|
|
18
|
+
- Exported `./schema-validator` and `./schemas/*` via package exports and added `"schemas"` to npm package distribution files.
|
|
19
|
+
- **CLI Schema Inspection & Export**:
|
|
20
|
+
- `scripts/cmd-schema.mjs`: Added `ssss schema core`, `ssss schema bundle`, and `ssss schema export [--out <dir>]` subcommands to output and export canonical JSON Schemas.
|
|
21
|
+
- **Automated Conformance Sweeps**:
|
|
22
|
+
- `scripts/conformance-09.mjs`: Integrated automated schema validation checks into continuous test suites, verifying `registry/core.json` and `conformance/reference-bundle.ucw.json` against canonical schemas with negative mutation testing.
|
|
23
|
+
- **Specification and Backlog Hygiene**:
|
|
24
|
+
- `docs/ssss-spec.md`: Documented canonical JSON Schema references in §5.1 and §16.1.
|
|
25
|
+
- Resolved and closed all outstanding host deferral items in `docs/projects/DEFERRED_BACKLOG.md`.
|
|
26
|
+
|
|
27
|
+
### Behavior changes hosts should check
|
|
28
|
+
- Tools and IDEs may validate `registry/core.json` and `.ucw` bundle files directly against `schemas/core-registry.schema.json` and `schemas/bundle.schema.json`.
|
|
29
|
+
- The CLI command `ssss schema export` is now available to export canonical schema definitions for external consumption.
|
|
30
|
+
|
|
31
|
+
## [0.14.1] - 2026-11-02
|
|
32
|
+
### Added
|
|
33
|
+
- **Core primitive aliasing (`role` ↔ `security_role`, `thread` ↔ `conversation`)**:
|
|
34
|
+
- `registry/core.json`: Reciprocal `aliases` declared on `role` (`security_role`) and `thread` (`conversation`).
|
|
35
|
+
- `src/registry.mjs`: `composeRegistries()` executes two passes to register and validate core primitive aliases, enforcing mutual symmetry when aliasing existing primitives, rejecting self-aliases, and disallowing collisions with unrelated primitives.
|
|
36
|
+
- `src/registry.mjs`: `resolveEquivalentDefinitions()` and `isSamePrimitiveType()` resolve equivalence across canonical and alias types.
|
|
37
|
+
- `src/registry.mjs`: `validateReferenceConstraints()` resolves `allowed_types` and `disallowed_types` across primitive aliases.
|
|
38
|
+
- `src/kernel.mjs`: Operation replace and patch type-mutation guards accept equivalent primitive aliases transparently without requiring an explicit migration.
|
|
39
|
+
- `src/engine.mjs`: `legacyRoleCapabilities()` expands permissions across declared aliases for `role` and `security_role`.
|
|
40
|
+
- `src/authorization.mjs`: `createCapabilityAuthorizer()` enforces `policyFloors` across primitive aliases and matches capability grants across aliases for primitive actions.
|
|
41
|
+
- **Core primitive deprecation metadata**:
|
|
42
|
+
- `registry/core.json`: Declared `"deprecated": true` and `"deprecation_notice"` on inert primitives `release`, `model`, `page`, and `conflict`.
|
|
43
|
+
- `src/registry.mjs`: `validatePrimitiveDefinition()` validates optional boolean `deprecated` and string `deprecation_notice`.
|
|
44
|
+
- `docs/ssss-spec.md`: Documented core primitive aliases (§5.1, §5.3, §5.4) and deprecation metadata.
|
|
45
|
+
- Synchronized managed portable core SSSS skill package (`skills/ssss/`, `.agent/skills/ssss/`) with `0.14.1` reference materials.
|
|
46
|
+
|
|
47
|
+
### Behavior changes hosts should check
|
|
48
|
+
- Replacing or patching a document from `role` to `security_role` (or `security_role` to `role`), or `thread` to `conversation`, is now accepted by kernel type-mutation guards.
|
|
49
|
+
- Reference constraints with `allowed_types: ["role"]` accept targets of type `security_role`, and `disallowed_types: ["role"]` reject targets of type `security_role`.
|
|
50
|
+
- Policy floors configured on `ssss:role` or `role` are applied when mutating documents of type `security_role`.
|
|
51
|
+
|
|
10
52
|
## [0.14.0] - 2026-11-02
|
|
11
53
|
### Added
|
|
12
54
|
- **Parameter bindings & Resource bindings (D2, D4)**: `provisionBundle` supports `x_bind` in template frontmatter and resource bindings (`bindings` array with `relation`, `field`, `mode`), with type validation and parameter substitution.
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.14.
|
|
1
|
+
0.14.2
|
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
"file_count": 14,
|
|
107
107
|
"provenance": {
|
|
108
108
|
"content_hash": "sha256:7febd673938a3dc04c068e0bf08097a9783c09e612606d2df9a4db8dcb8907f5",
|
|
109
|
-
"exporter": "@gregiteen/ssss-cli@0.14.
|
|
109
|
+
"exporter": "@gregiteen/ssss-cli@0.14.2"
|
|
110
110
|
}
|
|
111
111
|
},
|
|
112
112
|
"files": [
|
package/docs/ssss-spec.md
CHANGED
|
@@ -250,19 +250,20 @@ primitive — it implements the subset its product requires — but any primitiv
|
|
|
250
250
|
| `assistant` | actor | structural | The definition of an AI assistant/persona. |
|
|
251
251
|
| `workflow` | work | structural | A reusable **task template**: a defined procedure. Firing a workflow submits a `task`. |
|
|
252
252
|
| `trigger` | work | structural | A standalone schedule or event-driven trigger that fires a workflow. |
|
|
253
|
-
| `model` | catalog | structural | The definition of an inference model. |
|
|
253
|
+
| `model` | catalog | structural | The definition of an inference model (deprecated). |
|
|
254
254
|
| `thread` | transcript | tenant_private | An append-only chat transcript. |
|
|
255
255
|
| `conversation` | transcript | tenant_private | An append-only chat transcript. Legacy alias of `thread`. |
|
|
256
256
|
| `run` | transcript | tenant_private | An append-only workflow execution record. |
|
|
257
|
-
| `conflict` | meta | tenant_private | A record of two contradicting primitives, blocking promotion. |
|
|
258
|
-
| `page` | capability | structural | A VFS-native sandboxed custom workspace page. |
|
|
257
|
+
| `conflict` | meta | tenant_private | A record of two contradicting primitives, blocking promotion (deprecated). |
|
|
258
|
+
| `page` | capability | structural | A VFS-native sandboxed custom workspace page (deprecated). |
|
|
259
259
|
| `migration` | meta | structural | An SSSS schema migration state record. |
|
|
260
|
-
| `release` | meta | structural | An SSSS system schema version release record. |
|
|
260
|
+
| `release` | meta | structural | An SSSS system schema version release record (deprecated). |
|
|
261
261
|
| `primitive` | meta | structural | A governed, versioned definition for a namespaced SSSS primitive. |
|
|
262
262
|
|
|
263
263
|
The **Portability** column is the primitive's default portability class (§5.5); a host
|
|
264
|
-
resolves it from `registry/core.json`.
|
|
265
|
-
|
|
264
|
+
resolves it from `registry/core.json`. The canonical machine-readable registry conforms to the
|
|
265
|
+
JSON Schema (Draft 2020-12) published in `schemas/core-registry.schema.json`. Extension registries
|
|
266
|
+
assign their own primitives a class — notably `resource_bound` for things like domains and phone numbers.
|
|
266
267
|
|
|
267
268
|
### 5.2 Contract Primitives
|
|
268
269
|
|
|
@@ -282,7 +283,7 @@ Document primitives are either:
|
|
|
282
283
|
entirely (`memory`, `skill`, `rule`, `security_role`, `task`, `assistant`,
|
|
283
284
|
`workflow`, `model`, `conflict`, `page`, `migration`, `release`, `primitive`).
|
|
284
285
|
- **Append-type** — the file is an ordered, append-only log; writes add records to
|
|
285
|
-
the body and MUST NOT rewrite prior records (`conversation`, `run`).
|
|
286
|
+
the body and MUST NOT rewrite prior records (`thread`, `conversation`, `run`).
|
|
286
287
|
|
|
287
288
|
Append-type documents MUST be mutated only by appending. A host MUST reject an
|
|
288
289
|
operation that would rewrite or remove existing records of an append-type document.
|
|
@@ -629,7 +630,7 @@ Maintains support assistants and records support events.
|
|
|
629
630
|
|
|
630
631
|
#### `model`
|
|
631
632
|
|
|
632
|
-
The definition of an inference model.
|
|
633
|
+
The definition of an inference model. Deprecated: inert catalog primitive; modern hosts configure models through provider runtime settings.
|
|
633
634
|
|
|
634
635
|
REQUIRED: `type`, `model_id`, `provider`.
|
|
635
636
|
|
|
@@ -731,7 +732,7 @@ Collected 12 messages.
|
|
|
731
732
|
|
|
732
733
|
#### `conflict`
|
|
733
734
|
|
|
734
|
-
A record of two contradicting primitives. Blocks promotion until resolved.
|
|
735
|
+
A record of two contradicting primitives. Blocks promotion until resolved. Deprecated: inert meta primitive; memory collision handling is managed by host memory kernels.
|
|
735
736
|
|
|
736
737
|
REQUIRED: `type`, `conflict_id`, `status` (`pending|resolved`), `new_slug`,
|
|
737
738
|
`existing_slug`, `detected_at`.
|
|
@@ -752,7 +753,7 @@ detected_at: 2026-05-16T18:30:00Z
|
|
|
752
753
|
|
|
753
754
|
#### `page`
|
|
754
755
|
|
|
755
|
-
A VFS-native sandboxed custom workspace page.
|
|
756
|
+
A VFS-native sandboxed custom workspace page. Deprecated: inert sandbox primitive with iframe assumptions; superseded by asset and modern UI primitives.
|
|
756
757
|
|
|
757
758
|
REQUIRED: `type`, `slug`, `name`, `sandbox_entry`.
|
|
758
759
|
|
|
@@ -791,7 +792,7 @@ description: "Add vector_embedding field"
|
|
|
791
792
|
|
|
792
793
|
#### `release`
|
|
793
794
|
|
|
794
|
-
An SSSS system schema version release.
|
|
795
|
+
An SSSS system schema version release. Deprecated: inert meta primitive; release tracking is managed by bundle and package manifests.
|
|
795
796
|
|
|
796
797
|
REQUIRED: `type`, `release_id`, `version`, `schema_version`, `summary`, `released_at`.
|
|
797
798
|
|
|
@@ -1869,7 +1870,9 @@ A bundle is a JSON object with three top-level members:
|
|
|
1869
1870
|
```
|
|
1870
1871
|
|
|
1871
1872
|
`files` MUST be sorted by `path` (§16.3 order) so that two exports of the same vault state
|
|
1872
|
-
are identical and content-hashable (§16.3, `provenance.content_hash`).
|
|
1873
|
+
are identical and content-hashable (§16.3, `provenance.content_hash`). The normative JSON Schema
|
|
1874
|
+
(Draft 2020-12) for `.ucw` bundle containers is published in `schemas/bundle.schema.json` and
|
|
1875
|
+
exportable via the CLI command `ssss schema bundle`.
|
|
1873
1876
|
|
|
1874
1877
|
### 16.2 The Manifest
|
|
1875
1878
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gregiteen/ssss-cli",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.2",
|
|
4
4
|
"description": "CLI tools and the reference engine for the Structured Semantic Syntax System",
|
|
5
5
|
"main": "src/engine.mjs",
|
|
6
6
|
"exports": {
|
|
@@ -32,6 +32,8 @@
|
|
|
32
32
|
"./conformance/fixtures.json": "./conformance/fixtures.json",
|
|
33
33
|
"./conformance/reference-bundle.ucw.json": "./conformance/reference-bundle.ucw.json",
|
|
34
34
|
"./registry/core.json": "./registry/core.json",
|
|
35
|
+
"./schema-validator": "./src/schema-validator.mjs",
|
|
36
|
+
"./schemas/*": "./schemas/*",
|
|
35
37
|
"./package.json": "./package.json"
|
|
36
38
|
},
|
|
37
39
|
"bin": {
|
|
@@ -43,6 +45,7 @@
|
|
|
43
45
|
},
|
|
44
46
|
"files": [
|
|
45
47
|
"src",
|
|
48
|
+
"schemas",
|
|
46
49
|
"types",
|
|
47
50
|
"scripts",
|
|
48
51
|
"registry",
|
package/registry/core.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://ssss.dev/registry
|
|
2
|
+
"$schema": "https://ssss.dev/schemas/core-registry.schema.json",
|
|
3
3
|
"registry": "core",
|
|
4
4
|
"spec_version": "0.9",
|
|
5
5
|
"description": "The canonical SSSS core registry and semantic application-kernel contract. Core primitives are qualified as ssss:<name>; applications define namespaced primitives through layered extension registries without copying or redefining core behavior.",
|
|
@@ -87,6 +87,7 @@
|
|
|
87
87
|
"portability": "structural",
|
|
88
88
|
"required_fields": ["type", "name", "permissions"],
|
|
89
89
|
"optional_fields": ["description"],
|
|
90
|
+
"aliases": ["security_role"],
|
|
90
91
|
"notes": "A named set of capabilities used for role-based access control (RBAC). Canonical form of security_role.",
|
|
91
92
|
"spec_ref": "§5.4 role"
|
|
92
93
|
},
|
|
@@ -97,6 +98,8 @@
|
|
|
97
98
|
"portability": "structural",
|
|
98
99
|
"required_fields": ["type", "name", "permissions"],
|
|
99
100
|
"optional_fields": ["description"],
|
|
101
|
+
"aliases": ["role"],
|
|
102
|
+
"notes": "A named set of capabilities used for role-based access control (RBAC). Legacy alias of role.",
|
|
100
103
|
"spec_ref": "§5.4 security_role"
|
|
101
104
|
},
|
|
102
105
|
"task": {
|
|
@@ -149,6 +152,8 @@
|
|
|
149
152
|
"append_only": false,
|
|
150
153
|
"portability": "structural",
|
|
151
154
|
"required_fields": ["type", "model_id", "provider"],
|
|
155
|
+
"deprecated": true,
|
|
156
|
+
"deprecation_notice": "Inert catalog primitive. Modern hosts configure models through provider runtime settings.",
|
|
152
157
|
"spec_ref": "§5.4 model"
|
|
153
158
|
},
|
|
154
159
|
"thread": {
|
|
@@ -158,6 +163,7 @@
|
|
|
158
163
|
"portability": "tenant_private",
|
|
159
164
|
"required_fields": ["type", "thread_id"],
|
|
160
165
|
"optional_fields": ["workspace_id", "user_id", "status", "turn_count", "created_at"],
|
|
166
|
+
"aliases": ["conversation"],
|
|
161
167
|
"notes": "An append-only multi-turn chat transcript. Canonical form of conversation.",
|
|
162
168
|
"spec_ref": "§5.4 thread"
|
|
163
169
|
},
|
|
@@ -167,6 +173,8 @@
|
|
|
167
173
|
"append_only": true,
|
|
168
174
|
"portability": "tenant_private",
|
|
169
175
|
"required_fields": ["type", "thread_id"],
|
|
176
|
+
"aliases": ["thread"],
|
|
177
|
+
"notes": "An append-only multi-turn chat transcript. Legacy alias of thread.",
|
|
170
178
|
"spec_ref": "§5.4 conversation"
|
|
171
179
|
},
|
|
172
180
|
"run": {
|
|
@@ -186,6 +194,8 @@
|
|
|
186
194
|
"portability": "tenant_private",
|
|
187
195
|
"required_fields": ["type", "conflict_id", "status", "new_slug", "existing_slug", "detected_at"],
|
|
188
196
|
"enums": { "status": ["pending", "resolved"] },
|
|
197
|
+
"deprecated": true,
|
|
198
|
+
"deprecation_notice": "Inert meta primitive. Memory collision handling is managed by host memory kernels.",
|
|
189
199
|
"spec_ref": "§5.4 conflict"
|
|
190
200
|
},
|
|
191
201
|
"page": {
|
|
@@ -194,6 +204,8 @@
|
|
|
194
204
|
"append_only": false,
|
|
195
205
|
"portability": "structural",
|
|
196
206
|
"required_fields": ["type", "slug", "name", "sandbox_entry"],
|
|
207
|
+
"deprecated": true,
|
|
208
|
+
"deprecation_notice": "Inert sandbox primitive with iframe assumptions. Superseded by asset and modern UI primitives.",
|
|
197
209
|
"spec_ref": "§5.4 page"
|
|
198
210
|
},
|
|
199
211
|
"migration": {
|
|
@@ -210,6 +222,8 @@
|
|
|
210
222
|
"append_only": false,
|
|
211
223
|
"portability": "structural",
|
|
212
224
|
"required_fields": ["type", "release_id", "version", "schema_version", "summary", "released_at"],
|
|
225
|
+
"deprecated": true,
|
|
226
|
+
"deprecation_notice": "Inert meta primitive. Release tracking is managed by bundle and package manifests.",
|
|
213
227
|
"spec_ref": "§5.4 release"
|
|
214
228
|
},
|
|
215
229
|
"primitive": {
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://ssss.dev/schemas/bundle.schema.json",
|
|
4
|
+
"title": "SSSS Universal Cloud Workspace (.ucw) Bundle Schema",
|
|
5
|
+
"description": "JSON Schema for SSSS transport bundles and manifests (spec §16).",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": [
|
|
8
|
+
"manifest",
|
|
9
|
+
"files"
|
|
10
|
+
],
|
|
11
|
+
"properties": {
|
|
12
|
+
"manifest": {
|
|
13
|
+
"$ref": "#/$defs/bundleManifest"
|
|
14
|
+
},
|
|
15
|
+
"files": {
|
|
16
|
+
"type": "array",
|
|
17
|
+
"items": {
|
|
18
|
+
"$ref": "#/$defs/bundleFile"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"branding": {
|
|
22
|
+
"type": "object"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"$defs": {
|
|
26
|
+
"bundleFile": {
|
|
27
|
+
"type": "object",
|
|
28
|
+
"required": [
|
|
29
|
+
"path",
|
|
30
|
+
"content"
|
|
31
|
+
],
|
|
32
|
+
"properties": {
|
|
33
|
+
"path": {
|
|
34
|
+
"type": "string"
|
|
35
|
+
},
|
|
36
|
+
"content": {
|
|
37
|
+
"type": "string"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"bundleManifest": {
|
|
42
|
+
"type": "object",
|
|
43
|
+
"required": [
|
|
44
|
+
"name",
|
|
45
|
+
"description",
|
|
46
|
+
"version",
|
|
47
|
+
"exported_at",
|
|
48
|
+
"ssss_core_version",
|
|
49
|
+
"required_extensions",
|
|
50
|
+
"export_profile",
|
|
51
|
+
"primitive_inventory",
|
|
52
|
+
"provisioning",
|
|
53
|
+
"file_count",
|
|
54
|
+
"provenance"
|
|
55
|
+
],
|
|
56
|
+
"properties": {
|
|
57
|
+
"name": {
|
|
58
|
+
"type": "string"
|
|
59
|
+
},
|
|
60
|
+
"description": {
|
|
61
|
+
"type": "string"
|
|
62
|
+
},
|
|
63
|
+
"version": {
|
|
64
|
+
"type": "string"
|
|
65
|
+
},
|
|
66
|
+
"exported_at": {
|
|
67
|
+
"type": "string"
|
|
68
|
+
},
|
|
69
|
+
"ssss_core_version": {
|
|
70
|
+
"type": "string"
|
|
71
|
+
},
|
|
72
|
+
"required_extensions": {
|
|
73
|
+
"type": "array",
|
|
74
|
+
"items": {
|
|
75
|
+
"type": "string"
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
"export_profile": {
|
|
79
|
+
"type": "string",
|
|
80
|
+
"enum": ["backup", "template", "sale"]
|
|
81
|
+
},
|
|
82
|
+
"primitive_inventory": {
|
|
83
|
+
"type": "object",
|
|
84
|
+
"additionalProperties": {
|
|
85
|
+
"type": "integer"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"dependencies": {
|
|
89
|
+
"type": "object",
|
|
90
|
+
"properties": {
|
|
91
|
+
"primitives": {
|
|
92
|
+
"type": "array",
|
|
93
|
+
"items": { "type": "string" }
|
|
94
|
+
},
|
|
95
|
+
"extensions": {
|
|
96
|
+
"type": "array",
|
|
97
|
+
"items": { "type": "string" }
|
|
98
|
+
},
|
|
99
|
+
"migrations": {
|
|
100
|
+
"type": "array",
|
|
101
|
+
"items": { "type": "string" }
|
|
102
|
+
},
|
|
103
|
+
"integrity": {
|
|
104
|
+
"type": "object",
|
|
105
|
+
"properties": {
|
|
106
|
+
"content_hash": { "type": "string" },
|
|
107
|
+
"ssss_core_version": { "type": "string" }
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
"bundles": {
|
|
111
|
+
"type": "array",
|
|
112
|
+
"items": {
|
|
113
|
+
"type": "object",
|
|
114
|
+
"properties": {
|
|
115
|
+
"id": { "type": "string" },
|
|
116
|
+
"name": { "type": "string" },
|
|
117
|
+
"version": { "type": "string" },
|
|
118
|
+
"installMode": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"enum": ["optional", "recommended", "required"]
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
"provisioning": {
|
|
128
|
+
"type": "array",
|
|
129
|
+
"items": {
|
|
130
|
+
"$ref": "#/$defs/provisioningStep"
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
"parameters": {
|
|
134
|
+
"type": "array",
|
|
135
|
+
"items": {
|
|
136
|
+
"$ref": "#/$defs/provisioningParameter"
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"file_count": {
|
|
140
|
+
"type": "integer"
|
|
141
|
+
},
|
|
142
|
+
"provenance": {
|
|
143
|
+
"type": "object",
|
|
144
|
+
"required": [
|
|
145
|
+
"content_hash",
|
|
146
|
+
"exporter"
|
|
147
|
+
],
|
|
148
|
+
"properties": {
|
|
149
|
+
"content_hash": {
|
|
150
|
+
"type": "string"
|
|
151
|
+
},
|
|
152
|
+
"exporter": {
|
|
153
|
+
"type": "string"
|
|
154
|
+
},
|
|
155
|
+
"signature": {
|
|
156
|
+
"type": "string"
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
"source_workspace_id": {
|
|
161
|
+
"type": "string"
|
|
162
|
+
},
|
|
163
|
+
"branding": {
|
|
164
|
+
"type": "object"
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"provisioningStep": {
|
|
169
|
+
"type": "object",
|
|
170
|
+
"required": [
|
|
171
|
+
"id",
|
|
172
|
+
"label",
|
|
173
|
+
"system",
|
|
174
|
+
"mode",
|
|
175
|
+
"required"
|
|
176
|
+
],
|
|
177
|
+
"properties": {
|
|
178
|
+
"id": {
|
|
179
|
+
"type": "string"
|
|
180
|
+
},
|
|
181
|
+
"label": {
|
|
182
|
+
"type": "string"
|
|
183
|
+
},
|
|
184
|
+
"system": {
|
|
185
|
+
"type": "string",
|
|
186
|
+
"enum": [
|
|
187
|
+
"workspace",
|
|
188
|
+
"branding",
|
|
189
|
+
"email",
|
|
190
|
+
"phone",
|
|
191
|
+
"domains",
|
|
192
|
+
"accounts",
|
|
193
|
+
"deployments",
|
|
194
|
+
"marketplace",
|
|
195
|
+
"tabs",
|
|
196
|
+
"automation"
|
|
197
|
+
]
|
|
198
|
+
},
|
|
199
|
+
"mode": {
|
|
200
|
+
"type": "string",
|
|
201
|
+
"enum": [
|
|
202
|
+
"existing",
|
|
203
|
+
"provision",
|
|
204
|
+
"install",
|
|
205
|
+
"generate",
|
|
206
|
+
"configure"
|
|
207
|
+
]
|
|
208
|
+
},
|
|
209
|
+
"required": {
|
|
210
|
+
"type": "boolean"
|
|
211
|
+
},
|
|
212
|
+
"notes": {
|
|
213
|
+
"type": "string"
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
"provisioningParameter": {
|
|
218
|
+
"type": "object",
|
|
219
|
+
"required": [
|
|
220
|
+
"key",
|
|
221
|
+
"label",
|
|
222
|
+
"type",
|
|
223
|
+
"scope",
|
|
224
|
+
"source"
|
|
225
|
+
],
|
|
226
|
+
"properties": {
|
|
227
|
+
"key": {
|
|
228
|
+
"type": "string"
|
|
229
|
+
},
|
|
230
|
+
"label": {
|
|
231
|
+
"type": "string"
|
|
232
|
+
},
|
|
233
|
+
"type": {
|
|
234
|
+
"type": "string"
|
|
235
|
+
},
|
|
236
|
+
"scope": {
|
|
237
|
+
"type": "string"
|
|
238
|
+
},
|
|
239
|
+
"source": {
|
|
240
|
+
"type": "string",
|
|
241
|
+
"enum": ["user", "llm", "graph", "system"]
|
|
242
|
+
},
|
|
243
|
+
"required": {
|
|
244
|
+
"type": "boolean"
|
|
245
|
+
},
|
|
246
|
+
"description": {
|
|
247
|
+
"type": "string"
|
|
248
|
+
},
|
|
249
|
+
"defaultValue": {},
|
|
250
|
+
"options": {
|
|
251
|
+
"type": "array"
|
|
252
|
+
},
|
|
253
|
+
"dependsOn": {
|
|
254
|
+
"type": "string"
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|