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/Composer.tsx
CHANGED
|
@@ -1,61 +1,113 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn, usePage } from "akanjs/client";
|
|
3
|
+
import { lazy } from "akanjs/webkit";
|
|
3
4
|
import { type KeyboardEvent, type RefObject, useEffect } from "react";
|
|
4
|
-
import
|
|
5
|
+
import { AiOutlineAudio, AiOutlineAudioMuted } from "react-icons/ai";
|
|
6
|
+
import type { AgentSession, MessageAttachment, MessageReference } from "../../vendor/use-agentic";
|
|
5
7
|
import { Button } from "../Button";
|
|
6
8
|
import { inputRecipe } from "../recipe";
|
|
7
9
|
import { createOverridable, useUiRecipe } from "../UiOverride";
|
|
8
10
|
import { Attach, Chips } from "./Attach";
|
|
9
|
-
import {
|
|
11
|
+
import { ReferenceChips } from "./Refer";
|
|
12
|
+
|
|
13
|
+
/** Every offset is into the draft string, tokens included. */
|
|
14
|
+
export interface ComposerHandle {
|
|
15
|
+
focus: () => void;
|
|
16
|
+
caret: () => number | null;
|
|
17
|
+
setCaret: (at: number) => void;
|
|
18
|
+
}
|
|
10
19
|
|
|
11
20
|
export interface ComposerProps {
|
|
12
21
|
className?: string;
|
|
13
22
|
session: AgentSession;
|
|
14
23
|
draft: string;
|
|
15
24
|
attached: readonly MessageAttachment[];
|
|
16
|
-
/**
|
|
25
|
+
/** What the draft's `@[…](mention:…)` tokens point at; the text carries them, chips only show them. */
|
|
26
|
+
references?: readonly MessageReference[];
|
|
27
|
+
/** Files still being read. */
|
|
17
28
|
pending?: number;
|
|
18
|
-
/** Absent when the screen cannot listen
|
|
29
|
+
/** Absent when the screen cannot listen. */
|
|
19
30
|
mic?: { listening: boolean; onToggle: () => void };
|
|
20
31
|
onDraft: (text: string) => void;
|
|
21
32
|
onKeyDown: (event: KeyboardEvent<HTMLTextAreaElement>) => void;
|
|
22
33
|
onFiles: (files: File[]) => void;
|
|
23
34
|
onRemoveFile: (idx: number) => void;
|
|
35
|
+
/** Keyed on `refName/refId#path`, not on a row index. */
|
|
36
|
+
onRemoveReference?: (key: string) => void;
|
|
24
37
|
onSend: () => void;
|
|
25
38
|
onStop: () => void;
|
|
26
39
|
inputRef?: RefObject<HTMLTextAreaElement | null>;
|
|
40
|
+
/** Draws each `@` pointer as its name; set only when the chat has `reference` sources. */
|
|
41
|
+
mentions?: boolean;
|
|
42
|
+
/** Filled by whichever input is drawn. An override that draws its own textarea leaves it null and `inputRef` answers. */
|
|
43
|
+
handleRef?: RefObject<ComposerHandle | null>;
|
|
27
44
|
}
|
|
28
45
|
|
|
29
|
-
|
|
46
|
+
const RichInput = lazy(() => import("./RichInput"), {
|
|
47
|
+
ssr: false,
|
|
48
|
+
suspense: true,
|
|
49
|
+
loading: () => <div className="flex-1" />,
|
|
50
|
+
});
|
|
51
|
+
|
|
30
52
|
const maxComposerHeight = 128;
|
|
31
53
|
|
|
32
|
-
/** What the user writes with: the staged files above, and the controls that send or stop below them. */
|
|
33
54
|
export const DefaultComposer = ({
|
|
34
55
|
className,
|
|
35
56
|
session,
|
|
36
57
|
draft,
|
|
37
58
|
attached,
|
|
59
|
+
references = [],
|
|
38
60
|
pending = 0,
|
|
39
61
|
mic,
|
|
40
62
|
onDraft,
|
|
41
63
|
onKeyDown,
|
|
42
64
|
onFiles,
|
|
43
65
|
onRemoveFile,
|
|
66
|
+
onRemoveReference,
|
|
44
67
|
onSend,
|
|
45
68
|
onStop,
|
|
46
69
|
inputRef,
|
|
70
|
+
mentions = false,
|
|
71
|
+
handleRef,
|
|
47
72
|
}: ComposerProps) => {
|
|
48
73
|
const { l } = usePage();
|
|
49
74
|
const surface = useUiRecipe("input") ?? inputRecipe;
|
|
75
|
+
const field = surface({ kind: "area", size: "sm" }, "max-h-32 flex-1 resize-none py-1.5");
|
|
76
|
+
const placeholder = session.pendingQuestion
|
|
77
|
+
? l("base.agentAnswer")
|
|
78
|
+
: session.isRunning
|
|
79
|
+
? l("base.agentQueuePlaceholder")
|
|
80
|
+
: l("base.agentPlaceholder");
|
|
81
|
+
useEffect(() => {
|
|
82
|
+
if (!handleRef || mentions) return;
|
|
83
|
+
handleRef.current = {
|
|
84
|
+
focus: () => inputRef?.current?.focus(),
|
|
85
|
+
caret: () => inputRef?.current?.selectionStart ?? null,
|
|
86
|
+
setCaret: (at) => {
|
|
87
|
+
inputRef?.current?.focus();
|
|
88
|
+
inputRef?.current?.setSelectionRange(at, at);
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
return () => {
|
|
92
|
+
handleRef.current = null;
|
|
93
|
+
};
|
|
94
|
+
}, [handleRef, inputRef, mentions]);
|
|
50
95
|
useEffect(() => {
|
|
51
96
|
const area = inputRef?.current;
|
|
52
97
|
if (!area) return;
|
|
53
|
-
|
|
98
|
+
|
|
54
99
|
area.style.height = "auto";
|
|
55
100
|
area.style.height = `${Math.min(area.scrollHeight, maxComposerHeight)}px`;
|
|
56
101
|
}, [draft, inputRef]);
|
|
57
102
|
return (
|
|
58
103
|
<div className={cn("flex flex-col gap-2 border-foreground/5 border-t p-3", className)}>
|
|
104
|
+
{references.length ? (
|
|
105
|
+
<ReferenceChips
|
|
106
|
+
onRemove={onRemoveReference}
|
|
107
|
+
references={references}
|
|
108
|
+
removeLabel={l("base.agentReferenceRemove")}
|
|
109
|
+
/>
|
|
110
|
+
) : null}
|
|
59
111
|
{attached.length || pending ? (
|
|
60
112
|
<Chips
|
|
61
113
|
attachments={attached}
|
|
@@ -70,27 +122,33 @@ export const DefaultComposer = ({
|
|
|
70
122
|
<Mic className="pb-2" label={l("base.agentListen")} listening={mic.listening} onToggle={mic.onToggle} />
|
|
71
123
|
) : null}
|
|
72
124
|
<Attach className="pb-2" label={l("base.agentAttach")} onPick={onFiles} />
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
125
|
+
{mentions ? (
|
|
126
|
+
<RichInput
|
|
127
|
+
className={field}
|
|
128
|
+
draft={draft}
|
|
129
|
+
handleRef={handleRef}
|
|
130
|
+
onDraft={onDraft}
|
|
131
|
+
onFiles={onFiles}
|
|
132
|
+
onKeyDown={onKeyDown}
|
|
133
|
+
placeholder={placeholder}
|
|
134
|
+
/>
|
|
135
|
+
) : (
|
|
136
|
+
<textarea
|
|
137
|
+
className={field}
|
|
138
|
+
onChange={(event) => onDraft(event.target.value)}
|
|
139
|
+
onKeyDown={onKeyDown}
|
|
140
|
+
onPaste={(event) => {
|
|
141
|
+
const pasted = [...event.clipboardData.files];
|
|
142
|
+
if (!pasted.length) return;
|
|
143
|
+
event.preventDefault();
|
|
144
|
+
onFiles(pasted);
|
|
145
|
+
}}
|
|
146
|
+
placeholder={placeholder}
|
|
147
|
+
ref={inputRef}
|
|
148
|
+
rows={1}
|
|
149
|
+
value={draft}
|
|
150
|
+
/>
|
|
151
|
+
)}
|
|
94
152
|
{/* A parked question is not a turn to stop: the loop is waiting on the card, and the card has its own out. */}
|
|
95
153
|
{session.isRunning && !session.pendingQuestion ? (
|
|
96
154
|
<>
|
|
@@ -114,3 +172,27 @@ export const DefaultComposer = ({
|
|
|
114
172
|
};
|
|
115
173
|
|
|
116
174
|
export const Composer = createOverridable("AgentComposer", DefaultComposer);
|
|
175
|
+
|
|
176
|
+
interface MicProps {
|
|
177
|
+
className?: string;
|
|
178
|
+
listening: boolean;
|
|
179
|
+
label: string;
|
|
180
|
+
onToggle: () => void;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
const Mic = ({ className, listening, label, onToggle }: MicProps) => (
|
|
184
|
+
<button
|
|
185
|
+
aria-label={label}
|
|
186
|
+
aria-pressed={listening}
|
|
187
|
+
className={cn(
|
|
188
|
+
"shrink-0 hover:text-foreground",
|
|
189
|
+
listening ? "animate-pulse text-primary" : "text-foreground/50",
|
|
190
|
+
className,
|
|
191
|
+
)}
|
|
192
|
+
onClick={onToggle}
|
|
193
|
+
title={label}
|
|
194
|
+
type="button"
|
|
195
|
+
>
|
|
196
|
+
{listening ? <AiOutlineAudioMuted /> : <AiOutlineAudio />}
|
|
197
|
+
</button>
|
|
198
|
+
);
|
package/ui/Agent/Dock.tsx
CHANGED
|
@@ -1,29 +1,25 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn } from "akanjs/client";
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
import
|
|
3
|
+
import {
|
|
4
|
+
type AgentBridge,
|
|
5
|
+
AgentContext,
|
|
6
|
+
ensureStoreSurface,
|
|
7
|
+
type SerializedStoreState,
|
|
8
|
+
StoreRegistry,
|
|
9
|
+
} from "akanjs/store";
|
|
10
|
+
import { type ReactNode, useRef, useState } from "react";
|
|
11
|
+
import { type AgentCall, AgenticSurface, type PublishedTool, type SurfaceView } from "../../vendor/use-agentic";
|
|
12
|
+
import { buttonRecipe } from "../recipe";
|
|
11
13
|
|
|
12
14
|
export interface DockProps {
|
|
13
15
|
className?: string;
|
|
14
|
-
/**
|
|
16
|
+
/** Defaults to the app's own. */
|
|
15
17
|
bridge?: AgentBridge;
|
|
16
|
-
/**
|
|
18
|
+
/** Defaults to the whole screen's; pass a zone's own to inspect it. */
|
|
17
19
|
surface?: AgenticSurface;
|
|
18
20
|
open?: boolean;
|
|
19
21
|
}
|
|
20
22
|
|
|
21
|
-
/**
|
|
22
|
-
* The in-page surface of the agent: what this screen declared an agent may do, what it may read, and what it has
|
|
23
|
-
* done. Tools come from the surface rather than from the store, because a tool exists only where a component
|
|
24
|
-
* declared one — the dock is the way to see that this screen published what its author thought it did, which is
|
|
25
|
-
* the one thing no amount of reading the source answers. Renders nothing on `AKAN_PUBLIC_ENV=main`.
|
|
26
|
-
*/
|
|
27
23
|
export const Dock = ({ className, bridge, surface, open = false }: DockProps) => {
|
|
28
24
|
const held = useRef<{ bridge: AgentBridge; surface: AgenticSurface } | null>(null);
|
|
29
25
|
held.current ??= { bridge: bridge ?? ensureStoreSurface().bridge, surface: surface ?? AgenticSurface.shared };
|
|
@@ -75,3 +71,167 @@ export const Dock = ({ className, bridge, surface, open = false }: DockProps) =>
|
|
|
75
71
|
</aside>
|
|
76
72
|
);
|
|
77
73
|
};
|
|
74
|
+
|
|
75
|
+
interface SectionProps {
|
|
76
|
+
className?: string;
|
|
77
|
+
title: string;
|
|
78
|
+
count: number;
|
|
79
|
+
children: ReactNode;
|
|
80
|
+
open?: boolean;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export function Section({ className, title, count, children, open }: SectionProps) {
|
|
84
|
+
return (
|
|
85
|
+
<details className={cn("group rounded-box bg-muted", className)} open={open}>
|
|
86
|
+
<summary className="flex cursor-pointer list-none items-center gap-2 px-3 py-2 [&::-webkit-details-marker]:hidden">
|
|
87
|
+
<span className="font-semibold text-sm">{title}</span>
|
|
88
|
+
<span className="text-foreground/50 text-xs">{count}</span>
|
|
89
|
+
<span className="ml-auto text-foreground/40 transition-transform group-open:rotate-180">▾</span>
|
|
90
|
+
</summary>
|
|
91
|
+
<div className="flex flex-col gap-1 px-3 pb-3">{children}</div>
|
|
92
|
+
</details>
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
interface TranscriptProps {
|
|
97
|
+
className?: string;
|
|
98
|
+
calls: readonly AgentCall[];
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export function Transcript({ className, calls }: TranscriptProps) {
|
|
102
|
+
return (
|
|
103
|
+
<div className={cn("flex flex-col gap-1", className)}>
|
|
104
|
+
{calls.map((call, idx) => (
|
|
105
|
+
<div className="flex flex-col rounded-field bg-background/60 px-2 py-1" key={idx}>
|
|
106
|
+
<div className="flex items-baseline gap-2">
|
|
107
|
+
<span className="truncate font-mono text-xs">{call.name}</span>
|
|
108
|
+
<span className="ml-auto shrink-0 text-[10px] text-foreground/40">
|
|
109
|
+
{call.at.toISOString().slice(11, 19)}
|
|
110
|
+
</span>
|
|
111
|
+
</div>
|
|
112
|
+
<span className="truncate font-mono text-[10px] text-foreground/50">{JSON.stringify(call.args)}</span>
|
|
113
|
+
{call.error ? <span className="text-[10px] text-destructive">{call.error}</span> : null}
|
|
114
|
+
</div>
|
|
115
|
+
))}
|
|
116
|
+
</div>
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
interface ToolProps {
|
|
121
|
+
className?: string;
|
|
122
|
+
surface: SurfaceView;
|
|
123
|
+
tool: PublishedTool;
|
|
124
|
+
onRun: () => void;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export function Tool({ className, surface, tool, onRun }: ToolProps) {
|
|
128
|
+
const [args, setArgs] = useState("{}");
|
|
129
|
+
const [error, setError] = useState("");
|
|
130
|
+
const properties = (tool.parameters as { properties?: unknown } | undefined)?.properties ?? {};
|
|
131
|
+
const run = async () => {
|
|
132
|
+
setError("");
|
|
133
|
+
try {
|
|
134
|
+
await surface.call(tool.name, JSON.parse(args) as Record<string, unknown>);
|
|
135
|
+
} catch (thrown) {
|
|
136
|
+
setError(thrown instanceof Error ? thrown.message : String(thrown));
|
|
137
|
+
}
|
|
138
|
+
onRun();
|
|
139
|
+
};
|
|
140
|
+
return (
|
|
141
|
+
<details className={cn("rounded-field bg-background/60 px-2 py-1", className)}>
|
|
142
|
+
<summary className="flex cursor-pointer list-none items-center gap-2 [&::-webkit-details-marker]:hidden">
|
|
143
|
+
<span className="truncate font-mono text-xs">{tool.name}</span>
|
|
144
|
+
{tool.needsConfirm ? <span className="shrink-0 text-[10px] text-foreground/40">confirm</span> : null}
|
|
145
|
+
</summary>
|
|
146
|
+
<div className="flex flex-col gap-2 py-2">
|
|
147
|
+
{tool.description ? <p className="text-foreground/70 text-xs">{tool.description}</p> : null}
|
|
148
|
+
<pre className="overflow-x-auto rounded-field bg-muted p-2 text-[10px] leading-tight">
|
|
149
|
+
{JSON.stringify(properties, null, 2)}
|
|
150
|
+
</pre>
|
|
151
|
+
<textarea
|
|
152
|
+
className="w-full rounded-field bg-muted p-2 font-mono text-xs"
|
|
153
|
+
rows={2}
|
|
154
|
+
value={args}
|
|
155
|
+
onChange={(event) => setArgs(event.target.value)}
|
|
156
|
+
/>
|
|
157
|
+
{/* `buttonRecipe`, not `Button`: this developer surface does not read the app runtime through `usePage()`. */}
|
|
158
|
+
<button className={buttonRecipe({ size: "xs" })} onClick={run} type="button">
|
|
159
|
+
Run
|
|
160
|
+
</button>
|
|
161
|
+
{error ? <p className="text-destructive text-xs">{error}</p> : null}
|
|
162
|
+
</div>
|
|
163
|
+
</details>
|
|
164
|
+
);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
interface StateKeyProps {
|
|
168
|
+
className?: string;
|
|
169
|
+
bridge: AgentBridge;
|
|
170
|
+
name: string;
|
|
171
|
+
entry: SerializedStoreState;
|
|
172
|
+
live?: boolean;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
export function StateKey({ className, bridge, name, entry, live }: StateKeyProps) {
|
|
176
|
+
const [shown, setShown] = useState("");
|
|
177
|
+
const read = () => {
|
|
178
|
+
try {
|
|
179
|
+
setShown(JSON.stringify(bridge.read(name), null, 2));
|
|
180
|
+
} catch (thrown) {
|
|
181
|
+
setShown(thrown instanceof Error ? thrown.message : String(thrown));
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
return (
|
|
185
|
+
<div className={cn("flex flex-col gap-1", className)}>
|
|
186
|
+
<button className="flex items-center gap-2 text-left" type="button" onClick={read}>
|
|
187
|
+
<span className="truncate font-mono text-xs">{name}</span>
|
|
188
|
+
<span className="ml-auto shrink-0 text-[10px] text-foreground/40">
|
|
189
|
+
{live ? "live · " : ""}
|
|
190
|
+
{entry.refName ? `${entry.refName}.${entry.modelType ?? ""}` : entry.type}
|
|
191
|
+
{entry.derived ? " · derived" : ""}
|
|
192
|
+
</span>
|
|
193
|
+
</button>
|
|
194
|
+
{shown ? (
|
|
195
|
+
<pre className="scrollbar-thin max-h-40 overflow-auto rounded-field bg-muted p-2 text-[10px] leading-tight">
|
|
196
|
+
{shown}
|
|
197
|
+
</pre>
|
|
198
|
+
) : null}
|
|
199
|
+
</div>
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
interface ContextProps {
|
|
204
|
+
className?: string;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
export function Context({ className }: ContextProps) {
|
|
208
|
+
const [shown, setShown] = useState("");
|
|
209
|
+
|
|
210
|
+
if (process.env.AKAN_PUBLIC_ENV === "main") return null;
|
|
211
|
+
const assemble = () => {
|
|
212
|
+
try {
|
|
213
|
+
const { guides, tools } = AgenticSurface.shared.snapshot();
|
|
214
|
+
const context = AgentContext.of().blocks(AgenticSurface.shared);
|
|
215
|
+
const assembled = {
|
|
216
|
+
tools: tools.map((tool) => tool.name),
|
|
217
|
+
...(guides.length ? { guides } : {}),
|
|
218
|
+
context,
|
|
219
|
+
};
|
|
220
|
+
setShown(JSON.stringify(assembled, null, 2));
|
|
221
|
+
} catch (thrown) {
|
|
222
|
+
setShown(thrown instanceof Error ? thrown.message : String(thrown));
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
return (
|
|
226
|
+
<div className={className}>
|
|
227
|
+
<button className={buttonRecipe({ size: "xs" })} onClick={assemble} type="button">
|
|
228
|
+
Assemble
|
|
229
|
+
</button>
|
|
230
|
+
{shown ? (
|
|
231
|
+
<pre className="scrollbar-thin mt-2 max-h-60 overflow-auto rounded-field bg-background/60 p-2 text-[10px] leading-tight">
|
|
232
|
+
{shown}
|
|
233
|
+
</pre>
|
|
234
|
+
) : null}
|
|
235
|
+
</div>
|
|
236
|
+
);
|
|
237
|
+
}
|
package/ui/Agent/Guide.tsx
CHANGED
|
@@ -5,11 +5,7 @@ export interface GuideProps {
|
|
|
5
5
|
instructions: string;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
/**
|
|
9
|
-
* Standing agent guidance scoped to a route subtree: render it from a `_layout.tsx` or a page and the text joins
|
|
10
|
-
* the turn's instructions while that subtree is mounted. Nesting layers naturally — each mounted Guide contributes
|
|
11
|
-
* its block, and navigating away withdraws it. Renders nothing.
|
|
12
|
-
*/
|
|
8
|
+
/** Joins the turn's instructions while mounted; renders nothing. */
|
|
13
9
|
export const Guide = ({ instructions }: GuideProps) => {
|
|
14
10
|
useAgentGuide(instructions);
|
|
15
11
|
return null;
|
package/ui/Agent/History.tsx
CHANGED
|
@@ -6,27 +6,10 @@ export interface HistoryProps {
|
|
|
6
6
|
load: SessionHistory["load"];
|
|
7
7
|
save: SessionHistory["save"];
|
|
8
8
|
clear: SessionHistory["clear"];
|
|
9
|
-
/** Where a host with its own server-side summary moves its watermark — see `onCompact` on the session options. */
|
|
10
9
|
onCompact?: AgentSessionOptions["onCompact"];
|
|
11
10
|
}
|
|
12
11
|
|
|
13
|
-
/**
|
|
14
|
-
* Puts the enclosing zone's transcript wherever the app keeps it, as a mounted component rather than a prop.
|
|
15
|
-
*
|
|
16
|
-
* `persist` does the same thing and has to be passed to whoever builds the session, which makes every ancestor up
|
|
17
|
-
* to that point a client component — a function cannot cross the server/client boundary as a prop. Mounted here
|
|
18
|
-
* instead, the only client module an app needs is this leaf, and `Agent.Zone` and the chat inside it can be
|
|
19
|
-
* assembled by a server component. Same shape as `Agent.Guide`, and it renders nothing.
|
|
20
|
-
*
|
|
21
|
-
* Restoring follows the session's one rule: it lands only while nothing has happened to the conversation yet, so
|
|
22
|
-
* mounting with the zone restores and mounting later saves from there on.
|
|
23
|
-
*
|
|
24
|
-
* The store is attached for exactly as long as this is mounted. A zone's own session dies with it, so that is the
|
|
25
|
-
* whole story there — but a session the app handed in (`Agent.Zone`'s `session` prop) outlives this, and its
|
|
26
|
-
* saving stops on unmount: nothing is claiming to persist it any more, and a component that is gone should not
|
|
27
|
-
* still be writing. A host that wants the store to outlive the view calls `session.setHistory` itself, which also
|
|
28
|
-
* takes the slot, so a later unmount here leaves it alone.
|
|
29
|
-
*/
|
|
12
|
+
/** Attaches the enclosing session's history while mounted; restoring lands only before the conversation started. */
|
|
30
13
|
export const History = ({ load, save, clear, onCompact }: HistoryProps) => {
|
|
31
14
|
const session = useContext(SessionContext);
|
|
32
15
|
if (!session) throw new Error("Agent.History needs an enclosing Agent.Zone or AgentProvider to hold the session.");
|
package/ui/Agent/Launcher.tsx
CHANGED
|
@@ -6,9 +6,9 @@ import { createOverridable } from "../UiOverride";
|
|
|
6
6
|
export interface LauncherProps {
|
|
7
7
|
className?: string;
|
|
8
8
|
label: string;
|
|
9
|
-
/**
|
|
9
|
+
/** Shown on hover; null until the client knows the platform. */
|
|
10
10
|
hotkey?: { label: string; keys: string } | null;
|
|
11
|
-
/** Messages that arrived while the panel was closed
|
|
11
|
+
/** Messages that arrived while the panel was closed. */
|
|
12
12
|
unread: number;
|
|
13
13
|
onOpen: () => void;
|
|
14
14
|
buttonRef?: Ref<HTMLButtonElement>;
|
package/ui/Agent/Markdown.tsx
CHANGED
|
@@ -1,10 +1,44 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn } from "akanjs/client";
|
|
3
|
+
import type { Align, MarkdownBlock, MarkdownItem, MarkdownSpan, TableBlock } from "akanjs/common";
|
|
4
|
+
import { MarkdownBlocks, MarkdownSpans } from "akanjs/common";
|
|
3
5
|
import type { ReactNode } from "react";
|
|
4
6
|
import { createOverridable } from "../UiOverride";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
|
|
8
|
+
const spans = (text: string): ReactNode[] => MarkdownSpans.of(text).map((span, at) => node(span, at));
|
|
9
|
+
|
|
10
|
+
const node = (span: MarkdownSpan, at: number): ReactNode => {
|
|
11
|
+
switch (span.kind) {
|
|
12
|
+
case "link":
|
|
13
|
+
return (
|
|
14
|
+
<a className="underline" href={span.href} key={at} rel="noreferrer" target="_blank">
|
|
15
|
+
{spans(span.text)}
|
|
16
|
+
</a>
|
|
17
|
+
);
|
|
18
|
+
case "code":
|
|
19
|
+
return (
|
|
20
|
+
<code className="rounded-field bg-muted px-1 font-mono text-[11px]" key={at}>
|
|
21
|
+
{span.text}
|
|
22
|
+
</code>
|
|
23
|
+
);
|
|
24
|
+
case "strong":
|
|
25
|
+
return (
|
|
26
|
+
<strong className="font-semibold" key={at}>
|
|
27
|
+
{spans(span.text)}
|
|
28
|
+
</strong>
|
|
29
|
+
);
|
|
30
|
+
case "em":
|
|
31
|
+
return <em key={at}>{spans(span.text)}</em>;
|
|
32
|
+
case "del":
|
|
33
|
+
return (
|
|
34
|
+
<del className="opacity-60" key={at}>
|
|
35
|
+
{span.text}
|
|
36
|
+
</del>
|
|
37
|
+
);
|
|
38
|
+
default:
|
|
39
|
+
return span.text;
|
|
40
|
+
}
|
|
41
|
+
};
|
|
8
42
|
|
|
9
43
|
const alignClass: { [key in Align]: string } = { left: "text-left", center: "text-center", right: "text-right" };
|
|
10
44
|
|
|
@@ -13,8 +47,6 @@ interface ListProps {
|
|
|
13
47
|
items: MarkdownItem[];
|
|
14
48
|
}
|
|
15
49
|
|
|
16
|
-
/** Folds the scanner's flat depth-scored items back into real nested lists, so a nested run carries its own
|
|
17
|
-
* marker and leaves the outer numbering alone — a hidden `li` still advances an `ol`'s counter. */
|
|
18
50
|
const List = ({ className, items }: ListProps) => {
|
|
19
51
|
const rows: ReactNode[] = [];
|
|
20
52
|
for (let at = 0; at < items.length; ) {
|
|
@@ -48,7 +80,6 @@ const Table = ({ block }: TableProps) => {
|
|
|
48
80
|
return align ? alignClass[align] : "";
|
|
49
81
|
});
|
|
50
82
|
return (
|
|
51
|
-
|
|
52
83
|
<div className="overflow-x-auto">
|
|
53
84
|
<table className="min-w-full border-collapse">
|
|
54
85
|
<thead>
|
|
@@ -78,7 +109,7 @@ const Table = ({ block }: TableProps) => {
|
|
|
78
109
|
|
|
79
110
|
export interface CodeProps {
|
|
80
111
|
className?: string;
|
|
81
|
-
/** The fence's info word
|
|
112
|
+
/** The fence's info word. */
|
|
82
113
|
lang?: string;
|
|
83
114
|
text: string;
|
|
84
115
|
}
|
|
@@ -92,7 +123,6 @@ export const DefaultCode = ({ className, lang, text }: CodeProps) => (
|
|
|
92
123
|
</pre>
|
|
93
124
|
);
|
|
94
125
|
|
|
95
|
-
/** The one place a fenced block is drawn, so an app binds its highlighter here instead of replacing the renderer. */
|
|
96
126
|
const Code = createOverridable("AgentCode", DefaultCode);
|
|
97
127
|
|
|
98
128
|
interface BlockProps {
|
|
@@ -103,7 +133,7 @@ const Block = ({ block }: BlockProps) => {
|
|
|
103
133
|
switch (block.kind) {
|
|
104
134
|
case "code":
|
|
105
135
|
return <Code lang={block.lang} text={block.text} />;
|
|
106
|
-
|
|
136
|
+
|
|
107
137
|
case "heading":
|
|
108
138
|
return <p className={cn("font-semibold", block.level <= 2 && "text-base")}>{spans(block.text)}</p>;
|
|
109
139
|
case "list":
|
|
@@ -126,11 +156,7 @@ export interface MarkdownProps {
|
|
|
126
156
|
children: string;
|
|
127
157
|
}
|
|
128
158
|
|
|
129
|
-
/**
|
|
130
|
-
* The chat's own markdown renderer: React elements, never `dangerouslySetInnerHTML`, and no parser dependency.
|
|
131
|
-
* `Bun.markdown` is the obvious candidate and cannot serve this — it is a runtime API the bundler passes through
|
|
132
|
-
* verbatim, so it is undefined in the browser, and assistant text arrives here as SSE deltas the client accrues.
|
|
133
|
-
*/
|
|
159
|
+
/** React elements, never `dangerouslySetInnerHTML`; not `Bun.markdown`, which is undefined in the browser. */
|
|
134
160
|
export const DefaultMarkdown = ({ className, children }: MarkdownProps) => (
|
|
135
161
|
<div className={cn("flex flex-col gap-2 break-words", className)}>
|
|
136
162
|
{MarkdownBlocks.of(children).map((block, idx) => (
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { $applyNodeReplacement, type LexicalNode, type NodeKey, type SerializedTextNode, TextNode } from "lexical";
|
|
3
|
+
import { type MessageReference, Reference } from "../../vendor/use-agentic";
|
|
4
|
+
|
|
5
|
+
export interface SerializedMentionNode extends SerializedTextNode {
|
|
6
|
+
reference: MessageReference;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export class MentionNode extends TextNode {
|
|
10
|
+
#reference: MessageReference;
|
|
11
|
+
|
|
12
|
+
static override getType() {
|
|
13
|
+
return "mention";
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
static override clone(node: MentionNode): MentionNode {
|
|
17
|
+
return new MentionNode(node.#reference, node.__key);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
static override importJSON(json: Parameters<typeof TextNode.importJSON>[0]): MentionNode {
|
|
21
|
+
return new MentionNode((json as Partial<SerializedMentionNode>).reference);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
constructor(reference: MessageReference = { refName: "", refId: "", label: "" }, key?: NodeKey) {
|
|
25
|
+
super(reference.label || Reference.keyOf(reference), key);
|
|
26
|
+
this.#reference = reference;
|
|
27
|
+
this.setMode("token");
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
get reference(): MessageReference {
|
|
31
|
+
return this.#reference;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
override getTextContent(): string {
|
|
35
|
+
return Reference.token(this.#reference);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
override createDOM(...args: Parameters<TextNode["createDOM"]>): HTMLElement {
|
|
39
|
+
const dom = super.createDOM(...args);
|
|
40
|
+
dom.className = "rounded-field bg-primary/10 px-1 text-primary";
|
|
41
|
+
dom.title = Reference.keyOf(this.#reference);
|
|
42
|
+
return dom;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
override exportJSON(): SerializedMentionNode {
|
|
46
|
+
return { ...super.exportJSON(), reference: this.#reference };
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export const $createMentionNode = (reference: MessageReference): MentionNode =>
|
|
51
|
+
$applyNodeReplacement(new MentionNode(reference));
|
|
52
|
+
|
|
53
|
+
export const $isMentionNode = (node: LexicalNode | null | undefined): node is MentionNode =>
|
|
54
|
+
node instanceof MentionNode;
|
package/ui/Agent/Menu.tsx
CHANGED
|
@@ -5,7 +5,7 @@ import { createOverridable } from "../UiOverride";
|
|
|
5
5
|
export interface MenuRow {
|
|
6
6
|
name: string;
|
|
7
7
|
description?: string;
|
|
8
|
-
/** The argument names a
|
|
8
|
+
/** The argument names a row takes. */
|
|
9
9
|
hint?: string;
|
|
10
10
|
pick: () => void;
|
|
11
11
|
}
|
|
@@ -13,13 +13,13 @@ export interface MenuRow {
|
|
|
13
13
|
export interface MenuProps {
|
|
14
14
|
className?: string;
|
|
15
15
|
rows: MenuRow[];
|
|
16
|
-
/** Index the arrows are on. Enter picks it and Tab completes its name, so it has to be visible. */
|
|
17
16
|
selected: number;
|
|
17
|
+
/** Drawn before each row name; `/` by default. */
|
|
18
|
+
prefix?: string;
|
|
18
19
|
onPick: (row: MenuRow) => void;
|
|
19
20
|
}
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
export const DefaultAgentMenu = ({ className, rows, selected, onPick }: MenuProps) => {
|
|
22
|
+
export const DefaultAgentMenu = ({ className, rows, selected, prefix = "/", onPick }: MenuProps) => {
|
|
23
23
|
if (!rows.length) return null;
|
|
24
24
|
return (
|
|
25
25
|
<div
|
|
@@ -41,7 +41,10 @@ export const DefaultAgentMenu = ({ className, rows, selected, onPick }: MenuProp
|
|
|
41
41
|
role="option"
|
|
42
42
|
type="button"
|
|
43
43
|
>
|
|
44
|
-
<span className="shrink-0 font-mono text-xs"
|
|
44
|
+
<span className="shrink-0 font-mono text-xs">
|
|
45
|
+
{prefix}
|
|
46
|
+
{row.name}
|
|
47
|
+
</span>
|
|
45
48
|
{row.hint ? <span className="shrink-0 font-mono text-[10px] text-foreground/40">{row.hint}</span> : null}
|
|
46
49
|
{row.description ? (
|
|
47
50
|
<span className="ml-auto truncate text-[10px] text-foreground/50">{row.description}</span>
|