@mistriwork/engine 0.0.0-stage → 1.0.0-rc.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (546) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +17 -2
  3. package/dist/adapters/adapter.d.ts +693 -0
  4. package/dist/adapters/adapter.js +444 -0
  5. package/dist/adapters/cache/cacheStore.d.ts +75 -0
  6. package/dist/adapters/cache/cacheStore.js +160 -0
  7. package/dist/adapters/cache/resp.d.ts +52 -0
  8. package/dist/adapters/cache/resp.js +237 -0
  9. package/dist/adapters/commands/canonicalJson.d.ts +19 -0
  10. package/dist/adapters/commands/canonicalJson.js +154 -0
  11. package/dist/adapters/connect.d.ts +29 -0
  12. package/dist/adapters/connect.js +40 -0
  13. package/dist/adapters/connectionBudget.d.ts +101 -0
  14. package/dist/adapters/connectionBudget.js +128 -0
  15. package/dist/adapters/dbLatency.d.ts +35 -0
  16. package/dist/adapters/dbLatency.js +79 -0
  17. package/dist/adapters/epochCache.d.ts +50 -0
  18. package/dist/adapters/epochCache.js +85 -0
  19. package/dist/adapters/http/egress.d.ts +48 -0
  20. package/dist/adapters/http/egress.js +175 -0
  21. package/dist/adapters/http/httpAdapter.d.ts +71 -0
  22. package/dist/adapters/http/httpAdapter.js +512 -0
  23. package/dist/adapters/http/httpDescription.d.ts +32 -0
  24. package/dist/adapters/http/httpDescription.js +246 -0
  25. package/dist/adapters/http/openapi.d.ts +98 -0
  26. package/dist/adapters/http/openapi.js +487 -0
  27. package/dist/adapters/layoutRefusal.d.ts +24 -0
  28. package/dist/adapters/layoutRefusal.js +35 -0
  29. package/dist/adapters/net/networkPolicy.d.ts +44 -0
  30. package/dist/adapters/net/networkPolicy.js +123 -0
  31. package/dist/adapters/net/untrustedDatabase.d.ts +18 -0
  32. package/dist/adapters/net/untrustedDatabase.js +120 -0
  33. package/dist/adapters/poolAdmission.d.ts +43 -0
  34. package/dist/adapters/poolAdmission.js +184 -0
  35. package/dist/adapters/poolMetrics.d.ts +121 -0
  36. package/dist/adapters/poolMetrics.js +185 -0
  37. package/dist/adapters/postgres.d.ts +436 -0
  38. package/dist/adapters/postgres.js +1890 -0
  39. package/dist/adapters/postgresCatalog.d.ts +96 -0
  40. package/dist/adapters/postgresCatalog.js +387 -0
  41. package/dist/adapters/postgresCatalogDigest.d.ts +30 -0
  42. package/dist/adapters/postgresCatalogDigest.js +87 -0
  43. package/dist/adapters/postgresCatalogRows.d.ts +62 -0
  44. package/dist/adapters/postgresCatalogRows.js +37 -0
  45. package/dist/adapters/postgresDates.d.ts +1 -0
  46. package/dist/adapters/postgresDates.js +39 -0
  47. package/dist/adapters/postgresMaintenance.d.ts +33 -0
  48. package/dist/adapters/postgresMaintenance.js +179 -0
  49. package/dist/adapters/postgresPool.d.ts +255 -0
  50. package/dist/adapters/postgresPool.js +838 -0
  51. package/dist/adapters/postgresPooler.d.ts +28 -0
  52. package/dist/adapters/postgresPooler.js +267 -0
  53. package/dist/adapters/postgresReadCatalog.d.ts +31 -0
  54. package/dist/adapters/postgresReadCatalog.js +226 -0
  55. package/dist/adapters/postgresReadSnapshot.d.ts +46 -0
  56. package/dist/adapters/postgresReadSnapshot.js +133 -0
  57. package/dist/adapters/postgresSchemaEpoch.d.ts +24 -0
  58. package/dist/adapters/postgresSchemaEpoch.js +149 -0
  59. package/dist/adapters/postgresTransactionHandle.d.ts +173 -0
  60. package/dist/adapters/postgresTransactionHandle.js +524 -0
  61. package/dist/adapters/postgresValues.d.ts +30 -0
  62. package/dist/adapters/postgresValues.js +75 -0
  63. package/dist/adapters/replicas.d.ts +70 -0
  64. package/dist/adapters/replicas.js +208 -0
  65. package/dist/adapters/reservedSql.d.ts +38 -0
  66. package/dist/adapters/reservedSql.js +264 -0
  67. package/dist/adapters/rolePrivileges.d.ts +17 -0
  68. package/dist/adapters/rolePrivileges.js +22 -0
  69. package/dist/adapters/scoped/keyRows.d.ts +65 -0
  70. package/dist/adapters/scoped/keyRows.js +173 -0
  71. package/dist/adapters/scoped/postgresScopeCatalog.d.ts +16 -0
  72. package/dist/adapters/scoped/postgresScopeCatalog.js +117 -0
  73. package/dist/adapters/scoped/scopedCommandOperations.d.ts +5 -0
  74. package/dist/adapters/scoped/scopedCommandOperations.js +48 -0
  75. package/dist/adapters/scoped/scopedReads.d.ts +20 -0
  76. package/dist/adapters/scoped/scopedReads.js +174 -0
  77. package/dist/adapters/scoped/scopedTransaction.d.ts +89 -0
  78. package/dist/adapters/scoped/scopedTransaction.js +303 -0
  79. package/dist/adapters/scoped/sqliteScopeCatalog.d.ts +16 -0
  80. package/dist/adapters/scoped/sqliteScopeCatalog.js +241 -0
  81. package/dist/adapters/scoped/updateGuard.d.ts +3 -0
  82. package/dist/adapters/scoped/updateGuard.js +40 -0
  83. package/dist/adapters/serverSettings.d.ts +45 -0
  84. package/dist/adapters/serverSettings.js +46 -0
  85. package/dist/adapters/sqlite.d.ts +262 -0
  86. package/dist/adapters/sqlite.js +1434 -0
  87. package/dist/adapters/sqliteCostlyReads.d.ts +33 -0
  88. package/dist/adapters/sqliteCostlyReads.js +49 -0
  89. package/dist/adapters/sqliteDecimals.d.ts +22 -0
  90. package/dist/adapters/sqliteDecimals.js +57 -0
  91. package/dist/adapters/sqliteHandles.d.ts +43 -0
  92. package/dist/adapters/sqliteHandles.js +143 -0
  93. package/dist/adapters/sqliteStatementProcess.d.ts +29 -0
  94. package/dist/adapters/sqliteStatementProcess.js +131 -0
  95. package/dist/adapters/statementControl.d.ts +34 -0
  96. package/dist/adapters/statementControl.js +90 -0
  97. package/dist/adapters/storeHost.d.ts +130 -0
  98. package/dist/adapters/storeHost.js +13 -0
  99. package/dist/adapters/telemetry/drivers.d.ts +21 -0
  100. package/dist/adapters/telemetry/drivers.js +321 -0
  101. package/dist/adapters/telemetry/metrics.d.ts +63 -0
  102. package/dist/adapters/telemetry/metrics.js +122 -0
  103. package/dist/adapters/telemetry/otlp.d.ts +12 -0
  104. package/dist/adapters/telemetry/otlp.js +320 -0
  105. package/dist/adapters/telemetry/otlpEncode.d.ts +48 -0
  106. package/dist/adapters/telemetry/otlpEncode.js +366 -0
  107. package/dist/adapters/telemetry/otlpEnv.d.ts +1 -0
  108. package/dist/adapters/telemetry/otlpEnv.js +12 -0
  109. package/dist/adapters/telemetry/serverTiming.d.ts +83 -0
  110. package/dist/adapters/telemetry/serverTiming.js +503 -0
  111. package/dist/adapters/telemetry/start.d.ts +10 -0
  112. package/dist/adapters/telemetry/start.js +25 -0
  113. package/dist/adapters/telemetry/statement.d.ts +16 -0
  114. package/dist/adapters/telemetry/statement.js +134 -0
  115. package/dist/adapters/telemetry/trace.d.ts +127 -0
  116. package/dist/adapters/telemetry/trace.js +295 -0
  117. package/dist/adapters/writeAhead.d.ts +27 -0
  118. package/dist/adapters/writeAhead.js +46 -0
  119. package/dist/adapters/writeAttribution.d.ts +18 -0
  120. package/dist/adapters/writeAttribution.js +23 -0
  121. package/dist/adapters/writeCapture.d.ts +73 -0
  122. package/dist/adapters/writeCapture.js +20 -0
  123. package/dist/adapters/writeLanes.d.ts +94 -0
  124. package/dist/adapters/writeLanes.js +232 -0
  125. package/dist/engine.d.ts +15 -0
  126. package/dist/engine.js +13 -0
  127. package/dist/server/auth/credentials.d.ts +61 -0
  128. package/dist/server/auth/credentials.js +260 -0
  129. package/dist/server/cacheService.d.ts +50 -0
  130. package/dist/server/cacheService.js +110 -0
  131. package/dist/server/cli/args.d.ts +176 -0
  132. package/dist/server/cli/args.js +342 -0
  133. package/dist/server/cli/bin.d.ts +5 -0
  134. package/dist/server/cli/bin.js +66 -0
  135. package/dist/server/cli/browser.d.ts +15 -0
  136. package/dist/server/cli/browser.js +37 -0
  137. package/dist/server/cli/config.d.ts +50 -0
  138. package/dist/server/cli/config.js +206 -0
  139. package/dist/server/cli/startup.d.ts +36 -0
  140. package/dist/server/cli/startup.js +128 -0
  141. package/dist/server/cli/startupOptions.d.ts +63 -0
  142. package/dist/server/cli/startupOptions.js +143 -0
  143. package/dist/server/cli/subcommand.d.ts +28 -0
  144. package/dist/server/cli/subcommand.js +32 -0
  145. package/dist/server/cli/usage.d.ts +13 -0
  146. package/dist/server/cli/usage.js +31 -0
  147. package/dist/server/clientHttp.d.ts +184 -0
  148. package/dist/server/clientHttp.js +700 -0
  149. package/dist/server/clientSurface.d.ts +128 -0
  150. package/dist/server/clientSurface.js +182 -0
  151. package/dist/server/columnGrants.d.ts +103 -0
  152. package/dist/server/columnGrants.js +730 -0
  153. package/dist/server/compileCache.d.ts +1 -0
  154. package/dist/server/compileCache.js +30 -0
  155. package/dist/server/config/locations.d.ts +1 -0
  156. package/dist/server/config/locations.js +15 -0
  157. package/dist/server/configPaths.d.ts +7 -0
  158. package/dist/server/configPaths.js +34 -0
  159. package/dist/server/configSections.d.ts +64 -0
  160. package/dist/server/configSections.js +72 -0
  161. package/dist/server/connectionRedaction.d.ts +30 -0
  162. package/dist/server/connectionRedaction.js +77 -0
  163. package/dist/server/connections.d.ts +353 -0
  164. package/dist/server/connections.js +978 -0
  165. package/dist/server/constraints.d.ts +82 -0
  166. package/dist/server/constraints.js +169 -0
  167. package/dist/server/demo.d.ts +9 -0
  168. package/dist/server/demo.js +554 -0
  169. package/dist/server/devclient.d.ts +108 -0
  170. package/dist/server/devclient.js +361 -0
  171. package/dist/server/evidence.d.ts +55 -0
  172. package/dist/server/evidence.js +323 -0
  173. package/dist/server/hiddenColumns.d.ts +32 -0
  174. package/dist/server/hiddenColumns.js +238 -0
  175. package/dist/server/http/baselineHeaders.d.ts +24 -0
  176. package/dist/server/http/baselineHeaders.js +12 -0
  177. package/dist/server/http/captured.d.ts +35 -0
  178. package/dist/server/http/captured.js +73 -0
  179. package/dist/server/http/clock.d.ts +1 -0
  180. package/dist/server/http/clock.js +14 -0
  181. package/dist/server/http/connectionSource.d.ts +4 -0
  182. package/dist/server/http/connectionSource.js +48 -0
  183. package/dist/server/http/context.d.ts +189 -0
  184. package/dist/server/http/context.js +11 -0
  185. package/dist/server/http/crawlerText.d.ts +15 -0
  186. package/dist/server/http/crawlerText.js +32 -0
  187. package/dist/server/http/dataRoutes.d.ts +88 -0
  188. package/dist/server/http/dataRoutes.js +137 -0
  189. package/dist/server/http/door.d.ts +57 -0
  190. package/dist/server/http/door.js +39 -0
  191. package/dist/server/http/exportRoute.d.ts +15 -0
  192. package/dist/server/http/exportRoute.js +320 -0
  193. package/dist/server/http/firstPaint.d.ts +108 -0
  194. package/dist/server/http/firstPaint.js +262 -0
  195. package/dist/server/http/httpOperationRoutes.d.ts +11 -0
  196. package/dist/server/http/httpOperationRoutes.js +50 -0
  197. package/dist/server/http/pageReads.d.ts +20 -0
  198. package/dist/server/http/pageReads.js +205 -0
  199. package/dist/server/http/pageRoutes.d.ts +39 -0
  200. package/dist/server/http/pageRoutes.js +291 -0
  201. package/dist/server/http/probes.d.ts +22 -0
  202. package/dist/server/http/probes.js +27 -0
  203. package/dist/server/http/rateLimit.d.ts +131 -0
  204. package/dist/server/http/rateLimit.js +351 -0
  205. package/dist/server/http/readRoutes.d.ts +9 -0
  206. package/dist/server/http/readRoutes.js +131 -0
  207. package/dist/server/http/readRouting.d.ts +20 -0
  208. package/dist/server/http/readRouting.js +80 -0
  209. package/dist/server/http/recordCompose.d.ts +67 -0
  210. package/dist/server/http/recordCompose.js +167 -0
  211. package/dist/server/http/recordWrites.d.ts +89 -0
  212. package/dist/server/http/recordWrites.js +298 -0
  213. package/dist/server/http/refusalReport.d.ts +38 -0
  214. package/dist/server/http/refusalReport.js +63 -0
  215. package/dist/server/http/reply.d.ts +130 -0
  216. package/dist/server/http/reply.js +394 -0
  217. package/dist/server/http/requestOrigin.d.ts +11 -0
  218. package/dist/server/http/requestOrigin.js +8 -0
  219. package/dist/server/http/router.d.ts +45 -0
  220. package/dist/server/http/router.js +22 -0
  221. package/dist/server/http/serverCore.d.ts +68 -0
  222. package/dist/server/http/serverCore.js +177 -0
  223. package/dist/server/http/traceRequest.d.ts +30 -0
  224. package/dist/server/http/traceRequest.js +224 -0
  225. package/dist/server/http/trust.d.ts +261 -0
  226. package/dist/server/http/trust.js +472 -0
  227. package/dist/server/http/writeRefusal.d.ts +33 -0
  228. package/dist/server/http/writeRefusal.js +24 -0
  229. package/dist/server/httpConnection.d.ts +49 -0
  230. package/dist/server/httpConnection.js +170 -0
  231. package/dist/server/impact.d.ts +55 -0
  232. package/dist/server/impact.js +47 -0
  233. package/dist/server/journal.d.ts +134 -0
  234. package/dist/server/journal.js +398 -0
  235. package/dist/server/keysetReadHttp.d.ts +52 -0
  236. package/dist/server/keysetReadHttp.js +85 -0
  237. package/dist/server/layouts.d.ts +49 -0
  238. package/dist/server/layouts.js +192 -0
  239. package/dist/server/migrate/cli.d.ts +55 -0
  240. package/dist/server/migrate/cli.js +517 -0
  241. package/dist/server/migrate/database.d.ts +37 -0
  242. package/dist/server/migrate/database.js +247 -0
  243. package/dist/server/migrate/desired.d.ts +76 -0
  244. package/dist/server/migrate/desired.js +292 -0
  245. package/dist/server/migrate/files.d.ts +34 -0
  246. package/dist/server/migrate/files.js +141 -0
  247. package/dist/server/migrate/flyway.d.ts +7 -0
  248. package/dist/server/migrate/flyway.js +69 -0
  249. package/dist/server/migrate/history.d.ts +70 -0
  250. package/dist/server/migrate/history.js +211 -0
  251. package/dist/server/migrate/runner.d.ts +100 -0
  252. package/dist/server/migrate/runner.js +409 -0
  253. package/dist/server/migrate/snapshot.d.ts +30 -0
  254. package/dist/server/migrate/snapshot.js +239 -0
  255. package/dist/server/migrate/target.d.ts +33 -0
  256. package/dist/server/migrate/target.js +82 -0
  257. package/dist/server/openapiDraft.d.ts +25 -0
  258. package/dist/server/openapiDraft.js +171 -0
  259. package/dist/server/operations/diagnostics.d.ts +101 -0
  260. package/dist/server/operations/diagnostics.js +284 -0
  261. package/dist/server/operations/requestMetrics.d.ts +33 -0
  262. package/dist/server/operations/requestMetrics.js +94 -0
  263. package/dist/server/packageVersion.d.ts +1 -0
  264. package/dist/server/packageVersion.js +11 -0
  265. package/dist/server/poolConfig.d.ts +34 -0
  266. package/dist/server/poolConfig.js +114 -0
  267. package/dist/server/product.d.ts +20 -0
  268. package/dist/server/product.js +12 -0
  269. package/dist/server/recordHistoryOperations.d.ts +39 -0
  270. package/dist/server/recordHistoryOperations.js +43 -0
  271. package/dist/server/recordWriteOperations.d.ts +111 -0
  272. package/dist/server/recordWriteOperations.js +329 -0
  273. package/dist/server/resourceReadHttp.d.ts +81 -0
  274. package/dist/server/resourceReadHttp.js +606 -0
  275. package/dist/server/resourceReadOperations.d.ts +147 -0
  276. package/dist/server/resourceReadOperations.js +452 -0
  277. package/dist/server/scaffoldMachine.d.ts +54 -0
  278. package/dist/server/scaffoldMachine.js +184 -0
  279. package/dist/server/seed/cli.d.ts +20 -0
  280. package/dist/server/seed/cli.js +164 -0
  281. package/dist/server/seed/lexicon.d.ts +26 -0
  282. package/dist/server/seed/lexicon.js +585 -0
  283. package/dist/server/seed/seed.d.ts +70 -0
  284. package/dist/server/seed/seed.js +779 -0
  285. package/dist/server/seed/words.d.ts +21 -0
  286. package/dist/server/seed/words.js +164 -0
  287. package/dist/server/serverRequests.d.ts +6 -0
  288. package/dist/server/serverRequests.js +33 -0
  289. package/dist/server/serverTimeouts.d.ts +33 -0
  290. package/dist/server/serverTimeouts.js +32 -0
  291. package/dist/server/shapeonly.d.ts +32 -0
  292. package/dist/server/shapeonly.js +110 -0
  293. package/dist/server/startupWarnings.d.ts +32 -0
  294. package/dist/server/startupWarnings.js +92 -0
  295. package/dist/shared/addressParams.d.ts +28 -0
  296. package/dist/shared/addressParams.js +47 -0
  297. package/dist/shared/appCards.d.ts +123 -0
  298. package/dist/shared/appCards.js +385 -0
  299. package/dist/shared/appComponents.d.ts +177 -0
  300. package/dist/shared/appComponents.js +422 -0
  301. package/dist/shared/appDocuments.d.ts +43 -0
  302. package/dist/shared/appDocuments.js +131 -0
  303. package/dist/shared/appEmbeds.d.ts +21 -0
  304. package/dist/shared/appEmbeds.js +24 -0
  305. package/dist/shared/appIcons.d.ts +28 -0
  306. package/dist/shared/appIcons.js +223 -0
  307. package/dist/shared/appLinks.d.ts +17 -0
  308. package/dist/shared/appLinks.js +124 -0
  309. package/dist/shared/appListColumns.d.ts +3 -0
  310. package/dist/shared/appListColumns.js +66 -0
  311. package/dist/shared/appLocale.d.ts +36 -0
  312. package/dist/shared/appLocale.js +86 -0
  313. package/dist/shared/appMessages.d.ts +44 -0
  314. package/dist/shared/appMessages.js +78 -0
  315. package/dist/shared/appNoun.d.ts +21 -0
  316. package/dist/shared/appNoun.js +32 -0
  317. package/dist/shared/autoBucket.d.ts +98 -0
  318. package/dist/shared/autoBucket.js +305 -0
  319. package/dist/shared/autoValues.d.ts +25 -0
  320. package/dist/shared/autoValues.js +25 -0
  321. package/dist/shared/breakdown.d.ts +228 -0
  322. package/dist/shared/breakdown.js +557 -0
  323. package/dist/shared/breakdowntext.d.ts +41 -0
  324. package/dist/shared/breakdowntext.js +400 -0
  325. package/dist/shared/builtInThemes.d.ts +2 -0
  326. package/dist/shared/builtInThemes.js +771 -0
  327. package/dist/shared/chartSeparation.d.ts +11 -0
  328. package/dist/shared/chartSeparation.js +58 -0
  329. package/dist/shared/clauses.d.ts +22 -0
  330. package/dist/shared/clauses.js +97 -0
  331. package/dist/shared/columnCaption.d.ts +16 -0
  332. package/dist/shared/columnCaption.js +90 -0
  333. package/dist/shared/commandFieldPath.d.ts +2 -0
  334. package/dist/shared/commandFieldPath.js +7 -0
  335. package/dist/shared/commandWire.d.ts +26 -0
  336. package/dist/shared/commandWire.js +41 -0
  337. package/dist/shared/computed.d.ts +161 -0
  338. package/dist/shared/computed.js +378 -0
  339. package/dist/shared/computedParse.d.ts +13 -0
  340. package/dist/shared/computedParse.js +278 -0
  341. package/dist/shared/computedValue.d.ts +47 -0
  342. package/dist/shared/computedValue.js +191 -0
  343. package/dist/shared/connection.d.ts +30 -0
  344. package/dist/shared/connection.js +1 -0
  345. package/dist/shared/csv.d.ts +20 -0
  346. package/dist/shared/csv.js +63 -0
  347. package/dist/shared/dashLayout.d.ts +30 -0
  348. package/dist/shared/dashLayout.js +132 -0
  349. package/dist/shared/dashboardAsks.d.ts +93 -0
  350. package/dist/shared/dashboardAsks.js +129 -0
  351. package/dist/shared/dashboardTrend.d.ts +20 -0
  352. package/dist/shared/dashboardTrend.js +50 -0
  353. package/dist/shared/declaredReferences.d.ts +50 -0
  354. package/dist/shared/declaredReferences.js +202 -0
  355. package/dist/shared/definedFields.d.ts +63 -0
  356. package/dist/shared/definedFields.js +103 -0
  357. package/dist/shared/definedValues.d.ts +63 -0
  358. package/dist/shared/definedValues.js +184 -0
  359. package/dist/shared/displayDefaults.d.ts +135 -0
  360. package/dist/shared/displayDefaults.js +529 -0
  361. package/dist/shared/dueDate.d.ts +6 -0
  362. package/dist/shared/dueDate.js +6 -0
  363. package/dist/shared/duration.d.ts +4 -0
  364. package/dist/shared/duration.js +23 -0
  365. package/dist/shared/fileBounds.d.ts +9 -0
  366. package/dist/shared/fileBounds.js +9 -0
  367. package/dist/shared/filter.d.ts +217 -0
  368. package/dist/shared/filter.js +305 -0
  369. package/dist/shared/firstPaint.d.ts +24 -0
  370. package/dist/shared/firstPaint.js +33 -0
  371. package/dist/shared/form.d.ts +21 -0
  372. package/dist/shared/form.js +25 -0
  373. package/dist/shared/formValues.d.ts +104 -0
  374. package/dist/shared/formValues.js +352 -0
  375. package/dist/shared/funnel.d.ts +45 -0
  376. package/dist/shared/funnel.js +108 -0
  377. package/dist/shared/httpOperations.d.ts +48 -0
  378. package/dist/shared/httpOperations.js +9 -0
  379. package/dist/shared/iconGlyphs.d.ts +4 -0
  380. package/dist/shared/iconGlyphs.js +151 -0
  381. package/dist/shared/iconWeights.d.ts +3 -0
  382. package/dist/shared/iconWeights.js +162 -0
  383. package/dist/shared/imageWidths.d.ts +32 -0
  384. package/dist/shared/imageWidths.js +38 -0
  385. package/dist/shared/keysetPage.d.ts +64 -0
  386. package/dist/shared/keysetPage.js +161 -0
  387. package/dist/shared/like.d.ts +20 -0
  388. package/dist/shared/like.js +29 -0
  389. package/dist/shared/listEmpty.d.ts +12 -0
  390. package/dist/shared/listEmpty.js +36 -0
  391. package/dist/shared/listFilters.d.ts +28 -0
  392. package/dist/shared/listFilters.js +84 -0
  393. package/dist/shared/listPresentations.d.ts +199 -0
  394. package/dist/shared/listPresentations.js +7 -0
  395. package/dist/shared/listQuestion.d.ts +52 -0
  396. package/dist/shared/listQuestion.js +137 -0
  397. package/dist/shared/lookPalettes.d.ts +62 -0
  398. package/dist/shared/lookPalettes.js +306 -0
  399. package/dist/shared/maskQuoted.d.ts +24 -0
  400. package/dist/shared/maskQuoted.js +48 -0
  401. package/dist/shared/mentionLabel.d.ts +19 -0
  402. package/dist/shared/mentionLabel.js +38 -0
  403. package/dist/shared/mentionLookup.d.ts +17 -0
  404. package/dist/shared/mentionLookup.js +64 -0
  405. package/dist/shared/menuCounts.d.ts +16 -0
  406. package/dist/shared/menuCounts.js +74 -0
  407. package/dist/shared/model.d.ts +79 -0
  408. package/dist/shared/model.js +153 -0
  409. package/dist/shared/money.d.ts +44 -0
  410. package/dist/shared/money.js +81 -0
  411. package/dist/shared/moneyEntry.d.ts +7 -0
  412. package/dist/shared/moneyEntry.js +27 -0
  413. package/dist/shared/mount.d.ts +118 -0
  414. package/dist/shared/mount.js +248 -0
  415. package/dist/shared/niceTicks.d.ts +26 -0
  416. package/dist/shared/niceTicks.js +50 -0
  417. package/dist/shared/order.d.ts +59 -0
  418. package/dist/shared/order.js +133 -0
  419. package/dist/shared/page.d.ts +135 -0
  420. package/dist/shared/page.js +1187 -0
  421. package/dist/shared/pageAnatomy.d.ts +99 -0
  422. package/dist/shared/pageAnatomy.js +370 -0
  423. package/dist/shared/pageConfig.d.ts +25 -0
  424. package/dist/shared/pageConfig.js +1308 -0
  425. package/dist/shared/pageEmptyActions.d.ts +12 -0
  426. package/dist/shared/pageEmptyActions.js +20 -0
  427. package/dist/shared/pageLayouts.d.ts +72 -0
  428. package/dist/shared/pageLayouts.js +205 -0
  429. package/dist/shared/pageModel.d.ts +785 -0
  430. package/dist/shared/pageModel.js +121 -0
  431. package/dist/shared/pagePaths.d.ts +180 -0
  432. package/dist/shared/pagePaths.js +869 -0
  433. package/dist/shared/pagePlans.d.ts +52 -0
  434. package/dist/shared/pagePlans.js +108 -0
  435. package/dist/shared/pageRoutes.d.ts +9 -0
  436. package/dist/shared/pageRoutes.js +9 -0
  437. package/dist/shared/query.d.ts +166 -0
  438. package/dist/shared/query.js +1302 -0
  439. package/dist/shared/queryDates.d.ts +12 -0
  440. package/dist/shared/queryDates.js +101 -0
  441. package/dist/shared/queryOperands.d.ts +99 -0
  442. package/dist/shared/queryOperands.js +131 -0
  443. package/dist/shared/reads.d.ts +103 -0
  444. package/dist/shared/reads.js +154 -0
  445. package/dist/shared/recordLabel.d.ts +51 -0
  446. package/dist/shared/recordLabel.js +123 -0
  447. package/dist/shared/recordReadKeys.d.ts +30 -0
  448. package/dist/shared/recordReadKeys.js +51 -0
  449. package/dist/shared/recordReads.d.ts +268 -0
  450. package/dist/shared/recordReads.js +368 -0
  451. package/dist/shared/recordview.d.ts +198 -0
  452. package/dist/shared/recordview.js +356 -0
  453. package/dist/shared/referenceModel.d.ts +58 -0
  454. package/dist/shared/referenceModel.js +194 -0
  455. package/dist/shared/refusal.d.ts +64 -0
  456. package/dist/shared/refusal.js +144 -0
  457. package/dist/shared/relatedCreate.d.ts +30 -0
  458. package/dist/shared/relatedCreate.js +162 -0
  459. package/dist/shared/resourceHttp.d.ts +464 -0
  460. package/dist/shared/resourceHttp.js +1 -0
  461. package/dist/shared/richText.d.ts +85 -0
  462. package/dist/shared/richText.js +305 -0
  463. package/dist/shared/rollups.d.ts +143 -0
  464. package/dist/shared/rollups.js +64 -0
  465. package/dist/shared/rowScope.d.ts +72 -0
  466. package/dist/shared/rowScope.js +376 -0
  467. package/dist/shared/runtimeTables.d.ts +44 -0
  468. package/dist/shared/runtimeTables.js +79 -0
  469. package/dist/shared/schema.d.ts +523 -0
  470. package/dist/shared/schema.js +627 -0
  471. package/dist/shared/schematext.d.ts +38 -0
  472. package/dist/shared/schematext.js +101 -0
  473. package/dist/shared/scopeCatalog.d.ts +29 -0
  474. package/dist/shared/scopeCatalog.js +468 -0
  475. package/dist/shared/servedApp.d.ts +681 -0
  476. package/dist/shared/servedApp.js +45 -0
  477. package/dist/shared/sessionLease.d.ts +34 -0
  478. package/dist/shared/sessionLease.js +3 -0
  479. package/dist/shared/shape.d.ts +55 -0
  480. package/dist/shared/shape.js +168 -0
  481. package/dist/shared/slug.d.ts +1 -0
  482. package/dist/shared/slug.js +12 -0
  483. package/dist/shared/sortText.d.ts +14 -0
  484. package/dist/shared/sortText.js +26 -0
  485. package/dist/shared/sqlRelation.d.ts +4 -0
  486. package/dist/shared/sqlRelation.js +8 -0
  487. package/dist/shared/sqlsaved.d.ts +44 -0
  488. package/dist/shared/sqlsaved.js +63 -0
  489. package/dist/shared/stitchedPaths.d.ts +27 -0
  490. package/dist/shared/stitchedPaths.js +38 -0
  491. package/dist/shared/structuredFilter.d.ts +22 -0
  492. package/dist/shared/structuredFilter.js +1 -0
  493. package/dist/shared/subtitlePath.d.ts +20 -0
  494. package/dist/shared/subtitlePath.js +24 -0
  495. package/dist/shared/suggest.d.ts +18 -0
  496. package/dist/shared/suggest.js +59 -0
  497. package/dist/shared/tableSizing.d.ts +4 -0
  498. package/dist/shared/tableSizing.js +9 -0
  499. package/dist/shared/tagLists.d.ts +57 -0
  500. package/dist/shared/tagLists.js +34 -0
  501. package/dist/shared/textRules.d.ts +54 -0
  502. package/dist/shared/textRules.js +133 -0
  503. package/dist/shared/theme.d.ts +94 -0
  504. package/dist/shared/theme.js +800 -0
  505. package/dist/shared/themeColor.d.ts +34 -0
  506. package/dist/shared/themeColor.js +109 -0
  507. package/dist/shared/themeFaces.d.ts +30 -0
  508. package/dist/shared/themeFaces.js +42 -0
  509. package/dist/shared/themeInk.d.ts +20 -0
  510. package/dist/shared/themeInk.js +52 -0
  511. package/dist/shared/themeLooks.d.ts +9 -0
  512. package/dist/shared/themeLooks.js +572 -0
  513. package/dist/shared/themeParts.d.ts +26 -0
  514. package/dist/shared/themeParts.js +71 -0
  515. package/dist/shared/themePartsCheck.d.ts +21 -0
  516. package/dist/shared/themePartsCheck.js +91 -0
  517. package/dist/shared/themePresets.d.ts +85 -0
  518. package/dist/shared/themePresets.js +139 -0
  519. package/dist/shared/themeRecipeWords.d.ts +156 -0
  520. package/dist/shared/themeRecipeWords.js +156 -0
  521. package/dist/shared/themeRecipes.d.ts +213 -0
  522. package/dist/shared/themeRecipes.js +234 -0
  523. package/dist/shared/themeResolve.d.ts +55 -0
  524. package/dist/shared/themeResolve.js +52 -0
  525. package/dist/shared/themeTokens.d.ts +107 -0
  526. package/dist/shared/themeTokens.js +116 -0
  527. package/dist/shared/themeType.d.ts +38 -0
  528. package/dist/shared/themeType.js +205 -0
  529. package/dist/shared/unitWord.d.ts +4 -0
  530. package/dist/shared/unitWord.js +37 -0
  531. package/dist/shared/view.d.ts +195 -0
  532. package/dist/shared/view.js +987 -0
  533. package/dist/shared/viewLabels.d.ts +47 -0
  534. package/dist/shared/viewLabels.js +459 -0
  535. package/dist/shared/viewPaths.d.ts +248 -0
  536. package/dist/shared/viewPaths.js +294 -0
  537. package/dist/shared/viewtext.d.ts +57 -0
  538. package/dist/shared/viewtext.js +282 -0
  539. package/dist/shared/vocabulary.d.ts +71 -0
  540. package/dist/shared/vocabulary.js +249 -0
  541. package/dist/shared/weekStart.d.ts +7 -0
  542. package/dist/shared/weekStart.js +36 -0
  543. package/mark.svg +1 -0
  544. package/package.json +261 -4
  545. package/schema/model.d.ts +298 -0
  546. package/schema/theme.d.ts +587 -0
