dsh-mnemon 0.5.33 → 0.5.34

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.
@@ -17,6 +17,7 @@ var dependencies = {
17
17
  "dsh-mnemon-source-documents": "0.5.11",
18
18
  "dsh-mnemon-source-memory-spaces": "0.5.22",
19
19
  "dsh-mnemon-source-runtime": "0.5.15",
20
+ "dsh-mnemon-source-skills": "0.5.1",
20
21
  "dsh-mnemon-strategy-auto-capture": "0.5.5",
21
22
  "dsh-mnemon-strategy-default-three-tier": "0.5.10",
22
23
  "dsh-mnemon-strategy-general": "0.5.1",
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-C2TDVxDr.js";
2
2
  //#region src/starter.ts
3
3
  const name = "dsh-mnemon-starter";
4
4
  const provide = ["mnemonStarterReady"];
@@ -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;
@@ -753,6 +754,34 @@ export declare const zh: {
753
754
  'review.historyHint': string;
754
755
  'review.historyEmpty': string;
755
756
  'review.rejectedHint': string;
757
+ 'skills.label': string;
758
+ 'skills.evolution': string;
759
+ 'skills.evolutionHint': string;
760
+ 'skills.autoBacktest': string;
761
+ 'skills.autoBacktestHint': string;
762
+ 'skills.parameters': string;
763
+ 'skills.reviewThreshold': string;
764
+ 'skills.idleSeconds': string;
765
+ 'skills.cooldownSeconds': string;
766
+ 'skills.minConfidence': string;
767
+ 'skills.expiryDays': string;
768
+ 'skills.maxPendingPerSession': string;
769
+ 'skills.casesPerRun': string;
770
+ 'skills.invalid': string;
771
+ 'skills.hints': string;
772
+ 'skills.hintsHint': string;
773
+ 'skills.sidebar': string;
774
+ 'skills.sidebarHint': string;
775
+ 'skills.statusCount': string;
776
+ 'skills.statusOn': string;
777
+ 'skills.statusIdle': string;
778
+ 'skills.statusOff': string;
779
+ 'skillTail.label': string;
780
+ 'skillTail.reviewing': string;
781
+ 'skillTail.suggested': string;
782
+ 'skillTail.failed': string;
783
+ 'skillTail.openSkill': string;
784
+ 'skillTail.openSuggestions': string;
756
785
  "term.space": string;
757
786
  "term.spaces": string;
758
787
  "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
  }
@@ -1,6 +1,6 @@
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";
3
+ import type { Config as SharedConfig, CustomPackConfig as SharedCustomPackConfig, InteractionConfig as SharedInteractionConfig, ResolvedConfig as SharedResolvedConfig, ResolvedInteractionConfig as SharedResolvedInteractionConfig, ResolvedSkillsConfig } from "./protocol.ts";
4
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';
5
5
  export type Config = SharedConfig;
6
6
  export type CustomPackConfig = SharedCustomPackConfig;
@@ -8,6 +8,9 @@ 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;
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.34",
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",
@@ -167,6 +167,7 @@
167
167
  "dsh-mnemon-source-documents": "0.5.11",
168
168
  "dsh-mnemon-source-memory-spaces": "0.5.22",
169
169
  "dsh-mnemon-source-runtime": "0.5.15",
170
+ "dsh-mnemon-source-skills": "0.5.1",
170
171
  "dsh-mnemon-strategy-auto-capture": "0.5.5",
171
172
  "dsh-mnemon-strategy-default-three-tier": "0.5.10",
172
173
  "dsh-mnemon-strategy-general": "0.5.1",