ingestron 0.17.3 → 0.17.5

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,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.17.5
4
+
5
+ - Pin core 0.12.11. Providers can declare which contract quality rules they
6
+ enforce for each ingestion standard; `check` and `build` report coverage for
7
+ the standard a flow selects. Databricks 3.4.0 and ADF 4.4.0 use this.
8
+
9
+ ## 0.17.4
10
+
11
+ - Pin core 0.12.10. Connectors that check contract quality rules before commit
12
+ count those rules as enforced at load for connection flows. `run` and
13
+ `run status` report how many rules were checked and name any warnings; a failed
14
+ error-severity rule stops the run with nothing committed.
15
+
3
16
  ## 0.17.3
4
17
 
5
18
  - Pin core 0.12.9. Contracts can carry ODCS quality rules; `check` and `build`
@@ -75,7 +75,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
75
75
  SOFTWARE.
76
76
  ```
77
77
 
78
- ### @ingestron/core@0.12.9
78
+ ### @ingestron/core@0.12.11
79
79
 
80
80
  Declared licence: Apache-2.0
81
81
 
File without changes
@@ -46,6 +46,21 @@ function dataProductLines(products, quality) {
46
46
  ? `\n${recorded} quality rule(s) are recorded in contracts but not yet enforced.`
47
47
  : ""));
48
48
  }
49
+ // Quality results recorded by connector runtimes before commit; counts only.
50
+ function runQualityLine(flows) {
51
+ if (!Array.isArray(flows))
52
+ return "";
53
+ const rules = flows.flatMap((f) => Array.isArray(f?.quality) ? f.quality : []);
54
+ if (!rules.length)
55
+ return "";
56
+ const warned = rules.filter((r) => r.passed === false);
57
+ return `\nQuality rules: ${rules.length} checked before commit${warned.length
58
+ ? `; ${warned.length} warning(s): ${warned
59
+ .slice(0, 5)
60
+ .map((r) => clean(r.id))
61
+ .join(", ")}${warned.length > 5 ? ", …" : ""}`
62
+ : ", all passed"}.`;
63
+ }
49
64
  function pluginLabel(reference) {
50
65
  for (const [name, entry] of Object.entries(officialPlugins)) {
51
66
  const prefixes = [
@@ -136,7 +151,7 @@ export function terminal(result, verbose = false, args = {}) {
136
151
  `\nUse ingestron run status ${clean(value.id)} --verbose for environment paths and details.`);
137
152
  case "run":
138
153
  case "run_status":
139
- return `Run ${clean(value.id)}: ${clean(value.status)} (${clean(value.action)}).\nTarget: ${clean(value.configuration)}; flows: ${value.flows.map(clean).join(", ")}.\nUse ingestron run status ${clean(value.id)} to inspect the receipt.`;
154
+ return `Run ${clean(value.id)}: ${clean(value.status)} (${clean(value.action)}).\nTarget: ${clean(value.configuration)}; flows: ${value.flows.map(clean).join(", ")}.${runQualityLine(value.result?.flows)}\nUse ingestron run status ${clean(value.id)} to inspect the receipt.`;
140
155
  case "build":
141
156
  return `Built ${value.packages?.length ?? 1} project package(s) into ${clean(value.directory)}.\n${clean(value.evidence)}`;
142
157
  case "generate":
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ingestron",
3
- "version": "0.17.3",
3
+ "version": "0.17.5",
4
4
  "type": "module",
5
5
  "description": "Build repeatable data pipelines from reviewed contracts and versioned standards.",
6
6
  "license": "Apache-2.0",
@@ -22,9 +22,25 @@
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
+ },
25
41
  "dependencies": {
26
42
  "@clack/prompts": "1.7.0",
27
- "@ingestron/core": "0.12.9",
43
+ "@ingestron/core": "0.12.11",
28
44
  "@modelcontextprotocol/sdk": "1.30.0",
29
45
  "commander": "15.0.0",
30
46
  "yaml": "2.9.0"
@@ -56,18 +72,5 @@
56
72
  "cli",
57
73
  "mcp",
58
74
  "code-generation"
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
- }
75
+ ]
76
+ }