@intentius/behold 0.6.0 → 0.7.0

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/dist/cli.js CHANGED
@@ -1972,6 +1972,12 @@ import { join as join6 } from "node:path";
1972
1972
  function overlayBoxTitle(name) {
1973
1973
  return `overlay ${name}`;
1974
1974
  }
1975
+ var ROOT_ANNOTATION = "chant.intentius.io/kustomize-root";
1976
+ function annotatedRoot(node) {
1977
+ const metadata2 = node.attrs?.metadata;
1978
+ const v = metadata2?.annotations?.[ROOT_ANNOTATION];
1979
+ return typeof v === "string" && v ? v : void 0;
1980
+ }
1975
1981
  function dirOf2(node) {
1976
1982
  const file = node.sourceLoc?.file;
1977
1983
  if (typeof file !== "string") return "";
@@ -2002,12 +2008,15 @@ function projectKustomizeLogical(ir, sourceRoots, exists = existsSync5) {
2002
2008
  };
2003
2009
  const rootCache = /* @__PURE__ */ new Map();
2004
2010
  for (const n of k8s) {
2005
- const dir = dirOf2(n);
2006
- if (dir === "") continue;
2007
- if (!rootCache.has(dir)) rootCache.set(dir, kustomizationRoot(bases, dir, exists));
2008
- const root = rootCache.get(dir);
2011
+ let root = annotatedRoot(n);
2012
+ if (root === void 0) {
2013
+ const dir = dirOf2(n);
2014
+ if (dir === "") continue;
2015
+ if (!rootCache.has(dir)) rootCache.set(dir, kustomizationRoot(bases, dir, exists));
2016
+ root = rootCache.get(dir);
2017
+ }
2009
2018
  if (root === void 0) continue;
2010
- const name = root.split("/").pop() || root;
2019
+ const name = root.replace(/\/+$/, "").split("/").pop() || root;
2011
2020
  child(overlayBoxTitle(name), n.id);
2012
2021
  }
2013
2022
  return { ir: { nodes: [], edges: [], groups: {} }, byContainer };
@@ -2984,16 +2993,19 @@ function nodeDiff(json, nodeId) {
2984
2993
  if (drift) return { category: "drifted", changes: drift.changes ?? [] };
2985
2994
  const unobserved = r.unobserved?.find((u) => u.name === nodeId);
2986
2995
  if (unobserved) {
2996
+ const queried = unobserved.queried ?? r.queried?.[nodeId];
2987
2997
  return {
2988
2998
  category: "unobserved",
2989
2999
  changes: [],
2990
3000
  unobservedReason: unobserved.reason,
2991
- ...unobserved.detail ? { unobservedDetail: unobserved.detail } : {}
3001
+ ...unobserved.detail ? { unobservedDetail: unobserved.detail } : {},
3002
+ ...queried ? { queried } : {}
2992
3003
  };
2993
3004
  }
2994
3005
  const runtimeChild = r.runtimeChildren?.find((rc) => rc.name === nodeId);
2995
3006
  if (runtimeChild) return { category: "runtime", changes: [], runtimeOwner: runtimeChild.owner };
2996
- if (r.missing?.includes(nodeId)) return { category: "missing", changes: [] };
3007
+ if (r.missing?.includes(nodeId))
3008
+ return { category: "missing", changes: [], ...r.queried?.[nodeId] ? { queried: r.queried[nodeId] } : {} };
2997
3009
  if (r.orphan?.includes(nodeId)) return { category: "orphan", changes: [] };
2998
3010
  if (r.disappeared?.includes(nodeId)) return { category: "disappeared", changes: [] };
2999
3011
  if (r.newlyObserved?.includes(nodeId)) return { category: "newlyObserved", changes: [] };
@@ -2,12 +2,12 @@
2
2
  "name": "behold-example-flux-app-a",
3
3
  "private": true,
4
4
  "type": "module",
5
- "description": "App project A: declares its workload WITH explicit namespaces the fully-resolved half of the estate.",
5
+ "description": "App project A: declares its workload WITH explicit namespaces \u2014 the fully-resolved half of the estate.",
6
6
  "scripts": {
7
7
  "build": "chant build src -o manifests/app.yaml --format yaml"
8
8
  },
9
9
  "dependencies": {
10
- "@intentius/chant": "^0.41.20",
11
- "@intentius/chant-lexicon-k8s": "^0.41.20"
10
+ "@intentius/chant": "^0.44.2",
11
+ "@intentius/chant-lexicon-k8s": "^0.44.2"
12
12
  }
13
13
  }
@@ -2,12 +2,12 @@
2
2
  "name": "behold-example-flux-app-b",
3
3
  "private": true,
4
4
  "type": "module",
5
- "description": "App project B: declares NO metadata.namespace Flux's targetNamespace stamps it at apply time (the behold#192 shape).",
5
+ "description": "App project B: declares NO metadata.namespace \u2014 Flux's targetNamespace stamps it at apply time (the behold#192 shape).",
6
6
  "scripts": {
7
7
  "build": "chant build src -o manifests/app.yaml --format yaml"
8
8
  },
9
9
  "dependencies": {
10
- "@intentius/chant": "^0.41.20",
11
- "@intentius/chant-lexicon-k8s": "^0.41.20"
10
+ "@intentius/chant": "^0.44.2",
11
+ "@intentius/chant-lexicon-k8s": "^0.44.2"
12
12
  }
13
13
  }
