@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":"errors.js","sourceRoot":"","sources":["../../src/output/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Output formatter -- TTY detection + format dispatch
3
+ *
4
+ * Rule: stdout = data only, stderr = diagnostics/progress
5
+ */
6
+ import type { OutputMeta } from './meta.js';
7
+ import type { CliMeta, CliPage } from './types.js';
8
+ export type OutputFormat = 'json' | 'table' | 'csv' | 'yaml' | 'markdown' | 'plain' | 'jsonl' | 'raw';
9
+ export interface FormatOptions {
10
+ format?: OutputFormat;
11
+ raw?: boolean;
12
+ quiet?: boolean;
13
+ }
14
+ /**
15
+ * Resolve the effective output format.
16
+ * Default: table if TTY, json if piped.
17
+ */
18
+ export declare function resolveFormat(opts: FormatOptions): OutputFormat;
19
+ /**
20
+ * Format and write data to stdout.
21
+ *
22
+ * Accepts both legacy OutputMeta and new CliMeta:
23
+ * - OutputMeta: uses legacy `{ _meta, data }` envelope
24
+ * - CliMeta: uses new `{ ok, data, error, page, meta }` envelope
25
+ */
26
+ export declare function output(data: unknown, meta: OutputMeta | CliMeta | undefined, opts: FormatOptions, columns?: string[], page?: CliPage | null): void;
27
+ //# sourceMappingURL=formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/output/formatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAOnD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAEtG,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,YAAY,CAK/D;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS,EACtC,IAAI,EAAE,aAAa,EACnB,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,GACpB,IAAI,CAsCN"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Output formatter -- TTY detection + format dispatch
3
+ *
4
+ * Rule: stdout = data only, stderr = diagnostics/progress
5
+ */
6
+ import { outputJson, outputJsonl, buildSuccessEnvelope } from './json.js';
7
+ import { outputTable } from './table.js';
8
+ import { outputCsv } from './csv.js';
9
+ import { outputYaml } from './yaml.js';
10
+ import { outputPlain } from './markdown.js';
11
+ /**
12
+ * Resolve the effective output format.
13
+ * Default: table if TTY, json if piped.
14
+ */
15
+ export function resolveFormat(opts) {
16
+ if (opts.raw)
17
+ return 'raw';
18
+ if (opts.format === 'plain')
19
+ return 'markdown'; // compat alias
20
+ if (opts.format)
21
+ return opts.format;
22
+ return process.stdout.isTTY ? 'table' : 'json';
23
+ }
24
+ /**
25
+ * Format and write data to stdout.
26
+ *
27
+ * Accepts both legacy OutputMeta and new CliMeta:
28
+ * - OutputMeta: uses legacy `{ _meta, data }` envelope
29
+ * - CliMeta: uses new `{ ok, data, error, page, meta }` envelope
30
+ */
31
+ export function output(data, meta, opts, columns, page) {
32
+ const fmt = resolveFormat(opts);
33
+ const effectiveMeta = (fmt === 'raw' || opts.raw) ? undefined : meta;
34
+ const rows = Array.isArray(data) ? data : [data];
35
+ switch (fmt) {
36
+ case 'json':
37
+ if (effectiveMeta && isCliMeta(effectiveMeta)) {
38
+ const envelope = buildSuccessEnvelope(data, effectiveMeta, page);
39
+ outputJson(envelope);
40
+ }
41
+ else {
42
+ outputJson(data, effectiveMeta);
43
+ }
44
+ break;
45
+ case 'jsonl':
46
+ if (effectiveMeta && isCliMeta(effectiveMeta)) {
47
+ outputJsonl(rows, effectiveMeta);
48
+ }
49
+ else {
50
+ outputJsonl(rows, effectiveMeta);
51
+ }
52
+ break;
53
+ case 'table':
54
+ outputTable(rows, columns);
55
+ break;
56
+ case 'csv':
57
+ outputCsv(rows, columns);
58
+ break;
59
+ case 'yaml':
60
+ outputYaml(data, effectiveMeta);
61
+ break;
62
+ case 'markdown':
63
+ case 'plain':
64
+ outputPlain(data, effectiveMeta);
65
+ break;
66
+ case 'raw':
67
+ outputJson(data);
68
+ break;
69
+ }
70
+ }
71
+ // ---------------------------------------------------------------------------
72
+ // Type guard
73
+ // ---------------------------------------------------------------------------
74
+ function isCliMeta(v) {
75
+ return (typeof v === 'object' &&
76
+ v !== null &&
77
+ 'schemaVersion' in v &&
78
+ v.schemaVersion === 'dataforge.cli.v1');
79
+ }
80
+ //# sourceMappingURL=formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/output/formatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAU5C;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAmB;IAC/C,IAAI,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,UAAU,CAAC,CAAE,eAAe;IAChE,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IACpC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AACjD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,MAAM,CACpB,IAAa,EACb,IAAsC,EACtC,IAAmB,EACnB,OAAkB,EAClB,IAAqB;IAErB,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEjD,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,IAAI,aAAa,IAAI,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;gBACjE,UAAU,CAAC,QAAQ,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,EAAE,aAAuC,CAAC,CAAC;YAC5D,CAAC;YACD,MAAM;QACR,KAAK,OAAO;YACV,IAAI,aAAa,IAAI,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC9C,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,EAAE,aAAuC,CAAC,CAAC;YAC7D,CAAC;YACD,MAAM;QACR,KAAK,OAAO;YACV,WAAW,CAAC,IAAiC,EAAE,OAAO,CAAC,CAAC;YACxD,MAAM;QACR,KAAK,KAAK;YACR,SAAS,CAAC,IAAiC,EAAE,OAAO,CAAC,CAAC;YACtD,MAAM;QACR,KAAK,MAAM;YACT,UAAU,CAAC,IAAI,EAAE,aAAuC,CAAC,CAAC;YAC1D,MAAM;QACR,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO;YACV,WAAW,CAAC,IAAI,EAAE,aAAuC,CAAC,CAAC;YAC3D,MAAM;QACR,KAAK,KAAK;YACR,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,MAAM;IACV,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,SAAS,SAAS,CAAC,CAAU;IAC3B,OAAO,CACL,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,KAAK,IAAI;QACV,eAAe,IAAI,CAAC;QACnB,CAAa,CAAC,aAAa,KAAK,kBAAkB,CACpD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * JSON output — envelope to stdout
3
+ *
4
+ * Every `CliEnvelope` written by `outputJson()` / `outputJsonError()` is first
5
+ * validated against `EnvelopeSchema` (see `./envelope.schema.ts`). This locks
6
+ * the `dataforge.cli.v1` contract at runtime so it cannot drift silently as
7
+ * commands evolve. See `sdk/docs/cli-contract.md` for the canonical reference.
8
+ *
9
+ * Failure mode (loud errors > silent fallback):
10
+ * - `NODE_ENV !== 'production'` → throw `EnvelopeViolationError` immediately.
11
+ * - production → log to stderr and emit a synthesized `INTERNAL_ERROR`
12
+ * envelope so downstream consumers still receive a valid contract.
13
+ */
14
+ import type { OutputMeta } from './meta.js';
15
+ import type { CliEnvelope, CliMeta, CliError, CliPage } from './types.js';
16
+ import { EnvelopeViolationError } from './envelope.schema.js';
17
+ /** @deprecated Internal — used for backward compat with OutputMeta callers */
18
+ export declare function outputJsonLegacy(data: unknown, meta?: OutputMeta): void;
19
+ export declare function outputJson(data: unknown, meta?: OutputMeta): void;
20
+ export declare function outputJson(envelope: CliEnvelope): void;
21
+ /**
22
+ * Build a success envelope from data + CliMeta + optional page.
23
+ */
24
+ export declare function buildSuccessEnvelope<T>(data: T, meta: CliMeta, page?: CliPage | null): CliEnvelope<T>;
25
+ /**
26
+ * Output a structured JSON error envelope.
27
+ */
28
+ export declare function outputJsonError(error: CliError, meta: CliMeta): void;
29
+ /**
30
+ * Synthesize an `INTERNAL_ERROR` envelope when the original payload
31
+ * violates the contract. Exported so it can be unit-tested for self-validity
32
+ * (a synthesized envelope must itself pass `EnvelopeSchema`).
33
+ */
34
+ export declare function synthesizeInternalErrorEnvelope(originalMeta: CliMeta | undefined, cause: EnvelopeViolationError): CliEnvelope<never>;
35
+ export declare function outputJsonl(items: unknown[], meta?: OutputMeta): void;
36
+ export declare function outputJsonl(items: unknown[], cliMeta?: CliMeta): void;
37
+ /**
38
+ * Emit a JSONL error event.
39
+ */
40
+ export declare function outputJsonlError(error: CliError): void;
41
+ //# sourceMappingURL=json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/output/json.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EACP,QAAQ,EACR,OAAO,EAKR,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,sBAAsB,EAKvB,MAAM,sBAAsB,CAAC;AAO9B,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAGvE;AAMD,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;AACnE,wBAAgB,UAAU,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;AAYxD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAQrG;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAUpE;AAyBD;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,YAAY,EAAE,OAAO,GAAG,SAAS,EACjC,KAAK,EAAE,sBAAsB,GAC5B,WAAW,CAAC,KAAK,CAAC,CAuCpB;AAeD,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;AACvE,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;AAgCvE;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAItD"}
@@ -0,0 +1,215 @@
1
+ /**
2
+ * JSON output — envelope to stdout
3
+ *
4
+ * Every `CliEnvelope` written by `outputJson()` / `outputJsonError()` is first
5
+ * validated against `EnvelopeSchema` (see `./envelope.schema.ts`). This locks
6
+ * the `dataforge.cli.v1` contract at runtime so it cannot drift silently as
7
+ * commands evolve. See `sdk/docs/cli-contract.md` for the canonical reference.
8
+ *
9
+ * Failure mode (loud errors > silent fallback):
10
+ * - `NODE_ENV !== 'production'` → throw `EnvelopeViolationError` immediately.
11
+ * - production → log to stderr and emit a synthesized `INTERNAL_ERROR`
12
+ * envelope so downstream consumers still receive a valid contract.
13
+ */
14
+ import { CLI_META_SCHEMA_VERSION, generateRequestId } from './types.js';
15
+ import { tryAssertEnvelope, EnvelopeViolationError, JsonlStartedEventSchema, JsonlItemEventSchema, JsonlCompletedEventSchema, JsonlErrorEventSchema, } from './envelope.schema.js';
16
+ // ---------------------------------------------------------------------------
17
+ // Legacy JSON output (used when commands still pass OutputMeta)
18
+ // ---------------------------------------------------------------------------
19
+ /** @deprecated Internal — used for backward compat with OutputMeta callers */
20
+ export function outputJsonLegacy(data, meta) {
21
+ const envelope = meta ? { _meta: meta, data } : data;
22
+ process.stdout.write(JSON.stringify(envelope, null, 2) + '\n');
23
+ }
24
+ export function outputJson(dataOrEnvelope, meta) {
25
+ if (isCliEnvelope(dataOrEnvelope)) {
26
+ const validated = guardEnvelope(dataOrEnvelope);
27
+ process.stdout.write(JSON.stringify(validated, null, 2) + '\n');
28
+ }
29
+ else {
30
+ // Legacy path — pre-`dataforge.cli.v1` envelope. Not validated.
31
+ const envelope = meta ? { _meta: meta, data: dataOrEnvelope } : dataOrEnvelope;
32
+ process.stdout.write(JSON.stringify(envelope, null, 2) + '\n');
33
+ }
34
+ }
35
+ /**
36
+ * Build a success envelope from data + CliMeta + optional page.
37
+ */
38
+ export function buildSuccessEnvelope(data, meta, page) {
39
+ return {
40
+ ok: true,
41
+ data,
42
+ error: null,
43
+ page: page ?? null,
44
+ meta,
45
+ };
46
+ }
47
+ /**
48
+ * Output a structured JSON error envelope.
49
+ */
50
+ export function outputJsonError(error, meta) {
51
+ const envelope = {
52
+ ok: false,
53
+ data: null,
54
+ error,
55
+ page: null,
56
+ meta,
57
+ };
58
+ const validated = guardEnvelope(envelope);
59
+ process.stdout.write(JSON.stringify(validated, null, 2) + '\n');
60
+ }
61
+ // ---------------------------------------------------------------------------
62
+ // Contract guard — runtime validation of dataforge.cli.v1 envelopes
63
+ // ---------------------------------------------------------------------------
64
+ /**
65
+ * Validate an envelope against `EnvelopeSchema`. Returns the envelope on
66
+ * success. On violation:
67
+ * - dev (`NODE_ENV !== 'production'`) → throw `EnvelopeViolationError`
68
+ * - prod → log warning to stderr and synthesize an `INTERNAL_ERROR` envelope
69
+ * so the consumer still receives a contract-conforming payload.
70
+ */
71
+ function guardEnvelope(envelope) {
72
+ const result = tryAssertEnvelope(envelope);
73
+ if (result.ok)
74
+ return result.value;
75
+ const error = new EnvelopeViolationError(result.issues);
76
+ if (process.env.NODE_ENV !== 'production') {
77
+ throw error;
78
+ }
79
+ process.stderr.write(`[dataforge:cli] ${error.message}\n`);
80
+ return synthesizeInternalErrorEnvelope(envelope.meta, error);
81
+ }
82
+ /**
83
+ * Synthesize an `INTERNAL_ERROR` envelope when the original payload
84
+ * violates the contract. Exported so it can be unit-tested for self-validity
85
+ * (a synthesized envelope must itself pass `EnvelopeSchema`).
86
+ */
87
+ export function synthesizeInternalErrorEnvelope(originalMeta, cause) {
88
+ // Reuse the original meta if it already conforms — the violation may live
89
+ // entirely in the data/error/page fields, in which case the meta is fine.
90
+ // Otherwise fall back to a fresh, contract-conforming default.
91
+ const fallbackMeta = {
92
+ schemaVersion: CLI_META_SCHEMA_VERSION,
93
+ command: 'unknown',
94
+ requestId: generateRequestId('local_req'),
95
+ workspaceId: null,
96
+ environment: null,
97
+ manifestVersion: null,
98
+ costUnits: 0,
99
+ estimatedCostUnits: null,
100
+ quotaRemaining: null,
101
+ rateLimitRemaining: null,
102
+ warnings: [],
103
+ };
104
+ const meta = originalMeta && tryAssertEnvelope({
105
+ ok: true,
106
+ data: {},
107
+ error: null,
108
+ page: null,
109
+ meta: originalMeta,
110
+ }).ok
111
+ ? originalMeta
112
+ : fallbackMeta;
113
+ return {
114
+ ok: false,
115
+ data: null,
116
+ error: {
117
+ code: 'INTERNAL_ERROR',
118
+ message: 'CLI envelope contract violation (dataforge.cli.v1).',
119
+ details: { issues: cause.issues },
120
+ retryable: false,
121
+ correlationId: meta.requestId,
122
+ },
123
+ page: null,
124
+ meta,
125
+ };
126
+ }
127
+ // ---------------------------------------------------------------------------
128
+ // JSONL output — typed events
129
+ // ---------------------------------------------------------------------------
130
+ /**
131
+ * J1: Validate JSONL events against Zod schemas in dev mode only.
132
+ * In production (NODE_ENV === 'production') this is a no-op.
133
+ */
134
+ function guardJsonlEvent(event, schema) {
135
+ if (process.env.NODE_ENV === 'production')
136
+ return;
137
+ schema.parse(event); // throws in dev
138
+ }
139
+ export function outputJsonl(items, metaArg) {
140
+ if (metaArg && isCliMeta(metaArg)) {
141
+ // New typed JSONL path
142
+ const started = { type: 'started', meta: metaArg, total: items.length };
143
+ guardJsonlEvent(started, JsonlStartedEventSchema);
144
+ process.stdout.write(JSON.stringify(started) + '\n');
145
+ for (const item of items) {
146
+ const event = { type: 'item', data: item };
147
+ guardJsonlEvent(event, JsonlItemEventSchema);
148
+ process.stdout.write(JSON.stringify(event) + '\n');
149
+ }
150
+ const completed = {
151
+ type: 'completed',
152
+ meta: metaArg,
153
+ summary: { count: items.length, costUnits: metaArg.costUnits },
154
+ };
155
+ guardJsonlEvent(completed, JsonlCompletedEventSchema);
156
+ process.stdout.write(JSON.stringify(completed) + '\n');
157
+ }
158
+ else {
159
+ // Legacy path
160
+ if (metaArg) {
161
+ process.stdout.write(JSON.stringify({ _meta: metaArg }) + '\n');
162
+ }
163
+ for (const item of items) {
164
+ process.stdout.write(JSON.stringify(item) + '\n');
165
+ }
166
+ }
167
+ }
168
+ /**
169
+ * Emit a JSONL error event.
170
+ */
171
+ export function outputJsonlError(error) {
172
+ const event = { type: 'error', error };
173
+ guardJsonlEvent(event, JsonlErrorEventSchema);
174
+ process.stdout.write(JSON.stringify(event) + '\n');
175
+ }
176
+ // ---------------------------------------------------------------------------
177
+ // Type guards
178
+ // ---------------------------------------------------------------------------
179
+ /**
180
+ * Tight opt-in: only routes payloads that explicitly declare the
181
+ * `dataforge.cli.v1` schema version. The looser previous form
182
+ * (`'ok' in v && 'meta' in v`) would route any object happening to have
183
+ * those keys through `guardEnvelope`, which:
184
+ * - in dev mode → throws `EnvelopeViolationError` for legacy callers
185
+ * - in production → silently emits a synthesized `INTERNAL_ERROR`
186
+ * Either is a regression risk for legacy code paths still using the
187
+ * pre-v1 `outputJson` form. Anchoring on the schema version literal makes
188
+ * the guard a *contract opt-in*: a legacy payload never matches.
189
+ *
190
+ * Locked at runtime by the `EnvelopeSchema` Zod check in
191
+ * `output/envelope.schema.ts` — anything that gets past `isCliEnvelope`
192
+ * MUST have `meta.schemaVersion === 'dataforge.cli.v1'`.
193
+ *
194
+ * Review feedback: PR #992 Major #2.
195
+ */
196
+ function isCliEnvelope(v) {
197
+ if (typeof v !== 'object' || v === null)
198
+ return false;
199
+ if (!('ok' in v) || !('meta' in v))
200
+ return false;
201
+ if (typeof v.ok !== 'boolean')
202
+ return false;
203
+ const meta = v.meta;
204
+ if (typeof meta !== 'object' || meta === null)
205
+ return false;
206
+ return meta.schemaVersion === 'dataforge.cli.v1';
207
+ }
208
+ // Intentionally duplicated from formatter.ts — avoids circular import. Keep in sync.
209
+ function isCliMeta(v) {
210
+ return (typeof v === 'object' &&
211
+ v !== null &&
212
+ 'schemaVersion' in v &&
213
+ v.schemaVersion === 'dataforge.cli.v1');
214
+ }
215
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/output/json.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAWxE,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAG9B,8EAA8E;AAC9E,gEAAgE;AAChE,8EAA8E;AAE9E,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,IAAa,EAAE,IAAiB;IAC/D,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,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACjE,CAAC;AAQD,MAAM,UAAU,UAAU,CAAC,cAAuB,EAAE,IAAiB;IACnE,IAAI,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;QAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,gEAAgE;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;QAC/E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAI,IAAO,EAAE,IAAa,EAAE,IAAqB;IACnF,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI;QACJ,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,IAAI,IAAI,IAAI;QAClB,IAAI;KACL,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAe,EAAE,IAAa;IAC5D,MAAM,QAAQ,GAAuB;QACnC,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,IAAI;QACV,KAAK;QACL,IAAI,EAAE,IAAI;QACV,IAAI;KACL,CAAC;IACF,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAClE,CAAC;AAED,8EAA8E;AAC9E,oEAAoE;AACpE,8EAA8E;AAE9E;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,QAAqB;IAC1C,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC;IAEnC,MAAM,KAAK,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC1C,MAAM,KAAK,CAAC;IACd,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3D,OAAO,+BAA+B,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAC7C,YAAiC,EACjC,KAA6B;IAE7B,0EAA0E;IAC1E,0EAA0E;IAC1E,+DAA+D;IAC/D,MAAM,YAAY,GAAY;QAC5B,aAAa,EAAE,uBAAuB;QACtC,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC;QACzC,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;QACjB,eAAe,EAAE,IAAI;QACrB,SAAS,EAAE,CAAC;QACZ,kBAAkB,EAAE,IAAI;QACxB,cAAc,EAAE,IAAI;QACpB,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,EAAE;KACb,CAAC;IACF,MAAM,IAAI,GAAG,YAAY,IAAI,iBAAiB,CAAC;QAC7C,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,YAAY;KACnB,CAAC,CAAC,EAAE;QACH,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,YAAY,CAAC;IACjB,OAAO;QACL,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,IAAI;QACV,KAAK,EAAE;YACL,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,qDAAqD;YAC9D,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;YACjC,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE,IAAI,CAAC,SAAS;SAC9B;QACD,IAAI,EAAE,IAAI;QACV,IAAI;KACL,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E;;;GAGG;AACH,SAAS,eAAe,CAAC,KAAc,EAAE,MAAe;IACtD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;QAAE,OAAO;IAClD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB;AACvC,CAAC;AAID,MAAM,UAAU,WAAW,CAAC,KAAgB,EAAE,OAA8B;IAC1E,IAAI,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,uBAAuB;QACvB,MAAM,OAAO,GAAsB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAC3F,eAAe,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;QAClD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QAErD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC3D,eAAe,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;YAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,SAAS,GAAwB;YACrC,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;SAC/D,CAAC;QACF,eAAe,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;QACtD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,cAAc;QACd,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QAClE,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAe;IAC9C,MAAM,KAAK,GAAoB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACxD,eAAe,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;IAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,aAAa,CAAC,CAAU;IAC/B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtD,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACjD,IAAI,OAAQ,CAAqB,CAAC,EAAE,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACjE,MAAM,IAAI,GAAI,CAAuB,CAAC,IAAI,CAAC;IAC3C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC5D,OAAQ,IAAoC,CAAC,aAAa,KAAK,kBAAkB,CAAC;AACpF,CAAC;AAED,qFAAqF;AACrF,SAAS,SAAS,CAAC,CAAU;IAC3B,OAAO,CACL,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,KAAK,IAAI;QACV,eAAe,IAAI,CAAC;QACnB,CAAa,CAAC,aAAa,KAAK,kBAAkB,CACpD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Markdown/plain text output -- agent-friendly structured text
3
+ */
4
+ import type { OutputMeta } from './meta.js';
5
+ export declare function outputPlain(data: unknown, meta?: OutputMeta): void;
6
+ //# sourceMappingURL=markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/output/markdown.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
+ * Markdown/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=markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/output/markdown.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,49 @@
1
+ /**
2
+ * _meta envelope builder for CLI output
3
+ */
4
+ import type { CliEnvironment, CliMeta, CliWarning } from './types.js';
5
+ /** @deprecated Use CliMeta and buildCliMeta() instead */
6
+ export interface OutputMeta {
7
+ workspaceId: string;
8
+ spaceId?: string;
9
+ /** @deprecated Use spaceId */
10
+ espaceId?: string;
11
+ retrievedAt: string;
12
+ cached: boolean;
13
+ latency_ms: number;
14
+ source: string;
15
+ schemaVersion: string;
16
+ }
17
+ /** @deprecated Use buildCliMeta() instead */
18
+ export declare function buildMeta(opts: {
19
+ workspaceId: string;
20
+ espaceId?: string;
21
+ spaceId?: string;
22
+ cached?: boolean;
23
+ latency_ms: number;
24
+ source: string;
25
+ }): OutputMeta;
26
+ export interface BuildCliMetaOpts {
27
+ command: string;
28
+ workspaceId?: string | null;
29
+ apiUrl?: string | null;
30
+ manifestVersion?: string | null;
31
+ costUnits?: number;
32
+ estimatedCostUnits?: number | null;
33
+ quotaRemaining?: number | null;
34
+ rateLimitRemaining?: number | null;
35
+ requestId?: string;
36
+ warnings?: CliWarning[];
37
+ }
38
+ export declare function buildCliMeta(opts: BuildCliMetaOpts): CliMeta;
39
+ /** Returns the canonical CLI environment label, or null if unknown.
40
+ *
41
+ * DataForge URL convention:
42
+ * - dev-growthsystemes.com / api.dev-growthsystemes.com = staging
43
+ * - ontologie-growthsystemes.com / api.ontologie-growthsystemes.com = prod
44
+ * - localhost / 127.0.0.1 = local
45
+ * - explicit "staging" in URL = staging
46
+ */
47
+ export declare function detectEnvironment(apiUrl: string | null): CliEnvironment | null;
48
+ export declare function extractMetaFromHeaders(headers: Record<string, string>): Partial<BuildCliMetaOpts>;
49
+ //# sourceMappingURL=meta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/output/meta.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAQtE,yDAAyD;AACzD,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,6CAA6C;AAC7C,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,UAAU,CAYb;AAMD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;CACzB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAc5D;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,cAAc,GAAG,IAAI,CAO9E;AAYD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA2BjG"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * _meta envelope builder for CLI output
3
+ */
4
+ import { CLI_META_SCHEMA_VERSION, generateRequestId } from './types.js';
5
+ import { getWarnings } from './warnings.js';
6
+ /** @deprecated Use buildCliMeta() instead */
7
+ export function buildMeta(opts) {
8
+ const sid = opts.spaceId || opts.espaceId;
9
+ return {
10
+ workspaceId: opts.workspaceId,
11
+ spaceId: sid,
12
+ espaceId: sid, // backward compat
13
+ retrievedAt: new Date().toISOString(),
14
+ cached: opts.cached ?? false,
15
+ latency_ms: opts.latency_ms,
16
+ source: opts.source,
17
+ schemaVersion: '1.0',
18
+ };
19
+ }
20
+ export function buildCliMeta(opts) {
21
+ return {
22
+ schemaVersion: CLI_META_SCHEMA_VERSION,
23
+ command: opts.command,
24
+ requestId: opts.requestId ?? generateRequestId(),
25
+ workspaceId: opts.workspaceId ?? null,
26
+ environment: detectEnvironment(opts.apiUrl ?? null),
27
+ manifestVersion: opts.manifestVersion ?? null,
28
+ costUnits: opts.costUnits ?? 0,
29
+ estimatedCostUnits: opts.estimatedCostUnits ?? null,
30
+ quotaRemaining: opts.quotaRemaining ?? null,
31
+ rateLimitRemaining: opts.rateLimitRemaining ?? null,
32
+ warnings: opts.warnings ?? getWarnings(),
33
+ };
34
+ }
35
+ /** Returns the canonical CLI environment label, or null if unknown.
36
+ *
37
+ * DataForge URL convention:
38
+ * - dev-growthsystemes.com / api.dev-growthsystemes.com = staging
39
+ * - ontologie-growthsystemes.com / api.ontologie-growthsystemes.com = prod
40
+ * - localhost / 127.0.0.1 = local
41
+ * - explicit "staging" in URL = staging
42
+ */
43
+ export function detectEnvironment(apiUrl) {
44
+ if (!apiUrl)
45
+ return null;
46
+ if (/localhost|127\.0\.0\.1/i.test(apiUrl))
47
+ return 'local';
48
+ if (/api\.ontologie-/.test(apiUrl))
49
+ return 'prod';
50
+ if (/staging[-.]/.test(apiUrl))
51
+ return 'staging';
52
+ if (/dev[-.]/.test(apiUrl))
53
+ return 'staging';
54
+ return null;
55
+ }
56
+ // ---------------------------------------------------------------------------
57
+ // Response header extraction for meta dynamic fields
58
+ // ---------------------------------------------------------------------------
59
+ /** Parse a string as a non-negative integer, returning undefined on NaN/negative. */
60
+ function safeNonNegInt(v) {
61
+ const n = Number(v);
62
+ return Number.isFinite(n) && n >= 0 ? Math.floor(n) : undefined;
63
+ }
64
+ export function extractMetaFromHeaders(headers) {
65
+ // M1: Normalize header keys to lowercase (HTTP/2 lowercases, HTTP/1.1 may not)
66
+ const h = Object.fromEntries(Object.entries(headers).map(([k, v]) => [k.toLowerCase(), v]));
67
+ const result = {};
68
+ const reqId = h['x-request-id'] || h['x-correlation-id'];
69
+ if (reqId)
70
+ result.requestId = `req_${reqId.replace(/-/g, '')}`;
71
+ // M2: Guard against NaN from Number()
72
+ const costUnits = h['x-cost-units'];
73
+ if (costUnits) {
74
+ const parsed = safeNonNegInt(costUnits);
75
+ if (parsed !== undefined)
76
+ result.costUnits = parsed;
77
+ }
78
+ const quotaRemaining = h['x-quota-remaining'];
79
+ if (quotaRemaining) {
80
+ const parsed = safeNonNegInt(quotaRemaining);
81
+ if (parsed !== undefined)
82
+ result.quotaRemaining = parsed;
83
+ }
84
+ const rlRemaining = h['x-ratelimit-remaining'] || h['ratelimit-remaining'];
85
+ if (rlRemaining) {
86
+ const parsed = safeNonNegInt(rlRemaining);
87
+ if (parsed !== undefined)
88
+ result.rateLimitRemaining = parsed;
89
+ }
90
+ // M3: Extract manifestVersion from headers
91
+ const mv = h['x-manifest-version'];
92
+ if (mv)
93
+ result.manifestVersion = mv;
94
+ return result;
95
+ }
96
+ //# sourceMappingURL=meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../src/output/meta.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Plain text output — agent-friendly structured text
3
+ */
4
+ import type { OutputMeta } from './meta.js';
5
+ export declare function outputPlain(data: unknown, meta?: OutputMeta): void;
6
+ //# sourceMappingURL=plain.d.ts.map