@resvary/sqlite 0.8.0 → 1.0.0-rc.2

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.
@@ -0,0 +1,26 @@
1
+ import { type AdminAuditQuery, type AdminCustomerDetail, type AdminCustomerQuery, type AdminCustomerSummary, type AdminOverview, type AdminPage, type AdminPageInput, type AdminQueryStore, type AdminUsageEvidence, type AuditItem, type OperatorAction } from '@resvary/sdk/admin';
2
+ import type { CreditOutboxEvent, CreditReservation } from '@resvary/sdk/credits';
3
+ import { type SqliteCreditStoreConfig } from './credit.js';
4
+ export type SqliteAdminStoreConfig = SqliteCreditStoreConfig;
5
+ export declare class SqliteAdminStore implements AdminQueryStore {
6
+ private readonly db;
7
+ constructor(config: SqliteAdminStoreConfig);
8
+ getOverview(projectId: string, now?: number): Promise<AdminOverview>;
9
+ listCustomers(input: AdminCustomerQuery): Promise<AdminPage<AdminCustomerSummary>>;
10
+ getCustomer(projectId: string, customerId: string): Promise<AdminCustomerDetail | undefined>;
11
+ listAuditItems(input: AdminAuditQuery): Promise<AdminPage<AuditItem>>;
12
+ getUsageEvidence(projectId: string, receiptId: string): Promise<AdminUsageEvidence | undefined>;
13
+ listOverdueReservations(projectId: string, now?: number): Promise<CreditReservation[]>;
14
+ listDeadLetterEvents(projectId: string): Promise<CreditOutboxEvent<unknown>[]>;
15
+ getOperatorAction(projectId: string, id: string): Promise<OperatorAction | undefined>;
16
+ listOperatorActions(projectId: string, input?: AdminPageInput): Promise<{
17
+ items: OperatorAction[];
18
+ nextCursor: string | undefined;
19
+ }>;
20
+ appendOperatorAction(action: OperatorAction): Promise<void>;
21
+ close(): void;
22
+ private payload;
23
+ private payloads;
24
+ }
25
+ export declare function createSqliteAdminStore(config: SqliteAdminStoreConfig): SqliteAdminStore;
26
+ //# sourceMappingURL=admin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAIV,iBAAiB,EACjB,iBAAiB,EAMlB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAqB,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAe9E,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAE7D,qBAAa,gBAAiB,YAAW,eAAe;IACtD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAmB;gBAE1B,MAAM,EAAE,sBAAsB;IAOpC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAqExE,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IAoElF,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IA6CrC,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAkBrE,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IA4BpC,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAa;IAU3D,oBAAoB,CAAC,SAAS,EAAE,MAAM;IAStC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAS/C,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,cAAmB;;;;IA+BjE,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BjE,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,QAAQ;CAKjB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG,gBAAgB,CAEvF"}
package/dist/admin.js ADDED
@@ -0,0 +1,342 @@
1
+ import { DatabaseSync } from 'node:sqlite';
2
+ import { encodeAdminCursor, normalizeAdminPage, } from '@resvary/sdk/admin';
3
+ import { parseReceiptStoreValue, serializeReceiptStoreValue } from '@resvary/sdk/receipts';
4
+ import { SqliteCreditStore } from './credit.js';
5
+ export class SqliteAdminStore {
6
+ db;
7
+ constructor(config) {
8
+ const migrator = new SqliteCreditStore(config);
9
+ migrator.close();
10
+ this.db = new DatabaseSync(config.path, { readOnly: false });
11
+ this.db.exec('PRAGMA busy_timeout = 5000; PRAGMA foreign_keys = ON;');
12
+ }
13
+ async getOverview(projectId, now = Date.now()) {
14
+ const accountRows = this.db
15
+ .prepare(`SELECT posted_units, reserved_units FROM resvary_credit_accounts WHERE project_id = ?`)
16
+ .all(projectId);
17
+ const since30d = now - 30 * 86_400_000;
18
+ const receipts = this.db
19
+ .prepare(`SELECT charged_units, created_at FROM resvary_usage_receipts
20
+ WHERE project_id = ? AND created_at >= ?`)
21
+ .all(projectId, since30d);
22
+ const outboxRows = this.db
23
+ .prepare(`SELECT status, COUNT(*) AS count FROM resvary_outbox_events
24
+ WHERE project_id = ? AND status IN ('pending', 'dead_letter') GROUP BY status`)
25
+ .all(projectId);
26
+ const outbox = new Map(outboxRows.map((row) => [row.status, Number(row.count)]));
27
+ const daily = createDailyBuckets(now, 30);
28
+ let charged24h = 0n;
29
+ let charged7d = 0n;
30
+ let charged30d = 0n;
31
+ for (const receipt of receipts) {
32
+ const units = BigInt(receipt.charged_units);
33
+ charged30d += units;
34
+ if (receipt.created_at >= now - 7 * 86_400_000)
35
+ charged7d += units;
36
+ if (receipt.created_at >= now - 86_400_000)
37
+ charged24h += units;
38
+ const key = utcDay(receipt.created_at);
39
+ const bucket = daily.get(key);
40
+ if (bucket) {
41
+ bucket.amountUnits = (BigInt(bucket.amountUnits) + units).toString();
42
+ bucket.receiptCount += 1;
43
+ }
44
+ }
45
+ return {
46
+ projectId,
47
+ generatedAt: now,
48
+ postedUnits: sumUnits(accountRows.map((row) => row.posted_units)),
49
+ reservedUnits: sumUnits(accountRows.map((row) => row.reserved_units)),
50
+ availableUnits: sumUnits(accountRows.map((row) => (BigInt(row.posted_units) - BigInt(row.reserved_units)).toString())),
51
+ charged24hUnits: charged24h.toString(),
52
+ charged7dUnits: charged7d.toString(),
53
+ charged30dUnits: charged30d.toString(),
54
+ customerCount: accountRows.length,
55
+ overdueReservationCount: count(this.db, `SELECT COUNT(*) AS count FROM resvary_credit_reservations
56
+ WHERE project_id = ? AND status = 'open' AND expires_at <= ?`, [projectId, now]),
57
+ pendingOutboxCount: outbox.get('pending') ?? 0,
58
+ deadLetterCount: outbox.get('dead_letter') ?? 0,
59
+ reconciliationRequiredCount: count(this.db, `SELECT COUNT(*) AS count FROM resvary_funding_transactions
60
+ WHERE project_id = ? AND settlement_status = 'reconciliation_required'`, [projectId]),
61
+ dailyCharges: [...daily.values()],
62
+ };
63
+ }
64
+ async listCustomers(input) {
65
+ const page = normalizeAdminPage(input);
66
+ const clauses = ['project_id = ?'];
67
+ const values = [input.projectId];
68
+ if (input.search?.trim()) {
69
+ clauses.push(`customer_id LIKE ? ESCAPE '\\'`);
70
+ values.push(`%${escapeLike(input.search.trim())}%`);
71
+ }
72
+ if (page.cursor) {
73
+ clauses.push('(updated_at < ? OR (updated_at = ? AND id < ?))');
74
+ values.push(page.cursor.createdAt, page.cursor.createdAt, page.cursor.id);
75
+ }
76
+ values.push(page.limit + 1);
77
+ const rows = this.db
78
+ .prepare(`SELECT id, customer_id, updated_at, payload FROM resvary_credit_accounts
79
+ WHERE ${clauses.join(' AND ')} ORDER BY updated_at DESC, id DESC LIMIT ?`)
80
+ .all(...values);
81
+ const visible = rows.slice(0, page.limit);
82
+ const items = visible.map((row) => {
83
+ const receipts = this.db
84
+ .prepare(`SELECT charged_units, created_at FROM resvary_usage_receipts
85
+ WHERE account_id = ? AND created_at >= ? ORDER BY created_at DESC`)
86
+ .all(row.id, Date.now() - 30 * 86_400_000);
87
+ const lastLedger = this.db
88
+ .prepare(`SELECT created_at FROM resvary_ledger_entries
89
+ WHERE account_id = ? ORDER BY created_at DESC, id DESC LIMIT 1`)
90
+ .get(row.id);
91
+ return {
92
+ account: parseReceiptStoreValue(row.payload),
93
+ receiptCount: count(this.db, `SELECT COUNT(*) AS count FROM resvary_usage_receipts WHERE account_id = ?`, [row.id]),
94
+ charged30dUnits: sumUnits(receipts.map((receipt) => receipt.charged_units)),
95
+ openReservationCount: count(this.db, `SELECT COUNT(*) AS count FROM resvary_credit_reservations
96
+ WHERE account_id = ? AND status = 'open'`, [row.id]),
97
+ lastActivityAt: lastLedger?.created_at ?? row.updated_at,
98
+ };
99
+ });
100
+ const last = visible.at(-1);
101
+ return {
102
+ items,
103
+ nextCursor: rows.length > page.limit && last
104
+ ? encodeAdminCursor({ createdAt: last.updated_at, id: last.id })
105
+ : undefined,
106
+ };
107
+ }
108
+ async getCustomer(projectId, customerId) {
109
+ const accountRow = this.db
110
+ .prepare(`SELECT payload FROM resvary_credit_accounts WHERE project_id = ? AND customer_id = ?`)
111
+ .get(projectId, customerId);
112
+ if (!accountRow)
113
+ return undefined;
114
+ const account = parseReceiptStoreValue(accountRow.payload);
115
+ return {
116
+ account,
117
+ grants: this.payloads(`SELECT payload FROM resvary_credit_grants WHERE account_id = ? ORDER BY created_at DESC`, account.id),
118
+ lots: this.payloads(`SELECT payload FROM resvary_credit_lots WHERE account_id = ? ORDER BY created_at DESC`, account.id),
119
+ reservations: this.payloads(`SELECT payload FROM resvary_credit_reservations WHERE account_id = ? ORDER BY created_at DESC`, account.id),
120
+ receipts: this.payloads(`SELECT payload FROM resvary_usage_receipts WHERE account_id = ? ORDER BY created_at DESC`, account.id),
121
+ ledgerEntries: this.payloads(`SELECT payload FROM resvary_ledger_entries WHERE account_id = ? ORDER BY created_at DESC`, account.id),
122
+ fundingIntents: this.payloads(`SELECT payload FROM resvary_funding_intents
123
+ WHERE project_id = ? AND customer_id = ? ORDER BY created_at DESC`, projectId, customerId),
124
+ fundingTransactions: this.payloads(`SELECT payload FROM resvary_funding_transactions
125
+ WHERE project_id = ? AND customer_id = ? ORDER BY created_at DESC`, projectId, customerId),
126
+ };
127
+ }
128
+ async listAuditItems(input) {
129
+ const page = normalizeAdminPage(input);
130
+ const rows = auditBranches
131
+ .flatMap((branch) => queryAuditBranch(this.db, input, page, branch))
132
+ .sort((left, right) => right.created_at - left.created_at || right.id.localeCompare(left.id))
133
+ .slice(0, page.limit + 1);
134
+ const visible = rows.slice(0, page.limit);
135
+ const items = visible.map(toAuditItem);
136
+ const last = visible.at(-1);
137
+ return {
138
+ items,
139
+ nextCursor: rows.length > page.limit && last
140
+ ? encodeAdminCursor({ createdAt: last.created_at, id: last.id })
141
+ : undefined,
142
+ };
143
+ }
144
+ async getUsageEvidence(projectId, receiptId) {
145
+ const row = this.db
146
+ .prepare(`SELECT payload FROM resvary_usage_receipts WHERE project_id = ? AND id = ?`)
147
+ .get(projectId, receiptId);
148
+ if (!row)
149
+ return undefined;
150
+ const receipt = parseReceiptStoreValue(row.payload);
151
+ const reservation = this.payload(`SELECT payload FROM resvary_credit_reservations WHERE project_id = ? AND id = ?`, projectId, receipt.reservationId);
152
+ const price = this.payload(`SELECT payload FROM resvary_price_versions WHERE id = ?`, receipt.priceId);
153
+ const ledgerEntries = this.payloads(`SELECT payload FROM resvary_ledger_entries WHERE project_id = ? AND account_id = ?`, projectId, receipt.accountId).filter((entry) => entry.referenceId === receipt.id ||
154
+ entry.referenceId === receipt.reservationId ||
155
+ entry.metadata?.reservationId === receipt.reservationId);
156
+ return { receipt, reservation, price, ledgerEntries };
157
+ }
158
+ async listOverdueReservations(projectId, now = Date.now()) {
159
+ return this.payloads(`SELECT payload FROM resvary_credit_reservations
160
+ WHERE project_id = ? AND status = 'open' AND expires_at <= ?
161
+ ORDER BY expires_at ASC, id ASC LIMIT 100`, projectId, now);
162
+ }
163
+ async listDeadLetterEvents(projectId) {
164
+ return this.payloads(`SELECT payload FROM resvary_outbox_events
165
+ WHERE project_id = ? AND status = 'dead_letter'
166
+ ORDER BY created_at DESC, id DESC LIMIT 100`, projectId);
167
+ }
168
+ async getOperatorAction(projectId, id) {
169
+ return this.payload(`SELECT payload FROM resvary_operator_actions
170
+ WHERE project_id = ? AND id = ? ORDER BY sequence DESC LIMIT 1`, projectId, id);
171
+ }
172
+ async listOperatorActions(projectId, input = {}) {
173
+ const page = normalizeAdminPage(input);
174
+ const clauses = ['a.project_id = ?'];
175
+ const values = [projectId];
176
+ if (page.cursor) {
177
+ clauses.push('(a.created_at < ? OR (a.created_at = ? AND a.id < ?))');
178
+ values.push(page.cursor.createdAt, page.cursor.createdAt, page.cursor.id);
179
+ }
180
+ values.push(page.limit + 1);
181
+ const rows = this.db
182
+ .prepare(`SELECT a.id, a.created_at, a.payload FROM resvary_operator_actions a
183
+ JOIN (
184
+ SELECT id, MAX(sequence) AS sequence FROM resvary_operator_actions
185
+ WHERE project_id = ? GROUP BY id
186
+ ) latest ON latest.id = a.id AND latest.sequence = a.sequence
187
+ WHERE ${clauses.join(' AND ')}
188
+ ORDER BY a.created_at DESC, a.id DESC LIMIT ?`)
189
+ .all(projectId, ...values);
190
+ const visible = rows.slice(0, page.limit);
191
+ const last = visible.at(-1);
192
+ return {
193
+ items: visible.map((row) => parseReceiptStoreValue(row.payload)),
194
+ nextCursor: rows.length > page.limit && last
195
+ ? encodeAdminCursor({ createdAt: last.created_at, id: last.id })
196
+ : undefined,
197
+ };
198
+ }
199
+ async appendOperatorAction(action) {
200
+ const existing = this.db
201
+ .prepare(`SELECT payload FROM resvary_operator_actions WHERE id = ? AND sequence = ?`)
202
+ .get(action.id, action.sequence);
203
+ const payload = serializeReceiptStoreValue(action);
204
+ if (existing) {
205
+ if (existing.payload !== payload) {
206
+ throw new Error(`Operator action ${action.id}:${action.sequence} already exists`);
207
+ }
208
+ return;
209
+ }
210
+ this.db
211
+ .prepare(`INSERT INTO resvary_operator_actions
212
+ (id, sequence, project_id, action_type, target_type, target_id, status, created_at, payload)
213
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`)
214
+ .run(action.id, action.sequence, action.projectId, action.type, action.targetType, action.targetId, action.status, action.completedAt ?? action.createdAt, payload);
215
+ }
216
+ close() {
217
+ this.db.close();
218
+ }
219
+ payload(sql, ...values) {
220
+ const row = this.db.prepare(sql).get(...values);
221
+ return row ? parseReceiptStoreValue(row.payload) : undefined;
222
+ }
223
+ payloads(sql, ...values) {
224
+ return this.db.prepare(sql).all(...values).map((row) => parseReceiptStoreValue(row.payload));
225
+ }
226
+ }
227
+ export function createSqliteAdminStore(config) {
228
+ return new SqliteAdminStore(config);
229
+ }
230
+ function count(db, sql, values) {
231
+ const row = db.prepare(sql).get(...values);
232
+ return Number(row.count);
233
+ }
234
+ function sumUnits(values) {
235
+ return values.reduce((total, value) => total + BigInt(value), 0n).toString();
236
+ }
237
+ function utcDay(value) {
238
+ return new Date(value).toISOString().slice(0, 10);
239
+ }
240
+ function createDailyBuckets(now, days) {
241
+ const buckets = new Map();
242
+ const today = new Date(now);
243
+ const start = Date.UTC(today.getUTCFullYear(), today.getUTCMonth(), today.getUTCDate());
244
+ for (let offset = days - 1; offset >= 0; offset -= 1) {
245
+ const day = utcDay(start - offset * 86_400_000);
246
+ buckets.set(day, { day, amountUnits: '0', receiptCount: 0 });
247
+ }
248
+ return buckets;
249
+ }
250
+ function escapeLike(value) {
251
+ return value.replaceAll('\\', '\\\\').replaceAll('%', '\\%').replaceAll('_', '\\_');
252
+ }
253
+ function toAuditItem(row) {
254
+ return {
255
+ id: row.id,
256
+ projectId: row.project_id,
257
+ customerId: row.customer_id ?? undefined,
258
+ kind: row.kind,
259
+ type: row.type,
260
+ status: row.status ?? undefined,
261
+ amountUnits: row.amount_units ?? undefined,
262
+ createdAt: row.created_at,
263
+ payload: parseReceiptStoreValue(row.payload),
264
+ };
265
+ }
266
+ const auditBranches = [
267
+ branch('grant', 'resvary_credit_grants', 'source', 'NULL', 'amount_units'),
268
+ branch('reservation', 'resvary_credit_reservations', "'credit.reservation'", 'status', 'reserved_units'),
269
+ branch('usage_receipt', 'resvary_usage_receipts', "'usage.charged'", "'committed'", 'charged_units'),
270
+ branch('ledger_entry', 'resvary_ledger_entries', 'entry_type', 'NULL', 'delta_units'),
271
+ branch('funding_intent', 'resvary_funding_intents', "'funding.intent'", 'status', 'requested_units'),
272
+ branch('funding_transaction', 'resvary_funding_transactions', "'funding.transaction'", 'settlement_status', 'amount_units'),
273
+ branch('outbox_event', 'resvary_outbox_events', 'type', 'status', 'NULL', 'NULL'),
274
+ {
275
+ kind: 'operator_action',
276
+ from: `resvary_operator_actions a JOIN (
277
+ SELECT id, MAX(sequence) AS sequence FROM resvary_operator_actions GROUP BY id
278
+ ) latest ON latest.id = a.id AND latest.sequence = a.sequence`,
279
+ id: 'a.id',
280
+ project: 'a.project_id',
281
+ customer: "CASE WHEN a.target_type = 'customer' THEN a.target_id ELSE NULL END",
282
+ type: 'a.action_type',
283
+ status: 'a.status',
284
+ amount: 'NULL',
285
+ createdAt: 'a.created_at',
286
+ payload: 'a.payload',
287
+ },
288
+ ];
289
+ function branch(kind, from, type, status, amount, customer = 'customer_id') {
290
+ return {
291
+ kind,
292
+ from,
293
+ id: 'id',
294
+ project: 'project_id',
295
+ customer,
296
+ type,
297
+ status,
298
+ amount,
299
+ createdAt: 'created_at',
300
+ payload: 'payload',
301
+ };
302
+ }
303
+ function queryAuditBranch(db, input, page, source) {
304
+ if (input.kind && input.kind !== source.kind)
305
+ return [];
306
+ const clauses = [`${source.project} = ?`];
307
+ const values = [input.projectId];
308
+ for (const [value, expression] of [
309
+ [input.customerId, source.customer],
310
+ [input.entityId, source.id],
311
+ [input.type, source.type],
312
+ [input.status, source.status],
313
+ ]) {
314
+ if (value) {
315
+ clauses.push(`${expression} = ?`);
316
+ values.push(value);
317
+ }
318
+ }
319
+ if (input.from !== undefined) {
320
+ clauses.push(`${source.createdAt} >= ?`);
321
+ values.push(input.from);
322
+ }
323
+ if (input.to !== undefined) {
324
+ clauses.push(`${source.createdAt} <= ?`);
325
+ values.push(input.to);
326
+ }
327
+ if (page.cursor) {
328
+ clauses.push(`(${source.createdAt} < ? OR (${source.createdAt} = ? AND ${source.id} < ?))`);
329
+ values.push(page.cursor.createdAt, page.cursor.createdAt, page.cursor.id);
330
+ }
331
+ values.push(page.limit + 1);
332
+ return db
333
+ .prepare(`SELECT ${source.id} AS id, ${source.project} AS project_id,
334
+ ${source.customer} AS customer_id, '${source.kind}' AS kind,
335
+ ${source.type} AS type, ${source.status} AS status, ${source.amount} AS amount_units,
336
+ ${source.createdAt} AS created_at, ${source.payload} AS payload
337
+ FROM ${source.from}
338
+ WHERE ${clauses.join(' AND ')}
339
+ ORDER BY ${source.createdAt} DESC, ${source.id} DESC LIMIT ?`)
340
+ .all(...values);
341
+ }
342
+ //# sourceMappingURL=admin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.js","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}
package/dist/credit.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { CreditAccount, CreditBalanceFilter, CreditGrant, CreditGrantPolicy, CreditLot, CreditLotAllocation, CreditLotFilter, CreditOutboxEvent, CreditReservation, CreditReservationFilter, CreditPolicyStore, CreditPolicyStoreTransaction, IdempotencyRecord, FundingIntent, FundingTransaction, GrantPolicyApplication, GrantPolicyApplicationFilter, LedgerEntry, MeterDefinition, OutboxEventFilter, OutboxDeliveryStore, ClaimOutboxEventsInput, FailOutboxEventInput, PriceVersion, UsageEvent, UsageReceipt } from '@resvary/sdk/credits';
2
+ export declare const SQLITE_SCHEMA_VERSION = 6;
2
3
  export interface SqliteCreditStoreConfig {
3
4
  path: string;
4
5
  createDirectory?: boolean;
@@ -51,6 +52,9 @@ export declare class SqliteCreditStore implements CreditPolicyStore, OutboxDeliv
51
52
  private migrateOutboxV3;
52
53
  private migrateFundingTransactionHashV4;
53
54
  private migrateCreditLotsV5;
55
+ private migrateAdminV6;
56
+ private addColumnIfMissing;
57
+ private backfillAdminRows;
54
58
  }
