@globaltypesystem/gts-ts 0.1.1 → 0.3.0

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/NOTICE ADDED
@@ -0,0 +1,15 @@
1
+ NOTICE
2
+
3
+ Copyright 2025–present Hypernetix Pte. Ltd.
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
package/README.md CHANGED
@@ -15,7 +15,7 @@ Featureset:
15
15
  - [x] **OP#3 - ID Parsing**: Decompose identifiers into constituent parts (vendor, package, namespace, type, version, etc.)
16
16
  - [x] **OP#4 - ID Pattern Matching**: Match identifiers against patterns containing wildcards
17
17
  - [x] **OP#5 - ID to UUID Mapping**: Generate deterministic UUIDs from GTS identifiers
18
- - [x] **OP#6 - Schema Validation**: Validate object instances against their corresponding schemas
18
+ - [x] **OP#6 - Instance Validation**: Validate object instances against their corresponding schemas
19
19
  - [x] **OP#7 - Relationship Resolution**: Load all schemas and instances, resolve inter-dependencies, and detect broken references
20
20
  - [x] **OP#8 - Compatibility Checking**: Verify that schemas with different MINOR versions are compatible
21
21
  - [x] **OP#8.1 - Backward compatibility checking**
@@ -24,6 +24,7 @@ Featureset:
24
24
  - [x] **OP#9 - Version Casting**: Transform instances between compatible MINOR versions
25
25
  - [x] **OP#10 - Query Execution**: Filter identifier collections using the GTS query language
26
26
  - [x] **OP#11 - Attribute Access**: Retrieve property values and metadata using the attribute selector (`@`)
27
+ - [x] **OP#12 - Schema Validation**: Validate schema against its precedent schema
27
28
 
