dsh-mnemon 0.5.33 → 0.5.35

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.
@@ -6,19 +6,20 @@ var dependencies = {
6
6
  "@deepseek-ai/cosmokit": "^1.8.5",
7
7
  "@deepseek-ai/schemastery": "^3.18.4",
8
8
  "dsh-mnemon-provider-byterover": "0.5.5",
9
- "dsh-mnemon-provider-hindsight": "0.5.6",
10
- "dsh-mnemon-provider-holographic": "0.5.6",
9
+ "dsh-mnemon-provider-hindsight": "0.5.7",
10
+ "dsh-mnemon-provider-holographic": "0.5.7",
11
11
  "dsh-mnemon-provider-honcho": "0.5.5",
12
12
  "dsh-mnemon-provider-mem0": "0.5.5",
13
- "dsh-mnemon-provider-mnemon-native": "0.5.9",
14
- "dsh-mnemon-provider-openviking": "0.5.8",
13
+ "dsh-mnemon-provider-mnemon-native": "0.5.10",
14
+ "dsh-mnemon-provider-openviking": "0.5.9",
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.11",
18
- "dsh-mnemon-source-memory-spaces": "0.5.22",
19
- "dsh-mnemon-source-runtime": "0.5.15",
18
+ "dsh-mnemon-source-memory-spaces": "0.5.23",
19
+ "dsh-mnemon-source-runtime": "0.5.16",
20
+ "dsh-mnemon-source-skills": "0.5.2",
20
21
  "dsh-mnemon-strategy-auto-capture": "0.5.5",
21
- "dsh-mnemon-strategy-default-three-tier": "0.5.10",
22
+ "dsh-mnemon-strategy-default-three-tier": "0.5.11",
22
23
  "dsh-mnemon-strategy-general": "0.5.1",
23
24
  "dsh-mnemon-strategy-light-context": "0.5.6",
24
25
  "dsh-mnemon-strategy-scoped": "0.5.5",
package/lib/starter.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as prepareStarterResolution } from "./starter-resolution-DoFp9FLr.js";
1
+ import { t as prepareStarterResolution } from "./starter-resolution-BAHgCK5h.js";
2
2
  //#region src/starter.ts
3
3
  const name = "dsh-mnemon-starter";
4
4
  const provide = ["mnemonStarterReady"];
@@ -1,6 +1,7 @@
1
1
  import { n as deepFreeze, t as canonicalMemoryJson } from "./definitions-DU7MLBhu.js";
2
- import { resolve } from "node:path";
2
+ import { dirname, isAbsolute, join, resolve } from "node:path";
3
3
  import { createHash, randomUUID } from "node:crypto";
4
+ import { realpathSync, statSync } from "node:fs";
4
5
  //#region src/sdk/storage-lock.ts
5
6
  const queues = /* @__PURE__ */ new Map();
6
7
  /**
@@ -19,6 +20,37 @@ function withMemoryStorageLock(directory, operation) {
19
20
  return result;
20
21
  }
21
22
  //#endregion
23
+ //#region src/sdk/workspace-storage.ts
24
+ /** Local workspace identity, including aliases with not-yet-created descendants. */
25
+ function canonicalWorkspacePath(workspacePath) {
26
+ if (!isAbsolute(workspacePath) || workspacePath.includes("\0")) throw new Error("Workspace path must be absolute");
27
+ let parent = resolve(workspacePath);
28
+ const suffix = [];
29
+ for (;;) {
30
+ let real;
31
+ try {
32
+ real = realpathSync.native(parent);
33
+ } catch (error) {
34
+ if (error.code !== "ENOENT") throw error;
35
+ const next = dirname(parent);
36
+ if (next === parent) throw error;
37
+ suffix.unshift(parent.slice(next.length).replace(/^[/\\]+/u, ""));
38
+ parent = next;
39
+ continue;
40
+ }
41
+ if (suffix.length > 0 && !statSync(real).isDirectory()) throw Object.assign(/* @__PURE__ */ new Error(`ENOTDIR: not a directory, realpath '${parent}'`), {
42
+ code: "ENOTDIR",
43
+ path: parent,
44
+ syscall: "realpath"
45
+ });
46
+ return join(real, ...suffix);
47
+ }
48
+ }
49
+ /** A rename or move selects a new directory; resolving identity never writes. */
50
+ function workspaceStorageId(workspacePath) {
51
+ return createHash("sha256").update(canonicalWorkspacePath(workspacePath)).digest("hex");
52
+ }
53
+ //#endregion
22
54
  //#region src/sdk/input.ts
