akanjs 3.0.0-beta.2 → 3.0.0-beta.20
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/base/base.ts +6 -11
- package/base/baseEnv.ts +17 -11
- package/base/databaseModes.ts +75 -0
- package/base/index.ts +1 -0
- package/base/primitiveRegistry.ts +38 -47
- package/base/symbols.ts +1 -1
- package/base/types.ts +1 -1
- package/base/utils.ts +3 -6
- package/capacitor.base.config.ts +2 -3
- package/client/capacitor.ts +18 -63
- package/client/cn.ts +3 -13
- package/client/cookie.ts +6 -15
- package/client/createFont.ts +0 -2
- package/client/csrTypes.ts +6 -59
- package/client/decorators.ts +1 -1
- package/client/device.ts +52 -44
- package/client/frameConfig.ts +15 -26
- package/client/index.ts +0 -1
- package/client/makePageProto.tsx +3 -4
- package/client/route/RootLayoutDefinition.ts +0 -6
- package/client/route/RouteDefinition.ts +5 -30
- package/client/route/resolveRouteModule.ts +1 -5
- package/client/router.ts +35 -39
- package/client/rscNavigation.ts +4 -5
- package/client/sharedContext.ts +2 -19
- package/client/storage.ts +29 -38
- package/client/translator.ts +5 -6
- package/client/types.ts +0 -3
- package/common/CodeAgentClient.ts +91 -0
- package/common/CodeTranscript.ts +325 -0
- package/common/Logger.ts +9 -34
- package/common/TrustedProxy.ts +6 -34
- package/common/applyMixins.ts +13 -2
- package/common/authToken.ts +0 -11
- package/common/capitalize.ts +3 -4
- package/common/clamp.ts +0 -1
- package/common/clientAddress.ts +1 -15
- package/common/codeAgentProfile.ts +181 -0
- package/common/codeAgentWire.ts +305 -0
- package/{server/routing → common}/eventStream.ts +1 -6
- package/common/fileUpload.ts +1 -12
- package/common/formatNumber.ts +3 -12
- package/common/index.ts +104 -19
- package/common/interpolateTranslation.ts +1 -6
- package/common/isEmail.ts +0 -1
- package/common/isRecord.ts +2 -0
- package/common/isThenable.ts +1 -8
- package/common/isValidDate.ts +3 -5
- package/common/logContext.ts +1 -1
- package/{ui/Agent → common}/markdownBlocks.ts +0 -3
- package/common/markdownSpans.ts +47 -0
- package/{ui/Agent → common}/markdownTable.ts +1 -5
- package/common/mcpExposure.ts +4 -27
- package/common/objectPath.ts +67 -0
- package/common/objectify.ts +52 -0
- package/common/{isPhoneNumber.ts → phone.ts} +7 -1
- package/common/randomPick.ts +13 -0
- package/common/requestOrigin.ts +0 -17
- package/common/restClient.ts +8 -13
- package/common/round.ts +4 -0
- package/common/routeConvention.ts +21 -14
- package/common/sleep.ts +1 -8
- package/common/subRoute.ts +4 -7
- package/common/toError.ts +1 -0
- package/common/tunnelWire.ts +263 -0
- package/common/types.ts +6 -7
- package/common/{splitVersion.ts → version.ts} +3 -6
- package/common/{websocketBinaryFrame.ts → websocketContract.ts} +43 -9
- package/constant/cascadePaths.ts +6 -9
- package/constant/constantRegistry.ts +21 -57
- package/constant/crystalize.ts +2 -12
- package/constant/dateSlot.ts +0 -15
- package/constant/fieldInfo.ts +30 -109
- package/constant/fieldQueryMeta.ts +2 -10
- package/constant/getDefault.ts +16 -8
- package/constant/hydrationPlan.ts +1 -9
- package/constant/index.ts +0 -1
- package/constant/labelOf.ts +1 -6
- package/constant/mask.ts +36 -38
- package/constant/purify.ts +6 -14
- package/constant/serialize.ts +82 -5
- package/constant/textFieldPaths.ts +2 -3
- package/constant/types.ts +2 -6
- package/constant/via.ts +20 -60
- package/dictionary/DictionaryLookup.ts +1 -7
- package/dictionary/agent.dictionary.ts +43 -11
- package/dictionary/base.dictionary.ts +11 -0
- package/dictionary/dictInfo.ts +145 -626
- package/dictionary/dictShape.ts +54 -0
- package/dictionary/dictionary.ts +1 -2
- package/dictionary/dictionaryRegistry.ts +7 -28
- package/dictionary/locale.ts +24 -116
- package/dictionary/trans.ts +18 -56
- package/document/dataLoader.ts +77 -78
- package/document/database.ts +52 -56
- package/document/documentQuery.ts +32 -32
- package/document/documentSchema.ts +21 -26
- package/document/filterMeta.ts +11 -31
- package/document/index.ts +0 -1
- package/document/into.ts +8 -18
- package/document/loaderInfo.ts +28 -7
- package/document/noDocumentError.ts +2 -7
- package/document/queryEvaluator.ts +21 -43
- package/document/types.ts +0 -1
- package/fetch/client/fetchClient.ts +66 -105
- package/fetch/client/fetchHandle.ts +4 -12
- package/fetch/client/httpClient.ts +35 -68
- package/fetch/client/remoteError.ts +2 -8
- package/fetch/client/sliceInitHandle.ts +3 -6
- package/fetch/client/sliceQueryArgs.ts +11 -0
- package/fetch/client/wsClient.ts +75 -64
- package/fetch/fetchType/appliedReturn.type.ts +5 -24
- package/fetch/fetchType/buildFetch.type.ts +28 -1
- package/fetch/fetchType/index.ts +0 -1
- package/fetch/requestStorage.ts +7 -28
- package/fetch/types.ts +0 -1
- package/index.ts +31 -64
- package/package.json +19 -5
- package/server/akanApp.ts +138 -289
- package/server/akanAppHeaders.ts +2 -3
- package/server/akanOption.ts +25 -27
- package/server/akanServer.ts +98 -219
- package/server/animatedImage.ts +2 -11
- package/server/artifact/builderRpc.ts +24 -64
- package/server/artifact/index.ts +0 -1
- package/server/artifact/ipcTypes.ts +27 -30
- package/server/artifact/routeClientCache.ts +18 -37
- package/server/artifact/routeSeedIndexStore.ts +2 -35
- package/server/artifact/routesManifestStore.ts +13 -38
- package/server/binaryPubsub.ts +0 -9
- package/server/cachePolicy.ts +10 -44
- package/server/console.ts +12 -16
- package/server/consoleSession.ts +55 -12
- package/server/contentEncoding.ts +42 -27
- package/server/decorators.ts +4 -70
- package/server/devtools/constantSerializer.ts +2 -14
- package/server/devtools/depsSerializer.ts +14 -46
- package/server/devtools/devtoolsJson.ts +6 -18
- package/server/devtools/devtoolsRouter.ts +2 -12
- package/server/devtools/signalSerializer.ts +5 -44
- package/server/devtools/types.ts +0 -12
- package/server/di/diLifecycle.ts +141 -221
- package/server/di/predefinedAdaptor.ts +11 -5
- package/server/di/resolveHierarchy.ts +114 -5
- package/server/di/utils.ts +13 -29
- package/server/head.tsx +53 -0
- package/server/hmr/clientScript.ts +2 -8
- package/server/hmr/devHmrController.ts +28 -32
- package/server/hmr/wsHub.ts +9 -7
- package/server/imageOptimizer.ts +5 -26
- package/server/index.ts +1 -1
- package/server/lifecycle/portInUse.ts +1 -4
- package/server/lifecycle/runtimeDir.ts +0 -4
- package/server/lifecycle/shutdownManager.ts +4 -29
- package/server/logging/childOutputReader.ts +0 -12
- package/server/logging/hubFileSink.ts +10 -6
- package/server/logging/logControlSocket.ts +13 -7
- package/server/logging/logForwarder.ts +19 -22
- package/server/logging/logHub.ts +0 -0
- package/server/logging/logQuery.ts +4 -7
- package/server/logging/logStdoutWriter.ts +1 -11
- package/server/logging/logStreamRoute.ts +4 -21
- package/server/logging/logTailClient.ts +1 -8
- package/server/logging/rotatingLogWriter.ts +4 -6
- package/server/mcp/McpAuth.ts +5 -79
- package/server/mcp/McpDispatcher.ts +13 -90
- package/server/mcp/McpEventStream.ts +2 -12
- package/server/mcp/McpExecutionContext.ts +1 -42
- package/server/mcp/McpRateLimiter.ts +61 -30
- package/server/mcp/McpRouter.ts +49 -208
- package/server/mcp/PagePromptComposer.ts +7 -29
- package/server/memoryLimit.ts +1 -13
- package/server/oauth/OAuthAuthorize.ts +3 -7
- package/server/oauth/OAuthClientIdMetadata.ts +2 -27
- package/server/oauth/OAuthErrors.ts +0 -13
- package/server/oauth/OAuthMetadata.ts +1 -7
- package/server/oauth/OAuthPkce.ts +0 -2
- package/server/oauth/OAuthRedirect.ts +0 -9
- package/server/oauth/OAuthRegistration.ts +0 -2
- package/server/oauth/OAuthRevocation.ts +1 -11
- package/server/oauth/OAuthToken.ts +3 -14
- package/server/oauth/oauthTypes.ts +1 -2
- package/server/ops/ageEncryption.ts +317 -0
- package/server/ops/appInfo.ts +92 -0
- package/server/ops/opsCommand.ts +116 -0
- package/server/ops/opsRoute.ts +151 -0
- package/server/ops/opsToken.ts +93 -0
- package/server/ops/snapshotJobs.ts +133 -0
- package/server/ops/snapshotRestore.ts +118 -0
- package/server/ops/snapshotTypes.ts +52 -0
- package/server/ops/sqliteFiles.ts +20 -0
- package/server/ops/sqliteSnapshot.ts +149 -0
- package/server/processMetricsCollector.ts +12 -14
- package/server/proxy/hostBasePathWebProxy.ts +20 -13
- package/server/proxy/index.ts +2 -3
- package/server/proxy/localeWebProxy.ts +3 -17
- package/server/proxy/types.ts +14 -0
- package/server/proxy/webProxyRunner.ts +13 -1
- package/server/resolver/CascadeRunner.ts +7 -23
- package/server/resolver/database.resolver.ts +57 -123
- package/server/resolver/service.resolver.ts +9 -161
- package/server/resolver/signal.resolver.ts +73 -98
- package/server/routeElementComposer.tsx +23 -52
- package/server/routeState.ts +15 -34
- package/server/routeTreeBuilder.ts +24 -83
- package/server/routing/apiRouter.ts +17 -49
- package/server/routing/appWsData.ts +4 -28
- package/server/routing/soloAppRoutes.ts +5 -5
- package/server/rscClient.tsx +31 -37
- package/server/rscClientFetch.ts +7 -3
- package/server/rscClientPatch.ts +4 -25
- package/server/rscHttp.ts +1 -1
- package/server/rscNavigationState.ts +10 -25
- package/server/rscPagePrompts.ts +4 -24
- package/server/rscSegmentOutlet.tsx +1 -5
- package/server/rscWorker.tsx +146 -285
- package/server/rscWorkerCache.ts +74 -8
- package/server/rscWorkerHost.ts +45 -192
- package/server/semaphore.ts +1 -1
- package/server/sitemap.ts +1 -3
- package/server/ssrFromRscRenderer.tsx +31 -124
- package/server/ssrTypes.ts +3 -29
- package/server/staticPath.ts +0 -16
- package/server/systemPageDocument.tsx +65 -2
- package/server/systemPages.tsx +4 -2
- package/server/tunnel/TunnelAgent.ts +237 -0
- package/server/tunnel/TunnelDataSocket.ts +146 -0
- package/server/tunnel/TunnelHttpStream.ts +86 -0
- package/server/tunnel/TunnelTcpStream.ts +96 -0
- package/server/tunnel/TunnelWebsocketStream.ts +110 -0
- package/server/tunnel/index.ts +6 -0
- package/server/tunnel/tunnelStream.ts +32 -0
- package/server/types.tsx +2 -9
- package/server/webRouter.ts +88 -306
- package/service/agent.service.ts +66 -35
- package/service/injectInfo.ts +106 -75
- package/service/ipcTypes.ts +4 -1
- package/service/liveSyncHub.ts +4 -34
- package/service/predefinedAdaptor/anthropicLlm.ts +65 -75
- package/service/predefinedAdaptor/cache.adaptor.ts +257 -75
- package/service/predefinedAdaptor/database.adaptor.ts +366 -108
- package/service/predefinedAdaptor/documentTransfer.ts +89 -0
- package/service/predefinedAdaptor/index.ts +2 -1
- package/service/predefinedAdaptor/insightQuery.ts +89 -79
- package/service/predefinedAdaptor/llm.adaptor.ts +64 -54
- package/service/predefinedAdaptor/llmOverflow.ts +63 -0
- package/service/predefinedAdaptor/openaiDialect.ts +56 -64
- package/service/predefinedAdaptor/openaiLlm.ts +24 -27
- package/service/predefinedAdaptor/queue.adaptor.ts +41 -22
- package/service/predefinedAdaptor/schedule.adaptor.ts +69 -9
- package/service/predefinedAdaptor/searchIndex.ts +76 -325
- package/service/predefinedAdaptor/solidCache.adaptor.ts +135 -12
- package/service/predefinedAdaptor/solidPubsub.adaptor.ts +28 -16
- package/service/predefinedAdaptor/solidQueue.adaptor.ts +61 -10
- package/service/predefinedAdaptor/solidSqlite.ts +10 -16
- package/service/predefinedAdaptor/sql/PendingStoreEnsures.ts +1 -0
- package/service/predefinedAdaptor/sql/PostgresInsightSession.ts +113 -0
- package/service/predefinedAdaptor/sql/QueryCompiler.ts +50 -30
- package/service/predefinedAdaptor/sql/SqlDocumentStore.ts +290 -138
- package/service/predefinedAdaptor/sql/SqliteInsightSession.ts +85 -0
- package/service/predefinedAdaptor/sql/UpdateCompiler.ts +1 -7
- package/service/predefinedAdaptor/sql/dialect/postgres.ts +138 -53
- package/service/predefinedAdaptor/sql/dialect/sqlite.ts +18 -15
- package/service/predefinedAdaptor/sql/driver/bunSqlite.ts +31 -4
- package/service/predefinedAdaptor/sql/driver/libsql.ts +20 -12
- package/service/predefinedAdaptor/sql/driver/postgres.ts +13 -7
- package/service/predefinedAdaptor/sql/search/fts5.ts +249 -0
- package/service/predefinedAdaptor/sql/search/mirror.ts +76 -0
- package/service/predefinedAdaptor/sql/search/postgres.ts +453 -0
- package/service/predefinedAdaptor/sql/search/types.ts +50 -0
- package/service/predefinedAdaptor/sql/types.ts +76 -17
- package/service/predefinedAdaptor/sql/values.ts +40 -2
- package/service/predefinedAdaptor/sqlitePath.ts +12 -0
- package/service/predefinedAdaptor/sseData.ts +23 -0
- package/service/predefinedAdaptor/storage.adaptor.ts +19 -7
- package/service/predefinedAdaptor/websocket.adaptor.ts +154 -184
- package/service/serve.ts +1 -2
- package/service/serviceModule.ts +52 -70
- package/service/toolNames.ts +5 -22
- package/service/types.ts +3 -9
- package/signal/CrossSiteGuard.ts +5 -40
- package/signal/SignalFailure.ts +2 -15
- package/signal/agent/AgentCatalogue.ts +9 -55
- package/signal/agent.signal.ts +9 -6
- package/signal/agentMeter.ts +45 -0
- package/signal/agentTurnStream.ts +48 -46
- package/signal/endpoint.ts +12 -2
- package/signal/endpointCache.ts +59 -0
- package/signal/endpointInfo.ts +13 -27
- package/signal/exception.ts +3 -34
- package/signal/guard.ts +4 -21
- package/signal/guards.ts +2 -10
- package/signal/index.ts +1 -0
- package/signal/internal.ts +3 -7
- package/signal/internalArg.ts +10 -13
- package/signal/internalInfo.ts +1 -1
- package/signal/mcp/McpDocument.ts +21 -90
- package/signal/mcp/McpProgress.ts +6 -19
- package/signal/mcp/McpUriTemplate.ts +1 -27
- package/signal/mcp/Msg.ts +13 -122
- package/signal/mcp/mcpProtocol.ts +3 -26
- package/signal/mcp/pagePrompt.ts +3 -9
- package/signal/middleware.ts +15 -65
- package/signal/openapi/openapi.ts +0 -4
- package/signal/schema/JsonSchemaBuilder.ts +32 -46
- package/signal/serializer/fetch.serializer.ts +37 -43
- package/signal/serverSignal.ts +6 -8
- package/signal/signalContext.ts +70 -161
- package/signal/signalRegistry.ts +11 -17
- package/signal/slice.ts +6 -12
- package/signal/sliceInfo.ts +5 -30
- package/signal/trace.ts +11 -84
- package/signal/types.ts +27 -57
- package/store/SliceRequest.ts +1 -11
- package/store/action.ts +153 -395
- package/store/actionTag.ts +1 -10
- package/store/agent/AgentBridge.ts +3 -25
- package/store/agent/AgentContext.ts +2 -9
- package/store/agent/AgentCursor.ts +160 -0
- package/store/agent/AgentPrompts.ts +0 -15
- package/store/agent/AgentVisual.ts +152 -0
- package/store/agent/ScreenFlash.ts +67 -0
- package/store/agent/ScreenReader.ts +3 -52
- package/store/agent/ScreenSettle.ts +1 -13
- package/store/agent/ScreenTarget.ts +15 -32
- package/store/agent/StoreCatalogue.ts +12 -24
- package/store/agent/StoreSurfaceSource.ts +35 -65
- package/store/agent/index.ts +4 -4
- package/store/agentic/AgentValue.ts +9 -26
- package/store/agentic/StExposeBuilder.ts +3 -12
- package/store/agentic/StExposeDraft.ts +0 -6
- package/store/agentic/StStateBuilder.ts +3 -11
- package/store/agentic/StStateDraft.ts +0 -5
- package/store/agentic/StToolBuilder.ts +48 -41
- package/store/agentic/StToolDraft.ts +0 -7
- package/store/agentic/attachAgentic.ts +2 -10
- package/store/agentic/formFields.ts +8 -42
- package/store/agentic/index.ts +1 -1
- package/store/agentic/useAgentReference.ts +31 -0
- package/store/agentic/useFieldTool.ts +176 -58
- package/store/agentic/useFormTools.ts +4 -21
- package/store/agentic/useRelationFieldTool.ts +2 -15
- package/store/databaseStateNames.ts +0 -9
- package/store/draftStore.ts +4 -54
- package/store/formSetterNames.ts +2 -19
- package/store/hooks.ts +1 -1
- package/store/liveInsert.ts +1 -30
- package/store/sliceKeys.ts +37 -0
- package/store/sliceRole.ts +1 -10
- package/store/state.ts +4 -50
- package/store/stateBuilder.ts +1 -23
- package/store/storeInstance.ts +21 -114
- package/store/storeRegistry.ts +1 -8
- package/store/types.ts +1 -1
- package/test/conformance.ts +299 -0
- package/test/index.ts +2 -2
- package/test/sampleOf.ts +52 -28
- package/test/signalTestRuntime.ts +6 -10
- package/test/testServer.ts +66 -31
- package/types/base/base.d.ts +2 -3
- package/types/base/baseEnv.d.ts +7 -10
- package/types/base/databaseModes.d.ts +28 -0
- package/types/base/index.d.ts +1 -0
- package/types/base/primitiveRegistry.d.ts +23 -10
- package/types/base/symbols.d.ts +1 -1
- package/types/capacitor.base.config.d.ts +1 -1
- package/types/client/cn.d.ts +3 -13
- package/types/client/cookie.d.ts +3 -12
- package/types/client/csrTypes.d.ts +6 -57
- package/types/client/decorators.d.ts +1 -1
- package/types/client/device.d.ts +2 -1
- package/types/client/index.d.ts +0 -1
- package/types/client/route/RootLayoutDefinition.d.ts +0 -1
- package/types/client/route/RouteDefinition.d.ts +4 -16
- package/types/client/route/resolveRouteModule.d.ts +1 -5
- package/types/client/router.d.ts +8 -4
- package/types/client/rscNavigation.d.ts +4 -5
- package/types/client/sharedContext.d.ts +2 -19
- package/types/client/storage.d.ts +1 -1
- package/types/client/types.d.ts +0 -3
- package/types/common/CodeAgentClient.d.ts +20 -0
- package/types/common/CodeTranscript.d.ts +72 -0
- package/types/common/Logger.d.ts +4 -20
- package/types/common/TrustedProxy.d.ts +2 -28
- package/types/common/applyMixins.d.ts +3 -0
- package/types/common/authToken.d.ts +0 -11
- package/types/common/capitalize.d.ts +1 -1
- package/types/common/clamp.d.ts +0 -1
- package/types/common/clientAddress.d.ts +1 -15
- package/types/common/codeAgentProfile.d.ts +115 -0
- package/types/common/codeAgentWire.d.ts +279 -0
- package/types/{server/routing → common}/eventStream.d.ts +0 -5
- package/types/common/fileUpload.d.ts +6 -11
- package/types/common/index.d.ts +20 -19
- package/types/common/interpolateTranslation.d.ts +1 -6
- package/types/common/isEmail.d.ts +0 -1
- package/types/common/isRecord.d.ts +1 -0
- package/types/common/isThenable.d.ts +0 -8
- package/types/common/logContext.d.ts +1 -1
- package/types/{ui/Agent → common}/markdownBlocks.d.ts +0 -3
- package/types/common/markdownSpans.d.ts +30 -0
- package/types/{ui/Agent → common}/markdownTable.d.ts +0 -2
- package/types/common/mcpExposure.d.ts +3 -23
- package/types/common/objectPath.d.ts +10 -0
- package/types/common/objectify.d.ts +7 -0
- package/types/common/phone.d.ts +2 -0
- package/types/common/randomPick.d.ts +1 -0
- package/types/common/requestOrigin.d.ts +0 -17
- package/types/common/restClient.d.ts +0 -7
- package/types/common/round.d.ts +1 -0
- package/types/common/routeConvention.d.ts +2 -5
- package/types/common/sleep.d.ts +0 -1
- package/types/common/subRoute.d.ts +4 -6
- package/types/common/toError.d.ts +1 -0
- package/types/common/tunnelWire.d.ts +161 -0
- package/types/common/types.d.ts +7 -7
- package/types/common/version.d.ts +6 -0
- package/types/common/websocketContract.d.ts +41 -0
- package/types/constant/cascadePaths.d.ts +2 -5
- package/types/constant/constantRegistry.d.ts +4 -4
- package/types/constant/dateSlot.d.ts +0 -5
- package/types/constant/fieldInfo.d.ts +2 -21
- package/types/constant/fieldQueryMeta.d.ts +2 -10
- package/types/constant/getDefault.d.ts +5 -7
- package/types/constant/hydrationPlan.d.ts +0 -8
- package/types/constant/index.d.ts +0 -1
- package/types/constant/labelOf.d.ts +1 -6
- package/types/constant/mask.d.ts +11 -36
- package/types/constant/serialize.d.ts +10 -2
- package/types/constant/types.d.ts +2 -6
- package/types/constant/via.d.ts +0 -1
- package/types/dictionary/DictionaryLookup.d.ts +1 -7
- package/types/dictionary/agent.dictionary.d.ts +2 -1
- package/types/dictionary/base.dictionary.d.ts +1 -1
- package/types/dictionary/dictInfo.d.ts +25 -92
- package/types/dictionary/dictShape.d.ts +26 -0
- package/types/dictionary/dictionary.d.ts +9 -9
- package/types/dictionary/dictionaryRegistry.d.ts +1 -15
- package/types/dictionary/locale.d.ts +9 -28
- package/types/dictionary/trans.d.ts +5 -14
- package/types/document/dataLoader.d.ts +2 -2
- package/types/document/database.d.ts +21 -14
- package/types/document/documentQuery.d.ts +6 -1
- package/types/document/documentSchema.d.ts +3 -7
- package/types/document/filterMeta.d.ts +3 -8
- package/types/document/index.d.ts +0 -1
- package/types/document/into.d.ts +3 -2
- package/types/document/loaderInfo.d.ts +9 -4
- package/types/document/noDocumentError.d.ts +2 -7
- package/types/document/queryEvaluator.d.ts +7 -24
- package/types/document/types.d.ts +0 -1
- package/types/fetch/client/fetchClient.d.ts +6 -9
- package/types/fetch/client/fetchHandle.d.ts +3 -11
- package/types/fetch/client/httpClient.d.ts +5 -1
- package/types/fetch/client/remoteError.d.ts +2 -8
- package/types/fetch/client/sliceInitHandle.d.ts +2 -5
- package/types/fetch/client/sliceQueryArgs.d.ts +3 -0
- package/types/fetch/client/wsClient.d.ts +10 -15
- package/types/fetch/fetchType/appliedReturn.type.d.ts +5 -23
- package/types/fetch/fetchType/buildFetch.type.d.ts +15 -1
- package/types/fetch/fetchType/index.d.ts +0 -1
- package/types/fetch/requestStorage.d.ts +3 -16
- package/types/fetch/types.d.ts +0 -1
- package/types/index.d.ts +30 -64
- package/types/server/akanApp.d.ts +5 -28
- package/types/server/akanAppHeaders.d.ts +0 -1
- package/types/server/akanOption.d.ts +12 -24
- package/types/server/akanServer.d.ts +16 -56
- package/types/server/animatedImage.d.ts +0 -6
- package/types/server/artifact/builderRpc.d.ts +7 -30
- package/types/server/artifact/index.d.ts +0 -1
- package/types/server/artifact/ipcTypes.d.ts +22 -29
- package/types/server/artifact/routeClientCache.d.ts +3 -11
- package/types/server/artifact/routeSeedIndexStore.d.ts +0 -16
- package/types/server/artifact/routesManifestStore.d.ts +1 -1
- package/types/server/binaryPubsub.d.ts +0 -8
- package/types/server/cachePolicy.d.ts +2 -21
- package/types/server/console.d.ts +3 -6
- package/types/server/consoleSession.d.ts +2 -2
- package/types/server/contentEncoding.d.ts +6 -14
- package/types/server/decorators.d.ts +0 -12
- package/types/server/devtools/constantSerializer.d.ts +1 -6
- package/types/server/devtools/depsSerializer.d.ts +1 -7
- package/types/server/devtools/devtoolsJson.d.ts +1 -7
- package/types/server/devtools/devtoolsRouter.d.ts +2 -11
- package/types/server/devtools/signalSerializer.d.ts +1 -9
- package/types/server/devtools/types.d.ts +0 -11
- package/types/server/di/diLifecycle.d.ts +0 -36
- package/types/server/di/predefinedAdaptor.d.ts +3 -2
- package/types/server/di/resolveHierarchy.d.ts +22 -5
- package/types/server/di/utils.d.ts +4 -17
- package/types/server/head.d.ts +9 -0
- package/types/server/hmr/devHmrController.d.ts +0 -2
- package/types/server/hmr/wsHub.d.ts +6 -1
- package/types/server/index.d.ts +1 -1
- package/types/server/lifecycle/portInUse.d.ts +1 -4
- package/types/server/lifecycle/runtimeDir.d.ts +0 -4
- package/types/server/lifecycle/shutdownManager.d.ts +0 -9
- package/types/server/logging/childOutputReader.d.ts +0 -12
- package/types/server/logging/hubFileSink.d.ts +1 -5
- package/types/server/logging/logControlSocket.d.ts +2 -7
- package/types/server/logging/logForwarder.d.ts +3 -15
- package/types/server/logging/logHub.d.ts +1 -15
- package/types/server/logging/logQuery.d.ts +3 -6
- package/types/server/logging/logStdoutWriter.d.ts +0 -6
- package/types/server/logging/logStreamRoute.d.ts +0 -9
- package/types/server/logging/logTailClient.d.ts +0 -5
- package/types/server/mcp/McpAuth.d.ts +3 -71
- package/types/server/mcp/McpDispatcher.d.ts +0 -23
- package/types/server/mcp/McpEventStream.d.ts +1 -12
- package/types/server/mcp/McpExecutionContext.d.ts +0 -33
- package/types/server/mcp/McpRateLimiter.d.ts +10 -13
- package/types/server/mcp/McpRouter.d.ts +1 -47
- package/types/server/mcp/PagePromptComposer.d.ts +1 -13
- package/types/server/memoryLimit.d.ts +1 -13
- package/types/server/oauth/OAuthAuthorize.d.ts +1 -6
- package/types/server/oauth/OAuthClientIdMetadata.d.ts +2 -26
- package/types/server/oauth/OAuthErrors.d.ts +0 -13
- package/types/server/oauth/OAuthMetadata.d.ts +1 -7
- package/types/server/oauth/OAuthPkce.d.ts +0 -1
- package/types/server/oauth/OAuthRedirect.d.ts +0 -9
- package/types/server/oauth/OAuthRegistration.d.ts +0 -1
- package/types/server/oauth/OAuthRevocation.d.ts +1 -11
- package/types/server/oauth/OAuthToken.d.ts +1 -13
- package/types/server/oauth/oauthTypes.d.ts +1 -2
- package/types/server/ops/ageEncryption.d.ts +19 -0
- package/types/server/ops/appInfo.d.ts +36 -0
- package/types/server/ops/opsCommand.d.ts +5 -0
- package/types/server/ops/opsRoute.d.ts +24 -0
- package/types/server/ops/opsToken.d.ts +26 -0
- package/types/server/ops/snapshotJobs.d.ts +24 -0
- package/types/server/ops/snapshotRestore.d.ts +24 -0
- package/types/server/ops/snapshotTypes.d.ts +45 -0
- package/types/server/ops/sqliteFiles.d.ts +5 -0
- package/types/server/ops/sqliteSnapshot.d.ts +32 -0
- package/types/server/processMetricsCollector.d.ts +3 -1
- package/types/server/proxy/hostBasePathWebProxy.d.ts +7 -1
- package/types/server/proxy/index.d.ts +2 -3
- package/types/server/proxy/localeWebProxy.d.ts +1 -1
- package/types/server/proxy/types.d.ts +5 -0
- package/types/server/proxy/webProxyRunner.d.ts +1 -0
- package/types/server/resolver/CascadeRunner.d.ts +0 -4
- package/types/server/resolver/database.resolver.d.ts +1 -1
- package/types/server/resolver/service.resolver.d.ts +2 -2
- package/types/server/resolver/signal.resolver.d.ts +1 -15
- package/types/server/routeElementComposer.d.ts +2 -8
- package/types/server/routeState.d.ts +1 -1
- package/types/server/routing/apiRouter.d.ts +2 -20
- package/types/server/routing/appWsData.d.ts +0 -26
- package/types/server/routing/soloAppRoutes.d.ts +2 -6
- package/types/server/rscClient.d.ts +0 -9
- package/types/server/rscClientFetch.d.ts +6 -6
- package/types/server/rscClientPatch.d.ts +1 -1
- package/types/server/rscHttp.d.ts +1 -0
- package/types/server/rscNavigationState.d.ts +3 -2
- package/types/server/rscPagePrompts.d.ts +0 -9
- package/types/server/rscWorkerCache.d.ts +41 -3
- package/types/server/rscWorkerHost.d.ts +5 -61
- package/types/server/ssrFromRscRenderer.d.ts +0 -12
- package/types/server/ssrTypes.d.ts +2 -29
- package/types/server/staticPath.d.ts +0 -16
- package/types/server/systemPageDocument.d.ts +8 -0
- package/types/server/systemPages.d.ts +2 -3
- package/types/server/tunnel/TunnelAgent.d.ts +29 -0
- package/types/server/tunnel/TunnelDataSocket.d.ts +22 -0
- package/types/server/tunnel/TunnelHttpStream.d.ts +10 -0
- package/types/server/tunnel/TunnelTcpStream.d.ts +11 -0
- package/types/server/tunnel/TunnelWebsocketStream.d.ts +10 -0
- package/types/server/tunnel/index.d.ts +6 -0
- package/types/server/tunnel/tunnelStream.d.ts +19 -0
- package/types/server/tunnel.d.ts +1 -0
- package/types/server/types.d.ts +2 -9
- package/types/server/webRouter.d.ts +2 -19
- package/types/service/agent.service.d.ts +16 -29
- package/types/service/injectInfo.d.ts +26 -15
- package/types/service/ipcTypes.d.ts +6 -0
- package/types/service/liveSyncHub.d.ts +4 -22
- package/types/service/predefinedAdaptor/anthropicLlm.d.ts +20 -29
- package/types/service/predefinedAdaptor/cache.adaptor.d.ts +42 -12
- package/types/service/predefinedAdaptor/database.adaptor.d.ts +20 -16
- package/types/service/predefinedAdaptor/documentTransfer.d.ts +15 -0
- package/types/service/predefinedAdaptor/index.d.ts +2 -1
- package/types/service/predefinedAdaptor/insightQuery.d.ts +7 -30
- package/types/service/predefinedAdaptor/llm.adaptor.d.ts +54 -54
- package/types/service/predefinedAdaptor/llmOverflow.d.ts +16 -0
- package/types/service/predefinedAdaptor/openaiDialect.d.ts +19 -29
- package/types/service/predefinedAdaptor/openaiLlm.d.ts +9 -14
- package/types/service/predefinedAdaptor/queue.adaptor.d.ts +12 -7
- package/types/service/predefinedAdaptor/schedule.adaptor.d.ts +7 -2
- package/types/service/predefinedAdaptor/searchIndex.d.ts +17 -47
- package/types/service/predefinedAdaptor/solidCache.adaptor.d.ts +15 -6
- package/types/service/predefinedAdaptor/solidPubsub.adaptor.d.ts +6 -4
- package/types/service/predefinedAdaptor/solidSqlite.d.ts +2 -1
- package/types/service/predefinedAdaptor/sql/PostgresInsightSession.d.ts +20 -0
- package/types/service/predefinedAdaptor/sql/QueryCompiler.d.ts +9 -11
- package/types/service/predefinedAdaptor/sql/SqlDocumentStore.d.ts +11 -25
- package/types/service/predefinedAdaptor/sql/SqliteInsightSession.d.ts +15 -0
- package/types/service/predefinedAdaptor/sql/UpdateCompiler.d.ts +0 -4
- package/types/service/predefinedAdaptor/sql/dialect/postgres.d.ts +18 -10
- package/types/service/predefinedAdaptor/sql/dialect/sqlite.d.ts +5 -2
- package/types/service/predefinedAdaptor/sql/driver/bunSqlite.d.ts +9 -3
- package/types/service/predefinedAdaptor/sql/driver/libsql.d.ts +8 -5
- package/types/service/predefinedAdaptor/sql/driver/postgres.d.ts +4 -4
- package/types/service/predefinedAdaptor/sql/search/fts5.d.ts +28 -0
- package/types/service/predefinedAdaptor/sql/search/mirror.d.ts +20 -0
- package/types/service/predefinedAdaptor/sql/search/postgres.d.ts +53 -0
- package/types/service/predefinedAdaptor/sql/search/types.d.ts +45 -0
- package/types/service/predefinedAdaptor/sql/types.d.ts +69 -15
- package/types/service/predefinedAdaptor/sql/values.d.ts +8 -0
- package/types/service/predefinedAdaptor/sqlitePath.d.ts +1 -0
- package/types/service/predefinedAdaptor/sseData.d.ts +1 -0
- package/types/service/predefinedAdaptor/storage.adaptor.d.ts +3 -2
- package/types/service/predefinedAdaptor/websocket.adaptor.d.ts +26 -26
- package/types/service/serviceModule.d.ts +7 -7
- package/types/service/toolNames.d.ts +4 -21
- package/types/service/types.d.ts +3 -3
- package/types/signal/CrossSiteGuard.d.ts +3 -28
- package/types/signal/SignalFailure.d.ts +1 -15
- package/types/signal/agent/AgentCatalogue.d.ts +8 -54
- package/types/signal/agent.signal.d.ts +4 -1
- package/types/signal/agentMeter.d.ts +24 -0
- package/types/signal/agentTurnStream.d.ts +10 -11
- package/types/signal/endpoint.d.ts +0 -1
- package/types/signal/endpointCache.d.ts +5 -0
- package/types/signal/endpointInfo.d.ts +1 -9
- package/types/signal/exception.d.ts +1 -34
- package/types/signal/guard.d.ts +4 -15
- package/types/signal/guards.d.ts +2 -10
- package/types/signal/index.d.ts +1 -0
- package/types/signal/internal.d.ts +1 -5
- package/types/signal/internalArg.d.ts +7 -13
- package/types/signal/mcp/McpDocument.d.ts +5 -45
- package/types/signal/mcp/McpProgress.d.ts +6 -19
- package/types/signal/mcp/McpUriTemplate.d.ts +1 -19
- package/types/signal/mcp/Msg.d.ts +13 -70
- package/types/signal/mcp/mcpProtocol.d.ts +1 -26
- package/types/signal/mcp/pagePrompt.d.ts +3 -9
- package/types/signal/middleware.d.ts +0 -18
- package/types/signal/schema/JsonSchemaBuilder.d.ts +15 -43
- package/types/signal/serializer/fetch.serializer.d.ts +1 -6
- package/types/signal/serverSignal.d.ts +0 -1
- package/types/signal/signalContext.d.ts +14 -61
- package/types/signal/signalRegistry.d.ts +0 -1
- package/types/signal/slice.d.ts +3 -9
- package/types/signal/sliceInfo.d.ts +5 -30
- package/types/signal/trace.d.ts +2 -30
- package/types/signal/types.d.ts +27 -57
- package/types/store/SliceRequest.d.ts +1 -11
- package/types/store/action.d.ts +2 -6
- package/types/store/actionTag.d.ts +1 -10
- package/types/store/agent/AgentBridge.d.ts +3 -22
- package/types/store/agent/AgentContext.d.ts +1 -7
- package/types/store/agent/AgentCursor.d.ts +24 -0
- package/types/store/agent/AgentPrompts.d.ts +0 -5
- package/types/store/agent/AgentVisual.d.ts +25 -0
- package/types/store/agent/ScreenFlash.d.ts +23 -0
- package/types/store/agent/ScreenReader.d.ts +3 -26
- package/types/store/agent/ScreenSettle.d.ts +1 -12
- package/types/store/agent/ScreenTarget.d.ts +3 -23
- package/types/store/agent/StoreCatalogue.d.ts +12 -16
- package/types/store/agent/StoreSurfaceSource.d.ts +11 -23
- package/types/store/agent/index.d.ts +4 -3
- package/types/store/agentic/AgentValue.d.ts +3 -23
- package/types/store/agentic/StExposeBuilder.d.ts +2 -11
- package/types/store/agentic/StExposeDraft.d.ts +0 -6
- package/types/store/agentic/StStateBuilder.d.ts +1 -7
- package/types/store/agentic/StStateDraft.d.ts +0 -5
- package/types/store/agentic/StToolBuilder.d.ts +14 -37
- package/types/store/agentic/StToolDraft.d.ts +0 -7
- package/types/store/agentic/attachAgentic.d.ts +2 -10
- package/types/store/agentic/formFields.d.ts +5 -41
- package/types/store/agentic/index.d.ts +1 -1
- package/types/store/agentic/useAgentReference.d.ts +14 -0
- package/types/store/agentic/useFieldTool.d.ts +19 -16
- package/types/store/agentic/useFormTools.d.ts +1 -18
- package/types/store/agentic/useRelationFieldTool.d.ts +1 -14
- package/types/store/baseSt.d.ts +2 -2
- package/types/store/databaseStateNames.d.ts +0 -9
- package/types/store/draftStore.d.ts +4 -30
- package/types/store/formSetterNames.d.ts +0 -19
- package/types/store/hooks.d.ts +1 -1
- package/types/store/liveInsert.d.ts +0 -23
- package/types/store/sliceKeys.d.ts +31 -0
- package/types/store/sliceRole.d.ts +1 -10
- package/types/store/state.d.ts +2 -9
- package/types/store/stateBuilder.d.ts +0 -14
- package/types/store/storeInstance.d.ts +6 -20
- package/types/store/storeRegistry.d.ts +0 -2
- package/types/test/conformance.d.ts +73 -0
- package/types/test/index.d.ts +2 -2
- package/types/test/sampleOf.d.ts +17 -2
- package/types/test/signalTestRuntime.d.ts +1 -1
- package/types/test/testServer.d.ts +4 -3
- package/types/ui/Agent/Attach.d.ts +2 -2
- package/types/ui/Agent/Bubble.d.ts +3 -14
- package/types/ui/Agent/Chat.d.ts +31 -64
- package/types/ui/Agent/ChatCommands.d.ts +4 -14
- package/types/ui/Agent/Composer.d.ts +18 -5
- package/types/ui/Agent/Dock.d.ts +38 -10
- package/types/ui/Agent/Guide.d.ts +1 -5
- package/types/ui/Agent/History.d.ts +1 -18
- package/types/ui/Agent/Launcher.d.ts +2 -2
- package/types/ui/Agent/Markdown.d.ts +2 -6
- package/types/ui/Agent/MentionNode.d.ts +18 -0
- package/types/ui/Agent/Menu.d.ts +4 -4
- package/types/ui/Agent/Question.d.ts +1 -6
- package/types/ui/Agent/Queued.d.ts +1 -6
- package/types/ui/Agent/Refer.d.ts +9 -0
- package/types/ui/Agent/RichInput.d.ts +14 -0
- package/types/ui/Agent/Skip.d.ts +3 -15
- package/types/ui/Agent/Steps.d.ts +17 -0
- package/types/ui/Agent/ToolCard.d.ts +9 -0
- package/types/ui/Agent/Zone.d.ts +13 -30
- package/types/ui/Agent/agentSessionOf.d.ts +20 -16
- package/types/ui/Agent/attachment.d.ts +4 -38
- package/types/ui/Agent/fetchRunner.d.ts +1 -8
- package/types/ui/Agent/index.d.ts +2 -6
- package/types/ui/Agent/mentionDraft.d.ts +9 -0
- package/types/ui/Agent/tokenCount.d.ts +1 -5
- package/types/ui/Agent/useChatAttachments.d.ts +0 -5
- package/types/ui/Agent/useChatQueue.d.ts +3 -14
- package/types/ui/Agent/useChatReferences.d.ts +15 -0
- package/types/ui/Agent/useChatVoice.d.ts +0 -12
- package/types/ui/Agent/useDraftRecall.d.ts +0 -8
- package/types/ui/Agent/useKeyboardInset.d.ts +0 -7
- package/types/ui/Agent/useReferenceMenu.d.ts +35 -0
- package/types/ui/Agent/useSlashMenu.d.ts +0 -2
- package/types/ui/Agent/voice.d.ts +8 -42
- package/types/ui/Badge.d.ts +0 -1
- package/types/ui/BottomSheet.d.ts +2 -5
- package/types/ui/Button.d.ts +6 -23
- package/types/ui/ClientSide.d.ts +0 -2
- package/types/ui/Constant/schemaGraph.d.ts +0 -4
- package/types/ui/Copy.d.ts +2 -3
- package/types/ui/CsrImage.d.ts +2 -1
- package/types/ui/Data/Dashboard.d.ts +1 -4
- package/types/ui/Data/Item.d.ts +1 -1
- package/types/ui/Data/ListContainer.d.ts +1 -10
- package/types/ui/Data/Pagination.d.ts +0 -2
- package/types/ui/Data/QueryMaker.d.ts +0 -7
- package/types/ui/Data/RefPicker.d.ts +0 -7
- package/types/ui/DatePicker.d.ts +0 -11
- package/types/ui/Dialog/LegacyModal.d.ts +1 -4
- package/types/ui/Dialog/Provider.d.ts +37 -4
- package/types/ui/Dialog/index.d.ts +4 -4
- package/types/ui/Dropdown.d.ts +1 -9
- package/types/ui/Empty.d.ts +3 -10
- package/types/ui/Field/Collection.d.ts +1 -16
- package/types/ui/Field/Relation.d.ts +10 -37
- package/types/ui/Field/Text.d.ts +9 -66
- package/types/ui/Field/index.d.ts +0 -9
- package/types/ui/Field/lightRefCache.d.ts +11 -0
- package/types/ui/Field/useRelationOptions.d.ts +28 -0
- package/types/ui/Image.d.ts +8 -12
- package/types/ui/InfiniteScroll.d.ts +2 -6
- package/types/ui/Input.d.ts +8 -15
- package/types/ui/Layout/Role.d.ts +23 -0
- package/types/ui/Layout/Sider.d.ts +21 -0
- package/types/ui/Layout/TopInset.d.ts +5 -0
- package/types/ui/Layout/index.d.ts +7 -7
- package/types/ui/LegacyModal.d.ts +1 -12
- package/types/ui/Link/Action.d.ts +11 -0
- package/types/ui/Link/Anchor.d.ts +20 -0
- package/types/ui/Link/index.d.ts +4 -7
- package/types/ui/Load/Edit_Client.d.ts +1 -1
- package/types/ui/Load/Page.d.ts +3 -5
- package/types/ui/Load/Stream.d.ts +0 -12
- package/types/ui/Load/Units.d.ts +1 -1
- package/types/ui/Load/View.d.ts +2 -7
- package/types/ui/Loading/ProgressBar.d.ts +0 -4
- package/types/ui/Loading/Skeleton.d.ts +2 -0
- package/types/ui/Loading/Spin.d.ts +12 -2
- package/types/ui/Loading/index.d.ts +3 -8
- package/types/ui/Loading/index_.d.ts +3 -10
- package/types/ui/Menu.d.ts +0 -5
- package/types/ui/Modal.d.ts +0 -17
- package/types/ui/Model/AdminPanel.d.ts +1 -4
- package/types/ui/Model/DraftBar.d.ts +2 -7
- package/types/ui/Model/EditModal.d.ts +7 -22
- package/types/ui/Model/LoadStore.d.ts +18 -0
- package/types/ui/Model/Remove.d.ts +0 -2
- package/types/ui/Model/SureToRemove.d.ts +0 -3
- package/types/ui/Model/ViewEditModal.d.ts +0 -2
- package/types/ui/Model/draftScope.d.ts +0 -7
- package/types/ui/Model/index.d.ts +2 -2
- package/types/ui/Model/index_.d.ts +2 -2
- package/types/ui/Pagination.d.ts +4 -12
- package/types/ui/Popconfirm.d.ts +3 -17
- package/types/ui/Radio.d.ts +0 -4
- package/types/ui/RecentTime.d.ts +5 -9
- package/types/ui/Reference/Panel.d.ts +44 -6
- package/types/ui/Reference/Segmented.d.ts +0 -3
- package/types/ui/Reference/{style.d.ts → docUi.d.ts} +6 -2
- package/types/ui/Reference/index.d.ts +3 -7
- package/types/ui/Refresh.d.ts +1 -1
- package/types/ui/ScreenNavigator.d.ts +2 -2
- package/types/ui/Select.d.ts +4 -19
- package/types/ui/Signal/Endpoint.d.ts +43 -0
- package/types/ui/Signal/WebSocket.d.ts +23 -0
- package/types/ui/Signal/endpointEntries.d.ts +2 -4
- package/types/ui/Signal/index.d.ts +1 -3
- package/types/ui/Signal/style.d.ts +1 -2
- package/types/ui/Switch.d.ts +1 -5
- package/types/ui/System/CSR.d.ts +2 -2
- package/types/ui/System/Client.d.ts +2 -6
- package/types/ui/System/Common.d.ts +11 -22
- package/types/ui/System/Root.d.ts +1 -4
- package/types/ui/System/SSR.d.ts +2 -2
- package/types/ui/System/ThemeToggle.d.ts +1 -0
- package/types/ui/System/index.d.ts +1 -0
- package/types/ui/Tab/Provider.d.ts +24 -4
- package/types/ui/Tab/index.d.ts +3 -3
- package/types/ui/Table.d.ts +7 -23
- package/types/ui/Toast.d.ts +9 -16
- package/types/ui/ToggleSelect.d.ts +0 -5
- package/types/ui/Tooltip.d.ts +1 -2
- package/types/ui/UiOverride/{context.d.ts → UiOverride.d.ts} +24 -40
- package/types/ui/UiOverride/index.d.ts +2 -5
- package/types/ui/UiOverride/override.d.ts +2 -18
- package/types/ui/Unauthorized.d.ts +0 -6
- package/types/ui/agentAttrs.d.ts +4 -11
- package/types/ui/index.d.ts +9 -5
- package/types/ui/overlayLayer.d.ts +4 -24
- package/types/ui/overlayPosition.d.ts +0 -12
- package/types/ui/recipe/badgeRecipe.d.ts +2 -2
- package/types/ui/recipe/buttonRecipe.d.ts +2 -2
- package/types/ui/recipe/factory.d.ts +1 -21
- package/types/ui/recipe/index.d.ts +0 -14
- package/types/ui/recipe/inputRecipe.d.ts +3 -3
- package/types/ui/sliceNamesOf.d.ts +78 -0
- package/types/ui/triggerSlot.d.ts +2 -12
- package/types/vendor/use-agentic/AgentProgress.d.ts +12 -0
- package/types/vendor/use-agentic/AgentSession.d.ts +94 -2
- package/types/vendor/use-agentic/Compaction.d.ts +42 -5
- package/types/vendor/use-agentic/Reference.d.ts +56 -0
- package/types/vendor/use-agentic/ToolRunner.d.ts +31 -1
- package/types/vendor/use-agentic/Transcript.d.ts +4 -1
- package/types/vendor/use-agentic/index.d.ts +1 -0
- package/types/vendor/use-agentic/types.d.ts +109 -7
- package/types/webkit/RenderLayer.d.ts +11 -0
- package/types/webkit/index.d.ts +1 -2
- package/types/webkit/lazy.d.ts +3 -12
- package/types/webkit/{createRobotPage.d.ts → seoPages.d.ts} +4 -0
- package/types/webkit/useBodyScrollLock.d.ts +0 -1
- package/types/webkit/useCamera.d.ts +1 -1
- package/types/webkit/useContact.d.ts +1 -1
- package/types/webkit/useDebounce.d.ts +0 -1
- package/types/webkit/useEscapeKey.d.ts +1 -4
- package/types/webkit/useFetch.d.ts +1 -6
- package/types/webkit/useFrameRuntime.d.ts +1 -1
- package/types/webkit/useGeoLocation.d.ts +1 -1
- package/types/webkit/usePageTool.d.ts +2 -9
- package/types/webkit/usePurchase.d.ts +1 -4
- package/types/webkit/useScreenScope.d.ts +2 -13
- package/ui/Agent/Attach.tsx +5 -4
- package/ui/Agent/Bubble.tsx +51 -31
- package/ui/Agent/Chat.tsx +114 -102
- package/ui/Agent/ChatCommands.ts +5 -21
- package/ui/Agent/Composer.tsx +110 -28
- package/ui/Agent/Dock.tsx +176 -16
- package/ui/Agent/Guide.tsx +1 -5
- package/ui/Agent/History.tsx +1 -18
- package/ui/Agent/Launcher.tsx +2 -2
- package/ui/Agent/Markdown.tsx +40 -14
- package/ui/Agent/MentionNode.ts +54 -0
- package/ui/Agent/Menu.tsx +8 -5
- package/ui/Agent/Question.tsx +1 -6
- package/ui/Agent/Queued.tsx +3 -6
- package/ui/Agent/Refer.tsx +40 -0
- package/ui/Agent/RichInput.tsx +146 -0
- package/ui/Agent/Skip.tsx +3 -15
- package/ui/Agent/Steps.tsx +33 -0
- package/ui/Agent/ToolCard.tsx +32 -0
- package/ui/Agent/Zone.tsx +15 -31
- package/ui/Agent/agentSessionOf.ts +115 -15
- package/ui/Agent/attachment.ts +5 -42
- package/ui/Agent/fetchRunner.ts +3 -15
- package/ui/Agent/index.ts +1 -6
- package/ui/Agent/mentionDraft.ts +91 -0
- package/ui/Agent/tokenCount.ts +1 -5
- package/ui/Agent/useChatAttachments.ts +2 -9
- package/ui/Agent/useChatQueue.ts +12 -14
- package/ui/Agent/useChatReferences.ts +51 -0
- package/ui/Agent/useChatVoice.ts +2 -23
- package/ui/Agent/useDraftRecall.ts +0 -9
- package/ui/Agent/useKeyboardInset.ts +0 -7
- package/ui/Agent/useReferenceMenu.ts +93 -0
- package/ui/Agent/useSlashMenu.ts +0 -3
- package/ui/Agent/voice.ts +8 -43
- package/ui/Badge.tsx +0 -2
- package/ui/BottomSheet.tsx +2 -5
- package/ui/Button.tsx +9 -45
- package/ui/ClientSide.tsx +0 -2
- package/ui/Clipboard.tsx +0 -1
- package/ui/Constant/Doc.tsx +274 -265
- package/ui/Constant/Graph.tsx +11 -3
- package/ui/Constant/schemaGraph.ts +0 -9
- package/ui/Copy.tsx +2 -3
- package/ui/CsrImage.tsx +9 -9
- package/ui/Data/CardList.tsx +2 -17
- package/ui/Data/Dashboard.tsx +2 -5
- package/ui/Data/Item.tsx +2 -3
- package/ui/Data/ListContainer.tsx +15 -61
- package/ui/Data/Pagination.tsx +3 -22
- package/ui/Data/QueryMaker.tsx +1 -8
- package/ui/Data/RefPicker.tsx +1 -8
- package/ui/Data/TableList.tsx +2 -15
- package/ui/DatePicker.tsx +1 -12
- package/ui/Dialog/LegacyModal.tsx +3 -7
- package/ui/Dialog/Modal.tsx +3 -4
- package/ui/Dialog/Provider.tsx +85 -7
- package/ui/Dialog/index.tsx +1 -5
- package/ui/DraggableList.tsx +1 -4
- package/ui/Dropdown.tsx +4 -17
- package/ui/Empty.tsx +4 -12
- package/ui/Field/Choice.tsx +1 -1
- package/ui/Field/Collection.tsx +7 -29
- package/ui/Field/DateField.tsx +2 -7
- package/ui/Field/Label.tsx +0 -1
- package/ui/Field/NumberField.tsx +0 -1
- package/ui/Field/Relation.tsx +79 -199
- package/ui/Field/Text.tsx +25 -86
- package/ui/Field/index.tsx +0 -9
- package/ui/Field/lightRefCache.ts +61 -0
- package/ui/Field/useRelationOptions.ts +97 -0
- package/ui/Image.tsx +35 -65
- package/ui/InfiniteScroll.tsx +3 -21
- package/ui/Input.tsx +82 -174
- package/ui/Layout/Role.tsx +42 -0
- package/ui/Layout/Sider.tsx +82 -1
- package/ui/Layout/TopInset.tsx +23 -1
- package/ui/Layout/index.ts +3 -9
- package/ui/LegacyModal.tsx +1 -12
- package/ui/Link/Action.tsx +29 -0
- package/ui/Link/Anchor.tsx +118 -0
- package/ui/Link/index.tsx +7 -8
- package/ui/Load/Edit_Client.tsx +2 -37
- package/ui/Load/Page.tsx +3 -6
- package/ui/Load/Pagination.tsx +4 -19
- package/ui/Load/Stream.tsx +0 -12
- package/ui/Load/Units.tsx +13 -86
- package/ui/Load/View.tsx +4 -21
- package/ui/Loading/ProgressBar.tsx +0 -4
- package/ui/Loading/Skeleton.tsx +14 -0
- package/ui/Loading/Spin.tsx +34 -5
- package/ui/Loading/index.ts +0 -5
- package/ui/Loading/index_.tsx +2 -12
- package/ui/Menu.tsx +3 -21
- package/ui/Modal.tsx +0 -17
- package/ui/Model/AdminPanel.tsx +2 -5
- package/ui/Model/DraftBar.tsx +3 -14
- package/ui/Model/EditModal.tsx +11 -48
- package/ui/Model/EditWrapper.tsx +2 -3
- package/ui/Model/LoadStore.tsx +18 -0
- package/ui/Model/NewWrapper_Client.tsx +1 -1
- package/ui/Model/Remove.tsx +4 -12
- package/ui/Model/RemoveWrapper.tsx +2 -3
- package/ui/Model/SureToRemove.tsx +4 -13
- package/ui/Model/ViewEditModal.tsx +0 -6
- package/ui/Model/ViewModal.tsx +1 -5
- package/ui/Model/ViewWrapper.tsx +1 -2
- package/ui/Model/draftScope.ts +0 -7
- package/ui/Model/index_.tsx +2 -22
- package/ui/Pagination.tsx +4 -12
- package/ui/Popconfirm.tsx +3 -18
- package/ui/Portal.tsx +2 -3
- package/ui/Radio.tsx +1 -5
- package/ui/RecentTime.tsx +19 -31
- package/ui/Reference/Panel.tsx +102 -6
- package/ui/Reference/Segmented.tsx +5 -11
- package/ui/Reference/{style.ts → docUi.ts} +10 -2
- package/ui/Reference/index.ts +3 -7
- package/ui/Refresh.tsx +79 -13
- package/ui/ScreenNavigator.tsx +8 -13
- package/ui/Select.tsx +29 -37
- package/ui/Signal/Endpoint.tsx +154 -0
- package/ui/Signal/Listener.tsx +1 -4
- package/ui/Signal/Object.tsx +67 -73
- package/ui/Signal/RestApi.tsx +30 -76
- package/ui/Signal/WebSocket.tsx +253 -2
- package/ui/Signal/endpointEntries.ts +3 -5
- package/ui/Signal/index.ts +1 -3
- package/ui/Signal/style.ts +1 -2
- package/ui/Switch.tsx +1 -5
- package/ui/System/CSR.tsx +29 -109
- package/ui/System/Client.tsx +15 -19
- package/ui/System/Common.tsx +31 -22
- package/ui/System/Messages.tsx +2 -2
- package/ui/System/Reconnect.tsx +1 -6
- package/ui/System/Root.tsx +1 -4
- package/ui/System/SSR.tsx +10 -16
- package/ui/System/ThemeToggle.tsx +15 -0
- package/ui/System/index.tsx +2 -2
- package/ui/Tab/Provider.tsx +115 -7
- package/ui/Tab/index.tsx +1 -4
- package/ui/Table.tsx +7 -23
- package/ui/Toast.tsx +9 -16
- package/ui/ToggleSelect.tsx +10 -24
- package/ui/Tooltip.tsx +2 -8
- package/ui/UiOverride/{context.ts → UiOverride.tsx} +54 -42
- package/ui/UiOverride/index.ts +9 -6
- package/ui/UiOverride/override.ts +2 -18
- package/ui/Unauthorized.tsx +1 -8
- package/ui/agentAttrs.ts +9 -12
- package/ui/index.ts +20 -5
- package/ui/overlayLayer.ts +4 -25
- package/ui/overlayPosition.ts +2 -14
- package/ui/recipe/badgeRecipe.ts +1 -1
- package/ui/recipe/buttonRecipe.ts +4 -4
- package/ui/recipe/factory.ts +1 -22
- package/ui/recipe/index.ts +1 -14
- package/ui/recipe/inputRecipe.ts +2 -2
- package/ui/sliceNamesOf.ts +26 -0
- package/ui/styles.css +195 -1
- package/ui/triggerSlot.tsx +2 -12
- package/vendor/use-agentic/AgentProgress.ts +13 -1
- package/vendor/use-agentic/AgentSession.ts +313 -29
- package/vendor/use-agentic/AgenticSurface.ts +2 -0
- package/vendor/use-agentic/Compaction.ts +91 -9
- package/vendor/use-agentic/Reference.ts +99 -0
- package/vendor/use-agentic/ToolRunner.ts +77 -2
- package/vendor/use-agentic/Transcript.ts +15 -4
- package/vendor/use-agentic/WIRE.md +16 -2
- package/vendor/use-agentic/httpRunner.ts +19 -4
- package/vendor/use-agentic/index.ts +1 -1
- package/vendor/use-agentic/types.ts +121 -10
- package/webkit/RenderLayer.tsx +45 -0
- package/webkit/bootCsr.tsx +4 -57
- package/webkit/index.ts +1 -2
- package/webkit/lazy.tsx +3 -13
- package/webkit/{createRobotPage.ts → seoPages.ts} +5 -0
- package/webkit/useBodyScrollLock.tsx +0 -6
- package/webkit/useCamera.tsx +10 -28
- package/webkit/useCodepush.tsx +8 -31
- package/webkit/useContact.tsx +1 -8
- package/webkit/useCsrValues.ts +203 -428
- package/webkit/useDebounce.ts +0 -3
- package/webkit/useEscapeKey.tsx +1 -12
- package/webkit/useFetch.ts +7 -13
- package/webkit/useFrameRuntime.ts +5 -43
- package/webkit/useGeoLocation.tsx +1 -1
- package/webkit/useLocation.ts +5 -8
- package/webkit/usePageTool.tsx +2 -9
- package/webkit/usePurchase.tsx +17 -33
- package/webkit/useScreenScope.tsx +2 -13
- package/client/fetch.ts +0 -1
- package/client/frameDebug.ts +0 -29
- package/common/deepObjectify.ts +0 -42
- package/common/dynamicRecord.ts +0 -12
- package/common/formatPhone.ts +0 -7
- package/common/getAllPropertyDescriptors.ts +0 -13
- package/common/lowerlize.ts +0 -4
- package/common/mergeVersion.ts +0 -10
- package/common/pathGet.ts +0 -13
- package/common/pathGetLoose.ts +0 -31
- package/common/pathSet.ts +0 -28
- package/common/plainFieldsOf.ts +0 -13
- package/common/randomPicks.ts +0 -12
- package/common/websocketAuth.ts +0 -24
- package/constant/deserialize.ts +0 -98
- package/dictionary/agentTurn.dictionary.ts +0 -33
- package/document/schema.ts +0 -24
- package/fetch/fetchType/clientSignal.type.ts +0 -22
- package/local/apps/akan/akan-local.db +0 -0
- package/local/apps/akan/akan-local.db-shm +0 -0
- package/local/apps/akan/akan-local.db-wal +0 -0
- package/local/apps/akan/akan-local_solid.db +0 -0
- package/local/apps/akan/akan-local_solid.db-shm +0 -0
- package/local/apps/akan/akan-local_solid.db-wal +0 -0
- package/local/apps/serverLifecycle/serverLifecycle-local.db +0 -0
- package/local/apps/serverLifecycle/serverLifecycle-local.db-shm +0 -0
- package/local/apps/serverLifecycle/serverLifecycle-local.db-wal +0 -0
- package/local/apps/serverLifecycle/serverLifecycle-local_solid.db +0 -0
- package/local/apps/serverLifecycle/serverLifecycle-local_solid.db-shm +0 -0
- package/local/apps/serverLifecycle/serverLifecycle-local_solid.db-wal +0 -0
- package/server/artifact/manifestTypes.ts +0 -19
- package/server/assetEncoding.ts +0 -27
- package/server/consoleEvaluator.ts +0 -51
- package/server/di/index.ts +0 -4
- package/server/di/resolveAdaptorHierarchy.ts +0 -91
- package/server/di/resolveServiceHierarchy.ts +0 -47
- package/server/hmr/changeBatch.ts +0 -14
- package/server/hmr/index.ts +0 -4
- package/server/metadata.tsx +0 -198
- package/server/proxy/akanResponse.ts +0 -16
- package/server/proxy/bunRequestFields.ts +0 -12
- package/server/rscPartialCommit.ts +0 -3
- package/server/rscPatchSafety.ts +0 -57
- package/server/rscWorkerReplay.ts +0 -49
- package/server/subRouteIndexDocument.tsx +0 -61
- package/service/predefinedAdaptor/deepseekLlm.ts +0 -82
- package/service/predefinedAdaptor/sqlDescriptor.ts +0 -25
- package/store/agent/storeSurface.ts +0 -28
- package/store/agent/types.ts +0 -16
- package/store/agentic/useFileFieldTool.ts +0 -221
- package/store/stateInfo.ts +0 -66
- package/test/playwright.config.base.ts +0 -48
- package/test/playwright.pageAgent.ts +0 -41
- package/test/sample.ts +0 -19
- package/types/client/fetch.d.ts +0 -1
- package/types/client/frameDebug.d.ts +0 -3
- package/types/common/deepObjectify.d.ts +0 -6
- package/types/common/dynamicRecord.d.ts +0 -14
- package/types/common/formatPhone.d.ts +0 -2
- package/types/common/getAllPropertyDescriptors.d.ts +0 -5
- package/types/common/isPhoneNumber.d.ts +0 -2
- package/types/common/lowerlize.d.ts +0 -2
- package/types/common/mergeVersion.d.ts +0 -10
- package/types/common/pathGet.d.ts +0 -1
- package/types/common/pathGetLoose.d.ts +0 -8
- package/types/common/pathSet.d.ts +0 -3
- package/types/common/plainFieldsOf.d.ts +0 -6
- package/types/common/randomPicks.d.ts +0 -1
- package/types/common/splitVersion.d.ts +0 -11
- package/types/common/websocketAuth.d.ts +0 -19
- package/types/common/websocketBinaryFrame.d.ts +0 -17
- package/types/constant/deserialize.d.ts +0 -10
- package/types/dictionary/agentTurn.dictionary.d.ts +0 -1
- package/types/document/schema.d.ts +0 -5
- package/types/fetch/fetchType/clientSignal.type.d.ts +0 -16
- package/types/server/artifact/manifestTypes.d.ts +0 -16
- package/types/server/assetEncoding.d.ts +0 -7
- package/types/server/consoleEvaluator.d.ts +0 -2
- package/types/server/di/index.d.ts +0 -4
- package/types/server/di/resolveAdaptorHierarchy.d.ts +0 -21
- package/types/server/di/resolveServiceHierarchy.d.ts +0 -13
- package/types/server/di.d.ts +0 -1
- package/types/server/hmr/changeBatch.d.ts +0 -13
- package/types/server/hmr/index.d.ts +0 -4
- package/types/server/hmr.d.ts +0 -1
- package/types/server/metadata.d.ts +0 -22
- package/types/server/proxy/akanResponse.d.ts +0 -7
- package/types/server/proxy/bunRequestFields.d.ts +0 -1
- package/types/server/rscPartialCommit.d.ts +0 -1
- package/types/server/rscPatchSafety.d.ts +0 -8
- package/types/server/rscWorkerReplay.d.ts +0 -32
- package/types/server/subRouteIndexDocument.d.ts +0 -8
- package/types/service/predefinedAdaptor/deepseekLlm.d.ts +0 -19
- package/types/service/predefinedAdaptor/sqlDescriptor.d.ts +0 -5
- package/types/store/agent/storeSurface.d.ts +0 -14
- package/types/store/agent/types.d.ts +0 -15
- package/types/store/agentic/useFileFieldTool.d.ts +0 -41
- package/types/store/stateInfo.d.ts +0 -23
- package/types/test/playwright.config.base.d.ts +0 -9
- package/types/test/playwright.pageAgent.d.ts +0 -12
- package/types/test/sample.d.ts +0 -15
- package/types/ui/Agent/Context.d.ts +0 -13
- package/types/ui/Agent/Mic.d.ts +0 -8
- package/types/ui/Agent/Section.d.ts +0 -10
- package/types/ui/Agent/StateKey.d.ts +0 -16
- package/types/ui/Agent/Tool.d.ts +0 -15
- package/types/ui/Agent/Transcript.d.ts +0 -13
- package/types/ui/Agent/markdownSpans.d.ts +0 -2
- package/types/ui/Agent/sessionHistory.d.ts +0 -14
- package/types/ui/Agent/sessionView.d.ts +0 -15
- package/types/ui/Dialog/Action.d.ts +0 -5
- package/types/ui/Dialog/Close.d.ts +0 -6
- package/types/ui/Dialog/Content.d.ts +0 -6
- package/types/ui/Dialog/Title.d.ts +0 -5
- package/types/ui/Dialog/Trigger.d.ts +0 -6
- package/types/ui/Dialog/context.d.ts +0 -18
- package/types/ui/Layout/LeftSider.d.ts +0 -11
- package/types/ui/Layout/RightSider.d.ts +0 -12
- package/types/ui/Layout/Template.d.ts +0 -7
- package/types/ui/Layout/TopLeftAction.d.ts +0 -6
- package/types/ui/Layout/Unit.d.ts +0 -9
- package/types/ui/Layout/View.d.ts +0 -8
- package/types/ui/Layout/Zone.d.ts +0 -6
- package/types/ui/Link/Back.d.ts +0 -7
- package/types/ui/Link/Close.d.ts +0 -7
- package/types/ui/Link/CsrLink.d.ts +0 -2
- package/types/ui/Link/Lang.d.ts +0 -8
- package/types/ui/Link/SsrLink.d.ts +0 -2
- package/types/ui/Link/types.d.ts +0 -50
- package/types/ui/Loading/Area.d.ts +0 -9
- package/types/ui/Loading/Button.d.ts +0 -7
- package/types/ui/Loading/Input.d.ts +0 -7
- package/types/ui/Model/LoadInit.d.ts +0 -10
- package/types/ui/Model/LoadView.d.ts +0 -10
- package/types/ui/Reference/Collapse.d.ts +0 -11
- package/types/ui/Reference/Summary.d.ts +0 -13
- package/types/ui/Reference/Toolbar.d.ts +0 -21
- package/types/ui/Reference/dictText.d.ts +0 -6
- package/types/ui/Signal/Message.d.ts +0 -23
- package/types/ui/Signal/PubSub.d.ts +0 -24
- package/types/ui/Signal/Request.d.ts +0 -8
- package/types/ui/System/DevModeToggle.d.ts +0 -1
- package/types/ui/System/Gtag.d.ts +0 -4
- package/types/ui/System/frameCssVars.d.ts +0 -5
- package/types/ui/Tab/Menu.d.ts +0 -12
- package/types/ui/Tab/Menus.d.ts +0 -6
- package/types/ui/Tab/Panel.d.ts +0 -8
- package/types/ui/Tab/context.d.ts +0 -11
- package/types/ui/UiOverride/Provider.d.ts +0 -15
- package/types/ui/UiOverride/createOverridable.d.ts +0 -9
- package/types/ui/UiOverride/useUiOverride.d.ts +0 -7
- package/types/ui/UiOverride/useUiRecipe.d.ts +0 -8
- package/types/webkit/createSitemapPage.d.ts +0 -4
- package/ui/Agent/Context.tsx +0 -49
- package/ui/Agent/Mic.tsx +0 -27
- package/ui/Agent/Section.tsx +0 -24
- package/ui/Agent/StateKey.tsx +0 -46
- package/ui/Agent/Tool.tsx +0 -59
- package/ui/Agent/Transcript.tsx +0 -33
- package/ui/Agent/markdownSpans.tsx +0 -49
- package/ui/Agent/sessionHistory.ts +0 -62
- package/ui/Agent/sessionView.ts +0 -38
- package/ui/Dialog/Action.tsx +0 -15
- package/ui/Dialog/Close.tsx +0 -18
- package/ui/Dialog/Content.tsx +0 -11
- package/ui/Dialog/Title.tsx +0 -15
- package/ui/Dialog/Trigger.tsx +0 -18
- package/ui/Dialog/context.ts +0 -32
- package/ui/Layout/LeftSider.tsx +0 -43
- package/ui/Layout/RightSider.tsx +0 -47
- package/ui/Layout/Template.tsx +0 -11
- package/ui/Layout/TopLeftAction.tsx +0 -28
- package/ui/Layout/Unit.tsx +0 -19
- package/ui/Layout/View.tsx +0 -12
- package/ui/Layout/Zone.tsx +0 -10
- package/ui/Link/Back.tsx +0 -15
- package/ui/Link/Close.tsx +0 -20
- package/ui/Link/CsrLink.tsx +0 -46
- package/ui/Link/Lang.tsx +0 -16
- package/ui/Link/SsrLink.tsx +0 -72
- package/ui/Link/types.ts +0 -55
- package/ui/Loading/Area.tsx +0 -27
- package/ui/Loading/Button.tsx +0 -15
- package/ui/Loading/Input.tsx +0 -15
- package/ui/Model/LoadInit.tsx +0 -11
- package/ui/Model/LoadView.tsx +0 -11
- package/ui/Reference/Collapse.tsx +0 -26
- package/ui/Reference/Summary.tsx +0 -25
- package/ui/Reference/Toolbar.tsx +0 -44
- package/ui/Reference/dictText.ts +0 -9
- package/ui/Signal/Message.tsx +0 -215
- package/ui/Signal/PubSub.tsx +0 -201
- package/ui/Signal/Request.tsx +0 -11
- package/ui/System/DevModeToggle.tsx +0 -19
- package/ui/System/Gtag.tsx +0 -69
- package/ui/System/frameCssVars.ts +0 -25
- package/ui/Tab/Menu.tsx +0 -70
- package/ui/Tab/Menus.tsx +0 -13
- package/ui/Tab/Panel.tsx +0 -25
- package/ui/Tab/context.ts +0 -20
- package/ui/UiOverride/Provider.tsx +0 -26
- package/ui/UiOverride/createOverridable.tsx +0 -25
- package/ui/UiOverride/useUiOverride.ts +0 -15
- package/ui/UiOverride/useUiRecipe.ts +0 -15
- package/webkit/createSitemapPage.ts +0 -4
|
@@ -5,24 +5,7 @@ const controlAttrs = ["data-akan-action", "data-akan-state"] as const;
|
|
|
5
5
|
const headingSelector = "h1, h2, h3, h4, h5, h6";
|
|
6
6
|
const nameCap = 40;
|
|
7
7
|
|
|
8
|
-
/**
|
|
9
|
-
* Resolves a name the agent read on screen to the element it names.
|
|
10
|
-
*
|
|
11
|
-
* Four vocabularies, every one of them something already on the screen rather than a selector the model invented:
|
|
12
|
-
* the `data-akan-action` / `data-akan-state` annotation a control carries and `readScreen` prints beside it, a
|
|
13
|
-
* container — an `Agent.Zone`, a `useScreenScope` scope, or an `Agent.Skip` region named by the marker left in its
|
|
14
|
-
* place — a plain element id, what a docs slide is addressed by, and, last, a **heading by its own text**.
|
|
15
|
-
*
|
|
16
|
-
* A heading is matched on letters and digits alone, so the slug an agent naturally writes for a heading it read
|
|
17
|
-
* ("images-and-public-env") finds "Images And Public Env". That tolerance is for headings only: a heading is a
|
|
18
|
-
* landmark and scrolling to the wrong one costs nothing, while two buttons reading "Save" are not the same control
|
|
19
|
-
* and matching a *control* by its label would drive the wrong one.
|
|
20
|
-
*
|
|
21
|
-
* Nothing hidden ever resolves, by the same rule `readScreen` skips it. A collapsed panel or an off-variant
|
|
22
|
-
* duplicate is not what the user is looking at, and scrolling to one flashes a ring nobody can see — which reads
|
|
23
|
-
* as the tool being broken rather than as a miss. A `display: contents` wrapper does not resolve either, even
|
|
24
|
-
* though the reader now reads through it: it has no box, so `scrollIntoView` has nothing to scroll to.
|
|
25
|
-
*/
|
|
8
|
+
/** Resolves an on-screen name to a visible element. Only headings match loosely: a loose control match is unsafe. */
|
|
26
9
|
export class ScreenTarget {
|
|
27
10
|
static container(name: string, root?: HTMLElement | null): HTMLElement | null {
|
|
28
11
|
const scope = root ?? ScreenTarget.#body();
|
|
@@ -30,19 +13,24 @@ export class ScreenTarget {
|
|
|
30
13
|
if (ScreenTarget.#named(scope, containerAttrs, name)) return scope;
|
|
31
14
|
const escaped = CSS.escape(name);
|
|
32
15
|
const selector = containerAttrs.map((attr) => `[${attr}="${escaped}"]`).join(", ");
|
|
33
|
-
|
|
16
|
+
|
|
34
17
|
return (
|
|
35
18
|
ScreenTarget.#first(scope, selector) ??
|
|
36
|
-
[...scope.querySelectorAll<HTMLElement>("[id]")].find((el) => el.id === name && ScreenTarget
|
|
19
|
+
[...scope.querySelectorAll<HTMLElement>("[id]")].find((el) => el.id === name && ScreenTarget.visible(el)) ??
|
|
37
20
|
null
|
|
38
21
|
);
|
|
39
22
|
}
|
|
40
23
|
|
|
41
24
|
static control(name: string, root?: HTMLElement | null): HTMLElement | null {
|
|
25
|
+
return ScreenTarget.controls(name, root)[0] ?? null;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
static controls(name: string, root?: HTMLElement | null): HTMLElement[] {
|
|
42
29
|
const scope = root ?? ScreenTarget.#body();
|
|
43
|
-
if (!scope || !name) return
|
|
30
|
+
if (!scope || !name) return [];
|
|
44
31
|
const escaped = CSS.escape(name);
|
|
45
|
-
|
|
32
|
+
const selector = controlAttrs.map((attr) => `[${attr}="${escaped}"]`).join(", ");
|
|
33
|
+
return [...scope.querySelectorAll<HTMLElement>(selector)].filter(ScreenTarget.visible);
|
|
46
34
|
}
|
|
47
35
|
|
|
48
36
|
/** Matched on letters and digits only, so a slug written for a heading still finds it. */
|
|
@@ -50,7 +38,7 @@ export class ScreenTarget {
|
|
|
50
38
|
const scope = root ?? ScreenTarget.#body();
|
|
51
39
|
const wanted = ScreenTarget.#slug(text);
|
|
52
40
|
if (!scope || !wanted) return null;
|
|
53
|
-
const headings = [...scope.querySelectorAll<HTMLElement>(headingSelector)].filter(ScreenTarget
|
|
41
|
+
const headings = [...scope.querySelectorAll<HTMLElement>(headingSelector)].filter(ScreenTarget.visible);
|
|
54
42
|
return (
|
|
55
43
|
headings.find((heading) => ScreenTarget.#slug(heading.textContent ?? "") === wanted) ??
|
|
56
44
|
headings.find((heading) => ScreenTarget.#slug(heading.textContent ?? "").includes(wanted)) ??
|
|
@@ -58,15 +46,10 @@ export class ScreenTarget {
|
|
|
58
46
|
);
|
|
59
47
|
}
|
|
60
48
|
|
|
61
|
-
/** A control first — an annotated button is the most specific match — then a container, then a heading. */
|
|
62
49
|
static find(name: string, root?: HTMLElement | null): HTMLElement | null {
|
|
63
50
|
return ScreenTarget.control(name, root) ?? ScreenTarget.container(name, root) ?? ScreenTarget.heading(name, root);
|
|
64
51
|
}
|
|
65
52
|
|
|
66
|
-
/**
|
|
67
|
-
* The names a refusal can honestly offer for a region: the scope paths, plus every heading anchor on screen.
|
|
68
|
-
* Leaving the anchors out is what let a page of twenty named sections answer "nothing carries a name".
|
|
69
|
-
*/
|
|
70
53
|
static containerNames(root?: HTMLElement | null): string[] {
|
|
71
54
|
return [...new Set([...ScreenTarget.#names(containerAttrs, root), ...ScreenTarget.anchorNames(root)])].slice(
|
|
72
55
|
0,
|
|
@@ -79,7 +62,7 @@ export class ScreenTarget {
|
|
|
79
62
|
if (!scope) return [];
|
|
80
63
|
const names = new Set<string>();
|
|
81
64
|
for (const heading of scope.querySelectorAll<HTMLElement>(headingSelector)) {
|
|
82
|
-
const anchor = ScreenTarget
|
|
65
|
+
const anchor = ScreenTarget.visible(heading) ? ScreenReader.anchorOf(heading) : "";
|
|
83
66
|
if (anchor) names.add(anchor);
|
|
84
67
|
}
|
|
85
68
|
return [...names];
|
|
@@ -100,7 +83,7 @@ export class ScreenTarget {
|
|
|
100
83
|
const own = scope.getAttribute(attr);
|
|
101
84
|
if (own) names.add(own);
|
|
102
85
|
for (const el of scope.querySelectorAll<HTMLElement>(`[${attr}]`)) {
|
|
103
|
-
const value = ScreenTarget
|
|
86
|
+
const value = ScreenTarget.visible(el) ? el.getAttribute(attr) : null;
|
|
104
87
|
if (value) names.add(value);
|
|
105
88
|
}
|
|
106
89
|
}
|
|
@@ -112,10 +95,10 @@ export class ScreenTarget {
|
|
|
112
95
|
}
|
|
113
96
|
|
|
114
97
|
static #first(scope: HTMLElement, selector: string) {
|
|
115
|
-
return [...scope.querySelectorAll<HTMLElement>(selector)].find(ScreenTarget
|
|
98
|
+
return [...scope.querySelectorAll<HTMLElement>(selector)].find(ScreenTarget.visible) ?? null;
|
|
116
99
|
}
|
|
117
100
|
|
|
118
|
-
static
|
|
101
|
+
static visible(el: HTMLElement) {
|
|
119
102
|
if (el.hasAttribute("hidden") || el.getAttribute("aria-hidden") === "true") return false;
|
|
120
103
|
if (el.closest("[data-agent-ui]")) return false;
|
|
121
104
|
return typeof el.checkVisibility === "function" ? el.checkVisibility() : true;
|
|
@@ -4,9 +4,18 @@ import type { AgentRefusal } from "akanjs/signal";
|
|
|
4
4
|
import { databaseStateModelTypes, databaseStateNames } from "../databaseStateNames";
|
|
5
5
|
import type { SliceStateKey } from "../state";
|
|
6
6
|
import type { StoreInstance } from "../storeInstance";
|
|
7
|
-
import type { SerializedStoreState } from "./types";
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
export interface SerializedStoreState {
|
|
9
|
+
/** Read off the live value — stores declare no types — so a `null`-initialized key says nothing. */
|
|
10
|
+
type: "string" | "number" | "boolean" | "date" | "list" | "map" | "object" | "unknown";
|
|
11
|
+
/** The model a read of this key is masked by. */
|
|
12
|
+
refName?: string;
|
|
13
|
+
modelType?: "input" | "full" | "light" | "insight";
|
|
14
|
+
/** A `search()` or `computed()` key; writing it throws. */
|
|
15
|
+
derived: boolean;
|
|
16
|
+
role?: SliceStateKey;
|
|
17
|
+
}
|
|
18
|
+
|
|
10
19
|
const sliceStateModelTypes: { [key in SliceStateKey]?: SerializedStoreState["modelType"] } = {
|
|
11
20
|
defaultModel: "full",
|
|
12
21
|
modelList: "light",
|
|
@@ -15,21 +24,7 @@ const sliceStateModelTypes: { [key in SliceStateKey]?: SerializedStoreState["mod
|
|
|
15
24
|
modelInsight: "insight",
|
|
16
25
|
};
|
|
17
26
|
|
|
18
|
-
/**
|
|
19
|
-
* Every store key an in-page agent may read, derived on the client from the store the browser is already running.
|
|
20
|
-
*
|
|
21
|
-
* Keys only — nothing here becomes a tool. What an agent may *do* is declared where the screen declares it, with
|
|
22
|
-
* `st.tool` beside the control that does the same thing for the user; a store method nobody declared is the app's
|
|
23
|
-
* own vocabulary and says nothing about what this screen offers. Deriving tools from the store published the
|
|
24
|
-
* bundle rather than the screen, and every lever the screen did not have was noise the model paid for.
|
|
25
|
-
*
|
|
26
|
-
* Reads stay store-derived because a read has to be masked and only the store declares which model masks it. Which
|
|
27
|
-
* of these keys is readable at a given moment is liveness rather than this catalogue — the keys the mounted
|
|
28
|
-
* components subscribe. Plumbing in the base store opts out at the call site with `{ agent: false }`.
|
|
29
|
-
*
|
|
30
|
-
* It is derived on the client rather than shipped from the server: the store classes are in the bundle already,
|
|
31
|
-
* and a second copy over the wire is a second thing to keep in step.
|
|
32
|
-
*/
|
|
27
|
+
/** Every store key an agent may read and the model its reads are masked by. Keys only: tools come from `st.tool`. */
|
|
33
28
|
export class StoreCatalogue {
|
|
34
29
|
readonly state: { [key: string]: SerializedStoreState };
|
|
35
30
|
readonly refusals: AgentRefusal[] = [];
|
|
@@ -64,12 +59,6 @@ export class StoreCatalogue {
|
|
|
64
59
|
return Object.fromEntries(entries);
|
|
65
60
|
}
|
|
66
61
|
|
|
67
|
-
/**
|
|
68
|
-
* The model each generated state key holds, taken from the declaration rather than from the value.
|
|
69
|
-
*
|
|
70
|
-
* A read has to be masked by the model, and the value cannot supply it: `immerify` copies a form into a plain
|
|
71
|
-
* object, so `<model>Form` — an `Input` holding whatever the user typed — arrives with its class already gone.
|
|
72
|
-
*/
|
|
73
62
|
static #declaredStateModels() {
|
|
74
63
|
const declared = new Map<string, { refName: string; modelType: SerializedStoreState["modelType"] }>();
|
|
75
64
|
for (const refName of ConstantRegistry.database.keys()) {
|
|
@@ -103,7 +92,6 @@ export class StoreCatalogue {
|
|
|
103
92
|
}
|
|
104
93
|
}
|
|
105
94
|
|
|
106
|
-
/** `DataList` and `dayjs` are the two objects a store holds that are not what `typeof` says they are. */
|
|
107
95
|
static #isList(value: object) {
|
|
108
96
|
return "values" in value && Array.isArray((value as { values: unknown }).values);
|
|
109
97
|
}
|
|
@@ -1,38 +1,20 @@
|
|
|
1
1
|
import { router } from "akanjs/client";
|
|
2
|
-
import type
|
|
2
|
+
import { AgenticSurface, type SurfaceSource, type ToolEntry } from "../../vendor/use-agentic";
|
|
3
3
|
import { AgentBridge } from "./AgentBridge";
|
|
4
|
+
import { ScreenFlash } from "./ScreenFlash";
|
|
4
5
|
import { ScreenReader } from "./ScreenReader";
|
|
5
6
|
import { ScreenSettle } from "./ScreenSettle";
|
|
6
7
|
import { ScreenTarget } from "./ScreenTarget";
|
|
7
8
|
|
|
8
|
-
/**
|
|
9
|
-
* The tools every akan screen has whatever it declares: where it can go, what it is rendering, what one of the
|
|
10
|
-
* store keys it reads holds, and where on screen a thing the user is being told about actually is. Everything else
|
|
11
|
-
* an agent may do is a component's own `st.tool` declaration — the store contributes no actions, because a method
|
|
12
|
-
* on a store class is not something the screen offers the user.
|
|
13
|
-
*
|
|
14
|
-
* Per zone view: a zone's `readState` reaches the keys its own subtree subscribes, and its `readScreen` and
|
|
15
|
-
* `highlight` reach into its own `data-agent-zone` container rather than the whole document. A page can shadow any
|
|
16
|
-
* of them by registering a hook tool of the same name — hook entries win over a source's. **That is a root-scope
|
|
17
|
-
* move only**: inside a zone the hook entry is registered under its scope-prefixed name, which can never collide
|
|
18
|
-
* with the bare name a source publishes, so a zone drops a built-in with the session's `builtins` option instead.
|
|
19
|
-
*/
|
|
9
|
+
/** Every screen's built-in tools. A same-named hook tool shadows one at root scope only; a zone uses `builtins`. */
|
|
20
10
|
export class StoreSurfaceSource implements SurfaceSource {
|
|
21
|
-
/**
|
|
22
|
-
static readonly highlightClass = "akan-agent-highlight";
|
|
23
|
-
/** Mirrors the animation in that stylesheet: the class outlives the ring by nothing. */
|
|
24
|
-
static readonly highlightMs = 2400;
|
|
25
|
-
/**
|
|
26
|
-
* What `tools()` contributes, in the order it builds them — the list a session's `builtins` option selects from.
|
|
27
|
-
* A screen that declares a hook tool of one of these names is not in it: that entry is the screen's, not this
|
|
28
|
-
* source's, so withholding the built-ins never withholds a tool a component published on purpose.
|
|
29
|
-
*/
|
|
11
|
+
/** What a session's `builtins` option selects from, in build order. */
|
|
30
12
|
static readonly builtins = ["navigate", "goBack", "readScreen", "readState", "highlight"] as const;
|
|
31
13
|
|
|
32
14
|
#bridge: AgentBridge | null;
|
|
33
15
|
readonly #builtins = new Map<string, ToolEntry[]>();
|
|
34
16
|
|
|
35
|
-
/**
|
|
17
|
+
/** Without a bridge, `AgentBridge.of()` runs at the first `readState` call. */
|
|
36
18
|
constructor(bridge?: AgentBridge) {
|
|
37
19
|
this.#bridge = bridge ?? null;
|
|
38
20
|
}
|
|
@@ -53,7 +35,6 @@ export class StoreSurfaceSource implements SurfaceSource {
|
|
|
53
35
|
return builtins;
|
|
54
36
|
};
|
|
55
37
|
|
|
56
|
-
/** Screen-driving is client navigation, so the agent gets the same router `Link` rides. */
|
|
57
38
|
static #navigate(): ToolEntry {
|
|
58
39
|
return {
|
|
59
40
|
name: "navigate",
|
|
@@ -72,25 +53,26 @@ export class StoreSurfaceSource implements SurfaceSource {
|
|
|
72
53
|
run: async (args) => {
|
|
73
54
|
const path = String(args.path);
|
|
74
55
|
router.push(path);
|
|
75
|
-
|
|
56
|
+
try {
|
|
57
|
+
await router.navigation();
|
|
58
|
+
} catch {
|
|
59
|
+
throw new Error(
|
|
60
|
+
`There is no route at ${path}, so the page did not move. Call readScreen — it prints each link on this screen with its own path — and navigate to one of those.`,
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
|
|
76
64
|
await ScreenSettle.wait({ appearMs: 800, timeoutMs: 5000 });
|
|
77
65
|
return `Now on ${path}. Call readScreen to see it; this screen's own tools and state are listed from the next turn.`;
|
|
78
66
|
},
|
|
79
67
|
};
|
|
80
68
|
}
|
|
81
69
|
|
|
82
|
-
/**
|
|
83
|
-
* Global rather than declared by whatever `Link.Back` happens to be on screen: history is not a control the page
|
|
84
|
-
* owns. Every route has a previous page, the browser's own back gesture is always there, and a page that draws
|
|
85
|
-
* no back link is not a page you may not leave — the same reasoning that makes `navigate` a built-in.
|
|
86
|
-
*/
|
|
87
70
|
static #goBack(): ToolEntry {
|
|
88
71
|
return {
|
|
89
72
|
name: "goBack",
|
|
90
73
|
description:
|
|
91
74
|
"Go back to the previous page in this session's history. Use it to undo a navigation; use navigate for a path.",
|
|
92
75
|
parameters: { type: "object", properties: {}, additionalProperties: false },
|
|
93
|
-
|
|
94
76
|
guard: () => (router.canGoBack() ? true : "There is no previous page in this session's history."),
|
|
95
77
|
run: async () => {
|
|
96
78
|
router.back();
|
|
@@ -100,7 +82,6 @@ export class StoreSurfaceSource implements SurfaceSource {
|
|
|
100
82
|
};
|
|
101
83
|
}
|
|
102
84
|
|
|
103
|
-
/** What the user is looking at, read from the rendered DOM — the store never held it, so no key can answer it. */
|
|
104
85
|
static #readScreen(viewKey: string): ToolEntry {
|
|
105
86
|
const where = viewKey ? "in this zone" : "on this page";
|
|
106
87
|
const subject = viewKey ? "this zone" : "the current page";
|
|
@@ -145,11 +126,6 @@ export class StoreSurfaceSource implements SurfaceSource {
|
|
|
145
126
|
};
|
|
146
127
|
}
|
|
147
128
|
|
|
148
|
-
/**
|
|
149
|
-
* Showing beats describing: an agent that has just been asked where something is can put it in front of the
|
|
150
|
-
* user instead of writing directions to it. It drives nothing and changes no data — it is the one built-in that
|
|
151
|
-
* exists for the *user's* benefit rather than the model's, which is why it is worth a slot on every screen.
|
|
152
|
-
*/
|
|
153
129
|
static #highlight(viewKey: string): ToolEntry {
|
|
154
130
|
return {
|
|
155
131
|
name: "highlight",
|
|
@@ -161,7 +137,6 @@ export class StoreSurfaceSource implements SurfaceSource {
|
|
|
161
137
|
required: ["target"],
|
|
162
138
|
additionalProperties: false,
|
|
163
139
|
},
|
|
164
|
-
|
|
165
140
|
settle: false,
|
|
166
141
|
run: (args) => {
|
|
167
142
|
const name = typeof args.target === "string" ? args.target.trim() : "";
|
|
@@ -177,14 +152,12 @@ export class StoreSurfaceSource implements SurfaceSource {
|
|
|
177
152
|
}`,
|
|
178
153
|
);
|
|
179
154
|
}
|
|
180
|
-
|
|
181
|
-
StoreSurfaceSource.#flash(target);
|
|
155
|
+
ScreenFlash.show(target);
|
|
182
156
|
return `Highlighted ${name} on screen for the user.`;
|
|
183
157
|
},
|
|
184
158
|
};
|
|
185
159
|
}
|
|
186
160
|
|
|
187
|
-
/** The pull half of the state context block: keys are listed there, values arrive masked through this. */
|
|
188
161
|
#readState(viewKey: string): ToolEntry {
|
|
189
162
|
return {
|
|
190
163
|
name: "readState",
|
|
@@ -203,32 +176,29 @@ export class StoreSurfaceSource implements SurfaceSource {
|
|
|
203
176
|
};
|
|
204
177
|
}
|
|
205
178
|
|
|
206
|
-
/**
|
|
207
|
-
* The ring goes on once the scroll lands, not when it starts: a smooth scroll across a long page takes most of a
|
|
208
|
-
* second, and a flash begun at the top is already fading by the time the user's eye arrives. Settles on the
|
|
209
|
-
* element's own position rather than a scroll event, which no browser fires consistently, and is capped so a page
|
|
210
|
-
* that never stops moving still flashes. Removed on a timer — a React re-render that drops the class early only
|
|
211
|
-
* ends it sooner.
|
|
212
|
-
*/
|
|
213
|
-
static #flash(target: HTMLElement) {
|
|
214
|
-
let last = Number.NaN;
|
|
215
|
-
let frames = 0;
|
|
216
|
-
const settle = () => {
|
|
217
|
-
const { top } = target.getBoundingClientRect();
|
|
218
|
-
frames += 1;
|
|
219
|
-
if (Math.abs(top - last) >= 1 && frames < 90) {
|
|
220
|
-
last = top;
|
|
221
|
-
requestAnimationFrame(settle);
|
|
222
|
-
return;
|
|
223
|
-
}
|
|
224
|
-
target.classList.add(StoreSurfaceSource.highlightClass);
|
|
225
|
-
setTimeout(() => target.classList.remove(StoreSurfaceSource.highlightClass), StoreSurfaceSource.highlightMs);
|
|
226
|
-
};
|
|
227
|
-
requestAnimationFrame(settle);
|
|
228
|
-
}
|
|
229
|
-
|
|
230
179
|
static #zoneRoot(viewKey: string): HTMLElement | undefined {
|
|
231
180
|
if (!viewKey || typeof document === "undefined") return undefined;
|
|
232
181
|
return document.querySelector<HTMLElement>(`[data-agent-zone="${CSS.escape(viewKey)}"]`) ?? undefined;
|
|
233
182
|
}
|
|
234
183
|
}
|
|
184
|
+
|
|
185
|
+
export interface StoreSurface {
|
|
186
|
+
bridge: AgentBridge;
|
|
187
|
+
source: StoreSurfaceSource;
|
|
188
|
+
surface: AgenticSurface;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
const SURFACE_KEY = Symbol.for("akanjs.store.agentSurface");
|
|
192
|
+
|
|
193
|
+
/** Once per runtime, lazily; never attached on the server, where one global surface would span requests. */
|
|
194
|
+
export const ensureStoreSurface = (): StoreSurface => {
|
|
195
|
+
const holder = globalThis as typeof globalThis & { [SURFACE_KEY]?: StoreSurface };
|
|
196
|
+
if (!holder[SURFACE_KEY]) {
|
|
197
|
+
const bridge = AgentBridge.of();
|
|
198
|
+
const source = new StoreSurfaceSource(bridge);
|
|
199
|
+
const surface = AgenticSurface.shared;
|
|
200
|
+
if (typeof window !== "undefined") surface.addSource(source);
|
|
201
|
+
holder[SURFACE_KEY] = { bridge, source, surface };
|
|
202
|
+
}
|
|
203
|
+
return holder[SURFACE_KEY];
|
|
204
|
+
};
|
package/store/agent/index.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
|
|
2
|
-
|
|
3
|
-
export { AgentAbort, AgentProgress } from "../../vendor/use-agentic";
|
|
2
|
+
export { AgentAbort, AgentProgress, type AgentProgressStep } from "../../vendor/use-agentic";
|
|
4
3
|
export * from "./AgentBridge";
|
|
5
4
|
export * from "./AgentContext";
|
|
5
|
+
export * from "./AgentCursor";
|
|
6
6
|
export * from "./AgentPrompts";
|
|
7
|
+
export * from "./AgentVisual";
|
|
8
|
+
export * from "./ScreenFlash";
|
|
7
9
|
export * from "./ScreenReader";
|
|
8
10
|
export * from "./ScreenSettle";
|
|
9
11
|
export * from "./ScreenTarget";
|
|
10
12
|
export * from "./StoreCatalogue";
|
|
11
13
|
export * from "./StoreSurfaceSource";
|
|
12
|
-
export * from "./storeSurface";
|
|
13
|
-
export * from "./types";
|
|
@@ -11,23 +11,13 @@ import {
|
|
|
11
11
|
type PrimitiveScalar,
|
|
12
12
|
type UnCls,
|
|
13
13
|
} from "akanjs/base";
|
|
14
|
-
import { type ConstantModelRef, type MaskModel, mask, maskFieldsOf } from "akanjs/constant";
|
|
14
|
+
import { agentRead, type ConstantModelRef, type MaskModel, mask, maskFieldsOf } from "akanjs/constant";
|
|
15
15
|
|
|
16
16
|
type AgentSingleType = typeof PrimitiveScalar | EnumInstance<string, any> | ConstantModelRef;
|
|
17
17
|
|
|
18
|
-
/**
|
|
18
|
+
/** A scalar, an enum, or a model — or one array level of one. */
|
|
19
19
|
export type AgentFieldType = AgentSingleType | AgentSingleType[];
|
|
20
20
|
|
|
21
|
-
/**
|
|
22
|
-
* A model class resolves to its state object rather than its instance type, so a component may hand over either
|
|
23
|
-
* the hydrated document or the plain data copied out of one — masking reads the model that was named, not the
|
|
24
|
-
* class the value still carries.
|
|
25
|
-
*
|
|
26
|
-
* A scalar is recognised by `refName` and has to be matched before `FIELD_META`: `via.ts` augments the global
|
|
27
|
-
* `String`, `Boolean`, `Date` and `Map` constructors with `DatabaseConstantStatics`, so those four carry field
|
|
28
|
-
* metadata and would otherwise read as models. A model carries no `refName`, and `Map` — carrying neither — falls
|
|
29
|
-
* through to the model branch and is refused at declaration time instead.
|
|
30
|
-
*/
|
|
31
21
|
export type AgentValueOf<T> = T extends readonly (infer F)[]
|
|
32
22
|
? AgentValueOf<F>[]
|
|
33
23
|
: T extends { refName: "Any" }
|
|
@@ -44,16 +34,9 @@ export type AgentValueOf<T> = T extends readonly (infer F)[]
|
|
|
44
34
|
? V
|
|
45
35
|
: unknown;
|
|
46
36
|
|
|
47
|
-
type ValueKind = "any" | "date" | "scalar" | "enum" | "model";
|
|
37
|
+
type ValueKind = "any" | "date" | "scalar" | "agent" | "enum" | "model";
|
|
48
38
|
|
|
49
|
-
/**
|
|
50
|
-
* Turns a declared type into what an agent may read of a value of that type.
|
|
51
|
-
*
|
|
52
|
-
* The type is the whole declaration: it typechecks what the component hands over, and it decides how the value is
|
|
53
|
-
* rendered — a model class masks by that model, a `Date` leaves as an ISO string, a scalar passes. `Any` is the
|
|
54
|
-
* escape hatch and passes the value untouched, so a payload nobody modeled stays publishable and the caller owns
|
|
55
|
-
* whether it is JSON and whether it is worth its tokens.
|
|
56
|
-
*/
|
|
39
|
+
/** Renders a value by its declared type: a model masks, a Date is ISO, an agent-faced primitive reads, Any passes. */
|
|
57
40
|
export class AgentValue {
|
|
58
41
|
static serialize(type: AgentFieldType, value: unknown): unknown {
|
|
59
42
|
const single = Array.isArray(type) ? type[0] : type;
|
|
@@ -61,10 +44,7 @@ export class AgentValue {
|
|
|
61
44
|
return AgentValue.#one(single, value);
|
|
62
45
|
}
|
|
63
46
|
|
|
64
|
-
/**
|
|
65
|
-
* Reports an unreadable type the way `st.tool` reports an undescribable argument — on the console, and the
|
|
66
|
-
* declaration goes unpublished. Throwing would cost the route its server render over an agent-tooling mistake.
|
|
67
|
-
*/
|
|
47
|
+
/** Logs and returns false for an unreadable type; throwing would cost the route its server render. */
|
|
68
48
|
static publishable(owner: string, type: AgentFieldType): boolean {
|
|
69
49
|
try {
|
|
70
50
|
AgentValue.#kindOf(Array.isArray(type) ? type[0] : type);
|
|
@@ -82,6 +62,8 @@ export class AgentValue {
|
|
|
82
62
|
const parsed = dayjs(value as string | number | Date);
|
|
83
63
|
return parsed.isValid() ? parsed.toISOString() : null;
|
|
84
64
|
}
|
|
65
|
+
case "agent":
|
|
66
|
+
return agentRead(type, value);
|
|
85
67
|
case "model":
|
|
86
68
|
return mask(type as MaskModel, value);
|
|
87
69
|
default:
|
|
@@ -91,6 +73,7 @@ export class AgentValue {
|
|
|
91
73
|
|
|
92
74
|
static #kindOf(type: AgentSingleType): ValueKind {
|
|
93
75
|
if (isEnum(type as Cls)) return "enum";
|
|
76
|
+
if (PrimitiveRegistry.agentOf(type)) return "agent";
|
|
94
77
|
if (PrimitiveRegistry.has(type as unknown as Cls)) {
|
|
95
78
|
const refName = PrimitiveRegistry.getName(type as typeof PrimitiveScalar);
|
|
96
79
|
switch (refName) {
|
|
@@ -105,7 +88,7 @@ export class AgentValue {
|
|
|
105
88
|
case "Boolean":
|
|
106
89
|
return "scalar";
|
|
107
90
|
default:
|
|
108
|
-
throw new Error(`the scalar ${refName}, which an agent cannot read.`);
|
|
91
|
+
throw new Error(`the scalar ${refName}, which an agent cannot read: it declares no \`agent\` face.`);
|
|
109
92
|
}
|
|
110
93
|
}
|
|
111
94
|
if (maskFieldsOf(type as MaskModel)) return "model";
|
|
@@ -8,13 +8,7 @@ export interface StExposeMeta {
|
|
|
8
8
|
report?: boolean;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
/**
|
|
12
|
-
* A read-only value past its description, waiting for the value itself. `.value()` is the one hook.
|
|
13
|
-
*
|
|
14
|
-
* The declared type is what makes the read safe: it typechecks what the component hands over and it decides how
|
|
15
|
-
* the value is rendered, so a model's `hidden` and `secret` fields are stripped by the model that was named
|
|
16
|
-
* rather than by whatever class the value still happens to carry.
|
|
17
|
-
*/
|
|
11
|
+
/** `.value()` is the hook; the declared type, not the value's class, decides what the read masks. */
|
|
18
12
|
export class StExposeBuilder<T extends AgentFieldType> {
|
|
19
13
|
readonly #name: string | null;
|
|
20
14
|
readonly #type: T;
|
|
@@ -28,13 +22,10 @@ export class StExposeBuilder<T extends AgentFieldType> {
|
|
|
28
22
|
this.#meta = meta;
|
|
29
23
|
}
|
|
30
24
|
|
|
31
|
-
/**
|
|
32
|
-
* A thunk is read when the agent reads, which is the difference that matters for a value assembled out of a ref
|
|
33
|
-
* the children fill in after this render — computing it here would publish whatever was there before they ran.
|
|
34
|
-
*/
|
|
25
|
+
/** A thunk is evaluated when the agent reads, not at render. */
|
|
35
26
|
value(value: AgentValueOf<T> | (() => AgentValueOf<T>) | null | undefined): void {
|
|
36
27
|
const declared = useRef<{ key: string | null; name: string | null } | null>(null);
|
|
37
|
-
|
|
28
|
+
|
|
38
29
|
if (declared.current?.key !== this.#name)
|
|
39
30
|
declared.current = {
|
|
40
31
|
key: this.#name,
|
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import type { AgentFieldType } from "./AgentValue";
|
|
2
2
|
import { StExposeBuilder, type StExposeMeta } from "./StExposeBuilder";
|
|
3
3
|
|
|
4
|
-
/**
|
|
5
|
-
* A readable value before it has said what it is: `st.expose("x", ID).desc("…")`.
|
|
6
|
-
*
|
|
7
|
-
* A falsy name declares nothing and publishes nothing, so a component whose publication is conditional keeps a
|
|
8
|
-
* constant hook count instead of branching around the chain.
|
|
9
|
-
*/
|
|
10
4
|
export class StExposeDraft<T extends AgentFieldType> {
|
|
11
5
|
readonly #name: string | null;
|
|
12
6
|
readonly #type: T;
|
|
@@ -15,19 +15,12 @@ export interface StStateMeta {
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
interface StStateDeclaration {
|
|
18
|
-
/** The name as written this render, which is what says whether the resolution below still applies. */
|
|
19
18
|
key: string | null;
|
|
20
19
|
name: string | null;
|
|
21
20
|
set: { schema: JsonSchema; type: ParamFieldType } | null;
|
|
22
21
|
}
|
|
23
22
|
|
|
24
|
-
/**
|
|
25
|
-
* Local state past its description, waiting for its initial value. `.init()` is the one hook and returns what
|
|
26
|
-
* `useState` returns.
|
|
27
|
-
*
|
|
28
|
-
* The declared type does both halves: it renders the read, and — with `set` — it is the schema of the setter tool
|
|
29
|
-
* an agent writes through. A type nothing can describe costs the write, not the read and not the render.
|
|
30
|
-
*/
|
|
23
|
+
/** `.init()` is the hook and returns what `useState` returns; an undescribable type costs only the setter tool. */
|
|
31
24
|
export class StStateBuilder<T extends AgentFieldType> {
|
|
32
25
|
readonly #name: string | null;
|
|
33
26
|
readonly #type: T;
|
|
@@ -47,13 +40,13 @@ export class StStateBuilder<T extends AgentFieldType> {
|
|
|
47
40
|
init(
|
|
48
41
|
initial: AgentValueOf<T> | null | (() => AgentValueOf<T> | null),
|
|
49
42
|
): [AgentValueOf<T> | null, Dispatch<SetStateAction<AgentValueOf<T> | null>>];
|
|
50
|
-
|
|
43
|
+
|
|
51
44
|
init(initial: AgentValueOf<T> | null | (() => AgentValueOf<T> | null)): unknown {
|
|
52
45
|
type Value = AgentValueOf<T> | null;
|
|
53
46
|
const name = this.#name;
|
|
54
47
|
const type = this.#type;
|
|
55
48
|
const declared = useRef<StStateDeclaration | null>(null);
|
|
56
|
-
|
|
49
|
+
|
|
57
50
|
if (declared.current?.key !== name)
|
|
58
51
|
declared.current = {
|
|
59
52
|
key: name,
|
|
@@ -75,7 +68,6 @@ export class StStateBuilder<T extends AgentFieldType> {
|
|
|
75
68
|
});
|
|
76
69
|
}
|
|
77
70
|
|
|
78
|
-
/** A `set` an agent could only call wrong leaves the key readable — the same trade `st.tool`'s `.arg` makes. */
|
|
79
71
|
static #writable(name: string, type: AgentFieldType): StStateDeclaration["set"] {
|
|
80
72
|
const scalar = type as unknown as ParamFieldType;
|
|
81
73
|
try {
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import type { AgentFieldType } from "./AgentValue";
|
|
2
2
|
import { StStateBuilder, type StStateMeta } from "./StStateBuilder";
|
|
3
3
|
|
|
4
|
-
/**
|
|
5
|
-
* Local state before it has said what it is: `st.useState("tab", String, { set: true }).desc("…")`.
|
|
6
|
-
*
|
|
7
|
-
* A falsy name keeps the state and publishes nothing, so a conditional surface never changes the hook count.
|
|
8
|
-
*/
|
|
9
4
|
export class StStateDraft<T extends AgentFieldType> {
|
|
10
5
|
readonly #name: string | null;
|
|
11
6
|
readonly #type: T;
|