@braidlabs/console 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@braidlabs/console",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "A console for a Braid gateway: fragments, shells as data, a composition map, and snapshot history. Mountable React components, or a standalone app with OIDC sign-in.",
5
5
  "keywords": [
6
6
  "braid",
@@ -22,10 +22,10 @@
22
22
  "./package.json": "./package.json"
23
23
  },
24
24
  "peerDependencies": {
25
- "@braidlabs/gateway": "^0.4.0",
25
+ "@braidlabs/gateway": "^0.5.0",
26
26
  "react": "^18.0.0 || ^19.0.0",
27
27
  "react-dom": "^18.0.0 || ^19.0.0",
28
- "@braidlabs/registry": "^0.4.0",
28
+ "@braidlabs/registry": "^0.5.0",
29
29
  "oidc-client-ts": "^3.5.0"
30
30
  },
31
31
  "publishConfig": {
@@ -32,6 +32,7 @@ export function ConsoleApp({ api, edit, session }) {
32
32
  // Back never throws away unpublished edits.
33
33
  const [visited, setVisited] = useState(() => new Set([route.view]));
34
34
  const [shellsDirty, setShellsDirty] = useState(false);
35
+ const [fragmentsDirty, setFragmentsDirty] = useState(false);
35
36
  // The Shells tab returns to the shell that was open, the way the panel kept its draft.
36
37
  const [lastShell, setLastShell] = useState(route.shell);
37
38
  useEffect(() => {
@@ -53,7 +54,10 @@ export function ConsoleApp({ api, edit, session }) {
53
54
  // why when they are opened.
54
55
  useEffect(() => {
55
56
  let current = true;
56
- fetchPermissions(api).then((result) => current && setPermissions(result), () => current && setPermissions(null));
57
+ fetchPermissions(api).then((result) => current && setPermissions(result),
58
+ // A failed refetch keeps what was known: dropping to null would hide the Edit tab and unmount
59
+ // the editor, discarding its draft over a blip.
60
+ () => undefined);
57
61
  fetchHead(api).then((head) => current && setShells(head.snapshot?.shells ?? []), (error) => {
58
62
  if (!current)
59
63
  return;
@@ -72,13 +76,14 @@ export function ConsoleApp({ api, edit, session }) {
72
76
  setVisited((current) => (current.has(route.view) ? current : new Set([...current, route.view])));
73
77
  }, [route.view]);
74
78
  // A reload or a closed tab is the one way left to lose a draft; the browser asks first.
79
+ const dirty = shellsDirty || fragmentsDirty;
75
80
  useEffect(() => {
76
- if (!shellsDirty)
81
+ if (!dirty)
77
82
  return;
78
83
  const warn = (event) => event.preventDefault();
79
84
  window.addEventListener('beforeunload', warn);
80
85
  return () => window.removeEventListener('beforeunload', warn);
81
- }, [shellsDirty]);
86
+ }, [dirty]);
82
87
  function go(next) {
83
88
  // Renaming the open shell rewrites its link in place, rather than leaving one history entry
84
89
  // per keystroke for Back to step through.
@@ -104,7 +109,7 @@ export function ConsoleApp({ api, edit, session }) {
104
109
  ...(canEdit ? [{ id: 'edit', label: 'Edit fragments' }] : []),
105
110
  ];
106
111
  const view = route.view === 'edit' && !canEdit ? 'fragments' : route.view;
107
- return (_jsxs("div", { className: "braid-console", children: [_jsxs("div", { className: "braid-console__shell", children: [_jsxs("div", { className: "braid-console__titlebar", children: [_jsx("h1", { className: "braid-console__producttitle", children: "Braid gateway" }), _jsxs("span", { className: "braid-console__breadcrumb", children: [_jsx("span", { "aria-hidden": "true", children: "\u00B7" }), _jsx("code", { children: api.baseUrl || window.location.host })] }), _jsx("span", { className: "braid-console__spacer" }), session && (_jsxs("span", { className: "braid-console__identity", children: [_jsx("span", { children: session.user }), permissions && _jsx("span", { className: "braid-console__rolebadge", children: roleLabel(permissions) }), _jsx("button", { type: "button", className: "braid-console__ghost", onClick: () => void session.signOut(), children: "Sign out" })] }))] }), _jsx("div", { className: "braid-console__commandbar", children: _jsx("div", { className: "braid-console__tabs", role: "tablist", "aria-label": "Console views", children: tabs.map((entry) => (_jsx("button", { type: "button", role: "tab", className: "braid-console__tab", "aria-selected": view === entry.id, onClick: () => go(entry.id === 'shells' && lastShell ? { view: 'shells', shell: lastShell } : { view: entry.id }), children: entry.label }, entry.id))) }) })] }), _jsxs(Suspense, { fallback: _jsx("p", { className: "braid-console__empty", children: "Loading\u2026" }), children: [view === 'edit' && _jsx(RegistryEditor, { api: api }), visited.has('shells') && (_jsx("div", { hidden: view !== 'shells', children: _jsx(ShellsPanel, { api: api, selected: route.shell ?? null, onSelect: (id) => go(id ? { view: 'shells', shell: id } : { view: 'shells' }), onPublished: (outcome) => outcome.pinned && setPinToken((token) => token + 1), onDirtyChange: setShellsDirty, refreshKey: rollbackToken }) })), view === 'history' && (_jsx(HistoryPanel, { api: api, onPinned: () => {
112
+ return (_jsxs("div", { className: "braid-console", children: [_jsxs("div", { className: "braid-console__shell", children: [_jsxs("div", { className: "braid-console__titlebar", children: [_jsx("h1", { className: "braid-console__producttitle", children: "Braid gateway" }), _jsxs("span", { className: "braid-console__breadcrumb", children: [_jsx("span", { "aria-hidden": "true", children: "\u00B7" }), _jsx("code", { children: api.baseUrl || window.location.host })] }), _jsx("span", { className: "braid-console__spacer" }), session && (_jsxs("span", { className: "braid-console__identity", children: [_jsx("span", { children: session.user }), permissions && _jsx("span", { className: "braid-console__rolebadge", children: roleLabel(permissions) }), _jsx("button", { type: "button", className: "braid-console__ghost", onClick: () => void session.signOut(), children: "Sign out" })] }))] }), _jsx("div", { className: "braid-console__commandbar", children: _jsx("div", { className: "braid-console__tabs", role: "tablist", "aria-label": "Console views", children: tabs.map((entry) => (_jsx("button", { type: "button", role: "tab", className: "braid-console__tab", "aria-selected": view === entry.id, onClick: () => go(entry.id === 'shells' && lastShell ? { view: 'shells', shell: lastShell } : { view: entry.id }), children: entry.label }, entry.id))) }) })] }), _jsxs(Suspense, { fallback: _jsx("p", { className: "braid-console__empty", children: "Loading\u2026" }), children: [canEdit && visited.has('edit') && (_jsx("div", { hidden: view !== 'edit', children: _jsx(RegistryEditor, { api: api, onDirtyChange: setFragmentsDirty }) })), visited.has('shells') && (_jsx("div", { hidden: view !== 'shells', children: _jsx(ShellsPanel, { api: api, selected: route.shell ?? null, onSelect: (id) => go(id ? { view: 'shells', shell: id } : { view: 'shells' }), onPublished: (outcome) => outcome.pinned && setPinToken((token) => token + 1), onDirtyChange: setShellsDirty, refreshKey: rollbackToken }) })), view === 'history' && (_jsx(HistoryPanel, { api: api, onPinned: () => {
108
113
  setPinToken((token) => token + 1);
109
114
  setRollbackToken((token) => token + 1);
110
115
  } }))] }), (view === 'fragments' || view === 'topology') && (_jsx(RegistryConsole, { api: api, chrome: false, view: view, ...(shells ? { shells } : {}) }))] }));
@@ -1 +1 @@
1
- {"version":3,"file":"console-app.js","sourceRoot":"","sources":["../../../../../libs/braid-console/src/app/console-app.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"console-app.js","sourceRoot":"","sources":["../../../../../libs/braid-console/src/app/console-app.tsx"],"names":[],"mappings":"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"}
@@ -77,9 +77,17 @@ export interface PublishOutcome {
77
77
  }
78
78
  /** The currently pinned snapshot, or `{ id: null }` when nothing has been published. */
79
79
  export declare function fetchHead(api?: ConsoleApi, signal?: AbortSignal): Promise<HeadState>;
80
- export declare function listSnapshots(api?: ConsoleApi, signal?: AbortSignal): Promise<{
80
+ /**
81
+ * One page of history, newest first. Pass the previous page's `next` as `before` for the page after
82
+ * it; `next` is null on the last page, and absent from servers that predate paging.
83
+ */
84
+ export declare function listSnapshots(api?: ConsoleApi, signal?: AbortSignal, page?: {
85
+ before?: string;
86
+ limit?: number;
87
+ }): Promise<{
81
88
  items: SnapshotRef[];
82
89
  head: string | null;
90
+ next?: string | null;
83
91
  }>;
84
92
  /**
85
93
  * Publishes a draft.
package/src/lib/client.js CHANGED
@@ -59,8 +59,18 @@ export const DEFAULT_API_PATH = '/__braid/registry-api';
59
59
  export async function fetchHead(api = {}, signal) {
60
60
  return apiRequest(api, '/head', { method: 'GET' }, signal);
61
61
  }
62
- export async function listSnapshots(api = {}, signal) {
63
- return apiRequest(api, '/snapshots', { method: 'GET' }, signal);
62
+ /**
63
+ * One page of history, newest first. Pass the previous page's `next` as `before` for the page after
64
+ * it; `next` is null on the last page, and absent from servers that predate paging.
65
+ */
66
+ export async function listSnapshots(api = {}, signal, page = {}) {
67
+ const query = new URLSearchParams();
68
+ if (page.limit !== undefined)
69
+ query.set('limit', String(page.limit));
70
+ if (page.before !== undefined)
71
+ query.set('before', page.before);
72
+ const search = query.toString() ? `?${query}` : '';
73
+ return apiRequest(api, `/snapshots${search}`, { method: 'GET' }, signal);
64
74
  }
65
75
  /**
66
76
  * Publishes a draft.
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../libs/braid-console/src/lib/client.ts"],"names":[],"mappings":"AAoCA,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAU1D;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAkB,EAAE,EAAE,MAAoB;IAC5E,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IACnD,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,IAAI,sBAAsB,CAAC;IAEzD,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,IAA+B,CAAC;IAEpC,GAAG,CAAC;QACF,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,SAAS,IAAI,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE;YAClC,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,CAAC,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE;YACvE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAErE,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,CAAC;QACV,uDAAuD;IACzD,CAAC,QAAQ,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,GAAG,IAAI,EAAE;IAEjE,OAAO;QACL,OAAO;QACP,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,OAAO,CAAC,MAAM;QACpC,UAAU,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI;QACrC,eAAe,EAAE,IAAI,EAAE,eAAe,IAAI,SAAS;KACpD,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAEhC;IACA;IAFX,YACW,GAAW,EACX,MAAc;QAEvB,KAAK,CACH,MAAM,KAAK,GAAG;YACZ,CAAC,CAAC,kBAAkB,GAAG,oGAAoG;YAC3H,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;gBAChC,CAAC,CAAC,0CAA0C,GAAG,GAAG;gBAClD,CAAC,CAAC,2BAA2B,GAAG,qBAAqB,MAAM,GAAG,CACnE,CAAC;QATO,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAQ;QASvB,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,KAAK,UAAU,cAAc,CAAC,GAAe;IAC3C,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAChD,CAAC;AAED,8EAA8E;AAC9E,sCAAsC;AACtC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AAwBxD,wFAAwF;AACxF,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAkB,EAAE,EAAE,MAAoB;IACxE,OAAO,UAAU,CAAY,GAAG,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAkB,EAAE,EAAE,MAAoB;IAC5E,OAAO,UAAU,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;AAClE,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAe,EACf,IAQC;IAED,OAAO,UAAU,CAAiB,GAAG,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvG,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAkB,EAAE,EAAE,MAAoB;IAC/E,IAAI,CAAC;QACH,OAAO,MAAM,UAAU,CAAsB,GAAG,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,gBAAgB,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxI,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAWD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAkB,EAAE,EAAE,MAAoB;IAChF,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,UAAU,CAAgC,GAAG,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IAClH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,gBAAgB,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,EAAE,CAAC;QACzE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,8FAA8F;AAC9F,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAe,EAAE,WAAmB,EAAE,EAAU;IACpF,OAAO,UAAU,CAAC,GAAG,EAAE,iBAAiB,kBAAkB,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AACvI,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAe,EAAE,WAAmB,EAAE,KAA0C;IACrH,MAAM,UAAU,CAAC,GAAG,EAAE,iBAAiB,kBAAkB,CAAC,WAAW,CAAC,UAAU,EAAE;QAChF,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;KACvE,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAe,EAAE,WAAmB;IACxE,MAAM,UAAU,CAAC,GAAG,EAAE,iBAAiB,kBAAkB,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACnH,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAe,EAAE,EAAU;IAC3D,MAAM,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAG9B;IACA;IACA;IAJX,YACE,OAAe,EACN,MAAc,EACd,WAA8B,EAAE,EAChC,kBAAoC,EAAE;QAE/C,KAAK,CAAC,OAAO,CAAC,CAAC;QAJN,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAwB;QAChC,oBAAe,GAAf,eAAe,CAAuB;QAG/C,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,KAAK,UAAU,UAAU,CAAI,GAAe,EAAE,KAAa,EAAE,IAAiB,EAAE,MAAoB;IAClG,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IACnD,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,OAAO,IAAI,gBAAgB,GAAG,KAAK,EAAE,CAAC;IAEhE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE;QAClC,GAAG,IAAI;QACP,OAAO,EAAE;YACP,MAAM,EAAE,kBAAkB;YAC1B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;SAC/B;QACD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAA4B,CAAC;IAElF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,gBAAgB,CACxB,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,QAAQ,CAAC,MAAM,SAAS,GAAG,EAAE,EACnF,QAAQ,CAAC,MAAM,EACd,IAAI,CAAC,QAA8B,IAAI,EAAE,EACzC,IAAI,CAAC,eAAoC,IAAI,EAAE,CACjD,CAAC;IACJ,CAAC;IAED,OAAO,IAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../libs/braid-console/src/lib/client.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useCallback, useEffect, useState } from 'react';
2
+ import { useCallback, useEffect, useRef, useState } from 'react';
3
3
  import { approvePromotion, fetchEnvironments, fetchPermissions, listSnapshots, pinSnapshot, promoteSnapshot, rejectPromotion, } from './client.js';
4
4
  import { EmptyState, emptyKindOf } from './empty-state.js';
5
5
  import { ensureStyles } from './styles.js';
@@ -26,7 +26,7 @@ export function HistoryPanel({ api, theme, className, onPinned }) {
26
26
  const controller = new AbortController();
27
27
  let current = true;
28
28
  setState({ status: 'loading' });
29
- Promise.all([listSnapshots(api, controller.signal), fetchPermissions(api, controller.signal), fetchEnvironments(api, controller.signal)]).then(([{ items, head }, permissions, environments]) => current && setState({ status: 'ready', items, head, permissions, environments }), (reason) => {
29
+ Promise.all([listSnapshots(api, controller.signal), fetchPermissions(api, controller.signal), fetchEnvironments(api, controller.signal)]).then(([{ items, head, next }, permissions, environments]) => current && setState({ status: 'ready', items, head, next: next ?? null, permissions, environments }), (reason) => {
30
30
  if (!current || controller.signal.aborted)
31
31
  return;
32
32
  const kind = emptyKindOf(reason);
@@ -39,6 +39,30 @@ export function HistoryPanel({ api, theme, className, onPinned }) {
39
39
  // apiKey stands in for the api object, which is usually a fresh literal each render
40
40
  }, [apiKey, reloadToken]);
41
41
  const reload = useCallback(() => setReloadToken((token) => token + 1), []);
42
+ const [loadingOlder, setLoadingOlder] = useState(false);
43
+ // The listing an older page belongs to; a reload in the meantime makes the page stale.
44
+ const listing = useRef(0);
45
+ listing.current = reloadToken;
46
+ /** Appends the next older page. Rollback is only as far back as the history the panel can show. */
47
+ const loadOlder = async () => {
48
+ if (state.status !== 'ready' || !state.next)
49
+ return;
50
+ setLoadingOlder(true);
51
+ setError(null);
52
+ try {
53
+ const startedOn = listing.current;
54
+ const page = await listSnapshots(api, undefined, { before: state.next });
55
+ if (listing.current !== startedOn)
56
+ return;
57
+ setState((current) => current.status === 'ready' ? { ...current, items: [...current.items, ...page.items], next: page.next ?? null } : current);
58
+ }
59
+ catch (reason) {
60
+ setError(reason instanceof Error ? reason.message : String(reason));
61
+ }
62
+ finally {
63
+ setLoadingOlder(false);
64
+ }
65
+ };
42
66
  /** Runs one write at a time, reporting its error in the panel and reloading on success. */
43
67
  const act = async (key, write) => {
44
68
  setPinning(key);
@@ -67,7 +91,7 @@ export function HistoryPanel({ api, theme, className, onPinned }) {
67
91
  return (_jsxs("div", { className: "braid-console__notice", role: "status", children: [_jsx("strong", { children: pending.requestedBy }), " asked to promote", ' ', _jsx("span", { className: "braid-console__mono", children: pending.id }), " to ", _jsx("strong", { children: environment.name }), ".", ' ', rights?.approve && !isRequester && (_jsx("button", { type: "button", className: "braid-console__ghost", disabled: pinning !== null, onClick: () => void act(`approve:${environment.name}`, () => approvePromotion(api ?? {}, environment.name, pending)), children: "Approve" })), (rights?.approve || isRequester) && (_jsx("button", { type: "button", className: "braid-console__ghost", disabled: pinning !== null, onClick: () => void act(`reject:${environment.name}`, () => rejectPromotion(api ?? {}, environment.name)), children: isRequester ? 'Withdraw' : 'Reject' })), isRequester && !rights?.approve && _jsx("span", { className: "braid-console__desc", children: " Waiting for someone else to approve." })] }, environment.name));
68
92
  }), state.items.length === 0 ? (_jsx("p", { className: "braid-console__empty", children: "Nothing has been published yet." })) : (_jsxs("table", { className: "braid-console__table", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { scope: "col", children: "Snapshot" }), _jsx("th", { scope: "col", children: "Published" }), _jsx("th", { scope: "col", children: "By" }), _jsx("th", { scope: "col", children: "Fragments" }), _jsx("th", { scope: "col", children: _jsx("span", { className: "braid-console__sronly", children: "Actions" }) })] }) }), _jsx("tbody", { children: state.items.map((item) => (_jsxs("tr", { children: [_jsxs("td", { children: [_jsx("span", { className: "braid-console__mono", children: item.id }), item.id === state.head && (_jsxs(_Fragment, { children: [' ', _jsx("span", { className: "braid-console__badge braid-console__badge--loadable", children: "HEAD" })] })), state.environments
69
93
  .filter((environment) => environment.id === item.id)
70
- .map((environment) => (_jsxs("span", { children: [' ', _jsx("span", { className: "braid-console__badge", children: environment.name })] }, environment.name)))] }), _jsx("td", { children: _jsx("time", { dateTime: item.createdAt, children: new Date(item.createdAt).toLocaleString() }) }), _jsx("td", { children: item.labels?.['publishedBy'] ?? _jsx("span", { className: "braid-console__desc", children: "not recorded" }) }), _jsx("td", { children: item.fragmentCount }), _jsxs("td", { children: [promotableTo(item.id, state).map((environment) => (_jsx("button", { type: "button", className: "braid-console__ghost", disabled: pinning !== null, onClick: () => void act(`promote:${environment.name}:${item.id}`, () => promoteSnapshot(api ?? {}, environment.name, item.id)), "aria-label": `Promote ${item.id} to ${environment.name}`, children: pinning === `promote:${environment.name}:${item.id}` ? 'Promoting…' : `Promote to ${environment.name}` }, environment.name))), item.id !== state.head && state.permissions.pin && (_jsx("button", { type: "button", className: "braid-console__ghost", disabled: pinning !== null, onClick: () => void pin(item.id), "aria-label": `Pin ${item.id} (roll back to it)`, children: pinning === item.id ? 'Pinning…' : 'Pin' }))] })] }, item.id))) })] }))] })) }));
94
+ .map((environment) => (_jsxs("span", { children: [' ', _jsx("span", { className: "braid-console__badge", children: environment.name })] }, environment.name)))] }), _jsx("td", { children: _jsx("time", { dateTime: item.createdAt, children: new Date(item.createdAt).toLocaleString() }) }), _jsx("td", { children: item.labels?.['publishedBy'] ?? _jsx("span", { className: "braid-console__desc", children: "not recorded" }) }), _jsx("td", { children: item.fragmentCount }), _jsxs("td", { children: [promotableTo(item.id, state).map((environment) => (_jsx("button", { type: "button", className: "braid-console__ghost", disabled: pinning !== null, onClick: () => void act(`promote:${environment.name}:${item.id}`, () => promoteSnapshot(api ?? {}, environment.name, item.id)), "aria-label": `Promote ${item.id} to ${environment.name}`, children: pinning === `promote:${environment.name}:${item.id}` ? 'Promoting…' : `Promote to ${environment.name}` }, environment.name))), item.id !== state.head && state.permissions.pin && (_jsx("button", { type: "button", className: "braid-console__ghost", disabled: pinning !== null, onClick: () => void pin(item.id), "aria-label": `Pin ${item.id} (roll back to it)`, children: pinning === item.id ? 'Pinning…' : 'Pin' }))] })] }, item.id))) })] })), state.next && (_jsx("button", { type: "button", className: "braid-console__ghost", onClick: () => void loadOlder(), disabled: loadingOlder, children: loadingOlder ? 'Loading…' : 'Load older' }))] })) }));
71
95
  }
