@xyo-network/react-sentinel 2.81.10 → 2.82.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 (224) hide show
  1. package/dist/browser/components/Card/Card.d.cts +1 -0
  2. package/dist/browser/components/Card/Card.d.cts.map +1 -1
  3. package/dist/browser/components/Card/Card.d.mts +1 -0
  4. package/dist/browser/components/Card/Card.d.mts.map +1 -1
  5. package/dist/browser/components/Card/Card.d.ts +1 -0
  6. package/dist/browser/components/Card/Card.d.ts.map +1 -1
  7. package/dist/browser/components/Card/CardActions.d.cts +1 -0
  8. package/dist/browser/components/Card/CardActions.d.cts.map +1 -1
  9. package/dist/browser/components/Card/CardActions.d.mts +1 -0
  10. package/dist/browser/components/Card/CardActions.d.mts.map +1 -1
  11. package/dist/browser/components/Card/CardActions.d.ts +1 -0
  12. package/dist/browser/components/Card/CardActions.d.ts.map +1 -1
  13. package/dist/browser/components/Card/CardHeader.d.cts +1 -0
  14. package/dist/browser/components/Card/CardHeader.d.cts.map +1 -1
  15. package/dist/browser/components/Card/CardHeader.d.mts +1 -0
  16. package/dist/browser/components/Card/CardHeader.d.mts.map +1 -1
  17. package/dist/browser/components/Card/CardHeader.d.ts +1 -0
  18. package/dist/browser/components/Card/CardHeader.d.ts.map +1 -1
  19. package/dist/browser/components/Card/index.d.cts +3 -3
  20. package/dist/browser/components/Card/index.d.cts.map +1 -1
  21. package/dist/browser/components/Card/index.d.mts +3 -3
  22. package/dist/browser/components/Card/index.d.mts.map +1 -1
  23. package/dist/browser/components/Card/index.d.ts +3 -3
  24. package/dist/browser/components/Card/index.d.ts.map +1 -1
  25. package/dist/browser/components/index.d.cts +1 -1
  26. package/dist/browser/components/index.d.mts +1 -1
  27. package/dist/browser/components/index.d.ts +1 -1
  28. package/dist/browser/contexts/Context.d.cts +1 -1
  29. package/dist/browser/contexts/Context.d.mts +1 -1
  30. package/dist/browser/contexts/Context.d.ts +1 -1
  31. package/dist/browser/contexts/Provider.d.cts +1 -0
  32. package/dist/browser/contexts/Provider.d.cts.map +1 -1
  33. package/dist/browser/contexts/Provider.d.mts +1 -0
  34. package/dist/browser/contexts/Provider.d.mts.map +1 -1
  35. package/dist/browser/contexts/Provider.d.ts +1 -0
  36. package/dist/browser/contexts/Provider.d.ts.map +1 -1
  37. package/dist/browser/contexts/index.d.cts +4 -4
  38. package/dist/browser/contexts/index.d.cts.map +1 -1
  39. package/dist/browser/contexts/index.d.mts +4 -4
  40. package/dist/browser/contexts/index.d.mts.map +1 -1
  41. package/dist/browser/contexts/index.d.ts +4 -4
  42. package/dist/browser/contexts/index.d.ts.map +1 -1
  43. package/dist/browser/contexts/use.d.cts +2 -2
  44. package/dist/browser/contexts/use.d.mts +2 -2
  45. package/dist/browser/contexts/use.d.ts +2 -2
  46. package/dist/browser/hooks/index.d.cts +1 -1
  47. package/dist/browser/hooks/index.d.mts +1 -1
  48. package/dist/browser/hooks/index.d.ts +1 -1
  49. package/dist/browser/hooks/node/index.d.cts +4 -4
  50. package/dist/browser/hooks/node/index.d.cts.map +1 -1
  51. package/dist/browser/hooks/node/index.d.mts +4 -4
  52. package/dist/browser/hooks/node/index.d.mts.map +1 -1
  53. package/dist/browser/hooks/node/index.d.ts +4 -4
  54. package/dist/browser/hooks/node/index.d.ts.map +1 -1
  55. package/dist/browser/hooks/node/useSentinelFromNode.d.cts.map +1 -1
  56. package/dist/browser/hooks/node/useSentinelFromNode.d.mts.map +1 -1
  57. package/dist/browser/hooks/node/useSentinelFromNode.d.ts.map +1 -1
  58. package/dist/browser/hooks/node/useSentinelsFromNode.d.cts.map +1 -1
  59. package/dist/browser/hooks/node/useSentinelsFromNode.d.mts.map +1 -1
  60. package/dist/browser/hooks/node/useSentinelsFromNode.d.ts.map +1 -1
  61. package/dist/browser/index.cjs +201 -135
  62. package/dist/browser/index.cjs.map +1 -1
  63. package/dist/browser/index.d.cts +3 -3
  64. package/dist/browser/index.d.mts +3 -3
  65. package/dist/browser/index.d.ts +3 -3
  66. package/dist/browser/index.mjs +303 -0
  67. package/dist/browser/index.mjs.map +1 -0
  68. package/dist/neutral/components/Card/Card.d.cts +1 -0
  69. package/dist/neutral/components/Card/Card.d.cts.map +1 -1
  70. package/dist/neutral/components/Card/Card.d.mts +1 -0
  71. package/dist/neutral/components/Card/Card.d.mts.map +1 -1
  72. package/dist/neutral/components/Card/Card.d.ts +1 -0
  73. package/dist/neutral/components/Card/Card.d.ts.map +1 -1
  74. package/dist/neutral/components/Card/CardActions.d.cts +1 -0
  75. package/dist/neutral/components/Card/CardActions.d.cts.map +1 -1
  76. package/dist/neutral/components/Card/CardActions.d.mts +1 -0
  77. package/dist/neutral/components/Card/CardActions.d.mts.map +1 -1
  78. package/dist/neutral/components/Card/CardActions.d.ts +1 -0
  79. package/dist/neutral/components/Card/CardActions.d.ts.map +1 -1
  80. package/dist/neutral/components/Card/CardHeader.d.cts +1 -0
  81. package/dist/neutral/components/Card/CardHeader.d.cts.map +1 -1
  82. package/dist/neutral/components/Card/CardHeader.d.mts +1 -0
  83. package/dist/neutral/components/Card/CardHeader.d.mts.map +1 -1
  84. package/dist/neutral/components/Card/CardHeader.d.ts +1 -0
  85. package/dist/neutral/components/Card/CardHeader.d.ts.map +1 -1
  86. package/dist/neutral/components/Card/index.d.cts +3 -3
  87. package/dist/neutral/components/Card/index.d.cts.map +1 -1
  88. package/dist/neutral/components/Card/index.d.mts +3 -3
  89. package/dist/neutral/components/Card/index.d.mts.map +1 -1
  90. package/dist/neutral/components/Card/index.d.ts +3 -3
  91. package/dist/neutral/components/Card/index.d.ts.map +1 -1
  92. package/dist/neutral/components/index.d.cts +1 -1
  93. package/dist/neutral/components/index.d.mts +1 -1
  94. package/dist/neutral/components/index.d.ts +1 -1
  95. package/dist/neutral/contexts/Context.d.cts +1 -1
  96. package/dist/neutral/contexts/Context.d.mts +1 -1
  97. package/dist/neutral/contexts/Context.d.ts +1 -1
  98. package/dist/neutral/contexts/Provider.d.cts +1 -0
  99. package/dist/neutral/contexts/Provider.d.cts.map +1 -1
  100. package/dist/neutral/contexts/Provider.d.mts +1 -0
  101. package/dist/neutral/contexts/Provider.d.mts.map +1 -1
  102. package/dist/neutral/contexts/Provider.d.ts +1 -0
  103. package/dist/neutral/contexts/Provider.d.ts.map +1 -1
  104. package/dist/neutral/contexts/index.d.cts +4 -4
  105. package/dist/neutral/contexts/index.d.cts.map +1 -1
  106. package/dist/neutral/contexts/index.d.mts +4 -4
  107. package/dist/neutral/contexts/index.d.mts.map +1 -1
  108. package/dist/neutral/contexts/index.d.ts +4 -4
  109. package/dist/neutral/contexts/index.d.ts.map +1 -1
  110. package/dist/neutral/contexts/use.d.cts +2 -2
  111. package/dist/neutral/contexts/use.d.mts +2 -2
  112. package/dist/neutral/contexts/use.d.ts +2 -2
  113. package/dist/neutral/hooks/index.d.cts +1 -1
  114. package/dist/neutral/hooks/index.d.mts +1 -1
  115. package/dist/neutral/hooks/index.d.ts +1 -1
  116. package/dist/neutral/hooks/node/index.d.cts +4 -4
  117. package/dist/neutral/hooks/node/index.d.cts.map +1 -1
  118. package/dist/neutral/hooks/node/index.d.mts +4 -4
  119. package/dist/neutral/hooks/node/index.d.mts.map +1 -1
  120. package/dist/neutral/hooks/node/index.d.ts +4 -4
  121. package/dist/neutral/hooks/node/index.d.ts.map +1 -1
  122. package/dist/neutral/hooks/node/useSentinelFromNode.d.cts.map +1 -1
  123. package/dist/neutral/hooks/node/useSentinelFromNode.d.mts.map +1 -1
  124. package/dist/neutral/hooks/node/useSentinelFromNode.d.ts.map +1 -1
  125. package/dist/neutral/hooks/node/useSentinelsFromNode.d.cts.map +1 -1
  126. package/dist/neutral/hooks/node/useSentinelsFromNode.d.mts.map +1 -1
  127. package/dist/neutral/hooks/node/useSentinelsFromNode.d.ts.map +1 -1
  128. package/dist/neutral/index.cjs +201 -135
  129. package/dist/neutral/index.cjs.map +1 -1
  130. package/dist/neutral/index.d.cts +3 -3
  131. package/dist/neutral/index.d.mts +3 -3
  132. package/dist/neutral/index.d.ts +3 -3
  133. package/dist/neutral/index.mjs +303 -0
  134. package/dist/neutral/index.mjs.map +1 -0
  135. package/dist/node/components/Card/Card.d.cts +1 -0
  136. package/dist/node/components/Card/Card.d.cts.map +1 -1
  137. package/dist/node/components/Card/Card.d.mts +1 -0
  138. package/dist/node/components/Card/Card.d.mts.map +1 -1
  139. package/dist/node/components/Card/Card.d.ts +1 -0
  140. package/dist/node/components/Card/Card.d.ts.map +1 -1
  141. package/dist/node/components/Card/CardActions.d.cts +1 -0
  142. package/dist/node/components/Card/CardActions.d.cts.map +1 -1
  143. package/dist/node/components/Card/CardActions.d.mts +1 -0
  144. package/dist/node/components/Card/CardActions.d.mts.map +1 -1
  145. package/dist/node/components/Card/CardActions.d.ts +1 -0
  146. package/dist/node/components/Card/CardActions.d.ts.map +1 -1
  147. package/dist/node/components/Card/CardHeader.d.cts +1 -0
  148. package/dist/node/components/Card/CardHeader.d.cts.map +1 -1
  149. package/dist/node/components/Card/CardHeader.d.mts +1 -0
  150. package/dist/node/components/Card/CardHeader.d.mts.map +1 -1
  151. package/dist/node/components/Card/CardHeader.d.ts +1 -0
  152. package/dist/node/components/Card/CardHeader.d.ts.map +1 -1
  153. package/dist/node/components/Card/index.d.cts +3 -3
  154. package/dist/node/components/Card/index.d.cts.map +1 -1
  155. package/dist/node/components/Card/index.d.mts +3 -3
  156. package/dist/node/components/Card/index.d.mts.map +1 -1
  157. package/dist/node/components/Card/index.d.ts +3 -3
  158. package/dist/node/components/Card/index.d.ts.map +1 -1
  159. package/dist/node/components/index.d.cts +1 -1
  160. package/dist/node/components/index.d.mts +1 -1
  161. package/dist/node/components/index.d.ts +1 -1
  162. package/dist/node/contexts/Context.d.cts +1 -1
  163. package/dist/node/contexts/Context.d.mts +1 -1
  164. package/dist/node/contexts/Context.d.ts +1 -1
  165. package/dist/node/contexts/Provider.d.cts +1 -0
  166. package/dist/node/contexts/Provider.d.cts.map +1 -1
  167. package/dist/node/contexts/Provider.d.mts +1 -0
  168. package/dist/node/contexts/Provider.d.mts.map +1 -1
  169. package/dist/node/contexts/Provider.d.ts +1 -0
  170. package/dist/node/contexts/Provider.d.ts.map +1 -1
  171. package/dist/node/contexts/index.d.cts +4 -4
  172. package/dist/node/contexts/index.d.cts.map +1 -1
  173. package/dist/node/contexts/index.d.mts +4 -4
  174. package/dist/node/contexts/index.d.mts.map +1 -1
  175. package/dist/node/contexts/index.d.ts +4 -4
  176. package/dist/node/contexts/index.d.ts.map +1 -1
  177. package/dist/node/contexts/use.d.cts +2 -2
  178. package/dist/node/contexts/use.d.mts +2 -2
  179. package/dist/node/contexts/use.d.ts +2 -2
  180. package/dist/node/hooks/index.d.cts +1 -1
  181. package/dist/node/hooks/index.d.mts +1 -1
  182. package/dist/node/hooks/index.d.ts +1 -1
  183. package/dist/node/hooks/node/index.d.cts +4 -4
  184. package/dist/node/hooks/node/index.d.cts.map +1 -1
  185. package/dist/node/hooks/node/index.d.mts +4 -4
  186. package/dist/node/hooks/node/index.d.mts.map +1 -1
  187. package/dist/node/hooks/node/index.d.ts +4 -4
  188. package/dist/node/hooks/node/index.d.ts.map +1 -1
  189. package/dist/node/hooks/node/useSentinelFromNode.d.cts.map +1 -1
  190. package/dist/node/hooks/node/useSentinelFromNode.d.mts.map +1 -1
  191. package/dist/node/hooks/node/useSentinelFromNode.d.ts.map +1 -1
  192. package/dist/node/hooks/node/useSentinelsFromNode.d.cts.map +1 -1
  193. package/dist/node/hooks/node/useSentinelsFromNode.d.mts.map +1 -1
  194. package/dist/node/hooks/node/useSentinelsFromNode.d.ts.map +1 -1
  195. package/dist/node/index.cjs +202 -136
  196. package/dist/node/index.cjs.map +1 -1
  197. package/dist/node/index.d.cts +3 -3
  198. package/dist/node/index.d.mts +3 -3
  199. package/dist/node/index.d.ts +3 -3
  200. package/dist/node/index.mjs +305 -0
  201. package/dist/node/index.mjs.map +1 -0
  202. package/package.json +32 -32
  203. package/src/components/Card/Card.stories.tsx +6 -6
  204. package/src/components/Card/Card.tsx +4 -4
  205. package/src/components/Card/CardActions.tsx +2 -1
  206. package/src/components/Card/CardContent.tsx +3 -3
  207. package/src/components/Card/CardHeader.tsx +1 -0
  208. package/src/components/Card/index.ts +3 -3
  209. package/src/components/index.ts +1 -1
  210. package/src/contexts/Context.ts +1 -1
  211. package/src/contexts/Provider.tsx +11 -10
  212. package/src/contexts/index.ts +4 -4
  213. package/src/contexts/use.ts +1 -1
  214. package/src/hooks/index.ts +1 -1
  215. package/src/hooks/node/index.ts +4 -4
  216. package/src/hooks/node/useSentinelFromNode.tsx +0 -2
  217. package/src/hooks/node/useSentinelsFromNode.tsx +2 -4
  218. package/src/index.ts +3 -3
  219. package/dist/browser/index.js +0 -245
  220. package/dist/browser/index.js.map +0 -1
  221. package/dist/neutral/index.js +0 -245
  222. package/dist/neutral/index.js.map +0 -1
  223. package/dist/node/index.js +0 -247
  224. package/dist/node/index.js.map +0 -1
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
9
  var __export = (target, all) => {
7
10
  for (var name in all)
8
11
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -15,6 +18,14 @@ var __copyProps = (to, from, except, desc) => {
15
18
  }
16
19
  return to;
17
20
  };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
