akanjs 3.0.0-beta.19 → 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 +5 -10
- package/base/baseEnv.ts +5 -8
- package/base/databaseModes.ts +3 -4
- package/base/primitiveRegistry.ts +16 -45
- 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 -29
- package/client/decorators.ts +1 -1
- package/client/device.ts +52 -44
- package/client/frameConfig.ts +13 -24
- package/client/index.ts +0 -1
- package/client/makePageProto.tsx +3 -4
- package/client/route/RouteDefinition.ts +4 -17
- package/client/route/resolveRouteModule.ts +1 -5
- package/client/router.ts +16 -45
- 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 +3 -14
- package/common/CodeTranscript.ts +7 -42
- 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 +13 -61
- package/common/codeAgentWire.ts +21 -170
- package/common/eventStream.ts +1 -6
- package/common/fileUpload.ts +1 -12
- package/common/formatNumber.ts +3 -12
- package/common/index.ts +14 -23
- 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/common/markdownBlocks.ts +0 -3
- package/common/markdownSpans.ts +1 -11
- package/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 -11
- package/common/sleep.ts +1 -8
- package/common/subRoute.ts +4 -7
- package/common/toError.ts +1 -0
- package/common/tunnelWire.ts +23 -115
- package/common/types.ts +5 -10
- 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 +13 -46
- 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 +4 -15
- package/constant/hydrationPlan.ts +1 -9
- package/constant/index.ts +0 -1
- package/constant/labelOf.ts +1 -6
- package/constant/mask.ts +7 -41
- 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 +33 -3
- 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 +34 -68
- package/document/database.ts +13 -53
- 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/noDocumentError.ts +2 -7
- package/document/queryEvaluator.ts +11 -42
- package/document/types.ts +0 -1
- package/fetch/client/fetchClient.ts +40 -99
- package/fetch/client/fetchHandle.ts +4 -12
- package/fetch/client/httpClient.ts +31 -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 +30 -59
- 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 +22 -70
- package/package.json +11 -5
- package/server/akanApp.ts +110 -288
- package/server/akanAppHeaders.ts +2 -3
- package/server/akanOption.ts +6 -36
- package/server/akanServer.ts +60 -215
- package/server/animatedImage.ts +2 -11
- package/server/artifact/builderRpc.ts +17 -62
- package/server/artifact/index.ts +0 -1
- package/server/artifact/ipcTypes.ts +26 -30
- package/server/artifact/routeClientCache.ts +13 -36
- 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 +3 -7
- package/server/consoleSession.ts +55 -12
- package/server/contentEncoding.ts +42 -27
- package/server/decorators.ts +2 -7
- package/server/devtools/constantSerializer.ts +2 -14
- package/server/devtools/depsSerializer.ts +13 -42
- 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 +108 -218
- package/server/di/predefinedAdaptor.ts +1 -5
- package/server/di/resolveHierarchy.ts +114 -5
- package/server/di/utils.ts +13 -29
- package/server/head.tsx +7 -14
- package/server/hmr/clientScript.ts +2 -8
- package/server/hmr/devHmrController.ts +20 -31
- package/server/hmr/wsHub.ts +9 -7
- package/server/imageOptimizer.ts +2 -25
- 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 +3 -20
- 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 +8 -87
- package/server/mcp/McpEventStream.ts +1 -11
- package/server/mcp/McpExecutionContext.ts +1 -42
- package/server/mcp/McpRateLimiter.ts +2 -17
- package/server/mcp/McpRouter.ts +37 -202
- package/server/mcp/PagePromptComposer.ts +1 -27
- 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 +1 -6
- package/server/ops/opsCommand.ts +0 -4
- package/server/ops/opsRoute.ts +3 -7
- package/server/ops/opsToken.ts +0 -4
- package/server/ops/snapshotJobs.ts +0 -4
- package/server/ops/snapshotRestore.ts +2 -11
- package/server/ops/snapshotTypes.ts +1 -3
- package/server/ops/sqliteFiles.ts +4 -27
- package/server/ops/sqliteSnapshot.ts +4 -8
- 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 +32 -101
- package/server/resolver/service.resolver.ts +9 -161
- package/server/resolver/signal.resolver.ts +30 -94
- package/server/routeElementComposer.tsx +20 -49
- package/server/routeState.ts +15 -34
- package/server/routeTreeBuilder.ts +23 -59
- package/server/routing/apiRouter.ts +12 -48
- package/server/routing/appWsData.ts +4 -28
- package/server/routing/soloAppRoutes.ts +0 -5
- package/server/rscClient.tsx +13 -49
- package/server/rscClientFetch.ts +2 -4
- 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 +136 -264
- package/server/rscWorkerCache.ts +74 -8
- package/server/rscWorkerHost.ts +36 -191
- 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 +2 -15
- package/server/tunnel/TunnelDataSocket.ts +14 -8
- package/server/tunnel/TunnelHttpStream.ts +0 -7
- package/server/tunnel/TunnelTcpStream.ts +44 -48
- package/server/tunnel/TunnelWebsocketStream.ts +10 -15
- package/server/tunnel/tunnelStream.ts +2 -14
- package/server/types.tsx +2 -9
- package/server/webRouter.ts +66 -200
- package/service/agent.service.ts +8 -79
- package/service/injectInfo.ts +1 -2
- package/service/ipcTypes.ts +1 -1
- package/service/liveSyncHub.ts +4 -34
- package/service/predefinedAdaptor/anthropicLlm.ts +12 -77
- package/service/predefinedAdaptor/cache.adaptor.ts +4 -8
- package/service/predefinedAdaptor/database.adaptor.ts +16 -41
- package/service/predefinedAdaptor/documentTransfer.ts +2 -4
- package/service/predefinedAdaptor/insightQuery.ts +12 -72
- package/service/predefinedAdaptor/llm.adaptor.ts +26 -86
- package/service/predefinedAdaptor/llmOverflow.ts +3 -13
- package/service/predefinedAdaptor/openaiDialect.ts +13 -63
- package/service/predefinedAdaptor/openaiLlm.ts +4 -20
- package/service/predefinedAdaptor/queue.adaptor.ts +1 -1
- package/service/predefinedAdaptor/schedule.adaptor.ts +3 -4
- package/service/predefinedAdaptor/searchIndex.ts +18 -42
- package/service/predefinedAdaptor/solidPubsub.adaptor.ts +1 -4
- package/service/predefinedAdaptor/solidQueue.adaptor.ts +0 -5
- package/service/predefinedAdaptor/solidSqlite.ts +3 -15
- package/service/predefinedAdaptor/sql/PendingStoreEnsures.ts +1 -0
- package/service/predefinedAdaptor/sql/PostgresInsightSession.ts +5 -8
- package/service/predefinedAdaptor/sql/QueryCompiler.ts +6 -14
- package/service/predefinedAdaptor/sql/SqlDocumentStore.ts +58 -102
- package/service/predefinedAdaptor/sql/SqliteInsightSession.ts +5 -9
- package/service/predefinedAdaptor/sql/UpdateCompiler.ts +1 -7
- package/service/predefinedAdaptor/sql/dialect/postgres.ts +6 -9
- package/service/predefinedAdaptor/sql/dialect/sqlite.ts +2 -3
- package/service/predefinedAdaptor/sql/driver/bunSqlite.ts +12 -10
- package/service/predefinedAdaptor/sql/driver/libsql.ts +4 -10
- package/service/predefinedAdaptor/sql/search/fts5.ts +11 -22
- package/service/predefinedAdaptor/sql/search/mirror.ts +1 -1
- package/service/predefinedAdaptor/sql/search/postgres.ts +9 -11
- package/service/predefinedAdaptor/sql/search/types.ts +3 -7
- package/service/predefinedAdaptor/sql/types.ts +5 -9
- package/service/predefinedAdaptor/sql/values.ts +26 -1
- package/service/predefinedAdaptor/sqlitePath.ts +12 -0
- package/service/predefinedAdaptor/sseData.ts +23 -0
- package/service/predefinedAdaptor/storage.adaptor.ts +2 -6
- package/service/predefinedAdaptor/websocket.adaptor.ts +4 -23
- 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 +1 -2
- package/signal/agentMeter.ts +2 -6
- package/signal/agentTurnStream.ts +2 -11
- package/signal/endpoint.ts +12 -2
- package/signal/endpointCache.ts +1 -17
- package/signal/endpointInfo.ts +13 -27
- package/signal/exception.ts +3 -34
- package/signal/guard.ts +4 -22
- package/signal/guards.ts +2 -10
- package/signal/internal.ts +1 -5
- package/signal/internalArg.ts +4 -14
- package/signal/internalInfo.ts +1 -1
- package/signal/mcp/McpDocument.ts +20 -89
- 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 +2 -10
- package/signal/openapi/openapi.ts +0 -4
- package/signal/schema/JsonSchemaBuilder.ts +10 -47
- package/signal/serializer/fetch.serializer.ts +36 -43
- package/signal/serverSignal.ts +6 -8
- package/signal/signalContext.ts +55 -154
- 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 +21 -80
- 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 +8 -39
- package/store/agent/AgentPrompts.ts +0 -15
- package/store/agent/AgentVisual.ts +6 -61
- package/store/agent/ScreenFlash.ts +8 -40
- package/store/agent/ScreenReader.ts +3 -52
- package/store/agent/ScreenSettle.ts +1 -13
- package/store/agent/ScreenTarget.ts +2 -29
- package/store/agent/StoreCatalogue.ts +12 -24
- package/store/agent/StoreSurfaceSource.ts +26 -36
- package/store/agent/index.ts +0 -3
- package/store/agentic/AgentValue.ts +3 -23
- 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 +10 -57
- package/store/agentic/StToolDraft.ts +0 -7
- package/store/agentic/attachAgentic.ts +2 -11
- package/store/agentic/formFields.ts +6 -43
- package/store/agentic/index.ts +0 -1
- package/store/agentic/useAgentReference.ts +2 -20
- package/store/agentic/useFieldTool.ts +176 -58
- package/store/agentic/useFormTools.ts +3 -20
- 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/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 +7 -21
- package/test/index.ts +1 -2
- package/test/sampleOf.ts +35 -28
- package/test/signalTestRuntime.ts +4 -8
- package/test/testServer.ts +10 -27
- package/types/base/base.d.ts +2 -3
- package/types/base/baseEnv.d.ts +5 -8
- package/types/base/databaseModes.d.ts +3 -4
- package/types/base/primitiveRegistry.d.ts +7 -11
- 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 -27
- 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/RouteDefinition.d.ts +3 -13
- package/types/client/route/resolveRouteModule.d.ts +1 -5
- package/types/client/router.d.ts +3 -15
- 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 +2 -8
- package/types/common/CodeTranscript.d.ts +3 -32
- 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 +11 -61
- package/types/common/codeAgentWire.d.ts +20 -167
- package/types/common/eventStream.d.ts +0 -5
- package/types/common/fileUpload.d.ts +6 -11
- package/types/common/index.d.ts +11 -21
- 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/common/markdownBlocks.d.ts +0 -3
- package/types/common/markdownSpans.d.ts +0 -10
- package/types/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 +22 -114
- package/types/common/types.d.ts +6 -10
- 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 +2 -2
- 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 +4 -15
- 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 +7 -41
- 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 +1 -0
- package/types/dictionary/dictInfo.d.ts +25 -92
- package/types/dictionary/dictShape.d.ts +26 -0
- package/types/dictionary/dictionary.d.ts +2 -2
- 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 +1 -6
- package/types/document/database.d.ts +6 -11
- 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/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 +2 -12
- package/types/fetch/client/fetchHandle.d.ts +3 -11
- package/types/fetch/client/httpClient.d.ts +3 -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 +22 -70
- package/types/server/akanApp.d.ts +5 -28
- package/types/server/akanAppHeaders.d.ts +0 -1
- package/types/server/akanOption.d.ts +5 -33
- package/types/server/akanServer.d.ts +16 -56
- package/types/server/animatedImage.d.ts +0 -6
- package/types/server/artifact/builderRpc.d.ts +5 -29
- package/types/server/artifact/index.d.ts +0 -1
- package/types/server/artifact/ipcTypes.d.ts +21 -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 +2 -5
- package/types/server/consoleSession.d.ts +2 -2
- package/types/server/contentEncoding.d.ts +6 -14
- package/types/server/decorators.d.ts +0 -5
- 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 +0 -4
- package/types/server/di/resolveHierarchy.d.ts +22 -5
- package/types/server/di/utils.d.ts +4 -17
- package/types/server/head.d.ts +0 -1
- 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 +0 -11
- package/types/server/mcp/McpExecutionContext.d.ts +0 -33
- package/types/server/mcp/McpRateLimiter.d.ts +2 -15
- package/types/server/mcp/McpRouter.d.ts +0 -46
- 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 +0 -5
- package/types/server/ops/opsCommand.d.ts +0 -4
- package/types/server/ops/opsRoute.d.ts +0 -4
- package/types/server/ops/opsToken.d.ts +0 -4
- package/types/server/ops/snapshotJobs.d.ts +0 -1
- package/types/server/ops/snapshotRestore.d.ts +1 -1
- package/types/server/ops/snapshotTypes.d.ts +1 -2
- package/types/server/ops/sqliteFiles.d.ts +0 -5
- package/types/server/ops/sqliteSnapshot.d.ts +2 -1
- 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 -20
- package/types/server/routeElementComposer.d.ts +1 -7
- 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 +0 -5
- package/types/server/rscClient.d.ts +0 -9
- package/types/server/rscClientFetch.d.ts +4 -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 +2 -60
- 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 +2 -6
- package/types/server/tunnel/TunnelDataSocket.d.ts +1 -4
- package/types/server/tunnel/TunnelTcpStream.d.ts +1 -4
- package/types/server/tunnel/tunnelStream.d.ts +1 -12
- package/types/server/types.d.ts +2 -9
- package/types/server/webRouter.d.ts +2 -19
- package/types/service/agent.service.d.ts +7 -77
- package/types/service/injectInfo.d.ts +0 -1
- package/types/service/liveSyncHub.d.ts +4 -22
- package/types/service/predefinedAdaptor/anthropicLlm.d.ts +6 -43
- package/types/service/predefinedAdaptor/cache.adaptor.d.ts +1 -5
- package/types/service/predefinedAdaptor/database.adaptor.d.ts +5 -18
- package/types/service/predefinedAdaptor/documentTransfer.d.ts +2 -4
- package/types/service/predefinedAdaptor/insightQuery.d.ts +5 -30
- package/types/service/predefinedAdaptor/llm.adaptor.d.ts +26 -86
- package/types/service/predefinedAdaptor/llmOverflow.d.ts +3 -13
- package/types/service/predefinedAdaptor/openaiDialect.d.ts +4 -34
- package/types/service/predefinedAdaptor/openaiLlm.d.ts +3 -19
- package/types/service/predefinedAdaptor/searchIndex.d.ts +7 -24
- package/types/service/predefinedAdaptor/solidSqlite.d.ts +1 -1
- package/types/service/predefinedAdaptor/sql/PostgresInsightSession.d.ts +3 -6
- package/types/service/predefinedAdaptor/sql/QueryCompiler.d.ts +2 -8
- package/types/service/predefinedAdaptor/sql/SqlDocumentStore.d.ts +4 -27
- package/types/service/predefinedAdaptor/sql/SqliteInsightSession.d.ts +3 -7
- package/types/service/predefinedAdaptor/sql/UpdateCompiler.d.ts +0 -4
- package/types/service/predefinedAdaptor/sql/dialect/postgres.d.ts +2 -4
- package/types/service/predefinedAdaptor/sql/driver/bunSqlite.d.ts +2 -2
- package/types/service/predefinedAdaptor/sql/driver/libsql.d.ts +0 -1
- package/types/service/predefinedAdaptor/sql/search/fts5.d.ts +1 -6
- package/types/service/predefinedAdaptor/sql/search/postgres.d.ts +4 -5
- package/types/service/predefinedAdaptor/sql/search/types.d.ts +3 -7
- package/types/service/predefinedAdaptor/sql/types.d.ts +4 -8
- package/types/service/predefinedAdaptor/sql/values.d.ts +5 -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 +1 -5
- package/types/service/predefinedAdaptor/websocket.adaptor.d.ts +3 -19
- 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/agentMeter.d.ts +1 -5
- package/types/signal/agentTurnStream.d.ts +1 -9
- package/types/signal/endpoint.d.ts +0 -1
- package/types/signal/endpointCache.d.ts +0 -14
- package/types/signal/endpointInfo.d.ts +1 -9
- package/types/signal/exception.d.ts +1 -34
- package/types/signal/guard.d.ts +4 -16
- package/types/signal/guards.d.ts +2 -10
- package/types/signal/internal.d.ts +1 -5
- package/types/signal/internalArg.d.ts +4 -14
- 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 -7
- package/types/signal/schema/JsonSchemaBuilder.d.ts +9 -46
- 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 +21 -80
- 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 +5 -29
- package/types/store/agent/AgentPrompts.d.ts +0 -5
- package/types/store/agent/AgentVisual.d.ts +5 -34
- package/types/store/agent/ScreenFlash.d.ts +7 -39
- 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 +1 -28
- package/types/store/agent/StoreCatalogue.d.ts +12 -16
- package/types/store/agent/StoreSurfaceSource.d.ts +11 -19
- package/types/store/agent/index.d.ts +0 -2
- 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 +8 -53
- package/types/store/agentic/StToolDraft.d.ts +0 -7
- package/types/store/agentic/attachAgentic.d.ts +2 -11
- package/types/store/agentic/formFields.d.ts +5 -41
- package/types/store/agentic/index.d.ts +0 -1
- package/types/store/agentic/useAgentReference.d.ts +2 -20
- 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/databaseStateNames.d.ts +0 -9
- package/types/store/draftStore.d.ts +4 -30
- package/types/store/formSetterNames.d.ts +0 -19
- 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 +7 -21
- package/types/test/index.d.ts +1 -2
- package/types/test/sampleOf.d.ts +16 -1
- package/types/ui/Agent/Attach.d.ts +1 -1
- package/types/ui/Agent/Bubble.d.ts +3 -14
- package/types/ui/Agent/Chat.d.ts +25 -91
- package/types/ui/Agent/ChatCommands.d.ts +4 -14
- package/types/ui/Agent/Composer.d.ts +6 -16
- 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 +0 -8
- package/types/ui/Agent/Menu.d.ts +2 -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 +0 -4
- package/types/ui/Agent/RichInput.d.ts +1 -9
- package/types/ui/Agent/Skip.d.ts +3 -15
- package/types/ui/Agent/Steps.d.ts +5 -21
- package/types/ui/Agent/ToolCard.d.ts +1 -8
- package/types/ui/Agent/Zone.d.ts +10 -36
- package/types/ui/Agent/agentSessionOf.d.ts +18 -17
- 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 +1 -5
- package/types/ui/Agent/mentionDraft.d.ts +0 -10
- 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 +1 -14
- package/types/ui/Agent/useChatReferences.d.ts +0 -12
- 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 +3 -11
- 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 +5 -22
- 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/Data/Dashboard.d.ts +1 -4
- 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 +0 -8
- package/types/ui/Field/useRelationOptions.d.ts +1 -12
- 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 +8 -14
- 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 +3 -20
- 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/Client.d.ts +0 -3
- package/types/ui/System/Common.d.ts +11 -20
- package/types/ui/System/Root.d.ts +1 -4
- 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} +20 -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 +2 -14
- package/types/ui/index.d.ts +1 -3
- package/types/ui/overlayLayer.d.ts +4 -24
- package/types/ui/overlayPosition.d.ts +0 -12
- package/types/ui/recipe/factory.d.ts +1 -21
- package/types/ui/recipe/index.d.ts +0 -14
- package/types/ui/sliceNamesOf.d.ts +78 -0
- package/types/ui/triggerSlot.d.ts +2 -12
- 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 +2 -2
- package/ui/Agent/Bubble.tsx +3 -31
- package/ui/Agent/Chat.tsx +31 -114
- package/ui/Agent/ChatCommands.ts +5 -21
- package/ui/Agent/Composer.tsx +32 -19
- 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 +0 -8
- package/ui/Agent/Menu.tsx +2 -4
- package/ui/Agent/Question.tsx +1 -6
- package/ui/Agent/Queued.tsx +1 -6
- package/ui/Agent/Refer.tsx +1 -5
- package/ui/Agent/RichInput.tsx +4 -12
- package/ui/Agent/Skip.tsx +3 -15
- package/ui/Agent/Steps.tsx +6 -22
- package/ui/Agent/ToolCard.tsx +1 -8
- package/ui/Agent/Zone.tsx +11 -38
- package/ui/Agent/agentSessionOf.ts +111 -16
- package/ui/Agent/attachment.ts +5 -42
- package/ui/Agent/fetchRunner.ts +1 -14
- package/ui/Agent/index.ts +1 -6
- package/ui/Agent/mentionDraft.ts +2 -12
- package/ui/Agent/tokenCount.ts +1 -5
- package/ui/Agent/useChatAttachments.ts +2 -9
- package/ui/Agent/useChatQueue.ts +3 -15
- package/ui/Agent/useChatReferences.ts +1 -14
- 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 +4 -19
- 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 +8 -44
- package/ui/ClientSide.tsx +0 -2
- package/ui/Clipboard.tsx +0 -1
- package/ui/Constant/Doc.tsx +182 -217
- package/ui/Constant/schemaGraph.ts +0 -9
- package/ui/Copy.tsx +2 -3
- package/ui/CsrImage.tsx +0 -4
- package/ui/Data/CardList.tsx +2 -17
- package/ui/Data/Dashboard.tsx +2 -5
- package/ui/Data/Item.tsx +1 -2
- 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/Collection.tsx +6 -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 +13 -53
- package/ui/Field/Text.tsx +25 -86
- package/ui/Field/index.tsx +0 -9
- package/ui/Field/lightRefCache.ts +1 -13
- package/ui/Field/useRelationOptions.ts +4 -13
- package/ui/Image.tsx +26 -55
- 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 +24 -15
- 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/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 +80 -12
- package/ui/ScreenNavigator.tsx +2 -9
- package/ui/Select.tsx +7 -25
- 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 +28 -100
- package/ui/System/Client.tsx +4 -13
- package/ui/System/Common.tsx +31 -20
- 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 +1 -2
- 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} +50 -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 +2 -14
- package/ui/index.ts +7 -4
- 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 +1 -1
- package/ui/sliceNamesOf.ts +26 -0
- package/ui/triggerSlot.tsx +2 -12
- package/vendor/use-agentic/index.ts +0 -1
- package/webkit/RenderLayer.tsx +45 -0
- package/webkit/bootCsr.tsx +4 -45
- 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 +6 -25
- package/webkit/useCodepush.tsx +8 -31
- package/webkit/useContact.tsx +1 -8
- package/webkit/useCsrValues.ts +201 -426
- package/webkit/useDebounce.ts +0 -3
- package/webkit/useEscapeKey.tsx +1 -12
- package/webkit/useFetch.ts +1 -6
- 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 -23
- package/common/pathGetLoose.ts +0 -31
- package/common/pathSet.ts +0 -27
- package/common/plainFieldsOf.ts +0 -13
- package/common/randomPicks.ts +0 -12
- package/common/toPathSegments.ts +0 -10
- package/common/websocketAuth.ts +0 -24
- package/common/websocketHeartbeat.ts +0 -27
- 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/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0001.log +0 -44
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0002.log +0 -42
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0003.log +0 -43
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0004.log +0 -44
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0005.log +0 -50
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0006.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0007.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0008.log +0 -47
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0009.log +0 -47
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0010.log +0 -6
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0011.log +0 -14
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0012.log +0 -6
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0013.log +0 -35
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0014.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0015.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0016.log +0 -47
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0017.log +0 -47
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0018.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0019.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0020.log +0 -47
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0021.log +0 -47
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0022.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0023.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0024.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0025.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0026.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0027.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0028.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0029.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0030.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0031.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0032.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0033.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0034.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0035.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0036.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0037.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0038.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0039.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0040.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0041.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0042.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0043.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0044.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0045.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0046.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0047.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0048.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0049.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0050.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0051.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0052.log +0 -46
- package/local/apps/crossTest/runtime/logs/crossTest-testing-local-2026-09-25-all-0053.log +0 -46
- 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/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/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/toPathSegments.d.ts +0 -9
- package/types/common/websocketAuth.d.ts +0 -19
- package/types/common/websocketBinaryFrame.d.ts +0 -17
- package/types/common/websocketHeartbeat.d.ts +0 -25
- 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/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/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 -3
- 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 -52
- 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/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 -39
- package/ui/Agent/sessionHistory.ts +0 -88
- 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 -50
- package/ui/Link/Lang.tsx +0 -16
- package/ui/Link/SsrLink.tsx +0 -72
- package/ui/Link/types.ts +0 -57
- 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/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/client/device.ts
CHANGED
|
@@ -6,16 +6,42 @@ import type {
|
|
|
6
6
|
CapacitorKeyboardInfo,
|
|
7
7
|
CapacitorKeyboardModule,
|
|
8
8
|
} from "./capacitor";
|
|
9
|
-
import { debugFrame } from "./frameDebug";
|
|
10
9
|
|
|
11
10
|
type DeviceInfo = CapacitorDeviceInfo;
|
|
12
11
|
type Keyboard = CapacitorKeyboardModule["Keyboard"];
|
|
13
12
|
type Haptics = CapacitorHapticsModule["Haptics"];
|
|
14
13
|
type ImpactStyle = CapacitorHapticsModule["ImpactStyle"];
|
|
15
14
|
type ProcessEnvLike = { env?: Record<string, string | undefined> };
|
|
15
|
+
type DebugPayload = Record<string, unknown>;
|
|
16
16
|
|
|
17
17
|
const globalWithProcess = globalThis as typeof globalThis & { process?: ProcessEnvLike };
|
|
18
18
|
|
|
19
|
+
const debugSessionId = Math.random().toString(36).slice(2, 8);
|
|
20
|
+
let debugSeq = 0;
|
|
21
|
+
|
|
22
|
+
const isFrameDebugEnabled = () => {
|
|
23
|
+
if (typeof window === "undefined") return false;
|
|
24
|
+
const windowWithTarget = window as typeof window & { __AKAN_MOBILE_TARGET__?: unknown };
|
|
25
|
+
const search = new URLSearchParams(window.location.search);
|
|
26
|
+
return (
|
|
27
|
+
Boolean(windowWithTarget.__AKAN_MOBILE_TARGET__) ||
|
|
28
|
+
search.has("akanMobileTarget") ||
|
|
29
|
+
search.get("akanFrameDebug") === "1" ||
|
|
30
|
+
window.localStorage.getItem("akan:debug:frame") === "1"
|
|
31
|
+
);
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export function debugFrame(event: string, payload: DebugPayload = {}) {
|
|
35
|
+
if (!isFrameDebugEnabled()) return;
|
|
36
|
+
debugSeq += 1;
|
|
37
|
+
const details = {
|
|
38
|
+
href: window.location.href,
|
|
39
|
+
now: Math.round(performance.now()),
|
|
40
|
+
...payload,
|
|
41
|
+
};
|
|
42
|
+
console.info(`[akan:frame:${debugSessionId}:${debugSeq}] ${event}`, details, JSON.stringify(details));
|
|
43
|
+
}
|
|
44
|
+
|
|
19
45
|
interface DeviceInitOption {
|
|
20
46
|
lang: string;
|
|
21
47
|
info: DeviceInfo;
|
|
@@ -62,6 +88,11 @@ export const isMobileDevice = () => {
|
|
|
62
88
|
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
|
|
63
89
|
};
|
|
64
90
|
|
|
91
|
+
const langInPath = (pathname: string, supportLanguages: string[] | readonly string[]) => {
|
|
92
|
+
const predefinedLangPath = pathname.split("/")[1]?.split("?")[0];
|
|
93
|
+
return supportLanguages.find((language) => language === predefinedLangPath);
|
|
94
|
+
};
|
|
95
|
+
|
|
65
96
|
const createWebDevice = ({
|
|
66
97
|
lang,
|
|
67
98
|
supportLanguages,
|
|
@@ -70,10 +101,8 @@ const createWebDevice = ({
|
|
|
70
101
|
supportLanguages: string[] | readonly string[];
|
|
71
102
|
}) => {
|
|
72
103
|
const pathname = typeof window === "undefined" ? "" : window.location.pathname;
|
|
73
|
-
const predefinedLangPath = pathname.split("/")[1]?.split("?")[0];
|
|
74
|
-
const predefinedLang = supportLanguages.find((language) => language === predefinedLangPath);
|
|
75
104
|
return new Device({
|
|
76
|
-
lang: lang ??
|
|
105
|
+
lang: lang ?? langInPath(pathname, supportLanguages) ?? getBrowserLanguage(),
|
|
77
106
|
info: { platform: "web", isVirtual: false, osVersion: "" },
|
|
78
107
|
topSafeArea: 0,
|
|
79
108
|
bottomSafeArea: 0,
|
|
@@ -83,7 +112,6 @@ const createWebDevice = ({
|
|
|
83
112
|
});
|
|
84
113
|
};
|
|
85
114
|
|
|
86
|
-
/** Capacitor-aware device helper for platform info, safe areas, keyboard, haptics, and scroll state. */
|
|
87
115
|
export class Device {
|
|
88
116
|
static instance: Device | null = null;
|
|
89
117
|
static async load({
|
|
@@ -95,9 +123,8 @@ export class Device {
|
|
|
95
123
|
}) {
|
|
96
124
|
if (Device.instance) return Device.instance;
|
|
97
125
|
if (getRenderMode() !== "csr" || !isNativeTarget()) {
|
|
98
|
-
|
|
99
|
-
Device.instance
|
|
100
|
-
return device;
|
|
126
|
+
Device.instance = createWebDevice({ lang, supportLanguages });
|
|
127
|
+
return Device.instance;
|
|
101
128
|
}
|
|
102
129
|
const { loadCapacitorDevice, loadCapacitorHaptics, loadCapacitorKeyboard, loadCapacitorSafeArea } = await import(
|
|
103
130
|
"./capacitor"
|
|
@@ -116,10 +143,8 @@ export class Device {
|
|
|
116
143
|
},
|
|
117
144
|
] = await Promise.all([CapacitorDevice.getInfo(), CapacitorDevice.getLanguageCode(), SafeArea.getSafeAreaInsets()]);
|
|
118
145
|
if (info.platform === "ios") await Keyboard.setResizeMode?.({ mode: "none" });
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
const device = new Device({
|
|
122
|
-
lang: lang ?? predefinedLang ?? languageCode,
|
|
146
|
+
Device.instance = new Device({
|
|
147
|
+
lang: lang ?? langInPath(window.location.pathname, supportLanguages) ?? languageCode,
|
|
123
148
|
info,
|
|
124
149
|
topSafeArea,
|
|
125
150
|
bottomSafeArea,
|
|
@@ -127,8 +152,7 @@ export class Device {
|
|
|
127
152
|
haptics: Haptics,
|
|
128
153
|
impactStyle: ImpactStyle,
|
|
129
154
|
});
|
|
130
|
-
Device.instance
|
|
131
|
-
return device;
|
|
155
|
+
return Device.instance;
|
|
132
156
|
}
|
|
133
157
|
static getDevice() {
|
|
134
158
|
if (!Device.instance) throw new Error("Device is not loaded yet");
|
|
@@ -174,18 +198,14 @@ export class Device {
|
|
|
174
198
|
currentHeight = height;
|
|
175
199
|
onKeyboardChanged(height);
|
|
176
200
|
};
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
});
|
|
186
|
-
void this.#keyboard.addListener("keyboardDidHide", () => {
|
|
187
|
-
emitKeyboardHeight("keyboardDidHide", 0);
|
|
188
|
-
});
|
|
201
|
+
for (const event of ["keyboardWillShow", "keyboardDidShow"])
|
|
202
|
+
void this.#keyboard.addListener(event, (keyboard: CapacitorKeyboardInfo) => {
|
|
203
|
+
emitKeyboardHeight(event, keyboard.keyboardHeight);
|
|
204
|
+
});
|
|
205
|
+
for (const event of ["keyboardWillHide", "keyboardDidHide"])
|
|
206
|
+
void this.#keyboard.addListener(event, () => {
|
|
207
|
+
emitKeyboardHeight(event, 0);
|
|
208
|
+
});
|
|
189
209
|
}
|
|
190
210
|
unlistenKeyboardChanged() {
|
|
191
211
|
if (this.info.platform === "web") return;
|
|
@@ -197,24 +217,12 @@ export class Device {
|
|
|
197
217
|
return;
|
|
198
218
|
}
|
|
199
219
|
const handleImpact = {
|
|
200
|
-
light:
|
|
201
|
-
|
|
202
|
-
},
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
heavy: async () => {
|
|
207
|
-
await this.#haptics.impact({ style: this.#impactStyle.Heavy });
|
|
208
|
-
},
|
|
209
|
-
selectionStart: async () => {
|
|
210
|
-
await this.#haptics.selectionStart();
|
|
211
|
-
},
|
|
212
|
-
selectionChanged: async () => {
|
|
213
|
-
await this.#haptics.selectionChanged();
|
|
214
|
-
},
|
|
215
|
-
selectionEnd: async () => {
|
|
216
|
-
await this.#haptics.selectionEnd();
|
|
217
|
-
},
|
|
220
|
+
light: () => this.#haptics.impact({ style: this.#impactStyle.Light }),
|
|
221
|
+
medium: () => this.#haptics.impact({ style: this.#impactStyle.Medium }),
|
|
222
|
+
heavy: () => this.#haptics.impact({ style: this.#impactStyle.Heavy }),
|
|
223
|
+
selectionStart: () => this.#haptics.selectionStart(),
|
|
224
|
+
selectionChanged: () => this.#haptics.selectionChanged(),
|
|
225
|
+
selectionEnd: () => this.#haptics.selectionEnd(),
|
|
218
226
|
};
|
|
219
227
|
await handleImpact[type]();
|
|
220
228
|
}
|
package/client/frameConfig.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isRecord } from "akanjs/common";
|
|
1
2
|
import type { PageConfig, PageSafeAreaConfig, PageState, SsrRenderMode, TransitionType } from "./csrTypes";
|
|
2
3
|
|
|
3
4
|
export type DevicePlatform = "ios" | "android" | "web" | (string & {});
|
|
@@ -30,9 +31,6 @@ const transitionTypes = new Set<TransitionType>(["none", "fade", "bottomUp", "st
|
|
|
30
31
|
const ssrRenderModes = new Set<SsrRenderMode>(["stream", "block"]);
|
|
31
32
|
const DEFAULT_BOOLEAN_INSET = 48;
|
|
32
33
|
|
|
33
|
-
const isRecord = (value: unknown): value is Record<string, unknown> =>
|
|
34
|
-
typeof value === "object" && value !== null && !Array.isArray(value);
|
|
35
|
-
|
|
36
34
|
const hasOwn = <Key extends PropertyKey>(value: object, key: Key) => Object.hasOwn(value, key);
|
|
37
35
|
|
|
38
36
|
export function validatePageConfig(routeKey: string, config?: PageConfig) {
|
|
@@ -53,15 +51,11 @@ export function validatePageConfig(routeKey: string, config?: PageConfig) {
|
|
|
53
51
|
if (pageConfig.ssr !== undefined && !ssrRenderModes.has(pageConfig.ssr)) {
|
|
54
52
|
throw new Error(`[route-convention] unsupported pageConfig.ssr "${pageConfig.ssr}" in ${routeKey}`);
|
|
55
53
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
if (pageConfig.bottomInset !== undefined && !isValidInsetValue(pageConfig.bottomInset)) {
|
|
62
|
-
throw new Error(
|
|
63
|
-
`[route-convention] pageConfig.bottomInset in ${routeKey} must be a boolean or non-negative px number.`,
|
|
64
|
-
);
|
|
54
|
+
for (const key of ["topInset", "bottomInset"] as const) {
|
|
55
|
+
if (pageConfig[key] !== undefined && !isValidInsetValue(pageConfig[key]))
|
|
56
|
+
throw new Error(
|
|
57
|
+
`[route-convention] pageConfig.${key} in ${routeKey} must be a boolean or non-negative px number.`,
|
|
58
|
+
);
|
|
65
59
|
}
|
|
66
60
|
validateSafeAreaConfig(routeKey, pageConfig.safeArea);
|
|
67
61
|
}
|
|
@@ -78,11 +72,9 @@ function validateSafeAreaConfig(routeKey: string, safeArea?: PageSafeAreaConfig)
|
|
|
78
72
|
throw new Error(`[route-convention] unsupported pageConfig.safeArea option "${key}" in ${routeKey}`);
|
|
79
73
|
}
|
|
80
74
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
if (safeArea.bottom !== undefined && typeof safeArea.bottom !== "boolean") {
|
|
85
|
-
throw new Error(`[route-convention] pageConfig.safeArea.bottom in ${routeKey} must be a boolean.`);
|
|
75
|
+
for (const side of ["top", "bottom"] as const) {
|
|
76
|
+
if (safeArea[side] !== undefined && typeof safeArea[side] !== "boolean")
|
|
77
|
+
throw new Error(`[route-convention] pageConfig.safeArea.${side} in ${routeKey} must be a boolean.`);
|
|
86
78
|
}
|
|
87
79
|
if (
|
|
88
80
|
safeArea.android !== undefined &&
|
|
@@ -208,14 +200,11 @@ function resolveSafeArea({
|
|
|
208
200
|
cssSafeArea?: SafeAreaInsets;
|
|
209
201
|
}): SafeAreaInsets {
|
|
210
202
|
if (safeArea === false) return { top: 0, bottom: 0 };
|
|
211
|
-
const
|
|
212
|
-
safeArea === true ||
|
|
213
|
-
safeArea === "top" ||
|
|
214
|
-
(isRecord(safeArea) ? safeArea.top !== false : safeArea === undefined && platform !== "web");
|
|
215
|
-
const bottomEnabled =
|
|
203
|
+
const enabledAt = (side: "top" | "bottom") =>
|
|
216
204
|
safeArea === true ||
|
|
217
|
-
safeArea ===
|
|
218
|
-
(isRecord(safeArea) ? safeArea
|
|
205
|
+
safeArea === side ||
|
|
206
|
+
(isRecord(safeArea) ? safeArea[side] !== false : safeArea === undefined && platform !== "web");
|
|
207
|
+
const [topEnabled, bottomEnabled] = [enabledAt("top"), enabledAt("bottom")];
|
|
219
208
|
if (platform === "android") {
|
|
220
209
|
const androidMode = isRecord(safeArea)
|
|
221
210
|
? (safeArea.android as "auto" | "edge-to-edge" | "none" | undefined)
|
package/client/index.ts
CHANGED
package/client/makePageProto.tsx
CHANGED
|
@@ -29,12 +29,12 @@ const getPageInfo = (): { locale: string; path: string } => {
|
|
|
29
29
|
if (getEnv().side !== "server") {
|
|
30
30
|
const [, firstSegment = "", ...rest] = window.location.pathname.split("/");
|
|
31
31
|
const hasLocalePrefix = localeSet.has(firstSegment);
|
|
32
|
-
|
|
32
|
+
|
|
33
33
|
const locale = activeLocale ?? (hasLocalePrefix ? firstSegment : defaultLocale);
|
|
34
34
|
return { locale, path: activePath ?? (hasLocalePrefix ? `/${rest.join("/")}` : window.location.pathname) };
|
|
35
35
|
}
|
|
36
36
|
const h = untrackedHeaders();
|
|
37
|
-
|
|
37
|
+
|
|
38
38
|
const localeHeader = h.get("x-locale");
|
|
39
39
|
const pathHeader = h.get("x-path");
|
|
40
40
|
if (localeHeader && pathHeader) return { locale: localeHeader, path: pathHeader };
|
|
@@ -164,13 +164,12 @@ export const makePageProto = <
|
|
|
164
164
|
dangerouslySetInnerHTML={{
|
|
165
165
|
__html: translator.translate(lang, key, {
|
|
166
166
|
...param,
|
|
167
|
-
|
|
168
167
|
br: `<br />`,
|
|
169
168
|
}),
|
|
170
169
|
}}
|
|
171
170
|
/>
|
|
172
171
|
) as ReactNode;
|
|
173
|
-
|
|
172
|
+
|
|
174
173
|
l.trans = <Returns extends ReactNode>(
|
|
175
174
|
translation: Record<"en" | "ko" | (string & {}), Returns>,
|
|
176
175
|
): Returns extends string ? string : Returns => {
|
|
@@ -31,10 +31,7 @@ export interface RouteArgResolveOption {
|
|
|
31
31
|
strict?: boolean;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
/**
|
|
35
|
-
* What a route file declares in place of named exports. The chain is the only surface — the module exports the
|
|
36
|
-
* finished definition and the loader turns it back into the module shape every renderer already reads.
|
|
37
|
-
*/
|
|
34
|
+
/** What a route file declares in place of named exports; the loader turns it back into the module shape. */
|
|
38
35
|
export abstract class RouteDefinition<
|
|
39
36
|
Args extends RouteArgsShape = Record<never, never>,
|
|
40
37
|
Extra extends object = Record<never, never>,
|
|
@@ -77,11 +74,7 @@ export abstract class RouteDefinition<
|
|
|
77
74
|
this.args.push(arg);
|
|
78
75
|
}
|
|
79
76
|
|
|
80
|
-
/**
|
|
81
|
-
* Typed values out of the URL halves the router matched. A path value the declared type refuses is a URL that
|
|
82
|
-
* matched the pattern and nothing under it, so a page answers not-found; a search value that fails is dropped
|
|
83
|
-
* the way an absent one is. Under `strict` both are refused by name, which is what a prompt caller can act on.
|
|
84
|
-
*/
|
|
77
|
+
/** A path value the type refuses answers not-found; a failing search value is dropped. `strict` refuses both by name. */
|
|
85
78
|
resolveArgs(input: RouteArgInput, { strict = false }: RouteArgResolveOption = {}): Record<string, unknown> {
|
|
86
79
|
const resolved: Record<string, unknown> = {};
|
|
87
80
|
for (const arg of this.args) {
|
|
@@ -101,10 +94,7 @@ export abstract class RouteDefinition<
|
|
|
101
94
|
return resolved;
|
|
102
95
|
}
|
|
103
96
|
|
|
104
|
-
/**
|
|
105
|
-
* The `[x]` segments of the file's path against the `.param()` stages. A page must name every segment it sits
|
|
106
|
-
* under, so nothing reaches its body undeclared; a layout may name a subset, since most read none of them.
|
|
107
|
-
*/
|
|
97
|
+
/** A page must declare every `[x]` segment it sits under with `.param()`; a layout may declare a subset. */
|
|
108
98
|
assertPattern(pattern: string, key: string) {
|
|
109
99
|
const inPath = pattern
|
|
110
100
|
.split("/")
|
|
@@ -160,10 +150,7 @@ export abstract class RouteDefinition<
|
|
|
160
150
|
return (this.kind === "page" ? args : { ...args, children: props.children }) as RouteBaseArgs & Args & Extra;
|
|
161
151
|
}
|
|
162
152
|
|
|
163
|
-
/**
|
|
164
|
-
* A single value where a list was declared is a one-item list: the URL spells `?tags=a` for one tag. A prompt
|
|
165
|
-
* argument is one string whatever it holds, so under `strict` a list is read comma-separated.
|
|
166
|
-
*/
|
|
153
|
+
/** One value where a list was declared is a one-item list (`?tags=a`); under `strict` a list is comma-separated. */
|
|
167
154
|
static #lift(arg: RouteArgInfo, raw: string | string[], strict: boolean): unknown {
|
|
168
155
|
if (!arg.list) return Array.isArray(raw) ? raw[0] : raw;
|
|
169
156
|
if (Array.isArray(raw)) return raw;
|
|
@@ -20,11 +20,7 @@ export interface ResolvedRouteModule {
|
|
|
20
20
|
export const isRouteDefinition = (value: unknown): value is RouteDefinition =>
|
|
21
21
|
typeof value === "object" && value !== null && (value as Record<symbol, unknown>)[routeDefinitionMarker] === true;
|
|
22
22
|
|
|
23
|
-
/**
|
|
24
|
-
* Every loader — the RSC worker, the CSR boot, the generated root layout — reads route modules by their named
|
|
25
|
-
* exports. A chain module has one export, so it is unfolded into that shape here and nothing downstream learns
|
|
26
|
-
* which of the two it was reading; a legacy module passes through untouched.
|
|
27
|
-
*/
|
|
23
|
+
/** Unfolds a chain module into the named-export shape every loader reads; a legacy module passes through untouched. */
|
|
28
24
|
export const resolveRouteModule = (
|
|
29
25
|
mod: RouteModuleSource,
|
|
30
26
|
key: string,
|
package/client/router.ts
CHANGED
|
@@ -20,12 +20,6 @@ export interface RouterInstance {
|
|
|
20
20
|
back: (routeOptions?: RouteOptions) => void;
|
|
21
21
|
refresh: () => void;
|
|
22
22
|
}
|
|
23
|
-
interface InternalRouterInstance {
|
|
24
|
-
push: (href: string, routeOptions?: RouteOptions) => void | Promise<void>;
|
|
25
|
-
replace: (href: string, routeOptions?: RouteOptions) => void | Promise<void>;
|
|
26
|
-
back: (routeOptions?: RouteOptions) => void;
|
|
27
|
-
refresh: () => void;
|
|
28
|
-
}
|
|
29
23
|
interface RouterOptions {
|
|
30
24
|
prefix?: string;
|
|
31
25
|
lang?: string;
|
|
@@ -136,8 +130,6 @@ const getServerBasePath = (reqPathname: string, lang: string, headerBasePath: st
|
|
|
136
130
|
|
|
137
131
|
declare global {
|
|
138
132
|
var __AKAN_ROUTER__: Router | undefined;
|
|
139
|
-
var __AKAN_DEV_SYNC_NAVIGATION__: ((href: string, kind: "push" | "replace" | "back" | "pop") => void) | undefined;
|
|
140
|
-
var __AKAN_DEV_SYNC_NAVIGATION_APPLYING__: boolean | undefined;
|
|
141
133
|
}
|
|
142
134
|
|
|
143
135
|
export const getPathInfo = (requestUrl: string, lang: string, prefix: string) => {
|
|
@@ -166,14 +158,14 @@ class Router {
|
|
|
166
158
|
#indexPath = "/";
|
|
167
159
|
#navigation: Promise<void> = Promise.resolve();
|
|
168
160
|
#historyIdx = 0;
|
|
169
|
-
#instance:
|
|
161
|
+
#instance: RouterInstance = {
|
|
170
162
|
push: (href: string) => {
|
|
171
163
|
const { href: fullHref } = this.#getPathInfo(href);
|
|
172
|
-
Logger.
|
|
164
|
+
Logger.warn(`router.push(${fullHref}) does not navigate on the server; use router.redirect() there`);
|
|
173
165
|
},
|
|
174
166
|
replace: (href: string) => {
|
|
175
|
-
const {
|
|
176
|
-
Logger.
|
|
167
|
+
const { href: fullHref } = this.#getPathInfo(href);
|
|
168
|
+
Logger.warn(`router.replace(${fullHref}) does not navigate on the server; use router.redirect() there`);
|
|
177
169
|
},
|
|
178
170
|
back: () => {
|
|
179
171
|
throw new Error("back is only available in client");
|
|
@@ -183,7 +175,6 @@ class Router {
|
|
|
183
175
|
},
|
|
184
176
|
};
|
|
185
177
|
init(options: SsrClientRouterOption | SsrServerRouterOption | CSRClientRouterOption) {
|
|
186
|
-
|
|
187
178
|
this.#prefix = options.prefix ?? "";
|
|
188
179
|
this.#lang = options.lang ?? parseAkanI18nEnv().defaultLocale;
|
|
189
180
|
this.#routePaths = new Set(
|
|
@@ -198,29 +189,20 @@ class Router {
|
|
|
198
189
|
}
|
|
199
190
|
this.#ensureHistoryState();
|
|
200
191
|
if (options.type === "csr") this.#initCsrClientRouter(options);
|
|
201
|
-
else if (options.side === "
|
|
202
|
-
else this.#initSsrClientRouter(options);
|
|
192
|
+
else if (options.side === "client") this.#initSsrClientRouter(options);
|
|
203
193
|
this.isInitialized = true;
|
|
204
194
|
Logger.verbose("Router initialized");
|
|
205
195
|
}
|
|
206
|
-
#initSsrServerRouter(options: SsrServerRouterOption) {
|
|
207
|
-
}
|
|
208
196
|
#initSsrClientRouter(options: SsrClientRouterOption) {
|
|
197
|
+
const navigate = (method: "push" | "replace") => (href: string, routeOptions?: RouteOptions) => {
|
|
198
|
+
const pathInfo = this.#getPathInfo(href);
|
|
199
|
+
const navigationPathInfo = this.#getNavigationPathInfo(href);
|
|
200
|
+
this.#postPathChange(pathInfo);
|
|
201
|
+
return options.router[method](navigationPathInfo.href, routeOptions);
|
|
202
|
+
};
|
|
209
203
|
this.#instance = {
|
|
210
|
-
push: (
|
|
211
|
-
|
|
212
|
-
const pathInfo = this.#getPathInfo(href);
|
|
213
|
-
const navigationPathInfo = this.#getNavigationPathInfo(href);
|
|
214
|
-
this.#postPathChange(pathInfo);
|
|
215
|
-
return router.push(navigationPathInfo.href, routeOptions);
|
|
216
|
-
},
|
|
217
|
-
replace: (href: string, routeOptions) => {
|
|
218
|
-
const router = options.router;
|
|
219
|
-
const pathInfo = this.#getPathInfo(href);
|
|
220
|
-
const navigationPathInfo = this.#getNavigationPathInfo(href);
|
|
221
|
-
this.#postPathChange(pathInfo);
|
|
222
|
-
return router.replace(navigationPathInfo.href, routeOptions);
|
|
223
|
-
},
|
|
204
|
+
push: navigate("push"),
|
|
205
|
+
replace: navigate("replace"),
|
|
224
206
|
back: () => {
|
|
225
207
|
const router = options.router;
|
|
226
208
|
const pathInfo = this.#getPathInfo(document.referrer);
|
|
@@ -381,14 +363,8 @@ class Router {
|
|
|
381
363
|
this.#postDevSyncNavigation("replace", href);
|
|
382
364
|
return undefined as never;
|
|
383
365
|
}
|
|
384
|
-
/**
|
|
385
|
-
*
|
|
386
|
-
* when the route refused to move** — a target that resolves to nothing leaves the page where it was instead of
|
|
387
|
-
* replacing it, and `push` returns long before that is known, so this is the only place it can be reported.
|
|
388
|
-
*
|
|
389
|
-
* A method rather than a getter: `router` is a Proxy that binds functions to the real instance, and a getter
|
|
390
|
-
* reached through it would run with the Proxy as `this` and fail on the private field.
|
|
391
|
-
*/
|
|
366
|
+
/** The last `push`/`replace`; rejects when the route refused to move. A method, not a getter: through the `router`
|
|
367
|
+
* Proxy a getter would run with the Proxy as `this` and fail on the private field. */
|
|
392
368
|
navigation(): Promise<void> {
|
|
393
369
|
return this.#navigation;
|
|
394
370
|
}
|
|
@@ -411,7 +387,6 @@ class Router {
|
|
|
411
387
|
}
|
|
412
388
|
back(routeOptions?: RouteOptions) {
|
|
413
389
|
if (getEnv().side === "server") throw new Error("back is only available in client side");
|
|
414
|
-
|
|
415
390
|
this.#checkInitialized();
|
|
416
391
|
this.#instance.back(routeOptions);
|
|
417
392
|
return undefined as never;
|
|
@@ -462,11 +437,7 @@ class Router {
|
|
|
462
437
|
this.#instance.replace(`${path}${search ? `?${search}` : ""}${hash ? `#${hash}` : ""}`);
|
|
463
438
|
return undefined as never;
|
|
464
439
|
}
|
|
465
|
-
/**
|
|
466
|
-
* A pathname with the locale and base-path segments taken off — the app-internal route it names, which is what
|
|
467
|
-
* a tool argument and a `<a href>` have in common. Unguarded, unlike `getPath`, whose default argument is the
|
|
468
|
-
* one thing in it that needs a browser.
|
|
469
|
-
*/
|
|
440
|
+
/** A pathname without its locale and base-path segments; unlike `getPath`, it needs no browser. */
|
|
470
441
|
routeOf(pathname: string) {
|
|
471
442
|
return getPathInfo(pathname, this.#lang, this.#prefix).path;
|
|
472
443
|
}
|
package/client/rscNavigation.ts
CHANGED
|
@@ -4,17 +4,16 @@ declare global {
|
|
|
4
4
|
var __AKAN_RSC_NAVIGATE__:
|
|
5
5
|
| ((href: string, options?: { replace?: boolean; scrollToTop?: boolean }) => Promise<void>)
|
|
6
6
|
| undefined;
|
|
7
|
+
var __AKAN_DEV_SYNC_NAVIGATION__: ((href: string, kind: "push" | "replace" | "back" | "pop") => void) | undefined;
|
|
8
|
+
var __AKAN_DEV_SYNC_NAVIGATION_APPLYING__: boolean | undefined;
|
|
9
|
+
var __AKAN_GET_SYNC_ROUTE_HREF__: ((href: string) => string) | undefined;
|
|
7
10
|
}
|
|
8
11
|
|
|
9
12
|
export const clearRscNavigationCache = () => {
|
|
10
13
|
globalThis.__AKAN_RSC_CLEAR_CACHE__?.();
|
|
11
14
|
};
|
|
12
15
|
|
|
13
|
-
/**
|
|
14
|
-
* True when the page tree currently on screen was replayed from the RSC navigation cache instead of
|
|
15
|
-
* fetched from the server. Data hydrated out of such a payload can be arbitrarily old, so anything
|
|
16
|
-
* that must show current values should refetch.
|
|
17
|
-
*/
|
|
16
|
+
/** True when the page on screen was replayed from the RSC navigation cache, so its hydrated data may be stale. */
|
|
18
17
|
export const isRscNavigationFromCache = () => globalThis.__AKAN_RSC_IS_FROM_CACHE__?.() ?? false;
|
|
19
18
|
|
|
20
19
|
export const navigateRsc = (href: string, options?: { replace?: boolean; scrollToTop?: boolean }) => {
|
package/client/sharedContext.ts
CHANGED
|
@@ -1,25 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { type Context, createContext } from "react";
|
|
3
3
|
|
|
4
|
-
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* An akan build does not give an app one copy of `akanjs`: it inlines each reachable module into every client
|
|
8
|
-
* chunk that reaches it — four copies of the agent runtime in this repo's own docs app. A context is identified
|
|
9
|
-
* by object identity, so a Provider mounted from one copy is invisible to a consumer holding another, and the
|
|
10
|
-
* consumer silently reads the context's default instead.
|
|
11
|
-
*
|
|
12
|
-
* Silently is the whole problem. `UiOverrideContext` was a plain `createContext`, so a route's `_overrides.tsx`
|
|
13
|
-
* bound its slots in the chunk holding the generated provider and every overridable component in another chunk
|
|
14
|
-
* kept rendering the framework default — no throw, no warning, and only *some* slots affected, which reads like
|
|
15
|
-
* a bug in the app's own component. The same shape cost a zone every tool it declared.
|
|
16
|
-
*
|
|
17
|
-
* The rule is therefore mechanical rather than case-by-case: a context whose Provider and consumers can be
|
|
18
|
-
* bundled apart is every context worth having, so all of them go through here. A test fails if one does not.
|
|
19
|
-
*
|
|
20
|
-
* `use-agentic` carries its own twin under a `useAgentic.` prefix, deliberately — it ships as a standalone
|
|
21
|
-
* package and cannot import this one. The prefixes keep the two namespaces from ever meeting.
|
|
22
|
-
*/
|
|
4
|
+
/** Every framework context is made here: a build inlines modules into each client chunk, so a plain `createContext`
|
|
5
|
+
* copy silently misses a Provider from another chunk. `use-agentic` keeps its own `useAgentic.`-prefixed twin. */
|
|
23
6
|
export const sharedContext = <T>(name: string, initial: T): Context<T> => {
|
|
24
7
|
const key = Symbol.for(`akanjs.context.${name}`);
|
|
25
8
|
const holder = globalThis as typeof globalThis & { [slot: symbol]: Context<T> | undefined };
|
package/client/storage.ts
CHANGED
|
@@ -1,56 +1,47 @@
|
|
|
1
1
|
import { getEnv } from "akanjs/base";
|
|
2
|
-
import { loadCapacitorPreferences } from "./capacitor";
|
|
2
|
+
import { type CapacitorPreferencesModule, loadCapacitorPreferences } from "./capacitor";
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
type Preferences = CapacitorPreferencesModule["Preferences"];
|
|
5
5
|
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
const inStorage = async <T>(native: (preferences: Preferences) => Promise<T>, local: () => T) => {
|
|
7
|
+
const env = getEnv();
|
|
8
|
+
if (env.side === "server") return;
|
|
9
|
+
if (env.renderMode === "ssr") return local();
|
|
10
|
+
try {
|
|
11
|
+
const { Preferences } = await loadCapacitorPreferences();
|
|
12
|
+
return await native(Preferences);
|
|
13
|
+
} catch {
|
|
14
|
+
return local();
|
|
15
|
+
}
|
|
12
16
|
};
|
|
13
17
|
|
|
14
18
|
export const storage = {
|
|
15
|
-
getItem:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (env.renderMode === "ssr") {
|
|
30
|
-
setLocalStorageItem(key, value);
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
try {
|
|
34
|
-
const { Preferences } = await loadCapacitorPreferences();
|
|
35
|
-
await Preferences.set({ key, value });
|
|
36
|
-
return;
|
|
37
|
-
} catch {
|
|
38
|
-
setLocalStorageItem(key, value);
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
},
|
|
19
|
+
getItem: (key: string) =>
|
|
20
|
+
inStorage(
|
|
21
|
+
async (preferences) => (await preferences.get({ key })).value,
|
|
22
|
+
() => localStorage.getItem(key),
|
|
23
|
+
),
|
|
24
|
+
setItem: (key: string, value: string) =>
|
|
25
|
+
inStorage(
|
|
26
|
+
async (preferences) => {
|
|
27
|
+
await preferences.set({ key, value });
|
|
28
|
+
},
|
|
29
|
+
() => {
|
|
30
|
+
localStorage.setItem(key, value);
|
|
31
|
+
},
|
|
32
|
+
),
|
|
42
33
|
removeItem: async (key: string) => {
|
|
43
34
|
const env = getEnv();
|
|
44
35
|
if (env.side === "server") return;
|
|
45
36
|
if (env.renderMode === "ssr") {
|
|
46
|
-
|
|
37
|
+
localStorage.removeItem(key);
|
|
47
38
|
return;
|
|
48
39
|
}
|
|
49
40
|
try {
|
|
50
41
|
const { Preferences } = await loadCapacitorPreferences();
|
|
51
|
-
return Preferences.remove({ key });
|
|
42
|
+
return await Preferences.remove({ key });
|
|
52
43
|
} catch {
|
|
53
|
-
|
|
44
|
+
localStorage.removeItem(key);
|
|
54
45
|
return;
|
|
55
46
|
}
|
|
56
47
|
},
|
package/client/translator.ts
CHANGED
|
@@ -11,13 +11,12 @@ export interface AllDictionary {
|
|
|
11
11
|
|
|
12
12
|
interface TranslatorState {
|
|
13
13
|
langDictionaryMap: Map<string, Dictionary>;
|
|
14
|
-
|
|
14
|
+
|
|
15
15
|
seededDicts: WeakSet<object>;
|
|
16
|
-
|
|
17
16
|
replacedDicts: WeakSet<object>;
|
|
18
|
-
|
|
17
|
+
|
|
19
18
|
activeLocale?: string;
|
|
20
|
-
|
|
19
|
+
|
|
21
20
|
activePath?: string;
|
|
22
21
|
}
|
|
23
22
|
|
|
@@ -70,12 +69,12 @@ export class Translator {
|
|
|
70
69
|
const node = pathGetLoose(key, dictionary, ".") as { t?: unknown } | null;
|
|
71
70
|
return typeof node?.t === "string" ? node.t : undefined;
|
|
72
71
|
}
|
|
73
|
-
|
|
72
|
+
|
|
74
73
|
static #lookupDefault(lang: string, key: string) {
|
|
75
74
|
const { defaultLocale } = parseAkanI18nEnv();
|
|
76
75
|
return defaultLocale === lang ? undefined : Translator.#lookup(defaultLocale, key);
|
|
77
76
|
}
|
|
78
|
-
|
|
77
|
+
|
|
79
78
|
static seed(lang: string, dict: Dictionary | undefined) {
|
|
80
79
|
if (!dict) return;
|
|
81
80
|
const state = getTranslatorState();
|
package/client/types.ts
CHANGED
|
@@ -105,7 +105,6 @@ const slugFontPart = (value: string) =>
|
|
|
105
105
|
.replace(/[^a-z0-9]+/g, "-")
|
|
106
106
|
.replace(/^-+|-+$/g, "") || "font";
|
|
107
107
|
|
|
108
|
-
/** Common props for list/zone components that render many model records. */
|
|
109
108
|
export interface ModelsProps<M extends { id: string }> {
|
|
110
109
|
className?: string;
|
|
111
110
|
slice?: SliceMeta;
|
|
@@ -114,7 +113,6 @@ export interface ModelsProps<M extends { id: string }> {
|
|
|
114
113
|
onClickItem?: (model: M) => unknown;
|
|
115
114
|
}
|
|
116
115
|
|
|
117
|
-
/** Common props for unit/view components that render one named model record. */
|
|
118
116
|
export type ModelProps<T extends string, L extends { id: string }> = { [key in T]: L } & {
|
|
119
117
|
className?: string;
|
|
120
118
|
slice?: SliceMeta;
|
|
@@ -213,7 +211,6 @@ export interface ReactFont {
|
|
|
213
211
|
optimize?: boolean;
|
|
214
212
|
}
|
|
215
213
|
|
|
216
|
-
/** Font declaration consumed by Akan layout modules and font optimization. */
|
|
217
214
|
export type Font = ReactFont;
|
|
218
215
|
|
|
219
216
|
export interface RootLayoutProps {
|