@framers/agentos 0.3.1 → 0.3.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.
Files changed (49) hide show
  1. package/dist/memory/retrieval/store/Brain.d.ts +13 -0
  2. package/dist/memory/retrieval/store/Brain.d.ts.map +1 -1
  3. package/dist/memory/retrieval/store/Brain.js +35 -21
  4. package/dist/memory/retrieval/store/Brain.js.map +1 -1
  5. package/dist/memory/retrieval/store/migrations/MigrationRunner.d.ts +6 -0
  6. package/dist/memory/retrieval/store/migrations/MigrationRunner.d.ts.map +1 -1
  7. package/dist/memory/retrieval/store/migrations/MigrationRunner.js +24 -0
  8. package/dist/memory/retrieval/store/migrations/MigrationRunner.js.map +1 -1
  9. package/dist/memory/retrieval/store/postgresPasswordRedaction.d.ts +17 -0
  10. package/dist/memory/retrieval/store/postgresPasswordRedaction.d.ts.map +1 -0
  11. package/dist/memory/retrieval/store/postgresPasswordRedaction.js +26 -0
  12. package/dist/memory/retrieval/store/postgresPasswordRedaction.js.map +1 -0
  13. package/dist/memory/retrieval/typed-network/FourWayRrf.d.ts +51 -0
  14. package/dist/memory/retrieval/typed-network/FourWayRrf.d.ts.map +1 -0
  15. package/dist/memory/retrieval/typed-network/FourWayRrf.js +47 -0
  16. package/dist/memory/retrieval/typed-network/FourWayRrf.js.map +1 -0
  17. package/dist/memory/retrieval/typed-network/TemporalIntervalOverlap.d.ts +34 -0
  18. package/dist/memory/retrieval/typed-network/TemporalIntervalOverlap.d.ts.map +1 -0
  19. package/dist/memory/retrieval/typed-network/TemporalIntervalOverlap.js +86 -0
  20. package/dist/memory/retrieval/typed-network/TemporalIntervalOverlap.js.map +1 -0
  21. package/dist/memory/retrieval/typed-network/TypedNetworkObserver.d.ts +67 -0
  22. package/dist/memory/retrieval/typed-network/TypedNetworkObserver.d.ts.map +1 -0
  23. package/dist/memory/retrieval/typed-network/TypedNetworkObserver.js +80 -0
  24. package/dist/memory/retrieval/typed-network/TypedNetworkObserver.js.map +1 -0
  25. package/dist/memory/retrieval/typed-network/TypedNetworkStore.d.ts +83 -0
  26. package/dist/memory/retrieval/typed-network/TypedNetworkStore.d.ts.map +1 -0
  27. package/dist/memory/retrieval/typed-network/TypedNetworkStore.js +109 -0
  28. package/dist/memory/retrieval/typed-network/TypedNetworkStore.js.map +1 -0
  29. package/dist/memory/retrieval/typed-network/TypedSpreadingActivation.d.ts +80 -0
  30. package/dist/memory/retrieval/typed-network/TypedSpreadingActivation.d.ts.map +1 -0
  31. package/dist/memory/retrieval/typed-network/TypedSpreadingActivation.js +97 -0
  32. package/dist/memory/retrieval/typed-network/TypedSpreadingActivation.js.map +1 -0
  33. package/dist/memory/retrieval/typed-network/index.d.ts +18 -0
  34. package/dist/memory/retrieval/typed-network/index.d.ts.map +1 -0
  35. package/dist/memory/retrieval/typed-network/index.js +18 -0
  36. package/dist/memory/retrieval/typed-network/index.js.map +1 -0
  37. package/dist/memory/retrieval/typed-network/prompts/extraction-prompt.d.ts +30 -0
  38. package/dist/memory/retrieval/typed-network/prompts/extraction-prompt.d.ts.map +1 -0
  39. package/dist/memory/retrieval/typed-network/prompts/extraction-prompt.js +47 -0
  40. package/dist/memory/retrieval/typed-network/prompts/extraction-prompt.js.map +1 -0
  41. package/dist/memory/retrieval/typed-network/prompts/extraction-schema.d.ts +71 -0
  42. package/dist/memory/retrieval/typed-network/prompts/extraction-schema.d.ts.map +1 -0
  43. package/dist/memory/retrieval/typed-network/prompts/extraction-schema.js +39 -0
  44. package/dist/memory/retrieval/typed-network/prompts/extraction-schema.js.map +1 -0
  45. package/dist/memory/retrieval/typed-network/types.d.ts +123 -0
  46. package/dist/memory/retrieval/typed-network/types.d.ts.map +1 -0
  47. package/dist/memory/retrieval/typed-network/types.js +48 -0
  48. package/dist/memory/retrieval/typed-network/types.js.map +1 -0
  49. package/package.json +1 -1