18
29
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
30
 
20
31
  // src/index.ts
@@ -37,51 +48,74 @@ module.exports = __toCommonJS(src_exports);
37
48
  // src/components/Card/Card.tsx
38
49
  var import_material = require("@mui/material");
39
50
  var import_react_promise = require("@xylabs/react-promise");
40
- var import_react = require("react");
51
+ var import_react4 = __toESM(require("react"), 1);
41
52
 
42
53
  // src/components/Card/CardActions.tsx
43
54
  var import_react_button = require("@xylabs/react-button");
44
55
  var import_react_module = require("@xyo-network/react-module");
45
- var import_jsx_runtime = require("react/jsx-runtime");
46
- var SentinelCardActions = ({ onReport, mod, ...props }) => {
47
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_module.ModuleCardActions, { mod, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_button.ButtonEx, { onClick: () => onReport == null ? void 0 : onReport(mod), size: "small", variant: "outlined", children: "Report" }) });
48
- };
56
+ var import_react = __toESM(require("react"), 1);
57
+ var SentinelCardActions = /* @__PURE__ */ __name(({ onReport, mod, ...props }) => {
58
+ return /* @__PURE__ */ import_react.default.createElement(import_react_module.ModuleCardActions, {
59
+ mod,
60
+ ...props
61
+ }, /* @__PURE__ */ import_react.default.createElement(import_react_button.ButtonEx, {
62
+ onClick: /* @__PURE__ */ __name(() => onReport == null ? void 0 : onReport(mod), "onClick"),
63
+ size: "small",
64
+ variant: "outlined"
65
+ }, "Report"));
66
+ }, "SentinelCardActions");
49
67
 
50
68
  // src/components/Card/CardContent.tsx
51
69
  var import_react_flexbox = require("@xylabs/react-flexbox");
52
70
  var import_react_module2 = require("@xyo-network/react-module");
53
71
  var import_react_payload_raw_info = require("@xyo-network/react-payload-raw-info");