23
55
  /** Stable digest of validated configuration; raw values never enter diagnostics. */
24
56
  function memoryConfigurationDigest(value) {
@@ -156,4 +188,4 @@ function memoryStrategyConfigurationValues(definition, input) {
156
188
  return config;
157
189
  }
158
190
  //#endregion
159
- export { memoryConfigurationDigest as a, record as c, truncate as d, withMemoryStorageLock as f, integer as i, stringArray as l, memoryStrategyConfigurationValues as n, migrationLineage as o, readMemoryStrategyConfiguration as r, receipt as s, defineMemoryStrategyConfiguration as t, text as u };
191
+ export { memoryConfigurationDigest as a, record as c, truncate as d, canonicalWorkspacePath as f, integer as i, stringArray as l, withMemoryStorageLock as m, memoryStrategyConfigurationValues as n, migrationLineage as o, workspaceStorageId as p, readMemoryStrategyConfiguration as r, receipt as s, defineMemoryStrategyConfiguration as t, text as u };
@@ -382,6 +382,7 @@ export declare const zh: {
382
382
  'board.composing': string;
383
383
  'board.lastSource': string;
384
384
  'board.enabledCount': string;
385
+ 'board.experimental': string;
385
386
  'board.search': string;
386
387
  'board.searchEmpty': string;
387
388
  'details.open': string;
@@ -614,6 +615,7 @@ export declare const zh: {
614
615
  'config.syncNow': string;
615
616
  'config.syncNowRunning': string;
616
617
  'config.syncDone': string;
618
+ 'config.runtimeMergeArchived': string;
617
619
  'config.syncDoneMerged': string;
618
620
  'config.syncUpToDate': string;
619
621
  'config.syncUpToDateMerged': string;
@@ -753,6 +755,34 @@ export declare const zh: {
753
755
  'review.historyHint': string;
754
756
  'review.historyEmpty': string;
755
757
  'review.rejectedHint': string;
758
+ 'skills.label': string;
759
+ 'skills.evolution': string;
760
+ 'skills.evolutionHint': string;
761
+ 'skills.autoBacktest': string;
762
+ 'skills.autoBacktestHint': string;
763
+ 'skills.parameters': string;
764
+ 'skills.reviewThreshold': string;
765
+ 'skills.idleSeconds': string;
766
+ 'skills.cooldownSeconds': string;
767
+ 'skills.minConfidence': string;
768
+ 'skills.expiryDays': string;
769
+ 'skills.maxPendingPerSession': string;
770
+ 'skills.casesPerRun': string;
771
+ 'skills.invalid': string;
772
+ 'skills.hints': string;
773
+ 'skills.hintsHint': string;
774
+ 'skills.sidebar': string;
775
+ 'skills.sidebarHint': string;
776
+ 'skills.statusCount': string;
777
+ 'skills.statusOn': string;
778
+ 'skills.statusIdle': string;
779
+ 'skills.statusOff': string;
780
+ 'skillTail.label': string;
781
+ 'skillTail.reviewing': string;
782
+ 'skillTail.suggested': string;
783
+ 'skillTail.failed': string;
784
+ 'skillTail.openSkill': string;
785
+ 'skillTail.openSuggestions': string;
756
786
  "term.space": string;
757
787
  "term.spaces": string;
758
788
  "category.decision": string;
@@ -46,10 +46,26 @@ export interface MemorySourcePageProps {
46
46
  * `topInset` below the top when the Source pins and measures its own header.
47
47
  */
48
48
  onRevealElement?(element: HTMLElement, topInset?: number): void;
49
+ /**
50
+ * Leave the Memory System for the conversation it was opened from, as the
51
+ * header's back button does. Absent where the page is already beside the
52
+ * conversation, such as the conversation tab.
53
+ */
54
+ onReturnToConversation?(): void;
49
55
  /** Optional, Source-bound product preferences; no raw settings service or secrets. */
50
56
  preferences?: {
51
57
  value: MemoryJsonValue;
52
58
  writable: boolean;
53
59
  replace(value: MemoryJsonValue): Promise<void>;
54
60
  };
61
+ /**
62
+ * Open this Source component's own settings, on its page under Plugins.
63
+ * Present while that page offers navigation.
64
+ */
65
+ onOpenSettings?(): void;
66
+ /**
67
+ * The page is the whole view, as in a sidebar entry of its own: the view's
68
+ * header already carries its title.
69
+ */
70
+ standalone?: boolean;
55
71
  }
@@ -12,4 +12,5 @@ export declare const DEFAULT_RECALL_LOW_SCORE_THRESHOLD: number;
12
12
  export declare const DEFAULT_RECALL_HIGH_SCORE_THRESHOLD: number;
13
13
  export declare const DEFAULT_RECALL_CANDIDATE_MULTIPLIER: number;
14
14
  export declare const DEFAULT_RECALL_MAX_MEDIUM_RESULTS: number;
15
+ export declare const DEFAULT_RECALL_MAX_RANKED_RESULTS: number;
15
16
  export declare const DEFAULT_RECALL_MAX_UNKNOWN_RESULTS: number;
@@ -1,13 +1,16 @@
1
1
  import z from '@deepseek-ai/schemastery';
2
2
  export { resolveEmbedding, resolvePersistenceStrategy, resolveRecallQuality } from 'dsh-mnemon-source-memory-spaces';
3
- import type { Config as SharedConfig, CustomPackConfig as SharedCustomPackConfig, InteractionConfig as SharedInteractionConfig, ResolvedConfig as SharedResolvedConfig, ResolvedInteractionConfig as SharedResolvedInteractionConfig } from "./protocol.ts";
4
- export { DEFAULT_IDLE_REVIEW_MS, DEFAULT_EMBEDDING_ENDPOINT, DEFAULT_EMBEDDING_MODEL, DEFAULT_EMBEDDING_PROTOCOL, DEFAULT_RECALL_CANDIDATE_MULTIPLIER, DEFAULT_RECALL_HIGH_SCORE_THRESHOLD, DEFAULT_RECALL_LIMIT, DEFAULT_RECALL_LOW_SCORE_THRESHOLD, DEFAULT_RECALL_MAX_MEDIUM_RESULTS, DEFAULT_RECALL_MAX_UNKNOWN_RESULTS, DEFAULT_RECALL_QUALITY_POLICY, DEFAULT_RUNTIME_MAINTENANCE_MAX_TOKENS, DEFAULT_RUNTIME_MEMORY_LIMIT_BYTES, DEFAULT_RUNTIME_USER_LIMIT_BYTES, DEFAULT_TIMEOUT_MS, MAX_RUNTIME_MAINTENANCE_MAX_TOKENS, MAX_RUNTIME_MEMORY_LIMIT_BYTES, } from './config-values.ts';
3
+ import type { Config as SharedConfig, CustomPackConfig as SharedCustomPackConfig, InteractionConfig as SharedInteractionConfig, ResolvedConfig as SharedResolvedConfig, ResolvedInteractionConfig as SharedResolvedInteractionConfig, ResolvedSkillsConfig } from "./protocol.ts";
4
+ export { DEFAULT_IDLE_REVIEW_MS, DEFAULT_EMBEDDING_ENDPOINT, DEFAULT_EMBEDDING_MODEL, DEFAULT_EMBEDDING_PROTOCOL, DEFAULT_RECALL_CANDIDATE_MULTIPLIER, DEFAULT_RECALL_HIGH_SCORE_THRESHOLD, DEFAULT_RECALL_LIMIT, DEFAULT_RECALL_LOW_SCORE_THRESHOLD, DEFAULT_RECALL_MAX_MEDIUM_RESULTS, DEFAULT_RECALL_MAX_RANKED_RESULTS, DEFAULT_RECALL_MAX_UNKNOWN_RESULTS, DEFAULT_RECALL_QUALITY_POLICY, DEFAULT_RUNTIME_MAINTENANCE_MAX_TOKENS, DEFAULT_RUNTIME_MEMORY_LIMIT_BYTES, DEFAULT_RUNTIME_USER_LIMIT_BYTES, DEFAULT_TIMEOUT_MS, MAX_RUNTIME_MAINTENANCE_MAX_TOKENS, MAX_RUNTIME_MEMORY_LIMIT_BYTES, } from './config-values.ts';
5
5
  export type Config = SharedConfig;
6
6
  export type CustomPackConfig = SharedCustomPackConfig;
7
7
  export type InteractionConfig = SharedInteractionConfig;
8
8
  export type ResolvedConfig = SharedResolvedConfig;
9
9
  export type ResolvedInteractionConfig = SharedResolvedInteractionConfig;
10
10
  export declare const InteractionConfig: z<InteractionConfig>;
11
+ /** 技能管理's settings, with the ranges its page accepts. */
12
+ export declare const SkillsConfig: z<Partial<ResolvedSkillsConfig>, ResolvedSkillsConfig>;
13
+ export declare function resolveSkillsConfig(config?: Partial<ResolvedSkillsConfig> | undefined): ResolvedSkillsConfig;
11
14
  export declare const Config: z<Config>;
12
15
  export declare function resolveInteractionConfig(config?: InteractionConfig): ResolvedInteractionConfig;
13
16
  export declare function resolveConfig(config?: Config): ResolvedConfig;
@@ -68,6 +68,8 @@ export declare const MNEMON_REMOTE_VIEW_WRITE_ENDPOINT = "dshMnemon/viewWrite";
68
68
  export declare const MNEMON_REMOTE_REVIEW_ENDPOINT = "dshMnemon/review";
69
69
  export declare const MNEMON_SETTINGS_NAMESPACE = "mnemon";
70
70
  export declare const MNEMON_UI_SETTINGS_NAMESPACE = "mnemon-ui";
71
+ /** 技能管理's settings: one live group of the dsh-mnemon entry, drawn on that component's page. */
72
+ export declare const MNEMON_SKILLS_SETTINGS_NAMESPACE = "mnemon-skills";
71
73
  export * from './view-protocol.ts';
72
74
  export * from './memory-tools.ts';
73
75
  export * from './sync-rules.ts';
@@ -77,7 +79,7 @@ export * from './sync-rules.ts';
77
79
  * exactly these names.
78
80
  */
79
81
  export declare const MNEMON_RPC_ENDPOINTS: {
80
- readonly "/dsh-mnemon-read": readonly ["status", "status-summary", "memory-system", "versions", "task-agent-models", "runtime-memory", "documents", "document", "document-search", "graph", "bodies", "body-directory", "body-reconnect", "provider-services", "embedding-status", "list", "entities", "search", "agent-search", "related", "turn-activities", "turn-activity", "assistant-message", "source-management-catalog", "source-management-read", "source-assistance"];
82
+ readonly "/dsh-mnemon-read": readonly ["status", "status-summary", "memory-system", "versions", "task-agent-models", "runtime-memory", "documents", "document", "document-search", "graph", "bodies", "body-directory", "body-reconnect", "provider-services", "embedding-status", "list", "entities", "search", "agent-search", "related", "turn-activities", "turn-activity", "skill-activity", "assistant-message", "source-management-catalog", "source-management-read", "source-assistance"];
81
83
  readonly "/dsh-mnemon-activation": readonly ["body", "source-assistance"];
82
84
  readonly "/dsh-mnemon-write": readonly ["runtime-memory", "document", "supervise", "remember", "link", "forget", "body-create", "body-update", "body-delete", "body-merge", "body-metadata-maintain", "provider-service-update", "embedding-fill", "source-management-mutate", "source-assistance", "version-update"];
83
85
  readonly "/dsh-mnemon-pack": readonly ["target", "export", "inspect", "import"];
@@ -291,6 +293,8 @@ export interface Config {
291
293
  turnBar?: boolean;
292
294
  saveAction?: boolean;
293
295
  };
296
+ /** 技能管理: skill evolution and where the page shows. */
297
+ skills?: SkillsConfig;
294
298
  /** Provider policy used when an Agent must create a new Memory Space while distilling memory. */
295
299
  persistenceStrategy?: MemoryPersistenceStrategy;
296
300
  /** Model route used by clean, session-independent maintenance Agents. */
@@ -409,6 +413,69 @@ export interface ResolvedInteractionConfig {
409
413
  turnBar: boolean;
410
414
  saveAction: boolean;
411
415
  }
416
+ /** 技能管理's settings, as stored; every key is optional and falls back to its default. */
417
+ export type SkillsConfig = Partial<ResolvedSkillsConfig>;
418
+ export interface ResolvedSkillsConfig {
419
+ /** Review finished conversations in the background and suggest new or better skills. */
420
+ evolution: boolean;
421
+ /** Backtest a draft against the current version as soon as it is written. */
422
+ autoBacktest: boolean;
423
+ /** The one-line skills bar under a finished turn. */
424
+ hints: boolean;
425
+ /** 技能管理 as a sidebar entry of its own instead of a Memory System page. */
426
+ sidebar: boolean;
427
+ /** The post-turn score a conversation's window needs before it is reviewed. */
428
+ reviewThreshold: number;
429
+ /** How long a conversation sits idle before its review runs. */
430
+ idleSeconds: number;
431
+ /** The least time between two reviews of one conversation. */
432
+ cooldownSeconds: number;
433
+ /** Suggestions below this confidence are dropped. */
434
+ minConfidence: number;
435
+ /** A pending suggestion expires after this many days. */
436
+ expiryDays: number;
437
+ /** At most this many pending suggestions from one conversation. */
438
+ maxPendingPerSession: number;
439
+ /** At most this many cases in one backtest. */
440
+ casesPerRun: number;
441
+ }
442
+ export declare const DEFAULT_SKILLS_CONFIG: Readonly<ResolvedSkillsConfig>;
443
+ /** One skill a turn used: the model loaded it, or the user asked for it with `/name`. */
444
+ export interface TurnSkillUse {
445
+ name: string;
446
+ by: 'model' | 'user';
447
+ }
448
+ /** A skill review of a conversation, placed under the turn its window ended with. */
449
+ export interface TurnSkillReview {
450
+ turn: number;
451
+ /** `scheduled` waits for the conversation to sit idle; the others say how it went. */
452
+ state: 'scheduled' | 'reviewing' | 'suggested' | 'nothing' | 'error';
453
+ /** The suggestions it left that still exist, newest first. */
454
+ suggestions: Array<{
455
+ id: string;
456
+ skillName: string;
457
+ action: 'create' | 'update';
458
+ status: string;
459
+ }>;
460
+ error?: string;
461
+ }
462
+ /** What one conversation did with skills: each turn's uses and each review, for the turn bars. */
463
+ export interface SkillActivitySnapshot {
464
+ /** Whether a skills bar has anything to read: the Skills Source runs for this conversation. */
465
+ available: boolean;
466
+ turns: Array<{
467
+ turn: number;
468
+ skills: TurnSkillUse[];
469
+ }>;
470
+ reviews: TurnSkillReview[];
471
+ }
472
+ /** What the Status page says about 技能管理. */
473
+ export interface SkillsStatusSummary {
474
+ evolution: boolean;
475
+ skills: number;
476
+ /** Suggestions and drafts waiting for the user. */
477
+ waiting: number;
478
+ }
412
479
  /**
413
480
  * Provider instance identity inside one Memory Spaces Source. Built-in ids
414
481
  * remain stable; third-party child modules may contribute additional ids.
@@ -512,9 +579,11 @@ export interface SubagentCounters {
512
579
  documentArchives: number;
513
580
  metadataMaintenances: number;
514
581
  reconciliations: number;
582
+ /** Skill reviews, drafts, backtest runs and case derivations. */
583
+ skills?: number;
515
584
  failures: number;
516
585
  lastRunId?: string;
517
- lastOperation?: 'recall' | 'write' | 'review' | 'placement' | 'migration' | 'compaction' | 'document-archive' | 'metadata-maintenance' | 'reconcile';
586
+ lastOperation?: 'recall' | 'write' | 'review' | 'placement' | 'migration' | 'compaction' | 'document-archive' | 'metadata-maintenance' | 'reconcile' | 'skill';
518
587
  lastAt?: string;
519
588
  }
520
589
  /** What a delegated memory write did, as the write task Agent's receipts show it. */
@@ -652,6 +721,8 @@ export interface StatusView {
652
721
  memorySystem?: MemoryCompositionStatus;
653
722
  lifecycle?: LifecycleSnapshot;
654
723
  documents?: DocumentSnapshot;
724
+ /** 技能管理, when its Source runs for this scope. */
725
+ skills?: SkillsStatusSummary;
655
726
  storage?: StorageScopeCatalog;
656
727
  workspaceContext?: {
657
728
  mode: StorageScopeKind;
@@ -725,10 +796,12 @@ export interface MnemonPackPreview {
725
796
  * leaves an entry out because a tombstone still hides it has to say how many.
726
797
  */
727
798
  export interface MnemonRuntimeMergeReport {
728
- /** Incoming entries this merge wrote into the data directory. */
799
+ /** Incoming entries this merge admitted to hot runtime memory. */
729
800
  added: number;
730
801
  /** Incoming entries a tombstone still hides, so the merge left them out. */
731
802
  held: number;
803
+ /** Exact MEMORY records newly saved in the local import-overflow archive. */
804
+ archived?: number;
732
805
  }
733
806
  export interface MnemonPackImportResult {
734
807
  imported: true;
@@ -7,4 +7,5 @@ export { defineMemoryStrategyConfiguration } from './strategy-configuration.ts';
7
7
  export { defineMemoryViewExtension, memoryViewExtensionValues, validateMemoryViewExtension } from './view-extensions.ts';
8
8
  export type { MemoryStrategyConfiguration, MemoryStrategyConfigurationField, MemoryLocalizedText } from './strategy-configuration.ts';
9
9
  export { withMemoryStorageLock } from './storage-lock.ts';
10
+ export { canonicalWorkspacePath, workspaceStorageId } from './workspace-storage.ts';
10
11
  export type { ComposableMemoryView, MemoryActionOffer, MemoryCompositionEvaluationReport, MemoryEvidence, MemoryMutationReceipt, MemoryPluginDescriptor, MemoryPluginLocalizedText, MemoryPluginProvidedCapability, MemoryPluginRole, MemoryMutationCompletion, MemoryReadGrant, MemorySourceDefinition, MemorySourceFacts, MemoryAvailableSource, MemorySourceManifest, MemorySourcePresentation, MemorySourcePresentationItem, MemorySourceRuntime, MemorySourceViewContext, MemoryStrategyDefinition, MemoryStrategyExtensionDefinition, MemoryStrategyExtensionManifest, MemoryStrategyContribution, MemoryStrategyTurn, MemoryStrategyReadRequest, MemoryStrategyRead, MemoryStrategyManifest, MemoryViewRequest, MemoryViewSourcePresentation, MemoryViewSpec, MemoryViewGuidance, MemoryViewExtensionSlot, MemoryViewExtensionValues, } from "../core/contracts/index.ts";
@@ -0,0 +1,4 @@
1
+ /** Local workspace identity, including aliases with not-yet-created descendants. */
2
+ export declare function canonicalWorkspacePath(workspacePath: string): string;
3
+ /** A rename or move selects a new directory; resolving identity never writes. */
4
+ export declare function workspaceStorageId(workspacePath: string): string;
package/locale/zh.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "meta": {
3
3
  "title": "可组合记忆 (dsh-mnemon)",
4
- "description": "面向 DeepSeek Harness 的可组合视图记忆。记忆来源与策略可插拔,开箱即用提供分层记忆。"
4
+ "description": "面向 DeepSeek Harness 的可组合视图上下文。来源与策略可插拔,开箱即用提供分层记忆与自进化技能。"
5
5
  }
6
6
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "dsh-mnemon",
3
- "version": "0.5.33",
4
- "description": "Composable, view-based memory for DeepSeek Harness. Pluggable sources and strategies, with layered memory out of the box.",
3
+ "version": "0.5.35",
4
+ "description": "Composable, view-based context for DeepSeek Harness. Pluggable sources and strategies, with layered memory and self-evolving skills out of the box.",
5
5
  "keywords": [
6
6
  "deepseek-harness",
7
7
  "deepseek-harness-plugin",
@@ -156,19 +156,20 @@
156
156
  "@deepseek-ai/cosmokit": "^1.8.5",
157
157
  "@deepseek-ai/schemastery": "^3.18.4",
158
158
  "dsh-mnemon-provider-byterover": "0.5.5",
159
- "dsh-mnemon-provider-hindsight": "0.5.6",
160
- "dsh-mnemon-provider-holographic": "0.5.6",
159
+ "dsh-mnemon-provider-hindsight": "0.5.7",
160
+ "dsh-mnemon-provider-holographic": "0.5.7",
161
161
  "dsh-mnemon-provider-honcho": "0.5.5",
162
162
  "dsh-mnemon-provider-mem0": "0.5.5",
163
- "dsh-mnemon-provider-mnemon-native": "0.5.9",
164
- "dsh-mnemon-provider-openviking": "0.5.8",
163
+ "dsh-mnemon-provider-mnemon-native": "0.5.10",
164
+ "dsh-mnemon-provider-openviking": "0.5.9",
165
165
  "dsh-mnemon-provider-retaindb": "0.5.6",
166
166
  "dsh-mnemon-provider-supermemory": "0.5.5",
167
167
  "dsh-mnemon-source-documents": "0.5.11",
168
- "dsh-mnemon-source-memory-spaces": "0.5.22",
169
- "dsh-mnemon-source-runtime": "0.5.15",
168
+ "dsh-mnemon-source-memory-spaces": "0.5.23",
169
+ "dsh-mnemon-source-runtime": "0.5.16",
170
+ "dsh-mnemon-source-skills": "0.5.2",
170
171
  "dsh-mnemon-strategy-auto-capture": "0.5.5",
171
- "dsh-mnemon-strategy-default-three-tier": "0.5.10",
172
+ "dsh-mnemon-strategy-default-three-tier": "0.5.11",
172
173
  "dsh-mnemon-strategy-general": "0.5.1",
173
174
  "dsh-mnemon-strategy-light-context": "0.5.6",
174
175
  "dsh-mnemon-strategy-scoped": "0.5.5",