dsh-super-code 0.1.4 → 0.2.1
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.
- package/README.md +43 -31
- package/client/index.js +253 -20
- package/docs/Changelog.md +41 -0
- package/docs/Compatibility.md +76 -0
- package/docs/EvaluationResults.md +66 -0
- package/docs/UsageGuide.md +114 -0
- package/docs/images/agent-tree-preview.png +0 -0
- package/docs/images/agent-tree.png +0 -0
- package/docs/images/preset-settings-preview.png +0 -0
- package/docs/images/preset-settings.png +0 -0
- package/lib/core/host-messages.d.ts +11 -0
- package/lib/core/host-messages.d.ts.map +1 -0
- package/lib/core/host-messages.js +13 -0
- package/lib/core/host-messages.js.map +1 -0
- package/lib/core/task-memory.d.ts +6 -0
- package/lib/core/task-memory.d.ts.map +1 -1
- package/lib/core/task-memory.js +13 -4
- package/lib/core/task-memory.js.map +1 -1
- package/lib/core/tool-evidence.d.ts.map +1 -1
- package/lib/core/tool-evidence.js +9 -9
- package/lib/core/tool-evidence.js.map +1 -1
- package/lib/dsh/index.d.ts +1 -1
- package/lib/dsh/index.d.ts.map +1 -1
- package/lib/dsh/index.js +23 -1
- package/lib/dsh/index.js.map +1 -1
- package/lib/dsh/memory-library.d.ts +45 -0
- package/lib/dsh/memory-library.d.ts.map +1 -0
- package/lib/dsh/memory-library.js +106 -0
- package/lib/dsh/memory-library.js.map +1 -0
- package/lib/dsh/preset-files.d.ts +26 -0
- package/lib/dsh/preset-files.d.ts.map +1 -0
- package/lib/dsh/preset-files.js +44 -0
- package/lib/dsh/preset-files.js.map +1 -0
- package/lib/dsh/preset-installation.d.ts +2 -2
- package/lib/dsh/preset-installation.d.ts.map +1 -1
- package/lib/dsh/preset-installation.js +5 -8
- package/lib/dsh/preset-installation.js.map +1 -1
- package/lib/dsh/preset-metadata.js +1 -1
- package/lib/dsh/preset-metadata.js.map +1 -1
- package/lib/dsh/super-code.d.ts.map +1 -1
- package/lib/dsh/super-code.js +159 -3
- package/lib/dsh/super-code.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/long-memory.d.ts +75 -0
- package/lib/long-memory.d.ts.map +1 -0
- package/lib/long-memory.js +126 -0
- package/lib/long-memory.js.map +1 -0
- package/lib/memory-usage-projection.d.ts +46 -0
- package/lib/memory-usage-projection.d.ts.map +1 -0
- package/lib/memory-usage-projection.js +111 -0
- package/lib/memory-usage-projection.js.map +1 -0
- package/lib/task-memory-projection.d.ts +7 -0
- package/lib/task-memory-projection.d.ts.map +1 -1
- package/lib/task-memory-projection.js +4 -2
- package/lib/task-memory-projection.js.map +1 -1
- package/lib/task-memory-store.js +1 -1
- package/lib/task-memory-store.js.map +1 -1
- package/locales/en.json +6 -0
- package/locales/zh.json +6 -0
- package/package.json +31 -13
package/lib/dsh/super-code.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import z from '@deepseek-ai/schemastery';
|
|
2
2
|
import { defineTool } from '@deepseek-ai/dsh-tools';
|
|
3
|
-
import { SessionSeq } from '@deepseek-ai/dsh-session';
|
|
3
|
+
import { SessionId, SessionSeq } from '@deepseek-ai/dsh-session';
|
|
4
4
|
import { PERSONA_PREFIX_SECTION } from '@deepseek-ai/dsh-system-prompt';
|
|
5
5
|
import { TEAM_NAMES, METHODS, SUPER_CODE_INSTRUCTIONS, readTeamMethod } from '../core/teams.js';
|
|
6
6
|
import { EXPERIMENT_RECIPES, readExperimentRecipe } from '../core/experiment-recipes.js';
|
|
@@ -12,6 +12,7 @@ import { createGuidanceSelector, GUIDED_INSTRUCTIONS } from '../core/guidance.js
|
|
|
12
12
|
import { listToolEvidence, readToolEvidence, toolEvidenceRef } from '../core/tool-evidence.js';
|
|
13
13
|
import { scanSessionPage } from '../core/session-scan.js';
|
|
14
14
|
import { TaskMemoryStore } from '../task-memory-store.js';
|
|
15
|
+
import { LongMemoryStore, longMemoryContext, longMemoryEntrySchema, memoryWorkspace, memoryGlobalNamespace, GLOBAL_PREFERENCES_TOPIC } from '../long-memory.js';
|
|
15
16
|
export const name = 'super-code';
|
|
16
17
|
export const inject = ['tools', 'systemPrompt', 'sessions', 'sessionProjections'];
|
|
17
18
|
export const Config = z.object({
|
|
@@ -87,6 +88,37 @@ export function apply(ctx, config = {}) {
|
|
|
87
88
|
return 'The last task-memory checkpoint is unconfirmed. Use super_code_task read to retry persistence before relying on it.';
|
|
88
89
|
return taskMemoryContext(memory.current(agent.session), maxContextBytes);
|
|
89
90
|
} });
|
|
91
|
+
ctx.systemPrompt.context({ name: 'super-code:project-memory', order: 81, text: ({ agent }) => {
|
|
92
|
+
if (!agent)
|
|
93
|
+
return '';
|
|
94
|
+
if (memory.isPending(agent.session))
|
|
95
|
+
return '';
|
|
96
|
+
const state = memory.current(agent.session);
|
|
97
|
+
const task = state.focus.kind === 'task' ? state.tasks[state.focus.id] : undefined;
|
|
98
|
+
if (!task?.topic)
|
|
99
|
+
return '';
|
|
100
|
+
const longMemory = ctx.get('superCodeLongMemory');
|
|
101
|
+
if (!longMemory)
|
|
102
|
+
return 'Long memory is unavailable; current task memory remains available.';
|
|
103
|
+
let workspace;
|
|
104
|
+
try {
|
|
105
|
+
workspace = memoryWorkspace(agent.session);
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
return 'Long memory cannot read this workspace; verify its path before relying on it.';
|
|
109
|
+
}
|
|
110
|
+
const found = longMemory.read(workspace, task.topic);
|
|
111
|
+
return found.kind === 'found' ? longMemoryContext(found.value, 2048, task.sourceVersion) : '';
|
|
112
|
+
} });
|
|
113
|
+
ctx.systemPrompt.context({ name: 'super-code:global-memory', order: 82, text: ({ agent }) => {
|
|
114
|
+
if (!agent || memory.isPending(agent.session))
|
|
115
|
+
return '';
|
|
116
|
+
const longMemory = ctx.get('superCodeLongMemory');
|
|
117
|
+
if (!longMemory)
|
|
118
|
+
return '';
|
|
119
|
+
const found = longMemory.read(memoryGlobalNamespace(), GLOBAL_PREFERENCES_TOPIC);
|
|
120
|
+
return found.kind === 'found' ? `Lower priority than the current user request, conversation and project memory: ${longMemoryContext(found.value, 1024)}` : '';
|
|
121
|
+
} });
|
|
90
122
|
ctx.tools.register(defineTool({
|
|
91
123
|
name: 'super_code_method',
|
|
92
124
|
description: 'Read expertise when causes remain indistinguishable, failures repeat or recovery/state behavior is unclear. Select a method directly; omit it only to inspect a team. Reuse loaded guidance; batch with independent reads. Not a routine prerequisite.',
|
|
@@ -101,7 +133,7 @@ export function apply(ctx, config = {}) {
|
|
|
101
133
|
}));
|
|
102
134
|
ctx.tools.register(defineTool({
|
|
103
135
|
name: 'super_code_task',
|
|
104
|
-
description: `Task memory; never grants permission or executes work. Simple tasks need no record. Actions: list; read(taskId,view?); source(eventSeq); create(record); update(taskId,expectedRevision,record patch); focus(taskId); archive(taskId,expectedRevision); history(eventSeq). Create fields: id,title,team,depth,workspace,sourceVersion,goal,source:{seq,quote},requirements:[{id,text,source:{seq,quote}}],acceptance:[string]. Source seqs appear in runtime context. Update preserves omitted fields; requirement entries replace matching ids, removeRequirements explicitly removes ids. Goal/requirements/workspace/acceptance changes need a user source. Old evidence
|
|
136
|
+
description: `Task memory; never grants permission or executes work. Simple tasks need no record. Actions: list; read(taskId,view?); source(eventSeq); create(record); update(taskId,expectedRevision,record patch); focus(taskId); archive(taskId,expectedRevision); history(eventSeq). Create fields: id,title,team,depth,workspace,sourceVersion,goal,source:{seq,quote},requirements:[{id,text,source:{seq,quote}}],acceptance:[string]. Optional topic is a specific project task category shared across sessions; keyPoints:[{kind:constraint|fact|decision|next,summary:up to 30 characters}] replaces routine decision text in context, with full details still readable. Source seqs appear in runtime context. Update preserves omitted fields; requirement entries replace matching ids, removeRequirements explicitly removes ids. Goal/requirements/workspace/acceptance/topic changes need a user source. Old evidence and key points become stale on requirements/source revision changes. Optional updates: decisions:[string], evidence:[{summary,ref,sourceVersion,requirementsRevision,kind:observed|assumption|test|decision}], next:string, status:active|paused|completed|cancelled. Archive only finished tasks; keep eventSeq to read history. Focus does not stop work. delegate(taskId,record:{owner,attemptId,objective,ownedPaths:[string],acceptance:[string],maxTokens}) returns a compact brief to pass to host subagent. validate_member(taskId,record:{assignment:original assignment,result:{binding,owner,attemptId,outcome:completed|failed|cancelled|stop_unknown,summary,artifacts:[string],checks:[string],unknowns:[string]}}) rejects stale returns; reviewable still needs lead review. Accounting is separate; never guess costs or treat model-reported usage as a verified budget.`,
|
|
105
137
|
// Pagination never scans or returns an unbounded archive in one tool call.
|
|
106
138
|
parameters: {
|
|
107
139
|
action: { type: 'string', enum: ['list', 'read', 'source', 'create', 'update', 'focus', 'archive', 'archives', 'restore', 'history', 'delegate', 'validate_member', 'evidence'], required: true,
|
|
@@ -187,7 +219,7 @@ export function apply(ctx, config = {}) {
|
|
|
187
219
|
throw new Error(`Task ${task.id} already exists`);
|
|
188
220
|
if (Object.keys(state.tasks).length >= maxTasks)
|
|
189
221
|
throw new Error('Working set is full; archive a completed task first');
|
|
190
|
-
change = { kind: 'save', task: taskMemorySchema.parse({ ...task, ...record, createdAtSeq: session.seq, revision: 1, requirementsRevision: task.requirementsRevision + 1, delegationRevision: 1, status: 'active', decisions: [], next: '' }) };
|
|
222
|
+
change = { kind: 'save', task: taskMemorySchema.parse({ ...task, ...record, createdAtSeq: session.seq, revision: 1, requirementsRevision: task.requirementsRevision + 1, delegationRevision: 1, status: 'active', decisions: [], keyPoints: [], next: '' }) };
|
|
191
223
|
}
|
|
192
224
|
else if (args.action === 'create') {
|
|
193
225
|
const record = taskMemoryCreateSchema.parse(args.record);
|
|
@@ -241,6 +273,130 @@ export function apply(ctx, config = {}) {
|
|
|
241
273
|
}
|
|
242
274
|
},
|
|
243
275
|
}));
|
|
276
|
+
ctx.tools.register(defineTool({
|
|
277
|
+
name: 'super_code_memory',
|
|
278
|
+
description: 'Three scopes: conversation task memory lives in the session; project memory is shared by sessions in the same workspace and focused topic; global memory contains only explicit cross-project user preferences in the host storage root. Use scope:project (default) or scope:global. actions: topics pages project categories; read returns summaries or one full entry; remember adds/replaces up to 8 sourced entries, summary <=30 characters; forget removes an id. Global remember requires record.globalConfirmed:true, kind:constraint and a direct user quote stating a cross-project preference. Project facts and experience require a tool source and current sourceVersion. Entries are historical, do not verify mutable facts or grant permission.',
|
|
279
|
+
parameters: { action: { type: 'string', enum: ['topics', 'read', 'remember', 'forget'], required: true },
|
|
280
|
+
scope: { type: 'string', enum: ['project', 'global'], description: 'Default project. Global is for explicit cross-project user preferences only.' },
|
|
281
|
+
id: { type: 'string', description: 'Only for read or forget. Omit for topic overview.' }, record: { type: 'json' } },
|
|
282
|
+
output: { schema: { type: 'string' }, render: (_args, value) => [{ type: 'text', text: value }] },
|
|
283
|
+
execute: async (args, exec) => {
|
|
284
|
+
if (!exec.agent)
|
|
285
|
+
throw new Error('Long memory requires an agent-owned session');
|
|
286
|
+
const session = exec.agent.session;
|
|
287
|
+
const longMemory = ctx.get('superCodeLongMemory');
|
|
288
|
+
if (!longMemory)
|
|
289
|
+
throw new Error('Long memory storage is unavailable');
|
|
290
|
+
const scope = args.scope ?? 'project';
|
|
291
|
+
if (scope !== 'project' && scope !== 'global')
|
|
292
|
+
throw new Error('Unknown memory scope');
|
|
293
|
+
const workspace = scope === 'global' ? memoryGlobalNamespace() : memoryWorkspace(session);
|
|
294
|
+
if (args.action === 'topics') {
|
|
295
|
+
if (args.id !== undefined)
|
|
296
|
+
throw new Error('topics does not accept id');
|
|
297
|
+
const { offset } = json.object({ offset: json.number().int().nonnegative().safe().default(0) }).strict().parse(args.record ?? {});
|
|
298
|
+
const topics = scope === 'global' ? longMemory.topics(workspace).filter(item => item.topic === GLOBAL_PREFERENCES_TOPIC) : longMemory.topics(workspace);
|
|
299
|
+
const page = topics.slice(offset, offset + 20);
|
|
300
|
+
const nextOffset = offset + page.length;
|
|
301
|
+
return JSON.stringify({ topics: page, total: topics.length, nextOffset: nextOffset < topics.length ? nextOffset : undefined });
|
|
302
|
+
}
|
|
303
|
+
const state = (await memory.read(session, exec.signal)).state;
|
|
304
|
+
const task = state.focus.kind === 'task' ? requireTaskMemory(state, state.focus.id) : undefined;
|
|
305
|
+
if (scope === 'project' && !task?.topic)
|
|
306
|
+
throw new Error('Focus a task with a topic before accessing project memory');
|
|
307
|
+
const topic = scope === 'global' ? GLOBAL_PREFERENCES_TOPIC : task.topic;
|
|
308
|
+
const found = longMemory.read(workspace, topic);
|
|
309
|
+
const current = found.kind === 'found' ? found.value : undefined;
|
|
310
|
+
if (args.action === 'read') {
|
|
311
|
+
if (args.record !== undefined)
|
|
312
|
+
throw new Error('read does not accept record');
|
|
313
|
+
if (args.id === undefined) {
|
|
314
|
+
if (!current)
|
|
315
|
+
return JSON.stringify({ scope, topic, revision: 0, entries: [], ids: [] });
|
|
316
|
+
return JSON.stringify({ scope, ...JSON.parse(longMemoryContext(current, scope === 'global' ? 1024 : 2048, task?.sourceVersion)), ids: current.entries.map(entry => entry.id) });
|
|
317
|
+
}
|
|
318
|
+
if (found.kind === 'missing')
|
|
319
|
+
throw new Error(`Unknown memory ${args.id}`);
|
|
320
|
+
const entry = found.value.entries.find(item => item.id === args.id);
|
|
321
|
+
if (!entry)
|
|
322
|
+
throw new Error(`Unknown memory ${args.id}`);
|
|
323
|
+
const sourceSession = ctx.sessions.get(SessionId(entry.source.sessionId));
|
|
324
|
+
let sourceAvailability = 'session-not-live';
|
|
325
|
+
if (sourceSession) {
|
|
326
|
+
try {
|
|
327
|
+
if (entry.source.kind === 'user') {
|
|
328
|
+
assertSource(sourceSession, { seq: entry.source.eventSeq, quote: entry.source.quote });
|
|
329
|
+
sourceAvailability = 'available';
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
const ref = toolEvidenceRef({ sessionId: sourceSession.id, callSeq: entry.source.callSeq, resultSeq: entry.source.eventSeq });
|
|
333
|
+
sourceAvailability = readToolEvidence(sourceSession.id, ref, seq => sourceSession.eventAt(SessionSeq(seq))).kind === 'recorded' ? 'available' : 'unavailable';
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
catch {
|
|
337
|
+
sourceAvailability = 'unavailable';
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
return JSON.stringify({ scope, topic, revision: found.value.revision, entry, sourceAvailability,
|
|
341
|
+
basis: 'historical; tool source pair checked at write time, summary/detail not semantically verified; source availability does not reverify mutable facts or grant permission' });
|
|
342
|
+
}
|
|
343
|
+
if (args.action === 'remember') {
|
|
344
|
+
if (args.id !== undefined)
|
|
345
|
+
throw new Error('remember does not accept id');
|
|
346
|
+
const input = json.object({ expectedRevision: json.number().int().nonnegative(), globalConfirmed: json.boolean().optional(), entries: json.array(json.object({
|
|
347
|
+
id: json.string(), kind: json.enum(['constraint', 'fact', 'experience']), summary: json.string(), detail: json.string(),
|
|
348
|
+
sourceVersion: json.string().optional(), source: json.object({
|
|
349
|
+
kind: json.enum(['user', 'tool']), eventSeq: json.number().int().nonnegative(), quote: json.string().min(1).max(4000).optional(),
|
|
350
|
+
callSeq: json.number().int().nonnegative().optional(),
|
|
351
|
+
}).strict(),
|
|
352
|
+
}).strict()).min(1).max(8) }).strict().parse(args.record);
|
|
353
|
+
if (scope === 'global' && input.globalConfirmed !== true)
|
|
354
|
+
throw new Error('Global memory requires explicit confirmation in this request');
|
|
355
|
+
if (scope === 'project' && input.globalConfirmed !== undefined)
|
|
356
|
+
throw new Error('globalConfirmed is only valid for global memory');
|
|
357
|
+
const entries = input.entries.map(entry => {
|
|
358
|
+
if (scope === 'global' && (entry.kind !== 'constraint' || entry.sourceVersion !== undefined)) {
|
|
359
|
+
throw new Error('Global memory accepts only sourced user preferences');
|
|
360
|
+
}
|
|
361
|
+
if (entry.kind === 'constraint') {
|
|
362
|
+
if (entry.source.kind !== 'user' || !entry.source.quote || entry.source.callSeq !== undefined)
|
|
363
|
+
throw new Error('A constraint needs a quoted user source');
|
|
364
|
+
assertSource(session, { seq: entry.source.eventSeq, quote: entry.source.quote });
|
|
365
|
+
}
|
|
366
|
+
else {
|
|
367
|
+
if (entry.source.kind !== 'tool' || entry.source.callSeq === undefined || entry.source.quote !== undefined
|
|
368
|
+
|| !entry.sourceVersion || entry.sourceVersion !== task?.sourceVersion)
|
|
369
|
+
throw new Error('A fact or experience needs current tool evidence and version');
|
|
370
|
+
const ref = toolEvidenceRef({ sessionId: session.id, callSeq: entry.source.callSeq, resultSeq: entry.source.eventSeq });
|
|
371
|
+
const observed = readToolEvidence(session.id, ref, seq => session.eventAt(SessionSeq(seq)));
|
|
372
|
+
if (observed.kind !== 'recorded' || (entry.kind === 'fact' && observed.outcome !== 'tool-returned')) {
|
|
373
|
+
throw new Error('Tool source is unavailable or failed');
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
return longMemoryEntrySchema.parse({ ...entry, source: { ...entry.source, sessionId: session.id } });
|
|
377
|
+
});
|
|
378
|
+
exec.signal.throwIfAborted();
|
|
379
|
+
if (!await ctx.sessions.flush(session))
|
|
380
|
+
throw new Error('No host persistence checkpoint is configured; memory sources are not durable');
|
|
381
|
+
exec.signal.throwIfAborted();
|
|
382
|
+
const saved = await longMemory.remember(workspace, topic, input.expectedRevision, entries);
|
|
383
|
+
return JSON.stringify({ scope, topic: saved.topic, revision: saved.revision, count: saved.entries.length });
|
|
384
|
+
}
|
|
385
|
+
if (args.action === 'forget') {
|
|
386
|
+
if (args.id === undefined)
|
|
387
|
+
throw new Error('forget requires id');
|
|
388
|
+
const input = json.object({ expectedRevision: json.number().int().positive(), source: sourceSchema }).strict().parse(args.record);
|
|
389
|
+
assertSource(session, input.source);
|
|
390
|
+
exec.signal.throwIfAborted();
|
|
391
|
+
if (!await ctx.sessions.flush(session))
|
|
392
|
+
throw new Error('No host persistence checkpoint is configured; memory sources are not durable');
|
|
393
|
+
exec.signal.throwIfAborted();
|
|
394
|
+
const saved = await longMemory.forget(workspace, topic, input.expectedRevision, args.id);
|
|
395
|
+
return JSON.stringify({ scope, topic: saved.topic, revision: saved.revision, count: saved.entries.length });
|
|
396
|
+
}
|
|
397
|
+
throw new Error('Unsupported memory action');
|
|
398
|
+
},
|
|
399
|
+
}));
|
|
244
400
|
}
|
|
245
401
|
const plugin = { name, inject, Config, apply };
|
|
246
402
|
export default plugin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"super-code.js","sourceRoot":"","sources":["../../src/dsh/super-code.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"super-code.js","sourceRoot":"","sources":["../../src/dsh/super-code.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,QAAA,MAAM,aAAa,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,QAAA,MAAM,aAAa,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAOhI,CAAA;AAED,eAAe,aAAa,CAAA;AAE5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA"}
|
package/lib/index.js
CHANGED
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,MAAM,aAAa,GAAmH;IACpI,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,EAAE;IACV,KAAK,CAAC,KAAK,CAAC,GAAG;QACb,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAC9C,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;CACF,CAAA;AAED,eAAe,aAAa,CAAA;AAE5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { DomainTableSpec, KvTable } from '@deepseek-ai/dsh-storage-domain';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export interface LongMemoryEntry {
|
|
4
|
+
id: string;
|
|
5
|
+
kind: 'constraint' | 'fact' | 'experience';
|
|
6
|
+
summary: string;
|
|
7
|
+
detail: string;
|
|
8
|
+
source: {
|
|
9
|
+
sessionId: string;
|
|
10
|
+
eventSeq: number;
|
|
11
|
+
kind: 'user';
|
|
12
|
+
quote: string;
|
|
13
|
+
} | {
|
|
14
|
+
sessionId: string;
|
|
15
|
+
eventSeq: number;
|
|
16
|
+
kind: 'tool';
|
|
17
|
+
callSeq: number;
|
|
18
|
+
};
|
|
19
|
+
sourceVersion?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare const longMemoryEntrySchema: z.ZodType<LongMemoryEntry>;
|
|
22
|
+
export interface LongMemoryTopic {
|
|
23
|
+
workspace: string;
|
|
24
|
+
topic: string;
|
|
25
|
+
revision: number;
|
|
26
|
+
entries: LongMemoryEntry[];
|
|
27
|
+
}
|
|
28
|
+
export type LongMemoryRead = {
|
|
29
|
+
kind: 'found';
|
|
30
|
+
value: LongMemoryTopic;
|
|
31
|
+
} | {
|
|
32
|
+
kind: 'missing';
|
|
33
|
+
};
|
|
34
|
+
export declare const longMemoryTopicSchema: z.ZodType<LongMemoryTopic>;
|
|
35
|
+
/** One atomic record per topic; workspaces and profiles remain separate. */
|
|
36
|
+
export declare const longMemoryDomainSpec: {
|
|
37
|
+
readonly name: string;
|
|
38
|
+
readonly version: number;
|
|
39
|
+
readonly layout: 'per-record';
|
|
40
|
+
readonly tables: {
|
|
41
|
+
readonly topics: DomainTableSpec<string, LongMemoryTopic>;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
/** Canonical identity of the session's current workspace, never a tool-supplied path. */
|
|
45
|
+
export declare function memoryWorkspace(session: {
|
|
46
|
+
readonly header: {
|
|
47
|
+
readonly cwd?: string;
|
|
48
|
+
};
|
|
49
|
+
}): string;
|
|
50
|
+
/**
|
|
51
|
+
* Global memory is isolated by the host's configured storage root. The
|
|
52
|
+
* standard Harness bundle puts that root under DSH_HOME/storages; a constant
|
|
53
|
+
* namespace here shares preferences across projects and profiles using it.
|
|
54
|
+
*/
|
|
55
|
+
export declare const GLOBAL_MEMORY_NAMESPACE: string;
|
|
56
|
+
export declare const GLOBAL_PREFERENCES_TOPIC = "preferences";
|
|
57
|
+
export declare function memoryGlobalNamespace(): string;
|
|
58
|
+
/** A single host-owned writer serializes topic creation and revision checks. */
|
|
59
|
+
export declare class LongMemoryStore {
|
|
60
|
+
private readonly table;
|
|
61
|
+
private tail;
|
|
62
|
+
constructor(table: KvTable<string, LongMemoryTopic>);
|
|
63
|
+
topics(workspace: string): {
|
|
64
|
+
topic: string;
|
|
65
|
+
revision: number;
|
|
66
|
+
count: number;
|
|
67
|
+
}[];
|
|
68
|
+
read(workspace: string, topic: string): LongMemoryRead;
|
|
69
|
+
private mutate;
|
|
70
|
+
remember(workspace: string, topic: string, expectedRevision: number, entries: LongMemoryEntry[]): Promise<LongMemoryTopic>;
|
|
71
|
+
forget(workspace: string, topic: string, expectedRevision: number, entryId: string): Promise<LongMemoryTopic>;
|
|
72
|
+
}
|
|
73
|
+
/** Bound context keeps the entry identity and historical status within 2 KiB. */
|
|
74
|
+
export declare function longMemoryContext(topic: LongMemoryTopic | undefined, maxBytes?: number, currentVersion?: string): string;
|
|
75
|
+
//# sourceMappingURL=long-memory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"long-memory.d.ts","sourceRoot":"","sources":["../src/long-memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/** Small, host-home memory shared by sessions in one project or globally. */
|
|
2
|
+
import { createHash } from 'node:crypto';
|
|
3
|
+
import { realpathSync } from 'node:fs';
|
|
4
|
+
import { defineDomain, domainTable } from '@deepseek-ai/dsh-storage-domain';
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
const id = z.string().regex(/^[a-zA-Z0-9][a-zA-Z0-9._-]{0,95}$/);
|
|
7
|
+
const summary = z.string().trim().min(1).refine(value => Array.from(value).length <= 30, 'Summary exceeds 30 characters');
|
|
8
|
+
export const longMemoryEntrySchema = z.object({
|
|
9
|
+
id, kind: z.enum(['constraint', 'fact', 'experience']), summary,
|
|
10
|
+
detail: z.string().trim().min(1).max(1000),
|
|
11
|
+
source: z.discriminatedUnion('kind', [
|
|
12
|
+
z.object({ sessionId: z.string().min(1), eventSeq: z.number().int().nonnegative(), kind: z.literal('user'), quote: z.string().min(1).max(4000) }).strict(),
|
|
13
|
+
z.object({ sessionId: z.string().min(1), eventSeq: z.number().int().nonnegative(), kind: z.literal('tool'), callSeq: z.number().int().nonnegative() }).strict(),
|
|
14
|
+
]),
|
|
15
|
+
sourceVersion: z.string().min(1).max(4000).optional(),
|
|
16
|
+
}).strict().superRefine((entry, ctx) => {
|
|
17
|
+
if (entry.kind === 'constraint' && entry.source.kind !== 'user')
|
|
18
|
+
ctx.addIssue({ code: 'custom', message: 'A constraint requires a user source' });
|
|
19
|
+
if (entry.kind !== 'constraint' && (entry.source.kind !== 'tool' || !entry.sourceVersion)) {
|
|
20
|
+
ctx.addIssue({ code: 'custom', message: 'A fact or experience requires a tool source and version' });
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
export const longMemoryTopicSchema = z.object({
|
|
24
|
+
workspace: z.string().length(64), topic: id, revision: z.number().int().positive(),
|
|
25
|
+
entries: z.array(longMemoryEntrySchema).max(20),
|
|
26
|
+
}).strict();
|
|
27
|
+
/** One atomic record per topic; workspaces and profiles remain separate. */
|
|
28
|
+
export const longMemoryDomainSpec = defineDomain({
|
|
29
|
+
name: 'super_code_memory', version: 1, layout: 'per-record',
|
|
30
|
+
tables: { topics: domainTable(longMemoryTopicSchema) },
|
|
31
|
+
});
|
|
32
|
+
/** Canonical identity of the session's current workspace, never a tool-supplied path. */
|
|
33
|
+
export function memoryWorkspace(session) {
|
|
34
|
+
if (session.header.cwd === undefined)
|
|
35
|
+
throw new Error('Long memory requires a session workspace');
|
|
36
|
+
return createHash('sha256').update(realpathSync.native(session.header.cwd)).digest('hex');
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Global memory is isolated by the host's configured storage root. The
|
|
40
|
+
* standard Harness bundle puts that root under DSH_HOME/storages; a constant
|
|
41
|
+
* namespace here shares preferences across projects and profiles using it.
|
|
42
|
+
*/
|
|
43
|
+
export const GLOBAL_MEMORY_NAMESPACE = createHash('sha256').update('dsh-super-code/global/v1').digest('hex');
|
|
44
|
+
export const GLOBAL_PREFERENCES_TOPIC = 'preferences';
|
|
45
|
+
export function memoryGlobalNamespace() { return GLOBAL_MEMORY_NAMESPACE; }
|
|
46
|
+
function recordKey(workspace, topic) {
|
|
47
|
+
return createHash('sha256').update(`${workspace}\0${topic}`).digest('hex');
|
|
48
|
+
}
|
|
49
|
+
/** A single host-owned writer serializes topic creation and revision checks. */
|
|
50
|
+
export class LongMemoryStore {
|
|
51
|
+
table;
|
|
52
|
+
tail = Promise.resolve();
|
|
53
|
+
constructor(table) {
|
|
54
|
+
this.table = table;
|
|
55
|
+
}
|
|
56
|
+
topics(workspace) {
|
|
57
|
+
return [...this.table.entries()].filter(([, value]) => value.workspace === workspace)
|
|
58
|
+
.map(([, value]) => ({ topic: value.topic, revision: value.revision, count: value.entries.length }))
|
|
59
|
+
.sort((a, b) => a.topic.localeCompare(b.topic));
|
|
60
|
+
}
|
|
61
|
+
read(workspace, topic) {
|
|
62
|
+
id.parse(topic);
|
|
63
|
+
const record = this.table.get(recordKey(workspace, topic));
|
|
64
|
+
return record?.workspace === workspace && record.topic === topic ? { kind: 'found', value: record } : { kind: 'missing' };
|
|
65
|
+
}
|
|
66
|
+
mutate(run) {
|
|
67
|
+
const operation = this.tail.catch(() => { }).then(run);
|
|
68
|
+
this.tail = operation;
|
|
69
|
+
return operation;
|
|
70
|
+
}
|
|
71
|
+
remember(workspace, topic, expectedRevision, entries) {
|
|
72
|
+
id.parse(topic);
|
|
73
|
+
const additions = z.array(longMemoryEntrySchema).min(1).max(8).parse(entries);
|
|
74
|
+
if (new Set(additions.map(entry => entry.id)).size !== additions.length)
|
|
75
|
+
throw new Error('Duplicate memory ids in one update');
|
|
76
|
+
return this.mutate(async () => {
|
|
77
|
+
const found = this.read(workspace, topic);
|
|
78
|
+
const current = found.kind === 'found' ? found.value : undefined;
|
|
79
|
+
if ((current?.revision ?? 0) !== expectedRevision)
|
|
80
|
+
throw new Error(`Stale topic ${topic}; read revision ${current?.revision ?? 0}`);
|
|
81
|
+
if (!current && this.topics(workspace).length >= 200)
|
|
82
|
+
throw new Error('Workspace memory is full');
|
|
83
|
+
const updated = new Map(current?.entries.map(entry => [entry.id, entry]) ?? []);
|
|
84
|
+
for (const entry of additions)
|
|
85
|
+
updated.set(entry.id, entry);
|
|
86
|
+
const value = longMemoryTopicSchema.parse({ workspace, topic, revision: expectedRevision + 1, entries: [...updated.values()] });
|
|
87
|
+
await this.table.put(recordKey(workspace, topic), value);
|
|
88
|
+
return value;
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
forget(workspace, topic, expectedRevision, entryId) {
|
|
92
|
+
id.parse(entryId);
|
|
93
|
+
return this.mutate(async () => {
|
|
94
|
+
const found = this.read(workspace, topic);
|
|
95
|
+
if (found.kind === 'missing' || found.value.revision !== expectedRevision)
|
|
96
|
+
throw new Error(`Stale or missing topic ${topic}`);
|
|
97
|
+
const current = found.value;
|
|
98
|
+
if (!current.entries.some(entry => entry.id === entryId))
|
|
99
|
+
throw new Error(`Unknown memory ${entryId}`);
|
|
100
|
+
const value = longMemoryTopicSchema.parse({ ...current, revision: current.revision + 1,
|
|
101
|
+
entries: current.entries.filter(entry => entry.id !== entryId) });
|
|
102
|
+
await this.table.put(recordKey(workspace, topic), value);
|
|
103
|
+
return value;
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/** Bound context keeps the entry identity and historical status within 2 KiB. */
|
|
108
|
+
export function longMemoryContext(topic, maxBytes = 2048, currentVersion) {
|
|
109
|
+
if (!topic)
|
|
110
|
+
return '';
|
|
111
|
+
const relevant = topic.entries.filter(entry => entry.source.kind === 'user' || currentVersion === undefined || entry.sourceVersion === currentVersion);
|
|
112
|
+
const entries = relevant.slice(-4).map(({ id, kind, summary, sourceVersion }) => ({ id, kind, summary,
|
|
113
|
+
...(sourceVersion ? { sourceVersion } : {}) }));
|
|
114
|
+
for (;;) {
|
|
115
|
+
const value = JSON.stringify({ topic: topic.topic, revision: topic.revision, entries,
|
|
116
|
+
omitted: relevant.length - entries.length, staleFacts: topic.entries.length - relevant.length,
|
|
117
|
+
basis: 'historical; tool source pairs checked at write time, summaries not semantically verified; verify mutable facts; no permission granted',
|
|
118
|
+
details: { tool: 'super_code_memory', action: 'read' } }).replace(/\{\{/g, '\\u007b\\u007b');
|
|
119
|
+
if (Buffer.byteLength(value, 'utf8') <= maxBytes)
|
|
120
|
+
return value;
|
|
121
|
+
if (entries.length === 0)
|
|
122
|
+
throw new Error('Long-memory context exceeds its budget');
|
|
123
|
+
entries.shift();
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=long-memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"long-memory.js","sourceRoot":"","sources":["../src/long-memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { SessionEvent } from '@deepseek-ai/dsh-session';
|
|
2
|
+
import type { ProjectionDefinition } from '@deepseek-ai/dsh-session-projection';
|
|
3
|
+
export interface MemoryUsageRow {
|
|
4
|
+
id: string;
|
|
5
|
+
summary: string;
|
|
6
|
+
scope: 'project' | 'global';
|
|
7
|
+
topic: string;
|
|
8
|
+
action: 'context' | 'read' | 'summary' | 'remember' | 'forget';
|
|
9
|
+
revision: number;
|
|
10
|
+
seq: number;
|
|
11
|
+
time: number;
|
|
12
|
+
}
|
|
13
|
+
export interface MemoryUsageState {
|
|
14
|
+
rows: MemoryUsageRow[];
|
|
15
|
+
omitted: number;
|
|
16
|
+
inherited: number;
|
|
17
|
+
pending: {
|
|
18
|
+
callId: string;
|
|
19
|
+
turn: number;
|
|
20
|
+
step: number;
|
|
21
|
+
action: 'read' | 'remember' | 'forget';
|
|
22
|
+
scope: 'project' | 'global';
|
|
23
|
+
id?: string;
|
|
24
|
+
entries: {
|
|
25
|
+
id: string;
|
|
26
|
+
summary: string;
|
|
27
|
+
}[];
|
|
28
|
+
}[];
|
|
29
|
+
}
|
|
30
|
+
export interface MemoryUsageView {
|
|
31
|
+
rows: MemoryUsageRow[];
|
|
32
|
+
omitted: number;
|
|
33
|
+
}
|
|
34
|
+
declare module '@deepseek-ai/dsh-session-projection/types' {
|
|
35
|
+
interface SessionProjectionStateMap {
|
|
36
|
+
superCodeMemoryUsage: MemoryUsageState;
|
|
37
|
+
}
|
|
38
|
+
interface SessionProjectionMap {
|
|
39
|
+
superCodeMemoryUsage: MemoryUsageView;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export declare function foldMemoryUsage(state: MemoryUsageState, event: SessionEvent): MemoryUsageState;
|
|
43
|
+
export declare const memoryUsageProjection: ProjectionDefinition<'superCodeMemoryUsage', MemoryUsageState> & {
|
|
44
|
+
wire: NonNullable<ProjectionDefinition<'superCodeMemoryUsage', MemoryUsageState>['wire']>;
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=memory-usage-projection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-usage-projection.d.ts","sourceRoot":"","sources":["../src/memory-usage-projection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAS/E,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;IACvE,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAA;IAC9D,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAC5C;AAQD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;IAC1D,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;QAC5F,KAAK,EAAE,SAAS,GAAG,QAAQ,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,EAAE,CAAA;CAC3F;AACD,MAAM,WAAW,eAAe;IAAG,IAAI,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAC5E,OAAO,QAAQ,2CAA2C,CAAC;IACzD,UAAU,yBAAyB;QAAG,oBAAoB,EAAE,gBAAgB,CAAA;KAAE;IAC9E,UAAU,oBAAoB;QAAG,oBAAoB,EAAE,eAAe,CAAA;KAAE;CACzE;AAqCD,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,YAAY,GAAG,gBAAgB,CA4B9F;AAQD,eAAO,MAAM,qBAAqB,EAAE,oBAAoB,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,GAAG;IACnG,IAAI,EAAE,WAAW,CAAC,oBAAoB,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;CAM1F,CAAA"}
|