@amodalai/runtime 0.3.69 → 0.3.71

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 (85) hide show
  1. package/dist/src/auth/__fixtures__/custom-strategy.d.ts +8 -0
  2. package/dist/src/auth/__fixtures__/custom-strategy.js +27 -0
  3. package/dist/src/auth/__fixtures__/custom-strategy.js.map +1 -0
  4. package/dist/src/auth/compose.d.ts +55 -0
  5. package/dist/src/auth/compose.js +142 -0
  6. package/dist/src/auth/compose.js.map +1 -0
  7. package/dist/src/auth/compose.test.d.ts +6 -0
  8. package/dist/src/auth/compose.test.js +159 -0
  9. package/dist/src/auth/compose.test.js.map +1 -0
  10. package/dist/src/auth/config.d.ts +261 -0
  11. package/dist/src/auth/config.js +107 -0
  12. package/dist/src/auth/config.js.map +1 -0
  13. package/dist/src/auth/config.test.d.ts +6 -0
  14. package/dist/src/auth/config.test.js +85 -0
  15. package/dist/src/auth/config.test.js.map +1 -0
  16. package/dist/src/auth/factory.d.ts +19 -0
  17. package/dist/src/auth/factory.js +57 -0
  18. package/dist/src/auth/factory.js.map +1 -0
  19. package/dist/src/auth/factory.test.d.ts +6 -0
  20. package/dist/src/auth/factory.test.js +60 -0
  21. package/dist/src/auth/factory.test.js.map +1 -0
  22. package/dist/src/auth/index.d.ts +48 -0
  23. package/dist/src/auth/index.js +19 -0
  24. package/dist/src/auth/index.js.map +1 -0
  25. package/dist/src/auth/strategies/amodal.d.ts +36 -0
  26. package/dist/src/auth/strategies/amodal.js +28 -0
  27. package/dist/src/auth/strategies/amodal.js.map +1 -0
  28. package/dist/src/auth/strategies/api-key.d.ts +41 -0
  29. package/dist/src/auth/strategies/api-key.js +63 -0
  30. package/dist/src/auth/strategies/api-key.js.map +1 -0
  31. package/dist/src/auth/strategies/auth-modes.integration.test.d.ts +6 -0
  32. package/dist/src/auth/strategies/auth-modes.integration.test.js +363 -0
  33. package/dist/src/auth/strategies/auth-modes.integration.test.js.map +1 -0
  34. package/dist/src/auth/strategies/cookie.d.ts +41 -0
  35. package/dist/src/auth/strategies/cookie.js +84 -0
  36. package/dist/src/auth/strategies/cookie.js.map +1 -0
  37. package/dist/src/auth/strategies/custom-loader.d.ts +17 -0
  38. package/dist/src/auth/strategies/custom-loader.js +37 -0
  39. package/dist/src/auth/strategies/custom-loader.js.map +1 -0
  40. package/dist/src/auth/strategies/header.d.ts +35 -0
  41. package/dist/src/auth/strategies/header.js +42 -0
  42. package/dist/src/auth/strategies/header.js.map +1 -0
  43. package/dist/src/auth/strategies/jwks.d.ts +38 -0
  44. package/dist/src/auth/strategies/jwks.js +86 -0
  45. package/dist/src/auth/strategies/jwks.js.map +1 -0
  46. package/dist/src/auth/strategies/jwt-secret.d.ts +25 -0
  47. package/dist/src/auth/strategies/jwt-secret.js +82 -0
  48. package/dist/src/auth/strategies/jwt-secret.js.map +1 -0
  49. package/dist/src/auth/strategies/jwt-secret.test.d.ts +6 -0
  50. package/dist/src/auth/strategies/jwt-secret.test.js +75 -0
  51. package/dist/src/auth/strategies/jwt-secret.test.js.map +1 -0
  52. package/dist/src/auth/strategies/none.d.ts +37 -0
  53. package/dist/src/auth/strategies/none.js +31 -0
  54. package/dist/src/auth/strategies/none.js.map +1 -0
  55. package/dist/src/auth/strategies/oidc.d.ts +48 -0
  56. package/dist/src/auth/strategies/oidc.integration.test.d.ts +6 -0
  57. package/dist/src/auth/strategies/oidc.integration.test.js +290 -0
  58. package/dist/src/auth/strategies/oidc.integration.test.js.map +1 -0
  59. package/dist/src/auth/strategies/oidc.js +284 -0
  60. package/dist/src/auth/strategies/oidc.js.map +1 -0
  61. package/dist/src/auth/strategies/oidc.test.d.ts +6 -0
  62. package/dist/src/auth/strategies/oidc.test.js +111 -0
  63. package/dist/src/auth/strategies/oidc.test.js.map +1 -0
  64. package/dist/src/auth/strategies/strategies.test.d.ts +6 -0
  65. package/dist/src/auth/strategies/strategies.test.js +190 -0
  66. package/dist/src/auth/strategies/strategies.test.js.map +1 -0
  67. package/dist/src/auth/types.d.ts +95 -0
  68. package/dist/src/auth/types.js +7 -0
  69. package/dist/src/auth/types.js.map +1 -0
  70. package/dist/src/index.d.ts +2 -0
  71. package/dist/src/index.js +2 -0
  72. package/dist/src/index.js.map +1 -1
  73. package/dist/src/routes/session-resolver.d.ts +10 -10
  74. package/dist/src/routes/session-resolver.js +33 -17
  75. package/dist/src/routes/session-resolver.js.map +1 -1
  76. package/dist/src/routes/session-resolver.test.js +121 -80
  77. package/dist/src/routes/session-resolver.test.js.map +1 -1
  78. package/dist/src/session/drizzle-session-store.d.ts +8 -12
  79. package/dist/src/session/drizzle-session-store.js +38 -37
  80. package/dist/src/session/drizzle-session-store.js.map +1 -1
  81. package/dist/src/session/store.d.ts +5 -5
  82. package/dist/src/session/store.js +54 -38
  83. package/dist/src/session/store.js.map +1 -1
  84. package/dist/tsconfig.tsbuildinfo +1 -1
  85. package/package.json +9 -4