54
- var import_jsx_runtime2 = require("react/jsx-runtime");
55
- var SentinelCardContent = ({ children, report, mod, ...props }) => {
56
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_module2.ModuleCardContent, { mod, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_react_flexbox.FlexGrowRow, { flexWrap: "wrap", justifyContent: "start", gap: 2, children: [
57
- report ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_payload_raw_info.JsonViewerEx, { value: report }) : null,
58
- children
59
- ] }) });
60
- };
72
+ var import_react2 = __toESM(require("react"), 1);
73
+ var SentinelCardContent = /* @__PURE__ */ __name(({ children, report, mod, ...props }) => {
74
+ return /* @__PURE__ */ import_react2.default.createElement(import_react_module2.ModuleCardContent, {
75
+ mod,
76
+ ...props
77
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_flexbox.FlexGrowRow, {
78
+ flexWrap: "wrap",
79
+ justifyContent: "start",
80
+ gap: 2
81
+ }, report ? /* @__PURE__ */ import_react2.default.createElement(import_react_payload_raw_info.JsonViewerEx, {
82
+ value: report
83
+ }) : null, children));
84
+ }, "SentinelCardContent");
61
85
 
62
86
  // src/components/Card/CardHeader.tsx
63
87
  var import_react_module3 = require("@xyo-network/react-module");
64
- var import_jsx_runtime3 = require("react/jsx-runtime");
65
- var SentinelCardHeader = ({ title, mod, ...props }) => {
66
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_module3.ModuleCardHeader, { mod, title: title ?? (mod == null ? void 0 : mod.config.name) ?? "Sentinel", ...props });
67
- };
88
+ var import_react3 = __toESM(require("react"), 1);
89
+ var SentinelCardHeader = /* @__PURE__ */ __name(({ title, mod, ...props }) => {
90
+ return /* @__PURE__ */ import_react3.default.createElement(import_react_module3.ModuleCardHeader, {
91
+ mod,
92
+ title: title ?? (mod == null ? void 0 : mod.config.name) ?? "Sentinel",
93
+ ...props
94
+ });
95
+ }, "SentinelCardHeader");
68
96
 
69
97
  // src/components/Card/Card.tsx
70
- var import_jsx_runtime4 = require("react/jsx-runtime");
71
- var SentinelCard = ({ children, inPayloads, mod, ...props }) => {
72
- const [retry, setRetry] = (0, import_react.useState)(-1);
98
+ var SentinelCard = /* @__PURE__ */ __name(({ children, inPayloads, mod, ...props }) => {
99
+ const [retry, setRetry] = (0, import_react4.useState)(-1);
73
100
  const [report] = (0, import_react_promise.usePromise)(async () => {
74
101
  if (retry >= 0) {
75
102
  return await (mod == null ? void 0 : mod.report(inPayloads));
76
103
  }
77
- }, [mod, retry, inPayloads]);
78
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_material.Card, { ...props, children: [
79
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SentinelCardHeader, { mod }),
80
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SentinelCardContent, { mod, report }),
81
- children,
82
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SentinelCardActions, { mod, onReport: () => setRetry(retry + 1) })
83
- ] });
84
- };
104
+ }, [
105
+ mod,
106
+ retry,
107
+ inPayloads
108
+ ]);
109
+ return /* @__PURE__ */ import_react4.default.createElement(import_material.Card, props, /* @__PURE__ */ import_react4.default.createElement(SentinelCardHeader, {
110
+ mod
111
+ }), /* @__PURE__ */ import_react4.default.createElement(SentinelCardContent, {
112
+ mod,
113
+ report
114
+ }), children, /* @__PURE__ */ import_react4.default.createElement(SentinelCardActions, {
115
+ mod,
116
+ onReport: /* @__PURE__ */ __name(() => setRetry(retry + 1), "onReport")
117
+ }));
118
+ }, "SentinelCard");
85
119
 
86
120
  // src/contexts/Context.ts
87
121
  var import_react_shared = require("@xyo-network/react-shared");
@@ -93,141 +127,164 @@ var import_react_witness = require("@xyo-network/react-witness");
93
127
  var import_sentinel_memory = require("@xyo-network/sentinel-memory");
94
128
  var import_sentinel_model = require("@xyo-network/sentinel-model");
95
129
  var import_witness_model = require("@xyo-network/witness-model");
96
- var import_react2 = require("react");
130
+ var import_react5 = __toESM(require("react"), 1);
97
131
 
98
132
  // src/contexts/State.ts
99
- var SentinelReportStatus = /* @__PURE__ */ ((SentinelReportStatus2) => {
133
+ var SentinelReportStatus;
134
+ (function(SentinelReportStatus2) {
100
135
  SentinelReportStatus2["Idle"] = "idle";
101
136
  SentinelReportStatus2["Queued"] = "queued";
102
137
  SentinelReportStatus2["Started"] = "started";
103
138
  SentinelReportStatus2["Succeeded"] = "succeeded";
104
139
  SentinelReportStatus2["Failed"] = "failed";
105
- return SentinelReportStatus2;
106
- })(SentinelReportStatus || {});
140
+ })(SentinelReportStatus || (SentinelReportStatus = {}));
107
141
 
108
142
  // src/contexts/Provider.tsx
