dsh-mnemon 0.5.31 → 0.5.33

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.
@@ -1,5 +1,5 @@
1
1
  import { DEFAULT_MEMORY_VIEW_BUDGET } from "./contracts.js";
2
- import { a as defineMemoryStrategy, c as jsonClone, d as uniqueIds, f as validateCapabilities, i as defineMemorySource, l as positiveInteger, n as deepFreeze, o as defineMemoryStrategyExtension, p as validateProvenance, r as defineMemoryPlugin, s as id, t as canonicalMemoryJson, u as requiredText } from "./definitions-j9QPbrXb.js";
2
+ import { a as defineMemoryStrategy, c as jsonClone, d as uniqueIds, f as validateCapabilities, i as defineMemorySource, l as positiveInteger, n as deepFreeze, o as defineMemoryStrategyExtension, p as validateProvenance, r as defineMemoryPlugin, s as id, t as canonicalMemoryJson, u as requiredText } from "./definitions-DU7MLBhu.js";
3
3
  import { createHash } from "node:crypto";
4
4
  import { setMaxListeners } from "node:events";
5
5
  //#region src/core/contributions.ts
@@ -14,13 +14,13 @@ var dependencies = {
14
14
  "dsh-mnemon-provider-openviking": "0.5.8",
15
15
  "dsh-mnemon-provider-retaindb": "0.5.6",
16
16
  "dsh-mnemon-provider-supermemory": "0.5.5",
17
- "dsh-mnemon-source-documents": "0.5.10",
18
- "dsh-mnemon-source-memory-spaces": "0.5.21",
19
- "dsh-mnemon-source-runtime": "0.5.14",
17
+ "dsh-mnemon-source-documents": "0.5.11",
18
+ "dsh-mnemon-source-memory-spaces": "0.5.22",
19
+ "dsh-mnemon-source-runtime": "0.5.15",
20
20
  "dsh-mnemon-strategy-auto-capture": "0.5.5",
21
- "dsh-mnemon-strategy-default-three-tier": "0.5.9",
21
+ "dsh-mnemon-strategy-default-three-tier": "0.5.10",
22
22
  "dsh-mnemon-strategy-general": "0.5.1",
23
- "dsh-mnemon-strategy-light-context": "0.5.5",
23
+ "dsh-mnemon-strategy-light-context": "0.5.6",
24
24
  "dsh-mnemon-strategy-scoped": "0.5.5",
25
25
  "fflate": "^0.8.3",
26
26
  "yaml": "^2.9.0",
package/lib/starter.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as prepareStarterResolution } from "./starter-resolution-DXcN5HsU.js";
1
+ import { t as prepareStarterResolution } from "./starter-resolution-DoFp9FLr.js";
2
2
  //#region src/starter.ts
3
3
  const name = "dsh-mnemon-starter";
4
4
  const provide = ["mnemonStarterReady"];
@@ -1,4 +1,4 @@
1
- import { n as deepFreeze, t as canonicalMemoryJson } from "./definitions-j9QPbrXb.js";
1
+ import { n as deepFreeze, t as canonicalMemoryJson } from "./definitions-DU7MLBhu.js";
2
2
  import { resolve } from "node:path";
3
3
  import { createHash, randomUUID } from "node:crypto";
4
4
  //#region src/sdk/storage-lock.ts
package/lib/testing.js CHANGED
@@ -1,6 +1,6 @@
1
- import { t as provideMemoryRuntime } from "./runtime-Bk6lFgxd.js";
1
+ import { t as provideMemoryRuntime } from "./runtime-zuuBe8x1.js";
2
2
  import { DEFAULT_MEMORY_VIEW_BUDGET } from "./contracts.js";
3
- import { c as jsonClone } from "./definitions-j9QPbrXb.js";
3
+ import { c as jsonClone } from "./definitions-DU7MLBhu.js";
4
4
  import { Context } from "@deepseek-ai/cordis";
5
5
  import { readFileSync } from "node:fs";
6
6
  //#region src/sdk/testing.ts
