somtum 1.3.4 → 1.5.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 +173 -79
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +12 -3
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/forget.d.ts +7 -0
- package/dist/cli/forget.d.ts.map +1 -1
- package/dist/cli/forget.js +44 -0
- package/dist/cli/forget.js.map +1 -1
- package/dist/cli/hook.d.ts.map +1 -1
- package/dist/cli/hook.js +14 -2
- package/dist/cli/hook.js.map +1 -1
- package/dist/cli/index.js +49 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +7 -1
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/list.d.ts +9 -0
- package/dist/cli/list.d.ts.map +1 -0
- package/dist/cli/list.js +54 -0
- package/dist/cli/list.js.map +1 -0
- package/dist/cli/reset.d.ts +7 -0
- package/dist/cli/reset.d.ts.map +1 -0
- package/dist/cli/reset.js +66 -0
- package/dist/cli/reset.js.map +1 -0
- package/dist/cli/suggest_claude_md.d.ts +9 -0
- package/dist/cli/suggest_claude_md.d.ts.map +1 -0
- package/dist/cli/suggest_claude_md.js +106 -0
- package/dist/cli/suggest_claude_md.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +19 -7
- package/dist/config.js.map +1 -1
- package/dist/core/schema.d.ts +51 -0
- package/dist/core/schema.d.ts.map +1 -1
- package/dist/core/schema.js +18 -0
- package/dist/core/schema.js.map +1 -1
- package/dist/core/store.d.ts +8 -1
- package/dist/core/store.d.ts.map +1 -1
- package/dist/core/store.js +61 -6
- package/dist/core/store.js.map +1 -1
- package/dist/dashboard/index.html +49 -6
- package/dist/db/migrations/004_scope_and_staleness.sql +11 -0
- package/dist/hooks/post_session.d.ts.map +1 -1
- package/dist/hooks/post_session.js +50 -2
- package/dist/hooks/post_session.js.map +1 -1
- package/dist/hooks/pre_prompt.d.ts.map +1 -1
- package/dist/hooks/pre_prompt.js +231 -48
- package/dist/hooks/pre_prompt.js.map +1 -1
- package/dist/hooks/pre_read.d.ts.map +1 -1
- package/dist/hooks/pre_read.js +7 -1
- package/dist/hooks/pre_read.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +35 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools.d.ts +33 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +68 -3
- package/dist/mcp/tools.js.map +1 -1
- package/package.json +7 -3
package/dist/mcp/tools.d.ts
CHANGED
|
@@ -27,18 +27,47 @@ export declare const RememberInput: z.ZodObject<{
|
|
|
27
27
|
kind: z.ZodDefault<z.ZodEnum<["decision", "learning", "bugfix", "file_summary", "command", "other"]>>;
|
|
28
28
|
files: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
29
29
|
tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
30
|
+
scope: z.ZodDefault<z.ZodEnum<["project", "workspace", "global"]>>;
|
|
30
31
|
}, "strip", z.ZodTypeAny, {
|
|
31
32
|
kind: "decision" | "learning" | "bugfix" | "file_summary" | "command" | "other";
|
|
32
33
|
title: string;
|
|
33
34
|
body: string;
|
|
34
35
|
files: string[];
|
|
35
36
|
tags: string[];
|
|
37
|
+
scope: "project" | "workspace" | "global";
|
|
36
38
|
}, {
|
|
37
39
|
title: string;
|
|
38
40
|
body: string;
|
|
39
41
|
kind?: "decision" | "learning" | "bugfix" | "file_summary" | "command" | "other" | undefined;
|
|
40
42
|
files?: string[] | undefined;
|
|
41
43
|
tags?: string[] | undefined;
|
|
44
|
+
scope?: "project" | "workspace" | "global" | undefined;
|
|
45
|
+
}>;
|
|
46
|
+
export declare const UpdateInput: z.ZodObject<{
|
|
47
|
+
id: z.ZodString;
|
|
48
|
+
title: z.ZodOptional<z.ZodString>;
|
|
49
|
+
body: z.ZodOptional<z.ZodString>;
|
|
50
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
51
|
+
files: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
52
|
+
}, "strip", z.ZodTypeAny, {
|
|
53
|
+
id: string;
|
|
54
|
+
title?: string | undefined;
|
|
55
|
+
body?: string | undefined;
|
|
56
|
+
files?: string[] | undefined;
|
|
57
|
+
tags?: string[] | undefined;
|
|
58
|
+
}, {
|
|
59
|
+
id: string;
|
|
60
|
+
title?: string | undefined;
|
|
61
|
+
body?: string | undefined;
|
|
62
|
+
files?: string[] | undefined;
|
|
63
|
+
tags?: string[] | undefined;
|
|
64
|
+
}>;
|
|
65
|
+
export declare const ReportFalseHitInput: z.ZodObject<{
|
|
66
|
+
cache_entry_id: z.ZodString;
|
|
67
|
+
}, "strip", z.ZodTypeAny, {
|
|
68
|
+
cache_entry_id: string;
|
|
69
|
+
}, {
|
|
70
|
+
cache_entry_id: string;
|
|
42
71
|
}>;
|
|
43
72
|
export declare const CacheLookupInput: z.ZodObject<{
|
|
44
73
|
prompt: z.ZodString;
|
|
@@ -54,6 +83,7 @@ export declare const ForgetInput: z.ZodObject<{
|
|
|
54
83
|
}, {
|
|
55
84
|
id: string;
|
|
56
85
|
}>;
|
|
86
|
+
export declare const ForgetAllInput: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
57
87
|
export declare const StatsInput: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
58
88
|
export interface ToolContext {
|
|
59
89
|
db: DB;
|
|
@@ -66,7 +96,10 @@ export declare const MEMORY_DELIMITER_CLOSE = "[/Somtum memory]";
|
|
|
66
96
|
export declare function wrapMemoryBody(body: string): string;
|
|
67
97
|
export declare function get(ctx: ToolContext, input: z.infer<typeof GetInput>): object;
|
|
68
98
|
export declare function remember(ctx: ToolContext, input: z.infer<typeof RememberInput>): object;
|
|
99
|
+
export declare function update(ctx: ToolContext, input: z.infer<typeof UpdateInput>): object;
|
|
100
|
+
export declare function reportFalseHit(ctx: ToolContext, input: z.infer<typeof ReportFalseHitInput>): object;
|
|
69
101
|
export declare function cacheLookup(ctx: ToolContext, input: z.infer<typeof CacheLookupInput>): object;
|
|
70
102
|
export declare function forget(ctx: ToolContext, input: z.infer<typeof ForgetInput>): object;
|
|
103
|
+
export declare function forgetAll(ctx: ToolContext): object;
|
|
71
104
|
export declare function stats(ctx: ToolContext): object;
|
|
72
105
|
//# sourceMappingURL=tools.d.ts.map
|
package/dist/mcp/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAYhD,eAAO,MAAM,WAAW;;;;;;;;;;;;EAItB,CAAC;AAEH,eAAO,MAAM,QAAQ;;;;;;EAEnB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAYhD,eAAO,MAAM,WAAW;;;;;;;;;;;;EAItB,CAAC;AAEH,eAAO,MAAM,QAAQ;;;;;;EAEnB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;EAOxB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;EAMtB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;EAE3B,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;EAEtB,CAAC;AAEH,eAAO,MAAM,cAAc,gDAAe,CAAC;AAE3C,eAAO,MAAM,UAAU,gDAAe,CAAC;AAEvC,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,EAAE,CAAC;IACP,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,MAAM,CAC1B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,GACjC,OAAO,CAAC,MAAM,CAAC,CAkCjB;AAKD,eAAO,MAAM,qBAAqB,gEAA2D,CAAC;AAC9F,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AAEzD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,GAAG,MAAM,CAyB7E;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,MAAM,CA6BvF;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,GAAG,MAAM,CAqBnF;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,GACzC,MAAM,CAIR;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,GAAG,MAAM,CAmB7F;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,GAAG,MAAM,CAInF;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAQlD;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAuB9C"}
|
package/dist/mcp/tools.js
CHANGED
|
@@ -2,7 +2,7 @@ import { z } from 'zod';
|
|
|
2
2
|
import { MemoryStore } from '../core/store.js';
|
|
3
3
|
import { PromptCache, hashPrompt } from '../core/cache.js';
|
|
4
4
|
import { makeRetriever, strategyAvailable } from '../core/retriever/factory.js';
|
|
5
|
-
import { RetrievalStrategy, ObservationKind } from '../core/schema.js';
|
|
5
|
+
import { RetrievalStrategy, ObservationKind, ObservationScope } from '../core/schema.js';
|
|
6
6
|
import { RetrievalStatsStore } from '../core/retrieval_stats.js';
|
|
7
7
|
import { countTokens } from '../core/tokens.js';
|
|
8
8
|
// Shared zod-derived JSON schemas for the six MCP tools.
|
|
@@ -22,6 +22,17 @@ export const RememberInput = z.object({
|
|
|
22
22
|
kind: ObservationKind.default('other'),
|
|
23
23
|
files: z.array(z.string()).default([]),
|
|
24
24
|
tags: z.array(z.string()).default([]),
|
|
25
|
+
scope: ObservationScope.default('project'),
|
|
26
|
+
});
|
|
27
|
+
export const UpdateInput = z.object({
|
|
28
|
+
id: z.string().min(1),
|
|
29
|
+
title: z.string().min(1).max(80).optional(),
|
|
30
|
+
body: z.string().min(1).optional(),
|
|
31
|
+
tags: z.array(z.string()).optional(),
|
|
32
|
+
files: z.array(z.string()).optional(),
|
|
33
|
+
});
|
|
34
|
+
export const ReportFalseHitInput = z.object({
|
|
35
|
+
cache_entry_id: z.string().min(1),
|
|
25
36
|
});
|
|
26
37
|
export const CacheLookupInput = z.object({
|
|
27
38
|
prompt: z.string().min(1),
|
|
@@ -29,6 +40,7 @@ export const CacheLookupInput = z.object({
|
|
|
29
40
|
export const ForgetInput = z.object({
|
|
30
41
|
id: z.string().min(1),
|
|
31
42
|
});
|
|
43
|
+
export const ForgetAllInput = z.object({});
|
|
32
44
|
export const StatsInput = z.object({});
|
|
33
45
|
export async function recall(ctx, input) {
|
|
34
46
|
const strategy = input.strategy ?? ctx.config.retrieval.strategy;
|
|
@@ -39,10 +51,16 @@ export async function recall(ctx, input) {
|
|
|
39
51
|
// Log which strategy was actually used.
|
|
40
52
|
const statsStore = new RetrievalStatsStore(ctx.db);
|
|
41
53
|
statsStore.incrementRetrieval(ctx.projectId, retriever.name);
|
|
54
|
+
// Confirm retrieval so last_confirmed_at stays fresh (gap #7 staleness tracking).
|
|
55
|
+
const store = new MemoryStore(ctx.db);
|
|
56
|
+
for (const r of results) {
|
|
57
|
+
store.confirmRetrieval(r.id);
|
|
58
|
+
}
|
|
42
59
|
const resultsPayload = results.map((r) => ({
|
|
43
60
|
id: r.id,
|
|
44
61
|
title: r.observation.title,
|
|
45
62
|
kind: r.observation.kind,
|
|
63
|
+
scope: r.observation.scope,
|
|
46
64
|
files: r.observation.files,
|
|
47
65
|
score: r.score,
|
|
48
66
|
}));
|
|
@@ -66,19 +84,24 @@ export function wrapMemoryBody(body) {
|
|
|
66
84
|
}
|
|
67
85
|
export function get(ctx, input) {
|
|
68
86
|
const store = new MemoryStore(ctx.db);
|
|
69
|
-
// Honor soft-deletes: callers shouldn't see forgotten entries by id.
|
|
70
87
|
const observations = input.ids
|
|
71
88
|
.map((id) => store.get(id))
|
|
72
89
|
.filter((o) => o !== null && o.deleted_at === null);
|
|
90
|
+
// Confirm retrieval so last_confirmed_at stays fresh (gap #7 staleness tracking).
|
|
91
|
+
for (const o of observations) {
|
|
92
|
+
store.confirmRetrieval(o.id);
|
|
93
|
+
}
|
|
73
94
|
return {
|
|
74
95
|
observations: observations.map((o) => ({
|
|
75
96
|
id: o.id,
|
|
76
97
|
title: o.title,
|
|
77
98
|
body: wrapMemoryBody(o.body),
|
|
78
99
|
kind: o.kind,
|
|
100
|
+
scope: o.scope,
|
|
79
101
|
files: o.files,
|
|
80
102
|
tags: o.tags,
|
|
81
103
|
created_at: o.created_at,
|
|
104
|
+
last_confirmed_at: o.last_confirmed_at,
|
|
82
105
|
})),
|
|
83
106
|
tokens: observations.reduce((n, o) => n + countTokens(o.body) + countTokens(o.title), 0),
|
|
84
107
|
};
|
|
@@ -93,13 +116,45 @@ export function remember(ctx, input) {
|
|
|
93
116
|
body: input.body,
|
|
94
117
|
files: input.files,
|
|
95
118
|
tags: input.tags,
|
|
119
|
+
scope: input.scope,
|
|
96
120
|
}, { redactPatterns: ctx.config.privacy.redact_patterns });
|
|
97
|
-
|
|
121
|
+
const result = {
|
|
98
122
|
id: obs.id,
|
|
99
123
|
title: obs.title,
|
|
100
124
|
kind: obs.kind,
|
|
125
|
+
scope: obs.scope,
|
|
101
126
|
tokens: countTokens(obs.title) + countTokens(obs.body),
|
|
102
127
|
};
|
|
128
|
+
if (obs.scope === 'workspace' || obs.scope === 'global') {
|
|
129
|
+
result.notice =
|
|
130
|
+
`Stored with scope='${obs.scope}'. Cross-project auto-injection is not yet active ` +
|
|
131
|
+
`(coming in v1.4). This memory will appear in recall() results for any project but ` +
|
|
132
|
+
`will not be injected automatically into other project prompts.`;
|
|
133
|
+
}
|
|
134
|
+
return result;
|
|
135
|
+
}
|
|
136
|
+
export function update(ctx, input) {
|
|
137
|
+
const store = new MemoryStore(ctx.db);
|
|
138
|
+
const updated = store.update(input.id, {
|
|
139
|
+
title: input.title,
|
|
140
|
+
body: input.body,
|
|
141
|
+
tags: input.tags,
|
|
142
|
+
files: input.files,
|
|
143
|
+
}, { redactPatterns: ctx.config.privacy.redact_patterns });
|
|
144
|
+
if (!updated) {
|
|
145
|
+
return { ok: false, error: 'not_found', tokens: 0 };
|
|
146
|
+
}
|
|
147
|
+
return {
|
|
148
|
+
ok: true,
|
|
149
|
+
id: updated.id,
|
|
150
|
+
title: updated.title,
|
|
151
|
+
tokens: countTokens(updated.title) + countTokens(updated.body),
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
export function reportFalseHit(ctx, input) {
|
|
155
|
+
const cache = new PromptCache(ctx.db);
|
|
156
|
+
cache.recordFalseHit(input.cache_entry_id);
|
|
157
|
+
return { ok: true, tokens: 0 };
|
|
103
158
|
}
|
|
104
159
|
export function cacheLookup(ctx, input) {
|
|
105
160
|
const cache = new PromptCache(ctx.db);
|
|
@@ -126,6 +181,16 @@ export function forget(ctx, input) {
|
|
|
126
181
|
const ok = store.softDelete(input.id);
|
|
127
182
|
return { ok, tokens: 0 };
|
|
128
183
|
}
|
|
184
|
+
export function forgetAll(ctx) {
|
|
185
|
+
const store = new MemoryStore(ctx.db);
|
|
186
|
+
const observations = store.listByProject(ctx.projectId);
|
|
187
|
+
let deleted = 0;
|
|
188
|
+
for (const o of observations) {
|
|
189
|
+
if (store.softDelete(o.id))
|
|
190
|
+
deleted++;
|
|
191
|
+
}
|
|
192
|
+
return { ok: true, deleted, tokens: 0 };
|
|
193
|
+
}
|
|
129
194
|
export function stats(ctx) {
|
|
130
195
|
const store = new MemoryStore(ctx.db);
|
|
131
196
|
const cache = new PromptCache(ctx.db);
|
package/dist/mcp/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "somtum",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.1",
|
|
4
4
|
"description": "Local-first memory and prompt-cache layer for Claude Code",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -82,7 +82,8 @@
|
|
|
82
82
|
"prettier": "^3.3.3",
|
|
83
83
|
"tsx": "^4.19.1",
|
|
84
84
|
"typescript": "^5.6.2",
|
|
85
|
-
"vitest": "^2.1.1"
|
|
85
|
+
"vitest": "^2.1.1",
|
|
86
|
+
"vitepress": "^1.5.0"
|
|
86
87
|
},
|
|
87
88
|
"scripts": {
|
|
88
89
|
"build": "tsc -p tsconfig.build.json && pnpm run build:copy-migrations && pnpm run build:copy-dashboard",
|
|
@@ -96,6 +97,9 @@
|
|
|
96
97
|
"lint": "eslint \"src/**/*.ts\"",
|
|
97
98
|
"fmt": "prettier --write \"src/**/*.{ts,json,md}\" \"*.{md,json}\"",
|
|
98
99
|
"dev:hook:post_session": "tsx src/hooks/post_session.ts",
|
|
99
|
-
"release": "changeset publish"
|
|
100
|
+
"release": "changeset publish",
|
|
101
|
+
"docs:dev": "vitepress dev docs",
|
|
102
|
+
"docs:build": "vitepress build docs",
|
|
103
|
+
"docs:preview": "vitepress preview docs"
|
|
100
104
|
}
|
|
101
105
|
}
|