dsh-mnemon 0.1.2 → 0.1.3

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 (133) hide show
  1. package/README.en.md +87 -120
  2. package/README.md +88 -121
  3. package/docs/assets/diagrams/en/memory-system-flow.png +0 -0
  4. package/docs/assets/diagrams/zh-CN/memory-system-flow.png +0 -0
  5. package/docs/assets/media/dsh-mnemon-memory-system-demo-poster.jpg +0 -0
  6. package/docs/assets/media/dsh-mnemon-memory-system-demo.gif +0 -0
  7. package/docs/assets/media/dsh-mnemon-memory-system-demo.mp4 +0 -0
  8. package/docs/assets/screenshots/conversation-memory-jump.png +0 -0
  9. package/docs/assets/screenshots/conversation-save-dialog.png +0 -0
  10. package/docs/assets/screenshots/conversation-turn-memory.png +0 -0
  11. package/docs/assets/screenshots/document-create-dialog.png +0 -0
  12. package/docs/assets/screenshots/documents-markdown.png +0 -0
  13. package/docs/assets/screenshots/entities-context.png +0 -0
  14. package/docs/assets/screenshots/memory-content.png +0 -0
  15. package/docs/assets/screenshots/overview-memory-graph.png +0 -0
  16. package/docs/assets/screenshots/recall-agent-answer.png +0 -0
  17. package/docs/assets/screenshots/remember-dialog.png +0 -0
  18. package/docs/assets/screenshots/runtime-memory-add.png +0 -0
  19. package/docs/assets/screenshots/runtime-memory.png +0 -0
  20. package/docs/assets/screenshots/settings-memory-system.png +0 -0
  21. package/docs/assets/screenshots/status-overview.png +0 -0
  22. package/docs/assets/screenshots/version-check.png +0 -0
  23. package/docs/en/README.md +38 -32
  24. package/docs/en/architecture.md +3 -1
  25. package/docs/en/configuration.md +4 -5
  26. package/docs/en/development.md +24 -4
  27. package/docs/en/getting-started.md +77 -87
  28. package/docs/en/interfaces.md +98 -90
  29. package/docs/en/operations.md +103 -93
  30. package/docs/en/project-overview.md +82 -198
  31. package/docs/en/ui-guide.md +156 -0
  32. package/docs/zh-CN/README.md +35 -29
  33. package/docs/zh-CN/architecture.md +3 -1
  34. package/docs/zh-CN/configuration.md +4 -5
  35. package/docs/zh-CN/development.md +24 -4
  36. package/docs/zh-CN/getting-started.md +70 -80
  37. package/docs/zh-CN/interfaces.md +84 -76
  38. package/docs/zh-CN/operations.md +96 -86
  39. package/docs/zh-CN/project-overview.md +78 -194
  40. package/docs/zh-CN/ui-guide.md +160 -0
  41. package/lib/client.js +2358 -1948
  42. package/lib/client.js.map +1 -1
  43. package/lib/index.js +446 -39
  44. package/lib/types/channels.d.ts +4 -0
  45. package/lib/types/channels.d.ts.map +1 -0
  46. package/lib/types/channels.js +4 -0
  47. package/lib/types/channels.js.map +1 -0
  48. package/lib/types/client/MnemonSaveAction.d.ts.map +1 -1
  49. package/lib/types/client/MnemonSaveAction.js +4 -55
  50. package/lib/types/client/MnemonSaveAction.js.map +1 -1
  51. package/lib/types/client/MnemonSettingsCard.d.ts.map +1 -1
  52. package/lib/types/client/MnemonSettingsCard.js +4 -5
  53. package/lib/types/client/MnemonSettingsCard.js.map +1 -1
  54. package/lib/types/client/MnemonTurnTail.d.ts +3 -0
  55. package/lib/types/client/MnemonTurnTail.d.ts.map +1 -1
  56. package/lib/types/client/MnemonTurnTail.js +15 -3
  57. package/lib/types/client/MnemonTurnTail.js.map +1 -1
  58. package/lib/types/client/MnemonView.d.ts +4 -0
  59. package/lib/types/client/MnemonView.d.ts.map +1 -1
  60. package/lib/types/client/MnemonView.js +424 -97
  61. package/lib/types/client/MnemonView.js.map +1 -1
  62. package/lib/types/client/MnemonViewAppearance.d.ts +21 -0
  63. package/lib/types/client/MnemonViewAppearance.d.ts.map +1 -0
  64. package/lib/types/client/MnemonViewAppearance.js +67 -0
  65. package/lib/types/client/MnemonViewAppearance.js.map +1 -0
  66. package/lib/types/client/anchor.d.ts +1 -1
  67. package/lib/types/client/anchor.js +1 -1
  68. package/lib/types/client/api.d.ts +4 -0
  69. package/lib/types/client/api.d.ts.map +1 -1
  70. package/lib/types/client/api.js +10 -1
  71. package/lib/types/client/api.js.map +1 -1
  72. package/lib/types/client/index.d.ts.map +1 -1
  73. package/lib/types/client/index.js +22 -25
  74. package/lib/types/client/index.js.map +1 -1
  75. package/lib/types/client/locales.d.ts +126 -294
  76. package/lib/types/client/locales.d.ts.map +1 -1
  77. package/lib/types/client/locales.js +140 -308
  78. package/lib/types/client/locales.js.map +1 -1
  79. package/lib/types/client/settings.d.ts +1 -1
  80. package/lib/types/client/settings.d.ts.map +1 -1
  81. package/lib/types/client/settings.js +1 -1
  82. package/lib/types/client/settings.js.map +1 -1
  83. package/lib/types/client/sidebar-entry.d.ts +1 -1
  84. package/lib/types/client/sidebar-entry.d.ts.map +1 -1
  85. package/lib/types/client/sidebar-entry.js +3 -1
  86. package/lib/types/client/sidebar-entry.js.map +1 -1
  87. package/lib/types/client/workspace-mount.d.ts.map +1 -1
  88. package/lib/types/client/workspace-mount.js +8 -5
  89. package/lib/types/client/workspace-mount.js.map +1 -1
  90. package/lib/types/config.d.ts +1 -3
  91. package/lib/types/config.d.ts.map +1 -1
  92. package/lib/types/config.js +10 -12
  93. package/lib/types/config.js.map +1 -1
  94. package/lib/types/index.d.ts +2 -1
  95. package/lib/types/index.d.ts.map +1 -1
  96. package/lib/types/index.js +2 -1
  97. package/lib/types/index.js.map +1 -1
  98. package/lib/types/lifecycle.js +3 -3
  99. package/lib/types/lifecycle.js.map +1 -1
  100. package/lib/types/memory-bodies.d.ts +1 -0
  101. package/lib/types/memory-bodies.d.ts.map +1 -1
  102. package/lib/types/memory-bodies.js +7 -0
  103. package/lib/types/memory-bodies.js.map +1 -1
  104. package/lib/types/rpc.d.ts +5 -7
  105. package/lib/types/rpc.d.ts.map +1 -1
  106. package/lib/types/rpc.js +28 -8
  107. package/lib/types/rpc.js.map +1 -1
  108. package/lib/types/service.d.ts +2 -0
  109. package/lib/types/service.d.ts.map +1 -1
  110. package/lib/types/service.js +4 -0
  111. package/lib/types/service.js.map +1 -1
  112. package/lib/types/settings.d.ts.map +1 -1
  113. package/lib/types/settings.js +1 -2
  114. package/lib/types/settings.js.map +1 -1
  115. package/lib/types/version-updates.d.ts +61 -0
  116. package/lib/types/version-updates.d.ts.map +1 -0
  117. package/lib/types/version-updates.js +377 -0
  118. package/lib/types/version-updates.js.map +1 -0
  119. package/package.json +4 -1
  120. package/docs/zh-CN/assets/screenshots/conversation-recall.png +0 -0
  121. package/docs/zh-CN/assets/screenshots/conversation-writeback.png +0 -0
  122. package/docs/zh-CN/assets/screenshots/documents-markdown.png +0 -0
  123. package/docs/zh-CN/assets/screenshots/entities-context.png +0 -0
  124. package/docs/zh-CN/assets/screenshots/memory-content.png +0 -0
  125. package/docs/zh-CN/assets/screenshots/overview-memory-graph.png +0 -0
  126. package/docs/zh-CN/assets/screenshots/recall-agent-answer.png +0 -0
  127. package/docs/zh-CN/assets/screenshots/runtime-memory.png +0 -0
  128. package/lib/types/client/MnemonToolviews.d.ts +0 -19
  129. package/lib/types/client/MnemonToolviews.d.ts.map +0 -1
  130. package/lib/types/client/MnemonToolviews.js +0 -172
  131. package/lib/types/client/MnemonToolviews.js.map +0 -1
  132. /package/docs/{en/assets → assets/diagrams/en}/project-architecture.svg +0 -0
  133. /package/docs/{zh-CN/assets → assets/diagrams/zh-CN}/project-architecture.svg +0 -0
