ingestron 0.17.5 → 0.17.7
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,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.17.7
|
|
4
|
+
|
|
5
|
+
- Pin core 0.12.13. Connections can name a source `kind` and a `route`
|
|
6
|
+
(`portable` or `native`); a native connection is generated by the provider's
|
|
7
|
+
own ingestion standard, with no silent fallback. `check` lists each flow's
|
|
8
|
+
source, route and reference record (licence, cost, access, maturity) and the
|
|
9
|
+
other routes available. Stale reference records are flagged.
|
|
10
|
+
- Official short names `postgresql`, `mysql` and `oracle` for the new database
|
|
11
|
+
connectors.
|
|
12
|
+
|
|
13
|
+
## 0.17.6
|
|
14
|
+
|
|
15
|
+
- Pin core 0.12.12. Providers can declare where each engine's rules are enforced,
|
|
16
|
+
and SQL rules may use `${table}` and, on column rules, `${column}`; other
|
|
17
|
+
placeholders fail `check`. Databricks 3.5.0 and ADF 4.5.0 use this.
|
|
18
|
+
|
|
3
19
|
## 0.17.5
|
|
4
20
|
|
|
5
21
|
- Pin core 0.12.11. Providers can declare which contract quality rules they
|
package/THIRD_PARTY_NOTICES.md
CHANGED
package/build/cli/cli/output.js
CHANGED
|
@@ -61,6 +61,37 @@ function runQualityLine(flows) {
|
|
|
61
61
|
.join(", ")}${warned.length > 5 ? ", …" : ""}`
|
|
62
62
|
: ", all passed"}.`;
|
|
63
63
|
}
|
|
64
|
+
// Source routes from core (PB-064); absent with older core versions.
|
|
65
|
+
const costLabel = {
|
|
66
|
+
none: "no extra cost",
|
|
67
|
+
included: "included in platform pricing",
|
|
68
|
+
"separately-billed": "billed separately",
|
|
69
|
+
};
|
|
70
|
+
function routeLabel(route) {
|
|
71
|
+
const r = route?.reference;
|
|
72
|
+
const via = route?.route === "native"
|
|
73
|
+
? `native on ${clean(route.configuration)} via ${(route.standards ?? []).map(clean).join(", ")}`
|
|
74
|
+
: `portable ${clean(route?.package ?? "connector")} on ${clean(route?.configuration)}`;
|
|
75
|
+
if (!r)
|
|
76
|
+
return `${via} [no reference record]`;
|
|
77
|
+
const stale = Date.now() - new Date(`${r.verified}T00:00:00Z`).getTime() >
|
|
78
|
+
180 * 86_400_000;
|
|
79
|
+
return `${via} [${clean(r.maturity)}, ${costLabel[r.cost?.model] ?? clean(r.cost?.model)}${stale ? `, record checked ${clean(r.verified)}` : ""}]`;
|
|
80
|
+
}
|
|
81
|
+
function sourceLines(sources) {
|
|
82
|
+
if (!Array.isArray(sources) || !sources.length)
|
|
83
|
+
return "";
|
|
84
|
+
return ("\nSources:" +
|
|
85
|
+
sources
|
|
86
|
+
.slice(0, 20)
|
|
87
|
+
.map((s) => `\n ${clean(s.flow)}: ${clean(s.connection)} (${clean(s.kind)}) ${routeLabel(s.selected)}` +
|
|
88
|
+
(s.alternative
|
|
89
|
+
? `\n Also available: ${routeLabel(s.alternative)}`
|
|
90
|
+
: ""))
|
|
91
|
+
.join("") +
|
|
92
|
+
(sources.length > 20 ? `\n … ${sources.length - 20} more` : "") +
|
|
93
|
+
"\nUse --json for every route with documentation, licence, cost and access.");
|
|
94
|
+
}
|
|
64
95
|
function pluginLabel(reference) {
|
|
65
96
|
for (const [name, entry] of Object.entries(officialPlugins)) {
|
|
66
97
|
const prefixes = [
|
|
@@ -140,7 +171,8 @@ export function terminal(result, verbose = false, args = {}) {
|
|
|
140
171
|
return value.mode === "draft"
|
|
141
172
|
? `Draft configuration checked (${value.flows} flows).\n${value.pending.length} unresolved inputs. Strict build readiness has not been checked.`
|
|
142
173
|
: `Project checks passed${value.nodes === undefined ? "" : ` (${value.nodes} planned nodes)`}.\nValidation is local; no platform connection was tested.` +
|
|
143
|
-
dataProductLines(value.dataProducts, value.quality)
|
|
174
|
+
dataProductLines(value.dataProducts, value.quality) +
|
|
175
|
+
sourceLines(value.sources);
|
|
144
176
|
case "doctor":
|
|
145
177
|
return `Project ${clean(value.project)} (${clean(value.environment)})\n${value.pending.length} unresolved inputs.\n${clean(value.platformAccess)}\nNext: ${clean(value.next)}`;
|
|
146
178
|
case "runtime_prepare":
|
|
@@ -37,6 +37,24 @@ export declare const officialPlugins: {
|
|
|
37
37
|
readonly path: "plugin/provider.yaml";
|
|
38
38
|
readonly tagPrefix: "";
|
|
39
39
|
};
|
|
40
|
+
readonly mysql: {
|
|
41
|
+
readonly kind: "connector";
|
|
42
|
+
readonly repository: "ingestron/connectors";
|
|
43
|
+
readonly path: "connectors/mysql/connector.yaml";
|
|
44
|
+
readonly tagPrefix: "mysql-";
|
|
45
|
+
};
|
|
46
|
+
readonly oracle: {
|
|
47
|
+
readonly kind: "connector";
|
|
48
|
+
readonly repository: "ingestron/connectors";
|
|
49
|
+
readonly path: "connectors/oracle/connector.yaml";
|
|
50
|
+
readonly tagPrefix: "oracle-";
|
|
51
|
+
};
|
|
52
|
+
readonly postgresql: {
|
|
53
|
+
readonly kind: "connector";
|
|
54
|
+
readonly repository: "ingestron/connectors";
|
|
55
|
+
readonly path: "connectors/postgresql/connector.yaml";
|
|
56
|
+
readonly tagPrefix: "postgresql-";
|
|
57
|
+
};
|
|
40
58
|
readonly "sql-server": {
|
|
41
59
|
readonly kind: "connector";
|
|
42
60
|
readonly repository: "ingestron/connectors";
|
|
@@ -39,6 +39,24 @@ export const officialPlugins = {
|
|
|
39
39
|
path: "plugin/provider.yaml",
|
|
40
40
|
tagPrefix: "",
|
|
41
41
|
},
|
|
42
|
+
mysql: {
|
|
43
|
+
kind: "connector",
|
|
44
|
+
repository: "ingestron/connectors",
|
|
45
|
+
path: "connectors/mysql/connector.yaml",
|
|
46
|
+
tagPrefix: "mysql-",
|
|
47
|
+
},
|
|
48
|
+
oracle: {
|
|
49
|
+
kind: "connector",
|
|
50
|
+
repository: "ingestron/connectors",
|
|
51
|
+
path: "connectors/oracle/connector.yaml",
|
|
52
|
+
tagPrefix: "oracle-",
|
|
53
|
+
},
|
|
54
|
+
postgresql: {
|
|
55
|
+
kind: "connector",
|
|
56
|
+
repository: "ingestron/connectors",
|
|
57
|
+
path: "connectors/postgresql/connector.yaml",
|
|
58
|
+
tagPrefix: "postgresql-",
|
|
59
|
+
},
|
|
42
60
|
"sql-server": {
|
|
43
61
|
kind: "connector",
|
|
44
62
|
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.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Build repeatable data pipelines from reviewed contracts and versioned standards.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@clack/prompts": "1.7.0",
|
|
43
|
-
"@ingestron/core": "0.12.
|
|
43
|
+
"@ingestron/core": "0.12.13",
|
|
44
44
|
"@modelcontextprotocol/sdk": "1.30.0",
|
|
45
45
|
"commander": "15.0.0",
|
|
46
46
|
"yaml": "2.9.0"
|