@matter-server/dashboard 1.0.0 → 1.1.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.
Files changed (111) hide show
  1. package/dist/esm/components/dialogs/acl/acl-actions.d.ts +12 -0
  2. package/dist/esm/components/dialogs/acl/acl-actions.d.ts.map +1 -0
  3. package/dist/esm/components/dialogs/acl/acl-actions.js +56 -0
  4. package/dist/esm/components/dialogs/acl/acl-actions.js.map +6 -0
  5. package/dist/esm/components/dialogs/acl/model.d.ts +2 -2
  6. package/dist/esm/components/dialogs/acl/model.d.ts.map +1 -1
  7. package/dist/esm/components/dialogs/acl/model.js +11 -15
  8. package/dist/esm/components/dialogs/acl/model.js.map +1 -1
  9. package/dist/esm/components/dialogs/acl/node-acl-add-dialog.d.ts +43 -0
  10. package/dist/esm/components/dialogs/acl/node-acl-add-dialog.d.ts.map +1 -0
  11. package/dist/esm/components/dialogs/acl/node-acl-add-dialog.js +353 -0
  12. package/dist/esm/components/dialogs/acl/node-acl-add-dialog.js.map +6 -0
  13. package/dist/esm/components/dialogs/acl/show-node-acl-add-dialog.d.ts +8 -0
  14. package/dist/esm/components/dialogs/acl/show-node-acl-add-dialog.d.ts.map +1 -0
  15. package/dist/esm/components/dialogs/acl/show-node-acl-add-dialog.js +15 -0
  16. package/dist/esm/components/dialogs/acl/show-node-acl-add-dialog.js.map +6 -0
  17. package/dist/esm/components/dialogs/binding/binding-actions.d.ts +17 -0
  18. package/dist/esm/components/dialogs/binding/binding-actions.d.ts.map +1 -0
  19. package/dist/esm/components/dialogs/binding/binding-actions.js +135 -0
  20. package/dist/esm/components/dialogs/binding/binding-actions.js.map +6 -0
  21. package/dist/esm/components/dialogs/binding/model.d.ts +1 -1
  22. package/dist/esm/components/dialogs/binding/model.d.ts.map +1 -1
  23. package/dist/esm/components/dialogs/binding/model.js +8 -3
  24. package/dist/esm/components/dialogs/binding/model.js.map +1 -1
  25. package/dist/esm/components/dialogs/binding/node-binding-dialog.d.ts +16 -24
  26. package/dist/esm/components/dialogs/binding/node-binding-dialog.d.ts.map +1 -1
  27. package/dist/esm/components/dialogs/binding/node-binding-dialog.js +210 -332
  28. package/dist/esm/components/dialogs/binding/node-binding-dialog.js.map +1 -1
  29. package/dist/esm/pages/cluster-commands/clusters/access-control-commands.d.ts +37 -0
  30. package/dist/esm/pages/cluster-commands/clusters/access-control-commands.d.ts.map +1 -0
  31. package/dist/esm/pages/cluster-commands/clusters/access-control-commands.js +387 -0
  32. package/dist/esm/pages/cluster-commands/clusters/access-control-commands.js.map +6 -0
  33. package/dist/esm/pages/cluster-commands/clusters/binding-commands.d.ts +35 -0
  34. package/dist/esm/pages/cluster-commands/clusters/binding-commands.d.ts.map +1 -0
  35. package/dist/esm/pages/cluster-commands/clusters/binding-commands.js +254 -0
  36. package/dist/esm/pages/cluster-commands/clusters/binding-commands.js.map +6 -0
  37. package/dist/esm/pages/cluster-commands/index.d.ts +2 -0
  38. package/dist/esm/pages/cluster-commands/index.d.ts.map +1 -1
  39. package/dist/esm/pages/cluster-commands/index.js +2 -0
  40. package/dist/esm/pages/cluster-commands/index.js.map +1 -1
  41. package/dist/esm/pages/components/node-details.d.ts +0 -1
  42. package/dist/esm/pages/components/node-details.d.ts.map +1 -1
  43. package/dist/esm/pages/components/node-details.js +2 -18
  44. package/dist/esm/pages/components/node-details.js.map +1 -1
  45. package/dist/esm/pages/components/server-details.js +3 -3
  46. package/dist/esm/pages/components/server-details.js.map +1 -1
  47. package/dist/esm/pages/matter-cluster-view.d.ts.map +1 -1
  48. package/dist/esm/pages/matter-cluster-view.js +2 -1
  49. package/dist/esm/pages/matter-cluster-view.js.map +1 -1
  50. package/dist/esm/pages/matter-endpoint-view.d.ts +3 -3
  51. package/dist/esm/pages/matter-endpoint-view.d.ts.map +1 -1
  52. package/dist/esm/pages/matter-endpoint-view.js +13 -10
  53. package/dist/esm/pages/matter-endpoint-view.js.map +1 -1
  54. package/dist/esm/pages/matter-node-view.js +2 -2
  55. package/dist/esm/pages/matter-node-view.js.map +1 -1
  56. package/dist/esm/pages/network/network-utils.d.ts +1 -5
  57. package/dist/esm/pages/network/network-utils.d.ts.map +1 -1
  58. package/dist/esm/pages/network/network-utils.js +1 -11
  59. package/dist/esm/pages/network/network-utils.js.map +1 -1
  60. package/dist/esm/util/access-control.d.ts +54 -0
  61. package/dist/esm/util/access-control.d.ts.map +1 -0
  62. package/dist/esm/util/access-control.js +100 -0
  63. package/dist/esm/util/access-control.js.map +6 -0
  64. package/dist/esm/util/binding.d.ts +54 -0
  65. package/dist/esm/util/binding.d.ts.map +1 -0
  66. package/dist/esm/util/binding.js +113 -0
  67. package/dist/esm/util/binding.js.map +6 -0
  68. package/dist/esm/util/endpoints.d.ts +9 -0
  69. package/dist/esm/util/endpoints.d.ts.map +1 -0
  70. package/dist/esm/util/endpoints.js +18 -0
  71. package/dist/esm/util/endpoints.js.map +6 -0
  72. package/dist/esm/util/node-name.d.ts +12 -0
  73. package/dist/esm/util/node-name.d.ts.map +1 -0
  74. package/dist/esm/util/node-name.js +15 -0
  75. package/dist/esm/util/node-name.js.map +6 -0
  76. package/dist/web/js/{attribute-write-dialog-W7xpCE2E.js → attribute-write-dialog-CqqdRniU.js} +1 -1
  77. package/dist/web/js/{command-invoke-dialog-BAqAAdJw.js → command-invoke-dialog-BuvBOrdC.js} +1 -1
  78. package/dist/web/js/{commission-node-dialog-BTzCGgdy.js → commission-node-dialog-nVZp3go0.js} +5 -5
  79. package/dist/web/js/{commission-node-existing-B2M2hyDh.js → commission-node-existing-Cx3Ahk2t.js} +2 -2
  80. package/dist/web/js/{commission-node-thread-djdz2dXW.js → commission-node-thread-CI8mWWPs.js} +2 -2
  81. package/dist/web/js/{commission-node-wifi-DxAYNS1A.js → commission-node-wifi-lUX4LK2R.js} +2 -2
  82. package/dist/web/js/{dialog-box-tHvPVxDN.js → dialog-box-bAdbnf-T.js} +1 -1
  83. package/dist/web/js/{fire_event-BleYfTLc.js → fire_event-tWhqPfdz.js} +1 -1
  84. package/dist/web/js/main.js +1 -1
  85. package/dist/web/js/{matter-dashboard-app-CVi_GDky.js → matter-dashboard-app-CONA_608.js} +1485 -390
  86. package/dist/web/js/node-acl-add-dialog-DlR-sF-b.js +320 -0
  87. package/dist/web/js/node-binding-dialog-DhnX_86M.js +267 -0
  88. package/dist/web/js/{node-label-dialog-DVZSjsXU.js → node-label-dialog-T3nPG-Qy.js} +1 -1
  89. package/dist/web/js/{settings-dialog-BG5MgZcO.js → settings-dialog-DrHzJtsi.js} +1 -1
  90. package/package.json +4 -4
  91. package/src/components/dialogs/acl/acl-actions.ts +71 -0
  92. package/src/components/dialogs/acl/model.ts +18 -17
  93. package/src/components/dialogs/acl/node-acl-add-dialog.ts +350 -0
  94. package/src/components/dialogs/acl/show-node-acl-add-dialog.ts +14 -0
  95. package/src/components/dialogs/binding/binding-actions.ts +201 -0
  96. package/src/components/dialogs/binding/model.ts +11 -4
  97. package/src/components/dialogs/binding/node-binding-dialog.ts +221 -399
  98. package/src/pages/cluster-commands/clusters/access-control-commands.ts +407 -0
  99. package/src/pages/cluster-commands/clusters/binding-commands.ts +273 -0
  100. package/src/pages/cluster-commands/index.ts +2 -0
  101. package/src/pages/components/node-details.ts +2 -21
  102. package/src/pages/components/server-details.ts +3 -3
  103. package/src/pages/matter-cluster-view.ts +4 -1
  104. package/src/pages/matter-endpoint-view.ts +16 -10
  105. package/src/pages/matter-node-view.ts +2 -2
  106. package/src/pages/network/network-utils.ts +1 -18
  107. package/src/util/access-control.ts +135 -0
  108. package/src/util/binding.ts +182 -0
  109. package/src/util/endpoints.ts +17 -0
  110. package/src/util/node-name.ts +18 -0
  111. package/dist/web/js/node-binding-dialog-B9IdqHrZ.js +0 -624
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/pages/matter-node-view.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -189,11 +189,7 @@ export declare function getSignalColor(neighbor: ThreadNeighbor): string;
189
189
  export declare function getSignalColorFromLqi(lqi: number): string;
