dsh-mnemon 0.5.29 → 0.5.31

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.
@@ -15,10 +15,10 @@ var dependencies = {
15
15
  "dsh-mnemon-provider-retaindb": "0.5.6",
16
16
  "dsh-mnemon-provider-supermemory": "0.5.5",
17
17
  "dsh-mnemon-source-documents": "0.5.10",
18
- "dsh-mnemon-source-memory-spaces": "0.5.19",
18
+ "dsh-mnemon-source-memory-spaces": "0.5.21",
19
19
  "dsh-mnemon-source-runtime": "0.5.14",
20
20
  "dsh-mnemon-strategy-auto-capture": "0.5.5",
21
- "dsh-mnemon-strategy-default-three-tier": "0.5.8",
21
+ "dsh-mnemon-strategy-default-three-tier": "0.5.9",
22
22
  "dsh-mnemon-strategy-general": "0.5.1",
23
23
  "dsh-mnemon-strategy-light-context": "0.5.5",
24
24
  "dsh-mnemon-strategy-scoped": "0.5.5",
package/lib/starter.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as prepareStarterResolution } from "./starter-resolution-CiUfOO4b.js";
1
+ import { t as prepareStarterResolution } from "./starter-resolution-DXcN5HsU.js";
2
2
  //#region src/starter.ts
3
3
  const name = "dsh-mnemon-starter";
4
4
  const provide = ["mnemonStarterReady"];