@@ -7,7 +7,7 @@
7
7
  "build": "chant build src -o dist/control-plane.yaml --format yaml"
8
8
  },
9
9
  "dependencies": {
10
- "@intentius/chant": "^0.41.20",
11
- "@intentius/chant-lexicon-k8s": "^0.41.20"
10
+ "@intentius/chant": "^0.44.2",
11
+ "@intentius/chant-lexicon-k8s": "^0.44.2"
12
12
  }
13
13
  }
@@ -14,22 +14,22 @@
14
14
  "app-a": {
15
15
  "name": "behold-example-flux-app-a",
16
16
  "dependencies": {
17
- "@intentius/chant": "^0.41.20",
18
- "@intentius/chant-lexicon-k8s": "^0.41.20"
17
+ "@intentius/chant": "^0.44.2",
18
+ "@intentius/chant-lexicon-k8s": "^0.44.2"
19
19
  }
20
20
  },
21
21
  "app-b": {
22
22
  "name": "behold-example-flux-app-b",
23
23
  "dependencies": {
24
- "@intentius/chant": "^0.41.20",
25
- "@intentius/chant-lexicon-k8s": "^0.41.20"
24
+ "@intentius/chant": "^0.44.2",
25
+ "@intentius/chant-lexicon-k8s": "^0.44.2"
26
26
  }
27
27
  },
28
28
  "control-plane": {
29
29
  "name": "behold-example-flux-control-plane",
30
30
  "dependencies": {
31
- "@intentius/chant": "^0.41.20",
32
- "@intentius/chant-lexicon-k8s": "^0.41.20"
31
+ "@intentius/chant": "^0.44.2",
32
+ "@intentius/chant-lexicon-k8s": "^0.44.2"
33
33
  }
34
34
  },
35
35
  "node_modules/@dagrejs/dagre": {
@@ -464,9 +464,9 @@
464
464
  }
465
465
  },
466
466
  "node_modules/@intentius/chant": {
467
- "version": "0.41.20",
468
- "resolved": "https://registry.npmjs.org/@intentius/chant/-/chant-0.41.20.tgz",
469
- "integrity": "sha512-szvwBq/0oq7YdJ/GuhIeyhbTniVSG6Kvra7ClLcrIisvPBZAq2rWTT3Pw7OhjB+KkEZn6mMspJvvXpyhPBPw0w==",
467
+ "version": "0.44.2",
468
+ "resolved": "https://registry.npmjs.org/@intentius/chant/-/chant-0.44.2.tgz",
469
+ "integrity": "sha512-qGt/eAteVO6R6UGDEo7QdlRL48lOiTnjYc58OLrxMfDJ1nxzQaDa68H7UnGytApQ1mOdLcEsK60lX8vnYYg0Nw==",
470
470
  "license": "Apache-2.0",
471
471
  "dependencies": {
472
472
  "@dagrejs/dagre": "^3.0.0",
@@ -482,9 +482,9 @@
482
482
  }
483
483
  },