@@ -1,172 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { memo, useMemo, useState } from 'react';
3
- import { MnemonLogo } from "./MnemonLogo.js";
4
- import { dispatchMnemonAnchor } from "./anchor.js";
5
- import css from './MnemonToolviews.module.css';
6
- const READ_TOOLS = new Set(['mnemon_recall', 'mnemon_related', 'mnemon_document_search', 'mnemon_status', 'mnemon_memory_bodies']);
7
- /** Anchor destination per tool: where "open in Memory view" should land. */
8
- const ANCHOR_TARGETS = {
9
- mnemon_recall: { page: 'explore', seed: args => typeof args.query === 'string' && args.query.trim() !== '' ? args.query.trim() : undefined },
10
- mnemon_related: { page: 'explore', seed: args => typeof args.id === 'string' && args.id.trim() !== '' ? args.id.trim() : undefined },
11
- mnemon_document_search: { page: 'documents' },
12
- mnemon_status: { page: 'status' },
13
- mnemon_memory_bodies: { page: 'overview' },
14
- mnemon_runtime_memory: { page: 'runtime' },
15
- mnemon_document_manage: { page: 'documents' },
16
- mnemon_remember: { page: 'overview' },
17
- mnemon_forget: { page: 'overview' },
18
- mnemon_link: { page: 'overview' },
19
- mnemon_memory_body_create: { page: 'overview' },
20
- mnemon_memory_body_update: { page: 'overview' },
21
- mnemon_memory_body_merge: { page: 'overview' },
22
- };
23
- function isSettled(block) {
24
- return typeof block === 'object' && block !== null && 'kind' in block;
25
- }
26
- /** Parse the call's raw arguments JSON; always returns a plain object. */
27
- function argsOf(block) {
28
- const record = block;
29
- const raw = typeof record?.call?.argsRaw === 'string' ? record.call.argsRaw : typeof record?.argsRaw === 'string' ? record.argsRaw : '';
30
- if (raw === '')
31
- return {};
32
- try {
33
- const parsed = JSON.parse(raw);
34
- return typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed) ? parsed : {};
35
- }
36
- catch {
37
- return {};
38
- }
39
- }
40
- /** Joined text blocks of a settled result; empty while running. */
41
- function resultText(block) {
42
- if (!isSettled(block))
43
- return '';
44
- const content = block.content;
45
- if (!Array.isArray(content))
46
- return '';
47
- return content
48
- .filter(item => typeof item === 'object' && item !== null && item.type === 'text' && typeof item.text === 'string')
49
- .map(item => String(item.text))
50
- .join('');
51
- }
52
- /** Parsed result JSON when the output is one object; otherwise null. */
53
- function outputJson(block) {
54
- const text = resultText(block);
55
- if (text === '')
56
- return null;
57
- try {
58
- const parsed = JSON.parse(text);
59
- return typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed) ? parsed : null;
60
- }
61
- catch {
62
- return null;
63
- }
64
- }
65
- function truncateInline(value, max) {
66
- const normalized = value.replace(/\s+/g, ' ').trim();
67
- return normalized.length <= max ? normalized : `${normalized.slice(0, max)}…`;
68
- }
69
- function truncateBlock(value, max) {
70
- const normalized = value.trim();
71
- return normalized.length <= max ? normalized : `${normalized.slice(0, max)}\n…`;
72
- }
73
- function countOf(value) {
74
- return Array.isArray(value) ? value.length : undefined;
75
- }
76
- /** Tool-specific one-line summary from the call args and the settled output. */
77
- function summaryFor(toolName, args, out, t) {
78
- switch (toolName) {
79
- case 'mnemon_recall': {
80
- const query = typeof args.query === 'string' ? truncateInline(args.query, 56) : '';
81
- const hits = out === null ? undefined : countOf(out.results);
82
- return hits === undefined ? query : t('toolview.recallSummary', { query, count: hits });
83
- }
84
- case 'mnemon_related': {
85
- const id = typeof args.id === 'string' ? args.id : '';
86
- const hits = out === null ? undefined : countOf(out.results);
87
- return hits === undefined ? truncateInline(id, 56) : t('toolview.relatedSummary', { id: truncateInline(id, 28), count: hits });
88
- }
89
- case 'mnemon_document_search': {
90
- const query = typeof args.query === 'string' ? truncateInline(args.query, 56) : '';
91
- const hits = out === null ? undefined : countOf(out.results);
92
- return hits === undefined ? query : t('toolview.documentSearchSummary', { query, count: hits });
93
- }
94
- case 'mnemon_status':
95
- return out === null ? t('toolview.running') : out.healthy === true ? t('toolview.statusHealthy') : t('toolview.statusUnhealthy');
96
- case 'mnemon_memory_bodies':
97
- return out === null ? t('toolview.running') : t('toolview.bodiesSummary', { count: out.total ?? 0, active: out.activeCount ?? 0 });
98
- case 'mnemon_remember':
99
- return typeof args.content === 'string' ? truncateInline(args.content, 56) : t('toolview.genericSummary');
100
- case 'mnemon_runtime_memory': {
101
- const action = typeof args.action === 'string' ? args.action : '';
102
- const target = typeof args.target === 'string' ? args.target : '';
103
- const content = typeof args.content === 'string' ? truncateInline(args.content, 40) : '';
104
- return content === '' ? t('toolview.runtimeSummary', { action, target }) : t('toolview.runtimeSummaryWithContent', { action, target, content });
105
- }
106
- case 'mnemon_document_manage': {
107
- const action = typeof args.action === 'string' ? args.action : '';
108
- const title = typeof args.title === 'string' ? truncateInline(args.title, 40) : '';
109
- return title === '' ? t('toolview.documentManageSummary', { action }) : t('toolview.documentManageSummaryWithTitle', { action, title });
110
- }
111
- case 'mnemon_link': {
112
- const source = typeof args.sourceId === 'string' ? truncateInline(args.sourceId, 18) : '?';
113
- const target = typeof args.targetId === 'string' ? truncateInline(args.targetId, 18) : '?';
114
- return `${source} → ${target}`;
115
- }
116
- case 'mnemon_forget':
117
- return typeof args.id === 'string' ? truncateInline(args.id, 56) : t('toolview.genericSummary');
118
- case 'mnemon_memory_body_create':
119
- return typeof args.name === 'string' ? truncateInline(args.name, 56) : t('toolview.genericSummary');
120
- case 'mnemon_memory_body_update': {
121
- const id = typeof args.memoryBodyId === 'string' ? truncateInline(args.memoryBodyId, 32) : '';
122
- return id === '' ? t('toolview.genericSummary') : t('toolview.bodyUpdateSummary', { id });
123
- }
124
- case 'mnemon_memory_body_merge': {
125
- const target = typeof args.targetMemoryBodyId === 'string' ? truncateInline(args.targetMemoryBodyId, 24) : '?';
126
- const sources = countOf(args.sourceMemoryBodyIds) ?? 0;
127
- return t('toolview.bodyMergeSummary', { target, count: sources });
128
- }
129
- default:
130
- return t('toolview.genericSummary');
131
- }
132
- }
133
- /** Render one mnemon_* tool call as a memory-flavoured row with expandable evidence. */
134
- export const MnemonToolView = memo(function MnemonToolView({ toolName, block, inspect, sessionId, t }) {
135
- const [open, setOpen] = useState(false);
136
- const settled = isSettled(block);
137
- const record = block;
138
- const state = !settled
139
- ? 'running'
140
- : record?.error?.code === 'interrupted'
141
- ? 'stopped'
142
- : record?.isError === true
143
- ? 'error'
144
- : 'ok';
145
- const args = useMemo(() => argsOf(block), [block]);
146
- const out = useMemo(() => outputJson(block), [block]);
147
- const text = useMemo(() => resultText(block), [block]);
148
- const title = READ_TOOLS.has(toolName) ? t('toolview.recallTitle') : t('toolview.writeTitle');
149
- const summary = summaryFor(toolName, args, out, t);
150
- const target = ANCHOR_TARGETS[toolName];
151
- const seed = target?.seed?.(args);
152
- const toggle = () => setOpen(value => !value);
153
- const openView = (event) => {
154
- event.stopPropagation();
155
- if (target === undefined)
156
- return;
157
- dispatchMnemonAnchor({ page: target.page, ...(seed === undefined ? {} : { seed }), ...(sessionId === undefined ? {} : { sessionId }) });
158
- };
159
- const inspectCall = (event) => {
160
- event.stopPropagation();
161
- inspect?.();
162
- };
163
- const showArgs = Object.keys(args).length > 0;
164
- const showResult = text !== '';
165
- return (_jsxs("div", { className: css.root, "data-state": state, "data-open": open || undefined, children: [_jsxs("div", { className: css.row, role: "button", tabIndex: 0, "aria-expanded": open, "aria-label": `${title}:${summary}`, onClick: toggle, onKeyDown: event => { if (event.key === 'Enter' || event.key === ' ') {
166
- event.preventDefault();
167
- toggle();
168
- } }, children: [_jsx("span", { className: `${css.dot} ${state === 'running' ? css.dotRunning : state === 'error' ? css.dotError : state === 'stopped' ? css.dotStopped : css.dotOk}`, "aria-hidden": "true" }), _jsx(MnemonLogo, { className: css.leading, title: title }), _jsx("span", { className: css.title, children: title }), _jsx("span", { className: css.summary, children: summary }), (inspect !== undefined || target !== undefined) && (_jsxs("span", { className: css.actions, onClick: event => event.stopPropagation(), children: [target !== undefined && _jsx("button", { type: "button", className: css.actionButton, onClick: openView, title: t('toolview.openView'), children: t('toolview.openView') }), settled && inspect !== undefined && _jsx("button", { type: "button", className: css.actionButton, onClick: inspectCall, title: t('toolview.inspect'), children: t('toolview.inspect') })] })), _jsx("span", { className: `${css.chevron} ${open ? css.chevronOpen : ''}`, "aria-hidden": "true" })] }), open && (_jsxs("div", { className: css.details, onClick: event => event.stopPropagation(), children: [showArgs && _jsxs("div", { className: css.detailSection, children: [_jsx("span", { className: css.detailLabel, children: t('toolview.args') }), _jsx("pre", { className: css.detailCode, children: truncateBlock(JSON.stringify(args, null, 2), 2000) })] }), showResult && _jsxs("div", { className: css.detailSection, children: [_jsx("span", { className: css.detailLabel, children: t('toolview.result') }), _jsx("pre", { className: css.detailCode, children: truncateBlock(text, 4000) })] }), !showArgs && !showResult && _jsx("div", { className: css.detailEmpty, children: state === 'running' ? t('toolview.running') : t('toolview.noResult') })] }))] }));
169
- });
170
- /** Tool name → toolview component, registered as keyed `tool.call.toolview` entries. */
171
- export const MNEMON_TOOLVIEW_NAMES = Object.keys(ANCHOR_TARGETS);
172
- //# sourceMappingURL=MnemonToolviews.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MnemonToolviews.js","sourceRoot":"","sources":["../../../src/client/MnemonToolviews.tsx"],"names":[],"mappings":"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"}