@ontologie/cli 0.1.0-preview.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 (266) hide show
  1. package/README.md +492 -0
  2. package/dist/cache/keys.d.ts +11 -0
  3. package/dist/cache/keys.d.ts.map +1 -0
  4. package/dist/cache/keys.js +14 -0
  5. package/dist/cache/keys.js.map +1 -0
  6. package/dist/cache/store.d.ts +23 -0
  7. package/dist/cache/store.d.ts.map +1 -0
  8. package/dist/cache/store.js +160 -0
  9. package/dist/cache/store.js.map +1 -0
  10. package/dist/cli-compat.d.ts +6 -0
  11. package/dist/cli-compat.d.ts.map +1 -0
  12. package/dist/cli-compat.js +11 -0
  13. package/dist/cli-compat.js.map +1 -0
  14. package/dist/cli.d.ts +30 -0
  15. package/dist/cli.d.ts.map +1 -0
  16. package/dist/cli.js +119 -0
  17. package/dist/cli.js.map +1 -0
  18. package/dist/client.d.ts +7 -0
  19. package/dist/client.d.ts.map +1 -0
  20. package/dist/client.js +15 -0
  21. package/dist/client.js.map +1 -0
  22. package/dist/commands/actions.d.ts +22 -0
  23. package/dist/commands/actions.d.ts.map +1 -0
  24. package/dist/commands/actions.js +211 -0
  25. package/dist/commands/actions.js.map +1 -0
  26. package/dist/commands/agent-files.d.ts +27 -0
  27. package/dist/commands/agent-files.d.ts.map +1 -0
  28. package/dist/commands/agent-files.js +167 -0
  29. package/dist/commands/agent-files.js.map +1 -0
  30. package/dist/commands/agent.d.ts +23 -0
  31. package/dist/commands/agent.d.ts.map +1 -0
  32. package/dist/commands/agent.js +314 -0
  33. package/dist/commands/agent.js.map +1 -0
  34. package/dist/commands/audit.d.ts +11 -0
  35. package/dist/commands/audit.d.ts.map +1 -0
  36. package/dist/commands/audit.js +94 -0
  37. package/dist/commands/audit.js.map +1 -0
  38. package/dist/commands/cache.d.ts +8 -0
  39. package/dist/commands/cache.d.ts.map +1 -0
  40. package/dist/commands/cache.js +40 -0
  41. package/dist/commands/cache.js.map +1 -0
  42. package/dist/commands/capabilities.d.ts +56 -0
  43. package/dist/commands/capabilities.d.ts.map +1 -0
  44. package/dist/commands/capabilities.js +304 -0
  45. package/dist/commands/capabilities.js.map +1 -0
  46. package/dist/commands/check.d.ts +7 -0
  47. package/dist/commands/check.d.ts.map +1 -0
  48. package/dist/commands/check.js +16 -0
  49. package/dist/commands/check.js.map +1 -0
  50. package/dist/commands/config.d.ts +6 -0
  51. package/dist/commands/config.d.ts.map +1 -0
  52. package/dist/commands/config.js +133 -0
  53. package/dist/commands/config.js.map +1 -0
  54. package/dist/commands/context.d.ts +6 -0
  55. package/dist/commands/context.d.ts.map +1 -0
  56. package/dist/commands/context.js +226 -0
  57. package/dist/commands/context.js.map +1 -0
  58. package/dist/commands/dev.d.ts +15 -0
  59. package/dist/commands/dev.d.ts.map +1 -0
  60. package/dist/commands/dev.js +62 -0
  61. package/dist/commands/dev.js.map +1 -0
  62. package/dist/commands/docs-alias.d.ts +14 -0
  63. package/dist/commands/docs-alias.d.ts.map +1 -0
  64. package/dist/commands/docs-alias.js +28 -0
  65. package/dist/commands/docs-alias.js.map +1 -0
  66. package/dist/commands/docs.d.ts +6 -0
  67. package/dist/commands/docs.d.ts.map +1 -0
  68. package/dist/commands/docs.js +67 -0
  69. package/dist/commands/docs.js.map +1 -0
  70. package/dist/commands/doctor.d.ts +6 -0
  71. package/dist/commands/doctor.d.ts.map +1 -0
  72. package/dist/commands/doctor.js +161 -0
  73. package/dist/commands/doctor.js.map +1 -0
  74. package/dist/commands/generate.d.ts +7 -0
  75. package/dist/commands/generate.d.ts.map +1 -0
  76. package/dist/commands/generate.js +36 -0
  77. package/dist/commands/generate.js.map +1 -0
  78. package/dist/commands/graph.d.ts +9 -0
  79. package/dist/commands/graph.d.ts.map +1 -0
  80. package/dist/commands/graph.js +149 -0
  81. package/dist/commands/graph.js.map +1 -0
  82. package/dist/commands/import.d.ts +19 -0
  83. package/dist/commands/import.d.ts.map +1 -0
  84. package/dist/commands/import.js +330 -0
  85. package/dist/commands/import.js.map +1 -0
  86. package/dist/commands/index.d.ts +80 -0
  87. package/dist/commands/index.d.ts.map +1 -0
  88. package/dist/commands/index.js +345 -0
  89. package/dist/commands/index.js.map +1 -0
  90. package/dist/commands/init.d.ts +7 -0
  91. package/dist/commands/init.d.ts.map +1 -0
  92. package/dist/commands/init.js +101 -0
  93. package/dist/commands/init.js.map +1 -0
  94. package/dist/commands/instances.d.ts +7 -0
  95. package/dist/commands/instances.d.ts.map +1 -0
  96. package/dist/commands/instances.js +418 -0
  97. package/dist/commands/instances.js.map +1 -0
  98. package/dist/commands/keys.d.ts +6 -0
  99. package/dist/commands/keys.d.ts.map +1 -0
  100. package/dist/commands/keys.js +113 -0
  101. package/dist/commands/keys.js.map +1 -0
  102. package/dist/commands/knowledge.d.ts +6 -0
  103. package/dist/commands/knowledge.d.ts.map +1 -0
  104. package/dist/commands/knowledge.js +76 -0
  105. package/dist/commands/knowledge.js.map +1 -0
  106. package/dist/commands/model.d.ts +3 -0
  107. package/dist/commands/model.d.ts.map +1 -0
  108. package/dist/commands/model.js +40 -0
  109. package/dist/commands/model.js.map +1 -0
  110. package/dist/commands/nodes.d.ts +6 -0
  111. package/dist/commands/nodes.d.ts.map +1 -0
  112. package/dist/commands/nodes.js +111 -0
  113. package/dist/commands/nodes.js.map +1 -0
  114. package/dist/commands/openapi.d.ts +7 -0
  115. package/dist/commands/openapi.d.ts.map +1 -0
  116. package/dist/commands/openapi.js +17 -0
  117. package/dist/commands/openapi.js.map +1 -0
  118. package/dist/commands/plan.d.ts +19 -0
  119. package/dist/commands/plan.d.ts.map +1 -0
  120. package/dist/commands/plan.js +563 -0
  121. package/dist/commands/plan.js.map +1 -0
  122. package/dist/commands/process.d.ts +3 -0
  123. package/dist/commands/process.d.ts.map +1 -0
  124. package/dist/commands/process.js +67 -0
  125. package/dist/commands/process.js.map +1 -0
  126. package/dist/commands/query.d.ts +26 -0
  127. package/dist/commands/query.d.ts.map +1 -0
  128. package/dist/commands/query.js +253 -0
  129. package/dist/commands/query.js.map +1 -0
  130. package/dist/commands/schema.d.ts +24 -0
  131. package/dist/commands/schema.d.ts.map +1 -0
  132. package/dist/commands/schema.js +933 -0
  133. package/dist/commands/schema.js.map +1 -0
  134. package/dist/commands/search.d.ts +10 -0
  135. package/dist/commands/search.d.ts.map +1 -0
  136. package/dist/commands/search.js +74 -0
  137. package/dist/commands/search.js.map +1 -0
  138. package/dist/commands/shared.d.ts +32 -0
  139. package/dist/commands/shared.d.ts.map +1 -0
  140. package/dist/commands/shared.js +63 -0
  141. package/dist/commands/shared.js.map +1 -0
  142. package/dist/commands/usage.d.ts +6 -0
  143. package/dist/commands/usage.d.ts.map +1 -0
  144. package/dist/commands/usage.js +86 -0
  145. package/dist/commands/usage.js.map +1 -0
  146. package/dist/commands/validators.d.ts +30 -0
  147. package/dist/commands/validators.d.ts.map +1 -0
  148. package/dist/commands/validators.js +93 -0
  149. package/dist/commands/validators.js.map +1 -0
  150. package/dist/commands/whoami.d.ts +6 -0
  151. package/dist/commands/whoami.d.ts.map +1 -0
  152. package/dist/commands/whoami.js +48 -0
  153. package/dist/commands/whoami.js.map +1 -0
  154. package/dist/config.d.ts +47 -0
  155. package/dist/config.d.ts.map +1 -0
  156. package/dist/config.js +127 -0
  157. package/dist/config.js.map +1 -0
  158. package/dist/credentials.d.ts +9 -0
  159. package/dist/credentials.d.ts.map +1 -0
  160. package/dist/credentials.js +79 -0
  161. package/dist/credentials.js.map +1 -0
  162. package/dist/keychain.d.ts +9 -0
  163. package/dist/keychain.d.ts.map +1 -0
  164. package/dist/keychain.js +51 -0
  165. package/dist/keychain.js.map +1 -0
  166. package/dist/output/csv.d.ts +5 -0
  167. package/dist/output/csv.d.ts.map +1 -0
  168. package/dist/output/csv.js +22 -0
  169. package/dist/output/csv.js.map +1 -0
  170. package/dist/output/envelope.schema.d.ts +1053 -0
  171. package/dist/output/envelope.schema.d.ts.map +1 -0
  172. package/dist/output/envelope.schema.js +256 -0
  173. package/dist/output/envelope.schema.js.map +1 -0
  174. package/dist/output/errors.d.ts +58 -0
  175. package/dist/output/errors.d.ts.map +1 -0
  176. package/dist/output/errors.js +339 -0
  177. package/dist/output/errors.js.map +1 -0
  178. package/dist/output/formatter.d.ts +27 -0
  179. package/dist/output/formatter.d.ts.map +1 -0
  180. package/dist/output/formatter.js +80 -0
  181. package/dist/output/formatter.js.map +1 -0
  182. package/dist/output/json.d.ts +41 -0
  183. package/dist/output/json.d.ts.map +1 -0
  184. package/dist/output/json.js +215 -0
  185. package/dist/output/json.js.map +1 -0
  186. package/dist/output/markdown.d.ts +6 -0
  187. package/dist/output/markdown.d.ts.map +1 -0
  188. package/dist/output/markdown.js +51 -0
  189. package/dist/output/markdown.js.map +1 -0
  190. package/dist/output/meta.d.ts +49 -0
  191. package/dist/output/meta.d.ts.map +1 -0
  192. package/dist/output/meta.js +96 -0
  193. package/dist/output/meta.js.map +1 -0
  194. package/dist/output/plain.d.ts +6 -0
  195. package/dist/output/plain.d.ts.map +1 -0
  196. package/dist/output/plain.js +51 -0
  197. package/dist/output/plain.js.map +1 -0
  198. package/dist/output/table.d.ts +5 -0
  199. package/dist/output/table.d.ts.map +1 -0
  200. package/dist/output/table.js +54 -0
  201. package/dist/output/table.js.map +1 -0
  202. package/dist/output/types.d.ts +54 -0
  203. package/dist/output/types.d.ts.map +1 -0
  204. package/dist/output/types.js +80 -0
  205. package/dist/output/types.js.map +1 -0
  206. package/dist/output/warnings.d.ts +15 -0
  207. package/dist/output/warnings.d.ts.map +1 -0
  208. package/dist/output/warnings.js +46 -0
  209. package/dist/output/warnings.js.map +1 -0
  210. package/dist/output/yaml.d.ts +6 -0
  211. package/dist/output/yaml.d.ts.map +1 -0
  212. package/dist/output/yaml.js +9 -0
  213. package/dist/output/yaml.js.map +1 -0
  214. package/dist/schema/breaking-changes.d.ts +17 -0
  215. package/dist/schema/breaking-changes.d.ts.map +1 -0
  216. package/dist/schema/breaking-changes.js +108 -0
  217. package/dist/schema/breaking-changes.js.map +1 -0
  218. package/dist/schema/helpers.d.ts +18 -0
  219. package/dist/schema/helpers.d.ts.map +1 -0
  220. package/dist/schema/helpers.js +48 -0
  221. package/dist/schema/helpers.js.map +1 -0
  222. package/dist/schema/load-schema-file.d.ts +13 -0
  223. package/dist/schema/load-schema-file.d.ts.map +1 -0
  224. package/dist/schema/load-schema-file.js +88 -0
  225. package/dist/schema/load-schema-file.js.map +1 -0
  226. package/dist/schema/lockfile.d.ts +6 -0
  227. package/dist/schema/lockfile.d.ts.map +1 -0
  228. package/dist/schema/lockfile.js +34 -0
  229. package/dist/schema/lockfile.js.map +1 -0
  230. package/dist/schema/manifest-client.d.ts +31 -0
  231. package/dist/schema/manifest-client.d.ts.map +1 -0
  232. package/dist/schema/manifest-client.js +282 -0
  233. package/dist/schema/manifest-client.js.map +1 -0
  234. package/dist/schema/output.d.ts +38 -0
  235. package/dist/schema/output.d.ts.map +1 -0
  236. package/dist/schema/output.js +95 -0
  237. package/dist/schema/output.js.map +1 -0
  238. package/dist/stdin.d.ts +8 -0
  239. package/dist/stdin.d.ts.map +1 -0
  240. package/dist/stdin.js +21 -0
  241. package/dist/stdin.js.map +1 -0
  242. package/dist/templates/basic.d.ts +6 -0
  243. package/dist/templates/basic.d.ts.map +1 -0
  244. package/dist/templates/basic.js +90 -0
  245. package/dist/templates/basic.js.map +1 -0
  246. package/dist/templates/contract-review.d.ts +9 -0
  247. package/dist/templates/contract-review.d.ts.map +1 -0
  248. package/dist/templates/contract-review.js +172 -0
  249. package/dist/templates/contract-review.js.map +1 -0
  250. package/dist/templates/customer-onboarding.d.ts +9 -0
  251. package/dist/templates/customer-onboarding.d.ts.map +1 -0
  252. package/dist/templates/customer-onboarding.js +176 -0
  253. package/dist/templates/customer-onboarding.js.map +1 -0
  254. package/dist/templates/index.d.ts +11 -0
  255. package/dist/templates/index.d.ts.map +1 -0
  256. package/dist/templates/index.js +16 -0
  257. package/dist/templates/index.js.map +1 -0
  258. package/dist/templates/react-dashboard.d.ts +6 -0
  259. package/dist/templates/react-dashboard.d.ts.map +1 -0
  260. package/dist/templates/react-dashboard.js +146 -0
  261. package/dist/templates/react-dashboard.js.map +1 -0
  262. package/dist/templates/vendor-risk.d.ts +9 -0
  263. package/dist/templates/vendor-risk.d.ts.map +1 -0
  264. package/dist/templates/vendor-risk.js +186 -0
  265. package/dist/templates/vendor-risk.js.map +1 -0
  266. package/package.json +47 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plain.d.ts","sourceRoot":"","sources":["../../src/output/plain.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAgBlE"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Plain text output — agent-friendly structured text