72
96
  /**
73
97
  * The environments a snapshot can be promoted into from this row: the caller may promote there, it
@@ -1 +1 @@
1
- {"version":3,"file":"history-panel.js","sourceRoot":"","sources":["../../../../../libs/braid-console/src/lib/history-panel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history-panel.js","sourceRoot":"","sources":["../../../../../libs/braid-console/src/lib/history-panel.tsx"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@ export interface RegistryEditorProps {
15
15
  */
16
16
  principals?: NamedPrincipal[];
17
17
  onPrincipalsChange?: (principals: NamedPrincipal[]) => void;
18
+ /** Told whether there are unpublished edits, for a host that warns before leaving the page. */
19
+ onDirtyChange?: (dirty: boolean) => void;
18
20
  }
19
21
  /**
20
22
  * Edit the registry and publish it as a new immutable snapshot.
@@ -23,4 +25,4 @@ export interface RegistryEditorProps {
23
25
  * Publishing never mutates the snapshot being edited; it mints a new one and moves a pointer, so
24
26
  * the previous configuration remains exactly as it was and rollback is re-pinning it.
25
27
  */
26
- export declare function RegistryEditor({ api, theme, className, onPublished, principals, onPrincipalsChange, }: RegistryEditorProps): import("react").JSX.Element;
28
+ export declare function RegistryEditor({ api, theme, className, onPublished, principals, onPrincipalsChange, onDirtyChange, }: RegistryEditorProps): import("react").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useCallback, useEffect, useMemo, useState } from 'react';
2
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
3
3
  import { AccessPanel } from './access-panel.js';