484
484
  "node_modules/@intentius/chant-k8s-client": {
485
- "version": "0.41.20",
486
- "resolved": "https://registry.npmjs.org/@intentius/chant-k8s-client/-/chant-k8s-client-0.41.20.tgz",
487
- "integrity": "sha512-i1AhwIjnk2QwbgN0FoJceS2HPU36InLKWNRD44vmSXHq57Ke9YGf+hqtbwCVvYhCL3OVdaJMxHqsdiW88sTfeA==",
485
+ "version": "0.44.2",
486
+ "resolved": "https://registry.npmjs.org/@intentius/chant-k8s-client/-/chant-k8s-client-0.44.2.tgz",
487
+ "integrity": "sha512-97r6hXTwnSw2f2CDFCaBoKOs6J1VHj2l59vTvQ5Q+HFq1XPADilmRAcAq5vbcFFkIZbfbAe4JiRbMls0ATDW2w==",
488
488
  "license": "Apache-2.0",
489
489
  "optional": true,
490
490
  "dependencies": {
@@ -492,19 +492,19 @@
492
492
  }
493
493
  },
494
494
  "node_modules/@intentius/chant-lexicon-k8s": {
495
- "version": "0.41.20",
496
- "resolved": "https://registry.npmjs.org/@intentius/chant-lexicon-k8s/-/chant-lexicon-k8s-0.41.20.tgz",
497
- "integrity": "sha512-i5CgqMZLx9H2ZGe/+xI703JB0BljAMquApYSfCrS9oz47NoZ2D6X02tHdJvt8V64sq7i8mTQSPsWskk4KoDpyw==",
495
+ "version": "0.44.2",
496
+ "resolved": "https://registry.npmjs.org/@intentius/chant-lexicon-k8s/-/chant-lexicon-k8s-0.44.2.tgz",
497
+ "integrity": "sha512-w3OycY5D/dez3J+7L0NjxcEA4AjAVhfZHC9jeawei+vWo2cbN74H8RKRqS3WHdyqiaBWlyiJRuI+8lJxEVSzUA==",
498
498
  "license": "Apache-2.0",
499
499
  "dependencies": {
500
500
  "@types/js-yaml": "^4.0.9",
501
501
  "js-yaml": "^4.1.1"
502
502
  },
503
503
  "optionalDependencies": {
504
- "@intentius/chant-k8s-client": "^0.41.5"
504
+ "@intentius/chant-k8s-client": "^0.44.2"
505
505
  },
506
506
  "peerDependencies": {
507
- "@intentius/chant": "^0.41.20",
507
+ "@intentius/chant": "^0.44.2",
508
508
  "typescript": "^5.9.3",
509
509
  "zod": "^4.3.6"
510
510
  }
@@ -6,9 +6,9 @@
6
6
  "": {
7
7
  "name": "behold-example-k8s",
8
8
  "dependencies": {
9
- "@intentius/chant": "^0.32.0",
10
- "@intentius/chant-lexicon-k8s": "^0.32.0",
11
- "@intentius/chant-lexicon-temporal": "^0.32.0"
9
+ "@intentius/chant": "^0.44.2",
10
+ "@intentius/chant-lexicon-k8s": "^0.44.2",
11
+ "@intentius/chant-lexicon-temporal": "^0.44.2"
12
12
  }
13
13
  },
14
14
  "node_modules/@dagrejs/dagre": {
@@ -443,9 +443,9 @@
443
443
  }
444
444
  },
445
445
  "node_modules/@intentius/chant": {
446
- "version": "0.32.0",
447
- "resolved": "https://registry.npmjs.org/@intentius/chant/-/chant-0.32.0.tgz",
448
- "integrity": "sha512-U+wnypMgidM/SS6nA0vff+8KP6KBeZL5+0laeU3slhnCUU+zFKIg6NxFZcxsZE81P/VFOPstZnSMU9KUqcwjvg==",
446
+ "version": "0.44.2",
447
+ "resolved": "https://registry.npmjs.org/@intentius/chant/-/chant-0.44.2.tgz",
448
+ "integrity": "sha512-qGt/eAteVO6R6UGDEo7QdlRL48lOiTnjYc58OLrxMfDJ1nxzQaDa68H7UnGytApQ1mOdLcEsK60lX8vnYYg0Nw==",
449
449
  "license": "Apache-2.0",
450
450
  "dependencies": {
451
451
  "@dagrejs/dagre": "^3.0.0",
@@ -461,9 +461,9 @@
461
461
  }
462
462
  },