28
29
  Other GTS spec [Reference Implementation](https://github.com/globaltypesystem/gts-spec/blob/main/README.md#9-reference-implementation-recommendations) recommended features support:
29
30
 
@@ -31,8 +32,8 @@ Other GTS spec [Reference Implementation](https://github.com/globaltypesystem/gt
31
32
  - [x] **CLI** - command-line interface for all GTS operations
32
33
  - [x] **Web server** - a non-production web-server with REST API for the operations processing and testing
33
34
  - [x] **x-gts-ref** - to support special GTS entity reference annotation in schemas
34
- - [ ] **YAML support** - to support YAML files (*.yml, *.yaml) as input files
35
- - [ ] **TypeSpec support** - add [typespec.io](https://typespec.io/) files (*.tsp) support
35
+ - [ ] **YAML support** - to support YAML files (`*.yml`, `*.yaml`) as input files
36
+ - [ ] **TypeSpec support** - add [typespec.io](https://typespec.io/) files (`*.tsp`) support
36
37
  - [ ] **UUID for instances** - to support UUID as ID in JSON instances
37
38
 
38
39
  ## Usage
@@ -59,7 +60,7 @@ import { extractID } from '@globaltypesystem/gts-ts';
59
60
 
60
61
  const content = {
61
62
  gtsId: 'gts.vendor.pkg.ns.type.v1.0',
62
- name: 'My Entity'
63
+ name: 'My Entity',
63
64
  };
64
65
 
65
66
  const extracted = extractID(content);
@@ -75,10 +76,7 @@ if (parsed.ok) {
75
76
  }
76
77
 
77
78
  // OP#4 - Pattern Matching
78
- const matchResult = matchIDPattern(
79
- 'gts.vendor.pkg.ns.type.v1.0',
80
- 'gts.vendor.pkg.*'
81
- );
79
+ const matchResult = matchIDPattern('gts.vendor.pkg.ns.type.v1.0', 'gts.vendor.pkg.*');
82
80
  if (matchResult.match) {
83
81
  console.log('Pattern matched!');
84
82
  }
@@ -99,7 +97,7 @@ const gts = new GTS();
99
97
  // Register an entity
100
98
  const entity = {
101
99
  gtsId: 'gts.vendor.pkg.ns.type.v1.0',
102
- name: 'My Entity'
100
+ name: 'My Entity',
103
101
  };
104
102
 
105
103
  gts.register(entity);
@@ -116,20 +114,13 @@ console.log(`Relationships: ${relationships.relationships}`);
116
114
  console.log(`Broken references: ${relationships.brokenReferences}`);
117
115
 
118
116
  // OP#8 - Check compatibility
119
- const compatResult = gts.checkCompatibility(
120
- 'gts.vendor.pkg.ns.type.v1~',
121
- 'gts.vendor.pkg.ns.type.v2~',
122
- 'backward'
123
- );
117
+ const compatResult = gts.checkCompatibility('gts.vendor.pkg.ns.type.v1~', 'gts.vendor.pkg.ns.type.v2~', 'backward');
124
118
  if (compatResult.compatible) {
125
119
  console.log('Schemas are compatible');
126
120
  }
127
121
 
128
122
  // OP#9 - Cast instance to different version
129
- const castResult = gts.castInstance(
130
- 'gts.vendor.pkg.ns.type.v1.0',
131
- 'gts.vendor.pkg.ns.type.v2~'
132
- );
123
+ const castResult = gts.castInstance('gts.vendor.pkg.ns.type.v1.0', 'gts.vendor.pkg.ns.type.v2~');
133
124
  if (castResult.ok) {
134
125
  console.log('Instance casted successfully');
135
126
  }
@@ -219,6 +210,7 @@ npx gts-server --host 127.0.0.1 --port 8000 --verbose 2
219
210
  ### API Endpoints
220
211
 
221
212
  #### Entity Management
213
+
222
214
  - `GET /entities` - List all entities
223
215
  - `GET /entities/:id` - Get specific entity
224
216
  - `POST /entities` - Add new entity
@@ -226,6 +218,7 @@ npx gts-server --host 127.0.0.1 --port 8000 --verbose 2
226
218
  - `POST /schemas` - Add new schema
227
219
 
228
220
  #### GTS Operations
221
+
229
222
  - `GET /validate-id?id=<gts_id>` - Validate GTS ID (OP#1)
230
223
  - `POST /extract-id` - Extract GTS ID from JSON (OP#2)
231
224
  - `GET /parse-id?id=<gts_id>` - Parse GTS ID (OP#3)
@@ -237,8 +230,11 @@ npx gts-server --host 127.0.0.1 --port 8000 --verbose 2
237
230
  - `POST /cast` - Cast instance (OP#9)
238
231
  - `GET /query?expr=<expression>&limit=<limit>` - Query entities (OP#10)
239
232
  - `GET /attr?path=<path>` - Get attribute value (OP#11)
233
+ - `POST /validate-schema` - Validate schema against parent schema (OP#12)
234
+ - `POST /validate-entity` - Validate entity (schema or instance) (OP#12)
240
235
 
241
236
  #### Other
237
+
242
238
  - `GET /health` - Health check
243
239
  - `GET /openapi` - OpenAPI specification
244
240
 
package/dist/gts.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gts.d.ts","sourceRoot":"","sources":["../src/gts.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,EAIL,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,UAAU,EACX,MAAM,SAAS,CAAC;AAMjB,qBAAa,GAAG;IACd,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK;IAQpC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAsBnC,OAAO,CAAC,MAAM,CAAC,YAAY;IAuJ3B,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAYxC,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB;IA2BlD,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW;IAgBvC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIlC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAIjC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU;IAgBvC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW;IAoDtE,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAiD/B,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAwEjC,OAAO,CAAC,MAAM,CAAC,aAAa;IAmB5B,OAAO,CAAC,MAAM,CAAC,aAAa;CA8E7B"}
1
+ {"version":3,"file":"gts.d.ts","sourceRoot":"","sources":["../src/gts.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,EAIL,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,UAAU,EACX,MAAM,SAAS,CAAC;AAOjB,qBAAa,GAAG;IACd,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK;IAQpC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAuBnC,OAAO,CAAC,MAAM,CAAC,YAAY;IAwJ3B,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAYxC,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB;IA2BlD,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW;IAgBvC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIlC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAIjC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU;IAgBvC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW;IAoDtE,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAiD/B,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAgGjC,OAAO,CAAC,MAAM,CAAC,aAAa;IAmB5B,OAAO,CAAC,MAAM,CAAC,aAAa;CAsF7B"}
package/dist/gts.js CHANGED
@@ -5,6 +5,7 @@ const uuid_1 = require("uuid");
5
5
  const types_1 = require("./types");
6
6
  const GTS_NAMESPACE = (0, uuid_1.v5)('gts', uuid_1.v5.URL);
7
7
  const SEGMENT_TOKEN_REGEX = /^[a-z_][a-z0-9_]*$/;
8
+ const UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
8
9
  class Gts {
9
10
  static parseGtsID(id) {
10
11
  // If ID contains wildcard, validate as wildcard first
@@ -27,6 +28,7 @@ class Gts {
27
28
  }
28
29
  }
29
30
  // Add any remaining content (instance without trailing ~)
31
+ // This could be a regular instance segment or a UUID tail
30
32
  if (current) {
31
33
  parts.push(current);
32
34
  }
@@ -45,6 +47,7 @@ class Gts {
45
47
  verMinor: undefined,
46
48
  isType: false,
47
49
  isWildcard: false,
50
+ isUuidTail: false,
48
51
  };
49
52
  let workingSegment = seg.segment;
50
53
  // Check for empty segment
@@ -330,9 +333,6 @@ class Gts {
330
333
  if (raw !== raw.toLowerCase()) {
331
334
  throw new types_1.InvalidGtsIDError(id, 'Must be lower case');
332
335
  }
333
- if (raw.includes('-')) {
334
- throw new types_1.InvalidGtsIDError(id, "Must not contain '-'");
335
- }
336
336
  if (!raw.startsWith(types_1.GTS_PREFIX)) {
337
337
  throw new types_1.InvalidGtsIDError(id, `Does not start with '${types_1.GTS_PREFIX}'`);
338
338
  }
@@ -364,6 +364,31 @@ class Gts {
364
364
  if (part === '') {
365
365
  continue;
366
366
  }
367
+ // Check if this is a UUID tail (last part, no tilde, matches UUID format)
368
+ if (i > 0 && i === parts.length - 1 && !part.endsWith('~') && UUID_REGEX.test(part)) {
369
+ // UUID tail segment for combined anonymous instances
370
+ const seg = {
371
+ num: i + 1,
372
+ offset,
373
+ segment: part,
374
+ vendor: '',
375
+ package: '',
376
+ namespace: '',
377
+ type: '',
378
+ verMajor: 0,
379
+ verMinor: undefined,
380
+ isType: false,
381
+ isWildcard: false,
382
+ isUuidTail: true,
383
+ };
384
+ gtsId.segments.push(seg);
385
+ offset += part.length;
386
+ continue;
387
+ }
388
+ // Regular segments must not contain hyphens
389
+ if (part.includes('-')) {
390
+ throw new types_1.InvalidGtsIDError(id, "Must not contain '-'");
391
+ }
367
392
  const segment = this.parseSegment(i + 1, offset, part);
368
393
  gtsId.segments.push(segment);
369
394
  offset += part.length;
@@ -373,9 +398,10 @@ class Gts {
373
398
  throw new types_1.InvalidGtsIDError(id, 'No valid segments found');
374
399
  }
375
400
  // v0.7: Single-segment instance IDs are prohibited (skip for wildcard patterns)
401
+ // Exception: combined anonymous instances (UUID tail) are always valid
376
402
  if (!allowWildcard && !raw.includes('*')) {
377
403
  const lastSegment = gtsId.segments[gtsId.segments.length - 1];
378
- if (!lastSegment.isType && gtsId.segments.length === 1) {
404
+ if (!lastSegment.isType && !lastSegment.isUuidTail && gtsId.segments.length === 1) {
379
405
  throw new types_1.InvalidGtsIDError(id, 'Single-segment instance IDs are prohibited. Instance IDs must be chained with a type segment (e.g., gts.vendor.pkg.ns.type.v1~instance.segment.v1)');
380
406
  }
381
407
  }
@@ -433,6 +459,13 @@ class Gts {
433
459
  // Wildcard matches - accept anything after this point
434
460
  return true;
435
461
  }
462
+ // Non-wildcard UUID tail - compare raw segment string
463
+ if (pSeg.isUuidTail) {
464
+ if (pSeg.segment !== cSeg.segment) {
465
+ return false;
466
+ }
467
+ continue;
468
+ }
436
469
  // Non-wildcard segment - all fields must match
437
470
  if (pSeg.vendor !== cSeg.vendor) {
438
471
  return false;
package/dist/gts.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gts.js","sourceRoot":"","sources":["../src/gts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gts.js","sourceRoot":"","sources":["../src/gts.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -24,6 +24,9 @@ export declare class GTS {
24
24
  resolveRelationships(id: string): RelationshipResult;
25
25
  checkCompatibility(oldId: string, newId: string, mode?: 'backward' | 'forward' | 'full'): CompatibilityResult;
26
26
  castInstance(fromId: string, toSchemaId: string): CastResult;
27
+ validateEntity(id: string): ValidationResult & {
28
+ entity_type: string;
29
+ };
27
30
  }
28
31
  export default GTS;
29
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AASnC,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,UAAU,EACV,aAAa,EACb,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,SAAS,EACV,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,YAAY,GAAI,IAAI,MAAM,KAAG,OAA+B,CAAC;AAC1E,eAAO,MAAM,aAAa,GAAI,IAAI,MAAM,KAAG,gBAAyC,CAAC;AACrF,eAAO,MAAM,UAAU,GAAI,IAAI,MAAM,KAAG,WAA8B,CAAC;AACvE,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM,EAAE,SAAS,MAAM,KAAG,WAC5B,CAAC;AACzC,eAAO,MAAM,QAAQ,GAAI,IAAI,MAAM,KAAG,UAA8B,CAAC;AACrE,eAAO,MAAM,SAAS,GAAI,SAAS,GAAG,EAAE,gBAAgB,GAAG,KAAG,aACd,CAAC;AAEjD,qBAAa,GAAG;IACd,OAAO,CAAC,KAAK,CAAW;gBAEZ,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;IAIvC,QAAQ,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IAK5B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,GAAG;IAKpB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB;IAI9C,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAe3C,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW;IAItD,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB;IAIpD,kBAAkB,CAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,UAAU,GAAG,SAAS,GAAG,MAAe,GAC7C,mBAAmB;IAItB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU;CAG7D;AAED,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AASnC,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,UAAU,EACV,aAAa,EACb,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,SAAS,EACV,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,YAAY,GAAI,IAAI,MAAM,KAAG,OAA+B,CAAC;AAC1E,eAAO,MAAM,aAAa,GAAI,IAAI,MAAM,KAAG,gBAAyC,CAAC;AACrF,eAAO,MAAM,UAAU,GAAI,IAAI,MAAM,KAAG,WAA8B,CAAC;AACvE,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM,EAAE,SAAS,MAAM,KAAG,WAC5B,CAAC;AACzC,eAAO,MAAM,QAAQ,GAAI,IAAI,MAAM,KAAG,UAA8B,CAAC;AACrE,eAAO,MAAM,SAAS,GAAI,SAAS,GAAG,EAAE,gBAAgB,GAAG,KAAG,aACd,CAAC;AAEjD,qBAAa,GAAG;IACd,OAAO,CAAC,KAAK,CAAW;gBAEZ,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;IAIvC,QAAQ,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IAK5B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,GAAG;IAKpB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB;IAI9C,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAe3C,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW;IAItD,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB;IAIpD,kBAAkB,CAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,UAAU,GAAG,SAAS,GAAG,MAAe,GAC7C,mBAAmB;IAItB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU;IAI5D,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE;CAqBvE;AAED,eAAe,GAAG,CAAC"}
package/dist/index.js CHANGED
@@ -91,6 +91,27 @@ class GTS {
91
91
  castInstance(fromId, toSchemaId) {
92
92
  return cast_2.GtsCast.castInstance(this.store, fromId, toSchemaId);
93
93
  }
94
+ validateEntity(id) {
95
+ const entity = this.store.get(id);
96
+ if (!entity) {
97
+ return { id, ok: false, error: `Entity not found: ${id}`, entity_type: 'unknown' };
98
+ }
99
+ if (entity.isSchema) {
100
+ const result = this.store.validateSchemaAgainstParent(id);
101
+ if (!result.ok) {
102
+ return { ...result, entity_type: 'schema' };
103
+ }
104
+ const traitsResult = this.store.validateEntityTraits(id);
105
+ if (!traitsResult.ok) {
106
+ return { ...traitsResult, entity_type: 'schema' };
107
+ }
108
+ return { ...result, entity_type: 'schema' };
109
+ }
110
+ else {
111
+ const result = this.store.validateInstance(id);
112
+ return { ...result, entity_type: 'instance' };
113
+ }
114
+ }
94
115
  }
95
116
  exports.GTS = GTS;
96
117
  exports.default = GTS;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,8 @@ export declare class GtsServer {
24
24
  private handleCast;
25
25
  private handleQuery;
26
26
  private handleAttribute;
27
+ private handleValidateSchema;
28
+ private handleValidateEntity;
27
29
  private handleOpenAPI;
28
30
  private getOpenAPIPaths;
29
31
  private getOpenAPIComponents;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EAWb,MAAM,SAAS,CAAC;AAGjB,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY;IAiBhC,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,cAAc;YAoDR,iBAAiB;YAmBjB,eAAe;YAiBf,eAAe;IAwF7B,OAAO,CAAC,oBAAoB;IAyC5B,OAAO,CAAC,kBAAkB;YAwDZ,iBAAiB;YA4CjB,eAAe;YAKf,gBAAgB;YAgBhB,eAAe;YAMf,aAAa;YAwCb,oBAAoB;YAepB,UAAU;YAeV,sBAAsB;YAetB,0BAA0B;YAe1B,mBAAmB;YAgBnB,UAAU;YAaV,WAAW;YA4BX,eAAe;YAgCf,aAAa;IAmB3B,OAAO,CAAC,eAAe;IAiHvB,OAAO,CAAC,oBAAoB;IAmCf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAatB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAGnC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EAab,MAAM,SAAS,CAAC;AAGjB,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY;IAiBhC,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,cAAc;YA0DR,iBAAiB;YAmBjB,eAAe;YAiBf,eAAe;IAwF7B,OAAO,CAAC,oBAAoB;IAyC5B,OAAO,CAAC,kBAAkB;YAwDZ,iBAAiB;YA4CjB,eAAe;YAKf,gBAAgB;YAgBhB,eAAe;YAMf,aAAa;YAwCb,oBAAoB;YAepB,UAAU;YAeV,sBAAsB;YAetB,0BAA0B;YAe1B,mBAAmB;YAgBnB,UAAU;YAaV,WAAW;YA4BX,eAAe;YAgCf,oBAAoB;YAYpB,oBAAoB;YAapB,aAAa;IAmB3B,OAAO,CAAC,eAAe;IAiHvB,OAAO,CAAC,oBAAoB;IAmCf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAatB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAGnC"}
@@ -101,6 +101,10 @@ class GtsServer {
101
101
  this.fastify.get('/query', this.handleQuery.bind(this));
102
102
  // OP#11 - Attribute Access
103
103
  this.fastify.get('/attr', this.handleAttribute.bind(this));
104
+ // OP#12 - Validate Schema
105
+ this.fastify.post('/validate-schema', this.handleValidateSchema.bind(this));
106
+ // OP#12 - Validate Entity (unified)
107
+ this.fastify.post('/validate-entity', this.handleValidateEntity.bind(this));
104
108
  // OpenAPI spec
105
109
  this.fastify.get('/openapi', this.handleOpenAPI.bind(this));
106
110
  }
@@ -492,6 +496,22 @@ class GtsServer {
492
496
  }
493
497
  return this.store['store'].getAttribute(gtsId, path);
494
498
  }
499
+ // OP#12 - Validate Schema
500
+ async handleValidateSchema(request, _reply) {
501
+ const { schema_id } = request.body;
502
+ if (!schema_id) {
503
+ return { ok: false, error: 'Missing required field: schema_id' };
504
+ }
505
+ return this.store['store'].validateSchemaAgainstParent(schema_id);
506
+ }
507
+ // OP#12 - Validate Entity (unified)
508
+ async handleValidateEntity(request, _reply) {
509
+ const id = request.body.entity_id || request.body.gts_id;
510
+ if (!id) {
511
+ return { ok: false, error: 'Missing required field: entity_id or gts_id' };
512
+ }
513
+ return this.store.validateEntity(id);
514
+ }
495
515
  // OpenAPI Specification
496
516
  async handleOpenAPI() {
497
517
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
@@ -58,4 +58,11 @@ export interface AttributeParams {
58
58
  gts_id: string;
59
59
  path: string;
60
60
  }
61
+ export interface ValidateSchemaBody {
62
+ schema_id: string;
63
+ }
64
+ export interface ValidateEntityBody {
65
+ entity_id?: string;
66
+ gts_id?: string;
67
+ }
61
68
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,GAAG,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,GAAG,CAAC;IACb,aAAa,CAAC,EAAE,GAAG,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,GAAG,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,GAAG,CAAC;IACb,aAAa,CAAC,EAAE,GAAG,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
package/dist/store.d.ts CHANGED
@@ -32,6 +32,22 @@ export declare class GtsStore {
32
32
  private buildPath;
33
33
  private deepCopy;
34
34
  private deduplicate;
35
+ validateSchemaAgainstParent(schemaId: string): ValidationResult;
36
+ private validateSchemaTraits;
37
+ validateEntityTraits(entityId: string): ValidationResult;
38
+ private buildSchemaChain;
39
+ private collectTraitSchemas;
40
+ private collectTraitValues;
41
+ private resolveTraitSchemaRefs;
42
+ private applyTraitDefaults;
43
+ private collectAllTraitProperties;
44
+ private detectRefCycle;
45
+ private findParentRef;
46
+ private resolveSchemaFully;
47
+ private mergePropertySchemas;
48
+ private extractOverlay;
49
+ private compareOverlayToBase;
50
+ private comparePropertyConstraints;
35
51
  getAttribute(gtsId: string, path: string): any;
36
52
  private getNestedValue;
37
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAkB,MAAM,SAAS,CAAC;AAKvG,qBAAa,QAAQ;IACnB,OAAO,CAAC,IAAI,CAAsC;IAClD,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,GAAG,CAAM;gBAEL,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;YAgBzB,UAAU;IAYxB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAyBlC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIvC,MAAM,IAAI,UAAU,EAAE;IAItB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAgBhD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB;IA4FjD,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,wBAAwB;IAwDhC,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG;IAKxC,OAAO,CAAC,oBAAoB;IAqD5B,OAAO,CAAC,oBAAoB;IA4C5B,OAAO,CAAC,eAAe;IAIvB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAsEjG,OAAO,CAAC,cAAc;IA4BtB,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,yBAAyB;IAIjC,OAAO,CAAC,wBAAwB;IA0FhC,OAAO,CAAC,4BAA4B;IAiCpC,OAAO,CAAC,qBAAqB;IAoD7B,OAAO,CAAC,aAAa;IA4CrB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,GAAG;IAmFzD,OAAO,CAAC,WAAW;IAoFnB,OAAO,CAAC,oBAAoB;IAoI5B,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,yBAAyB;IA2BjC,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,QAAQ;IAiBhB,OAAO,CAAC,WAAW;IAKnB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG;IAqB9C,OAAO,CAAC,cAAc;CA2DvB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,UAAU,CAavF"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAkB,MAAM,SAAS,CAAC;AAYvG,qBAAa,QAAQ;IACnB,OAAO,CAAC,IAAI,CAAsC;IAClD,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,GAAG,CAAM;gBAEL,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;YAgBzB,UAAU;IAYxB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAyBlC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIvC,MAAM,IAAI,UAAU,EAAE;IAItB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAgBhD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB;IAgGjD,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,wBAAwB;IA8EhC,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG;IAKxC,OAAO,CAAC,oBAAoB;IAqD5B,OAAO,CAAC,oBAAoB;IA4C5B,OAAO,CAAC,eAAe;IAIvB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAsEjG,OAAO,CAAC,cAAc;IA4BtB,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,yBAAyB;IAIjC,OAAO,CAAC,wBAAwB;IA0FhC,OAAO,CAAC,4BAA4B;IAiCpC,OAAO,CAAC,qBAAqB;IAoD7B,OAAO,CAAC,aAAa;IA4CrB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,GAAG;IAmFzD,OAAO,CAAC,WAAW;IAoFnB,OAAO,CAAC,oBAAoB;IAoI5B,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,yBAAyB;IA2BjC,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,QAAQ;IAiBhB,OAAO,CAAC,WAAW;IAKnB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB;IAwD/D,OAAO,CAAC,oBAAoB;IA+K5B,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB;IA2DxD,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,sBAAsB;IA2C9B,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,yBAAyB;IAkBjC,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,kBAAkB;IAkF1B,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,cAAc;IAgDtB,OAAO,CAAC,oBAAoB;IAkD5B,OAAO,CAAC,0BAA0B;IAgKlC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG;IAqB9C,OAAO,CAAC,cAAc;CA2DvB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,UAAU,CAavF"}