archctx 0.9.1 → 0.9.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/assets/catalog.yaml +2 -2
- package/bin/archctx.mjs +639 -119
- package/package.json +1 -1
- package/schemas/repo/architecture-node.schema.json +33 -1
- package/schemas/repo/architecture-relation.schema.json +1 -1
- package/schemas/runtime/capability-dependencies.schema.json +1 -1
- package/schemas/runtime/projection-manifest.schema.json +2 -0
- package/schemas/runtime/projection-target.schema.json +1 -1
package/package.json
CHANGED
|
@@ -5,17 +5,49 @@
|
|
|
5
5
|
"type": "object",
|
|
6
6
|
"additionalProperties": false,
|
|
7
7
|
"required": ["schemaVersion", "id", "kind", "name", "status", "summary"],
|
|
8
|
+
"allOf": [
|
|
9
|
+
{
|
|
10
|
+
"if": { "properties": { "kind": { "const": "namespace" } }, "required": ["kind"] },
|
|
11
|
+
"then": { "required": ["namespace"] },
|
|
12
|
+
"else": { "not": { "required": ["namespace"] } }
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"if": { "properties": { "kind": { "const": "mount" } }, "required": ["kind"] },
|
|
16
|
+
"then": { "required": ["mount"] },
|
|
17
|
+
"else": { "not": { "required": ["mount"] } }
|
|
18
|
+
}
|
|
19
|
+
],
|
|
8
20
|
"properties": {
|
|
9
21
|
"schemaVersion": { "const": "archcontext.node/v2" },
|
|
10
22
|
"id": { "type": "string", "pattern": "^([a-z][a-z0-9]*(\\.[a-z0-9][a-z0-9-]*)*::)?[a-z][a-z0-9]*(\\.[a-z0-9][a-z0-9-]*)+$" },
|
|
11
23
|
"kind": {
|
|
12
24
|
"type": "string",
|
|
13
|
-
"enum": ["capability", "module", "component", "interface", "event", "datastore", "external-system", "deployment"]
|
|
25
|
+
"enum": ["capability", "module", "component", "interface", "event", "datastore", "external-system", "deployment", "process", "namespace", "mount"]
|
|
14
26
|
},
|
|
15
27
|
"name": { "type": "string" },
|
|
16
28
|
"status": { "type": "string", "enum": ["active", "planned", "deprecated", "removed"] },
|
|
17
29
|
"parent": { "type": "string", "pattern": "^([a-z][a-z0-9]*(\\.[a-z0-9][a-z0-9-]*)*::)?[a-z][a-z0-9]*(\\.[a-z0-9][a-z0-9-]*)+$" },
|
|
30
|
+
"layer": { "type": "string", "pattern": "^[a-z][a-z0-9]*(-[a-z0-9]+)*$" },
|
|
18
31
|
"summary": { "type": "string" },
|
|
32
|
+
"namespace": {
|
|
33
|
+
"type": "object",
|
|
34
|
+
"additionalProperties": false,
|
|
35
|
+
"required": ["type"],
|
|
36
|
+
"properties": {
|
|
37
|
+
"type": { "type": "string", "enum": ["host", "container", "pod", "kubernetes", "pid", "mount", "net", "user"] }
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"mount": {
|
|
41
|
+
"type": "object",
|
|
42
|
+
"additionalProperties": false,
|
|
43
|
+
"required": ["target", "mode", "order"],
|
|
44
|
+
"properties": {
|
|
45
|
+
"source": { "type": "string", "minLength": 1 },
|
|
46
|
+
"target": { "type": "string", "pattern": "^/([^/\\u0000]+(/[^/\\u0000]+)*)?$" },
|
|
47
|
+
"mode": { "type": "string", "enum": ["ro", "rw"] },
|
|
48
|
+
"order": { "type": "integer", "minimum": 0 }
|
|
49
|
+
}
|
|
50
|
+
},
|
|
19
51
|
"responsibilities": { "type": "array", "items": { "type": "string" }, "minItems": 1 },
|
|
20
52
|
"source": {
|
|
21
53
|
"type": "object",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"id": { "type": "string", "pattern": "^([a-z][a-z0-9]*(\\.[a-z0-9][a-z0-9-]*)*::)?[a-z][a-z0-9]*(\\.[a-z0-9][a-z0-9-]*)+$" },
|
|
11
11
|
"kind": {
|
|
12
12
|
"type": "string",
|
|
13
|
-
"enum": ["depends-on", "calls", "publishes", "subscribes", "reads", "writes", "implements", "deployed-on"]
|
|
13
|
+
"enum": ["depends-on", "calls", "publishes", "subscribes", "reads", "writes", "implements", "deployed-on", "spawns", "runs-in", "mounts"]
|
|
14
14
|
},
|
|
15
15
|
"source": { "type": "string", "pattern": "^([a-z][a-z0-9]*(\\.[a-z0-9][a-z0-9-]*)*::)?[a-z][a-z0-9]*(\\.[a-z0-9][a-z0-9-]*)+$" },
|
|
16
16
|
"target": { "type": "string", "pattern": "^([a-z][a-z0-9]*(\\.[a-z0-9][a-z0-9-]*)*::)?[a-z][a-z0-9]*(\\.[a-z0-9][a-z0-9-]*)+$" },
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"to": { "type": "string", "minLength": 1 },
|
|
31
31
|
"imports": { "type": "integer", "minimum": 1 },
|
|
32
32
|
"calls": { "type": "null" },
|
|
33
|
-
"declared": { "type": "boolean", "description": "A relation of a declaring kind (every kind but deployed-on) runs from a node that rolls up to `from` into a node that rolls up to `to`. A cell with from equal to to is always declared and lists no relation ids." },
|
|
33
|
+
"declared": { "type": "boolean", "description": "A relation of a declaring kind (every kind but deployed-on, spawns, runs-in and mounts) runs from a node that rolls up to `from` into a node that rolls up to `to`. A cell with from equal to to is always declared and lists no relation ids." },
|
|
34
34
|
"relationIds": { "type": "array", "uniqueItems": true, "description": "The declaring relation ids, sorted. Non-empty exactly when a cross-capability cell is declared.", "items": { "type": "string", "minLength": 1 } }
|
|
35
35
|
},
|
|
36
36
|
"if": { "properties": { "relationIds": { "minItems": 1 } } },
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"targetId": { "type": "string", "pattern": "^projection_target\\.[a-zA-Z0-9_.-]+$" },
|
|
14
14
|
"type": {
|
|
15
15
|
"type": "string",
|
|
16
|
-
"enum": ["architecture-index", "entity-summary", "relation-summary", "decision-index", "architecture-changelog", "diagram-mermaid", "diagram-structurizr", "diagram-likec4", "agent-context"]
|
|
16
|
+
"enum": ["architecture-index", "entity-summary", "relation-summary", "decision-index", "architecture-changelog", "diagram-mermaid", "diagram-structurizr", "diagram-likec4", "diagram-runtime-topology", "runtime-topology-summary", "agent-context"]
|
|
17
17
|
},
|
|
18
18
|
"scope": {
|
|
19
19
|
"type": "object",
|