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/common/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { applyMixins } from "./applyMixins";
|
|
1
|
+
export { applyMixins, getAllPropertyDescriptors } from "./applyMixins";
|
|
2
2
|
export {
|
|
3
3
|
authTokenKey,
|
|
4
4
|
cookieHeaderHasAuthToken,
|
|
@@ -7,7 +7,9 @@ export {
|
|
|
7
7
|
legacyAuthTokenKey,
|
|
8
8
|
readAuthToken,
|
|
9
9
|
} from "./authToken";
|
|
10
|
-
export {
|
|
10
|
+
export { CodeAgentClient, type CodeAgentTransport } from "./CodeAgentClient";
|
|
11
|
+
export { CodeTranscript, type CodeTranscriptPart } from "./CodeTranscript";
|
|
12
|
+
export { capitalize, lowerlize } from "./capitalize";
|
|
11
13
|
export { clamp } from "./clamp";
|
|
12
14
|
export {
|
|
13
15
|
clientAddressFromHeaders,
|
|
@@ -15,22 +17,70 @@ export {
|
|
|
15
17
|
forwardedHeaders,
|
|
16
18
|
normalizeIpAddress,
|
|
17
19
|
} from "./clientAddress";
|
|
18
|
-
export {
|
|
19
|
-
|
|
20
|
+
export {
|
|
21
|
+
type CodeAgentApprovalPolicy,
|
|
22
|
+
type CodeAgentBuiltinTool,
|
|
23
|
+
type CodeAgentInteractionMode,
|
|
24
|
+
type CodeAgentMcpAuthState,
|
|
25
|
+
type CodeAgentMcpServerRef,
|
|
26
|
+
type CodeAgentMcpStatus,
|
|
27
|
+
type CodeAgentModelInfo,
|
|
28
|
+
type CodeAgentPresetName,
|
|
29
|
+
type CodeAgentProfile,
|
|
30
|
+
type CodeAgentProviderInfo,
|
|
31
|
+
type CodeAgentSubagentBudget,
|
|
32
|
+
codeAgentDeniedPaths,
|
|
33
|
+
codeAgentPresets,
|
|
34
|
+
codeAgentReadOnlyBuiltins,
|
|
35
|
+
isCodeAgentPresetName,
|
|
36
|
+
} from "./codeAgentProfile";
|
|
37
|
+
export {
|
|
38
|
+
type CodeAgentAnswer,
|
|
39
|
+
type CodeAgentApprovalRequest,
|
|
40
|
+
type CodeAgentCommand,
|
|
41
|
+
type CodeAgentCommandType,
|
|
42
|
+
type CodeAgentEffort,
|
|
43
|
+
type CodeAgentEvent,
|
|
44
|
+
type CodeAgentEventBody,
|
|
45
|
+
type CodeAgentEventType,
|
|
46
|
+
type CodeAgentFrame,
|
|
47
|
+
type CodeAgentImage,
|
|
48
|
+
type CodeAgentQuestion,
|
|
49
|
+
type CodeAgentQuestionOption,
|
|
50
|
+
type CodeAgentReply,
|
|
51
|
+
type CodeAgentRequest,
|
|
52
|
+
type CodeAgentSessionInfo,
|
|
53
|
+
type CodeAgentStartOptions,
|
|
54
|
+
type CodeAgentState,
|
|
55
|
+
type CodeAgentStopReason,
|
|
56
|
+
type CodeAgentSubagent,
|
|
57
|
+
type CodeAgentToolOp,
|
|
58
|
+
type CodeAgentToolOutcome,
|
|
59
|
+
type CodeAgentToolSummary,
|
|
60
|
+
codeAgentClip,
|
|
61
|
+
codeAgentEventLabel,
|
|
62
|
+
codeAgentEventPersistence,
|
|
63
|
+
codeAgentLabelChars,
|
|
64
|
+
codeAgentOutputChars,
|
|
65
|
+
codeAgentRenderAnswer,
|
|
66
|
+
codeAgentSessionName,
|
|
67
|
+
codeAgentShouldPersist,
|
|
68
|
+
codeAgentWireVersion,
|
|
69
|
+
isCodeAgentReply,
|
|
70
|
+
} from "./codeAgentWire";
|
|
71
|
+
export { EventStream, type EventStreamOptions } from "./eventStream";
|
|
20
72
|
export {
|
|
21
73
|
type FileUploadCapability,
|
|
22
74
|
fileUploadContract,
|
|
23
75
|
resolveFileUploadCapability,
|
|
24
76
|
} from "./fileUpload";
|
|
25
77
|
export { formatNumber } from "./formatNumber";
|
|
26
|
-
export { formatPhone } from "./formatPhone";
|
|
27
|
-
export { getAllPropertyDescriptors } from "./getAllPropertyDescriptors";
|
|
28
78
|
export { type AkanHmrPhase, getAkanHmrPhase, isAkanHmrApplying } from "./hmrPhase";
|
|
29
79
|
export { interpolateTranslation } from "./interpolateTranslation";
|
|
30
80
|
export { isDayjs } from "./isDayjs";
|
|
31
81
|
export { isEmail } from "./isEmail";
|
|
32
|
-
export { isPhoneNumber } from "./isPhoneNumber";
|
|
33
82
|
export { isQueryEqual } from "./isQueryEqual";
|
|
83
|
+
export { isRecord } from "./isRecord";
|
|
34
84
|
export { isThenable } from "./isThenable";
|
|
35
85
|
export { isValidDate } from "./isValidDate";
|
|
36
86
|
export { decodeJwtPayload } from "./jwtDecode";
|
|
@@ -64,7 +114,9 @@ export {
|
|
|
64
114
|
readLogContext,
|
|
65
115
|
registerLogContextReader,
|
|
66
116
|
} from "./logContext";
|
|
67
|
-
export {
|
|
117
|
+
export { type MarkdownBlock, MarkdownBlocks, type MarkdownItem } from "./markdownBlocks";
|
|
118
|
+
export { type MarkdownSpan, MarkdownSpans } from "./markdownSpans";
|
|
119
|
+
export { type Align, MarkdownTable, type TableBlock } from "./markdownTable";
|
|
68
120
|
export {
|
|
69
121
|
isMcpDescribableArg,
|
|
70
122
|
type McpExposureEndpoint,
|
|
@@ -73,16 +125,13 @@ export {
|
|
|
73
125
|
mcpHintsOf,
|
|
74
126
|
mcpRefusalOf,
|
|
75
127
|
} from "./mcpExposure";
|
|
76
|
-
export {
|
|
77
|
-
export {
|
|
78
|
-
export {
|
|
79
|
-
export {
|
|
80
|
-
export { pathSet } from "./pathSet";
|
|
81
|
-
export { plainFieldsOf } from "./plainFieldsOf";
|
|
82
|
-
export { randomPick } from "./randomPick";
|
|
83
|
-
export { randomPicks } from "./randomPicks";
|
|
128
|
+
export { deepObjectify, objectify, plainFieldsOf } from "./objectify";
|
|
129
|
+
export { pathGet, pathGetLoose, pathSet, toPathSegments } from "./objectPath";
|
|
130
|
+
export { formatPhone, isPhoneNumber } from "./phone";
|
|
131
|
+
export { randomPick, randomPicks } from "./randomPick";
|
|
84
132
|
export { hostFromRequest, isJsonContentType, originFromRequest } from "./requestOrigin";
|
|
85
133
|
export { RestClient, type RestClientOptions, type RestRequestOptions } from "./restClient";
|
|
134
|
+
export { round } from "./round";
|
|
86
135
|
export {
|
|
87
136
|
assertUniqueRoutePatterns,
|
|
88
137
|
compareRouteSpecificity,
|
|
@@ -108,13 +157,49 @@ export {
|
|
|
108
157
|
validateSubRoutePageKey,
|
|
109
158
|
} from "./routeConvention";
|
|
110
159
|
export { sleep } from "./sleep";
|
|
111
|
-
export { splitVersion } from "./splitVersion";
|
|
112
160
|
export { getBasePathFromPathname, parseBasePaths, parseSubRouteHosts, resolveSubRouteHosts } from "./subRoute";
|
|
113
161
|
export { TrustedProxy } from "./TrustedProxy";
|
|
162
|
+
export { toError } from "./toError";
|
|
163
|
+
export {
|
|
164
|
+
type TunnelAgentIdentity,
|
|
165
|
+
type TunnelAttachedFrame,
|
|
166
|
+
type TunnelAttachFrame,
|
|
167
|
+
type TunnelByeFrame,
|
|
168
|
+
type TunnelCloseCode,
|
|
169
|
+
type TunnelControlFromAgent,
|
|
170
|
+
type TunnelControlFromGateway,
|
|
171
|
+
type TunnelDataFromAgent,
|
|
172
|
+
type TunnelDataFromGateway,
|
|
173
|
+
type TunnelDemandFrame,
|
|
174
|
+
type TunnelEndFrame,
|
|
175
|
+
type TunnelFrame,
|
|
176
|
+
type TunnelHeaderList,
|
|
177
|
+
type TunnelHeadFrame,
|
|
178
|
+
type TunnelHelloFrame,
|
|
179
|
+
type TunnelOpenFrame,
|
|
180
|
+
type TunnelPingFrame,
|
|
181
|
+
type TunnelPongFrame,
|
|
182
|
+
type TunnelReadyFrame,
|
|
183
|
+
type TunnelReleaseFrame,
|
|
184
|
+
type TunnelResetCode,
|
|
185
|
+
type TunnelResetFrame,
|
|
186
|
+
type TunnelStreamKind,
|
|
187
|
+
type TunnelWsPayloadKind,
|
|
188
|
+
tunnelCloseCode,
|
|
189
|
+
tunnelForwardedHeaders,
|
|
190
|
+
tunnelHopByHopHeaders,
|
|
191
|
+
tunnelWireContract,
|
|
192
|
+
tunnelWsPayload,
|
|
193
|
+
} from "./tunnelWire";
|
|
114
194
|
export type * from "./types";
|
|
195
|
+
export { mergeVersion, splitVersion } from "./version";
|
|
115
196
|
export {
|
|
116
197
|
type WebsocketAuthAckData,
|
|
117
198
|
type WebsocketAuthRequest,
|
|
199
|
+
type WebsocketBinaryFrame,
|
|
200
|
+
type WebsocketHeartbeatAckData,
|
|
201
|
+
type WebsocketHeartbeatRequest,
|
|
118
202
|
websocketAuthContract,
|
|
119
|
-
|
|
120
|
-
|
|
203
|
+
websocketBinaryFrameContract,
|
|
204
|
+
websocketHeartbeatContract,
|
|
205
|
+
} from "./websocketContract";
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Fills `{name}` placeholders in a translated string.
|
|
3
|
-
*
|
|
4
|
-
* A placeholder whose value is absent is left as written: the author's `{name}` reads as a bug in the UI, while
|
|
5
|
-
* the string "undefined" reads as content, and a partially supplied `data` must not corrupt the rest of the line.
|
|
6
|
-
*/
|
|
1
|
+
/** A `{name}` placeholder whose value is absent is left as written, never replaced by "undefined". */
|
|
7
2
|
export const interpolateTranslation = (message: string, data: Record<string, unknown> | undefined) => {
|
|
8
3
|
if (!data) return message;
|
|
9
4
|
return message.replace(/{([^}]+)}/g, (placeholder, name: string) =>
|
package/common/isEmail.ts
CHANGED
package/common/isThenable.ts
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* Whether a value is awaitable. Duck-typed rather than `instanceof Promise` so a thenable produced by a
|
|
3
|
-
* different realm or promise implementation still counts — a same-realm check silently misses those.
|
|
4
|
-
*
|
|
5
|
-
* `<Button>` uses this to decide whether a click handler is asynchronous: a handler that returns a
|
|
6
|
-
* thenable gets the pending/success states, a plain one renders as an ordinary button. That makes the
|
|
7
|
-
* distinction impossible to forget, unlike an explicit flag.
|
|
8
|
-
*/
|
|
1
|
+
|
|
9
2
|
export const isThenable = (value: unknown): value is PromiseLike<unknown> =>
|
|
10
3
|
!!value &&
|
|
11
4
|
(typeof value === "object" || typeof value === "function") &&
|
package/common/isValidDate.ts
CHANGED
|
@@ -6,9 +6,7 @@ import { isDayjs } from "./isDayjs";
|
|
|
6
6
|
dayjs.extend(customParseFormat);
|
|
7
7
|
|
|
8
8
|
export const isValidDate = (d: string | Date | Dayjs) => {
|
|
9
|
-
|
|
10
|
-
if (
|
|
11
|
-
|
|
12
|
-
} else if (isDayjs(d)) return d.isValid();
|
|
13
|
-
else return d instanceof Date && !Number.isNaN(d.getTime());
|
|
9
|
+
if (typeof d === "string") return dayjs(d, "YYYY-MM-DD").isValid();
|
|
10
|
+
if (isDayjs(d)) return d.isValid();
|
|
11
|
+
return d instanceof Date && !Number.isNaN(d.getTime());
|
|
14
12
|
};
|
package/common/logContext.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { LogRecord } from "./Logger";
|
|
2
2
|
|
|
3
|
-
/** A per-request ring
|
|
3
|
+
/** A per-request ring of every record; the trace decides at its end whether any of it is shown. */
|
|
4
4
|
export interface LogFlightRecorder {
|
|
5
5
|
minSev: number;
|
|
6
6
|
capture(record: LogRecord, written: boolean): void;
|
|
@@ -24,9 +24,6 @@ const bullet = /^(\s*)[-*+]\s+(.*)$/;
|
|
|
24
24
|
const ordered = /^(\s*)(\d{1,9})[.)]\s+(.*)$/;
|
|
25
25
|
const lazyLine = /^\s+\S/;
|
|
26
26
|
|
|
27
|
-
/**
|
|
28
|
-
* Block scanner for assistant chat text — the CommonMark subset a model actually emits over this wire.
|
|
29
|
-
*/
|
|
30
27
|
export class MarkdownBlocks {
|
|
31
28
|
static of(source: string): MarkdownBlock[] {
|
|
32
29
|
return new MarkdownBlocks(source).#run();
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export type MarkdownSpan =
|
|
2
|
+
| { kind: "text"; text: string }
|
|
3
|
+
| { kind: "code"; text: string }
|
|
4
|
+
| { kind: "strong"; text: string }
|
|
5
|
+
| { kind: "em"; text: string }
|
|
6
|
+
| { kind: "del"; text: string }
|
|
7
|
+
| { kind: "link"; text: string; href: string }
|
|
8
|
+
/** A link whose href was refused, or an image: rendered as its label, by every host. */
|
|
9
|
+
| { kind: "plain"; text: string };
|
|
10
|
+
|
|
11
|
+
const inline =
|
|
12
|
+
/(!?)\[([^\]]*)\]\(((?:[^\s()]|\([^\s()]*\))+)\)|`([^`]+)`|\*\*([\s\S]+?)\*\*|\*([^*\n]+?)\*|~~([\s\S]+?)~~/g;
|
|
13
|
+
|
|
14
|
+
export class MarkdownSpans {
|
|
15
|
+
static of(text: string): MarkdownSpan[] {
|
|
16
|
+
const spans: MarkdownSpan[] = [];
|
|
17
|
+
let cut = 0;
|
|
18
|
+
for (const match of text.matchAll(inline)) {
|
|
19
|
+
const at = match.index;
|
|
20
|
+
const [, image, label, href, code, strong, em, del] = match;
|
|
21
|
+
if (at > cut) spans.push({ kind: "text", text: text.slice(cut, at) });
|
|
22
|
+
cut = at + match[0].length;
|
|
23
|
+
if (href !== undefined)
|
|
24
|
+
spans.push(
|
|
25
|
+
image || !MarkdownSpans.isSafeHref(href)
|
|
26
|
+
? { kind: "plain", text: label ?? "" }
|
|
27
|
+
: { kind: "link", text: label ?? "", href },
|
|
28
|
+
);
|
|
29
|
+
else if (code !== undefined) spans.push({ kind: "code", text: code });
|
|
30
|
+
else if (strong !== undefined) spans.push({ kind: "strong", text: strong });
|
|
31
|
+
else if (em !== undefined) spans.push({ kind: "em", text: em });
|
|
32
|
+
else if (del !== undefined) spans.push({ kind: "del", text: del });
|
|
33
|
+
}
|
|
34
|
+
if (cut < text.length) spans.push({ kind: "text", text: text.slice(cut) });
|
|
35
|
+
return spans;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
static isSafeHref(href: string) {
|
|
39
|
+
return !/^[a-z][a-z0-9+.-]*:/i.test(href) || /^(?:https?|mailto|tel):/i.test(href);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
static plain(text: string): string {
|
|
43
|
+
return MarkdownSpans.of(text)
|
|
44
|
+
.map((span) => span.text)
|
|
45
|
+
.join("");
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -10,8 +10,6 @@ export interface TableBlock {
|
|
|
10
10
|
const cellSplit = /(?<!\\)\|/;
|
|
11
11
|
const delimiter = /^:?-+:?$/;
|
|
12
12
|
|
|
13
|
-
/** GFM table scan, kept out of the block scanner because the delimiter row makes it the one shape that has to
|
|
14
|
-
* read the line after the one it starts on. */
|
|
15
13
|
export class MarkdownTable {
|
|
16
14
|
static at(lines: string[], at: number): { block: TableBlock; next: number } | null {
|
|
17
15
|
const header = lines[at];
|
|
@@ -24,7 +22,7 @@ export class MarkdownTable {
|
|
|
24
22
|
const line = lines[next];
|
|
25
23
|
if (!line.trim() || !line.includes("|")) break;
|
|
26
24
|
const cells = MarkdownTable.#cells(line);
|
|
27
|
-
|
|
25
|
+
|
|
28
26
|
rows.push(head.map((_, idx) => cells[idx] ?? ""));
|
|
29
27
|
}
|
|
30
28
|
return { block: { kind: "table", aligns, head, rows }, next };
|
|
@@ -39,8 +37,6 @@ export class MarkdownTable {
|
|
|
39
37
|
.map((cell) => cell.trim().replace(/\\\|/g, "|"));
|
|
40
38
|
}
|
|
41
39
|
|
|
42
|
-
/** The delimiter row is what separates a table from a paragraph that merely contains a pipe, and from the
|
|
43
|
-
* `---` of a rule — which is why the pipe is required of it rather than of the header. */
|
|
44
40
|
static #aligns(line: string | undefined): (Align | null)[] | null {
|
|
45
41
|
if (!line?.includes("|")) return null;
|
|
46
42
|
const cells = MarkdownTable.#cells(line);
|
package/common/mcpExposure.ts
CHANGED
|
@@ -1,15 +1,5 @@
|
|
|
1
1
|
import { capitalize } from "./capitalize";
|
|
2
2
|
|
|
3
|
-
/**
|
|
4
|
-
* What MCP says about one endpoint: whether it is published, why it is not, and the hints it carries.
|
|
5
|
-
*
|
|
6
|
-
* Structurally typed like the rest of `common/` so the same rules answer on both sides — the server builds its
|
|
7
|
-
* catalogue from them and the browser API explorer badges an endpoint from them. A second implementation would
|
|
8
|
-
* eventually disagree, and an audit surface that disagrees with the catalogue is worse than none.
|
|
9
|
-
*
|
|
10
|
-
* Every rejection returns the sentence an author reads, at boot in the server log and in the explorer. Fail-closed
|
|
11
|
-
* with no reason leaves an author whose endpoint is missing from the catalogue nowhere to look but the source.
|
|
12
|
-
*/
|
|
13
3
|
export interface McpExposureEndpoint {
|
|
14
4
|
type: string;
|
|
15
5
|
returns: { refName: string };
|
|
@@ -22,20 +12,15 @@ export interface McpExposureEndpoint {
|
|
|
22
12
|
}
|
|
23
13
|
|
|
24
14
|
export interface McpExposureOption {
|
|
25
|
-
/** The model the endpoint belongs to and the name it is published under: one rule reads the key, not the shape. */
|
|
26
15
|
refName: string;
|
|
27
16
|
key: string;
|
|
28
|
-
/**
|
|
29
|
-
* The read-only deployment valve, which is server configuration. The browser explorer cannot know it and so
|
|
30
|
-
* badges what the code decided; the boot log is where a read-only deployment says what it dropped.
|
|
31
|
-
*/
|
|
17
|
+
/** The read-only deployment valve: server configuration the browser explorer cannot know. */
|
|
32
18
|
readOnly?: boolean;
|
|
33
19
|
}
|
|
34
20
|
|
|
35
|
-
/** `Any` publishes as the empty schema, which tells a model nothing
|
|
21
|
+
/** `Any` publishes as the empty schema, which tells a model nothing, so it is left out. */
|
|
36
22
|
export const isMcpDescribableArg = (arg: { refName: string }) => arg.refName !== "Any";
|
|
37
23
|
|
|
38
|
-
/** Which CRUD verb a generated endpoint key is, or `null` when the key is not one of the five. */
|
|
39
24
|
export const mcpBaseVerbOf = (refName: string, key: string) => {
|
|
40
25
|
const cap = capitalize(refName);
|
|
41
26
|
if (key === refName || key === `light${cap}`) return "get" as const;
|
|
@@ -45,11 +30,7 @@ export const mcpBaseVerbOf = (refName: string, key: string) => {
|
|
|
45
30
|
return null;
|
|
46
31
|
};
|
|
47
32
|
|
|
48
|
-
/**
|
|
49
|
-
* The hints a client renders beside a tool. Hints only — clients are told to distrust them, so they inform a UI
|
|
50
|
-
* and never stand in for a guard. `openWorldHint` is always false: every endpoint reaches this app's own
|
|
51
|
-
* database, not the wider internet.
|
|
52
|
-
*/
|
|
33
|
+
/** Hints never stand in for a guard; `openWorldHint` is false: every endpoint reaches this app's own database. */
|
|
53
34
|
export const mcpHintsOf = (key: string, endpoint: { type: string }) => {
|
|
54
35
|
const readOnly = endpoint.type === "query";
|
|
55
36
|
const destructive = !readOnly && /^(remove|delete)/.test(key);
|
|
@@ -61,21 +42,17 @@ export const mcpHintsOf = (key: string, endpoint: { type: string }) => {
|
|
|
61
42
|
};
|
|
62
43
|
};
|
|
63
44
|
|
|
64
|
-
/** The sentence explaining why this endpoint is not in the catalogue, or `null` when it is. */
|
|
65
45
|
export const mcpRefusalOf = (
|
|
66
46
|
endpoint: McpExposureEndpoint,
|
|
67
47
|
{ refName, key, readOnly }: McpExposureOption,
|
|
68
48
|
): string | null => {
|
|
69
|
-
|
|
70
49
|
if (endpoint.mcp === false)
|
|
71
50
|
return "it declares `mcp: false`, so it is deliberately off the agent shelf. HTTP still serves it.";
|
|
72
|
-
|
|
51
|
+
|
|
73
52
|
if (endpoint.agents === false)
|
|
74
53
|
return `its guards (${(endpoint.guards ?? []).join(", ")}) admit no agent — an act reserved for a person, so it is off the agent shelf. HTTP still serves it.`;
|
|
75
|
-
|
|
76
54
|
if (!endpoint.guards?.length)
|
|
77
55
|
return "it declares no guards, and exposure follows them — write `guards: [Public]` if anonymous access is the intent.";
|
|
78
|
-
|
|
79
56
|
if (key === `light${capitalize(refName)}`)
|
|
80
57
|
return `it reads the same document as \`${refName}\` in a smaller shape — call \`${refName}\` instead.`;
|
|
81
58
|
if (endpoint.type === "pubsub" || endpoint.type === "message")
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
type PathSegment = string | number;
|
|
2
|
+
type Indexable = Record<PathSegment, unknown>;
|
|
3
|
+
type Container = Indexable | Map<PathSegment, unknown>;
|
|
4
|
+
|
|
5
|
+
export const isIndexable = (value: unknown): value is Indexable => Object(value) === value;
|
|
6
|
+
|
|
7
|
+
const readChild = (container: Container, key: PathSegment) =>
|
|
8
|
+
container instanceof Map ? container.get(key) : container[key];
|
|
9
|
+
|
|
10
|
+
const writeChild = (container: Container, key: PathSegment, value: unknown) => {
|
|
11
|
+
if (container instanceof Map) container.set(key, value);
|
|
12
|
+
else container[key] = value;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
/** `a.0.b` and `a[0].b` are the same segments, for writes and reads alike. */
|
|
16
|
+
export const toPathSegments = (path: string | readonly PathSegment[]) =>
|
|
17
|
+
Array.isArray(path) ? [...path] : path.toString().match(/[^.[\]]+/g) || [];
|
|
18
|
+
|
|
19
|
+
export const pathGet = (
|
|
20
|
+
path: string | (string | number)[],
|
|
21
|
+
obj: unknown,
|
|
22
|
+
separator = ".",
|
|
23
|
+
fallback: unknown = null,
|
|
24
|
+
): unknown => {
|
|
25
|
+
|
|
26
|
+
const properties = separator === "." ? toPathSegments(path) : Array.isArray(path) ? [...path] : path.split(separator);
|
|
27
|
+
return properties.reduce<unknown>(
|
|
28
|
+
(prev, curr) => (isIndexable(prev) ? (readChild(prev, curr) ?? fallback) : fallback),
|
|
29
|
+
obj,
|
|
30
|
+
);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export const pathSet = <T>(obj: T, path: string | readonly PathSegment[], value: unknown): T => {
|
|
34
|
+
if (Object(obj) !== obj) return obj;
|
|
35
|
+
const pathSegments = toPathSegments(path);
|
|
36
|
+
const parent = pathSegments.slice(0, -1).reduce<Container>((a, c, i) => {
|
|
37
|
+
const child = readChild(a, c);
|
|
38
|
+
if (Object(child) === child) return child as Container;
|
|
39
|
+
const created = Math.abs(Number(pathSegments[i + 1])) >> 0 === +pathSegments[i + 1] ? [] : {};
|
|
40
|
+
writeChild(a, c, created);
|
|
41
|
+
return created as unknown as Container;
|
|
42
|
+
}, obj as Container);
|
|
43
|
+
writeChild(parent, pathSegments[pathSegments.length - 1], value);
|
|
44
|
+
return obj;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
/** Also tries joined prefixes, for keys whose segments contain the separator (an enum value like `gpt-5.6-terra`). */
|
|
48
|
+
export const pathGetLoose = (
|
|
49
|
+
path: string | readonly string[],
|
|
50
|
+
obj: unknown,
|
|
51
|
+
separator = ".",
|
|
52
|
+
fallback: unknown = null,
|
|
53
|
+
): unknown => {
|
|
54
|
+
const walk = (node: unknown, rest: readonly string[]): unknown => {
|
|
55
|
+
if (!rest.length) return node;
|
|
56
|
+
if (!isIndexable(node)) return undefined;
|
|
57
|
+
|
|
58
|
+
for (let take = 1; take <= rest.length; take += 1) {
|
|
59
|
+
const child = node[rest.slice(0, take).join(separator)];
|
|
60
|
+
if (child === undefined) continue;
|
|
61
|
+
const found = walk(child, rest.slice(take));
|
|
62
|
+
if (found !== undefined) return found;
|
|
63
|
+
}
|
|
64
|
+
return undefined;
|
|
65
|
+
};
|
|
66
|
+
return walk(obj, Array.isArray(path) ? [...path] : (path as string).split(separator)) ?? fallback;
|
|
67
|
+
};
|
package/common/objectify.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { isDayjs } from "./isDayjs";
|
|
2
|
+
|
|
1
3
|
export const objectify = <T extends object>(obj: T, keys = Object.keys(obj) as (keyof T)[]): Partial<T> => {
|
|
2
4
|
const val: Partial<T> = {};
|
|
3
5
|
keys.forEach((key) => {
|
|
@@ -5,3 +7,53 @@ export const objectify = <T extends object>(obj: T, keys = Object.keys(obj) as (
|
|
|
5
7
|
});
|
|
6
8
|
return val;
|
|
7
9
|
};
|
|
10
|
+
|
|
11
|
+
export const plainFieldsOf = (source: object): Record<string, unknown> => {
|
|
12
|
+
const out: Record<string, unknown> = {};
|
|
13
|
+
for (const key in source) {
|
|
14
|
+
const value = (source as Record<string, unknown>)[key];
|
|
15
|
+
if (typeof value !== "function") out[key] = value;
|
|
16
|
+
}
|
|
17
|
+
return out;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
interface DeepObjectifyOption {
|
|
21
|
+
serializable?: boolean;
|
|
22
|
+
convertDate?: "string" | "number";
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const objectifyChild = (value: unknown, option: DeepObjectifyOption): unknown => {
|
|
26
|
+
const modelValue = value as { __ModelType__?: string } | null | undefined;
|
|
27
|
+
return modelValue?.__ModelType__ && !option.serializable ? value : deepObjectify(value, option);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export const deepObjectify = <T = unknown>(obj: T | null | undefined, option: DeepObjectifyOption = {}): T => {
|
|
31
|
+
if (isDayjs(obj) || obj?.constructor === Date) {
|
|
32
|
+
if (!option.serializable && !option.convertDate) return obj as T;
|
|
33
|
+
if (option.convertDate === "string") return obj.toISOString() as T;
|
|
34
|
+
else if (option.convertDate === "number")
|
|
35
|
+
return (isDayjs(obj) ? obj.toDate().getTime() : (obj as Date).getTime()) as T;
|
|
36
|
+
else return (isDayjs(obj) ? obj.toDate() : obj) as T;
|
|
37
|
+
} else if (Array.isArray(obj)) {
|
|
38
|
+
return obj.map((o: unknown) => deepObjectify(o, option)) as T;
|
|
39
|
+
} else if (obj instanceof Map) {
|
|
40
|
+
|
|
41
|
+
const entries = [...obj.entries()].map(
|
|
42
|
+
([key, value]: [string, unknown]) => [key, objectifyChild(value, option)] as const,
|
|
43
|
+
);
|
|
44
|
+
return (option.serializable ? Object.fromEntries(entries) : new Map(entries)) as T;
|
|
45
|
+
} else if (obj instanceof Set) {
|
|
46
|
+
const values = [...obj.values()].map((value: unknown) => objectifyChild(value, option));
|
|
47
|
+
return (option.serializable ? values : new Set(values)) as T;
|
|
48
|
+
} else if (obj && typeof obj === "object") {
|
|
49
|
+
const val: Record<string, unknown> = {};
|
|
50
|
+
const objRecord = obj as Record<string, unknown>;
|
|
51
|
+
|
|
52
|
+
for (const key in objRecord) {
|
|
53
|
+
if (typeof objRecord[key] !== "function") val[key] = objectifyChild(objRecord[key], option);
|
|
54
|
+
}
|
|
55
|
+
return val as T;
|
|
56
|
+
} else {
|
|
57
|
+
return obj as unknown as T;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** Returns true when the value matches Akan's supported dashed phone-number format. */
|
|
2
1
|
export const isPhoneNumber = (phone?: string | null) => {
|
|
3
2
|
if (!phone) return false;
|
|
4
3
|
const comp = phone.startsWith("0") ? phone.slice(1) : phone;
|
|
@@ -6,3 +5,10 @@ export const isPhoneNumber = (phone?: string | null) => {
|
|
|
6
5
|
const regExp2 = /^\(?([0-9]{2})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/;
|
|
7
6
|
return (regExp1.test(comp) || regExp2.test(comp)) && phone.split("-").length === 3;
|
|
8
7
|
};
|
|
8
|
+
|
|
9
|
+
export const formatPhone = (value: string) => {
|
|
10
|
+
if (!value) return "";
|
|
11
|
+
if (value.length === 10) return value.replace(/(\d{3})(\d{3})(\d{4})/, "$1-$2-$3");
|
|
12
|
+
else if (value.length === 13) return value.replace(/-/g, "").replace(/(\d{3})(\d{4})(\d{4})/, "$1-$2-$3");
|
|
13
|
+
else return value;
|
|
14
|
+
};
|
package/common/randomPick.ts
CHANGED
|
@@ -1 +1,14 @@
|
|
|
1
1
|
export const randomPick = <T = unknown>(arr: T[] | readonly T[]): T => arr[Math.floor(Math.random() * arr.length)];
|
|
2
|
+
|
|
3
|
+
export const randomPicks = <T>(arr: T[] | readonly T[], count = 1, allowDuplicate = false): T[] => {
|
|
4
|
+
if (!allowDuplicate && arr.length <= count) return arr as T[];
|
|
5
|
+
const idxs: number[] = [];
|
|
6
|
+
let pickIdx: number;
|
|
7
|
+
for (let i = 0; i < count; i++) {
|
|
8
|
+
do {
|
|
9
|
+
pickIdx = Math.floor(Math.random() * arr.length);
|
|
10
|
+
} while (!allowDuplicate && idxs.includes(pickIdx));
|
|
11
|
+
idxs.push(pickIdx);
|
|
12
|
+
}
|
|
13
|
+
return idxs.map((idx) => arr[idx]);
|
|
14
|
+
};
|
package/common/requestOrigin.ts
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The origin a caller actually saw, and whether a body claims to be JSON. Both read only headers and a URL, so
|
|
3
|
-
* they answer the same way for the cache layer, the CSRF gate, and anything else that has to compare origins.
|
|
4
|
-
*/
|
|
5
1
|
export const originFromRequest = (headers: Headers, url: URL): string => {
|
|
6
2
|
|
|
7
3
|
const forwardedProto = headers.get("x-forwarded-proto")?.split(",")[0]?.trim();
|
|
@@ -16,22 +12,9 @@ export const originFromRequest = (headers: Headers, url: URL): string => {
|
|
|
16
12
|
return url.origin;
|
|
17
13
|
};
|
|
18
14
|
|
|
19
|
-
/**
|
|
20
|
-
* The host a caller addressed, which — unlike the scheme — every proxy that rewrites the request still reports.
|
|
21
|
-
* `Host` is set by the browser from the URL it was told to open, so it names *this* deployment even for a
|
|
22
|
-
* request some other page initiated.
|
|
23
|
-
*/
|
|
24
15
|
export const hostFromRequest = (headers: Headers, url: URL): string =>
|
|
25
16
|
headers.get("x-forwarded-host")?.split(",")[0]?.trim() ?? headers.get("host")?.split(",")[0]?.trim() ?? url.host;
|
|
26
17
|
|
|
27
|
-
/**
|
|
28
|
-
* Whether a request body may be read as JSON.
|
|
29
|
-
*
|
|
30
|
-
* `Request.json()` parses whatever bytes it holds regardless of this header, and the three content types a
|
|
31
|
-
* cross-site form can send — `text/plain`, `application/x-www-form-urlencoded`, `multipart/form-data` — are
|
|
32
|
-
* exactly the ones a browser sends with **no preflight**. Requiring the JSON type is therefore what puts a
|
|
33
|
-
* preflight in front of every mutation that carries a body.
|
|
34
|
-
*/
|
|
35
18
|
export const isJsonContentType = (contentType: string | null): boolean => {
|
|
36
19
|
if (!contentType) return false;
|
|
37
20
|
const essence = contentType.split(";")[0]?.trim().toLowerCase() ?? "";
|
package/common/restClient.ts
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A plain REST client for a service that is not an Akan API: base url, headers, timeout, JSON in and out.
|
|
3
|
-
*
|
|
4
|
-
* Not `akanjs/fetch`'s `HttpClient`, which builds an Akan endpoint's path from its serialized args and restores
|
|
5
|
-
* an `Err` from the response. Two classes of the same name in one package meant an app importing both barrels
|
|
6
|
-
* got a collision, so this one is named for what it is.
|
|
7
|
-
*/
|
|
8
1
|
export interface RestClientOptions {
|
|
9
2
|
baseUrl?: string;
|
|
10
3
|
headers?: HeadersInit;
|
|
@@ -94,12 +87,14 @@ export class RestClient {
|
|
|
94
87
|
|
|
95
88
|
#makeBody(data: unknown): { body?: BodyInit; headers?: HeadersInit } {
|
|
96
89
|
if (data === undefined) return {};
|
|
97
|
-
if (
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
90
|
+
if (
|
|
91
|
+
typeof data === "string" ||
|
|
92
|
+
data instanceof FormData ||
|
|
93
|
+
data instanceof URLSearchParams ||
|
|
94
|
+
data instanceof Blob ||
|
|
95
|
+
data instanceof ArrayBuffer
|
|
96
|
+
)
|
|
97
|
+
return { body: data };
|
|
103
98
|
return {
|
|
104
99
|
body: JSON.stringify(data),
|
|
105
100
|
headers: { "Content-Type": "application/json" },
|
package/common/round.ts
ADDED