@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.
- package/LICENSE +21 -0
- package/README.md +17 -2
- package/dist/adapters/adapter.d.ts +693 -0
- package/dist/adapters/adapter.js +444 -0
- package/dist/adapters/cache/cacheStore.d.ts +75 -0
- package/dist/adapters/cache/cacheStore.js +160 -0
- package/dist/adapters/cache/resp.d.ts +52 -0
- package/dist/adapters/cache/resp.js +237 -0
- package/dist/adapters/commands/canonicalJson.d.ts +19 -0
- package/dist/adapters/commands/canonicalJson.js +154 -0
- package/dist/adapters/connect.d.ts +29 -0
- package/dist/adapters/connect.js +40 -0
- package/dist/adapters/connectionBudget.d.ts +101 -0
- package/dist/adapters/connectionBudget.js +128 -0
- package/dist/adapters/dbLatency.d.ts +35 -0
- package/dist/adapters/dbLatency.js +79 -0
- package/dist/adapters/epochCache.d.ts +50 -0
- package/dist/adapters/epochCache.js +85 -0
- package/dist/adapters/http/egress.d.ts +48 -0
- package/dist/adapters/http/egress.js +175 -0
- package/dist/adapters/http/httpAdapter.d.ts +71 -0
- package/dist/adapters/http/httpAdapter.js +512 -0
- package/dist/adapters/http/httpDescription.d.ts +32 -0
- package/dist/adapters/http/httpDescription.js +246 -0
- package/dist/adapters/http/openapi.d.ts +98 -0
- package/dist/adapters/http/openapi.js +487 -0
- package/dist/adapters/layoutRefusal.d.ts +24 -0
- package/dist/adapters/layoutRefusal.js +35 -0
- package/dist/adapters/net/networkPolicy.d.ts +44 -0
- package/dist/adapters/net/networkPolicy.js +123 -0
- package/dist/adapters/net/untrustedDatabase.d.ts +18 -0
- package/dist/adapters/net/untrustedDatabase.js +120 -0
- package/dist/adapters/poolAdmission.d.ts +43 -0
- package/dist/adapters/poolAdmission.js +184 -0
- package/dist/adapters/poolMetrics.d.ts +121 -0
- package/dist/adapters/poolMetrics.js +185 -0
- package/dist/adapters/postgres.d.ts +436 -0
- package/dist/adapters/postgres.js +1890 -0
- package/dist/adapters/postgresCatalog.d.ts +96 -0
- package/dist/adapters/postgresCatalog.js +387 -0
- package/dist/adapters/postgresCatalogDigest.d.ts +30 -0
- package/dist/adapters/postgresCatalogDigest.js +87 -0
- package/dist/adapters/postgresCatalogRows.d.ts +62 -0
- package/dist/adapters/postgresCatalogRows.js +37 -0
- package/dist/adapters/postgresDates.d.ts +1 -0
- package/dist/adapters/postgresDates.js +39 -0
- package/dist/adapters/postgresMaintenance.d.ts +33 -0
- package/dist/adapters/postgresMaintenance.js +179 -0
- package/dist/adapters/postgresPool.d.ts +255 -0
- package/dist/adapters/postgresPool.js +838 -0
- package/dist/adapters/postgresPooler.d.ts +28 -0
- package/dist/adapters/postgresPooler.js +267 -0
- package/dist/adapters/postgresReadCatalog.d.ts +31 -0
- package/dist/adapters/postgresReadCatalog.js +226 -0
- package/dist/adapters/postgresReadSnapshot.d.ts +46 -0
- package/dist/adapters/postgresReadSnapshot.js +133 -0
- package/dist/adapters/postgresSchemaEpoch.d.ts +24 -0
- package/dist/adapters/postgresSchemaEpoch.js +149 -0
- package/dist/adapters/postgresTransactionHandle.d.ts +173 -0
- package/dist/adapters/postgresTransactionHandle.js +524 -0
- package/dist/adapters/postgresValues.d.ts +30 -0
- package/dist/adapters/postgresValues.js +75 -0
- package/dist/adapters/replicas.d.ts +70 -0
- package/dist/adapters/replicas.js +208 -0
- package/dist/adapters/reservedSql.d.ts +38 -0
- package/dist/adapters/reservedSql.js +264 -0
- package/dist/adapters/rolePrivileges.d.ts +17 -0
- package/dist/adapters/rolePrivileges.js +22 -0
- package/dist/adapters/scoped/keyRows.d.ts +65 -0
- package/dist/adapters/scoped/keyRows.js +173 -0
- package/dist/adapters/scoped/postgresScopeCatalog.d.ts +16 -0
- package/dist/adapters/scoped/postgresScopeCatalog.js +117 -0
- package/dist/adapters/scoped/scopedCommandOperations.d.ts +5 -0
- package/dist/adapters/scoped/scopedCommandOperations.js +48 -0
- package/dist/adapters/scoped/scopedReads.d.ts +20 -0
- package/dist/adapters/scoped/scopedReads.js +174 -0
- package/dist/adapters/scoped/scopedTransaction.d.ts +89 -0
- package/dist/adapters/scoped/scopedTransaction.js +303 -0
- package/dist/adapters/scoped/sqliteScopeCatalog.d.ts +16 -0
- package/dist/adapters/scoped/sqliteScopeCatalog.js +241 -0
- package/dist/adapters/scoped/updateGuard.d.ts +3 -0
- package/dist/adapters/scoped/updateGuard.js +40 -0
- package/dist/adapters/serverSettings.d.ts +45 -0
- package/dist/adapters/serverSettings.js +46 -0
- package/dist/adapters/sqlite.d.ts +262 -0
- package/dist/adapters/sqlite.js +1434 -0
- package/dist/adapters/sqliteCostlyReads.d.ts +33 -0
- package/dist/adapters/sqliteCostlyReads.js +49 -0
- package/dist/adapters/sqliteDecimals.d.ts +22 -0
- package/dist/adapters/sqliteDecimals.js +57 -0
- package/dist/adapters/sqliteHandles.d.ts +43 -0
- package/dist/adapters/sqliteHandles.js +143 -0
- package/dist/adapters/sqliteStatementProcess.d.ts +29 -0
- package/dist/adapters/sqliteStatementProcess.js +131 -0
- package/dist/adapters/statementControl.d.ts +34 -0
- package/dist/adapters/statementControl.js +90 -0
- package/dist/adapters/storeHost.d.ts +130 -0
- package/dist/adapters/storeHost.js +13 -0
- package/dist/adapters/telemetry/drivers.d.ts +21 -0
- package/dist/adapters/telemetry/drivers.js +321 -0
- package/dist/adapters/telemetry/metrics.d.ts +63 -0
- package/dist/adapters/telemetry/metrics.js +122 -0
- package/dist/adapters/telemetry/otlp.d.ts +12 -0
- package/dist/adapters/telemetry/otlp.js +320 -0
- package/dist/adapters/telemetry/otlpEncode.d.ts +48 -0
- package/dist/adapters/telemetry/otlpEncode.js +366 -0
- package/dist/adapters/telemetry/otlpEnv.d.ts +1 -0
- package/dist/adapters/telemetry/otlpEnv.js +12 -0
- package/dist/adapters/telemetry/serverTiming.d.ts +83 -0
- package/dist/adapters/telemetry/serverTiming.js +503 -0
- package/dist/adapters/telemetry/start.d.ts +10 -0
- package/dist/adapters/telemetry/start.js +25 -0
- package/dist/adapters/telemetry/statement.d.ts +16 -0
- package/dist/adapters/telemetry/statement.js +134 -0
- package/dist/adapters/telemetry/trace.d.ts +127 -0
- package/dist/adapters/telemetry/trace.js +295 -0
- package/dist/adapters/writeAhead.d.ts +27 -0
- package/dist/adapters/writeAhead.js +46 -0
- package/dist/adapters/writeAttribution.d.ts +18 -0
- package/dist/adapters/writeAttribution.js +23 -0
- package/dist/adapters/writeCapture.d.ts +73 -0
- package/dist/adapters/writeCapture.js +20 -0
- package/dist/adapters/writeLanes.d.ts +94 -0
- package/dist/adapters/writeLanes.js +232 -0
- package/dist/engine.d.ts +15 -0
- package/dist/engine.js +13 -0
- package/dist/server/auth/credentials.d.ts +61 -0
- package/dist/server/auth/credentials.js +260 -0
- package/dist/server/cacheService.d.ts +50 -0
- package/dist/server/cacheService.js +110 -0
- package/dist/server/cli/args.d.ts +176 -0
- package/dist/server/cli/args.js +342 -0
- package/dist/server/cli/bin.d.ts +5 -0
- package/dist/server/cli/bin.js +66 -0
- package/dist/server/cli/browser.d.ts +15 -0
- package/dist/server/cli/browser.js +37 -0
- package/dist/server/cli/config.d.ts +50 -0
- package/dist/server/cli/config.js +206 -0
- package/dist/server/cli/startup.d.ts +36 -0
- package/dist/server/cli/startup.js +128 -0
- package/dist/server/cli/startupOptions.d.ts +63 -0
- package/dist/server/cli/startupOptions.js +143 -0
- package/dist/server/cli/subcommand.d.ts +28 -0
- package/dist/server/cli/subcommand.js +32 -0
- package/dist/server/cli/usage.d.ts +13 -0
- package/dist/server/cli/usage.js +31 -0
- package/dist/server/clientHttp.d.ts +184 -0
- package/dist/server/clientHttp.js +700 -0
- package/dist/server/clientSurface.d.ts +128 -0
- package/dist/server/clientSurface.js +182 -0
- package/dist/server/columnGrants.d.ts +103 -0
- package/dist/server/columnGrants.js +730 -0
- package/dist/server/compileCache.d.ts +1 -0
- package/dist/server/compileCache.js +30 -0
- package/dist/server/config/locations.d.ts +1 -0
- package/dist/server/config/locations.js +15 -0
- package/dist/server/configPaths.d.ts +7 -0
- package/dist/server/configPaths.js +34 -0
- package/dist/server/configSections.d.ts +64 -0
- package/dist/server/configSections.js +72 -0
- package/dist/server/connectionRedaction.d.ts +30 -0
- package/dist/server/connectionRedaction.js +77 -0
- package/dist/server/connections.d.ts +353 -0
- package/dist/server/connections.js +978 -0
- package/dist/server/constraints.d.ts +82 -0
- package/dist/server/constraints.js +169 -0
- package/dist/server/demo.d.ts +9 -0
- package/dist/server/demo.js +554 -0
- package/dist/server/devclient.d.ts +108 -0
- package/dist/server/devclient.js +361 -0
- package/dist/server/evidence.d.ts +55 -0
- package/dist/server/evidence.js +323 -0
- package/dist/server/hiddenColumns.d.ts +32 -0
- package/dist/server/hiddenColumns.js +238 -0
- package/dist/server/http/baselineHeaders.d.ts +24 -0
- package/dist/server/http/baselineHeaders.js +12 -0
- package/dist/server/http/captured.d.ts +35 -0
- package/dist/server/http/captured.js +73 -0
- package/dist/server/http/clock.d.ts +1 -0
- package/dist/server/http/clock.js +14 -0
- package/dist/server/http/connectionSource.d.ts +4 -0
- package/dist/server/http/connectionSource.js +48 -0
- package/dist/server/http/context.d.ts +189 -0
- package/dist/server/http/context.js +11 -0
- package/dist/server/http/crawlerText.d.ts +15 -0
- package/dist/server/http/crawlerText.js +32 -0
- package/dist/server/http/dataRoutes.d.ts +88 -0
- package/dist/server/http/dataRoutes.js +137 -0
- package/dist/server/http/door.d.ts +57 -0
- package/dist/server/http/door.js +39 -0
- package/dist/server/http/exportRoute.d.ts +15 -0
- package/dist/server/http/exportRoute.js +320 -0
- package/dist/server/http/firstPaint.d.ts +108 -0
- package/dist/server/http/firstPaint.js +262 -0
- package/dist/server/http/httpOperationRoutes.d.ts +11 -0
- package/dist/server/http/httpOperationRoutes.js +50 -0
- package/dist/server/http/pageReads.d.ts +20 -0
- package/dist/server/http/pageReads.js +205 -0
- package/dist/server/http/pageRoutes.d.ts +39 -0
- package/dist/server/http/pageRoutes.js +291 -0
- package/dist/server/http/probes.d.ts +22 -0
- package/dist/server/http/probes.js +27 -0
- package/dist/server/http/rateLimit.d.ts +131 -0
- package/dist/server/http/rateLimit.js +351 -0
- package/dist/server/http/readRoutes.d.ts +9 -0
- package/dist/server/http/readRoutes.js +131 -0
- package/dist/server/http/readRouting.d.ts +20 -0
- package/dist/server/http/readRouting.js +80 -0
- package/dist/server/http/recordCompose.d.ts +67 -0
- package/dist/server/http/recordCompose.js +167 -0
- package/dist/server/http/recordWrites.d.ts +89 -0
- package/dist/server/http/recordWrites.js +298 -0
- package/dist/server/http/refusalReport.d.ts +38 -0
- package/dist/server/http/refusalReport.js +63 -0
- package/dist/server/http/reply.d.ts +130 -0
- package/dist/server/http/reply.js +394 -0
- package/dist/server/http/requestOrigin.d.ts +11 -0
- package/dist/server/http/requestOrigin.js +8 -0
- package/dist/server/http/router.d.ts +45 -0
- package/dist/server/http/router.js +22 -0
- package/dist/server/http/serverCore.d.ts +68 -0
- package/dist/server/http/serverCore.js +177 -0
- package/dist/server/http/traceRequest.d.ts +30 -0
- package/dist/server/http/traceRequest.js +224 -0
- package/dist/server/http/trust.d.ts +261 -0
- package/dist/server/http/trust.js +472 -0
- package/dist/server/http/writeRefusal.d.ts +33 -0
- package/dist/server/http/writeRefusal.js +24 -0
- package/dist/server/httpConnection.d.ts +49 -0
- package/dist/server/httpConnection.js +170 -0
- package/dist/server/impact.d.ts +55 -0
- package/dist/server/impact.js +47 -0
- package/dist/server/journal.d.ts +134 -0
- package/dist/server/journal.js +398 -0
- package/dist/server/keysetReadHttp.d.ts +52 -0
- package/dist/server/keysetReadHttp.js +85 -0
- package/dist/server/layouts.d.ts +49 -0
- package/dist/server/layouts.js +192 -0
- package/dist/server/migrate/cli.d.ts +55 -0
- package/dist/server/migrate/cli.js +517 -0
- package/dist/server/migrate/database.d.ts +37 -0
- package/dist/server/migrate/database.js +247 -0
- package/dist/server/migrate/desired.d.ts +76 -0
- package/dist/server/migrate/desired.js +292 -0
- package/dist/server/migrate/files.d.ts +34 -0
- package/dist/server/migrate/files.js +141 -0
- package/dist/server/migrate/flyway.d.ts +7 -0
- package/dist/server/migrate/flyway.js +69 -0
- package/dist/server/migrate/history.d.ts +70 -0
- package/dist/server/migrate/history.js +211 -0
- package/dist/server/migrate/runner.d.ts +100 -0
- package/dist/server/migrate/runner.js +409 -0
- package/dist/server/migrate/snapshot.d.ts +30 -0
- package/dist/server/migrate/snapshot.js +239 -0
- package/dist/server/migrate/target.d.ts +33 -0
- package/dist/server/migrate/target.js +82 -0
- package/dist/server/openapiDraft.d.ts +25 -0
- package/dist/server/openapiDraft.js +171 -0
- package/dist/server/operations/diagnostics.d.ts +101 -0
- package/dist/server/operations/diagnostics.js +284 -0
- package/dist/server/operations/requestMetrics.d.ts +33 -0
- package/dist/server/operations/requestMetrics.js +94 -0
- package/dist/server/packageVersion.d.ts +1 -0
- package/dist/server/packageVersion.js +11 -0
- package/dist/server/poolConfig.d.ts +34 -0
- package/dist/server/poolConfig.js +114 -0
- package/dist/server/product.d.ts +20 -0
- package/dist/server/product.js +12 -0
- package/dist/server/recordHistoryOperations.d.ts +39 -0
- package/dist/server/recordHistoryOperations.js +43 -0
- package/dist/server/recordWriteOperations.d.ts +111 -0
- package/dist/server/recordWriteOperations.js +329 -0
- package/dist/server/resourceReadHttp.d.ts +81 -0
- package/dist/server/resourceReadHttp.js +606 -0
- package/dist/server/resourceReadOperations.d.ts +147 -0
- package/dist/server/resourceReadOperations.js +452 -0
- package/dist/server/scaffoldMachine.d.ts +54 -0
- package/dist/server/scaffoldMachine.js +184 -0
- package/dist/server/seed/cli.d.ts +20 -0
- package/dist/server/seed/cli.js +164 -0
- package/dist/server/seed/lexicon.d.ts +26 -0
- package/dist/server/seed/lexicon.js +585 -0
- package/dist/server/seed/seed.d.ts +70 -0
- package/dist/server/seed/seed.js +779 -0
- package/dist/server/seed/words.d.ts +21 -0
- package/dist/server/seed/words.js +164 -0
- package/dist/server/serverRequests.d.ts +6 -0
- package/dist/server/serverRequests.js +33 -0
- package/dist/server/serverTimeouts.d.ts +33 -0
- package/dist/server/serverTimeouts.js +32 -0
- package/dist/server/shapeonly.d.ts +32 -0
- package/dist/server/shapeonly.js +110 -0
- package/dist/server/startupWarnings.d.ts +32 -0
- package/dist/server/startupWarnings.js +92 -0
- package/dist/shared/addressParams.d.ts +28 -0
- package/dist/shared/addressParams.js +47 -0
- package/dist/shared/appCards.d.ts +123 -0
- package/dist/shared/appCards.js +385 -0
- package/dist/shared/appComponents.d.ts +177 -0
- package/dist/shared/appComponents.js +422 -0
- package/dist/shared/appDocuments.d.ts +43 -0
- package/dist/shared/appDocuments.js +131 -0
- package/dist/shared/appEmbeds.d.ts +21 -0
- package/dist/shared/appEmbeds.js +24 -0
- package/dist/shared/appIcons.d.ts +28 -0
- package/dist/shared/appIcons.js +223 -0
- package/dist/shared/appLinks.d.ts +17 -0
- package/dist/shared/appLinks.js +124 -0
- package/dist/shared/appListColumns.d.ts +3 -0
- package/dist/shared/appListColumns.js +66 -0
- package/dist/shared/appLocale.d.ts +36 -0
- package/dist/shared/appLocale.js +86 -0
- package/dist/shared/appMessages.d.ts +44 -0
- package/dist/shared/appMessages.js +78 -0
- package/dist/shared/appNoun.d.ts +21 -0
- package/dist/shared/appNoun.js +32 -0
- package/dist/shared/autoBucket.d.ts +98 -0
- package/dist/shared/autoBucket.js +305 -0
- package/dist/shared/autoValues.d.ts +25 -0
- package/dist/shared/autoValues.js +25 -0
- package/dist/shared/breakdown.d.ts +228 -0
- package/dist/shared/breakdown.js +557 -0
- package/dist/shared/breakdowntext.d.ts +41 -0
- package/dist/shared/breakdowntext.js +400 -0
- package/dist/shared/builtInThemes.d.ts +2 -0
- package/dist/shared/builtInThemes.js +771 -0
- package/dist/shared/chartSeparation.d.ts +11 -0
- package/dist/shared/chartSeparation.js +58 -0
- package/dist/shared/clauses.d.ts +22 -0
- package/dist/shared/clauses.js +97 -0
- package/dist/shared/columnCaption.d.ts +16 -0
- package/dist/shared/columnCaption.js +90 -0
- package/dist/shared/commandFieldPath.d.ts +2 -0
- package/dist/shared/commandFieldPath.js +7 -0
- package/dist/shared/commandWire.d.ts +26 -0
- package/dist/shared/commandWire.js +41 -0
- package/dist/shared/computed.d.ts +161 -0
- package/dist/shared/computed.js +378 -0
- package/dist/shared/computedParse.d.ts +13 -0
- package/dist/shared/computedParse.js +278 -0
- package/dist/shared/computedValue.d.ts +47 -0
- package/dist/shared/computedValue.js +191 -0
- package/dist/shared/connection.d.ts +30 -0
- package/dist/shared/connection.js +1 -0
- package/dist/shared/csv.d.ts +20 -0
- package/dist/shared/csv.js +63 -0
- package/dist/shared/dashLayout.d.ts +30 -0
- package/dist/shared/dashLayout.js +132 -0
- package/dist/shared/dashboardAsks.d.ts +93 -0
- package/dist/shared/dashboardAsks.js +129 -0
- package/dist/shared/dashboardTrend.d.ts +20 -0
- package/dist/shared/dashboardTrend.js +50 -0
- package/dist/shared/declaredReferences.d.ts +50 -0
- package/dist/shared/declaredReferences.js +202 -0
- package/dist/shared/definedFields.d.ts +63 -0
- package/dist/shared/definedFields.js +103 -0
- package/dist/shared/definedValues.d.ts +63 -0
- package/dist/shared/definedValues.js +184 -0
- package/dist/shared/displayDefaults.d.ts +135 -0
- package/dist/shared/displayDefaults.js +529 -0
- package/dist/shared/dueDate.d.ts +6 -0
- package/dist/shared/dueDate.js +6 -0
- package/dist/shared/duration.d.ts +4 -0
- package/dist/shared/duration.js +23 -0
- package/dist/shared/fileBounds.d.ts +9 -0
- package/dist/shared/fileBounds.js +9 -0
- package/dist/shared/filter.d.ts +217 -0
- package/dist/shared/filter.js +305 -0
- package/dist/shared/firstPaint.d.ts +24 -0
- package/dist/shared/firstPaint.js +33 -0
- package/dist/shared/form.d.ts +21 -0
- package/dist/shared/form.js +25 -0
- package/dist/shared/formValues.d.ts +104 -0
- package/dist/shared/formValues.js +352 -0
- package/dist/shared/funnel.d.ts +45 -0
- package/dist/shared/funnel.js +108 -0
- package/dist/shared/httpOperations.d.ts +48 -0
- package/dist/shared/httpOperations.js +9 -0
- package/dist/shared/iconGlyphs.d.ts +4 -0
- package/dist/shared/iconGlyphs.js +151 -0
- package/dist/shared/iconWeights.d.ts +3 -0
- package/dist/shared/iconWeights.js +162 -0
- package/dist/shared/imageWidths.d.ts +32 -0
- package/dist/shared/imageWidths.js +38 -0
- package/dist/shared/keysetPage.d.ts +64 -0
- package/dist/shared/keysetPage.js +161 -0
- package/dist/shared/like.d.ts +20 -0
- package/dist/shared/like.js +29 -0
- package/dist/shared/listEmpty.d.ts +12 -0
- package/dist/shared/listEmpty.js +36 -0
- package/dist/shared/listFilters.d.ts +28 -0
- package/dist/shared/listFilters.js +84 -0
- package/dist/shared/listPresentations.d.ts +199 -0
- package/dist/shared/listPresentations.js +7 -0
- package/dist/shared/listQuestion.d.ts +52 -0
- package/dist/shared/listQuestion.js +137 -0
- package/dist/shared/lookPalettes.d.ts +62 -0
- package/dist/shared/lookPalettes.js +306 -0
- package/dist/shared/maskQuoted.d.ts +24 -0
- package/dist/shared/maskQuoted.js +48 -0
- package/dist/shared/mentionLabel.d.ts +19 -0
- package/dist/shared/mentionLabel.js +38 -0
- package/dist/shared/mentionLookup.d.ts +17 -0
- package/dist/shared/mentionLookup.js +64 -0
- package/dist/shared/menuCounts.d.ts +16 -0
- package/dist/shared/menuCounts.js +74 -0
- package/dist/shared/model.d.ts +79 -0
- package/dist/shared/model.js +153 -0
- package/dist/shared/money.d.ts +44 -0
- package/dist/shared/money.js +81 -0
- package/dist/shared/moneyEntry.d.ts +7 -0
- package/dist/shared/moneyEntry.js +27 -0
- package/dist/shared/mount.d.ts +118 -0
- package/dist/shared/mount.js +248 -0
- package/dist/shared/niceTicks.d.ts +26 -0
- package/dist/shared/niceTicks.js +50 -0
- package/dist/shared/order.d.ts +59 -0
- package/dist/shared/order.js +133 -0
- package/dist/shared/page.d.ts +135 -0
- package/dist/shared/page.js +1187 -0
- package/dist/shared/pageAnatomy.d.ts +99 -0
- package/dist/shared/pageAnatomy.js +370 -0
- package/dist/shared/pageConfig.d.ts +25 -0
- package/dist/shared/pageConfig.js +1308 -0
- package/dist/shared/pageEmptyActions.d.ts +12 -0
- package/dist/shared/pageEmptyActions.js +20 -0
- package/dist/shared/pageLayouts.d.ts +72 -0
- package/dist/shared/pageLayouts.js +205 -0
- package/dist/shared/pageModel.d.ts +785 -0
- package/dist/shared/pageModel.js +121 -0
- package/dist/shared/pagePaths.d.ts +180 -0
- package/dist/shared/pagePaths.js +869 -0
- package/dist/shared/pagePlans.d.ts +52 -0
- package/dist/shared/pagePlans.js +108 -0
- package/dist/shared/pageRoutes.d.ts +9 -0
- package/dist/shared/pageRoutes.js +9 -0
- package/dist/shared/query.d.ts +166 -0
- package/dist/shared/query.js +1302 -0
- package/dist/shared/queryDates.d.ts +12 -0
- package/dist/shared/queryDates.js +101 -0
- package/dist/shared/queryOperands.d.ts +99 -0
- package/dist/shared/queryOperands.js +131 -0
- package/dist/shared/reads.d.ts +103 -0
- package/dist/shared/reads.js +154 -0
- package/dist/shared/recordLabel.d.ts +51 -0
- package/dist/shared/recordLabel.js +123 -0
- package/dist/shared/recordReadKeys.d.ts +30 -0
- package/dist/shared/recordReadKeys.js +51 -0
- package/dist/shared/recordReads.d.ts +268 -0
- package/dist/shared/recordReads.js +368 -0
- package/dist/shared/recordview.d.ts +198 -0
- package/dist/shared/recordview.js +356 -0
- package/dist/shared/referenceModel.d.ts +58 -0
- package/dist/shared/referenceModel.js +194 -0
- package/dist/shared/refusal.d.ts +64 -0
- package/dist/shared/refusal.js +144 -0
- package/dist/shared/relatedCreate.d.ts +30 -0
- package/dist/shared/relatedCreate.js +162 -0
- package/dist/shared/resourceHttp.d.ts +464 -0
- package/dist/shared/resourceHttp.js +1 -0
- package/dist/shared/richText.d.ts +85 -0
- package/dist/shared/richText.js +305 -0
- package/dist/shared/rollups.d.ts +143 -0
- package/dist/shared/rollups.js +64 -0
- package/dist/shared/rowScope.d.ts +72 -0
- package/dist/shared/rowScope.js +376 -0
- package/dist/shared/runtimeTables.d.ts +44 -0
- package/dist/shared/runtimeTables.js +79 -0
- package/dist/shared/schema.d.ts +523 -0
- package/dist/shared/schema.js +627 -0
- package/dist/shared/schematext.d.ts +38 -0
- package/dist/shared/schematext.js +101 -0
- package/dist/shared/scopeCatalog.d.ts +29 -0
- package/dist/shared/scopeCatalog.js +468 -0
- package/dist/shared/servedApp.d.ts +681 -0
- package/dist/shared/servedApp.js +45 -0
- package/dist/shared/sessionLease.d.ts +34 -0
- package/dist/shared/sessionLease.js +3 -0
- package/dist/shared/shape.d.ts +55 -0
- package/dist/shared/shape.js +168 -0
- package/dist/shared/slug.d.ts +1 -0
- package/dist/shared/slug.js +12 -0
- package/dist/shared/sortText.d.ts +14 -0
- package/dist/shared/sortText.js +26 -0
- package/dist/shared/sqlRelation.d.ts +4 -0
- package/dist/shared/sqlRelation.js +8 -0
- package/dist/shared/sqlsaved.d.ts +44 -0
- package/dist/shared/sqlsaved.js +63 -0
- package/dist/shared/stitchedPaths.d.ts +27 -0
- package/dist/shared/stitchedPaths.js +38 -0
- package/dist/shared/structuredFilter.d.ts +22 -0
- package/dist/shared/structuredFilter.js +1 -0
- package/dist/shared/subtitlePath.d.ts +20 -0
- package/dist/shared/subtitlePath.js +24 -0
- package/dist/shared/suggest.d.ts +18 -0
- package/dist/shared/suggest.js +59 -0
- package/dist/shared/tableSizing.d.ts +4 -0
- package/dist/shared/tableSizing.js +9 -0
- package/dist/shared/tagLists.d.ts +57 -0
- package/dist/shared/tagLists.js +34 -0
- package/dist/shared/textRules.d.ts +54 -0
- package/dist/shared/textRules.js +133 -0
- package/dist/shared/theme.d.ts +94 -0
- package/dist/shared/theme.js +800 -0
- package/dist/shared/themeColor.d.ts +34 -0
- package/dist/shared/themeColor.js +109 -0
- package/dist/shared/themeFaces.d.ts +30 -0
- package/dist/shared/themeFaces.js +42 -0
- package/dist/shared/themeInk.d.ts +20 -0
- package/dist/shared/themeInk.js +52 -0
- package/dist/shared/themeLooks.d.ts +9 -0
- package/dist/shared/themeLooks.js +572 -0
- package/dist/shared/themeParts.d.ts +26 -0
- package/dist/shared/themeParts.js +71 -0
- package/dist/shared/themePartsCheck.d.ts +21 -0
- package/dist/shared/themePartsCheck.js +91 -0
- package/dist/shared/themePresets.d.ts +85 -0
- package/dist/shared/themePresets.js +139 -0
- package/dist/shared/themeRecipeWords.d.ts +156 -0
- package/dist/shared/themeRecipeWords.js +156 -0
- package/dist/shared/themeRecipes.d.ts +213 -0
- package/dist/shared/themeRecipes.js +234 -0
- package/dist/shared/themeResolve.d.ts +55 -0
- package/dist/shared/themeResolve.js +52 -0
- package/dist/shared/themeTokens.d.ts +107 -0
- package/dist/shared/themeTokens.js +116 -0
- package/dist/shared/themeType.d.ts +38 -0
- package/dist/shared/themeType.js +205 -0
- package/dist/shared/unitWord.d.ts +4 -0
- package/dist/shared/unitWord.js +37 -0
- package/dist/shared/view.d.ts +195 -0
- package/dist/shared/view.js +987 -0
- package/dist/shared/viewLabels.d.ts +47 -0
- package/dist/shared/viewLabels.js +459 -0
- package/dist/shared/viewPaths.d.ts +248 -0
- package/dist/shared/viewPaths.js +294 -0
- package/dist/shared/viewtext.d.ts +57 -0
- package/dist/shared/viewtext.js +282 -0
- package/dist/shared/vocabulary.d.ts +71 -0
- package/dist/shared/vocabulary.js +249 -0
- package/dist/shared/weekStart.d.ts +7 -0
- package/dist/shared/weekStart.js +36 -0
- package/mark.svg +1 -0
- package/package.json +261 -4
- package/schema/model.d.ts +298 -0
- package/schema/theme.d.ts +587 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/** Section planning only: callers own page validation, root lookup and access. */
|
|
2
|
+
import { breakdownPlan, chartPlan, customReadView, customTotalPlan, listView, metricView, type OfKeys, type PageDef } from './page.js';
|
|
3
|
+
import { groupsView, totalsView } from './pagePaths.js';
|
|
4
|
+
import { type KindsReading } from './pageModel.js';
|
|
5
|
+
import type { RootValues } from './pagePaths.js';
|
|
6
|
+
import { type DatabaseSchema } from './schema.js';
|
|
7
|
+
type HttpPagePlan = {
|
|
8
|
+
index: number;
|
|
9
|
+
kind: KindsReading<'none' | 'record'>;
|
|
10
|
+
} | ({
|
|
11
|
+
index: number;
|
|
12
|
+
kind: 'breakdown';
|
|
13
|
+
breakdown?: ReturnType<typeof breakdownPlan>['def'];
|
|
14
|
+
} & Pick<ReturnType<typeof breakdownPlan>, 'empty' | 'error'>) | ({
|
|
15
|
+
index: number;
|
|
16
|
+
kind: 'chart';
|
|
17
|
+
breakdown?: ReturnType<typeof chartPlan>['def'];
|
|
18
|
+
} & Pick<ReturnType<typeof chartPlan>, 'empty' | 'error'>) | {
|
|
19
|
+
index: number;
|
|
20
|
+
kind: 'timeline';
|
|
21
|
+
streams: Array<{
|
|
22
|
+
from: string;
|
|
23
|
+
at: string;
|
|
24
|
+
show: string;
|
|
25
|
+
detail?: string;
|
|
26
|
+
by?: string;
|
|
27
|
+
/** With a `side`: the stream's key columns, and the same read narrowed to the other party's rows. */
|
|
28
|
+
key?: string[];
|
|
29
|
+
side?: ReturnType<typeof listView>;
|
|
30
|
+
} & ReturnType<typeof listView>>;
|
|
31
|
+
} | {
|
|
32
|
+
index: number;
|
|
33
|
+
kind: 'custom';
|
|
34
|
+
reads: Record<string, ReturnType<typeof customReadView>>;
|
|
35
|
+
/** Its aggregate reads, each a breakdown (page.ts, customTotalPlan). */
|
|
36
|
+
aggregates: Record<string, Pick<ReturnType<typeof customTotalPlan>, 'empty' | 'error'> & {
|
|
37
|
+
breakdown?: ReturnType<typeof customTotalPlan>['def'];
|
|
38
|
+
}>;
|
|
39
|
+
} | ({
|
|
40
|
+
index: number;
|
|
41
|
+
kind: 'list' | 'metric';
|
|
42
|
+
query?: string;
|
|
43
|
+
viewText?: string;
|
|
44
|
+
totals?: ReturnType<typeof totalsView>['breakdown'];
|
|
45
|
+
/** A grouped list's groups: one row for each record its rows share, read before the rows of each (pagePaths.ts, groupsView). */
|
|
46
|
+
groups?: ReturnType<typeof groupsView>['breakdown'];
|
|
47
|
+
} & ReturnType<typeof metricView>);
|
|
48
|
+
/** One supplied date keeps relative filters consistent across all sections.
|
|
49
|
+
* No reads or authorization occur here; `ofKeys` and `rootValues` (the
|
|
50
|
+
* record's own values, for a similar list) are already read by the caller. */
|
|
51
|
+
export declare function planPageSections(schema: DatabaseSchema, page: PageDef, key: Record<string, string | number>, ofKeys: OfKeys, now?: Date, rootValues?: RootValues): HttpPagePlan[];
|
|
52
|
+
export {};
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/** Section planning only: callers own page validation, root lookup and access. */
|
|
2
|
+
import { breakdownPlan, chartPlan, customReadView, customTotalPlan, listView, metricView, sectionQuery, timelineMarkColumns, timelineSides, } from './page.js';
|
|
3
|
+
import { groupsView, totalsView } from './pagePaths.js';
|
|
4
|
+
import { sectionReading } from './pageModel.js';
|
|
5
|
+
import { findTable, primaryKey } from './schema.js';
|
|
6
|
+
import { andQuery } from './query.js';
|
|
7
|
+
import { viewToTextWithSchema } from './viewtext.js';
|
|
8
|
+
/** One supplied date keeps relative filters consistent across all sections.
|
|
9
|
+
* No reads or authorization occur here; `ofKeys` and `rootValues` (the
|
|
10
|
+
* record's own values, for a similar list) are already read by the caller. */
|
|
11
|
+
export function planPageSections(schema, page, key, ofKeys, now = new Date(), rootValues) {
|
|
12
|
+
return page.sections.map((section, index) => {
|
|
13
|
+
// A note reads nothing, the fields read the record the caller already has, and a
|
|
14
|
+
// history is the record's own, read through its own route (server/recordHistory.ts), and so are its flow runs (server/recordFlows.ts).
|
|
15
|
+
if (!sectionReading(section, 'rows'))
|
|
16
|
+
return { index, kind: section.kind };
|
|
17
|
+
// Breakdown root filters can walk paths the text grammar cannot express.
|
|
18
|
+
if (section.kind === 'breakdown') {
|
|
19
|
+
const built = breakdownPlan(schema, page, section, key, index, now, ofKeys);
|
|
20
|
+
return { index, kind: section.kind, breakdown: built.def, empty: built.empty, error: built.error };
|
|
21
|
+
}
|
|
22
|
+
// A chart is the same related rows as a breakdown, measured and keyed its own way.
|
|
23
|
+
if (section.kind === 'chart') {
|
|
24
|
+
const built = chartPlan(schema, page, section, key, index, now, ofKeys);
|
|
25
|
+
return { index, kind: section.kind, breakdown: built.def, empty: built.empty, error: built.error };
|
|
26
|
+
}
|
|
27
|
+
// Streams remain independent list views; the client merges their rows.
|
|
28
|
+
if (section.kind === 'timeline') {
|
|
29
|
+
/* Each stream's far side, if it has one: its own, or the section's where its table can read it. */
|
|
30
|
+
const { sides } = timelineSides(schema, section);
|
|
31
|
+
const streamMarks = (stream) => timelineMarkColumns(section, stream, findTable(schema, stream.from));
|
|
32
|
+
return {
|
|
33
|
+
index,
|
|
34
|
+
kind: section.kind,
|
|
35
|
+
streams: section.streams.map((stream, s) => {
|
|
36
|
+
/* A side is the same read narrowed by its condition, its rows told apart by their keys: the condition is
|
|
37
|
+
asked where the rows are read, through the reader's grants, rather than by the client. */
|
|
38
|
+
const side = sides[s];
|
|
39
|
+
const table = side === undefined ? undefined : findTable(schema, stream.from);
|
|
40
|
+
const keyColumns = table ? primaryKey(table) : [];
|
|
41
|
+
const asList = {
|
|
42
|
+
kind: 'list',
|
|
43
|
+
from: stream.from,
|
|
44
|
+
path: stream.path,
|
|
45
|
+
columns: [
|
|
46
|
+
...new Set([stream.at, stream.show, stream.detail, stream.by, ...streamMarks(stream), ...keyColumns].filter((c) => Boolean(c))),
|
|
47
|
+
],
|
|
48
|
+
filter: stream.filter,
|
|
49
|
+
orderBy: [{ column: stream.at, direction: 'desc' }],
|
|
50
|
+
limit: section.limit ?? 20,
|
|
51
|
+
...(stream.of ? { of: stream.of } : {}),
|
|
52
|
+
};
|
|
53
|
+
const built = listView(schema, page, asList, key, index, now, ofKeys);
|
|
54
|
+
const others = side !== undefined && keyColumns.length && built.view
|
|
55
|
+
? listView(schema, page, { ...asList, columns: keyColumns, filter: andQuery(stream.filter, side) }, key, index, now, ofKeys)
|
|
56
|
+
: undefined;
|
|
57
|
+
return {
|
|
58
|
+
from: stream.from,
|
|
59
|
+
at: stream.at,
|
|
60
|
+
show: stream.show,
|
|
61
|
+
detail: stream.detail,
|
|
62
|
+
by: stream.by,
|
|
63
|
+
view: built.view,
|
|
64
|
+
empty: built.empty,
|
|
65
|
+
error: built.error,
|
|
66
|
+
...(others ? { key: keyColumns, side: others } : {}),
|
|
67
|
+
};
|
|
68
|
+
}),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
// Each declared read is its own view; the client runs them beside each other.
|
|
72
|
+
if (section.kind === 'custom') {
|
|
73
|
+
return {
|
|
74
|
+
index,
|
|
75
|
+
kind: section.kind,
|
|
76
|
+
reads: Object.fromEntries(Object.entries(section.reads ?? {}).map(([name, read]) => [name, customReadView(schema, page, name, read, key, index, now)])),
|
|
77
|
+
aggregates: Object.fromEntries(Object.entries(section.aggregates ?? {}).map(([name, total]) => {
|
|
78
|
+
const built = customTotalPlan(schema, page, name, total, key, index, now);
|
|
79
|
+
return [name, { breakdown: built.def, empty: built.empty, error: built.error }];
|
|
80
|
+
})),
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
const built = section.kind === 'metric'
|
|
84
|
+
? metricView(schema, page, section, key, index, now, ofKeys)
|
|
85
|
+
: listView(schema, page, section, key, index, now, ofKeys, rootValues);
|
|
86
|
+
// A related list's footer: its sums over every row it matches, planned beside it.
|
|
87
|
+
const totals = section.kind === 'list' && section.totals?.length && built.view
|
|
88
|
+
? totalsView(schema, page, section, key, ofKeys, rootValues)
|
|
89
|
+
: undefined;
|
|
90
|
+
const groups = section.kind === 'list' && section.group && built.view ? groupsView(schema, page, section, key, ofKeys, now) : undefined;
|
|
91
|
+
return {
|
|
92
|
+
index,
|
|
93
|
+
kind: section.kind,
|
|
94
|
+
view: built.view,
|
|
95
|
+
...(totals?.breakdown ? { totals: totals.breakdown } : {}),
|
|
96
|
+
...(groups?.breakdown ? { groups: groups.breakdown } : {}),
|
|
97
|
+
empty: built.empty,
|
|
98
|
+
// Count metrics consume the total, not a value from the loaded rows.
|
|
99
|
+
counts: built.counts,
|
|
100
|
+
// A narrowed or distant measure reads its one figure from a breakdown.
|
|
101
|
+
...(built.breakdown ? { breakdown: built.breakdown } : {}),
|
|
102
|
+
// A simple filter can open the grid; more distant paths need a view.
|
|
103
|
+
query: built.view ? sectionQuery(built.view) : undefined,
|
|
104
|
+
viewText: built.view ? viewToTextWithSchema(schema, built.view) : undefined,
|
|
105
|
+
error: built.error ?? totals?.error ?? groups?.error,
|
|
106
|
+
};
|
|
107
|
+
});
|
|
108
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A free-form page's two words on the wire, said by the client that sends
|
|
3
|
+
* them and the server that reads them (server/http/pageLoad.ts). Apart from
|
|
4
|
+
* the SDK's module lists so the shell's first chunk carries only these.
|
|
5
|
+
*/
|
|
6
|
+
/** Where a page's loader is run for the reader: `POST { page, params }`. */
|
|
7
|
+
export declare const PAGE_LOAD_PATH = "/api/pages/load";
|
|
8
|
+
/** The header a page's own requests carry: its path. */
|
|
9
|
+
export declare const PAGE_HEADER = "x-mistri-page";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A free-form page's two words on the wire, said by the client that sends
|
|
3
|
+
* them and the server that reads them (server/http/pageLoad.ts). Apart from
|
|
4
|
+
* the SDK's module lists so the shell's first chunk carries only these.
|
|
5
|
+
*/
|
|
6
|
+
/** Where a page's loader is run for the reader: `POST { page, params }`. */
|
|
7
|
+
export const PAGE_LOAD_PATH = '/api/pages/load';
|
|
8
|
+
/** The header a page's own requests carry: its path. */
|
|
9
|
+
export const PAGE_HEADER = 'x-mistri-page';
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A small query language for browsing.
|
|
3
|
+
*
|
|
4
|
+
* customers country = "Australia" and credit_limit > 1000
|
|
5
|
+
* invoices where total >= 50 sort invoice_date desc limit 20
|
|
6
|
+
* employees title contains manager show first_name, last_name, email
|
|
7
|
+
* orders order_date = last 30 days
|
|
8
|
+
*
|
|
9
|
+
* The table comes first, because that is how people say it out loud. Every
|
|
10
|
+
* other clause is optional, and `where` / `order by` are accepted as aliases
|
|
11
|
+
* for `filter` / `sort` so SQL habits do not have to be unlearned.
|
|
12
|
+
*
|
|
13
|
+
* Why a language at all, when the thing underneath is SQL?
|
|
14
|
+
*
|
|
15
|
+
* Because this one compiles to a `Filter` — a structure — and never to SQL
|
|
16
|
+
* text. The adapter turns that structure into a parameterised statement, so
|
|
17
|
+
* there is no path from what a user types to what the database parses as
|
|
18
|
+
* syntax. A tool that let people type SQL directly would have to either trust
|
|
19
|
+
* them or write a SQL parser to untrust them; this sidesteps both by making
|
|
20
|
+
* the dangerous shape unrepresentable.
|
|
21
|
+
*
|
|
22
|
+
* Two things fall out of it for free. Because the compiler holds the schema,
|
|
23
|
+
* a mistyped column is an error at the caret instead of a database exception
|
|
24
|
+
* — and, worse, a mistyped *value* on a real column can be caught too. And
|
|
25
|
+
* because the compiled statement is shown next to the query, the language
|
|
26
|
+
* teaches SQL rather than hiding it.
|
|
27
|
+
*/
|
|
28
|
+
import type { Filter } from './filter.js';
|
|
29
|
+
import { type DatabaseSchema, type MachineStates } from './schema.js';
|
|
30
|
+
import { type QueryPerson } from './queryOperands.js';
|
|
31
|
+
export { dateWindow } from './queryDates.js';
|
|
32
|
+
interface ParsedQuery {
|
|
33
|
+
table: string;
|
|
34
|
+
filter: Filter;
|
|
35
|
+
/** Explicit column list from `show`, empty for all columns. */
|
|
36
|
+
columns: string[];
|
|
37
|
+
orderBy: {
|
|
38
|
+
column: string;
|
|
39
|
+
direction: 'asc' | 'desc';
|
|
40
|
+
}[];
|
|
41
|
+
limit?: number;
|
|
42
|
+
}
|
|
43
|
+
export interface QueryError {
|
|
44
|
+
message: string;
|
|
45
|
+
/** Character offset into the input, when it can be located. */
|
|
46
|
+
at?: number;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* A query's problem as an App's author reads it: the message, then where in
|
|
50
|
+
* the query it stands. The query bar underlines the word; a query written in
|
|
51
|
+
* an App's source is read in a terminal, where "character 23" and the words
|
|
52
|
+
* from there are what find it. `text` is what the positions count in, and the
|
|
53
|
+
* author's own words start at `from` (after a table name the caller added).
|
|
54
|
+
*/
|
|
55
|
+
export declare function saidAt(error: QueryError, text: string, from?: number): string;
|
|
56
|
+
interface ParseResult {
|
|
57
|
+
query?: ParsedQuery;
|
|
58
|
+
errors: QueryError[];
|
|
59
|
+
}
|
|
60
|
+
export { columnKind, type ColumnKind } from './schema.js';
|
|
61
|
+
/**
|
|
62
|
+
* Join query fragments with `and`, parenthesizing any fragment whose
|
|
63
|
+
* top-level `or` would otherwise regroup: `a or b` composed with `c`
|
|
64
|
+
* must mean `(a or b) and c`, never `a or (b and c)`. Every place that
|
|
65
|
+
* folds an authored query into a narrower one goes through this.
|
|
66
|
+
*/
|
|
67
|
+
export declare function andQuery(...parts: Array<string | false | null | undefined>): string;
|
|
68
|
+
/**
|
|
69
|
+
* A fragment's conditions, and the clauses that follow them: `a = 1 sort b
|
|
70
|
+
* limit 5` is head `a = 1`, tail `sort b limit 5`. A leading `filter`/`where`
|
|
71
|
+
* is dropped from the head, since the composition supplies its own. Quoted
|
|
72
|
+
* values are masked before scanning so `name = "sort of"` stays a value; a
|
|
73
|
+
* clause word followed by an operator is a column (`limit > 5`), as the
|
|
74
|
+
* parser itself decides. Mirrored in the client (core.js), kept honest by
|
|
75
|
+
* test/mirrors.test.ts.
|
|
76
|
+
*/
|
|
77
|
+
export declare function splitClauseTail(text: string): {
|
|
78
|
+
head: string;
|
|
79
|
+
tail: string;
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* A condition about the rows that point at the record: `any opportunity where
|
|
83
|
+
* stage = won`, `no task via owner_id`. The child table, the reference it
|
|
84
|
+
* points through where it has several, and its own conditions — several of
|
|
85
|
+
* them in parentheses, since a top-level `and` belongs to the record's.
|
|
86
|
+
*/
|
|
87
|
+
export declare const ANY_CONDITION: RegExp;
|
|
88
|
+
/** Each `any …`/`no …` condition in a condition text, where it stands; a column called `any` (`any = 3`) is not one. */
|
|
89
|
+
export declare function anyConditions(text: string): Array<{
|
|
90
|
+
at: number;
|
|
91
|
+
text: string;
|
|
92
|
+
}>;
|
|
93
|
+
/**
|
|
94
|
+
* The conditions a query holds at its top level, segments written out and nested `and`s flattened, each in a
|
|
95
|
+
* spelling that does not depend on spacing: `a = 1 and (b = 2 and c = 3)` is three. An `or` stays one
|
|
96
|
+
* condition, its branches in order, since which branch holds is not a question of more or fewer conditions. It is
|
|
97
|
+
* how one query is shown to ask no more than another (a metric's whole, dashboards: `targetWhole`).
|
|
98
|
+
*/
|
|
99
|
+
export declare function topLevelConditions(text: string, segments?: Readonly<Record<string, string>>): string[];
|
|
100
|
+
/** `me` read by a parse that was handed no person (ParseOptions.me). */
|
|
101
|
+
export declare const NO_ONE_HERE = "me is the signed-in person, and nobody is named here to be it. Quote it (\"me\") to mean the text.";
|
|
102
|
+
interface ExpandedSegments {
|
|
103
|
+
text: string;
|
|
104
|
+
/** A position in the expanded text, said in the text as written: inside a segment's words, the segment's own word. */
|
|
105
|
+
at: (position: number) => number;
|
|
106
|
+
error?: QueryError;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* A condition text with each segment it names written out, nested ones too.
|
|
110
|
+
* The positions of what was written stay readable through `at`, so a mistake
|
|
111
|
+
* in the author's own words is still underlined where they typed it.
|
|
112
|
+
*/
|
|
113
|
+
export declare function expandSegments(text: string, segments: Readonly<Record<string, string>> | undefined, chain?: readonly string[]): ExpandedSegments;
|
|
114
|
+
/**
|
|
115
|
+
* Write a value back into the grammar, quoting only when it needs it.
|
|
116
|
+
*
|
|
117
|
+
* The exact counterpart of `unquoteValue` above, and the reason it lives here
|
|
118
|
+
* rather than beside the caller: quoting used to be written out wherever a
|
|
119
|
+
* value had to be turned back into query text — three times in the client and
|
|
120
|
+
* once here — and the four disagreed about an embedded `"`, so the same value
|
|
121
|
+
* produced a different filter depending on which button was pressed.
|
|
122
|
+
*
|
|
123
|
+
* The backslash is escaped before the quote, or a value ending in one would
|
|
124
|
+
* escape its own closing quote and swallow the rest of the query. The client
|
|
125
|
+
* has its own copy in `core.quote`, because the browser cannot import this
|
|
126
|
+
* file; `mirrors.test.ts` asserts the two agree character for character.
|
|
127
|
+
*/
|
|
128
|
+
export declare function quoteValue(value: unknown): string;
|
|
129
|
+
export type { QueryPerson } from './queryOperands.js';
|
|
130
|
+
export { ANYONE } from './queryOperands.js';
|
|
131
|
+
interface ParseOptions {
|
|
132
|
+
schema?: DatabaseSchema;
|
|
133
|
+
/** Injected so compilation is deterministic and testable. */
|
|
134
|
+
now?: Date;
|
|
135
|
+
/**
|
|
136
|
+
* Admit another column on a condition's right-hand side. Only a view's
|
|
137
|
+
* compiler can write one (`buildWhere` refuses it elsewhere), so a plain
|
|
138
|
+
* query says so by name and the query bar reads the text again as a view.
|
|
139
|
+
*/
|
|
140
|
+
columnValues?: boolean;
|
|
141
|
+
/** Who `me` is: the server's reading of the session; null, nobody signed in. Absent, `me` is refused. */
|
|
142
|
+
me?: QueryPerson | null;
|
|
143
|
+
/** A machine's states by column, for a parse with no catalog to carry them (`status is open`). */
|
|
144
|
+
states?: Readonly<Record<string, MachineStates>>;
|
|
145
|
+
}
|
|
146
|
+
interface Reads {
|
|
147
|
+
clock: 0 | 1 | 2;
|
|
148
|
+
reader: boolean;
|
|
149
|
+
}
|
|
150
|
+
/** `work`'s value, and how finely it read the clock (0 not, 1 by day, 2 the instant) and whether it read the reader. */
|
|
151
|
+
export declare function readsOf<T>(work: () => T): {
|
|
152
|
+
value: T;
|
|
153
|
+
} & Readonly<Reads>;
|
|
154
|
+
/** A read of the clock (1 the day, 2 the instant) or of the reader, told to whatever work is watching (readsOf). */
|
|
155
|
+
export declare function noteRead(clock: 0 | 1 | 2, reader?: boolean): void;
|
|
156
|
+
export declare function parseQuery(input: string, options?: ParseOptions): ParseResult;
|
|
157
|
+
/**
|
|
158
|
+
* Render a parsed query back as the SQL it will become.
|
|
159
|
+
*
|
|
160
|
+
* This is for the explain panel, not for execution — the adapter builds the
|
|
161
|
+
* real statement from the same `Filter` with bound parameters. Showing values
|
|
162
|
+
* inline here is safe because the string never reaches a database, and it is
|
|
163
|
+
* the whole point: seeing `country = $1` next to `country = 'Australia'` is
|
|
164
|
+
* how someone learns what the tool is doing on their behalf.
|
|
165
|
+
*/
|
|
166
|
+
export declare function explain(query: ParsedQuery): string;
|