@fulmenhq/tsfulmen 0.2.0 → 0.2.3
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 +70 -0
- package/README.md +61 -7
- package/config/crucible-ts/agentic/roles/README.md +3 -3
- package/config/crucible-ts/library/fulencode/fixtures/README.md +18 -0
- package/config/crucible-ts/library/fulencode/fixtures/bom/bom.yaml +14 -0
- package/config/crucible-ts/library/fulencode/fixtures/detection/detection.yaml +12 -0
- package/config/crucible-ts/library/fulencode/fixtures/invalid-encodings/base64.yaml +10 -0
- package/config/crucible-ts/library/fulencode/fixtures/normalization/text-safe.yaml +10 -0
- package/config/crucible-ts/library/fulencode/fixtures/telemetry/telemetry-test-cases.yaml +24 -0
- package/config/crucible-ts/library/fulencode/fixtures/valid-encodings/base64.yaml +11 -0
- package/config/crucible-ts/taxonomy/library/platform-modules/v1.0.0/modules.yaml +2 -2
- package/config/crucible-ts/taxonomy/metrics.yaml +79 -1
- package/dist/appidentity/index.d.ts +31 -109
- package/dist/appidentity/index.js +369 -60
- package/dist/appidentity/index.js.map +1 -1
- package/dist/config/index.d.ts +46 -1
- package/dist/config/index.js +427 -62
- package/dist/config/index.js.map +1 -1
- package/dist/crucible/index.js +367 -59
- package/dist/crucible/index.js.map +1 -1
- package/dist/errors/index.d.ts +1 -1
- package/dist/errors/index.js +367 -59
- package/dist/errors/index.js.map +1 -1
- package/dist/foundry/index.d.ts +2 -1
- package/dist/foundry/index.js +368 -60
- package/dist/foundry/index.js.map +1 -1
- package/dist/fulencode/index.d.ts +102 -0
- package/dist/fulencode/index.js +806 -0
- package/dist/fulencode/index.js.map +1 -0
- package/dist/index.d.ts +4 -3
- package/dist/index.js +370 -61
- package/dist/index.js.map +1 -1
- package/dist/pathfinder/index.d.ts +1 -1
- package/dist/pathfinder/index.js +367 -59
- package/dist/pathfinder/index.js.map +1 -1
- package/dist/reports/license-inventory.csv +31 -24
- package/dist/schema/index.d.ts +16 -3
- package/dist/schema/index.js +368 -60
- package/dist/schema/index.js.map +1 -1
- package/dist/signals/index.d.ts +483 -395
- package/dist/signals/index.js +368 -60
- package/dist/signals/index.js.map +1 -1
- package/dist/telemetry/http/index.js +368 -59
- package/dist/telemetry/http/index.js.map +1 -1
- package/dist/telemetry/index.d.ts +1 -1
- package/dist/telemetry/index.js +367 -59
- package/dist/telemetry/index.js.map +1 -1
- package/dist/telemetry/prometheus/index.d.ts +1 -1
- package/dist/telemetry/prometheus/index.js +369 -59
- package/dist/telemetry/prometheus/index.js.map +1 -1
- package/dist/{types-BJswWpQC.d.ts → types-DdoeE7F5.d.ts} +1 -1
- package/dist/types-Dv5TERCM.d.ts +108 -0
- package/package.json +13 -8
- package/schemas/crucible-ts/library/fulencode/v1.0.0/README.md +37 -0
- package/schemas/crucible-ts/library/fulencode/v1.0.0/bom-result.schema.json +48 -0
- package/schemas/crucible-ts/library/fulencode/v1.0.0/decode-options.schema.json +60 -0
- package/schemas/crucible-ts/library/fulencode/v1.0.0/decoding-result.schema.json +70 -0
- package/schemas/crucible-ts/library/fulencode/v1.0.0/detect-options.schema.json +25 -0
- package/schemas/crucible-ts/library/fulencode/v1.0.0/detection-result.schema.json +57 -0
- package/schemas/crucible-ts/library/fulencode/v1.0.0/encode-options.schema.json +71 -0
- package/schemas/crucible-ts/library/fulencode/v1.0.0/encoding-result.schema.json +57 -0
- package/schemas/crucible-ts/library/fulencode/v1.0.0/fulencode-config.schema.json +8 -4
- package/schemas/crucible-ts/library/fulencode/v1.0.0/fulencode-error.schema.json +66 -0
- package/schemas/crucible-ts/library/fulencode/v1.0.0/normalization-result.schema.json +73 -0
- package/schemas/crucible-ts/library/fulencode/v1.0.0/normalize-options.schema.json +44 -0
- package/schemas/crucible-ts/meta/README.md +38 -2
- package/schemas/crucible-ts/meta/draft-04/schema.json +222 -0
- package/schemas/crucible-ts/meta/draft-06/schema.json +218 -0
- package/schemas/crucible-ts/meta/draft-2019-09/meta/applicator.json +93 -0
- package/schemas/crucible-ts/meta/draft-2019-09/meta/content.json +21 -0
- package/schemas/crucible-ts/meta/draft-2019-09/meta/core.json +58 -0
- package/schemas/crucible-ts/meta/draft-2019-09/meta/format.json +15 -0
- package/schemas/crucible-ts/meta/draft-2019-09/meta/meta-data.json +35 -0
- package/schemas/crucible-ts/meta/draft-2019-09/meta/validation.json +119 -0
- package/schemas/crucible-ts/meta/draft-2019-09/offline.schema.json +148 -0
- package/schemas/crucible-ts/meta/draft-2019-09/schema.json +62 -0
- package/schemas/crucible-ts/meta/fixtures/draft-04-sample.json +16 -0
- package/schemas/crucible-ts/meta/fixtures/draft-06-sample.json +16 -0
- package/schemas/crucible-ts/meta/fixtures/draft-07-sample.json +34 -0
- package/schemas/crucible-ts/meta/fixtures/draft-2019-09-sample.json +21 -0
- package/schemas/crucible-ts/meta/fixtures/draft-2020-12-sample.json +21 -0
- package/schemas/crucible-ts/taxonomy/library/fulencode/normalization-profiles/v1.0.0/profiles.yaml +16 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/PROVENANCE.md +64 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/config/classifiers/dimensions/access-tier.dimension.json +103 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/config/classifiers/dimensions/retention-lifecycle.dimension.json +103 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/config/classifiers/dimensions/schema-stability.dimension.json +100 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/config/classifiers/dimensions/sensitivity.dimension.json +130 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/config/classifiers/dimensions/velocity-mode.dimension.json +79 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/config/classifiers/dimensions/volatility.dimension.json +72 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/config/classifiers/dimensions/volume-tier.dimension.json +66 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/docs/catalog/classifiers/README.md +29 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/docs/standards/access-tier-classification.md +163 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/docs/standards/classifiers-framework.md +157 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/docs/standards/data-sensitivity-classification.md +259 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/docs/standards/retention-lifecycle-classification.md +200 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/docs/standards/schema-stability-classification.md +205 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/docs/standards/velocity-mode-classification.md +222 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/docs/standards/volatility-classification.md +209 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/docs/standards/volume-tier-classification.md +200 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/schemas/ailink/v0/README.md +48 -0
- package/schemas/crucible-ts/upstream/3leaps/{ailink → crucible/schemas/ailink}/v0/prompt.schema.json +4 -18
- package/schemas/crucible-ts/upstream/3leaps/{ailink → crucible/schemas/ailink}/v0/search-response.schema.json +7 -37
- package/schemas/crucible-ts/upstream/3leaps/crucible/schemas/classifiers/v0/dimension-definition.schema.json +247 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/schemas/classifiers/v0/sensitivity-level.schema.json +67 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/schemas/foundation/v0/error-response.schema.json +59 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/schemas/foundation/v0/lifecycle-phases.data.json +102 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/schemas/foundation/v0/lifecycle-phases.schema.json +101 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/schemas/foundation/v0/release-phase.schema.json +18 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/schemas/foundation/v0/types.schema.json +177 -0
- package/schemas/crucible-ts/upstream/3leaps/PROVENANCE.md +0 -43
- /package/schemas/crucible-ts/upstream/3leaps/{agentic → crucible/schemas/agentic}/v0/role-prompt.schema.json +0 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.fulmenhq.dev/crucible/library/fulencode/v1.0.0/fulencode-error.schema.json",
|
|
4
|
+
"title": "Fulencode Error",
|
|
5
|
+
"description": "Canonical error envelope for Fulencode operations",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"code": {
|
|
9
|
+
"type": "string"
|
|
10
|
+
},
|
|
11
|
+
"message": {
|
|
12
|
+
"type": "string"
|
|
13
|
+
},
|
|
14
|
+
"operation": {
|
|
15
|
+
"type": "string"
|
|
16
|
+
},
|
|
17
|
+
"input_format": {
|
|
18
|
+
"type": "string"
|
|
19
|
+
},
|
|
20
|
+
"output_format": {
|
|
21
|
+
"type": "string"
|
|
22
|
+
},
|
|
23
|
+
"details": {
|
|
24
|
+
"type": "object",
|
|
25
|
+
"properties": {
|
|
26
|
+
"byte_offset": {
|
|
27
|
+
"type": "integer",
|
|
28
|
+
"minimum": 0
|
|
29
|
+
},
|
|
30
|
+
"codepoint_offset": {
|
|
31
|
+
"type": "integer",
|
|
32
|
+
"minimum": 0
|
|
33
|
+
},
|
|
34
|
+
"detected_encoding": {
|
|
35
|
+
"type": "string"
|
|
36
|
+
},
|
|
37
|
+
"confidence": {
|
|
38
|
+
"type": "number",
|
|
39
|
+
"minimum": 0.0,
|
|
40
|
+
"maximum": 1.0
|
|
41
|
+
},
|
|
42
|
+
"invalid_bytes": {
|
|
43
|
+
"type": "array",
|
|
44
|
+
"items": {
|
|
45
|
+
"type": "integer",
|
|
46
|
+
"minimum": 0,
|
|
47
|
+
"maximum": 255
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"expected": {
|
|
51
|
+
"type": "string"
|
|
52
|
+
},
|
|
53
|
+
"actual": {
|
|
54
|
+
"type": "string"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"additionalProperties": true
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"required": [
|
|
61
|
+
"code",
|
|
62
|
+
"message",
|
|
63
|
+
"operation"
|
|
64
|
+
],
|
|
65
|
+
"additionalProperties": false
|
|
66
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.fulmenhq.dev/crucible/library/fulencode/v1.0.0/normalization-result.schema.json",
|
|
4
|
+
"title": "Fulencode Normalization Result",
|
|
5
|
+
"description": "Result payload for fulencode normalize()",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"text": {
|
|
9
|
+
"type": "string"
|
|
10
|
+
},
|
|
11
|
+
"profile": {
|
|
12
|
+
"type": "string"
|
|
13
|
+
},
|
|
14
|
+
"input_length": {
|
|
15
|
+
"type": "integer",
|
|
16
|
+
"minimum": 0
|
|
17
|
+
},
|
|
18
|
+
"output_length": {
|
|
19
|
+
"type": "integer",
|
|
20
|
+
"minimum": 0
|
|
21
|
+
},
|
|
22
|
+
"transformations_applied": {
|
|
23
|
+
"type": "array",
|
|
24
|
+
"items": {
|
|
25
|
+
"type": "string"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"semantic_changes": {
|
|
29
|
+
"type": "array",
|
|
30
|
+
"items": {
|
|
31
|
+
"type": "object",
|
|
32
|
+
"properties": {
|
|
33
|
+
"position": {
|
|
34
|
+
"type": "integer",
|
|
35
|
+
"minimum": 0
|
|
36
|
+
},
|
|
37
|
+
"original": {
|
|
38
|
+
"type": "string"
|
|
39
|
+
},
|
|
40
|
+
"normalized": {
|
|
41
|
+
"type": "string"
|
|
42
|
+
},
|
|
43
|
+
"reason": {
|
|
44
|
+
"type": "string"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"required": [
|
|
48
|
+
"position",
|
|
49
|
+
"original",
|
|
50
|
+
"normalized",
|
|
51
|
+
"reason"
|
|
52
|
+
],
|
|
53
|
+
"additionalProperties": false
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"warnings": {
|
|
57
|
+
"type": "array",
|
|
58
|
+
"items": {
|
|
59
|
+
"type": "string"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"required": [
|
|
64
|
+
"text",
|
|
65
|
+
"profile",
|
|
66
|
+
"input_length",
|
|
67
|
+
"output_length",
|
|
68
|
+
"transformations_applied",
|
|
69
|
+
"semantic_changes",
|
|
70
|
+
"warnings"
|
|
71
|
+
],
|
|
72
|
+
"additionalProperties": false
|
|
73
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.fulmenhq.dev/crucible/library/fulencode/v1.0.0/normalize-options.schema.json",
|
|
4
|
+
"title": "Fulencode Normalize Options",
|
|
5
|
+
"description": "Options for fulencode normalize() operation",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"warn_semantic_change": {
|
|
9
|
+
"type": "boolean",
|
|
10
|
+
"description": "Warn when normalization performs semantic-changing transforms (NFKC/NFKD)."
|
|
11
|
+
},
|
|
12
|
+
"reject_zero_width": {
|
|
13
|
+
"type": "boolean",
|
|
14
|
+
"description": "Reject zero-width characters when true."
|
|
15
|
+
},
|
|
16
|
+
"reject_bidi_controls": {
|
|
17
|
+
"type": "boolean",
|
|
18
|
+
"description": "Reject bidi control characters (override/isolate) when true."
|
|
19
|
+
},
|
|
20
|
+
"max_combining_marks": {
|
|
21
|
+
"type": "integer",
|
|
22
|
+
"description": "Maximum combining marks per base character.",
|
|
23
|
+
"minimum": 1,
|
|
24
|
+
"maximum": 100
|
|
25
|
+
},
|
|
26
|
+
"strip_accents": {
|
|
27
|
+
"type": "boolean",
|
|
28
|
+
"description": "Remove combining marks/diacritics when true."
|
|
29
|
+
},
|
|
30
|
+
"case_fold": {
|
|
31
|
+
"type": "boolean",
|
|
32
|
+
"description": "Apply Unicode case folding when true."
|
|
33
|
+
},
|
|
34
|
+
"remove_punctuation": {
|
|
35
|
+
"type": "boolean",
|
|
36
|
+
"description": "Remove punctuation and symbol categories when true."
|
|
37
|
+
},
|
|
38
|
+
"compress_whitespace": {
|
|
39
|
+
"type": "boolean",
|
|
40
|
+
"description": "Collapse consecutive whitespace to a single space when true."
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"additionalProperties": false
|
|
44
|
+
}
|
|
@@ -2,15 +2,47 @@
|
|
|
2
2
|
|
|
3
3
|
This directory stores the curated JSON Schema meta-schemas that FulmenHQ tools need for
|
|
4
4
|
offline validation. Directory names mirror the signature tags defined in
|
|
5
|
-
schema signatures (e.g., `draft-07`, `draft-2020-12`) so downstream automation can reason about available drafts.
|
|
5
|
+
schema signatures (e.g., `draft-04`, `draft-06`, `draft-07`, `draft-2019-09`, `draft-2020-12`) so downstream automation can reason about available drafts.
|
|
6
6
|
|
|
7
7
|
## Contents
|
|
8
8
|
|
|
9
|
+
- `draft-04/` – canonical Draft-04 meta-schema (`schema.json`).
|
|
10
|
+
- Single-file, self-contained meta-schema.
|
|
11
|
+
- Uses `id` instead of `$id` (pre-Draft-06 convention).
|
|
12
|
+
- Common in SchemaStore and legacy tooling.
|
|
13
|
+
|
|
14
|
+
- `draft-06/` – canonical Draft-06 meta-schema (`schema.json`).
|
|
15
|
+
- Single-file, self-contained meta-schema.
|
|
16
|
+
- Introduced `$id`, `const`, `contains`, `propertyNames`.
|
|
17
|
+
- Boolean schemas allowed (`true`/`false` as schemas).
|
|
18
|
+
|
|
9
19
|
- `draft-07/` – canonical Draft-07 meta-schema (`schema.json`).
|
|
20
|
+
- Single-file, self-contained meta-schema.
|
|
21
|
+
- Added `if`/`then`/`else`, `readOnly`, `writeOnly`, `$comment`.
|
|
22
|
+
|
|
23
|
+
- `draft-2019-09/` – canonical Draft 2019-09 meta-schema plus offline helpers.
|
|
24
|
+
- `schema.json` – raw meta-schema with `$ref` to modular vocabularies.
|
|
25
|
+
- `offline.schema.json` – reduced subset for offline validation (no external refs).
|
|
26
|
+
- `meta/` – modular vocabularies (`core.json`, `validation.json`, `applicator.json`, etc.).
|
|
27
|
+
- Uses `$recursiveAnchor`/`$recursiveRef` (replaced by `$dynamicAnchor` in 2020-12).
|
|
28
|
+
- Introduced `$vocabulary`, `$anchor`, `unevaluatedProperties`, `unevaluatedItems`.
|
|
29
|
+
|
|
10
30
|
- `draft-2020-12/` – canonical Draft 2020-12 meta-schema plus offline helpers.
|
|
11
31
|
- `schema.json` – raw meta-schema fetched from json-schema.org.
|
|
12
32
|
- `offline.schema.json` – reduced subset used when offline validation is needed.
|
|
13
|
-
- `meta/` –
|
|
33
|
+
- `meta/` – modular vocabularies (`core.json`, `validation.json`, `applicator.json`, etc.).
|
|
34
|
+
- Uses `$dynamicAnchor`/`$dynamicRef` (replacing recursive anchor from 2019-09).
|
|
35
|
+
- Recommended default for new schemas.
|
|
36
|
+
|
|
37
|
+
## Draft Selection Guidance
|
|
38
|
+
|
|
39
|
+
| Draft | When to Use |
|
|
40
|
+
| ------------- | --------------------------------------------------------------- |
|
|
41
|
+
| Draft-04 | Legacy schema compatibility (SchemaStore, older tools) |
|
|
42
|
+
| Draft-06 | Transitional schemas needing `const` but not `if`/`then`/`else` |
|
|
43
|
+
| Draft-07 | Stable choice with conditional keywords, wide tool support |
|
|
44
|
+
| Draft 2019-09 | Advanced features without 2020-12's dynamic refs |
|
|
45
|
+
| Draft 2020-12 | **Recommended** for new schemas, latest features |
|
|
14
46
|
|
|
15
47
|
## Refresh Workflow
|
|
16
48
|
|
|
@@ -21,3 +53,7 @@ Meta-schemas are treated as curated assets. Refresh them from upstream when netw
|
|
|
21
53
|
## Offline Subset
|
|
22
54
|
|
|
23
55
|
`draft-2020-12/offline.schema.json` is a minimal schema that covers the portions of the spec needed for validation. It avoids `$ref` chains to `meta/*` so the validator can operate without network access. Keep it in sync with upstream changes as needed.
|
|
56
|
+
|
|
57
|
+
## Fixtures
|
|
58
|
+
|
|
59
|
+
`fixtures/` contains minimal sample schemas for each draft. These are intended for cross-language parity tests and for validating that the embedded meta-schemas load correctly.
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "http://json-schema.org/draft-04/schema#",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
4
|
+
"description": "Core schema meta-schema",
|
|
5
|
+
"definitions": {
|
|
6
|
+
"schemaArray": {
|
|
7
|
+
"type": "array",
|
|
8
|
+
"minItems": 1,
|
|
9
|
+
"items": {
|
|
10
|
+
"$ref": "#"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"positiveInteger": {
|
|
14
|
+
"type": "integer",
|
|
15
|
+
"minimum": 0
|
|
16
|
+
},
|
|
17
|
+
"positiveIntegerDefault0": {
|
|
18
|
+
"allOf": [
|
|
19
|
+
{
|
|
20
|
+
"$ref": "#/definitions/positiveInteger"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"default": 0
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
"simpleTypes": {
|
|
28
|
+
"enum": [
|
|
29
|
+
"array",
|
|
30
|
+
"boolean",
|
|
31
|
+
"integer",
|
|
32
|
+
"null",
|
|
33
|
+
"number",
|
|
34
|
+
"object",
|
|
35
|
+
"string"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"stringArray": {
|
|
39
|
+
"type": "array",
|
|
40
|
+
"items": {
|
|
41
|
+
"type": "string"
|
|
42
|
+
},
|
|
43
|
+
"minItems": 1,
|
|
44
|
+
"uniqueItems": true
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"type": "object",
|
|
48
|
+
"properties": {
|
|
49
|
+
"id": {
|
|
50
|
+
"type": "string"
|
|
51
|
+
},
|
|
52
|
+
"$schema": {
|
|
53
|
+
"type": "string"
|
|
54
|
+
},
|
|
55
|
+
"title": {
|
|
56
|
+
"type": "string"
|
|
57
|
+
},
|
|
58
|
+
"description": {
|
|
59
|
+
"type": "string"
|
|
60
|
+
},
|
|
61
|
+
"default": {},
|
|
62
|
+
"multipleOf": {
|
|
63
|
+
"type": "number",
|
|
64
|
+
"minimum": 0,
|
|
65
|
+
"exclusiveMinimum": true
|
|
66
|
+
},
|
|
67
|
+
"maximum": {
|
|
68
|
+
"type": "number"
|
|
69
|
+
},
|
|
70
|
+
"exclusiveMaximum": {
|
|
71
|
+
"type": "boolean",
|
|
72
|
+
"default": false
|
|
73
|
+
},
|
|
74
|
+
"minimum": {
|
|
75
|
+
"type": "number"
|
|
76
|
+
},
|
|
77
|
+
"exclusiveMinimum": {
|
|
78
|
+
"type": "boolean",
|
|
79
|
+
"default": false
|
|
80
|
+
},
|
|
81
|
+
"maxLength": {
|
|
82
|
+
"$ref": "#/definitions/positiveInteger"
|
|
83
|
+
},
|
|
84
|
+
"minLength": {
|
|
85
|
+
"$ref": "#/definitions/positiveIntegerDefault0"
|
|
86
|
+
},
|
|
87
|
+
"pattern": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"format": "regex"
|
|
90
|
+
},
|
|
91
|
+
"additionalItems": {
|
|
92
|
+
"anyOf": [
|
|
93
|
+
{
|
|
94
|
+
"type": "boolean"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"$ref": "#"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"default": {}
|
|
101
|
+
},
|
|
102
|
+
"items": {
|
|
103
|
+
"anyOf": [
|
|
104
|
+
{
|
|
105
|
+
"$ref": "#"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"$ref": "#/definitions/schemaArray"
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
"default": {}
|
|
112
|
+
},
|
|
113
|
+
"maxItems": {
|
|
114
|
+
"$ref": "#/definitions/positiveInteger"
|
|
115
|
+
},
|
|
116
|
+
"minItems": {
|
|
117
|
+
"$ref": "#/definitions/positiveIntegerDefault0"
|
|
118
|
+
},
|
|
119
|
+
"uniqueItems": {
|
|
120
|
+
"type": "boolean",
|
|
121
|
+
"default": false
|
|
122
|
+
},
|
|
123
|
+
"maxProperties": {
|
|
124
|
+
"$ref": "#/definitions/positiveInteger"
|
|
125
|
+
},
|
|
126
|
+
"minProperties": {
|
|
127
|
+
"$ref": "#/definitions/positiveIntegerDefault0"
|
|
128
|
+
},
|
|
129
|
+
"required": {
|
|
130
|
+
"$ref": "#/definitions/stringArray"
|
|
131
|
+
},
|
|
132
|
+
"additionalProperties": {
|
|
133
|
+
"anyOf": [
|
|
134
|
+
{
|
|
135
|
+
"type": "boolean"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"$ref": "#"
|
|
139
|
+
}
|
|
140
|
+
],
|
|
141
|
+
"default": {}
|
|
142
|
+
},
|
|
143
|
+
"definitions": {
|
|
144
|
+
"type": "object",
|
|
145
|
+
"additionalProperties": {
|
|
146
|
+
"$ref": "#"
|
|
147
|
+
},
|
|
148
|
+
"default": {}
|
|
149
|
+
},
|
|
150
|
+
"properties": {
|
|
151
|
+
"type": "object",
|
|
152
|
+
"additionalProperties": {
|
|
153
|
+
"$ref": "#"
|
|
154
|
+
},
|
|
155
|
+
"default": {}
|
|
156
|
+
},
|
|
157
|
+
"patternProperties": {
|
|
158
|
+
"type": "object",
|
|
159
|
+
"additionalProperties": {
|
|
160
|
+
"$ref": "#"
|
|
161
|
+
},
|
|
162
|
+
"default": {}
|
|
163
|
+
},
|
|
164
|
+
"dependencies": {
|
|
165
|
+
"type": "object",
|
|
166
|
+
"additionalProperties": {
|
|
167
|
+
"anyOf": [
|
|
168
|
+
{
|
|
169
|
+
"$ref": "#"
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"$ref": "#/definitions/stringArray"
|
|
173
|
+
}
|
|
174
|
+
]
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
"enum": {
|
|
178
|
+
"type": "array",
|
|
179
|
+
"minItems": 1,
|
|
180
|
+
"uniqueItems": true
|
|
181
|
+
},
|
|
182
|
+
"type": {
|
|
183
|
+
"anyOf": [
|
|
184
|
+
{
|
|
185
|
+
"$ref": "#/definitions/simpleTypes"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"type": "array",
|
|
189
|
+
"items": {
|
|
190
|
+
"$ref": "#/definitions/simpleTypes"
|
|
191
|
+
},
|
|
192
|
+
"minItems": 1,
|
|
193
|
+
"uniqueItems": true
|
|
194
|
+
}
|
|
195
|
+
]
|
|
196
|
+
},
|
|
197
|
+
"format": {
|
|
198
|
+
"type": "string"
|
|
199
|
+
},
|
|
200
|
+
"allOf": {
|
|
201
|
+
"$ref": "#/definitions/schemaArray"
|
|
202
|
+
},
|
|
203
|
+
"anyOf": {
|
|
204
|
+
"$ref": "#/definitions/schemaArray"
|
|
205
|
+
},
|
|
206
|
+
"oneOf": {
|
|
207
|
+
"$ref": "#/definitions/schemaArray"
|
|
208
|
+
},
|
|
209
|
+
"not": {
|
|
210
|
+
"$ref": "#"
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
"dependencies": {
|
|
214
|
+
"exclusiveMaximum": [
|
|
215
|
+
"maximum"
|
|
216
|
+
],
|
|
217
|
+
"exclusiveMinimum": [
|
|
218
|
+
"minimum"
|
|
219
|
+
]
|
|
220
|
+
},
|
|
221
|
+
"default": {}
|
|
222
|
+
}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-06/schema#",
|
|
3
|
+
"$id": "http://json-schema.org/draft-06/schema#",
|
|
4
|
+
"title": "Core schema meta-schema",
|
|
5
|
+
"definitions": {
|
|
6
|
+
"schemaArray": {
|
|
7
|
+
"type": "array",
|
|
8
|
+
"minItems": 1,
|
|
9
|
+
"items": {
|
|
10
|
+
"$ref": "#"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"nonNegativeInteger": {
|
|
14
|
+
"type": "integer",
|
|
15
|
+
"minimum": 0
|
|
16
|
+
},
|
|
17
|
+
"nonNegativeIntegerDefault0": {
|
|
18
|
+
"allOf": [
|
|
19
|
+
{
|
|
20
|
+
"$ref": "#/definitions/nonNegativeInteger"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"default": 0
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
"simpleTypes": {
|
|
28
|
+
"enum": [
|
|
29
|
+
"array",
|
|
30
|
+
"boolean",
|
|
31
|
+
"integer",
|
|
32
|
+
"null",
|
|
33
|
+
"number",
|
|
34
|
+
"object",
|
|
35
|
+
"string"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"stringArray": {
|
|
39
|
+
"type": "array",
|
|
40
|
+
"items": {
|
|
41
|
+
"type": "string"
|
|
42
|
+
},
|
|
43
|
+
"uniqueItems": true,
|
|
44
|
+
"default": []
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"type": [
|
|
48
|
+
"object",
|
|
49
|
+
"boolean"
|
|
50
|
+
],
|
|
51
|
+
"properties": {
|
|
52
|
+
"$id": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"format": "uri-reference"
|
|
55
|
+
},
|
|
56
|
+
"$schema": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"format": "uri"
|
|
59
|
+
},
|
|
60
|
+
"$ref": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"format": "uri-reference"
|
|
63
|
+
},
|
|
64
|
+
"title": {
|
|
65
|
+
"type": "string"
|
|
66
|
+
},
|
|
67
|
+
"description": {
|
|
68
|
+
"type": "string"
|
|
69
|
+
},
|
|
70
|
+
"default": {},
|
|
71
|
+
"examples": {
|
|
72
|
+
"type": "array",
|
|
73
|
+
"items": {}
|
|
74
|
+
},
|
|
75
|
+
"multipleOf": {
|
|
76
|
+
"type": "number",
|
|
77
|
+
"exclusiveMinimum": 0
|
|
78
|
+
},
|
|
79
|
+
"maximum": {
|
|
80
|
+
"type": "number"
|
|
81
|
+
},
|
|
82
|
+
"exclusiveMaximum": {
|
|
83
|
+
"type": "number"
|
|
84
|
+
},
|
|
85
|
+
"minimum": {
|
|
86
|
+
"type": "number"
|
|
87
|
+
},
|
|
88
|
+
"exclusiveMinimum": {
|
|
89
|
+
"type": "number"
|
|
90
|
+
},
|
|
91
|
+
"maxLength": {
|
|
92
|
+
"$ref": "#/definitions/nonNegativeInteger"
|
|
93
|
+
},
|
|
94
|
+
"minLength": {
|
|
95
|
+
"$ref": "#/definitions/nonNegativeIntegerDefault0"
|
|
96
|
+
},
|
|
97
|
+
"pattern": {
|
|
98
|
+
"type": "string",
|
|
99
|
+
"format": "regex"
|
|
100
|
+
},
|
|
101
|
+
"additionalItems": {
|
|
102
|
+
"$ref": "#"
|
|
103
|
+
},
|
|
104
|
+
"items": {
|
|
105
|
+
"anyOf": [
|
|
106
|
+
{
|
|
107
|
+
"$ref": "#"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"$ref": "#/definitions/schemaArray"
|
|
111
|
+
}
|
|
112
|
+
],
|
|
113
|
+
"default": {}
|
|
114
|
+
},
|
|
115
|
+
"maxItems": {
|
|
116
|
+
"$ref": "#/definitions/nonNegativeInteger"
|
|
117
|
+
},
|
|
118
|
+
"minItems": {
|
|
119
|
+
"$ref": "#/definitions/nonNegativeIntegerDefault0"
|
|
120
|
+
},
|
|
121
|
+
"uniqueItems": {
|
|
122
|
+
"type": "boolean",
|
|
123
|
+
"default": false
|
|
124
|
+
},
|
|
125
|
+
"contains": {
|
|
126
|
+
"$ref": "#"
|
|
127
|
+
},
|
|
128
|
+
"maxProperties": {
|
|
129
|
+
"$ref": "#/definitions/nonNegativeInteger"
|
|
130
|
+
},
|
|
131
|
+
"minProperties": {
|
|
132
|
+
"$ref": "#/definitions/nonNegativeIntegerDefault0"
|
|
133
|
+
},
|
|
134
|
+
"required": {
|
|
135
|
+
"$ref": "#/definitions/stringArray"
|
|
136
|
+
},
|
|
137
|
+
"additionalProperties": {
|
|
138
|
+
"$ref": "#"
|
|
139
|
+
},
|
|
140
|
+
"definitions": {
|
|
141
|
+
"type": "object",
|
|
142
|
+
"additionalProperties": {
|
|
143
|
+
"$ref": "#"
|
|
144
|
+
},
|
|
145
|
+
"default": {}
|
|
146
|
+
},
|
|
147
|
+
"properties": {
|
|
148
|
+
"type": "object",
|
|
149
|
+
"additionalProperties": {
|
|
150
|
+
"$ref": "#"
|
|
151
|
+
},
|
|
152
|
+
"default": {}
|
|
153
|
+
},
|
|
154
|
+
"patternProperties": {
|
|
155
|
+
"type": "object",
|
|
156
|
+
"additionalProperties": {
|
|
157
|
+
"$ref": "#"
|
|
158
|
+
},
|
|
159
|
+
"propertyNames": {
|
|
160
|
+
"format": "regex"
|
|
161
|
+
},
|
|
162
|
+
"default": {}
|
|
163
|
+
},
|
|
164
|
+
"dependencies": {
|
|
165
|
+
"type": "object",
|
|
166
|
+
"additionalProperties": {
|
|
167
|
+
"anyOf": [
|
|
168
|
+
{
|
|
169
|
+
"$ref": "#"
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"$ref": "#/definitions/stringArray"
|
|
173
|
+
}
|
|
174
|
+
]
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
"propertyNames": {
|
|
178
|
+
"$ref": "#"
|
|
179
|
+
},
|
|
180
|
+
"const": {},
|
|
181
|
+
"enum": {
|
|
182
|
+
"type": "array",
|
|
183
|
+
"minItems": 1,
|
|
184
|
+
"uniqueItems": true
|
|
185
|
+
},
|
|
186
|
+
"type": {
|
|
187
|
+
"anyOf": [
|
|
188
|
+
{
|
|
189
|
+
"$ref": "#/definitions/simpleTypes"
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"type": "array",
|
|
193
|
+
"items": {
|
|
194
|
+
"$ref": "#/definitions/simpleTypes"
|
|
195
|
+
},
|
|
196
|
+
"minItems": 1,
|
|
197
|
+
"uniqueItems": true
|
|
198
|
+
}
|
|
199
|
+
]
|
|
200
|
+
},
|
|
201
|
+
"format": {
|
|
202
|
+
"type": "string"
|
|
203
|
+
},
|
|
204
|
+
"allOf": {
|
|
205
|
+
"$ref": "#/definitions/schemaArray"
|
|
206
|
+
},
|
|
207
|
+
"anyOf": {
|
|
208
|
+
"$ref": "#/definitions/schemaArray"
|
|
209
|
+
},
|
|
210
|
+
"oneOf": {
|
|
211
|
+
"$ref": "#/definitions/schemaArray"
|
|
212
|
+
},
|
|
213
|
+
"not": {
|
|
214
|
+
"$ref": "#"
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
"default": {}
|
|
218
|
+
}
|