dsh-mnemon 0.1.0

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 (145) hide show
  1. package/LICENSE +21 -0
  2. package/README.en.md +169 -0
  3. package/README.md +169 -0
  4. package/cordis.patch.yml +15 -0
  5. package/docs/README.md +8 -0
  6. package/docs/en/README.md +39 -0
  7. package/docs/en/architecture.md +129 -0
  8. package/docs/en/assets/project-architecture.svg +182 -0
  9. package/docs/en/configuration.md +204 -0
  10. package/docs/en/development.md +178 -0
  11. package/docs/en/getting-started.md +147 -0
  12. package/docs/en/interfaces.md +159 -0
  13. package/docs/en/operations.md +151 -0
  14. package/docs/en/project-overview.md +247 -0
  15. package/docs/en/roadmap.md +41 -0
  16. package/docs/en/storage-model.md +179 -0
  17. package/docs/en/workflows.md +290 -0
  18. package/docs/zh-CN/README.md +39 -0
  19. package/docs/zh-CN/architecture.md +129 -0
  20. package/docs/zh-CN/assets/project-architecture.svg +182 -0
  21. package/docs/zh-CN/assets/screenshots/conversation-recall.png +0 -0
  22. package/docs/zh-CN/assets/screenshots/conversation-writeback.png +0 -0
  23. package/docs/zh-CN/assets/screenshots/documents-markdown.png +0 -0
  24. package/docs/zh-CN/assets/screenshots/entities-context.png +0 -0
  25. package/docs/zh-CN/assets/screenshots/memory-content.png +0 -0
  26. package/docs/zh-CN/assets/screenshots/overview-memory-graph.png +0 -0
  27. package/docs/zh-CN/assets/screenshots/recall-agent-answer.png +0 -0
  28. package/docs/zh-CN/assets/screenshots/runtime-memory.png +0 -0
  29. package/docs/zh-CN/configuration.md +204 -0
  30. package/docs/zh-CN/development.md +178 -0
  31. package/docs/zh-CN/getting-started.md +147 -0
  32. package/docs/zh-CN/interfaces.md +159 -0
  33. package/docs/zh-CN/operations.md +151 -0
  34. package/docs/zh-CN/project-overview.md +247 -0
  35. package/docs/zh-CN/roadmap.md +41 -0
  36. package/docs/zh-CN/storage-model.md +179 -0
  37. package/docs/zh-CN/workflows.md +290 -0
  38. package/lib/client.js +6288 -0
  39. package/lib/client.js.map +1 -0
  40. package/lib/index.js +4453 -0
  41. package/lib/types/client/MnemonLogo.d.ts +7 -0
  42. package/lib/types/client/MnemonLogo.d.ts.map +1 -0
  43. package/lib/types/client/MnemonLogo.js +6 -0
  44. package/lib/types/client/MnemonLogo.js.map +1 -0
  45. package/lib/types/client/MnemonSettingsCard.d.ts +9 -0
  46. package/lib/types/client/MnemonSettingsCard.d.ts.map +1 -0
  47. package/lib/types/client/MnemonSettingsCard.js +109 -0
  48. package/lib/types/client/MnemonSettingsCard.js.map +1 -0
  49. package/lib/types/client/MnemonView.d.ts +11 -0
  50. package/lib/types/client/MnemonView.d.ts.map +1 -0
  51. package/lib/types/client/MnemonView.js +1239 -0
  52. package/lib/types/client/MnemonView.js.map +1 -0
  53. package/lib/types/client/api.d.ts +68 -0
  54. package/lib/types/client/api.d.ts.map +1 -0
  55. package/lib/types/client/api.js +80 -0
  56. package/lib/types/client/api.js.map +1 -0
  57. package/lib/types/client/index.d.ts +4 -0
  58. package/lib/types/client/index.d.ts.map +1 -0
  59. package/lib/types/client/index.js +36 -0
  60. package/lib/types/client/index.js.map +1 -0
  61. package/lib/types/client/locales.d.ts +1054 -0
  62. package/lib/types/client/locales.d.ts.map +1 -0
  63. package/lib/types/client/locales.js +1062 -0
  64. package/lib/types/client/locales.js.map +1 -0
  65. package/lib/types/client/settings.d.ts +17 -0
  66. package/lib/types/client/settings.d.ts.map +1 -0
  67. package/lib/types/client/settings.js +49 -0
  68. package/lib/types/client/settings.js.map +1 -0
  69. package/lib/types/commands.d.ts +6 -0
  70. package/lib/types/commands.d.ts.map +1 -0
  71. package/lib/types/commands.js +100 -0
  72. package/lib/types/commands.js.map +1 -0
  73. package/lib/types/config-values.d.ts +4 -0
  74. package/lib/types/config-values.d.ts.map +1 -0
  75. package/lib/types/config-values.js +4 -0
  76. package/lib/types/config-values.js.map +1 -0
  77. package/lib/types/config.d.ts +49 -0
  78. package/lib/types/config.d.ts.map +1 -0
  79. package/lib/types/config.js +55 -0
  80. package/lib/types/config.js.map +1 -0
  81. package/lib/types/contracts.d.ts +272 -0
  82. package/lib/types/contracts.d.ts.map +1 -0
  83. package/lib/types/contracts.js +2 -0
  84. package/lib/types/contracts.js.map +1 -0
  85. package/lib/types/documents.d.ts +149 -0
  86. package/lib/types/documents.d.ts.map +1 -0
  87. package/lib/types/documents.js +503 -0
  88. package/lib/types/documents.js.map +1 -0
  89. package/lib/types/guidance.d.ts +9 -0
  90. package/lib/types/guidance.d.ts.map +1 -0
  91. package/lib/types/guidance.js +18 -0
  92. package/lib/types/guidance.js.map +1 -0
  93. package/lib/types/index.d.ts +15 -0
  94. package/lib/types/index.d.ts.map +1 -0
  95. package/lib/types/index.js +45 -0
  96. package/lib/types/index.js.map +1 -0
  97. package/lib/types/lifecycle.d.ts +75 -0
  98. package/lib/types/lifecycle.d.ts.map +1 -0
  99. package/lib/types/lifecycle.js +380 -0
  100. package/lib/types/lifecycle.js.map +1 -0
  101. package/lib/types/memory-bodies.d.ts +47 -0
  102. package/lib/types/memory-bodies.d.ts.map +1 -0
  103. package/lib/types/memory-bodies.js +160 -0
  104. package/lib/types/memory-bodies.js.map +1 -0
  105. package/lib/types/process.d.ts +14 -0
  106. package/lib/types/process.d.ts.map +1 -0
  107. package/lib/types/process.js +65 -0
  108. package/lib/types/process.js.map +1 -0
  109. package/lib/types/review-activity.d.ts +33 -0
  110. package/lib/types/review-activity.d.ts.map +1 -0
  111. package/lib/types/review-activity.js +37 -0
  112. package/lib/types/review-activity.js.map +1 -0
  113. package/lib/types/rpc.d.ts +12 -0
  114. package/lib/types/rpc.d.ts.map +1 -0
  115. package/lib/types/rpc.js +225 -0
  116. package/lib/types/rpc.js.map +1 -0
  117. package/lib/types/runner.d.ts +29 -0
  118. package/lib/types/runner.d.ts.map +1 -0
  119. package/lib/types/runner.js +150 -0
  120. package/lib/types/runner.js.map +1 -0
  121. package/lib/types/runtime-memory.d.ts +104 -0
  122. package/lib/types/runtime-memory.d.ts.map +1 -0
  123. package/lib/types/runtime-memory.js +415 -0
  124. package/lib/types/runtime-memory.js.map +1 -0
  125. package/lib/types/service.d.ts +173 -0
  126. package/lib/types/service.d.ts.map +1 -0
  127. package/lib/types/service.js +508 -0
  128. package/lib/types/service.js.map +1 -0
  129. package/lib/types/settings.d.ts +6 -0
  130. package/lib/types/settings.d.ts.map +1 -0
  131. package/lib/types/settings.js +75 -0
  132. package/lib/types/settings.js.map +1 -0
  133. package/lib/types/storage-scope.d.ts +39 -0
  134. package/lib/types/storage-scope.d.ts.map +1 -0
  135. package/lib/types/storage-scope.js +179 -0
  136. package/lib/types/storage-scope.js.map +1 -0
  137. package/lib/types/subagent.d.ts +97 -0
  138. package/lib/types/subagent.d.ts.map +1 -0
  139. package/lib/types/subagent.js +619 -0
  140. package/lib/types/subagent.js.map +1 -0
  141. package/lib/types/tools.d.ts +8 -0
  142. package/lib/types/tools.d.ts.map +1 -0
  143. package/lib/types/tools.js +328 -0
  144. package/lib/types/tools.js.map +1 -0
  145. package/package.json +111 -0
