dsh-mnemon 0.1.2 → 0.1.4

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.
Files changed (138) hide show
  1. package/README.md +103 -129
  2. package/README.zh-CN.md +173 -0
  3. package/SECURITY.md +2 -2
  4. package/docs/README.md +4 -4
  5. package/docs/assets/diagrams/en/memory-system-flow.png +0 -0
  6. package/docs/assets/diagrams/zh-CN/memory-system-flow.png +0 -0
  7. package/docs/assets/media/dsh-mnemon-memory-system-demo-poster.jpg +0 -0
  8. package/docs/assets/media/dsh-mnemon-memory-system-demo.gif +0 -0
  9. package/docs/assets/media/dsh-mnemon-memory-system-demo.mp4 +0 -0
  10. package/docs/assets/screenshots/conversation-memory-jump.png +0 -0
  11. package/docs/assets/screenshots/conversation-save-dialog.png +0 -0
  12. package/docs/assets/screenshots/conversation-turn-memory.png +0 -0
  13. package/docs/assets/screenshots/document-create-dialog.png +0 -0
  14. package/docs/assets/screenshots/documents-markdown.png +0 -0
  15. package/docs/assets/screenshots/entities-context.png +0 -0
  16. package/docs/assets/screenshots/memory-content.png +0 -0
  17. package/docs/assets/screenshots/overview-memory-graph.png +0 -0
  18. package/docs/assets/screenshots/recall-agent-answer.png +0 -0
  19. package/docs/assets/screenshots/remember-dialog.png +0 -0
  20. package/docs/assets/screenshots/runtime-memory-add.png +0 -0
  21. package/docs/assets/screenshots/runtime-memory.png +0 -0
  22. package/docs/assets/screenshots/settings-memory-system.png +0 -0
  23. package/docs/assets/screenshots/status-overview.png +0 -0
  24. package/docs/assets/screenshots/version-check.png +0 -0
  25. package/docs/en/README.md +40 -32
  26. package/docs/en/architecture.md +6 -2
  27. package/docs/en/configuration.md +15 -6
  28. package/docs/en/development.md +24 -4
  29. package/docs/en/getting-started.md +77 -87
  30. package/docs/en/interfaces.md +98 -90
  31. package/docs/en/operations.md +103 -93
  32. package/docs/en/project-overview.md +90 -194
  33. package/docs/en/storage-model.md +6 -0
  34. package/docs/en/ui-guide.md +156 -0
  35. package/docs/zh-CN/README.md +37 -29
  36. package/docs/zh-CN/architecture.md +6 -2
  37. package/docs/zh-CN/configuration.md +15 -6
  38. package/docs/zh-CN/development.md +24 -4
  39. package/docs/zh-CN/getting-started.md +70 -80
  40. package/docs/zh-CN/interfaces.md +84 -76
  41. package/docs/zh-CN/operations.md +96 -86
  42. package/docs/zh-CN/project-overview.md +86 -190
  43. package/docs/zh-CN/storage-model.md +6 -0
  44. package/docs/zh-CN/ui-guide.md +160 -0
  45. package/lib/client.js +2354 -1944
  46. package/lib/client.js.map +1 -1
  47. package/lib/index.js +446 -39
  48. package/lib/types/channels.d.ts +4 -0
  49. package/lib/types/channels.d.ts.map +1 -0
  50. package/lib/types/channels.js +4 -0
  51. package/lib/types/channels.js.map +1 -0
  52. package/lib/types/client/MnemonSaveAction.d.ts.map +1 -1
  53. package/lib/types/client/MnemonSaveAction.js +4 -55
  54. package/lib/types/client/MnemonSaveAction.js.map +1 -1
  55. package/lib/types/client/MnemonSettingsCard.d.ts.map +1 -1
  56. package/lib/types/client/MnemonSettingsCard.js +4 -5
  57. package/lib/types/client/MnemonSettingsCard.js.map +1 -1
  58. package/lib/types/client/MnemonTurnTail.d.ts +3 -0
  59. package/lib/types/client/MnemonTurnTail.d.ts.map +1 -1
  60. package/lib/types/client/MnemonTurnTail.js +15 -3
  61. package/lib/types/client/MnemonTurnTail.js.map +1 -1
  62. package/lib/types/client/MnemonView.d.ts +4 -0
  63. package/lib/types/client/MnemonView.d.ts.map +1 -1
  64. package/lib/types/client/MnemonView.js +424 -97
  65. package/lib/types/client/MnemonView.js.map +1 -1
  66. package/lib/types/client/MnemonViewAppearance.d.ts +21 -0
  67. package/lib/types/client/MnemonViewAppearance.d.ts.map +1 -0
  68. package/lib/types/client/MnemonViewAppearance.js +67 -0
  69. package/lib/types/client/MnemonViewAppearance.js.map +1 -0
  70. package/lib/types/client/anchor.d.ts +1 -1
  71. package/lib/types/client/anchor.js +1 -1
  72. package/lib/types/client/api.d.ts +4 -0
  73. package/lib/types/client/api.d.ts.map +1 -1
  74. package/lib/types/client/api.js +10 -1
  75. package/lib/types/client/api.js.map +1 -1
  76. package/lib/types/client/index.d.ts.map +1 -1
  77. package/lib/types/client/index.js +22 -25
  78. package/lib/types/client/index.js.map +1 -1
  79. package/lib/types/client/locales.d.ts +126 -294
  80. package/lib/types/client/locales.d.ts.map +1 -1
  81. package/lib/types/client/locales.js +140 -308
  82. package/lib/types/client/locales.js.map +1 -1
  83. package/lib/types/client/settings.d.ts +1 -1
  84. package/lib/types/client/settings.d.ts.map +1 -1
  85. package/lib/types/client/settings.js +1 -1
  86. package/lib/types/client/settings.js.map +1 -1
  87. package/lib/types/client/sidebar-entry.d.ts +1 -1
  88. package/lib/types/client/sidebar-entry.d.ts.map +1 -1
  89. package/lib/types/client/sidebar-entry.js +3 -1
  90. package/lib/types/client/sidebar-entry.js.map +1 -1
  91. package/lib/types/client/workspace-mount.d.ts.map +1 -1
  92. package/lib/types/client/workspace-mount.js +8 -5
  93. package/lib/types/client/workspace-mount.js.map +1 -1
  94. package/lib/types/config.d.ts +1 -3
  95. package/lib/types/config.d.ts.map +1 -1
  96. package/lib/types/config.js +10 -12
  97. package/lib/types/config.js.map +1 -1
  98. package/lib/types/index.d.ts +2 -1
  99. package/lib/types/index.d.ts.map +1 -1
  100. package/lib/types/index.js +2 -1
  101. package/lib/types/index.js.map +1 -1
  102. package/lib/types/lifecycle.js +3 -3
  103. package/lib/types/lifecycle.js.map +1 -1
  104. package/lib/types/memory-bodies.d.ts +1 -0
  105. package/lib/types/memory-bodies.d.ts.map +1 -1
  106. package/lib/types/memory-bodies.js +7 -0
  107. package/lib/types/memory-bodies.js.map +1 -1
  108. package/lib/types/rpc.d.ts +5 -7
  109. package/lib/types/rpc.d.ts.map +1 -1
  110. package/lib/types/rpc.js +28 -8
  111. package/lib/types/rpc.js.map +1 -1
  112. package/lib/types/service.d.ts +2 -0
  113. package/lib/types/service.d.ts.map +1 -1
  114. package/lib/types/service.js +4 -0
  115. package/lib/types/service.js.map +1 -1
  116. package/lib/types/settings.d.ts.map +1 -1
  117. package/lib/types/settings.js +1 -2
  118. package/lib/types/settings.js.map +1 -1
  119. package/lib/types/version-updates.d.ts +61 -0
  120. package/lib/types/version-updates.d.ts.map +1 -0
  121. package/lib/types/version-updates.js +377 -0
  122. package/lib/types/version-updates.js.map +1 -0
  123. package/package.json +23 -8
  124. package/README.en.md +0 -199
  125. package/docs/zh-CN/assets/screenshots/conversation-recall.png +0 -0
  126. package/docs/zh-CN/assets/screenshots/conversation-writeback.png +0 -0
  127. package/docs/zh-CN/assets/screenshots/documents-markdown.png +0 -0
  128. package/docs/zh-CN/assets/screenshots/entities-context.png +0 -0
  129. package/docs/zh-CN/assets/screenshots/memory-content.png +0 -0
  130. package/docs/zh-CN/assets/screenshots/overview-memory-graph.png +0 -0
  131. package/docs/zh-CN/assets/screenshots/recall-agent-answer.png +0 -0
  132. package/docs/zh-CN/assets/screenshots/runtime-memory.png +0 -0
  133. package/lib/types/client/MnemonToolviews.d.ts +0 -19
  134. package/lib/types/client/MnemonToolviews.d.ts.map +0 -1
  135. package/lib/types/client/MnemonToolviews.js +0 -172
  136. package/lib/types/client/MnemonToolviews.js.map +0 -1
  137. /package/docs/{en/assets → assets/diagrams/en}/project-architecture.svg +0 -0
  138. /package/docs/{zh-CN/assets → assets/diagrams/zh-CN}/project-architecture.svg +0 -0
