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
|
@@ -186,7 +186,9 @@ export interface WebVitals {
|
|
|
186
186
|
* rAF, and PerformanceObserver. On anomaly or page unload it captures a
|
|
187
187
|
* snapshot that the host can poll and forward to D1 for root-cause analysis. */
|
|
188
188
|
export interface PerfSnapshot {
|
|
189
|
-
|
|
189
|
+
/** `page-load` fires once, a few seconds after load, carrying startup timings +
|
|
190
|
+
* LCP/FCP — so initial-load data lands without waiting for anomaly or unload. */
|
|
191
|
+
trigger: 'cpu-pressure' | 'dropped-frames' | 'long-task' | 'page-unload' | 'page-load';
|
|
190
192
|
/** 0..1 — fraction of recent heartbeat ticks classified as delayed. */
|
|
191
193
|
cpuPressure: number;
|
|
192
194
|
/** Average event-loop lag in ms over the recent window. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/inspect/protocol.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/inspect/protocol.ts"],"names":[],"mappings":"AAaA;iFACiF;AACjF,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,8EAA8E;AAC9E,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAGD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;AAEpE;sDACsD;AACtD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,qDAAqD;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,QAAQ,EAAE,eAAe,CAAC;IAC1B;4DACwD;IACxD,SAAS,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB;;mEAE+D;IAC/D,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAOD,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,WAAW,GACX,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,OAAO,GACP,MAAM,GACN,OAAO,GACP,SAAS,GACT,KAAK,GACL,KAAK,GACL,MAAM,GACN,QAAQ,CAAC;AAEb,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAClC,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,0DAA0D;IAC1D,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,mFAAmF;IACnF,GAAG,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC;CACpB;AAGD,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEvE,MAAM,WAAW,YAAY;IAC3B,uEAAuE;IACvE,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,YAAY,CAAC;IACpB,yCAAyC;IACzC,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IACjC,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CAChC;AAGD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IACnD,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB;2CACuC;IACvC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;sCAEsC;AACtC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC;yDACqD;IACrD,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,WAAW,CAAA;SAAE,GAAG,SAAS,CAAC;KAC/E,GAAG,SAAS,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChD,UAAU,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC1C,8EAA8E;IAC9E,SAAS,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACzC,8DAA8D;IAC9D,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CAC5F;AAGD;;;iFAGiF;AACjF,MAAM,WAAW,YAAY;IAC3B;sFACkF;IAClF,OAAO,EAAE,cAAc,GAAG,gBAAgB,GAAG,WAAW,GAAG,aAAa,GAAG,WAAW,CAAC;IACvF,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,cAAc,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,aAAa,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;oEAEgE;IAChE,QAAQ,EAAE;QACR,YAAY,EAAE,MAAM,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,EAAE,MAAM,CAAC;KACrB,EAAE,GAAG,IAAI,CAAC;IACX,gFAAgF;IAChF,OAAO,CAAC,EAAE;QAAE,UAAU,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;CACxG;AAED;wEACwE;AACxE,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;CAC7C;AAGD,MAAM,WAAW,OAAO;IACtB,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,iDAAiD;IACjD,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC5B,gDAAgD;IAChD,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,QAAQ,EAAE;QACR,OAAO,EAAE,WAAW,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,cAAc,EAAE,gBAAgB,EAAE,CAAC;IACnC,aAAa,CAAC,EAAE;QACd,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACpC,GAAG,SAAS,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;CACnB;AAGD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;CACxB;AAGD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAErE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACrD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACvC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAC7E,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B;AAGD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;CACjD;AAED,iEAAiE;AACjE,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AAGzD;;6DAE6D;AAC7D,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAE3F,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;6CAC6C;AAC7C,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAMtF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/inspect/protocol.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,EAAE;AACF,+EAA+E;AAC/E,wCAAwC;AACxC,+EAA+E;AAC/E,8EAA8E;AAC9E,uEAAuE;AACvE,EAAE;AACF,8EAA8E;AAC9E,2EAA2E;AAC3E,6BAA6B;
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/inspect/protocol.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,EAAE;AACF,+EAA+E;AAC/E,wCAAwC;AACxC,+EAA+E;AAC/E,8EAA8E;AAC9E,uEAAuE;AACvE,EAAE;AACF,8EAA8E;AAC9E,2EAA2E;AAC3E,6BAA6B;AA0Z7B;6CAC6C;AAC7C,MAAM,CAAC,MAAM,wBAAwB,GAAsD;IACzF,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE;IACtE,SAAS,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE;IAChH,SAAS,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE;IACzG,IAAI,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE;IAClG,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;CACvE,CAAC"}
|
package/dist/server/Logging.d.ts
CHANGED
|
@@ -48,7 +48,7 @@ export interface PerfSnapshotInput {
|
|
|
48
48
|
sessionId?: string | null;
|
|
49
49
|
/** Origin of the snapshot: "app:<id>", "tab:<id>", or "electron-main". */
|
|
50
50
|
source?: string | null;
|
|
51
|
-
trigger: "cpu-pressure" | "dropped-frames" | "long-task" | "page-unload" | "self-snapshot" | "app-quit";
|
|
51
|
+
trigger: "cpu-pressure" | "dropped-frames" | "long-task" | "page-unload" | "page-load" | "self-snapshot" | "app-quit";
|
|
52
52
|
cpuPressure?: number | null;
|
|
53
53
|
eventLoopLagMs?: number | null;
|
|
54
54
|
heapUsedMb?: number | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logging.d.ts","sourceRoot":"","sources":["../../src/server/Logging.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA4GlD,6FAA6F;AAC7F,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAE7E;AA6GD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE;IACP,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC1C,EAAE,EAGH,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC3D,IAAI,CAmBN;AA0CD;;;GAGG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,SAAK,EACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CAWN;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAQjD;AAED,oEAAoE;AACpE,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAO/C;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,cAAc,GAAG,gBAAgB,GAAG,WAAW,GAAG,aAAa,GAAG,eAAe,GAAG,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"Logging.d.ts","sourceRoot":"","sources":["../../src/server/Logging.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type UpdateOp } from './sqliteUpdateOps.js';
|
|
2
|
+
import type { IndexDef } from '../../shared/DB.js';
|
|
3
|
+
import type { SqliteExec } from './SqliteExec.js';
|
|
4
|
+
export declare function ensureSqliteTable(exec: SqliteExec, collection: string, indexes?: IndexDef[]): Promise<void>;
|
|
5
|
+
/** Seed helper (full writes/upserts land in Plan 2). Stores JSON text + epoch-ms meta. */
|
|
6
|
+
export declare function sqliteInsertRaw(exec: SqliteExec, collection: string, doc: Record<string, unknown> & {
|
|
7
|
+
_id: string;
|
|
8
|
+
}): Promise<void>;
|
|
9
|
+
export declare function sqliteGetDoc<T>(exec: SqliteExec, collection: string, id: string): Promise<T | null>;
|
|
10
|
+
export interface SqliteGetDocsOptions {
|
|
11
|
+
sort?: Record<string, 1 | -1>;
|
|
12
|
+
limit?: number;
|
|
13
|
+
skip?: number;
|
|
14
|
+
}
|
|
15
|
+
export declare function sqliteGetDocs<T>(exec: SqliteExec, collection: string, filter?: Record<string, unknown>, options?: SqliteGetDocsOptions): Promise<T[]>;
|
|
16
|
+
export declare function sqliteFind<T>(exec: SqliteExec, collection: string, filter?: Record<string, unknown>, options?: SqliteGetDocsOptions): Promise<T[]>;
|
|
17
|
+
export declare function sqliteFindCount(exec: SqliteExec, collection: string, filter?: Record<string, unknown>): Promise<number>;
|
|
18
|
+
export declare function sqliteFindRandom<T>(exec: SqliteExec, collection: string, filter?: Record<string, unknown>, limit?: number): Promise<T[]>;
|
|
19
|
+
export declare function sqliteSetDoc(exec: SqliteExec, collection: string, doc: Record<string, unknown> & {
|
|
20
|
+
_id: string;
|
|
21
|
+
}, options?: {
|
|
22
|
+
skipIfExists?: boolean;
|
|
23
|
+
}): Promise<boolean>;
|
|
24
|
+
export declare function sqliteApplyUpdateOp<T>(exec: SqliteExec, collection: string, id: string, op: UpdateOp): Promise<T | null>;
|
|
25
|
+
export declare function sqliteSetDocFields<T>(exec: SqliteExec, collection: string, id: string, fields: Record<string, unknown>): Promise<T>;
|
|
26
|
+
export declare function sqliteSetDocFieldsOrIgnore<T>(exec: SqliteExec, collection: string, id: string, fields: Record<string, unknown>): Promise<T | null>;
|
|
27
|
+
export declare function sqliteSetDocFieldsOrCreate<T extends {
|
|
28
|
+
_id: string;
|
|
29
|
+
}>(exec: SqliteExec, collection: string, id: string, fields: Record<string, unknown>, obj: T): Promise<T>;
|
|
30
|
+
export declare function sqliteSetDocOp<T>(exec: SqliteExec, collection: string, id: string, op: UpdateOp): Promise<T>;
|
|
31
|
+
export declare function sqliteSetDocOpOrIgnore<T>(exec: SqliteExec, collection: string, id: string, op: UpdateOp): Promise<T | null>;
|
|
32
|
+
export declare function sqliteDeleteDoc(exec: SqliteExec, collection: string, id: string): Promise<void>;
|
|
33
|
+
export declare function sqliteDeleteDocs(exec: SqliteExec, collection: string, filter: Record<string, unknown>): Promise<string[]>;
|
|
34
|
+
export declare function sqliteDeleteWhere(exec: SqliteExec, collection: string, filter: Record<string, unknown>): Promise<string[]>;
|
|
35
|
+
export declare function sqliteGetQuery<T>(exec: SqliteExec, collection: string, pipeline: Record<string, unknown>[], options?: {
|
|
36
|
+
skip?: number;
|
|
37
|
+
limit?: number;
|
|
38
|
+
}): Promise<T[]>;
|
|
39
|
+
export declare function sqliteGetQueryCount(exec: SqliteExec, collection: string, pipeline: Record<string, unknown>[]): Promise<number>;
|
|
40
|
+
export declare function sqliteGetQueryRaw<T>(exec: SqliteExec, collection: string, pipeline: Record<string, unknown>[], options?: {
|
|
41
|
+
skip?: number;
|
|
42
|
+
limit?: number;
|
|
43
|
+
}): Promise<T[]>;
|
|
44
|
+
//# sourceMappingURL=SqliteDoc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteDoc.d.ts","sourceRoot":"","sources":["../../../src/server/sqlite/SqliteDoc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Document read operations on a SQLite/D1 backend. Sibling of PostgresDoc.ts.
|
|
3
|
+
* Pure builders + an injected SqliteExec — no driver import here. FTS/vector
|
|
4
|
+
* are intentionally absent (a db:'d1' collection may not declare search/vector).
|
|
5
|
+
*/
|
|
6
|
+
import { translateFilter, translateSort } from './SqliteFilter.js';
|
|
7
|
+
import { translatePipeline } from './SqlitePipeline.js';
|
|
8
|
+
import { applyOpInMemory } from './sqliteUpdateOps.js';
|
|
9
|
+
import { ensureSqliteIndexes } from './SqliteSchema.js';
|
|
10
|
+
function toDoc(row) {
|
|
11
|
+
const data = JSON.parse(row.data);
|
|
12
|
+
return {
|
|
13
|
+
...data,
|
|
14
|
+
_id: row._id,
|
|
15
|
+
created: new Date(row.created),
|
|
16
|
+
updated: new Date(row.updated),
|
|
17
|
+
version: row.version,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
const VALID_NAME = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
|
|
21
|
+
function assertSafeName(name) {
|
|
22
|
+
if (!VALID_NAME.test(name))
|
|
23
|
+
throw new Error(`Invalid collection name: ${name}`);
|
|
24
|
+
}
|
|
25
|
+
export async function ensureSqliteTable(exec, collection, indexes) {
|
|
26
|
+
assertSafeName(collection);
|
|
27
|
+
await exec.run(`CREATE TABLE IF NOT EXISTS "${collection}" (
|
|
28
|
+
_id TEXT PRIMARY KEY,
|
|
29
|
+
data TEXT NOT NULL,
|
|
30
|
+
created INTEGER NOT NULL,
|
|
31
|
+
updated INTEGER NOT NULL,
|
|
32
|
+
version INTEGER NOT NULL
|
|
33
|
+
)`);
|
|
34
|
+
if (indexes && indexes.length > 0) {
|
|
35
|
+
await ensureSqliteIndexes(exec, collection, indexes);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/** Seed helper (full writes/upserts land in Plan 2). Stores JSON text + epoch-ms meta. */
|
|
39
|
+
export async function sqliteInsertRaw(exec, collection, doc) {
|
|
40
|
+
const now = Date.now();
|
|
41
|
+
const { _id, created, updated, version, ...rest } = doc;
|
|
42
|
+
await exec.run(`INSERT INTO "${collection}" (_id, data, created, updated, version)
|
|
43
|
+
VALUES (?, ?, ?, ?, ?)
|
|
44
|
+
ON CONFLICT(_id) DO UPDATE SET data=excluded.data, updated=excluded.updated, version=excluded.version`, [
|
|
45
|
+
_id,
|
|
46
|
+
JSON.stringify(rest),
|
|
47
|
+
typeof created === 'number' ? created : now,
|
|
48
|
+
typeof updated === 'number' ? updated : now,
|
|
49
|
+
typeof version === 'number' ? version : 1,
|
|
50
|
+
]);
|
|
51
|
+
}
|
|
52
|
+
export async function sqliteGetDoc(exec, collection, id) {
|
|
53
|
+
const rows = await exec.all(`SELECT _id, data, created, updated, version FROM "${collection}" WHERE _id = ?`, [id]);
|
|
54
|
+
return rows.length === 0 ? null : toDoc(rows[0]);
|
|
55
|
+
}
|
|
56
|
+
export async function sqliteGetDocs(exec, collection, filter, options) {
|
|
57
|
+
const { where, values } = translateFilter(filter ?? {});
|
|
58
|
+
let sql = `SELECT _id, data, created, updated, version FROM "${collection}"`;
|
|
59
|
+
if (where)
|
|
60
|
+
sql += ` WHERE ${where}`;
|
|
61
|
+
if (options?.sort)
|
|
62
|
+
sql += ` ORDER BY ${translateSort(options.sort)}`;
|
|
63
|
+
if (options?.limit !== undefined) {
|
|
64
|
+
sql += ` LIMIT ?`;
|
|
65
|
+
values.push(options.limit);
|
|
66
|
+
}
|
|
67
|
+
if (options?.skip !== undefined) {
|
|
68
|
+
// SQLite requires a LIMIT before OFFSET; use -1 (unlimited) when only skip is set.
|
|
69
|
+
if (options.limit === undefined)
|
|
70
|
+
sql += ` LIMIT -1`;
|
|
71
|
+
sql += ` OFFSET ?`;
|
|
72
|
+
values.push(options.skip);
|
|
73
|
+
}
|
|
74
|
+
const rows = await exec.all(sql, values);
|
|
75
|
+
return rows.map((r) => toDoc(r));
|
|
76
|
+
}
|
|
77
|
+
export async function sqliteFind(exec, collection, filter, options) {
|
|
78
|
+
return sqliteGetDocs(exec, collection, filter, options);
|
|
79
|
+
}
|
|
80
|
+
export async function sqliteFindCount(exec, collection, filter) {
|
|
81
|
+
const { where, values } = translateFilter(filter ?? {});
|
|
82
|
+
let sql = `SELECT COUNT(*) AS count FROM "${collection}"`;
|
|
83
|
+
if (where)
|
|
84
|
+
sql += ` WHERE ${where}`;
|
|
85
|
+
const rows = await exec.all(sql, values);
|
|
86
|
+
return rows[0]?.count ?? 0;
|
|
87
|
+
}
|
|
88
|
+
export async function sqliteFindRandom(exec, collection, filter, limit) {
|
|
89
|
+
const { where, values } = translateFilter(filter ?? {});
|
|
90
|
+
let sql = `SELECT _id, data, created, updated, version FROM "${collection}"`;
|
|
91
|
+
if (where)
|
|
92
|
+
sql += ` WHERE ${where}`;
|
|
93
|
+
sql += ` ORDER BY RANDOM() LIMIT ?`;
|
|
94
|
+
values.push(limit ?? 100);
|
|
95
|
+
const rows = await exec.all(sql, values);
|
|
96
|
+
return rows.map((r) => toDoc(r));
|
|
97
|
+
}
|
|
98
|
+
// ── Writes ────────────────────────────────────────────────────────────────
|
|
99
|
+
export async function sqliteSetDoc(exec, collection, doc, options) {
|
|
100
|
+
const now = Date.now();
|
|
101
|
+
const { _id, created, updated, version, ...rest } = doc;
|
|
102
|
+
const c = typeof created === 'number' ? created : now;
|
|
103
|
+
const u = typeof updated === 'number' ? updated : now;
|
|
104
|
+
const v = typeof version === 'number' ? version : 1;
|
|
105
|
+
const json = JSON.stringify(rest);
|
|
106
|
+
if (options?.skipIfExists) {
|
|
107
|
+
const before = await exec.all(`SELECT COUNT(*) AS n FROM "${collection}" WHERE _id = ?`, [_id]);
|
|
108
|
+
if ((before[0]?.n ?? 0) > 0)
|
|
109
|
+
return false;
|
|
110
|
+
await exec.run(`INSERT INTO "${collection}" (_id, data, created, updated, version) VALUES (?, ?, ?, ?, ?)
|
|
111
|
+
ON CONFLICT(_id) DO NOTHING`, [_id, json, c, u, v]);
|
|
112
|
+
return true;
|
|
113
|
+
}
|
|
114
|
+
await exec.run(`INSERT INTO "${collection}" (_id, data, created, updated, version) VALUES (?, ?, ?, ?, ?)
|
|
115
|
+
ON CONFLICT(_id) DO UPDATE SET data=excluded.data, updated=excluded.updated, version=excluded.version`, [_id, json, c, u, v]);
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
export async function sqliteApplyUpdateOp(exec, collection, id, op) {
|
|
119
|
+
const rows = await exec.all(`SELECT _id, data, created, updated, version FROM "${collection}" WHERE _id = ?`, [id]);
|
|
120
|
+
if (rows.length === 0)
|
|
121
|
+
return null;
|
|
122
|
+
const row = rows[0];
|
|
123
|
+
const nextData = applyOpInMemory(JSON.parse(row.data), op);
|
|
124
|
+
const nextVersion = row.version + 1;
|
|
125
|
+
const now = Date.now();
|
|
126
|
+
await exec.run(`UPDATE "${collection}" SET data = ?, updated = ?, version = ? WHERE _id = ?`, [JSON.stringify(nextData), now, nextVersion, id]);
|
|
127
|
+
return {
|
|
128
|
+
...nextData,
|
|
129
|
+
_id: row._id,
|
|
130
|
+
created: new Date(row.created),
|
|
131
|
+
updated: new Date(now),
|
|
132
|
+
version: nextVersion,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
export async function sqliteSetDocFields(exec, collection, id, fields) {
|
|
136
|
+
const r = await sqliteApplyUpdateOp(exec, collection, id, { $set: fields });
|
|
137
|
+
if (r === null)
|
|
138
|
+
throw new Error(`Document not found: ${collection}/${id}`);
|
|
139
|
+
return r;
|
|
140
|
+
}
|
|
141
|
+
export async function sqliteSetDocFieldsOrIgnore(exec, collection, id, fields) {
|
|
142
|
+
return sqliteApplyUpdateOp(exec, collection, id, { $set: fields });
|
|
143
|
+
}
|
|
144
|
+
export async function sqliteSetDocFieldsOrCreate(exec, collection, id, fields, obj) {
|
|
145
|
+
const existing = await sqliteApplyUpdateOp(exec, collection, id, {
|
|
146
|
+
$set: fields,
|
|
147
|
+
});
|
|
148
|
+
if (existing !== null)
|
|
149
|
+
return existing;
|
|
150
|
+
await sqliteSetDoc(exec, collection, obj, { skipIfExists: true });
|
|
151
|
+
return obj;
|
|
152
|
+
}
|
|
153
|
+
export async function sqliteSetDocOp(exec, collection, id, op) {
|
|
154
|
+
const r = await sqliteApplyUpdateOp(exec, collection, id, op);
|
|
155
|
+
if (r === null)
|
|
156
|
+
throw new Error(`Document not found: ${collection}/${id}`);
|
|
157
|
+
return r;
|
|
158
|
+
}
|
|
159
|
+
export async function sqliteSetDocOpOrIgnore(exec, collection, id, op) {
|
|
160
|
+
return sqliteApplyUpdateOp(exec, collection, id, op);
|
|
161
|
+
}
|
|
162
|
+
export async function sqliteDeleteDoc(exec, collection, id) {
|
|
163
|
+
await exec.run(`DELETE FROM "${collection}" WHERE _id = ?`, [id]);
|
|
164
|
+
}
|
|
165
|
+
export async function sqliteDeleteDocs(exec, collection, filter) {
|
|
166
|
+
const { where, values } = translateFilter(filter);
|
|
167
|
+
let selectSql = `SELECT _id FROM "${collection}"`;
|
|
168
|
+
if (where)
|
|
169
|
+
selectSql += ` WHERE ${where}`;
|
|
170
|
+
const matched = await exec.all(selectSql, values);
|
|
171
|
+
const ids = matched.map((r) => r._id);
|
|
172
|
+
let deleteSql = `DELETE FROM "${collection}"`;
|
|
173
|
+
if (where)
|
|
174
|
+
deleteSql += ` WHERE ${where}`;
|
|
175
|
+
await exec.run(deleteSql, values);
|
|
176
|
+
return ids;
|
|
177
|
+
}
|
|
178
|
+
export async function sqliteDeleteWhere(exec, collection, filter) {
|
|
179
|
+
return sqliteDeleteDocs(exec, collection, filter);
|
|
180
|
+
}
|
|
181
|
+
// ── Aggregation pipeline ────────────────────────────────────────────────────
|
|
182
|
+
export async function sqliteGetQuery(exec, collection, pipeline, options) {
|
|
183
|
+
const { sql, values } = translatePipeline(collection, pipeline, options);
|
|
184
|
+
const rows = await exec.all(sql, values);
|
|
185
|
+
return rows.map((row) => row.data !== undefined && row._id !== undefined && row.created !== undefined
|
|
186
|
+
? toDoc(row)
|
|
187
|
+
: row);
|
|
188
|
+
}
|
|
189
|
+
export async function sqliteGetQueryCount(exec, collection, pipeline) {
|
|
190
|
+
const { sql, values } = translatePipeline(collection, [
|
|
191
|
+
...pipeline,
|
|
192
|
+
{ $count: 'count' },
|
|
193
|
+
]);
|
|
194
|
+
const rows = await exec.all(sql, values);
|
|
195
|
+
return Number(rows[0]?.count ?? 0);
|
|
196
|
+
}
|
|
197
|
+
export async function sqliteGetQueryRaw(exec, collection, pipeline, options) {
|
|
198
|
+
const { sql, values } = translatePipeline(collection, pipeline, options);
|
|
199
|
+
return (await exec.all(sql, values));
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=SqliteDoc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteDoc.js","sourceRoot":"","sources":["../../../src/server/sqlite/SqliteDoc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The single SQL primitive the SQLite doc store runs against. Two impls:
|
|
3
|
+
* - better-sqlite3 (Node dev / tests) — built by makeBetterSqliteExec below.
|
|
4
|
+
* - Cloudflare D1 (prod) — built from the binding in the Workers adapter
|
|
5
|
+
* (added in a later plan); its .prepare().bind().all()/run() maps 1:1.
|
|
6
|
+
* SqliteDoc.ts depends ONLY on this interface, never on a concrete driver.
|
|
7
|
+
*/
|
|
8
|
+
export interface SqliteExec {
|
|
9
|
+
all<T = Record<string, unknown>>(sql: string, params?: readonly unknown[]): Promise<T[]>;
|
|
10
|
+
run(sql: string, params?: readonly unknown[]): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Node-only executor over better-sqlite3. Uses a DYNAMIC import so the native
|
|
14
|
+
* addon is never pulled into a Workers bundle (see Global Constraints). `:memory:`
|
|
15
|
+
* by default. better-sqlite3 is synchronous; we wrap results in resolved promises.
|
|
16
|
+
*/
|
|
17
|
+
export declare function makeBetterSqliteExec(filename?: string): Promise<SqliteExec>;
|
|
18
|
+
//# sourceMappingURL=SqliteExec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteExec.d.ts","sourceRoot":"","sources":["../../../src/server/sqlite/SqliteExec.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAC1B,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAChB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,SAAa,GACpB,OAAO,CAAC,UAAU,CAAC,CAYrB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node-only executor over better-sqlite3. Uses a DYNAMIC import so the native
|
|
3
|
+
* addon is never pulled into a Workers bundle (see Global Constraints). `:memory:`
|
|
4
|
+
* by default. better-sqlite3 is synchronous; we wrap results in resolved promises.
|
|
5
|
+
*/
|
|
6
|
+
export async function makeBetterSqliteExec(filename = ':memory:') {
|
|
7
|
+
const { default: Database } = await import('better-sqlite3');
|
|
8
|
+
const db = new Database(filename);
|
|
9
|
+
db.pragma('journal_mode = WAL');
|
|
10
|
+
return {
|
|
11
|
+
async all(sql, params = []) {
|
|
12
|
+
return db.prepare(sql).all(...params);
|
|
13
|
+
},
|
|
14
|
+
async run(sql, params = []) {
|
|
15
|
+
db.prepare(sql).run(...params);
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=SqliteExec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteExec.js","sourceRoot":"","sources":["../../../src/server/sqlite/SqliteExec.ts"],"names":[],"mappings":"AAeA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAQ,GAAG,UAAU;IAErB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC7D,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,OAAO;QACL,KAAK,CAAC,GAAG,CAAI,GAAW,EAAE,SAA6B,EAAE;YACvD,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAI,MAAoB,CAAQ,CAAC;QAC9D,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,SAA6B,EAAE;YACpD,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAI,MAAoB,CAAC,CAAC;QAChD,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MongoDB-style filter → SQLite WHERE clause translation.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors PostgresFilter.ts's EXACT current semantics so a collection can move
|
|
5
|
+
* between the Postgres and SQLite backends with identical query results.
|
|
6
|
+
* Placeholders are `?` (accepted by both better-sqlite3 and Cloudflare D1).
|
|
7
|
+
* Pure string manipulation — MUST NOT import any DB driver (native or otherwise).
|
|
8
|
+
*/
|
|
9
|
+
export interface TranslatedFilter {
|
|
10
|
+
where: string;
|
|
11
|
+
values: unknown[];
|
|
12
|
+
}
|
|
13
|
+
export declare function translateFilter(filter: Record<string, unknown>): TranslatedFilter;
|
|
14
|
+
/**
|
|
15
|
+
* Field names a filter actually discriminates on (excludes top-level columns
|
|
16
|
+
* and `$exists`-only checks). Sibling of PostgresFilter.collectJsonbFields —
|
|
17
|
+
* used later by index-coverage enforcement.
|
|
18
|
+
*/
|
|
19
|
+
export declare function collectJsonFields(filter: Record<string, unknown>): string[];
|
|
20
|
+
export declare function translateSort(sort: Record<string, 1 | -1>): string;
|
|
21
|
+
//# sourceMappingURL=SqliteFilter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteFilter.d.ts","sourceRoot":"","sources":["../../../src/server/sqlite/SqliteFilter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB;AAgCD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,gBAAgB,CAsFlB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAW3E;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAQlE"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MongoDB-style filter → SQLite WHERE clause translation.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors PostgresFilter.ts's EXACT current semantics so a collection can move
|
|
5
|
+
* between the Postgres and SQLite backends with identical query results.
|
|
6
|
+
* Placeholders are `?` (accepted by both better-sqlite3 and Cloudflare D1).
|
|
7
|
+
* Pure string manipulation — MUST NOT import any DB driver (native or otherwise).
|
|
8
|
+
*/
|
|
9
|
+
const TOP_LEVEL_COLUMNS = new Set(['_id', 'created', 'updated', 'version']);
|
|
10
|
+
/** `json_extract(data,'$.a.b')` (typed) or, in text context, cast to TEXT. */
|
|
11
|
+
function jsonPath(field, asText = false) {
|
|
12
|
+
if (TOP_LEVEL_COLUMNS.has(field))
|
|
13
|
+
return `"${field}"`;
|
|
14
|
+
const path = '$.' + field; // dot-notation maps directly to a JSON path
|
|
15
|
+
const extract = `json_extract(data,'${path}')`;
|
|
16
|
+
return asText ? `CAST(${extract} AS TEXT)` : extract;
|
|
17
|
+
}
|
|
18
|
+
/** `json_type(data,'$.f')` — NULL only when the path is ABSENT (present-null → 'null'). */
|
|
19
|
+
function jsonTypePath(field) {
|
|
20
|
+
return `json_type(data,'$.${field}')`;
|
|
21
|
+
}
|
|
22
|
+
function isOperatorObject(value) {
|
|
23
|
+
if (typeof value !== 'object' || value === null || Array.isArray(value))
|
|
24
|
+
return false;
|
|
25
|
+
return Object.keys(value).some((k) => k.startsWith('$'));
|
|
26
|
+
}
|
|
27
|
+
/** SQLite has no boolean type; JSON booleans extract to 1/0. Normalize operands. */
|
|
28
|
+
function normalize(value) {
|
|
29
|
+
return typeof value === 'boolean' ? (value ? 1 : 0) : value;
|
|
30
|
+
}
|
|
31
|
+
function placeholders(n) {
|
|
32
|
+
return Array.from({ length: n }, () => '?').join(',');
|
|
33
|
+
}
|
|
34
|
+
export function translateFilter(filter) {
|
|
35
|
+
const clauses = [];
|
|
36
|
+
const values = [];
|
|
37
|
+
for (const [field, value] of Object.entries(filter)) {
|
|
38
|
+
const acc = jsonPath(field);
|
|
39
|
+
if (isOperatorObject(value)) {
|
|
40
|
+
for (const [op, operand] of Object.entries(value)) {
|
|
41
|
+
switch (op) {
|
|
42
|
+
case '$in': {
|
|
43
|
+
const arr = operand.map(normalize);
|
|
44
|
+
if (TOP_LEVEL_COLUMNS.has(field)) {
|
|
45
|
+
clauses.push(`${acc} IN (${placeholders(arr.length)})`);
|
|
46
|
+
values.push(...arr);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
clauses.push(`(${acc} IN (${placeholders(arr.length)}) OR EXISTS(SELECT 1 FROM json_each(data,'$.${field}') WHERE json_each.value IN (${placeholders(arr.length)})))`);
|
|
50
|
+
values.push(...arr, ...arr);
|
|
51
|
+
}
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
case '$nin': {
|
|
55
|
+
const arr = operand.map(normalize);
|
|
56
|
+
if (TOP_LEVEL_COLUMNS.has(field)) {
|
|
57
|
+
clauses.push(`(${acc} IS NULL OR ${acc} NOT IN (${placeholders(arr.length)}))`);
|
|
58
|
+
values.push(...arr);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
clauses.push(`(${acc} IS NULL OR (${acc} NOT IN (${placeholders(arr.length)}) AND NOT EXISTS(SELECT 1 FROM json_each(data,'$.${field}') WHERE json_each.value IN (${placeholders(arr.length)}))))`);
|
|
62
|
+
values.push(...arr, ...arr);
|
|
63
|
+
}
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
case '$gt':
|
|
67
|
+
case '$gte':
|
|
68
|
+
case '$lt':
|
|
69
|
+
case '$lte': {
|
|
70
|
+
const sqlOp = { $gt: '>', $gte: '>=', $lt: '<', $lte: '<=' }[op];
|
|
71
|
+
clauses.push(`${acc} ${sqlOp} ?`);
|
|
72
|
+
values.push(normalize(operand));
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
case '$ne':
|
|
76
|
+
if (operand === null) {
|
|
77
|
+
clauses.push(`(${jsonTypePath(field)} IS NOT NULL AND ${acc} != 'null')`);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
clauses.push(`(${acc} IS NULL OR ${acc} != ?)`);
|
|
81
|
+
values.push(normalize(operand));
|
|
82
|
+
}
|
|
83
|
+
break;
|
|
84
|
+
case '$eq':
|
|
85
|
+
if (operand === null) {
|
|
86
|
+
clauses.push(`(${jsonTypePath(field)} IS NULL OR ${acc} = 'null')`);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
const eqAcc = field === '_id' ? '_id' : acc;
|
|
90
|
+
clauses.push(`${eqAcc} = ?`);
|
|
91
|
+
values.push(normalize(operand));
|
|
92
|
+
}
|
|
93
|
+
break;
|
|
94
|
+
case '$exists':
|
|
95
|
+
clauses.push(operand
|
|
96
|
+
? `${jsonTypePath(field)} IS NOT NULL`
|
|
97
|
+
: `${jsonTypePath(field)} IS NULL`);
|
|
98
|
+
break;
|
|
99
|
+
default:
|
|
100
|
+
throw new Error(`[SqliteFilter] Unsupported filter operator: ${op}`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
else if (value === null) {
|
|
105
|
+
clauses.push(`(${jsonTypePath(field)} IS NULL OR ${acc} = 'null')`);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
const eqAcc = field === '_id' ? '_id' : acc;
|
|
109
|
+
clauses.push(`${eqAcc} = ?`);
|
|
110
|
+
values.push(normalize(value));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return { where: clauses.join(' AND '), values };
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Field names a filter actually discriminates on (excludes top-level columns
|
|
117
|
+
* and `$exists`-only checks). Sibling of PostgresFilter.collectJsonbFields —
|
|
118
|
+
* used later by index-coverage enforcement.
|
|
119
|
+
*/
|
|
120
|
+
export function collectJsonFields(filter) {
|
|
121
|
+
const out = [];
|
|
122
|
+
for (const [field, value] of Object.entries(filter)) {
|
|
123
|
+
if (TOP_LEVEL_COLUMNS.has(field))
|
|
124
|
+
continue;
|
|
125
|
+
if (isOperatorObject(value)) {
|
|
126
|
+
const keys = Object.keys(value);
|
|
127
|
+
if (keys.every((k) => k === '$exists'))
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
out.push(field);
|
|
131
|
+
}
|
|
132
|
+
return out;
|
|
133
|
+
}
|
|
134
|
+
export function translateSort(sort) {
|
|
135
|
+
return Object.entries(sort)
|
|
136
|
+
.map(([field, dir]) => {
|
|
137
|
+
const d = dir === 1 ? 'ASC' : 'DESC';
|
|
138
|
+
const expr = jsonPath(field, true); // text context — lexical, matches PG ->>'
|
|
139
|
+
return `(${expr} IS NULL) ${d}, ${expr} ${d}`;
|
|
140
|
+
})
|
|
141
|
+
.join(', ');
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=SqliteFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteFilter.js","sourceRoot":"","sources":["../../../src/server/sqlite/SqliteFilter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqlitePipeline.d.ts","sourceRoot":"","sources":["../../../src/server/sqlite/SqlitePipeline.ts"],"names":[],"mappings":"AAgFA,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACnC,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,EAAE,CAAA;CAAE,CAuFpC"}
|