463
463
  "node_modules/@intentius/chant-k8s-client": {
464
- "version": "0.32.0",
465
- "resolved": "https://registry.npmjs.org/@intentius/chant-k8s-client/-/chant-k8s-client-0.32.0.tgz",
466
- "integrity": "sha512-I4bwNqvzfrEgjY9ZM7Ya73xLaDbgS1zzKza4gtwod4au7jpD+5kO22Pb+NAFgMb6c+kxgApaWFC3OVD1ewJpbg==",
464
+ "version": "0.44.2",
465
+ "resolved": "https://registry.npmjs.org/@intentius/chant-k8s-client/-/chant-k8s-client-0.44.2.tgz",
466
+ "integrity": "sha512-97r6hXTwnSw2f2CDFCaBoKOs6J1VHj2l59vTvQ5Q+HFq1XPADilmRAcAq5vbcFFkIZbfbAe4JiRbMls0ATDW2w==",
467
467
  "license": "Apache-2.0",
468
468
  "optional": true,
469
469
  "dependencies": {
@@ -471,33 +471,36 @@
471
471
  }
472
472
  },
473
473
  "node_modules/@intentius/chant-lexicon-k8s": {
474
- "version": "0.32.0",
475
- "resolved": "https://registry.npmjs.org/@intentius/chant-lexicon-k8s/-/chant-lexicon-k8s-0.32.0.tgz",
476
- "integrity": "sha512-47MJBS1g9BvP+J5rZ0HdCNtdKyU31O9cpLG3VqyiP/Q5YhJeLgrLbPFwAzphCUmEFMswuK+LXAiS3Vu/HXuXYQ==",
474
+ "version": "0.44.2",
475
+ "resolved": "https://registry.npmjs.org/@intentius/chant-lexicon-k8s/-/chant-lexicon-k8s-0.44.2.tgz",
476
+ "integrity": "sha512-w3OycY5D/dez3J+7L0NjxcEA4AjAVhfZHC9jeawei+vWo2cbN74H8RKRqS3WHdyqiaBWlyiJRuI+8lJxEVSzUA==",
477
477
  "license": "Apache-2.0",
478
478
  "dependencies": {
479
479
  "@types/js-yaml": "^4.0.9",
480
480
  "js-yaml": "^4.1.1"
481
481
  },
482
482
  "optionalDependencies": {
483
- "@intentius/chant-k8s-client": "^0.32.0"
483
+ "@intentius/chant-k8s-client": "^0.44.2"
484
484
  },
485
485
  "peerDependencies": {
486
- "@intentius/chant": "^0.32.0",
487
- "typescript": "^5.9.3"
486
+ "@intentius/chant": "^0.44.2",
487
+ "typescript": "^5.9.3",
488
+ "zod": "^4.3.6"
488
489
  }
489
490
  },
490
491
  "node_modules/@intentius/chant-lexicon-temporal": {
491
- "version": "0.32.0",
492
- "resolved": "https://registry.npmjs.org/@intentius/chant-lexicon-temporal/-/chant-lexicon-temporal-0.32.0.tgz",
493
- "integrity": "sha512-A/JEV3dwgNp1RcguWWGxYUfwx/7nQ3btHtFoqHJVJ3zZo9qodpDCTOTHNDJrM1yuq6sCp22I0gJeS4ZkdDS2Tg==",
492
+ "version": "0.44.2",
493
+ "resolved": "https://registry.npmjs.org/@intentius/chant-lexicon-temporal/-/chant-lexicon-temporal-0.44.2.tgz",
494
+ "integrity": "sha512-0sHR116Z7mDRgJZudNGgITJs4GDwU5fLgOM6ruJ2u1uIehCd1CYGJ1P7nWtetr4FHfM9vn022iLuO194rvkwcA==",
494
495
  "license": "Apache-2.0",
495
496
  "dependencies": {
496
- "@temporalio/common": "^1.17.2"
497
+ "@temporalio/common": "^1.17.2",
498
+ "js-yaml": "^4.1.1"
497
499
  },
498
500
  "peerDependencies": {
499
- "@intentius/chant": "^0.32.0",
500
- "typescript": "^5.9.3"
501
+ "@intentius/chant": "^0.44.2",
502
+ "typescript": "^5.9.3",
503
+ "zod": "^4.3.6"
501
504
  }
502
505
  },
