@undefineds.co/xpod 0.4.18 → 0.4.19
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/config/components-ignore.json +8 -13
- package/dist/api/ai-gateway/pod/HostedPodRoute.d.ts +7 -0
- package/dist/api/ai-gateway/pod/HostedPodRoute.js +68 -1
- package/dist/api/chatkit/pod-store.js +14 -0
- package/dist/api/container/common.js +6 -3
- package/dist/api/container/routes.js +9 -6
- package/dist/api/handlers/AgentWakeHandler.d.ts +10 -0
- package/dist/api/handlers/AgentWakeHandler.js +62 -0
- package/dist/api/handlers/AiGatewayManagementHandler.js +43 -0
- package/dist/api/handlers/MatrixHandler.d.ts +3 -0
- package/dist/api/handlers/MatrixHandler.js +120 -105
- package/dist/api/handlers/NetworkSettingsHandler.d.ts +1 -31
- package/dist/api/handlers/NetworkSettingsHandler.js +3 -76
- package/dist/api/handlers/PodAccessFailureResponse.d.ts +1 -2
- package/dist/api/handlers/PodAccessFailureResponse.js +5 -4
- package/dist/api/handlers/ReachabilityHandler.js +0 -5
- package/dist/api/handlers/readBoundedRequestBody.d.ts +3 -0
- package/dist/api/handlers/readBoundedRequestBody.js +37 -0
- package/dist/api/matrix/MatrixError.d.ts +6 -0
- package/dist/api/matrix/MatrixError.js +14 -0
- package/dist/api/matrix/MatrixEventJournal.d.ts +39 -0
- package/dist/api/matrix/MatrixEventJournal.js +169 -0
- package/dist/api/matrix/MatrixPodResolver.d.ts +12 -0
- package/dist/api/matrix/MatrixPodResolver.js +61 -0
- package/dist/api/matrix/PodMatrixStore.d.ts +58 -12
- package/dist/api/matrix/PodMatrixStore.js +527 -204
- package/dist/api/matrix/types.d.ts +15 -0
- package/dist/api/reconciler/AgentWakeRuntimeService.d.ts +66 -0
- package/dist/api/reconciler/AgentWakeRuntimeService.js +79 -0
- package/dist/api/reconciler/AgentWakeRuntimeService.jsonld +173 -0
- package/dist/api/reconciler/ServerGroupReconcilerService.d.ts +3 -0
- package/dist/api/reconciler/ServerGroupReconcilerService.js +12 -4
- package/dist/api/reconciler/ServerGroupReconcilerService.jsonld +8 -0
- package/dist/api/reconciler/WakeAgentQueue.d.ts +32 -2
- package/dist/api/reconciler/WakeAgentQueue.js +183 -66
- package/dist/api/reconciler/WakeAgentQueue.jsonld +152 -6
- package/dist/api/reconciler/coordination.d.ts +5 -0
- package/dist/api/reconciler/coordination.js +1 -1
- package/dist/api/reconciler/coordination.jsonld +20 -0
- package/dist/api/reconciler/index.d.ts +1 -0
- package/dist/api/reconciler/index.js +1 -0
- package/dist/api/runs/store.d.ts +4 -0
- package/dist/api/runtime.js +21 -44
- package/dist/cli/commands/start.d.ts +18 -11
- package/dist/cli/commands/start.js +49 -44
- package/dist/cli/commands/stop.js +1 -7
- package/dist/components/components.jsonld +1 -1
- package/dist/components/context.jsonld +52 -61
- package/dist/dns/cloudflare/CloudflareDnsProvider.d.ts +1 -10
- package/dist/dns/cloudflare/CloudflareDnsProvider.js +28 -59
- package/dist/edge/EdgeNodeAgent.d.ts +0 -5
- package/dist/edge/EdgeNodeAgent.js +0 -8
- package/dist/edge/acme/AcmeCertificateManager.d.ts +0 -24
- package/dist/edge/acme/AcmeCertificateManager.js +7 -75
- package/dist/edge/acme/AcmeCertificateManager.jsonld +0 -24
- package/dist/edge/frp/FrpcProcessManager.d.ts +0 -16
- package/dist/edge/frp/FrpcProcessManager.js +13 -73
- package/dist/edge/reachability/ManagedClientFetch.d.ts +0 -2
- package/dist/edge/reachability/ManagedClientFetch.js +12 -24
- package/dist/edge/reachability/ManagedClientFetch.jsonld +0 -4
- package/dist/edge/reachability/ManagedRouteSelector.d.ts +0 -2
- package/dist/edge/reachability/ManagedRouteSelector.js +13 -7
- package/dist/edge/reachability/ManagedRouteSelector.jsonld +0 -4
- package/dist/edge/reachability/P2PDataPlane.d.ts +4 -67
- package/dist/edge/reachability/P2PDataPlane.js +15 -156
- package/dist/edge/reachability/P2PDataPlane.jsonld +0 -64
- package/dist/edge/reachability/P2PSignalingClient.d.ts +0 -2
- package/dist/edge/reachability/P2PSignalingClient.js +0 -1
- package/dist/edge/reachability/P2PSignalingClient.jsonld +0 -4
- package/dist/edge/reachability/ReachabilitySessionService.d.ts +0 -19
- package/dist/edge/reachability/ReachabilitySessionService.js +52 -122
- package/dist/edge/reachability/ReachabilitySessionService.jsonld +0 -26
- package/dist/edge/reachability/TcpP2PDataPlaneTransport.d.ts +4 -28
- package/dist/edge/reachability/TcpP2PDataPlaneTransport.js +32 -540
- package/dist/edge/reachability/TcpP2PDataPlaneTransport.jsonld +0 -51
- package/dist/edge/reachability/TcpP2PSignalingSession.d.ts +0 -7
- package/dist/edge/reachability/TcpP2PSignalingSession.js +1 -25
- package/dist/edge/reachability/TcpP2PSignalingSession.jsonld +0 -12
- package/dist/edge/reachability/index.d.ts +0 -1
- package/dist/edge/reachability/index.js +0 -1
- package/dist/edge/reachability/types.d.ts +0 -8
- package/dist/edge/reachability/types.jsonld +0 -8
- package/dist/identity/drizzle/EdgeNodeRepository.d.ts +0 -12
- package/dist/identity/drizzle/EdgeNodeRepository.js +0 -37
- package/dist/identity/drizzle/PodLookupRepository.js +5 -4
- package/dist/identity/drizzle/db.d.ts +0 -8
- package/dist/identity/drizzle/db.js +0 -17
- package/dist/runtime/GatewayAdminProxyAuth.d.ts +2 -2
- package/dist/runtime/Proxy.js +2 -5
- package/dist/runtime/css-process.d.ts +3 -3
- package/dist/runtime/index.d.ts +1 -7
- package/dist/runtime/index.js +1 -21
- package/dist/runtime/port-finder.d.ts +3 -27
- package/dist/runtime/port-finder.js +22 -52
- package/dist/runtime/safe-env.d.ts +1 -1
- package/dist/runtime/user-env.d.ts +2 -2
- package/dist/supervisor/Supervisor.d.ts +3 -26
- package/dist/supervisor/Supervisor.js +23 -130
- package/dist/supervisor/types.d.ts +1 -14
- package/dist/test-utils/local-managed-client-p2p-e2e-smoke.js +0 -15
- package/dist/tunnel/LocalTunnelProvider.d.ts +0 -7
- package/dist/tunnel/LocalTunnelProvider.js +3 -11
- package/dist/tunnel/LocalTunnelProvider.jsonld +0 -39
- package/dist/tunnel/NgrokTunnelProvider.d.ts +0 -2
- package/dist/tunnel/NgrokTunnelProvider.js +1 -3
- package/dist/tunnel/NgrokTunnelProvider.jsonld +0 -39
- package/dist/tunnel/SakuraFrpTunnelProvider.d.ts +1 -3
- package/dist/tunnel/SakuraFrpTunnelProvider.js +3 -7
- package/dist/tunnel/TunnelLifecycle.d.ts +1 -9
- package/dist/tunnel/TunnelLifecycle.js +3 -24
- package/dist/tunnel/TunnelProviderCatalog.d.ts +0 -32
- package/dist/tunnel/TunnelProviderCatalog.js +0 -43
- package/node_modules/@solid/access-token-verifier/node_modules/n3/browser/n3.min.js +1 -0
- package/node_modules/@solid/community-server/node_modules/n3/browser/n3.min.js +1 -0
- package/node_modules/@undefineds.co/ai-connections/dist/AiClientConfigurationSection.js +10 -39
- package/node_modules/@undefineds.co/ai-connections/dist/AiConnectionsList.js +4 -15
- package/node_modules/@undefineds.co/ai-connections/dist/AiConnectionsPanel.d.ts +1 -1
- package/node_modules/@undefineds.co/ai-connections/dist/AiConnectionsPanel.js +1 -4
- package/node_modules/@undefineds.co/ai-connections/dist/AiGatewayKeyRow.d.ts +1 -5
- package/node_modules/@undefineds.co/ai-connections/dist/AiGatewayKeyRow.js +2 -2
- package/node_modules/@undefineds.co/ai-connections/dist/AiGatewayKeysSection.js +1 -5
- package/node_modules/@undefineds.co/ai-connections/dist/controller.d.ts +0 -4
- package/node_modules/@undefineds.co/ai-connections/dist/controller.js +1 -3
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/aggregates.d.ts +19 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/ast-to-sparql.d.ts +66 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/compile-time-types.d.ts +40 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/comunica-patch.d.ts +2 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/conflict-resolution.d.ts +110 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/composite-discovery.d.ts +18 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/index.d.ts +7 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/interop-discovery.d.ts +36 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/interop-tables.d.ts +37 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/interop-types.d.ts +36 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/provider-cache.d.ts +99 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/typeindex-discovery.d.ts +32 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/types.d.ts +132 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/exact-records.d.ts +21 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/index.d.ts +14 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts +76 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-strategy.d.ts +53 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor-types.d.ts +9 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor.d.ts +73 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.d.ts +31 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/strategy-factory.d.ts +42 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/types.d.ts +85 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/expressions.d.ts +40 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/federated/executor.d.ts +98 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/federated/index.d.ts +3 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/federated/types.d.ts +69 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/channels/base-channel.d.ts +29 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/channels/index.d.ts +4 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/channels/sse-channel.d.ts +50 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/channels/websocket-channel.d.ts +16 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/index.d.ts +3 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.d.ts +88 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/types.d.ts +228 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/order-by.d.ts +9 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.d.ts +548 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-dialect.d.ts +324 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-discovery.d.ts +20 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-session.d.ts +52 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/profile-manager.d.ts +90 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/default-id-template.d.ts +10 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/delete-query-builder.d.ts +31 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/helpers.d.ts +11 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/index.d.ts +7 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/insert-query-builder.d.ts +37 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts +150 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/types.d.ts +40 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/update-query-builder.d.ts +34 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-conditions.d.ts +60 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.d.ts +8 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/rdf-constants.d.ts +16 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/rdf-schema-parser.d.ts +34 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/repository.d.ts +78 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-reference.d.ts +31 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/base-resolver.d.ts +141 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/document-resolver.d.ts +36 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/factory.d.ts +27 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/fragment-resolver.d.ts +34 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/index.d.ts +11 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/types.d.ts +57 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/runtime/pod-runtime.d.ts +60 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/columns.d.ts +74 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/defs.d.ts +101 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/factories.d.ts +29 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/index.d.ts +9 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/pod-table.d.ts +118 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/relations.d.ts +26 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/solid-schema.d.ts +22 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/types.d.ts +45 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/utils.d.ts +15 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/select-plan.d.ts +50 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/services/pod-services.d.ts +43 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/generator.d.ts +12 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/index.d.ts +4 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/manager.d.ts +45 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/shacl-parser.d.ts +19 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/shacl.d.ts +11 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/types.d.ts +149 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/validator.d.ts +11 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/solid-n3-client.d.ts +86 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.d.ts +56 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/select-builder.d.ts +44 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/update-builder.d.ts +33 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/helpers.d.ts +19 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/types.d.ts +10 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-engine.d.ts +16 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.d.ts +40 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/index.d.ts +29 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/resolver.d.ts +116 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/types.d.ts +97 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/builder.d.ts +86 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/array.d.ts +23 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/default.d.ts +20 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/index.d.ts +35 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inline.d.ts +35 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inverse.d.ts +26 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/uri.d.ts +28 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/index.d.ts +9 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/types.d.ts +156 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/typeindex-manager.d.ts +130 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/types.d.ts +57 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/index.d.ts +8 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/resolver.d.ts +153 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/types.d.ts +154 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/utils/debug-logger.d.ts +19 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/utils/origin-auth.d.ts +28 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/utils/pod-root.d.ts +15 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/zod-integration.d.ts +97 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/driver.d.ts +60 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/index.d.ts +31 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/pod.d.ts +140 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/solid.d.ts +21 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/test-utils/real-test-helpers.d.ts +5 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/types/sparql-types.d.ts +27 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/find-by-iri.d.ts +11 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/helpers.d.ts +17 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/namespace.d.ts +4 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/rdf-helpers.d.ts +17 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/rdf-validation.d.ts +27 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/thing-operations.d.ts +28 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/webid-resolver.d.ts +23 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/index.ts +4 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/locales/index.ts +1 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/mini/index.ts +3 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/ZodError.ts +330 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/errors.ts +13 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/external.ts +6 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/helpers/util.ts +224 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/index.ts +4 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/locales/en.ts +124 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/standard-schema.ts +113 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/array.test.ts +71 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/base.test.ts +29 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/date.test.ts +32 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/default.test.ts +112 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/description.test.ts +33 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/error.test.ts +551 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/function.test.ts +261 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/map.test.ts +110 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/number.test.ts +176 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/object.test.ts +434 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/record.test.ts +171 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/set.test.ts +142 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/string.test.ts +916 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/tests/void.test.ts +15 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v3/types.ts +5138 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/checks.ts +32 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/coerce.ts +27 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/compat.ts +70 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/errors.ts +82 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/external.ts +52 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/from-json-schema.ts +659 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/index.ts +5 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/iso.ts +90 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/parse.ts +82 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/schemas.ts +2672 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/apply.test.ts +59 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/assignability.test.ts +216 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/catch.test.ts +326 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/codec.test.ts +703 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/date.test.ts +62 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/default.test.ts +409 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +197 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +694 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +807 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +895 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/function.test.ts +360 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/global-config.test.ts +39 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/index.test.ts +939 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +60 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/intersection.test.ts +198 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +46 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/locales_ka.test.ts +29 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +24 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/map.test.ts +330 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/number.test.ts +325 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/object.test.ts +717 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/optional.test.ts +333 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/partial.test.ts +450 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +26 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +351 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/record.test.ts +717 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +631 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/refine.test.ts +633 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +134 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/string.test.ts +1224 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +771 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +3125 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/transform.test.ts +378 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/tuple.test.ts +496 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/union.test.ts +273 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/api.ts +1823 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/checks.ts +1293 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/config.ts +15 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/core.ts +153 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/doc.ts +44 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/errors.ts +455 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/index.ts +16 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/json-schema-generator.ts +126 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/json-schema-processors.ts +666 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/json-schema.ts +147 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/parse.ts +195 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/regexes.ts +190 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/registries.ts +105 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/schemas.ts +4730 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/tests/locales/el.test.ts +215 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +72 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +163 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +105 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +125 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/to-json-schema.ts +622 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/util.ts +983 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/versions.ts +5 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/core/zsf.ts +323 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/index.ts +4 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/ar.ts +115 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/az.ts +111 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/be.ts +176 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/bg.ts +128 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/ca.ts +116 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/cs.ts +118 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/da.ts +123 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/de.ts +116 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/el.ts +121 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/en.ts +123 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/eo.ts +118 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/es.ts +141 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/fa.ts +126 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/fi.ts +121 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/fr-CA.ts +116 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/fr.ts +132 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/he.ts +246 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/hr.ts +131 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/hu.ts +117 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/hy.ts +164 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/id.ts +115 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/index.ts +52 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/is.ts +119 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/it.ts +116 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/ja.ts +114 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/ka.ts +123 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/kh.ts +7 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/km.ts +119 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/ko.ts +121 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/lt.ts +239 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/mk.ts +118 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/ms.ts +115 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/nl.ts +121 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/no.ts +116 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/ota.ts +117 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/pl.ts +118 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/ps.ts +126 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/pt.ts +116 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/ro.ts +129 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/ru.ts +176 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/sl.ts +118 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/sv.ts +119 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/ta.ts +118 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/th.ts +119 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/tr.ts +111 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/ua.ts +7 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/uk.ts +117 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/ur.ts +119 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/uz.ts +117 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/vi.ts +117 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/yo.ts +124 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/zh-CN.ts +116 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/locales/zh-TW.ts +115 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/checks.ts +32 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/coerce.ts +27 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/external.ts +41 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/index.ts +3 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/iso.ts +66 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/parse.ts +14 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/schemas.ts +1947 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/tests/apply.test.ts +24 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/tests/codec.test.ts +548 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/tests/functions.test.ts +5 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/tests/index.test.ts +993 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/tests/object.test.ts +227 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +325 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4/mini/tests/string.test.ts +352 -0
- package/node_modules/@undefineds.co/drizzle-solid/node_modules/zod/src/v4-mini/index.ts +3 -0
- package/node_modules/@undefineds.co/extension-sdk/dist/layout.d.ts +0 -39
- package/node_modules/@undefineds.co/extension-sdk/dist/layout.js +0 -40
- package/node_modules/@undefineds.co/extension-sdk/dist/react/app-layout.d.ts +1 -13
- package/node_modules/@undefineds.co/extension-sdk/dist/react/app-layout.js +3 -11
- package/node_modules/@undefineds.co/extension-sdk/dist/react/workspace-layout.d.ts +4 -13
- package/node_modules/@undefineds.co/extension-sdk/dist/react/workspace-layout.js +11 -68
- package/node_modules/@undefineds.co/models/node_modules/n3/browser/n3.min.js +1 -0
- package/node_modules/@undefineds.co/shared-ui/dist/auth-surface.js +6 -6
- package/node_modules/@undefineds.co/shared-ui/dist/dialog.js +4 -4
- package/node_modules/@undefineds.co/shared-ui/dist/login.js +1 -1
- package/node_modules/@undefineds.co/shared-ui/dist/theme.css +79 -128
- package/node_modules/@undefineds.co/shared-ui/dist/toast.js +1 -1
- package/node_modules/@undefineds.co/shared-ui/dist/tooltip.js +1 -1
- package/node_modules/jose/dist/browser/index.js +30 -0
- package/node_modules/jose/dist/browser/jwe/compact/decrypt.js +27 -0
- package/node_modules/jose/dist/browser/jwe/compact/encrypt.js +26 -0
- package/node_modules/jose/dist/browser/jwe/flattened/decrypt.js +161 -0
- package/node_modules/jose/dist/browser/jwe/flattened/encrypt.js +153 -0
- package/node_modules/jose/dist/browser/jwe/general/decrypt.js +31 -0
- package/node_modules/jose/dist/browser/jwe/general/encrypt.js +174 -0
- package/node_modules/jose/dist/browser/jwk/embedded.js +17 -0
- package/node_modules/jose/dist/browser/jwk/thumbprint.js +53 -0
- package/node_modules/jose/dist/browser/jwks/local.js +124 -0
- package/node_modules/jose/dist/browser/jwks/remote.js +139 -0
- package/node_modules/jose/dist/browser/jws/compact/sign.js +17 -0
- package/node_modules/jose/dist/browser/jws/compact/verify.js +21 -0
- package/node_modules/jose/dist/browser/jws/flattened/sign.js +81 -0
- package/node_modules/jose/dist/browser/jws/flattened/verify.js +122 -0
- package/node_modules/jose/dist/browser/jws/general/sign.js +67 -0
- package/node_modules/jose/dist/browser/jws/general/verify.js +24 -0
- package/node_modules/jose/dist/browser/jwt/decrypt.js +23 -0
- package/node_modules/jose/dist/browser/jwt/encrypt.js +68 -0
- package/node_modules/jose/dist/browser/jwt/produce.js +75 -0
- package/node_modules/jose/dist/browser/jwt/sign.js +20 -0
- package/node_modules/jose/dist/browser/jwt/unsecured.js +32 -0
- package/node_modules/jose/dist/browser/jwt/verify.js +15 -0
- package/node_modules/jose/dist/browser/key/export.js +12 -0
- package/node_modules/jose/dist/browser/key/generate_key_pair.js +4 -0
- package/node_modules/jose/dist/browser/key/generate_secret.js +4 -0
- package/node_modules/jose/dist/browser/key/import.js +45 -0
- package/node_modules/jose/dist/browser/lib/aesgcmkw.js +16 -0
- package/node_modules/jose/dist/browser/lib/buffer_utils.js +51 -0
- package/node_modules/jose/dist/browser/lib/cek.js +20 -0
- package/node_modules/jose/dist/browser/lib/check_iv_length.js +8 -0
- package/node_modules/jose/dist/browser/lib/check_key_type.js +77 -0
- package/node_modules/jose/dist/browser/lib/check_p2s.js +6 -0
- package/node_modules/jose/dist/browser/lib/crypto_key.js +157 -0
- package/node_modules/jose/dist/browser/lib/decrypt_key_management.js +129 -0
- package/node_modules/jose/dist/browser/lib/encrypt_key_management.js +89 -0
- package/node_modules/jose/dist/browser/lib/epoch.js +1 -0
- package/node_modules/jose/dist/browser/lib/format_pem.js +4 -0
- package/node_modules/jose/dist/browser/lib/invalid_key_input.js +31 -0
- package/node_modules/jose/dist/browser/lib/is_disjoint.js +22 -0
- package/node_modules/jose/dist/browser/lib/is_jwk.js +13 -0
- package/node_modules/jose/dist/browser/lib/is_object.js +16 -0
- package/node_modules/jose/dist/browser/lib/iv.js +20 -0
- package/node_modules/jose/dist/browser/lib/jwt_claims_set.js +104 -0
- package/node_modules/jose/dist/browser/lib/private_symbols.js +1 -0
- package/node_modules/jose/dist/browser/lib/secs.js +55 -0
- package/node_modules/jose/dist/browser/lib/validate_algorithms.js +11 -0
- package/node_modules/jose/dist/browser/lib/validate_crit.js +34 -0
- package/node_modules/jose/dist/browser/package.json +1 -0
- package/node_modules/jose/dist/browser/runtime/aeskw.js +32 -0
- package/node_modules/jose/dist/browser/runtime/asn1.js +205 -0
- package/node_modules/jose/dist/browser/runtime/base64url.js +37 -0
- package/node_modules/jose/dist/browser/runtime/bogus.js +6 -0
- package/node_modules/jose/dist/browser/runtime/check_cek_length.js +8 -0
- package/node_modules/jose/dist/browser/runtime/check_key_length.js +8 -0
- package/node_modules/jose/dist/browser/runtime/decrypt.js +91 -0
- package/node_modules/jose/dist/browser/runtime/digest.js +6 -0
- package/node_modules/jose/dist/browser/runtime/ecdhes.js +47 -0
- package/node_modules/jose/dist/browser/runtime/encrypt.js +76 -0
- package/node_modules/jose/dist/browser/runtime/fetch_jwks.js +34 -0
- package/node_modules/jose/dist/browser/runtime/generate.js +143 -0
- package/node_modules/jose/dist/browser/runtime/get_sign_verify_key.js +24 -0
- package/node_modules/jose/dist/browser/runtime/is_key_like.js +8 -0
- package/node_modules/jose/dist/browser/runtime/jwk_to_key.js +104 -0
- package/node_modules/jose/dist/browser/runtime/key_to_jwk.js +21 -0
- package/node_modules/jose/dist/browser/runtime/normalize_key.js +68 -0
- package/node_modules/jose/dist/browser/runtime/pbes2kw.js +51 -0
- package/node_modules/jose/dist/browser/runtime/random.js +2 -0
- package/node_modules/jose/dist/browser/runtime/rsaes.js +37 -0
- package/node_modules/jose/dist/browser/runtime/runtime.js +1 -0
- package/node_modules/jose/dist/browser/runtime/sign.js +11 -0
- package/node_modules/jose/dist/browser/runtime/subtle_dsa.js +28 -0
- package/node_modules/jose/dist/browser/runtime/subtle_rsaes.js +12 -0
- package/node_modules/jose/dist/browser/runtime/timing_safe_equal.js +19 -0
- package/node_modules/jose/dist/browser/runtime/verify.js +16 -0
- package/node_modules/jose/dist/browser/runtime/webcrypto.js +2 -0
- package/node_modules/jose/dist/browser/util/base64url.js +3 -0
- package/node_modules/jose/dist/browser/util/decode_jwt.js +32 -0
- package/node_modules/jose/dist/browser/util/decode_protected_header.js +34 -0
- package/node_modules/jose/dist/browser/util/errors.js +114 -0
- package/node_modules/jose/dist/browser/util/runtime.js +2 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/index.js +32 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jwe/compact/decrypt.js +27 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jwe/compact/encrypt.js +26 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jwe/flattened/decrypt.js +166 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jwe/flattened/encrypt.js +175 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jwe/general/decrypt.js +31 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jwe/general/encrypt.js +178 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jwk/embedded.js +17 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jwk/thumbprint.js +53 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jwks/local.js +116 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jwks/remote.js +76 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jws/compact/sign.js +17 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jws/compact/verify.js +21 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jws/flattened/sign.js +81 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jws/flattened/verify.js +115 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jws/general/sign.js +67 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jws/general/verify.js +24 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jwt/decrypt.js +23 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jwt/encrypt.js +68 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jwt/produce.js +54 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jwt/sign.js +21 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jwt/unsecured.js +32 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/jwt/verify.js +16 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/key/export.js +12 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/key/generate_key_pair.js +4 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/key/generate_secret.js +4 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/key/import.js +50 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/lib/aesgcmkw.js +14 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/lib/buffer_utils.js +51 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/lib/cek.js +20 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/lib/check_iv_length.js +8 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/lib/check_key_type.js +45 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/lib/check_p2s.js +6 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/lib/crypto_key.js +152 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/lib/decrypt_key_management.js +127 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/lib/encrypt_key_management.js +87 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/lib/epoch.js +1 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/lib/format_pem.js +4 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/lib/invalid_key_input.js +30 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/lib/is_disjoint.js +22 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/lib/is_object.js +16 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/lib/iv.js +20 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/lib/jwt_claims_set.js +102 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/lib/secs.js +44 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/lib/validate_algorithms.js +11 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/lib/validate_crit.js +34 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/package.json +1 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/aeskw.js +32 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/asn1.js +202 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/base64url.js +37 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/bogus.js +6 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/check_cek_length.js +8 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/check_key_length.js +8 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/decrypt.js +85 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/digest.js +6 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/ecdhes.js +46 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/encrypt.js +68 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/fetch_jwks.js +34 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/generate.js +141 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/get_sign_verify_key.js +17 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/is_key_like.js +5 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/jwk_to_key.js +143 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/key_to_jwk.js +21 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/pbes2kw.js +51 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/random.js +2 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/rsaes.js +37 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/runtime.js +1 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/sign.js +11 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/subtle_dsa.js +26 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/subtle_rsaes.js +12 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/timing_safe_equal.js +19 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/verify.js +16 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/webcrypto.js +2 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/runtime/zlib.js +7 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/util/base64url.js +3 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/util/decode_jwt.js +32 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/util/decode_protected_header.js +34 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/util/errors.js +158 -0
- package/node_modules/openid-client/node_modules/jose/dist/browser/util/runtime.js +2 -0
- package/package.json +2 -3
- package/static/app/assets/{index-BeAi28iA.js → index-BCZVzMpj.js} +1 -1
- package/static/app/assets/inrupt-smoke.js +36 -37
- package/static/app/assets/main.css +1 -0
- package/static/app/assets/main.js +13 -12
- package/static/app/index.html +2 -2
- package/static/app/inrupt-smoke.html +1 -2
- package/static/dashboard/assets/{AiConfigContext-DelSqO6L.js → AiConfigContext-B5QP7ow2.js} +1 -1
- package/static/dashboard/assets/{AiConfigPage-dbg0aDvd.js → AiConfigPage-C_TdlUjq.js} +1 -1
- package/static/dashboard/assets/DocumentProcessingPanel-CormNOdI.js +1 -0
- package/static/dashboard/assets/IndexLifecyclePanel-S9wNNyHO.js +1 -0
- package/static/dashboard/assets/{IndexSubjectPanel-ClDgj0SY.js → IndexSubjectPanel-CofZT1oE.js} +1 -1
- package/static/dashboard/assets/ModelAssignmentsPanel-9tgOjj-y.js +1 -0
- package/static/dashboard/assets/ModelsPage-DZ46VnUh.js +11 -0
- package/static/dashboard/assets/NetworkPage-TwbIWASf.js +2 -0
- package/static/dashboard/assets/{PaneListHeader-xEjcBu9g.js → PaneListHeader-BtVnyutC.js} +1 -1
- package/static/dashboard/assets/SearchIndexingPanel-BCq_YMOP.js +1 -0
- package/static/dashboard/assets/{StatusSubjectPanel-6s3JXbOd.js → StatusSubjectPanel-DsUKTysU.js} +1 -1
- package/static/dashboard/assets/StatusWorkspace-CaVJBRqI.js +1 -0
- package/static/dashboard/assets/{SystemSettingsPage-CF_vH-qe.js → SystemSettingsPage-DRWfPjtu.js} +1 -1
- package/static/dashboard/assets/SystemSettingsSubjectPanel-CgDP7Ii2.js +33 -0
- package/static/dashboard/assets/{XpodAiConnectionsPodStore-CHM-ZwI3.js → XpodAiConnectionsPodStore-C9tHqutw.js} +1 -1
- package/static/dashboard/assets/{activity-B7UdTZ1N.js → activity-tgjewO88.js} +1 -1
- package/static/dashboard/assets/{badge-B6RuxNt1.js → badge-Czun47II.js} +1 -1
- package/static/dashboard/assets/collection-runtime-DnYlU23-.js +1 -0
- package/static/dashboard/assets/{dashboard-Dm_h60lA.js → dashboard-CF8SbVSR.js} +92 -132
- package/static/dashboard/assets/dashboard-DvuM3VTP.css +1 -0
- package/static/dashboard/assets/dialog-D-Yc_lg-.js +1 -0
- package/static/dashboard/assets/{download-BW035kpj.js → download-vFuOkjCi.js} +1 -1
- package/static/dashboard/assets/{external-link-BMrNvf3c.js → external-link-Cg_VIecD.js} +1 -1
- package/static/dashboard/assets/{index-2jlFzexm.js → index-0au0WwkE.js} +1 -1
- package/static/dashboard/assets/index-IXCNeEwi.js +41 -0
- package/static/dashboard/assets/index-YDcVky3o.js +4 -0
- package/static/dashboard/assets/{key-round-C9vxhn7T.js → key-round-9n1xgLbG.js} +1 -1
- package/static/dashboard/assets/{rotate-ccw-8Vm0-INc.js → rotate-ccw-DJ6s86DW.js} +1 -1
- package/static/dashboard/assets/{skeleton-CY_602wn.js → skeleton-Dg9HePtI.js} +1 -1
- package/static/dashboard/assets/{waypoints-DdEdgkxD.js → waypoints-uxc_qOzk.js} +1 -1
- package/static/dashboard/assets/workspace-layout-BNtAXhPW.js +1 -0
- package/static/dashboard/dashboard.html +2 -2
- package/static/settings/assets/{AiConfigContext-CR3YhTA-.js → AiConfigContext-y6ha7pGs.js} +1 -1
- package/static/settings/assets/{AiConfigPage-DnOvX2Kx.js → AiConfigPage-CIcIWdXA.js} +1 -1
- package/static/settings/assets/DocumentProcessingPanel-Oa_cxMcn.js +1 -0
- package/static/settings/assets/IndexLifecyclePanel-DlrnI0Kh.js +1 -0
- package/static/settings/assets/{IndexSubjectPanel-CP84xXye.js → IndexSubjectPanel-Dhsl0W32.js} +1 -1
- package/static/settings/assets/ModelAssignmentsPanel-CHoiRZeL.js +1 -0
- package/static/settings/assets/ModelsPage-CuNW1hGX.js +11 -0
- package/static/settings/assets/NetworkPage-BBD2Lc_P.js +2 -0
- package/static/settings/assets/{PaneListHeader-Bz0UAhZr.js → PaneListHeader-C81adSBX.js} +1 -1
- package/static/settings/assets/SearchIndexingPanel-Dc4QKWd0.js +1 -0
- package/static/settings/assets/{StatusSubjectPanel-B2Y6ib3d.js → StatusSubjectPanel-DuxOvqzS.js} +1 -1
- package/static/settings/assets/StatusWorkspace-DeD3zi3G.js +1 -0
- package/static/settings/assets/{SystemSettingsPage-BbFkv_Wn.js → SystemSettingsPage-8sHOaPb8.js} +1 -1
- package/static/settings/assets/SystemSettingsSubjectPanel-B1JXut7S.js +33 -0
- package/static/settings/assets/{XpodAiConnectionsPodStore-B11u0BOi.js → XpodAiConnectionsPodStore-G0ClZksP.js} +1 -1
- package/static/settings/assets/{activity-BE8Hz8WF.js → activity-DT8pzOea.js} +1 -1
- package/static/settings/assets/{auth-callback-5waKJF0n.js → auth-callback-1BlsOtMG.js} +1 -1
- package/static/settings/assets/{badge-xeRbYBMf.js → badge-CvKRjSY2.js} +1 -1
- package/static/settings/assets/collection-runtime-C6ZAp2cM.js +1 -0
- package/static/settings/assets/dialog-LFluK7Nx.js +1 -0
- package/static/settings/assets/{download-xI5yyfk7.js → download-CZJeqUm1.js} +1 -1
- package/static/settings/assets/{external-link-DmbiCMuc.js → external-link-BsDft3Oe.js} +1 -1
- package/static/settings/assets/global-DvuM3VTP.css +1 -0
- package/static/settings/assets/{global-BOl78fr8.js → global-cmKEraT4.js} +77 -117
- package/static/settings/assets/index-BMPlaRWG.js +1 -0
- package/static/settings/assets/index-BiqSFOS1.js +4 -0
- package/static/settings/assets/index-XRgmPBKw.js +41 -0
- package/static/settings/assets/{index-browser-Bk7jaLCd.js → index-browser-B0slhJKc.js} +1 -1
- package/static/settings/assets/{key-round-B3VIp8oI.js → key-round-D1XsWbN_.js} +1 -1
- package/static/settings/assets/{rotate-ccw-DRzTN49Z.js → rotate-ccw-CEe0P0fY.js} +1 -1
- package/static/settings/assets/settings-DfjkqEJ8.js +1 -0
- package/static/settings/assets/{skeleton-Ckhw5HG7.js → skeleton-DA404w6m.js} +1 -1
- package/static/settings/assets/{waypoints-BFMI-qS6.js → waypoints-DJDWc4S9.js} +1 -1
- package/static/settings/assets/workspace-layout-K38jT4OV.js +1 -0
- package/static/settings/auth-callback.html +3 -3
- package/static/settings/settings.html +3 -3
- package/dist/api/background-service-supervisor.d.ts +0 -63
- package/dist/api/background-service-supervisor.js +0 -144
- package/dist/api/network/EndpointReachabilityProbe.d.ts +0 -40
- package/dist/api/network/EndpointReachabilityProbe.js +0 -129
- package/dist/edge/acme/CertificateRenewalScheduler.d.ts +0 -67
- package/dist/edge/acme/CertificateRenewalScheduler.js +0 -116
- package/dist/edge/reachability/P2PDataPlaneCrypto.d.ts +0 -42
- package/dist/edge/reachability/P2PDataPlaneCrypto.js +0 -113
- package/dist/edge/reachability/P2PDataPlaneCrypto.jsonld +0 -69
- package/dist/edge/reachability/RouteValidation.d.ts +0 -29
- package/dist/edge/reachability/RouteValidation.js +0 -58
- package/dist/runtime/ingress-occupant.d.ts +0 -39
- package/dist/runtime/ingress-occupant.js +0 -111
- package/dist/runtime/ingress-port.d.ts +0 -89
- package/dist/runtime/ingress-port.js +0 -165
- package/dist/runtime/port-reservations.d.ts +0 -86
- package/dist/runtime/port-reservations.js +0 -183
- package/dist/tunnel/TunnelClientManager.d.ts +0 -73
- package/dist/tunnel/TunnelClientManager.js +0 -181
- package/dist/tunnel/TunnelClientResolver.d.ts +0 -56
- package/dist/tunnel/TunnelClientResolver.js +0 -135
- package/dist/tunnel/TunnelDeclaredOrigin.d.ts +0 -78
- package/dist/tunnel/TunnelDeclaredOrigin.js +0 -185
- package/node_modules/@undefineds.co/extensions/dist-cjs/adapters/langchain.js +0 -49
- package/node_modules/@undefineds.co/extensions/dist-cjs/adapters/llamaindex.js +0 -54
- package/node_modules/@undefineds.co/extensions/dist-cjs/index.js +0 -22
- package/node_modules/@undefineds.co/extensions/dist-cjs/package.json +0 -3
- package/node_modules/@undefineds.co/extensions/dist-cjs/paddleocr.js +0 -304
- package/node_modules/@undefineds.co/extensions/dist-cjs/reader.js +0 -44
- package/node_modules/@undefineds.co/extensions/dist-cjs/registry.js +0 -99
- package/node_modules/@undefineds.co/extensions/dist-cjs/types.js +0 -2
- package/node_modules/openid-client/types/index.d.ts +0 -623
- package/static/app/assets/global.css +0 -1
- package/static/dashboard/assets/DocumentProcessingPanel-0-3nlwQf.js +0 -1
- package/static/dashboard/assets/IndexLifecyclePanel-DOI3IxOD.js +0 -1
- package/static/dashboard/assets/ModelAssignmentsPanel-BSWH19oT.js +0 -1
- package/static/dashboard/assets/ModelsPage-BrzxCkEl.js +0 -11
- package/static/dashboard/assets/NetworkPage-CxEKeaPz.js +0 -2
- package/static/dashboard/assets/SearchIndexingPanel-BGlSvEl5.js +0 -1
- package/static/dashboard/assets/StatusWorkspace-LYMDa4b0.js +0 -1
- package/static/dashboard/assets/SystemSettingsSubjectPanel-hsfHcJRV.js +0 -33
- package/static/dashboard/assets/collection-runtime-CKBQm3Fl.js +0 -1
- package/static/dashboard/assets/dashboard-1zrtbMhM.css +0 -1
- package/static/dashboard/assets/index-CQDQ8WVr.js +0 -4
- package/static/dashboard/assets/workspace-layout-Wed840qR.js +0 -1
- package/static/settings/assets/DocumentProcessingPanel-CccpHBs3.js +0 -1
- package/static/settings/assets/IndexLifecyclePanel-BrECzBoM.js +0 -1
- package/static/settings/assets/ModelAssignmentsPanel-DbFi67Kk.js +0 -1
- package/static/settings/assets/ModelsPage-xjHA88qy.js +0 -11
- package/static/settings/assets/NetworkPage-Bj4wc0bh.js +0 -2
- package/static/settings/assets/SearchIndexingPanel-ykhvw1Vl.js +0 -1
- package/static/settings/assets/StatusWorkspace-tx3Xg56J.js +0 -1
- package/static/settings/assets/SystemSettingsSubjectPanel-CcbpQmTc.js +0 -33
- package/static/settings/assets/collection-runtime-DIBObcT5.js +0 -1
- package/static/settings/assets/global-1zrtbMhM.css +0 -1
- package/static/settings/assets/index-CFVXiUnV.js +0 -4
- package/static/settings/assets/index-DK6qlahe.js +0 -1
- package/static/settings/assets/settings-CCM17CMX.js +0 -1
- package/static/settings/assets/workspace-layout-Co0KpMKd.js +0 -1
- /package/static/app/assets/{global-BGMlqT2c.js → _commonjsHelpers-B-UnjaXt.js} +0 -0
|
@@ -22,16 +22,10 @@ export function AiClientIcon({ client, className = 'h-4 w-4' }) {
|
|
|
22
22
|
}
|
|
23
23
|
export function AiClientConfigurationSection({ bridge, endpoint, client, createClientCredential, manualApiKey, autoApply = false, compact = false, onComplete, }) {
|
|
24
24
|
const [status, setStatus] = useState({ status: 'notConfigured' });
|
|
25
|
-
// §7.3 第 5–6 步:密钥结果、配置写入、Gateway 检查、客户端验证分开呈现
|
|
26
|
-
const [stages, setStages] = useState([]);
|
|
27
25
|
const [dryRun, setDryRun] = useState();
|
|
28
26
|
const [confirmationValue, setConfirmationValue] = useState('');
|
|
29
27
|
const [busy, setBusy] = useState(false);
|
|
30
28
|
const autoApplyStarted = useRef(false);
|
|
31
|
-
/** §7.3 第 3 步:明确选择为这个客户端新建 Key,还是使用用户已有的 Key。 */
|
|
32
|
-
const [keySource, setKeySource] = useState('create');
|
|
33
|
-
/** 写入失败后保留的凭据:重试只重写配置,不再新建 Key(§7.3)。 */
|
|
34
|
-
const leaseRef = useRef(undefined);
|
|
35
29
|
useEffect(() => {
|
|
36
30
|
setDryRun(undefined);
|
|
37
31
|
setConfirmationValue('');
|
|
@@ -64,23 +58,7 @@ export function AiClientConfigurationSection({ bridge, endpoint, client, createC
|
|
|
64
58
|
let lease;
|
|
65
59
|
let applied = false;
|
|
66
60
|
try {
|
|
67
|
-
|
|
68
|
-
lease = leaseRef.current;
|
|
69
|
-
if (!lease) {
|
|
70
|
-
lease = await createClientCredential(client);
|
|
71
|
-
leaseRef.current = lease;
|
|
72
|
-
}
|
|
73
|
-
setStages([
|
|
74
|
-
{
|
|
75
|
-
id: 'key',
|
|
76
|
-
label: '密钥',
|
|
77
|
-
state: 'ok',
|
|
78
|
-
detail: '本次使用这个 Xpod Key;重试不会新建 Key。',
|
|
79
|
-
},
|
|
80
|
-
{ id: 'write', label: '配置写入', state: 'unknown', detail: '正在写入配置…' },
|
|
81
|
-
{ id: 'gateway', label: 'Gateway 检查', state: 'unknown', detail: '本步骤未检查 Xpod 网关。' },
|
|
82
|
-
{ id: 'client', label: '客户端验证', state: 'unknown', detail: '配置已写入,尚未验证客户端。' },
|
|
83
|
-
]);
|
|
61
|
+
lease = await createClientCredential(client);
|
|
84
62
|
await bridge.apply({
|
|
85
63
|
client,
|
|
86
64
|
planId: plan.planId,
|
|
@@ -93,10 +71,6 @@ export function AiClientConfigurationSection({ bridge, endpoint, client, createC
|
|
|
93
71
|
} : {}),
|
|
94
72
|
});
|
|
95
73
|
applied = true;
|
|
96
|
-
leaseRef.current = undefined;
|
|
97
|
-
setStages((current) => current.map((stage) => (stage.id === 'write'
|
|
98
|
-
? { ...stage, state: 'ok', detail: '配置已写入;客户端是否已采用仍未验证。' }
|
|
99
|
-
: stage)));
|
|
100
74
|
setStatus({ status: 'configured' });
|
|
101
75
|
setDryRun(undefined);
|
|
102
76
|
onComplete?.();
|
|
@@ -107,13 +81,13 @@ export function AiClientConfigurationSection({ bridge, endpoint, client, createC
|
|
|
107
81
|
recoveryMessage = `${AI_CLIENT_LABELS[client]} 配置失败。请重试。`;
|
|
108
82
|
}
|
|
109
83
|
if (lease && !applied) {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
84
|
+
try {
|
|
85
|
+
await lease.revoke();
|
|
86
|
+
}
|
|
87
|
+
catch (revokeError) {
|
|
88
|
+
recoveryMessage = `${recoveryMessage};自动撤销 API Key 失败:${errorMessage(revokeError)}。请在“API KEYS”中手动撤销。`;
|
|
89
|
+
}
|
|
113
90
|
}
|
|
114
|
-
setStages((current) => current.map((stage) => (stage.id === 'write'
|
|
115
|
-
? { ...stage, state: 'failed', detail: recoveryMessage }
|
|
116
|
-
: stage)));
|
|
117
91
|
setStatus(failedAndRestoredError(error)
|
|
118
92
|
? { status: 'failedAndRestored', message: '配置写入失败,已自动恢复原配置。' }
|
|
119
93
|
: { status: 'unavailable', message: recoveryMessage });
|
|
@@ -174,14 +148,11 @@ export function AiClientConfigurationSection({ bridge, endpoint, client, createC
|
|
|
174
148
|
const confirmation = dryRun?.confirmation;
|
|
175
149
|
const confirmationSatisfied = !confirmation?.required || confirmationValue === confirmation.token;
|
|
176
150
|
const clientLabel = AI_CLIENT_LABELS[client];
|
|
177
|
-
|
|
178
|
-
const manual = !bridge || keySource === 'existing';
|
|
151
|
+
const manual = !bridge;
|
|
179
152
|
const manualConfig = manualConfigurationText(client, endpoint, manualApiKey);
|
|
180
|
-
return (_jsxs("div", { className: compact ? '' : 'overflow-hidden rounded-md border border-border/60', children: [
|
|
181
|
-
? '本页不会新建 Key:请把已有 Key 粘进客户端配置。共用一个 Key 时,停用它会影响所有使用它的客户端。'
|
|
182
|
-
: '会为这个客户端单独创建一个 Key;停用只影响它自己。' })] })) : null, !compact ? _jsxs("div", { className: "flex flex-wrap items-center gap-2 px-3 py-2", children: [_jsx("span", { className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-muted text-muted-foreground", children: _jsx(AiClientIcon, { client: client }) }), _jsxs("div", { className: "min-w-[10rem] flex-1", children: [_jsx("div", { className: "text-sm font-medium", children: clientLabel }), !manual ? _jsx("div", { className: "mt-0.5 text-xs text-muted-foreground", children: status.message ?? (status.status === 'configured'
|
|
153
|
+
return (_jsxs("div", { className: compact ? '' : 'overflow-hidden rounded-md border border-border/60', children: [!compact ? _jsxs("div", { className: "flex flex-wrap items-center gap-2 px-3 py-2", children: [_jsx("span", { className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-muted text-muted-foreground", children: _jsx(AiClientIcon, { client: client }) }), _jsxs("div", { className: "min-w-[10rem] flex-1", children: [_jsx("div", { className: "text-sm font-medium", children: clientLabel }), !manual ? _jsx("div", { className: "mt-0.5 text-xs text-muted-foreground", children: status.message ?? (status.status === 'configured'
|
|
183
154
|
? `${clientLabel} 正在使用 Xpod。`
|
|
184
|
-
: '可自动写入本机配置。') }) : null] }), !manual ? _jsx(Badge, { variant: "secondary", children: statusLabel(status.status) }) : null, manual ? (_jsx(AiCopyButton, { value: manualConfig, label: `${clientLabel} 配置`, variant: "ghost", size: "icon", iconClassName: "h-4 w-4" })) : (_jsxs("div", { className: "flex items-center gap-1", children: [_jsx(Button, { variant: "outline", size: "sm", "aria-label": `配置 ${clientLabel}`, disabled: busy, onClick: () => void plan(), children: "\u914D\u7F6E" }), _jsx(Button, { variant: "ghost", size: "icon", "aria-label": `恢复 ${clientLabel} 配置`, disabled: status.status === 'notConfigured' || busy, onClick: () => void restore(), children: _jsx(RotateCcw, { className: "h-4 w-4" }) })] }))] }) : null, compact && busy ? (_jsxs("div", { className: "py-1 text-xs text-muted-foreground", children: ["\u6B63\u5728\u5E94\u7528 ", clientLabel, " \u914D\u7F6E\u2026"] })) : null, compact && !busy && status.message ? (_jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2 py-1 text-xs text-destructive", children: [_jsx("span", { children: status.message }), _jsx(Button, { variant: "outline", size: "sm", onClick: () => void plan(), children: "\u91CD\u8BD5\u5E94\u7528\u914D\u7F6E" })] })) : null,
|
|
155
|
+
: '可自动写入本机配置。') }) : null] }), !manual ? _jsx(Badge, { variant: "secondary", children: statusLabel(status.status) }) : null, manual ? (_jsx(AiCopyButton, { value: manualConfig, label: `${clientLabel} 配置`, variant: "ghost", size: "icon", iconClassName: "h-4 w-4" })) : (_jsxs("div", { className: "flex items-center gap-1", children: [_jsx(Button, { variant: "outline", size: "sm", "aria-label": `配置 ${clientLabel}`, disabled: busy, onClick: () => void plan(), children: "\u914D\u7F6E" }), _jsx(Button, { variant: "ghost", size: "icon", "aria-label": `恢复 ${clientLabel} 配置`, disabled: status.status === 'notConfigured' || busy, onClick: () => void restore(), children: _jsx(RotateCcw, { className: "h-4 w-4" }) })] }))] }) : null, compact && busy ? (_jsxs("div", { className: "py-1 text-xs text-muted-foreground", children: ["\u6B63\u5728\u5E94\u7528 ", clientLabel, " \u914D\u7F6E\u2026"] })) : null, compact && !busy && status.message ? (_jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2 py-1 text-xs text-destructive", children: [_jsx("span", { children: status.message }), _jsx(Button, { variant: "outline", size: "sm", onClick: () => void plan(), children: "\u91CD\u8BD5\u5E94\u7528\u914D\u7F6E" })] })) : null, dryRun ? (_jsxs("div", { className: "space-y-3 border-t border-border/60 bg-muted/20 px-4 py-3", children: [_jsx("div", { className: "text-xs font-medium", children: "\u5C06\u6267\u884C\u4EE5\u4E0B\u66F4\u6539" }), dryRun.changes.map((change) => (_jsxs("div", { className: "text-xs text-muted-foreground", children: [_jsx("span", { className: "font-mono", children: change.target }), ' · ', changeActionLabel(change.action), change.backup ? ' · 创建备份' : ''] }, `${change.target}:${change.action}`))), confirmation?.required ? (_jsxs("div", { className: "space-y-2", children: [confirmation.message ? _jsx("div", { className: "text-xs text-muted-foreground", children: confirmation.message }) : null, _jsxs("div", { className: "text-xs text-muted-foreground", children: ["\u786E\u8BA4\u7801\uFF1A", _jsx("code", { className: "font-mono text-foreground", children: confirmation.token })] }), _jsx(Input, { "aria-label": `输入确认码以应用 ${clientLabel} 配置`, value: confirmationValue, onChange: (event) => setConfirmationValue(event.target.value) })] })) : null, _jsxs("div", { className: "flex gap-2", children: [_jsx(Button, { size: "sm", "aria-label": confirmation?.required
|
|
185
156
|
? `确认并应用 ${clientLabel} 配置`
|
|
186
157
|
: `应用 ${clientLabel} 配置`, disabled: !createClientCredential || busy || !confirmationSatisfied, onClick: () => void apply(), children: confirmation?.required ? '确认并应用' : '应用配置' }), _jsx(Button, { variant: "ghost", size: "sm", disabled: busy, onClick: () => {
|
|
187
158
|
setDryRun(undefined);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useContext, useRef
|
|
2
|
+
import { useContext, useRef } from 'react';
|
|
3
3
|
import { Avatar, AvatarFallback, AvatarImage, cn } from '@undefineds.co/shared-ui';
|
|
4
4
|
import { WorkspaceLayoutContext } from '@undefineds.co/extension-sdk/react';
|
|
5
5
|
import { XPOD_AVATAR, getProviderAvatar, getProviderAvatarBackground } from './provider-visuals.js';
|
|
@@ -26,20 +26,9 @@ export function AiConnectionsList({ controller }) {
|
|
|
26
26
|
const providers = searchQuery
|
|
27
27
|
? providerItems.filter((provider) => providerDisplayName(provider, providerProducts).toLocaleLowerCase().includes(searchQuery))
|
|
28
28
|
: providerItems;
|
|
29
|
-
// §7.3:已有配置时先呈现已连接对象,全量 Provider 目录只在"添加连接"时出现;
|
|
30
|
-
// 什么都没配置时,目录本身就是连接任务的入口,直接出现。
|
|
31
|
-
const [adding, setAdding] = useState(false);
|
|
32
|
-
const configured = (provider) => {
|
|
33
|
-
const state = providerStates[provider.id];
|
|
34
|
-
return state === 'configured' || state === 'connected';
|
|
35
|
-
};
|
|
36
|
-
const configuredProviders = providers.filter(configured);
|
|
37
|
-
const catalogProviders = providers.filter((provider) => !configured(provider));
|
|
38
|
-
const showCatalog = adding || configuredProviders.length === 0;
|
|
39
|
-
const shownProviders = showCatalog ? providers : configuredProviders;
|
|
40
29
|
const items = [
|
|
41
30
|
...AI_CONNECTIONS_PINNED_SECTIONS.map((section) => ({ kind: 'section', id: section.id, label: section.label })),
|
|
42
|
-
...
|
|
31
|
+
...providers.map((provider) => ({ kind: 'provider', provider })),
|
|
43
32
|
];
|
|
44
33
|
const optionRefs = useRef([]);
|
|
45
34
|
const selectedIndex = items.findIndex((item) => item.kind === 'section'
|
|
@@ -56,14 +45,14 @@ export function AiConnectionsList({ controller }) {
|
|
|
56
45
|
return (_jsxs("div", { role: "listbox", "aria-label": "AI \u670D\u52A1", "aria-orientation": "vertical", className: "py-2", children: [_jsx("section", { className: "mb-3", "aria-label": "API Keys", children: items.filter((item) => item.kind === 'section').map((item) => {
|
|
57
46
|
const index = items.indexOf(item);
|
|
58
47
|
return (_jsxs(WorkspaceOption, { index: index, selected: selectedSection === item.id, tabbable: selectedIndex === index || (selectedIndex < 0 && index === 0), label: item.label, optionRefs: optionRefs, onActivate: () => activate(item), onMove: (nextIndex) => moveSelection(items, nextIndex, controller, optionRefs), children: [_jsx(PinnedMark, { section: item.id }), _jsx("span", { className: cn('min-w-0 flex-1 truncate text-sm font-medium', selectedSection === item.id ? 'text-foreground' : 'text-foreground/80'), children: item.label })] }, item.id));
|
|
59
|
-
}) }), _jsxs("section", {
|
|
48
|
+
}) }), _jsxs("section", { children: [_jsx("h2", { className: "px-5 py-1 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground", children: "Provider" }), providers.map((provider) => {
|
|
60
49
|
const index = items.findIndex((item) => item.kind === 'provider'
|
|
61
50
|
&& item.provider.id === provider.id
|
|
62
51
|
&& item.provider.credentialId === provider.credentialId);
|
|
63
52
|
const selected = selectedSection === 'provider' && selectedProvider === provider.id && provider.credentialId === selectedCredentialId;
|
|
64
53
|
const state = providerStates[provider.id] ?? 'loading';
|
|
65
54
|
return (_jsxs(WorkspaceOption, { index: index, selected: selected, tabbable: selected || (selectedIndex < 0 && index === 0), label: providerDisplayName(provider, providerProducts), describedBy: `ai-connections-provider-${provider.id}-${provider.credentialId ?? 'default'}-status`, optionRefs: optionRefs, onActivate: () => activate({ kind: 'provider', provider }), onMove: (nextIndex) => moveSelection(items, nextIndex, controller, optionRefs), children: [_jsxs(Avatar, { className: "h-9 w-9 shrink-0 rounded-md border border-border/20", style: getProviderAvatarBackground(provider.id) ? { backgroundColor: getProviderAvatarBackground(provider.id) } : undefined, children: [_jsx(AvatarImage, { src: getProviderAvatar(provider.id), className: "object-cover" }), _jsx(AvatarFallback, { className: "rounded-md bg-muted text-[10px] font-bold uppercase text-muted-foreground", children: providerMark(provider.id) })] }), _jsx("span", { className: cn('min-w-0 flex-1 truncate text-sm font-medium', selected ? 'text-foreground' : 'text-foreground/80'), children: providerDisplayName(provider, providerProducts) }), _jsx(ProviderStateIndicator, { state: state, statusId: `ai-connections-provider-${provider.id}-${provider.credentialId ?? 'default'}-status` })] }, `${provider.id}:${provider.credentialId ?? 'default'}`));
|
|
66
|
-
}),
|
|
55
|
+
}), providers.length === 0 ? (_jsx("p", { className: "p-8 text-center text-xs text-muted-foreground", children: "\u65E0\u7ED3\u679C" })) : null] }), providerLoadError ? (_jsxs("p", { className: "px-4 py-2 text-xs text-destructive", children: ["Provider \u72B6\u6001\u8BFB\u53D6\u5931\u8D25\uFF1A", providerLoadError] })) : null] }));
|
|
67
56
|
}
|
|
68
57
|
function WorkspaceOption({ index, selected, tabbable, label, describedBy, statusId, optionRefs, onActivate, onMove, children, }) {
|
|
69
58
|
const handleKeyDown = (event) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type AiConnectionsClient, type AiConnectionsProvider, type AiProviderConnectionSummary, type AiProviderSummary } from './contract/ai-connections-client';
|
|
2
2
|
import { type AiConnectionsWorkspaceSection, type ProviderProductState } from './controller';
|
|
3
|
-
import {
|
|
3
|
+
import type { AiClientConfigurationBridge } from './AiClientConfigurationSection';
|
|
4
4
|
import { type CredentialRow } from './collections';
|
|
5
5
|
export interface AiConnectionsPanelProps {
|
|
6
6
|
client: AiConnectionsClient;
|
|
@@ -7,13 +7,11 @@ import { offeringTitle } from './offering-label.js';
|
|
|
7
7
|
import { AiProviderCard, } from './AiProviderCard.js';
|
|
8
8
|
import { AiModelEditorDialog, } from './AiModelEditorDialog.js';
|
|
9
9
|
import { AiGatewayKeysSection } from './AiGatewayKeysSection.js';
|
|
10
|
-
import { AI_CLIENT_LABELS, AI_CONNECTIONS_CLIENTS, AiClientConfigurationSection, } from './AiClientConfigurationSection.js';
|
|
11
10
|
import { credentialCarriers, withLiveCredentials } from './collections.js';
|
|
12
11
|
import { modelCatalogId, withCatalogModelId } from './AiModelCatalog.js';
|
|
13
12
|
const EMPTY_PROVIDER_SUMMARIES = {};
|
|
14
13
|
export function AiConnectionsPanel({ client, renderToaster = true, openExternal = openExternalUrl, clientConfigurationBridge, selectedSection = 'provider', selectedProvider, selectedCredentialId, providerSummaries: providerSummariesInput = EMPTY_PROVIDER_SUMMARIES, providerProducts = {}, providerLoadError, providerLoading = false, onProviderStateChange, onModelSelectionChange, liveRevision = 0, liveCredentialRows, }) {
|
|
15
14
|
const [connectionStates, setConnectionStates] = useState({});
|
|
16
|
-
const [activeClient, setActiveClient] = useState(AI_CONNECTIONS_CLIENTS[0]);
|
|
17
15
|
const [models, setModels] = useState([]);
|
|
18
16
|
const [gatewayModels, setGatewayModels] = useState();
|
|
19
17
|
const [gatewayCatalogVersion, setGatewayCatalogVersion] = useState(0);
|
|
@@ -707,9 +705,8 @@ export function AiConnectionsPanel({ client, renderToaster = true, openExternal
|
|
|
707
705
|
[definition.id]: value,
|
|
708
706
|
})), onBeginApiKey: () => void beginApiKey(definition.id), onBeginOffering: (offering, mode, method) => void beginOfferingConnect(definition.id, offering, mode, method), onCancelConnect: (attempt) => void cancelConnect(definition.id, attempt), onBeginBrowser: () => void beginBrowserConnect(definition), onSaveApiKey: () => void saveApiKey(definition), onDisconnect: (credential) => void disconnect(definition.id, credential?.id), onCreateApiKeyCredential: (offering, input) => createApiKeyCredential(definition.id, offering, input), onCreateLocalCredential: (offering, method) => createLocalCredential(definition.id, offering, method), onUpdateCredential: (credential, patch) => updateProviderCredential(definition.id, credential, patch), onDeleteCredential: (credential) => void deleteProviderCredential(definition.id, credential), onTestCredential: (credential) => void testProviderCredential(definition.id, credential), onReorderCredentials: (offering, credentials, fromIndex, toIndex) => void reorderProviderCredentials(definition.id, offering, credentials, fromIndex, toIndex), onRefreshQuota: (offering, credential) => void refreshQuota(definition.id, offering, credential), verifyPending: Boolean(verifyingProviders[definition.id]), onVerify: () => void verifyProvider(definition.id), onAddModel: () => openModelEditor(definition.id), onEditModel: (model) => openModelEditor(definition.id, model), onDeleteModel: (model) => void deleteProviderModel(definition.id, model), onModelSelectionChange: handleModelSelectionChange, onDismissError: () => setProviderError(definition.id) }, definition.id));
|
|
709
707
|
})] }));
|
|
710
|
-
const clientsContent = (_jsxs("section", { "data-testid": "ai-client-first", className: "space-y-4", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-base font-semibold", children: "\u8FDE\u63A5\u5BA2\u6237\u7AEF" }), _jsx("p", { className: "mt-1 text-sm text-muted-foreground", children: "\u5148\u9009\u8981\u63A5\u5165\u7684\u5BA2\u6237\u7AEF\uFF0C\u518D\u51B3\u5B9A\u590D\u7528\u5DF2\u6709 API Key \u8FD8\u662F\u65B0\u5EFA\u4E00\u4E2A\uFF1B\u914D\u7F6E\u5199\u5165\u4E0E\u9A8C\u8BC1\u7ED3\u679C\u4F1A\u5206\u6B65\u663E\u793A\u3002" })] }), _jsx("div", { role: "tablist", "aria-label": "\u9009\u62E9\u5BA2\u6237\u7AEF", className: "flex flex-wrap gap-2", children: AI_CONNECTIONS_CLIENTS.map((candidate) => (_jsx("button", { type: "button", role: "tab", "aria-selected": candidate === activeClient, "data-testid": `ai-client-choice-${candidate}`, className: `rounded-lg border px-3 py-1.5 text-sm ${candidate === activeClient ? 'border-primary bg-accent text-accent-foreground' : 'border-border text-foreground hover:bg-accent/60'}`, onClick: () => setActiveClient(candidate), children: AI_CLIENT_LABELS[candidate] }, candidate))) }), _jsx(AiClientConfigurationSection, { bridge: clientConfigurationBridge, client: activeClient, endpoint: client.apiBase })] }));
|
|
711
708
|
const keyContent = (_jsx(AiGatewayKeysSection, { client: client, clientConfigurationBridge: clientConfigurationBridge, gatewayModels: gatewayModels, modelSelection: gatewayModelSelection, liveRevision: liveRevision }));
|
|
712
|
-
return (_jsxs("div", { "data-testid": "ai-connections-panel", className: "mx-auto w-full max-w-5xl space-y-10 px-4 py-6 sm:px-8 sm:py-8", children: [renderToaster ? _jsx(Toaster, {}) : null, selectedSection === '
|
|
709
|
+
return (_jsxs("div", { "data-testid": "ai-connections-panel", className: "mx-auto w-full max-w-5xl space-y-10 px-4 py-6 sm:px-8 sm:py-8", children: [renderToaster ? _jsx(Toaster, {}) : null, selectedSection === 'keys' ? keyContent : null, selectedSection === 'provider' ? providerContent : null, selectedSection === 'provider' && modelEditor ? (_jsx(AiModelEditorDialog, { open: true, providerName: PROVIDERS.find((definition) => definition.id === modelEditor.provider)?.name ?? modelEditor.provider, initialValue: modelEditor.model
|
|
713
710
|
? {
|
|
714
711
|
id: modelEditor.model.id,
|
|
715
712
|
name: modelEditor.model.displayName ?? '',
|
|
@@ -9,13 +9,9 @@ export interface AiGatewayKeyBinding {
|
|
|
9
9
|
* carries only the purpose declared at creation, the client it was written
|
|
10
10
|
* into, when it was last used, and the one action that still applies: destroy.
|
|
11
11
|
*/
|
|
12
|
-
export declare function AiGatewayKeyRow({ record, busy,
|
|
12
|
+
export declare function AiGatewayKeyRow({ record, busy, onDestroy, }: {
|
|
13
13
|
record: GatewayKeyRecord;
|
|
14
14
|
busy: boolean;
|
|
15
|
-
/** §7.3:销毁前先说明影响,第二次点击才真正删除。 */
|
|
16
|
-
confirming?: boolean;
|
|
17
|
-
onRequestDestroy: () => void;
|
|
18
|
-
onCancelDestroy: () => void;
|
|
19
15
|
onDestroy: () => void;
|
|
20
16
|
}): import("react").JSX.Element;
|
|
21
17
|
/** Where the credential is in effect: the client application and the device. */
|
|
@@ -7,14 +7,14 @@ import { AI_CLIENT_LABELS, AI_CONNECTIONS_CLIENTS, AiClientIcon, } from './AiCli
|
|
|
7
7
|
* carries only the purpose declared at creation, the client it was written
|
|
8
8
|
* into, when it was last used, and the one action that still applies: destroy.
|
|
9
9
|
*/
|
|
10
|
-
export function AiGatewayKeyRow({ record, busy,
|
|
10
|
+
export function AiGatewayKeyRow({ record, busy, onDestroy, }) {
|
|
11
11
|
const label = record.name || '未命名 API Key';
|
|
12
12
|
const binding = gatewayKeyBinding(record);
|
|
13
13
|
// Credentials issued through CSS are revoked by client id; a record without
|
|
14
14
|
// one cannot be destroyed from here, so the row says so instead of offering
|
|
15
15
|
// an action that always fails.
|
|
16
16
|
const destroyable = record.kind !== 'client-credentials' || Boolean(record.clientCredentialId);
|
|
17
|
-
return (_jsxs("li", { "data-key-id": record.id, "data-key-binding": record.appliedTo ? 'bound' : 'unbound', className: "flex flex-wrap items-center gap-x-4 gap-y-2 border-b border-border/60 px-4 py-3 first:rounded-t-xl last:rounded-b-xl last:border-b-0", children: [_jsxs("dl", { className: "flex min-w-0 flex-1 basis-64 flex-wrap items-center gap-x-6 gap-y-2", children: [_jsx(KeyField, { label: "\u7528\u9014", className: "min-w-0 flex-1 basis-28", children: _jsx("span", { className: "block truncate text-sm font-medium text-foreground/90", title: label, children: label }) }), _jsx(KeyField, { label: "\u7ED1\u5B9A", className: "min-w-0 flex-1 basis-28", children: _jsxs("span", { className: "flex min-w-0 items-center gap-1.5 text-xs text-muted-foreground", children: [binding.clientId ? _jsx(AiClientIcon, { client: binding.clientId, className: "h-3.5 w-3.5" }) : null, _jsx("span", { className: "truncate", title: binding.label, children: binding.label })] }) }), _jsx(KeyField, { label: "\u6700\u540E\u4F7F\u7528", className: "shrink-0", children: _jsx("span", { className: "block text-xs text-muted-foreground", children: record.lastUsedAt ? formatTimestamp(record.lastUsedAt) : '暂无调用记录' }) })] }), destroyable ?
|
|
17
|
+
return (_jsxs("li", { "data-key-id": record.id, "data-key-binding": record.appliedTo ? 'bound' : 'unbound', className: "flex flex-wrap items-center gap-x-4 gap-y-2 border-b border-border/60 px-4 py-3 first:rounded-t-xl last:rounded-b-xl last:border-b-0", children: [_jsxs("dl", { className: "flex min-w-0 flex-1 basis-64 flex-wrap items-center gap-x-6 gap-y-2", children: [_jsx(KeyField, { label: "\u7528\u9014", className: "min-w-0 flex-1 basis-28", children: _jsx("span", { className: "block truncate text-sm font-medium text-foreground/90", title: label, children: label }) }), _jsx(KeyField, { label: "\u7ED1\u5B9A", className: "min-w-0 flex-1 basis-28", children: _jsxs("span", { className: "flex min-w-0 items-center gap-1.5 text-xs text-muted-foreground", children: [binding.clientId ? _jsx(AiClientIcon, { client: binding.clientId, className: "h-3.5 w-3.5" }) : null, _jsx("span", { className: "truncate", title: binding.label, children: binding.label })] }) }), _jsx(KeyField, { label: "\u6700\u540E\u4F7F\u7528", className: "shrink-0", children: _jsx("span", { className: "block text-xs text-muted-foreground", children: record.lastUsedAt ? formatTimestamp(record.lastUsedAt) : '暂无调用记录' }) })] }), destroyable ? (_jsxs(Button, { variant: "ghost", size: "sm", className: "h-8 shrink-0 gap-1.5 text-xs text-muted-foreground hover:text-destructive", "aria-label": `销毁 ${label}`, title: `销毁 ${label}`, disabled: busy, onClick: onDestroy, children: [_jsx(Trash2, { "aria-hidden": "true", className: "h-3.5 w-3.5" }), "\u9500\u6BC1"] })) : (_jsx("span", { className: "shrink-0 text-[11px] text-muted-foreground", children: "\u7F3A\u5C11 CSS \u51ED\u636E\u6807\u8BC6\uFF0C\u65E0\u6CD5\u5728\u6B64\u9500\u6BC1" }))] }));
|
|
18
18
|
}
|
|
19
19
|
/** Where the credential is in effect: the client application and the device. */
|
|
20
20
|
export function gatewayKeyBinding(record) {
|
|
@@ -31,7 +31,6 @@ const SELECT_CLASS = [
|
|
|
31
31
|
*/
|
|
32
32
|
export function AiGatewayKeysSection({ client, clientConfigurationBridge, gatewayModels, modelSelection, liveRevision = 0, }) {
|
|
33
33
|
const [keys, setKeys] = useState([]);
|
|
34
|
-
const [confirmingKeyId, setConfirmingKeyId] = useState(undefined);
|
|
35
34
|
const [loading, setLoading] = useState(true);
|
|
36
35
|
const [showCreate, setShowCreate] = useState(false);
|
|
37
36
|
const [name, setName] = useState(DEFAULT_KEY_NAME);
|
|
@@ -225,10 +224,7 @@ export function AiGatewayKeysSection({ client, clientConfigurationBridge, gatewa
|
|
|
225
224
|
setBusyKeyId(undefined);
|
|
226
225
|
}
|
|
227
226
|
};
|
|
228
|
-
return (_jsx(TooltipProvider, { children: _jsxs("section", { className: "space-y-8", "aria-label": "API Keys", children: [_jsx(AiProviderHeader, { name: "Xpod", mark: "XP", avatar: XPOD_AVATAR, infoLabel: "Xpod \u8BF4\u660E", infoLines: [XPOD_DESCRIPTION, XPOD_CREDENTIAL_NOTE], link: { href: client.apiBase, label: '访问 Xpod' }, badge: (_jsx(Badge, { variant: keys.length > 0 ? 'default' : 'secondary', children: keys.length > 0 ? `已签发 ${keys.length} 个` : '未配置' })) }), _jsxs("section", { className: "space-y-3", "aria-label": "\u5F53\u524D\u8FDE\u63A5", children: [_jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [_jsxs("h3", { className: "flex items-center gap-2 text-sm font-medium text-foreground/90", children: [_jsx(Settings2, { "aria-hidden": "true", className: "h-4 w-4 text-primary" }), "\u5F53\u524D\u8FDE\u63A5"] }), _jsx("div", { className: "flex flex-wrap items-center justify-end gap-2", children: _jsxs(Button, { variant: "outline", size: "sm", className: "h-8 gap-1.5 text-xs", "aria-label": "\u65B0\u5EFA API Key", disabled: creating || loading, onClick: openCreate, children: [_jsx(Plus, { "aria-hidden": "true", className: "h-3.5 w-3.5" }), "API Key"] }) })] }), loading ? (_jsxs("div", { className: "flex items-center gap-2 py-6 text-sm text-muted-foreground", children: [_jsx(Loader2, { "aria-hidden": "true", className: "h-4 w-4 animate-spin" }), "\u6B63\u5728\u8BFB\u53D6 API Key"] })) : keys.length === 0 ? (_jsx("p", { className: "py-2 text-xs text-muted-foreground", children: "\u5C1A\u672A\u7B7E\u53D1 API Key" })) : (_jsx("ul", { "aria-label": "API Key \u5217\u8868", className: "rounded-xl border border-border/70", children: keys.map((record) => (_jsx(AiGatewayKeyRow, { record: record, busy: Boolean(busyKeyId),
|
|
229
|
-
setConfirmingKeyId(undefined);
|
|
230
|
-
void destroy(record);
|
|
231
|
-
} }, record.id))) })), _jsxs("details", { className: "text-xs text-muted-foreground", children: [_jsx("summary", { className: "w-fit cursor-pointer", children: "\u63A5\u5165\u4FE1\u606F" }), _jsx("div", { className: "mt-2 space-y-3", children: _jsxs("section", { className: "space-y-2", "aria-labelledby": "xpod-access-info", children: [_jsx("h4", { id: "xpod-access-info", className: "text-sm font-medium text-foreground", children: "Xpod \u63A5\u5165\u4FE1\u606F" }), _jsx("p", { className: "text-xs text-muted-foreground", children: "API Key \u662F\u7B7E\u53D1\u7ED9\u5BA2\u6237\u7AEF\u5E94\u7528\u7684 CSS \u5BA2\u6237\u7AEF\u51ED\u636E\uFF1BPod \u53EA\u8BB0\u5F55\u5B83\u7ED1\u5B9A\u5230\u54EA\u4E2A\u5BA2\u6237\u7AEF\uFF0C\u4E0D\u4FDD\u5B58 Key \u660E\u6587\u3002" }), _jsx("p", { className: "text-xs text-muted-foreground", children: "\u540C\u4E00\u4E2A API Key \u652F\u6301\u4EE5\u4E0B\u517C\u5BB9\u534F\u8BAE\uFF0C\u6309\u5BA2\u6237\u7AEF\u9009\u62E9\u5E76\u590D\u5236\u5BF9\u5E94\u5730\u5740\uFF1A" }), _jsx(AiEndpointList, { endpoints: xpodProtocolEndpoints(client.apiBase), copy: true, display: "protocol" })] }) })] })] }), _jsx(AiGatewayModelsSection, { models: gatewayModels, selection: modelSelection }), _jsx(Dialog, { open: showCreate, onOpenChange: (open) => { if (!open && (creating || applying))
|
|
227
|
+
return (_jsx(TooltipProvider, { children: _jsxs("section", { className: "space-y-8", "aria-label": "API Keys", children: [_jsx(AiProviderHeader, { name: "Xpod", mark: "XP", avatar: XPOD_AVATAR, infoLabel: "Xpod \u8BF4\u660E", infoLines: [XPOD_DESCRIPTION, XPOD_CREDENTIAL_NOTE], link: { href: client.apiBase, label: '访问 Xpod' }, badge: (_jsx(Badge, { variant: keys.length > 0 ? 'default' : 'secondary', children: keys.length > 0 ? `已签发 ${keys.length} 个` : '未配置' })) }), _jsxs("section", { className: "space-y-3", "aria-label": "\u5F53\u524D\u8FDE\u63A5", children: [_jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [_jsxs("h3", { className: "flex items-center gap-2 text-sm font-medium text-foreground/90", children: [_jsx(Settings2, { "aria-hidden": "true", className: "h-4 w-4 text-primary" }), "\u5F53\u524D\u8FDE\u63A5"] }), _jsx("div", { className: "flex flex-wrap items-center justify-end gap-2", children: _jsxs(Button, { variant: "outline", size: "sm", className: "h-8 gap-1.5 text-xs", "aria-label": "\u65B0\u5EFA API Key", disabled: creating || loading, onClick: openCreate, children: [_jsx(Plus, { "aria-hidden": "true", className: "h-3.5 w-3.5" }), "API Key"] }) })] }), loading ? (_jsxs("div", { className: "flex items-center gap-2 py-6 text-sm text-muted-foreground", children: [_jsx(Loader2, { "aria-hidden": "true", className: "h-4 w-4 animate-spin" }), "\u6B63\u5728\u8BFB\u53D6 API Key"] })) : keys.length === 0 ? (_jsx("p", { className: "py-2 text-xs text-muted-foreground", children: "\u5C1A\u672A\u7B7E\u53D1 API Key" })) : (_jsx("ul", { "aria-label": "API Key \u5217\u8868", className: "rounded-xl border border-border/70", children: keys.map((record) => (_jsx(AiGatewayKeyRow, { record: record, busy: Boolean(busyKeyId), onDestroy: () => void destroy(record) }, record.id))) })), _jsxs("details", { className: "text-xs text-muted-foreground", children: [_jsx("summary", { className: "w-fit cursor-pointer", children: "\u63A5\u5165\u4FE1\u606F" }), _jsx("div", { className: "mt-2 space-y-3", children: _jsxs("section", { className: "space-y-2", "aria-labelledby": "xpod-access-info", children: [_jsx("h4", { id: "xpod-access-info", className: "text-sm font-medium text-foreground", children: "Xpod \u63A5\u5165\u4FE1\u606F" }), _jsx("p", { className: "text-xs text-muted-foreground", children: "API Key \u662F\u7B7E\u53D1\u7ED9\u5BA2\u6237\u7AEF\u5E94\u7528\u7684 CSS \u5BA2\u6237\u7AEF\u51ED\u636E\uFF1BPod \u53EA\u8BB0\u5F55\u5B83\u7ED1\u5B9A\u5230\u54EA\u4E2A\u5BA2\u6237\u7AEF\uFF0C\u4E0D\u4FDD\u5B58 Key \u660E\u6587\u3002" }), _jsx("p", { className: "text-xs text-muted-foreground", children: "\u540C\u4E00\u4E2A API Key \u652F\u6301\u4EE5\u4E0B\u517C\u5BB9\u534F\u8BAE\uFF0C\u6309\u5BA2\u6237\u7AEF\u9009\u62E9\u5E76\u590D\u5236\u5BF9\u5E94\u5730\u5740\uFF1A" }), _jsx(AiEndpointList, { endpoints: xpodProtocolEndpoints(client.apiBase), copy: true, display: "protocol" })] }) })] })] }), _jsx(AiGatewayModelsSection, { models: gatewayModels, selection: modelSelection }), _jsx(Dialog, { open: showCreate, onOpenChange: (open) => { if (!open && (creating || applying))
|
|
232
228
|
return; setShowCreate(open); }, children: _jsxs(DialogContent, { className: "sm:max-w-md", "aria-describedby": undefined, children: [_jsx(DialogHeader, { children: _jsx(DialogTitle, { children: issued ? 'API Key 已签发' : '新建 API Key' }) }), issued && issuedClient ? (_jsxs("div", { className: "space-y-5", children: [_jsxs("div", { className: "space-y-1.5", children: [_jsxs("p", { className: "text-sm", children: ["\u5DF2\u7B7E\u53D1\u300C", issued.name || '未命名 API Key', "\u300D\uFF0C\u7528\u9014\uFF1A", AI_CLIENT_LABELS[issuedClient], "\u3002"] }), _jsx("p", { className: "text-xs text-muted-foreground", children: "Xpod \u4E0D\u4FDD\u5B58 Key \u660E\u6587\uFF0C\u8BF7\u7ACB\u5373\u590D\u5236\u6216\u76F4\u63A5\u5E94\u7528\u5230\u5BA2\u6237\u7AEF\uFF1B\u79BB\u5F00\u672C\u6B21\u4F1A\u8BDD\u540E\u65E0\u6CD5\u518D\u6B21\u83B7\u53D6\u3002" })] }), issued.maskedHint ? (_jsx("code", { className: "block truncate rounded-md border border-border/60 bg-muted/30 px-3 py-2 font-mono text-xs text-muted-foreground", children: issued.maskedHint })) : null, !clientConfigurationBridge ? (_jsx("p", { className: "text-xs text-muted-foreground", children: "\u5F53\u524D Web \u73AF\u5883\u65E0\u6CD5\u81EA\u52A8\u5199\u5165\u5BA2\u6237\u7AEF\u914D\u7F6E\uFF0C\u8BF7\u590D\u5236\u540E\u624B\u52A8\u7C98\u8D34\uFF1B\u81EA\u52A8\u5E94\u7528\u9700\u8981\u672C\u673A\u8FDE\u63A5\u3002" })) : null, error ? _jsx("p", { role: "alert", className: "text-sm text-destructive", children: error }) : null, _jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsx(AiCopyButton, { value: () => sessionPlaintext(issued, UNPERSISTED_COPY_MESSAGE), label: "API Key", text: "\u590D\u5236 API Key", disabled: applying, iconClassName: "mr-1.5 h-3.5 w-3.5", copiedIconClassName: "mr-1.5 h-3.5 w-3.5 text-emerald-600", onError: (cause) => setError(errorMessage(cause)) }), _jsx(AiCopyButton, { value: () => manualConfigurationText(issuedClient, client.apiBase, sessionPlaintext(issued, UNPERSISTED_COPY_MESSAGE)), label: `${AI_CLIENT_LABELS[issuedClient]} 配置`, text: `复制 ${AI_CLIENT_LABELS[issuedClient]} 配置`, disabled: applying, iconClassName: "mr-1.5 h-3.5 w-3.5", copiedIconClassName: "mr-1.5 h-3.5 w-3.5 text-emerald-600", onError: (cause) => setError(errorMessage(cause)) }), clientConfigurationBridge ? (appliedClient ? (_jsxs("span", { role: "status", className: "inline-flex items-center gap-1 text-xs text-muted-foreground", children: [_jsx(Check, { "aria-hidden": "true", className: "h-3.5 w-3.5" }), "\u5DF2\u5E94\u7528\u5230 ", AI_CLIENT_LABELS[appliedClient]] })) : (_jsxs(Button, { type: "button", size: "sm", disabled: applying, "aria-label": `应用到 ${AI_CLIENT_LABELS[issuedClient]}`, onClick: () => void apply(), children: [applying ? _jsx(Loader2, { "aria-hidden": "true", className: "mr-2 h-4 w-4 animate-spin" }) : null, applying ? '正在应用…' : `应用到 ${AI_CLIENT_LABELS[issuedClient]}`] }))) : null] }), _jsxs(DialogFooter, { children: [_jsx(Button, { type: "button", variant: "ghost", disabled: applying, onClick: beginAnother, children: "\u518D\u5EFA\u4E00\u4E2A" }), _jsx(Button, { type: "button", variant: "outline", onClick: () => setShowCreate(false), children: "\u5B8C\u6210" })] })] })) : (_jsxs("form", { className: "space-y-5", onSubmit: (event) => { event.preventDefault(); if (!creating)
|
|
233
229
|
void create(); }, children: [_jsxs("label", { className: "block space-y-2", children: [_jsx("span", { className: "text-sm font-medium", children: "\u540D\u79F0" }), _jsx(Input, { autoFocus: true, "aria-label": "API Key \u540D\u79F0", value: name, disabled: creating, onChange: (event) => setName(event.target.value) })] }), _jsxs("label", { className: "block space-y-2", children: [_jsx("span", { className: "text-sm font-medium", children: "\u7528\u9014" }), _jsxs("select", { "aria-label": "API Key \u7528\u9014", className: SELECT_CLASS, value: purpose, disabled: creating, onChange: (event) => setPurpose(event.target.value), children: [_jsx("option", { value: "", disabled: true, children: "\u9009\u62E9\u5BA2\u6237\u7AEF\u5E94\u7528" }), AI_CONNECTIONS_CLIENTS.map((clientId) => (_jsx("option", { value: clientId, children: AI_CLIENT_LABELS[clientId] }, clientId)))] })] }), _jsx("p", { className: "text-xs text-muted-foreground", children: "\u7528\u9014\u5728\u521B\u5EFA\u65F6\u786E\u5B9A\uFF0CKey \u4F1A\u7ED1\u5B9A\u5230\u8BE5\u5BA2\u6237\u7AEF\u5E94\u7528\u3002" }), error ? _jsx("p", { role: "alert", className: "text-sm text-destructive", children: error }) : null, _jsxs(DialogFooter, { children: [_jsx(Button, { type: "button", variant: "outline", disabled: creating, onClick: () => setShowCreate(false), children: "\u53D6\u6D88" }), _jsxs(Button, { type: "submit", "aria-label": "\u521B\u5EFA API Key", disabled: creating || !name.trim() || !purpose, children: [creating ? _jsx(Loader2, { "aria-hidden": "true", className: "mr-2 h-4 w-4 animate-spin" }) : null, creating ? '正在创建…' : '创建 API Key'] })] })] }))] }) })] }) }));
|
|
234
230
|
}
|
|
@@ -25,10 +25,6 @@ export interface AiProviderDefinition {
|
|
|
25
25
|
export declare const PROVIDERS: AiProviderDefinition[];
|
|
26
26
|
export type ProviderProductState = 'loading' | 'unconfigured' | 'configured' | 'connected' | 'attention';
|
|
27
27
|
export declare const AI_CONNECTIONS_PINNED_SECTIONS: readonly [{
|
|
28
|
-
readonly id: "clients";
|
|
29
|
-
readonly label: "连接客户端";
|
|
30
|
-
readonly title: "CONNECT CLIENT";
|
|
31
|
-
}, {
|
|
32
28
|
readonly id: "keys";
|
|
33
29
|
readonly label: "Xpod";
|
|
34
30
|
readonly title: "API KEYS";
|
|
@@ -23,8 +23,6 @@ export const PROVIDERS = [
|
|
|
23
23
|
{ id: 'custom', name: 'Custom', description: '任意 OpenAI 或 Anthropic 兼容服务,自填地址与 API Key。', homeUrl: 'https://undefineds.co', apiKeyPlaceholder: 'sk-...', defaultBaseUrl: 'https://example.com/v1' },
|
|
24
24
|
];
|
|
25
25
|
export const AI_CONNECTIONS_PINNED_SECTIONS = [
|
|
26
|
-
// §7.3:入口以"把客户端接上"的任务开场,密钥管理紧随其后
|
|
27
|
-
{ id: 'clients', label: '连接客户端', title: 'CONNECT CLIENT' },
|
|
28
26
|
{ id: 'keys', label: 'Xpod', title: 'API KEYS' },
|
|
29
27
|
];
|
|
30
28
|
/**
|
|
@@ -127,7 +125,7 @@ export function createAiConnectionsController(host) {
|
|
|
127
125
|
authenticatedFetch: host.solid.session.fetch,
|
|
128
126
|
}), host.capabilities.aiClientCredentials), host.capabilities.aiConnectionsPodStore, liveCredentials, beginProviderLoad)
|
|
129
127
|
: null;
|
|
130
|
-
let selectedSection = '
|
|
128
|
+
let selectedSection = 'keys';
|
|
131
129
|
let selectedProvider = 'openai';
|
|
132
130
|
let selectedCredentialId;
|
|
133
131
|
let searchQuery = '';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { PodColumnBase } from './schema';
|
|
2
|
+
export type AggregateFunction = 'count' | 'sum' | 'avg' | 'min' | 'max';
|
|
3
|
+
export interface AggregateExpression {
|
|
4
|
+
kind: 'aggregate';
|
|
5
|
+
func: AggregateFunction;
|
|
6
|
+
column?: PodColumnBase | string;
|
|
7
|
+
distinct?: boolean;
|
|
8
|
+
}
|
|
9
|
+
interface AggregateOptions {
|
|
10
|
+
distinct?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare function count(column?: PodColumnBase | string, options?: AggregateOptions): AggregateExpression;
|
|
13
|
+
export declare function sum(column: PodColumnBase | string, options?: AggregateOptions): AggregateExpression;
|
|
14
|
+
export declare function avg(column: PodColumnBase | string, options?: AggregateOptions): AggregateExpression;
|
|
15
|
+
export declare function min(column: PodColumnBase | string, options?: AggregateOptions): AggregateExpression;
|
|
16
|
+
export declare function max(column: PodColumnBase | string, options?: AggregateOptions): AggregateExpression;
|
|
17
|
+
export declare function isAggregateExpression(value: unknown): value is AggregateExpression;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=aggregates.d.ts.map
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { SQL } from 'drizzle-orm';
|
|
2
|
+
import { PodColumnBase, PodTable } from './schema';
|
|
3
|
+
import { SPARQLQuery } from './sparql/types';
|
|
4
|
+
import { SelectQueryPlan } from './select-plan';
|
|
5
|
+
import { QueryCondition } from './query-conditions';
|
|
6
|
+
import type { UriResolver } from './uri';
|
|
7
|
+
export type { SPARQLQuery };
|
|
8
|
+
interface SimpleSelectOperation {
|
|
9
|
+
table: PodTable;
|
|
10
|
+
where?: Record<string, unknown>;
|
|
11
|
+
limit?: number;
|
|
12
|
+
offset?: number;
|
|
13
|
+
orderBy?: Array<{
|
|
14
|
+
column: string;
|
|
15
|
+
direction: 'asc' | 'desc';
|
|
16
|
+
}>;
|
|
17
|
+
distinct?: boolean;
|
|
18
|
+
}
|
|
19
|
+
interface InsertPlanInput {
|
|
20
|
+
table: PodTable;
|
|
21
|
+
rows: Array<Record<string, unknown>>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Table registry context for URI resolution
|
|
25
|
+
*/
|
|
26
|
+
export interface TableRegistryContext {
|
|
27
|
+
tableRegistry: Map<string, PodTable[]>;
|
|
28
|
+
tableNameRegistry: Map<string, PodTable>;
|
|
29
|
+
baseUri?: string;
|
|
30
|
+
record?: Record<string, unknown>;
|
|
31
|
+
currentTable?: PodTable;
|
|
32
|
+
}
|
|
33
|
+
export declare class ASTToSPARQLConverter {
|
|
34
|
+
private podUrl;
|
|
35
|
+
private webId?;
|
|
36
|
+
private selectBuilder;
|
|
37
|
+
private updateBuilder;
|
|
38
|
+
private expressionBuilder;
|
|
39
|
+
private tableContext?;
|
|
40
|
+
private uriResolver;
|
|
41
|
+
private prefixes;
|
|
42
|
+
constructor(podUrl: string, webId?: string | undefined, uriResolver?: UriResolver);
|
|
43
|
+
/**
|
|
44
|
+
* Set table registry for URI link resolution
|
|
45
|
+
*/
|
|
46
|
+
setTableRegistry(tableRegistry: Map<string, PodTable[]>, tableNameRegistry: Map<string, PodTable>, baseUri?: string): void;
|
|
47
|
+
convertSelect(ast: Record<string, unknown>, table: PodTable, targetGraph?: string, fromSources?: string[], allowGraphVariable?: boolean): SPARQLQuery;
|
|
48
|
+
buildWhereClauseForCondition(whereAst: QueryCondition, table: PodTable): string;
|
|
49
|
+
convertSelectPlan(plan: SelectQueryPlan, targetGraph?: string, fromSources?: string[], allowGraphVariable?: boolean): SPARQLQuery;
|
|
50
|
+
convertSimpleSelect(operation: SimpleSelectOperation, targetGraph?: string, fromSources?: string[], allowGraphVariable?: boolean): SPARQLQuery;
|
|
51
|
+
convertInsert(valuesOrPlan: Array<Record<string, unknown>> | InsertPlanInput, table?: PodTable, targetGraph?: string): SPARQLQuery;
|
|
52
|
+
convertUpdate(setData: Record<string, unknown>, whereConditions: QueryCondition | Record<string, unknown>, table: PodTable, targetGraph?: string): SPARQLQuery;
|
|
53
|
+
convertDelete(whereConditions: QueryCondition | Record<string, unknown>, table: PodTable, targetGraph?: string): SPARQLQuery;
|
|
54
|
+
getPrefixes(): Record<string, string>;
|
|
55
|
+
addPrefix(prefix: string, uri: string): void;
|
|
56
|
+
getPredicateForColumnPublic(column: PodColumnBase | string | Record<string, unknown>, table: PodTable): string;
|
|
57
|
+
formatLiteralValue(value: unknown, column?: PodColumnBase | Record<string, unknown>): string | string[];
|
|
58
|
+
generateSubjectUri(record: Record<string, unknown>, table: PodTable): string;
|
|
59
|
+
parseDrizzleAST(sql: SQL, _table?: PodTable): {
|
|
60
|
+
type: 'select';
|
|
61
|
+
columns: '*';
|
|
62
|
+
where: Record<string, never>;
|
|
63
|
+
};
|
|
64
|
+
private parseWhereClause;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=ast-to-sparql.d.ts.map
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { PodTable, PodTableOptions } from './schema';
|
|
2
|
+
type AnyTypedField = TypedField<string>;
|
|
3
|
+
type TypedFieldMap = Record<string, AnyTypedField>;
|
|
4
|
+
export interface TypedField<T extends string> {
|
|
5
|
+
name: T;
|
|
6
|
+
predicate: string;
|
|
7
|
+
type: 'string' | 'number' | 'boolean' | 'Date';
|
|
8
|
+
primaryKey?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export type TypedTableDefinition<T extends TypedFieldMap> = {
|
|
11
|
+
[K in keyof T]: T[K];
|
|
12
|
+
};
|
|
13
|
+
export declare function createTypedTable<T extends TypedFieldMap>(name: string, definition: TypedTableDefinition<T>, options: PodTableOptions): PodTable;
|
|
14
|
+
export declare function field<T extends string>(name: T, predicate: string, type: 'string' | 'number' | 'boolean' | 'Date', options?: {
|
|
15
|
+
primaryKey?: boolean;
|
|
16
|
+
}): TypedField<T>;
|
|
17
|
+
export declare const CommonFields: {
|
|
18
|
+
readonly name: (predicate?: string) => TypedField<"name">;
|
|
19
|
+
readonly email: (predicate?: string) => TypedField<"email">;
|
|
20
|
+
readonly age: (predicate?: string) => TypedField<"age">;
|
|
21
|
+
readonly dateCreated: (predicate?: string) => TypedField<"dateCreated">;
|
|
22
|
+
readonly isActive: (predicate?: string) => TypedField<"isActive">;
|
|
23
|
+
readonly url: (predicate?: string) => TypedField<"url">;
|
|
24
|
+
readonly description: (predicate?: string) => TypedField<"description">;
|
|
25
|
+
readonly identifier: (predicate?: string) => TypedField<"identifier">;
|
|
26
|
+
};
|
|
27
|
+
export declare class TypedTableBuilder<T extends TypedFieldMap> {
|
|
28
|
+
private name;
|
|
29
|
+
private options;
|
|
30
|
+
private definition;
|
|
31
|
+
constructor(name: string, options: PodTableOptions, definition?: TypedTableDefinition<T>);
|
|
32
|
+
addField<K extends string>(fieldDef: TypedField<K>): TypedTableBuilder<T & Record<K, TypedField<K>>>;
|
|
33
|
+
build(): PodTable;
|
|
34
|
+
}
|
|
35
|
+
export declare function typedTable(name: string, options: PodTableOptions): TypedTableBuilder<Record<string, never>>;
|
|
36
|
+
export type TypedTableResult<T extends TypedFieldMap> = {
|
|
37
|
+
[K in keyof T]: T[K] extends TypedField<string> ? T[K]['type'] extends 'string' ? string : T[K]['type'] extends 'number' ? number : T[K]['type'] extends 'boolean' ? boolean : T[K]['type'] extends 'Date' ? Date : never : never;
|
|
38
|
+
};
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=compile-time-types.d.ts.map
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { SolidDataset, Thing } from '@inrupt/solid-client';
|
|
2
|
+
/**
|
|
3
|
+
* 合并策略类型
|
|
4
|
+
*/
|
|
5
|
+
export type MergeStrategy = 'last-write-wins' | 'field-level-merge' | 'timestamp-based' | 'user-resolution';
|
|
6
|
+
/**
|
|
7
|
+
* 冲突解析配置
|
|
8
|
+
*/
|
|
9
|
+
export interface ConflictResolutionConfig {
|
|
10
|
+
/** 最大重试次数 */
|
|
11
|
+
maxRetries?: number;
|
|
12
|
+
/** 合并策略 */
|
|
13
|
+
strategy?: MergeStrategy;
|
|
14
|
+
/** 用户自定义解析函数(当 strategy = 'user-resolution' 时使用) */
|
|
15
|
+
resolver?: (local: Thing, remote: Thing, predicates: string[]) => Thing;
|
|
16
|
+
/** 重试延迟(毫秒) */
|
|
17
|
+
retryDelay?: number;
|
|
18
|
+
/** 是否启用日志 */
|
|
19
|
+
logging?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 冲突解析结果
|
|
23
|
+
*/
|
|
24
|
+
export interface ConflictResolutionResult {
|
|
25
|
+
success: boolean;
|
|
26
|
+
retries: number;
|
|
27
|
+
strategy?: string;
|
|
28
|
+
error?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* 并发写入冲突解析器
|
|
32
|
+
*
|
|
33
|
+
* 处理 412 Precondition Failed 错误(ETag 不匹配),
|
|
34
|
+
* 通过不同的合并策略自动重试保存操作。
|
|
35
|
+
*/
|
|
36
|
+
export declare class ConflictResolver {
|
|
37
|
+
private config;
|
|
38
|
+
private fetchFn;
|
|
39
|
+
constructor(fetchFn: typeof fetch, config?: ConflictResolutionConfig);
|
|
40
|
+
/**
|
|
41
|
+
* 执行带冲突解析的保存操作
|
|
42
|
+
*
|
|
43
|
+
* @param resourceUrl - 资源 URL
|
|
44
|
+
* @param modifier - 修改函数,接收当前 dataset 并返回修改后的 dataset
|
|
45
|
+
* @returns 解析结果
|
|
46
|
+
*/
|
|
47
|
+
saveWithRetry(resourceUrl: string, modifier: (dataset: SolidDataset) => SolidDataset | Promise<SolidDataset>): Promise<ConflictResolutionResult>;
|
|
48
|
+
/**
|
|
49
|
+
* 执行带字段级合并的保存操作
|
|
50
|
+
*
|
|
51
|
+
* @param resourceUrl - 资源 URL
|
|
52
|
+
* @param thingUrl - Thing URL
|
|
53
|
+
* @param localChanges - 本地修改的 Thing
|
|
54
|
+
* @param predicates - 需要更新的谓词列表
|
|
55
|
+
* @returns 解析结果
|
|
56
|
+
*/
|
|
57
|
+
saveThingWithMerge(resourceUrl: string, thingUrl: string, localChanges: Thing, predicates: string[]): Promise<ConflictResolutionResult>;
|
|
58
|
+
/**
|
|
59
|
+
* 合并两个 Thing
|
|
60
|
+
*
|
|
61
|
+
* @param local - 本地版本(包含我们的修改)
|
|
62
|
+
* @param remote - 远程版本(最新状态)
|
|
63
|
+
* @param predicates - 需要合并的谓词列表
|
|
64
|
+
* @returns 合并后的 Thing
|
|
65
|
+
*/
|
|
66
|
+
private mergeThings;
|
|
67
|
+
/**
|
|
68
|
+
* 字段级合并
|
|
69
|
+
*
|
|
70
|
+
* 策略:
|
|
71
|
+
* - 对于 predicates 中的谓词,使用本地版本
|
|
72
|
+
* - 对于其他谓词,保留远程版本
|
|
73
|
+
*/
|
|
74
|
+
private fieldLevelMerge;
|
|
75
|
+
/**
|
|
76
|
+
* 基于时间戳的合并
|
|
77
|
+
*
|
|
78
|
+
* 策略:
|
|
79
|
+
* - 如果有 updatedAt 字段,比较时间戳,选择最新的
|
|
80
|
+
* - 否则 fallback 到 field-level-merge
|
|
81
|
+
*/
|
|
82
|
+
private timestampBasedMerge;
|
|
83
|
+
/**
|
|
84
|
+
* 获取 Thing 的 updatedAt 时间戳
|
|
85
|
+
*/
|
|
86
|
+
private getUpdatedAt;
|
|
87
|
+
/**
|
|
88
|
+
* 获取谓词的值(支持多种类型)
|
|
89
|
+
*/
|
|
90
|
+
private getPredicateValue;
|
|
91
|
+
/**
|
|
92
|
+
* 设置谓词的值(根据类型)
|
|
93
|
+
*
|
|
94
|
+
* 注意:这是简化实现,实际使用时应该用 buildThing 模式
|
|
95
|
+
*/
|
|
96
|
+
private setPredicateValue;
|
|
97
|
+
/**
|
|
98
|
+
* 延迟函数
|
|
99
|
+
*/
|
|
100
|
+
private delay;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* 便捷函数:使用默认配置创建冲突解析器
|
|
104
|
+
*/
|
|
105
|
+
export declare function createConflictResolver(fetchFn: typeof fetch, config?: ConflictResolutionConfig): ConflictResolver;
|
|
106
|
+
/**
|
|
107
|
+
* 便捷函数:执行单次带重试的保存操作
|
|
108
|
+
*/
|
|
109
|
+
export declare function saveWithConflictResolution(fetchFn: typeof fetch, resourceUrl: string, modifier: (dataset: SolidDataset) => SolidDataset | Promise<SolidDataset>, config?: ConflictResolutionConfig): Promise<ConflictResolutionResult>;
|
|
110
|
+
//# sourceMappingURL=conflict-resolution.d.ts.map
|
package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/composite-discovery.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PodTable } from '../schema';
|
|
2
|
+
import { DataDiscovery, DataLocation, DiscoverOptions, RegisterOptions, DataRegistrationInfo } from './types';
|
|
3
|
+
export declare class CompositeDiscovery implements DataDiscovery {
|
|
4
|
+
private strategies;
|
|
5
|
+
constructor(strategies: DataDiscovery[]);
|
|
6
|
+
register(table: PodTable, options?: RegisterOptions): Promise<void>;
|
|
7
|
+
discover(rdfClass: string, options?: DiscoverOptions): Promise<DataLocation[]>;
|
|
8
|
+
isRegistered(rdfClass: string): Promise<boolean>;
|
|
9
|
+
/**
|
|
10
|
+
* 获取所有数据注册 - 聚合所有支持此方法的策略结果
|
|
11
|
+
*/
|
|
12
|
+
discoverAll(): Promise<DataRegistrationInfo[]>;
|
|
13
|
+
/**
|
|
14
|
+
* 按应用 ID 发现数据位置 - 聚合所有支持此方法的策略结果
|
|
15
|
+
*/
|
|
16
|
+
discoverByApp(appId: string): Promise<DataLocation[]>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=composite-discovery.d.ts.map
|