4
4
  import { fetchHead, fetchPermissions, publishSnapshot, RegistryApiError, } from './client.js';
5
5
  import { accessMatrix, ANONYMOUS } from '@braidlabs/registry';
@@ -13,7 +13,7 @@ import { canChange, startingTags } from './ownership.js';
13
13
  * Publishing never mutates the snapshot being edited; it mints a new one and moves a pointer, so
14
14
  * the previous configuration remains exactly as it was and rollback is re-pinning it.
15
15
  */
16
- export function RegistryEditor({ api, theme, className, onPublished, principals, onPrincipalsChange, }) {
16
+ export function RegistryEditor({ api, theme, className, onPublished, principals, onPrincipalsChange, onDirtyChange, }) {
17
17
  const [draft, setDraft] = useState(() => createDraft([]));
18
18
  const [phase, setPhase] = useState({ status: 'loading' });
19
19
  const [expanded, setExpanded] = useState(null);
@@ -22,6 +22,9 @@ export function RegistryEditor({ api, theme, className, onPublished, principals,
22
22
  const [ownPrincipals, setOwnPrincipals] = useState([]);
23
23
  /** Per-tag ownership from /permissions; null when the registry has none, or did not say. */
24
24
  const [owned, setOwned] = useState(null);
25
+ /** Whether a publish may also pin. Unknown reads as yes: the server refuses what it refuses. */
26
+ const [canPin, setCanPin] = useState(true);
27
+ const [loadToken, setLoadToken] = useState(0);
25
28
  // Controlled when the host supplies them, uncontrolled otherwise — the same shape as any input.
26
29
  const testPrincipals = principals ?? ownPrincipals;
27
30
  const setPrincipals = (next) => (onPrincipalsChange ?? setOwnPrincipals)(next);
@@ -35,7 +38,12 @@ export function RegistryEditor({ api, theme, className, onPublished, principals,
35
38
  setPhase({ status: 'loading' });
36
39
  // Ownership only narrows what the editor offers; if it cannot be read, offer everything and let
37
40
  // the server refuse what it refuses.
38
- fetchPermissions(api, controller.signal).then((permissions) => current && setOwned(permissions.tags ?? null), () => undefined);
41
+ fetchPermissions(api, controller.signal).then((permissions) => {
42
+ if (!current)
43
+ return;
44
+ setOwned(permissions.tags ?? null);
45
+ setCanPin(permissions.pin !== false);
46
+ }, () => undefined);
39
47
  fetchHead(api, controller.signal).then((head) => {
40
48
  if (!current)
41
49
  return;
@@ -51,19 +59,30 @@ export function RegistryEditor({ api, theme, className, onPublished, principals,
51
59
  controller.abort();
52
60
  };
53
61
  // apiKey stands in for the api object, which is usually a fresh literal each render
54
- }, [apiKey]);
62
+ }, [apiKey, loadToken]);
55
63
  const status = useMemo(() => draftStatus(draft), [draft]);
64
+ // Through a ref, so a host passing an inline callback hears only real changes, not one per render.
65
+ const dirtyListener = useRef(onDirtyChange);
66
+ dirtyListener.current = onDirtyChange;
67
+ useEffect(() => {
68
+ dirtyListener.current?.(!status.clean);
69
+ }, [status.clean]);
70
+ // Once unmounted the editor holds no draft, so there is nothing left for the host to warn about.
71
+ useEffect(() => () => dirtyListener.current?.(false), []);
56
72
  // Computed whether or not the panel is open: an access loss is a finding, and a finding hidden
57
73
  // behind a toggle nobody pressed is not a finding.
58
74
  const accessLosses = useMemo(() => accessMatrix(draft.manifests, [ANONYMOUS, ...testPrincipals], draft.base).losses.length, [draft.manifests, draft.base, testPrincipals]);
59
75
  const publish = useCallback(async () => {
60
76
  setPhase({ status: 'publishing' });
61
77
  try {
62
- const outcome = await publishSnapshot(api ?? {}, { manifests: draft.manifests });
78
+ // baseId makes the server refuse (409) a publish that would replace a HEAD someone else moved
79
+ // since this draft started — otherwise it would silently revert their change. A caller who
80
+ // may not pin publishes a candidate, which leaves HEAD for someone who may.
81
+ const outcome = await publishSnapshot(api ?? {}, { manifests: draft.manifests, baseId: draft.baseId, pin: canPin });
63
82
  // Re-base on what was actually published, so the diff resets and a second publish of the
64
- // same content is correctly reported as no change. A proposal is not published yet: HEAD is
65
- // where it was, so the draft stays based on it.
66
- if (!outcome.pullRequest)
83
+ // same content is correctly reported as no change. A proposal or a candidate does not move
84
+ // HEAD, so the draft stays based on it.
85
+ if (outcome.pinned)
67
86
  setDraft(createDraft(draft.manifests, outcome.snapshot.id));
68
87
  setPhase({ status: 'published', outcome });
69
88
  onPublished?.(outcome);
@@ -75,18 +94,19 @@ export function RegistryEditor({ api, theme, className, onPublished, principals,
75
94
  error: asError(error),
76
95
  findings: apiError?.findings ?? [],
77
96
  notes: apiError?.descriptorNotes ?? [],
97
+ conflict: apiError?.status === 409,
78
98
  });
79
99
  }
80
- }, [api, draft.manifests, onPublished]);
100
+ }, [api, draft.manifests, draft.baseId, canPin, onPublished]);
81
101
  if (phase.status === 'loading') {
82
102
  return (_jsx("div", { className: rootClass(className), ...themeAttr(theme), children: _jsx("p", { className: "braid-console__empty", children: "Loading the pinned registry\u2026" }) }));
83
103
  }
84
- return (_jsxs("div", { className: rootClass(className), ...themeAttr(theme), children: [_jsxs("div", { className: "braid-console__header", children: [_jsx("h2", { className: "braid-console__title", children: "Edit registry" }), _jsx("span", { className: "braid-console__count", children: draft.baseId ? (_jsxs(_Fragment, { children: ["from ", _jsx("code", { className: "braid-console__mono", children: draft.baseId })] })) : ('nothing published yet') }), _jsx("span", { className: "braid-console__spacer" }), _jsx("button", { className: "braid-console__retry", type: "button", onClick: () => setDraft(addFragment(draft, startingTags(owned))), children: "Add fragment" })] }), phase.status === 'error' && _jsx(ErrorPanel, { phase: phase }), phase.status === 'published' && _jsx(PublishedPanel, { outcome: phase.outcome }), draft.manifests.length === 0 ? (_jsx("p", { className: "braid-console__empty", children: "No fragments. Add one to get started." })) : (_jsx("ul", { className: "braid-console__list", children: draft.manifests.map((manifest, index) => (_jsx(FragmentRow, { manifest: manifest, findings: status.findings.filter((finding) => finding.fragmentIds.includes(manifest.id)), expanded: expanded === index,
104
+ return (_jsxs("div", { className: rootClass(className), ...themeAttr(theme), children: [_jsxs("div", { className: "braid-console__header", children: [_jsx("h2", { className: "braid-console__title", children: "Edit registry" }), _jsx("span", { className: "braid-console__count", children: draft.baseId ? (_jsxs(_Fragment, { children: ["from ", _jsx("code", { className: "braid-console__mono", children: draft.baseId })] })) : ('nothing published yet') }), _jsx("span", { className: "braid-console__spacer" }), _jsx("button", { className: "braid-console__retry", type: "button", onClick: () => setDraft(addFragment(draft, startingTags(owned))), children: "Add fragment" })] }), phase.status === 'error' && _jsx(ErrorPanel, { phase: phase, onReload: () => setLoadToken((token) => token + 1) }), phase.status === 'published' && _jsx(PublishedPanel, { outcome: phase.outcome }), draft.manifests.length === 0 ? (_jsx("p", { className: "braid-console__empty", children: "No fragments. Add one to get started." })) : (_jsx("ul", { className: "braid-console__list", children: draft.manifests.map((manifest, index) => (_jsx(FragmentRow, { manifest: manifest, findings: status.findings.filter((finding) => finding.fragmentIds.includes(manifest.id)), expanded: expanded === index,
85
105
  // Judged by the tags it was published with, so retagging cannot unlock it mid-edit.
86
106
  editable: canChange((draft.base.find((base) => base.id === manifest.id) ?? manifest).tags, owned), onToggle: () => setExpanded(expanded === index ? null : index), onChange: (patch) => setDraft(updateFragment(draft, index, patch)), onRemove: () => {
87
107
  setDraft(removeFragment(draft, index));
88
108
  setExpanded(null);
89
- } }, index))) })), showDiff && _jsx(DiffPanel, { changes: status.diff }), showAccess && (_jsx(AccessPanel, { manifests: draft.manifests, base: draft.base, principals: testPrincipals, onPrincipalsChange: setPrincipals })), _jsx(PublishBar, { status: status, phase: phase, showDiff: showDiff, onToggleDiff: () => setShowDiff(!showDiff), showAccess: showAccess, onToggleAccess: () => setShowAccess(!showAccess), accessLosses: accessLosses, onReset: () => setDraft(resetDraft(draft)), onPublish: publish })] }));
109
+ } }, index))) })), showDiff && _jsx(DiffPanel, { changes: status.diff }), showAccess && (_jsx(AccessPanel, { manifests: draft.manifests, base: draft.base, principals: testPrincipals, onPrincipalsChange: setPrincipals })), _jsx(PublishBar, { status: status, phase: phase, showDiff: showDiff, onToggleDiff: () => setShowDiff(!showDiff), showAccess: showAccess, onToggleAccess: () => setShowAccess(!showAccess), accessLosses: accessLosses, onReset: () => setDraft(resetDraft(draft)), onPublish: publish, canPin: canPin })] }));
90
110
  }
91
111
  function FragmentRow({ manifest, findings, expanded, editable, onToggle, onChange, onRemove, }) {
92
112
  const errors = findings.filter((finding) => finding.severity === 'error');
@@ -106,14 +126,14 @@ function DiffPanel({ changes }) {
106
126
  }
107
127
  return (_jsxs("div", { className: "braid-console__diff", children: [changes.added.map((manifest) => (_jsxs("div", { className: "braid-console__diffline braid-console__diffline--add", children: ["+ ", manifest.id] }, `+${manifest.id}`))), changes.removed.map((manifest) => (_jsxs("div", { className: "braid-console__diffline braid-console__diffline--remove", children: ["\u2212 ", manifest.id] }, `-${manifest.id}`))), changes.changed.map(({ id, changes: fields }) => (_jsxs("div", { className: "braid-console__diffline", children: [_jsxs("div", { children: ["~ ", id] }), fields.map((change) => (_jsxs("div", { className: "braid-console__diffield", children: [_jsx("span", { className: "braid-console__mono", children: change.field }), ' ', _jsx("span", { className: `braid-console__owner braid-console__owner--${change.owner}`, children: change.owner }), _jsxs("div", { className: "braid-console__mono", children: [short(change.before), " \u2192 ", short(change.after)] })] }, change.field)))] }, `~${id}`)))] }));
108
128
  }
109
- function PublishBar({ status, phase, showDiff, onToggleDiff, showAccess, onToggleAccess, accessLosses, onReset, onPublish, }) {
129
+ function PublishBar({ status, phase, showDiff, onToggleDiff, showAccess, onToggleAccess, accessLosses, onReset, onPublish, canPin, }) {
110
130
  const errors = status.findings.filter((finding) => finding.severity === 'error').length;
111
131
  const warnings = status.findings.length - errors;
112
132
  return (_jsxs("div", { className: "braid-console__bar", children: [_jsx("span", { className: errors > 0 ? 'braid-console__barstate--error' : 'braid-console__barstate', children: errors > 0
113
133
  ? `${errors} error${errors === 1 ? '' : 's'} — cannot publish`
114
134
  : status.clean
115
135
  ? 'No changes'
116
- : `Ready${warnings > 0 ? ` — ${warnings} warning${warnings === 1 ? '' : 's'}` : ''}` }), _jsx("span", { className: "braid-console__spacer" }), accessLosses > 0 && (_jsxs("span", { className: "braid-console__barstate--error", children: [accessLosses, " access loss", accessLosses === 1 ? '' : 'es'] })), _jsx("button", { className: "braid-console__ghost", type: "button", onClick: onToggleAccess, children: showAccess ? 'Hide access' : 'Show access' }), _jsx("button", { className: "braid-console__ghost", type: "button", onClick: onToggleDiff, children: showDiff ? 'Hide changes' : 'Show changes' }), _jsx("button", { className: "braid-console__ghost", type: "button", onClick: onReset, disabled: status.clean, children: "Discard" }), _jsx("button", { className: "braid-console__primary", type: "button", onClick: onPublish, disabled: status.blocked || status.clean || phase.status === 'publishing', children: phase.status === 'publishing' ? 'Publishing…' : 'Publish' })] }));
136
+ : `Ready${warnings > 0 ? ` — ${warnings} warning${warnings === 1 ? '' : 's'}` : ''}` }), _jsx("span", { className: "braid-console__spacer" }), accessLosses > 0 && (_jsxs("span", { className: "braid-console__barstate--error", children: [accessLosses, " access loss", accessLosses === 1 ? '' : 'es'] })), _jsx("button", { className: "braid-console__ghost", type: "button", onClick: onToggleAccess, children: showAccess ? 'Hide access' : 'Show access' }), _jsx("button", { className: "braid-console__ghost", type: "button", onClick: onToggleDiff, children: showDiff ? 'Hide changes' : 'Show changes' }), _jsx("button", { className: "braid-console__ghost", type: "button", onClick: onReset, disabled: status.clean, children: "Discard" }), _jsx("button", { className: "braid-console__primary", type: "button", onClick: onPublish, disabled: status.blocked || status.clean || phase.status === 'publishing', ...(canPin ? {} : { title: 'Your role may publish but not pin; a publisher pins the candidate.' }), children: phase.status === 'publishing' ? 'Publishing…' : canPin ? 'Publish' : 'Publish as candidate' })] }));
117
137
  }
