@felan-ai/ext-memory 0.4.2 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -62,14 +62,15 @@ the root session's configured model scope, preferring its provider and model
62
62
  family. It does not silently escalate to a more expensive tier; evidence remains
63
63
  pending when no eligible model is available.
64
64
  It does not impose separate turn, tool-call, or per-file I/O budgets; its only
65
- execution failsafe is a one-hour wall-clock timeout. The host-side evidence
66
- materializer is a separate boundary: it streams the checkpoint's visible
67
- active-branch delta from JSONL, ignores unrelated branches, redacts it, and
68
- caps each staged transcript at 256 KiB. The dreamer uses the structured session
69
- records to ignore low-value tool and bookkeeping content according to the
70
- retention policy. Large source session files are not rejected solely for their
71
- total size. Deterministic source failures remain pending for retry, while valid
72
- checkpoints in the same batch can still be published.
65
+ execution failsafe is a one-hour wall-clock timeout. Hosts can pass a replayable
66
+ async JSONL line source to `materializeMemoryInputDelta` to validate checkpoint
67
+ lineage and create a deterministic, redacted visible-branch delta. Diverged
68
+ lineages emit the complete current branch. Output limits reject an oversized
69
+ projection instead of truncating a JSONL record. Hosts remain responsible for
70
+ reading session files and staging successful projections. Large source session
71
+ files are not rejected solely for their total size. Deterministic source
72
+ failures remain pending for retry, while valid checkpoints in the same batch
73
+ can still be published.
73
74
 
74
75
  The memory schema keeps the wiki sparse. It prioritizes durable user-authored
75
76
  facts, preferences, decisions, corrections, and uncodified rationale, followed
@@ -95,9 +96,9 @@ pnpm --filter @felan-ai/ext-memory test
95
96
  ## Package boundary and requirements
96
97
 
97
98
  The package owns the portable memory schema, validation, hydration, checkpoint
98
- contracts, and root/reader extension behavior. The host owns project scoping,
99
- canonical storage, evidence materialization, scheduling, model calls, staging,
100
- locking, validation publication, and retry policy. It requires a compatible
99
+ contracts, checkpoint-delta projection, and root/reader extension behavior. The
100
+ host owns project scoping, canonical storage, transcript I/O, scheduling, model
101
+ calls, staging, locking, validation publication, and retry policy. It requires a compatible
101
102
  `@felan-ai/agent-core` peer and remains independent of TUI, Supabase, and cloud
102
103
  application modules.
103
104
 
@@ -1,5 +1,6 @@
1
1
  export declare const MEMORY_ARTIFACT_VERSION: 1;
2
2
  export declare const MEMORY_INPUT_MANIFEST_VERSION: 1;
3
+ export declare const MEMORY_INPUT_PROJECTION_VERSION: 1;
3
4
  export type MemoryRole = 'root' | 'reader';
