@documentation-robotics/cli 0.1.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.
Files changed (169) hide show
  1. package/PYTHON_CLI_PARITY.md +265 -0
  2. package/PYTHON_CLI_STRUCTURE_UPDATE.md +246 -0
  3. package/README.md +926 -0
  4. package/biome.json +42 -0
  5. package/bunfig.toml +3 -0
  6. package/dist/ai/claude-client.js +71 -0
  7. package/dist/ai/claude-client.js.map +7 -0
  8. package/dist/ai/context-provider.js +129 -0
  9. package/dist/ai/context-provider.js.map +7 -0
  10. package/dist/ai/tools.js +231 -0
  11. package/dist/ai/tools.js.map +7 -0
  12. package/dist/cli.js +224 -0
  13. package/dist/cli.js.map +7 -0
  14. package/dist/commands/add.js +51 -0
  15. package/dist/commands/add.js.map +7 -0
  16. package/dist/commands/changeset.js +174 -0
  17. package/dist/commands/changeset.js.map +7 -0
  18. package/dist/commands/chat.js +111 -0
  19. package/dist/commands/chat.js.map +7 -0
  20. package/dist/commands/conformance.js +132 -0
  21. package/dist/commands/conformance.js.map +7 -0
  22. package/dist/commands/delete.js +31 -0
  23. package/dist/commands/delete.js.map +7 -0
  24. package/dist/commands/element.js +28 -0
  25. package/dist/commands/element.js.map +7 -0
  26. package/dist/commands/export.js +65 -0
  27. package/dist/commands/export.js.map +7 -0
  28. package/dist/commands/info.js +40 -0
  29. package/dist/commands/info.js.map +7 -0
  30. package/dist/commands/init.js +45 -0
  31. package/dist/commands/init.js.map +7 -0
  32. package/dist/commands/list.js +32 -0
  33. package/dist/commands/list.js.map +7 -0
  34. package/dist/commands/migrate.js +36 -0
  35. package/dist/commands/migrate.js.map +7 -0
  36. package/dist/commands/project.js +74 -0
  37. package/dist/commands/project.js.map +7 -0
  38. package/dist/commands/relationship.js +118 -0
  39. package/dist/commands/relationship.js.map +7 -0
  40. package/dist/commands/search.js +48 -0
  41. package/dist/commands/search.js.map +7 -0
  42. package/dist/commands/show.js +38 -0
  43. package/dist/commands/show.js.map +7 -0
  44. package/dist/commands/trace.js +60 -0
  45. package/dist/commands/trace.js.map +7 -0
  46. package/dist/commands/update.js +37 -0
  47. package/dist/commands/update.js.map +7 -0
  48. package/dist/commands/upgrade.js +152 -0
  49. package/dist/commands/upgrade.js.map +7 -0
  50. package/dist/commands/validate.js +71 -0
  51. package/dist/commands/validate.js.map +7 -0
  52. package/dist/commands/version.js +20 -0
  53. package/dist/commands/version.js.map +7 -0
  54. package/dist/commands/visualize.js +51 -0
  55. package/dist/commands/visualize.js.map +7 -0
  56. package/dist/core/active-changeset.js +52 -0
  57. package/dist/core/active-changeset.js.map +7 -0
  58. package/dist/core/changeset.js +244 -0
  59. package/dist/core/changeset.js.map +7 -0
  60. package/dist/core/dependency-tracker.js +322 -0
  61. package/dist/core/dependency-tracker.js.map +7 -0
  62. package/dist/core/element.js +65 -0
  63. package/dist/core/element.js.map +7 -0
  64. package/dist/core/layer.js +75 -0
  65. package/dist/core/layer.js.map +7 -0
  66. package/dist/core/manifest.js +57 -0
  67. package/dist/core/manifest.js.map +7 -0
  68. package/dist/core/migration-registry.js +131 -0
  69. package/dist/core/migration-registry.js.map +7 -0
  70. package/dist/core/model.js +455 -0
  71. package/dist/core/model.js.map +7 -0
  72. package/dist/core/projection-engine.js +288 -0
  73. package/dist/core/projection-engine.js.map +7 -0
  74. package/dist/core/reference-registry.js +188 -0
  75. package/dist/core/reference-registry.js.map +7 -0
  76. package/dist/core/relationship-registry.js +114 -0
  77. package/dist/core/relationship-registry.js.map +7 -0
  78. package/dist/core/relationships.js +78 -0
  79. package/dist/core/relationships.js.map +7 -0
  80. package/dist/export/archimate-exporter.js +111 -0
  81. package/dist/export/archimate-exporter.js.map +7 -0
  82. package/dist/export/export-manager.js +63 -0
  83. package/dist/export/export-manager.js.map +7 -0
  84. package/dist/export/graphml-exporter.js +39 -0
  85. package/dist/export/graphml-exporter.js.map +7 -0
  86. package/dist/export/index.js +17 -0
  87. package/dist/export/index.js.map +7 -0
  88. package/dist/export/json-schema-exporter.js +60 -0
  89. package/dist/export/json-schema-exporter.js.map +7 -0
  90. package/dist/export/markdown-exporter.js +99 -0
  91. package/dist/export/markdown-exporter.js.map +7 -0
  92. package/dist/export/openapi-exporter.js +85 -0
  93. package/dist/export/openapi-exporter.js.map +7 -0
  94. package/dist/export/plantuml-exporter.js +60 -0
  95. package/dist/export/plantuml-exporter.js.map +7 -0
  96. package/dist/export/types.js +36 -0
  97. package/dist/export/types.js.map +7 -0
  98. package/dist/schemas/bundled/01-motivation-layer.schema.json +942 -0
  99. package/dist/schemas/bundled/02-business-layer.schema.json +1293 -0
  100. package/dist/schemas/bundled/03-security-layer.schema.json +2177 -0
  101. package/dist/schemas/bundled/04-application-layer.schema.json +1328 -0
  102. package/dist/schemas/bundled/05-technology-layer.schema.json +1465 -0
  103. package/dist/schemas/bundled/06-api-layer.schema.json +1743 -0
  104. package/dist/schemas/bundled/07-data-model-layer.schema.json +1253 -0
  105. package/dist/schemas/bundled/08-datastore-layer.schema.json +892 -0
  106. package/dist/schemas/bundled/09-ux-layer.schema.json +1506 -0
  107. package/dist/schemas/bundled/10-navigation-layer.schema.json +843 -0
  108. package/dist/schemas/bundled/11-apm-observability-layer.schema.json +1430 -0
  109. package/dist/schemas/bundled/12-testing-layer.schema.json +1091 -0
  110. package/dist/schemas/bundled/common/layer-extensions.schema.json +266 -0
  111. package/dist/schemas/bundled/common/predicates.schema.json +493 -0
  112. package/dist/schemas/bundled/common/relationships.schema.json +791 -0
  113. package/dist/schemas/bundled/common/source-references.schema.json +71 -0
  114. package/dist/schemas/bundled/link-registry.json +1839 -0
  115. package/dist/schemas/bundled/link-registry.schema.json +339 -0
  116. package/dist/schemas/bundled/relationship-catalog.json +1302 -0
  117. package/dist/schemas/bundled/relationship-type.schema.json +221 -0
  118. package/dist/server/server.js +1207 -0
  119. package/dist/server/server.js.map +7 -0
  120. package/dist/server/telemetry-middleware.js +24 -0
  121. package/dist/server/telemetry-middleware.js.map +7 -0
  122. package/dist/telemetry/console-interceptor.js +34 -0
  123. package/dist/telemetry/console-interceptor.js.map +7 -0
  124. package/dist/telemetry/index.js +54 -0
  125. package/dist/telemetry/index.js.map +7 -0
  126. package/dist/telemetry/resilient-exporter.js +41 -0
  127. package/dist/telemetry/resilient-exporter.js.map +7 -0
  128. package/dist/telemetry/resilient-log-exporter.js +41 -0
  129. package/dist/telemetry/resilient-log-exporter.js.map +7 -0
  130. package/dist/telemetry/test-instrumentation.js +32 -0
  131. package/dist/telemetry/test-instrumentation.js.map +7 -0
  132. package/dist/types/index.js +1 -0
  133. package/dist/types/index.js.map +7 -0
  134. package/dist/utils/element-utils.js +11 -0
  135. package/dist/utils/element-utils.js.map +7 -0
  136. package/dist/utils/errors.js +105 -0
  137. package/dist/utils/errors.js.map +7 -0
  138. package/dist/utils/file-io.js +69 -0
  139. package/dist/utils/file-io.js.map +7 -0
  140. package/dist/utils/globals.js +28 -0
  141. package/dist/utils/globals.js.map +7 -0
  142. package/dist/utils/model-path.js +22 -0
  143. package/dist/utils/model-path.js.map +7 -0
  144. package/dist/utils/project-paths.js +45 -0
  145. package/dist/utils/project-paths.js.map +7 -0
  146. package/dist/utils/spec-installer.js +85 -0
  147. package/dist/utils/spec-installer.js.map +7 -0
  148. package/dist/utils/spec-version.js +33 -0
  149. package/dist/utils/spec-version.js.map +7 -0
  150. package/dist/validators/index.js +15 -0
  151. package/dist/validators/index.js.map +7 -0
  152. package/dist/validators/naming-validator.js +82 -0
  153. package/dist/validators/naming-validator.js.map +7 -0
  154. package/dist/validators/reference-validator.js +106 -0
  155. package/dist/validators/reference-validator.js.map +7 -0
  156. package/dist/validators/schema-validator.js +148 -0
  157. package/dist/validators/schema-validator.js.map +7 -0
  158. package/dist/validators/semantic-validator.js +80 -0
  159. package/dist/validators/semantic-validator.js.map +7 -0
  160. package/dist/validators/types.js +48 -0
  161. package/dist/validators/types.js.map +7 -0
  162. package/dist/validators/validator.js +67 -0
  163. package/dist/validators/validator.js.map +7 -0
  164. package/docs/TEST-INSTRUMENTATION.md +405 -0
  165. package/docs/telemetry.md +427 -0
  166. package/package.json +70 -0
  167. package/test-debug.js +33 -0
  168. package/test-special.mjs +46 -0
  169. package/test_runner.ts +7 -0
