@namzu/sdk 48.3.0 → 49.0.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.
- package/CHANGELOG.md +45 -0
- package/dist/config/registry.d.ts +2 -0
- package/dist/config/registry.d.ts.map +1 -1
- package/dist/config/registry.js +23 -3
- package/dist/config/registry.js.map +1 -1
- package/dist/connector/mcp/discovery.d.ts +9 -5
- package/dist/connector/mcp/discovery.d.ts.map +1 -1
- package/dist/connector/mcp/discovery.js +16 -8
- package/dist/connector/mcp/discovery.js.map +1 -1
- package/dist/connector/mcp/mcp-toolset.d.ts +3 -0
- package/dist/connector/mcp/mcp-toolset.d.ts.map +1 -1
- package/dist/connector/mcp/mcp-toolset.js +20 -2
- package/dist/connector/mcp/mcp-toolset.js.map +1 -1
- package/dist/connector/mcp/reconnect.d.ts +2 -0
- package/dist/connector/mcp/reconnect.d.ts.map +1 -1
- package/dist/connector/mcp/reconnect.js +36 -5
- package/dist/connector/mcp/reconnect.js.map +1 -1
- package/dist/plugin/lifecycle.d.ts +14 -10
- package/dist/plugin/lifecycle.d.ts.map +1 -1
- package/dist/plugin/lifecycle.js +178 -41
- package/dist/plugin/lifecycle.js.map +1 -1
- package/dist/prompt/resident-learning.js +2 -2
- package/dist/prompt/resident-learning.js.map +1 -1
- package/dist/prompt/resident-step.d.ts +2 -2
- package/dist/prompt/resident-step.js +4 -4
- package/dist/prompt/resident-step.js.map +1 -1
- package/dist/public-runtime.d.ts +2 -2
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +2 -2
- package/dist/public-runtime.js.map +1 -1
- package/dist/registry/tool/screen.d.ts.map +1 -1
- package/dist/registry/tool/screen.js +33 -2
- package/dist/registry/tool/screen.js.map +1 -1
- package/dist/runtime/jobs/registry.d.ts.map +1 -1
- package/dist/runtime/jobs/registry.js +41 -12
- package/dist/runtime/jobs/registry.js.map +1 -1
- package/dist/runtime/query/index.d.ts +6 -0
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +20 -1
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +32 -8
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/runtime/query/iteration/outstanding-work.d.ts.map +1 -1
- package/dist/runtime/query/iteration/outstanding-work.js +2 -0
- package/dist/runtime/query/iteration/outstanding-work.js.map +1 -1
- package/dist/runtime/query/iteration/phases/context.d.ts +4 -0
- package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/context.js.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.js +7 -1
- package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
- package/dist/runtime/query/iteration/step-shaping.d.ts +2 -0
- package/dist/runtime/query/iteration/step-shaping.d.ts.map +1 -1
- package/dist/runtime/query/iteration/step-shaping.js +5 -1
- package/dist/runtime/query/iteration/step-shaping.js.map +1 -1
- package/dist/store/index.d.ts +1 -0
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +1 -0
- package/dist/store/index.js.map +1 -1
- package/dist/store/memory/disk.d.ts +7 -2
- package/dist/store/memory/disk.d.ts.map +1 -1
- package/dist/store/memory/disk.js +58 -5
- package/dist/store/memory/disk.js.map +1 -1
- package/dist/store/memory/index.d.ts +9 -0
- package/dist/store/memory/index.d.ts.map +1 -1
- package/dist/store/memory/index.js +43 -5
- package/dist/store/memory/index.js.map +1 -1
- package/dist/store/memory/markdown.d.ts +7 -2
- package/dist/store/memory/markdown.d.ts.map +1 -1
- package/dist/store/memory/markdown.js +33 -0
- package/dist/store/memory/markdown.js.map +1 -1
- package/dist/store/memory/memory.d.ts +7 -2
- package/dist/store/memory/memory.d.ts.map +1 -1
- package/dist/store/memory/memory.js +34 -0
- package/dist/store/memory/memory.js.map +1 -1
- package/dist/store/memory/revision.d.ts +16 -0
- package/dist/store/memory/revision.d.ts.map +1 -0
- package/dist/store/memory/revision.js +144 -0
- package/dist/store/memory/revision.js.map +1 -0
- package/dist/tools/builtins/wait-for-job-bounds.d.ts +6 -4
- package/dist/tools/builtins/wait-for-job-bounds.d.ts.map +1 -1
- package/dist/tools/builtins/wait-for-job-bounds.js +46 -8
- package/dist/tools/builtins/wait-for-job-bounds.js.map +1 -1
- package/dist/tools/builtins/wait-for-job.d.ts +1 -0
- package/dist/tools/builtins/wait-for-job.d.ts.map +1 -1
- package/dist/tools/builtins/wait-for-job.js +24 -10
- package/dist/tools/builtins/wait-for-job.js.map +1 -1
- package/dist/tools/coordinator/wait-with-idle-bound.d.ts.map +1 -1
- package/dist/tools/coordinator/wait-with-idle-bound.js +4 -0
- package/dist/tools/coordinator/wait-with-idle-bound.js.map +1 -1
- package/dist/tools/memory/delete.d.ts.map +1 -1
- package/dist/tools/memory/delete.js +38 -3
- package/dist/tools/memory/delete.js.map +1 -1
- package/dist/tools/memory/read.d.ts.map +1 -1
- package/dist/tools/memory/read.js +38 -2
- package/dist/tools/memory/read.js.map +1 -1
- package/dist/tools/memory/search.d.ts.map +1 -1
- package/dist/tools/memory/search.js +38 -7
- package/dist/tools/memory/search.js.map +1 -1
- package/dist/tools/memory/update.d.ts.map +1 -1
- package/dist/tools/memory/update.js +30 -3
- package/dist/tools/memory/update.js.map +1 -1
- package/dist/toolsets/manager.d.ts +13 -0
- package/dist/toolsets/manager.d.ts.map +1 -1
- package/dist/toolsets/manager.js +60 -1
- package/dist/toolsets/manager.js.map +1 -1
- package/dist/turn/memory-recall.d.ts +2 -0
- package/dist/turn/memory-recall.d.ts.map +1 -1
- package/dist/turn/memory-recall.js +3 -1
- package/dist/turn/memory-recall.js.map +1 -1
- package/dist/types/memory/index.d.ts +29 -0
- package/dist/types/memory/index.d.ts.map +1 -1
- package/dist/types/memory/index.js +6 -0
- package/dist/types/memory/index.js.map +1 -1
- package/dist/types/plugin/index.d.ts +12 -2
- package/dist/types/plugin/index.d.ts.map +1 -1
- package/dist/types/plugin/index.js +5 -2
- package/dist/types/plugin/index.js.map +1 -1
- package/package.json +1 -1
- package/src/config/registry.ts +24 -3
- package/src/connector/mcp/discovery.ts +29 -8
- package/src/connector/mcp/mcp-toolset.ts +25 -4
- package/src/connector/mcp/reconnect.ts +34 -4
- package/src/plugin/lifecycle.ts +217 -46
- package/src/prompt/resident-learning.ts +2 -2
- package/src/prompt/resident-step.ts +4 -4
- package/src/public-runtime.ts +2 -0
- package/src/registry/tool/screen.ts +34 -2
- package/src/runtime/jobs/registry.ts +39 -15
- package/src/runtime/query/index.ts +24 -1
- package/src/runtime/query/iteration/index.ts +35 -10
- package/src/runtime/query/iteration/outstanding-work.ts +2 -0
- package/src/runtime/query/iteration/phases/context.ts +4 -0
- package/src/runtime/query/iteration/phases/tool-review.ts +6 -1
- package/src/runtime/query/iteration/step-shaping.ts +9 -1
- package/src/store/index.ts +1 -0
- package/src/store/memory/disk.ts +82 -7
- package/src/store/memory/index.ts +66 -7
- package/src/store/memory/markdown.ts +54 -2
- package/src/store/memory/memory.ts +52 -2
- package/src/store/memory/revision.ts +158 -0
- package/src/tools/builtins/wait-for-job-bounds.ts +45 -7
- package/src/tools/builtins/wait-for-job.ts +25 -11
- package/src/tools/coordinator/wait-with-idle-bound.ts +3 -0
- package/src/tools/memory/delete.ts +33 -3
- package/src/tools/memory/read.ts +35 -2
- package/src/tools/memory/search.ts +38 -7
- package/src/tools/memory/update.ts +28 -3
- package/src/toolsets/manager.ts +74 -1
- package/src/turn/memory-recall.ts +5 -1
- package/src/types/memory/index.ts +43 -0
- package/src/types/plugin/index.ts +11 -6
|
@@ -57,7 +57,11 @@ export function stepContext(shaping, stepNumber, prepared) {
|
|
|
57
57
|
signal: ctx.abortController.signal,
|
|
58
58
|
contextBudget: {
|
|
59
59
|
windowTokens: window.tokens,
|
|
60
|
-
remainingTokens: Math.max(0, Math.floor(window.tokens -
|
|
60
|
+
remainingTokens: Math.max(0, Math.floor(window.tokens -
|
|
61
|
+
measureContext(ctx).tokens -
|
|
62
|
+
(shaping.requestContextTokens ?? 0) -
|
|
63
|
+
preparedTokens -
|
|
64
|
+
responseReserve)),
|
|
61
65
|
},
|
|
62
66
|
steps: steps(),
|
|
63
67
|
prepared,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-shaping.js","sourceRoot":"","sources":["../../../../src/runtime/query/iteration/step-shaping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,uCAAuC,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAA;AACpF,OAAO,EAGN,mBAAmB,GACnB,MAAM,iCAAiC,CAAA;AASxC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"step-shaping.js","sourceRoot":"","sources":["../../../../src/runtime/query/iteration/step-shaping.ts"],"names":[],"mappings":"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"}
|
package/dist/store/index.d.ts
CHANGED
|
@@ -16,5 +16,6 @@ export type { RenderedMemoryIndex } from './memory/index-file.js';
|
|
|
16
16
|
export { MEMORY_VERIFY_NOTICE, describeMemoryAge, memoryLinkNames, } from './memory/links.js';
|
|
17
17
|
export { MemoryContentRejectedError, MemoryNameConflictError, isMemoryName, slugifyMemoryName, } from './memory/naming.js';
|
|
18
18
|
export type { MemoryContentRejection } from './memory/naming.js';
|
|
19
|
+
export { MemoryRevisionConflictError } from './memory/revision.js';
|
|
19
20
|
export * from './feedback/index.js';
|
|
20
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,YAAY,EACX,yBAAyB,EACzB,mBAAmB,GACnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACN,2BAA2B,EAC3B,sBAAsB,EACtB,eAAe,EACf,iBAAiB,GACjB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EACN,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,GACf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACN,0BAA0B,EAC1B,uBAAuB,EACvB,YAAY,EACZ,iBAAiB,GACjB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,YAAY,EACX,yBAAyB,EACzB,mBAAmB,GACnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACN,2BAA2B,EAC3B,sBAAsB,EACtB,eAAe,EACf,iBAAiB,GACjB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EACN,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,GACf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACN,0BAA0B,EAC1B,uBAAuB,EACvB,YAAY,EACZ,iBAAiB,GACjB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAKlE,cAAc,qBAAqB,CAAA"}
|
package/dist/store/index.js
CHANGED
|
@@ -9,6 +9,7 @@ export { MarkdownMemoryStore } from './memory/markdown.js';
|
|
|
9
9
|
export { MEMORY_INDEX_LINE_MAX_CHARS, MEMORY_INDEX_MAX_LINES, memoryIndexLine, renderMemoryIndex, } from './memory/index-file.js';
|
|
10
10
|
export { MEMORY_VERIFY_NOTICE, describeMemoryAge, memoryLinkNames, } from './memory/links.js';
|
|
11
11
|
export { MemoryContentRejectedError, MemoryNameConflictError, isMemoryName, slugifyMemoryName, } from './memory/naming.js';
|
|
12
|
+
export { MemoryRevisionConflictError } from './memory/revision.js';
|
|
12
13
|
// Was that answer any good — recorded per message, durably, with
|
|
13
14
|
// compare-and-set. Every consumer used to invent its own side table for the
|
|
14
15
|
// most basic feedback loop there is.
|
package/dist/store/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAGpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAG9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAK1D,OAAO,EACN,2BAA2B,EAC3B,sBAAsB,EACtB,eAAe,EACf,iBAAiB,GACjB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EACN,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,GACf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACN,0BAA0B,EAC1B,uBAAuB,EACvB,YAAY,EACZ,iBAAiB,GACjB,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAGpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAG9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAK1D,OAAO,EACN,2BAA2B,EAC3B,sBAAsB,EACtB,eAAe,EACf,iBAAiB,GACjB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EACN,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,GACf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACN,0BAA0B,EAC1B,uBAAuB,EACvB,YAAY,EACZ,iBAAiB,GACjB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAElE,iEAAiE;AACjE,4EAA4E;AAC5E,qCAAqC;AACrC,cAAc,qBAAqB,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { MemoryId } from '../../types/ids/index.js';
|
|
2
|
-
import type { CreateMemoryParams, MemoryContent, MemoryIndexEntry, MemoryRecord, MemorySearchParams, MemorySearchResult,
|
|
2
|
+
import type { ConditionalMemoryStore, CreateMemoryParams, MemoryContent, MemoryIndexEntry, MemoryRecord, MemorySearchParams, MemorySearchResult, UpdateMemoryParams, VersionedMemoryRecord } from '../../types/memory/index.js';
|
|
3
3
|
import { type Logger } from '../../utils/logger.js';
|
|
4
4
|
import { InMemoryMemoryIndex } from './index.js';
|
|
5
5
|
export interface DiskMemoryStoreConfig {
|
|
@@ -10,7 +10,7 @@ export interface DiskMemoryStoreConfig {
|
|
|
10
10
|
/** Maximum wait for another process's operation; default 10 seconds. Never breaks stale locks. */
|
|
11
11
|
lockTimeoutMs?: number;
|
|
12
12
|
}
|
|
13
|
-
export declare class DiskMemoryStore implements
|
|
13
|
+
export declare class DiskMemoryStore implements ConditionalMemoryStore {
|
|
14
14
|
private readonly baseDir;
|
|
15
15
|
private readonly log;
|
|
16
16
|
private readonly lockTimeoutMs;
|
|
@@ -32,8 +32,13 @@ export declare class DiskMemoryStore implements MemoryStore {
|
|
|
32
32
|
}>;
|
|
33
33
|
get(id: MemoryId): Promise<MemoryContent | undefined>;
|
|
34
34
|
getRecord(id: MemoryId): Promise<MemoryRecord | undefined>;
|
|
35
|
+
getVersionedRecord(id: MemoryId): Promise<VersionedMemoryRecord | undefined>;
|
|
35
36
|
update(id: MemoryId, updates: UpdateMemoryParams): Promise<MemoryIndexEntry | undefined>;
|
|
37
|
+
updateIfRevision(id: MemoryId, updates: UpdateMemoryParams, expectedRevision: string): Promise<MemoryIndexEntry>;
|
|
38
|
+
private updateInternal;
|
|
36
39
|
delete(id: MemoryId): Promise<boolean>;
|
|
40
|
+
deleteIfRevision(id: MemoryId, expectedRevision: string): Promise<void>;
|
|
41
|
+
private deleteInternal;
|
|
37
42
|
list(params?: MemorySearchParams): Promise<MemorySearchResult>;
|
|
38
43
|
getIndex(): InMemoryMemoryIndex;
|
|
39
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disk.d.ts","sourceRoot":"","sources":["../../../src/store/memory/disk.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,KAAK,EACX,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"disk.d.ts","sourceRoot":"","sources":["../../../src/store/memory/disk.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,KAAK,EACX,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,MAAM,6BAA6B,CAAA;AAIpC,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,uBAAuB,CAAA;AAGlE,OAAO,EAAE,mBAAmB,EAAqD,MAAM,YAAY,CAAA;AA2JnG,MAAM,WAAW,qBAAqB;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,8FAA8F;IAC9F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kGAAkG;IAClG,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,qBAAa,eAAgB,YAAW,sBAAsB;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA4B;IAClD,OAAO,CAAC,QAAQ,CAAC,CAAiB;IAKlC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAC/D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;gBAExD,MAAM,EAAE,qBAAqB;IAQzC,OAAO,KAAK,UAAU,GAErB;YAEa,eAAe;IAkB7B,OAAO,CAAC,WAAW;YASL,WAAW;YAkBX,sBAAsB;YAgBtB,WAAW;YAYX,UAAU;IAOlB,MAAM,CACX,MAAM,EAAE,kBAAkB,GACxB,OAAO,CAAC;QAAE,KAAK,EAAE,gBAAgB,CAAC;QAAC,OAAO,EAAE,aAAa,CAAA;KAAE,CAAC;IAkDzD,GAAG,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAQrD,SAAS,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAS1D,kBAAkB,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAU5E,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAIxF,gBAAgB,CACrB,EAAE,EAAE,QAAQ,EACZ,OAAO,EAAE,kBAAkB,EAC3B,gBAAgB,EAAE,MAAM,GACtB,OAAO,CAAC,gBAAgB,CAAC;YAMd,cAAc;IA2DtB,MAAM,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAItC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAK/D,cAAc;IA4BtB,IAAI,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuCpE,QAAQ,IAAI,mBAAmB;CAG/B"}
|
|
@@ -7,9 +7,10 @@ import { SCOPE_ATTRIBUTE } from '../../utils/log/types.js';
|
|
|
7
7
|
import { resolveLogger } from '../../utils/logger.js';
|
|
8
8
|
import { DiskRecordStore } from '../kv/record-store.js';
|
|
9
9
|
import { SCHEMA_VERSION_KEY, defineSchema } from '../schema.js';
|
|
10
|
-
import { InMemoryMemoryIndex, searchMemoryEntries } from './index.js';
|
|
10
|
+
import { InMemoryMemoryIndex, searchMemoryEntries, selectMemorySearchCandidates } from './index.js';
|
|
11
11
|
import { MemoryNameConflictError, assertOptionalMemoryFields, isMemoryName, nameHolder, withOptionalFields, } from './naming.js';
|
|
12
12
|
import { DEFAULT_MEMORY_LOCK_TIMEOUT_MS, acquireMemoryOperationLock, validateMemoryLockTimeout, } from './operation-lock.js';
|
|
13
|
+
import { MemoryRevisionConflictError, assertMemoryRevision, memoryRevision } from './revision.js';
|
|
13
14
|
/**
|
|
14
15
|
* This store's on-disk format, versioned as a unit — which is how a
|
|
15
16
|
* migration would actually be written and shipped, and it keeps every call
|
|
@@ -275,13 +276,36 @@ export class DiskMemoryStore {
|
|
|
275
276
|
return structuredClone({ entry, content: await this.readContent(location, id) });
|
|
276
277
|
});
|
|
277
278
|
}
|
|
279
|
+
async getVersionedRecord(id) {
|
|
280
|
+
return this.withAuthoritativeIndex(async (location) => {
|
|
281
|
+
assertStorageMemoryId(id, (reason) => invalidContent(id, reason, { field: 'id' }));
|
|
282
|
+
const entry = this.index.getEntry(id);
|
|
283
|
+
if (!entry)
|
|
284
|
+
return undefined;
|
|
285
|
+
const record = structuredClone({ entry, content: await this.readContent(location, id) });
|
|
286
|
+
return { ...record, revision: memoryRevision(record) };
|
|
287
|
+
});
|
|
288
|
+
}
|
|
278
289
|
async update(id, updates) {
|
|
290
|
+
return this.updateInternal(id, updates);
|
|
291
|
+
}
|
|
292
|
+
async updateIfRevision(id, updates, expectedRevision) {
|
|
293
|
+
const updated = await this.updateInternal(id, updates, expectedRevision);
|
|
294
|
+
if (!updated)
|
|
295
|
+
throw new MemoryRevisionConflictError(id);
|
|
296
|
+
return updated;
|
|
297
|
+
}
|
|
298
|
+
async updateInternal(id, updates, expectedRevision) {
|
|
279
299
|
if (updates.status !== undefined)
|
|
280
300
|
assertMemoryStatus(updates.status);
|
|
281
301
|
assertOptionalMemoryFields(updates);
|
|
282
302
|
return this.withAuthoritativeIndex(async (location) => {
|
|
283
303
|
assertStorageMemoryId(id, (reason) => invalidContent(id, reason, { field: 'id' }));
|
|
284
304
|
const existing = this.index.getEntry(id);
|
|
305
|
+
const existingContent = existing ? await this.readContent(location, id) : undefined;
|
|
306
|
+
if (expectedRevision !== undefined) {
|
|
307
|
+
assertMemoryRevision(id, existing && existingContent ? { entry: existing, content: existingContent } : undefined, expectedRevision);
|
|
308
|
+
}
|
|
285
309
|
if (!existing)
|
|
286
310
|
return undefined;
|
|
287
311
|
if (updates.name !== undefined) {
|
|
@@ -289,7 +313,8 @@ export class DiskMemoryStore {
|
|
|
289
313
|
if (holder)
|
|
290
314
|
throw new MemoryNameConflictError(updates.name, holder.id);
|
|
291
315
|
}
|
|
292
|
-
|
|
316
|
+
if (!existingContent)
|
|
317
|
+
invalidContent(id, 'the indexed content record is missing');
|
|
293
318
|
const updated = withOptionalFields({
|
|
294
319
|
...existing,
|
|
295
320
|
title: updates.title ?? existing.title,
|
|
@@ -318,9 +343,22 @@ export class DiskMemoryStore {
|
|
|
318
343
|
});
|
|
319
344
|
}
|
|
320
345
|
async delete(id) {
|
|
346
|
+
return this.deleteInternal(id);
|
|
347
|
+
}
|
|
348
|
+
async deleteIfRevision(id, expectedRevision) {
|
|
349
|
+
const deleted = await this.deleteInternal(id, expectedRevision);
|
|
350
|
+
if (!deleted)
|
|
351
|
+
throw new MemoryRevisionConflictError(id);
|
|
352
|
+
}
|
|
353
|
+
async deleteInternal(id, expectedRevision) {
|
|
321
354
|
return this.withAuthoritativeIndex(async (location) => {
|
|
322
355
|
assertStorageMemoryId(id, (reason) => invalidContent(id, reason, { field: 'id' }));
|
|
323
|
-
|
|
356
|
+
const entry = this.index.getEntry(id);
|
|
357
|
+
if (expectedRevision !== undefined) {
|
|
358
|
+
const content = entry ? await this.readContent(location, id) : undefined;
|
|
359
|
+
assertMemoryRevision(id, entry && content ? { entry, content } : undefined, expectedRevision);
|
|
360
|
+
}
|
|
361
|
+
if (!entry)
|
|
324
362
|
return false;
|
|
325
363
|
try {
|
|
326
364
|
await unlink(this.contentPath(location, id));
|
|
@@ -347,12 +385,27 @@ export class DiskMemoryStore {
|
|
|
347
385
|
query: undefined,
|
|
348
386
|
limit: undefined,
|
|
349
387
|
requiredIdentifiers: undefined,
|
|
388
|
+
maxScanned: undefined,
|
|
389
|
+
scanOffset: undefined,
|
|
350
390
|
});
|
|
391
|
+
const selection = selectMemorySearchCandidates(candidates.entries, params);
|
|
351
392
|
const contents = new Map();
|
|
352
|
-
for (const entry of
|
|
393
|
+
for (const entry of selection.entries) {
|
|
353
394
|
contents.set(entry.id, (await this.readContent(location, entry.id)).content);
|
|
354
395
|
}
|
|
355
|
-
|
|
396
|
+
const matched = searchMemoryEntries(selection.entries, { ...params, maxScanned: undefined, scanOffset: undefined }, (id) => contents.get(id) ?? '');
|
|
397
|
+
return {
|
|
398
|
+
...matched,
|
|
399
|
+
...(params.maxScanned !== undefined || params.scanOffset !== undefined
|
|
400
|
+
? {
|
|
401
|
+
truncated: selection.truncated,
|
|
402
|
+
scannedCount: selection.scannedCount,
|
|
403
|
+
...(selection.nextScanOffset !== undefined
|
|
404
|
+
? { nextScanOffset: selection.nextScanOffset }
|
|
405
|
+
: {}),
|
|
406
|
+
}
|
|
407
|
+
: {}),
|
|
408
|
+
};
|
|
356
409
|
});
|
|
357
410
|
}
|
|
358
411
|
getIndex() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disk.js","sourceRoot":"","sources":["../../../src/store/memory/disk.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"disk.js","sourceRoot":"","sources":["../../../src/store/memory/disk.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,14 @@ import type { MemoryId } from '../../types/ids/index.js';
|
|
|
2
2
|
import type { MemoryIndex, MemoryIndexEntry, MemorySearchParams, MemorySearchResult } from '../../types/memory/index.js';
|
|
3
3
|
/** Exact normalized word membership; no substring, stemming or alias inference. */
|
|
4
4
|
export declare function matchesMemoryIdentifier(text: string, identifiers: ReadonlySet<string>): boolean;
|
|
5
|
+
interface MemoryScanSelection {
|
|
6
|
+
readonly entries: readonly MemoryIndexEntry[];
|
|
7
|
+
readonly truncated: boolean;
|
|
8
|
+
readonly scannedCount: number;
|
|
9
|
+
readonly nextScanOffset?: number;
|
|
10
|
+
}
|
|
11
|
+
/** Select a bounded, resumable snapshot of indexed candidates before reading any bodies. */
|
|
12
|
+
export declare function selectMemorySearchCandidates(entries: readonly MemoryIndexEntry[], params: MemorySearchParams): MemoryScanSelection;
|
|
5
13
|
/** Shared lexical ranking; a caller-owned index can omit body content. */
|
|
6
14
|
export declare function searchMemoryEntries(entries: readonly MemoryIndexEntry[], params: MemorySearchParams, contentOf?: (id: MemoryId) => string): MemorySearchResult;
|
|
7
15
|
export declare class InMemoryMemoryIndex implements MemoryIndex {
|
|
@@ -14,4 +22,5 @@ export declare class InMemoryMemoryIndex implements MemoryIndex {
|
|
|
14
22
|
set(entry: MemoryIndexEntry): void;
|
|
15
23
|
remove(id: MemoryId): boolean;
|
|
16
24
|
}
|
|
25
|
+
export {};
|
|
17
26
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,KAAK,EACX,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,6BAA6B,CAAA;AAWpC,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAQ/F;AAED,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,SAAS,gBAAgB,EAAE,EACpC,MAAM,EAAE,kBAAkB,EAC1B,SAAS,GAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,MAAiB,GAC5C,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,KAAK,EACX,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,6BAA6B,CAAA;AAWpC,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAQ/F;AAED,UAAU,mBAAmB;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAC7C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAChC;AAED,4FAA4F;AAC5F,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,SAAS,gBAAgB,EAAE,EACpC,MAAM,EAAE,kBAAkB,GACxB,mBAAmB,CAqCrB;AAED,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,SAAS,gBAAgB,EAAE,EACpC,MAAM,EAAE,kBAAkB,EAC1B,SAAS,GAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,MAAiB,GAC5C,kBAAkB,CA0DpB;AAED,qBAAa,mBAAoB,YAAW,WAAW;IACtD,OAAO,CAAC,OAAO,CAAsC;IAErD,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB;IAItD,QAAQ,CAAC,EAAE,EAAE,QAAQ,GAAG,gBAAgB,GAAG,SAAS;IAIpD,UAAU,IAAI,SAAS,gBAAgB,EAAE;IAIzC,KAAK,IAAI,MAAM;IAIf,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAO1C,GAAG,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAIlC,MAAM,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO;CAG7B"}
|
|
@@ -15,15 +15,44 @@ export function matchesMemoryIdentifier(text, identifiers) {
|
|
|
15
15
|
}
|
|
16
16
|
return false;
|
|
17
17
|
}
|
|
18
|
+
/** Select a bounded, resumable snapshot of indexed candidates before reading any bodies. */
|
|
19
|
+
export function selectMemorySearchCandidates(entries, params) {
|
|
20
|
+
if (params.maxScanned !== undefined &&
|
|
21
|
+
(!Number.isSafeInteger(params.maxScanned) || params.maxScanned < 1)) {
|
|
22
|
+
throw new RangeError('maxScanned must be a positive safe integer');
|
|
23
|
+
}
|
|
24
|
+
if (params.scanOffset !== undefined &&
|
|
25
|
+
(!Number.isSafeInteger(params.scanOffset) || params.scanOffset < 0)) {
|
|
26
|
+
throw new RangeError('scanOffset must be a nonnegative safe integer');
|
|
27
|
+
}
|
|
28
|
+
const query = terms(params.query ?? '');
|
|
29
|
+
if (params.query?.trim() && query.size === 0)
|
|
30
|
+
return { entries: [], truncated: false, scannedCount: 0 };
|
|
31
|
+
const bodySearch = query.size > 0 ||
|
|
32
|
+
Boolean(params.requiredIdentifiers?.length) ||
|
|
33
|
+
params.maxScanned !== undefined ||
|
|
34
|
+
params.scanOffset !== undefined;
|
|
35
|
+
if (!bodySearch)
|
|
36
|
+
return { entries, truncated: false, scannedCount: 0 };
|
|
37
|
+
const ordered = [...entries].sort((a, b) => b.updatedAt - a.updatedAt || (a.id < b.id ? -1 : a.id > b.id ? 1 : 0));
|
|
38
|
+
const start = params.scanOffset ?? 0;
|
|
39
|
+
const selected = ordered.slice(start, params.maxScanned === undefined ? undefined : start + params.maxScanned);
|
|
40
|
+
const next = start + selected.length;
|
|
41
|
+
return {
|
|
42
|
+
entries: selected,
|
|
43
|
+
truncated: next < ordered.length,
|
|
44
|
+
scannedCount: selected.length,
|
|
45
|
+
...(next < ordered.length ? { nextScanOffset: next } : {}),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
18
48
|
/** Shared lexical ranking; a caller-owned index can omit body content. */
|
|
19
49
|
export function searchMemoryEntries(entries, params, contentOf = () => '') {
|
|
20
50
|
const query = terms(params.query ?? '');
|
|
21
51
|
const identifiers = new Set(params.requiredIdentifiers?.map((id) => id.normalize('NFKC').toLowerCase()));
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
(!params.tags?.length || params.tags.every((tag) => entry.tags.includes(tag))))
|
|
52
|
+
const candidates = entries.filter((entry) => (!params.status || entry.status === params.status) &&
|
|
53
|
+
(!params.tags?.length || params.tags.every((tag) => entry.tags.includes(tag))));
|
|
54
|
+
const selection = selectMemorySearchCandidates(candidates, params);
|
|
55
|
+
const ranked = selection.entries
|
|
27
56
|
.filter((entry) => !identifiers.size ||
|
|
28
57
|
[entry.id, entry.title, entry.summary, contentOf(entry.id)].some((text) => matchesMemoryIdentifier(text, identifiers)))
|
|
29
58
|
.map((entry) => {
|
|
@@ -52,6 +81,15 @@ export function searchMemoryEntries(entries, params, contentOf = () => '') {
|
|
|
52
81
|
return {
|
|
53
82
|
entries: ranked.slice(0, params.limit ?? ranked.length).map(({ entry }) => entry),
|
|
54
83
|
totalCount: ranked.length,
|
|
84
|
+
...(params.maxScanned !== undefined || params.scanOffset !== undefined
|
|
85
|
+
? {
|
|
86
|
+
truncated: selection.truncated,
|
|
87
|
+
scannedCount: selection.scannedCount,
|
|
88
|
+
...(selection.nextScanOffset !== undefined
|
|
89
|
+
? { nextScanOffset: selection.nextScanOffset }
|
|
90
|
+
: {}),
|
|
91
|
+
}
|
|
92
|
+
: {}),
|
|
55
93
|
};
|
|
56
94
|
}
|
|
57
95
|
export class InMemoryMemoryIndex {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/store/memory/index.ts"],"names":[],"mappings":"AAQA,SAAS,KAAK,CAAC,IAAY;IAC1B,OAAO,IAAI,GAAG,CACb,IAAI;SACF,SAAS,CAAC,MAAM,CAAC;SACjB,WAAW,EAAE;SACb,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAChC,CAAA;AACF,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,WAAgC;IACrF,KAAK,MAAM,KAAK,IAAI,IAAI;SACtB,SAAS,CAAC,MAAM,CAAC;SACjB,WAAW,EAAE;SACb,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAChC,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;IAC3C,CAAC;IACD,OAAO,KAAK,CAAA;AACb,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/store/memory/index.ts"],"names":[],"mappings":"AAQA,SAAS,KAAK,CAAC,IAAY;IAC1B,OAAO,IAAI,GAAG,CACb,IAAI;SACF,SAAS,CAAC,MAAM,CAAC;SACjB,WAAW,EAAE;SACb,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAChC,CAAA;AACF,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,WAAgC;IACrF,KAAK,MAAM,KAAK,IAAI,IAAI;SACtB,SAAS,CAAC,MAAM,CAAC;SACjB,WAAW,EAAE;SACb,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAChC,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;IAC3C,CAAC;IACD,OAAO,KAAK,CAAA;AACb,CAAC;AASD,4FAA4F;AAC5F,MAAM,UAAU,4BAA4B,CAC3C,OAAoC,EACpC,MAA0B;IAE1B,IACC,MAAM,CAAC,UAAU,KAAK,SAAS;QAC/B,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,EAClE,CAAC;QACF,MAAM,IAAI,UAAU,CAAC,4CAA4C,CAAC,CAAA;IACnE,CAAC;IACD,IACC,MAAM,CAAC,UAAU,KAAK,SAAS;QAC/B,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,EAClE,CAAC;QACF,MAAM,IAAI,UAAU,CAAC,+CAA+C,CAAC,CAAA;IACtE,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IACvC,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;QAC3C,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAA;IAC1D,MAAM,UAAU,GACf,KAAK,CAAC,IAAI,GAAG,CAAC;QACd,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC;QAC3C,MAAM,CAAC,UAAU,KAAK,SAAS;QAC/B,MAAM,CAAC,UAAU,KAAK,SAAS,CAAA;IAChC,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAA;IACtE,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAChC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/E,CAAA;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,CAAA;IACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAC7B,KAAK,EACL,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CACvE,CAAA;IACD,MAAM,IAAI,GAAG,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAA;IACpC,OAAO;QACN,OAAO,EAAE,QAAQ;QACjB,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM;QAChC,YAAY,EAAE,QAAQ,CAAC,MAAM;QAC7B,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1D,CAAA;AACF,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,mBAAmB,CAClC,OAAoC,EACpC,MAA0B,EAC1B,YAAsC,GAAG,EAAE,CAAC,EAAE;IAE9C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IACvC,MAAM,WAAW,GAAG,IAAI,GAAG,CAC1B,MAAM,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAC3E,CAAA;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAChC,CAAC,KAAK,EAAE,EAAE,CACT,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;QAClD,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAC/E,CAAA;IACD,MAAM,SAAS,GAAG,4BAA4B,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAClE,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO;SAC9B,MAAM,CACN,CAAC,KAAK,EAAE,EAAE,CACT,CAAC,WAAW,CAAC,IAAI;QACjB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACzE,uBAAuB,CAAC,IAAI,EAAE,WAAW,CAAC,CAC1C,CACF;SACA,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACd,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACpB,6DAA6D;YAC7D,uEAAuE;YACvE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;YAC9E,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,CAAA;YACpE,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;YACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC1B,MAAM,MAAM,GACX,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACnF,IAAI,MAAM,GAAG,CAAC;oBAAE,QAAQ,EAAE,CAAA;gBAC1B,KAAK,IAAI,MAAM,CAAA;YAChB,CAAC;QACF,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;IAClC,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC;SAC1D,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACR,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ;QACvB,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;QACjB,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS;QACrC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACjE,CAAA;IACF,OAAO;QACN,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC;QACjF,UAAU,EAAE,MAAM,CAAC,MAAM;QACzB,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;YACrE,CAAC,CAAC;gBACA,SAAS,EAAE,SAAS,CAAC,SAAS;gBAC9B,YAAY,EAAE,SAAS,CAAC,YAAY;gBACpC,GAAG,CAAC,SAAS,CAAC,cAAc,KAAK,SAAS;oBACzC,CAAC,CAAC,EAAE,cAAc,EAAE,SAAS,CAAC,cAAc,EAAE;oBAC9C,CAAC,CAAC,EAAE,CAAC;aACN;YACF,CAAC,CAAC,EAAE,CAAC;KACN,CAAA;AACF,CAAC;AAED,MAAM,OAAO,mBAAmB;IACvB,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAA;IAErD,MAAM,CAAC,MAA0B;QAChC,OAAO,mBAAmB,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;IAC/D,CAAC;IAED,QAAQ,CAAC,EAAY;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC5B,CAAC;IAED,UAAU;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IACzC,CAAC;IAED,KAAK;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;IACzB,CAAC;IAED,OAAO,CAAC,OAA2B;QAClC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACpB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAClC,CAAC;IACF,CAAC;IAED,GAAG,CAAC,KAAuB;QAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAClC,CAAC;IAED,MAAM,CAAC,EAAY;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC/B,CAAC;CACD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { MemoryId } from '../../types/ids/index.js';
|
|
2
|
-
import type { CreateMemoryParams, MemoryContent, MemoryIndexEntry, MemoryRecord, MemorySearchParams, MemorySearchResult,
|
|
2
|
+
import type { ConditionalMemoryStore, CreateMemoryParams, MemoryContent, MemoryIndexEntry, MemoryRecord, MemorySearchParams, MemorySearchResult, MemoryType, UpdateMemoryParams, VersionedMemoryRecord } from '../../types/memory/index.js';
|
|
3
3
|
import { type Logger } from '../../utils/logger.js';
|
|
4
4
|
import { type RenderedMemoryIndex } from './index-file.js';
|
|
5
5
|
/** The generated index. Never a memory, never read back as one. */
|
|
@@ -48,7 +48,7 @@ export type MemoryImportOutcome = 'imported' | 'present';
|
|
|
48
48
|
* holds with {@link MemoryNameConflictError}, and derives a free one from the
|
|
49
49
|
* title when none is given.
|
|
50
50
|
*/
|
|
51
|
-
export declare class MarkdownMemoryStore implements
|
|
51
|
+
export declare class MarkdownMemoryStore implements ConditionalMemoryStore {
|
|
52
52
|
private readonly directory;
|
|
53
53
|
private readonly log;
|
|
54
54
|
private readonly lockTimeoutMs;
|
|
@@ -75,10 +75,15 @@ export declare class MarkdownMemoryStore implements MemoryStore {
|
|
|
75
75
|
}>;
|
|
76
76
|
get(id: MemoryId): Promise<MemoryContent | undefined>;
|
|
77
77
|
getRecord(id: MemoryId): Promise<MemoryRecord | undefined>;
|
|
78
|
+
getVersionedRecord(id: MemoryId): Promise<VersionedMemoryRecord | undefined>;
|
|
78
79
|
/** The current record held under `name`, archived included, or `undefined`. */
|
|
79
80
|
getByName(name: string): Promise<MemoryRecord | undefined>;
|
|
80
81
|
update(id: MemoryId, updates: UpdateMemoryParams): Promise<MemoryIndexEntry | undefined>;
|
|
82
|
+
updateIfRevision(id: MemoryId, updates: UpdateMemoryParams, expectedRevision: string): Promise<MemoryIndexEntry>;
|
|
83
|
+
private updateInternal;
|
|
81
84
|
delete(id: MemoryId): Promise<boolean>;
|
|
85
|
+
deleteIfRevision(id: MemoryId, expectedRevision: string): Promise<void>;
|
|
86
|
+
private deleteInternal;
|
|
82
87
|
list(params?: MemorySearchParams): Promise<MemorySearchResult>;
|
|
83
88
|
/**
|
|
84
89
|
* The index a prompt carries: one line per active memory someone chose to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/store/memory/markdown.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,KAAK,EACX,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/store/memory/markdown.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ import { searchMemoryEntries } from './index.js';
|
|
|
13
13
|
import { MemoryFileFormatError, formatMemoryFile, parseMemoryFile, } from './markdown-format.js';
|
|
14
14
|
import { MemoryContentRejectedError, MemoryNameConflictError, assertOptionalMemoryFields, isMemoryName, nameHolder, slugifyMemoryName, uniqueMemoryName, } from './naming.js';
|
|
15
15
|
import { DEFAULT_MEMORY_LOCK_TIMEOUT_MS, acquireMemoryOperationLock, validateMemoryLockTimeout, } from './operation-lock.js';
|
|
16
|
+
import { MemoryRevisionConflictError, assertMemoryRevision, memoryRevision } from './revision.js';
|
|
16
17
|
/**
|
|
17
18
|
* Versioned like every other record this SDK persists. A memory file carries
|
|
18
19
|
* no `schemaVersion` while it is at version 1 — the reference shape has no
|
|
@@ -467,6 +468,15 @@ export class MarkdownMemoryStore {
|
|
|
467
468
|
return memory ? structuredClone({ entry: memory.entry, content: memory.content }) : undefined;
|
|
468
469
|
});
|
|
469
470
|
}
|
|
471
|
+
async getVersionedRecord(id) {
|
|
472
|
+
return this.withLoaded(async (_dir, loaded) => {
|
|
473
|
+
const memory = loaded.get(id);
|
|
474
|
+
if (!memory)
|
|
475
|
+
return undefined;
|
|
476
|
+
const record = structuredClone({ entry: memory.entry, content: memory.content });
|
|
477
|
+
return { ...record, revision: memoryRevision(record) };
|
|
478
|
+
});
|
|
479
|
+
}
|
|
470
480
|
/** The current record held under `name`, archived included, or `undefined`. */
|
|
471
481
|
async getByName(name) {
|
|
472
482
|
return this.withLoaded(async (_dir, loaded) => {
|
|
@@ -482,11 +492,23 @@ export class MarkdownMemoryStore {
|
|
|
482
492
|
});
|
|
483
493
|
}
|
|
484
494
|
async update(id, updates) {
|
|
495
|
+
return this.updateInternal(id, updates);
|
|
496
|
+
}
|
|
497
|
+
async updateIfRevision(id, updates, expectedRevision) {
|
|
498
|
+
const updated = await this.updateInternal(id, updates, expectedRevision);
|
|
499
|
+
if (!updated)
|
|
500
|
+
throw new MemoryRevisionConflictError(id);
|
|
501
|
+
return updated;
|
|
502
|
+
}
|
|
503
|
+
async updateInternal(id, updates, expectedRevision) {
|
|
485
504
|
if (updates.status !== undefined)
|
|
486
505
|
assertMemoryStatus(updates.status);
|
|
487
506
|
assertOptionalMemoryFields(updates);
|
|
488
507
|
return this.mutate(async (dir, loaded) => {
|
|
489
508
|
const existing = loaded.get(id);
|
|
509
|
+
if (expectedRevision !== undefined) {
|
|
510
|
+
assertMemoryRevision(id, existing ? { entry: existing.entry, content: existing.content } : undefined, expectedRevision);
|
|
511
|
+
}
|
|
490
512
|
if (!existing)
|
|
491
513
|
return undefined;
|
|
492
514
|
const entries = this.entries(loaded);
|
|
@@ -527,8 +549,19 @@ export class MarkdownMemoryStore {
|
|
|
527
549
|
});
|
|
528
550
|
}
|
|
529
551
|
async delete(id) {
|
|
552
|
+
return this.deleteInternal(id);
|
|
553
|
+
}
|
|
554
|
+
async deleteIfRevision(id, expectedRevision) {
|
|
555
|
+
const deleted = await this.deleteInternal(id, expectedRevision);
|
|
556
|
+
if (!deleted)
|
|
557
|
+
throw new MemoryRevisionConflictError(id);
|
|
558
|
+
}
|
|
559
|
+
async deleteInternal(id, expectedRevision) {
|
|
530
560
|
return this.mutate(async (dir, loaded) => {
|
|
531
561
|
const existing = loaded.get(id);
|
|
562
|
+
if (expectedRevision !== undefined) {
|
|
563
|
+
assertMemoryRevision(id, existing ? { entry: existing.entry, content: existing.content } : undefined, expectedRevision);
|
|
564
|
+
}
|
|
532
565
|
if (!existing)
|
|
533
566
|
return false;
|
|
534
567
|
try {
|