@@ -44,11 +44,10 @@ const MUTABLE_FIELDS = [
44
44
  ];
45
45
  /** Nested paths of the live in-conversation interaction toggles. */
46
46
  const INTERACTION_PATHS = [
47
- ['conversationInteraction', 'toolviews'],
48
47
  ['conversationInteraction', 'turnBar'],
49
48
  ['conversationInteraction', 'saveAction'],
50
49
  ];
51
- const UI_FIELDS = ['toolviews', 'turnBar', 'saveAction'];
50
+ const UI_FIELDS = ['turnBar', 'saveAction'];
52
51
  function namespaceOf(payload) {
53
52
  const namespace = payload.namespace === undefined ? MNEMON_SETTINGS_NAMESPACE : String(payload.namespace);
54
53
  if (namespace !== MNEMON_SETTINGS_NAMESPACE && namespace !== MNEMON_UI_SETTINGS_NAMESPACE)
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { type ProcessRunner } from './process.ts';
2
+ export type VersionComponentId = 'mnemon' | 'dsh-mnemon';
3
+ export type VersionInstallMode = 'homebrew' | 'go' | 'npm' | 'link' | 'manual' | 'missing';
4
+ export interface VersionComponentStatus {
5
+ id: VersionComponentId;
6
+ name: string;
7
+ current?: string;
8
+ latest?: string;
9
+ outdated: boolean;
10
+ installMode: VersionInstallMode;
11
+ updateSupported: boolean;
12
+ updateHint: string;
13
+ checkError?: string;
14
+ }
15
+ export interface VersionStatus {
16
+ checkedAt: string;
17
+ components: VersionComponentStatus[];
18
+ }
19
+ export interface VersionUpdateResult {
20
+ component: VersionComponentId;
21
+ previousVersion?: string;
22
+ currentVersion?: string;
23
+ updated: boolean;
24
+ restartRequired: boolean;
25
+ output?: string;
26
+ }
27
+ export interface VersionUpdateDependencies {
28
+ packageManifestPath?: string;
29
+ dshHome?: string;
30
+ mnemonCliPath?: () => string | undefined;
31
+ processRunner?: ProcessRunner;
32
+ resolveExecutable?: (command: string) => string | undefined;
33
+ fetchNpmLatest?: (name: string) => Promise<string | undefined>;
34
+ fetchMnemonLatest?: () => Promise<string | undefined>;
35
+ }
36
+ /** Resolve one executable without invoking a shell. */
37
+ export declare function resolveExecutable(command: string): string | undefined;
38
+ export interface SemverParts {
39
+ major: number;
40
+ minor: number;
41
+ patch: number;
42
+ prerelease: string[];
43
+ }
44
+ export declare function parseSemver(value: string): SemverParts | undefined;
45
+ export declare function compareVersions(a: string, b: string): number;
46
+ export declare class VersionUpdateManager {
47
+ private dshMnemonVersion;
48
+ private readonly packageManifestPath;
49
+ private readonly dshHome;
50
+ private readonly mnemonCliPath;
51
+ private readonly processRunner;
52
+ private readonly executable;
53
+ private readonly fetchNpmLatest;
54
+ private readonly fetchMnemonLatest;
55
+ constructor(dependencies?: VersionUpdateDependencies);
56
+ get currentDshMnemonVersion(): string;
57
+ private inspectMnemon;
58
+ check(): Promise<VersionStatus>;
59
+ update(component: VersionComponentId): Promise<VersionUpdateResult>;
60
+ }
61
+ //# sourceMappingURL=version-updates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-updates.d.ts","sourceRoot":"","sources":["../../src/version-updates.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkC,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AAGjF,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,YAAY,CAAA;AACxD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;AAE1F,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,kBAAkB,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,EAAE,kBAAkB,CAAA;IAC/B,eAAe,EAAE,OAAO,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,sBAAsB,EAAE,CAAA;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,kBAAkB,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,EAAE,OAAO,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAsBD,MAAM,WAAW,yBAAyB;IACxC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;IACxC,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;IAC3D,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAC9D,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CACtD;AAuCD,uDAAuD;AACvD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAcrE;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CASlE;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CA0B5D;AA8GD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;IACxD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyC;IACpE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA+C;IAC9E,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmC;gBAEzD,YAAY,GAAE,yBAA8B;IAWxD,IAAI,uBAAuB,IAAI,MAAM,CAEpC;YAEa,aAAa;IAkCrB,KAAK,IAAI,OAAO,CAAC,aAAa,CAAC;IA+C/B,MAAM,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAwC1E"}
@@ -0,0 +1,377 @@
1
+ import { accessSync, constants, existsSync, readFileSync, readdirSync, realpathSync } from 'node:fs';
2
+ import { homedir } from 'node:os';
3
+ import { delimiter, dirname, isAbsolute, join, resolve } from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
5
+ import { runProcess } from "./process.js";
6
+ import { findMnemonCommand } from "./runner.js";
7
+ const DSH_MNEMON_PACKAGE = 'dsh-mnemon';
8
+ const MNEMON_MODULE = 'github.com/mnemon-dev/mnemon';
9
+ const PACKAGE_MANIFEST_PATH = fileURLToPath(new URL('../package.json', import.meta.url));
10
+ const CHECK_TIMEOUT_MS = 10_000;
11
+ const UPDATE_TIMEOUT_MS = 10 * 60_000;
12
+ const MAX_UPDATE_OUTPUT_BYTES = 16 * 1024;
13
+ async function settledWithin(promise, fallback, timeoutMs = CHECK_TIMEOUT_MS + 1_000) {
14
+ let timer;
15
+ try {
16
+ return await Promise.race([
17
+ promise.catch(() => fallback),
18
+ new Promise(resolve => { timer = setTimeout(() => resolve(fallback), timeoutMs); }),
19
+ ]);
20
+ }
21
+ finally {
22
+ if (timer !== undefined)
23
+ clearTimeout(timer);
24
+ }
25
+ }
26
+ function manifest(path) {
27
+ try {
28
+ const parsed = JSON.parse(readFileSync(path, 'utf8'));
29
+ return typeof parsed === 'object' && parsed !== null ? parsed : undefined;
30
+ }
31
+ catch {
32
+ return undefined;
33
+ }
34
+ }
35
+ function executable(path) {
36
+ try {
37
+ accessSync(path, constants.X_OK);
38
+ return true;
39
+ }
40
+ catch {
41
+ return false;
42
+ }
43
+ }
44
+ /** Resolve one executable without invoking a shell. */
45
+ export function resolveExecutable(command) {
46
+ if (command.includes('/') || command.includes('\\')) {
47
+ const path = command.startsWith('~/') ? join(homedir(), command.slice(2)) : resolve(command);
48
+ return executable(path) ? path : undefined;
49
+ }
50
+ const names = process.platform === 'win32' ? [`${command}.exe`, `${command}.cmd`, command] : [command];
51
+ for (const directory of (process.env.PATH ?? '').split(delimiter)) {
52
+ if (directory === '')
53
+ continue;
54
+ for (const name of names) {
55
+ const path = join(directory, name);
56
+ if (executable(path))
57
+ return path;
58
+ }
59
+ }
60
+ return undefined;
61
+ }
62
+ export function parseSemver(value) {
63
+ const match = /^v?(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?(?:\+[0-9A-Za-z.-]+)?$/.exec(value.trim());
64
+ if (match === null)
65
+ return undefined;
66
+ return {
67
+ major: Number(match[1]),
68
+ minor: Number(match[2]),
69
+ patch: Number(match[3]),
70
+ prerelease: match[4] === undefined ? [] : match[4].split('.'),
71
+ };
72
+ }
73
+ export function compareVersions(a, b) {
74
+ const left = parseSemver(a);
75
+ const right = parseSemver(b);
76
+ if (left === undefined && right === undefined)
77
+ return 0;
78
+ if (left === undefined)
79
+ return -1;
80
+ if (right === undefined)
81
+ return 1;
82
+ for (const field of ['major', 'minor', 'patch']) {
83
+ if (left[field] !== right[field])
84
+ return left[field] < right[field] ? -1 : 1;
85
+ }
86
+ if (left.prerelease.length === 0 && right.prerelease.length === 0)
87
+ return 0;
88
+ if (left.prerelease.length === 0)
89
+ return 1;
90
+ if (right.prerelease.length === 0)
91
+ return -1;
92
+ for (let index = 0; index < Math.max(left.prerelease.length, right.prerelease.length); index++) {
93
+ const aPart = left.prerelease[index];
94
+ const bPart = right.prerelease[index];
95
+ if (aPart === undefined)
96
+ return -1;
97
+ if (bPart === undefined)
98
+ return 1;
99
+ if (aPart === bPart)
100
+ continue;
101
+ const aNumber = /^\d+$/.test(aPart);
102
+ const bNumber = /^\d+$/.test(bPart);
103
+ if (aNumber && bNumber)
104
+ return Number(aPart) < Number(bPart) ? -1 : 1;
105
+ if (aNumber)
106
+ return -1;
107
+ if (bNumber)
108
+ return 1;
109
+ return aPart < bPart ? -1 : 1;
110
+ }
111
+ return 0;
112
+ }
113
+ function versionFrom(text) {
114
+ return text.match(/\bv?(\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?)\b/)?.[1];
115
+ }
116
+ async function fetchJson(url) {
117
+ const controller = new AbortController();
118
+ const timeout = setTimeout(() => { controller.abort(); }, CHECK_TIMEOUT_MS);
119
+ try {
120
+ const response = await fetch(url, {
121
+ signal: controller.signal,
122
+ headers: { accept: 'application/json', 'user-agent': 'dsh-mnemon-version-check' },
123
+ });
124
+ if (!response.ok)
125
+ return undefined;
126
+ return await response.json();
127
+ }
128
+ catch {
129
+ return undefined;
130
+ }
131
+ finally {
132
+ clearTimeout(timeout);
133
+ }
134
+ }
135
+ async function fetchNpmLatest(name) {
136
+ const body = await fetchJson(`https://registry.npmjs.org/${encodeURIComponent(name)}/latest`);
137
+ if (typeof body !== 'object' || body === null)
138
+ return undefined;
139
+ const version = body.version;
140
+ return typeof version === 'string' ? version : undefined;
141
+ }
142
+ async function fetchMnemonLatest() {
143
+ const body = await fetchJson('https://api.github.com/repos/mnemon-dev/mnemon/releases/latest');
144
+ if (typeof body !== 'object' || body === null)
145
+ return undefined;
146
+ const tag = body.tag_name;
147
+ return typeof tag === 'string' ? tag.replace(/^v/, '') : undefined;
148
+ }
149
+ function dependencySpec(profile) {
150
+ return profile?.dependencies?.[DSH_MNEMON_PACKAGE] ?? profile?.devDependencies?.[DSH_MNEMON_PACKAGE];
151
+ }
152
+ function isLinkSpec(spec) {
153
+ return spec !== undefined && /^(?:link|file|workspace):|^\.{1,2}(?:[/\\]|$)/.test(spec);
154
+ }
155
+ function linkedTarget(profileDir, spec) {
156
+ const value = spec.replace(/^(?:link|file):/, '');
157
+ if (value.startsWith('workspace:'))
158
+ return undefined;
159
+ return isAbsolute(value) ? resolve(value) : resolve(profileDir, value);
160
+ }
161
+ function profileFromAncestor(packageManifestPath) {
162
+ let directory = dirname(packageManifestPath);
163
+ for (let depth = 0; depth < 12; depth++) {
164
+ const profile = manifest(join(directory, 'package.json'));
165
+ if (profile?.name?.startsWith('dsh-profile-') === true) {
166
+ const spec = dependencySpec(profile);
167
+ return {
168
+ mode: isLinkSpec(spec) ? 'link' : 'npm',
169
+ profileName: profile.name.slice('dsh-profile-'.length),
170
+ profileDir: directory,
171
+ };
172
+ }
173
+ const parent = dirname(directory);
174
+ if (parent === directory)
175
+ break;
176
+ directory = parent;
177
+ }
178
+ return undefined;
179
+ }
180
+ function linkedProfile(packageManifestPath, dshHome) {
181
+ const profilesDir = join(dshHome, 'profiles');
182
+ if (!existsSync(profilesDir))
183
+ return undefined;
184
+ const packageRoot = realpathSync(dirname(packageManifestPath));
185
+ const matches = [];
186
+ for (const entry of readdirSync(profilesDir, { withFileTypes: true })) {
187
+ if (!entry.isDirectory())
188
+ continue;
189
+ const profileDir = join(profilesDir, entry.name);
190
+ const spec = dependencySpec(manifest(join(profileDir, 'package.json')));
191
+ if (!isLinkSpec(spec))
192
+ continue;
193
+ const target = spec === undefined ? undefined : linkedTarget(profileDir, spec);
194
+ if (target === undefined || !existsSync(target))
195
+ continue;
196
+ try {
197
+ if (realpathSync(target) === packageRoot)
198
+ matches.push({ name: entry.name, dir: profileDir });
199
+ }
200
+ catch {
201
+ // A stale link belongs to neither the running package nor an update target.
202
+ }
203
+ }
204
+ const match = matches[0];
205
+ return match === undefined ? undefined : { mode: 'link', profileName: match.name, profileDir: match.dir };
206
+ }
207
+ function inspectDshInstall(packageManifestPath, dshHome) {
208
+ return profileFromAncestor(packageManifestPath) ?? linkedProfile(packageManifestPath, dshHome) ?? { mode: 'manual' };
209
+ }
210
+ async function resultOrThrow(runner, command, args, timeoutMs) {
211
+ const result = await runner(command, args, { timeoutMs, maxOutputBytes: MAX_UPDATE_OUTPUT_BYTES });
212
+ if (result.exitCode !== 0) {
213
+ const detail = result.stderr.trim() || result.stdout.trim() || `exit ${String(result.exitCode)}`;
214
+ throw new Error(detail);
215
+ }
216
+ return result;
217
+ }
218
+ function updateOutput(result) {
219
+ const output = [result.stdout.trim(), result.stderr.trim()].filter(Boolean).join('\n').trim();
220
+ return output === '' ? undefined : output.slice(-4_000);
221
+ }
222
+ export class VersionUpdateManager {
223
+ dshMnemonVersion;
224
+ packageManifestPath;
225
+ dshHome;
226
+ mnemonCliPath;
227
+ processRunner;
228
+ executable;
229
+ fetchNpmLatest;
230
+ fetchMnemonLatest;
231
+ constructor(dependencies = {}) {
232
+ this.packageManifestPath = dependencies.packageManifestPath ?? PACKAGE_MANIFEST_PATH;
233
+ this.dshMnemonVersion = manifest(this.packageManifestPath)?.version ?? '0.0.0';
234
+ this.dshHome = dependencies.dshHome ?? (process.env.DSH_HOME?.trim() || join(homedir(), '.dsh'));
235
+ this.mnemonCliPath = dependencies.mnemonCliPath ?? (() => findMnemonCommand({}));
236
+ this.processRunner = dependencies.processRunner ?? runProcess;
237
+ this.executable = dependencies.resolveExecutable ?? resolveExecutable;
238
+ this.fetchNpmLatest = dependencies.fetchNpmLatest ?? fetchNpmLatest;
239
+ this.fetchMnemonLatest = dependencies.fetchMnemonLatest ?? fetchMnemonLatest;
240
+ }
241
+ get currentDshMnemonVersion() {
242
+ return this.dshMnemonVersion;
243
+ }
244
+ async inspectMnemon() {
245
+ const configured = this.mnemonCliPath() ?? findMnemonCommand({});
246
+ const command = configured === undefined ? undefined : this.executable(configured);
247
+ if (command === undefined)
248
+ return { install: { mode: 'missing' } };
249
+ let current;
250
+ try {
251
+ current = versionFrom((await resultOrThrow(this.processRunner, command, ['--version'], CHECK_TIMEOUT_MS)).stdout);
252
+ }
253
+ catch {
254
+ return { install: { mode: 'manual', command } };
255
+ }
256
+ let realCommand = command;
257
+ try {
258
+ realCommand = realpathSync(command);
259
+ }
260
+ catch { }
261
+ if (realCommand.includes('/Caskroom/mnemon/')) {
262
+ const brew = this.executable('brew');
263
+ return { ...(current === undefined ? {} : { current }), install: { mode: 'homebrew', command, ...(brew === undefined ? {} : { updateCommand: brew, updateArgs: ['upgrade', '--cask', 'mnemon'] }) } };
264
+ }
265
+ if (realCommand.includes('/Cellar/mnemon/')) {
266
+ const brew = this.executable('brew');
267
+ return { ...(current === undefined ? {} : { current }), install: { mode: 'homebrew', command, ...(brew === undefined ? {} : { updateCommand: brew, updateArgs: ['upgrade', 'mnemon-dev/tap/mnemon'] }) } };
268
+ }
269
+ const go = this.executable('go');
270
+ if (go !== undefined) {
271
+ try {
272
+ const metadata = await resultOrThrow(this.processRunner, go, ['version', '-m', command], CHECK_TIMEOUT_MS);
273
+ if (metadata.stdout.includes(MNEMON_MODULE)) {
274
+ return { ...(current === undefined ? {} : { current }), install: { mode: 'go', command, updateCommand: go, updateArgs: ['install', `${MNEMON_MODULE}@latest`] } };
275
+ }
276
+ }
277
+ catch {
278
+ // A non-Go binary falls through to the manual installation mode.
279
+ }
280
+ }
281
+ return { ...(current === undefined ? {} : { current }), install: { mode: 'manual', command } };
282
+ }
283
+ async check() {
284
+ const [mnemonLocal, mnemonLatest, dshLatest] = await Promise.all([
285
+ settledWithin(this.inspectMnemon(), { install: { mode: 'missing' } }),
286
+ settledWithin(this.fetchMnemonLatest(), undefined),
287
+ settledWithin(this.fetchNpmLatest(DSH_MNEMON_PACKAGE), undefined),
288
+ ]);
289
+ const dshInstall = inspectDshInstall(this.packageManifestPath, this.dshHome);
290
+ const pnpm = this.executable('pnpm');
291
+ const mnemonOutdated = mnemonLocal.current !== undefined && mnemonLatest !== undefined && compareVersions(mnemonLocal.current, mnemonLatest) < 0;
292
+ const dshOutdated = dshLatest !== undefined && compareVersions(this.currentDshMnemonVersion, dshLatest) < 0;
293
+ const mnemonSupported = mnemonLocal.install.updateCommand !== undefined;
294
+ const dshSupported = dshInstall.mode === 'npm' && dshInstall.profileDir !== undefined && pnpm !== undefined;
295
+ return {
296
+ checkedAt: new Date().toISOString(),
297
+ components: [
298
+ {
299
+ id: 'mnemon',
300
+ name: 'Mnemon CLI',
301
+ ...(mnemonLocal.current === undefined ? {} : { current: mnemonLocal.current }),
302
+ ...(mnemonLatest === undefined ? {} : { latest: mnemonLatest }),
303
+ outdated: mnemonOutdated,
304
+ installMode: mnemonLocal.install.mode,
305
+ updateSupported: mnemonSupported,
306
+ updateHint: mnemonLocal.install.mode === 'homebrew'
307
+ ? mnemonSupported ? 'brew' : 'brew-missing'
308
+ : mnemonLocal.install.mode === 'go'
309
+ ? 'go'
310
+ : mnemonLocal.install.mode === 'missing' ? 'install' : 'manual',
311
+ ...(mnemonLatest === undefined ? { checkError: 'latest-unavailable' } : {}),
312
+ },
313
+ {
314
+ id: 'dsh-mnemon',
315
+ name: 'dsh-mnemon',
316
+ current: this.currentDshMnemonVersion,
317
+ ...(dshLatest === undefined ? {} : { latest: dshLatest }),
318
+ outdated: dshOutdated,
319
+ installMode: dshInstall.mode,
320
+ updateSupported: dshSupported,
321
+ updateHint: dshInstall.mode === 'npm'
322
+ ? dshSupported ? 'pnpm' : 'pnpm-missing'
323
+ : dshInstall.mode === 'link' ? 'link' : 'manual',
324
+ ...(dshLatest === undefined ? { checkError: 'latest-unavailable' } : {}),
325
+ },
326
+ ],
327
+ };
328
+ }
329
+ async update(component) {
330
+ if (component === 'mnemon') {
331
+ const before = await this.inspectMnemon();
332
+ const latest = await this.fetchMnemonLatest();
333
+ if (before.current === undefined)
334
+ throw new Error('Mnemon CLI is unavailable');
335
+ if (latest === undefined)
336
+ throw new Error('Unable to verify the latest Mnemon release');
337
+ if (compareVersions(before.current, latest) >= 0)
338
+ return { component, previousVersion: before.current, currentVersion: before.current, updated: false, restartRequired: false };
339
+ if (before.install.updateCommand === undefined || before.install.updateArgs === undefined)
340
+ throw new Error('This Mnemon installation cannot be updated automatically');
341
+ const output = await resultOrThrow(this.processRunner, before.install.updateCommand, before.install.updateArgs, UPDATE_TIMEOUT_MS);
342
+ const after = await this.inspectMnemon();
343
+ const outputText = updateOutput(output);
344
+ return {
345
+ component,
346
+ previousVersion: before.current,
347
+ currentVersion: after.current ?? latest,
348
+ updated: true,
349
+ restartRequired: false,
350
+ ...(outputText === undefined ? {} : { output: outputText }),
351
+ };
352
+ }
353
+ if (component !== 'dsh-mnemon')
354
+ throw new Error(`Unknown version component: ${String(component)}`);
355
+ const latest = await this.fetchNpmLatest(DSH_MNEMON_PACKAGE);
356
+ if (latest === undefined)
357
+ throw new Error('Unable to verify the latest dsh-mnemon release');
358
+ if (compareVersions(this.currentDshMnemonVersion, latest) >= 0)
359
+ return { component, previousVersion: this.currentDshMnemonVersion, currentVersion: this.currentDshMnemonVersion, updated: false, restartRequired: false };
360
+ const install = inspectDshInstall(this.packageManifestPath, this.dshHome);
361
+ const pnpm = this.executable('pnpm');
362
+ if (install.mode !== 'npm' || install.profileDir === undefined || pnpm === undefined)
363
+ throw new Error('This dsh-mnemon installation cannot be updated automatically');
364
+ const output = await resultOrThrow(this.processRunner, pnpm, ['update', DSH_MNEMON_PACKAGE], UPDATE_TIMEOUT_MS);
365
+ const outputText = updateOutput(output);
366
+ this.dshMnemonVersion = latest;
367
+ return {
368
+ component,
369
+ previousVersion: this.currentDshMnemonVersion,
370
+ currentVersion: latest,
371
+ updated: true,
372
+ restartRequired: true,
373
+ ...(outputText === undefined ? {} : { output: outputText }),
374
+ };
375
+ }
376
+ }
377
+ //# sourceMappingURL=version-updates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-updates.js","sourceRoot":"","sources":["../../src/version-updates.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,29 +1,41 @@
1
1
  {
2
2
  "name": "dsh-mnemon",
3
- "version": "0.1.2",
4
- "description": "Deep integration of Mnemon and DeepSeek Harness, providing DSH with complete local-first three-tier memory: Runtime Memory, searchable Documents, and supervised Memory Spaces.",
3
+ "version": "0.1.4",
4
+ "description": "Cross-agent, local-first persistent memory plugin for DeepSeek Harness (DSH), powered by Mnemon. It shares long-term memory across Mnemon-enabled agents and adds runtime memory, searchable project documents, semantic recall, knowledge graph, and a Sidebar UI.",
5
5
  "keywords": [
6
6
  "deepseek-harness",
7
+ "deepseek-harness-plugin",
7
8
  "dsh",
9
+ "dsh-plugin",
8
10
  "mnemon",
11
+ "memory-system",
12
+ "memory-plugin",
9
13
  "agent-memory",
14
+ "cross-agent-memory",
15
+ "shared-agent-memory",
16
+ "multi-agent-memory",
17
+ "llm-memory",
10
18
  "persistent-memory",
19
+ "long-term-memory",
20
+ "runtime-memory",
21
+ "working-memory",
22
+ "project-memory",
11
23
  "project-documents",
12
- "memory-archive",
24
+ "document-search",
25
+ "semantic-recall",
13
26
  "memory-space",
14
- "multi-memory-space",
27
+ "workspace-memory",
15
28
  "subagent",
16
- "llm-memory",
17
29
  "knowledge-graph",
18
30
  "ai-agent",
19
31
  "llm-agent",
20
32
  "external-memory",
21
33
  "local-first",
22
- "llm-supervised",
23
34
  "sqlite",
24
35
  "typescript",
25
36
  "cordis",
26
- "plugin"
37
+ "web-ui",
38
+ "sidebar"
27
39
  ],
28
40
  "repository": {
29
41
  "type": "git",
@@ -58,9 +70,10 @@
58
70
  "lib",
59
71
  "cordis.patch.yml",
60
72
  "README.md",
61
- "README.en.md",
73
+ "README.zh-CN.md",
62
74
  "SECURITY.md",
63
75
  "docs/README.md",
76
+ "docs/assets",
64
77
  "docs/zh-CN",
65
78
  "docs/en",
66
79
  "LICENSE"
@@ -94,6 +107,7 @@
94
107
  "schemastery": "^3.18.0"
95
108
  },
96
109
  "peerDependencies": {
110
+ "@deepseek-ai/dsh-client-ui-primitives": "^0.1.0-rc.6",
97
111
  "react": "^18.2.0",
98
112
  "react-dom": "^18.2.0"
99
113
  },
@@ -104,6 +118,7 @@
104
118
  "@deepseek-ai/dsh-client-locale": "0.1.0-rc.6",
105
119
  "@deepseek-ai/dsh-client-runtime": "0.1.0-rc.6",
106
120
  "@deepseek-ai/dsh-client-ui-conversation": "0.1.0-rc.6",
121
+ "@deepseek-ai/dsh-client-ui-primitives": "0.1.0-rc.6",
107
122
  "@deepseek-ai/dsh-client-ui-settings": "0.1.0-rc.6",
108
123
  "@deepseek-ai/dsh-client-ui-slots": "0.1.0-rc.6",
109
124
  "@deepseek-ai/dsh-client-ui-tool": "0.1.0-rc.6",