ingestron 0.17.0 → 0.17.2
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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.17.2
|
|
4
|
+
|
|
5
|
+
- Pin core 0.12.8. `ingestron check` lists data products with status and owner
|
|
6
|
+
from ODCS contracts, and notes quality rules recorded but not yet enforced.
|
|
7
|
+
An active contract must name an owner.
|
|
8
|
+
|
|
9
|
+
## 0.17.1
|
|
10
|
+
|
|
11
|
+
- Add `adf` and `databricks` official provider names, resolving to the public
|
|
12
|
+
`ingestron/provider-adf` and `ingestron/provider-databricks` releases through the
|
|
13
|
+
qualified catalogue. Both providers generate files only and never deploy.
|
|
14
|
+
|
|
3
15
|
## 0.17.0
|
|
4
16
|
|
|
5
17
|
- Bind one ingestion flow to named execution profiles with `--flow` and `--profile`.
|
package/THIRD_PARTY_NOTICES.md
CHANGED
package/build/cli/cli/index.js
CHANGED
|
File without changes
|
package/build/cli/cli/output.js
CHANGED
|
@@ -27,6 +27,22 @@ export function exitCode(result) {
|
|
|
27
27
|
return 2;
|
|
28
28
|
}
|
|
29
29
|
const clean = (value) => String(value).replace(/[\u0000-\u001f\u007f-\u009f]/g, " ");
|
|
30
|
+
// Data product ownership from ODCS contracts; absent with older core versions.
|
|
31
|
+
function dataProductLines(products) {
|
|
32
|
+
if (!Array.isArray(products) || !products.length)
|
|
33
|
+
return "";
|
|
34
|
+
const shown = products.slice(0, 20).map((p) => {
|
|
35
|
+
const owners = Array.isArray(p.owners) ? p.owners.map(clean) : [];
|
|
36
|
+
return `\n ${clean(p.contract)} ${clean(p.status ?? "no status")} ${owners.length ? `owner ${owners.join(", ")}` : "no owner"}`;
|
|
37
|
+
});
|
|
38
|
+
const recorded = products.reduce((n, p) => n + Math.max(0, (p.qualityRules ?? 0) - (p.enforcedQualityRules ?? 0)), 0);
|
|
39
|
+
return ("\nData products:" +
|
|
40
|
+
shown.join("") +
|
|
41
|
+
(products.length > 20 ? `\n … ${products.length - 20} more` : "") +
|
|
42
|
+
(recorded
|
|
43
|
+
? `\n${recorded} quality rule(s) are recorded in contracts but not yet enforced.`
|
|
44
|
+
: ""));
|
|
45
|
+
}
|
|
30
46
|
function pluginLabel(reference) {
|
|
31
47
|
for (const [name, entry] of Object.entries(officialPlugins)) {
|
|
32
48
|
const prefixes = [
|
|
@@ -105,7 +121,8 @@ export function terminal(result, verbose = false, args = {}) {
|
|
|
105
121
|
case "validate":
|
|
106
122
|
return value.mode === "draft"
|
|
107
123
|
? `Draft configuration checked (${value.flows} flows).\n${value.pending.length} unresolved inputs. Strict build readiness has not been checked.`
|
|
108
|
-
: `Project checks passed${value.nodes === undefined ? "" : ` (${value.nodes} planned nodes)`}.\nValidation is local; no platform connection was tested
|
|
124
|
+
: `Project checks passed${value.nodes === undefined ? "" : ` (${value.nodes} planned nodes)`}.\nValidation is local; no platform connection was tested.` +
|
|
125
|
+
dataProductLines(value.dataProducts);
|
|
109
126
|
case "doctor":
|
|
110
127
|
return `Project ${clean(value.project)} (${clean(value.environment)})\n${value.pending.length} unresolved inputs.\n${clean(value.platformAccess)}\nNext: ${clean(value.next)}`;
|
|
111
128
|
case "runtime_prepare":
|
|
@@ -1,12 +1,24 @@
|
|
|
1
1
|
/** Official-name convenience at the adapter boundary; core only receives exact references. */
|
|
2
2
|
import { type Context, type OperationName, type Result } from "@ingestron/core";
|
|
3
3
|
export declare const officialPlugins: {
|
|
4
|
+
readonly adf: {
|
|
5
|
+
readonly kind: "provider";
|
|
6
|
+
readonly repository: "ingestron/provider-adf";
|
|
7
|
+
readonly path: "plugin/provider.yaml";
|
|
8
|
+
readonly tagPrefix: "";
|
|
9
|
+
};
|
|
4
10
|
readonly "azure-blob": {
|
|
5
11
|
readonly kind: "connector";
|
|
6
12
|
readonly repository: "ingestron/connectors";
|
|
7
13
|
readonly path: "connectors/azure-blob/connector.yaml";
|
|
8
14
|
readonly tagPrefix: "azure-blob-";
|
|
9
15
|
};
|
|
16
|
+
readonly databricks: {
|
|
17
|
+
readonly kind: "provider";
|
|
18
|
+
readonly repository: "ingestron/provider-databricks";
|
|
19
|
+
readonly path: "plugin/provider.yaml";
|
|
20
|
+
readonly tagPrefix: "";
|
|
21
|
+
};
|
|
10
22
|
readonly files: {
|
|
11
23
|
readonly kind: "connector";
|
|
12
24
|
readonly repository: "ingestron/connectors";
|
|
@@ -3,12 +3,24 @@ import { executeAsync, operationSchemas, } from "@ingestron/core";
|
|
|
3
3
|
import { check, packageLock, Problem } from "@ingestron/core/adapter";
|
|
4
4
|
import { coreVersion } from "../version.js";
|
|
5
5
|
export const officialPlugins = {
|
|
6
|
+
adf: {
|
|
7
|
+
kind: "provider",
|
|
8
|
+
repository: "ingestron/provider-adf",
|
|
9
|
+
path: "plugin/provider.yaml",
|
|
10
|
+
tagPrefix: "",
|
|
11
|
+
},
|
|
6
12
|
"azure-blob": {
|
|
7
13
|
kind: "connector",
|
|
8
14
|
repository: "ingestron/connectors",
|
|
9
15
|
path: "connectors/azure-blob/connector.yaml",
|
|
10
16
|
tagPrefix: "azure-blob-",
|
|
11
17
|
},
|
|
18
|
+
databricks: {
|
|
19
|
+
kind: "provider",
|
|
20
|
+
repository: "ingestron/provider-databricks",
|
|
21
|
+
path: "plugin/provider.yaml",
|
|
22
|
+
tagPrefix: "",
|
|
23
|
+
},
|
|
12
24
|
files: {
|
|
13
25
|
kind: "connector",
|
|
14
26
|
repository: "ingestron/connectors",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ingestron",
|
|
3
|
-
"version": "0.17.
|
|
3
|
+
"version": "0.17.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Build repeatable data pipelines from reviewed contracts and versioned standards.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -22,25 +22,9 @@
|
|
|
22
22
|
"engines": {
|
|
23
23
|
"node": ">=22.12.0"
|
|
24
24
|
},
|
|
25
|
-
"packageManager": "pnpm@10.15.0",
|
|
26
|
-
"scripts": {
|
|
27
|
-
"build": "node scripts/clean-build.mjs && tsc",
|
|
28
|
-
"test": "tsx --test --test-concurrency=1 test/unit/*.test.ts test/providers/*.test.ts test/integration/*.test.ts",
|
|
29
|
-
"format": "prettier --write .",
|
|
30
|
-
"format:check": "prettier --check .",
|
|
31
|
-
"secrets:check": "node scripts/secrets.mjs",
|
|
32
|
-
"validate": "pnpm format:check && pnpm build && pnpm test && pnpm examples:check && pnpm secrets:check && pnpm docs:check && pnpm release:check && pnpm package:check",
|
|
33
|
-
"prepack": "pnpm build",
|
|
34
|
-
"package:check": "tsx scripts/package-check.ts",
|
|
35
|
-
"release:check": "node scripts/release-check.mjs",
|
|
36
|
-
"prepublishOnly": "node scripts/release-check.mjs --publish",
|
|
37
|
-
"docs:check": "node scripts/docs-check.mjs",
|
|
38
|
-
"examples:check": "node examples/quickstart.mjs",
|
|
39
|
-
"licences:inventory": "node scripts/licence-inventory.mjs"
|
|
40
|
-
},
|
|
41
25
|
"dependencies": {
|
|
42
26
|
"@clack/prompts": "1.7.0",
|
|
43
|
-
"@ingestron/core": "0.12.
|
|
27
|
+
"@ingestron/core": "0.12.8",
|
|
44
28
|
"@modelcontextprotocol/sdk": "1.30.0",
|
|
45
29
|
"commander": "15.0.0",
|
|
46
30
|
"yaml": "2.9.0"
|
|
@@ -72,5 +56,18 @@
|
|
|
72
56
|
"cli",
|
|
73
57
|
"mcp",
|
|
74
58
|
"code-generation"
|
|
75
|
-
]
|
|
76
|
-
|
|
59
|
+
],
|
|
60
|
+
"scripts": {
|
|
61
|
+
"build": "node scripts/clean-build.mjs && tsc",
|
|
62
|
+
"test": "tsx --test --test-concurrency=1 test/unit/*.test.ts test/providers/*.test.ts test/integration/*.test.ts",
|
|
63
|
+
"format": "prettier --write .",
|
|
64
|
+
"format:check": "prettier --check .",
|
|
65
|
+
"secrets:check": "node scripts/secrets.mjs",
|
|
66
|
+
"validate": "pnpm format:check && pnpm build && pnpm test && pnpm examples:check && pnpm secrets:check && pnpm docs:check && pnpm release:check && pnpm package:check",
|
|
67
|
+
"package:check": "tsx scripts/package-check.ts",
|
|
68
|
+
"release:check": "node scripts/release-check.mjs",
|
|
69
|
+
"docs:check": "node scripts/docs-check.mjs",
|
|
70
|
+
"examples:check": "node examples/quickstart.mjs",
|
|
71
|
+
"licences:inventory": "node scripts/licence-inventory.mjs"
|
|
72
|
+
}
|
|
73
|
+
}
|