118
138
  function PublishedPanel({ outcome }) {
119
139
  if (outcome.pullRequest) {
@@ -121,8 +141,8 @@ function PublishedPanel({ outcome }) {
121
141
  }
122
142
  return (_jsxs("div", { className: "braid-console__notice braid-console__notice--ok", role: "status", children: [_jsx("span", { "aria-hidden": "true", children: "\u2713" }), _jsxs("span", { children: ["Published ", _jsx("code", { className: "braid-console__mono", children: outcome.snapshot.id }), " \u2014", ' ', outcome.snapshot.fragmentCount, " fragment", outcome.snapshot.fragmentCount === 1 ? '' : 's', outcome.pinned ? ', now pinned.' : ', not pinned.', ' ', outcome.pinned && 'A gateway following HEAD serves it within its refresh interval, or on restart without one.'] })] }));
123
143
  }
124
- function ErrorPanel({ phase }) {
125
- return (_jsxs("div", { className: "braid-console__error", role: "alert", children: [_jsx("h3", { children: "Could not publish" }), _jsx("p", { children: phase.error.message }), phase.findings.length > 0 && (_jsx("ul", { className: "braid-console__findings", children: phase.findings.map((finding, index) => (_jsx("li", { children: finding.message }, index))) })), phase.notes.length > 0 && (_jsx("ul", { className: "braid-console__findings", children: phase.notes.map((note, index) => (_jsx("li", { children: note.message }, index))) }))] }));
144
+ function ErrorPanel({ phase, onReload }) {
145
+ return (_jsxs("div", { className: "braid-console__error", role: "alert", children: [_jsx("h3", { children: phase.conflict ? 'Someone published since you started' : 'Could not publish' }), _jsx("p", { children: phase.error.message }), phase.conflict && (_jsx("button", { type: "button", className: "braid-console__retry", onClick: onReload, children: "Reload pinned (discards this draft)" })), phase.findings.length > 0 && (_jsx("ul", { className: "braid-console__findings", children: phase.findings.map((finding, index) => (_jsx("li", { children: finding.message }, index))) })), phase.notes.length > 0 && (_jsx("ul", { className: "braid-console__findings", children: phase.notes.map((note, index) => (_jsx("li", { children: note.message }, index))) }))] }));
126
146
  }
127
147
  function withRoles(manifest, key, roles) {
128
148
  const access = { ...(manifest.access ?? {}) };
@@ -1 +1 @@
1
- {"version":3,"file":"registry-editor.js","sourceRoot":"","sources":["../../../../../libs/braid-console/src/lib/registry-editor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry-editor.js","sourceRoot":"","sources":["../../../../../libs/braid-console/src/lib/registry-editor.tsx"],"names":[],"mappings":"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"}