@@ -112,6 +112,19 @@ export declare class Brain {
112
112
  * adapter across subsystems (e.g., wilds-ai foundation pool + brain) or
113
113
  * when the consumer needs full control over adapter resolution.
114
114
  *
115
+ * **CONCURRENCY CAVEAT (Postgres adapters):** the underlying
116
+ * `PostgresAdapter` tracks `transactionalClient` as instance-shared
117
+ * mutable state. Two concurrent `Brain.transaction(...)` calls on the
118
+ * same shared adapter (or any subsystem call that internally opens a
119
+ * transaction) will overwrite each other's connection assignment, which
120
+ * corrupts both transactions silently. If the consumer dispatches
121
+ * concurrent writes through subsystems sharing one adapter, either:
122
+ * 1. construct a fresh `PostgresAdapter` per logical actor, OR
123
+ * 2. serialize transactions at the consumer layer until the adapter
124
+ * gets `AsyncLocalStorage`-tracked transactional clients.
125
+ * Non-transactional concurrent reads/writes against a shared adapter
126
+ * are safe (the pool handles those correctly).
127
+ *
115
128
  * @param adapter - Pre-built StorageAdapter instance.
116
129
  * @param opts.brainId - Required for postgres-kind adapters; optional for
117
130
  * sqlite-kind adapters (defaults to `'default'`).
@@ -1 +1 @@
1
- {"version":3,"file":"Brain.d.ts","sourceRoot":"","sources":["../../../../src/memory/retrieval/store/Brain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Brain.d.ts","sourceRoot":"","sources":["../../../../src/memory/retrieval/store/Brain.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,7 @@ import { resolveStorageAdapter, createStorageFeatures, createPostgresAdapter } f
46
46
  import { DDL_ARCHIVED_TRACES, DDL_ARCHIVED_TRACES_IDX_AGENT_TIME, DDL_ARCHIVED_TRACES_IDX_REASON, DDL_ARCHIVE_ACCESS_LOG, DDL_ARCHIVE_ACCESS_LOG_IDX, } from '../../archive/SqlStorageMemoryArchive.js';
47
47
  import { MigrationRunner, MIGRATIONS, LATEST_SCHEMA_VERSION } from './migrations/index.js';
48
48
  import { PORTABLE_TABLES, PORTABLE_TABLE_PRIMARY_KEYS } from './portable-tables.js';
49
+ import { redactPostgresPassword } from './postgresPasswordRedaction.js';
49
50
  /**
50
51
  * Derive a stable brain identifier from the database file path.
51
52
  *
@@ -63,16 +64,8 @@ function deriveBrainIdFromPath(dbPath) {
63
64
  const lastDot = basename.lastIndexOf('.');
64
65
  return lastDot > 0 ? basename.slice(0, lastDot) : basename;
65
66
  }
66
- /**
67
- * Redact the password segment from a Postgres connection string for safe
68
- * inclusion in error messages.
69
- *
70
- * `postgresql://user:secret@host/db` becomes `postgresql://user:***@host/db`.
71
- * Connection strings without embedded passwords pass through unchanged.
72
- */
73
- function redactPostgresPassword(connStr) {
74
- return connStr.replace(/(:\/\/[^:]+:)[^@]+(@)/, '$1***$2');
75
- }
67
+ // redactPostgresPassword extracted to ./postgresPasswordRedaction.ts
68
+ // (handles both URL form and keyword form; see postgresPasswordRedaction.test.ts).
76
69
  // ---------------------------------------------------------------------------
77
70
  // Constants
78
71
  // ---------------------------------------------------------------------------
@@ -498,6 +491,19 @@ export class Brain {
498
491
  * adapter across subsystems (e.g., wilds-ai foundation pool + brain) or
499
492
  * when the consumer needs full control over adapter resolution.
500
493
  *
494
+ * **CONCURRENCY CAVEAT (Postgres adapters):** the underlying
495
+ * `PostgresAdapter` tracks `transactionalClient` as instance-shared
496
+ * mutable state. Two concurrent `Brain.transaction(...)` calls on the
497
+ * same shared adapter (or any subsystem call that internally opens a
498
+ * transaction) will overwrite each other's connection assignment, which
499
+ * corrupts both transactions silently. If the consumer dispatches
500
+ * concurrent writes through subsystems sharing one adapter, either:
501
+ * 1. construct a fresh `PostgresAdapter` per logical actor, OR
502
+ * 2. serialize transactions at the consumer layer until the adapter
503
+ * gets `AsyncLocalStorage`-tracked transactional clients.
504
+ * Non-transactional concurrent reads/writes against a shared adapter
505
+ * are safe (the pool handles those correctly).
506
+ *
501
507
  * @param adapter - Pre-built StorageAdapter instance.
502
508
  * @param opts.brainId - Required for postgres-kind adapters; optional for
503
509
  * sqlite-kind adapters (defaults to `'default'`).
@@ -798,9 +804,19 @@ export class Brain {
798
804
  priority: ['better-sqlite3', 'sqljs'],
799
805
  quiet: true,
800
806
  });
801
- let sourceBrainIds;
807
+ let sourceBrainIds = [];
802
808
  try {
803
- sourceBrainIds = await peekAdapter.all(`SELECT DISTINCT brain_id FROM brain_meta WHERE brain_id IS NOT NULL`);
809
+ // Check brain_meta has the brain_id column before querying it. v1
810
+ // schemas (pre-0.3.0) only have key/value columns; the SELECT would
811
+ // throw "no such column: brain_id" otherwise. When the column is
812
+ // missing, treat as a single-brain v1 source (the auto-migration on
813
+ // Brain.openSqlite below will add brain_id and namespace by the
814
+ // path-derived brainId, then importFromSqlite proceeds normally).
815
+ const cols = await peekAdapter.all(`PRAGMA table_info(brain_meta)`);
816
+ const hasBrainIdColumn = cols.some((c) => c.name === 'brain_id');
817
+ if (hasBrainIdColumn) {
818
+ sourceBrainIds = await peekAdapter.all(`SELECT DISTINCT brain_id FROM brain_meta WHERE brain_id IS NOT NULL`);
819
+ }
804
820
  }
805
821
  finally {
806
822
  await peekAdapter.close();
@@ -858,18 +874,16 @@ export class Brain {
858
874
  ? target._features.dialect.insertOrReplace(table, columns, columns.map(() => '?'), PORTABLE_TABLE_PRIMARY_KEYS[table] ?? 'brain_id, id')
859
875
  : `INSERT INTO ${table} (${colList}) VALUES (${placeholders})`;
860
876
  // Single transaction per table for bulk-insert performance + atomicity.
861
- await target._adapter.exec('BEGIN');
862
- try {
877
+ // MUST use adapter.transaction() (not raw exec BEGIN/COMMIT) so all writes
878
+ // pin to one pooled connection on Postgres. Raw BEGIN against a pool
879
+ // connection would land each query on a different connection, breaking
880
+ // the transactional guarantee silently.
881
+ await target._adapter.transaction(async (trx) => {
863
882
  for (const row of rows) {
864
883
  const values = columns.map((c) => c === 'brain_id' ? targetBrainId : row[c]);
865
- await target._adapter.run(stmt, values);
884
+ await trx.run(stmt, values);
866
885
  }
867
- await target._adapter.exec('COMMIT');
868
- }
869
- catch (err) {
870
- await target._adapter.exec('ROLLBACK');
871
- throw err;
872
- }
886
+ });
873
887
  }
874
888
  /**
875
889
  * Close the database connection.
@@ -1 +1 @@
1
- {"version":3,"file":"Brain.js","sourceRoot":"","sources":["../../../../src/memory/retrieval/store/Brain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Brain.js","sourceRoot":"","sources":["../../../../src/memory/retrieval/store/Brain.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,10 @@ export declare class MigrationRunner {
37
37
  /**
38
38
  * Read the current schema_version from brain_meta. Returns null when
39
39
  * brain_meta does not exist (fresh database).
40
+ *
41
+ * Handles both v1 (no brain_id column) and v2+ (composite-key) schemas.
42
+ * On v1, the SELECT omits the brain_id WHERE clause so the column-existence
43
+ * check in v1ToV2.up can proceed with the migration.
40
44
  */
41
45
  private static _readSchemaVersion;
42
46
  /**
@@ -45,6 +49,8 @@ export declare class MigrationRunner {
45
49
  */
46
50
  private static _writeSchemaVersion;
47
51
  private static _sqliteTableExists;
52
+ private static _sqliteHasColumn;
53
+ private static _postgresHasColumn;
48
54
  private static _postgresTableExists;
49
55
  }
50
56
  //# sourceMappingURL=MigrationRunner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationRunner.d.ts","sourceRoot":"","sources":["../../../../../src/memory/retrieval/store/migrations/MigrationRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,qBAAa,eAAe;IAC1B;;;;OAIG;WACU,UAAU,CACrB,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,SAAS,EAAE,GACtB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAyBjC;;;;OAIG;mBACkB,cAAc;IAwBnC;;;OAGG;mBACkB,kBAAkB;IAiBvC;;;OAGG;mBACkB,mBAAmB;mBAiBnB,kBAAkB;mBAWlB,oBAAoB;CAa1C"}
1
+ {"version":3,"file":"MigrationRunner.d.ts","sourceRoot":"","sources":["../../../../../src/memory/retrieval/store/migrations/MigrationRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,qBAAa,eAAe;IAC1B;;;;OAIG;WACU,UAAU,CACrB,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,SAAS,EAAE,GACtB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAyBjC;;;;OAIG;mBACkB,cAAc;IAwBnC;;;;;;;OAOG;mBACkB,kBAAkB;IA+BvC;;;OAGG;mBACkB,mBAAmB;mBAiBnB,kBAAkB;mBAWlB,gBAAgB;mBAShB,kBAAkB;mBAelB,oBAAoB;CAa1C"}
@@ -67,6 +67,10 @@ export class MigrationRunner {
67
67
  /**
68
68
  * Read the current schema_version from brain_meta. Returns null when
69
69
  * brain_meta does not exist (fresh database).
70
+ *
71
+ * Handles both v1 (no brain_id column) and v2+ (composite-key) schemas.
72
+ * On v1, the SELECT omits the brain_id WHERE clause so the column-existence
73
+ * check in v1ToV2.up can proceed with the migration.
70
74
  */
71
75
  static async _readSchemaVersion(adapter, brainId) {
72
76
  const isPostgres = adapter.kind.includes('postgres');
@@ -75,6 +79,15 @@ export class MigrationRunner {
75
79
  : await MigrationRunner._sqliteTableExists(adapter, 'brain_meta');
76
80
  if (!brainMetaExists)
77
81
  return null;
82
+ const hasBrainIdCol = isPostgres
83
+ ? await MigrationRunner._postgresHasColumn(adapter, 'brain_meta', 'brain_id')
84
+ : await MigrationRunner._sqliteHasColumn(adapter, 'brain_meta', 'brain_id');
85
+ if (!hasBrainIdCol) {
86
+ // v1 schema: brain_meta has key/value only. v1ToV2 migration will add
87
+ // brain_id and namespace existing rows. Read the unscoped schema_version.
88
+ const row = await adapter.get(`SELECT value FROM brain_meta WHERE key = ?`, ['schema_version']);
89
+ return row ? parseInt(row.value, 10) : null;
90
+ }
78
91
  const row = await adapter.get(`SELECT value FROM brain_meta WHERE brain_id = ? AND key = ?`, [brainId, 'schema_version']);
79
92
  return row ? parseInt(row.value, 10) : null;
80
93
  }
@@ -89,6 +102,17 @@ export class MigrationRunner {
89
102
  const row = await adapter.get(`SELECT name FROM sqlite_master WHERE type='table' AND name=?`, [table]);
90
103
  return Boolean(row);
91
104
  }
105
+ static async _sqliteHasColumn(adapter, table, column) {
106
+ const rows = await adapter.all(`PRAGMA table_info(${table})`);
107
+ return rows.some((r) => r.name === column);
108
+ }
109
+ static async _postgresHasColumn(adapter, table, column) {
110
+ const row = await adapter.get(`SELECT EXISTS (
111
+ SELECT 1 FROM information_schema.columns
112
+ WHERE table_name = $1 AND column_name = $2
113
+ ) AS exists`, [table, column]);
114
+ return row?.exists ?? false;
115
+ }
92
116
  static async _postgresTableExists(adapter, table) {
93
117
  const row = await adapter.get(`SELECT EXISTS (
94
118
  SELECT 1 FROM information_schema.tables
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationRunner.js","sourceRoot":"","sources":["../../../../../src/memory/retrieval/store/migrations/MigrationRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MigrationRunner.js","sourceRoot":"","sources":["../../../../../src/memory/retrieval/store/migrations/MigrationRunner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @fileoverview Redact passwords from Postgres connection strings before
3
+ * inclusion in error messages or logs. Handles both URL form and keyword form.
4
+ *
5
+ * @module memory/retrieval/store/postgresPasswordRedaction
6
+ */
7
+ /**
8
+ * Replace the password in a Postgres connection string with `***`. Handles:
9
+ *
10
+ * - URL form: `postgresql://user:secret@host/db` -> `postgresql://user:***@host/db`
11
+ * - Keyword form: `host=localhost password=secret dbname=foo` ->
12
+ * `host=localhost password=*** dbname=foo`
13
+ * - Quoted keyword form: `password='secret with space'` -> `password='***'`
14
+ * - Connection strings without an embedded password pass through unchanged.
15
+ */
16
+ export declare function redactPostgresPassword(connStr: string): string;
17
+ //# sourceMappingURL=postgresPasswordRedaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgresPasswordRedaction.d.ts","sourceRoot":"","sources":["../../../../src/memory/retrieval/store/postgresPasswordRedaction.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAS9D"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @fileoverview Redact passwords from Postgres connection strings before
3
+ * inclusion in error messages or logs. Handles both URL form and keyword form.
4
+ *
5
+ * @module memory/retrieval/store/postgresPasswordRedaction
6
+ */
7
+ /**
8
+ * Replace the password in a Postgres connection string with `***`. Handles:
9
+ *
10
+ * - URL form: `postgresql://user:secret@host/db` -> `postgresql://user:***@host/db`
11
+ * - Keyword form: `host=localhost password=secret dbname=foo` ->
12
+ * `host=localhost password=*** dbname=foo`
13
+ * - Quoted keyword form: `password='secret with space'` -> `password='***'`
14
+ * - Connection strings without an embedded password pass through unchanged.
15
+ */
16
+ export function redactPostgresPassword(connStr) {
17
+ // URL form: postgresql://user:password@host/db
18
+ let safe = connStr.replace(/(:\/\/[^:]+:)[^@]+(@)/, '$1***$2');
19
+ // Quoted keyword form: password='...' or password="..."
20
+ safe = safe.replace(/(password\s*=\s*)'[^']*'/gi, "$1'***'");
21
+ safe = safe.replace(/(password\s*=\s*)"[^"]*"/gi, '$1"***"');
22
+ // Bare keyword form: password=token (whitespace- or end-terminated)
23
+ safe = safe.replace(/(password\s*=\s*)[^\s'"]+/gi, '$1***');
24
+ return safe;
25
+ }
26
+ //# sourceMappingURL=postgresPasswordRedaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgresPasswordRedaction.js","sourceRoot":"","sources":["../../../../src/memory/retrieval/store/postgresPasswordRedaction.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,+CAA+C;IAC/C,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;IAC/D,wDAAwD;IACxD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,SAAS,CAAC,CAAC;IAC7D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,SAAS,CAAC,CAAC;IAC7D,oEAAoE;IACpE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @file FourWayRrf.ts
3
+ * @description Four-way Reciprocal Rank Fusion over the typed-network
4
+ * retrieval signals: semantic similarity, BM25 lexical match, graph
5
+ * spreading activation, and temporal interval overlap. Per Hindsight
6
+ * §2.4.3, the fusion uses standard RRF with `k=60`:
7
+ *
8
+ * score(f) = Σ over rankings R of [1 / (k + rank_R(f))]
9
+ *
10
+ * Output is a single ranked list combining all four signals. Facts
11
+ * present in only some rankings are still scored — RRF naturally
12
+ * tolerates missing rankings because absent IDs contribute zero.
13
+ *
14
+ * @module @framers/agentos/memory/retrieval/typed-network/FourWayRrf
15
+ */
16
+ /**
17
+ * Inputs to the fusion. Each list is an ordered array of fact IDs
18
+ * from a separate retrieval signal.
19
+ */
20
+ export interface FourWayRrfInput {
21
+ /** Cosine-similarity ranking over fact embeddings. */
22
+ semantic: string[];
23
+ /** BM25 ranking over fact text. */
24
+ bm25: string[];
25
+ /** Spreading-activation ranking over the typed-network graph. */
26
+ graphActivation: string[];
27
+ /** Temporal-interval-overlap ranking against the query timestamp. */
28
+ temporalOverlap: string[];
29
+ }
30
+ /**
31
+ * Fusion options.
32
+ */
33
+ export interface FourWayRrfOptions {
34
+ /** RRF constant. Default 60 per the standard literature. */
35
+ k?: number;
36
+ /**
37
+ * Optional per-signal weight multiplier. Defaults to {1, 1, 1, 1}
38
+ * (uniform RRF). Use to emphasize one signal over others — e.g.
39
+ * downweighting graph activation when the typed network is sparse.
40
+ */
41
+ weights?: Partial<Record<keyof FourWayRrfInput, number>>;
42
+ }
43
+ /**
44
+ * Fuse four retrieval rankings via Reciprocal Rank Fusion. Returns
45
+ * the merged list ordered by descending fused score.
46
+ *
47
+ * @param input - Four ranked lists (semantic, BM25, graph, temporal).
48
+ * @param options - RRF k constant + optional per-signal weights.
49
+ */
50
+ export declare function fourWayRrf(input: FourWayRrfInput, options?: FourWayRrfOptions): string[];
51
+ //# sourceMappingURL=FourWayRrf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FourWayRrf.d.ts","sourceRoot":"","sources":["../../../../src/memory/retrieval/typed-network/FourWayRrf.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,mCAAmC;IACnC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,iEAAiE;IACjE,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,qEAAqE;IACrE,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,CAAC,CAAC,EAAE,MAAM,CAAC;IACX;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;CAC1D;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,eAAe,EACtB,OAAO,GAAE,iBAAsB,GAC9B,MAAM,EAAE,CA8BV"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @file FourWayRrf.ts
3
+ * @description Four-way Reciprocal Rank Fusion over the typed-network
4
+ * retrieval signals: semantic similarity, BM25 lexical match, graph
5
+ * spreading activation, and temporal interval overlap. Per Hindsight
6
+ * §2.4.3, the fusion uses standard RRF with `k=60`:
7
+ *
8
+ * score(f) = Σ over rankings R of [1 / (k + rank_R(f))]
9
+ *
10
+ * Output is a single ranked list combining all four signals. Facts
11
+ * present in only some rankings are still scored — RRF naturally
12
+ * tolerates missing rankings because absent IDs contribute zero.
13
+ *
14
+ * @module @framers/agentos/memory/retrieval/typed-network/FourWayRrf
15
+ */
16
+ /**
17
+ * Fuse four retrieval rankings via Reciprocal Rank Fusion. Returns
18
+ * the merged list ordered by descending fused score.
19
+ *
20
+ * @param input - Four ranked lists (semantic, BM25, graph, temporal).
21
+ * @param options - RRF k constant + optional per-signal weights.
22
+ */
23
+ export function fourWayRrf(input, options = {}) {
24
+ const k = options.k ?? 60;
25
+ const w = {
26
+ semantic: options.weights?.semantic ?? 1,
27
+ bm25: options.weights?.bm25 ?? 1,
28
+ graphActivation: options.weights?.graphActivation ?? 1,
29
+ temporalOverlap: options.weights?.temporalOverlap ?? 1,
30
+ };
31
+ const scores = new Map();
32
+ const accumulate = (ranking, weight) => {
33
+ ranking.forEach((id, idx) => {
34
+ const rank = idx + 1;
35
+ const contribution = (1.0 / (k + rank)) * weight;
36
+ scores.set(id, (scores.get(id) ?? 0) + contribution);
37
+ });
38
+ };
39
+ accumulate(input.semantic, w.semantic);
40
+ accumulate(input.bm25, w.bm25);
41
+ accumulate(input.graphActivation, w.graphActivation);
42
+ accumulate(input.temporalOverlap, w.temporalOverlap);
43
+ return [...scores.entries()]
44
+ .sort((a, b) => b[1] - a[1])
45
+ .map(([id]) => id);
46
+ }
47
+ //# sourceMappingURL=FourWayRrf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FourWayRrf.js","sourceRoot":"","sources":["../../../../src/memory/retrieval/typed-network/FourWayRrf.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA+BH;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CACxB,KAAsB,EACtB,UAA6B,EAAE;IAE/B,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1B,MAAM,CAAC,GAAG;QACR,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,IAAI,CAAC;QACxC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC;QAChC,eAAe,EAAE,OAAO,CAAC,OAAO,EAAE,eAAe,IAAI,CAAC;QACtD,eAAe,EAAE,OAAO,CAAC,OAAO,EAAE,eAAe,IAAI,CAAC;KACvD,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEzC,MAAM,UAAU,GAAG,CACjB,OAAiB,EACjB,MAAc,EACR,EAAE;QACR,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE;YAC1B,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;YACrB,MAAM,YAAY,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;YACjD,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/B,UAAU,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC;IACrD,UAAU,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC;IAErD,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;SACzB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AACvB,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @file TemporalIntervalOverlap.ts
3
+ * @description Temporal-overlap ranking signal for the 4-way RRF
4
+ * fusion. Given a query timestamp and a set of typed facts, ranks the
5
+ * facts by how tightly their occurrence intervals (`τs, τe`) bracket
6
+ * the query timestamp, with a graceful fallback to mention-timestamp
7
+ * distance for facts without a full interval.
8
+ *
9
+ * Hindsight Eq. 12 weighs temporal edges by `exp(−Δt / σt)`. This
10
+ * file's `rankByTemporalOverlap` produces the same monotone signal in
11
+ * a form suitable for the BM25 / semantic / spreading-activation /
12
+ * temporal four-way RRF fusion (see {@link FourWayRrf}).
13
+ *
14
+ * @module @framers/agentos/memory/retrieval/typed-network/TemporalIntervalOverlap
15
+ */
16
+ import type { TypedFact } from './types.js';
17
+ /**
18
+ * Rank an array of typed facts by their temporal proximity to a query
19
+ * timestamp. Facts whose `(start, end)` interval contains the query
20
+ * rank highest, with tighter intervals (smaller width) scoring higher
21
+ * within the contained set. Facts whose interval lies outside the
22
+ * query rank by the minimum endpoint distance. Facts with only a
23
+ * mention timestamp fall back to mention-distance.
24
+ *
25
+ * Returns a new array; the input is not mutated. Stable ordering
26
+ * within tied scores follows JavaScript's `Array.prototype.sort`
27
+ * insertion order.
28
+ *
29
+ * @param facts - Typed facts to rank.
30
+ * @param queryTimestamp - ISO 8601 string. Invalid timestamps fall
31
+ * back to original ordering.
32
+ */
33
+ export declare function rankByTemporalOverlap(facts: TypedFact[], queryTimestamp: string): TypedFact[];
34
+ //# sourceMappingURL=TemporalIntervalOverlap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemporalIntervalOverlap.d.ts","sourceRoot":"","sources":["../../../../src/memory/retrieval/typed-network/TemporalIntervalOverlap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAK5C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,EAAE,EAClB,cAAc,EAAE,MAAM,GACrB,SAAS,EAAE,CAUb"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * @file TemporalIntervalOverlap.ts
3
+ * @description Temporal-overlap ranking signal for the 4-way RRF
4
+ * fusion. Given a query timestamp and a set of typed facts, ranks the
5
+ * facts by how tightly their occurrence intervals (`τs, τe`) bracket
6
+ * the query timestamp, with a graceful fallback to mention-timestamp
7
+ * distance for facts without a full interval.
8
+ *
9
+ * Hindsight Eq. 12 weighs temporal edges by `exp(−Δt / σt)`. This
10
+ * file's `rankByTemporalOverlap` produces the same monotone signal in
11
+ * a form suitable for the BM25 / semantic / spreading-activation /
12
+ * temporal four-way RRF fusion (see {@link FourWayRrf}).
13
+ *
14
+ * @module @framers/agentos/memory/retrieval/typed-network/TemporalIntervalOverlap
15
+ */
16
+ /** One day in milliseconds — used as the natural unit for distance penalties. */
17
+ const DAY_MS = 86400000;
18
+ /**
19
+ * Rank an array of typed facts by their temporal proximity to a query
20
+ * timestamp. Facts whose `(start, end)` interval contains the query
21
+ * rank highest, with tighter intervals (smaller width) scoring higher
22
+ * within the contained set. Facts whose interval lies outside the
23
+ * query rank by the minimum endpoint distance. Facts with only a
24
+ * mention timestamp fall back to mention-distance.
25
+ *
26
+ * Returns a new array; the input is not mutated. Stable ordering
27
+ * within tied scores follows JavaScript's `Array.prototype.sort`
28
+ * insertion order.
29
+ *
30
+ * @param facts - Typed facts to rank.
31
+ * @param queryTimestamp - ISO 8601 string. Invalid timestamps fall
32
+ * back to original ordering.
33
+ */
34
+ export function rankByTemporalOverlap(facts, queryTimestamp) {
35
+ const queryMs = Date.parse(queryTimestamp);
36
+ if (Number.isNaN(queryMs))
37
+ return [...facts];
38
+ const scored = facts.map((f) => ({
39
+ fact: f,
40
+ score: scoreOverlap(f, queryMs),
41
+ }));
42
+ scored.sort((a, b) => b.score - a.score);
43
+ return scored.map((s) => s.fact);
44
+ }
45
+ /**
46
+ * Score a single fact against the query timestamp. Higher = more
47
+ * relevant.
48
+ *
49
+ * Score scale:
50
+ * - In-interval facts produce scores in (1.0, 2.0] — every in-interval
51
+ * fact outranks every out-of-interval fact regardless of width vs
52
+ * endpoint-distance. Tighter intervals score closer to 2.0.
53
+ * - Out-of-interval facts produce scores in (0, 1.0) — closer
54
+ * endpoint distances score nearer to 1.0.
55
+ * - Mention-only facts produce scores in (0, 1.0) — same scale as
56
+ * out-of-interval (the mention timestamp is treated as a degenerate
57
+ * point-interval).
58
+ *
59
+ * The +1.0 boost on in-interval guarantees the order semantics the
60
+ * Hindsight paper §2.4.1 implies: temporal containment is a
61
+ * categorical match; width breaks ties within that category. Without
62
+ * the boost, a wide containing interval can score below a narrow non-
63
+ * containing one (which is geometrically wrong).
64
+ */
65
+ function scoreOverlap(fact, queryMs) {
66
+ const start = fact.temporal.start ? Date.parse(fact.temporal.start) : NaN;
67
+ const end = fact.temporal.end ? Date.parse(fact.temporal.end) : NaN;
68
+ const mention = Date.parse(fact.temporal.mention);
69
+ if (!Number.isNaN(start) && !Number.isNaN(end)) {
70
+ if (queryMs >= start && queryMs <= end) {
71
+ // Query inside interval — score by inverse interval width,
72
+ // boosted by +1.0 so it outranks all out-of-interval facts.
73
+ const width = Math.max(1, end - start);
74
+ return 1.0 + 1.0 / (1 + width / DAY_MS);
75
+ }
76
+ // Query outside — penalize by distance to nearest endpoint.
77
+ const dist = Math.min(Math.abs(queryMs - start), Math.abs(queryMs - end));
78
+ return 1.0 / (1 + dist / DAY_MS);
79
+ }
80
+ // Fall back to mention-timestamp distance.
81
+ if (Number.isNaN(mention))
82
+ return 0;
83
+ const dist = Math.abs(queryMs - mention);
84
+ return 1.0 / (1 + dist / DAY_MS);
85
+ }
86
+ //# sourceMappingURL=TemporalIntervalOverlap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemporalIntervalOverlap.js","sourceRoot":"","sources":["../../../../src/memory/retrieval/typed-network/TemporalIntervalOverlap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,iFAAiF;AACjF,MAAM,MAAM,GAAG,QAAU,CAAC;AAE1B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAkB,EAClB,cAAsB;IAEtB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC3C,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/B,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC;KAChC,CAAC,CAAC,CAAC;IACJ,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAS,YAAY,CAAC,IAAe,EAAE,OAAe;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACpE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAElD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,OAAO,IAAI,KAAK,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC;YACvC,2DAA2D;YAC3D,4DAA4D;YAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;YACvC,OAAO,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC;QAC1C,CAAC;QACD,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC;QAC1E,OAAO,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,2CAA2C;IAC3C,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC;IACzC,OAAO,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;AACnC,CAAC"}