@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,361 @@
1
+ import { realpathSync, rmSync } from 'node:fs';
2
+ import { mkdir, mkdtemp, readdir, rm, stat } from 'node:fs/promises';
3
+ import { join, resolve } from 'node:path';
4
+ import { product } from './product.js';
5
+ export const FROM_SOURCE = import.meta.url.endsWith('.ts');
6
+ /** Whether the client is served through Vite. Source by default; the browser
7
+ * suite sets MISTRI_BUILT_CLIENT=1 so a server under tsx sends dist/client,
8
+ * which one `npm run build` made, instead of each server owning a Vite. Only
9
+ * the client's serving reads this — the rest of what FROM_SOURCE decides (the
10
+ * component SDK's exports, the console's components, the observer) stays on
11
+ * source, since those files sit beside the sources and not beside the build. */
12
+ export const SOURCE_CLIENT = FROM_SOURCE && process.env.MISTRI_BUILT_CLIENT !== '1';
13
+ /* The addresses Vite's own hostname rule (resolveHostname) reads as "any": its client is told `localhost` for them. */
14
+ const ANY_HOST = new Set(['0.0.0.0', '::', '0000:0000:0000:0000:0000:0000:0000:0000']);
15
+ /**
16
+ * The socket Vite's client opens when its first, on the page's own origin,
17
+ * fails: `__HMR_DIRECT_TARGET__`, which Vite writes into `/@vite/client` from
18
+ * the same configuration, read here by the same rule. Where the page's origin
19
+ * carries the socket (a server tablewalk listens on, attachDevClient) the
20
+ * first one opens and `'self'` admits it. Where it does not — an App mounted
21
+ * in a host's server (embed/handler.ts), whose server never listens and whose
22
+ * host does not pass an upgrade on — the client tries this one, and a policy
23
+ * of `'self'` alone refused it. Without a protocol configured the client uses
24
+ * the page's, so both are named for the one host, port and path.
25
+ */
26
+ export function devSocket(config) {
27
+ const ws = typeof config.server.ws === 'object' && config.server.ws ? config.server.ws : undefined;
28
+ const asked = config.server.host;
29
+ const hostname = ws?.host || (typeof asked === 'string' && !ANY_HOST.has(asked) ? asked : 'localhost');
30
+ const target = `${hostname}:${ws?.port || config.server.port}${config.base}`;
31
+ return (ws?.protocol ? [ws.protocol] : ['ws', 'wss']).map((protocol) => `${protocol}://${target}`).join(' ');
32
+ }
33
+ /** A retired source host never reactivates its dependency watcher. */
34
+ export function ownDevClient(created, afterClose) {
35
+ // Vite closes its watcher and environments concurrently. A finishing
36
+ // transform can still add an outside-root dependency; Chokidar.add resets
37
+ // its closed flag and can resurrect that retired watcher.
38
+ let retired = false, closing;
39
+ let hmrClosing;
40
+ // Provider.close also closes its socket server. Share that same close with
41
+ // the earlier HTTP-drain step; native socket close is not repeatable.
42
+ if (created.ws) {
43
+ const closeSockets = created.ws.close.bind(created.ws);
44
+ created.ws.close = () => (hmrClosing ??= Promise.resolve().then(closeSockets));
45
+ }
46
+ const watched = new WeakSet();
47
+ const fence = () => {
48
+ const watcher = created.watcher;
49
+ if (watched.has(watcher))
50
+ return;
51
+ watched.add(watcher);
52
+ let closed = false;
53
+ const add = watcher.add.bind(watcher), close = watcher.close.bind(watcher);
54
+ watcher.add = (...paths) => (retired || closed ? watcher : add(...paths));
55
+ watcher.close = () => {
56
+ closed = true;
57
+ return close();
58
+ };
59
+ };
60
+ fence();
61
+ return {
62
+ get middlewares() {
63
+ fence();
64
+ return created.middlewares;
65
+ },
66
+ transformIndexHtml: (url, html) => {
67
+ fence();
68
+ return created.transformIndexHtml(url, html);
69
+ },
70
+ ...(created.ssrLoadModule
71
+ ? {
72
+ ssrLoadModule: (url) => {
73
+ fence();
74
+ return created.ssrLoadModule(url);
75
+ },
76
+ }
77
+ : {}),
78
+ closeHmr: () => created.ws?.close() ?? Promise.resolve(),
79
+ ...(created.config ? { socket: devSocket(created.config) } : {}),
80
+ close: () => {
81
+ retired = true;
82
+ fence();
83
+ if (closing)
84
+ return closing;
85
+ try {
86
+ closing = Promise.resolve(created.close());
87
+ }
88
+ catch (error) {
89
+ closing = Promise.reject(error);
90
+ }
91
+ return (closing = closing.finally(afterClose));
92
+ },
93
+ };
94
+ }
95
+ /* The servers whose pages are being served, and one Vite per base path in
96
+ front of them. The unit suites open several servers in one process — a
97
+ trusted one and a proxied one, a server per connection under test — and
98
+ close them in whatever order the tests end. Vite goes when the last one
99
+ goes, and comes back if another opens. */
100
+ /** Shared middleware providers, with their HMR sockets owned by one HTTP
101
+ * server. A late factory belongs to its captured generation, never a restart. */
102
+ export function createDevClientHosts() {
103
+ const live = new Set();
104
+ const hmrStopped = new WeakSet();
105
+ const retired = new WeakMap();
106
+ const current = new Map();
107
+ const close = (generation, provider) => (generation.closing ??= Promise.resolve().then(() => provider.close()));
108
+ const closeHmr = (generation, provider) => (generation.hmrClosing ??= Promise.resolve().then(() => provider.closeHmr()));
109
+ return {
110
+ attach(server) {
111
+ if (retired.has(server))
112
+ throw new Error('The source client owner was retired.');
113
+ live.add(server);
114
+ },
115
+ async closeHmr(server) {
116
+ hmrStopped.add(server);
117
+ await Promise.all([...current.values()].map(async (generation) => {
118
+ if (generation.owner !== server)
119
+ return;
120
+ let provider;
121
+ try {
122
+ provider = await generation.value;
123
+ }
124
+ catch {
125
+ return;
126
+ }
127
+ await closeHmr(generation, provider);
128
+ }));
129
+ },
130
+ retire(server) {
131
+ const pending = retired.get(server);
132
+ if (pending)
133
+ return pending;
134
+ live.delete(server);
135
+ const generations = [...current.values()];
136
+ if (!live.size) {
137
+ for (const generation of generations)
138
+ generation.closed = true;
139
+ current.clear();
140
+ }
141
+ // Register before provider close callbacks can reenter retirement.
142
+ const work = Promise.resolve().then(async () => {
143
+ await Promise.all(generations.map(async (generation) => {
144
+ // Acquisition failure has no provider to retire. Its own factory
145
+ // closes a successfully created but retired generation before refusing.
146
+ let provider;
147
+ try {
148
+ provider = await generation.value;
149
+ }
150
+ catch {
151
+ await generation.closing;
152
+ await generation.hmrClosing;
153
+ return;
154
+ }
155
+ if (generation.closed)
156
+ await close(generation, provider);
157
+ else if (generation.owner === server)
158
+ await closeHmr(generation, provider);
159
+ }));
160
+ });
161
+ retired.set(server, work);
162
+ return work;
163
+ },
164
+ get(load, base = '') {
165
+ const owner = live.values().next().value;
166
+ if (!owner)
167
+ return Promise.reject(new Error('The source client owner was retired.'));
168
+ if (!current.has(base)) {
169
+ const generation = { owner, closed: false, value: undefined };
170
+ generation.value = Promise.resolve().then(async () => {
171
+ if (generation.closed)
172
+ throw new Error('The source client owner was retired.');
173
+ const provider = await load(generation.owner);
174
+ if (generation.closed) {
175
+ await close(generation, provider);
176
+ throw new Error('The source client owner was retired.');
177
+ }
178
+ if (!live.has(generation.owner) || hmrStopped.has(generation.owner))
179
+ await closeHmr(generation, provider);
180
+ if (generation.closed) {
181
+ await close(generation, provider);
182
+ throw new Error('The source client owner was retired.');
183
+ }
184
+ return provider;
185
+ });
186
+ current.set(base, generation);
187
+ }
188
+ return current.get(base).value;
189
+ },
190
+ };
191
+ }
192
+ const hosts = createDevClientHosts();
193
+ /**
194
+ * Told which server the pages are on, so hot reloads can share its port
195
+ * rather than opening a second listener that two test servers would then
196
+ * fight over — and so Vite, whose file watcher would keep a process alive,
197
+ * is closed once every server that used it has closed.
198
+ */
199
+ export function attachDevClient(server) {
200
+ hosts.attach(server);
201
+ server.once('close', () => {
202
+ void retireDevClient(server).catch(() => { });
203
+ });
204
+ }
205
+ /** Stop upgraded sockets before awaiting HTTP close, retaining the renderer
206
+ * until accepted HTTP responses have drained. Does not create a provider. */
207
+ export function closeDevClientHmr(server) {
208
+ return hosts.closeHmr(server);
209
+ }
210
+ /** Release the source renderer after accepted HTTP responses have drained. */
211
+ export function retireDevClient(server) {
212
+ return hosts.retire(server);
213
+ }
214
+ /** One source Vite generation owns its optimizer directory. Vite replaces
215
+ * optimizer metadata while discovering dependencies, so sharing a directory
216
+ * between independent Node processes can make an in-flight page request refer
217
+ * to a dependency hash another process has just retired.
218
+ *
219
+ * Each is named for the process that owns it, because a server that is
220
+ * killed never runs its close: the browser suites and a day's scratch servers
221
+ * left over a thousand of these, two gigabytes, under node_modules/.vite.
222
+ * So the next one sweeps the directories whose process is gone, and a process
223
+ * that exits takes its own. An unnamed one is from before this, and goes once
224
+ * it is a day old. */
225
+ const STALE_UNNAMED_MS = 24 * 60 * 60 * 1000;
226
+ const alive = (pid) => {
227
+ try {
228
+ process.kill(pid, 0);
229
+ return true;
230
+ }
231
+ catch (error) {
232
+ return error.code === 'EPERM';
233
+ }
234
+ };
235
+ export async function sweepDevCaches(root) {
236
+ const names = await readdir(root).catch(() => []);
237
+ await Promise.all(names.map(async (name) => {
238
+ const owned = /^client-(\d+)-/.exec(name);
239
+ if (owned ? Number(owned[1]) === process.pid || alive(Number(owned[1])) : !name.startsWith('client-'))
240
+ return;
241
+ const path = join(root, name);
242
+ if (!owned) {
243
+ const info = await stat(path).catch(() => undefined);
244
+ if (!info || Date.now() - info.mtimeMs < STALE_UNNAMED_MS)
245
+ return;
246
+ }
247
+ await rm(path, { recursive: true, force: true }).catch(() => { });
248
+ }));
249
+ }
250
+ async function devCache(workspace) {
251
+ const root = resolve(workspace, 'node_modules', '.vite');
252
+ await mkdir(root, { recursive: true });
253
+ await sweepDevCaches(root);
254
+ const path = await mkdtemp(join(root, `client-${process.pid}-`));
255
+ // Synchronous, because 'exit' runs no more turns of the loop.
256
+ const onExit = () => {
257
+ try {
258
+ rmSync(path, { recursive: true, force: true });
259
+ }
260
+ catch {
261
+ /* the next start sweeps it */
262
+ }
263
+ };
264
+ process.once('exit', onExit);
265
+ let removing;
266
+ // The optimizer can still be writing when its generation closes, and on
267
+ // Linux that refuses the removal (ENOTEMPTY). A cache directory is not worth
268
+ // failing a server's retirement over: retry, and failing that leave it to
269
+ // the exit handler or the next start's sweep.
270
+ return {
271
+ path,
272
+ remove: () => (removing ??= rm(path, { recursive: true, force: true, maxRetries: 5, retryDelay: 50 }).then(() => {
273
+ process.off('exit', onExit);
274
+ }, () => { })),
275
+ };
276
+ }
277
+ /**
278
+ * What Vite's file watcher may look at: the package whose client it serves,
279
+ * and nothing outside it. Vite watches its root and adds every file it loads
280
+ * from beyond it (src/shared, src/adapters, package.json) whatever its path,
281
+ * and chokidar follows links and, for a path gone by the time it looks,
282
+ * watches the nearest folder still there. Nothing bounded where that could
283
+ * lead: on a CI runner a served App's watcher reached /run and stat-ed udev's
284
+ * self-referring links (ELOOP). An App's own code never goes through this
285
+ * Vite (its components are compiled by appComponents.ts), so everything an
286
+ * edit can reload lives under the package root; the rest is ignored. Both
287
+ * spellings of the root, since module ids are real paths.
288
+ */
289
+ export function outsidePackage(packageRoot) {
290
+ const slashed = (path) => resolve(path).replaceAll('\\', '/').replace(/\/$/, '');
291
+ let real = packageRoot;
292
+ try {
293
+ real = realpathSync(packageRoot);
294
+ }
295
+ catch {
296
+ /* the resolved spelling is the only one */
297
+ }
298
+ const roots = [...new Set([slashed(packageRoot), slashed(real)])];
299
+ return (path) => {
300
+ const at = slashed(path);
301
+ return !roots.some((root) => at === root || at.startsWith(`${root}/`));
302
+ };
303
+ }
304
+ /**
305
+ * A watcher error is not the server's: chokidar emits 'error' for a path it
306
+ * cannot stat, and Vite listens for none, so the first one was an uncaught
307
+ * exception that took every page down with it. Say it once and keep serving;
308
+ * the watcher goes on with the paths it could read.
309
+ */
310
+ export function quietWatcherErrors(watcher, warn = (message) => console.error(`${product()}: ${message}`)) {
311
+ let said = false;
312
+ watcher.on('error', (error) => {
313
+ if (said)
314
+ return;
315
+ said = true;
316
+ const why = error instanceof Error ? error.message : String(error);
317
+ warn(`the client's file watcher could not follow a path (${why}); pages are still served, and an edit there needs a reload by hand.`);
318
+ });
319
+ }
320
+ /** The Vite dev server, created on the first static request and kept. */
321
+ export function devClient(files, base = '') {
322
+ return hosts.get(async (httpServer) => {
323
+ const cache = await devCache(files.workspace);
324
+ try {
325
+ const { createServer } = await import('vite');
326
+ const created = await createServer({
327
+ configFile: join(files.workspace, 'vite.config.ts'),
328
+ root: files.source,
329
+ // Vite must own the prefix throughout its graph, not just in HTML:
330
+ // imports, CSS URLs, React refresh and the HMR socket all use it.
331
+ base: `${base}/`,
332
+ cacheDir: cache.path,
333
+ appType: 'custom',
334
+ logLevel: 'warn',
335
+ server: {
336
+ middlewareMode: true,
337
+ /* The Host and Origin defence in index.ts has already answered by
338
+ the time a request reaches Vite; a second, looser check here
339
+ would only refuse the hosts `--allowed-host` let through. */
340
+ allowedHosts: true,
341
+ ws: httpServer ? { server: httpServer } : false,
342
+ watch: { ignored: [outsidePackage(files.workspace)] },
343
+ },
344
+ });
345
+ quietWatcherErrors(created.watcher);
346
+ const close = created.close.bind(created);
347
+ created.close = async () => {
348
+ // An HTTP module response can finish before Vite's speculative imports.
349
+ // Closing the optimizer then strands import-analysis hooks waiting for
350
+ // its dependency batch, and pluginContainer.close never resolves.
351
+ await created.environments.client.waitForRequestsIdle();
352
+ await close();
353
+ };
354
+ return ownDevClient(created, cache.remove);
355
+ }
356
+ catch (error) {
357
+ await cache.remove().catch(() => { });
358
+ throw error;
359
+ }
360
+ }, base);
361
+ }
@@ -0,0 +1,55 @@
1
+ /** Private admission errors reveal neither membership existence nor provider data. */
2
+ export declare class TenantContextError extends Error {
3
+ readonly code: string;
4
+ constructor();
5
+ }
6
+ export { recordRefusalCause, refusalCause, refusalHeadline, refusalReasons, refusalReasonsBelow } from '../shared/refusal.js';
7
+ export declare const denyTenant: (cause?: unknown) => never;
8
+ /** The database could not answer, so authority was never decided: not a
9
+ * refusal. Still a TenantContextError — every consumer that denies on one
10
+ * still denies — and carries no `cause`, so no driver text travels with it
11
+ * (the driver's error is recorded for the operator, as any refusal's is).
12
+ * Only an owner that answers a caller tells the two apart (503, not 403). */
13
+ export declare class TenantUnavailableError extends TenantContextError {
14
+ readonly code: string;
15
+ }
16
+ export declare function databaseFault(error: unknown): boolean;
17
+ /** The request's own fault, said to the caller as that, not as the context's
18
+ * denial: no record this context reads has the key (`not_found`, the same for
19
+ * one that is missing and one that is another tenant's), or a read that cannot
20
+ * be answered as asked (`invalid_read`). The context read and decided
21
+ * nothing to its detriment, and revalidates before this is let out
22
+ * (tenantReadRuntime.ts), so the session that asked keeps going. It carries
23
+ * no data: its words are fixed here. */
24
+ export declare class TenantRequestFault extends Error {
25
+ readonly status: 400 | 404 | 501;
26
+ readonly code: 'not_found' | 'invalid_read';
27
+ constructor(status: 400 | 404 | 501, code: 'not_found' | 'invalid_read');
28
+ }
29
+ /**
30
+ * Whether the database not answering is what failed, under however many
31
+ * refusals and failures it was recorded: a tenant write's failure is
32
+ * value-free on purpose and keeps what failed beneath it, and a read that
33
+ * waited on that write (an inbox's mail) refuses with it as its cause. Read
34
+ * positively, as `databaseFault` is, and a denial anywhere on the way down
35
+ * stays a denial: it decided something, whatever lies beneath it.
36
+ */
37
+ export declare function databaseUnanswered(error: unknown): boolean;
38
+ /** Deny, unless the cause is the database failing to answer: then the tenant
39
+ * context is unavailable. Fails closed either way. */
40
+ export declare const denyTenantFor: (cause: unknown) => never;
41
+ /** Test-only: how many objects and arrays captures have copied, as opposed to reused. */
42
+ export declare const captureCounters: {
43
+ copied: number;
44
+ };
45
+ /** Whether a value is one captureTenantData froze all the way down, or a
46
+ * captured scope catalog: data that cannot change for as long as it lives, so
47
+ * an answer derived from it alone may be kept with it (a WeakMap keyed by it)
48
+ * and is gone when it is. A reload captures new values and starts afresh. */
49
+ export declare function isCapturedTenantData(value: unknown): boolean;
50
+ /** Server evidence is data, never getters, proxies, thenables or inherited grants. */
51
+ export declare function captureTenantData<T>(input: T): T;
52
+ export declare function tenantRecord(value: unknown, fields?: readonly string[]): asserts value is Record<string, unknown>;
53
+ export declare function tenantIdentifier(value: unknown, maximum?: number): asserts value is string;
54
+ /** Trusted callbacks are captured without invoking configuration accessors. */
55
+ export declare function tenantOptions(input: unknown, fields: readonly string[]): Record<string, unknown>;