109
- var import_jsx_runtime5 = require("react/jsx-runtime");
110
- var SentinelProvider = ({ account, archivist, children, filter, name, required = false }) => {
111
- const [sentinel, setSentinel] = (0, import_react2.useState)();
112
- const [history, setHistory] = (0, import_react2.useState)();
113
- const [progress, setProgress] = (0, import_react2.useState)({});
114
- const [status, setStatus] = (0, import_react2.useState)("idle" /* Idle */);
115
- const [reportingErrors, setReportingErrors] = (0, import_react2.useState)();
143
+ var SentinelProvider = /* @__PURE__ */ __name(({ account, archivist, children, filter, name, required = false }) => {
144
+ const [sentinel, setSentinel] = (0, import_react5.useState)();
145
+ const [history, setHistory] = (0, import_react5.useState)();
146
+ const [progress, setProgress] = (0, import_react5.useState)({});
147
+ const [status, setStatus] = (0, import_react5.useState)(SentinelReportStatus.Idle);
148
+ const [reportingErrors, setReportingErrors] = (0, import_react5.useState)();
116
149
  const [witnesses] = (0, import_react_witness.useWitnessesFromNode)(filter);
117
- (0, import_react_async_effect.useAsyncEffect)(
118
- // eslint-disable-next-line react-hooks/exhaustive-deps
119
- async (mounted) => {
120
- const sentinel2 = await import_sentinel_memory.MemorySentinel.create({
121
- account,
122
- config: {
123
- archivists: archivist ? [archivist] : void 0,
124
- name,
125
- schema: import_sentinel_model.SentinelConfigSchema,
126
- synchronous: true,
127
- // eslint-disable-next-line id-denylist
128
- tasks: witnesses == null ? void 0 : witnesses.map((mod) => ({ mod: mod.address }))
129
- }
130
- });
131
- const offCallbacks = [];
132
- offCallbacks.push(
133
- sentinel2.on("reportEnd", ({ mod, outPayloads }) => {
134
- var _a;
135
- if (mounted()) {
136
- setProgress({
137
- archivists: progress.archivists,
138
- witnesses: progress.witnesses
139
- });
140
- setStatus((outPayloads == null ? void 0 : outPayloads.length) ? "succeeded" /* Succeeded */ : "failed" /* Failed */);
141
- setReportingErrors([new Error(`Witness failed [${((_a = mod == null ? void 0 : mod.config) == null ? void 0 : _a.name) ?? mod.address}]`)]);
142
- }
143
- })
144
- );
145
- offCallbacks.push(
146
- sentinel2.on("reportStart", () => {
147
- if (mounted()) {
148
- setProgress({ archivists: {}, witnesses: {} });
149
- setStatus("started" /* Started */);
150
- }
151
- })
152
- );
153
- if (witnesses)
154
- for (const witness of witnesses) {
155
- offCallbacks.push(
156
- witness.on("observeEnd", ({ mod, outPayloads }) => {
157
- const witnesses2 = progress.witnesses ?? {};
158
- witnesses2[witness.address] = {
159
- status: (outPayloads == null ? void 0 : outPayloads.length) ? "succeeded" /* Succeeded */ : "failed" /* Failed */,
160
- witness: (0, import_witness_model.asWitnessInstance)(mod, () => `Module is not a witness [${mod.id}]`)
161
- };
162
- if (mounted()) {
163
- setProgress({
164
- archivists: progress.archivists,
165
- witnesses: witnesses2
166
- });
167
- }
168
- })
169
- );
170
- offCallbacks.push(
171
- witness.on("observeStart", ({ mod }) => {
172
- const witnesses2 = progress.witnesses ?? {};
173
- witnesses2[witness.address] = {
174
- status: "started" /* Started */,
175
- witness: (0, import_witness_model.asWitnessInstance)(mod, () => `Module is not a witness [${mod.id}]`)
176
- };
177
- if (mounted()) {
178
- setProgress({
179
- archivists: progress.archivists,
180
- witnesses: witnesses2
181
- });
182
- }
183
- })
184
- );
150
+ (0, import_react_async_effect.useAsyncEffect)(async (mounted) => {
151
+ const sentinel2 = await import_sentinel_memory.MemorySentinel.create({
152
+ account,
153
+ config: {
154
+ archivists: archivist ? [
155
+ archivist
156
+ ] : void 0,
157
+ name,
158
+ schema: import_sentinel_model.SentinelConfigSchema,
159
+ synchronous: true,
160
+ tasks: witnesses == null ? void 0 : witnesses.map((mod) => ({
161
+ mod: mod.address
162
+ }))
163
+ }
164
+ });
165
+ const offCallbacks = [];
166
+ offCallbacks.push(sentinel2.on("reportEnd", ({ mod, outPayloads }) => {
167
+ var _a;
168
+ if (mounted()) {
169
+ setProgress({
170
+ archivists: progress.archivists,
171
+ witnesses: progress.witnesses
172
+ });
173
+ setStatus((outPayloads == null ? void 0 : outPayloads.length) ? SentinelReportStatus.Succeeded : SentinelReportStatus.Failed);
174
+ setReportingErrors([
175
+ new Error(`Witness failed [${((_a = mod == null ? void 0 : mod.config) == null ? void 0 : _a.name) ?? mod.address}]`)
176
+ ]);
177
+ }
178
+ }));
179
+ offCallbacks.push(sentinel2.on("reportStart", () => {
180
+ if (mounted()) {
181
+ setProgress({
182
+ archivists: {},
183
+ witnesses: {}
184
+ });
185
+ setStatus(SentinelReportStatus.Started);
186
+ }
187
+ }));
188
+ if (witnesses) for (const witness of witnesses) {
189
+ offCallbacks.push(witness.on("observeEnd", ({ mod, outPayloads }) => {
190
+ const witnesses2 = progress.witnesses ?? {};
191
+ witnesses2[witness.address] = {
192
+ status: (outPayloads == null ? void 0 : outPayloads.length) ? SentinelReportStatus.Succeeded : SentinelReportStatus.Failed,
193
+ witness: (0, import_witness_model.asWitnessInstance)(mod, () => `Module is not a witness [${mod.id}]`)
194
+ };
195
+ if (mounted()) {
196
+ setProgress({
197
+ archivists: progress.archivists,
198
+ witnesses: witnesses2
199
+ });
185
200
  }
186
- setSentinel(sentinel2);
187
- return () => {
188
- for (const callback of offCallbacks) {
189
- callback();
201
+ }));
202
+ offCallbacks.push(witness.on("observeStart", ({ mod }) => {
203
+ const witnesses2 = progress.witnesses ?? {};
204
+ witnesses2[witness.address] = {
205
+ status: SentinelReportStatus.Started,
206
+ witness: (0, import_witness_model.asWitnessInstance)(mod, () => `Module is not a witness [${mod.id}]`)
207
+ };
208
+ if (mounted()) {
209
+ setProgress({
210
+ archivists: progress.archivists,
211
+ witnesses: witnesses2
212
+ });
190
213
  }
191
- };
192
- },
193
- // eslint-disable-next-line react-hooks/exhaustive-deps
194
- [account, archivist, witnesses]
195
- );
196
- (0, import_react2.useEffect)(() => {
214
+ }));
215
+ }
216
+ setSentinel(sentinel2);
217
+ return () => {
218
+ for (const callback of offCallbacks) {
219
+ callback();
220
+ }
221
+ };
222
+ }, [
223
+ account,
224
+ archivist,
225
+ witnesses
226
+ ]);
227
+ (0, import_react5.useEffect)(() => {
197
228
  setHistory(sentinel == null ? void 0 : sentinel.history);
198
- }, [sentinel]);
199
- return !required || sentinel ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(SentinelContext.Provider, { value: { history, progress, provided: true, reportingErrors, sentinel, status }, children }) : null;
200
- };
229
+ }, [
230
+ sentinel
231
+ ]);
232
+ return !required || sentinel ? /* @__PURE__ */ import_react5.default.createElement(SentinelContext.Provider, {
233
+ value: {
234
+ history,
235
+ progress,
236
+ provided: true,
237
+ reportingErrors,
238
+ sentinel,
239
+ status
240
+ }
241
+ }, children) : null;
242
+ }, "SentinelProvider");
201
243
 
202
244
  // src/contexts/use.ts
203
245
  var import_react_shared2 = require("@xyo-network/react-shared");
204
- var useSentinelContext = () => {
246
+ var useSentinelContext = /* @__PURE__ */ __name(() => {
205
247
  const { sentinel, history, progress, reportingErrors, status } = (0, import_react_shared2.useContextEx)(SentinelContext, "Sentinel");
206
- return { history, progress, reportingErrors, sentinel, status };
207
- };
248
+ return {
249
+ history,
250
+ progress,
251
+ reportingErrors,
252
+ sentinel,
253
+ status
254
+ };
255
+ }, "useSentinelContext");
208
256
 
209
257
  // src/hooks/node/useSentinelFromNode.tsx
210
258
  var import_react_node = require("@xyo-network/react-node");
211
259
  var import_sentinel_model2 = require("@xyo-network/sentinel-model");
212
- var useSentinelFromNode = (nameOrAddressOrInstance, config) => {
260
+ var useSentinelFromNode = /* @__PURE__ */ __name((nameOrAddressOrInstance, config) => {
213
261
  var _a, _b;
214
262
  const [mod, error] = (0, import_react_node.useModuleFromNode)(nameOrAddressOrInstance, config);
215
263
  const instance = (0, import_sentinel_model2.asSentinelInstance)(mod);
216
264
  if (mod && !instance) {
217
265
  const error2 = new Error(`Resolved module is not a SentinelInstance [${(_a = mod.config) == null ? void 0 : _a.schema}:${(_b = mod.config) == null ? void 0 : _b.name}:${mod.address}]`);
218
266
  console.error(error2.message);
219
- return [void 0, error2];
267
+ return [
268
+ void 0,
269
+ error2
270
+ ];
220
271
  }
221
- return [instance, error];
222
- };
272
+ return [
273
+ instance,
274
+ error
275
+ ];
276
+ }, "useSentinelFromNode");
223
277
 
224
278
  // src/hooks/node/useSentinelsFromNode.tsx
225
279
  var import_react_node2 = require("@xyo-network/react-node");
226
280
  var import_sentinel_model3 = require("@xyo-network/sentinel-model");
227
- var useSentinelsFromNode = (filter, config) => {
281
+ var useSentinelsFromNode = /* @__PURE__ */ __name((filter, config) => {
228
282
  const [modules, error] = (0, import_react_node2.useModulesFromNode)(filter, config);
229
283
  if (error) {
230
- return [null, error];
284
+ return [
285
+ null,
286
+ error
287
+ ];
231
288
  }
232
289
  return modules ? [
233
290
  // eslint-disable-next-line unicorn/no-array-reduce
@@ -238,24 +295,33 @@ var useSentinelsFromNode = (filter, config) => {
238
295
  return prev;
239
296
  }, []),
240
297
  void 0
241
- ] : [modules, error];
242
- };
298
+ ] : [
299
+ modules,
300
+ error
301
+ ];
302
+ }, "useSentinelsFromNode");
243
303
 
244
304
  // src/hooks/node/useWeakSentinelFromNode.tsx
245
305
  var import_react_node3 = require("@xyo-network/react-node");
246
306
  var import_sentinel_model4 = require("@xyo-network/sentinel-model");
247
- var useWeakSentinelFromNode = (nameOrAddressOrInstance, config) => {
248
- return (0, import_react_node3.useWeakModuleFromNode)(nameOrAddressOrInstance, { identity: import_sentinel_model4.isSentinelInstance, ...config });
249
- };
307
+ var useWeakSentinelFromNode = /* @__PURE__ */ __name((nameOrAddressOrInstance, config) => {
308
+ return (0, import_react_node3.useWeakModuleFromNode)(nameOrAddressOrInstance, {
309
+ identity: import_sentinel_model4.isSentinelInstance,
310
+ ...config
311
+ });
312
+ }, "useWeakSentinelFromNode");
250
313
 
251
314
  // src/hooks/node/useWeakSentinelsFromNode.tsx
252
315
  var import_exists = require("@xylabs/exists");
253
316
  var import_react_node4 = require("@xyo-network/react-node");
254
317
  var import_sentinel_model5 = require("@xyo-network/sentinel-model");