@@ -13,10 +13,10 @@
13
13
  * Errors bubble up as SessionStoreError — callers at module edges
14
14
  * (session manager, routes) are responsible for handling.
15
15
  */
16
- import { eq, lt, desc, and } from 'drizzle-orm';
17
- import { SessionStoreError } from '../errors.js';
18
- import { notifySessionUpdated } from '@amodalai/db';
19
- import { buildListConditions, encodeCursor, rowToPersistedSession, sessionToRow, } from './store.js';
16
+ import { eq, lt, desc, and, sql } from "drizzle-orm";
17
+ import { SessionStoreError } from "../errors.js";
18
+ import { notifySessionUpdated } from "@amodalai/db";
19
+ import { buildListConditions, encodeCursor, rowToPersistedSession, sessionToRow, } from "./store.js";
20
20
  const DEFAULT_LIST_LIMIT = 50;
21
21
  export class DrizzleSessionStore {
22
22
  /** Exposed for channel session mapper to share the connection pool. */
@@ -44,7 +44,7 @@ export class DrizzleSessionStore {
44
44
  // Intentionally empty — initialization happens in the factories.
45
45
  }
46
46
  async save(session) {
47
- this.ensureOpen('save');
47
+ this.ensureOpen("save");
48
48
  const values = sessionToRow(session);
49
49
  try {
50
50
  await this.db
@@ -63,9 +63,9 @@ export class DrizzleSessionStore {
63
63
  });
64
64
  }
65
65
  catch (cause) {
66
- throw new SessionStoreError('Failed to save session', {
66
+ throw new SessionStoreError("Failed to save session", {
67
67
  backend: this.backendName,
68
- operation: 'save',
68
+ operation: "save",
69
69
  cause,
70
70
  context: { sessionId: session.id },
71
71
  });
@@ -73,10 +73,12 @@ export class DrizzleSessionStore {
73
73
  // Best-effort NOTIFY so Studio/listeners see session updates in real time.
74
74
  try {
75
75
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- Drizzle db is NodePgDatabase
76
- await notifySessionUpdated(this.db, { sessionId: session.id });
76
+ await notifySessionUpdated(this.db, {
77
+ sessionId: session.id,
78
+ });
77
79
  }
78
80
  catch (err) {
79
- this.logger.warn('session_notify_failed', {
81
+ this.logger.warn("session_notify_failed", {
80
82
  sessionId: session.id,
81
83
  error: err instanceof Error ? err.message : String(err),
82
84
  });
@@ -85,7 +87,7 @@ export class DrizzleSessionStore {
85
87
  await this.hooks.onAfterSave(session);
86
88
  }
87
89
  async load(sessionId) {
88
- this.ensureOpen('load');
90
+ this.ensureOpen("load");
89
91
  try {
90
92
  const rows = await this.db
91
93
  .select()
@@ -99,16 +101,16 @@ export class DrizzleSessionStore {
99
101
  catch (cause) {
100
102
  if (cause instanceof SessionStoreError)
101
103
  throw cause;
102
- throw new SessionStoreError('Failed to load session', {
104
+ throw new SessionStoreError("Failed to load session", {
103
105
  backend: this.backendName,
104
- operation: 'load',
106
+ operation: "load",
105
107
  cause,
106
108
  context: { sessionId },
107
109
  });
108
110
  }
109
111
  }
110
112
  async list(opts) {
111
- this.ensureOpen('list');
113
+ this.ensureOpen("list");
112
114
  const limit = opts?.limit ?? DEFAULT_LIST_LIMIT;
113
115
  const where = buildListConditions(this.backendName, opts, this.table);
114
116
  try {
@@ -129,15 +131,15 @@ export class DrizzleSessionStore {
129
131
  catch (cause) {
130
132
  if (cause instanceof SessionStoreError)
131
133
  throw cause;
132
- throw new SessionStoreError('Failed to list sessions', {
134
+ throw new SessionStoreError("Failed to list sessions", {
133
135
  backend: this.backendName,
134
- operation: 'list',
136
+ operation: "list",
135
137
  cause,
136
138
  });
137
139
  }
138
140
  }
139
141
  async delete(sessionId) {
140
- this.ensureOpen('delete');
142
+ this.ensureOpen("delete");
141
143
  let result;
142
144
  try {
143
145
  result = await this.db
@@ -146,9 +148,9 @@ export class DrizzleSessionStore {
146
148
  .returning({ id: this.table.id });
147
149
  }
148
150
  catch (cause) {
149
- throw new SessionStoreError('Failed to delete session', {
151
+ throw new SessionStoreError("Failed to delete session", {
150
152
  backend: this.backendName,
151
- operation: 'delete',
153
+ operation: "delete",
152
154
  cause,
153
155
  context: { sessionId },
154
156
  });
@@ -160,7 +162,7 @@ export class DrizzleSessionStore {
160
162
  return deleted;
161
163
  }
162
164
  async cleanup(before) {
163
- this.ensureOpen('cleanup');
165
+ this.ensureOpen("cleanup");
164
166
  let result;
165
167
  try {
166
168
  result = await this.db
@@ -169,15 +171,15 @@ export class DrizzleSessionStore {
169
171
  .returning({ id: this.table.id });
170
172
  }
171
173
  catch (cause) {
172
- throw new SessionStoreError('Failed to cleanup sessions', {
174
+ throw new SessionStoreError("Failed to cleanup sessions", {
173
175
  backend: this.backendName,
174
- operation: 'cleanup',
176
+ operation: "cleanup",
175
177
  cause,
176
178
  context: { before: before.toISOString() },
177
179
  });
178
180
  }
179
181
  if (result.length > 0) {
180
- this.logger.info('session_store_cleanup', {
182
+ this.logger.info("session_store_cleanup", {
181
183
  backend: this.backendName,
182
184
  deleted: result.length,
183
185
  });
@@ -191,30 +193,29 @@ export class DrizzleSessionStore {
191
193
  * Find the most recent session ID for a given scope_id.
192
194
  * Returns null if no session exists for that scope.
193
195
  *
194
- * Note: this queries by scope_id only, without filtering by agentId.
195
- * The sessions table stores agentId in metadata JSONB (not a column),
196
- * so it can't be efficiently indexed or filtered here. This is safe
197
- * in production (Neon per agent — only one agent's data in the DB).
198
- * In shared-DB local dev, scope_ids are opaque ISV-controlled
199
- * identifiers that won't collide across agents in practice.
196
+ * When agentId is provided, filters the metadata-scoped agent id as well.
197
+ * This avoids cross-agent scope collisions in local shared Postgres.
200
198
  */
201
- async findByScopeId(scopeId) {
202
- this.ensureOpen('findByScopeId');
199
+ async findByScopeId(scopeId, agentId) {
200
+ this.ensureOpen("findByScopeId");
203
201
  try {
202
+ const conditions = [eq(this.table.scopeId, scopeId)];
203
+ if (agentId)
204
+ conditions.push(sql `${this.table.metadata}->>'agentId' = ${agentId}`);
204
205
  const rows = await this.db
205
206
  .select({ id: this.table.id })
206
207
  .from(this.table)
207
- .where(and(eq(this.table.scopeId, scopeId)))
208
+ .where(and(...conditions))
208
209
  .orderBy(desc(this.table.updatedAt))
209
210
  .limit(1);
210
211
  return rows[0]?.id ?? null;
211
212
  }
212
213
  catch (cause) {
213
- throw new SessionStoreError('Failed to find session by scope', {
214
+ throw new SessionStoreError("Failed to find session by scope", {
214
215
  backend: this.backendName,
215
- operation: 'findByScopeId',
216
+ operation: "findByScopeId",
216
217
  cause,
217
- context: { scopeId },
218
+ context: { scopeId, agentId },
218
219
  });
219
220
  }
220
221
  }
@@ -226,16 +227,16 @@ export class DrizzleSessionStore {
226
227
  await this.onClose();
227
228
  }
228
229
  catch (cause) {
229
- throw new SessionStoreError('Failed to close session store', {
230
+ throw new SessionStoreError("Failed to close session store", {
230
231
  backend: this.backendName,
231
- operation: 'close',
232
+ operation: "close",
232
233
  cause,
233
234
  });
234
235
  }
235
236
  }
236
237
  ensureOpen(operation) {
237
238
  if (this.closed) {
238
- throw new SessionStoreError('Session store is closed', {
239
+ throw new SessionStoreError("Session store is closed", {
239
240
  backend: this.backendName,
240
241
  operation,
241
242
  });
@@ -1 +1 @@
1
- {"version":3,"file":"drizzle-session-store.js","sourceRoot":"","sources":["../../../src/session/drizzle-session-store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;GASG;AAEH,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAC,MAAM,aAAa,CAAC;AAG9C,OAAO,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAK/C,OAAO,EAAC,oBAAoB,EAAC,MAAM,cAAc,CAAC;AAElD,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,qBAAqB,EACrB,YAAY,GACb,MAAM,YAAY,CAAC;AAgBpB,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAiB9B,MAAM,OAAO,mBAAmB;IAC9B,uEAAuE;IAC9D,EAAE,CAAgB;IACV,KAAK,CAAqB;IAClC,WAAW,CAAS;IACZ,MAAM,CAAS;IACf,KAAK,CAAoB;IACzB,OAAO,CAAsB;IACtC,MAAM,GAAG,KAAK,CAAC;IAEvB,YAAY,IAAgC;QAC1C,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU;QACd,iEAAiE;IACnE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAyB;QAClC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QAErC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,EAAE;iBACV,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;iBAClB,MAAM,CAAC,MAAM,CAAC;iBACd,kBAAkB,CAAC;gBAClB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;gBACrB,GAAG,EAAE;oBACH,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC5B;aACF,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,iBAAiB,CAAC,wBAAwB,EAAE;gBACpD,OAAO,EAAE,IAAI,CAAC,WAAW;gBACzB,SAAS,EAAE,MAAM;gBACjB,KAAK;gBACL,OAAO,EAAE,EAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAC;aACjC,CAAC,CAAC;QACL,CAAC;QAED,2EAA2E;QAC3E,IAAI,CAAC;YACH,uGAAuG;YACvG,MAAM,oBAAoB,CAAC,IAAI,CAAC,EAA+B,EAAE,EAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAC,CAAC,CAAC;QAC5F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACxC,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW;YAAE,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAiB;QAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAExB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE;iBACvB,MAAM,EAAE;iBACR,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;iBAChB,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;iBACnC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEZ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACnC,OAAO,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,iBAAiB;gBAAE,MAAM,KAAK,CAAC;YACpD,MAAM,IAAI,iBAAiB,CAAC,wBAAwB,EAAE;gBACpD,OAAO,EAAE,IAAI,CAAC,WAAW;gBACzB,SAAS,EAAE,MAAM;gBACjB,KAAK;gBACL,OAAO,EAAE,EAAC,SAAS,EAAC;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAyB;QAClC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAExB,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,kBAAkB,CAAC;QAChD,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtE,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE;iBACvB,MAAM,EAAE;iBACR,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;iBAChB,KAAK,CAAC,KAAK,CAAC;iBACZ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBACxD,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,sCAAsC;YAE3D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;YAE7E,MAAM,UAAU,GAAG,OAAO;gBACxB,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,CAAC,CAAC,IAAI,CAAC;YAET,OAAO,EAAC,QAAQ,EAAE,UAAU,EAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,iBAAiB;gBAAE,MAAM,KAAK,CAAC;YACpD,MAAM,IAAI,iBAAiB,CAAC,yBAAyB,EAAE;gBACrD,OAAO,EAAE,IAAI,CAAC,WAAW;gBACzB,SAAS,EAAE,MAAM;gBACjB,KAAK;aACN,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC5B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE1B,IAAI,MAA2B,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE;iBACnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;iBAClB,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;iBACnC,SAAS,CAAC,EAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAC,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,iBAAiB,CAAC,0BAA0B,EAAE;gBACtD,OAAO,EAAE,IAAI,CAAC,WAAW;gBACzB,SAAS,EAAE,QAAQ;gBACnB,KAAK;gBACL,OAAO,EAAE,EAAC,SAAS,EAAC;aACrB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAClC,IAAI,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YACxC,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAY;QACxB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAE3B,IAAI,MAA2B,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE;iBACnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;iBAClB,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;iBACvC,SAAS,CAAC,EAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAC,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,iBAAiB,CAAC,4BAA4B,EAAE;gBACxD,OAAO,EAAE,IAAI,CAAC,WAAW;gBACzB,SAAS,EAAE,SAAS;gBACpB,KAAK;gBACL,OAAO,EAAE,EAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,EAAC;aACxC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACxC,OAAO,EAAE,IAAI,CAAC,WAAW;gBACzB,OAAO,EAAE,MAAM,CAAC,MAAM;aACvB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,aAAa,CAAC,OAAe;QACjC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAEjC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE;iBACvB,MAAM,CAAC,EAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAC,CAAC;iBAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;iBAChB,KAAK,CAAC,GAAG,CACR,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAChC,CAAC;iBACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;iBACnC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEZ,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,iBAAiB,CAAC,iCAAiC,EAAE;gBAC7D,OAAO,EAAE,IAAI,CAAC,WAAW;gBACzB,SAAS,EAAE,eAAe;gBAC1B,KAAK;gBACL,OAAO,EAAE,EAAC,OAAO,EAAC;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,iBAAiB,CAAC,+BAA+B,EAAE;gBAC3D,OAAO,EAAE,IAAI,CAAC,WAAW;gBACzB,SAAS,EAAE,OAAO;gBAClB,KAAK;aACN,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,SAAiB;QAClC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,iBAAiB,CAAC,yBAAyB,EAAE;gBACrD,OAAO,EAAE,IAAI,CAAC,WAAW;gBACzB,SAAS;aACV,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"drizzle-session-store.js","sourceRoot":"","sources":["../../../src/session/drizzle-session-store.ts"],"names":[],"mappings":"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"}
@@ -14,10 +14,10 @@
14
14
  *
15
15
  * The Drizzle schema lives in `@amodalai/db`.
16
16
  */
17
- import { and } from 'drizzle-orm';
18
- import type { AnyPgColumn } from 'drizzle-orm/pg-core';
19
- import type { agentSessions } from '@amodalai/db';
20
- import type { PersistedSession } from './types.js';
17
+ import { and } from "drizzle-orm";
18
+ import type { AnyPgColumn } from "drizzle-orm/pg-core";
19
+ import type { agentSessions } from "@amodalai/db";
20
+ import type { PersistedSession } from "./types.js";
21
21
  /**
22
22
  * Options for `SessionStore.list()`.
23
23
  *
@@ -111,7 +111,7 @@ export interface SessionStore {
111
111
  * Find the most recent session for a scope. Returns the session ID or null.
112
112
  * Optional — only implemented by stores that support scope-based lookup.
113
113
  */
114
- findByScopeId?(scopeId: string): Promise<string | null>;
114
+ findByScopeId?(scopeId: string, agentId?: string): Promise<string | null>;
115
115
  }
116
116
  export declare function validateFilterKey(backend: string, key: string): void;
117
117
  /** Encode a cursor as opaque base64 of "updatedAt.ms|id". */
@@ -14,11 +14,11 @@
14
14
  *
15
15
  * The Drizzle schema lives in `@amodalai/db`.
16
16
  */
17
- import { and, eq, lt, or, gte, lte, sql } from 'drizzle-orm';
18
- import { randomUUID } from 'node:crypto';
19
- import { SessionStoreError } from '../errors.js';
20
- import { scrubMessagesForPersistence } from './credential-scrubber.js';
21
- const IMAGE_REF_PREFIX = '__amodal_imgref:';
17
+ import { and, eq, lt, or, gte, lte, sql } from "drizzle-orm";
18
+ import { randomUUID } from "node:crypto";
19
+ import { SessionStoreError } from "../errors.js";
20
+ import { scrubMessagesForPersistence } from "./credential-scrubber.js";
21
+ const IMAGE_REF_PREFIX = "__amodal_imgref:";
22
22
  const IMAGE_REF_PATTERN = /^__amodal_imgref:([a-f0-9-]+)__$/;
23
23
  // ---------------------------------------------------------------------------
24
24
  // Shared helpers
@@ -34,32 +34,35 @@ export function validateFilterKey(backend, key) {
34
34
  if (!SAFE_KEY_RE.test(key)) {
35
35
  throw new SessionStoreError(`Invalid filter field name: ${JSON.stringify(key)}`, {
36
36
  backend,
37
- operation: 'list',
38
- context: { key, expected: 'identifier: letters, digits, underscore only' },
37
+ operation: "list",
38
+ context: {
39
+ key,
40
+ expected: "identifier: letters, digits, underscore only",
41
+ },
39
42
  });
40
43
  }
41
44
  }
42
45
  /** Encode a cursor as opaque base64 of "updatedAt.ms|id". */
43
46
  export function encodeCursor(updatedAt, id) {
44
- return Buffer.from(`${updatedAt.getTime()}|${id}`, 'utf8').toString('base64url');
47
+ return Buffer.from(`${updatedAt.getTime()}|${id}`, "utf8").toString("base64url");
45
48
  }
46
49
  /** Decode a cursor; throws SessionStoreError on malformed input. */
47
50
  export function decodeCursor(backend, cursor) {
48
51
  try {
49
- const decoded = Buffer.from(cursor, 'base64url').toString('utf8');
50
- const sep = decoded.indexOf('|');
52
+ const decoded = Buffer.from(cursor, "base64url").toString("utf8");
53
+ const sep = decoded.indexOf("|");
51
54
  if (sep < 0)
52
- throw new Error('missing separator');
55
+ throw new Error("missing separator");
53
56
  const ms = Number(decoded.slice(0, sep));
54
57
  const id = decoded.slice(sep + 1);
55
58
  if (!Number.isFinite(ms) || !id)
56
- throw new Error('bad parts');
59
+ throw new Error("bad parts");
57
60
  return { updatedAt: new Date(ms), id };
58
61
  }
59
62
  catch (cause) {
60
- throw new SessionStoreError('Invalid pagination cursor', {
63
+ throw new SessionStoreError("Invalid pagination cursor", {
61
64
  backend,
62
- operation: 'list',
65
+ operation: "list",
63
66
  cause,
64
67
  });
65
68
  }
@@ -77,22 +80,28 @@ export function decodeCursor(backend, cursor) {
77
80
  function extractImages(messages) {
78
81
  const imageData = {};
79
82
  const cleaned = messages.map((msg) => {
80
- if (msg.role !== 'user' || !Array.isArray(msg.content))
83
+ if (msg.role !== "user" || !Array.isArray(msg.content))
81
84
  return msg;
82
- const hasImage = msg.content.some((p) => typeof p === 'object' && 'type' in p && p.type === 'image' && 'image' in p);
85
+ const hasImage = msg.content.some((p) => typeof p === "object" &&
86
+ "type" in p &&
87
+ p.type === "image" &&
88
+ "image" in p);
83
89
  if (!hasImage)
84
90
  return msg;
85
91
  return {
86
92
  ...msg,
87
93
  content: msg.content.map((part) => {
88
- if (typeof part !== 'object' || !('type' in part) || part.type !== 'image' || !('image' in part)) {
94
+ if (typeof part !== "object" ||
95
+ !("type" in part) ||
96
+ part.type !== "image" ||
97
+ !("image" in part)) {
89
98
  return part;
90
99
  }
91
100
  const refId = randomUUID().slice(0, 12);
92
- const data = typeof part.image === 'string' ? part.image : '';
93
- const mimeType = String(part.mediaType ?? 'image/png');
101
+ const data = typeof part.image === "string" ? part.image : "";
102
+ const mimeType = String(part.mediaType ?? "image/png");
94
103
  imageData[refId] = { mimeType, data };
95
- return { type: 'text', text: `${IMAGE_REF_PREFIX}${refId}__` };
104
+ return { type: "text", text: `${IMAGE_REF_PREFIX}${refId}__` };
96
105
  }),
97
106
  };
98
107
  });
@@ -107,16 +116,23 @@ function rehydrateImages(messages, imageData) {
107
116
  if (!imageData || Object.keys(imageData).length === 0)
108
117
  return messages;
109
118
  return messages.map((msg) => {
110
- if (msg.role !== 'user' || !Array.isArray(msg.content))
119
+ if (msg.role !== "user" || !Array.isArray(msg.content))
111
120
  return msg;
112
- const hasRef = msg.content.some((p) => typeof p === 'object' && 'type' in p && p.type === 'text' && 'text' in p
113
- && typeof p.text === 'string' && p.text.startsWith(IMAGE_REF_PREFIX));
121
+ const hasRef = msg.content.some((p) => typeof p === "object" &&
122
+ "type" in p &&
123
+ p.type === "text" &&
124
+ "text" in p &&
125
+ typeof p.text === "string" &&
126
+ p.text.startsWith(IMAGE_REF_PREFIX));
114
127
  if (!hasRef)
115
128
  return msg;
116
129
  return {
117
130
  ...msg,
118
131
  content: msg.content.map((part) => {
119
- if (typeof part !== 'object' || !('type' in part) || part.type !== 'text' || !('text' in part)) {
132
+ if (typeof part !== "object" ||
133
+ !("type" in part) ||
134
+ part.type !== "text" ||
135
+ !("text" in part)) {
120
136
  return part;
121
137
  }
122
138
  const text = String(part.text);
@@ -127,7 +143,7 @@ function rehydrateImages(messages, imageData) {
127
143
  if (!ref)
128
144
  return part; // ref missing — leave placeholder
129
145
  return {
130
- type: 'image',
146
+ type: "image",
131
147
  image: ref.data,
132
148
  mediaType: ref.mimeType,
133
149
  };
@@ -140,11 +156,9 @@ export function sessionToRow(session) {
140
156
  // Merge any existing image data from the session (prior turns) with
141
157
  // newly extracted images from this turn.
142
158
  const mergedImageData = { ...(session.imageData ?? {}), ...imageData };
143
- // Phase F.5 — sanitize credential-shaped substrings from user-role
144
- // messages at the persistence boundary. The agent's reasoning
145
- // context still sees the raw text in the active SSE stream (so it
146
- // can recognize a pasted token and redirect per the F.4 rule);
147
- // only what hits the database is sanitized.
159
+ // Sanitize credential-shaped substrings at the persistence boundary.
160
+ // Active turn handling still sees raw user text, but stored transcripts
161
+ // must not retain pasted tokens.
148
162
  const scrubbedMessages = scrubMessagesForPersistence(messages);
149
163
  return {
150
164
  id: session.id,
@@ -174,16 +188,18 @@ function dedupeToolResults(messages) {
174
188
  const seenToolCallIds = new Set();
175
189
  const out = [];
176
190
  for (const msg of messages) {
177
- if (msg.role !== 'tool' || !Array.isArray(msg.content)) {
191
+ if (msg.role !== "tool" || !Array.isArray(msg.content)) {
178
192
  out.push(msg);
179
193
  continue;
180
194
  }
181
195
  const keptBlocks = msg.content.filter((block) => {
182
- if (typeof block !== 'object' || !('type' in block) || block.type !== 'tool-result') {
196
+ if (typeof block !== "object" ||
197
+ !("type" in block) ||
198
+ block.type !== "tool-result") {
183
199
  return true;
184
200
  }
185
201
  const id = block.toolCallId;
186
- if (typeof id !== 'string')
202
+ if (typeof id !== "string")
187
203
  return true;
188
204
  if (seenToolCallIds.has(id))
189
205
  return false;
@@ -210,14 +226,14 @@ export function rowToPersistedSession(backend, row) {
210
226
  if (row.version !== 1) {
211
227
  throw new SessionStoreError(`Unsupported persisted session version: ${row.version}`, {
212
228
  backend,
213
- operation: 'load',
229
+ operation: "load",
214
230
  context: { sessionId: row.id, version: row.version, supported: 1 },
215
231
  });
216
232
  }
217
233
  if (!Array.isArray(row.messages)) {
218
- throw new SessionStoreError('Persisted session has non-array messages payload', {
234
+ throw new SessionStoreError("Persisted session has non-array messages payload", {
219
235
  backend,
220
- operation: 'load',
236
+ operation: "load",
221
237
  context: { sessionId: row.id, messagesType: typeof row.messages },
222
238
  });
223
239
  }
@@ -228,7 +244,7 @@ export function rowToPersistedSession(backend, row) {
228
244
  return {
229
245
  version: 1,
230
246
  id: row.id,
231
- scopeId: row.scopeId ?? '',
247
+ scopeId: row.scopeId ?? "",
232
248
  messages: rehydrateImages(dedupedMessages, imageData),
233
249
  tokenUsage: row.tokenUsage,
234
250
  metadata: (row.metadata ?? {}),
@@ -267,7 +283,7 @@ export function buildListConditions(backend, opts, table) {
267
283
  // text; we coerce the user-supplied value to its JSON string form
268
284
  // via parameter binding, so non-string values like numbers/bools
269
285
  // compare correctly: metadata->>'n' = '42'.
270
- const textVal = typeof val === 'string' ? val : JSON.stringify(val);
286
+ const textVal = typeof val === "string" ? val : JSON.stringify(val);
271
287
  conditions.push(sql `${table.metadata}->>${sql.raw(`'${key}'`)} = ${textVal}`);
272
288
  }
273
289
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/session/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/session/store.ts"],"names":[],"mappings":"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"}