@@ -103,6 +103,7 @@ export declare const zh: {
103
103
  'receipt.failed': string;
104
104
  'receipt.view': string;
105
105
  'receipt.viewRuntime': string;
106
+ 'receipt.unembedded': string;
106
107
  'taskAgent.ready': string;
107
108
  'taskAgent.unavailable': string;
108
109
  'saveAction.button': string;
@@ -496,11 +497,6 @@ export declare const zh: {
496
497
  'feedback.optionsSaved': string;
497
498
  'feedback.externalOptions': string;
498
499
  'feedback.externalSeveral': string;
499
- 'feedback.pendingMain': string;
500
- 'feedback.pendingOn': string;
501
- 'feedback.pendingOff': string;
502
- 'feedback.pendingOptions': string;
503
- 'feedback.pendingSeveral': string;
504
500
  'feedback.undo': string;
505
501
  'feedback.undone': string;
506
502
  'feedback.show': string;
@@ -553,6 +549,22 @@ export declare const zh: {
553
549
  'config.embeddingStatusUnavailable': string;
554
550
  'config.embeddingStatusUnavailableWithProtocol': string;
555
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;
556
568
  'config.providerGlobalLocation': string;
557
569
  'config.providerGlobalLocationHint': string;
558
570
  'config.providerGlobalLocationWorkspaceHint': string;
@@ -581,16 +593,23 @@ export declare const zh: {
581
593
  'config.taskAgentTitle': string;
582
594
  'config.taskAgentInherit': string;
583
595
  'config.taskAgentInheritHint': string;
596
+ 'config.taskAgentConversation': string;
597
+ 'config.taskAgentConversationHint': string;
584
598
  'config.taskAgentFixed': string;
585
599
  'config.taskAgentFixedHint': string;
586
600
  'config.taskAgentProvider': string;
587
601
  'config.taskAgentModel': string;
588
602
  'config.taskAgentImageInput': string;
589
603
  'config.taskAgentEffective': string;
604
+ 'config.taskAgentSource.fixed': string;
605
+ 'config.taskAgentSource.session': string;
606
+ 'config.taskAgentSource.dsh-default': string;
607
+ 'config.taskAgentSource.active-agent': string;
590
608
  'config.taskAgentLoading': string;
591
609
  'config.taskAgentUnavailable': string;
592
610
  'config.taskAgentLoadFailed': string;
593
611
  'config.taskAgentPartial': string;
612
+ 'config.taskAgentRetry': string;
594
613
  'config.customAbsolute': string;
595
614
  'config.saveFailed': string;
596
615
  'config.readOnly': string;
@@ -40,12 +40,14 @@ export type WriteOutcome = 'written' | 'updated' | 'pending' | 'skipped' | 'part
40
40
  export declare function writeOutcome(action: string): WriteOutcome;
41
41
  /**
42
42
  * What a task Agent did with a candidate: the outcome, the Agent's own
43
- * summary, and, when something was written, a way to see it.
43
+ * summary, and, when something was written, a way to see it. A memory saved
44
+ * without a vector says so on a line of its own (#388).
44
45
  */
45
46
  export declare function WriteReceipt(props: {
46
47
  action?: string | undefined;
47
48
  summary?: string | undefined;
48
49
  error?: string | undefined;
50
+ unembedded?: boolean | undefined;
49
51
  t?: MnemonTranslate | undefined;
50
52
  onView?: (() => void) | undefined;
51
53
  viewLabel?: string | undefined;
@@ -1,3 +1,2 @@
1
1
  export { IconCloseOutlineRegular, IconRefreshOutlineRegular, IconSettingsOutlineRegular } from '@deepseek-ai/dsh-client-ui-primitives';
2
2
  export declare const IconChevronLeftOutline14: (props: import("@deepseek-ai/dsh-client-ui-primitives").IconProps) => import("react").JSX.Element;
3
- export declare const IconDataOutline16: (props: import("@deepseek-ai/dsh-client-ui-primitives").IconProps) => import("react").JSX.Element;
@@ -1,15 +1,16 @@
1
1
  /** Starter Entry ids remain reserved when DSH nests them under an include. */
2
2
  export declare function isDefaultSourceInstance(instanceKey: string, sourceTypeId: string): boolean;
3
+ /**
4
+ * The Source of one type a named tool works on: the Starter instance, the Entry
5
+ * `mnemon-source-<type>` also when nested under an include, or the only instance there
6
+ * is. Among several others there is none, and each keeps its exact offers.
7
+ */
8
+ export declare function namedToolInstance<T extends {
9
+ sourceInstanceKey: string;
10
+ }>(instances: readonly T[], sourceTypeId: string): T | undefined;
3
11
  export type MemoryParticipationMode = 'off' | 'manual' | 'automatic';
4
12
  export type MemoryParticipationChannel = 'recall' | 'write' | 'projection' | 'maintenance';
5
13
  export type MemoryLayerParticipation = Record<MemoryParticipationChannel, MemoryParticipationMode>;
6
- export interface MemoryTopologyDefinition {
7
- id: string;
8
- strategyId: string;
9
- layers: Array<ResolvedMemoryLayerConfig & {
10
- id: string;
11
- }>;
12
- }
13
14
  export interface MemoryCompositionStatus {
14
15
  /** Whether a composition serves new turns. A rejected change can leave the previous one serving. */
15
16
  serving: boolean;
@@ -242,7 +243,7 @@ export interface Config {
242
243
  /** Optional DSH-owned overrides injected into every Mnemon CLI process. */
243
244
  embedding?: MnemonEmbeddingConfig;
244
245
  memoryTopology?: MemoryTopologyConfig;
245
- /** Profile-owned plugin choices on DSH 0.1.7 and newer. */
246
+ /** Profile-owned plugin choices. */
246
247
  memoryView?: import('./view-protocol.ts').MemoryViewPreferences;
247
248
  /** Successful import of this profile's removed settings namespaces. */
248
249
  legacySettingsImported?: boolean;
@@ -279,11 +280,20 @@ export interface TaskAgentModelConfig {
279
280
  mode?: 'inherit' | 'fixed';
280
281
  provider?: string;
281
282
  model?: string;
283
+ /**
284
+ * With `inherit`, run on the model the conversation that asked for the work
285
+ * last used, while that conversation is open. Off by default; a switch
286
+ * rather than a third mode, so a release that does not know it keeps
287
+ * reading `inherit` as before.
288
+ */
289
+ followConversation?: boolean;
282
290
  }
283
291
  export interface ResolvedTaskAgentModelConfig {
284
292
  mode: 'inherit' | 'fixed';
285
293
  provider?: string;
286
294
  model?: string;
295
+ /** Present, and true, only on an inherited route that follows its conversation. */
296
+ followConversation?: true;
287
297
  }
288
298
  export interface TaskAgentModelCatalogModel {
289
299
  id: string;
@@ -306,12 +316,31 @@ export interface TaskAgentModelCatalog {
306
316
  effective?: {
307
317
  provider: string;
308
318
  model: string;
309
- source: 'fixed' | 'dsh-default' | 'active-agent';
319
+ source: 'fixed' | 'session' | 'dsh-default' | 'active-agent';
310
320
  };
311
321
  defaultSelection?: {
312
322
  provider: string;
313
323
  model: string;
314
324
  };
325
+ /**
326
+ * The route the asking conversation's own delegated work takes while it is
327
+ * open: the model of its last request, or the one it was created with before
328
+ * its first. An inherited setting that follows its conversation takes it too;
329
+ * it is reported whether or not that switch is on.
330
+ */
331
+ session?: {
332
+ provider: string;
333
+ model: string;
334
+ };
335
+ /**
336
+ * The route an inherited setting takes without following a conversation: the
337
+ * DSH new-session default, else an open Agent's creation route.
338
+ */
339
+ inherited?: {
340
+ provider: string;
341
+ model: string;
342
+ source: 'dsh-default' | 'active-agent';
343
+ };
315
344
  groups: TaskAgentModelCatalogGroup[];
316
345
  failures: TaskAgentModelCatalogFailure[];
317
346
  }
@@ -463,6 +492,29 @@ export interface SubagentCounters {
463
492
  lastOperation?: 'recall' | 'write' | 'review' | 'placement' | 'migration' | 'compaction' | 'document-archive' | 'metadata-maintenance' | 'reconcile';
464
493
  lastAt?: string;
465
494
  }
495
+ /** What a delegated memory write did, as the write task Agent's receipts show it. */
496
+ export interface DelegatedWriteResult {
497
+ delegated: true;
498
+ runId: string;
499
+ provider: string;
500
+ summary: string;
501
+ action: string;
502
+ /** Where the memory went: the spaces its receipts name, else what the writer reported. */
503
+ memoryBodyIds: string[];
504
+ /** Spaces that were inactive and that this write switched on. */
505
+ activatedMemoryBodyIds?: string[];
506
+ documentIds?: string[];
507
+ /** Memories saved without a vector, as the Provider's receipt says (#388). */
508
+ unembedded?: Array<{
509
+ memoryBodyId?: string;
510
+ id?: string;
511
+ }>;
512
+ hint?: string;
513
+ }
514
+ /** The `supervise` RPC result: a delegated write for the conversation that asked for it. */
515
+ export interface SupervisedWritebackResult extends DelegatedWriteResult {
516
+ sessionId: string;
517
+ }
466
518
  export type LifecyclePhase = 'idle' | 'prime' | 'recall' | 'writeback' | 'review' | 'supervised' | 'error';
467
519
  export interface LifecycleCounters {
468
520
  primes: number;
@@ -798,8 +850,6 @@ export interface MnemonSyncConfigView {
798
850
  * when neither is set: the order here is the order of resolution.
799
851
  */
800
852
  export type MnemonSyncCredentialSource = 'environment' | 'token' | 'github' | 'none';
801
- /** How far the browser step of a GitHub sign-in has come. */
802
- export type MnemonSyncGitHubFlowStatus = 'pending' | 'expired' | 'denied' | 'error';
803
853
  export interface MnemonSyncGitHubFlow {
804
854
  userCode: string;
805
855
  verificationUri: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-mnemon",
3
- "version": "0.5.29",
3
+ "version": "0.5.31",
4
4
  "description": "Composable, view-based memory for DeepSeek Harness. Pluggable sources and strategies, with layered memory out of the box.",
5
5
  "keywords": [
6
6
  "deepseek-harness",
@@ -48,7 +48,8 @@
48
48
  "tag": "latest"
49
49
  },
50
50
  "engines": {
51
- "node": ">=20"
51
+ "node": ">=20",
52
+ "dsh": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.1 <0.3.0-0"
52
53
  },
53
54
  "type": "module",
54
55
  "main": "lib/index.js",
@@ -135,6 +136,7 @@
135
136
  "typecheck": "tsc -p tsconfig.json --noEmit",
136
137
  "test": "vitest run",
137
138
  "test:root": "vitest run --dir tests",
139
+ "test:installed-dsh": "vitest run --config scripts/installed-dsh.config.ts",
138
140
  "bench:algorithms": "vitest run --config scripts/benchmark-algorithms.config.ts",
139
141
  "verify:build": "node scripts/verify-deterministic-build.mjs",
140
142
  "verify:headless": "node scripts/verify-headless-profile.mjs",
@@ -163,10 +165,10 @@
163
165
  "dsh-mnemon-provider-retaindb": "0.5.6",
164
166
  "dsh-mnemon-provider-supermemory": "0.5.5",
165
167
  "dsh-mnemon-source-documents": "0.5.10",
166
- "dsh-mnemon-source-memory-spaces": "0.5.19",
168
+ "dsh-mnemon-source-memory-spaces": "0.5.21",
167
169
  "dsh-mnemon-source-runtime": "0.5.14",
168
170
  "dsh-mnemon-strategy-auto-capture": "0.5.5",
169
- "dsh-mnemon-strategy-default-three-tier": "0.5.8",
171
+ "dsh-mnemon-strategy-default-three-tier": "0.5.9",
170
172
  "dsh-mnemon-strategy-general": "0.5.1",
171
173
  "dsh-mnemon-strategy-light-context": "0.5.5",
172
174
  "dsh-mnemon-strategy-scoped": "0.5.5",
@@ -176,50 +178,48 @@
176
178
  },
177
179
  "peerDependencies": {
178
180
  "@deepseek-ai/cordis": "^4.0.4",
179
- "@deepseek-ai/dsh-app-boot": "^0.1.7-rc.2 || ^0.2.0-rc.1",
180
- "@deepseek-ai/dsh-client-ui-primitives": "^0.1.7-rc.2 || ^0.2.0-rc.1",
181
- "@deepseek-ai/dsh-typert-protocol": "^0.1.7-rc.2 || ^0.2.0-rc.1",
181
+ "@deepseek-ai/dsh-app-boot": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.1 <0.3.0-0",
182
+ "@deepseek-ai/dsh-typert-protocol": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.1 <0.3.0-0",
182
183
  "react": "^18.2.0",
183
184
  "react-dom": "^18.2.0"
184
185
  },
185
186
  "devDependencies": {
186
187
  "@arethetypeswrong/cli": "^0.18.5",
187
188
  "@changesets/cli": "^2.31.1",
188
- "@deepseek-ai/cordis": "^4.0.4",
189
- "@deepseek-ai/dsh": "0.1.7-rc.2",
190
- "@deepseek-ai/dsh-agent": "0.1.7-rc.2",
191
- "@deepseek-ai/dsh-agent-loop": "0.1.7-rc.2",
192
- "@deepseek-ai/dsh-api-gateway": "0.1.7-rc.2",
193
- "@deepseek-ai/dsh-app-boot": "0.1.7-rc.2",
194
- "@deepseek-ai/dsh-client-connection": "0.1.7-rc.2",
195
- "@deepseek-ai/dsh-client-locale": "0.1.7-rc.2",
196
- "@deepseek-ai/dsh-client-store": "0.1.7-rc.2",
197
- "@deepseek-ai/dsh-client-ui-chat": "0.1.7-rc.2",
198
- "@deepseek-ai/dsh-client-ui-conversation": "0.1.7-rc.2",
199
- "@deepseek-ai/dsh-client-ui-layout": "0.1.7-rc.2",
200
- "@deepseek-ai/dsh-client-ui-plugin-manager": "0.1.7-rc.2",
201
- "@deepseek-ai/dsh-client-ui-primitives": "0.1.7-rc.2",
202
- "@deepseek-ai/dsh-client-ui-renderer": "0.1.7-rc.2",
203
- "@deepseek-ai/dsh-client-ui-session": "0.1.7-rc.2",
204
- "@deepseek-ai/dsh-client-ui-settings": "0.1.7-rc.2",
205
- "@deepseek-ai/dsh-client-ui-sidebar": "0.1.7-rc.2",
206
- "@deepseek-ai/dsh-client-ui-slots": "0.1.7-rc.2",
207
- "@deepseek-ai/dsh-client-ui-tool": "0.1.7-rc.2",
208
- "@deepseek-ai/dsh-invariants": "0.1.7-rc.2",
209
- "@deepseek-ai/dsh-llm": "0.1.7-rc.2",
210
- "@deepseek-ai/dsh-session": "0.1.7-rc.2",
211
- "@deepseek-ai/dsh-session-format-v0-to-v1": "0.1.7-rc.2",
212
- "@deepseek-ai/dsh-session-persistence-jsonl": "0.1.7-rc.2",
213
- "@deepseek-ai/dsh-session-projection": "0.1.7-rc.2",
214
- "@deepseek-ai/dsh-session-query": "0.1.7-rc.2",
215
- "@deepseek-ai/dsh-subagent": "0.1.7-rc.2",
216
- "@deepseek-ai/dsh-subagent-spawn-in-process": "0.1.7-rc.2",
217
- "@deepseek-ai/dsh-system-prompt": "0.1.7-rc.2",
218
- "@deepseek-ai/dsh-tools": "0.1.7-rc.2",
219
- "@deepseek-ai/dsh-typert-protocol": "0.1.7-rc.2",
220
- "@deepseek-ai/dsh-typert-registry": "0.1.7-rc.2",
221
- "@deepseek-ai/dsh-util-code-language": "0.1.7-rc.2",
222
- "@deepseek-ai/dsh-util-workspace-path": "0.1.7-rc.2",
189
+ "@deepseek-ai/cordis": "^4.0.5",
190
+ "@deepseek-ai/dsh": "0.2.1-rc.1",
191
+ "@deepseek-ai/dsh-agent": "0.2.1-rc.1",
192
+ "@deepseek-ai/dsh-agent-loop": "0.2.1-rc.1",
193
+ "@deepseek-ai/dsh-api-gateway": "0.2.1-rc.1",
194
+ "@deepseek-ai/dsh-app-boot": "0.2.1-rc.1",
195
+ "@deepseek-ai/dsh-client-connection": "0.2.1-rc.1",
196
+ "@deepseek-ai/dsh-client-locale": "0.2.1-rc.1",
197
+ "@deepseek-ai/dsh-client-store": "0.2.1-rc.1",
198
+ "@deepseek-ai/dsh-client-ui-chat": "0.2.1-rc.1",
199
+ "@deepseek-ai/dsh-client-ui-conversation": "0.2.1-rc.1",
200
+ "@deepseek-ai/dsh-client-ui-layout": "0.2.1-rc.1",
201
+ "@deepseek-ai/dsh-client-ui-plugin-manager": "0.2.1-rc.1",
202
+ "@deepseek-ai/dsh-client-ui-primitives": "0.2.1-rc.1",
203
+ "@deepseek-ai/dsh-client-ui-renderer": "0.2.1-rc.1",
204
+ "@deepseek-ai/dsh-client-ui-session": "0.2.1-rc.1",
205
+ "@deepseek-ai/dsh-client-ui-settings": "0.2.1-rc.1",
206
+ "@deepseek-ai/dsh-client-ui-sidebar": "0.2.1-rc.1",
207
+ "@deepseek-ai/dsh-client-ui-slots": "0.2.1-rc.1",
208
+ "@deepseek-ai/dsh-client-ui-tool": "0.2.1-rc.1",
209
+ "@deepseek-ai/dsh-llm": "0.2.1-rc.1",
210
+ "@deepseek-ai/dsh-session": "0.2.1-rc.1",
211
+ "@deepseek-ai/dsh-session-format-v0-to-v1": "0.2.1-rc.1",
212
+ "@deepseek-ai/dsh-session-persistence-jsonl": "0.2.1-rc.1",
213
+ "@deepseek-ai/dsh-session-projection": "0.2.1-rc.1",
214
+ "@deepseek-ai/dsh-session-query": "0.2.1-rc.1",
215
+ "@deepseek-ai/dsh-subagent": "0.2.1-rc.1",
216
+ "@deepseek-ai/dsh-subagent-spawn-in-process": "0.2.1-rc.1",
217
+ "@deepseek-ai/dsh-system-prompt": "0.2.1-rc.1",
218
+ "@deepseek-ai/dsh-tools": "0.2.1-rc.1",
219
+ "@deepseek-ai/dsh-typert-protocol": "0.2.1-rc.1",
220
+ "@deepseek-ai/dsh-typert-registry": "0.2.1-rc.1",
221
+ "@deepseek-ai/dsh-util-code-language": "0.2.1-rc.1",
222
+ "@deepseek-ai/dsh-util-workspace-path": "0.2.1-rc.1",
223
223
  "@shikijs/langs": "^4.3.1",
224
224
  "@testing-library/react": "^16.3.0",
225
225
  "@types/node": "^22.0.0",