55
59
  export declare function createSqliteCreditStore(config: SqliteCreditStoreConfig): SqliteCreditStore;
56
60
  //# sourceMappingURL=credit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"credit.d.ts","sourceRoot":"","sources":["../src/credit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credit.d.ts","sourceRoot":"","sources":["../src/credit.ts"],"names":[],"mappings":"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"}
package/dist/credit.js CHANGED
@@ -2,6 +2,7 @@ import { DatabaseSync } from 'node:sqlite';
2
2
  import { creditUnitsToString, parseCreditUnits } from '@resvary/sdk/credits';
3
3
  import { parseReceiptStoreValue, serializeReceiptStoreValue } from '@resvary/sdk/receipts';
4
4
  import { hardenSqliteDatabaseFiles, prepareSqliteDatabasePath } from './filesystem.js';
5
+ export const SQLITE_SCHEMA_VERSION = 6;
5
6
  export class SqliteCreditStore {
6
7
  db;
7
8
  transactionTail = Promise.resolve();
@@ -332,6 +333,7 @@ export class SqliteCreditStore {
332
333
  this.migrateOutboxV3();
333
334
  this.migrateFundingTransactionHashV4();
334
335
  this.migrateCreditLotsV5();
336
+ this.migrateAdminV6();
335
337
  }
336
338
  migrateFundingV2() {
337
339
  const row = this.db
@@ -680,6 +682,241 @@ export class SqliteCreditStore {
680
682
  throw error;
681
683
  }
682
684
  }
685
+ migrateAdminV6() {
686
+ const row = this.db
687
+ .prepare('SELECT MAX(version) AS version FROM resvary_schema_migrations')
688
+ .get();
689
+ if ((row?.version ?? 0) >= 6)
690
+ return;
691
+ this.db.exec('BEGIN IMMEDIATE;');
692
+ try {
693
+ this.addColumnIfMissing('resvary_credit_accounts', 'posted_units', 'TEXT');
694
+ this.addColumnIfMissing('resvary_credit_accounts', 'reserved_units', 'TEXT');
695
+ this.addColumnIfMissing('resvary_credit_accounts', 'created_at', 'INTEGER');
696
+ this.addColumnIfMissing('resvary_credit_grants', 'project_id', 'TEXT');
697
+ this.addColumnIfMissing('resvary_credit_grants', 'customer_id', 'TEXT');
698
+ this.addColumnIfMissing('resvary_credit_grants', 'amount_units', 'TEXT');
699
+ this.addColumnIfMissing('resvary_credit_grants', 'source', 'TEXT');
700
+ this.addColumnIfMissing('resvary_credit_reservations', 'reserved_units', 'TEXT');
701
+ this.addColumnIfMissing('resvary_usage_events', 'project_id', 'TEXT');
702
+ this.addColumnIfMissing('resvary_usage_events', 'customer_id', 'TEXT');
703
+ this.addColumnIfMissing('resvary_usage_receipts', 'project_id', 'TEXT');
704
+ this.addColumnIfMissing('resvary_usage_receipts', 'customer_id', 'TEXT');
705
+ this.addColumnIfMissing('resvary_usage_receipts', 'charged_units', 'TEXT');
706
+ this.addColumnIfMissing('resvary_ledger_entries', 'project_id', 'TEXT');
707
+ this.addColumnIfMissing('resvary_ledger_entries', 'customer_id', 'TEXT');
708
+ this.addColumnIfMissing('resvary_ledger_entries', 'entry_type', 'TEXT');
709
+ this.addColumnIfMissing('resvary_ledger_entries', 'delta_units', 'TEXT');
710
+ this.addColumnIfMissing('resvary_funding_intents', 'requested_units', 'TEXT');
711
+ this.addColumnIfMissing('resvary_funding_transactions', 'project_id', 'TEXT');
712
+ this.addColumnIfMissing('resvary_funding_transactions', 'customer_id', 'TEXT');
713
+ this.addColumnIfMissing('resvary_funding_transactions', 'settlement_status', 'TEXT');
714
+ this.addColumnIfMissing('resvary_funding_transactions', 'amount_units', 'TEXT');
715
+ this.db.exec(`
716
+ CREATE TABLE IF NOT EXISTS resvary_operator_actions (
717
+ id TEXT NOT NULL,
718
+ sequence INTEGER NOT NULL,
719
+ project_id TEXT NOT NULL,
720
+ action_type TEXT NOT NULL,
721
+ target_type TEXT NOT NULL,
722
+ target_id TEXT NOT NULL,
723
+ status TEXT NOT NULL,
724
+ created_at INTEGER NOT NULL,
725
+ payload TEXT NOT NULL,
726
+ PRIMARY KEY(id, sequence)
727
+ );
728
+
729
+ CREATE INDEX IF NOT EXISTS resvary_admin_accounts
730
+ ON resvary_credit_accounts(project_id, updated_at DESC, id DESC);
731
+ CREATE INDEX IF NOT EXISTS resvary_admin_grants
732
+ ON resvary_credit_grants(project_id, customer_id, created_at DESC, id DESC);
733
+ CREATE INDEX IF NOT EXISTS resvary_admin_grants_timeline
734
+ ON resvary_credit_grants(project_id, created_at DESC, id DESC);
735
+ CREATE INDEX IF NOT EXISTS resvary_admin_reservations
736
+ ON resvary_credit_reservations(project_id, status, expires_at, created_at DESC, id DESC);
737
+ CREATE INDEX IF NOT EXISTS resvary_admin_reservations_timeline
738
+ ON resvary_credit_reservations(project_id, created_at DESC, id DESC);
739
+ CREATE INDEX IF NOT EXISTS resvary_admin_receipts
740
+ ON resvary_usage_receipts(project_id, customer_id, created_at DESC, id DESC);
741
+ CREATE INDEX IF NOT EXISTS resvary_admin_receipts_timeline
742
+ ON resvary_usage_receipts(project_id, created_at DESC, id DESC);
743
+ CREATE INDEX IF NOT EXISTS resvary_admin_ledger
744
+ ON resvary_ledger_entries(project_id, customer_id, created_at DESC, id DESC);
745
+ CREATE INDEX IF NOT EXISTS resvary_admin_ledger_timeline
746
+ ON resvary_ledger_entries(project_id, created_at DESC, id DESC);
747
+ CREATE INDEX IF NOT EXISTS resvary_admin_funding_intents
748
+ ON resvary_funding_intents(project_id, customer_id, created_at DESC, id DESC);
749
+ CREATE INDEX IF NOT EXISTS resvary_admin_funding_intents_timeline
750
+ ON resvary_funding_intents(project_id, created_at DESC, id DESC);
751
+ CREATE INDEX IF NOT EXISTS resvary_admin_funding_transactions
752
+ ON resvary_funding_transactions(project_id, customer_id, created_at DESC, id DESC);
753
+ CREATE INDEX IF NOT EXISTS resvary_admin_funding_transactions_timeline
754
+ ON resvary_funding_transactions(project_id, created_at DESC, id DESC);
755
+ CREATE INDEX IF NOT EXISTS resvary_admin_outbox
756
+ ON resvary_outbox_events(project_id, created_at DESC, id DESC);
757
+ CREATE INDEX IF NOT EXISTS resvary_admin_operator_actions
758
+ ON resvary_operator_actions(project_id, created_at DESC, id DESC, sequence DESC);
759
+ `);
760
+ const accounts = this.db
761
+ .prepare('SELECT id, project_id, customer_id, payload FROM resvary_credit_accounts')
762
+ .all();
763
+ const accountById = new Map();
764
+ for (const item of accounts) {
765
+ const account = parseReceiptStoreValue(item.payload);
766
+ if (account.id !== item.id ||
767
+ account.projectId !== item.project_id ||
768
+ account.customerId !== item.customer_id) {
769
+ throw new Error(`Cannot migrate SQLite admin data: account scope mismatch ${item.id}`);
770
+ }
771
+ accountById.set(account.id, account);
772
+ this.db
773
+ .prepare(`UPDATE resvary_credit_accounts
774
+ SET posted_units = ?, reserved_units = ?, created_at = ? WHERE id = ?`)
775
+ .run(account.postedUnits, account.reservedUnits, account.createdAt, item.id);
776
+ }
777
+ this.backfillAdminRows('resvary_credit_grants', accountById, (value) => [
778
+ value.projectId,
779
+ value.customerId,
780
+ value.amountUnits,
781
+ value.source,
782
+ ]);
783
+ this.backfillAdminRows('resvary_usage_events', accountById, (value) => [
784
+ value.projectId,
785
+ value.customerId,
786
+ ]);
787
+ this.backfillAdminRows('resvary_usage_receipts', accountById, (value) => [
788
+ value.projectId,
789
+ value.customerId,
790
+ value.amountUnits,
791
+ ]);
792
+ this.backfillAdminRows('resvary_ledger_entries', accountById, (value) => [
793
+ value.projectId,
794
+ value.customerId,
795
+ value.type,
796
+ value.deltaUnits,
797
+ ]);
798
+ const reservations = this.db
799
+ .prepare('SELECT id, account_id, project_id, customer_id, payload FROM resvary_credit_reservations')
800
+ .all();
801
+ for (const item of reservations) {
802
+ const reservation = parseReceiptStoreValue(item.payload);
803
+ const account = accountById.get(item.account_id);
804
+ if (!account) {
805
+ throw new Error(`Cannot migrate SQLite admin data: reservation ${item.id} has no account`);
806
+ }
807
+ if (reservation.accountId !== item.account_id ||
808
+ reservation.projectId !== item.project_id ||
809
+ reservation.customerId !== item.customer_id ||
810
+ reservation.projectId !== account.projectId ||
811
+ reservation.customerId !== account.customerId) {
812
+ throw new Error(`Cannot migrate SQLite admin data: project/customer mismatch in reservation ${item.id}`);
813
+ }
814
+ this.db
815
+ .prepare('UPDATE resvary_credit_reservations SET reserved_units = ? WHERE id = ?')
816
+ .run(reservation.reservedUnits, item.id);
817
+ }
818
+ const intents = this.db
819
+ .prepare('SELECT id, project_id, customer_id, payload FROM resvary_funding_intents')
820
+ .all();
821
+ const intentById = new Map();
822
+ for (const item of intents) {
823
+ const intent = parseReceiptStoreValue(item.payload);
824
+ const account = accountById.get(intent.accountId);
825
+ if (!account) {
826
+ throw new Error(`Cannot migrate SQLite admin data: funding intent ${item.id} has no account`);
827
+ }
828
+ if (intent.id !== item.id ||
829
+ intent.projectId !== item.project_id ||
830
+ intent.customerId !== item.customer_id ||
831
+ intent.projectId !== account.projectId ||
832
+ intent.customerId !== account.customerId) {
833
+ throw new Error(`Cannot migrate SQLite admin data: project/customer mismatch in funding intent ${item.id}`);
834
+ }
835
+ intentById.set(intent.id, intent);
836
+ this.db
837
+ .prepare('UPDATE resvary_funding_intents SET requested_units = ? WHERE id = ?')
838
+ .run(intent.requestedUnits, item.id);
839
+ }
840
+ const transactions = this.db
841
+ .prepare('SELECT id, funding_intent_id, payload FROM resvary_funding_transactions')
842
+ .all();
843
+ for (const item of transactions) {
844
+ const transaction = parseReceiptStoreValue(item.payload);
845
+ const intent = intentById.get(item.funding_intent_id);
846
+ const account = accountById.get(transaction.accountId);
847
+ if (!intent || !account) {
848
+ throw new Error(`Cannot migrate SQLite admin data: funding transaction ${item.id} has no intent or account`);
849
+ }
850
+ if (transaction.id !== item.id ||
851
+ transaction.fundingIntentId !== item.funding_intent_id ||
852
+ transaction.projectId !== intent.projectId ||
853
+ transaction.customerId !== intent.customerId ||
854
+ transaction.projectId !== account.projectId ||
855
+ transaction.customerId !== account.customerId) {
856
+ throw new Error(`Cannot migrate SQLite admin data: project/customer mismatch in funding transaction ${item.id}`);
857
+ }
858
+ this.db
859
+ .prepare(`UPDATE resvary_funding_transactions
860
+ SET project_id = ?, customer_id = ?, settlement_status = ?, amount_units = ? WHERE id = ?`)
861
+ .run(transaction.projectId, transaction.customerId, transaction.settlementStatus, transaction.amountUnits, item.id);
862
+ }
863
+ const invalid = this.db
864
+ .prepare(`SELECT 'account' AS kind, id FROM resvary_credit_accounts
865
+ WHERE posted_units IS NULL OR reserved_units IS NULL OR created_at IS NULL
866
+ UNION ALL SELECT 'grant', id FROM resvary_credit_grants
867
+ WHERE project_id IS NULL OR customer_id IS NULL OR amount_units IS NULL OR source IS NULL
868
+ UNION ALL SELECT 'receipt', id FROM resvary_usage_receipts
869
+ WHERE project_id IS NULL OR customer_id IS NULL OR charged_units IS NULL
870
+ UNION ALL SELECT 'reservation', id FROM resvary_credit_reservations
871
+ WHERE reserved_units IS NULL
872
+ UNION ALL SELECT 'ledger', id FROM resvary_ledger_entries
873
+ WHERE project_id IS NULL OR customer_id IS NULL OR entry_type IS NULL OR delta_units IS NULL
874
+ LIMIT 1`)
875
+ .get();
876
+ if (invalid)
877
+ throw new Error(`Cannot migrate SQLite admin data: incomplete ${invalid.kind} ${invalid.id}`);
878
+ this.db
879
+ .prepare('INSERT INTO resvary_schema_migrations(version, applied_at) VALUES (6, ?)')
880
+ .run(Date.now());
881
+ this.db.exec('COMMIT;');
882
+ }
883
+ catch (error) {
884
+ this.db.exec('ROLLBACK;');
885
+ throw error;
886
+ }
887
+ }
888
+ addColumnIfMissing(tableName, columnName, definition) {
889
+ const columns = this.db.prepare(`PRAGMA table_info(${tableName})`).all();
890
+ if (!columns.some((column) => column.name === columnName)) {
891
+ this.db.exec(`ALTER TABLE ${tableName} ADD COLUMN ${columnName} ${definition}`);
892
+ }
893
+ }
894
+ backfillAdminRows(table, accounts, values) {
895
+ const columns = {
896
+ resvary_credit_grants: ['project_id', 'customer_id', 'amount_units', 'source'],
897
+ resvary_usage_events: ['project_id', 'customer_id'],
898
+ resvary_usage_receipts: ['project_id', 'customer_id', 'charged_units'],
899
+ resvary_ledger_entries: ['project_id', 'customer_id', 'entry_type', 'delta_units'],
900
+ };
901
+ const names = columns[table];
902
+ if (!names)
903
+ throw new Error(`Unsupported admin backfill table: ${table}`);
904
+ const rows = this.db.prepare(`SELECT id, account_id, payload FROM ${table}`).all();
905
+ const statement = this.db.prepare(`UPDATE ${table} SET ${names.map((name) => `${name} = ?`).join(', ')} WHERE id = ?`);
906
+ for (const row of rows) {
907
+ const account = accounts.get(row.account_id);
908
+ if (!account) {
909
+ throw new Error(`Cannot migrate SQLite admin data: ${table} ${row.id} has no account`);
910
+ }
911
+ const value = parseReceiptStoreValue(row.payload);
912
+ if (value.accountId !== row.account_id ||
913
+ value.projectId !== account.projectId ||
914
+ value.customerId !== account.customerId) {
915
+ throw new Error(`Cannot migrate SQLite admin data: project/customer mismatch in ${table} row ${row.id}`);
916
+ }
917
+ statement.run(...values(value), row.id);
918
+ }
919
+ }
683
920
  }
