kibi-cli 0.11.3 → 0.12.1

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 (33) hide show
  1. package/dist/commands/check.d.ts.map +1 -1
  2. package/dist/commands/check.js +99 -3
  3. package/dist/commands/migrate.d.ts.map +1 -1
  4. package/dist/commands/migrate.js +155 -1
  5. package/dist/extractors/manifest.d.ts +2 -1
  6. package/dist/extractors/manifest.d.ts.map +1 -1
  7. package/dist/extractors/manifest.js +3 -0
  8. package/dist/extractors/markdown.d.ts +1 -1
  9. package/dist/extractors/markdown.d.ts.map +1 -1
  10. package/dist/public/schemas/entity.d.ts +1 -127
  11. package/dist/public/schemas/entity.d.ts.map +1 -1
  12. package/dist/public/schemas/entity.js +88 -2
  13. package/dist/public/schemas/relationship.d.ts.map +1 -1
  14. package/dist/public/schemas/relationship.js +1 -0
  15. package/dist/schemas/entity.schema.json +90 -4
  16. package/dist/traceability/staged-diagnostics.d.ts +1 -1
  17. package/dist/traceability/staged-diagnostics.d.ts.map +1 -1
  18. package/dist/traceability/symbol-extract.d.ts +1 -1
  19. package/dist/traceability/symbol-extract.d.ts.map +1 -1
  20. package/dist/traceability/symbol-extract.js +34 -4
  21. package/dist/traceability/temp-kb.d.ts.map +1 -1
  22. package/dist/traceability/temp-kb.js +2 -6
  23. package/dist/types/entities.d.ts +11 -2
  24. package/dist/types/entities.d.ts.map +1 -1
  25. package/dist/types/relationships.d.ts +1 -1
  26. package/dist/types/relationships.d.ts.map +1 -1
  27. package/dist/utils/schema-version.d.ts +1 -1
  28. package/dist/utils/schema-version.js +1 -1
  29. package/package.json +9 -3
  30. package/src/public/schemas/entity.ts +98 -5
  31. package/src/public/schemas/relationship.ts +1 -0
  32. package/src/schemas/entity.schema.json +90 -4
  33. package/src/schemas/relationship.schema.json +1 -0
@@ -34,6 +34,7 @@ const relationshipSchema = {
34
34
  "constrained_by",
35
35
  "constrains",
36
36
  "requires_property",
37
+ "requires_predicate",
37
38
  "guards",
38
39
  "publishes",
39
40
  "consumes",
@@ -39,6 +39,15 @@
39
39
  "links": { "type": "array", "items": { "type": "string" } },
40
40
  "text_ref": { "type": "string" },
41
41
  "sourceFile": { "type": "string" },
42
+ "granularity_reason": {
43
+ "type": "string",
44
+ "enum": [
45
+ "config-artifact",
46
+ "module-level-behavior",
47
+ "extractor-miss",
48
+ "legacy-link"
49
+ ]
50
+ },
42
51
  "verification_scope": {
43
52
  "type": "string",
44
53
  "enum": ["unit", "integration", "end_to_end"]
@@ -62,7 +71,14 @@
62
71
  },
63
72
  "fact_kind": {
64
73
  "type": "string",
65
- "enum": ["subject", "property_value", "observation", "meta"]
74
+ "enum": [
75
+ "subject",
76
+ "property_value",
77
+ "observation",
78
+ "meta",
79
+ "predicate_schema",
80
+ "predicate"
81
+ ]
66
82
  },
67
83
  "subject_key": { "type": "string" },
68
84
  "property_key": { "type": "string" },
@@ -80,11 +96,26 @@
80
96
  "value_bool": { "type": "boolean" },
81
97
  "unit": { "type": "string" },
82
98
  "scope": { "type": "string" },
83
- "polarity": { "type": "string", "enum": ["require", "forbid"] },
99
+ "polarity": {
100
+ "type": "string",
101
+ "enum": ["require", "forbid", "assert", "deny"]
102
+ },
84
103
  "closed_world": { "type": "boolean" },
85
104
  "valid_from": { "type": "string" },
86
105
  "valid_to": { "type": "string" },
87
- "canonical_key": { "type": "string" }
106
+ "canonical_key": { "type": "string" },
107
+ "predicate_name": { "type": "string" },
108
+ "predicate_namespace": { "type": "string" },
109
+ "predicate_arity": { "type": "integer", "minimum": 1 },
110
+ "argument_names": { "type": "array", "items": { "type": "string" } },
111
+ "argument_types": { "type": "array", "items": { "type": "string" } },
112
+ "argument_descriptions": {
113
+ "type": "array",
114
+ "items": { "type": "string" }
115
+ },
116
+ "aliases": { "type": "array", "items": { "type": "string" } },
117
+ "examples": { "type": "array", "items": { "type": "string" } },
118
+ "predicate_args": { "type": "array", "items": { "type": "string" } }
88
119
  },
89
120
  "required": [
90
121
  "id",
@@ -133,10 +164,65 @@
133
164
  { "required": ["closed_world"] },
134
165
  { "required": ["valid_from"] },
135
166
  { "required": ["valid_to"] },
136
- { "required": ["canonical_key"] }
167
+ { "required": ["canonical_key"] },
168
+ { "required": ["predicate_name"] },
169
+ { "required": ["predicate_namespace"] },
170
+ { "required": ["predicate_arity"] },
171
+ { "required": ["argument_names"] },
172
+ { "required": ["argument_types"] },
173
+ { "required": ["argument_descriptions"] },
174
+ { "required": ["aliases"] },
175
+ { "required": ["examples"] },
176
+ { "required": ["predicate_args"] }
137
177
  ]
138
178
  }
139
179
  }
180
+ },
181
+ {
182
+ "if": {
183
+ "properties": {
184
+ "type": { "const": "fact" },
185
+ "fact_kind": { "const": "predicate_schema" }
186
+ },
187
+ "required": ["type", "fact_kind"]
188
+ },
189
+ "then": {
190
+ "required": [
191
+ "predicate_name",
192
+ "predicate_arity",
193
+ "argument_names",
194
+ "argument_types"
195
+ ]
196
+ }
197
+ },
198
+ {
199
+ "if": {
200
+ "properties": {
201
+ "type": { "const": "fact" },
202
+ "fact_kind": { "const": "predicate" }
203
+ },
204
+ "required": ["type", "fact_kind"]
205
+ },
206
+ "then": {
207
+ "required": ["predicate_name", "predicate_args", "canonical_key"],
208
+ "properties": {
209
+ "polarity": { "enum": ["assert", "deny"] }
210
+ }
211
+ }
212
+ },
213
+ {
214
+ "if": {
215
+ "properties": {
216
+ "type": { "const": "fact" },
217
+ "fact_kind": { "const": "property_value" }
218
+ },
219
+ "required": ["type", "fact_kind"]
220
+ },
221
+ "then": {
222
+ "properties": {
223
+ "polarity": { "enum": ["require", "forbid"] }
224
+ }
225
+ }
140
226
  }
141
227
  ],
142
228
  "additionalProperties": false
@@ -16,6 +16,7 @@
16
16
  "constrained_by",
17
17
  "constrains",
18
18
  "requires_property",
19
+ "requires_predicate",
19
20
  "guards",
20
21
  "publishes",
21
22
  "consumes",