@deepwatch/dsh-client-settings 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/client/components.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * The Watch Technology & Capability Center, registered into DSH's settings.
3
+ *
4
+ * `settings.section` is a list, so these seven sit alongside DSH's General,
5
+ * Models and Plugins rather than replacing any of them. That is the whole
6
+ * arrangement: the foundation keeps its settings, and Watch adds the surfaces
7
+ * that make its own capabilities inspectable.
8
+ *
9
+ * The `order` values start at 20 so upstream's sections keep the top of the
10
+ * list, and they are grouped so the reading order tells a story — what the
11
+ * agent is (Intelligence), what it can perceive (Perception), what it keeps
12
+ * (Memory), what it can prove (Truth), and what it actually is (System).
13
+ *
14
+ * @module @deepwatch/dsh-client-settings/client
15
+ */
16
+ import type { Context } from '@deepseek-ai/cordis';
17
+ export * from './components.js';
18
+ export * from './onboarding.js';
19
+ export * from './readiness.js';
20
+ export * from './binding-state.js';
21
+ export * from './role-bindings.js';
22
+ export * from './chat-gate.js';
23
+ /**
24
+ * Services this half needs before it can register anything.
25
+ *
26
+ * `connection` is what makes Role Bindings a working screen rather than a
27
+ * description of one: it carries the RPC face this package asks for the
28
+ * provider directory, the model catalogue, credential state and the stored
29
+ * assignments. Registering the section without it would put a control on
30
+ * screen that fails when pressed.
31
+ */
32
+ export declare const inject: string[];
33
+ /** Add the Watch sections to DSH's settings panel. */
34
+ export declare function apply(ctx: Context): void;
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,273 @@
1
+ /**
2
+ * The Watch Technology & Capability Center, registered into DSH's settings.
3
+ *
4
+ * `settings.section` is a list, so these seven sit alongside DSH's General,
5
+ * Models and Plugins rather than replacing any of them. That is the whole
6
+ * arrangement: the foundation keeps its settings, and Watch adds the surfaces
7
+ * that make its own capabilities inspectable.
8
+ *
9
+ * The `order` values start at 20 so upstream's sections keep the top of the
10
+ * list, and they are grouped so the reading order tells a story — what the
11
+ * agent is (Intelligence), what it can perceive (Perception), what it keeps
12
+ * (Memory), what it can prove (Truth), and what it actually is (System).
13
+ *
14
+ * @module @deepwatch/dsh-client-settings/client
15
+ */
16
+ import { useEffect, useSyncExternalStore } from 'react';
17
+ import { AboutSection, DiagnosticsSection, EnginesSection, MemorySection, SourcesSection, VerificationSection, } from './components.js';
18
+ import { WatchOnboarding } from './onboarding.js';
19
+ import { BindingStore } from './binding-state.js';
20
+ import { RoleBindings } from './role-bindings.js';
21
+ import { ChatGate } from './chat-gate.js';
22
+ export * from './components.js';
23
+ export * from './onboarding.js';
24
+ export * from './readiness.js';
25
+ export * from './binding-state.js';
26
+ export * from './role-bindings.js';
27
+ export * from './chat-gate.js';
28
+ /**
29
+ * Services this half needs before it can register anything.
30
+ *
31
+ * `connection` is what makes Role Bindings a working screen rather than a
32
+ * description of one: it carries the RPC face this package asks for the
33
+ * provider directory, the model catalogue, credential state and the stored
34
+ * assignments. Registering the section without it would put a control on
35
+ * screen that fails when pressed.
36
+ */
37
+ // `remote` is listed because Diagnostics reads the engine through
38
+ // `remote.watchQuery`, and cordis refuses a property no inject entry claims —
39
+ // the Health card rendered as a crashed slot until this said so.
40
+ //
41
+ // `remote.watchQuery` is listed for the same reason: cordis guards the nested
42
+ // namespace separately, and reaching it without the entry crashed the settings
43
+ // slot rather than returning undefined.
44
+ //
45
+ // Listing it parks this plugin until the namespace is mounted, which is only
46
+ // safe because `@deepwatch/dsh-client-remotes` is now a declared
47
+ // `dsh.client.inject` dependency in package.json — the boot graph reads that,
48
+ // not this constant, and without it the mount ordering was not guaranteed.
49
+ // The lookup below is still written defensively, so a profile that somehow
50
+ // lacks the namespace gets "could not be read" rather than a blank card.
51
+ export const inject = ['slots', 'connection', 'remote', 'remote.watchQuery'];
52
+ /** One live Core reading shared by onboarding and Diagnostics. */
53
+ class CoreHealthStore {
54
+ reader;
55
+ snapshot = { health: null, reading: true, loaded: false };
56
+ listeners = new Set();
57
+ generation = 0;
58
+ inFlight = null;
59
+ constructor(reader) {
60
+ this.reader = reader;
61
+ }
62
+ getSnapshot = () => this.snapshot;
63
+ subscribe = (listener) => {
64
+ this.listeners.add(listener);
65
+ return () => { this.listeners.delete(listener); };
66
+ };
67
+ publish(snapshot) {
68
+ this.snapshot = snapshot;
69
+ for (const listener of this.listeners)
70
+ listener();
71
+ }
72
+ /**
73
+ * Read once, however many surfaces ask.
74
+ *
75
+ * Onboarding and Diagnostics mount independently and both need the same
76
+ * reading. Firing a second Core handshake because a second surface appeared
77
+ * is two readings that can disagree, and the one a person is looking at
78
+ * would be whichever landed last.
79
+ */
80
+ ensureLoaded() {
81
+ if (this.snapshot.loaded || this.inFlight !== null)
82
+ return;
83
+ this.inFlight = this.refresh().finally(() => { this.inFlight = null; });
84
+ }
85
+ async refresh() {
86
+ const generation = ++this.generation;
87
+ this.publish({ ...this.snapshot, reading: true });
88
+ const reader = this.reader();
89
+ if (reader === null) {
90
+ this.publish({ health: null, reading: false, loaded: true });
91
+ return;
92
+ }
93
+ try {
94
+ const result = await reader({
95
+ protocol: 1, requestId: `req_${Date.now().toString(36)}`, deadlineMs: 15_000,
96
+ }, new AbortController().signal);
97
+ if (generation !== this.generation)
98
+ return;
99
+ const report = result.ok ? result.value : null;
100
+ this.publish({
101
+ health: report?.outcome === 'core_health' ? report : null,
102
+ reading: false,
103
+ loaded: true,
104
+ });
105
+ }
106
+ catch {
107
+ if (generation === this.generation) {
108
+ this.publish({ health: null, reading: false, loaded: true });
109
+ }
110
+ }
111
+ }
112
+ }
113
+ /** Add the Watch sections to DSH's settings panel. */
114
+ export function apply(ctx) {
115
+ const slots = ctx.slots;
116
+ // One store for the whole panel. Two would be two answers to "is Chat
117
+ // ready?", and the screen that showed a stale one would be the screen
118
+ // somebody trusted.
119
+ // Diagnostics reads the same store, so "Agent Model — Not configured" cannot
120
+ // sit beside a Role Bindings screen saying Chat is ready. One store, one
121
+ // answer, on every surface that asks.
122
+ /**
123
+ * The channel to the engine, looked up when Diagnostics renders.
124
+ *
125
+ * Deliberately *not* an `inject` entry. Naming `remote.watchQuery` there
126
+ * parks this whole plugin until the service exists, and the cost of being
127
+ * wrong about that is not a missing Health card — it is every Watch settings
128
+ * section disappearing, which is what happened: "View diagnostics" became a
129
+ * button that did nothing. The same mistake is recorded twenty lines below
130
+ * about `conversation`, and it is the same mistake.
131
+ *
132
+ * So this is read at the point of use, and its absence is a state the panel
133
+ * already renders honestly: "could not be read" rather than a plausible
134
+ * default. A screen that says it does not know beats a screen that is not
135
+ * there.
136
+ */
137
+ const readHealth = () => {
138
+ const remote = ctx.remote;
139
+ return remote?.watchQuery?.coreHealth ?? null;
140
+ };
141
+ const runProviderTest = async (provider, model, signal) => {
142
+ const method = ctx.remote?.watchQuery?.providerTest;
143
+ if (method === undefined)
144
+ throw new Error('provider test remote unavailable');
145
+ const result = await method({
146
+ protocol: 1, requestId: `req_provider_${Date.now().toString(36)}`,
147
+ deadlineMs: 15_000, provider, model,
148
+ }, signal);
149
+ if (!result.ok)
150
+ throw new Error('provider test remote refused the request');
151
+ const value = result.value;
152
+ if (value.outcome !== 'provider_test' || value.provider !== provider || value.model !== model) {
153
+ throw new Error('provider test returned a mismatched response');
154
+ }
155
+ return value;
156
+ };
157
+ /**
158
+ * The Host's verdict on a route, read rather than remembered.
159
+ *
160
+ * Shaped like `runProviderTest` and deliberately not like it: this spends
161
+ * nothing, reaches no provider, and is asked on every load. It is what stops
162
+ * a tab that has been open across a Host restart, or across an edit made
163
+ * somewhere else, from drawing a tested badge over a route the Host would
164
+ * refuse.
165
+ */
166
+ const readRouteReadiness = async (provider, model, signal) => {
167
+ const method = ctx.remote?.watchQuery?.routeReadiness;
168
+ if (method === undefined)
169
+ throw new Error('route readiness remote unavailable');
170
+ const result = await method({
171
+ protocol: 1, requestId: `req_readiness_${Date.now().toString(36)}`,
172
+ deadlineMs: 5_000, provider, model,
173
+ }, signal);
174
+ if (!result.ok)
175
+ throw new Error('route readiness remote refused the request');
176
+ const value = result.value;
177
+ if (value.outcome !== 'route_readiness' || value.provider !== provider || value.model !== model) {
178
+ throw new Error('route readiness returned a mismatched response');
179
+ }
180
+ return { proved: value.proved, reason: value.reason };
181
+ };
182
+ const store = new BindingStore(ctx.get('connection').api, runProviderTest, readRouteReadiness);
183
+ const RoleBindingsSection = () => RoleBindings({ store });
184
+ const healthStore = new CoreHealthStore(readHealth);
185
+ const DiagnosticsWithRoles = () => {
186
+ // Subscribed, not sampled: a Diagnostics page that read the snapshot once
187
+ // would show the readiness that happened to be loaded when it mounted, and
188
+ // go quietly stale the moment somebody bound something in the next tab.
189
+ const snapshot = useSyncExternalStore(store.subscribe, store.getSnapshot, store.getSnapshot);
190
+ useEffect(() => { void store.load(); }, []);
191
+ const core = useSyncExternalStore(healthStore.subscribe, healthStore.getSnapshot, healthStore.getSnapshot);
192
+ useEffect(() => { healthStore.ensureLoaded(); }, []);
193
+ return DiagnosticsSection({
194
+ roles: snapshot.roles, health: core.health, reading: core.reading,
195
+ onRefresh: () => { void healthStore.refresh(); },
196
+ });
197
+ };
198
+ const OnboardingWithReadiness = (props) => {
199
+ const snapshot = useSyncExternalStore(store.subscribe, store.getSnapshot, store.getSnapshot);
200
+ const core = useSyncExternalStore(healthStore.subscribe, healthStore.getSnapshot, healthStore.getSnapshot);
201
+ useEffect(() => { void store.load(); healthStore.ensureLoaded(); }, []);
202
+ return WatchOnboarding({
203
+ ...props, roles: snapshot.roles, health: core.health, reading: core.reading,
204
+ });
205
+ };
206
+ const section = (id, label, order, component) => {
207
+ slots.inject('settings.section', () => {
208
+ slots.register({ name: 'settings.section', id, label, order }, component);
209
+ });
210
+ };
211
+ // A section label has 112px, measured in the running settings nav.
212
+ //
213
+ // "Perception Engines", "Sources & Devices" and "Memory & Retrieval" were
214
+ // 118px, 114px and 124px, so all three ellipsised to "Perception Engi…",
215
+ // "Sources & Devic…" and "Memory & Retri…" — three of eight Watch sections
216
+ // unreadable in every screenshot. The one-word forms are 66px, 49px and
217
+ // 52px, and they sit consistently beside the labels that already fit:
218
+ // Role Bindings 84px, Verification 70px, Diagnostics 72px, About 39px.
219
+ //
220
+ // The nav width is DSH's, so the label is the half that has to give.
221
+ // INTELLIGENCE — what the agent is, and what each capability is bound to.
222
+ // DSH's own Models section stays where it is; this adds the per-role view it
223
+ // has no reason to carry, since roles are a Watch concept.
224
+ section('watch-roles', 'Role Bindings', 20, RoleBindingsSection);
225
+ // PERCEPTION — what runs here, and what it is allowed to see.
226
+ section('watch-engines', 'Perception', 30, EnginesSection);
227
+ section('watch-sources', 'Sources', 40, SourcesSection);
228
+ // MEMORY — what is kept, under which rules.
229
+ section('watch-memory', 'Memory', 50, MemorySection);
230
+ // TRUTH — what a verdict means and who may issue one.
231
+ section('watch-verification', 'Verification', 60, VerificationSection);
232
+ // SYSTEM — what this installation actually is.
233
+ section('watch-diagnostics', 'Diagnostics', 70, DiagnosticsWithRoles);
234
+ section('watch-about', 'About', 80, AboutSection);
235
+ // The composer's own preflight, in the seat beside it.
236
+ //
237
+ // The seat is claimed unconditionally and the conversation service is looked
238
+ // up when the gate renders. Parking the registration behind
239
+ // `ctx.inject(['conversation'], …)` looked tidier and was wrong: the
240
+ // callback never ran, so the card never drew and the composer was never
241
+ // blocked -- silently, while every other surface in this package worked.
242
+ // Upstream's own model-selection plugin reaches the same registry with a
243
+ // plain `ctx.get('conversation')` at the point of use, which is late enough
244
+ // to be there.
245
+ //
246
+ // It lives here rather than in the shell because this is the package that
247
+ // knows. Upstream's note on composer blocks says the model-selection plugin
248
+ // is what raises one -- "the composer cannot read the plugins that would
249
+ // know" -- and in this distribution that is this package: it holds the
250
+ // store, the readiness and the picker. Anywhere else would mean a second
251
+ // store, and two answers to "can Chat run?".
252
+ const blocks = () => ctx.get('conversation')?.blocks;
253
+ slots.inject('conversation.input.dock', () => {
254
+ slots.register(
255
+ // Order 5, ahead of the Watch composer panel at 10: a person who cannot
256
+ // send yet should meet the reason before the turn controls.
257
+ { name: 'conversation.input.dock', id: 'watch-chat-gate', order: 5 }, ({ sessionId }) => ChatGate({ sessionId, store, blocks }));
258
+ });
259
+ // The first-run screen, ahead of upstream's.
260
+ //
261
+ // `settings.onboarding` is a list and DSH renders `{ only: currentStep }`, so
262
+ // order decides what a person sees first. Upstream registers
263
+ // `deepseek-official` at 0; this sits at -50 and leads instead with what the
264
+ // product is and what is actually ready.
265
+ //
266
+ // Upstream's step is not removed. DeepSeek remains a perfectly good provider
267
+ // choice, and continuing past this screen reaches it unchanged — the change
268
+ // is that connecting it is no longer presented as the price of entry.
269
+ slots.inject('settings.onboarding', () => {
270
+ slots.register({ name: 'settings.onboarding', id: 'watch-welcome', order: -50 }, OnboardingWithReadiness);
271
+ });
272
+ }
273
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * DeepWatch's first-run product surface.
3
+ *
4
+ * The settings.onboarding slot renders from a narrow sidebar seat, so this
5
+ * component owns a real modal. DSH's Modal keeps the focus, Escape and mask
6
+ * behavior; this component only owns the product layout inside it.
7
+ *
8
+ * Both counts come from the same normalized runtime snapshot as Diagnostics.
9
+ * Nothing is shown ready while it loads, and a saved credential is not a
10
+ * successful provider test.
11
+ *
12
+ * @module @deepwatch/dsh-client-settings/onboarding
13
+ */
14
+ import type { ReactNode } from 'react';
15
+ import type { CoreHealthReport } from '@deepwatch/dsh-contracts/query/wire';
16
+ import type { RoleRow } from './binding-state.js';
17
+ /** What DSH hands an onboarding step. */
18
+ export interface OnboardingProps {
19
+ readonly stepId?: string;
20
+ readonly complete?: () => void;
21
+ readonly openSection?: (id: string) => void;
22
+ readonly roles?: readonly RoleRow[];
23
+ readonly health?: CoreHealthReport | null;
24
+ readonly reading?: boolean;
25
+ }
26
+ /** The truthful, intentional first impression of DeepWatch. */
27
+ export declare function WatchOnboarding({ complete, openSection, roles, health, reading }: OnboardingProps): ReactNode;
28
+ //# sourceMappingURL=onboarding.d.ts.map
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button, IconCheckOutline16, IconRightUpOutline16, IconSettingsOutline16, Modal, } from '@deepseek-ai/dsh-client-ui-primitives';
3
+ import { PRODUCT_NAME, WATCH_MARK_PNG } from '@deepwatch/dsh-client-brand';
4
+ import { deriveReadiness } from './readiness.js';
5
+ import css from './onboarding.module.css';
6
+ /** A human list that stays useful at zero, one and many items. */
7
+ function names(items) {
8
+ if (items.length === 0)
9
+ return 'None yet';
10
+ if (items.length <= 3)
11
+ return items.map(item => item.name).join(' · ');
12
+ return items.slice(0, 2).map(item => item.name).join(' · ')
13
+ + ' · +' + String(items.length - 2) + ' more';
14
+ }
15
+ /** The truthful, intentional first impression of DeepWatch. */
16
+ export function WatchOnboarding({ complete, openSection, roles, health, reading }) {
17
+ const readiness = deriveReadiness({ roles, health, reading });
18
+ const ready = readiness.filter(item => item.status === 'ready');
19
+ const pending = readiness.filter(item => item.status !== 'ready');
20
+ const finish = () => { complete?.(); };
21
+ const go = (section) => {
22
+ openSection?.(section);
23
+ finish();
24
+ };
25
+ return (_jsx(Modal, { open: true, title: 'Welcome to ' + PRODUCT_NAME, onClose: finish, headless: true, className: css.dialog ?? '', children: _jsxs("section", { className: css.card, "aria-labelledby": "watch-welcome-title", children: [_jsxs("header", { className: css.hero, children: [_jsxs("div", { className: css.identity, children: [_jsx("div", { className: css.markFrame, "aria-hidden": "true", children: _jsx("img", { src: WATCH_MARK_PNG, width: 58, height: 58, alt: "", className: css.mark }) }), _jsxs("div", { className: css.titleBlock, children: [_jsx("span", { className: css.eyebrow, children: "DEEPWATCH / INTO THE KNOW" }), _jsxs("h2", { id: "watch-welcome-title", className: css.title, children: ["See what happened.", _jsx("br", {}), "Prove what worked."] }), _jsx("p", { className: css.tagline, children: "See \u00B7 Remember \u00B7 Act \u00B7 Verify" })] })] }), _jsx("p", { className: css.lead, children: "Your local evidence workspace is ready to begin. Connect a model when you want conversation; local capabilities need no provider and no network." })] }), _jsxs("div", { className: css.statusSection, children: [_jsxs("div", { className: css.statusHeading, children: [_jsx("span", { className: css.eyebrow, children: "INSTALLATION STATUS" }), _jsxs("span", { className: css.liveLabel, "aria-live": "polite", children: [_jsx("span", { className: [css.liveDot, reading === true ? css.checkingDot : '']
26
+ .filter(Boolean).join(' '), "aria-hidden": "true" }), reading === true ? 'Checking runtime' : 'Runtime checked'] })] }), _jsxs("div", { className: css.statusGrid, role: "group", "aria-label": "What is ready now", children: [_jsxs("article", { className: [css.metricCard, css.readyCard].filter(Boolean).join(' '), "data-watch-readiness": "ready", children: [_jsxs("div", { className: css.metricTop, children: [_jsxs("span", { className: css.metricLabel, children: [_jsx(IconCheckOutline16, { size: 16 }), "Ready now"] }), _jsx("strong", { className: css.metricValue, "data-watch-count": true, children: reading === true ? '—' : ready.length })] }), _jsx("p", { className: css.metricCopy, children: reading === true
27
+ ? 'Checking this installation. Nothing is assumed ready.'
28
+ : names(ready) + ' passed ' + (ready.length === 1 ? 'its' : 'their')
29
+ + ' runtime gates.' })] }), _jsxs("article", { className: css.metricCard, "data-watch-readiness": "pending", children: [_jsxs("div", { className: css.metricTop, children: [_jsxs("span", { className: css.metricLabel, children: [_jsx(IconSettingsOutline16, { size: 16 }), "Needs setup"] }), _jsx("strong", { className: css.metricValue, "data-watch-count": true, children: pending.length })] }), _jsx("p", { className: css.metricCopy, children: "Configure, test or repair these when you need them. Saved is never presented as tested." })] })] })] }), _jsxs("div", { className: css.consent, children: [_jsx("span", { className: css.consentIcon, "aria-hidden": "true", children: _jsx(IconCheckOutline16, { size: 14 }) }), _jsxs("div", { children: [_jsx("strong", { children: "Private by default" }), _jsx("p", { children: "Connecting a model does not permit uploading frames, audio, transcripts or evidence. Media access is separate and stays off." })] })] }), _jsxs("footer", { className: css.footer, children: [_jsx(Button, { variant: "ghost", icon: _jsx(IconRightUpOutline16, { size: 16 }), onClick: () => { go('watch-diagnostics'); }, children: "View diagnostics" }), _jsxs("div", { className: css.primaryActions, children: [_jsx(Button, { variant: "outline", onClick: finish, children: "Explore offline" }), _jsx(Button, { variant: "primary", onClick: () => { go('watch-roles'); }, children: "Finish setup" })] })] })] }) }));
30
+ }
31
+ //# sourceMappingURL=onboarding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/client/onboarding.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /** Truthful capability readiness shared by onboarding and Diagnostics. */
2
+ import type { ReactNode } from 'react';
3
+ import type { BindableRole } from '@deepwatch/dsh-contracts';
4
+ import type { CoreHealthReport } from '@deepwatch/dsh-contracts/query/wire';
5
+ import type { ChipTone } from './components.js';
6
+ import type { RoleRow } from './binding-state.js';
7
+ /** The complete UI vocabulary. No surface may invent a more flattering state. */
8
+ export type ReadinessStatus = 'loading' | 'ready' | 'degraded' | 'unconfigured' | 'unavailable' | 'not_tested' | 'error';
9
+ export declare const READINESS_STATUS_LABEL: Readonly<Record<ReadinessStatus, string>>;
10
+ /** One capability definition. Runtime state is deliberately not stored here. */
11
+ export interface ReadinessDefinition {
12
+ readonly name: string;
13
+ readonly detail: string;
14
+ readonly section?: string;
15
+ readonly role?: BindableRole;
16
+ readonly coreCapabilities?: readonly string[];
17
+ readonly defaultStatus?: 'unconfigured' | 'not_tested';
18
+ }
19
+ /** One capability after live facts have been folded through the shared model. */
20
+ export interface ReadinessRow extends ReadinessDefinition {
21
+ readonly status: ReadinessStatus;
22
+ readonly statusLabel: string;
23
+ readonly tone: ChipTone;
24
+ }
25
+ export declare const READINESS: readonly ReadinessDefinition[];
26
+ export interface ReadinessFacts {
27
+ readonly roles?: readonly RoleRow[] | undefined;
28
+ readonly health?: CoreHealthReport | null | undefined;
29
+ readonly reading?: boolean | undefined;
30
+ }
31
+ /** Derive every row from runtime facts. Used by both first-run and Diagnostics. */
32
+ export declare function deriveReadiness(facts: ReadinessFacts): readonly ReadinessRow[];
33
+ export declare function ReadinessList({ openSection, roles, health, reading }: ReadinessFacts & {
34
+ readonly openSection?: ((id: string) => void) | undefined;
35
+ }): ReactNode;
36
+ //# sourceMappingURL=readiness.d.ts.map