@@ -0,0 +1,40 @@
1
+ import { Refusal } from '../adapter.js';
2
+ import { comparableType, isJsonType } from '../../shared/schema.js';
3
+ /** Appended to a complete primary-key WHERE, with values bound after its parameters. */
4
+ export function buildUpdateGuard(request, types, style, dialect, startIndex) {
5
+ if (request.expected === undefined)
6
+ return { text: '', params: [] };
7
+ const expected = request.expected;
8
+ if (!expected || typeof expected !== 'object' || Array.isArray(expected))
9
+ throw new Refusal('Expected values must be an object containing exactly the fields being updated.');
10
+ /* A JSON column is written whole and compares on no engine, so its
11
+ original value may be left out (a command's update leaves it out). */
12
+ const columns = Object.keys(request.values).filter((column) => Object.hasOwn(expected, column) || !isJsonType(types[column] ?? ''));
13
+ if (Object.keys(expected).length !== columns.length || !columns.every((column) => Object.hasOwn(expected, column))) {
14
+ throw new Refusal('Expected values must contain exactly the fields being updated.');
15
+ }
16
+ const params = [];
17
+ const checks = columns.map((column) => {
18
+ const value = expected[column];
19
+ const quoted = style.quote(column);
20
+ if (value === null)
21
+ return `${quoted} IS NULL`;
22
+ if (typeof value !== 'string' && typeof value !== 'boolean' && !(typeof value === 'number' && Number.isFinite(value))) {
23
+ throw new Refusal(`The original value of "${column}" must be a scalar or NULL.`);
24
+ }
25
+ const type = types[column] ?? '';
26
+ if (!comparableType(type)) {
27
+ throw new Refusal(`Protected editing of "${column}" (${type}) is not supported. Its original value cannot be compared safely here.`);
28
+ }
29
+ const placeholder = style.placeholder(startIndex + params.length);
30
+ // Preserve decimal/integer strings: Number() could round the original value.
31
+ params.push(dialect === 'sqlite' && typeof value === 'boolean' ? Number(value) : value);
32
+ // SQLite can store text even without a declared type; its collation still applies.
33
+ if (dialect === 'sqlite')
34
+ return `${quoted} COLLATE BINARY = ${placeholder}`;
35
+ if (/char|text|clob|citext/i.test(type))
36
+ return `${quoted}::text COLLATE "C" = ${placeholder}`;
37
+ return `${quoted} = ${placeholder}`;
38
+ });
39
+ return checks.length ? { text: ` AND (${checks.join(' AND ')})`, params } : { text: '', params: [] };
40
+ }
@@ -0,0 +1,45 @@
1
+ import type { PoolerMode } from './poolMetrics.js';
2
+ export type WriteOrder = 'serial' | 'keyed';
3
+ /** `--trust-proxy-hops` and `--trust-proxy-cloudflare`: how a forwarded client address is found (trust.ts). */
4
+ export interface ClientAddressPolicy {
5
+ /** This many proxies append to X-Forwarded-For, the socket peer being the first. */
6
+ readonly hops?: number;
7
+ /** The server is reachable only through Cloudflare, which sets CF-Connecting-IP. */
8
+ readonly cloudflare?: boolean;
9
+ }
10
+ export interface ServerSettings {
11
+ readonly clientAddress: ClientAddressPolicy;
12
+ /**
13
+ * The address the server is published at (MISTRI_PUBLIC_URL, or a mounting
14
+ * host's) is https: a TLS front end stands before every request, so a
15
+ * request counts as https whatever its own socket says (trust.ts
16
+ * `arrivedOverHttps`). Cloudflare, Cloud Run and most platforms end TLS
17
+ * and forward plain http from a peer nobody can name in `--trust-proxy`.
18
+ */
19
+ readonly httpsFront?: boolean;
20
+ /** `--read-pool`: a PostgreSQL reader pool's size; unset, it follows the write order (postgresPool.ts). */
21
+ readonly readers?: number;
22
+ /** `--pooler`. */
23
+ readonly pooler: PoolerMode;
24
+ /** `--write-pool`; unset, the balanced size (writeLanes.ts). */
25
+ readonly writers?: number;
26
+ /** `--lock-timeout`; unset, the default. */
27
+ readonly lockTimeoutMs?: number;
28
+ /**
29
+ * `keyed` where the server serves Apps, `serial` for the database browser
30
+ * (writeLanes.ts). Settled once the config is read, before a connection
31
+ * opens, so it is the one field startup writes after the scope is entered.
32
+ */
33
+ writeOrder: WriteOrder;
34
+ }
35
+ /** What a server that names nothing gets. */
36
+ export declare function defaultServerSettings(): ServerSettings;
37
+ /** The settings of the server this work belongs to: its scope's, or the process's. */
38
+ export declare function serverSettings(): ServerSettings;
39
+ /** Run `work`, and everything it starts, as the server `settings` describe. */
40
+ export declare function withServerSettings<T>(settings: ServerSettings, work: () => T): T;
41
+ /**
42
+ * Change the process's settings — what is read outside any scope: the
43
+ * command line's one server, a test. Fields it leaves out keep their value.
44
+ */
45
+ export declare function configureServerSettings(change: Partial<ServerSettings>): void;
@@ -0,0 +1,46 @@
1
+ /**
2
+ * What one server was started with that is read far below its requests: the
3
+ * client-address rule a rate limit keys by (http/trust.ts `forwardedClient`),
4
+ * and the pool sizes, pooler mode, lock wait and write order every adapter it
5
+ * opens takes (postgresPool.ts, writeLanes.ts).
6
+ *
7
+ * These were process globals, set once at startup, which was right while a
8
+ * process was one server. `createHandler` (embed/handler.ts) puts
9
+ * several in one host process, and each started by overwriting the globals:
10
+ * the last handler's proxy trust decided whose X-Forwarded-For every
11
+ * handler's limits believed. So a handler's settings are a value it carries,
12
+ * and everything it runs — its startup, every request it is given, its
13
+ * close — runs inside `withServerSettings`, where `serverSettings()` reads
14
+ * them. The command line is one server per process and installs its own as
15
+ * the process's (`configureServerSettings`), which is what is read outside
16
+ * any scope.
17
+ *
18
+ * A scope rather than an argument: the readers are a dozen limiters and the
19
+ * constructor of every pool, opened by the registry, a tenant source, the job
20
+ * host and a startup check alike. An argument would have to reach each, and
21
+ * one that missed would quietly return to the default — the failure this
22
+ * exists to end. A scope reaches all of them by construction, timers and
23
+ * all, since an async context follows its callbacks.
24
+ */
25
+ import { AsyncLocalStorage } from 'node:async_hooks';
26
+ /** What a server that names nothing gets. */
27
+ export function defaultServerSettings() {
28
+ return { clientAddress: {}, pooler: 'session', writeOrder: 'serial' };
29
+ }
30
+ let processSettings = defaultServerSettings();
31
+ const scope = new AsyncLocalStorage();
32
+ /** The settings of the server this work belongs to: its scope's, or the process's. */
33
+ export function serverSettings() {
34
+ return scope.getStore() ?? processSettings;
35
+ }
36
+ /** Run `work`, and everything it starts, as the server `settings` describe. */
37
+ export function withServerSettings(settings, work) {
38
+ return scope.run(settings, work);
39
+ }
40
+ /**
41
+ * Change the process's settings — what is read outside any scope: the
42
+ * command line's one server, a test. Fields it leaves out keep their value.
43
+ */
44
+ export function configureServerSettings(change) {
45
+ processSettings = { ...processSettings, ...change };
46
+ }
@@ -0,0 +1,262 @@
1
+ import { DatabaseSync, type SQLInputValue } from 'node:sqlite';
2
+ import { type Adapter, type ScopedReads, type Filter, type QueryRequest, type QueryResult, type SqlRequest, type SqlResult, type DeleteRequest, type DeleteResult, type UpdateRequest, type UpdateResult, type ViewResult, type BreakdownResult, TransactionOperations, type WriteTransaction, type InsertRequest, type InsertResult, type ExplainRequest, type ExplainResult, type ProfileLimits, type ProfileResult, type CountItem } from './adapter.js';
3
+ import { type SqliteScopeCatalog } from './scoped/sqliteScopeCatalog.js';
4
+ import { type RowScope } from '../shared/rowScope.js';
5
+ import { type ViewDef } from '../shared/view.js';
6
+ import { type BreakdownDef } from '../shared/breakdown.js';
7
+ import { type DatabaseSchema } from '../shared/schema.js';
8
+ /** Identity-only native provenance; no caller can register a lookalike. */
9
+ export declare const isSqliteVerifiedCommandSource: (value: unknown) => value is SqliteAdapter;
10
+ export declare class SqliteAdapter implements Adapter {
11
+ private file;
12
+ private label;
13
+ readonly dialect: 'sqlite';
14
+ private db;
15
+ /** Opened lazily, only when an edit is actually applied. */
16
+ private writeDb;
17
+ private closed;
18
+ private writes;
19
+ private readonly writeIdentity;
20
+ private readonly introspectedVersions;
21
+ private readonly catalogCache;
22
+ /** The epoch the open write transaction read, on the handle it read it on. */
23
+ private txEpoch?;
24
+ constructor(file: string, label?: string);
25
+ private queueWrite;
26
+ private assertWriteIdentity;
27
+ private schemaVersion;
28
+ /** Opt-in physical-schema lifetime fence. No logical clone or another
29
+ * adapter's schema is accepted. Ordinary DDL invalidates it synchronously;
30
+ * malicious manual schema_version resets are outside this contract. */
31
+ captureSchemaLifetime(schema: DatabaseSchema): () => void;
32
+ introspect(): Promise<DatabaseSchema>;
33
+ private indexesOf;
34
+ /**
35
+ * The columns a unique index makes unique alone. `PRAGMA index_list`
36
+ * reports UNIQUE constraints as the indexes SQLite made for them, so one
37
+ * reading covers both; a partial index proves nothing about the rows it
38
+ * leaves out, and an expression column has no name.
39
+ */
40
+ private uniqueColumns;
41
+ /** The column pairs a unique index of exactly two named columns keeps
42
+ * unique together, read as uniqueColumns reads one alone. */
43
+ private uniquePairs;
44
+ /**
45
+ * The columns an ORDER BY can lean on.
46
+ *
47
+ * `PRAGMA index_list` reports every index including the implicit ones
48
+ * SQLite creates for UNIQUE and for a non-integer primary key; `index_info`
49
+ * gives their columns in order and only the first of each is useful for
50
+ * sorting.
51
+ *
52
+ * `INTEGER PRIMARY KEY` is special and has no index at all — it *is* the
53
+ * rowid, so ordering by it is free — which is exactly the case a naive
54
+ * index scan would report as unindexed and then refuse to sort by.
55
+ */
56
+ private leadingIndexColumns;
57
+ query(request: QueryRequest): Promise<QueryResult>;
58
+ scopeReads(input: RowScope): Promise<ScopedReads>;
59
+ private queryOn;
60
+ /**
61
+ * Run a compiled view.
62
+ *
63
+ * Everything hard happened in `compileView`: paths resolved against the
64
+ * catalog, joins planned with collision-free aliases, values reduced to
65
+ * bound parameters. What is left here is picking the dialect's style and
66
+ * handing the statement to the driver — which is the point. An adapter that
67
+ * built its own joins would be an adapter that could get LEFT wrong on its
68
+ * own.
69
+ */
70
+ runView(view: ViewDef, offset?: number): Promise<ViewResult>;
71
+ runBreakdown(breakdown: BreakdownDef, offset?: number): Promise<BreakdownResult>;
72
+ countBreakdown(breakdown: BreakdownDef, limit?: number): Promise<number>;
73
+ countView(view: ViewDef, limit?: number): Promise<number>;
74
+ /**
75
+ * EXPLAIN QUERY PLAN, indented the way the tree nests.
76
+ *
77
+ * Prepared and read, never executed: the rows come from the EXPLAIN
78
+ * statement itself, so even a write handed here is only ever planned — on
79
+ * the read-only handle, at that.
80
+ */
81
+ explainSql(request: ExplainRequest): Promise<ExplainResult>;
82
+ /**
83
+ * SQLite keeps no column statistics worth reading — sqlite_stat1 knows
84
+ * index selectivity, not null shares — so this looks: one aggregate pass
85
+ * for counts and edges, then one small GROUP BY per column that provably
86
+ * repeats. `source` tells the caller what the look cost.
87
+ *
88
+ * Above `scanAtMost` rows it stops scanning and samples, because
89
+ * node:sqlite is synchronous and a full pass over a ten-million-row table
90
+ * holds the whole process for seconds. Every k-th rowid rather than the
91
+ * first N: insertion order is not a sample, it is a history, and a min
92
+ * taken from the first month of data would be presented as the table's.
93
+ * A view — or a WITHOUT ROWID table, which refuses the arithmetic — falls
94
+ * back to the first N with the same honest label, because running a view
95
+ * twice to randomise it would cost what sampling exists to avoid.
96
+ */
97
+ profile(table: string, limits?: ProfileLimits): Promise<ProfileResult>;
98
+ /**
99
+ * After each statement a call runs: a turn of the event loop — a cancel
100
+ * can only be read when there is one, and node:sqlite gives none while a
101
+ * statement runs — then a stop if the call was cancelled, before its next
102
+ * statement starts. After, not before, so a read takes its arguments as it
103
+ * is called. A read nobody can cancel does not pay for it.
104
+ */
105
+ private turn;
106
+ /** Introspection is cheap here but not free; the view path re-uses it. */
107
+ private cachedSchema;
108
+ private schema;
109
+ count(table: string, filter?: Filter, limit?: number): Promise<number>;
110
+ countEach(items: readonly CountItem[], limit?: number): Promise<number[]>;
111
+ private countOn;
112
+ /**
113
+ * One compiled read's rows, BigInts and all. A read that could hold the
114
+ * server's one thread — a count, a filter or a sort over a large table —
115
+ * runs in the statement process instead (sqliteCostlyReads.ts); one on the
116
+ * write handle, inside a transaction, stays where its transaction is.
117
+ */
118
+ private readRows;
119
+ /**
120
+ * SQLite stores the original statement text, so this is the real thing —
121
+ * whitespace, comments, check constraints and all — not a reconstruction.
122
+ * Indexes are appended because they are separate statements in
123
+ * `sqlite_master` and are usually the first thing you want after the shape.
124
+ */
125
+ ddl(table: string): Promise<string | undefined>;
126
+ /**
127
+ * The write path, on its own handle.
128
+ *
129
+ * `this.db` is opened read-only and stays that way for the life of the
130
+ * process, so browsing can never write no matter what the UI believes. A
131
+ * second handle is opened the first time an edit is actually applied.
132
+ */
133
+ update(request: UpdateRequest): Promise<UpdateResult>;
134
+ private updateNow;
135
+ /**
136
+ * Add one row.
137
+ *
138
+ * The guards are `update`'s where they apply — real columns, coerced
139
+ * values, a NOT NULL that cannot be handed null — but the key rules
140
+ * invert: a primary key may be supplied (currency.code is one somebody
141
+ * types) or left for the database to assign. What is deliberately *not*
142
+ * pre-checked is completeness: a missing NOT NULL column with no default
143
+ * is the database's refusal to make, and its message names the column
144
+ * better than a paraphrase would.
145
+ *
146
+ * `RETURNING *` rather than last_insert_rowid plus a re-read: one
147
+ * statement returns the row as stored — defaults filled, the assigned key
148
+ * included — with no window for another write to land in between.
149
+ */
150
+ insert(request: InsertRequest): Promise<InsertResult>;
151
+ private insertNow;
152
+ /**
153
+ * Run a statement the user wrote.
154
+ *
155
+ * The read handle is opened `readOnly: true` at the file level, which SQLite
156
+ * enforces in the engine — there is no session setting for a statement to
157
+ * reset, so unlike the other two adapters no transaction wrapper is needed
158
+ * to make the guarantee real.
159
+ *
160
+ * What SQLite does not have is a statement timeout, and `node:sqlite` is
161
+ * synchronous with no interrupt, so a pathological statement on this handle
162
+ * blocks the whole process rather than one request. The LIMIT wrap covers
163
+ * the ordinary case — a streaming SELECT stops once it has enough rows — but
164
+ * not an aggregate over a cross join, which has to finish before it returns
165
+ * anything. So a read whose caller can stop it — one run inside
166
+ * `withCancellation`, as every MCP tool call is — runs in a process of its
167
+ * own instead, which its cap or a cancel kills (sqliteStatementProcess.ts).
168
+ * The browser's SQL editor runs its reads that way too (dataWriteRoutes.ts);
169
+ * only an in-memory database, which has no second handle, and a caller with
170
+ * no signal keep the in-process handle and its limit.
171
+ */
172
+ runSql(request: SqlRequest): Promise<SqlResult>;
173
+ private runSqlNow;
174
+ /**
175
+ * Delete one row.
176
+ *
177
+ * The guards are `update`'s, for the same reason they are `update`'s: the
178
+ * danger in an editor is never injection, it is a statement whose WHERE is
179
+ * broader than the author believed. A delete has the sharper version of that
180
+ * problem, so nothing here is relaxed.
181
+ *
182
+ * Foreign keys are the database's business. `node:sqlite` enables
183
+ * `foreign_keys` by default — checked, not assumed — so a RESTRICT fires and
184
+ * a CASCADE cascades exactly as the schema says, and the error the user sees
185
+ * is SQLite's own.
186
+ */
187
+ remove(request: DeleteRequest): Promise<DeleteResult>;
188
+ private recordsHistory;
189
+ /**
190
+ * A store's layout attested once per schema epoch rather than on every
191
+ * read: its three catalog reads were two of every room's statements in an
192
+ * App that keeps notices. The epoch — the schema versions, and the store's
193
+ * meta row, a data fact — is one statement read first; the layout is
194
+ * described again whenever it has moved.
195
+ */
196
+ private attestedStore;
197
+ /** A write capture's reads on a transaction's own handle (writeCapture.ts). */
198
+ private captureSource;
199
+ private lockRecordNow;
200
+ private removeNow;
201
+ private writeHandle;
202
+ /**
203
+ * Several writes as one, or none of them.
204
+ *
205
+ * `BEGIN IMMEDIATE` serializes writers across processes, not just this queue.
206
+ * Reads and mutation preflights inside the callback share its write handle.
207
+ * Ordinary browsing remains on the separate read-only handle.
208
+ *
209
+ * `node:sqlite` is synchronous, so nothing can interleave *within* one
210
+ * statement; the queue is what stops another request's write interleaving
211
+ * *between* two of these.
212
+ */
213
+ transaction<T>(run: (tx: WriteTransaction) => Promise<T>): Promise<T>;
214
+ /**
215
+ * Records and a durable journal in one transaction, the journal lent by
216
+ * the App framework (storeHost.ts TransactionJournal): the command journal,
217
+ * or a public placement's. Lent through the store host, never on the
218
+ * class, so the database browser has no journal path at all. A verified
219
+ * ordinary transaction's check is trusted host code, never a
220
+ * handler/request: it runs after BEGIN and journal attestation and after
221
+ * the operations drain, before COMMIT, and infers no tenant namespace, row
222
+ * scope or bearer authority.
223
+ */
224
+ private journalTransaction;
225
+ scopeTransaction<T>(input: RowScope, run: (tx: WriteTransaction, catalog: DatabaseSchema) => Promise<T>): Promise<T>;
226
+ /** Private source-owner boundary, deliberately absent from Adapter. The
227
+ * verifier is trusted host code, never a business callback or wire value.
228
+ * It must be synchronous and may not retain the raw handle. */
229
+ scopeVerifiedTransaction<T>(input: RowScope, verify: (db: DatabaseSync, catalog: SqliteScopeCatalog) => void, run: (tx: WriteTransaction, catalog: DatabaseSchema) => Promise<T>): Promise<T>;
230
+ /** Internal runtime-owner composition, deliberately absent from Adapter.
231
+ * Only trusted runtime code may create bounded maintenance facades here; raw
232
+ * handles must never reach business handlers, policies or request callbacks.
233
+ * Runtime edits share the ordinary writer queue, drain and outcome handling. */
234
+ runtimeMaintenanceTransaction<T>(verify: (db: DatabaseSync) => void, run: (db: DatabaseSync, operations: TransactionOperations, assertCurrent: () => void) => Promise<T>): Promise<T>;
235
+ private transact;
236
+ close(): Promise<void>;
237
+ /**
238
+ * Table names are the one identifier that cannot be a bound parameter, so
239
+ * they are checked against the catalog rather than escaped and hoped for.
240
+ * An unknown name is rejected before it reaches a statement.
241
+ */
242
+ /**
243
+ * The same check for a read on the browsing handle, answered from the
244
+ * catalog read on connect when it names the table: a name found there is
245
+ * one the catalog gave, so the probe would only say so again, once per
246
+ * statement. A name it does not hold — a table made since — still gets the
247
+ * live probe, and so does every write (assertTable).
248
+ */
249
+ private readTable;
250
+ private assertTable;
251
+ /** A table's columns, as a write reads them: from the catalog, or inside a
252
+ * write transaction from what was read under the epoch it holds. */
253
+ private tableInfo;
254
+ /** Whether a relation is a view, as a write reads it: kept under the epoch, as its columns are. */
255
+ private isView;
256
+ /** The epoch the open write transaction holds, when `db` is its handle and it is still open. */
257
+ private epochOf;
258
+ }
259
+ export declare function sqliteParams(params: readonly unknown[]): SQLInputValue[];
260
+ /** As toJsonSafe, but a blob stays its bytes: a file download asked for them (`QueryRequest.binary`). */
261
+ export declare function withBytes(row: Record<string, unknown>): Record<string, unknown>;
262
+ export declare function toJsonSafe(row: Record<string, unknown>): Record<string, unknown>;