@@ -0,0 +1,19 @@
1
+ import type { JSX, ReactNode } from 'react';
2
+ interface GlobalLocationSettingProps {
3
+ name: string;
4
+ ariaLabel: string;
5
+ label: string;
6
+ hint: ReactNode;
7
+ defaultLabel: string;
8
+ customLabel: string;
9
+ custom: boolean;
10
+ workspace: boolean;
11
+ disabled: boolean;
12
+ className?: string | undefined;
13
+ children?: ReactNode;
14
+ onChange: (custom: boolean) => void;
15
+ onInteract?: (() => void) | undefined;
16
+ }
17
+ /** The default or custom location control: the storage directory, Native and workspace-aware providers. */
18
+ export declare function GlobalLocationSetting(props: GlobalLocationSettingProps): JSX.Element;
19
+ export {};
@@ -1,9 +1,23 @@
1
1
  import { type ReactNode } from 'react';
2
+ import type { MemoryJsonValue } from "../core/contracts/index.js";
2
3
  /**
3
4
  * A component's own settings, on its page: keyed by the component's package
4
5
  * name, rendered after the page's generated state, relations and options.
5
6
  */
6
7
  export declare const MNEMON_COMPONENT_SETTINGS_SLOT: "mnemon.component.settings";
8
+ /**
9
+ * The priority at which dsh-mnemon keeps the settings of a shipped component
10
+ * that once had no settings of its own (today Memory Spaces). DSH renders, for
11
+ * each key, the registration with the lowest priority, so the component's own
12
+ * registration, at the default 0, replaces dsh-mnemon's while it lasts.
13
+ *
14
+ * Exporting this is a promise to those components, and a component may rely on
15
+ * it alone: dsh-mnemon keeps their settings at this priority, so registering
16
+ * their own does not collide with it, and lends their settings `host` (see
17
+ * {@link MemoryComponentSettingsProps.host}). dsh-mnemon 0.5.31 and earlier
18
+ * export neither and draw those settings at the default priority.
19
+ */
20
+ export declare const MNEMON_COMPONENT_FALLBACK_PRIORITY = 100;
7
21
  /**
8
22
  * What a component's card on the Memory System's Status page says while it
9
23
  * runs, keyed by the component's package name. A card that is not running
@@ -30,6 +44,53 @@ export interface MemoryComponentSettingsProps {
30
44
  id: string;
31
45
  label?: string;
32
46
  };
47
+ /**
48
+ * What the page lends the settings registered under the key of a shipped
49
+ * component whose settings dsh-mnemon used to draw (today Memory Spaces):
50
+ * the configuration keys and Host operations dsh-mnemon serves it. It goes
51
+ * with the key, not with who registered: settings under any other key
52
+ * receive none.
53
+ */
54
+ host?: MemoryComponentHost;
55
+ }
56
+ /** dsh-mnemon's configuration as a component's settings read it. */
57
+ export interface MemoryComponentConfigurationSnapshot {
58
+ status: 'loading' | 'ready' | 'unavailable';
59
+ /** The configuration keys the page shares with this component. */
60
+ value?: Readonly<Record<string, unknown>>;
61
+ /** Moves with every saved change, made on this page or anywhere else. */
62
+ revision?: number;
63
+ /** Whether the Host takes a write now. */
64
+ writable: boolean;
65
+ }
66
+ /**
67
+ * dsh-mnemon's configuration and Host operations, bound to one component and
68
+ * to the page's conversation and workspace, as Source pages get a scoped
69
+ * management client: never the settings service or the transport itself.
70
+ */
71
+ export interface MemoryComponentHost {
72
+ configuration: {
73
+ getSnapshot(): MemoryComponentConfigurationSnapshot;
74
+ subscribe(listener: () => void): () => void;
75
+ /** Save one key the component owns, fenced by the revision the page read like every settings write. */
76
+ set(key: string, value: MemoryJsonValue): Promise<void>;
77
+ };
78
+ /** The Host operations dsh-mnemon serves this component; absent while the page has no Host connection. */
79
+ operations?: {
80
+ read(operation: string, input?: MemoryJsonValue): Promise<unknown>;
81
+ write(operation: string, input: MemoryJsonValue): Promise<unknown>;
82
+ };
83
+ /** The component changed its data here, so the Memory System reads its pages again. */
84
+ changed(): void;
85
+ /**
86
+ * What the settings keep for as long as the page's client runs, one store per
87
+ * component, conversation and workspace like the host itself. The settings
88
+ * can mount again under an open page: dsh-mnemon draws a shipped component's
89
+ * settings until the component's own client registers them, so turning the
90
+ * component on swaps one for the other. What the first mount kept here lets
91
+ * the next start where it was.
92
+ */
93
+ readonly retained: Map<string, unknown>;
33
94
  }