@@ -0,0 +1,272 @@
1
+ export type JsonPrimitive = string | number | boolean | null;
2
+ export type JsonValue = JsonPrimitive | JsonValue[] | {
3
+ [key: string]: JsonValue;
4
+ };
5
+ /** Plugin RPC failures use only error branches accepted by DSH's closed wire schema. */
6
+ export type RpcError = {
7
+ code: 'bad-request';
8
+ message: string;
9
+ details: {
10
+ issues: JsonValue[];
11
+ };
12
+ } | {
13
+ code: 'settings-rejected';
14
+ message: string;
15
+ details: {
16
+ ns: string;
17
+ };
18
+ } | {
19
+ code: 'internal';
20
+ message: string;
21
+ details: Record<string, never>;
22
+ };
23
+ export type RpcResult<T = JsonValue> = {
24
+ ok: true;
25
+ value: T;
26
+ } | {
27
+ ok: false;
28
+ error: RpcError;
29
+ };
30
+ export interface ClientConnectionHandle {
31
+ rpc: {
32
+ call(channel: string, endpoint: string, payload: unknown): Promise<RpcResult<unknown>>;
33
+ };
34
+ }
35
+ export type HostRpcHandler = (endpoint: string, payload: unknown) => Promise<RpcResult<unknown>>;
36
+ export interface HostConnectionHandle {
37
+ rpc: {
38
+ handle(channel: string, handler: HostRpcHandler, options: {
39
+ authority: 'trusted-host' | 'loopback';
40
+ }): unknown;
41
+ };
42
+ }
43
+ export interface HostSettingsScope<T> {
44
+ get(): T;
45
+ }
46
+ export interface HostSettingsService {
47
+ readonly writable: boolean;
48
+ register<T>(namespace: string, schema: unknown, options: {
49
+ base?: Partial<T>;
50
+ applies: 'live' | 'restart';
51
+ validate?: (value: T) => void;
52
+ }): HostSettingsScope<T>;
53
+ describe(options?: {
54
+ redactSecrets?: boolean;
55
+ }): Array<{
56
+ ns: string;
57
+ value: unknown;
58
+ base?: unknown;
59
+ user?: unknown;
60
+ revision: number;
61
+ applies: 'live' | 'restart';
62
+ }>;
63
+ mutate(namespace: string, ops: Array<{
64
+ op: 'set';
65
+ path: string[];
66
+ value: unknown;
67
+ } | {
68
+ op: 'unset';
69
+ path: string[];
70
+ }>, expectedRevision?: number): Promise<void>;
71
+ }
72
+ export interface ToolExecution {
73
+ signal: AbortSignal;
74
+ agent?: HostAgent;
75
+ }
76
+ export type CommandResult = {
77
+ kind: 'success';
78
+ text?: string;
79
+ } | {
80
+ kind: 'error';
81
+ text: string;
82
+ };
83
+ export interface CommandInvocation {
84
+ agent: HostAgent;
85
+ rawInput: string;
86
+ signal: AbortSignal;
87
+ }
88
+ export interface CommandDefinition {
89
+ name: string;
90
+ description: string;
91
+ input?: {
92
+ hint: string;
93
+ };
94
+ handler(invocation: CommandInvocation): CommandResult | Promise<CommandResult>;
95
+ }
96
+ export interface CommandService {
97
+ register(definition: CommandDefinition): unknown;
98
+ }
99
+ export interface ToolDefinition {
100
+ name: string;
101
+ description: string;
102
+ parameters: Record<string, unknown>;
103
+ output: {
104
+ schema: Record<string, unknown>;
105
+ render: (args: Record<string, unknown>, value: never) => Array<{
106
+ type: 'text';
107
+ text: string;
108
+ }>;
109
+ };
110
+ execute: (args: never, execution: ToolExecution) => Promise<unknown>;
111
+ presentCall?: (args: never) => Record<string, unknown>;
112
+ presentResult?: () => Record<string, unknown>;
113
+ }
114
+ export interface HostMessageSource {
115
+ kind: string;
116
+ plugin?: string;
117
+ form?: string;
118
+ summary?: string;
119
+ }
120
+ export interface HostUserMessage {
121
+ id: string;
122
+ role: 'user';
123
+ content: Array<{
124
+ type: 'text';
125
+ text: string;
126
+ }>;
127
+ source: HostMessageSource;
128
+ }
129
+ export interface HostSessionEvent {
130
+ type: string;
131
+ seq?: number;
132
+ time?: number;
133
+ data: Record<string, unknown>;
134
+ }
135
+ export type HostPreStepDecision = {
136
+ kind: 'reject';
137
+ } | {
138
+ kind: 'enter';
139
+ messages: HostUserMessage[];
140
+ };
141
+ export interface HostAgentContext {
142
+ on(name: string, listener: (...args: never[]) => unknown): () => unknown;
143
+ effect(callback: () => (() => unknown) | void, label?: string): () => unknown;
144
+ }
145
+ export interface HostAgent {
146
+ id: string;
147
+ status: 'idle' | 'running';
148
+ options?: {
149
+ provider?: string;
150
+ model?: string;
151
+ maxTokens?: number;
152
+ };
153
+ session: {
154
+ header?: {
155
+ origin?: 'subagent';
156
+ delegationDepth?: number;
157
+ cwd?: string;
158
+ };
159
+ events: readonly HostSessionEvent[];
160
+ };
161
+ ctx: HostAgentContext;
162
+ followup(message: HostUserMessage): void;
163
+ steer(message: HostUserMessage): void;
164
+ inject(message: HostUserMessage): void;
165
+ }
166
+ export interface HostAgentsService {
167
+ get(id: string): HostAgent | undefined;
168
+ roots(): HostAgent[];
169
+ }
170
+ export interface HostSubagentResult {
171
+ output: Array<{
172
+ type: string;
173
+ text?: string;
174
+ [key: string]: unknown;
175
+ }>;
176
+ structured?: unknown;
177
+ stopReason: string;
178
+ }
179
+ export interface HostSubagentRun {
180
+ id: string;
181
+ localAgent?: HostAgent;
182
+ result: Promise<HostSubagentResult>;
183
+ dispose(): Promise<void>;
184
+ }
185
+ export interface HostSubagentProvider {
186
+ inheritsParentContext?: boolean;
187
+ capabilities: {
188
+ outputSchema: boolean;
189
+ depthLimit: boolean;
190
+ toolFilter: boolean;
191
+ persona: boolean;
192
+ };
193
+ }
194
+ export interface HostSubagentsService {
195
+ list(): string[];
196
+ getProvider(name: string): HostSubagentProvider | undefined;
197
+ start(name: string, request: {
198
+ label?: string;
199
+ prompt: Array<{
200
+ type: 'text';
201
+ text: string;
202
+ }>;
203
+ parent: HostAgent;
204
+ signal: AbortSignal;
205
+ agentOptions?: {
206
+ provider?: string;
207
+ model?: string;
208
+ maxTokens?: number;
209
+ };
210
+ outputSchema?: Record<string, unknown>;
211
+ maxDepth?: number;
212
+ toolFilter?: {
213
+ allow?: string[];
214
+ deny?: string[];
215
+ };
216
+ persona?: string;
217
+ }): Promise<HostSubagentRun>;
218
+ }
219
+ export interface HostContextShape {
220
+ tools: {
221
+ register(definition: ToolDefinition): unknown;
222
+ };
223
+ commands: CommandService;
224
+ settings: HostSettingsService;
225
+ connection: HostConnectionHandle;
226
+ agents: HostAgentsService;
227
+ subagents: HostSubagentsService;
228
+ get(name: string): unknown;
229
+ inject(services: string[], callback: (ctx: HostContextShape) => void): unknown;
230
+ on(name: string, listener: (...args: never[]) => unknown): () => unknown;
231
+ effect(callback: () => (() => unknown) | void, label?: string): () => unknown;
232
+ }
233
+ export interface SlotsService {
234
+ inject(name: string, factory: () => unknown): unknown;
235
+ register(options: {
236
+ name: string;
237
+ id: string;
238
+ order?: number;
239
+ label?: string | (() => string);
240
+ locale?: string;
241
+ inject?: () => Record<string, unknown>;
242
+ }, component: (props: never) => unknown): unknown;
243
+ }
244
+ export interface ClientLocaleService {
245
+ register(namespace: string, dictionaries: {
246
+ zh: Record<string, string>;
247
+ en: Record<string, string>;
248
+ }): () => void;
249
+ bind(namespace: string): (key: string, params?: Record<string, unknown>) => string;
250
+ }
251
+ export interface ClientSettingsSnapshot<T> {
252
+ status: 'loading' | 'ready' | 'unavailable';
253
+ value?: T;
254
+ base?: unknown;
255
+ user?: unknown;
256
+ revision?: number;
257
+ writable: boolean;
258
+ mode: 'host' | 'memory';
259
+ }
260
+ export interface ClientSettingsScope<T> {
261
+ getSnapshot(): ClientSettingsSnapshot<T>;
262
+ subscribe(listener: () => void): () => void;
263
+ set(field: string, value: unknown): Promise<void>;
264
+ unset(field: string): Promise<void>;
265
+ }
266
+ export interface ClientContextShape {
267
+ slots: SlotsService;
268
+ connection: ClientConnectionHandle;
269
+ locale: ClientLocaleService;
270
+ effect(callback: () => (() => unknown) | void, label?: string): () => unknown;
271
+ }
272
+ //# sourceMappingURL=contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/contracts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/contracts.ts"],"names":[],"mappings":""}
@@ -0,0 +1,149 @@
1
+ import type { HostAgent } from './contracts.ts';
2
+ export declare const DOCUMENTS_VERSION = 1;
3
+ export declare const DOCUMENTS_ACTIVE_LIMIT_BYTES: number;
4
+ export type DocumentStatus = 'active' | 'archived';
5
+ export interface DocumentRecord {
6
+ id: string;
7
+ title: string;
8
+ description: string;
9
+ status: DocumentStatus;
10
+ filename: string;
11
+ relativePath: string;
12
+ sourcePaths: string[];
13
+ sessionIds: string[];
14
+ createdAt: string;
15
+ updatedAt: string;
16
+ lastAccessedAt: string;
17
+ revision: number;
18
+ contentHash: string;
19
+ sizeBytes: number;
20
+ archivedAt?: string;
21
+ archiveSummary?: string;
22
+ memoryBodyIds: string[];
23
+ }
24
+ export interface DocumentView extends DocumentRecord {
25
+ content: string;
26
+ }
27
+ export interface DocumentSnapshot {
28
+ workspaceRoot: string;
29
+ directory: string;
30
+ indexPath: string;
31
+ generatedAt: string;
32
+ revision: string;
33
+ limitBytes: number;
34
+ activeBytes: number;
35
+ activeCount: number;
36
+ archivedCount: number;
37
+ total: number;
38
+ documents: Array<DocumentRecord & {
39
+ healthy: boolean;
40
+ excerpt: string;
41
+ }>;
42
+ }
43
+ export interface DocumentSearchResult {
44
+ query: string;
45
+ includeArchived: boolean;
46
+ total: number;
47
+ generatedAt: string;
48
+ results: Array<DocumentView & {
49
+ score: number;
50
+ excerpt: string;
51
+ }>;
52
+ }
53
+ export type DocumentMutation = {
54
+ action: 'create';
55
+ title: string;
56
+ description?: string;
57
+ content: string;
58
+ sourcePaths?: string[];
59
+ sessionIds?: string[];
60
+ } | {
61
+ action: 'update';
62
+ id: string;
63
+ title?: string;
64
+ description?: string;
65
+ content?: string;
66
+ sourcePaths?: string[];
67
+ sessionIds?: string[];
68
+ };
69
+ export interface DocumentMutationResult {
70
+ success: true;
71
+ action: 'created' | 'updated' | 'archived';
72
+ document: DocumentView;
73
+ snapshot: DocumentSnapshot;
74
+ maintenance?: {
75
+ runId: string;
76
+ provider: string;
77
+ summary: string;
78
+ memoryBodyIds: string[];
79
+ archivedDocumentIds: string[];
80
+ };
81
+ }
82
+ export interface DocumentCapacityPlan {
83
+ projected: number;
84
+ limit: number;
85
+ fits: boolean;
86
+ candidates: DocumentRecord[];
87
+ }
88
+ export declare class DocumentCapacityError extends Error {
89
+ readonly projected: number;
90
+ readonly limit: number;
91
+ readonly candidates: DocumentRecord[];
92
+ constructor(projected: number, limit: number, candidates: DocumentRecord[]);
93
+ }
94
+ export declare class DocumentConflictError extends Error {
95
+ constructor();
96
+ }
97
+ /** Project-scoped control plane for managed active and cold document copies. */
98
+ export declare class DocumentController {
99
+ readonly limitBytes: number;
100
+ private readonly now;
101
+ readonly workspaceRoot: string;
102
+ readonly storageRoot: string;
103
+ readonly directory: string;
104
+ readonly activeDirectory: string;
105
+ readonly archivedDirectory: string;
106
+ readonly indexPath: string;
107
+ readonly lockPath: string;
108
+ private readonly managedRelativePrefix;
109
+ private queue;
110
+ constructor(workspaceRoot: string, limitBytes?: number, now?: () => Date, storageRoot?: string);
111
+ snapshot(): DocumentSnapshot;
112
+ get(id: string): DocumentView;
113
+ capacityPlan(request: DocumentMutation): DocumentCapacityPlan;
114
+ search(query: string, options?: {
115
+ includeArchived?: boolean;
116
+ limit?: number;
117
+ }): Promise<DocumentSearchResult>;
118
+ mutate(request: DocumentMutation): Promise<DocumentMutationResult>;
119
+ archive(id: string, expectedRevision: number, details: {
120
+ summary: string;
121
+ memoryBodyIds: string[];
122
+ }): Promise<DocumentMutationResult>;
123
+ private mutateLocked;
124
+ private initialize;
125
+ private readIndex;
126
+ private snapshotUnlocked;
127
+ private requireDocument;
128
+ private assertCapacity;
129
+ private normalizeSourcePaths;
130
+ private relativeManagedPath;
131
+ private pathFor;
132
+ private readBody;
133
+ private view;
134
+ private persistDocument;
135
+ private persistIndex;
136
+ private atomicWrite;
137
+ private withLock;
138
+ }
139
+ /** Resolves one cached controller per canonical DSH workspace. */
140
+ export declare class DocumentManager {
141
+ private readonly limitBytes;
142
+ private readonly now;
143
+ private readonly storageRoot?;
144
+ private readonly controllers;
145
+ constructor(limitBytes?: number, now?: () => Date, storageRoot?: (() => string) | undefined);
146
+ forWorkspace(workspaceRoot: string): DocumentController;
147
+ forAgent(agent: HostAgent): DocumentController;
148
+ }
149
+ //# sourceMappingURL=documents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/documents.ts"],"names":[],"mappings":"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"}