@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.
- package/README.md +492 -0
- package/dist/cache/keys.d.ts +11 -0
- package/dist/cache/keys.d.ts.map +1 -0
- package/dist/cache/keys.js +14 -0
- package/dist/cache/keys.js.map +1 -0
- package/dist/cache/store.d.ts +23 -0
- package/dist/cache/store.d.ts.map +1 -0
- package/dist/cache/store.js +160 -0
- package/dist/cache/store.js.map +1 -0
- package/dist/cli-compat.d.ts +6 -0
- package/dist/cli-compat.d.ts.map +1 -0
- package/dist/cli-compat.js +11 -0
- package/dist/cli-compat.js.map +1 -0
- package/dist/cli.d.ts +30 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +119 -0
- package/dist/cli.js.map +1 -0
- package/dist/client.d.ts +7 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +15 -0
- package/dist/client.js.map +1 -0
- package/dist/commands/actions.d.ts +22 -0
- package/dist/commands/actions.d.ts.map +1 -0
- package/dist/commands/actions.js +211 -0
- package/dist/commands/actions.js.map +1 -0
- package/dist/commands/agent-files.d.ts +27 -0
- package/dist/commands/agent-files.d.ts.map +1 -0
- package/dist/commands/agent-files.js +167 -0
- package/dist/commands/agent-files.js.map +1 -0
- package/dist/commands/agent.d.ts +23 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +314 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/audit.d.ts +11 -0
- package/dist/commands/audit.d.ts.map +1 -0
- package/dist/commands/audit.js +94 -0
- package/dist/commands/audit.js.map +1 -0
- package/dist/commands/cache.d.ts +8 -0
- package/dist/commands/cache.d.ts.map +1 -0
- package/dist/commands/cache.js +40 -0
- package/dist/commands/cache.js.map +1 -0
- package/dist/commands/capabilities.d.ts +56 -0
- package/dist/commands/capabilities.d.ts.map +1 -0
- package/dist/commands/capabilities.js +304 -0
- package/dist/commands/capabilities.js.map +1 -0
- package/dist/commands/check.d.ts +7 -0
- package/dist/commands/check.d.ts.map +1 -0
- package/dist/commands/check.js +16 -0
- package/dist/commands/check.js.map +1 -0
- package/dist/commands/config.d.ts +6 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +133 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/context.d.ts +6 -0
- package/dist/commands/context.d.ts.map +1 -0
- package/dist/commands/context.js +226 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/dev.d.ts +15 -0
- package/dist/commands/dev.d.ts.map +1 -0
- package/dist/commands/dev.js +62 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/commands/docs-alias.d.ts +14 -0
- package/dist/commands/docs-alias.d.ts.map +1 -0
- package/dist/commands/docs-alias.js +28 -0
- package/dist/commands/docs-alias.js.map +1 -0
- package/dist/commands/docs.d.ts +6 -0
- package/dist/commands/docs.d.ts.map +1 -0
- package/dist/commands/docs.js +67 -0
- package/dist/commands/docs.js.map +1 -0
- package/dist/commands/doctor.d.ts +6 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +161 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/generate.d.ts +7 -0
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/commands/generate.js +36 -0
- package/dist/commands/generate.js.map +1 -0
- package/dist/commands/graph.d.ts +9 -0
- package/dist/commands/graph.d.ts.map +1 -0
- package/dist/commands/graph.js +149 -0
- package/dist/commands/graph.js.map +1 -0
- package/dist/commands/import.d.ts +19 -0
- package/dist/commands/import.d.ts.map +1 -0
- package/dist/commands/import.js +330 -0
- package/dist/commands/import.js.map +1 -0
- package/dist/commands/index.d.ts +80 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +345 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/init.d.ts +7 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +101 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/instances.d.ts +7 -0
- package/dist/commands/instances.d.ts.map +1 -0
- package/dist/commands/instances.js +418 -0
- package/dist/commands/instances.js.map +1 -0
- package/dist/commands/keys.d.ts +6 -0
- package/dist/commands/keys.d.ts.map +1 -0
- package/dist/commands/keys.js +113 -0
- package/dist/commands/keys.js.map +1 -0
- package/dist/commands/knowledge.d.ts +6 -0
- package/dist/commands/knowledge.d.ts.map +1 -0
- package/dist/commands/knowledge.js +76 -0
- package/dist/commands/knowledge.js.map +1 -0
- package/dist/commands/model.d.ts +3 -0
- package/dist/commands/model.d.ts.map +1 -0
- package/dist/commands/model.js +40 -0
- package/dist/commands/model.js.map +1 -0
- package/dist/commands/nodes.d.ts +6 -0
- package/dist/commands/nodes.d.ts.map +1 -0
- package/dist/commands/nodes.js +111 -0
- package/dist/commands/nodes.js.map +1 -0
- package/dist/commands/openapi.d.ts +7 -0
- package/dist/commands/openapi.d.ts.map +1 -0
- package/dist/commands/openapi.js +17 -0
- package/dist/commands/openapi.js.map +1 -0
- package/dist/commands/plan.d.ts +19 -0
- package/dist/commands/plan.d.ts.map +1 -0
- package/dist/commands/plan.js +563 -0
- package/dist/commands/plan.js.map +1 -0
- package/dist/commands/process.d.ts +3 -0
- package/dist/commands/process.d.ts.map +1 -0
- package/dist/commands/process.js +67 -0
- package/dist/commands/process.js.map +1 -0
- package/dist/commands/query.d.ts +26 -0
- package/dist/commands/query.d.ts.map +1 -0
- package/dist/commands/query.js +253 -0
- package/dist/commands/query.js.map +1 -0
- package/dist/commands/schema.d.ts +24 -0
- package/dist/commands/schema.d.ts.map +1 -0
- package/dist/commands/schema.js +933 -0
- package/dist/commands/schema.js.map +1 -0
- package/dist/commands/search.d.ts +10 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +74 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/shared.d.ts +32 -0
- package/dist/commands/shared.d.ts.map +1 -0
- package/dist/commands/shared.js +63 -0
- package/dist/commands/shared.js.map +1 -0
- package/dist/commands/usage.d.ts +6 -0
- package/dist/commands/usage.d.ts.map +1 -0
- package/dist/commands/usage.js +86 -0
- package/dist/commands/usage.js.map +1 -0
- package/dist/commands/validators.d.ts +30 -0
- package/dist/commands/validators.d.ts.map +1 -0
- package/dist/commands/validators.js +93 -0
- package/dist/commands/validators.js.map +1 -0
- package/dist/commands/whoami.d.ts +6 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +48 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/config.d.ts +47 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +127 -0
- package/dist/config.js.map +1 -0
- package/dist/credentials.d.ts +9 -0
- package/dist/credentials.d.ts.map +1 -0
- package/dist/credentials.js +79 -0
- package/dist/credentials.js.map +1 -0
- package/dist/keychain.d.ts +9 -0
- package/dist/keychain.d.ts.map +1 -0
- package/dist/keychain.js +51 -0
- package/dist/keychain.js.map +1 -0
- package/dist/output/csv.d.ts +5 -0
- package/dist/output/csv.d.ts.map +1 -0
- package/dist/output/csv.js +22 -0
- package/dist/output/csv.js.map +1 -0
- package/dist/output/envelope.schema.d.ts +1053 -0
- package/dist/output/envelope.schema.d.ts.map +1 -0
- package/dist/output/envelope.schema.js +256 -0
- package/dist/output/envelope.schema.js.map +1 -0
- package/dist/output/errors.d.ts +58 -0
- package/dist/output/errors.d.ts.map +1 -0
- package/dist/output/errors.js +339 -0
- package/dist/output/errors.js.map +1 -0
- package/dist/output/formatter.d.ts +27 -0
- package/dist/output/formatter.d.ts.map +1 -0
- package/dist/output/formatter.js +80 -0
- package/dist/output/formatter.js.map +1 -0
- package/dist/output/json.d.ts +41 -0
- package/dist/output/json.d.ts.map +1 -0
- package/dist/output/json.js +215 -0
- package/dist/output/json.js.map +1 -0
- package/dist/output/markdown.d.ts +6 -0
- package/dist/output/markdown.d.ts.map +1 -0
- package/dist/output/markdown.js +51 -0
- package/dist/output/markdown.js.map +1 -0
- package/dist/output/meta.d.ts +49 -0
- package/dist/output/meta.d.ts.map +1 -0
- package/dist/output/meta.js +96 -0
- package/dist/output/meta.js.map +1 -0
- package/dist/output/plain.d.ts +6 -0
- package/dist/output/plain.d.ts.map +1 -0
- package/dist/output/plain.js +51 -0
- package/dist/output/plain.js.map +1 -0
- package/dist/output/table.d.ts +5 -0
- package/dist/output/table.d.ts.map +1 -0
- package/dist/output/table.js +54 -0
- package/dist/output/table.js.map +1 -0
- package/dist/output/types.d.ts +54 -0
- package/dist/output/types.d.ts.map +1 -0
- package/dist/output/types.js +80 -0
- package/dist/output/types.js.map +1 -0
- package/dist/output/warnings.d.ts +15 -0
- package/dist/output/warnings.d.ts.map +1 -0
- package/dist/output/warnings.js +46 -0
- package/dist/output/warnings.js.map +1 -0
- package/dist/output/yaml.d.ts +6 -0
- package/dist/output/yaml.d.ts.map +1 -0
- package/dist/output/yaml.js +9 -0
- package/dist/output/yaml.js.map +1 -0
- package/dist/schema/breaking-changes.d.ts +17 -0
- package/dist/schema/breaking-changes.d.ts.map +1 -0
- package/dist/schema/breaking-changes.js +108 -0
- package/dist/schema/breaking-changes.js.map +1 -0
- package/dist/schema/helpers.d.ts +18 -0
- package/dist/schema/helpers.d.ts.map +1 -0
- package/dist/schema/helpers.js +48 -0
- package/dist/schema/helpers.js.map +1 -0
- package/dist/schema/load-schema-file.d.ts +13 -0
- package/dist/schema/load-schema-file.d.ts.map +1 -0
- package/dist/schema/load-schema-file.js +88 -0
- package/dist/schema/load-schema-file.js.map +1 -0
- package/dist/schema/lockfile.d.ts +6 -0
- package/dist/schema/lockfile.d.ts.map +1 -0
- package/dist/schema/lockfile.js +34 -0
- package/dist/schema/lockfile.js.map +1 -0
- package/dist/schema/manifest-client.d.ts +31 -0
- package/dist/schema/manifest-client.d.ts.map +1 -0
- package/dist/schema/manifest-client.js +282 -0
- package/dist/schema/manifest-client.js.map +1 -0
- package/dist/schema/output.d.ts +38 -0
- package/dist/schema/output.d.ts.map +1 -0
- package/dist/schema/output.js +95 -0
- package/dist/schema/output.js.map +1 -0
- package/dist/stdin.d.ts +8 -0
- package/dist/stdin.d.ts.map +1 -0
- package/dist/stdin.js +21 -0
- package/dist/stdin.js.map +1 -0
- package/dist/templates/basic.d.ts +6 -0
- package/dist/templates/basic.d.ts.map +1 -0
- package/dist/templates/basic.js +90 -0
- package/dist/templates/basic.js.map +1 -0
- package/dist/templates/contract-review.d.ts +9 -0
- package/dist/templates/contract-review.d.ts.map +1 -0
- package/dist/templates/contract-review.js +172 -0
- package/dist/templates/contract-review.js.map +1 -0
- package/dist/templates/customer-onboarding.d.ts +9 -0
- package/dist/templates/customer-onboarding.d.ts.map +1 -0
- package/dist/templates/customer-onboarding.js +176 -0
- package/dist/templates/customer-onboarding.js.map +1 -0
- package/dist/templates/index.d.ts +11 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js +16 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/templates/react-dashboard.d.ts +6 -0
- package/dist/templates/react-dashboard.d.ts.map +1 -0
- package/dist/templates/react-dashboard.js +146 -0
- package/dist/templates/react-dashboard.js.map +1 -0
- package/dist/templates/vendor-risk.d.ts +9 -0
- package/dist/templates/vendor-risk.d.ts.map +1 -0
- package/dist/templates/vendor-risk.js +186 -0
- package/dist/templates/vendor-risk.js.map +1 -0
- 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 @@
|
|
|
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 @@
|
|
|
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"}
|