@vev-software/atlas-contracts 0.1.1 → 0.1.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/README.md +38 -0
- package/dist/index.d.ts +3 -0
- package/package.json +1 -1
- package/schemas/v1/discovery-observation.schema.json +13 -1
package/README.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# @vev-software/atlas-contracts
|
|
2
|
+
|
|
3
|
+
Public, versioned **data model and interop contracts** for VEV Atlas — the portability and
|
|
4
|
+
interoperability surface that the Atlas runtime and third-party importers/exporters all build
|
|
5
|
+
against, without reaching into anyone's internals.
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
npm i @vev-software/atlas-contracts
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
import type { LandscapeDocument, Asset } from "@vev-software/atlas-contracts";
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## What's inside
|
|
16
|
+
|
|
17
|
+
- **Asset data model** — the catalogue of systems, applications, servers and infrastructure,
|
|
18
|
+
plus the manual **relationships** and **tags** that connect and classify them.
|
|
19
|
+
- **Landscape import/export document** — the schema that carries a whole landscape across a
|
|
20
|
+
boundary (customer-owned export; community importers/exporters).
|
|
21
|
+
- **Authoritative JSON Schemas** — shipped under `schemas/` in the package, so you can validate
|
|
22
|
+
payloads against the exact same contracts the TypeScript types describe.
|
|
23
|
+
|
|
24
|
+
Ships type declarations (`dist/index.d.ts`) and ESM; no runtime dependencies.
|
|
25
|
+
|
|
26
|
+
## Versioning
|
|
27
|
+
|
|
28
|
+
[SemVer](https://semver.org), derived from the git tag (`vX.Y.Z`) at release. Pre-1.0, the v1
|
|
29
|
+
contract evolves additively across minor/patch versions.
|
|
30
|
+
|
|
31
|
+
## Links
|
|
32
|
+
|
|
33
|
+
- **Source & issues:** https://github.com/Vev-software/atlas-contracts
|
|
34
|
+
- **.NET SDK (NuGet):** [`Vev.Atlas.Contracts`](https://www.nuget.org/packages/Vev.Atlas.Contracts)
|
|
35
|
+
|
|
36
|
+
## Licence
|
|
37
|
+
|
|
38
|
+
[Apache-2.0](https://github.com/Vev-software/atlas-contracts/blob/main/LICENSE).
|
package/dist/index.d.ts
CHANGED
|
@@ -193,6 +193,9 @@ export interface Observation {
|
|
|
193
193
|
application?: ApplicationDetails;
|
|
194
194
|
server?: ServerDetails;
|
|
195
195
|
infrastructure?: InfrastructureDetails;
|
|
196
|
+
dataArea?: DataAreaDetails;
|
|
197
|
+
dataset?: DatasetDetails;
|
|
198
|
+
column?: ColumnDetails;
|
|
196
199
|
}
|
|
197
200
|
/**
|
|
198
201
|
* The public wire format a discovery scanner emits into Atlas: a batch of raw observations that
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vev-software/atlas-contracts",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Public, versioned data model and interop contracts for VEV Atlas — the catalogue asset model plus manual relationships, tags and the landscape import/export document.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://contracts.vev.software/atlas/v1/discovery-observation.schema.json",
|
|
4
4
|
"title": "Atlas discovery observation batch (v1)",
|
|
5
|
-
"description": "The public wire format a discovery scanner emits INTO Atlas: a batch of raw observations of an IT landscape (servers, applications, infrastructure) that the private Atlas Enterprise reconciliation engine correlates, deduplicates and turns into catalogue assets. This contract carries facts only — an observation has no Atlas 'id' and no 'lifecycle' (the reconciler assigns those), and never any analysis (no EOL/risk, no criticality, no portfolio scoring). Open so third parties can build scanners; the reconciliation logic that consumes it is the private moat and is NOT part of this repo. See handbook 11 §3, 12 §Phase A, and vev-software/atlas-enterprise#6/#9.",
|
|
5
|
+
"description": "The public wire format a discovery scanner emits INTO Atlas: a batch of raw observations of an IT landscape (servers, applications, infrastructure, and the data layer down to data-areas, datasets and columns) that the private Atlas Enterprise reconciliation engine correlates, deduplicates and turns into catalogue assets. This contract carries facts only — an observation has no Atlas 'id' and no 'lifecycle' (the reconciler assigns those), and never any analysis (no EOL/risk, no criticality, no portfolio scoring). Open so third parties can build scanners; the reconciliation logic that consumes it is the private moat and is NOT part of this repo. See handbook 11 §3, 12 §Phase A, and vev-software/atlas-enterprise#6/#9.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"additionalProperties": false,
|
|
8
8
|
"required": ["contractVersion", "kind", "source", "observedAt", "observations"],
|
|
@@ -134,6 +134,18 @@
|
|
|
134
134
|
{
|
|
135
135
|
"if": { "properties": { "kind": { "const": "infrastructure" } } },
|
|
136
136
|
"then": { "properties": { "infrastructure": { "$ref": "common.schema.json#/$defs/InfrastructureDetails" } } }
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"if": { "properties": { "kind": { "const": "data-area" } } },
|
|
140
|
+
"then": { "properties": { "dataArea": { "$ref": "common.schema.json#/$defs/DataAreaDetails" } } }
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"if": { "properties": { "kind": { "const": "dataset" } } },
|
|
144
|
+
"then": { "properties": { "dataset": { "$ref": "common.schema.json#/$defs/DatasetDetails" } } }
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"if": { "properties": { "kind": { "const": "column" } } },
|
|
148
|
+
"then": { "properties": { "column": { "$ref": "common.schema.json#/$defs/ColumnDetails" } } }
|
|
137
149
|
}
|
|
138
150
|
]
|
|
139
151
|
},
|