ugly-app 0.1.821 → 0.1.823
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/dist/inspect/agent/perfAgent.d.ts +8 -0
- package/dist/inspect/agent/perfAgent.d.ts.map +1 -1
- package/dist/inspect/agent/perfAgent.js +69 -6
- package/dist/inspect/agent/perfAgent.js.map +1 -1
- package/dist/inspect/agent-bundle.js +3 -3
- package/dist/inspect/host-bundle.js +8 -8
- package/dist/inspect/protocol.d.ts +3 -1
- package/dist/inspect/protocol.d.ts.map +1 -1
- package/dist/inspect/protocol.js.map +1 -1
- package/dist/server/Logging.d.ts +1 -1
- package/dist/server/Logging.d.ts.map +1 -1
- package/dist/server/sqlite/SqliteDoc.d.ts +44 -0
- package/dist/server/sqlite/SqliteDoc.d.ts.map +1 -0
- package/dist/server/sqlite/SqliteDoc.js +201 -0
- package/dist/server/sqlite/SqliteDoc.js.map +1 -0
- package/dist/server/sqlite/SqliteExec.d.ts +18 -0
- package/dist/server/sqlite/SqliteExec.d.ts.map +1 -0
- package/dist/server/sqlite/SqliteExec.js +19 -0
- package/dist/server/sqlite/SqliteExec.js.map +1 -0
- package/dist/server/sqlite/SqliteFilter.d.ts +21 -0
- package/dist/server/sqlite/SqliteFilter.d.ts.map +1 -0
- package/dist/server/sqlite/SqliteFilter.js +143 -0
- package/dist/server/sqlite/SqliteFilter.js.map +1 -0
- package/dist/server/sqlite/SqlitePipeline.d.ts +8 -0
- package/dist/server/sqlite/SqlitePipeline.d.ts.map +1 -0
- package/dist/server/sqlite/SqlitePipeline.js +154 -0
- package/dist/server/sqlite/SqlitePipeline.js.map +1 -0
- package/dist/server/sqlite/SqliteSchema.d.ts +15 -0
- package/dist/server/sqlite/SqliteSchema.d.ts.map +1 -0
- package/dist/server/sqlite/SqliteSchema.js +35 -0
- package/dist/server/sqlite/SqliteSchema.js.map +1 -0
- package/dist/server/sqlite/assertIndexed.d.ts +20 -0
- package/dist/server/sqlite/assertIndexed.d.ts.map +1 -0
- package/dist/server/sqlite/assertIndexed.js +43 -0
- package/dist/server/sqlite/assertIndexed.js.map +1 -0
- package/dist/server/sqlite/sqliteUpdateOps.d.ts +17 -0
- package/dist/server/sqlite/sqliteUpdateOps.d.ts.map +1 -0
- package/dist/server/sqlite/sqliteUpdateOps.js +100 -0
- package/dist/server/sqlite/sqliteUpdateOps.js.map +1 -0
- package/dist/shared/FrameworkRequests.d.ts +1 -1
- package/dist/shared/FrameworkRequests.d.ts.map +1 -1
- package/dist/shared/FrameworkRequests.js +1 -0
- package/dist/shared/FrameworkRequests.js.map +1 -1
- package/package.json +3 -1
- package/src/cli/version.ts +1 -1
- package/src/inspect/agent/perfAgent.test.ts +24 -0
- package/src/inspect/agent/perfAgent.ts +67 -6
- package/src/inspect/protocol.ts +3 -1
- package/src/server/App.ts +1 -1
- package/src/server/Logging.ts +1 -1
- package/src/server/adapter/workers/createWorkersApp.ts +1 -1
- package/src/server/sqlite/SqliteDoc.test.ts +145 -0
- package/src/server/sqlite/SqliteDoc.ts +356 -0
- package/src/server/sqlite/SqliteExec.ts +35 -0
- package/src/server/sqlite/SqliteFilter.test.ts +110 -0
- package/src/server/sqlite/SqliteFilter.ts +161 -0
- package/src/server/sqlite/SqlitePipeline.test.ts +54 -0
- package/src/server/sqlite/SqlitePipeline.ts +172 -0
- package/src/server/sqlite/SqliteSchema.test.ts +64 -0
- package/src/server/sqlite/SqliteSchema.ts +56 -0
- package/src/server/sqlite/assertIndexed.test.ts +58 -0
- package/src/server/sqlite/assertIndexed.ts +58 -0
- package/src/server/sqlite/sqliteUpdateOps.test.ts +74 -0
- package/src/server/sqlite/sqliteUpdateOps.ts +111 -0
- package/src/shared/FrameworkRequests.ts +1 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MongoDB aggregation pipeline → SQLite SQL. Mirrors PostgresPipeline.ts's MVP
|
|
3
|
+
* subset ($match/$sort/$limit/$skip/$count/$group with $sum/$avg/$min/$max).
|
|
4
|
+
* `?` placeholders (positional, consumed in order — no $n renumbering). Pure —
|
|
5
|
+
* no DB, no native import.
|
|
6
|
+
*/
|
|
7
|
+
import { translateFilter } from './SqliteFilter.js';
|
|
8
|
+
const TOP_LEVEL_COLUMNS = new Set(['_id', 'created', 'updated', 'version']);
|
|
9
|
+
function jsonPath(field, asText = false) {
|
|
10
|
+
if (TOP_LEVEL_COLUMNS.has(field))
|
|
11
|
+
return `"${field}"`;
|
|
12
|
+
const extract = `json_extract(data,'$.${field}')`;
|
|
13
|
+
return asText ? `CAST(${extract} AS TEXT)` : extract;
|
|
14
|
+
}
|
|
15
|
+
function buildSql(p) {
|
|
16
|
+
let sql = `SELECT ${p.select} FROM ${p.from}`;
|
|
17
|
+
if (p.where.length > 0)
|
|
18
|
+
sql += ` WHERE ${p.where.join(' AND ')}`;
|
|
19
|
+
if (p.groupBy.length > 0)
|
|
20
|
+
sql += ` GROUP BY ${p.groupBy.join(', ')}`;
|
|
21
|
+
if (p.orderBy.length > 0)
|
|
22
|
+
sql += ` ORDER BY ${p.orderBy.join(', ')}`;
|
|
23
|
+
if (p.limit !== null)
|
|
24
|
+
sql += ` LIMIT ${p.limit}`;
|
|
25
|
+
if (p.offset !== null)
|
|
26
|
+
sql += ` OFFSET ${p.offset}`;
|
|
27
|
+
return sql;
|
|
28
|
+
}
|
|
29
|
+
function wrapAsSubquery(p) {
|
|
30
|
+
const inner = buildSql(p);
|
|
31
|
+
return {
|
|
32
|
+
select: '*',
|
|
33
|
+
from: `(${inner}) AS _sub`,
|
|
34
|
+
where: [],
|
|
35
|
+
groupBy: [],
|
|
36
|
+
orderBy: [],
|
|
37
|
+
limit: null,
|
|
38
|
+
offset: null,
|
|
39
|
+
values: [...p.values],
|
|
40
|
+
grouped: false,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
function resolveAccumulator(acc) {
|
|
44
|
+
const [op, field] = Object.entries(acc)[0];
|
|
45
|
+
const col = typeof field === 'string' && field.startsWith('$')
|
|
46
|
+
? jsonPath(field.slice(1))
|
|
47
|
+
: String(field);
|
|
48
|
+
switch (op) {
|
|
49
|
+
case '$sum':
|
|
50
|
+
if (typeof field === 'number')
|
|
51
|
+
return String(field); // mirror PG quirk
|
|
52
|
+
return `SUM(CAST((${col}) AS REAL))`;
|
|
53
|
+
case '$avg':
|
|
54
|
+
return `AVG(CAST((${col}) AS REAL))`;
|
|
55
|
+
case '$min':
|
|
56
|
+
return `MIN(CAST((${col}) AS REAL))`;
|
|
57
|
+
case '$max':
|
|
58
|
+
return `MAX(CAST((${col}) AS REAL))`;
|
|
59
|
+
default:
|
|
60
|
+
throw new Error(`[SqlitePipeline] Unsupported accumulator: ${op}`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function orderByExpr(field, dir, fromSub) {
|
|
64
|
+
const d = dir === 1 ? 'ASC' : 'DESC';
|
|
65
|
+
const expr = fromSub ? `"${field}"` : jsonPath(field, true);
|
|
66
|
+
return `(${expr} IS NULL) ${d}, ${expr} ${d}`;
|
|
67
|
+
}
|
|
68
|
+
export function translatePipeline(collection, pipeline, options) {
|
|
69
|
+
const parts = {
|
|
70
|
+
select: '_id, data, created, updated, version',
|
|
71
|
+
from: `"${collection}"`,
|
|
72
|
+
where: [],
|
|
73
|
+
groupBy: [],
|
|
74
|
+
orderBy: [],
|
|
75
|
+
limit: null,
|
|
76
|
+
offset: null,
|
|
77
|
+
values: [],
|
|
78
|
+
grouped: false,
|
|
79
|
+
};
|
|
80
|
+
for (const stage of pipeline) {
|
|
81
|
+
const [key, value] = Object.entries(stage)[0];
|
|
82
|
+
switch (key) {
|
|
83
|
+
case '$match': {
|
|
84
|
+
if (parts.grouped)
|
|
85
|
+
Object.assign(parts, wrapAsSubquery(parts));
|
|
86
|
+
const f = translateFilter(value);
|
|
87
|
+
if (f.where) {
|
|
88
|
+
parts.where.push(f.where);
|
|
89
|
+
parts.values.push(...f.values);
|
|
90
|
+
}
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
case '$sort': {
|
|
94
|
+
if (parts.grouped)
|
|
95
|
+
Object.assign(parts, wrapAsSubquery(parts));
|
|
96
|
+
const fromSub = parts.from.includes('_sub');
|
|
97
|
+
parts.orderBy = Object.entries(value).map(([field, dir]) => orderByExpr(field, dir, fromSub));
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
case '$limit':
|
|
101
|
+
parts.limit = value;
|
|
102
|
+
break;
|
|
103
|
+
case '$skip':
|
|
104
|
+
parts.offset = value;
|
|
105
|
+
break;
|
|
106
|
+
case '$count': {
|
|
107
|
+
const inner = buildSql(parts);
|
|
108
|
+
parts.select = `COUNT(*) AS "${value}"`;
|
|
109
|
+
parts.from = `(${inner}) AS _counted`;
|
|
110
|
+
parts.where = [];
|
|
111
|
+
parts.groupBy = [];
|
|
112
|
+
parts.orderBy = [];
|
|
113
|
+
parts.limit = null;
|
|
114
|
+
parts.offset = null;
|
|
115
|
+
parts.grouped = false;
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
case '$group': {
|
|
119
|
+
const group = value;
|
|
120
|
+
const groupId = group._id;
|
|
121
|
+
const selectParts = [];
|
|
122
|
+
const groupByParts = [];
|
|
123
|
+
if (groupId === null) {
|
|
124
|
+
selectParts.push(`NULL AS "_id"`);
|
|
125
|
+
}
|
|
126
|
+
else if (typeof groupId === 'string' && groupId.startsWith('$')) {
|
|
127
|
+
const accessor = jsonPath(groupId.slice(1));
|
|
128
|
+
selectParts.push(`${accessor} AS "_id"`);
|
|
129
|
+
groupByParts.push(accessor);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
throw new Error(`[SqlitePipeline] Unsupported $group _id: ${JSON.stringify(groupId)}`);
|
|
133
|
+
}
|
|
134
|
+
for (const [alias, expr] of Object.entries(group)) {
|
|
135
|
+
if (alias === '_id')
|
|
136
|
+
continue;
|
|
137
|
+
selectParts.push(`${resolveAccumulator(expr)} AS "${alias}"`);
|
|
138
|
+
}
|
|
139
|
+
parts.select = selectParts.join(', ');
|
|
140
|
+
parts.groupBy = groupByParts;
|
|
141
|
+
parts.grouped = true;
|
|
142
|
+
break;
|
|
143
|
+
}
|
|
144
|
+
default:
|
|
145
|
+
throw new Error(`[SqlitePipeline] Unsupported pipeline stage: ${key}`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
if (options?.skip !== undefined)
|
|
149
|
+
parts.offset = options.skip;
|
|
150
|
+
if (options?.limit !== undefined)
|
|
151
|
+
parts.limit = options.limit;
|
|
152
|
+
return { sql: buildSql(parts), values: parts.values };
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=SqlitePipeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqlitePipeline.js","sourceRoot":"","sources":["../../../src/server/sqlite/SqlitePipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Expression indexes a collection declares via `meta.indexes`. Mirrors
|
|
3
|
+
* schemaIndexes.fieldIndexStatements, emitting SQLite expression indexes over
|
|
4
|
+
* `json_extract(data,'$.field')` — the exact expression SqliteFilter builds, so
|
|
5
|
+
* the planner uses them (EXPLAIN QUERY PLAN → SEARCH ... USING INDEX). Pure
|
|
6
|
+
* statement builder + a thin exec runner. No native import.
|
|
7
|
+
*/
|
|
8
|
+
import type { IndexDef } from '../../shared/DB.js';
|
|
9
|
+
import type { SqliteExec } from './SqliteExec.js';
|
|
10
|
+
/** Raw `CREATE [UNIQUE] INDEX` SQL for each declared (single- or multi-field) index. */
|
|
11
|
+
export declare function fieldIndexStatements(collection: string, indexes?: IndexDef[]): string[];
|
|
12
|
+
/** Create each declared index. Isolates a single failing index (e.g. a UNIQUE
|
|
13
|
+
* over pre-existing duplicate data) so it never aborts the rest of the sync. */
|
|
14
|
+
export declare function ensureSqliteIndexes(exec: SqliteExec, collection: string, indexes?: IndexDef[]): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=SqliteSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteSchema.d.ts","sourceRoot":"","sources":["../../../src/server/sqlite/SqliteSchema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIlD,wFAAwF;AACxF,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,QAAQ,EAAE,GACnB,MAAM,EAAE,CAqBV;AAED;iFACiF;AACjF,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,QAAQ,EAAE,GACnB,OAAO,CAAC,IAAI,CAAC,CAUf"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
const VALID_NAME = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
|
|
2
|
+
/** Raw `CREATE [UNIQUE] INDEX` SQL for each declared (single- or multi-field) index. */
|
|
3
|
+
export function fieldIndexStatements(collection, indexes) {
|
|
4
|
+
if (!VALID_NAME.test(collection))
|
|
5
|
+
return [];
|
|
6
|
+
const out = [];
|
|
7
|
+
for (const idx of indexes ?? []) {
|
|
8
|
+
const entries = Object.entries(idx.fields);
|
|
9
|
+
if (entries.length === 0)
|
|
10
|
+
continue;
|
|
11
|
+
if (!entries.every(([field]) => VALID_NAME.test(field)))
|
|
12
|
+
continue;
|
|
13
|
+
const unique = idx.unique ? 'UNIQUE ' : '';
|
|
14
|
+
const base = `idx_${collection}_${entries.map(([field]) => field).join('_')}`;
|
|
15
|
+
const name = idx.unique ? `${base}_unique` : base;
|
|
16
|
+
const cols = entries
|
|
17
|
+
.map(([field, dir]) => `(json_extract(data,'$.${field}'))${dir === -1 ? ' DESC' : ''}`)
|
|
18
|
+
.join(', ');
|
|
19
|
+
out.push(`CREATE ${unique}INDEX IF NOT EXISTS "${name}" ON "${collection}" (${cols})`);
|
|
20
|
+
}
|
|
21
|
+
return out;
|
|
22
|
+
}
|
|
23
|
+
/** Create each declared index. Isolates a single failing index (e.g. a UNIQUE
|
|
24
|
+
* over pre-existing duplicate data) so it never aborts the rest of the sync. */
|
|
25
|
+
export async function ensureSqliteIndexes(exec, collection, indexes) {
|
|
26
|
+
for (const sql of fieldIndexStatements(collection, indexes)) {
|
|
27
|
+
try {
|
|
28
|
+
await exec.run(sql);
|
|
29
|
+
}
|
|
30
|
+
catch (err) {
|
|
31
|
+
console.warn(`[SqliteSchema] index skipped for "${collection}": ${err.message}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=SqliteSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteSchema.js","sourceRoot":"","sources":["../../../src/server/sqlite/SqliteSchema.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,GAAG,0BAA0B,CAAC;AAE9C,wFAAwF;AACxF,MAAM,UAAU,oBAAoB,CAClC,UAAkB,EAClB,OAAoB;IAEpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,GAAG,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACnC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAE,SAAS;QAClE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,OAAO,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAClD,MAAM,IAAI,GAAG,OAAO;aACjB,GAAG,CACF,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CACf,yBAAyB,KAAK,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAClE;aACA,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,GAAG,CAAC,IAAI,CACN,UAAU,MAAM,wBAAwB,IAAI,SAAS,UAAU,MAAM,IAAI,GAAG,CAC7E,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;iFACiF;AACjF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAgB,EAChB,UAAkB,EAClB,OAAoB;IAEpB,KAAK,MAAM,GAAG,IAAI,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACV,qCAAqC,UAAU,MAAO,GAAa,CAAC,OAAO,EAAE,CAC9E,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backend-agnostic index-coverage pre-flight. Throws when a query filters or
|
|
3
|
+
* sorts on a field with no declared index — surfacing missing indexes in
|
|
4
|
+
* dev/test instead of silently full-scanning (D1 has no GIN fallback; this also
|
|
5
|
+
* hardens Neon). Coverage mirrors PostgresIndexes: every field named in any
|
|
6
|
+
* declared index is covered (a composite credits all its fields). Enhancement
|
|
7
|
+
* over PG's warn-only checker: sort keys are checked too, and it THROWS.
|
|
8
|
+
*/
|
|
9
|
+
import type { IndexDef } from '../../shared/DB.js';
|
|
10
|
+
export declare class UnindexedQueryError extends Error {
|
|
11
|
+
readonly collection: string;
|
|
12
|
+
readonly field: string;
|
|
13
|
+
constructor(collection: string, field: string);
|
|
14
|
+
}
|
|
15
|
+
/** Every field named in any declared index (composite indexes credit all fields). */
|
|
16
|
+
export declare function coveredFields(indexes?: IndexDef[]): Set<string>;
|
|
17
|
+
export declare function assertIndexed(collection: string, indexes: IndexDef[] | undefined, filter?: Record<string, unknown>, sort?: Record<string, 1 | -1>, opts?: {
|
|
18
|
+
allowScan?: boolean;
|
|
19
|
+
}): void;
|
|
20
|
+
//# sourceMappingURL=assertIndexed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertIndexed.d.ts","sourceRoot":"","sources":["../../../src/server/sqlite/assertIndexed.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAKnD,qBAAa,mBAAoB,SAAQ,KAAK;aAE1B,UAAU,EAAE,MAAM;aAClB,KAAK,EAAE,MAAM;gBADb,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM;CAShC;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAM/D;AAED,wBAAgB,aAAa,CAC3B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,QAAQ,EAAE,GAAG,SAAS,EAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAC7B,IAAI,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7B,IAAI,CAeN"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { collectJsonFields } from './SqliteFilter.js';
|
|
2
|
+
const TOP_LEVEL_COLUMNS = new Set(['_id', 'created', 'updated', 'version']);
|
|
3
|
+
export class UnindexedQueryError extends Error {
|
|
4
|
+
collection;
|
|
5
|
+
field;
|
|
6
|
+
constructor(collection, field) {
|
|
7
|
+
super(`Collection "${collection}" filters/sorts on "${field}" which has no index. ` +
|
|
8
|
+
`Add to meta.indexes: { fields: { ${field}: 1 } } — or pass { allowScan: true } ` +
|
|
9
|
+
`for a deliberate full scan.`);
|
|
10
|
+
this.collection = collection;
|
|
11
|
+
this.field = field;
|
|
12
|
+
this.name = 'UnindexedQueryError';
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/** Every field named in any declared index (composite indexes credit all fields). */
|
|
16
|
+
export function coveredFields(indexes) {
|
|
17
|
+
const covered = new Set();
|
|
18
|
+
for (const idx of indexes ?? []) {
|
|
19
|
+
for (const field of Object.keys(idx.fields))
|
|
20
|
+
covered.add(field);
|
|
21
|
+
}
|
|
22
|
+
return covered;
|
|
23
|
+
}
|
|
24
|
+
export function assertIndexed(collection, indexes, filter, sort, opts) {
|
|
25
|
+
if (opts?.allowScan)
|
|
26
|
+
return;
|
|
27
|
+
const covered = coveredFields(indexes);
|
|
28
|
+
const fields = new Set();
|
|
29
|
+
if (filter)
|
|
30
|
+
for (const f of collectJsonFields(filter))
|
|
31
|
+
fields.add(f);
|
|
32
|
+
if (sort) {
|
|
33
|
+
for (const f of Object.keys(sort)) {
|
|
34
|
+
if (!TOP_LEVEL_COLUMNS.has(f))
|
|
35
|
+
fields.add(f);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
for (const field of fields) {
|
|
39
|
+
if (!covered.has(field))
|
|
40
|
+
throw new UnindexedQueryError(collection, field);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=assertIndexed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertIndexed.js","sourceRoot":"","sources":["../../../src/server/sqlite/assertIndexed.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAE5E,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAE1B;IACA;IAFlB,YACkB,UAAkB,EAClB,KAAa;QAE7B,KAAK,CACH,eAAe,UAAU,uBAAuB,KAAK,wBAAwB;YAC3E,oCAAoC,KAAK,wCAAwC;YACjF,6BAA6B,CAChC,CAAC;QAPc,eAAU,GAAV,UAAU,CAAQ;QAClB,UAAK,GAAL,KAAK,CAAQ;QAO7B,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,qFAAqF;AACrF,MAAM,UAAU,aAAa,CAAC,OAAoB;IAChD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,UAAkB,EAClB,OAA+B,EAC/B,MAAgC,EAChC,IAA6B,EAC7B,IAA8B;IAE9B,IAAI,IAAI,EAAE,SAAS;QAAE,OAAO;IAC5B,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,IAAI,MAAM;QAAE,KAAK,MAAM,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MongoDB-style update operators applied in-memory over a plain doc object.
|
|
3
|
+
* Mirrors PostgresOperators.buildUpdateExpression's SEMANTICS (not its SQL):
|
|
4
|
+
* the SQLite store does read-modify-write, so the resulting document must match
|
|
5
|
+
* what Postgres's jsonb_set UPDATE would produce. Pure — no DB, no native import.
|
|
6
|
+
*/
|
|
7
|
+
export interface UpdateOp {
|
|
8
|
+
$set?: Record<string, unknown>;
|
|
9
|
+
$unset?: Record<string, unknown>;
|
|
10
|
+
$inc?: Record<string, number>;
|
|
11
|
+
$addToSet?: Record<string, unknown>;
|
|
12
|
+
$pull?: Record<string, unknown>;
|
|
13
|
+
}
|
|
14
|
+
/** Structural deep-equality, mirroring Postgres jsonb `=` (key order irrelevant). */
|
|
15
|
+
export declare function deepEqual(a: unknown, b: unknown): boolean;
|
|
16
|
+
export declare function applyOpInMemory(data: Record<string, unknown>, op: UpdateOp): Record<string, unknown>;
|
|
17
|
+
//# sourceMappingURL=sqliteUpdateOps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqliteUpdateOps.d.ts","sourceRoot":"","sources":["../../../src/server/sqlite/sqliteUpdateOps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAiBzD;AAqCD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,EAAE,EAAE,QAAQ,GACX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqCzB"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MongoDB-style update operators applied in-memory over a plain doc object.
|
|
3
|
+
* Mirrors PostgresOperators.buildUpdateExpression's SEMANTICS (not its SQL):
|
|
4
|
+
* the SQLite store does read-modify-write, so the resulting document must match
|
|
5
|
+
* what Postgres's jsonb_set UPDATE would produce. Pure — no DB, no native import.
|
|
6
|
+
*/
|
|
7
|
+
/** Structural deep-equality, mirroring Postgres jsonb `=` (key order irrelevant). */
|
|
8
|
+
export function deepEqual(a, b) {
|
|
9
|
+
if (a === b)
|
|
10
|
+
return true;
|
|
11
|
+
if (typeof a !== typeof b)
|
|
12
|
+
return false;
|
|
13
|
+
if (a === null || b === null)
|
|
14
|
+
return a === b;
|
|
15
|
+
if (Array.isArray(a) || Array.isArray(b)) {
|
|
16
|
+
if (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length)
|
|
17
|
+
return false;
|
|
18
|
+
return a.every((v, i) => deepEqual(v, b[i]));
|
|
19
|
+
}
|
|
20
|
+
if (typeof a === 'object') {
|
|
21
|
+
const ao = a;
|
|
22
|
+
const bo = b;
|
|
23
|
+
const ak = Object.keys(ao);
|
|
24
|
+
const bk = Object.keys(bo);
|
|
25
|
+
if (ak.length !== bk.length)
|
|
26
|
+
return false;
|
|
27
|
+
return ak.every((k) => k in bo && deepEqual(ao[k], bo[k]));
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
function setPath(root, path, value) {
|
|
32
|
+
const parts = path.split('.');
|
|
33
|
+
let node = root;
|
|
34
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
35
|
+
const key = parts[i];
|
|
36
|
+
const next = node[key];
|
|
37
|
+
if (typeof next !== 'object' || next === null || Array.isArray(next)) {
|
|
38
|
+
node[key] = {};
|
|
39
|
+
}
|
|
40
|
+
node = node[key];
|
|
41
|
+
}
|
|
42
|
+
node[parts[parts.length - 1]] = value;
|
|
43
|
+
}
|
|
44
|
+
function unsetPath(root, path) {
|
|
45
|
+
const parts = path.split('.');
|
|
46
|
+
let node = root;
|
|
47
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
48
|
+
const next = node[parts[i]];
|
|
49
|
+
if (typeof next !== 'object' || next === null)
|
|
50
|
+
return;
|
|
51
|
+
node = next;
|
|
52
|
+
}
|
|
53
|
+
delete node[parts[parts.length - 1]];
|
|
54
|
+
}
|
|
55
|
+
function getPath(root, path) {
|
|
56
|
+
const parts = path.split('.');
|
|
57
|
+
let node = root;
|
|
58
|
+
for (const key of parts) {
|
|
59
|
+
if (typeof node !== 'object' || node === null)
|
|
60
|
+
return undefined;
|
|
61
|
+
node = node[key];
|
|
62
|
+
}
|
|
63
|
+
return node;
|
|
64
|
+
}
|
|
65
|
+
export function applyOpInMemory(data, op) {
|
|
66
|
+
const out = structuredClone(data);
|
|
67
|
+
if (op.$set) {
|
|
68
|
+
for (const [field, value] of Object.entries(op.$set))
|
|
69
|
+
setPath(out, field, value);
|
|
70
|
+
}
|
|
71
|
+
if (op.$unset) {
|
|
72
|
+
for (const field of Object.keys(op.$unset))
|
|
73
|
+
unsetPath(out, field);
|
|
74
|
+
}
|
|
75
|
+
if (op.$inc) {
|
|
76
|
+
for (const [field, amount] of Object.entries(op.$inc)) {
|
|
77
|
+
const cur = getPath(out, field);
|
|
78
|
+
const base = typeof cur === 'number' ? cur : 0;
|
|
79
|
+
setPath(out, field, base + amount);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (op.$addToSet) {
|
|
83
|
+
for (const [field, value] of Object.entries(op.$addToSet)) {
|
|
84
|
+
const cur = getPath(out, field);
|
|
85
|
+
const arr = Array.isArray(cur) ? [...cur] : [];
|
|
86
|
+
if (!arr.some((el) => deepEqual(el, value)))
|
|
87
|
+
arr.push(value);
|
|
88
|
+
setPath(out, field, arr);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
if (op.$pull) {
|
|
92
|
+
for (const [field, value] of Object.entries(op.$pull)) {
|
|
93
|
+
const cur = getPath(out, field);
|
|
94
|
+
const arr = Array.isArray(cur) ? cur : [];
|
|
95
|
+
setPath(out, field, arr.filter((el) => !deepEqual(el, value)));
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return out;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=sqliteUpdateOps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqliteUpdateOps.js","sourceRoot":"","sources":["../../../src/server/sqlite/sqliteUpdateOps.ts"],"names":[],"mappings":"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"}
|
|
@@ -250,7 +250,7 @@ export declare const frameworkRequests: {
|
|
|
250
250
|
ok: boolean;
|
|
251
251
|
}>;
|
|
252
252
|
perfSnapshotCaptureNoAuth: import("./Api.js").RequestDef<{
|
|
253
|
-
trigger: "cpu-pressure" | "dropped-frames" | "long-task" | "page-unload" | "self-snapshot" | "app-quit";
|
|
253
|
+
trigger: "cpu-pressure" | "dropped-frames" | "long-task" | "page-unload" | "page-load" | "self-snapshot" | "app-quit";
|
|
254
254
|
source?: string | null | undefined;
|
|
255
255
|
cpuPressure?: number | null | undefined;
|
|
256
256
|
eventLoopLagMs?: number | null | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrameworkRequests.d.ts","sourceRoot":"","sources":["../../src/shared/FrameworkRequests.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmN5B;;;;;;;OAOG;;;;;;;;;IAWH;;;;;;;;;;OAUG;;;;;;;;;IAgBH;;;;;;;;;;;;;;OAcG;;;;;;;;;;;;;;;;;;;;;;IAiCH;;;;;;;;;;;;;OAaG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"FrameworkRequests.d.ts","sourceRoot":"","sources":["../../src/shared/FrameworkRequests.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmN5B;;;;;;;OAOG;;;;;;;;;IAWH;;;;;;;;;;OAUG;;;;;;;;;IAgBH;;;;;;;;;;;;;;OAcG;;;;;;;;;;;;;;;;;;;;;;IAiCH;;;;;;;;;;;;;OAaG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkHH,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrameworkRequests.js","sourceRoot":"","sources":["../../src/shared/FrameworkRequests.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FrameworkRequests.js","sourceRoot":"","sources":["../../src/shared/FrameworkRequests.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ugly-app",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.823",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"comment:files": "Allowlist what ships to npm. dist = runtime; src = sourcemap targets (dist/*.js.map reference ../../src/); templates = CLI scaffold. Everything else at repo root (.pgdata local Postgres, coverage, assets/icons sources, test/, test-results/) is excluded by omission. The !negations strip the scaffold's installed deps + cruft (templates/node_modules is 200MB+ and must never ship). package.json/README/LICENSE ship automatically.",
|
|
6
6
|
"files": [
|
|
@@ -166,6 +166,7 @@
|
|
|
166
166
|
"@testing-library/dom": "^10.4.1",
|
|
167
167
|
"@testing-library/react": "^16.3.2",
|
|
168
168
|
"@types/bcrypt": "^5.0.2",
|
|
169
|
+
"@types/better-sqlite3": "^7.6.13",
|
|
169
170
|
"@types/canvas-confetti": "^1.9.0",
|
|
170
171
|
"@types/cookie-parser": "^1.4.10",
|
|
171
172
|
"@types/express": "^5.0.0",
|
|
@@ -181,6 +182,7 @@
|
|
|
181
182
|
"@types/ws": "^8.5.13",
|
|
182
183
|
"@vitejs/plugin-react": "^6.0.1",
|
|
183
184
|
"@vitest/coverage-v8": "^4.1.2",
|
|
185
|
+
"better-sqlite3": "^12.11.1",
|
|
184
186
|
"html2canvas": "^1.4.1",
|
|
185
187
|
"jsdom": "^29.0.1",
|
|
186
188
|
"miniflare": "^4.20260603.0",
|
package/src/cli/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Auto-generated by prebuild — do not edit manually
|
|
2
|
-
export const CLI_VERSION = "0.1.
|
|
2
|
+
export const CLI_VERSION = "0.1.823";
|
|
@@ -71,3 +71,27 @@ describe('PerfAgent cpuPressure', () => {
|
|
|
71
71
|
expect(agent.vitals().cpuPressure).toBe(1);
|
|
72
72
|
});
|
|
73
73
|
});
|
|
74
|
+
|
|
75
|
+
describe('startup snapshot', () => {
|
|
76
|
+
function makeAgent() {
|
|
77
|
+
let t = 0;
|
|
78
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
79
|
+
return new PerfAgent(() => (t += 1), () => ({ longTasks: [] } as any));
|
|
80
|
+
}
|
|
81
|
+
it('produces a one-shot page-load snapshot carrying startup data', () => {
|
|
82
|
+
const agent = makeAgent();
|
|
83
|
+
(agent as unknown as { captureStartupSnapshot(): void }).captureStartupSnapshot();
|
|
84
|
+
const snap = agent.takeSnapshot();
|
|
85
|
+
expect(snap).not.toBeNull();
|
|
86
|
+
expect(snap!.trigger).toBe('page-load');
|
|
87
|
+
expect(snap!.startup).toBeDefined();
|
|
88
|
+
expect(Array.isArray(snap!.startup!.milestones)).toBe(true);
|
|
89
|
+
});
|
|
90
|
+
it('fires at most once', () => {
|
|
91
|
+
const agent = makeAgent();
|
|
92
|
+
const cap = (agent as unknown as { captureStartupSnapshot(): void }).captureStartupSnapshot.bind(agent);
|
|
93
|
+
cap(); cap(); cap();
|
|
94
|
+
expect(agent.takeSnapshot()).not.toBeNull();
|
|
95
|
+
expect(agent.takeSnapshot()).toBeNull();
|
|
96
|
+
});
|
|
97
|
+
});
|