@nahisaho/musubix-sdd-ontology 1.0.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/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/loader/index.d.ts +6 -0
- package/dist/loader/index.d.ts.map +1 -0
- package/dist/loader/index.js +6 -0
- package/dist/loader/index.js.map +1 -0
- package/dist/loader/ontology-loader.d.ts +38 -0
- package/dist/loader/ontology-loader.d.ts.map +1 -0
- package/dist/loader/ontology-loader.js +87 -0
- package/dist/loader/ontology-loader.js.map +1 -0
- package/dist/modules/c4.d.ts +32 -0
- package/dist/modules/c4.d.ts.map +1 -0
- package/dist/modules/c4.js +52 -0
- package/dist/modules/c4.js.map +1 -0
- package/dist/modules/core.d.ts +24 -0
- package/dist/modules/core.d.ts.map +1 -0
- package/dist/modules/core.js +33 -0
- package/dist/modules/core.js.map +1 -0
- package/dist/modules/ears.d.ts +28 -0
- package/dist/modules/ears.d.ts.map +1 -0
- package/dist/modules/ears.js +93 -0
- package/dist/modules/ears.js.map +1 -0
- package/dist/modules/traceability.d.ts +32 -0
- package/dist/modules/traceability.d.ts.map +1 -0
- package/dist/modules/traceability.js +58 -0
- package/dist/modules/traceability.js.map +1 -0
- package/dist/types.d.ts +106 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/dist/validator/index.d.ts +6 -0
- package/dist/validator/index.d.ts.map +1 -0
- package/dist/validator/index.js +6 -0
- package/dist/validator/index.js.map +1 -0
- package/dist/validator/ontology-validator.d.ts +23 -0
- package/dist/validator/ontology-validator.d.ts.map +1 -0
- package/dist/validator/ontology-validator.js +120 -0
- package/dist/validator/ontology-validator.js.map +1 -0
- package/package.json +50 -0
- package/ttl/sdd-core.ttl +493 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview SDD Ontology type definitions
|
|
3
|
+
* @traceability REQ-SDD-ONTO-001
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Ontology module metadata
|
|
7
|
+
*/
|
|
8
|
+
export interface OntologyModule {
|
|
9
|
+
id: string;
|
|
10
|
+
name: string;
|
|
11
|
+
namespace: string;
|
|
12
|
+
version: string;
|
|
13
|
+
description: string;
|
|
14
|
+
dependencies: string[];
|
|
15
|
+
filePath: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* EARS requirement types
|
|
19
|
+
*/
|
|
20
|
+
export type EarsPatternType = 'ubiquitous' | 'event-driven' | 'state-driven' | 'unwanted' | 'optional';
|
|
21
|
+
/**
|
|
22
|
+
* EARS requirement structure
|
|
23
|
+
*/
|
|
24
|
+
export interface EarsRequirement {
|
|
25
|
+
id: string;
|
|
26
|
+
pattern: EarsPatternType;
|
|
27
|
+
trigger?: string;
|
|
28
|
+
condition?: string;
|
|
29
|
+
system: string;
|
|
30
|
+
response: string;
|
|
31
|
+
priority: 'P0' | 'P1' | 'P2';
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* C4 diagram level
|
|
35
|
+
*/
|
|
36
|
+
export type C4Level = 'context' | 'container' | 'component' | 'code';
|
|
37
|
+
/**
|
|
38
|
+
* C4 element structure
|
|
39
|
+
*/
|
|
40
|
+
export interface C4Element {
|
|
41
|
+
id: string;
|
|
42
|
+
level: C4Level;
|
|
43
|
+
name: string;
|
|
44
|
+
type: string;
|
|
45
|
+
description: string;
|
|
46
|
+
technology?: string;
|
|
47
|
+
parent?: string;
|
|
48
|
+
relationships: C4Relationship[];
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* C4 relationship
|
|
52
|
+
*/
|
|
53
|
+
export interface C4Relationship {
|
|
54
|
+
target: string;
|
|
55
|
+
description: string;
|
|
56
|
+
technology?: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Traceability link types
|
|
60
|
+
*/
|
|
61
|
+
export type TraceLinkType = 'satisfies' | 'implements' | 'tests' | 'derives-from' | 'refines';
|
|
62
|
+
/**
|
|
63
|
+
* Traceability link
|
|
64
|
+
*/
|
|
65
|
+
export interface TraceLink {
|
|
66
|
+
source: string;
|
|
67
|
+
target: string;
|
|
68
|
+
type: TraceLinkType;
|
|
69
|
+
rationale?: string;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Validation result
|
|
73
|
+
*/
|
|
74
|
+
export interface ValidationResult {
|
|
75
|
+
valid: boolean;
|
|
76
|
+
errors: ValidationError[];
|
|
77
|
+
warnings: ValidationWarning[];
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Validation error
|
|
81
|
+
*/
|
|
82
|
+
export interface ValidationError {
|
|
83
|
+
code: string;
|
|
84
|
+
message: string;
|
|
85
|
+
location?: string;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Validation warning
|
|
89
|
+
*/
|
|
90
|
+
export interface ValidationWarning {
|
|
91
|
+
code: string;
|
|
92
|
+
message: string;
|
|
93
|
+
suggestion?: string;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Supported languages for i18n
|
|
97
|
+
*/
|
|
98
|
+
export type SupportedLanguage = 'en' | 'ja';
|
|
99
|
+
/**
|
|
100
|
+
* Localized string
|
|
101
|
+
*/
|
|
102
|
+
export interface LocalizedString {
|
|
103
|
+
en: string;
|
|
104
|
+
ja?: string;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB,YAAY,GACZ,cAAc,GACd,cAAc,GACd,UAAU,GACV,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,cAAc,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,YAAY,GACZ,OAAO,GACP,cAAc,GACd,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,CAAC,EAAE,MAAM,CAAC;CACb"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validator/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validator/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Ontology validator for TTL syntax and semantics
|
|
3
|
+
* @traceability TSK-SDD-ONTO-006, REQ-SDD-ONTO-001-F006
|
|
4
|
+
*/
|
|
5
|
+
import type { ValidationResult } from '../types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Ontology validator
|
|
8
|
+
*/
|
|
9
|
+
export declare class OntologyValidator {
|
|
10
|
+
/**
|
|
11
|
+
* Validate TTL content (basic syntax check)
|
|
12
|
+
*/
|
|
13
|
+
validateTTL(content: string): ValidationResult;
|
|
14
|
+
/**
|
|
15
|
+
* Validate EARS requirement text
|
|
16
|
+
*/
|
|
17
|
+
validateEarsText(text: string): ValidationResult;
|
|
18
|
+
/**
|
|
19
|
+
* Validate C4 element ID format
|
|
20
|
+
*/
|
|
21
|
+
validateC4ElementId(id: string): ValidationResult;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=ontology-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ontology-validator.d.ts","sourceRoot":"","sources":["../../src/validator/ontology-validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAsC,MAAM,aAAa,CAAC;AAExF;;GAEG;AACH,qBAAa,iBAAiB;IAC5B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB;IA+C9C;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB;IAwChD;;OAEG;IACH,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB;CA2BlD"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Ontology validator for TTL syntax and semantics
|
|
3
|
+
* @traceability TSK-SDD-ONTO-006, REQ-SDD-ONTO-001-F006
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Ontology validator
|
|
7
|
+
*/
|
|
8
|
+
export class OntologyValidator {
|
|
9
|
+
/**
|
|
10
|
+
* Validate TTL content (basic syntax check)
|
|
11
|
+
*/
|
|
12
|
+
validateTTL(content) {
|
|
13
|
+
const errors = [];
|
|
14
|
+
const warnings = [];
|
|
15
|
+
// Check for required prefixes
|
|
16
|
+
if (!content.includes('@prefix')) {
|
|
17
|
+
errors.push({
|
|
18
|
+
code: 'MISSING_PREFIX',
|
|
19
|
+
message: 'TTL file must contain @prefix declarations',
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
// Check for unclosed quotes
|
|
23
|
+
const quoteMatches = content.match(/"/g);
|
|
24
|
+
if (quoteMatches && quoteMatches.length % 2 !== 0) {
|
|
25
|
+
errors.push({
|
|
26
|
+
code: 'UNCLOSED_QUOTE',
|
|
27
|
+
message: 'TTL file contains unclosed string literal',
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
// Check for statement termination
|
|
31
|
+
const lines = content.split('\n');
|
|
32
|
+
for (let i = 0; i < lines.length; i++) {
|
|
33
|
+
const line = lines[i].trim();
|
|
34
|
+
if (line && !line.startsWith('#') && !line.startsWith('@')) {
|
|
35
|
+
// Non-empty, non-comment, non-directive line should end with . , or ;
|
|
36
|
+
if (!line.endsWith('.') && !line.endsWith(',') && !line.endsWith(';')) {
|
|
37
|
+
// Could be multi-line - just a warning
|
|
38
|
+
if (i === lines.length - 1 || !lines[i + 1].trim().match(/^[.,;]/)) {
|
|
39
|
+
warnings.push({
|
|
40
|
+
code: 'POSSIBLE_UNTERMINATED',
|
|
41
|
+
message: `Line ${i + 1} may be unterminated`,
|
|
42
|
+
suggestion: 'Check statement termination with . , or ;',
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
valid: errors.length === 0,
|
|
50
|
+
errors,
|
|
51
|
+
warnings,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Validate EARS requirement text
|
|
56
|
+
*/
|
|
57
|
+
validateEarsText(text) {
|
|
58
|
+
const errors = [];
|
|
59
|
+
const warnings = [];
|
|
60
|
+
// Check for EARS keywords
|
|
61
|
+
const hasEarsKeyword = /^(THE|WHEN|WHILE|IF)\s/i.test(text);
|
|
62
|
+
if (!hasEarsKeyword) {
|
|
63
|
+
errors.push({
|
|
64
|
+
code: 'MISSING_EARS_KEYWORD',
|
|
65
|
+
message: 'EARS requirement must start with THE, WHEN, WHILE, or IF',
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
// Check for SHALL
|
|
69
|
+
if (!text.includes('SHALL')) {
|
|
70
|
+
errors.push({
|
|
71
|
+
code: 'MISSING_SHALL',
|
|
72
|
+
message: 'EARS requirement must contain SHALL',
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
// Check for ambiguous words
|
|
76
|
+
const ambiguousWords = ['might', 'could', 'should', 'may'];
|
|
77
|
+
for (const word of ambiguousWords) {
|
|
78
|
+
if (new RegExp(`\\b${word}\\b`, 'i').test(text)) {
|
|
79
|
+
warnings.push({
|
|
80
|
+
code: 'AMBIGUOUS_WORD',
|
|
81
|
+
message: `Requirement contains ambiguous word: ${word}`,
|
|
82
|
+
suggestion: `Consider using SHALL or SHALL NOT instead of ${word}`,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return {
|
|
87
|
+
valid: errors.length === 0,
|
|
88
|
+
errors,
|
|
89
|
+
warnings,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Validate C4 element ID format
|
|
94
|
+
*/
|
|
95
|
+
validateC4ElementId(id) {
|
|
96
|
+
const errors = [];
|
|
97
|
+
const warnings = [];
|
|
98
|
+
// ID should be alphanumeric with hyphens
|
|
99
|
+
if (!/^[a-z][a-z0-9-]*$/i.test(id)) {
|
|
100
|
+
errors.push({
|
|
101
|
+
code: 'INVALID_C4_ID',
|
|
102
|
+
message: 'C4 element ID must start with letter and contain only alphanumeric characters and hyphens',
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
// Warn if ID is too long
|
|
106
|
+
if (id.length > 50) {
|
|
107
|
+
warnings.push({
|
|
108
|
+
code: 'LONG_C4_ID',
|
|
109
|
+
message: 'C4 element ID is longer than 50 characters',
|
|
110
|
+
suggestion: 'Consider using a shorter, more descriptive ID',
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
return {
|
|
114
|
+
valid: errors.length === 0,
|
|
115
|
+
errors,
|
|
116
|
+
warnings,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=ontology-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ontology-validator.js","sourceRoot":"","sources":["../../src/validator/ontology-validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAC5B;;OAEG;IACH,WAAW,CAAC,OAAe;QACzB,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAwB,EAAE,CAAC;QAEzC,8BAA8B;QAC9B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,4CAA4C;aACtD,CAAC,CAAC;QACL,CAAC;QAED,4BAA4B;QAC5B,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,2CAA2C;aACrD,CAAC,CAAC;QACL,CAAC;QAED,kCAAkC;QAClC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3D,sEAAsE;gBACtE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtE,uCAAuC;oBACvC,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACnE,QAAQ,CAAC,IAAI,CAAC;4BACZ,IAAI,EAAE,uBAAuB;4BAC7B,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,sBAAsB;4BAC5C,UAAU,EAAE,2CAA2C;yBACxD,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC1B,MAAM;YACN,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,IAAY;QAC3B,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAwB,EAAE,CAAC;QAEzC,0BAA0B;QAC1B,MAAM,cAAc,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,0DAA0D;aACpE,CAAC,CAAC;QACL,CAAC;QAED,kBAAkB;QAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,qCAAqC;aAC/C,CAAC,CAAC;QACL,CAAC;QAED,4BAA4B;QAC5B,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3D,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,IAAI,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,wCAAwC,IAAI,EAAE;oBACvD,UAAU,EAAE,gDAAgD,IAAI,EAAE;iBACnE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC1B,MAAM;YACN,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,EAAU;QAC5B,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAwB,EAAE,CAAC;QAEzC,yCAAyC;QACzC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,2FAA2F;aACrG,CAAC,CAAC;QACL,CAAC;QAED,yBAAyB;QACzB,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,4CAA4C;gBACrD,UAAU,EAAE,+CAA+C;aAC5D,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC1B,MAAM;YACN,QAAQ;SACT,CAAC;IACJ,CAAC;CACF"}
|
package/package.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@nahisaho/musubix-sdd-ontology",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "MUSUBIX SDD Ontology - Turtle modules for EARS, C4, Traceability",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
},
|
|
13
|
+
"./ttl/*": "./ttl/*"
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist",
|
|
17
|
+
"ttl"
|
|
18
|
+
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "tsc",
|
|
21
|
+
"test": "vitest run",
|
|
22
|
+
"clean": "rm -rf dist",
|
|
23
|
+
"typecheck": "tsc --noEmit",
|
|
24
|
+
"validate-ttl": "node dist/cli/validate.js"
|
|
25
|
+
},
|
|
26
|
+
"keywords": [
|
|
27
|
+
"musubix",
|
|
28
|
+
"ontology",
|
|
29
|
+
"sdd",
|
|
30
|
+
"ears",
|
|
31
|
+
"c4model",
|
|
32
|
+
"traceability",
|
|
33
|
+
"turtle"
|
|
34
|
+
],
|
|
35
|
+
"author": "nahisaho",
|
|
36
|
+
"license": "MIT",
|
|
37
|
+
"repository": {
|
|
38
|
+
"type": "git",
|
|
39
|
+
"url": "https://github.com/nahisaho/MUSUBIX.git",
|
|
40
|
+
"directory": "packages/sdd-ontology"
|
|
41
|
+
},
|
|
42
|
+
"dependencies": {},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"typescript": "^5.7.0",
|
|
45
|
+
"vitest": "^3.0.0"
|
|
46
|
+
},
|
|
47
|
+
"peerDependencies": {
|
|
48
|
+
"@nahisaho/musubix-ontology-mcp": "^1.0.0"
|
|
49
|
+
}
|
|
50
|
+
}
|