@gluecharm-lab/easyspecs-cli 0.0.12 → 0.0.14

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gluecharm-lab/easyspecs-cli",
3
- "version": "0.0.12",
4
- "description": "EasySpecs headless CLI (run synthesis, analysis, diagnose, upload, auth, ACE)",
3
+ "version": "0.0.14",
4
+ "description": "EasySpecs headless CLI (synthesis, analysis, diagnose, download/upload context, auth, ACE)",
5
5
  "license": "Elastic-2.0",
6
6
  "homepage": "https://easyspecs.ai/",
7
7
  "publishConfig": {
@@ -0,0 +1,89 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://easyspecs.ai/schemas/srs-46.config-fragment.v1.json",
4
+ "title": "SRS-46 — `.easyspecs/config.json` merged document (easyspecs.analysis + easyspecs.upload)",
5
+ "description": "Validates the merged EasySpecs config after defaults are applied. Unknown keys remain allowed under `easyspecs`, `easyspecs.analysis`, and `easyspecs.upload` (SRS-46 R24). Implementations SHOULD enable `format: date-time` validation (e.g. AJV + ajv-formats).",
6
+ "type": "object",
7
+ "additionalProperties": true,
8
+ "properties": {
9
+ "schemaVersion": {
10
+ "type": "integer",
11
+ "minimum": 1
12
+ },
13
+ "easyspecs": {
14
+ "type": "object",
15
+ "additionalProperties": true,
16
+ "required": ["analysis", "upload"],
17
+ "properties": {
18
+ "analysis": {
19
+ "$ref": "#/$defs/srs46Analysis"
20
+ },
21
+ "upload": {
22
+ "$ref": "#/$defs/srs46Upload"
23
+ }
24
+ }
25
+ }
26
+ },
27
+ "required": ["easyspecs"],
28
+ "$defs": {
29
+ "srs46Analysis": {
30
+ "type": "object",
31
+ "additionalProperties": true,
32
+ "required": ["cloudContextAnalyzed", "cloudContextAnalyzedAt"],
33
+ "properties": {
34
+ "cloudContextAnalyzed": {
35
+ "type": "boolean",
36
+ "description": "Cached: application context treated as analyzed in EasySpecs cloud (SRS-46 R13)."
37
+ },
38
+ "cloudContextAnalyzedAt": {
39
+ "description": "RFC 3339 instant when `cloudContextAnalyzed` was last set from an authoritative status read; null at init (SRS-46 R13, R14).",
40
+ "oneOf": [
41
+ { "type": "null" },
42
+ { "type": "string", "format": "date-time", "minLength": 1 }
43
+ ]
44
+ }
45
+ },
46
+ "allOf": [
47
+ {
48
+ "if": {
49
+ "properties": {
50
+ "cloudContextAnalyzed": { "const": true }
51
+ },
52
+ "required": ["cloudContextAnalyzed"]
53
+ },
54
+ "then": {
55
+ "properties": {
56
+ "cloudContextAnalyzedAt": {
57
+ "type": "string",
58
+ "format": "date-time",
59
+ "minLength": 1
60
+ }
61
+ },
62
+ "required": ["cloudContextAnalyzedAt"]
63
+ }
64
+ }
65
+ ]
66
+ },
67
+ "srs46Upload": {
68
+ "type": "object",
69
+ "additionalProperties": true,
70
+ "required": ["fetchContextAnalyzedInCloud"],
71
+ "properties": {
72
+ "contextDirectory": {
73
+ "type": "string",
74
+ "description": "Existing SRS-43 / upload path; optional for SRS-46 validation when present."
75
+ },
76
+ "fetchContextAnalyzedInCloud": {
77
+ "type": "boolean",
78
+ "default": true,
79
+ "description": "When true, upload commands fetch live cloud analysis status (SRS-46 R9)."
80
+ },
81
+ "contextAnalyzedStatusTimeoutMs": {
82
+ "type": "integer",
83
+ "minimum": 1,
84
+ "description": "Optional timeout for cloud status request in milliseconds (SRS-46 R10). Omit to use built-in default."
85
+ }
86
+ }
87
+ }
88
+ }
89
+ }