4
5
  export interface MemoryFile {
5
6
  /** POSIX path relative to the logical .memory root. */
@@ -22,6 +23,18 @@ export interface SessionCheckpoint {
22
23
  readonly leafId: string | null;
23
24
  readonly transcriptDigest: string;
24
25
  }
26
+ export type MemoryInputRelation = 'initial' | 'unchanged' | 'appended' | 'diverged';
27
+ export interface MemoryInputProjection {
28
+ readonly version: typeof MEMORY_INPUT_PROJECTION_VERSION;
29
+ readonly relation: MemoryInputRelation;
30
+ /** Visible lineage entries selected by the checkpoint relation. */
31
+ readonly includedEntryCount: number;
32
+ /** Complete JSONL evidence records emitted from selected entries. */
33
+ readonly evidenceRecordCount: number;
34
+ /** Hidden lineage entries and selected non-evidence entries omitted from JSONL. */
35
+ readonly removedEntryCount: number;
36
+ readonly previousCheckpoint?: SessionCheckpoint;
37
+ }
25
38
  export type MemoryProcessingState = 'disabled' | 'idle' | 'scheduled' | 'processing' | 'blocked' | 'error';
26
39
  export interface MemoryStatus {
27
40
  readonly enabled: boolean;
@@ -44,6 +57,7 @@ export interface MemoryInputSession {
44
57
  readonly materializedDigest: string;
45
58
  readonly byteLength: number;
46
59
  readonly redactionCount: number;
60
+ readonly projection?: MemoryInputProjection;
47
61
  }
48
62
  export interface MemoryInputManifest {
49
63
  readonly version: typeof MEMORY_INPUT_MANIFEST_VERSION;
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
package/dist/contracts.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export const MEMORY_ARTIFACT_VERSION = 1;
2
2
  export const MEMORY_INPUT_MANIFEST_VERSION = 1;
3
+ export const MEMORY_INPUT_PROJECTION_VERSION = 1;
3
4
  export const DEFAULT_MEMORY_ARTIFACT_LIMITS = Object.freeze({
4
5
  maxFiles: 256,
5
6
  maxFileBytes: 256 * 1024,
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAU,CAAC;AAClD,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAU,CAAC;AA2ExD,MAAM,CAAC,MAAM,8BAA8B,GAAyB,MAAM,CAAC,MAAM,CAAC;IAChF,QAAQ,EAAE,GAAG;IACb,YAAY,EAAE,GAAG,GAAG,IAAI;IACxB,aAAa,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;CAC/B,CAAC,CAAC"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAU,CAAC;AAClD,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAU,CAAC;AACxD,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAU,CAAC;AA0F1D,MAAM,CAAC,MAAM,8BAA8B,GAAyB,MAAM,CAAC,MAAM,CAAC;IAChF,QAAQ,EAAE,GAAG;IACb,YAAY,EAAE,GAAG,GAAG,IAAI;IACxB,aAAa,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;CAC/B,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"hydration.d.ts","sourceRoot":"","sources":["../src/hydration.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,cAAc,EAEnB,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACpB,MAAM,gBAAgB,CAAC;AAYxB,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,UAAU,EAAE,GAAG,MAAM,CAWlG;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,GAAG,SAAS,UAAU,EAAE,EAChD,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,sBAA2B,GACnC,cAAc,CAUhB;AAED,2FAA2F;AAC3F,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,MAAM,GACjB,cAAc,CAiBhB;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAQ5E;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,cAAc,CAAC,CAczB;AAED,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,cAAc,GAAG,SAAS,UAAU,EAAE,EAChD,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAEf;AAwFD,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,cAAc,GAAG,SAAS,UAAU,EAAE,EAChD,OAAO,GAAE,sBAA2B,GACnC,IAAI,CAGN"}
1
+ {"version":3,"file":"hydration.d.ts","sourceRoot":"","sources":["../src/hydration.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,cAAc,EAEnB,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACpB,MAAM,gBAAgB,CAAC;AAaxB,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,UAAU,EAAE,GAAG,MAAM,CAWlG;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,GAAG,SAAS,UAAU,EAAE,EAChD,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,sBAA2B,GACnC,cAAc,CAUhB;AAED,2FAA2F;AAC3F,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,MAAM,GACjB,cAAc,CAiBhB;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAQ5E;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,cAAc,CAAC,CAczB;AAED,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,cAAc,GAAG,SAAS,UAAU,EAAE,EAChD,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAEf;AAyFD,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,cAAc,GAAG,SAAS,UAAU,EAAE,EAChD,OAAO,GAAE,sBAA2B,GACnC,IAAI,CAGN"}
package/dist/hydration.js CHANGED
@@ -6,6 +6,7 @@ import { createDefaultMemoryIndex, createMemoryNavigationGuide } from './schema.
6
6
  import { assertValidMemoryArtifact, isSafeMemoryPath, resolveMemoryLink, validateMemoryArtifact, } from './validation.js';
7
7
  const MARKDOWN_LINK_TARGET = /(!?\[[^\]]*\]\()([^)\s]+)((?:\s+['"][^'"]*['"])?\))/gu;
8
8
  const WIKI_LINK_TARGET = /(\[\[)([^\]|#]+)((?:#[^\]|]+)?(?:\|[^\]]+)?)\]\]/gu;
9
+ const READ_MODE_IGNORED_FILES = new Set(['.DS_Store']);
9
10
  export function memoryArtifactFingerprint(artifact) {
10
11
  const files = 'files' in artifact ? artifact.files : artifact;
11
12
  const sorted = [...files].sort((left, right) => left.path.localeCompare(right.path));
@@ -110,6 +111,8 @@ async function walk(root, current, files, options, onBytes) {
110
111
  const absolute = join(current, entry.name);
111
112
  const relativePath = relative(root, absolute).split(sep).join('/');
112
113
  const stats = await lstat(absolute);
114
+ if (options.mode === 'read' && stats.isFile() && READ_MODE_IGNORED_FILES.has(entry.name))
115
+ continue;
113
116
  if (stats.isSymbolicLink() || (!stats.isDirectory() && !stats.isFile())) {
114
117
  throw new Error(`Unsafe memory entry type: ${relativePath}`);
115
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hydration.js","sourceRoot":"","sources":["../src/hydration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hydration.js","sourceRoot":"","sources":["../src/hydration.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,6 +4,7 @@ export * from './checkpoint.js';
4
4
  export * from './contracts.js';
5
5
  export * from './dreamer.js';
6
6
  export * from './hydration.js';
7
+ export * from './input-materializer.js';
7
8
  export * from './manifest.js';
8
9
  export * from './schema.js';
9
10
  export * from './validation.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM7E,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG7D,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAEhC,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAID,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,IAAI,EACJ,KAAiB,GAClB,EAAE,4BAA4B,GAAG,cAAc,CAqD/C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM7E,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG7D,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAEhC,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAID,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,IAAI,EACJ,KAAiB,GAClB,EAAE,4BAA4B,GAAG,cAAc,CAqD/C"}
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@ export * from './checkpoint.js';
4
4
  export * from './contracts.js';
5
5
  export * from './dreamer.js';
6
6
  export * from './hydration.js';
7
+ export * from './input-materializer.js';
7
8
  export * from './manifest.js';
8
9
  export * from './schema.js';
9
10
  export * from './validation.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExD,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAQhC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAEnC,MAAM,UAAU,qBAAqB,CAAC,EACpC,IAAI,EACJ,IAAI,EACJ,KAAK,GAAG,SAAS,GACY;IAC7B,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,EAAE,CAAC,kBAAkB,CAAC;YACpB,EAAE,EAAE,QAAQ;YACZ,YAAY,EAAE,wxBAAwxB;SACvyB,CAAC,CAAC;QAEH,IAAI,aAAwC,CAAC;QAC7C,MAAM,mBAAmB,GAAG,CAAC,GAAqB,EAAiB,EAAE;YACnE,IAAI,aAAa;gBAAE,OAAO,aAAa,CAAC;YACxC,MAAM,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE;gBACtB,IAAI,CAAC;oBACH,IAAI,GAAG,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;wBACxE,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;wBAC/C,OAAO;oBACT,CAAC;oBACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC1C,IAAI,CAAC,QAAQ;wBAAE,OAAO;oBACtB,IAAI,GAAG,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;wBAAE,OAAO;oBAChF,EAAE,CAAC,WAAW,CAAC;wBACb,UAAU,EAAE,0BAA0B;wBACtC,OAAO,EAAE,yBAAyB,CAAC,QAAQ,EAAE,KAAK,CAAC;wBACnD,OAAO,EAAE,KAAK;qBACf,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC3B,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;gBACjD,CAAC;gBAAC,MAAM,CAAC;oBACP,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;YACL,IAAI,OAAsB,CAAC;YAC3B,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE;gBACzB,IAAI,aAAa,KAAK,OAAO;oBAAE,aAAa,GAAG,SAAS,CAAC;YAC3D,CAAC,CAAC,CAAC;YACH,aAAa,GAAG,OAAO,CAAC;YACxB,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,EAAE,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1E,EAAE,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;QAEvE,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO;QAE9B,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC/D,IAAI,CAAC,UAAU;gBAAE,OAAO;YACxB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,iCAAiC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { type MemoryInputProjection, type SessionCheckpoint } from './contracts.js';
2
+ export declare const MEMORY_INPUT_JSONL_FORMAT: "felan-memory-input-jsonl-v1";
3
+ export type MemoryTranscriptLineSource = () => AsyncIterable<string>;
4
+ export interface MaterializeMemoryInputDeltaOptions {
5
+ readonly lines: MemoryTranscriptLineSource;
6
+ readonly checkpoint: SessionCheckpoint;
7
+ readonly previousCheckpoint?: SessionCheckpoint;
8
+ readonly maxOutputBytes?: number;
9
+ readonly signal?: AbortSignal;
10
+ }
11
+ export type MemoryInputMaterializationFailureCode = 'cancelled' | 'checkpoint_changed' | 'invalid_checkpoint' | 'invalid_source' | 'output_too_large' | 'previous_checkpoint_changed' | 'source_changed' | 'source_unavailable';
12
+ export interface MemoryInputMaterializationFailure {
13
+ readonly ok: false;
14
+ readonly code: MemoryInputMaterializationFailureCode;
15
+ readonly message: string;
16
+ }
17
+ export interface MemoryInputMaterializationSuccess {
18
+ readonly ok: true;
19
+ readonly format: typeof MEMORY_INPUT_JSONL_FORMAT;
20
+ readonly text: string;
21
+ readonly materializedDigest: string;
22
+ readonly byteLength: number;
23
+ readonly redactionCount: number;
24
+ readonly projection: MemoryInputProjection;
25
+ }
26
+ export type MemoryInputMaterializationResult = MemoryInputMaterializationFailure | MemoryInputMaterializationSuccess;
27
+ export declare function materializeMemoryInputDelta(options: MaterializeMemoryInputDeltaOptions): Promise<MemoryInputMaterializationResult>;
28
+ //# sourceMappingURL=input-materializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-materializer.d.ts","sourceRoot":"","sources":["../src/input-materializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,qBAAqB,EAE1B,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,yBAAyB,EAAG,6BAAsC,CAAC;AAEhF,MAAM,MAAM,0BAA0B,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;AAErE,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,iBAAiB,CAAC;IAChD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,MAAM,qCAAqC,GAC7C,WAAW,GACX,oBAAoB,GACpB,oBAAoB,GACpB,gBAAgB,GAChB,kBAAkB,GAClB,6BAA6B,GAC7B,gBAAgB,GAChB,oBAAoB,CAAC;AAEzB,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,qCAAqC,CAAC;IACrD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,MAAM,EAAE,OAAO,yBAAyB,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;CAC5C;AAED,MAAM,MAAM,gCAAgC,GACxC,iCAAiC,GACjC,iCAAiC,CAAC;AA4BtC,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,kCAAkC,GAC1C,OAAO,CAAC,gCAAgC,CAAC,CA0G3C"}
@@ -0,0 +1,409 @@
1
+ import { MEMORY_INPUT_PROJECTION_VERSION, } from './contracts.js';
2
+ export const MEMORY_INPUT_JSONL_FORMAT = 'felan-memory-input-jsonl-v1';
3
+ const DIGEST_PATTERN = /^[a-f0-9]{64}$/u;
4
+ const SECRET_FIELD_PATTERN = /^(?:api[_-]?key|access[_-]?token|refresh[_-]?token|password|secret|authorization)$/iu;
5
+ const MEMORY_CONTEXT_CUSTOM_TYPE = 'felan-memory-context';
6
+ const encoder = new TextEncoder();
7
+ export async function materializeMemoryInputDelta(options) {
8
+ try {
9
+ validateOptions(options);
10
+ throwIfAborted(options.signal);
11
+ const index = await indexSource(options.lines, options.checkpoint, options.signal);
12
+ validateGraph(index);
13
+ const current = selectVisibleBranch(index, options.checkpoint.leafId);
14
+ const previous = options.previousCheckpoint === undefined
15
+ ? undefined
16
+ : selectVisibleBranch(index, options.previousCheckpoint.leafId);
17
+ const commonPrefixEntryCount = previous === undefined ? 0 : longestCommonPrefix(current.ids, previous.ids);
18
+ const relation = classifyRelation(current.ids, previous?.ids, commonPrefixEntryCount);
19
+ const includedIds = relation === 'diverged'
20
+ ? current.ids
21
+ : current.ids.slice(commonPrefixEntryCount);
22
+ const includedPositions = new Map(includedIds.map((id, position) => [id, position]));
23
+ const currentEntries = [];
24
+ const previousEntries = [];
25
+ const evidence = [];
26
+ let evidenceBytes = 0;
27
+ let evidenceRecordCount = 0;
28
+ let removedEntryCount = current.hiddenEntryCount;
29
+ let redactionCount = 0;
30
+ let outputTooLarge = false;
31
+ let replayLineCount = 0;
32
+ await consumeSource(options.lines, options.signal, async (line, lineNumber) => {
33
+ replayLineCount += 1;
34
+ if (lineNumber >= index.lineDigests.length || await sha256(line) !== index.lineDigests[lineNumber]) {
35
+ fail('source_changed', 'Memory checkpoint source changed while it was being read');
36
+ }
37
+ if (lineNumber === 0 || line.trim().length === 0)
38
+ return;
39
+ const entry = parseRecord(line);
40
+ const id = entry.id;
41
+ const currentPosition = current.positions.get(id);
42
+ if (currentPosition !== undefined)
43
+ currentEntries[currentPosition] = normalizeVisibleEntry(entry, index);
44
+ const previousPosition = previous?.positions.get(id);
45
+ if (previousPosition !== undefined)
46
+ previousEntries[previousPosition] = normalizeVisibleEntry(entry, index);
47
+ if (!includedPositions.has(id))
48
+ return;
49
+ const projected = projectEvidenceEntry(normalizeVisibleEntry(entry, index));
50
+ if (projected === undefined) {
51
+ removedEntryCount += 1;
52
+ return;
53
+ }
54
+ evidenceRecordCount += 1;
55
+ const state = { count: 0 };
56
+ const jsonlRecord = `${canonicalJson(redactValue(projected, state))}\n`;
57
+ redactionCount += state.count;
58
+ const recordBytes = byteLength(jsonlRecord);
59
+ if (options.maxOutputBytes !== undefined && evidenceBytes + recordBytes > options.maxOutputBytes) {
60
+ outputTooLarge = true;
61
+ return;
62
+ }
63
+ if (!outputTooLarge) {
64
+ evidence.push(jsonlRecord);
65
+ evidenceBytes += recordBytes;
66
+ }
67
+ });
68
+ if (replayLineCount !== index.lineDigests.length) {
69
+ fail('source_changed', 'Memory checkpoint source changed while it was being read');
70
+ }
71
+ if (currentEntries.length !== current.ids.length
72
+ || await digestCanonicalArray(currentEntries) !== options.checkpoint.transcriptDigest) {
73
+ fail('checkpoint_changed', 'Memory checkpoint transcript changed before processing');
74
+ }
75
+ if (previous !== undefined && (previousEntries.length !== previous.ids.length
76
+ || await digestCanonicalArray(previousEntries) !== options.previousCheckpoint.transcriptDigest)) {
77
+ fail('previous_checkpoint_changed', 'Previously processed memory checkpoint changed before processing');
78
+ }
79
+ if (outputTooLarge) {
80
+ fail('output_too_large', 'Memory checkpoint evidence exceeds the output byte limit');
81
+ }
82
+ const text = evidence.join('');
83
+ return {
84
+ ok: true,
85
+ format: MEMORY_INPUT_JSONL_FORMAT,
86
+ text,
87
+ materializedDigest: await sha256(text),
88
+ byteLength: byteLength(text),
89
+ redactionCount,
90
+ projection: {
91
+ version: MEMORY_INPUT_PROJECTION_VERSION,
92
+ relation,
93
+ includedEntryCount: includedIds.length,
94
+ evidenceRecordCount,
95
+ removedEntryCount,
96
+ ...(options.previousCheckpoint === undefined ? {} : { previousCheckpoint: options.previousCheckpoint }),
97
+ },
98
+ };
99
+ }
100
+ catch (error) {
101
+ if (error instanceof MaterializationError) {
102
+ return { ok: false, code: error.code, message: error.message };
103
+ }
104
+ return {
105
+ ok: false,
106
+ code: options.signal?.aborted ? 'cancelled' : 'source_unavailable',
107
+ message: options.signal?.aborted
108
+ ? 'Memory input materialization was cancelled'
109
+ : 'Memory checkpoint source is unavailable',
110
+ };
111
+ }
112
+ }
113
+ function validateOptions(options) {
114
+ validateCheckpoint(options.checkpoint, 'current');
115
+ if (options.previousCheckpoint !== undefined) {
116
+ validateCheckpoint(options.previousCheckpoint, 'previous');
117
+ if (options.previousCheckpoint.sessionId !== options.checkpoint.sessionId) {
118
+ fail('invalid_checkpoint', 'Previous memory checkpoint belongs to another session');
119
+ }
120
+ }
121
+ if (options.maxOutputBytes !== undefined && (!Number.isSafeInteger(options.maxOutputBytes) || options.maxOutputBytes < 0)) {
122
+ fail('invalid_checkpoint', 'Memory input output byte limit is invalid');
123
+ }
124
+ }
125
+ function validateCheckpoint(checkpoint, label) {
126
+ if (typeof checkpoint.sessionId !== 'string' || checkpoint.sessionId.length === 0
127
+ || typeof checkpoint.sessionFile !== 'string' || checkpoint.sessionFile.length === 0
128
+ || (checkpoint.leafId !== null && (typeof checkpoint.leafId !== 'string' || checkpoint.leafId.length === 0))
129
+ || typeof checkpoint.transcriptDigest !== 'string' || !DIGEST_PATTERN.test(checkpoint.transcriptDigest)) {
130
+ fail('invalid_checkpoint', `${label === 'current' ? 'Current' : 'Previous'} memory checkpoint is invalid`);
131
+ }
132
+ }
133
+ async function indexSource(lines, checkpoint, signal) {
134
+ const entries = new Map();
135
+ const lineDigests = [];
136
+ let sawHeader = false;
137
+ await consumeSource(lines, signal, async (line, lineNumber) => {
138
+ lineDigests.push(await sha256(line));
139
+ if (line.includes('\n') || line.includes('\r')) {
140
+ fail('invalid_source', 'Memory checkpoint source yielded an invalid line');
141
+ }
142
+ if (lineNumber === 0) {
143
+ const header = parseRecord(line);
144
+ if (header.type !== 'session' || typeof header.id !== 'string' || header.id.length === 0
145
+ || header.id !== checkpoint.sessionId
146
+ || (header.timestamp !== undefined && (typeof header.timestamp !== 'string' || header.timestamp.length === 0))
147
+ || (header.cwd !== undefined && (typeof header.cwd !== 'string' || header.cwd.length === 0))
148
+ || (header.parentSession !== undefined && (typeof header.parentSession !== 'string' || header.parentSession.length === 0))
149
+ || (header.version !== undefined && (!Number.isSafeInteger(header.version) || header.version < 1))) {
150
+ fail('invalid_source', 'Memory checkpoint session header is invalid');
151
+ }
152
+ sawHeader = true;
153
+ return;
154
+ }
155
+ if (line.trim().length === 0)
156
+ return;
157
+ const entry = parseRecord(line);
158
+ if (entry.type === 'session')
159
+ fail('invalid_source', 'Memory checkpoint source contains multiple session headers');
160
+ if (typeof entry.type !== 'string' || entry.type.length === 0
161
+ || typeof entry.id !== 'string' || entry.id.length === 0
162
+ || (entry.parentId !== null && (typeof entry.parentId !== 'string' || entry.parentId.length === 0))) {
163
+ fail('invalid_source', 'Memory checkpoint source contains an invalid entry');
164
+ }
165
+ if (entries.has(entry.id))
166
+ fail('invalid_source', 'Memory checkpoint source contains duplicate entry IDs');
167
+ entries.set(entry.id, {
168
+ lineNumber,
169
+ parentId: entry.parentId,
170
+ hidden: isMemoryContextEntry(entry),
171
+ });
172
+ });
173
+ if (!sawHeader)
174
+ fail('invalid_source', 'Memory checkpoint session header is missing');
175
+ return { entries, lineDigests };
176
+ }
177
+ function validateGraph(index) {
178
+ for (const entry of index.entries.values()) {
179
+ if (entry.parentId === null)
180
+ continue;
181
+ if (!index.entries.has(entry.parentId))
182
+ fail('invalid_source', 'Memory checkpoint source contains a missing parent');
183
+ }
184
+ const complete = new Set();
185
+ for (const id of index.entries.keys()) {
186
+ const path = new Set();
187
+ let current = id;
188
+ while (current !== null && !complete.has(current)) {
189
+ if (path.has(current))
190
+ fail('invalid_source', 'Memory checkpoint transcript contains a cycle');
191
+ path.add(current);
192
+ current = index.entries.get(current)?.parentId ?? null;
193
+ }
194
+ for (const entryId of path)
195
+ complete.add(entryId);
196
+ }
197
+ for (const entry of index.entries.values()) {
198
+ if (entry.parentId === null)
199
+ continue;
200
+ if (index.entries.get(entry.parentId).lineNumber >= entry.lineNumber) {
201
+ fail('invalid_source', 'Memory checkpoint source contains an invalid branch order');
202
+ }
203
+ }
204
+ }
205
+ function selectVisibleBranch(index, leafId) {
206
+ if (leafId === null)
207
+ return { ids: [], positions: new Map(), hiddenEntryCount: 0 };
208
+ const path = [];
209
+ let hiddenEntryCount = 0;
210
+ let current = leafId;
211
+ while (current !== null) {
212
+ const entry = index.entries.get(current);
213
+ if (entry === undefined)
214
+ fail('invalid_source', 'Memory checkpoint leaf is not present in the transcript');
215
+ if (entry.hidden)
216
+ hiddenEntryCount += 1;
217
+ else
218
+ path.push(current);
219
+ current = entry.parentId;
220
+ }
221
+ path.reverse();
222
+ return {
223
+ ids: path,
224
+ positions: new Map(path.map((id, position) => [id, position])),
225
+ hiddenEntryCount,
226
+ };
227
+ }
228
+ function normalizeVisibleEntry(entry, index) {
229
+ if (typeof entry.parentId !== 'string' || !index.entries.get(entry.parentId)?.hidden)
230
+ return entry;
231
+ let parentId = entry.parentId;
232
+ while (parentId !== null && index.entries.get(parentId)?.hidden) {
233
+ parentId = index.entries.get(parentId)?.parentId ?? null;
234
+ }
235
+ return { ...entry, parentId };
236
+ }
237
+ function projectEvidenceEntry(entry) {
238
+ if (entry.type === 'compaction' || entry.type === 'branch_summary')
239
+ return entry;
240
+ if (entry.type !== 'message' || !isRecord(entry.message))
241
+ return undefined;
242
+ const role = entry.message.role;
243
+ if (role === 'user' || role === 'assistant') {
244
+ return {
245
+ type: 'message',
246
+ id: entry.id,
247
+ parentId: entry.parentId,
248
+ message: { role, content: projectContent(entry.message.content, role === 'assistant') },
249
+ };
250
+ }
251
+ if (role === 'toolResult' && typeof entry.message.toolName === 'string') {
252
+ return {
253
+ type: 'message',
254
+ id: entry.id,
255
+ parentId: entry.parentId,
256
+ message: {
257
+ role,
258
+ toolName: entry.message.toolName,
259
+ isError: entry.message.isError === true,
260
+ content: projectContent(entry.message.content, false),
261
+ },
262
+ };
263
+ }
264
+ return undefined;
265
+ }
266
+ function projectContent(value, includeToolCalls) {
267
+ if (typeof value === 'string')
268
+ return value;
269
+ if (!Array.isArray(value))
270
+ return [];
271
+ return value.flatMap((part) => {
272
+ if (!isRecord(part))
273
+ return [];
274
+ if (part.type === 'text' && typeof part.text === 'string')
275
+ return [{ type: 'text', text: part.text }];
276
+ if (part.type === 'image')
277
+ return [{ type: 'image', data: '[IMAGE_DATA_OMITTED]' }];
278
+ if (includeToolCalls && part.type === 'toolCall' && typeof part.name === 'string') {
279
+ return [{ type: 'toolCall', name: part.name, arguments: part.arguments ?? null }];
280
+ }
281
+ return [];
282
+ });
283
+ }
284
+ function classifyRelation(current, previous, commonPrefixEntryCount) {
285
+ if (previous === undefined)
286
+ return 'initial';
287
+ if (current.length === previous.length && commonPrefixEntryCount === current.length)
288
+ return 'unchanged';
289
+ if (commonPrefixEntryCount === previous.length)
290
+ return 'appended';
291
+ return 'diverged';
292
+ }
293
+ function longestCommonPrefix(left, right) {
294
+ const limit = Math.min(left.length, right.length);
295
+ let length = 0;
296
+ while (length < limit && left[length] === right[length])
297
+ length += 1;
298
+ return length;
299
+ }
300
+ function redactValue(value, state, key) {
301
+ if (key !== undefined && SECRET_FIELD_PATTERN.test(key) && value !== null) {
302
+ state.count += 1;
303
+ return '[REDACTED_SECRET]';
304
+ }
305
+ if (typeof value === 'string')
306
+ return redactString(value, state);
307
+ if (Array.isArray(value))
308
+ return value.map((entry) => redactValue(entry, state));
309
+ if (!isRecord(value))
310
+ return value;
311
+ const image = value.type === 'image' && typeof value.data === 'string';
312
+ const result = {};
313
+ for (const [field, entry] of Object.entries(value)) {
314
+ const projectedField = redactString(field, state);
315
+ if (image && field === 'data') {
316
+ result[projectedField] = '[IMAGE_DATA_OMITTED]';
317
+ state.count += 1;
318
+ }
319
+ else {
320
+ result[projectedField] = redactValue(entry, state, field);
321
+ }
322
+ }
323
+ return result;
324
+ }
325
+ function redactString(value, state) {
326
+ const replace = (pattern, replacement) => {
327
+ value = value.replace(pattern, (...args) => {
328
+ state.count += 1;
329
+ return replacement.replace('$1', String(args[1] ?? ''));
330
+ });
331
+ };
332
+ replace(/-----BEGIN [^-]*PRIVATE KEY-----[\s\S]*?-----END [^-]*PRIVATE KEY-----/gu, '[REDACTED_PRIVATE_KEY]');
333
+ replace(/\b(?:sk-[A-Za-z0-9_-]{16,}|ghp_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{20,}|xox[baprs]-[A-Za-z0-9-]{12,})\b/gu, '[REDACTED_TOKEN]');
334
+ replace(/(Bearer\s+)[A-Za-z0-9._~+/=-]{12,}/giu, '$1[REDACTED_TOKEN]');
335
+ replace(/(["']?(?:api[_-]?key|access[_-]?token|refresh[_-]?token|password|secret|authorization)["']?\s*[:=]\s*["']?)[^"'\s,}]+/giu, '$1[REDACTED_SECRET]');
336
+ return value;
337
+ }
338
+ async function consumeSource(source, signal, consume) {
339
+ throwIfAborted(signal);
340
+ const iterable = source();
341
+ if (!isAsyncIterable(iterable))
342
+ fail('invalid_source', 'Memory checkpoint line source is invalid');
343
+ let lineNumber = 0;
344
+ for await (const line of iterable) {
345
+ throwIfAborted(signal);
346
+ if (typeof line !== 'string')
347
+ fail('invalid_source', 'Memory checkpoint source yielded an invalid line');
348
+ await consume(line, lineNumber);
349
+ lineNumber += 1;
350
+ }
351
+ throwIfAborted(signal);
352
+ }
353
+ function parseRecord(line) {
354
+ let value;
355
+ try {
356
+ value = JSON.parse(line);
357
+ }
358
+ catch {
359
+ fail('invalid_source', 'Memory checkpoint source contains invalid JSONL');
360
+ }
361
+ if (!isRecord(value))
362
+ fail('invalid_source', 'Memory checkpoint source contains an invalid record');
363
+ return value;
364
+ }
365
+ function isMemoryContextEntry(entry) {
366
+ return entry.type === 'custom_message' && entry.customType === MEMORY_CONTEXT_CUSTOM_TYPE;
367
+ }
368
+ function canonicalJson(value) {
369
+ if (value === null || typeof value !== 'object')
370
+ return JSON.stringify(value) ?? 'null';
371
+ if (Array.isArray(value))
372
+ return `[${value.map(canonicalJson).join(',')}]`;
373
+ const entries = Object.entries(value)
374
+ .filter(([, entry]) => entry !== undefined)
375
+ .sort(([left], [right]) => left.localeCompare(right));
376
+ return `{${entries.map(([key, entry]) => `${JSON.stringify(key)}:${canonicalJson(entry)}`).join(',')}}`;
377
+ }
378
+ async function digestCanonicalArray(entries) {
379
+ return sha256(`[${entries.map(canonicalJson).join(',')}]`);
380
+ }
381
+ async function sha256(value) {
382
+ const digest = await globalThis.crypto.subtle.digest('SHA-256', encoder.encode(value));
383
+ return [...new Uint8Array(digest)].map((byte) => byte.toString(16).padStart(2, '0')).join('');
384
+ }
385
+ function byteLength(value) {
386
+ return encoder.encode(value).byteLength;
387
+ }
388
+ function throwIfAborted(signal) {
389
+ if (signal?.aborted)
390
+ fail('cancelled', 'Memory input materialization was cancelled');
391
+ }
392
+ function isAsyncIterable(value) {
393
+ return typeof value === 'object' && value !== null && Symbol.asyncIterator in value;
394
+ }
395
+ function isRecord(value) {
396
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
397
+ }
398
+ class MaterializationError extends Error {
399
+ code;
400
+ constructor(code, message) {
401
+ super(message);
402
+ this.code = code;
403
+ this.name = 'MemoryInputMaterializationError';
404
+ }
405
+ }
406
+ function fail(code, message) {
407
+ throw new MaterializationError(code, message);
408
+ }
409
+ //# sourceMappingURL=input-materializer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-materializer.js","sourceRoot":"","sources":["../src/input-materializer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAEhC,MAAM,gBAAgB,CAAC;AAIxB,wBAAgB,yBAAyB,CAAC,EACxC,qBAAqB,EACrB,QAAQ,EACR,SAAoC,GACrC,EAAE,0BAA0B,GAAG,mBAAmB,CAYlD;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAiB5E;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,SAAS,MAAM,EAAE,CAEtF;AA4CD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIrD"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAIhC,MAAM,gBAAgB,CAAC;AAIxB,wBAAgB,yBAAyB,CAAC,EACxC,qBAAqB,EACrB,QAAQ,EACR,SAAoC,GACrC,EAAE,0BAA0B,GAAG,mBAAmB,CAYlD;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAiB5E;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,SAAS,MAAM,EAAE,CAEtF;AA4FD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIrD"}
package/dist/manifest.js CHANGED
@@ -1,4 +1,4 @@
1
- import { MEMORY_INPUT_MANIFEST_VERSION, } from './contracts.js';
1
+ import { MEMORY_INPUT_MANIFEST_VERSION, MEMORY_INPUT_PROJECTION_VERSION, } from './contracts.js';
2
2
  const DIGEST_PATTERN = /^[a-f0-9]{64}$/u;
3
3
  export function createMemoryInputManifest({ baseMemoryFingerprint, sessions, createdAt = new Date().toISOString(), }) {
4
4
  const normalized = normalizeSessions(sessions);
@@ -70,6 +70,9 @@ function normalizeSessions(value) {
70
70
  if (seen.has(sessionId))
71
71
  throw new Error(`Duplicate memory input session: ${sessionId}`);
72
72
  seen.add(sessionId);
73
+ const projection = raw.projection === undefined
74
+ ? undefined
75
+ : normalizeProjection(raw.projection, sessionId);
73
76
  sessions.push({
74
77
  checkpoint: { sessionId, sessionFile, leafId, transcriptDigest },
75
78
  metadataPath,
@@ -77,10 +80,53 @@ function normalizeSessions(value) {
77
80
  materializedDigest: raw.materializedDigest,
78
81
  byteLength,
79
82
  redactionCount,
83
+ ...(projection === undefined ? {} : { projection }),
80
84
  });
81
85
  }
82
86
  return sessions.sort((left, right) => left.checkpoint.sessionId.localeCompare(right.checkpoint.sessionId));
83
87
  }
88
+ function normalizeProjection(value, sessionId) {
89
+ if (!isRecord(value) || value.version !== MEMORY_INPUT_PROJECTION_VERSION) {
90
+ throw new Error(`Invalid memory input projection for ${sessionId}`);
91
+ }
92
+ const relations = ['initial', 'unchanged', 'appended', 'diverged'];
93
+ if (!relations.includes(value.relation)) {
94
+ throw new Error(`Invalid memory input projection relation for ${sessionId}`);
95
+ }
96
+ const includedEntryCount = countField(value, 'includedEntryCount', sessionId);
97
+ const evidenceRecordCount = countField(value, 'evidenceRecordCount', sessionId);
98
+ const removedEntryCount = countField(value, 'removedEntryCount', sessionId);
99
+ const previousCheckpoint = value.previousCheckpoint === undefined
100
+ ? undefined
101
+ : normalizeCheckpoint(value.previousCheckpoint, sessionId);
102
+ return {
103
+ version: MEMORY_INPUT_PROJECTION_VERSION,
104
+ relation: value.relation,
105
+ includedEntryCount,
106
+ evidenceRecordCount,
107
+ removedEntryCount,
108
+ ...(previousCheckpoint === undefined ? {} : { previousCheckpoint }),
109
+ };
110
+ }
111
+ function normalizeCheckpoint(value, sessionId) {
112
+ if (!isRecord(value))
113
+ throw new Error(`Invalid previous memory checkpoint for ${sessionId}`);
114
+ const previousSessionId = stringField(value, 'sessionId');
115
+ const sessionFile = stringField(value, 'sessionFile');
116
+ const leafId = value.leafId === null ? null : stringField(value, 'leafId');
117
+ const transcriptDigest = stringField(value, 'transcriptDigest');
118
+ if (previousSessionId !== sessionId || !DIGEST_PATTERN.test(transcriptDigest)) {
119
+ throw new Error(`Invalid previous memory checkpoint for ${sessionId}`);
120
+ }
121
+ return { sessionId: previousSessionId, sessionFile, leafId, transcriptDigest };
122
+ }
123
+ function countField(record, field, sessionId) {
124
+ const value = record[field];
125
+ if (typeof value !== 'number' || !Number.isSafeInteger(value) || value < 0) {
126
+ throw new Error(`Invalid memory input projection count for ${sessionId}`);
127
+ }
128
+ return value;
129
+ }
84
130
  export function isSafeInputPath(path) {
85
131
  if (!path || path.startsWith('/') || path.includes('\\') || path.includes('//'))
86
132
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,GAI9B,MAAM,gBAAgB,CAAC;AAExB,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAEzC,MAAM,UAAU,yBAAyB,CAAC,EACxC,qBAAqB,EACrB,QAAQ,EACR,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GACT;IAC3B,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAC5G,OAAO;QACL,OAAO,EAAE,6BAA6B;QACtC,SAAS;QACT,qBAAqB;QACrB,QAAQ,EAAE,UAAU;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,6BAA6B,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACrF,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,qBAAqB,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACzG,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACvG,OAAO;QACL,OAAO,EAAE,6BAA6B;QACtC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;QAClD,QAAQ,EAAE,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAA6B;IACjE,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAyB;IAClD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACzF,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACrF,MAAM,gBAAgB,GAAG,WAAW,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QACrE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,SAAS,EAAE,CAAC,CAAC;QAC1G,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACtD,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAC1D,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,gCAAgC,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,kBAAkB,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC/F,MAAM,IAAI,KAAK,CAAC,8CAA8C,SAAS,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QAClC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YAC1F,MAAM,IAAI,KAAK,CAAC,mDAAmD,SAAS,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;QAC1C,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACtG,MAAM,IAAI,KAAK,CAAC,0CAA0C,SAAS,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,SAAS,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC;YACZ,UAAU,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE;YAChE,YAAY;YACZ,cAAc;YACd,kBAAkB,EAAE,GAAG,CAAC,kBAAkB;YAC1C,UAAU;YACV,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AAC7G,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACpH,CAAC;AAED,SAAS,WAAW,CAAC,MAA+B,EAAE,KAAa;IACjE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,6BAA6B,CAAC,CAAC;IACzH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@felan-ai/ext-memory",
3
- "version": "0.4.2",
3
+ "version": "0.4.3",
4
4
  "description": "Portable local-first memory contracts and extension for Felan",
5
5
  "license": "MIT",
6
6
  "type": "module",