3
+ */
4
+ export function outputPlain(data, meta) {
5
+ if (Array.isArray(data)) {
6
+ for (const item of data) {
7
+ outputPlainItem(item);
8
+ process.stdout.write('\n');
9
+ }
10
+ }
11
+ else if (typeof data === 'object' && data !== null) {
12
+ outputPlainItem(data);
13
+ }
14
+ else {
15
+ process.stdout.write(String(data) + '\n');
16
+ }
17
+ if (meta) {
18
+ process.stdout.write(`---\n`);
19
+ process.stdout.write(`Source: ${meta.source} | ${meta.latency_ms}ms | ${meta.retrievedAt}\n`);
20
+ }
21
+ }
22
+ function outputPlainItem(obj, indent = 0) {
23
+ const prefix = ' '.repeat(indent);
24
+ for (const [key, value] of Object.entries(obj)) {
25
+ if (value === null || value === undefined)
26
+ continue;
27
+ if (typeof value === 'object' && !Array.isArray(value)) {
28
+ process.stdout.write(`${prefix}${key}:\n`);
29
+ outputPlainItem(value, indent + 2);
30
+ }
31
+ else if (Array.isArray(value)) {
32
+ process.stdout.write(`${prefix}${key}: [${value.length} items]\n`);
33
+ for (const item of value.slice(0, 5)) {
34
+ if (typeof item === 'object' && item !== null) {
35
+ process.stdout.write(`${prefix} -\n`);
36
+ outputPlainItem(item, indent + 4);
37
+ }
38
+ else {
39
+ process.stdout.write(`${prefix} - ${String(item)}\n`);
40
+ }
41
+ }
42
+ if (value.length > 5) {
43
+ process.stdout.write(`${prefix} ... and ${value.length - 5} more\n`);
44
+ }
45
+ }
46
+ else {
47
+ process.stdout.write(`${prefix}${key}: ${String(value)}\n`);
48
+ }
49
+ }
50
+ }
51
+ //# sourceMappingURL=plain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plain.js","sourceRoot":"","sources":["../../src/output/plain.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,UAAU,WAAW,CAAC,IAAa,EAAE,IAAiB;IAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACrD,eAAe,CAAC,IAA+B,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,UAAU,QAAQ,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,GAA4B,EAAE,MAAM,GAAG,CAAC;IAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC;YAC3C,eAAe,CAAC,KAAgC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAChE,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,WAAW,CAAC,CAAC;YACnE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACrC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,CAAC;oBACvC,eAAe,CAAC,IAA+B,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC/D,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,aAAa,KAAK,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,GAAG,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Lightweight ASCII table renderer (~80 LOC, no dependency)
3
+ */
4
+ export declare function outputTable(rows: Record<string, unknown>[], columns?: string[]): void;
5
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/output/table.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CA4CrF"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Lightweight ASCII table renderer (~80 LOC, no dependency)
3
+ */
4
+ const MAX_COL_WIDTH = 40;
5
+ const isTTY = process.stdout.isTTY;
6
+ function truncate(str, max) {
7
+ if (str.length <= max)
8
+ return str;
9
+ return str.slice(0, max - 1) + '…';
10
+ }
11
+ function pad(str, width) {
12
+ return str + ' '.repeat(Math.max(0, width - str.length));
13
+ }
14
+ export function outputTable(rows, columns) {
15
+ if (rows.length === 0) {
16
+ process.stdout.write('(no results)\n');
17
+ return;
18
+ }
19
+ const cols = columns || Object.keys(rows[0]);
20
+ // Compute column widths
21
+ const widths = new Map();
22
+ for (const col of cols) {
23
+ widths.set(col, col.length);
24
+ }
25
+ for (const row of rows) {
26
+ for (const col of cols) {
27
+ const val = String(row[col] ?? '');
28
+ const len = Math.min(val.length, MAX_COL_WIDTH);
29
+ widths.set(col, Math.max(widths.get(col), len));
30
+ }
31
+ }
32
+ // Header
33
+ const headerLine = cols.map(c => pad(c.toUpperCase(), widths.get(c))).join(' ');
34
+ if (isTTY) {
35
+ process.stdout.write(`\x1b[1m${headerLine}\x1b[0m\n`);
36
+ }
37
+ else {
38
+ process.stdout.write(headerLine + '\n');
39
+ }
40
+ // Separator
41
+ const sep = cols.map(c => '─'.repeat(widths.get(c))).join('──');
42
+ process.stdout.write(sep + '\n');
43
+ // Rows
44
+ for (const row of rows) {
45
+ const line = cols.map(c => {
46
+ const val = String(row[c] ?? '');
47
+ return pad(truncate(val, MAX_COL_WIDTH), widths.get(c));
48
+ }).join(' ');
49
+ process.stdout.write(line + '\n');
50
+ }
51
+ // Footer
52
+ process.stdout.write(`\n${rows.length} row(s)\n`);
53
+ }
54
+ //# sourceMappingURL=table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/output/table.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * CLI JSON Contract types — dataforge.cli.v1
3
+ *
4
+ * Canonical reference: sdk/docs/cli-contract.md
5
+ *
6
+ * SOT direction:
7
+ * - Zod schemas in `./envelope.schema.ts` are the source of truth.
8
+ * - Derived TypeScript types (`CliMeta`, `CliError`, `CliWarning`, `CliPage`,
9
+ * `CliEnvelope`, `CliEnvironment`, `CliErrorCode`, `CLI_META_SCHEMA_VERSION`)
10
+ * are exported from `envelope.schema.ts` via `z.infer` and re-exported here.
11
+ * - The ZOD-TS-PARITY-01 structural ratchet enforces this direction.
12
+ * - Hand-written types in this file (JSONL events, exit map, helpers) cover
13
+ * surfaces Zod cannot model directly (generic payloads, runtime helpers).
14
+ */
15
+ export { CLI_META_SCHEMA_VERSION, type CliMetaSchemaVersion, type CliEnvironment, type CliErrorCode, type CliMeta, type CliError, type CliWarning, type CliPage, type CliEnvelope, } from './envelope.schema.js';
16
+ import type { CliErrorCode } from './envelope.schema.js';
17
+ export declare const ERROR_EXIT_MAP: Record<CliErrorCode, number>;
18
+ import type { CliMeta, CliError, CliWarning } from './envelope.schema.js';
19
+ export type JsonlEventType = 'started' | 'progress' | 'item' | 'warning' | 'completed' | 'error';
20
+ export interface JsonlStartedEvent {
21
+ type: 'started';
22
+ meta: CliMeta;
23
+ total: number | null;
24
+ }
25
+ export interface JsonlProgressEvent {
26
+ type: 'progress';
27
+ current: number;
28
+ total: number | null;
29
+ message: string;
30
+ }
31
+ export interface JsonlItemEvent<T = unknown> {
32
+ type: 'item';
33
+ data: T;
34
+ }
35
+ export interface JsonlWarningEvent {
36
+ type: 'warning';
37
+ warning: CliWarning;
38
+ }
39
+ export interface JsonlCompletedEvent {
40
+ type: 'completed';
41
+ meta: CliMeta;
42
+ summary: {
43
+ count: number;
44
+ costUnits: number;
45
+ };
46
+ }
47
+ export interface JsonlErrorEvent {
48
+ type: 'error';
49
+ error: CliError;
50
+ }
51
+ export type JsonlEvent<T = unknown> = JsonlStartedEvent | JsonlProgressEvent | JsonlItemEvent<T> | JsonlWarningEvent | JsonlCompletedEvent | JsonlErrorEvent;
52
+ export declare function isRetryable(code: CliErrorCode): boolean;
53
+ export declare function generateRequestId(prefix?: 'req' | 'local_req' | 'mock_req'): string;
54
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/output/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,OAAO,EACL,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,WAAW,GACjB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAqCvD,CAAC;AAMF,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE1E,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;AAEjG,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,OAAO,IAC9B,iBAAiB,GACjB,kBAAkB,GAClB,cAAc,CAAC,CAAC,CAAC,GACjB,iBAAiB,GACjB,mBAAmB,GACnB,eAAe,CAAC;AAiBpB,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAEvD;AAMD,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,KAAK,GAAG,WAAW,GAAG,UAAwB,GAAG,MAAM,CAEhG"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * CLI JSON Contract types — dataforge.cli.v1
3
+ *
4
+ * Canonical reference: sdk/docs/cli-contract.md
5
+ *
6
+ * SOT direction:
7
+ * - Zod schemas in `./envelope.schema.ts` are the source of truth.
8
+ * - Derived TypeScript types (`CliMeta`, `CliError`, `CliWarning`, `CliPage`,
9
+ * `CliEnvelope`, `CliEnvironment`, `CliErrorCode`, `CLI_META_SCHEMA_VERSION`)
10
+ * are exported from `envelope.schema.ts` via `z.infer` and re-exported here.
11
+ * - The ZOD-TS-PARITY-01 structural ratchet enforces this direction.
12
+ * - Hand-written types in this file (JSONL events, exit map, helpers) cover
13
+ * surfaces Zod cannot model directly (generic payloads, runtime helpers).
14
+ */
15
+ import { randomUUID } from 'node:crypto';
16
+ // ---------------------------------------------------------------------------
17
+ // Re-exports from the Zod SOT (envelope.schema.ts)
18
+ // ---------------------------------------------------------------------------
19
+ export { CLI_META_SCHEMA_VERSION, } from './envelope.schema.js';
20
+ export const ERROR_EXIT_MAP = {
21
+ // Exit 1 — General / internal / unavailable / not found
22
+ INTERNAL_ERROR: 1,
23
+ NOT_FOUND: 1,
24
+ UNAVAILABLE: 1,
25
+ RUNTIME_UNAVAILABLE: 1,
26
+ // Exit 2 — Usage or validation
27
+ INVALID_USAGE: 2,
28
+ VALIDATION_ERROR: 2,
29
+ // Exit 3 — Authentication
30
+ AUTHENTICATION_ERROR: 3,
31
+ // Exit 4 — Authorization
32
+ AUTHORIZATION_ERROR: 4,
33
+ WRITE_POLICY_VIOLATION: 4,
34
+ // Exit 5 — Capability drift
35
+ CAPABILITY_DRIFT_ERROR: 5,
36
+ // Exit 6 — Schema drift
37
+ SCHEMA_DRIFT_ERROR: 6,
38
+ // Exit 7 — Conflict
39
+ CONFLICT_ERROR: 7,
40
+ // Exit 8 — Rate limited
41
+ RATE_LIMITED: 8,
42
+ // Exit 9 — Network / timeout
43
+ NETWORK_ERROR: 9,
44
+ TIMEOUT_ERROR: 9,
45
+ // Exit 10 — Precondition / confirmation / policy
46
+ PRECONDITION_FAILED: 10,
47
+ CONFIRMATION_REQUIRED: 10,
48
+ POLICY_VIOLATION: 10,
49
+ PLAN_POLICY_MISMATCH: 10,
50
+ SOURCE_OF_TRUTH_CONFLICT: 10,
51
+ PLAN_CONTEXT_MISMATCH: 10,
52
+ // Exit 11 — Quota / budget
53
+ QUOTA_EXCEEDED: 11,
54
+ BUDGET_EXCEEDED: 11,
55
+ // Exit 12 — Configuration
56
+ CONFIGURATION_ERROR: 12,
57
+ };
58
+ // ---------------------------------------------------------------------------
59
+ // Retryable codes
60
+ // ---------------------------------------------------------------------------
61
+ const RETRYABLE_CODES = new Set([
62
+ 'RATE_LIMITED',
63
+ 'CONFLICT_ERROR',
64
+ 'PLAN_POLICY_MISMATCH',
65
+ 'PLAN_CONTEXT_MISMATCH',
66
+ 'NETWORK_ERROR',
67
+ 'TIMEOUT_ERROR',
68
+ 'UNAVAILABLE',
69
+ 'RUNTIME_UNAVAILABLE',
70
+ ]);
71
+ export function isRetryable(code) {
72
+ return RETRYABLE_CODES.has(code);
73
+ }
74
+ // ---------------------------------------------------------------------------
75
+ // Request ID generation
76
+ // ---------------------------------------------------------------------------
77
+ export function generateRequestId(prefix = 'local_req') {
78
+ return `${prefix}_${randomUUID().replace(/-/g, '')}`;
79
+ }
80
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/output/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,8EAA8E;AAC9E,mDAAmD;AACnD,8EAA8E;AAE9E,OAAO,EACL,uBAAuB,GASxB,MAAM,sBAAsB,CAAC;AAQ9B,MAAM,CAAC,MAAM,cAAc,GAAiC;IAC1D,wDAAwD;IACxD,cAAc,EAAE,CAAC;IACjB,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,CAAC;IACd,mBAAmB,EAAE,CAAC;IACtB,+BAA+B;IAC/B,aAAa,EAAE,CAAC;IAChB,gBAAgB,EAAE,CAAC;IACnB,0BAA0B;IAC1B,oBAAoB,EAAE,CAAC;IACvB,yBAAyB;IACzB,mBAAmB,EAAE,CAAC;IACtB,sBAAsB,EAAE,CAAC;IACzB,4BAA4B;IAC5B,sBAAsB,EAAE,CAAC;IACzB,wBAAwB;IACxB,kBAAkB,EAAE,CAAC;IACrB,oBAAoB;IACpB,cAAc,EAAE,CAAC;IACjB,wBAAwB;IACxB,YAAY,EAAE,CAAC;IACf,6BAA6B;IAC7B,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,CAAC;IAChB,iDAAiD;IACjD,mBAAmB,EAAE,EAAE;IACvB,qBAAqB,EAAE,EAAE;IACzB,gBAAgB,EAAE,EAAE;IACpB,oBAAoB,EAAE,EAAE;IACxB,wBAAwB,EAAE,EAAE;IAC5B,qBAAqB,EAAE,EAAE;IACzB,2BAA2B;IAC3B,cAAc,EAAE,EAAE;IAClB,eAAe,EAAE,EAAE;IACnB,0BAA0B;IAC1B,mBAAmB,EAAE,EAAE;CACxB,CAAC;AAoDF,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,MAAM,eAAe,GAA8B,IAAI,GAAG,CAAC;IACzD,cAAc;IACd,gBAAgB;IAChB,sBAAsB;IACtB,uBAAuB;IACvB,eAAe;IACf,eAAe;IACf,aAAa;IACb,qBAAqB;CACtB,CAAC,CAAC;AAEH,MAAM,UAAU,WAAW,CAAC,IAAkB;IAC5C,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,MAAM,UAAU,iBAAiB,CAAC,SAA2C,WAAW;IACtF,OAAO,GAAG,MAAM,IAAI,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;AACvD,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * CLI warning collector — accumulates structured warnings per CLI invocation.
3
+ *
4
+ * Warnings are injected into CliMeta.warnings by buildCliMeta().
5
+ */
6
+ import type { CliWarning } from './types.js';
7
+ export declare function addWarning(warning: CliWarning): void;
8
+ export declare function getWarnings(): CliWarning[];
9
+ export declare function clearWarnings(): void;
10
+ export declare const DEPRECATION_ESPACE: CliWarning;
11
+ export declare function DEPRECATION_LEGACY_ENV(envVar: string, replacement: string): CliWarning;
12
+ export declare const DEPRECATION_DOCS_ALIAS: CliWarning;
13
+ export declare const DEPRECATION_DFRC: CliWarning;
14
+ export declare const DEPRECATION_PARAMS: CliWarning;
15
+ //# sourceMappingURL=warnings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warnings.d.ts","sourceRoot":"","sources":["../../src/output/warnings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI7C,wBAAgB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAEpD;AAED,wBAAgB,WAAW,IAAI,UAAU,EAAE,CAE1C;AAED,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAMD,eAAO,MAAM,kBAAkB,EAAE,UAIhC,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,UAAU,CAMtF;AAED,eAAO,MAAM,sBAAsB,EAAE,UAIpC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,UAI9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,UAIhC,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * CLI warning collector — accumulates structured warnings per CLI invocation.
3
+ *
4
+ * Warnings are injected into CliMeta.warnings by buildCliMeta().
5
+ */
6
+ const warnings = [];
7
+ export function addWarning(warning) {
8
+ warnings.push(warning);
9
+ }
10
+ export function getWarnings() {
11
+ return [...warnings];
12
+ }
13
+ export function clearWarnings() {
14
+ warnings.length = 0;
15
+ }
16
+ // ---------------------------------------------------------------------------
17
+ // Pre-defined warning constants
18
+ // ---------------------------------------------------------------------------
19
+ export const DEPRECATION_ESPACE = {
20
+ code: 'DEPRECATION_ESPACE',
21
+ message: '--espace is deprecated. Use --space instead.',
22
+ severity: 'deprecated',
23
+ };
24
+ export function DEPRECATION_LEGACY_ENV(envVar, replacement) {
25
+ return {
26
+ code: 'DEPRECATION_LEGACY_ENV',
27
+ message: `${envVar} is deprecated. Use ${replacement} instead.`,
28
+ severity: 'deprecated',
29
+ };
30
+ }
31
+ export const DEPRECATION_DOCS_ALIAS = {
32
+ code: 'DEPRECATION_DOCS_ALIAS',
33
+ message: '"docs" is deprecated. Use "knowledge" instead.',
34
+ severity: 'deprecated',
35
+ };
36
+ export const DEPRECATION_DFRC = {
37
+ code: 'DEPRECATION_DFRC',
38
+ message: '~/.dfrc is deprecated. Rename to ~/.ontologierc',
39
+ severity: 'deprecated',
40
+ };
41
+ export const DEPRECATION_PARAMS = {
42
+ code: 'DEPRECATION_PARAMS',
43
+ message: '--params is deprecated. Use --input-json or --input instead.',
44
+ severity: 'deprecated',
45
+ };
46
+ //# sourceMappingURL=warnings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warnings.js","sourceRoot":"","sources":["../../src/output/warnings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,QAAQ,GAAiB,EAAE,CAAC;AAElC,MAAM,UAAU,UAAU,CAAC,OAAmB;IAC5C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,8CAA8C;IACvD,QAAQ,EAAE,YAAY;CACvB,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,MAAc,EAAE,WAAmB;IACxE,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,GAAG,MAAM,uBAAuB,WAAW,WAAW;QAC/D,QAAQ,EAAE,YAAY;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAe;IAChD,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,gDAAgD;IACzD,QAAQ,EAAE,YAAY;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,iDAAiD;IAC1D,QAAQ,EAAE,YAAY;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,8DAA8D;IACvE,QAAQ,EAAE,YAAY;CACvB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * YAML output using the yaml package
3
+ */
4
+ import type { OutputMeta } from './meta.js';
5
+ export declare function outputYaml(data: unknown, meta?: OutputMeta): void;
6
+ //# sourceMappingURL=yaml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yaml.d.ts","sourceRoot":"","sources":["../../src/output/yaml.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAGjE"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * YAML output using the yaml package
3
+ */
4
+ import { stringify } from 'yaml';
5
+ export function outputYaml(data, meta) {
6
+ const envelope = meta ? { _meta: meta, data } : data;
7
+ process.stdout.write(stringify(envelope));
8
+ }
9
+ //# sourceMappingURL=yaml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yaml.js","sourceRoot":"","sources":["../../src/output/yaml.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAGjC,MAAM,UAAU,UAAU,CAAC,IAAa,EAAE,IAAiB;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Breaking change detection for schema diffs.
3
+ *
4
+ * Covers:
5
+ * - Removals of objectType, property, action, linkType, interface
6
+ * - Added required property to existing type
7
+ * - Property modifications: dataType change, required false/undefined→true,
8
+ * unique false/undefined→true, enum value removal
9
+ * - LinkType modifications: cardinality, source/target type changes
10
+ * - ObjectType modifications: primaryKey change
11
+ * - Action modifications: actionType change, target entity change,
12
+ * new required input parameter added
13
+ * - Interface modifications: sharedProperties change
14
+ */
15
+ import type { DiffResult, DiffChange } from '@dataforge/schema';
16
+ export declare function getBreakingChanges(result: DiffResult): DiffChange[];
17
+ //# sourceMappingURL=breaking-changes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breaking-changes.d.ts","sourceRoot":"","sources":["../../src/schema/breaking-changes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGhE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE,CA0GnE"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Breaking change detection for schema diffs.
3
+ *
4
+ * Covers:
5
+ * - Removals of objectType, property, action, linkType, interface
6
+ * - Added required property to existing type
7
+ * - Property modifications: dataType change, required false/undefined→true,
8
+ * unique false/undefined→true, enum value removal
9
+ * - LinkType modifications: cardinality, source/target type changes
10
+ * - ObjectType modifications: primaryKey change
11
+ * - Action modifications: actionType change, target entity change,
12
+ * new required input parameter added
13
+ * - Interface modifications: sharedProperties change
14
+ */
15
+ import { readRecord, readString } from './helpers.js';
16
+ export function getBreakingChanges(result) {
17
+ return (result.changes ?? []).filter((change) => {
18
+ // --- Removals ---
19
+ if (change.kind === 'removed') {
20
+ return (change.entity === 'objectType' ||
21
+ change.entity === 'property' ||
22
+ change.entity === 'action' ||
23
+ change.entity === 'linkType' ||
24
+ change.entity === 'interface');
25
+ }
26
+ // --- Added required property is breaking for existing instances ---
27
+ if (change.kind === 'added' && change.entity === 'property') {
28
+ const after = readRecord(change.after);
29
+ return Boolean(after.required);
30
+ }
31
+ if (change.kind !== 'modified') {
32
+ return false;
33
+ }
34
+ // --- Property modifications ---
35
+ if (change.entity === 'property') {
36
+ const before = readRecord(change.before);
37
+ const after = readRecord(change.after);
38
+ // dataType change
39
+ if (before.dataType !== after.dataType)
40
+ return true;
41
+ // required: normalize undefined/false → Boolean before comparing
42
+ if (!Boolean(before.required) && Boolean(after.required))
43
+ return true;
44
+ // unique: normalize undefined/false → Boolean before comparing
45
+ if (!Boolean(before.unique) && Boolean(after.unique))
46
+ return true;
47
+ // Enum value removal
48
+ if (after.dataType === 'enum') {
49
+ const beforeValues = Array.isArray(before.enumValues) ? before.enumValues : [];
50
+ const afterValues = Array.isArray(after.enumValues) ? after.enumValues : [];
51
+ const afterSet = new Set(afterValues.map(String));
52
+ if (beforeValues.some((v) => !afterSet.has(String(v))))
53
+ return true;
54
+ }
55
+ return false;
56
+ }
57
+ // --- LinkType modifications ---
58
+ if (change.entity === 'linkType') {
59
+ const before = readRecord(change.before);
60
+ const after = readRecord(change.after);
61
+ if (before.cardinality !== after.cardinality)
62
+ return true;
63
+ // Source/target type changes
64
+ if (readString(before.sourceTypeApiName) !== readString(after.sourceTypeApiName))
65
+ return true;
66
+ if (readString(before.targetTypeApiName) !== readString(after.targetTypeApiName))
67
+ return true;
68
+ return false;
69
+ }
70
+ // --- ObjectType modifications ---
71
+ if (change.entity === 'objectType') {
72
+ const before = readRecord(change.before);
73
+ const after = readRecord(change.after);
74
+ return before.primaryKey !== after.primaryKey;
75
+ }
76
+ // --- Action modifications ---
77
+ if (change.entity === 'action') {
78
+ const before = readRecord(change.before);
79
+ const after = readRecord(change.after);
80
+ // actionType change (create → update, etc.)
81
+ if (readString(before.actionType) !== readString(after.actionType))
82
+ return true;
83
+ // Target entity changed
84
+ if (readString(before.objectTypeApiName) !== readString(after.objectTypeApiName))
85
+ return true;
86
+ // New required input parameter added
87
+ const beforeInputs = Array.isArray(before.parameters) ? before.parameters : [];
88
+ const afterInputs = Array.isArray(after.parameters) ? after.parameters : [];
89
+ const beforeNames = new Set(beforeInputs.map((p) => readString(p?.name)));
90
+ const hasNewRequired = afterInputs.some((p) => {
91
+ const param = p;
92
+ return Boolean(param?.required) && !beforeNames.has(readString(param?.name));
93
+ });
94
+ if (hasNewRequired)
95
+ return true;
96
+ return false;
97
+ }
98
+ // --- Interface modifications ---
99
+ if (change.entity === 'interface') {
100
+ const before = readRecord(change.before);
101
+ const after = readRecord(change.after);
102
+ if (before.sharedProperties !== after.sharedProperties)
103
+ return true;
104
+ }
105
+ return false;
106
+ });
107
+ }
108
+ //# sourceMappingURL=breaking-changes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breaking-changes.js","sourceRoot":"","sources":["../../src/schema/breaking-changes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Shared utility helpers for schema operations.
3
+ */
4
+ export declare function isRecord(value: unknown): value is Record<string, unknown>;
5
+ export declare function readString(value: unknown): string | undefined;
6
+ export declare function readId(value: unknown): string | undefined;
7
+ export declare function readRecord(value: unknown): Record<string, unknown>;
8
+ /**
9
+ * Read a file, returning null if the file does not exist (ENOENT).
10
+ * Re-throws all other filesystem errors.
11
+ */
12
+ export declare function readOptionalTextFile(filePath: string): Promise<string | null>;
13
+ /**
14
+ * Extract the Node.js filesystem error code (e.g. 'ENOENT', 'EACCES') from
15
+ * an error object.
16
+ */
17
+ export declare function extractFsCode(err: unknown): string | null;
18
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/schema/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAE7D;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAIzD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElE;AAMD;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQnF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAIzD"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Shared utility helpers for schema operations.
3
+ */
4
+ export function isRecord(value) {
5
+ return !!value && typeof value === 'object' && !Array.isArray(value);
6
+ }
7
+ export function readString(value) {
8
+ return typeof value === 'string' && value.length > 0 ? value : undefined;
9
+ }
10
+ export function readId(value) {
11
+ if (typeof value === 'string' && value.length > 0)
12
+ return value;
13
+ if (typeof value === 'number' && Number.isFinite(value))
14
+ return String(value);
15
+ return undefined;
16
+ }
17
+ export function readRecord(value) {
18
+ return isRecord(value) ? value : {};
19
+ }
20
+ // ---------------------------------------------------------------------------
21
+ // Filesystem helpers
22
+ // ---------------------------------------------------------------------------
23
+ /**
24
+ * Read a file, returning null if the file does not exist (ENOENT).
25
+ * Re-throws all other filesystem errors.
26
+ */
27
+ export async function readOptionalTextFile(filePath) {
28
+ const fs = await import('node:fs');
29
+ try {
30
+ return await fs.promises.readFile(filePath, 'utf-8');
31
+ }
32
+ catch (error) {
33
+ if (isRecord(error) && error.code === 'ENOENT')
34
+ return null;
35
+ throw error;
36
+ }
37
+ }
38
+ /**
39
+ * Extract the Node.js filesystem error code (e.g. 'ENOENT', 'EACCES') from
40
+ * an error object.
41
+ */
42
+ export function extractFsCode(err) {
43
+ if (!err || typeof err !== 'object')
44
+ return null;
45
+ const code = err.code;
46
+ return typeof code === 'string' && /^E[A-Z]+$/.test(code) ? code : null;
47
+ }
48
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/schema/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9E,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACtC,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,QAAgB;IACzD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC5D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,IAAI,GAAI,GAA+B,CAAC,IAAI,CAAC;IACnD,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Schema file loading — dynamic import with WeakSet deduplication
3
+ * and clear TypeScript loader error messages.
4
+ */
5
+ import type { ObjectTypeDefinition, ActionDefinition } from '@dataforge/schema';
6
+ type ParseNodeProperties = (raw: unknown) => unknown[];
7
+ export declare function loadParseNodeProperties(): Promise<ParseNodeProperties>;
8
+ export declare function loadSchemaFile(schemaPath: string): Promise<{
9
+ objectTypes: ObjectTypeDefinition[];
10
+ actions: ActionDefinition[];
11
+ }>;
12
+ export {};
13
+ //# sourceMappingURL=load-schema-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-schema-file.d.ts","sourceRoot":"","sources":["../../src/schema/load-schema-file.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAOhF,KAAK,mBAAmB,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,EAAE,CAAC;AAEvD,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAG5E;AAgED,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;IAAC,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAAE,CAAC,CAwB/E"}