boundlessdb 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/storage/memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/storage/memory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/storage/postgres.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,IAAI,CAAC;AACvD,OAAO,EAA0B,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/G,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA2CjE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,eAAgB,YAAW,YAAY;IAClD,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,WAAW,CAAS;gBAEhB,wBAAwB,EAAE,MAAM,GAAG,UAAU;IAQzD;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B,OAAO,CAAC,iBAAiB;IAMnB,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IA0D9E,KAAK,CACT,UAAU,EAAE,cAAc,EAAE,EAC5B,YAAY,CAAC,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,EAAE,CAAC;IA0GnB,cAAc,CAClB,UAAU,EAAE,cAAc,EAAE,EAC5B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,EAAE,CAAC;IAInB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IASpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAY5C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAgB7F;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB5B;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAS7C;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhD;;OAEG;IACG,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCjF,OAAO,CAAC,UAAU;CAUnB"}
1
+ {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/storage/postgres.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,IAAI,CAAC;AACvD,OAAO,EAA8C,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACnI,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA2CjE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,eAAgB,YAAW,YAAY;IAClD,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,WAAW,CAAS;gBAEhB,wBAAwB,EAAE,MAAM,GAAG,UAAU;IAQzD;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B,OAAO,CAAC,iBAAiB;IAMnB,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IA0D9E,KAAK,CACT,UAAU,EAAE,cAAc,EAAE,EAC5B,YAAY,CAAC,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,EAAE,CAAC;IA6HnB,cAAc,CAClB,UAAU,EAAE,cAAc,EAAE,EAC5B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,EAAE,CAAC;IAInB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IASpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAY5C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAgB7F;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB5B;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAS7C;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhD;;OAEG;IACG,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCjF,OAAO,CAAC,UAAU;CAUnB"}
@@ -2,7 +2,7 @@
2
2
  * PostgreSQL Storage implementation using pg
3
3
  */
4
4
  import { Pool } from 'pg';
5
- import { isConstrainedCondition } from '../types.js';
5
+ import { isConstrainedCondition, isKeyOnlyCondition } from '../types.js';
6
6
  const SCHEMA = `
7
7
  -- Events (Append-Only Log)
8
8
  CREATE TABLE IF NOT EXISTS events (
@@ -157,21 +157,35 @@ export class PostgresStorage {
157
157
  const result = await this.pool.query(sql, params);
158
158
  return result.rows.map(row => this.rowToEvent(row));
159
159
  }
160
- // Separate conditions: constrained (with key/value) vs unconstrained (type only)
160
+ // Separate conditions by type
161
161
  const constrained = conditions.filter(isConstrainedCondition);
162
- const unconstrained = conditions.filter(c => !isConstrainedCondition(c));
163
- const whereClauses = [];
164
- // Unconstrained: match by type only
162
+ const keyOnly = conditions.filter(isKeyOnlyCondition);
163
+ const unconstrained = conditions.filter(c => !isConstrainedCondition(c) && !isKeyOnlyCondition(c));
164
+ // Build CTE-based query with UNION for better index utilization
165
+ const ctes = [];
166
+ const cteNames = [];
167
+ const positionFilter = fromPosition !== undefined ? fromPosition.toString() : null;
168
+ // CTE for unconstrained conditions (type-only, no join needed)
165
169
  if (unconstrained.length > 0) {
166
170
  const typePlaceholders = unconstrained.map(() => {
167
171
  const ph = `$${paramIndex}`;
168
172
  paramIndex++;
169
173
  return ph;
170
174
  });
171
- whereClauses.push(`e.event_type IN (${typePlaceholders.join(', ')})`);
175
+ let cteSql = `
176
+ SELECT position, event_id, event_type, data, metadata, timestamp
177
+ FROM events
178
+ WHERE event_type IN (${typePlaceholders.join(', ')})`;
172
179
  params.push(...unconstrained.map(c => c.type));
180
+ if (positionFilter !== null) {
181
+ cteSql += ` AND position > $${paramIndex}`;
182
+ params.push(positionFilter);
183
+ paramIndex++;
184
+ }
185
+ ctes.push(`unconstrained_matches AS (${cteSql})`);
186
+ cteNames.push('unconstrained_matches');
173
187
  }
174
- // Constrained: match by type + key + value
188
+ // CTE for constrained conditions (type + key + value)
175
189
  if (constrained.length > 0) {
176
190
  const constrainedClauses = constrained.map(c => {
177
191
  const clause = `(e.event_type = $${paramIndex} AND k.key_name = $${paramIndex + 1} AND k.key_value = $${paramIndex + 2})`;
@@ -179,45 +193,45 @@ export class PostgresStorage {
179
193
  paramIndex += 3;
180
194
  return clause;
181
195
  });
182
- whereClauses.push(`(${constrainedClauses.join(' OR ')})`);
183
- }
184
- // Build SQL
185
- let sql;
186
- if (constrained.length > 0) {
187
- // Need JOIN for constrained conditions
188
- sql = `
189
- SELECT DISTINCT ON (e.position)
190
- e.position,
191
- e.event_id,
192
- e.event_type,
193
- e.data,
194
- e.metadata,
195
- e.timestamp
196
+ let cteSql = `
197
+ SELECT DISTINCT e.position, e.event_id, e.event_type, e.data, e.metadata, e.timestamp
196
198
  FROM events e
197
- LEFT JOIN event_keys k ON e.position = k.position
198
- WHERE (${whereClauses.join(' OR ')})
199
- `;
199
+ INNER JOIN event_keys k ON e.position = k.position
200
+ WHERE (${constrainedClauses.join(' OR ')})`;
201
+ if (positionFilter !== null) {
202
+ cteSql += ` AND e.position > $${paramIndex}`;
203
+ params.push(positionFilter);
204
+ paramIndex++;
205
+ }
206
+ ctes.push(`constrained_matches AS (${cteSql})`);
207
+ cteNames.push('constrained_matches');
200
208
  }
201
- else {
202
- // No constrained conditions, no JOIN needed
203
- sql = `
204
- SELECT
205
- position,
206
- event_id,
207
- event_type,
208
- data,
209
- metadata,
210
- timestamp
209
+ // CTE for key-only conditions (key + value, any type)
210
+ if (keyOnly.length > 0) {
211
+ const keyOnlyClauses = keyOnly.map(c => {
212
+ const clause = `(k.key_name = $${paramIndex} AND k.key_value = $${paramIndex + 1})`;
213
+ params.push(c.key, c.value);
214
+ paramIndex += 2;
215
+ return clause;
216
+ });
217
+ let cteSql = `
218
+ SELECT DISTINCT e.position, e.event_id, e.event_type, e.data, e.metadata, e.timestamp
211
219
  FROM events e
212
- WHERE (${whereClauses.join(' OR ')})
213
- `;
214
- }
215
- if (fromPosition !== undefined) {
216
- sql += ` AND e.position > $${paramIndex}`;
217
- params.push(fromPosition.toString());
218
- paramIndex++;
220
+ INNER JOIN event_keys k ON e.position = k.position
221
+ WHERE (${keyOnlyClauses.join(' OR ')})`;
222
+ if (positionFilter !== null) {
223
+ cteSql += ` AND e.position > $${paramIndex}`;
224
+ params.push(positionFilter);
225
+ paramIndex++;
226
+ }
227
+ ctes.push(`key_only_matches AS (${cteSql})`);
228
+ cteNames.push('key_only_matches');
219
229
  }
220
- sql += ' ORDER BY e.position';
230
+ // Build final query with UNION
231
+ const unionParts = cteNames.map(name => `SELECT * FROM ${name}`);
232
+ let sql = `WITH ${ctes.join(',\n')}
233
+ SELECT * FROM (${unionParts.join(' UNION ')}) AS combined
234
+ ORDER BY position`;
221
235
  if (limit !== undefined) {
222
236
  sql += ` LIMIT $${paramIndex}`;
223
237
  params.push(limit);
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../src/storage/postgres.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../src/storage/postgres.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAA0B,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/G,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA2CjE;;GAEG;AACH,qBAAa,aAAc,YAAW,YAAY;IAChD,OAAO,CAAC,EAAE,CAAoB;gBAElB,IAAI,GAAE,MAAmB;IAO/B,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAmD9E,KAAK,CACT,UAAU,EAAE,cAAc,EAAE,EAC5B,YAAY,CAAC,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,EAAE,CAAC;IAmGnB,cAAc,CAClB,UAAU,EAAE,cAAc,EAAE,EAC5B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,EAAE,CAAC;IAInB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B;;OAEG;IACH,YAAY,IAAI,WAAW,EAAE;IAU7B;;OAEG;IACH,UAAU,IAAI,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAQ9E;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;IACH,aAAa,IAAI,MAAM,GAAG,IAAI;IAO9B;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMjC;;OAEG;IACH,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,YAAY,EAAE,GAAG,IAAI;IAwBlE,OAAO,CAAC,UAAU;CAUnB"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAA8C,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACnI,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA2CjE;;GAEG;AACH,qBAAa,aAAc,YAAW,YAAY;IAChD,OAAO,CAAC,EAAE,CAAoB;gBAElB,IAAI,GAAE,MAAmB;IAO/B,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAmD9E,KAAK,CACT,UAAU,EAAE,cAAc,EAAE,EAC5B,YAAY,CAAC,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,EAAE,CAAC;IA6GnB,cAAc,CAClB,UAAU,EAAE,cAAc,EAAE,EAC5B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,EAAE,CAAC;IAInB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B;;OAEG;IACH,YAAY,IAAI,WAAW,EAAE;IAU7B;;OAEG;IACH,UAAU,IAAI,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAQ9E;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;IACH,aAAa,IAAI,MAAM,GAAG,IAAI;IAO9B;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMjC;;OAEG;IACH,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,YAAY,EAAE,GAAG,IAAI;IAwBlE,OAAO,CAAC,UAAU;CAUnB"}
@@ -2,7 +2,7 @@
2
2
  * SQLite Storage implementation using better-sqlite3
3
3
  */
4
4
  import Database from 'better-sqlite3';
5
- import { isConstrainedCondition } from '../types.js';
5
+ import { isConstrainedCondition, isKeyOnlyCondition } from '../types.js';
6
6
  const SCHEMA = `
7
7
  -- Events (Append-Only Log)
8
8
  CREATE TABLE IF NOT EXISTS events (
@@ -99,60 +99,70 @@ export class SqliteStorage {
99
99
  const rows = this.db.prepare(sql).all(...params);
100
100
  return rows.map(row => this.rowToEvent(row));
101
101
  }
102
- // Separate conditions: constrained (with key/value) vs unconstrained (type only)
102
+ // Separate conditions by type
103
103
  const constrained = conditions.filter(isConstrainedCondition);
104
- const unconstrained = conditions.filter(c => !isConstrainedCondition(c));
105
- const whereClauses = [];
106
- const whereParams = [];
107
- // Unconstrained: match by type only (no join needed)
104
+ const keyOnly = conditions.filter(isKeyOnlyCondition);
105
+ const unconstrained = conditions.filter(c => !isConstrainedCondition(c) && !isKeyOnlyCondition(c));
106
+ // Build CTE-based query with UNION for better index utilization
107
+ const ctes = [];
108
+ const cteNames = [];
109
+ const params = [];
110
+ const positionFilter = fromPosition !== undefined ? Number(fromPosition) : null;
111
+ // CTE for unconstrained conditions (type-only, no join needed)
108
112
  if (unconstrained.length > 0) {
109
113
  const typePlaceholders = unconstrained.map(() => '?').join(', ');
110
- whereClauses.push(`e.event_type IN (${typePlaceholders})`);
111
- whereParams.push(...unconstrained.map(c => c.type));
114
+ let cteSql = `
115
+ SELECT position, event_id, event_type, data, metadata, timestamp
116
+ FROM events
117
+ WHERE event_type IN (${typePlaceholders})`;
118
+ if (positionFilter !== null) {
119
+ cteSql += ' AND position > ?';
120
+ }
121
+ ctes.push(`unconstrained_matches AS (${cteSql})`);
122
+ cteNames.push('unconstrained_matches');
123
+ params.push(...unconstrained.map(c => c.type));
124
+ if (positionFilter !== null)
125
+ params.push(positionFilter);
112
126
  }
113
- // Constrained: match by type + key + value
127
+ // CTE for constrained conditions (type + key + value)
114
128
  if (constrained.length > 0) {
115
129
  const constrainedClauses = constrained.map(() => '(e.event_type = ? AND k.key_name = ? AND k.key_value = ?)');
116
- whereClauses.push(`(${constrainedClauses.join(' OR ')})`);
117
- whereParams.push(...constrained.flatMap(c => [c.type, c.key, c.value]));
118
- }
119
- // Build SQL
120
- let sql;
121
- if (constrained.length > 0) {
122
- // Need JOIN for constrained conditions
123
- sql = `
124
- SELECT DISTINCT
125
- e.position,
126
- e.event_id,
127
- e.event_type,
128
- e.data,
129
- e.metadata,
130
- e.timestamp
130
+ let cteSql = `
131
+ SELECT DISTINCT e.position, e.event_id, e.event_type, e.data, e.metadata, e.timestamp
131
132
  FROM events e
132
- LEFT JOIN event_keys k ON e.position = k.position
133
- WHERE (${whereClauses.join(' OR ')})
134
- `;
133
+ INNER JOIN event_keys k ON e.position = k.position
134
+ WHERE (${constrainedClauses.join(' OR ')})`;
135
+ if (positionFilter !== null) {
136
+ cteSql += ' AND e.position > ?';
137
+ }
138
+ ctes.push(`constrained_matches AS (${cteSql})`);
139
+ cteNames.push('constrained_matches');
140
+ params.push(...constrained.flatMap(c => [c.type, c.key, c.value]));
141
+ if (positionFilter !== null)
142
+ params.push(positionFilter);
135
143
  }
136
- else {
137
- // No constrained conditions, no JOIN needed
138
- sql = `
139
- SELECT
140
- position,
141
- event_id,
142
- event_type,
143
- data,
144
- metadata,
145
- timestamp
144
+ // CTE for key-only conditions (key + value, any type)
145
+ if (keyOnly.length > 0) {
146
+ const keyOnlyClauses = keyOnly.map(() => '(k.key_name = ? AND k.key_value = ?)');
147
+ let cteSql = `
148
+ SELECT DISTINCT e.position, e.event_id, e.event_type, e.data, e.metadata, e.timestamp
146
149
  FROM events e
147
- WHERE (${whereClauses.join(' OR ')})
148
- `;
149
- }
150
- const params = [...whereParams];
151
- if (fromPosition !== undefined) {
152
- sql += ' AND e.position > ?';
153
- params.push(Number(fromPosition));
150
+ INNER JOIN event_keys k ON e.position = k.position
151
+ WHERE (${keyOnlyClauses.join(' OR ')})`;
152
+ if (positionFilter !== null) {
153
+ cteSql += ' AND e.position > ?';
154
+ }
155
+ ctes.push(`key_only_matches AS (${cteSql})`);
156
+ cteNames.push('key_only_matches');
157
+ params.push(...keyOnly.flatMap(c => [c.key, c.value]));
158
+ if (positionFilter !== null)
159
+ params.push(positionFilter);
154
160
  }
155
- sql += ' ORDER BY e.position';
161
+ // Build final query with UNION
162
+ const unionParts = cteNames.map(name => `SELECT * FROM ${name}`);
163
+ let sql = `WITH ${ctes.join(',\n')}
164
+ SELECT * FROM (${unionParts.join(' UNION ')}) AS combined
165
+ ORDER BY position`;
156
166
  if (limit !== undefined) {
157
167
  sql += ' LIMIT ?';
158
168
  params.push(limit);
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sqljs.d.ts","sourceRoot":"","sources":["../../src/storage/sqljs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAA0B,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/G,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA4CjE,MAAM,WAAW,mBAAmB;IAClC,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,YAAa,YAAW,YAAY;IAC/C,OAAO,CAAC,EAAE,CAA8B;IACxC,OAAO,CAAC,WAAW,CAAgB;gBAEvB,OAAO,GAAE,mBAAwB;YAI/B,UAAU;YAkBV,iBAAiB;IAQzB,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAgE9E,KAAK,CACT,UAAU,EAAE,cAAc,EAAE,EAC5B,YAAY,CAAC,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,EAAE,CAAC;IAmHnB,cAAc,CAClB,UAAU,EAAE,cAAc,EAAE,EAC5B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,EAAE,CAAC;IAInB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IASpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAyB5C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAiB7F;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;IAOnC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAS7C;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAahD;;OAEG;IACG,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BjF,OAAO,CAAC,UAAU;CAUnB"}
1
+ {"version":3,"file":"sqljs.d.ts","sourceRoot":"","sources":["../../src/storage/sqljs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAA8C,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACnI,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA4CjE,MAAM,WAAW,mBAAmB;IAClC,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,YAAa,YAAW,YAAY;IAC/C,OAAO,CAAC,EAAE,CAA8B;IACxC,OAAO,CAAC,WAAW,CAAgB;gBAEvB,OAAO,GAAE,mBAAwB;YAI/B,UAAU;YAkBV,iBAAiB;IAQzB,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAgE9E,KAAK,CACT,UAAU,EAAE,cAAc,EAAE,EAC5B,YAAY,CAAC,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,EAAE,CAAC;IA4HnB,cAAc,CAClB,UAAU,EAAE,cAAc,EAAE,EAC5B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,EAAE,CAAC;IAInB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IASpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAyB5C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAiB7F;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;IAOnC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAS7C;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAahD;;OAEG;IACG,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BjF,OAAO,CAAC,UAAU;CAUnB"}
@@ -2,7 +2,7 @@
2
2
  * sql.js Storage implementation for browser environments
3
3
  */
4
4
  import initSqlJs from 'sql.js';
5
- import { isConstrainedCondition } from '../types.js';
5
+ import { isConstrainedCondition, isKeyOnlyCondition } from '../types.js';
6
6
  const SCHEMA = `
7
7
  -- Events (Append-Only Log)
8
8
  CREATE TABLE IF NOT EXISTS events (
@@ -149,9 +149,10 @@ export class SqlJsStorage {
149
149
  return this.rowToEvent(obj);
150
150
  });
151
151
  }
152
- // Separate conditions: constrained (with key/value) vs unconstrained (type only)
152
+ // Separate conditions by type
153
153
  const constrained = conditions.filter(isConstrainedCondition);
154
- const unconstrained = conditions.filter(c => !isConstrainedCondition(c));
154
+ const keyOnly = conditions.filter(isKeyOnlyCondition);
155
+ const unconstrained = conditions.filter(c => !isConstrainedCondition(c) && !isKeyOnlyCondition(c));
155
156
  const whereClauses = [];
156
157
  // Unconstrained: match by type only
157
158
  if (unconstrained.length > 0) {
@@ -163,10 +164,15 @@ export class SqlJsStorage {
163
164
  const constrainedClauses = constrained.map(c => `(e.event_type = ${escapeSql(c.type)} AND k.key_name = ${escapeSql(c.key)} AND k.key_value = ${escapeSql(c.value)})`);
164
165
  whereClauses.push(`(${constrainedClauses.join(' OR ')})`);
165
166
  }
166
- // Build SQL
167
+ // Key-only: match by key + value only (any event type)
168
+ if (keyOnly.length > 0) {
169
+ const keyOnlyClauses = keyOnly.map(c => `(k.key_name = ${escapeSql(c.key)} AND k.key_value = ${escapeSql(c.value)})`);
170
+ whereClauses.push(`(${keyOnlyClauses.join(' OR ')})`);
171
+ }
172
+ // Build SQL - need JOIN if we have constrained or key-only conditions
173
+ const needsJoin = constrained.length > 0 || keyOnly.length > 0;
167
174
  let sql;
168
- if (constrained.length > 0) {
169
- // Need JOIN for constrained conditions
175
+ if (needsJoin) {
170
176
  sql = `
171
177
  SELECT DISTINCT
172
178
  e.position,
@@ -181,7 +187,7 @@ export class SqlJsStorage {
181
187
  `;
182
188
  }
183
189
  else {
184
- // No constrained conditions, no JOIN needed
190
+ // No constrained or key-only conditions, no JOIN needed
185
191
  sql = `
186
192
  SELECT
187
193
  position,
@@ -1 +1 @@
1
- {"version":3,"file":"sqljs.js","sourceRoot":"","sources":["../../src/storage/sqljs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqljs.js","sourceRoot":"","sources":["../../src/storage/sqljs.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -49,22 +49,40 @@ export interface ConstrainedCondition {
49
49
  value: string;
50
50
  }
51
51
  /**
52
- * A single query condition - either unconstrained (type only) or constrained (type + key + value).
52
+ * Key-only condition: matches ALL events with specific key-value, regardless of type.
53
+ * Useful for aggregate queries (e.g., "all events for course cs101").
54
+ */
55
+ export interface KeyOnlyCondition {
56
+ key: string;
57
+ value: string;
58
+ }
59
+ /**
60
+ * A single query condition:
61
+ * - Unconstrained: `{ type }` - all events of type
62
+ * - Constrained: `{ type, key, value }` - events of type with specific key
63
+ * - Key-only: `{ key, value }` - all events with specific key, any type
53
64
  *
54
65
  * @example
55
66
  * ```typescript
56
- * // Constrained: Match specific key-value
67
+ * // Constrained: Match specific type + key-value
57
68
  * { type: 'ProductItemAdded', key: 'cart', value: 'cart-123' }
58
69
  *
59
70
  * // Unconstrained: Match all events of type
60
71
  * { type: 'ProductItemAdded' }
72
+ *
73
+ * // Key-only: Match all events with key, regardless of type
74
+ * { key: 'cart', value: 'cart-123' }
61
75
  * ```
62
76
  */
63
- export type QueryCondition = UnconstrainedCondition | ConstrainedCondition;
77
+ export type QueryCondition = UnconstrainedCondition | ConstrainedCondition | KeyOnlyCondition;
64
78
  /**
65
- * Type guard: check if condition is constrained (has key + value)
79
+ * Type guard: check if condition is constrained (has type + key + value)
66
80
  */
67
81
  export declare function isConstrainedCondition(c: QueryCondition): c is ConstrainedCondition;
82
+ /**
83
+ * Type guard: check if condition is key-only (has key + value, no type)
84
+ */
85
+ export declare function isKeyOnlyCondition(c: QueryCondition): c is KeyOnlyCondition;
68
86
  /**
69
87
  * Query to read events from the store
70
88
  */
@@ -150,12 +168,20 @@ export declare function isConflict<E extends Event = Event>(result: AppendResult
150
168
  * Condition for optimistic concurrency check on append.
151
169
  * Pass to store.append() to ensure no conflicting events were written
152
170
  * since your read.
171
+ *
172
+ * @see https://dcb.events/specification/#append-condition
153
173
  */
154
174
  export interface AppendCondition {
155
- /** Position from which to check for conflicts */
156
- position: bigint;
157
- /** Conditions that define what constitutes a conflict */
158
- conditions: QueryCondition[];
175
+ /**
176
+ * Query that defines what constitutes a conflict.
177
+ * If any events match this query (after the specified position), append fails.
178
+ */
179
+ failIfEventsMatch: QueryCondition[];
180
+ /**
181
+ * Position from which to check for conflicts (optional).
182
+ * If omitted, ALL events are checked against failIfEventsMatch.
183
+ */
184
+ after?: bigint;
159
185
  }
160
186
  export interface EventStoreOptions {
161
187
  /** Consistency configuration */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -2,10 +2,16 @@
2
2
  * Core types for the DCB Event Store
3
3
  */
4
4
  /**
5
- * Type guard: check if condition is constrained (has key + value)
5
+ * Type guard: check if condition is constrained (has type + key + value)
6
6
  */
7
7
  export function isConstrainedCondition(c) {
8
- return 'key' in c && 'value' in c;
8
+ return 'type' in c && 'key' in c && 'value' in c;
9
+ }
10
+ /**
11
+ * Type guard: check if condition is key-only (has key + value, no type)
12
+ */
13
+ export function isKeyOnlyCondition(c) {
14
+ return !('type' in c) && 'key' in c && 'value' in c;
9
15
  }
10
16
  // ============================================================
11
17
  // Query Result
@@ -40,7 +46,7 @@ export class QueryResult {
40
46
  }
41
47
  /** Get the append condition for use with store.append() */
42
48
  get appendCondition() {
43
- return { position: this.position, conditions: this.conditions };
49
+ return { failIfEventsMatch: this.conditions, after: this.position };
44
50
  }
45
51
  }
46
52
  /**
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA+EH;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,CAAiB;IACtD,OAAO,KAAK,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;AACpC,CAAC;AAWD,+DAA+D;AAC/D,eAAe;AACf,+DAA+D;AAE/D;;GAEG;AACH,MAAM,OAAO,WAAW;IACb,MAAM,CAAmB;IACzB,QAAQ,CAAS;IACjB,UAAU,CAAmB;IAEtC,YACE,MAAwB,EACxB,QAAgB,EAChB,UAA4B;QAE5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,qCAAqC;IACrC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,4CAA4C;IAC5C,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,iDAAiD;IACjD,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,gDAAgD;IAChD,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,2DAA2D;IAC3D,IAAI,eAAe;QACjB,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;IAClE,CAAC;CACF;AAsED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,MAAwC;IAExC,OAAO,MAAM,CAAC,QAAQ,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA8FH;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,CAAiB;IACtD,OAAO,MAAM,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,CAAiB;IAClD,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;AACtD,CAAC;AAWD,+DAA+D;AAC/D,eAAe;AACf,+DAA+D;AAE/D;;GAEG;AACH,MAAM,OAAO,WAAW;IACb,MAAM,CAAmB;IACzB,QAAQ,CAAS;IACjB,UAAU,CAAmB;IAEtC,YACE,MAAwB,EACxB,QAAgB,EAChB,UAA4B;QAE5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,qCAAqC;IACrC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,4CAA4C;IAC5C,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,iDAAiD;IACjD,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,gDAAgD;IAChD,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,2DAA2D;IAC3D,IAAI,eAAe;QACjB,OAAO,EAAE,iBAAiB,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtE,CAAC;CACF;AAsED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,MAAwC;IAExC,OAAO,MAAM,CAAC,QAAQ,CAAC;AACzB,CAAC"}