@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,464 @@
1
+ /** The existing resource HTTP wire contract shared by producers and callers.
2
+ * These are data types only: they neither validate JSON nor authorize a read or
3
+ * write. HTTP status stays on the response, and no wrapper or discriminator is
4
+ * added to the bodies. App projection must still run on the server. */
5
+ import type { CountResult, QueryResult } from './reads.js';
6
+ import type { StructuredFilter, StructuredScalar } from './structuredFilter.js';
7
+ import type { BreakdownDef, CompiledMeasure, GroupNames } from './breakdown.js';
8
+ import type { DeleteRule, Order } from './schema.js';
9
+ import type { Boundary, PageBounds } from './keysetPage.js';
10
+ import type { CompiledColumn, CompiledJoin, ViewColumn, ViewDef, ViewOrder } from './view.js';
11
+ export type ResourceHttpMode = 'app' | 'db';
12
+ export type HttpScalar = StructuredScalar;
13
+ export type HttpValues = Record<string, HttpScalar>;
14
+ /** Large integer identifiers remain strings; finite-number/key checks are runtime checks. */
15
+ export type HttpRecordKey = Record<string, string | number>;
16
+ /** Both [] and [[]] are legal. */
17
+ export type HttpFilter<Field extends 'column' | 'path' = 'column'> = StructuredFilter<Field>;
18
+ interface HttpPaginationInput {
19
+ /** The server clamps numeric strings as well as numbers; null means unspecified. */
20
+ limit?: number | string | null;
21
+ offset?: number | string | null;
22
+ }
23
+ interface HttpQueryRequest extends HttpPaginationInput {
24
+ table: string;
25
+ filter?: HttpFilter | null;
26
+ columns?: string[];
27
+ orderBy?: Order[];
28
+ }
29
+ interface HttpCountRequest {
30
+ table: string;
31
+ filter?: HttpFilter | null;
32
+ exactCount?: boolean;
33
+ /** Count at most this many (clamped to 100,000); past it the reply says `capped`. */
34
+ countLimit?: number;
35
+ }
36
+ interface HttpRunRequest extends HttpPaginationInput {
37
+ q: string;
38
+ columns?: string[];
39
+ exactCount?: boolean;
40
+ /** Count the total to at most this many (clamped to 100,000); past it the reply says `cappedTotal`.
41
+ * A filtered total is bounded at 10,000 when neither this nor `exactCount` is sent. */
42
+ countLimit?: number;
43
+ /** `none` for a caller that never shows a total; `exact` is `exactCount`. */
44
+ count?: 'none' | 'exact' | 'estimate';
45
+ /** A page by key: the rows after a boundary (a reply's `bounds.last`), before one (`bounds.first`),
46
+ * or the list's last `limit` rows. `offset` then only names the page; an order that cannot page by key reads by it. */
47
+ after?: Boundary;
48
+ before?: Boundary;
49
+ end?: true;
50
+ }
51
+ /** HTTP normalization supplies missing IDs/names and expands string columns.
52
+ * Connection/source config metadata is not part of this operation's view DTO. */
53
+ type HttpViewInput = Pick<Partial<ViewDef>, 'id' | 'name' | 'base' | 'aggregates' | 'limit'> & {
54
+ columns?: Array<string | ViewColumn>;
55
+ filter?: HttpFilter<'path'> | null;
56
+ orderBy?: Array<Omit<ViewOrder, 'direction'> & {
57
+ direction?: 'asc' | 'desc';
58
+ }>;
59
+ };
60
+ type HttpViewRequest = HttpPaginationInput & {
61
+ query?: string;
62
+ /** Omit for an exact total; record-only readers may skip the count. */
63
+ count?: 'none' | 'exact';
64
+ } & ({
65
+ view: HttpViewInput & {
66
+ base: string;
67
+ };
68
+ text?: string;
69
+ } | {
70
+ text: string;
71
+ view?: HttpViewInput;
72
+ });
73
+ export type HttpViewDefinition = Pick<ViewDef, 'id' | 'name' | 'base' | 'columns' | 'aggregates' | 'orderBy' | 'limit' | 'text'> & {
74
+ filter?: HttpFilter<'path'> | null;
75
+ };
76
+ export type HttpBreakdownDefinition = Omit<BreakdownDef, 'filter'> & {
77
+ filter?: HttpFilter<'path'> | null;
78
+ };
79
+ type HttpBreakdownRequest = HttpPaginationInput & ({
80
+ def: HttpBreakdownDefinition;
81
+ text?: string;
82
+ } | {
83
+ text: string;
84
+ def?: never;
85
+ });
86
+ /** Both existing update forms are accepted; values takes precedence if both are supplied. */
87
+ /** A new record's lines on its save, by child resource: every row the collection has, in order (server/http/formLinesWrite.ts). */
88
+ type HttpLines = Record<string, Array<{
89
+ values: HttpValues;
90
+ }>>;
91
+ export type HttpUpdateRequest = {
92
+ table: string;
93
+ key: HttpRecordKey;
94
+ expected?: HttpValues;
95
+ } & ({
96
+ values: HttpValues;
97
+ column?: string;
98
+ value?: HttpScalar;
99
+ } | {
100
+ column: string;
101
+ value?: HttpScalar;
102
+ values?: never;
103
+ });
104
+ interface HttpInsertRequest {
105
+ table: string;
106
+ values: HttpValues;
107
+ lines?: HttpLines;
108
+ }
109
+ interface HttpDeleteRequest {
110
+ table: string;
111
+ key: HttpRecordKey;
112
+ confirm?: boolean;
113
+ }
114
+ export type HttpRevertRequest<Token extends number | string = number> = {
115
+ confirm?: false;
116
+ limit?: number;
117
+ expectedId?: Token;
118
+ } | {
119
+ confirm: true;
120
+ expectedId: Token;
121
+ limit?: number;
122
+ };
123
+ /** Routing selectors are separate from operation bodies and never confer authority.
124
+ * The client's internal conn-to-app translation happens before this wire shape. */
125
+ type ResourceHttpIdentity<Mode extends ResourceHttpMode> = Mode extends 'app' ? {
126
+ app?: string;
127
+ conn?: never;
128
+ } : {
129
+ conn?: string;
130
+ app?: never;
131
+ };
132
+ type HttpErrorCode = 'validation_failed' | 'consumes_refused' | 'record_conflict' | 'required_value' | 'duplicate_value' | 'reference_conflict' | 'constraint_failed' | 'data_unavailable' | 'write_unconfirmed' | 'forbidden' | 'undo_failed';
133
+ export interface HttpDiagnostic {
134
+ message: string;
135
+ at?: number;
136
+ code?: HttpErrorCode;
137
+ /** App write validation may identify a safe field, never its value. */
138
+ fields?: readonly {
139
+ field: string;
140
+ message: string;
141
+ }[];
142
+ }
143
+ interface HttpSignInInfo {
144
+ app: string;
145
+ /** How people sign in: `email`, a social provider's name, `oidc:<name>` or `saml:<name>` (an App's `auth.providers`), as the sign-in screen offers them. */
146
+ providers: readonly string[];
147
+ /** `provider`: accounts are made at a first sign-in through an identity provider (auth.ts signInInfo). */
148
+ signUp: 'open' | 'invite' | 'provider';
149
+ labels?: Record<string, string>;
150
+ }
151
+ /** Non-2xx transport failures. They are not successful operation acknowledgements. */
152
+ interface HttpRequestFailure {
153
+ error: string;
154
+ code?: HttpErrorCode;
155
+ errors?: HttpDiagnostic[];
156
+ signIn?: HttpSignInInfo;
157
+ /** An invalid authenticated-session ID can include the signed-out bootstrap fields. */
158
+ signedIn?: false;
159
+ accountId?: null;
160
+ appId?: string;
161
+ who?: null;
162
+ header?: null;
163
+ rows?: never;
164
+ outcome?: never;
165
+ }
166
+ /** Parser/structured-breakdown failures can be HTTP 200, with no partial rows. */
167
+ export interface HttpReadFailure {
168
+ errors: HttpDiagnostic[];
169
+ rows?: never;
170
+ columns?: never;
171
+ }
172
+ type HttpRows = Pick<QueryResult, 'columns' | 'rows' | 'ms'>;
173
+ export type HttpSql = QueryResult['sql'];
174
+ interface HttpResolvedOrder {
175
+ order: Order[];
176
+ implicit: boolean;
177
+ }
178
+ /** Explicit allowlists match appDataResponse; compiler additions do not become public DTO fields. */
179
+ type HttpAppViewColumn = Pick<CompiledColumn, 'path' | 'name' | 'table' | 'column' | 'type' | 'nullable' | 'primaryKey' | 'hops' | 'aggregate'>;
180
+ type HttpAppMeasure = Pick<CompiledMeasure, 'name' | 'kind' | 'fn' | 'path' | 'type' | 'bucket'>;
181
+ type AppProjection<Body> = Body & {
182
+ sql?: never;
183
+ explain?: never;
184
+ joins?: never;
185
+ };
186
+ type QuerySuccess = HttpRows & {
187
+ order: HttpResolvedOrder;
188
+ };
189
+ /** `total` is absent for an API, which reports none: a full page then means more may follow. */
190
+ /** A page's first and last rows' order values, for the step either side; `keyset` when this page was read by one. */
191
+ type HttpPageBounds = {
192
+ bounds?: PageBounds;
193
+ keyset?: true;
194
+ };
195
+ type RunRecordsSuccess = QuerySuccess & HttpPageBounds & {
196
+ table: string;
197
+ total?: number;
198
+ exactTotal?: boolean;
199
+ cappedTotal?: true;
200
+ limit: number;
201
+ offset: number;
202
+ errors: [];
203
+ };
204
+ type RunViewSuccess = HttpRows & HttpPageBounds & {
205
+ table: string;
206
+ view: HttpViewDefinition;
207
+ text: string;
208
+ total?: number;
209
+ limit: number;
210
+ offset: number;
211
+ errors: [];
212
+ };
213
+ type ViewSuccess = HttpRows & {
214
+ view: HttpViewDefinition;
215
+ text: string;
216
+ total?: number;
217
+ more: boolean;
218
+ limit: number;
219
+ offset: number;
220
+ errors: [];
221
+ };
222
+ type BreakdownSuccess = HttpRows & {
223
+ breakdown: HttpBreakdownDefinition & {
224
+ limit: number;
225
+ };
226
+ total?: number;
227
+ offset: number;
228
+ /** Each reference key's groups by the name of the record each is. */
229
+ names?: GroupNames;
230
+ };
231
+ /** sectionFromText's copy-to-dashboard payload, not a compiled statement. */
232
+ interface HttpBreakdownSection {
233
+ kind: 'metric' | 'breakdown' | 'chart' | 'matrix';
234
+ table: string;
235
+ query?: string;
236
+ measure?: string;
237
+ by?: string;
238
+ }
239
+ type TextBreakdown = {
240
+ text: string;
241
+ section: HttpBreakdownSection | null;
242
+ };
243
+ export type HttpAppQuerySuccess = AppProjection<QuerySuccess>;
244
+ export type HttpDbQuerySuccess = QuerySuccess & {
245
+ sql: HttpSql;
246
+ };
247
+ export type HttpAppRunSuccess = AppProjection<RunRecordsSuccess | (RunViewSuccess & {
248
+ resolved: HttpAppViewColumn[];
249
+ joinCount: number;
250
+ })>;
251
+ /** The query-bar view branch currently emits explain but does not emit sql. */
252
+ export type HttpDbRunSuccess = (RunRecordsSuccess & {
253
+ sql: HttpSql;
254
+ explain: string;
255
+ }) | (RunViewSuccess & {
256
+ resolved: CompiledColumn[];
257
+ joins: CompiledJoin[];
258
+ explain: string;
259
+ sql?: never;
260
+ });
261
+ export type HttpAppViewSuccess = AppProjection<ViewSuccess & {
262
+ resolved: HttpAppViewColumn[];
263
+ joinCount: number;
264
+ }>;
265
+ export type HttpDbViewSuccess = ViewSuccess & {
266
+ resolved: CompiledColumn[];
267
+ joins: CompiledJoin[];
268
+ sql: HttpSql;
269
+ explain: string;
270
+ };
271
+ export type HttpAppBreakdownSuccess = AppProjection<BreakdownSuccess & {
272
+ resolved: HttpAppMeasure[];
273
+ } & ({
274
+ text?: never;
275
+ section?: never;
276
+ } | TextBreakdown)>;
277
+ export type HttpDbBreakdownSuccess = BreakdownSuccess & {
278
+ resolved: CompiledMeasure[];
279
+ sql: HttpSql;
280
+ } & ({
281
+ text?: never;
282
+ section?: never;
283
+ explain?: never;
284
+ } | (TextBreakdown & {
285
+ explain: string;
286
+ }));
287
+ export interface HttpUpdateSuccess<Token extends number | string = number> {
288
+ affected: number;
289
+ applied: HttpValues;
290
+ undoId?: Token;
291
+ errors?: never;
292
+ outcome?: never;
293
+ }
294
+ export interface HttpInsertSuccess<Token extends number | string = number> {
295
+ key: HttpRecordKey;
296
+ row?: Record<string, unknown>;
297
+ applied: HttpValues;
298
+ undoId?: Token;
299
+ errors?: never;
300
+ outcome?: never;
301
+ }
302
+ interface HttpWriteFailure {
303
+ errors: HttpDiagnostic[];
304
+ outcome: 'rejected' | 'unknown';
305
+ /** Scoped context failures also supply a top-level error. */
306
+ error?: string;
307
+ applied?: never;
308
+ undoId?: never;
309
+ }
310
+ /** Only immediate incoming references; count -1 means its count failed. */
311
+ interface HttpDeleteImpact {
312
+ table: string;
313
+ columns: string[];
314
+ constraint: string;
315
+ onDelete?: DeleteRule;
316
+ filter: HttpFilter;
317
+ count: number;
318
+ error?: string;
319
+ }
320
+ export interface HttpDeletePreview {
321
+ impact: HttpDeleteImpact[];
322
+ deleted: false;
323
+ outcome?: never;
324
+ errors?: never;
325
+ }
326
+ export interface HttpDeleteSuccess<Token extends number | string = number> {
327
+ impact: HttpDeleteImpact[];
328
+ deleted: true;
329
+ affected: number;
330
+ undoId?: Token;
331
+ outcome?: never;
332
+ errors?: never;
333
+ }
334
+ export type HttpDeleteFailure = Omit<HttpWriteFailure, 'outcome'> & {
335
+ impact?: HttpDeleteImpact[];
336
+ } & ({
337
+ deleted: false;
338
+ outcome: 'rejected';
339
+ } | {
340
+ deleted: null;
341
+ outcome: 'unknown';
342
+ });
343
+ /** Own public history DTO: never derive this from the private JournalEntry.
344
+ * Existing graph/raw-SQL history can appear here; this adds no execution API. */
345
+ type HttpHistoryKind = 'update' | 'insert' | 'delete' | 'insert_graph' | 'delete_graph' | 'sql';
346
+ export interface HttpHistoryEntry<Token extends number | string = number> {
347
+ id: Token;
348
+ kind: HttpHistoryKind;
349
+ at: string;
350
+ summary: string;
351
+ by?: string;
352
+ revertible: boolean;
353
+ reason?: string;
354
+ undoState?: 'pending' | 'unknown';
355
+ blocksUndo?: boolean;
356
+ connection?: never;
357
+ principal?: never;
358
+ app?: never;
359
+ steps?: never;
360
+ }
361
+ type HttpHistoryNext<Token extends number | string = number> = Pick<HttpHistoryEntry<Token>, 'id' | 'kind' | 'at' | 'summary'>;
362
+ type HttpHistoryUndone<Token extends number | string = number> = Pick<HttpHistoryEntry<Token>, 'id' | 'kind' | 'summary'>;
363
+ export interface HttpHistoryPreview<Token extends number | string = number> {
364
+ reverted: false;
365
+ writes: HttpHistoryEntry<Token>[];
366
+ next?: HttpHistoryNext<Token>;
367
+ outcome?: never;
368
+ }
369
+ interface HttpUndoStep {
370
+ table: string;
371
+ key?: Record<string, unknown>;
372
+ action: string;
373
+ }
374
+ export interface HttpUndoSuccess<Token extends number | string = number> {
375
+ reverted: true;
376
+ outcome: 'applied';
377
+ undone: HttpHistoryUndone<Token>;
378
+ steps?: HttpUndoStep[];
379
+ errors?: never;
380
+ }
381
+ export interface HttpUndoFailure<Token extends number | string = number> {
382
+ reverted: false;
383
+ outcome: 'not_applied' | 'unknown';
384
+ undone?: HttpHistoryUndone<Token>;
385
+ steps?: HttpUndoStep[];
386
+ errors?: HttpDiagnostic[];
387
+ error?: string;
388
+ }
389
+ /** Some pre-execution Undo refusals have only error/outcome, with no reverted flag. */
390
+ type UndoRequestFailure = Omit<HttpRequestFailure, 'outcome'> & {
391
+ outcome: 'not_applied' | 'unknown';
392
+ reverted?: false;
393
+ };
394
+ export interface ResourceHttpBodies {
395
+ '/api/query': HttpQueryRequest;
396
+ '/api/count': HttpCountRequest;
397
+ '/api/run': HttpRunRequest;
398
+ '/api/view/run': HttpViewRequest;
399
+ '/api/breakdown': HttpBreakdownRequest;
400
+ '/api/update': HttpUpdateRequest;
401
+ '/api/insert': HttpInsertRequest;
402
+ '/api/delete': HttpDeleteRequest;
403
+ '/api/revert': HttpRevertRequest;
404
+ }
405
+ export type ResourceHttpPath = keyof ResourceHttpBodies;
406
+ export type ResourceHttpBody<Path extends ResourceHttpPath> = ResourceHttpBodies[Path];
407
+ export type ResourceHttpRequest<Path extends ResourceHttpPath, Mode extends ResourceHttpMode = ResourceHttpMode> = ResourceHttpBody<Path> & ResourceHttpIdentity<Mode>;
408
+ interface AppSuccesses {
409
+ '/api/query': HttpAppQuerySuccess;
410
+ '/api/count': AppProjection<CountResult>;
411
+ '/api/run': HttpAppRunSuccess;
412
+ '/api/view/run': HttpAppViewSuccess;
413
+ '/api/breakdown': HttpAppBreakdownSuccess;
414
+ '/api/update': AppProjection<HttpUpdateSuccess>;
415
+ '/api/insert': AppProjection<HttpInsertSuccess>;
416
+ '/api/delete': AppProjection<HttpDeletePreview | HttpDeleteSuccess>;
417
+ '/api/revert': AppProjection<HttpHistoryPreview | HttpUndoSuccess>;
418
+ }
419
+ interface DbSuccesses {
420
+ '/api/query': HttpDbQuerySuccess;
421
+ '/api/count': CountResult;
422
+ '/api/run': HttpDbRunSuccess;
423
+ '/api/view/run': HttpDbViewSuccess;
424
+ '/api/breakdown': HttpDbBreakdownSuccess;
425
+ '/api/update': HttpUpdateSuccess & {
426
+ sql: HttpSql;
427
+ };
428
+ '/api/insert': HttpInsertSuccess & {
429
+ sql: HttpSql;
430
+ };
431
+ '/api/delete': HttpDeletePreview | (HttpDeleteSuccess & {
432
+ sql: HttpSql;
433
+ });
434
+ '/api/revert': HttpHistoryPreview | HttpUndoSuccess;
435
+ }
436
+ type OperationFailure<Path extends ResourceHttpPath, Mode extends ResourceHttpMode> = Path extends '/api/run' ? HttpReadFailure & (Mode extends 'db' ? {
437
+ explain?: string;
438
+ } : object) : Path extends '/api/view/run' | '/api/breakdown' ? HttpReadFailure : Path extends '/api/update' | '/api/insert' ? HttpWriteFailure : Path extends '/api/delete' ? HttpDeleteFailure : Path extends '/api/revert' ? HttpUndoFailure | UndoRequestFailure : never;
439
+ export type ResourceHttpSuccess<Path extends ResourceHttpPath, Mode extends ResourceHttpMode = ResourceHttpMode> = Mode extends 'app' ? AppSuccesses[Path] : DbSuccesses[Path];
440
+ export type ResourceHttpFailure<Path extends ResourceHttpPath, Mode extends ResourceHttpMode = ResourceHttpMode> = Mode extends 'app' ? AppProjection<HttpRequestFailure | OperationFailure<Path, Mode>> : HttpRequestFailure | OperationFailure<Path, Mode>;
441
+ /** Includes non-2xx failures; callers that throw those still need to handle 200 failures. */
442
+ export type ResourceHttpReply<Path extends ResourceHttpPath, Mode extends ResourceHttpMode = ResourceHttpMode> = ResourceHttpSuccess<Path, Mode> | ResourceHttpFailure<Path, Mode>;
443
+ export type ResourceHttpContract<Path extends ResourceHttpPath, Mode extends ResourceHttpMode = ResourceHttpMode> = {
444
+ request: ResourceHttpRequest<Path, Mode>;
445
+ success: ResourceHttpSuccess<Path, Mode>;
446
+ failure: ResourceHttpFailure<Path, Mode>;
447
+ reply: ResourceHttpReply<Path, Mode>;
448
+ };
449
+ /** The bundled client throws non-2xx responses but must still check 200 failures.
450
+ * Its conn selector is translated to App identity before reaching the wire. */
451
+ type ClientPath<Path extends string> = Path extends `${infer Route}?${string}` ? Route : Path;
452
+ type ClientRoute<Path extends string> = Extract<ClientPath<Path>, ResourceHttpPath>;
453
+ /** Bundled callers can be ordinary or tenant-bound. Wire contracts above keep
454
+ * their distinct token types; runtime selection decides which one may be sent. */
455
+ type ClientBody<Path extends ResourceHttpPath> = Path extends '/api/revert' ? HttpRevertRequest<number | string> : ResourceHttpBody<Path>;
456
+ type TenantClientSuccess<Path extends ResourceHttpPath> = Path extends '/api/update' ? HttpUpdateSuccess<string> : Path extends '/api/insert' ? HttpInsertSuccess<string> : Path extends '/api/delete' ? HttpDeletePreview | HttpDeleteSuccess<string> : Path extends '/api/revert' ? HttpHistoryPreview<string> | HttpUndoSuccess<string> : never;
457
+ export type ResourceClientArgs<Path extends string> = string extends Path ? never : [Extract<Path, `${string}#${string}`>] extends [never] ? [
458
+ Extract<ResourceHttpPath, ClientPath<Path>>
459
+ ] extends [never] ? [body?: Record<string, unknown>] : [ClientPath<Path>] extends [ResourceHttpPath] ? [body: ClientBody<ClientRoute<Path>> & {
460
+ conn?: string | null;
461
+ }] : never : never;
462
+ /** Non-resource routes retain their existing contract outside this workstream. */
463
+ export type ResourceClientReply<Path extends string> = [ResourceClientArgs<Path>] extends [never] ? never : [ClientRoute<Path>] extends [never] ? any : ResourceHttpSuccess<ClientRoute<Path>> | TenantClientSuccess<ClientRoute<Path>> | OperationFailure<ClientRoute<Path>, ResourceHttpMode> | (ClientRoute<Path> extends '/api/revert' ? HttpUndoFailure<string> : never);
464
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Rich text: what a stored value may hold, and its plain words.
3
+ *
4
+ * A rich text value is HTML, kept to one small allowlist — paragraphs and
5
+ * line breaks, bold, italic, strike and underline, links, three heading
6
+ * levels, bullet, numbered and task lists, a quote, inline code and a code
7
+ * block, simple tables, an @-mention, and a picture that is one of this App's
8
+ * own attachments. Nothing else: no style, no script, no event handler, no
9
+ * class but a code block's language.
10
+ *
11
+ * Two sides read this one list. The server writes nothing else
12
+ * (server/richText.ts, on every write of a rich text column or input), and
13
+ * the browser draws nothing else (components/RichText.tsx), whatever the
14
+ * database holds: a value written outside the App — by SQL, by another
15
+ * program, before the column was declared rich — is drawn through the same
16
+ * allowlist, never trusted for being in the database.
17
+ *
18
+ * The plain text twin is derived, never stored: `richTextPlain` reads the
19
+ * words out of a value, for a list cell's excerpt, a notice, a plain email
20
+ * and an export. A search of the column matches the stored HTML's words, so
21
+ * a word reads the same; a tag name is not a word anyone searches for.
22
+ */
23
+ /**
24
+ * A stored mention's handle (`data-id`): the value of the people's `by`
25
+ * column — a word, a number, a UUID, or an email. An email's `@` and `+` are
26
+ * in it: a people resource keyed by email was offered nobody, and a mention
27
+ * of one was dropped on save and never told.
28
+ */
29
+ export declare const MENTION_HANDLE: RegExp;
30
+ /** The most words after an @ that are each looked for (shared/mentionLookup.ts): "@Morgan Tr" narrows two Morgans,
31
+ and a space after the second word ends the name, so the list the editor offers closes there. */
32
+ export declare const MENTION_QUERY_WORDS = 2;
33
+ /** The most characters a rich text value holds, as stored HTML, unless its field says fewer. */
34
+ export declare const RICH_TEXT_MOST = 200000;
35
+ /**
36
+ * The elements a value may hold, each with the attributes it keeps. An
37
+ * attribute's value is judged by `richTextAttribute` below.
38
+ */
39
+ export declare const RICH_TEXT_ELEMENTS: Readonly<Record<string, readonly string[]>>;
40
+ /** Elements dropped with everything inside them: their content is code or chrome, never words. */
41
+ export declare const RICH_TEXT_DROPPED: readonly string[];
42
+ /** A link's address: the web, or mail. Everything else (javascript:, data:, a relative path) is no link. */
43
+ export declare function richTextHref(raw: string): string | undefined;
44
+ /**
45
+ * A picture's address, when it is one of this App's own attachments: the file
46
+ * route's inline mode for one row of a file resource,
47
+ * `/api/file?table=<resource>&key=<the row's key as JSON>&inline=1`. Relative
48
+ * to the App, so a mount point or a proxy's base path is the page's to add
49
+ * (`served`). `tables` narrows it to the App's file resources where the
50
+ * caller knows them (the server does). Anything else is no picture.
51
+ */
52
+ export declare function richTextImage(raw: string, tables?: ReadonlySet<string>): {
53
+ table: string;
54
+ key: Record<string, string | number>;
55
+ } | undefined;
56
+ /** The address a picture of one attachment row is stored as: the same form `richTextImage` reads. */
57
+ export declare function richTextImageAddress(table: string, key: Record<string, string | number>): string;
58
+ /**
59
+ * Whether an attribute's value is kept on an element: a link's address, a
60
+ * picture's, a task item's state, a list's kind, a mention's handle and
61
+ * whether it names a group, a code block's language, a cell's span. Undefined drops it. The caller has already
62
+ * checked the attribute is one the element keeps.
63
+ */
64
+ export declare function richTextAttribute(element: string, name: string, value: string, images?: ReadonlySet<string>): string | undefined;
65
+ /**
66
+ * A rich text value's words: tags out, entities read, one line per block, a
67
+ * list item after a dash, a task with its box, a picture as its description.
68
+ * Pure text, never markup, whatever the value held — it is drawn as text.
69
+ */
70
+ export declare function richTextPlain(html: unknown): string;
71
+ /** A value's words in one line, cut at a word near `most` characters with an ellipsis: a cell, a card, an excerpt. */
72
+ export declare function richTextExcerpt(html: unknown, most?: number): string;
73
+ /**
74
+ * Who a value @-mentions, as the editor stores them: a person as
75
+ * `<span data-type="mention" data-id="ada">`, a group (a team) with
76
+ * `data-kind="group"` beside it. Each once, in order, at most twenty in all.
77
+ * A mention is its stored handle, never the words drawn in it: the text
78
+ * `@Ada` inside the span is how it reads, and nobody is found by it.
79
+ */
80
+ export declare function richTextMentioned(html: unknown): {
81
+ people: string[];
82
+ groups: string[];
83
+ };
84
+ /** The people's handles a value @-mentions (`<span data-type="mention" data-id="ada">`), each once, in order; a group's are `richTextMentioned`'s. */
85
+ export declare function richTextMentions(html: unknown): string[];