503
506
  "node_modules/@jsep-plugin/assignment": {
@@ -727,9 +730,9 @@
727
730
  }
728
731
  },
729
732
  "node_modules/bare-fs": {
730
- "version": "4.7.4",
731
- "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.7.4.tgz",
732
- "integrity": "sha512-y1kC+ffIx/tPLdTE693uNjHfzTfr+ravR5tvWlMXe25nELbkqV400S71qHDwbkAQ1FVEZobB1NFRzFbCCcyBCQ==",
733
+ "version": "4.8.0",
734
+ "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.8.0.tgz",
735
+ "integrity": "sha512-fM+MhCvdQhZ7NV6S95a07gPSqjIYKn6mFaXfx266wN3ajZGl/+1AzH+ubkXQ0fFZvOe2nk9VHkzdYkQE5zMV3Q==",
733
736
  "license": "Apache-2.0",
734
737
  "optional": true,
735
738
  "dependencies": {
@@ -740,7 +743,7 @@
740
743
  "fast-fifo": "^1.3.2"
741
744
  },
742
745
  "engines": {
743
- "bare": ">=1.16.0"
746
+ "bare": ">=1.28.0"
744
747
  },
745
748
  "peerDependencies": {
746
749
  "bare-buffer": "*"
@@ -787,9 +790,9 @@
787
790
  }
788
791
  },
789
792
  "node_modules/bare-url": {
790
- "version": "2.4.6",
791
- "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.6.tgz",
792
- "integrity": "sha512-iQxPClE07hETVpbRoX7JXX3v/ZQViCxe/SYCxylRLzdEx1xJAufPptfiOqR8tqiCtmbtMDANKWszzjLu1PMAZQ==",
793
+ "version": "2.5.1",
794
+ "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.5.1.tgz",
795
+ "integrity": "sha512-cD5ciQuKlx+eumTCfqbfiL+fhQm+dHbVNB/cX4+d+I/nx4JsVop9VoFEPAs5RJ6I84QR6bZIBjpd2kjDOYeWcg==",
793
796
  "license": "Apache-2.0",
794
797
  "optional": true,
795
798
  "dependencies": {
@@ -1142,9 +1145,9 @@
1142
1145
  }
1143
1146
  },
1144
1147
  "node_modules/ip-address": {
1145
- "version": "10.3.1",
1146
- "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.3.1.tgz",
1147
- "integrity": "sha512-1e9d3kb97NHJTIJDZW9rKqW2h6+dFa50Dy0fpPSMQp2ADje5gvKsXmdiK6dwY5t76TaTt5+P5N1Y/LoToIxP6g==",
1148
+ "version": "10.4.0",
1149
+ "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.4.0.tgz",
1150
+ "integrity": "sha512-oSK96Grm3aP6OrS263xVxbNDGVL7rzBtYdpGqlDG8iQdoenDoTs/nkki+DflYbAEE8Xl6o5YxhxlrKvI3nqKXQ==",
1148
1151
  "license": "MIT",
1149
1152
  "optional": true,
1150
1153
  "engines": {
@@ -1162,9 +1165,9 @@
1162
1165
  }
1163
1166
  },
1164
1167
  "node_modules/jose": {
1165
- "version": "6.2.4",
1166
- "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.4.tgz",
1167
- "integrity": "sha512-N8acGzVsQy6M/fjFcxtysNc4Q379TcM5dM/qKkNtsHFji88yANnXTr7BLeP75iPnFwBfQzM/jg2BZ9+HZrHCZA==",
1168
+ "version": "6.2.8",
1169
+ "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.8.tgz",
1170
+ "integrity": "sha512-Bsdjwm3Qsd/P0jR+BHDe3LytDfY7WBq2HmCCLIwuVRHMuEC9ae7/R474GIUdF1NgCyZjzVo/A9DOiOBtXq8ZoQ==",
1168
1171
  "license": "MIT",
1169
1172
  "optional": true,
1170
1173
  "funding": {
@@ -1172,9 +1175,9 @@
1172
1175
  }
1173
1176
  },