190
190
  /** Strips trailing dot and `.local` suffix from an mDNS hostname. */
191
191
  export declare function stripMdnsHostname(hostname: string): string;
192
- /**
193
- * Gets a human-readable display name for a node.
194
- * Format: nodeLabel || productName (serialNumber)
195
- */
196
- export declare function getDeviceName(node: MatterNode): string;
192
+ export { getDeviceName } from "../../util/node-name.js";
197
193
  /**
198
194
  * Gets the human-readable name for a Thread routing role.
199
195
  */
@@ -1 +1 @@
1
- {"version":3,"file":"network-utils.d.ts","sourceRoot":"","sources":["../../../../src/pages/network/network-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"network-utils.d.ts","sourceRoot":"","sources":["../../../../src/pages/network/network-utils.ts"],"names":[],"mappings":"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"}
@@ -416,17 +416,7 @@ function getSignalColorFromLqi(lqi) {
416
416
  function stripMdnsHostname(hostname) {
417
417
  return hostname.replace(/\.$/, "").replace(/\.local$/i, "");
418
418
  }
419
- function getDeviceName(node) {
420
- if (node.nodeLabel) {
421
- return node.nodeLabel;
422
- }
423
- const productName = node.productName || "Unknown Device";
424
- const serialNumber = node.serialNumber;
425
- if (serialNumber) {
426
- return `${productName} (${serialNumber})`;
427
- }
428
- return productName;
429
- }
419
+ import { getDeviceName } from "../../util/node-name.js";
430
420
  function getThreadRoleName(role) {
431
421
  switch (role) {
432
422
  case 0:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/pages/network/network-utils.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { MatterNode } from "@matter-server/ws-client";
7
+ import { type AccessControlEntryStruct } from "../components/dialogs/acl/model.js";
8
+ export declare enum Privilege {
9
+ View = 1,
10
+ ProxyView = 2,
11
+ Operate = 3,
12
+ Manage = 4,
13
+ Administer = 5
14
+ }
15
+ export declare enum AuthMode {
16
+ Pase = 1,
17
+ Case = 2,
18
+ Group = 3
19
+ }
20
+ export declare const PRIVILEGE_NAMES: Record<number, string>;
21
+ export declare const AUTH_MODE_NAMES: Record<number, string>;
22
+ export declare function nodeIdKey(id: number | bigint): string;
23
+ /** Normalize a raw attribute value (array or index-keyed object, or absent) into an element array. */
24
+ export declare function attributeArray(value: unknown): unknown[];
25
+ export declare function readAclEntries(node: MatterNode): AccessControlEntryStruct[];
26
+ export declare function entriesForFabric(entries: AccessControlEntryStruct[], fabricIndex: number | undefined): AccessControlEntryStruct[];
27
+ /**
28
+ * The device-side fabric index for our controller's fabric, read from CurrentFabricIndex (0/62/5).
29
+ * ACL/Binding entries carry this index in their fabricIndex field — NOT the controller's own
30
+ * fabric-table index (serverInfo.fabric_index), which lives in a different numbering space.
31
+ */
32
+ export declare function nodeFabricIndex(node: MatterNode): number | undefined;
33
+ export declare function isWholeNode(entry: AccessControlEntryStruct): boolean;
34
+ /**
35
+ * Whether the entry grants access to (endpoint, cluster). A null target endpoint/cluster is an ACL
36
+ * wildcard (grants all). Cluster matching is directional: a wildcard *request* (cluster undefined,
37
+ * i.e. an all-clusters binding) is only covered by a wildcard ACL target — a cluster-specific grant
38
+ * does not cover "all clusters".
39
+ */
40
+ export declare function entryMatchesTarget(entry: AccessControlEntryStruct, endpoint: number, cluster: number | undefined): boolean;
41
+ export interface AclCapacity {
42
+ max: number;
43
+ subjectsMax: number;
44
+ targetsMax: number;
45
+ }
46
+ export declare function aclCapacity(node: MatterNode): AclCapacity;
47
+ /**
48
+ * Stable structural identity for an ACL entry, used to re-locate it in a freshly-read list before a
49
+ * write (the cache copy and the fresh copy are different objects).
50
+ */
51
+ export declare function aclEntryKey(entry: AccessControlEntryStruct): string;
52
+ export declare function subjectsInclude(entry: AccessControlEntryStruct, nodeId: number | bigint): boolean;
53
+ export declare function isProtectedAdmin(entry: AccessControlEntryStruct, controllerNodeId: number | bigint | undefined): boolean;
54
+ //# sourceMappingURL=access-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-control.d.ts","sourceRoot":"","sources":["../../../src/util/access-control.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAqC,KAAK,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAEtH,oBAAY,SAAS;IACjB,IAAI,IAAI;IACR,SAAS,IAAI;IACb,OAAO,IAAI;IACX,MAAM,IAAI;IACV,UAAU,IAAI;CACjB;AAED,oBAAY,QAAQ;IAChB,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;CACZ;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMlD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIlD,CAAC;AAEF,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAErD;AAED,sGAAsG;AACtG,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,CAIxD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,wBAAwB,EAAE,CAE3E;AAED,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,wBAAwB,EAAE,EACnC,WAAW,EAAE,MAAM,GAAG,SAAS,GAChC,wBAAwB,EAAE,CAG5B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAGpE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAEpE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAC9B,KAAK,EAAE,wBAAwB,EAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GAAG,SAAS,GAC5B,OAAO,CAOT;AAED,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAMzD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,wBAAwB,GAAG,MAAM,CAMnE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAGjG;AAED,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,wBAAwB,EAC/B,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAC9C,OAAO,CAOT"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { AccessControlEntryDataTransformer } from "../components/dialogs/acl/model.js";
7
+ var Privilege = /* @__PURE__ */ ((Privilege2) => {
8
+ Privilege2[Privilege2["View"] = 1] = "View";
9
+ Privilege2[Privilege2["ProxyView"] = 2] = "ProxyView";
10
+ Privilege2[Privilege2["Operate"] = 3] = "Operate";
11
+ Privilege2[Privilege2["Manage"] = 4] = "Manage";
12
+ Privilege2[Privilege2["Administer"] = 5] = "Administer";
13
+ return Privilege2;
14
+ })(Privilege || {});
15
+ var AuthMode = /* @__PURE__ */ ((AuthMode2) => {
16
+ AuthMode2[AuthMode2["Pase"] = 1] = "Pase";
17
+ AuthMode2[AuthMode2["Case"] = 2] = "Case";
18
+ AuthMode2[AuthMode2["Group"] = 3] = "Group";
19
+ return AuthMode2;
20
+ })(AuthMode || {});
21
+ const PRIVILEGE_NAMES = {
22
+ [1 /* View */]: "View",
23
+ [2 /* ProxyView */]: "ProxyView",
24
+ [3 /* Operate */]: "Operate",
25
+ [4 /* Manage */]: "Manage",
26
+ [5 /* Administer */]: "Administer"
27
+ };
28
+ const AUTH_MODE_NAMES = {
29
+ [1 /* Pase */]: "PASE",
30
+ [2 /* Case */]: "CASE",
31
+ [3 /* Group */]: "Group"
32
+ };
33
+ function nodeIdKey(id) {
34
+ return String(id);
35
+ }
36
+ function attributeArray(value) {
37
+ if (Array.isArray(value)) return value;
38
+ if (value && typeof value === "object") return Object.values(value);
39
+ return new Array();
40
+ }
41
+ function readAclEntries(node) {
42
+ return attributeArray(node.attributes["0/31/0"]).map((value) => AccessControlEntryDataTransformer.transform(value));
43
+ }
44
+ function entriesForFabric(entries, fabricIndex) {
45
+ if (fabricIndex === void 0) return entries;
46
+ return entries.filter((e) => e.fabricIndex === fabricIndex);
47
+ }
48
+ function nodeFabricIndex(node) {
49
+ const v = node.attributes["0/62/5"];
50
+ return typeof v === "number" ? v : void 0;
51
+ }
52
+ function isWholeNode(entry) {
53
+ return !entry.targets || entry.targets.length === 0;
54
+ }
55
+ function entryMatchesTarget(entry, endpoint, cluster) {
56
+ if (isWholeNode(entry)) return true;
57
+ return entry.targets.some((t) => {
58
+ const endpointMatch = t.endpoint == null || t.endpoint === endpoint;
59
+ const clusterMatch = cluster == null ? t.cluster == null : t.cluster == null || t.cluster === cluster;
60
+ return endpointMatch && clusterMatch;
61
+ });
62
+ }
63
+ function aclCapacity(node) {
64
+ const num = (key, fallback) => {
65
+ const v = node.attributes[key];
66
+ return typeof v === "number" ? v : fallback;
67
+ };
68
+ return { max: num("0/31/4", 0), subjectsMax: num("0/31/2", 0), targetsMax: num("0/31/3", 0) };
69
+ }
70
+ function aclEntryKey(entry) {
71
+ const subjects = (entry.subjects ?? []).map(nodeIdKey).sort();
72
+ const targets = (entry.targets ?? []).map((t) => `${t.endpoint ?? ""}:${t.cluster ?? ""}:${t.deviceType ?? ""}`).sort();
73
+ return JSON.stringify([entry.fabricIndex, entry.privilege, entry.authMode, subjects, targets]);
74
+ }
75
+ function subjectsInclude(entry, nodeId) {
76
+ const key = nodeIdKey(nodeId);
77
+ return (entry.subjects ?? []).some((s) => nodeIdKey(s) === key);
78
+ }
79
+ function isProtectedAdmin(entry, controllerNodeId) {
80
+ if (controllerNodeId === void 0) return false;
81
+ return entry.privilege === 5 /* Administer */ && entry.authMode === 2 /* Case */ && subjectsInclude(entry, controllerNodeId);
82
+ }
83
+ export {
84
+ AUTH_MODE_NAMES,
85
+ AuthMode,
86
+ PRIVILEGE_NAMES,
87
+ Privilege,
88
+ aclCapacity,
89
+ aclEntryKey,
90
+ attributeArray,
91
+ entriesForFabric,
92
+ entryMatchesTarget,
93
+ isProtectedAdmin,
94
+ isWholeNode,
95
+ nodeFabricIndex,
96
+ nodeIdKey,
97
+ readAclEntries,
98
+ subjectsInclude
99
+ };
100
+ //# sourceMappingURL=access-control.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/access-control.ts"],
4
+ "mappings": "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",
5
+ "names": ["Privilege", "AuthMode"]
6
+ }
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { MatterNode } from "@matter-server/ws-client";
7
+ import type { AccessControlEntryStruct } from "../components/dialogs/acl/model.js";
8
+ import { type BindingEntryStruct } from "../components/dialogs/binding/model.js";
9
+ export declare function readBindings(node: MatterNode, endpoint: number): BindingEntryStruct[];
10
+ export interface EndpointBinding {
11
+ endpoint: number;
12
+ binding: BindingEntryStruct;
13
+ }
14
+ export declare function readAllBindings(node: MatterNode): EndpointBinding[];
15
+ export declare function targetServerClusters(node: MatterNode, endpoint: number): number[];
16
+ export declare function sourceClientClusters(node: MatterNode, endpoint: number): number[];
17
+ export interface BindableClusters {
18
+ bindable: number[];
19
+ otherTarget: number[];
20
+ }
21
+ export declare function bindableClusters(source: MatterNode, sourceEndpoint: number, target: MatterNode, targetEndpoint: number): BindableClusters;
22
+ export type ReverseAclState = "present" | "missing" | "overPrivileged" | "cannotVerify";
23
+ export interface ReverseAclResult {
24
+ state: ReverseAclState;
25
+ }
26
+ /**
27
+ * Whether the target node's ACL grants the source the access this binding needs:
28
+ * - present: a matching CASE entry at Operate exists
29
+ * - overPrivileged: the only matching grant is above Operate (Manage/Administer)
30
+ * - missing: no matching grant (or only below Operate)
31
+ * - cannotVerify: target node not known / offline
32
+ */
33
+ export declare function reverseAclState(sourceNodeId: number | bigint, binding: BindingEntryStruct, targetNode: MatterNode | undefined): ReverseAclResult;
34
+ export type RelationshipKind = "none" | "backs" | "overPrivileged";
35
+ export interface RelationshipResult {
36
+ kind: RelationshipKind;
37
+ sourceNodeId?: number | bigint;
38
+ sourceEndpoint?: number;
39
+ }
40
+ /**
41
+ * Whether an ACL entry on the viewed node backs a real binding from one of its subjects. Grants
42
+ * above Operate are flagged over-privileged (Operate is sufficient for a binding).
43
+ */
44
+ export declare function detectBindingRelationship(entry: AccessControlEntryStruct, viewedNodeId: number | bigint, allNodes: MatterNode[]): RelationshipResult;
45
+ export interface AddBindingCapacity {
46
+ canAdd: boolean;
47
+ reason?: string;
48
+ }
49
+ /**
50
+ * A new binding consumes a target ACL slot only when no existing our-fabric Operate+ entry for the
51
+ * source can absorb it — mirrors the merge behavior the writer implements.
52
+ */
53
+ export declare function targetAclCapacityForBinding(targetNode: MatterNode, sourceNodeId: number | bigint): AddBindingCapacity;
54
+ //# sourceMappingURL=binding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../../../src/util/binding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAA+B,KAAK,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAgB9G,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAIrF;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,kBAAkB,CAAC;CAC/B;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,EAAE,CAWnE;AAQD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAEjF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAEjF;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,UAAU,EAClB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,UAAU,EAClB,cAAc,EAAE,MAAM,GACvB,gBAAgB,CAUlB;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAExF,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,eAAe,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC3B,YAAY,EAAE,MAAM,GAAG,MAAM,EAC7B,OAAO,EAAE,kBAAkB,EAC3B,UAAU,EAAE,UAAU,GAAG,SAAS,GACnC,gBAAgB,CAYlB;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,gBAAgB,CAAC;AAEnE,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,gBAAgB,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACrC,KAAK,EAAE,wBAAwB,EAC/B,YAAY,EAAE,MAAM,GAAG,MAAM,EAC7B,QAAQ,EAAE,UAAU,EAAE,GACvB,kBAAkB,CAiBpB;AAED,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,kBAAkB,CAsBrH"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { BindingEntryDataTransformer } from "../components/dialogs/binding/model.js";
7
+ import {
8
+ AuthMode,
9
+ Privilege,
10
+ attributeArray,
11
+ entriesForFabric,
12
+ entryMatchesTarget,
13
+ isWholeNode,
14
+ nodeFabricIndex,
15
+ nodeIdKey,
16
+ readAclEntries,
17
+ subjectsInclude
18
+ } from "./access-control.js";
19
+ const BINDING_KEY_RE = /^(\d+)\/30\/0$/;
20
+ function readBindings(node, endpoint) {
21
+ return attributeArray(node.attributes[`${endpoint}/30/0`]).map(
22
+ (value) => BindingEntryDataTransformer.transform(value)
23
+ );
24
+ }
25
+ function readAllBindings(node) {
26
+ const result = new Array();
27
+ for (const key of Object.keys(node.attributes)) {
28
+ const m = BINDING_KEY_RE.exec(key);
29
+ if (!m) continue;
30
+ const endpoint = Number(m[1]);
31
+ for (const value of attributeArray(node.attributes[key])) {
32
+ result.push({ endpoint, binding: BindingEntryDataTransformer.transform(value) });
33
+ }
34
+ }
35
+ return result;
36
+ }
37
+ function numberList(node, key) {
38
+ const raw = node.attributes[key];
39
+ if (!Array.isArray(raw)) return new Array();
40
+ return raw.map((v) => Number(v));
41
+ }
42
+ function targetServerClusters(node, endpoint) {
43
+ return numberList(node, `${endpoint}/29/1`);
44
+ }
45
+ function sourceClientClusters(node, endpoint) {
46
+ return numberList(node, `${endpoint}/29/2`);
47
+ }
48
+ function bindableClusters(source, sourceEndpoint, target, targetEndpoint) {
49
+ const client = new Set(sourceClientClusters(source, sourceEndpoint));
50
+ const server = targetServerClusters(target, targetEndpoint);
51
+ const bindable = new Array();
52
+ const otherTarget = new Array();
53
+ for (const c of server) {
54
+ if (client.has(c)) bindable.push(c);
55
+ else otherTarget.push(c);
56
+ }
57
+ return { bindable, otherTarget };
58
+ }
59
+ function reverseAclState(sourceNodeId, binding, targetNode) {
60
+ if (!targetNode || !targetNode.available) return { state: "cannotVerify" };
61
+ const matching = entriesForFabric(readAclEntries(targetNode), nodeFabricIndex(targetNode)).filter(
62
+ (e) => e.authMode === AuthMode.Case && subjectsInclude(e, sourceNodeId) && entryMatchesTarget(e, binding.endpoint ?? -1, binding.cluster)
63
+ );
64
+ const granting = matching.filter((e) => e.privilege >= Privilege.Operate);
65
+ if (granting.length === 0) return { state: "missing" };
66
+ if (granting.some((e) => e.privilege === Privilege.Operate)) return { state: "present" };
67
+ return { state: "overPrivileged" };
68
+ }
69
+ function detectBindingRelationship(entry, viewedNodeId, allNodes) {
70
+ if (entry.authMode !== AuthMode.Case) return { kind: "none" };
71
+ const viewedKey = nodeIdKey(viewedNodeId);
72
+ for (const subject of entry.subjects ?? []) {
73
+ const sourceKey = nodeIdKey(subject);
74
+ const source = allNodes.find((n) => nodeIdKey(n.node_id) === sourceKey);
75
+ if (!source || !source.available) continue;
76
+ for (const { endpoint, binding } of readAllBindings(source)) {
77
+ if (binding.node == null) continue;
78
+ if (nodeIdKey(binding.node) !== viewedKey) continue;
79
+ if (!entryMatchesTarget(entry, binding.endpoint ?? -1, binding.cluster)) continue;
80
+ const kind = entry.privilege > Privilege.Operate ? "overPrivileged" : "backs";
81
+ return { kind, sourceNodeId: source.node_id, sourceEndpoint: endpoint };
82
+ }
83
+ }
84
+ return { kind: "none" };
85
+ }
86
+ function targetAclCapacityForBinding(targetNode, sourceNodeId) {
87
+ const fabricIndex = nodeFabricIndex(targetNode);
88
+ if (fabricIndex === void 0) return { canAdd: true };
89
+ const entries = entriesForFabric(readAclEntries(targetNode), fabricIndex);
90
+ const targetsMaxRaw = targetNode.attributes["0/31/3"];
91
+ const targetsMax = typeof targetsMaxRaw === "number" && targetsMaxRaw > 0 ? targetsMaxRaw : Number.MAX_SAFE_INTEGER;
92
+ const reusable = entries.some(
93
+ (e) => e.authMode === AuthMode.Case && e.privilege >= Privilege.Operate && subjectsInclude(e, sourceNodeId) && (isWholeNode(e) || (e.targets?.length ?? 0) < targetsMax)
94
+ );
95
+ if (reusable) return { canAdd: true };
96
+ const maxRaw = targetNode.attributes["0/31/4"];
97
+ const max = typeof maxRaw === "number" ? maxRaw : 0;
98
+ if (max > 0 && entries.length >= max) {
99
+ return { canAdd: false, reason: "Target node's access control list is full." };
100
+ }
101
+ return { canAdd: true };
102
+ }
103
+ export {
104
+ bindableClusters,
105
+ detectBindingRelationship,
106
+ readAllBindings,
107
+ readBindings,
108
+ reverseAclState,
109
+ sourceClientClusters,
110
+ targetAclCapacityForBinding,
111
+ targetServerClusters
112
+ };
113
+ //# sourceMappingURL=binding.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/binding.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,mCAA4D;AACrE;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAEP,MAAM,iBAAiB;AAEhB,SAAS,aAAa,MAAkB,UAAwC;AACnF,SAAO,eAAe,KAAK,WAAW,GAAG,QAAQ,OAAO,CAAC,EAAE;AAAA,IAAI,WAC3D,4BAA4B,UAAU,KAAK;AAAA,EAC/C;AACJ;AAOO,SAAS,gBAAgB,MAAqC;AACjE,QAAM,SAAS,IAAI,MAAuB;AAC1C,aAAW,OAAO,OAAO,KAAK,KAAK,UAAU,GAAG;AAC5C,UAAM,IAAI,eAAe,KAAK,GAAG;AACjC,QAAI,CAAC,EAAG;AACR,UAAM,WAAW,OAAO,EAAE,CAAC,CAAC;AAC5B,eAAW,SAAS,eAAe,KAAK,WAAW,GAAG,CAAC,GAAG;AACtD,aAAO,KAAK,EAAE,UAAU,SAAS,4BAA4B,UAAU,KAAK,EAAE,CAAC;AAAA,IACnF;AAAA,EACJ;AACA,SAAO;AACX;AAEA,SAAS,WAAW,MAAkB,KAAuB;AACzD,QAAM,MAAM,KAAK,WAAW,GAAG;AAC/B,MAAI,CAAC,MAAM,QAAQ,GAAG,EAAG,QAAO,IAAI,MAAc;AAClD,SAAO,IAAI,IAAI,OAAK,OAAO,CAAC,CAAC;AACjC;AAEO,SAAS,qBAAqB,MAAkB,UAA4B;AAC/E,SAAO,WAAW,MAAM,GAAG,QAAQ,OAAO;AAC9C;AAEO,SAAS,qBAAqB,MAAkB,UAA4B;AAC/E,SAAO,WAAW,MAAM,GAAG,QAAQ,OAAO;AAC9C;AAOO,SAAS,iBACZ,QACA,gBACA,QACA,gBACgB;AAChB,QAAM,SAAS,IAAI,IAAI,qBAAqB,QAAQ,cAAc,CAAC;AACnE,QAAM,SAAS,qBAAqB,QAAQ,cAAc;AAC1D,QAAM,WAAW,IAAI,MAAc;AACnC,QAAM,cAAc,IAAI,MAAc;AACtC,aAAW,KAAK,QAAQ;AACpB,QAAI,OAAO,IAAI,CAAC,EAAG,UAAS,KAAK,CAAC;AAAA,QAC7B,aAAY,KAAK,CAAC;AAAA,EAC3B;AACA,SAAO,EAAE,UAAU,YAAY;AACnC;AAeO,SAAS,gBACZ,cACA,SACA,YACgB;AAChB,MAAI,CAAC,cAAc,CAAC,WAAW,UAAW,QAAO,EAAE,OAAO,eAAe;AACzE,QAAM,WAAW,iBAAiB,eAAe,UAAU,GAAG,gBAAgB,UAAU,CAAC,EAAE;AAAA,IACvF,OACI,EAAE,aAAa,SAAS,QACxB,gBAAgB,GAAG,YAAY,KAC/B,mBAAmB,GAAG,QAAQ,YAAY,IAAI,QAAQ,OAAO;AAAA,EACrE;AACA,QAAM,WAAW,SAAS,OAAO,OAAK,EAAE,aAAa,UAAU,OAAO;AACtE,MAAI,SAAS,WAAW,EAAG,QAAO,EAAE,OAAO,UAAU;AACrD,MAAI,SAAS,KAAK,OAAK,EAAE,cAAc,UAAU,OAAO,EAAG,QAAO,EAAE,OAAO,UAAU;AACrF,SAAO,EAAE,OAAO,iBAAiB;AACrC;AAcO,SAAS,0BACZ,OACA,cACA,UACkB;AAClB,MAAI,MAAM,aAAa,SAAS,KAAM,QAAO,EAAE,MAAM,OAAO;AAC5D,QAAM,YAAY,UAAU,YAAY;AAExC,aAAW,WAAW,MAAM,YAAY,CAAC,GAAG;AACxC,UAAM,YAAY,UAAU,OAAO;AACnC,UAAM,SAAS,SAAS,KAAK,OAAK,UAAU,EAAE,OAAO,MAAM,SAAS;AACpE,QAAI,CAAC,UAAU,CAAC,OAAO,UAAW;AAClC,eAAW,EAAE,UAAU,QAAQ,KAAK,gBAAgB,MAAM,GAAG;AACzD,UAAI,QAAQ,QAAQ,KAAM;AAC1B,UAAI,UAAU,QAAQ,IAAI,MAAM,UAAW;AAC3C,UAAI,CAAC,mBAAmB,OAAO,QAAQ,YAAY,IAAI,QAAQ,OAAO,EAAG;AACzE,YAAM,OAAyB,MAAM,YAAY,UAAU,UAAU,mBAAmB;AACxF,aAAO,EAAE,MAAM,cAAc,OAAO,SAAS,gBAAgB,SAAS;AAAA,IAC1E;AAAA,EACJ;AACA,SAAO,EAAE,MAAM,OAAO;AAC1B;AAWO,SAAS,4BAA4B,YAAwB,cAAmD;AACnH,QAAM,cAAc,gBAAgB,UAAU;AAG9C,MAAI,gBAAgB,OAAW,QAAO,EAAE,QAAQ,KAAK;AACrD,QAAM,UAAU,iBAAiB,eAAe,UAAU,GAAG,WAAW;AACxE,QAAM,gBAAgB,WAAW,WAAW,QAAQ;AACpD,QAAM,aAAa,OAAO,kBAAkB,YAAY,gBAAgB,IAAI,gBAAgB,OAAO;AACnG,QAAM,WAAW,QAAQ;AAAA,IACrB,OACI,EAAE,aAAa,SAAS,QACxB,EAAE,aAAa,UAAU,WACzB,gBAAgB,GAAG,YAAY,MAC9B,YAAY,CAAC,MAAM,EAAE,SAAS,UAAU,KAAK;AAAA,EACtD;AACA,MAAI,SAAU,QAAO,EAAE,QAAQ,KAAK;AACpC,QAAM,SAAS,WAAW,WAAW,QAAQ;AAC7C,QAAM,MAAM,OAAO,WAAW,WAAW,SAAS;AAClD,MAAI,MAAM,KAAK,QAAQ,UAAU,KAAK;AAClC,WAAO,EAAE,QAAQ,OAAO,QAAQ,6CAA6C;AAAA,EACjF;AACA,SAAO,EAAE,QAAQ,KAAK;AAC1B;",
5
+ "names": []
6
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { MatterNode } from "@matter-server/ws-client";
7
+ import { type DeviceType } from "../client/models/descriptions.js";
8
+ export declare function getEndpointDeviceTypes(node: MatterNode, endpoint: number): DeviceType[];
9
+ //# sourceMappingURL=endpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../src/util/endpoints.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,kCAAkC,CAAC;AAEjF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CAOvF"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { device_types } from "../client/models/descriptions.js";
7
+ function getEndpointDeviceTypes(node, endpoint) {
8
+ const rawValues = node.attributes[`${endpoint}/29/0`];
9
+ if (!rawValues) return new Array();
10
+ return rawValues.map((rawValue) => {
11
+ const id = rawValue["0"] ?? rawValue["deviceType"];
12
+ return device_types[id] ?? { id: id ?? -1, label: `Unknown Device Type (${id})`, clusters: [] };
13
+ });
14
+ }
15
+ export {
16
+ getEndpointDeviceTypes
17
+ };
18
+ //# sourceMappingURL=endpoints.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/endpoints.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAA0B,oBAAoB;AAEvC,SAAS,uBAAuB,MAAkB,UAAgC;AACrF,QAAM,YAAY,KAAK,WAAW,GAAG,QAAQ,OAAO;AACpD,MAAI,CAAC,UAAW,QAAO,IAAI,MAAkB;AAC7C,SAAO,UAAU,IAAI,cAAY;AAC7B,UAAM,KAAK,SAAS,GAAG,KAAK,SAAS,YAAY;AACjD,WAAO,aAAa,EAAE,KAAK,EAAE,IAAI,MAAM,IAAI,OAAO,wBAAwB,EAAE,KAAK,UAAU,CAAC,EAAE;AAAA,EAClG,CAAC;AACL;",
5
+ "names": []
6
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { MatterNode } from "@matter-server/ws-client";
7
+ /**
8
+ * Human-readable display name for a node: nodeLabel, else productName (serialNumber), else a
9
+ * generic fallback. Shared so node pickers and tables name devices consistently.
10
+ */
11
+ export declare function getDeviceName(node: MatterNode): string;
12
+ //# sourceMappingURL=node-name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-name.d.ts","sourceRoot":"","sources":["../../../src/util/node-name.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAKtD"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ function getDeviceName(node) {
7
+ if (node.nodeLabel) return node.nodeLabel;
8
+ const productName = node.productName || "Unknown Device";
9
+ const serialNumber = node.serialNumber;
10
+ return serialNumber ? `${productName} (${serialNumber})` : productName;
11
+ }
12
+ export {
13
+ getDeviceName
14
+ };
15
+ //# sourceMappingURL=node-name.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/node-name.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAYO,SAAS,cAAc,MAA0B;AACpD,MAAI,KAAK,UAAW,QAAO,KAAK;AAChC,QAAM,cAAc,KAAK,eAAe;AACxC,QAAM,eAAe,KAAK;AAC1B,SAAO,eAAe,GAAG,WAAW,KAAK,YAAY,MAAM;AAC/D;",
5
+ "names": []
6
+ }
@@ -1,4 +1,4 @@
1
- import { i, n, r, e, b as i$1, A, o as formatHex, d as b, h as handleAsync, g as t } from './matter-dashboard-app-CVi_GDky.js';
1
+ import { i, n, r, e, b as i$1, A, o as formatHex, d as b, h as handleAsync, g as t } from './matter-dashboard-app-CONA_608.js';
2
2
  import { t as toBigIntAwareJson } from './main.js';
3
3
  import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
4
4
  import { p as parseJsonPayload } from './parse-json-payload-DU9TWKdu.js';
@@ -1,4 +1,4 @@
1
- import { i, n, r, e, b as i$1, A, o as formatHex, d as b, h as handleAsync, g as t } from './matter-dashboard-app-CVi_GDky.js';
1
+ import { i, n, r, e, b as i$1, A, o as formatHex, d as b, h as handleAsync, g as t } from './matter-dashboard-app-CONA_608.js';
2
2
  import { t as toBigIntAwareJson } from './main.js';
3
3
  import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
4
4
  import { p as parseJsonPayload, i as isPlainObject } from './parse-json-payload-DU9TWKdu.js';