@@ -0,0 +1,221 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://documentation-robotics.org/schemas/relationship-type.schema.json",
4
+ "title": "Relationship Type Schema",
5
+ "description": "JSON Schema for validating relationship type metadata in the relationship catalog",
6
+ "version": "2.0.0",
7
+
8
+ "definitions": {
9
+ "semantics": {
10
+ "type": "object",
11
+ "description": "Semantic properties of the relationship",
12
+ "properties": {
13
+ "directionality": {
14
+ "type": "string",
15
+ "enum": ["unidirectional", "bidirectional"],
16
+ "description": "Whether the relationship supports navigation in both directions"
17
+ },
18
+ "transitivity": {
19
+ "type": "boolean",
20
+ "description": "Whether the relationship is transitive (if A→B and B→C, then A→C)"
21
+ },
22
+ "symmetry": {
23
+ "type": "boolean",
24
+ "description": "Whether the relationship is symmetric (if A→B then B→A)"
25
+ }
26
+ },
27
+ "required": ["directionality", "transitivity", "symmetry"],
28
+ "additionalProperties": false
29
+ },
30
+
31
+ "example": {
32
+ "type": "object",
33
+ "description": "Example usage of the relationship",
34
+ "properties": {
35
+ "source": {
36
+ "type": "string",
37
+ "description": "Source element type"
38
+ },
39
+ "sourceLayer": {
40
+ "type": "string",
41
+ "pattern": "^\\d{2}-.+$",
42
+ "description": "Source layer (e.g., '02-business')"
43
+ },
44
+ "target": {
45
+ "type": "string",
46
+ "description": "Target element type"
47
+ },
48
+ "targetLayer": {
49
+ "type": "string",
50
+ "pattern": "^\\d{2}-.+$",
51
+ "description": "Target layer (e.g., '01-motivation')"
52
+ },
53
+ "value": {
54
+ "type": "string",
55
+ "description": "Example value (ID, reference, etc.)"
56
+ },
57
+ "description": {
58
+ "type": "string",
59
+ "description": "Human-readable description of the example"
60
+ }
61
+ },
62
+ "required": ["source", "target", "description"],
63
+ "additionalProperties": false
64
+ },
65
+
66
+ "relationshipType": {
67
+ "type": "object",
68
+ "description": "Definition of a single relationship type",
69
+ "properties": {
70
+ "id": {
71
+ "type": "string",
72
+ "pattern": "^[a-z][a-z0-9-]*$",
73
+ "description": "Unique identifier for the relationship (kebab-case)"
74
+ },
75
+ "predicate": {
76
+ "type": "string",
77
+ "pattern": "^[a-z][a-z0-9-]*$",
78
+ "description": "Forward direction predicate (kebab-case verb phrase)"
79
+ },
80
+ "inversePredicate": {
81
+ "type": "string",
82
+ "pattern": "^[a-z][a-z0-9-]*$",
83
+ "description": "Inverse direction predicate (kebab-case passive phrase)"
84
+ },
85
+ "category": {
86
+ "type": "string",
87
+ "enum": [
88
+ "structural",
89
+ "behavioral",
90
+ "dependency",
91
+ "traceability",
92
+ "governance",
93
+ "apm",
94
+ "security",
95
+ "ux",
96
+ "data"
97
+ ],
98
+ "description": "Relationship category"
99
+ },
100
+ "archimateAlignment": {
101
+ "type": ["string", "null"],
102
+ "enum": [
103
+ "Composition",
104
+ "Aggregation",
105
+ "Specialization",
106
+ "Realization",
107
+ "Assignment",
108
+ "Triggering",
109
+ "Flow",
110
+ "Serving",
111
+ "Access",
112
+ "Influence",
113
+ null
114
+ ],
115
+ "description": "Corresponding ArchiMate 3.2 relationship type, if any"
116
+ },
117
+ "description": {
118
+ "type": "string",
119
+ "minLength": 10,
120
+ "description": "Clear, concise description of the relationship semantics"
121
+ },
122
+ "semantics": {
123
+ "$ref": "#/definitions/semantics"
124
+ },
125
+ "applicableLayers": {
126
+ "type": "array",
127
+ "items": {
128
+ "type": "string",
129
+ "pattern": "^\\d{2}$"
130
+ },
131
+ "minItems": 1,
132
+ "description": "Layer IDs where this relationship can be used (e.g., ['01', '02'])"
133
+ },
134
+ "fieldPaths": {
135
+ "type": "array",
136
+ "items": {
137
+ "type": "string",
138
+ "pattern": "^([a-z][a-zA-Z0-9]*\\.[a-z][a-z0-9-]*|x-[a-z][a-z0-9-]*)$"
139
+ },
140
+ "description": "Property paths that encode this relationship (e.g., 'motivation.supports-goals')"
141
+ },
142
+ "examples": {
143
+ "type": "array",
144
+ "items": {
145
+ "$ref": "#/definitions/example"
146
+ },
147
+ "minItems": 1,
148
+ "description": "Example usages of this relationship"
149
+ }
150
+ },
151
+ "required": [
152
+ "id",
153
+ "predicate",
154
+ "inversePredicate",
155
+ "category",
156
+ "description",
157
+ "semantics",
158
+ "applicableLayers",
159
+ "examples"
160
+ ],
161
+ "additionalProperties": false
162
+ }
163
+ },
164
+
165
+ "type": "object",
166
+ "properties": {
167
+ "$schema": {
168
+ "type": "string",
169
+ "format": "uri"
170
+ },
171
+ "title": {
172
+ "type": "string"
173
+ },
174
+ "description": {
175
+ "type": "string"
176
+ },
177
+ "version": {
178
+ "type": "string",
179
+ "pattern": "^\\d+\\.\\d+\\.\\d+$"
180
+ },
181
+ "generatedBy": {
182
+ "type": "string"
183
+ },
184
+ "lastUpdated": {
185
+ "type": "string",
186
+ "format": "date"
187
+ },
188
+ "relationshipTypes": {
189
+ "type": "array",
190
+ "items": {
191
+ "$ref": "#/definitions/relationshipType"
192
+ },
193
+ "minItems": 1
194
+ },
195
+ "metadata": {
196
+ "type": "object",
197
+ "properties": {
198
+ "totalRelationships": {
199
+ "type": "integer",
200
+ "minimum": 0
201
+ },
202
+ "categoryCounts": {
203
+ "type": "object",
204
+ "additionalProperties": {
205
+ "type": "integer",
206
+ "minimum": 0
207
+ }
208
+ },
209
+ "archimateAligned": {
210
+ "type": "integer",
211
+ "minimum": 0
212
+ },
213
+ "documentationRoboticsExtensions": {
214
+ "type": "integer",
215
+ "minimum": 0
216
+ }
217
+ }
218
+ }
219
+ },
220
+ "required": ["$schema", "title", "description", "version", "relationshipTypes"]
221
+ }