1174
1177
  "node_modules/js-yaml": {
1175
- "version": "4.3.0",
1176
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz",
1177
- "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==",
1178
+ "version": "4.3.1",
1179
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.1.tgz",
1180
+ "integrity": "sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==",
1178
1181
  "funding": [
1179
1182
  {
1180
1183
  "type": "github",
@@ -2037,9 +2040,9 @@
2037
2040
  "optional": true
2038
2041
  },
2039
2042
  "node_modules/ws": {
2040
- "version": "8.21.1",
2041
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.1.tgz",
2042
- "integrity": "sha512-+0NTnW77fFN/DjQi6k/Sq/Yvk4Sgajw7urW8V+asjXnRgDs9gyGkdb7EzgfhA4goXsRIZKE28fzIXBHEzhuiWw==",
2043
+ "version": "8.21.3",
2044
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.3.tgz",
2045
+ "integrity": "sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==",
2043
2046
  "license": "MIT",
2044
2047
  "optional": true,
2045
2048
  "engines": {
@@ -2,13 +2,13 @@
2
2
  "name": "behold-example-k8s",
3
3
  "private": true,
4
4
  "type": "module",
5
- "description": "A small nginx Deployment+Service on k3d behold's k3d turnkey demo (#88), the Kubernetes counterpart to Loom-on-Floci.",
5
+ "description": "A small nginx Deployment+Service on k3d \u2014 behold's k3d turnkey demo (#88), the Kubernetes counterpart to Loom-on-Floci.",
6
6
  "scripts": {
7
7
  "build": "./node_modules/.bin/chant build src --lexicon k8s -o app.yaml"
8
8
  },
9
9
  "dependencies": {
10
- "@intentius/chant": "^0.32.0",
11
- "@intentius/chant-lexicon-k8s": "^0.32.0",
12
- "@intentius/chant-lexicon-temporal": "^0.32.0"
10
+ "@intentius/chant": "^0.44.2",
11
+ "@intentius/chant-lexicon-k8s": "^0.44.2",
12
+ "@intentius/chant-lexicon-temporal": "^0.44.2"
13
13
  }
14
14
  }
@@ -6,9 +6,9 @@
6
6
  "": {
7
7
  "name": "behold-example-writes",
8
8
  "dependencies": {
9
- "@intentius/chant": "^0.32.0",
10
- "@intentius/chant-lexicon-aws": "^0.32.0",
11
- "@intentius/chant-lexicon-temporal": "^0.32.0"
9
+ "@intentius/chant": "^0.44.2",
10
+ "@intentius/chant-lexicon-aws": "^0.44.2",
11
+ "@intentius/chant-lexicon-temporal": "^0.44.2"
12
12
  }
13
13
  },
14
14
  "node_modules/@dagrejs/dagre": {
@@ -443,9 +443,9 @@
443
443
  }
444
444
  },
445
445
  "node_modules/@intentius/chant": {
446
- "version": "0.32.0",
447
- "resolved": "https://registry.npmjs.org/@intentius/chant/-/chant-0.32.0.tgz",
448
- "integrity": "sha512-U+wnypMgidM/SS6nA0vff+8KP6KBeZL5+0laeU3slhnCUU+zFKIg6NxFZcxsZE81P/VFOPstZnSMU9KUqcwjvg==",
446
+ "version": "0.44.2",
447
+ "resolved": "https://registry.npmjs.org/@intentius/chant/-/chant-0.44.2.tgz",
448
+ "integrity": "sha512-qGt/eAteVO6R6UGDEo7QdlRL48lOiTnjYc58OLrxMfDJ1nxzQaDa68H7UnGytApQ1mOdLcEsK60lX8vnYYg0Nw==",
449
449
  "license": "Apache-2.0",
450
450
  "dependencies": {
451
451
  "@dagrejs/dagre": "^3.0.0",
@@ -461,30 +461,32 @@
461
461
  }
462
462
  },
463
463
  "node_modules/@intentius/chant-lexicon-aws": {
464
- "version": "0.32.0",
465
- "resolved": "https://registry.npmjs.org/@intentius/chant-lexicon-aws/-/chant-lexicon-aws-0.32.0.tgz",
466
- "integrity": "sha512-+hebdJ9RxexbMDl4bxG8To4C67qiYD1XEZ6V2i8o+txDUEmBph81Hdpjqf7Z/3x2yg9lDUX4qoFkQpjzmvxUog==",
464
+ "version": "0.44.2",
465
+ "resolved": "https://registry.npmjs.org/@intentius/chant-lexicon-aws/-/chant-lexicon-aws-0.44.2.tgz",
466
+ "integrity": "sha512-TPlq70LqLB8KRYLup8njKJeLbQyjofVTvQy892HI2RkacyAohhWj65hxIDH7zbEbnONbfJpolxyaicAzDXmnuw==",
467
467
  "license": "Apache-2.0",
468
468
  "dependencies": {
469
469
  "fflate": "^0.8.2",
470
470
  "js-yaml": "^4.1.0"
471
471
  },
472
472
  "peerDependencies": {
473
- "@intentius/chant": "^0.32.0",
473
+ "@intentius/chant": "^0.44.2",
474
474
  "typescript": "^5.9.3"
475
475
  }
476
476
  },
477
477
  "node_modules/@intentius/chant-lexicon-temporal": {
478
- "version": "0.32.0",
479
- "resolved": "https://registry.npmjs.org/@intentius/chant-lexicon-temporal/-/chant-lexicon-temporal-0.32.0.tgz",
480
- "integrity": "sha512-A/JEV3dwgNp1RcguWWGxYUfwx/7nQ3btHtFoqHJVJ3zZo9qodpDCTOTHNDJrM1yuq6sCp22I0gJeS4ZkdDS2Tg==",
478
+ "version": "0.44.2",
479
+ "resolved": "https://registry.npmjs.org/@intentius/chant-lexicon-temporal/-/chant-lexicon-temporal-0.44.2.tgz",
480
+ "integrity": "sha512-0sHR116Z7mDRgJZudNGgITJs4GDwU5fLgOM6ruJ2u1uIehCd1CYGJ1P7nWtetr4FHfM9vn022iLuO194rvkwcA==",
481
481
  "license": "Apache-2.0",
482
482
  "dependencies": {
483
- "@temporalio/common": "^1.17.2"
483
+ "@temporalio/common": "^1.17.2",
484
+ "js-yaml": "^4.1.1"
484
485
  },
485
486
  "peerDependencies": {
486
- "@intentius/chant": "^0.32.0",
487
- "typescript": "^5.9.3"
487
+ "@intentius/chant": "^0.44.2",
488
+ "typescript": "^5.9.3",
489
+ "zod": "^4.3.6"
488
490
  }
489
491
  },
490
492
  "node_modules/@protobufjs/aspromise": {
@@ -7,8 +7,8 @@
7
7
  "build": "./node_modules/.bin/chant build src --lexicon aws -o template.json"
8
8
  },
9
9
  "dependencies": {
10
- "@intentius/chant": "^0.32.0",
11
- "@intentius/chant-lexicon-aws": "^0.32.0",
12
- "@intentius/chant-lexicon-temporal": "^0.32.0"
10
+ "@intentius/chant": "^0.44.2",
11
+ "@intentius/chant-lexicon-aws": "^0.44.2",
12
+ "@intentius/chant-lexicon-temporal": "^0.44.2"
13
13
  }
14
14
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentius/behold",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "type": "module",
5
5
  "description": "behold — a live control plane on chant. See your whole estate (every substrate in one graph), coloured by drift; act through delegated, gated Ops.",
6
6
  "bin": {
package/web/app.js CHANGED
@@ -460,6 +460,16 @@ function renderDiff(panel, diff) {
460
460
  const cat = document.createElement("p");
461
461
  cat.textContent = DIFF_LABEL[diff.category] || diff.category;
462
462
  panel.appendChild(cat);
463
+ // chant#1620 (#192): where the live read actually looked — the line that
464
+ // separates "not there" from "looked in the wrong place" (a declared k8s
465
+ // object with no namespace reads from the DEFAULTED namespace, and only
466
+ // this address makes that visible). Monospace so a request path scans.
467
+ if (diff.queried) {
468
+ const q = document.createElement("p");
469
+ q.style.cssText = "color:var(--muted);font:11px/1.4 ui-monospace,monospace;overflow-wrap:anywhere;margin-top:2px";
470
+ q.textContent = `queried: ${diff.queried} → ${diff.category === "missing" ? "not found" : "read failed"}`;
471
+ panel.appendChild(q);
472
+ }
463
473
  // chant#1168 (#1089): show WHY chant couldn't look, instead of the
464
474
  // "no field changes" text below — that phrasing implies a comparison ran
465
475
  // and found nothing, which is exactly the wrong read for a hole in the