684
921
  class SqliteCreditTransaction {
685
922
  db;
@@ -783,10 +1020,34 @@ class SqliteCreditTransaction {
783
1020
  return reader(this.db).listGrantPolicyApplications(filter);
784
1021
  }
785
1022
  async saveAccount(value) {
786
- upsert(this.db, 'resvary_credit_accounts', ['id', 'project_id', 'customer_id', 'updated_at'], [value.id, value.projectId, value.customerId, value.updatedAt], value);
1023
+ upsert(this.db, 'resvary_credit_accounts', [
1024
+ 'id',
1025
+ 'project_id',
1026
+ 'customer_id',
1027
+ 'posted_units',
1028
+ 'reserved_units',
1029
+ 'created_at',
1030
+ 'updated_at',
1031
+ ], [
1032
+ value.id,
1033
+ value.projectId,
1034
+ value.customerId,
1035
+ value.postedUnits,
1036
+ value.reservedUnits,
1037
+ value.createdAt,
1038
+ value.updatedAt,
1039
+ ], value);
787
1040
  }
788
1041
  async saveGrant(value) {
789
- insert(this.db, 'resvary_credit_grants', ['id', 'account_id', 'created_at'], [value.id, value.accountId, value.createdAt], value);
1042
+ insert(this.db, 'resvary_credit_grants', ['id', 'account_id', 'project_id', 'customer_id', 'amount_units', 'source', 'created_at'], [
1043
+ value.id,
1044
+ value.accountId,
1045
+ value.projectId,
1046
+ value.customerId,
1047
+ value.amountUnits,
1048
+ value.source,
1049
+ value.createdAt,
1050
+ ], value);
790
1051
  }
791
1052
  async saveMeter(value) {
792
1053
  insert(this.db, 'resvary_meters', ['id', 'project_id', 'meter_key'], [value.id, value.projectId, value.key], value);
@@ -795,24 +1056,60 @@ class SqliteCreditTransaction {
795
1056
  insert(this.db, 'resvary_price_versions', ['id', 'meter_id', 'version', 'created_at'], [value.id, value.meterId, value.version, value.createdAt], value);
796
1057
  }
797
1058
  async saveReservation(value) {
798
- upsert(this.db, 'resvary_credit_reservations', ['id', 'account_id', 'project_id', 'customer_id', 'status', 'expires_at', 'created_at'], [
1059
+ upsert(this.db, 'resvary_credit_reservations', [
1060
+ 'id',
1061
+ 'account_id',
1062
+ 'project_id',
1063
+ 'customer_id',
1064
+ 'status',
1065
+ 'reserved_units',
1066
+ 'expires_at',
1067
+ 'created_at',
1068
+ ], [
799
1069
  value.id,
800
1070
  value.accountId,
801
1071
  value.projectId,
802
1072
  value.customerId,
803
1073
  value.status,
1074
+ value.reservedUnits,
804
1075
  value.expiresAt,
805
1076
  value.createdAt,
806
1077
  ], value);
807
1078
  }
808
1079
  async saveUsageEvent(value) {
809
- insert(this.db, 'resvary_usage_events', ['id', 'account_id', 'received_at'], [value.id, value.accountId, value.receivedAt], value);
1080
+ insert(this.db, 'resvary_usage_events', ['id', 'account_id', 'project_id', 'customer_id', 'received_at'], [value.id, value.accountId, value.projectId, value.customerId, value.receivedAt], value);
810
1081
  }
811
1082
  async saveUsageReceipt(value) {
812
- insert(this.db, 'resvary_usage_receipts', ['id', 'account_id', 'reservation_id', 'usage_event_id', 'created_at'], [value.id, value.accountId, value.reservationId, value.usageEventId, value.createdAt], value);
1083
+ insert(this.db, 'resvary_usage_receipts', [
1084
+ 'id',
1085
+ 'account_id',
1086
+ 'project_id',
1087
+ 'customer_id',
1088
+ 'reservation_id',
1089
+ 'usage_event_id',
1090
+ 'charged_units',
1091
+ 'created_at',
1092
+ ], [
1093
+ value.id,
1094
+ value.accountId,
1095
+ value.projectId,
1096
+ value.customerId,
1097
+ value.reservationId,
1098
+ value.usageEventId,
1099
+ value.amountUnits,
1100
+ value.createdAt,
1101
+ ], value);
813
1102
  }
814
1103
  async saveLedgerEntry(value) {
815
- insert(this.db, 'resvary_ledger_entries', ['id', 'account_id', 'created_at'], [value.id, value.accountId, value.createdAt], value);
1104
+ insert(this.db, 'resvary_ledger_entries', ['id', 'account_id', 'project_id', 'customer_id', 'entry_type', 'delta_units', 'created_at'], [
1105
+ value.id,
1106
+ value.accountId,
1107
+ value.projectId,
1108
+ value.customerId,
1109
+ value.type,
1110
+ value.deltaUnits,
1111
+ value.createdAt,
1112
+ ], value);
816
1113
  }
817
1114
  async saveOutboxEvent(value) {
818
1115
  upsert(this.db, 'resvary_outbox_events', [
@@ -841,24 +1138,39 @@ class SqliteCreditTransaction {
841
1138
  insert(this.db, 'resvary_idempotency_keys', ['scope', 'key', 'created_at'], [value.scope, value.key, value.createdAt], value, ['scope', 'key']);
842
1139
  }
843
1140
  async saveFundingIntent(value) {
844
- upsert(this.db, 'resvary_funding_intents', ['id', 'project_id', 'customer_id', 'status', 'created_at'], [value.id, value.projectId, value.customerId, value.status, value.createdAt], value);
1141
+ upsert(this.db, 'resvary_funding_intents', ['id', 'project_id', 'customer_id', 'status', 'requested_units', 'created_at'], [
1142
+ value.id,
1143
+ value.projectId,
1144
+ value.customerId,
1145
+ value.status,
1146
+ value.requestedUnits,
1147
+ value.createdAt,
1148
+ ], value);
845
1149
  }
846
1150
  async saveFundingTransaction(value) {
847
1151
  upsert(this.db, 'resvary_funding_transactions', [
848
1152
  'id',
849
1153
  'funding_intent_id',
1154
+ 'project_id',
1155
+ 'customer_id',
850
1156
  'rail',
851
1157
  'network',
852
1158
  'external_payment_id_norm',
853
1159
  'tx_hash_norm',
1160
+ 'settlement_status',
1161
+ 'amount_units',
854
1162
  'created_at',
855
1163
  ], [
856
1164
  value.id,
857
1165
  value.fundingIntentId,
1166
+ value.projectId,
1167
+ value.customerId,
858
1168
  value.rail,
859
1169
  value.network,
860
1170
  value.externalPaymentId.toLowerCase(),
861
1171
  value.txHash?.toLowerCase() ?? `external:${value.externalPaymentId.toLowerCase()}`,
1172
+ value.settlementStatus,
1173
+ value.amountUnits,
862
1174
  value.createdAt,
863
1175
  ], value);
864
1176
  }
@@ -1 +1 @@
1
- {"version":3,"file":"credit.js","sourceRoot":"","sources":["../src/credit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credit.js","sourceRoot":"","sources":["../src/credit.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { type PaymentInvoice, type PaymentReceipt, type ReceiptStore, type TransactionalReceiptStore, type ReceiptStoreDeliveryFilter, type ReceiptStoreEventFilter, type ReceiptStoreInvoiceFilter, type WatcherCursor, type WebhookDeliveryAttempt, type WebhookEvent } from '@resvary/sdk/receipts';
2
- export { SqliteCreditStore, createSqliteCreditStore, type SqliteCreditStoreConfig, } from './credit.js';
2
+ export { SqliteCreditStore, createSqliteCreditStore, SQLITE_SCHEMA_VERSION, type SqliteCreditStoreConfig, } from './credit.js';
3
+ export { SqliteAdminStore, createSqliteAdminStore, type SqliteAdminStoreConfig } from './admin.js';
3
4
  export interface SqliteReceiptStoreConfig {
4
5
  path: string;
5
6
  createDirectory?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,uBAAuB,GAC7B,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAMD,qBAAa,kBAAmB,YAAW,yBAAyB;IAClE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAmB;IACtC,OAAO,CAAC,eAAe,CAAoC;gBAE/C,MAAM,EAAE,wBAAwB;IAOtC,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAsBxE,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBnD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAM3D,YAAY,CAAC,MAAM,GAAE,yBAA8B,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAgB/E,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBnD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAM3D,kBAAkB,CACtB,MAAM,EAAE,KAAK,MAAM,EAAE,EACrB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAchC,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAMzC,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAepD,iBAAiB,CAAC,MAAM,GAAE,uBAA4B,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAMhF,mBAAmB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCpE,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAM3E,qBAAqB,CACzB,MAAM,GAAE,0BAA+B,GACtC,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAgB9B,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAMjE,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAM9C,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCvD,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,OAAO;IAiFf,OAAO,CAAC,WAAW;CAMpB;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,wBAAwB,GAAG,kBAAkB,CAE7F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,uBAAuB,GAC7B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,KAAK,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEnG,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAMD,qBAAa,kBAAmB,YAAW,yBAAyB;IAClE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAmB;IACtC,OAAO,CAAC,eAAe,CAAoC;gBAE/C,MAAM,EAAE,wBAAwB;IAOtC,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAsBxE,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBnD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAM3D,YAAY,CAAC,MAAM,GAAE,yBAA8B,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAgB/E,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBnD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAM3D,kBAAkB,CACtB,MAAM,EAAE,KAAK,MAAM,EAAE,EACrB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAchC,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAMzC,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAepD,iBAAiB,CAAC,MAAM,GAAE,uBAA4B,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAMhF,mBAAmB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCpE,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAM3E,qBAAqB,CACzB,MAAM,GAAE,0BAA+B,GACtC,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAgB9B,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAMjE,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAM9C,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCvD,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,OAAO;IAiFf,OAAO,CAAC,WAAW;CAMpB;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,wBAAwB,GAAG,kBAAkB,CAE7F"}
package/dist/index.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { DatabaseSync } from 'node:sqlite';
2
2
  import { parseReceiptStoreValue, serializeReceiptStoreValue, } from '@resvary/sdk/receipts';
3
3
  import { hardenSqliteDatabaseFiles, prepareSqliteDatabasePath } from './filesystem.js';
4
- export { SqliteCreditStore, createSqliteCreditStore, } from './credit.js';
4
+ export { SqliteCreditStore, createSqliteCreditStore, SQLITE_SCHEMA_VERSION, } from './credit.js';
5
+ export { SqliteAdminStore, createSqliteAdminStore } from './admin.js';
5
6
  export class SqliteReceiptStore {
6
7
  db;
7
8
  transactionTail = Promise.resolve();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@resvary/sqlite",
3
- "version": "0.8.0",
3
+ "version": "1.0.0-rc.2",
4
4
  "description": "SQLite persistence for Resvary credits, usage receipts, and payment receipts",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -9,6 +9,10 @@
9
9
  ".": {
10
10
  "types": "./dist/index.d.ts",
11
11
  "import": "./dist/index.js"
12
+ },
13
+ "./admin": {
14
+ "types": "./dist/admin.d.ts",
15
+ "import": "./dist/admin.js"
12
16
  }
13
17
  },
14
18
  "files": [
@@ -34,7 +38,7 @@
34
38
  "directory": "packages/sqlite"
35
39
  },
36
40
  "dependencies": {
37
- "@resvary/sdk": "0.8.0"
41
+ "@resvary/sdk": "1.0.0-rc.2"
38
42
  },
39
43
  "devDependencies": {
40
44
  "@types/node": "^22.20.1",
@@ -42,5 +46,5 @@
42
46
  "vitest": "^4.1.11"
43
47
  },
44
48
  "license": "Apache-2.0",
45
- "gitHead": "1372d2c0dcba8ea1cd25736848d5ec22a3e34fbf"
49
+ "gitHead": "ecd314fbda6d20041dd121dae0f050a92c012b5c"
46
50
  }