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
package/ui/Agent/Chat.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn, usePage } from "akanjs/client";
|
|
3
|
-
import { AgentPrompts } from "akanjs/store";
|
|
3
|
+
import { AgentPrompts, type AgentVisualOption } from "akanjs/store";
|
|
4
4
|
import {
|
|
5
5
|
type KeyboardEvent as ReactKeyboardEvent,
|
|
6
6
|
type ReactNode,
|
|
@@ -17,111 +17,87 @@ import {
|
|
|
17
17
|
type AgentRunner,
|
|
18
18
|
type AgentSession,
|
|
19
19
|
type AgentSessionOptions,
|
|
20
|
+
type ChatMessage,
|
|
20
21
|
type CompactOptions,
|
|
21
22
|
SessionContext,
|
|
22
23
|
type SessionHistory,
|
|
23
24
|
} from "../../vendor/use-agentic";
|
|
24
25
|
import { createOverridable } from "../UiOverride";
|
|
25
26
|
import Approval from "./Approval";
|
|
26
|
-
import { agentSessionOf } from "./agentSessionOf";
|
|
27
|
+
import { agentSessionOf, type BuiltinOption, type PersistOption } from "./agentSessionOf";
|
|
27
28
|
import type { AttachLimits, AttachReader } from "./attachment";
|
|
28
29
|
import Bubble from "./Bubble";
|
|
29
30
|
import { type ChatCommand, ChatCommands } from "./ChatCommands";
|
|
30
|
-
import { Composer } from "./Composer";
|
|
31
|
+
import { Composer, type ComposerHandle } from "./Composer";
|
|
31
32
|
import { Launcher } from "./Launcher";
|
|
32
33
|
import Menu from "./Menu";
|
|
33
34
|
import Question from "./Question";
|
|
34
35
|
import Queued from "./Queued";
|
|
35
|
-
import
|
|
36
|
-
import
|
|
36
|
+
import Steps from "./Steps";
|
|
37
|
+
import ToolCard from "./ToolCard";
|
|
37
38
|
import { tokenCount } from "./tokenCount";
|
|
38
39
|
import { useChatAttachments } from "./useChatAttachments";
|
|
39
40
|
import { type QueuedMessage, useChatQueue } from "./useChatQueue";
|
|
41
|
+
import { useChatReferences } from "./useChatReferences";
|
|
40
42
|
import { useChatVoice } from "./useChatVoice";
|
|
41
43
|
import { useDraftRecall } from "./useDraftRecall";
|
|
42
44
|
import { useKeyboardInset } from "./useKeyboardInset";
|
|
45
|
+
import { type ReferenceSource, useReferenceMenu } from "./useReferenceMenu";
|
|
43
46
|
import { useSlashMenu } from "./useSlashMenu";
|
|
44
47
|
import type { VoiceEngine } from "./voice";
|
|
45
48
|
|
|
46
49
|
export interface ChatProps {
|
|
47
|
-
/**
|
|
50
|
+
/** Applied to the launcher while closed and to the panel while open. */
|
|
48
51
|
className?: string;
|
|
49
52
|
title?: string;
|
|
50
|
-
/** App-global framing
|
|
53
|
+
/** App-global framing; route-scoped `Agent.Guide`s layer on it. */
|
|
51
54
|
instructions?: string;
|
|
52
|
-
/**
|
|
55
|
+
/** Defaults to the app's `runAgentTurn` endpoint. */
|
|
53
56
|
runner?: AgentRunner;
|
|
54
57
|
maxTurns?: number;
|
|
55
|
-
/**
|
|
56
|
-
*
|
|
57
|
-
* messages left verbatim below the summary. Tune it per provider; `{ at: 0 }` turns it off.
|
|
58
|
-
*/
|
|
58
|
+
/** Summarizes past `at` estimated tokens or near the server's context window, keeping `keep` messages verbatim;
|
|
59
|
+
* `{ at: Infinity }` leaves only the window guard, `{ at: 0 }` turns it all off. */
|
|
59
60
|
compact?: CompactOptions;
|
|
60
|
-
/**
|
|
61
|
-
* Which of the runtime's own tools this chat's agent gets — all of them by default, `false` none, an array
|
|
62
|
-
* exactly the ones it names. A chat that must not leave the screen it is on drops `navigate` and `goBack`.
|
|
63
|
-
*/
|
|
61
|
+
/** Every runtime tool by default, `false` none, an array exactly the ones it names. */
|
|
64
62
|
builtins?: BuiltinOption;
|
|
65
|
-
/** Called after a compaction replaced messages with one summary
|
|
63
|
+
/** Called after a compaction replaced messages with one summary. */
|
|
66
64
|
onCompact?: AgentSessionOptions["onCompact"];
|
|
67
65
|
defaultOpen?: boolean;
|
|
68
|
-
/**
|
|
69
|
-
* Controlled open state. Pass it with `onOpenChange` to drive the panel from the app's own control — a header
|
|
70
|
-
* button, a menu item — instead of the built-in launcher. Left off, the panel owns the state as before.
|
|
71
|
-
*/
|
|
66
|
+
/** Controlled open state, paired with `onOpenChange`; left off, the panel owns it. */
|
|
72
67
|
open?: boolean;
|
|
73
|
-
/**
|
|
74
|
-
* Left off while `open` is controlled, the panel cannot close itself — so it draws **no close button** rather
|
|
75
|
-
* than an inert one. That is the shape of a fixed panel with nowhere to close to, and it is also what keeps a
|
|
76
|
-
* controlled chat assemblable by a server component, since this is the only prop here that is a function.
|
|
77
|
-
*/
|
|
68
|
+
/** Left off while `open` is controlled, the panel draws no close button. */
|
|
78
69
|
onOpenChange?: (open: boolean) => void;
|
|
79
|
-
/** `false` draws
|
|
70
|
+
/** On by default; `false` draws nothing, `{ cursor: false }` / `{ reveal: false }` turn one effect off. */
|
|
71
|
+
visual?: boolean | AgentVisualOption;
|
|
72
|
+
/** `false` draws no launcher. */
|
|
80
73
|
launcher?: boolean;
|
|
81
|
-
/**
|
|
82
|
-
*
|
|
83
|
-
* a `SessionHistory` of the app's own to keep it anywhere else, a server included.
|
|
84
|
-
*
|
|
85
|
-
* Ignored, like every session option above it, when an enclosing `Agent.Zone` or `AgentProvider` already holds a
|
|
86
|
-
* session: this chat then binds to that one, and the options belong to whoever built it.
|
|
87
|
-
*/
|
|
74
|
+
/** sessionStorage by default, `{ storage: "local" }` to outlive the tab, or an app `SessionHistory`. Ignored, like
|
|
75
|
+
* every session option above, when an enclosing `Agent.Zone` or `AgentProvider` already holds a session. */
|
|
88
76
|
persist?: PersistOption | SessionHistory;
|
|
89
|
-
/** Renders in the page flow instead of floating above it
|
|
77
|
+
/** Renders in the page flow instead of floating above it. */
|
|
90
78
|
inline?: boolean;
|
|
91
|
-
/** `false`
|
|
79
|
+
/** `false` leaves Cmd/Ctrl+L to the browser. */
|
|
92
80
|
shortcut?: boolean;
|
|
93
|
-
/** One surface each, where `className` reaches both. */
|
|
94
81
|
launcherClassName?: string;
|
|
95
82
|
panelClassName?: string;
|
|
96
|
-
/** Shown in place of the intro line while the transcript is empty
|
|
83
|
+
/** Shown in place of the intro line while the transcript is empty. */
|
|
97
84
|
intro?: ReactNode;
|
|
98
85
|
/** Extra header controls, left of the built-in clear and close buttons. */
|
|
99
86
|
header?: ReactNode;
|
|
100
|
-
/**
|
|
101
|
-
* `false` draws no header bar at all — for an `inline` chat inside a panel the app already titles. The extra
|
|
102
|
-
* `header` controls go with it, and the clear action stays reachable as the `/new` command.
|
|
103
|
-
*/
|
|
87
|
+
/** `false` draws no header bar, `header` included; clearing stays reachable as `/new`. */
|
|
104
88
|
chrome?: boolean;
|
|
105
|
-
/** The composer's opening text, read once at mount
|
|
89
|
+
/** The composer's opening text, read once at mount. */
|
|
106
90
|
defaultDraft?: string;
|
|
107
|
-
/**
|
|
108
|
-
*
|
|
109
|
-
* (images as bytes, text as text). This is where an app puts what needs a parser — a PDF's text, a spreadsheet's
|
|
110
|
-
* cells — since the framework carries attachments but depends on nothing that can extract one. It runs before
|
|
111
|
-
* the built-in, so it can also replace how an image is prepared.
|
|
112
|
-
*/
|
|
91
|
+
/** Runs before the built-in reader, which `null` falls back to. The provider fetches a `url` itself, so answer
|
|
92
|
+
* `data` too when it cannot reach it — `data` is then what is sent and `url` only draws the chip. */
|
|
113
93
|
attach?: AttachReader;
|
|
114
|
-
/**
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
94
|
+
/** What the composer's `@` menu can point at, one entry per document kind. */
|
|
95
|
+
reference?: readonly ReferenceSource[];
|
|
96
|
+
/** Draws `@` pointers as names; on when `reference` is set, `false` keeps the plain textarea. */
|
|
97
|
+
mentions?: boolean;
|
|
98
|
+
/** Overrides the per-file, per-message and count ceilings on attachments. */
|
|
119
99
|
attachLimits?: AttachLimits;
|
|
120
|
-
/**
|
|
121
|
-
* Speech in and out. The engine listens and speaks; this component decides when — a press-to-talk microphone
|
|
122
|
-
* whose transcript lands in the composer for the user to correct, and a reply read aloud **only when the ask
|
|
123
|
-
* itself came in by voice**, so a typed question never turns the speakers on.
|
|
124
|
-
*/
|
|
100
|
+
/** Speech in and out; a reply is read aloud only when the ask came in by voice. */
|
|
125
101
|
voice?: VoiceEngine;
|
|
126
102
|
}
|
|
127
103
|
|
|
@@ -136,16 +112,8 @@ const panelLayer = "fixed inset-0 z-[150] sm:inset-auto sm:right-4 sm:bottom-4";
|
|
|
136
112
|
const panelSize =
|
|
137
113
|
"h-dvh w-screen rounded-none sm:h-[min(600px,calc(100dvh-2rem))] sm:w-[min(24rem,calc(100vw-2rem))] sm:rounded-box";
|
|
138
114
|
|
|
139
|
-
/** Distance from the bottom within which the transcript keeps following new messages. */
|
|
140
115
|
const stickyEdge = 80;
|
|
141
116
|
|
|
142
|
-
/**
|
|
143
|
-
* The user-facing half of the in-page agent: one floating chat wired to the same surface the dock inspects.
|
|
144
|
-
* The conversation loop runs in this browser session — every tool call executes here, gated by the approval
|
|
145
|
-
* card — and the session lives in a ref, so it survives reopening the panel and dies with the page unless
|
|
146
|
-
* `persist` keeps it. An enclosing AgentProvider's session wins, which is how an app isolates a surface or swaps
|
|
147
|
-
* the loop while keeping this UI.
|
|
148
|
-
*/
|
|
149
117
|
export const DefaultChat = ({
|
|
150
118
|
className,
|
|
151
119
|
title,
|
|
@@ -159,6 +127,7 @@ export const DefaultChat = ({
|
|
|
159
127
|
open: openProp,
|
|
160
128
|
onOpenChange,
|
|
161
129
|
launcher = true,
|
|
130
|
+
visual = true,
|
|
162
131
|
persist,
|
|
163
132
|
inline = false,
|
|
164
133
|
shortcut = true,
|
|
@@ -170,6 +139,8 @@ export const DefaultChat = ({
|
|
|
170
139
|
defaultDraft,
|
|
171
140
|
attach,
|
|
172
141
|
attachLimits,
|
|
142
|
+
reference,
|
|
143
|
+
mentions,
|
|
173
144
|
voice,
|
|
174
145
|
}: ChatProps) => {
|
|
175
146
|
const { l } = usePage();
|
|
@@ -189,6 +160,7 @@ export const DefaultChat = ({
|
|
|
189
160
|
builtins,
|
|
190
161
|
persist,
|
|
191
162
|
onCompact,
|
|
163
|
+
visual,
|
|
192
164
|
});
|
|
193
165
|
const session = held.current;
|
|
194
166
|
const version = useSyncExternalStore(
|
|
@@ -197,7 +169,6 @@ export const DefaultChat = ({
|
|
|
197
169
|
() => session.version,
|
|
198
170
|
);
|
|
199
171
|
const [ownOpen, setOwnOpen] = useState(defaultOpen);
|
|
200
|
-
|
|
201
172
|
const open = openProp ?? ownOpen;
|
|
202
173
|
const setOpen = (next: boolean) => {
|
|
203
174
|
if (openProp === undefined) setOwnOpen(next);
|
|
@@ -219,7 +190,13 @@ export const DefaultChat = ({
|
|
|
219
190
|
const listRef = useRef<HTMLDivElement>(null);
|
|
220
191
|
const inputRef = useRef<HTMLTextAreaElement>(null);
|
|
221
192
|
const launcherRef = useRef<HTMLButtonElement>(null);
|
|
193
|
+
const handleRef = useRef<ComposerHandle | null>(null);
|
|
222
194
|
|
|
195
|
+
const focusComposer = () => {
|
|
196
|
+
if (handleRef.current) handleRef.current.focus();
|
|
197
|
+
else inputRef.current?.focus();
|
|
198
|
+
};
|
|
199
|
+
const refs = useChatReferences({ session, draft, version, handleRef, onDraft: setDraft });
|
|
223
200
|
const sticky = useRef(true);
|
|
224
201
|
const returning = useRef(false);
|
|
225
202
|
const read = useRef(session.messages.length);
|
|
@@ -243,7 +220,7 @@ export const DefaultChat = ({
|
|
|
243
220
|
event.preventDefault();
|
|
244
221
|
sticky.current = true;
|
|
245
222
|
setOpen(true);
|
|
246
|
-
|
|
223
|
+
focusComposer();
|
|
247
224
|
};
|
|
248
225
|
|
|
249
226
|
window.addEventListener("keydown", onKeyDown, true);
|
|
@@ -251,16 +228,15 @@ export const DefaultChat = ({
|
|
|
251
228
|
}, [shortcut]);
|
|
252
229
|
useEffect(() => {
|
|
253
230
|
if (!open) {
|
|
254
|
-
|
|
255
231
|
if (returning.current) launcherRef.current?.focus();
|
|
256
232
|
returning.current = false;
|
|
257
233
|
return;
|
|
258
234
|
}
|
|
259
|
-
|
|
235
|
+
focusComposer();
|
|
260
236
|
}, [open, session.pendingQuestion?.callId]);
|
|
261
237
|
useEffect(
|
|
262
238
|
() => () => {
|
|
263
|
-
|
|
239
|
+
|
|
264
240
|
if (!provided) session.abort();
|
|
265
241
|
},
|
|
266
242
|
[],
|
|
@@ -268,8 +244,8 @@ export const DefaultChat = ({
|
|
|
268
244
|
const write = (text: string) => {
|
|
269
245
|
setDraft(text);
|
|
270
246
|
menu.reopen();
|
|
247
|
+
mentionMenu.reopen();
|
|
271
248
|
};
|
|
272
|
-
|
|
273
249
|
const closable = openProp === undefined || !!onOpenChange;
|
|
274
250
|
const dismiss = () => {
|
|
275
251
|
returning.current = true;
|
|
@@ -278,48 +254,52 @@ export const DefaultChat = ({
|
|
|
278
254
|
const runCommand = (command: ChatCommand) => {
|
|
279
255
|
write("");
|
|
280
256
|
recall.remember(`/${command.name}`);
|
|
281
|
-
|
|
257
|
+
|
|
282
258
|
if (command.name === "new") {
|
|
283
259
|
files.clear();
|
|
260
|
+
session.clearStaged();
|
|
284
261
|
queue.take();
|
|
285
262
|
}
|
|
286
263
|
void ChatCommands.run(command, { session, l });
|
|
287
264
|
};
|
|
288
|
-
/**
|
|
289
|
-
* Opens a turn with what the composer held, or parks it behind the turn that is running so it opens the next.
|
|
290
|
-
* False only when parking refused it — the files would not fit beside what is already waiting.
|
|
291
|
-
*/
|
|
292
265
|
const dispatch = (message: QueuedMessage): boolean => {
|
|
293
266
|
if (session.isRunning) return queue.push(message);
|
|
294
267
|
sticky.current = true;
|
|
295
268
|
speech.take(message.byVoice);
|
|
296
|
-
if (!message.attachments.length) void session.send(message.text);
|
|
269
|
+
if (!message.attachments.length && !message.references.length) void session.send(message.text);
|
|
297
270
|
else
|
|
298
271
|
void session.send([
|
|
299
|
-
{
|
|
272
|
+
{
|
|
273
|
+
role: "user",
|
|
274
|
+
...(message.text ? { text: message.text } : {}),
|
|
275
|
+
...(message.attachments.length ? { attachments: message.attachments } : {}),
|
|
276
|
+
...(message.references.length ? { references: message.references } : {}),
|
|
277
|
+
},
|
|
300
278
|
]);
|
|
301
279
|
return true;
|
|
302
280
|
};
|
|
303
|
-
/** Hands the parked message back to the composer, ahead of whatever was typed since it was parked. */
|
|
304
281
|
const unpark = () => {
|
|
305
282
|
const message = queue.queued;
|
|
306
283
|
if (!message || !files.restore(message.attachments)) return;
|
|
307
284
|
queue.take();
|
|
285
|
+
session.restoreStaged(message.references);
|
|
308
286
|
write([message.text, draft].filter(Boolean).join("\n"));
|
|
309
287
|
speech.hold(message.byVoice);
|
|
310
288
|
};
|
|
311
289
|
const menu = useSlashMenu({ draft, l, onCommand: runCommand });
|
|
290
|
+
const mentionMenu = useReferenceMenu({ draft, sources: reference ?? [], session, l, onWrite: write });
|
|
291
|
+
|
|
292
|
+
const list = menu.at() ? menu : mentionMenu;
|
|
312
293
|
const send = () => {
|
|
313
294
|
const text = draft.trim();
|
|
314
295
|
if (!text && !files.attached.length) return;
|
|
315
296
|
const command = AgentPrompts.parseCommand(text);
|
|
316
297
|
const builtin = command ? ChatCommands.find(command.name, l) : null;
|
|
317
|
-
|
|
298
|
+
|
|
318
299
|
if (builtin) {
|
|
319
300
|
runCommand(builtin);
|
|
320
301
|
return;
|
|
321
302
|
}
|
|
322
|
-
|
|
323
303
|
const question = session.pendingQuestion;
|
|
324
304
|
if (question) {
|
|
325
305
|
if (!text) {
|
|
@@ -332,36 +312,36 @@ export const DefaultChat = ({
|
|
|
332
312
|
return;
|
|
333
313
|
}
|
|
334
314
|
const byVoice = speech.lift();
|
|
335
|
-
if (!dispatch({ text, attachments: files.attached, byVoice })) {
|
|
315
|
+
if (!dispatch({ text, attachments: files.attached, references: refs.references, byVoice })) {
|
|
336
316
|
speech.hold(byVoice);
|
|
337
317
|
return;
|
|
338
318
|
}
|
|
339
319
|
write("");
|
|
340
320
|
files.clear();
|
|
321
|
+
session.clearStaged();
|
|
341
322
|
if (text) recall.remember(text);
|
|
342
323
|
};
|
|
343
324
|
const onKeyDown = (event: ReactKeyboardEvent<HTMLTextAreaElement>) => {
|
|
344
325
|
const area = event.currentTarget;
|
|
345
|
-
|
|
346
326
|
const onEdgeLine = (up: boolean) =>
|
|
347
327
|
area.selectionStart === area.selectionEnd &&
|
|
348
328
|
!(up ? area.value.slice(0, area.selectionStart) : area.value.slice(area.selectionEnd)).includes("\n");
|
|
349
|
-
const row =
|
|
329
|
+
const row = list.at();
|
|
350
330
|
if (row) {
|
|
351
|
-
|
|
352
331
|
if (event.key === "ArrowDown" || event.key === "ArrowUp") {
|
|
353
332
|
event.preventDefault();
|
|
354
|
-
|
|
333
|
+
list.move(event.key === "ArrowDown" ? 1 : -1);
|
|
355
334
|
return;
|
|
356
335
|
}
|
|
357
336
|
if (event.key === "Tab") {
|
|
358
337
|
event.preventDefault();
|
|
359
|
-
write(`/${row.name} `);
|
|
338
|
+
if (list === menu) write(`/${row.name} `);
|
|
339
|
+
else row.pick();
|
|
360
340
|
return;
|
|
361
341
|
}
|
|
362
342
|
if (event.key === "Escape") {
|
|
363
343
|
event.preventDefault();
|
|
364
|
-
|
|
344
|
+
list.hide();
|
|
365
345
|
return;
|
|
366
346
|
}
|
|
367
347
|
if (event.key === "Enter" && !event.shiftKey && !event.nativeEvent.isComposing) {
|
|
@@ -390,15 +370,36 @@ export const DefaultChat = ({
|
|
|
390
370
|
const bubbles = useMemo(() => {
|
|
391
371
|
const resultOf = new Map(session.messages.flatMap((message) => message.toolResults ?? []).map((r) => [r.id, r]));
|
|
392
372
|
const claimed = new Set(session.messages.flatMap((message) => message.toolCalls?.map((call) => call.id) ?? []));
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
373
|
+
const blocks: ({ at: number; user: ChatMessage } | { at: number; turn: ChatMessage[] })[] = [];
|
|
374
|
+
session.messages.forEach((message, idx) => {
|
|
375
|
+
if (message.role === "user") {
|
|
376
|
+
blocks.push({ at: idx, user: message });
|
|
377
|
+
return;
|
|
378
|
+
}
|
|
379
|
+
const orphans = message.role === "tool" ? (message.toolResults ?? []).filter((r) => !claimed.has(r.id)) : null;
|
|
380
|
+
if (orphans && !orphans.length) return;
|
|
381
|
+
const shown = orphans ? { ...message, toolResults: orphans } : message;
|
|
382
|
+
const open = blocks.at(-1);
|
|
383
|
+
if (open && "turn" in open) open.turn.push(shown);
|
|
384
|
+
else blocks.push({ at: idx, turn: [shown] });
|
|
398
385
|
});
|
|
386
|
+
const last = blocks.at(-1);
|
|
387
|
+
return blocks.map((block) =>
|
|
388
|
+
"user" in block ? (
|
|
389
|
+
<Bubble key={block.at} message={block.user} progress={session.progress} results={resultOf} />
|
|
390
|
+
) : (
|
|
391
|
+
<Steps
|
|
392
|
+
isRunning={session.isRunning && block === last}
|
|
393
|
+
key={block.at}
|
|
394
|
+
messages={block.turn}
|
|
395
|
+
progress={session.progress}
|
|
396
|
+
results={resultOf}
|
|
397
|
+
/>
|
|
398
|
+
),
|
|
399
|
+
);
|
|
399
400
|
}, [version]);
|
|
400
|
-
|
|
401
|
-
const
|
|
401
|
+
|
|
402
|
+
const context = useMemo(() => session.context, [version]);
|
|
402
403
|
const unread = open ? 0 : Math.max(0, session.messages.length - read.current);
|
|
403
404
|
const layer = (surface: ReactNode) => (inline ? surface : overlay ? createPortal(surface, overlay) : null);
|
|
404
405
|
if (!open)
|
|
@@ -435,9 +436,16 @@ export const DefaultChat = ({
|
|
|
435
436
|
<header className="flex items-center gap-2 border-foreground/5 border-b px-4 py-3">
|
|
436
437
|
<span className="font-semibold text-sm">{title ?? l("base.agent")}</span>
|
|
437
438
|
{session.isRunning ? <span className="size-2 animate-pulse rounded-full bg-primary" /> : null}
|
|
438
|
-
{
|
|
439
|
-
<span
|
|
440
|
-
|
|
439
|
+
{context.used ? (
|
|
440
|
+
<span
|
|
441
|
+
className="shrink-0 whitespace-nowrap text-[10px] text-foreground/40"
|
|
442
|
+
title={
|
|
443
|
+
context.compactAt ? l("base.agentCompactsAt", { limit: tokenCount(context.compactAt) }) : undefined
|
|
444
|
+
}
|
|
445
|
+
>
|
|
446
|
+
{context.compactAt
|
|
447
|
+
? l("base.agentTokensOf", { count: tokenCount(context.used), limit: tokenCount(context.compactAt) })
|
|
448
|
+
: l("base.agentTokens", { count: tokenCount(context.used) })}
|
|
441
449
|
</span>
|
|
442
450
|
) : null}
|
|
443
451
|
<span className="ml-auto flex items-center gap-2">
|
|
@@ -491,25 +499,29 @@ export const DefaultChat = ({
|
|
|
491
499
|
) : null}
|
|
492
500
|
</div>
|
|
493
501
|
{session.pendingApproval ? <Approval approval={session.pendingApproval} /> : null}
|
|
502
|
+
{session.pendingCard ? <ToolCard card={session.pendingCard} key={session.pendingCard.callId} /> : null}
|
|
494
503
|
{session.pendingQuestion ? (
|
|
495
504
|
<Question key={session.pendingQuestion.callId} question={session.pendingQuestion} />
|
|
496
505
|
) : null}
|
|
497
506
|
{queue.queued ? <Queued message={queue.queued} onCancel={() => queue.take()} onEdit={unpark} /> : null}
|
|
498
|
-
<Menu onPick={(row) => row.pick()} rows={
|
|
507
|
+
<Menu onPick={(row) => row.pick()} prefix={list === menu ? "/" : "@"} rows={list.rows} selected={list.selected} />
|
|
499
508
|
<Composer
|
|
500
509
|
attached={files.attached}
|
|
501
510
|
pending={files.pending}
|
|
502
511
|
draft={draft}
|
|
512
|
+
handleRef={handleRef}
|
|
503
513
|
inputRef={inputRef}
|
|
514
|
+
mentions={mentions ?? !!reference?.length}
|
|
504
515
|
{...(speech.canListen ? { mic: { listening: speech.listening, onToggle: speech.toggle } } : {})}
|
|
505
516
|
onDraft={write}
|
|
506
517
|
onFiles={(picked) => void files.add(picked)}
|
|
507
518
|
onKeyDown={onKeyDown}
|
|
508
519
|
onRemoveFile={files.remove}
|
|
520
|
+
onRemoveReference={refs.remove}
|
|
509
521
|
onSend={send}
|
|
522
|
+
references={refs.references}
|
|
510
523
|
onStop={() => {
|
|
511
524
|
speech.silence();
|
|
512
|
-
|
|
513
525
|
unpark();
|
|
514
526
|
session.abort();
|
|
515
527
|
}}
|
package/ui/Agent/ChatCommands.ts
CHANGED
|
@@ -7,19 +7,13 @@ export interface ChatCommandContext {
|
|
|
7
7
|
|
|
8
8
|
export interface ChatCommand {
|
|
9
9
|
name: string;
|
|
10
|
-
/** Accepted but not listed
|
|
10
|
+
/** Accepted but not listed in the menu. */
|
|
11
11
|
aliases?: string[];
|
|
12
12
|
description: string;
|
|
13
13
|
run: (context: ChatCommandContext) => void | Promise<void>;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
/**
|
|
17
|
-
* The chat's own slash commands — the whole `/` menu, since an app's prompts are `page().prompt()` declarations
|
|
18
|
-
* served over MCP and not listed by a browser chat.
|
|
19
|
-
*
|
|
20
|
-
* Output goes through `session.note`, never `send`: a command is answered by this browser, so its text belongs in
|
|
21
|
-
* the transcript the user reads and nowhere in the history the model reads.
|
|
22
|
-
*/
|
|
16
|
+
/** Output goes through `session.note`, never `send`: the user reads it, the model never does. */
|
|
23
17
|
export class ChatCommands {
|
|
24
18
|
static list(l: (key: string) => string): ChatCommand[] {
|
|
25
19
|
return [
|
|
@@ -35,7 +29,6 @@ export class ChatCommands {
|
|
|
35
29
|
name: "retry",
|
|
36
30
|
description: l("base.agentCmdRetry"),
|
|
37
31
|
run: async ({ session, l: t }) => {
|
|
38
|
-
|
|
39
32
|
if (session.isRunning) session.note(t("base.agentBusy"));
|
|
40
33
|
else if (!(await session.retry())) session.note(t("base.agentNothingToRetry"));
|
|
41
34
|
},
|
|
@@ -59,7 +52,7 @@ export class ChatCommands {
|
|
|
59
52
|
return ChatCommands.list(l).find((command) => command.name === name || command.aliases?.includes(name)) ?? null;
|
|
60
53
|
}
|
|
61
54
|
|
|
62
|
-
/** A
|
|
55
|
+
/** A failure is reported into the transcript instead of thrown. */
|
|
63
56
|
static async run(command: ChatCommand, context: ChatCommandContext) {
|
|
64
57
|
try {
|
|
65
58
|
await command.run(context);
|
|
@@ -68,16 +61,12 @@ export class ChatCommands {
|
|
|
68
61
|
}
|
|
69
62
|
}
|
|
70
63
|
|
|
71
|
-
/**
|
|
72
|
-
* The conversation as markdown. The relay is stateless and the transcript lives only in this browser, so an
|
|
73
|
-
* export is the only way a wrong answer can reach whoever could fix it — which is why the header carries where
|
|
74
|
-
* and when it happened. Local notes are left out: they are this chat talking to itself.
|
|
75
|
-
*/
|
|
64
|
+
/** The conversation as markdown, local notes left out. */
|
|
76
65
|
static transcriptOf(messages: readonly ChatMessage[], where = ""): string {
|
|
77
66
|
const lines = [`# Agent conversation`, [where, new Date().toISOString()].filter(Boolean).join(" · "), ""];
|
|
78
67
|
for (const message of messages) {
|
|
79
68
|
if (message.local) continue;
|
|
80
|
-
|
|
69
|
+
|
|
81
70
|
lines.push(`**${message.summary ? "summary" : message.role}**`);
|
|
82
71
|
if (message.text) lines.push(message.text);
|
|
83
72
|
for (const attachment of message.attachments ?? [])
|
|
@@ -109,10 +98,6 @@ export class ChatCommands {
|
|
|
109
98
|
session.note([l("base.agentHelpIntro"), ...rows, "", l("base.agentHelpNote")].join("\n"));
|
|
110
99
|
}
|
|
111
100
|
|
|
112
|
-
/**
|
|
113
|
-
* What this screen published, read off the session's own surface — a zone chat therefore lists its zone's view.
|
|
114
|
-
* `askUser` is the session's rather than the surface's, so it is added here the same way the turn adds it.
|
|
115
|
-
*/
|
|
116
101
|
static #tools({ session, l }: ChatCommandContext) {
|
|
117
102
|
const { tools, resources } = session.surface.snapshot();
|
|
118
103
|
const published = tools.some((tool) => tool.name === AgentSession.askUserTool.name)
|
|
@@ -131,7 +116,6 @@ export class ChatCommands {
|
|
|
131
116
|
);
|
|
132
117
|
}
|
|
133
118
|
|
|
134
|
-
/** A tool description is written for a model and runs long; the menu row wants its first sentence. */
|
|
135
119
|
static #sentence(text: string) {
|
|
136
120
|
const first = text.split(/(?<=[.!?])\s/)[0].trim();
|
|
137
121
|
return first.length > 120 ? `${first.slice(0, 117)}...` : first;
|