255
- var useWeakSentinelsFromNode = (filter, config) => {
318
+ var useWeakSentinelsFromNode = /* @__PURE__ */ __name((filter, config) => {
256
319
  const [modules, error] = (0, import_react_node4.useWeakModulesFromNode)(filter, config);
257
320
  if (error) {
258
- return [null, error];
321
+ return [
322
+ null,
323
+ error
324
+ ];
259
325
  }
260
326
  return [
261
327
  (modules == null ? void 0 : modules.map((mod) => {
@@ -266,7 +332,7 @@ var useWeakSentinelsFromNode = (filter, config) => {
266
332
  }).filter(import_exists.exists)) ?? [],
267
333
  void 0
268
334
  ];
269
- };
335
+ }, "useWeakSentinelsFromNode");
270
336
  // Annotate the CommonJS export names for ESM import in node:
271
337
  0 && (module.exports = {
272
338
  SentinelCard,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/components/Card/Card.tsx","../../src/components/Card/CardActions.tsx","../../src/components/Card/CardContent.tsx","../../src/components/Card/CardHeader.tsx","../../src/contexts/Context.ts","../../src/contexts/Provider.tsx","../../src/contexts/State.ts","../../src/contexts/use.ts","../../src/hooks/node/useSentinelFromNode.tsx","../../src/hooks/node/useSentinelsFromNode.tsx","../../src/hooks/node/useWeakSentinelFromNode.tsx","../../src/hooks/node/useWeakSentinelsFromNode.tsx"],"sourcesContent":["export * from './components/index.js'\nexport * from './contexts/index.js'\nexport * from './hooks/index.js'\n","import { Card, CardProps } from '@mui/material'\nimport { usePromise } from '@xylabs/react-promise'\nimport { Payload } from '@xyo-network/payload-model'\nimport { ModuleRenderProps } from '@xyo-network/react-module'\nimport { SentinelInstance } from '@xyo-network/sentinel-model'\nimport { useState } from 'react'\n\nimport { SentinelCardActions } from './CardActions.js'\nimport { SentinelCardContent } from './CardContent.js'\nimport { SentinelCardHeader } from './CardHeader.js'\n\nexport type SentinelCardProps = CardProps &\n ModuleRenderProps<SentinelInstance> & {\n inPayloads?: Payload[]\n }\n\nexport const SentinelCard: React.FC<SentinelCardProps> = ({ children, inPayloads, mod, ...props }) => {\n const [retry, setRetry] = useState(-1)\n const [report] = usePromise(async () => {\n if (retry >= 0) {\n return await mod?.report(inPayloads)\n }\n }, [mod, retry, inPayloads])\n return (\n <Card {...props}>\n <SentinelCardHeader mod={mod} />\n <SentinelCardContent mod={mod} report={report} />\n {children}\n <SentinelCardActions mod={mod} onReport={() => setRetry(retry + 1)} />\n </Card>\n )\n}\n","import { CardActionsProps } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'\nimport { SentinelInstance } from '@xyo-network/sentinel-model'\n\nexport type SentinelCardActionsProps = ModuleRenderProps<SentinelInstance> &\n CardActionsProps & {\n onReport?: (mod?: SentinelInstance) => void\n }\n\nexport const SentinelCardActions: React.FC<SentinelCardActionsProps> = ({ onReport, mod, ...props }) => {\n return (\n <ModuleCardActions mod={mod} {...props}>\n <ButtonEx onClick={() => onReport?.(mod)} size={'small'} variant={'outlined'}>\n Report\n </ButtonEx>\n </ModuleCardActions>\n )\n}\n","import { CardContentProps } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\nimport { ModuleCardContent, ModuleRenderProps } from '@xyo-network/react-module'\nimport { JsonViewerEx } from '@xyo-network/react-payload-raw-info'\nimport { SentinelInstance } from '@xyo-network/sentinel-model'\nimport React from 'react'\n\nexport type SentinelCardContentProps = ModuleRenderProps<SentinelInstance> &\n CardContentProps & {\n report?: Payload[]\n }\n\nexport const SentinelCardContent: React.FC<SentinelCardContentProps> = ({ children, report, mod, ...props }) => {\n return (\n <ModuleCardContent mod={mod} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {report ?\n <JsonViewerEx value={report} />\n : null}\n {children}\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { ModuleCardHeader, ModuleRenderProps } from '@xyo-network/react-module'\nimport { SentinelInstance } from '@xyo-network/sentinel-model'\n\nexport const SentinelCardHeader: React.FC<ModuleRenderProps<SentinelInstance> & CardHeaderProps> = ({ title, mod, ...props }) => {\n return <ModuleCardHeader mod={mod} title={title ?? mod?.config.name ?? 'Sentinel'} {...props} />\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { SentinelContextState } from './State.js'\n\nexport const SentinelContext = createContextEx<SentinelContextState>()\n","/* eslint-disable unicorn/no-array-push-push */\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { ModuleFilter } from '@xyo-network/module-model'\nimport { useWitnessesFromNode } from '@xyo-network/react-witness'\nimport { MemorySentinel } from '@xyo-network/sentinel-memory'\nimport { SentinelConfig, SentinelConfigSchema } from '@xyo-network/sentinel-model'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\nimport { useEffect, useState } from 'react'\n\nimport { SentinelContext } from './Context.js'\nimport { SentinelReportProgress, SentinelReportStatus } from './State.js'\n\nexport interface SentinelProviderProps {\n /** Account used by the sentinel for signing */\n account: AccountInstance\n /** @deprecated - sentinel no longer uses archive but relies on an archivist */\n archive?: string\n archivist?: string\n filter?: ModuleFilter\n name?: string\n required?: boolean\n witnesses?: WitnessInstance[]\n}\n\nexport const SentinelProvider: React.FC<WithChildren<SentinelProviderProps>> = ({ account, archivist, children, filter, name, required = false }) => {\n const [sentinel, setSentinel] = useState<MemorySentinel>()\n const [history, setHistory] = useState<BoundWitness[]>()\n const [progress, setProgress] = useState<SentinelReportProgress>({})\n const [status, setStatus] = useState(SentinelReportStatus.Idle)\n const [reportingErrors, setReportingErrors] = useState<Error[]>()\n const [witnesses] = useWitnessesFromNode(filter)\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const sentinel = await MemorySentinel.create({\n account,\n config: {\n archivists: archivist ? [archivist] : undefined,\n name,\n\n schema: SentinelConfigSchema,\n synchronous: true,\n // eslint-disable-next-line id-denylist\n tasks: witnesses?.map((mod) => ({ mod: mod.address })),\n } as SentinelConfig,\n })\n const offCallbacks: (() => void)[] = []\n offCallbacks.push(\n sentinel.on('reportEnd', ({ mod, outPayloads }) => {\n if (mounted()) {\n setProgress({\n archivists: progress.archivists,\n witnesses: progress.witnesses,\n })\n setStatus(outPayloads?.length ? SentinelReportStatus.Succeeded : SentinelReportStatus.Failed)\n setReportingErrors([new Error(`Witness failed [${mod?.config?.name ?? mod.address}]`)])\n }\n }),\n )\n offCallbacks.push(\n sentinel.on('reportStart', () => {\n if (mounted()) {\n setProgress({ archivists: {}, witnesses: {} })\n setStatus(SentinelReportStatus.Started)\n }\n }),\n )\n if (witnesses)\n for (const witness of witnesses) {\n offCallbacks.push(\n witness.on('observeEnd', ({ mod, outPayloads }) => {\n const witnesses = progress.witnesses ?? {}\n witnesses[witness.address] = {\n status: outPayloads?.length ? SentinelReportStatus.Succeeded : SentinelReportStatus.Failed,\n witness: asWitnessInstance(mod, () => `Module is not a witness [${mod.id}]`),\n }\n if (mounted()) {\n setProgress({\n archivists: progress.archivists,\n witnesses,\n })\n }\n }),\n )\n offCallbacks.push(\n witness.on('observeStart', ({ mod }) => {\n const witnesses = progress.witnesses ?? {}\n witnesses[witness.address] = {\n status: SentinelReportStatus.Started,\n witness: asWitnessInstance(mod, () => `Module is not a witness [${mod.id}]`),\n }\n if (mounted()) {\n setProgress({\n archivists: progress.archivists,\n witnesses,\n })\n }\n }),\n )\n }\n setSentinel(sentinel as MemorySentinel)\n return () => {\n //unsubscribe from events\n for (const callback of offCallbacks) {\n callback()\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [account, archivist, witnesses],\n )\n\n useEffect(() => {\n setHistory(sentinel?.history as BoundWitness[])\n }, [sentinel])\n\n return !required || sentinel ?\n <SentinelContext.Provider value={{ history, progress, provided: true, reportingErrors, sentinel, status }}>{children}</SentinelContext.Provider>\n : null\n}\n","import { ArchivistModule } from '@xyo-network/archivist-model'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { SentinelModule } from '@xyo-network/sentinel-model'\nimport { WitnessModule } from '@xyo-network/witness-model'\n\nexport enum SentinelReportStatus {\n Idle = 'idle',\n Queued = 'queued',\n Started = 'started',\n Succeeded = 'succeeded',\n Failed = 'failed',\n}\n\nexport interface SentinelWitnessReportProgress {\n status: SentinelReportStatus\n witness: WitnessModule\n}\n\nexport interface SentinelArchivistApiReportProgress {\n archivist: ArchivistModule\n status: SentinelReportStatus\n}\n\nexport interface SentinelReportProgress {\n archivists?: Record<string, SentinelArchivistApiReportProgress>\n witnesses?: Record<string, SentinelWitnessReportProgress>\n}\n\nexport interface SentinelContextState {\n history?: BoundWitness[]\n progress?: SentinelReportProgress\n reportingErrors?: Error[]\n sentinel?: SentinelModule\n status?: SentinelReportStatus\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { SentinelContext } from './Context.js'\n\nexport const useSentinelContext = () => {\n const { sentinel, history, progress, reportingErrors, status } = useContextEx(SentinelContext, 'Sentinel')\n return { history, progress, reportingErrors, sentinel, status }\n}\n","// eslint-disable-next-line import/no-deprecated\nimport { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\nimport { asSentinelInstance, SentinelInstance } from '@xyo-network/sentinel-model'\n\nexport const useSentinelFromNode = (\n nameOrAddressOrInstance?: string | SentinelInstance,\n config?: ModuleFromNodeConfig,\n): [SentinelInstance | undefined, Error | undefined] => {\n // eslint-disable-next-line deprecation/deprecation, import/no-deprecated\n const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asSentinelInstance(mod)\n if (mod && !instance) {\n const error = new Error(`Resolved module is not a SentinelInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n","import { ModuleFilter } from '@xyo-network/module-model'\n// eslint-disable-next-line import/no-deprecated\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\nimport { isSentinelInstance, SentinelInstance } from '@xyo-network/sentinel-model'\n\nexport const useSentinelsFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [SentinelInstance[] | null | undefined, Error | undefined] => {\n // eslint-disable-next-line deprecation/deprecation, import/no-deprecated\n const [modules, error] = useModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n return modules ?\n [\n // eslint-disable-next-line unicorn/no-array-reduce\n modules.reduce<SentinelInstance[]>((prev, mod) => {\n if (isSentinelInstance(mod)) {\n prev.push(mod)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { useWeakModuleFromNode, WeakModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { isSentinelInstance, SentinelInstance } from '@xyo-network/sentinel-model'\n\nexport const useWeakSentinelFromNode = (\n nameOrAddressOrInstance?: string | SentinelInstance,\n config?: WeakModuleFromNodeConfig,\n): [WeakRef<SentinelInstance> | undefined, Error | undefined] => {\n return useWeakModuleFromNode<SentinelInstance>(nameOrAddressOrInstance, { identity: isSentinelInstance, ...config })\n}\n","import { exists } from '@xylabs/exists'\nimport { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useWeakModulesFromNode } from '@xyo-network/react-node'\nimport { asSentinelInstance, SentinelInstance } from '@xyo-network/sentinel-model'\n\nexport const useWeakSentinelsFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WeakRef<SentinelInstance>[] | null | undefined, Error | undefined] => {\n const [modules, error] = useWeakModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n return [\n modules\n ?.map((mod) => {\n const instance = asSentinelInstance(mod?.deref())\n if (instance) {\n return new WeakRef(instance)\n }\n })\n .filter(exists) ?? [],\n undefined,\n ]\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,sBAAgC;AAChC,2BAA2B;AAI3B,mBAAyB;;;ACJzB,0BAAyB;AACzB,0BAAqD;AAW/C;AAHC,IAAM,sBAA0D,CAAC,EAAE,UAAU,KAAK,GAAG,MAAM,MAAM;AACtG,SACE,4CAAC,yCAAkB,KAAW,GAAG,OAC/B,sDAAC,gCAAS,SAAS,MAAM,qCAAW,MAAM,MAAM,SAAS,SAAS,YAAY,oBAE9E,GACF;AAEJ;;;ACjBA,2BAA4B;AAE5B,IAAAA,uBAAqD;AACrD,oCAA6B;AAYvB,IAAAC,sBAAA;AAHC,IAAM,sBAA0D,CAAC,EAAE,UAAU,QAAQ,KAAK,GAAG,MAAM,MAAM;AAC9G,SACE,6CAAC,0CAAkB,KAAW,GAAG,OAC/B,wDAAC,oCAAY,UAAS,QAAO,gBAAe,SAAQ,KAAK,GACtD;AAAA,aACC,6CAAC,8CAAa,OAAO,QAAQ,IAC7B;AAAA,IACD;AAAA,KACH,GACF;AAEJ;;;ACvBA,IAAAC,uBAAoD;AAI3C,IAAAC,sBAAA;AADF,IAAM,qBAAsF,CAAC,EAAE,OAAO,KAAK,GAAG,MAAM,MAAM;AAC/H,SAAO,6CAAC,yCAAiB,KAAU,OAAO,UAAS,2BAAK,OAAO,SAAQ,YAAa,GAAG,OAAO;AAChG;;;AHkBI,IAAAC,sBAAA;AARG,IAAM,eAA4C,CAAC,EAAE,UAAU,YAAY,KAAK,GAAG,MAAM,MAAM;AACpG,QAAM,CAAC,OAAO,QAAQ,QAAI,uBAAS,EAAE;AACrC,QAAM,CAAC,MAAM,QAAI,iCAAW,YAAY;AACtC,QAAI,SAAS,GAAG;AACd,aAAO,OAAM,2BAAK,OAAO;AAAA,IAC3B;AAAA,EACF,GAAG,CAAC,KAAK,OAAO,UAAU,CAAC;AAC3B,SACE,8CAAC,wBAAM,GAAG,OACR;AAAA,iDAAC,sBAAmB,KAAU;AAAA,IAC9B,6CAAC,uBAAoB,KAAU,QAAgB;AAAA,IAC9C;AAAA,IACD,6CAAC,uBAAoB,KAAU,UAAU,MAAM,SAAS,QAAQ,CAAC,GAAG;AAAA,KACtE;AAEJ;;;AI/BA,0BAAgC;AAIzB,IAAM,sBAAkB,qCAAsC;;;ACHrE,gCAA+B;AAK/B,2BAAqC;AACrC,6BAA+B;AAC/B,4BAAqD;AACrD,2BAAmD;AACnD,IAAAC,gBAAoC;;;ACL7B,IAAK,uBAAL,kBAAKC,0BAAL;AACL,EAAAA,sBAAA,UAAO;AACP,EAAAA,sBAAA,YAAS;AACT,EAAAA,sBAAA,aAAU;AACV,EAAAA,sBAAA,eAAY;AACZ,EAAAA,sBAAA,YAAS;AALC,SAAAA;AAAA,GAAA;;;ADoHN,IAAAC,sBAAA;AA9FC,IAAM,mBAAkE,CAAC,EAAE,SAAS,WAAW,UAAU,QAAQ,MAAM,WAAW,MAAM,MAAM;AACnJ,QAAM,CAAC,UAAU,WAAW,QAAI,wBAAyB;AACzD,QAAM,CAAC,SAAS,UAAU,QAAI,wBAAyB;AACvD,QAAM,CAAC,UAAU,WAAW,QAAI,wBAAiC,CAAC,CAAC;AACnE,QAAM,CAAC,QAAQ,SAAS,QAAI,yCAAkC;AAC9D,QAAM,CAAC,iBAAiB,kBAAkB,QAAI,wBAAkB;AAChE,QAAM,CAAC,SAAS,QAAI,2CAAqB,MAAM;AAE/C;AAAA;AAAA,IAEE,OAAO,YAAY;AACjB,YAAMC,YAAW,MAAM,sCAAe,OAAO;AAAA,QAC3C;AAAA,QACA,QAAQ;AAAA,UACN,YAAY,YAAY,CAAC,SAAS,IAAI;AAAA,UACtC;AAAA,UAEA,QAAQ;AAAA,UACR,aAAa;AAAA;AAAA,UAEb,OAAO,uCAAW,IAAI,CAAC,SAAS,EAAE,KAAK,IAAI,QAAQ;AAAA,QACrD;AAAA,MACF,CAAC;AACD,YAAM,eAA+B,CAAC;AACtC,mBAAa;AAAA,QACXA,UAAS,GAAG,aAAa,CAAC,EAAE,KAAK,YAAY,MAAM;AApD3D;AAqDU,cAAI,QAAQ,GAAG;AACb,wBAAY;AAAA,cACV,YAAY,SAAS;AAAA,cACrB,WAAW,SAAS;AAAA,YACtB,CAAC;AACD,uBAAU,2CAAa,6DAAqE;AAC5F,+BAAmB,CAAC,IAAI,MAAM,qBAAmB,gCAAK,WAAL,mBAAa,SAAQ,IAAI,OAAO,GAAG,CAAC,CAAC;AAAA,UACxF;AAAA,QACF,CAAC;AAAA,MACH;AACA,mBAAa;AAAA,QACXA,UAAS,GAAG,eAAe,MAAM;AAC/B,cAAI,QAAQ,GAAG;AACb,wBAAY,EAAE,YAAY,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC;AAC7C,6CAAsC;AAAA,UACxC;AAAA,QACF,CAAC;AAAA,MACH;AACA,UAAI;AACF,mBAAW,WAAW,WAAW;AAC/B,uBAAa;AAAA,YACX,QAAQ,GAAG,cAAc,CAAC,EAAE,KAAK,YAAY,MAAM;AACjD,oBAAMC,aAAY,SAAS,aAAa,CAAC;AACzC,cAAAA,WAAU,QAAQ,OAAO,IAAI;AAAA,gBAC3B,SAAQ,2CAAa;AAAA,gBACrB,aAAS,wCAAkB,KAAK,MAAM,4BAA4B,IAAI,EAAE,GAAG;AAAA,cAC7E;AACA,kBAAI,QAAQ,GAAG;AACb,4BAAY;AAAA,kBACV,YAAY,SAAS;AAAA,kBACrB,WAAAA;AAAA,gBACF,CAAC;AAAA,cACH;AAAA,YACF,CAAC;AAAA,UACH;AACA,uBAAa;AAAA,YACX,QAAQ,GAAG,gBAAgB,CAAC,EAAE,IAAI,MAAM;AACtC,oBAAMA,aAAY,SAAS,aAAa,CAAC;AACzC,cAAAA,WAAU,QAAQ,OAAO,IAAI;AAAA,gBAC3B;AAAA,gBACA,aAAS,wCAAkB,KAAK,MAAM,4BAA4B,IAAI,EAAE,GAAG;AAAA,cAC7E;AACA,kBAAI,QAAQ,GAAG;AACb,4BAAY;AAAA,kBACV,YAAY,SAAS;AAAA,kBACrB,WAAAA;AAAA,gBACF,CAAC;AAAA,cACH;AAAA,YACF,CAAC;AAAA,UACH;AAAA,QACF;AACF,kBAAYD,SAA0B;AACtC,aAAO,MAAM;AAEX,mBAAW,YAAY,cAAc;AACnC,mBAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA;AAAA,IAEA,CAAC,SAAS,WAAW,SAAS;AAAA,EAChC;AAEA,+BAAU,MAAM;AACd,eAAW,qCAAU,OAAyB;AAAA,EAChD,GAAG,CAAC,QAAQ,CAAC;AAEb,SAAO,CAAC,YAAY,WAChB,6CAAC,gBAAgB,UAAhB,EAAyB,OAAO,EAAE,SAAS,UAAU,UAAU,MAAM,iBAAiB,UAAU,OAAO,GAAI,UAAS,IACrH;AACN;;;AE3HA,IAAAE,uBAA6B;AAItB,IAAM,qBAAqB,MAAM;AACtC,QAAM,EAAE,UAAU,SAAS,UAAU,iBAAiB,OAAO,QAAI,mCAAa,iBAAiB,UAAU;AACzG,SAAO,EAAE,SAAS,UAAU,iBAAiB,UAAU,OAAO;AAChE;;;ACNA,wBAAwD;AACxD,IAAAC,yBAAqD;AAE9C,IAAM,sBAAsB,CACjC,yBACA,WACsD;AAPxD;AASE,QAAM,CAAC,KAAK,KAAK,QAAI,qCAAkB,yBAAyB,MAAM;AACtE,QAAM,eAAW,2CAAmB,GAAG;AACvC,MAAI,OAAO,CAAC,UAAU;AACpB,UAAMC,SAAQ,IAAI,MAAM,+CAA8C,SAAI,WAAJ,mBAAY,MAAM,KAAI,SAAI,WAAJ,mBAAY,IAAI,IAAI,IAAI,OAAO,GAAG;AAC9H,YAAQ,MAAMA,OAAM,OAAO;AAC3B,WAAO,CAAC,QAAWA,MAAK;AAAA,EAC1B;AACA,SAAO,CAAC,UAAU,KAAK;AACzB;;;ACfA,IAAAC,qBAAyD;AACzD,IAAAC,yBAAqD;AAE9C,IAAM,uBAAuB,CAClC,QACA,WAC+D;AAE/D,QAAM,CAAC,SAAS,KAAK,QAAI,uCAAmB,QAAQ,MAAM;AAC1D,MAAI,OAAO;AACT,WAAO,CAAC,MAAM,KAAK;AAAA,EACrB;AACA,SAAO,UACH;AAAA;AAAA,IAEE,QAAQ,OAA2B,CAAC,MAAM,QAAQ;AAChD,cAAI,2CAAmB,GAAG,GAAG;AAC3B,aAAK,KAAK,GAAG;AAAA,MACf;AACA,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA,IACL;AAAA,EACF,IACA,CAAC,SAAS,KAAK;AACrB;;;AC1BA,IAAAC,qBAAgE;AAChE,IAAAC,yBAAqD;AAE9C,IAAM,0BAA0B,CACrC,yBACA,WAC+D;AAC/D,aAAO,0CAAwC,yBAAyB,EAAE,UAAU,2CAAoB,GAAG,OAAO,CAAC;AACrH;;;ACRA,oBAAuB;AAEvB,IAAAC,qBAA6D;AAC7D,IAAAC,yBAAqD;AAE9C,IAAM,2BAA2B,CACtC,QACA,WACwE;AACxE,QAAM,CAAC,SAAS,KAAK,QAAI,2CAAuB,QAAQ,MAAM;AAC9D,MAAI,OAAO;AACT,WAAO,CAAC,MAAM,KAAK;AAAA,EACrB;AACA,SAAO;AAAA,KACL,mCACI,IAAI,CAAC,QAAQ;AACb,YAAM,eAAW,2CAAmB,2BAAK,OAAO;AAChD,UAAI,UAAU;AACZ,eAAO,IAAI,QAAQ,QAAQ;AAAA,MAC7B;AAAA,IACF,GACC,OAAO,0BAAW,CAAC;AAAA,IACtB;AAAA,EACF;AACF;","names":["import_react_module","import_jsx_runtime","import_react_module","import_jsx_runtime","import_jsx_runtime","import_react","SentinelReportStatus","import_jsx_runtime","sentinel","witnesses","import_react_shared","import_sentinel_model","error","import_react_node","import_sentinel_model","import_react_node","import_sentinel_model","import_react_node","import_sentinel_model"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/components/Card/Card.tsx","../../src/components/Card/CardActions.tsx","../../src/components/Card/CardContent.tsx","../../src/components/Card/CardHeader.tsx","../../src/contexts/Context.ts","../../src/contexts/Provider.tsx","../../src/contexts/State.ts","../../src/contexts/use.ts","../../src/hooks/node/useSentinelFromNode.tsx","../../src/hooks/node/useSentinelsFromNode.tsx","../../src/hooks/node/useWeakSentinelFromNode.tsx","../../src/hooks/node/useWeakSentinelsFromNode.tsx"],"sourcesContent":["export * from './components/index.ts'\nexport * from './contexts/index.ts'\nexport * from './hooks/index.ts'\n","import { Card, CardProps } from '@mui/material'\nimport { usePromise } from '@xylabs/react-promise'\nimport { Payload } from '@xyo-network/payload-model'\nimport { ModuleRenderProps } from '@xyo-network/react-module'\nimport { SentinelInstance } from '@xyo-network/sentinel-model'\nimport React, { useState } from 'react'\n\nimport { SentinelCardActions } from './CardActions.tsx'\nimport { SentinelCardContent } from './CardContent.tsx'\nimport { SentinelCardHeader } from './CardHeader.tsx'\n\nexport type SentinelCardProps = CardProps &\n ModuleRenderProps<SentinelInstance> & {\n inPayloads?: Payload[]\n }\n\nexport const SentinelCard: React.FC<SentinelCardProps> = ({ children, inPayloads, mod, ...props }) => {\n const [retry, setRetry] = useState(-1)\n const [report] = usePromise(async () => {\n if (retry >= 0) {\n return await mod?.report(inPayloads)\n }\n }, [mod, retry, inPayloads])\n return (\n <Card {...props}>\n <SentinelCardHeader mod={mod} />\n <SentinelCardContent mod={mod} report={report} />\n {children}\n <SentinelCardActions mod={mod} onReport={() => setRetry(retry + 1)} />\n </Card>\n )\n}\n","import { CardActionsProps } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'\nimport { SentinelInstance } from '@xyo-network/sentinel-model'\nimport React from 'react'\n\nexport type SentinelCardActionsProps = ModuleRenderProps<SentinelInstance> &\n CardActionsProps & {\n onReport?: (mod?: SentinelInstance) => void\n }\n\nexport const SentinelCardActions: React.FC<SentinelCardActionsProps> = ({ onReport, mod, ...props }) => {\n return (\n <ModuleCardActions mod={mod} {...props}>\n <ButtonEx onClick={() => onReport?.(mod)} size=\"small\" variant=\"outlined\">\n Report\n </ButtonEx>\n </ModuleCardActions>\n )\n}\n","import { CardContentProps } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\nimport { ModuleCardContent, ModuleRenderProps } from '@xyo-network/react-module'\nimport { JsonViewerEx } from '@xyo-network/react-payload-raw-info'\nimport { SentinelInstance } from '@xyo-network/sentinel-model'\nimport React from 'react'\n\nexport type SentinelCardContentProps = ModuleRenderProps<SentinelInstance> &\n CardContentProps & {\n report?: Payload[]\n }\n\nexport const SentinelCardContent: React.FC<SentinelCardContentProps> = ({ children, report, mod, ...props }) => {\n return (\n <ModuleCardContent mod={mod} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {report\n ? <JsonViewerEx value={report} />\n : null}\n {children}\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { ModuleCardHeader, ModuleRenderProps } from '@xyo-network/react-module'\nimport { SentinelInstance } from '@xyo-network/sentinel-model'\nimport React from 'react'\n\nexport const SentinelCardHeader: React.FC<ModuleRenderProps<SentinelInstance> & CardHeaderProps> = ({ title, mod, ...props }) => {\n return <ModuleCardHeader mod={mod} title={title ?? mod?.config.name ?? 'Sentinel'} {...props} />\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { SentinelContextState } from './State.ts'\n\nexport const SentinelContext = createContextEx<SentinelContextState>()\n","/* eslint-disable unicorn/no-array-push-push */\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { ModuleFilter } from '@xyo-network/module-model'\nimport { useWitnessesFromNode } from '@xyo-network/react-witness'\nimport { MemorySentinel } from '@xyo-network/sentinel-memory'\nimport { SentinelConfig, SentinelConfigSchema } from '@xyo-network/sentinel-model'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\nimport React, { useEffect, useState } from 'react'\n\nimport { SentinelContext } from './Context.ts'\nimport { SentinelReportProgress, SentinelReportStatus } from './State.ts'\n\nexport interface SentinelProviderProps {\n /** Account used by the sentinel for signing */\n account: AccountInstance\n /** @deprecated - sentinel no longer uses archive but relies on an archivist */\n archive?: string\n archivist?: string\n filter?: ModuleFilter\n name?: string\n required?: boolean\n witnesses?: WitnessInstance[]\n}\n\nexport const SentinelProvider: React.FC<WithChildren<SentinelProviderProps>> = ({ account, archivist, children, filter, name, required = false }) => {\n const [sentinel, setSentinel] = useState<MemorySentinel>()\n const [history, setHistory] = useState<BoundWitness[]>()\n const [progress, setProgress] = useState<SentinelReportProgress>({})\n const [status, setStatus] = useState(SentinelReportStatus.Idle)\n const [reportingErrors, setReportingErrors] = useState<Error[]>()\n const [witnesses] = useWitnessesFromNode(filter)\n\n useAsyncEffect(\n\n async (mounted) => {\n const sentinel = await MemorySentinel.create({\n account,\n config: {\n archivists: archivist ? [archivist] : undefined,\n name,\n\n schema: SentinelConfigSchema,\n synchronous: true,\n\n tasks: witnesses?.map(mod => ({ mod: mod.address })),\n } as SentinelConfig,\n })\n const offCallbacks: (() => void)[] = []\n offCallbacks.push(\n sentinel.on('reportEnd', ({ mod, outPayloads }) => {\n if (mounted()) {\n setProgress({\n archivists: progress.archivists,\n witnesses: progress.witnesses,\n })\n setStatus(outPayloads?.length ? SentinelReportStatus.Succeeded : SentinelReportStatus.Failed)\n setReportingErrors([new Error(`Witness failed [${mod?.config?.name ?? mod.address}]`)])\n }\n }),\n )\n offCallbacks.push(\n sentinel.on('reportStart', () => {\n if (mounted()) {\n setProgress({ archivists: {}, witnesses: {} })\n setStatus(SentinelReportStatus.Started)\n }\n }),\n )\n if (witnesses)\n for (const witness of witnesses) {\n offCallbacks.push(\n witness.on('observeEnd', ({ mod, outPayloads }) => {\n const witnesses = progress.witnesses ?? {}\n witnesses[witness.address] = {\n status: outPayloads?.length ? SentinelReportStatus.Succeeded : SentinelReportStatus.Failed,\n witness: asWitnessInstance(mod, () => `Module is not a witness [${mod.id}]`),\n }\n if (mounted()) {\n setProgress({\n archivists: progress.archivists,\n witnesses,\n })\n }\n }),\n )\n offCallbacks.push(\n witness.on('observeStart', ({ mod }) => {\n const witnesses = progress.witnesses ?? {}\n witnesses[witness.address] = {\n status: SentinelReportStatus.Started,\n witness: asWitnessInstance(mod, () => `Module is not a witness [${mod.id}]`),\n }\n if (mounted()) {\n setProgress({\n archivists: progress.archivists,\n witnesses,\n })\n }\n }),\n )\n }\n setSentinel(sentinel as MemorySentinel)\n return () => {\n // unsubscribe from events\n for (const callback of offCallbacks) {\n callback()\n }\n }\n },\n\n [account, archivist, witnesses],\n )\n\n useEffect(() => {\n setHistory(sentinel?.history as BoundWitness[])\n }, [sentinel])\n\n return !required || sentinel\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n ? <SentinelContext.Provider value={{ history, progress, provided: true, reportingErrors, sentinel, status }}>{children}</SentinelContext.Provider>\n : null\n}\n","import { ArchivistModule } from '@xyo-network/archivist-model'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { SentinelModule } from '@xyo-network/sentinel-model'\nimport { WitnessModule } from '@xyo-network/witness-model'\n\nexport enum SentinelReportStatus {\n Idle = 'idle',\n Queued = 'queued',\n Started = 'started',\n Succeeded = 'succeeded',\n Failed = 'failed',\n}\n\nexport interface SentinelWitnessReportProgress {\n status: SentinelReportStatus\n witness: WitnessModule\n}\n\nexport interface SentinelArchivistApiReportProgress {\n archivist: ArchivistModule\n status: SentinelReportStatus\n}\n\nexport interface SentinelReportProgress {\n archivists?: Record<string, SentinelArchivistApiReportProgress>\n witnesses?: Record<string, SentinelWitnessReportProgress>\n}\n\nexport interface SentinelContextState {\n history?: BoundWitness[]\n progress?: SentinelReportProgress\n reportingErrors?: Error[]\n sentinel?: SentinelModule\n status?: SentinelReportStatus\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { SentinelContext } from './Context.ts'\n\nexport const useSentinelContext = () => {\n const { sentinel, history, progress, reportingErrors, status } = useContextEx(SentinelContext, 'Sentinel')\n return { history, progress, reportingErrors, sentinel, status }\n}\n","import { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\nimport { asSentinelInstance, SentinelInstance } from '@xyo-network/sentinel-model'\n\nexport const useSentinelFromNode = (\n nameOrAddressOrInstance?: string | SentinelInstance,\n config?: ModuleFromNodeConfig,\n): [SentinelInstance | undefined, Error | undefined] => {\n const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asSentinelInstance(mod)\n if (mod && !instance) {\n const error = new Error(`Resolved module is not a SentinelInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n","import { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\nimport { isSentinelInstance, SentinelInstance } from '@xyo-network/sentinel-model'\n\nexport const useSentinelsFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [SentinelInstance[] | null | undefined, Error | undefined] => {\n const [modules, error] = useModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n return modules\n ? [\n // eslint-disable-next-line unicorn/no-array-reduce\n modules.reduce<SentinelInstance[]>((prev, mod) => {\n if (isSentinelInstance(mod)) {\n prev.push(mod)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { useWeakModuleFromNode, WeakModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { isSentinelInstance, SentinelInstance } from '@xyo-network/sentinel-model'\n\nexport const useWeakSentinelFromNode = (\n nameOrAddressOrInstance?: string | SentinelInstance,\n config?: WeakModuleFromNodeConfig,\n): [WeakRef<SentinelInstance> | undefined, Error | undefined] => {\n return useWeakModuleFromNode<SentinelInstance>(nameOrAddressOrInstance, { identity: isSentinelInstance, ...config })\n}\n","import { exists } from '@xylabs/exists'\nimport { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useWeakModulesFromNode } from '@xyo-network/react-node'\nimport { asSentinelInstance, SentinelInstance } from '@xyo-network/sentinel-model'\n\nexport const useWeakSentinelsFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WeakRef<SentinelInstance>[] | null | undefined, Error | undefined] => {\n const [modules, error] = useWeakModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n return [\n modules\n ?.map((mod) => {\n const instance = asSentinelInstance(mod?.deref())\n if (instance) {\n return new WeakRef(instance)\n }\n })\n .filter(exists) ?? [],\n undefined,\n ]\n}\n"],"mappings":"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","names":["import_react","SentinelCardActions","onReport","mod","props","React","ModuleCardActions","ButtonEx","onClick","size","variant","import_react_module","import_react","SentinelCardContent","children","report","mod","props","React","ModuleCardContent","FlexGrowRow","flexWrap","justifyContent","gap","JsonViewerEx","value","import_react_module","import_react","SentinelCardHeader","title","mod","props","React","ModuleCardHeader","config","name","SentinelCard","children","inPayloads","mod","props","retry","setRetry","useState","report","usePromise","React","Card","SentinelCardHeader","SentinelCardContent","SentinelCardActions","onReport","SentinelContext","createContextEx","import_react","SentinelReportStatus","SentinelProvider","account","archivist","children","filter","name","required","sentinel","setSentinel","useState","history","setHistory","progress","setProgress","status","setStatus","SentinelReportStatus","Idle","reportingErrors","setReportingErrors","witnesses","useWitnessesFromNode","useAsyncEffect","mounted","MemorySentinel","create","config","archivists","undefined","schema","SentinelConfigSchema","synchronous","tasks","map","mod","address","offCallbacks","push","on","outPayloads","length","Succeeded","Failed","Error","Started","witness","asWitnessInstance","id","callback","useEffect","React","SentinelContext","Provider","value","provided","import_react_shared","useSentinelContext","sentinel","history","progress","reportingErrors","status","useContextEx","SentinelContext","import_sentinel_model","useSentinelFromNode","nameOrAddressOrInstance","config","mod","error","useModuleFromNode","instance","asSentinelInstance","Error","schema","name","address","console","message","undefined","import_react_node","import_sentinel_model","useSentinelsFromNode","filter","config","modules","error","useModulesFromNode","reduce","prev","mod","isSentinelInstance","push","undefined","import_react_node","import_sentinel_model","useWeakSentinelFromNode","nameOrAddressOrInstance","config","useWeakModuleFromNode","identity","isSentinelInstance","import_react_node","import_sentinel_model","useWeakSentinelsFromNode","filter","config","modules","error","useWeakModulesFromNode","map","mod","instance","asSentinelInstance","deref","WeakRef","exists","undefined"]}
@@ -1,4 +1,4 @@
1
- export * from './components/index.js';
2
- export * from './contexts/index.js';
3
- export * from './hooks/index.js';
1
+ export * from './components/index.ts';
2
+ export * from './contexts/index.ts';
3
+ export * from './hooks/index.ts';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
- export * from './components/index.js';
2
- export * from './contexts/index.js';
3
- export * from './hooks/index.js';
1
+ export * from './components/index.ts';
2
+ export * from './contexts/index.ts';
3
+ export * from './hooks/index.ts';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
- export * from './components/index.js';
2
- export * from './contexts/index.js';
3
- export * from './hooks/index.js';
1
+ export * from './components/index.ts';
2
+ export * from './contexts/index.ts';
3
+ export * from './hooks/index.ts';
4
4
  //# sourceMappingURL=index.d.ts.map