@mistriwork/engine 0.0.0-stage → 1.0.0-rc.9
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 +62 -0
- package/dist/shared/keysetPage.js +159 -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,681 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The App as the browser is served it, in the shapes the shared client draws: a resource's New form, its display
|
|
3
|
+
* rules, its files, tags and machine, the landing and a dashboard's first run, a nav node and a document. They
|
|
4
|
+
* are the engine's so the kit can draw a served App without reading the App framework's model; the App's
|
|
5
|
+
* authoring and resolving modules (appModel.ts, app.ts, formRules.ts, appResourceRules.ts, appPayload.ts,
|
|
6
|
+
* appUnions.ts) re-export each one where it was named before.
|
|
7
|
+
*/
|
|
8
|
+
import type { AppAction, AppCommandReference, AppFormCommandReference, StaticAppTarget } from '../../schema/model.js';
|
|
9
|
+
import type { ComponentDecl } from './appComponents.js';
|
|
10
|
+
import type { DefinedBinding } from './definedFields.js';
|
|
11
|
+
import type { TextRule } from './textRules.js';
|
|
12
|
+
import type { AppIconName } from './appIcons.js';
|
|
13
|
+
import type { FormCondition, FormScalar, FormStep, FormStyle } from './formValues.js';
|
|
14
|
+
import type { AppNoun, DisplayTone } from './model.js';
|
|
15
|
+
/** What a diagram needs of a flows binding: where the steps are, whether a step of an App kind waits for a word or only runs. */
|
|
16
|
+
export interface ServedFlowDiagram {
|
|
17
|
+
steps: string;
|
|
18
|
+
kinds?: Record<string, 'asks' | 'runs'>;
|
|
19
|
+
run?: true;
|
|
20
|
+
}
|
|
21
|
+
/** A machine as the browser reads it (appMachine.ts): the stepper, a board's lanes and a history line's words. */
|
|
22
|
+
export interface ServedMachine {
|
|
23
|
+
column: string;
|
|
24
|
+
states: {
|
|
25
|
+
value: string;
|
|
26
|
+
label: string;
|
|
27
|
+
final?: true;
|
|
28
|
+
}[];
|
|
29
|
+
path: string[];
|
|
30
|
+
/** Its named groups of states (`status is onBench`), which a menu count reads as it reads `is open`. */
|
|
31
|
+
groups?: Record<string, string[]>;
|
|
32
|
+
}
|
|
33
|
+
export interface AppForm<Field extends string = string> {
|
|
34
|
+
/** Every field the form asks, in order, rows read through. */
|
|
35
|
+
show?: Field[];
|
|
36
|
+
/** The fields as rows, where any row holds more than one (at most three side by side, one column on a narrow form);
|
|
37
|
+
authored as inner lists of `show` or of the groups' fields: `[['email', 'phone'], 'company']`. */
|
|
38
|
+
showRows?: Field[][];
|
|
39
|
+
/** Literals, or the words `today`, `now` and `me`, which the form fills in as it opens (formDefaults.ts). */
|
|
40
|
+
defaults?: string extends Field ? Record<string, FormScalar> : Partial<Record<Field, FormScalar>>;
|
|
41
|
+
/** The values taken from a referenced record, authored in `defaults` as `{ from: 'service_id.price' }`: column →
|
|
42
|
+
`reference.column`. The form refreshes each as its reference is chosen, until the person edits it; the
|
|
43
|
+
server fills one a new record leaves out (appValidation.ts). */
|
|
44
|
+
derived?: string extends Field ? Record<string, string> : Partial<Record<Field, string>>;
|
|
45
|
+
/** Presentation only; members must be unique, shown and readable. */
|
|
46
|
+
groups?: {
|
|
47
|
+
label: string;
|
|
48
|
+
description?: string;
|
|
49
|
+
fields: Field[];
|
|
50
|
+
rows?: Field[][];
|
|
51
|
+
}[];
|
|
52
|
+
description?: string;
|
|
53
|
+
/** The frame: a drawer over the list, or a page of its own (formFrame in form.ts decides when absent). */
|
|
54
|
+
open?: 'drawer' | 'page';
|
|
55
|
+
/** Each field's caption, help, placeholder, lines and — for a reference — the choices it narrows to. */
|
|
56
|
+
fields?: Partial<Record<Field, AppFormField<Field>>>;
|
|
57
|
+
/** Each field shown only while the draft matches its condition. Visibility
|
|
58
|
+
never changes field access or resource validation. */
|
|
59
|
+
when?: Partial<Record<Field, FormCondition>>;
|
|
60
|
+
/** Finite presentation steps; each field is owned by exactly one step. */
|
|
61
|
+
steps?: FormStep<Field>[];
|
|
62
|
+
/** How the steps are drawn: the stepper (default) or the intake style. */
|
|
63
|
+
style?: FormStyle;
|
|
64
|
+
/** Bounded one-hop child collections; persistence is owned by a later write contract. */
|
|
65
|
+
children?: FormChildGroup<Field>[];
|
|
66
|
+
/** Child rows asked as a grid under the fields and inserted with the record, in its transaction. */
|
|
67
|
+
lines?: FormLines[];
|
|
68
|
+
/** The resource's computed columns and rollups said under the fields as they are typed (formLines.ts). */
|
|
69
|
+
live?: string[];
|
|
70
|
+
}
|
|
71
|
+
/** One collection of a New form's child rows: a related list's words, its rows typed rather than read. */
|
|
72
|
+
export interface FormLines {
|
|
73
|
+
/** The collection's caption over its grid. */
|
|
74
|
+
label: string;
|
|
75
|
+
/** The resource of the rows. */
|
|
76
|
+
from: string;
|
|
77
|
+
/** The column of those rows that points at the new record; the server fills it. */
|
|
78
|
+
whose: string;
|
|
79
|
+
/** The row's columns asked, in order. */
|
|
80
|
+
show: string[];
|
|
81
|
+
/** The column each row's place is kept in, numbered 1, 2, 3 as the rows stand. */
|
|
82
|
+
order?: string;
|
|
83
|
+
min?: number;
|
|
84
|
+
max?: number;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* A public landing page: the signed-out front door of an App that signs
|
|
88
|
+
* people in, at `/{app}` (and `/{app}/welcome` for anyone). Content only —
|
|
89
|
+
* a headline, calls to action, a few sections of plain text — so serving it
|
|
90
|
+
* reads no database and shows nothing of the App's schema, roles or
|
|
91
|
+
* navigation. Every string is plain text and is drawn as text; every link is
|
|
92
|
+
* `https:`, `mailto:` or `tel:`, checked at load.
|
|
93
|
+
*/
|
|
94
|
+
export interface AppLanding {
|
|
95
|
+
/** The browser title; the App's name when absent. */
|
|
96
|
+
label?: string;
|
|
97
|
+
hero: LandingHero;
|
|
98
|
+
sections?: LandingSection[];
|
|
99
|
+
/** The App's `ui.footer`, put here by the server as the landing is served. */
|
|
100
|
+
footer?: LandingFooter;
|
|
101
|
+
}
|
|
102
|
+
export interface LandingHero {
|
|
103
|
+
/** The page's one heading. */
|
|
104
|
+
heading: string;
|
|
105
|
+
description?: string;
|
|
106
|
+
/** One to three calls to action; the first is primary unless it says otherwise. */
|
|
107
|
+
actions: LandingAction[];
|
|
108
|
+
/** A wide lead photo: one row of a file resource the public reads. */
|
|
109
|
+
image?: LandingImage;
|
|
110
|
+
/** Where the photo sits: beside the words (`split`, the default with an image) or behind them (`overlay`). */
|
|
111
|
+
layout?: LandingHeroLayout;
|
|
112
|
+
/** The search panel, inside the hero: the search section's keys without its title. */
|
|
113
|
+
search?: LandingSearch;
|
|
114
|
+
/** Up to four short items, said as one quiet line under the actions. */
|
|
115
|
+
highlights?: string[];
|
|
116
|
+
/** A short pill over the heading, with an App icon where it names one. */
|
|
117
|
+
badge?: LandingBadge;
|
|
118
|
+
/** Two to four photos as tiles beside the words, in place of `image`: rows of a file resource the public reads. */
|
|
119
|
+
tiles?: LandingImage[];
|
|
120
|
+
/** Up to four icon rows under the actions, each an App icon and a short line; not with `highlights`. */
|
|
121
|
+
points?: LandingPoint[];
|
|
122
|
+
}
|
|
123
|
+
export interface LandingBadge {
|
|
124
|
+
text: string;
|
|
125
|
+
icon?: AppIconName;
|
|
126
|
+
}
|
|
127
|
+
export interface LandingPoint {
|
|
128
|
+
icon: AppIconName;
|
|
129
|
+
text: string;
|
|
130
|
+
}
|
|
131
|
+
/** One row of a resource whose rows are files, by its key, and what it shows for a reader who cannot see it. */
|
|
132
|
+
export interface LandingImage {
|
|
133
|
+
from: string;
|
|
134
|
+
key: string | number;
|
|
135
|
+
alt: string;
|
|
136
|
+
}
|
|
137
|
+
/** A search over a list view: some of its own filters, submitted as that list's conditions. */
|
|
138
|
+
export interface LandingSearch {
|
|
139
|
+
view: string;
|
|
140
|
+
filters: string[];
|
|
141
|
+
submitLabel?: string;
|
|
142
|
+
}
|
|
143
|
+
export type LandingHeroLayout = 'split' | 'overlay';
|
|
144
|
+
export type LandingActionIntent = 'primary' | 'secondary';
|
|
145
|
+
/** A call to action: a public form the App declares (`/{app}/form/{id}`), a view a signed-out visitor may open, or staff sign-in. */
|
|
146
|
+
export type LandingAction = {
|
|
147
|
+
label: string;
|
|
148
|
+
view: string;
|
|
149
|
+
intent?: LandingActionIntent;
|
|
150
|
+
} | {
|
|
151
|
+
label: string;
|
|
152
|
+
signIn: true;
|
|
153
|
+
intent?: LandingActionIntent;
|
|
154
|
+
};
|
|
155
|
+
export interface LandingItem {
|
|
156
|
+
title: string;
|
|
157
|
+
description: string;
|
|
158
|
+
}
|
|
159
|
+
export interface LandingQuestion {
|
|
160
|
+
question: string;
|
|
161
|
+
answer: string;
|
|
162
|
+
}
|
|
163
|
+
/** `href` is `https://…`, `mailto:…` or `tel:…`; nothing relative, nothing else. */
|
|
164
|
+
export interface LandingLink {
|
|
165
|
+
label: string;
|
|
166
|
+
href: string;
|
|
167
|
+
}
|
|
168
|
+
export interface LandingFooter {
|
|
169
|
+
text?: string;
|
|
170
|
+
links?: LandingLink[];
|
|
171
|
+
}
|
|
172
|
+
export type LandingSection = {
|
|
173
|
+
kind: 'features';
|
|
174
|
+
title?: string;
|
|
175
|
+
items: LandingItem[];
|
|
176
|
+
} | {
|
|
177
|
+
kind: 'steps';
|
|
178
|
+
title?: string;
|
|
179
|
+
items: LandingItem[];
|
|
180
|
+
} | {
|
|
181
|
+
kind: 'faq';
|
|
182
|
+
title?: string;
|
|
183
|
+
items: LandingQuestion[];
|
|
184
|
+
} | {
|
|
185
|
+
kind: 'text';
|
|
186
|
+
title?: string;
|
|
187
|
+
text: string;
|
|
188
|
+
} | {
|
|
189
|
+
kind: 'callToAction';
|
|
190
|
+
title: string;
|
|
191
|
+
description?: string;
|
|
192
|
+
actions: LandingAction[];
|
|
193
|
+
} | {
|
|
194
|
+
kind: 'contact';
|
|
195
|
+
title?: string;
|
|
196
|
+
items: LandingLink[];
|
|
197
|
+
}
|
|
198
|
+
/** A list view's rows as its cards, read through `auth.public`: the few `sort` puts first. */
|
|
199
|
+
| {
|
|
200
|
+
kind: 'view';
|
|
201
|
+
title?: string;
|
|
202
|
+
view: string;
|
|
203
|
+
limit?: number;
|
|
204
|
+
sort?: string;
|
|
205
|
+
}
|
|
206
|
+
/** A search over a list view: its own filters, submitted as that list's conditions. */
|
|
207
|
+
| ({
|
|
208
|
+
kind: 'search';
|
|
209
|
+
title?: string;
|
|
210
|
+
} & LandingSearch);
|
|
211
|
+
/** One step of a dashboard's first run: a list view to start, said as the reader's next action. */
|
|
212
|
+
export interface AppFirstRunStep {
|
|
213
|
+
label: string;
|
|
214
|
+
view: string;
|
|
215
|
+
/** A line under the label: what the records are for. */
|
|
216
|
+
detail?: string;
|
|
217
|
+
/** Served, never authored: the view's table, whose first row marks the step done. */
|
|
218
|
+
table?: string;
|
|
219
|
+
}
|
|
220
|
+
/** Who an @ in a rich text value names. */
|
|
221
|
+
interface AppMentions {
|
|
222
|
+
from: string;
|
|
223
|
+
by: string;
|
|
224
|
+
labelColumn?: string;
|
|
225
|
+
groups?: {
|
|
226
|
+
from: string;
|
|
227
|
+
by: string;
|
|
228
|
+
labelColumn?: string;
|
|
229
|
+
through?: string;
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* How one column's values dress, everywhere they appear: grids, record
|
|
234
|
+
* fields, dashboard metrics. Declared on the column inside its resource's
|
|
235
|
+
* block and resolved against the schema at startup like everything else.
|
|
236
|
+
*/
|
|
237
|
+
export interface AppDisplayRule {
|
|
238
|
+
/** money: currency formatting. percent: the value is 0–100, shown with %.
|
|
239
|
+
number: separators forced on a numeric-looking text column. relative:
|
|
240
|
+
a date said from today — "in 3 days", "64 days ago" — with the date
|
|
241
|
+
itself in the tooltip. email, phone, url: the value is a link — to write
|
|
242
|
+
to, to call, to open beside the App — where it has that shape. An App
|
|
243
|
+
links a column named like one (`email`, `phone`, `website`) without a rule. richText: the value is
|
|
244
|
+
sanitized HTML (shared/richText.ts), drawn formatted on a record, as an excerpt in a list, edited in the
|
|
245
|
+
rich text editor; every write of the column is sanitized on the server, and Markdown is read into it. */
|
|
246
|
+
format?: 'money' | 'percent' | 'number' | 'relative' | 'items' | 'duration' | 'email' | 'phone' | 'url' | 'richText' | 'avatars' | 'rating' | 'color' | 'time' | 'month' | 'year' | 'json' | 'qr';
|
|
247
|
+
/** The face this column's values are set in, over the look's own: `data` (the look's data face, usually
|
|
248
|
+
monospace), `sans` (the interface's reading face) or `code` (always monospace, for a VIN or a hash):
|
|
249
|
+
`display: { vin: { face: 'code' } }`. Left out, an App sets a key, a reference, a code or a QR value in the
|
|
250
|
+
data face and any other text in the reading face, because a name is not compared character by character.
|
|
251
|
+
A rule with a `component` takes no face, the component sets its own; `masked: true` takes none either. */
|
|
252
|
+
face?: 'data' | 'ui' | 'code';
|
|
253
|
+
/** With format "rating": how many stars the scale has, 3 to 10 (5 when unsaid). */
|
|
254
|
+
outOf?: number;
|
|
255
|
+
/** With format "percent": the value as a small ring, filled against 100, beside the figure. */
|
|
256
|
+
ring?: true;
|
|
257
|
+
/** A number edited by dragging along its range, the figure said beside it; drawn as the number elsewhere. */
|
|
258
|
+
slider?: {
|
|
259
|
+
min: number;
|
|
260
|
+
max: number;
|
|
261
|
+
step?: number;
|
|
262
|
+
};
|
|
263
|
+
/** A text entered by the camera where the browser reads codes (BarcodeDetector), typed otherwise. */
|
|
264
|
+
scan?: true;
|
|
265
|
+
/** A signature drawn (or a name typed) and kept as a PNG row of the file resource the column points at. As
|
|
266
|
+
authored, `true`; resolved against a catalog, the file resource's table id (absent where it does not resolve). */
|
|
267
|
+
signature?: true | {
|
|
268
|
+
table: string;
|
|
269
|
+
key: string;
|
|
270
|
+
};
|
|
271
|
+
/** Value → one of the theme's chart colors, 1 to 8: a category's own color — a board card's chip and stripe, a
|
|
272
|
+
chip in a cell — kept apart from `tone`, which says meaning. A value it does not name takes a color of its
|
|
273
|
+
own, fixed by its words. */
|
|
274
|
+
colors?: Record<string, SeriesColor>;
|
|
275
|
+
/** A mark in a tinted square before the value: a list's first column led by what each row is. `{ mark, tone }`
|
|
276
|
+
tints the square by the tone another column's rule gives the row — a failed run's square in the bad tone. */
|
|
277
|
+
icon?: {
|
|
278
|
+
mark: AppIconName;
|
|
279
|
+
toneOf?: string;
|
|
280
|
+
};
|
|
281
|
+
/** With format "richText": who an @ names — the resource of people, the column stored as the handle, the column shown —
|
|
282
|
+
and, with `groups`, the teams an @ may name as well: their resource, handle and shown column, and `through`, the
|
|
283
|
+
resource of link rows that puts a person in a team (absent: the people resource's own reference to the team). */
|
|
284
|
+
mentions?: AppMentions;
|
|
285
|
+
/** With format "richText": the file resource a picture pasted or dropped in is kept in, as an attachment of the record. */
|
|
286
|
+
images?: string;
|
|
287
|
+
/** true: a short placeholder is drawn instead of every value, everywhere, the record's name included.
|
|
288
|
+
`{ prefix }`: only the values that start with it (`ENC:` ciphertext, a `tok_` token), said as the prefix and a
|
|
289
|
+
placeholder; any other value is drawn by the rest of the rule. Presentation, not protection: the value still
|
|
290
|
+
reaches the browser, and `hidden` is what keeps it there. */
|
|
291
|
+
masked?: true | {
|
|
292
|
+
prefix: string;
|
|
293
|
+
};
|
|
294
|
+
/** ISO 4217, for "money". Defaults to the App's `ui.currency`, else USD. */
|
|
295
|
+
currency?: string;
|
|
296
|
+
/** For "money": the column of the same record each row's currency code is read from (the authored
|
|
297
|
+
`currency: { column }`); `currency` stays the fallback where a row holds none. */
|
|
298
|
+
currencyColumn?: string;
|
|
299
|
+
/** For "money": the column holds whole minor units (money.ts), drawn and edited as the major figure. */
|
|
300
|
+
minor?: true;
|
|
301
|
+
/** With "number", "money" or no format on a numeric column: the unit said after the figure — "mi", "kg", "/mo" (a leading slash
|
|
302
|
+
joins without a space: "$242/mo"). At most 12 characters. */
|
|
303
|
+
unit?: string;
|
|
304
|
+
/** Value → tone: the value renders as a coloured pill. Keys are values,
|
|
305
|
+
thresholds (">= 5") or "*" for every value no other key names. */
|
|
306
|
+
tone?: Record<string, DisplayTone>;
|
|
307
|
+
/** Draw the value as a small bar beside it: against 100 for format "percent", against `max` for any other
|
|
308
|
+
number. A tone rule colours the bar. Authored as `bar: true` (a percent) or `bar: <max>`. */
|
|
309
|
+
bar?: boolean;
|
|
310
|
+
/** With `bar` on a number: the value that fills the bar (the authored `bar: 5`). */
|
|
311
|
+
max?: number;
|
|
312
|
+
/** An initials disc before the value: a person's or a company's name. Given a file resource
|
|
313
|
+
(`{ from: 'member_avatar', whose: 'member_id' }`), the disc is the record's photo — its first file,
|
|
314
|
+
drawn through the file route under the reader's grants — and the initials where there is none. */
|
|
315
|
+
avatar?: true | AppAvatarPhoto;
|
|
316
|
+
/** Value → one of the App icons, drawn before the word: priority as signal bars, a status's mark. It stands
|
|
317
|
+
where a tone's dot would, in the tone's colour; the word stays, so the value is still said. */
|
|
318
|
+
icons?: Record<string, AppIconName>;
|
|
319
|
+
/** Value → the word it is said as: `{ PUB: 'Published' }`. The stored value stays what sorts, filters and is
|
|
320
|
+
written; `tone` and `icons` are still keyed by it. */
|
|
321
|
+
values?: Record<string, string>;
|
|
322
|
+
/** Every value no `values` key names said as words (`IN_REVIEW` → "In review"): the authored `values: true`,
|
|
323
|
+
and implied by `values: { … }`, so a vocabulary never reads half in words and half in codes. */
|
|
324
|
+
humanize?: true;
|
|
325
|
+
/** Another column of the same record, said as a muted second line under the value in lists. */
|
|
326
|
+
subtitle?: string;
|
|
327
|
+
/** A value renderer: the author's component draws the value in an App (appComponents.ts); sort, filter,
|
|
328
|
+
totals and export keep the raw value, and the rest of the rule dresses it until the renderer arrives. */
|
|
329
|
+
component?: ComponentDecl;
|
|
330
|
+
}
|
|
331
|
+
/** A person's photo for an avatar: the first file of a file resource whose `whose` column names the record. */
|
|
332
|
+
export interface AppAvatarPhoto {
|
|
333
|
+
/** A resource whose rows are files (`file` on the resource). */
|
|
334
|
+
from: string;
|
|
335
|
+
/** Its column that points at the record the avatar is of. */
|
|
336
|
+
whose: string;
|
|
337
|
+
/** Which file leads where a record has several, written like the query bar: "position", "added_at desc". */
|
|
338
|
+
sort?: string;
|
|
339
|
+
}
|
|
340
|
+
/** One of a theme's eight chart colors, by place: a category's color, a menu item's dot. */
|
|
341
|
+
export type SeriesColor = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
|
|
342
|
+
/** A resource whose rows are files: the column holding the bytes, the one naming them, and where an upload's type and size go. */
|
|
343
|
+
export interface AppFileDef {
|
|
344
|
+
content: string;
|
|
345
|
+
name: string;
|
|
346
|
+
type?: string;
|
|
347
|
+
size?: string;
|
|
348
|
+
/** A binary column holding a smaller copy of the picture, sent for `?variant=thumb` (a card, a gallery strip). */
|
|
349
|
+
thumbnail?: string;
|
|
350
|
+
maxBytes?: number;
|
|
351
|
+
/** A text column holding the key of the file's object when its bytes are in `bucket` (null while they are in `content`). */
|
|
352
|
+
object?: string;
|
|
353
|
+
/** A text column given the SHA-256 of the bytes (hex) on every upload: the file's tag wherever its bytes are. */
|
|
354
|
+
hash?: string;
|
|
355
|
+
/** Where a new upload's bytes go: `content` ('database', the default) or `bucket`. A row is read from wherever it says. */
|
|
356
|
+
storage?: 'database' | 'bucket';
|
|
357
|
+
/** The S3-compatible bucket the bytes are kept in; its credentials are the server's (MISTRI_S3_*), never the App's. */
|
|
358
|
+
bucket?: AppFileBucket;
|
|
359
|
+
}
|
|
360
|
+
/** An S3-compatible bucket: AWS S3, Cloudflare R2, MinIO, Backblaze B2, Tigris. */
|
|
361
|
+
export interface AppFileBucket {
|
|
362
|
+
name: string;
|
|
363
|
+
/** The provider's region (R2: 'auto'); us-east-1 when unsaid. */
|
|
364
|
+
region?: string;
|
|
365
|
+
/** The provider's S3 endpoint; AWS S3 when unsaid. */
|
|
366
|
+
endpoint?: string;
|
|
367
|
+
/** The bucket in the path rather than the host name (MinIO). */
|
|
368
|
+
pathStyle?: boolean;
|
|
369
|
+
/** Put before every key, to share a bucket: `files/`. */
|
|
370
|
+
prefix?: string;
|
|
371
|
+
/** A download redirects to a URL signed for a minute instead of passing through the server. */
|
|
372
|
+
presign?: boolean;
|
|
373
|
+
}
|
|
374
|
+
/** A resource's tags: the link table, the table of tags, and the column of it that holds a tag's tone. */
|
|
375
|
+
export interface AppTagsDef {
|
|
376
|
+
through: string;
|
|
377
|
+
to: string;
|
|
378
|
+
toneOf?: string;
|
|
379
|
+
/**
|
|
380
|
+
* The commands that put a tag on a record and take it off, each on the
|
|
381
|
+
* record with the tag's key as its `tag` input; named, the picker runs
|
|
382
|
+
* them instead of writing link rows, so a role that runs them needs no
|
|
383
|
+
* write on the link table.
|
|
384
|
+
*/
|
|
385
|
+
add?: AppCommandReference;
|
|
386
|
+
remove?: AppCommandReference;
|
|
387
|
+
}
|
|
388
|
+
/** A bounded, one-hop child collection used by a form authoring contract.
|
|
389
|
+
* It is deliberately not a persistence instruction: the parent transaction
|
|
390
|
+
* still owns how records are created and linked. */
|
|
391
|
+
export interface FormChildGroup<Field extends string = string> {
|
|
392
|
+
id: string;
|
|
393
|
+
label: string;
|
|
394
|
+
table: string;
|
|
395
|
+
relation: {
|
|
396
|
+
from: Field;
|
|
397
|
+
to: Field;
|
|
398
|
+
};
|
|
399
|
+
min?: number;
|
|
400
|
+
max: number;
|
|
401
|
+
form?: Omit<AppForm<Field>, 'children'>;
|
|
402
|
+
}
|
|
403
|
+
/** One field's dress on a resource's New form. Presentation, except `where`,
|
|
404
|
+
* which the server enforces on every write (server appValidation.ts). */
|
|
405
|
+
export interface AppFormField<Field extends string = string> {
|
|
406
|
+
label?: string;
|
|
407
|
+
help?: string;
|
|
408
|
+
placeholder?: string;
|
|
409
|
+
multiline?: boolean;
|
|
410
|
+
/** How a vocabulary or a flag is drawn when the record is filled in: cards, buttons, radios or a listbox. */
|
|
411
|
+
as?: 'cards' | 'buttons' | 'radios' | 'select';
|
|
412
|
+
/** The referenced table's column → this form's field whose value it must equal. */
|
|
413
|
+
where?: Record<string, Field>;
|
|
414
|
+
}
|
|
415
|
+
/** A resource's tags resolved against the catalog: the link table, its reference back to the record and out to the tag, and how a tag is named. */
|
|
416
|
+
export interface AppTagRule extends Omit<AppTagsDef, 'toneOf'> {
|
|
417
|
+
/** The tag's column whose value is its chip's tone: the authored `toneOf`, read off each tag row. */
|
|
418
|
+
tone?: string;
|
|
419
|
+
/** The link column holding the record's key, and the record's column it points at. */
|
|
420
|
+
from: string;
|
|
421
|
+
key: string;
|
|
422
|
+
/** The link column holding the tag's key, and the tag's column it points at. */
|
|
423
|
+
via: string;
|
|
424
|
+
tagKey: string;
|
|
425
|
+
/** The tag's naming column. */
|
|
426
|
+
label: string;
|
|
427
|
+
}
|
|
428
|
+
/** What a served union table carries: each branch the reader can read, its record key column beside its columns. */
|
|
429
|
+
export interface UnionTable {
|
|
430
|
+
branches: ReadonlyArray<{
|
|
431
|
+
from: string;
|
|
432
|
+
key: string;
|
|
433
|
+
as: Readonly<Record<string, string>>;
|
|
434
|
+
}>;
|
|
435
|
+
}
|
|
436
|
+
/** A nav node as served: a reference carries the menu's word, its view's label when nav gave none. */
|
|
437
|
+
export type AppPayloadNavNode = {
|
|
438
|
+
view: string;
|
|
439
|
+
label: string;
|
|
440
|
+
color?: SeriesColor;
|
|
441
|
+
} | {
|
|
442
|
+
label: string;
|
|
443
|
+
to: StaticAppTarget;
|
|
444
|
+
color?: SeriesColor;
|
|
445
|
+
} | {
|
|
446
|
+
group: string;
|
|
447
|
+
label: string;
|
|
448
|
+
icon?: import('./appIcons.js').AppIconName;
|
|
449
|
+
placement?: 'footer';
|
|
450
|
+
inline?: true;
|
|
451
|
+
folded?: true;
|
|
452
|
+
children: AppPayloadNavNode[];
|
|
453
|
+
};
|
|
454
|
+
/** A record on paper, as its verb and its address need it (appDocuments.ts). */
|
|
455
|
+
export interface AppPayloadDocument {
|
|
456
|
+
id: string;
|
|
457
|
+
/** Its record's table id. */
|
|
458
|
+
base: string;
|
|
459
|
+
label: string;
|
|
460
|
+
size?: import('./appDocuments.js').DocumentSize;
|
|
461
|
+
}
|
|
462
|
+
/** The views a New menu entry may name, by key. */
|
|
463
|
+
type Views = Readonly<Record<string, object>>;
|
|
464
|
+
/** Optional App presentation overrides. Omitted settings keep the existing UI. */
|
|
465
|
+
export interface AppShell {
|
|
466
|
+
/** Where the nav lives: the sidebar (default), or a top bar under the
|
|
467
|
+
header, the web-app shell; or `{ top: roles }`, the top bar for a
|
|
468
|
+
principal whose every role is listed (appViewRoles.ts topBarFor),
|
|
469
|
+
said as one of the two when the App is served. */
|
|
470
|
+
placement?: (typeof PLACEMENTS)[number] | {
|
|
471
|
+
top: string[];
|
|
472
|
+
};
|
|
473
|
+
/** With the side placement: folding the sidebar leaves a rail of the
|
|
474
|
+
entries' icons by default. Set false to hide it completely. */
|
|
475
|
+
rail?: boolean;
|
|
476
|
+
/** Show the sidebar menu filter. Defaults to false in Apps. */
|
|
477
|
+
menuSearch?: boolean;
|
|
478
|
+
/** Show live row counts beside the App menu's lists of work: a list whose condition picks its machine's unfinished states, a date at or before today (said in the danger's ink), or the reader (me). A list's own count: true or false says otherwise. Defaults to false; Workbench estimates remain. */
|
|
479
|
+
counts?: boolean;
|
|
480
|
+
/** false hides the header's search (the box and its button) from everyone. By default a member sees it and a
|
|
481
|
+
signed-out visitor does not, having nothing of their own to search; `{ signedOut: true }` offers it to a
|
|
482
|
+
visitor too, for an App whose public pages are worth searching. */
|
|
483
|
+
search?: 'members' | 'everyone' | false;
|
|
484
|
+
/** false hides the crumb bar above a room. Default true. */
|
|
485
|
+
breadcrumbs?: boolean;
|
|
486
|
+
/** false keeps a room's heading for a screen reader only. Default true. */
|
|
487
|
+
heading?: boolean;
|
|
488
|
+
width?: 'full' | 'wide' | 'narrow';
|
|
489
|
+
/** Align header contents to width/gutter; its background and border remain full width. */
|
|
490
|
+
headerWidth?: 'full' | 'content';
|
|
491
|
+
gutter?: 'none' | 'compact' | 'normal' | 'comfortable';
|
|
492
|
+
/** Sidebar-specific presentation. This is static App chrome, never a tenant
|
|
493
|
+
or account switcher. */
|
|
494
|
+
sidebar?: AppSidebar;
|
|
495
|
+
/** The header's New menu: each way to make something, by the list
|
|
496
|
+
whose New form it opens or the signed-in form (or the command such a form
|
|
497
|
+
runs) it opens. Each reader sees the entries they may use (appNewMenu.ts). */
|
|
498
|
+
new?: AppShellNew[];
|
|
499
|
+
}
|
|
500
|
+
/** One entry of the header's New menu: a view, or the command a signed-in form runs, and the heading of the group it
|
|
501
|
+
was written under (`{ label, children }`), which parsing flattens onto each of its entries. */
|
|
502
|
+
export type AppShellNew = ({
|
|
503
|
+
view: string;
|
|
504
|
+
} | {
|
|
505
|
+
command: string;
|
|
506
|
+
}) & {
|
|
507
|
+
label?: string;
|
|
508
|
+
icon?: AppIconName;
|
|
509
|
+
group?: string;
|
|
510
|
+
};
|
|
511
|
+
/** Optional presentation for a roomier side menu and its fixed workspace identity. */
|
|
512
|
+
export interface AppSidebar {
|
|
513
|
+
/** Compact keeps the ordinary menu rhythm; comfortable gives rows more room. */
|
|
514
|
+
density?: 'compact' | 'comfortable';
|
|
515
|
+
/** Static identity at the bottom of the sidebar. It has no switching behaviour. */
|
|
516
|
+
footer?: {
|
|
517
|
+
title: string;
|
|
518
|
+
description?: string;
|
|
519
|
+
};
|
|
520
|
+
}
|
|
521
|
+
export declare const PLACEMENTS: readonly ['side', 'top'];
|
|
522
|
+
/** An entry as served: the view it opens, the command that view runs when it is a form, and its words. */
|
|
523
|
+
export interface ServedShellNew {
|
|
524
|
+
view: string;
|
|
525
|
+
command?: string;
|
|
526
|
+
label?: string;
|
|
527
|
+
icon?: AppIconName;
|
|
528
|
+
/** The heading of the group it was written under. */
|
|
529
|
+
group?: string;
|
|
530
|
+
}
|
|
531
|
+
/** What the browser needs to judge one entry. */
|
|
532
|
+
interface NewMenuReader {
|
|
533
|
+
/** The commands this reader may run, where the server said; absent, none. */
|
|
534
|
+
grantedCommands?: readonly string[];
|
|
535
|
+
/** Whether this reader may add a row to a table. */
|
|
536
|
+
canAdd(table: string): boolean;
|
|
537
|
+
}
|
|
538
|
+
/** One line of the menu: what it says, its mark, and what it opens. */
|
|
539
|
+
export interface NewMenuEntry {
|
|
540
|
+
view: string;
|
|
541
|
+
label: string;
|
|
542
|
+
icon?: AppIconName;
|
|
543
|
+
/** The list whose New form it opens; absent, the view is a form. */
|
|
544
|
+
table?: string;
|
|
545
|
+
/** The heading it is drawn under; absent, none. */
|
|
546
|
+
group?: string;
|
|
547
|
+
}
|
|
548
|
+
/**
|
|
549
|
+
* The entries this reader may use, in the App's order. Its words are the
|
|
550
|
+
* entry's own, else a list's noun ("Ticket", its resource's singular) or the
|
|
551
|
+
* form's heading.
|
|
552
|
+
*/
|
|
553
|
+
export declare function newMenuEntries(served: readonly ServedShellNew[] | undefined, views: Views, reader: NewMenuReader, noun: (view: string, table: string) => string): NewMenuEntry[];
|
|
554
|
+
/** What a resource says about its rows, as one connection serves it, in what the shared client draws. The App's
|
|
555
|
+
resolved resource (app.ts ResolvedResource) is this and its CSV import. */
|
|
556
|
+
export interface ServedResource {
|
|
557
|
+
/** Column or label path → the App's caption, for the paths this catalog resolves. */
|
|
558
|
+
labels?: Record<string, string>;
|
|
559
|
+
/** The author-selected record name. `false` means a restricted catalog cannot show it; use primary keys only. */
|
|
560
|
+
recordLabel?: string | false;
|
|
561
|
+
/** Column → how its values dress, for the columns this catalog has. */
|
|
562
|
+
display?: Record<string, AppDisplayRule>;
|
|
563
|
+
/** Column → the App's own input component, for the columns this catalog has. */
|
|
564
|
+
inputs?: Record<string, ComponentDecl>;
|
|
565
|
+
actions?: AppAction[];
|
|
566
|
+
form?: AppForm;
|
|
567
|
+
/** The page its records open through. */
|
|
568
|
+
page?: string;
|
|
569
|
+
/** The list view its records are addressed through, the natural key column and the public slug (appAddress.ts). */
|
|
570
|
+
view?: string;
|
|
571
|
+
address?: string;
|
|
572
|
+
slug?: true;
|
|
573
|
+
/** Its records carry a Favorites star. */
|
|
574
|
+
favorite?: true;
|
|
575
|
+
/** Its one row is a settings record, opened from the reader's settings under these words. */
|
|
576
|
+
settings?: string;
|
|
577
|
+
/** What one record is called and several: New, a split's detail heading. */
|
|
578
|
+
noun?: AppNoun;
|
|
579
|
+
/** Its rows are files, as appFileRules resolved them: a list over it draws as attachments. */
|
|
580
|
+
file?: AppFileDef;
|
|
581
|
+
/** Its records carry tags, as appTagRules resolved them: chips under the record's title. */
|
|
582
|
+
tags?: AppTagRule;
|
|
583
|
+
/** Column → its text rule (textRules.ts), for the columns this catalog has: said under the field as it is typed. */
|
|
584
|
+
text?: Record<string, TextRule>;
|
|
585
|
+
/** JSON column → the resolved table whose rows define its fields, and the column that picks them (definedFields.ts). */
|
|
586
|
+
defined?: Record<string, DefinedBinding>;
|
|
587
|
+
/** Its machine, as the page draws it: the column, its states in order with their words, and the forward path the stepper walks. */
|
|
588
|
+
machine?: ServedMachine;
|
|
589
|
+
/** A `diagram` section on its page (PageFlowDiagram.tsx): the steps table it draws, and its kinds by what they do.
|
|
590
|
+
* On a flows table its rows are flows; on a resource that runs them (`run`), the diagram is of its record's run. */
|
|
591
|
+
flowDiagram?: ServedFlowDiagram;
|
|
592
|
+
}
|
|
593
|
+
/** A dashboard as the shared client reads it: its words and the screen it rides. Its sections, windows and reads
|
|
594
|
+
are the App's (appModel.ts AppDashboardView), which only the App's dashboard draws. */
|
|
595
|
+
export interface ServedDashboardView {
|
|
596
|
+
label: string;
|
|
597
|
+
path?: string;
|
|
598
|
+
heading?: string;
|
|
599
|
+
description?: string;
|
|
600
|
+
icon?: AppIconName;
|
|
601
|
+
sections: readonly object[];
|
|
602
|
+
favorite?: true;
|
|
603
|
+
error?: string;
|
|
604
|
+
}
|
|
605
|
+
/** A signed-in form as the shared client reads it: its words and the command it runs (appModel.ts AppFormView). */
|
|
606
|
+
export interface ServedFormView {
|
|
607
|
+
label: string;
|
|
608
|
+
path?: string;
|
|
609
|
+
icon?: AppIconName;
|
|
610
|
+
description?: string;
|
|
611
|
+
command: AppFormCommandReference;
|
|
612
|
+
public?: true;
|
|
613
|
+
error?: string;
|
|
614
|
+
}
|
|
615
|
+
/** Whether a view is a command form: the one kind of view that runs a command. */
|
|
616
|
+
export declare const isServedForm: (view: object) => view is ServedFormView;
|
|
617
|
+
/** The chrome as the shared client reads it: the shell's settings, the footer, export and the language row. The
|
|
618
|
+
App serves more (appPayload.ts ServedUi). */
|
|
619
|
+
interface ServedAppUi {
|
|
620
|
+
shell?: Omit<AppShell, 'new'> & {
|
|
621
|
+
new?: ServedShellNew[];
|
|
622
|
+
};
|
|
623
|
+
footer?: LandingFooter;
|
|
624
|
+
export?: boolean;
|
|
625
|
+
localeRow?: {
|
|
626
|
+
table: string;
|
|
627
|
+
key: Record<string, string | number>;
|
|
628
|
+
column: string;
|
|
629
|
+
};
|
|
630
|
+
}
|
|
631
|
+
/**
|
|
632
|
+
* The App on screen as the shared client reads it (shellMode.ts `app()`): its views by key, its menu, the
|
|
633
|
+
* resources' words, the documents a reader may open and the runtime answers the kit gates on. `View` is what a
|
|
634
|
+
* view is to the reader: the App's payload (appPayload.ts AppPayloadApp) serves each in full.
|
|
635
|
+
*/
|
|
636
|
+
export interface ServedApp<View extends object = ServedDashboardView | ServedFormView | ({
|
|
637
|
+
table: string;
|
|
638
|
+
label: string;
|
|
639
|
+
} & object)> {
|
|
640
|
+
id: string;
|
|
641
|
+
name: string;
|
|
642
|
+
views: Record<string, View>;
|
|
643
|
+
nav: AppPayloadNavNode[];
|
|
644
|
+
home?: string;
|
|
645
|
+
resources: Record<string, ServedResource>;
|
|
646
|
+
documents?: AppPayloadDocument[];
|
|
647
|
+
ui: ServedAppUi;
|
|
648
|
+
writableTables?: string[] | false;
|
|
649
|
+
exportableTables?: string[];
|
|
650
|
+
grantedCommands?: string[];
|
|
651
|
+
grantedActions?: Record<string, string[]>;
|
|
652
|
+
assistant?: {
|
|
653
|
+
page?: true;
|
|
654
|
+
record?: true;
|
|
655
|
+
};
|
|
656
|
+
}
|
|
657
|
+
/** A menu node as the view order reads it: a view's reference, a group of nodes, or a link elsewhere. */
|
|
658
|
+
export type ServedNavNode = {
|
|
659
|
+
view: string;
|
|
660
|
+
} | {
|
|
661
|
+
group: string;
|
|
662
|
+
children: readonly ServedNavNode[];
|
|
663
|
+
} | {
|
|
664
|
+
to: unknown;
|
|
665
|
+
};
|
|
666
|
+
/** The view keys nav references, depth first: the menu's order. */
|
|
667
|
+
export declare function navViewKeys(nav: readonly ServedNavNode[]): string[];
|
|
668
|
+
/**
|
|
669
|
+
* Every view key in the order rooms are listed: the menu's, then the views
|
|
670
|
+
* nav does not reference (a home nav does not list, and a list view only a
|
|
671
|
+
* dashboard embeds). Never the keys'
|
|
672
|
+
* own order — an object puts a key like "2024" before every other.
|
|
673
|
+
*/
|
|
674
|
+
export declare function viewOrder(app: {
|
|
675
|
+
views: Readonly<Record<string, unknown>>;
|
|
676
|
+
nav: readonly ServedNavNode[];
|
|
677
|
+
}): string[];
|
|
678
|
+
/** The assistant's own room, where its App gives it a page (`placement: 'page'`, appAssistant.ts): its word in
|
|
679
|
+
* nav, and its address, `/{app}/assistant` and `/{app}/assistant/{conversation}` for one conversation. */
|
|
680
|
+
export declare const ASSISTANT_ROOM = "assistant";
|
|
681
|
+
export {};
|