34
95
  export type MemoryComponentSettingsComponent = (props: MemoryComponentSettingsProps) => ReactNode;
35
96
  /** What the Status page tells a component's card: the component it is about. */
@@ -78,6 +139,13 @@ export interface MemoryComponentUIContext {
78
139
  * is released by the returned function.
79
140
  */
80
141
  export declare function installMemoryComponentUI(ctx: MemoryComponentUIContext, contribution: MemoryComponentUIContribution): () => void;
142
+ /**
143
+ * dsh-mnemon's own registration of a shipped component's interface, kept for
144
+ * that component's versions that register none: at
145
+ * MNEMON_COMPONENT_FALLBACK_PRIORITY, so the component's own replaces it. Not
146
+ * part of `dsh-mnemon/client`.
147
+ */
148
+ export declare function installMemoryComponentFallbackUI(ctx: MemoryComponentUIContext, contribution: MemoryComponentUIContribution): () => void;
81
149
  interface ComponentRegionDirectoryContext {
82
150
  slots: {
83
151
  getVersion(name: ComponentRegion): number;
@@ -1,6 +1,10 @@
1
1
  export { installMemorySourceUI, memorySourcePageEntryId, MNEMON_SOURCE_PAGE_SLOT, MNEMON_SOURCE_CONFIGURATION_MUTATE, MNEMON_SOURCE_CONFIGURATION_READ, type MemorySourcePageComponent, type MemorySourcePageDefinition, type MemorySourcePageProps, type MemorySourceUIContribution, type MemorySourceUIContext, type MemorySourcePageNavigation, } from './source-pages.tsx';
2
2
  export type { MnemonSourceManagementClient, MemorySourcePageInstance } from './source-contracts.ts';
3
- export { installMemoryComponentUI, MNEMON_COMPONENT_SETTINGS_SLOT, MNEMON_COMPONENT_STATUS_SLOT, type MemoryComponentSettingsComponent, type MemoryComponentSettingsProps, type MemoryComponentStatusComponent, type MemoryComponentStatusProps, type MemoryComponentUIContext, type MemoryComponentUIContribution, } from './component-ui.tsx';
3
+ export { installMemoryComponentUI, MNEMON_COMPONENT_FALLBACK_PRIORITY, MNEMON_COMPONENT_SETTINGS_SLOT, MNEMON_COMPONENT_STATUS_SLOT, type MemoryComponentConfigurationSnapshot, type MemoryComponentHost, type MemoryComponentSettingsComponent, type MemoryComponentSettingsProps, type MemoryComponentStatusComponent, type MemoryComponentStatusProps, type MemoryComponentUIContext, type MemoryComponentUIContribution, } from './component-ui.tsx';
4
+ export { memorySettingsStyles, ToggleRow } from './settings-controls.tsx';
5
+ export { PanelActions, useLive, useStaged, WriteFailure } from './settings-panel.tsx';
6
+ export { Callout, Reveal } from './feedback.tsx';
7
+ export { GlobalLocationSetting } from './GlobalLocationSetting.tsx';
4
8
  export * from './page-kit.tsx';
5
9
  export * from './page-controls.tsx';
6
10
  export * from './page-client.tsx';
@@ -0,0 +1,65 @@
1
+ import { type JSX, type ReactNode } from 'react';
2
+ import { type StateDotState } from '@deepseek-ai/dsh-client-ui-primitives';
3
+ /** One transient announcement, shown as DSH's own toast. */
4
+ export interface MnemonToast {
5
+ text: string;
6
+ /** `success` carries DSH's check, `warning` a warning glyph, `info` no glyph. */
7
+ tone: 'success' | 'warning' | 'info';
8
+ /** Inline actions continuing the sentence, such as Undo or Show. */
9
+ actions?: ReadonlyArray<{
10
+ label: string;
11
+ run: () => void;
12
+ }>;
13
+ }
14
+ /** One toast at a time: a newer announcement replaces the one on screen. */
15
+ export declare function useToast(): {
16
+ show: (toast: MnemonToast) => void;
17
+ element: ReactNode;
18
+ };
19
+ /**
20
+ * Content that slides open when it appears and closed when it goes, so a note
21
+ * never pushes the page at once. Closing content stays readable while it
22
+ * leaves but is hidden from assistive technology and the pointer.
23
+ */
24
+ export declare function Reveal({ children, className }: {
25
+ children: ReactNode;
26
+ className?: string | undefined;
27
+ }): JSX.Element | null;
28
+ /** The attribute marking what a change touched, so the page can point at it. */
29
+ export declare const TARGET = "data-mnemon-target";
30
+ /**
31
+ * Point at what a change touched: briefly tint the matching elements, and
32
+ * scroll the first into view when asked to.
33
+ * @param root the element to search within.
34
+ * @param targets values of {@link TARGET}.
35
+ */
36
+ export declare function locate(root: HTMLElement | null, targets: readonly string[], options?: {
37
+ scroll?: boolean;
38
+ }): void;
39
+ /** How a state reads at a glance: DSH's state dots. */
40
+ export type MnemonTone = StateDotState;
41
+ /**
42
+ * A state the user should notice, with the actions that resolve it: a state
43
+ * dot, a short title, one line of detail and the buttons.
44
+ */
45
+ export declare function Callout(props: {
46
+ tone: MnemonTone;
47
+ title: ReactNode;
48
+ children?: ReactNode;
49
+ actions?: ReactNode;
50
+ className?: string | undefined;
51
+ live?: boolean;
52
+ }): JSX.Element;
53
+ /**
54
+ * A button whose own label says when its write is running, so the result of
55
+ * a press shows where the press happened.
56
+ */
57
+ export declare function ActionButton(props: {
58
+ label: string;
59
+ pendingLabel?: string;
60
+ pending?: boolean;
61
+ disabled?: boolean;
62
+ primary?: boolean;
63
+ ariaLabel?: string;
64
+ onClick: () => void;
65
+ }): JSX.Element;
@@ -8,18 +8,6 @@ export declare const zh: {
8
8
  'common.loading': string;
9
9
  'common.cancel': string;
10
10
  'common.close': string;
11
- 'common.copyId': string;
12
- 'common.readOnly': string;
13
- 'common.activationOnly': string;
14
- 'common.active': string;
15
- 'common.inactive': string;
16
- 'common.category': string;
17
- 'common.importanceLabel': string;
18
- 'common.importance': string;
19
- 'common.hops': string;
20
- 'common.allCategories': string;
21
- 'common.memories': string;
22
- 'common.edges': string;
23
11
  'common.showing': string;
24
12
  'common.showMore': string;
25
13
  'header.backToConversation': string;
@@ -60,15 +48,6 @@ export declare const zh: {
60
48
  'sourcePage.secretPlaceholder': string;
61
49
  'sourcePage.unavailable': string;
62
50
  'sourcePage.unavailableDescription': string;
63
- 'config.providerSecretShow': string;
64
- 'config.providerSecretHide': string;
65
- 'config.providerSecretStoredValue': string;
66
- 'card.confirmText': string;
67
- 'card.processing': string;
68
- 'card.confirmForget': string;
69
- 'card.related': string;
70
- 'card.clone': string;
71
- 'card.forget': string;
72
51
  'turnTail.label': string;
73
52
  'turnTail.recall': string;
74
53
  'turnTail.write': string;
@@ -104,6 +83,7 @@ export declare const zh: {
104
83
  'receipt.view': string;
105
84
  'receipt.viewRuntime': string;
106
85
  'receipt.unembedded': string;
86
+ 'receipt.unembeddedNoService': string;
107
87
  'taskAgent.ready': string;
108
88
  'taskAgent.unavailable': string;
109
89
  'saveAction.button': string;
@@ -143,29 +123,6 @@ export declare const zh: {
143
123
  'saveAction.place.userTooLong': string;
144
124
  'saveAction.place.userFull': string;
145
125
  'saveAction.noPlace': string;
146
- 'readSources.all': string;
147
- 'readSources.mode.search': string;
148
- 'readSources.mode.graph': string;
149
- 'readSources.mode.projection': string;
150
- 'readSources.mode.enumerable': string;
151
- 'readSources.mode.query-only': string;
152
- 'readSources.mode.entities': string;
153
- 'readSources.mode.unsupported': string;
154
- 'readSources.status.ready': string;
155
- 'readSources.status.empty': string;
156
- 'readSources.status.query-required': string;
157
- 'readSources.status.unsupported': string;
158
- 'readSources.status.unavailable': string;
159
- 'readSources.edges': string;
160
- 'readSources.model.mnemon-native': string;
161
- 'readSources.model.openviking': string;
162
- 'readSources.model.honcho': string;
163
- 'readSources.model.mem0': string;
164
- 'readSources.model.hindsight': string;
165
- 'readSources.model.holographic': string;
166
- 'readSources.model.retaindb': string;
167
- 'readSources.model.byterover': string;
168
- 'readSources.model.supermemory': string;
169
126
  'status.title': string;
170
127
  'status.description': string;
171
128
  'status.nominal': string;
@@ -396,11 +353,6 @@ export declare const zh: {
396
353
  'config.useStrategy': string;
397
354
  'config.stopStrategies': string;
398
355
  'config.enableComponentNamed': string;
399
- 'config.providersSpacesOffTitle': string;
400
- 'config.providersSpacesOffDetail': string;
401
- 'config.providersSpacesOn': string;
402
- 'config.providersReadOnlyTitle': string;
403
- 'config.providersReadOnlyDetail': string;
404
356
  'board.title': string;
405
357
  'board.description': string;
406
358
  'board.loading': string;
@@ -450,7 +402,6 @@ export declare const zh: {
450
402
  'details.currentMain': string;
451
403
  'details.useMain': string;
452
404
  'details.back': string;
453
- 'spaces.offNote': string;
454
405
  'threeTier.offNote': string;
455
406
  'board.otherEnhancements': string;
456
407
  'board.more': string;
@@ -516,80 +467,9 @@ export declare const zh: {
516
467
  'layers.memoryOffTitle': string;
517
468
  'layers.memoryOffDescription': string;
518
469
  'layers.memoryOffText': string;
519
- 'config.providersTitle': string;
520
- 'config.providersDescription': string;
521
470
  'config.nativeName': string;
522
- 'config.nativeSummary': string;
523
- 'config.officialNative': string;
524
- 'config.nativeCliMissing': string;
525
- 'config.embeddingTitle': string;
526
- 'config.embeddingDescription': string;
527
- 'config.embeddingManaged': string;
528
- 'config.embeddingManagedHint': string;
529
- 'config.embeddingEndpoint': string;
530
- 'config.embeddingModel': string;
531
- 'config.embeddingApiKey': string;
532
- 'config.embeddingApiKeyInvalid': string;
533
- 'config.embeddingProtocol': string;
534
- 'config.embeddingProtocolAuto': string;
535
- 'config.embeddingProtocolOllama': string;
536
- 'config.embeddingProtocolOpenai': string;
537
- 'config.embeddingProtocolInvalid': string;
538
- 'config.embeddingEndpointInvalid': string;
539
- 'config.embeddingModelInvalid': string;
540
- 'config.embeddingSecurity': string;
541
- 'config.embeddingTest': string;
542
- 'config.embeddingNotTested': string;
543
- 'config.embeddingTesting': string;
544
- 'config.embeddingSaveBeforeTest': string;
545
- 'config.embeddingTestUnavailable': string;
546
- 'config.embeddingCliMissing': string;
547
- 'config.embeddingStatusAvailable': string;
548
- 'config.embeddingStatusAvailableWithProtocol': string;
549
- 'config.embeddingStatusUnavailable': string;
550
- 'config.embeddingStatusUnavailableWithProtocol': string;
551
- 'config.embeddingStatusFailed': string;
552
- 'config.embeddingSpaces': string;
553
- 'config.embeddingSpaceCounts': string;
554
- 'config.embeddingSpaceFailed': string;
555
- 'config.embeddingMissing': string;
556
- 'config.embeddingMissingFill': string;
557
- 'config.embeddingMissingOffline': string;
558
- 'config.embeddingSpacesUnread': string;
559
- 'config.embeddingFill': string;
560
- 'config.embeddingFilling': string;
561
- 'config.embeddingFillLabel': string;
562
- 'config.embeddingFillingLabel': string;
563
- 'config.embeddingFillDone': string;
564
- 'config.embeddingFillMore': string;
565
- 'config.embeddingFillPartly': string;
566
- 'config.embeddingFillRefused': string;
567
- 'config.embeddingFillFailed': string;
568
- 'config.providerGlobalLocation': string;
569
- 'config.providerGlobalLocationHint': string;
570
- 'config.providerGlobalLocationWorkspaceHint': string;
571
- 'config.providerDefaultLocation': string;
572
- 'config.providerSaveFailed': string;
573
- 'config.providerServiceTitle': string;
574
- 'config.providerServiceHint': string;
575
- 'config.providerEnableHint': string;
576
- 'config.providerEnabled': string;
577
- 'config.providerDisabled': string;
578
- 'config.providerDisabledConfigured': string;
579
- 'config.providerNeedsConfiguration': string;
580
- 'config.providerToggleAria': string;
581
- 'config.providerToggleFailed': string;
582
- 'config.enableProvider': string;
583
- 'config.providerServiceSaved': string;
584
- 'config.saveProviderService': string;
585
- 'config.providerUnavailable': string;
586
- 'config.saveScopeBeforeProviders': string;
587
471
  'config.backgroundTitle': string;
588
472
  'config.backgroundDescription': string;
589
- 'config.providerTargetWorkspace': string;
590
- 'config.loadingProviders': string;
591
- 'config.providerLoadFailed': string;
592
- 'config.retryProviders': string;
593
473
  'config.taskAgentTitle': string;
594
474
  'config.taskAgentInherit': string;
595
475
  'config.taskAgentInheritHint': string;
@@ -616,7 +496,6 @@ export declare const zh: {
616
496
  'config.remoteReadOnly': string;
617
497
  'config.unavailable': string;
618
498
  'config.discard': string;
619
- 'config.saving': string;
620
499
  'config.interactionTurnBar': string;
621
500
  'config.interactionTurnBarHint': string;
622
501
  'config.interactionSaveAction': string;
@@ -658,6 +537,11 @@ export declare const zh: {
658
537
  'config.syncNoCredentialToken': string;
659
538
  'config.syncIssueAuthHttps': string;
660
539
  'config.syncIssueAuthToken': string;
540
+ 'config.syncIssueRejectedGitHub': string;
541
+ 'config.syncIssueRejectedGitHubToken': string;
542
+ 'config.syncIssueRejectedGitHubEnvironment': string;
543
+ 'config.syncIssueRejected': string;
544
+ 'config.syncIssueRejectedEnvironment': string;
661
545
  'config.syncIssueAuthSsh': string;
662
546
  'config.syncIssueAuth': string;
663
547
  'config.syncIssueNotFound': string;
@@ -1235,6 +1119,128 @@ export declare const zh: {
1235
1119
  "overview.rediscoveryTimedOut": string;
1236
1120
  "overview.rediscoveryDismiss": string;
1237
1121
  "overview.newSpace": string;
1122
+ "common.copyId": string;
1123
+ "common.readOnly": string;
1124
+ "common.activationOnly": string;
1125
+ "common.active": string;
1126
+ "common.category": string;
1127
+ "common.importanceLabel": string;
1128
+ "common.importance": string;
1129
+ "common.hops": string;
1130
+ "common.allCategories": string;
1131
+ "common.memories": string;
1132
+ "common.edges": string;
1133
+ "card.confirmText": string;
1134
+ "card.processing": string;
1135
+ "card.confirmForget": string;
1136
+ "card.related": string;
1137
+ "card.clone": string;
1138
+ "card.forget": string;
1139
+ "readSources.all": string;
1140
+ "readSources.mode.search": string;
1141
+ "readSources.mode.graph": string;
1142
+ "readSources.mode.projection": string;
1143
+ "readSources.mode.enumerable": string;
1144
+ "readSources.mode.query-only": string;
1145
+ "readSources.mode.entities": string;
1146
+ "readSources.mode.unsupported": string;
1147
+ "readSources.status.ready": string;
1148
+ "readSources.status.empty": string;
1149
+ "readSources.status.query-required": string;
1150
+ "readSources.status.unsupported": string;
1151
+ "readSources.status.unavailable": string;
1152
+ "readSources.edges": string;
1153
+ "readSources.model.mnemon-native": string;
1154
+ "readSources.model.openviking": string;
1155
+ "readSources.model.honcho": string;
1156
+ "readSources.model.mem0": string;
1157
+ "readSources.model.hindsight": string;
1158
+ "readSources.model.holographic": string;
1159
+ "readSources.model.retaindb": string;
1160
+ "readSources.model.byterover": string;
1161
+ "readSources.model.supermemory": string;
1162
+ "common.inactive": string;
1163
+ "config.providerSecretShow": string;
1164
+ "config.providerSecretHide": string;
1165
+ "config.providerSecretStoredValue": string;
1166
+ "config.providersSpacesOffTitle": string;
1167
+ "config.providersSpacesOffDetail": string;
1168
+ "config.providersSpacesOn": string;
1169
+ "config.providersReadOnlyTitle": string;
1170
+ "config.providersReadOnlyDetail": string;
1171
+ "spaces.offNote": string;
1172
+ "config.providersTitle": string;
1173
+ "config.providersDescription": string;
1174
+ "config.nativeSummary": string;
1175
+ "config.officialNative": string;
1176
+ "config.nativeCliMissing": string;
1177
+ "config.embeddingTitle": string;
1178
+ "config.embeddingDescription": string;
1179
+ "config.embeddingManaged": string;
1180
+ "config.embeddingManagedHint": string;
1181
+ "config.embeddingEndpoint": string;
1182
+ "config.embeddingModel": string;
1183
+ "config.embeddingApiKey": string;
1184
+ "config.embeddingApiKeyInvalid": string;
1185
+ "config.embeddingProtocol": string;
1186
+ "config.embeddingProtocolAuto": string;
1187
+ "config.embeddingProtocolOllama": string;
1188
+ "config.embeddingProtocolOpenai": string;
1189
+ "config.embeddingProtocolInvalid": string;
1190
+ "config.embeddingEndpointInvalid": string;
1191
+ "config.embeddingModelInvalid": string;
1192
+ "config.embeddingSecurity": string;
1193
+ "config.embeddingTest": string;
1194
+ "config.embeddingNotTested": string;
1195
+ "config.embeddingTesting": string;
1196
+ "config.embeddingSaveBeforeTest": string;
1197
+ "config.embeddingTestUnavailable": string;
1198
+ "config.embeddingCliMissing": string;
1199
+ "config.embeddingStatusAvailable": string;
1200
+ "config.embeddingStatusAvailableWithProtocol": string;
1201
+ "config.embeddingStatusUnavailable": string;
1202
+ "config.embeddingStatusUnavailableWithProtocol": string;
1203
+ "config.embeddingStatusFailed": string;
1204
+ "config.embeddingSpaces": string;
1205
+ "config.embeddingSpaceCounts": string;
1206
+ "config.embeddingSpaceFailed": string;
1207
+ "config.embeddingMissing": string;
1208
+ "config.embeddingMissingFill": string;
1209
+ "config.embeddingMissingOffline": string;
1210
+ "config.embeddingSpacesUnread": string;
1211
+ "config.embeddingFill": string;
1212
+ "config.embeddingFilling": string;
1213
+ "config.embeddingFillLabel": string;
1214
+ "config.embeddingFillingLabel": string;
1215
+ "config.embeddingFillDone": string;
1216
+ "config.embeddingFillMore": string;
1217
+ "config.embeddingFillPartly": string;
1218
+ "config.embeddingFillRefused": string;
1219
+ "config.embeddingFillFailed": string;
1220
+ "config.providerGlobalLocation": string;
1221
+ "config.providerGlobalLocationHint": string;
1222
+ "config.providerGlobalLocationWorkspaceHint": string;
1223
+ "config.providerDefaultLocation": string;
1224
+ "config.providerSaveFailed": string;
1225
+ "config.providerServiceTitle": string;
1226
+ "config.providerServiceHint": string;
1227
+ "config.providerEnableHint": string;
1228
+ "config.providerEnabled": string;
1229
+ "config.providerDisabled": string;
1230
+ "config.providerDisabledConfigured": string;
1231
+ "config.providerNeedsConfiguration": string;
1232
+ "config.providerToggleAria": string;
1233
+ "config.providerToggleFailed": string;
1234
+ "config.enableProvider": string;
1235
+ "config.providerServiceSaved": string;
1236
+ "config.saveProviderService": string;
1237
+ "config.providerUnavailable": string;
1238
+ "config.saveScopeBeforeProviders": string;
1239
+ "config.providerTargetWorkspace": string;
1240
+ "config.loadingProviders": string;
1241
+ "config.providerLoadFailed": string;
1242
+ "config.retryProviders": string;
1243
+ "config.saving": string;
1238
1244
  "nav.documents": string;
1239
1245
  "documents.title": string;
1240
1246
  "documents.description": string;
@@ -48,6 +48,13 @@ export declare function WriteReceipt(props: {
48
48
  summary?: string | undefined;
49
49
  error?: string | undefined;
50
50
  unembedded?: boolean | undefined;
51
+ /**
52
+ * Whether DSH manages the Mnemon Native embedding settings. Left at their
53
+ * default (`false`), they set up no embedding service, so a memory without a
54
+ * vector gets a neutral note; managed, or when this is omitted, it gets the
55
+ * caution that embedding did not succeed.
56
+ */
57
+ embeddingManaged?: boolean | undefined;
51
58
  t?: MnemonTranslate | undefined;
52
59
  onView?: (() => void) | undefined;
53
60
  viewLabel?: string | undefined;
@@ -0,0 +1,66 @@
1
+ import { type JSX, type ReactNode } from 'react';
2
+ /**
3
+ * The configuration's class names that Memory Spaces' own settings use, so they
4
+ * draw as the shipped settings do. They are API: an installed Memory Spaces,
5
+ * older or newer than this Starter, looks its classes up by these names, so
6
+ * renaming or removing one unstyles it.
7
+ */
8
+ export declare const MEMORY_SETTINGS_CLASS_NAMES: readonly ["configFeedback", "editor", "editorHeading", "editorNote", "embeddingFillOutcome", "embeddingSpaceCount", "embeddingSpaceName", "embeddingSpaceState", "embeddingSpaces", "embeddingTest", "error", "fieldGrid", "groupCallout", "memoryConfigFooter", "packSuccess", "panelHeading", "panelNote", "panelSection", "providerBoolean", "providerChevron", "providerDisclosure", "providerEnableControl", "providerFieldControl", "providerIdentity", "providerInlineBody", "providerList", "providerLoadError", "providerLocationField", "providerMark", "providerRow", "providerRowHeader", "providerScopeTag", "providerSecretInput", "providerSecretVisibility", "providerServiceFooter", "providerServiceForm", "providerServiceLocation", "providerServicePrompt", "providerSettingsGrid", "providerState", "providerTarget", "providerToggle", "providerToggleError", "scopeChanging", "visuallyHidden"];
9
+ export type MemorySettingsClass = typeof MEMORY_SETTINGS_CLASS_NAMES[number];
10
+ /** The configuration's class map, by the names in MEMORY_SETTINGS_CLASS_NAMES. */
11
+ export declare const memorySettingsStyles: Readonly<Record<MemorySettingsClass, string>>;
12
+ /** One option of a settings selector; the detail explains it in the menu and under the row title. */
13
+ export interface SettingOption<T extends string> {
14
+ value: T;
15
+ label: string;
16
+ detail?: string;
17
+ disabled?: boolean;
18
+ }
19
+ /**
20
+ * A DSH preference row: title and hint on the left, one control on the right.
21
+ * Shared by Mnemon Settings and the Plugins page composition.
22
+ */
23
+ export declare function SettingRow(props: {
24
+ title: string;
25
+ titleId?: string | undefined;
26
+ hint?: ReactNode;
27
+ htmlFor?: string | undefined;
28
+ children?: ReactNode;
29
+ stacked?: boolean | undefined;
30
+ target?: string | undefined;
31
+ }): JSX.Element;
32
+ /** The DSH settings selector: a gray button that opens a Menu of the options. */
33
+ export declare function SettingSelect<T extends string>(props: {
34
+ labelledBy: string;
35
+ value: T;
36
+ options: readonly SettingOption<T>[];
37
+ disabled?: boolean | undefined;
38
+ onChange: (value: T) => void;
39
+ }): JSX.Element;
40
+ /** A row whose control is a selector; the chosen option's detail doubles as the hint. */
41
+ export declare function SelectRow<T extends string>(props: {
42
+ id: string;
43
+ label: string;
44
+ hint?: string | undefined;
45
+ value: T;
46
+ options: readonly SettingOption<T>[];
47
+ disabled?: boolean | undefined;
48
+ target?: string | undefined;
49
+ onChange: (value: T) => void;
50
+ }): JSX.Element;
51
+ /**
52
+ * A row whose control is the DSH Switch. A note under the hint states what the
53
+ * switch depends on and offers what resolves it; it slides in and out.
54
+ */
55
+ export declare function ToggleRow(props: {
56
+ id: string;
57
+ label: string;
58
+ titleId?: string | undefined;
59
+ hint: string;
60
+ checked: boolean;
61
+ disabled: boolean;
62
+ ariaLabel?: string | undefined;
63
+ note?: ReactNode;
64
+ target?: string | undefined;
65
+ onChange: (value: boolean) => void;
66
+ }): JSX.Element;