@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 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.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
  },